75 lines
4.1 KiB
Markdown
75 lines
4.1 KiB
Markdown
# Promptkit v0.12.0
|
|
|
|
This release replaces Promptkit's configuration loader with ConfigKit and
|
|
migrates maintained catalogs to keyed `/v3` assets. It intentionally changes
|
|
the public construction API and configuration format.
|
|
|
|
## Summary
|
|
|
|
Backends, profiles, and versioned prompts now share one layered configuration
|
|
snapshot built when `NewEngine` is called. ConfigKit supplies composition,
|
|
inheritance, presence, and source history; Promptkit validates the final
|
|
effective definitions and captures prompt content and templates. Consumers can
|
|
inspect the captured configuration explicitly without triggering a reload.
|
|
|
|
## Compatibility
|
|
|
|
This is an incompatible minor release under Promptkit's pre-1.0
|
|
[versioning policy](../policy/release.md#versioning-and-compatibility). The
|
|
former source options, `Config.PromptDir`, `Config.ProfileDir`, and the old
|
|
profile/backend convenience values have been removed. Configuration documents
|
|
now use literal keys beneath `backends`, `profiles`, and `prompts`; embedded
|
|
`id`/`version` fields and `base_profile` are no longer accepted. Source groups
|
|
compose strictly within a group and overlay in the supplied order. Explicit
|
|
zero, false, empty, and null values can now differ from omission; maps overlay
|
|
recursively, and an empty map does not clear an inherited map.
|
|
|
|
All final definitions, including unused ones, are validated during engine
|
|
construction. Prompt text and static templates are captured then; an existing
|
|
engine does not automatically reload changed configuration or message files.
|
|
Request artifacts, schemas, credentials, and provider operations retain their
|
|
runtime boundaries. See the [format reference](../formats.md) for the current
|
|
configuration contract and the [consumer migration guide](../consumers/pkg-promptkit.md#migrate-from-the-previous-configuration-api)
|
|
for API and source-selection changes.
|
|
|
|
Maintained OpenRouter and Rakestrawhome catalogs are selected as `/v3` modules,
|
|
both at `v3.20260930.0`. Their asset format changed; consumers that read catalog
|
|
assets directly must adopt the keyed format. The maintained Promptkit profile
|
|
IDs remain available under the [catalog compatibility policy](../policy/release.md#catalog-profile-compatibility),
|
|
which does not promise fixed profile data.
|
|
|
|
## Upgrade
|
|
|
|
```sh
|
|
go get gitea.maximumdirect.net/eric/promptkit@v0.12.0
|
|
```
|
|
|
|
Replace removed source and backend registration options with
|
|
`Config.Sources`, explicitly ordered ConfigKit underlays, and optionally a
|
|
highest-priority main input. Use `DirectoryInputs` or `FilesystemInputs` for
|
|
selected directories, `ProfileSource` and `BackendSource` for typed
|
|
programmatic values, or `configkit.Mapping` for explicit null and combined
|
|
documents. Move profile `base_profile` to `extends` and embedded identities to
|
|
mapping keys. Review zero/false/null values and any assumptions that replacing
|
|
a model or backend discards unrelated explicit settings. Rebuild the engine
|
|
when definitions or referenced message files change. The
|
|
[consumer guide](../consumers/pkg-promptkit.md#migrate-from-the-previous-configuration-api)
|
|
provides the migration details and maintained examples.
|
|
|
|
## Changes
|
|
|
|
- Add ConfigKit v0.5.0 as the configuration boundary and consume released
|
|
OpenRouter and Rakestrawhome `/v3` catalog modules.
|
|
- Add keyed backend, profile, and prompt definitions with final-value domain
|
|
validation, explicit presence/null behavior, and source-relative content
|
|
capture.
|
|
- Add `ConfigurationSources`, directory discovery helpers, programmatic
|
|
profile/backend source builders, and read-only configuration inspection.
|
|
- Preserve execution workflows while rendering captured templates, applying
|
|
backend defaults after inheritance, and honoring explicit suppression of
|
|
provider settings.
|
|
- Remove superseded loader, catalog preflight, and inheritance machinery;
|
|
update examples, format guidance, and internal documentation.
|
|
|
|
[COPYRIGHT](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.12.0/COPYRIGHT) | [LICENSE](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.12.0/LICENSE) | [ATTRIBUTION](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.12.0/docs/oss/attribution.md)
|