• eric released this 2026-11-14 14:36:25 +00:00 | 0 commits to main since this release

    Promptkit v0.22.0

    This minor release adds captured conversation exchanges, optional sequential
    coordination, and explicit execution-group summaries. Applications can continue
    or branch a conversation without reconstructing rendered history, while keeping
    response interpretation and workflow decisions in application code.

    Capture And Continue Conversations

    Set RunRequest.CaptureExchange to capture a completed run's effective messages
    and final assistant content. Supply its RunResult.Exchange as ContinueFrom
    on a new request to continue it. Exchanges are reusable, support independent
    branches and different engines, and expose detached history through Details().
    Prepared execution also supports capture of the exact snapshot it executes.

    Internal structural-repair instructions and intermediate candidates are not
    conversation history. A completed result with failed structural validation can
    still be captured; an operational error returning no result creates no exchange.
    Follow-ups select their own profiles, output contracts, credentials, and sessions
    under ordinary request rules. See capture and continuation guidance
    and the public exchange contract.

    Coordinate Application-Directed Turns

    Engine.Coordinate advances one conversation branch using an application callback
    and an additional-turn budget. The application selects the next request or stops;
    Promptkit handles turn progression and cancellation. Each completed run releases
    backend admission before the callback, allowing assessment calls to use the same
    backend. Stop and budget exhaustion are control-flow outcomes, not judgments of
    response acceptance. Transport retries and structural repairs remain separate
    from the turn budget.

    See the coordination walkthrough
    and coordinator GoDoc for callback and cancellation behavior.

    Collect Selected Execution Facts

    ExecutionGroup collects explicitly selected execution observations, while
    ComposeObservers combines groups with existing diagnostic observers. Detached
    group snapshots report member identities, terminal coverage, attempt/retry/repair
    counts, and available token totals without counting a run more than once.
    Terminal coverage remains distinct from token-usage completeness; membership is
    not inferred from ancestry or nested calls.

    See execution-group guidance,
    the group GoDoc, and the updated
    offline observation example.

    Efficiency And Compatibility

    History assembly and inspection avoid intermediate full-history copies. Observer
    composition retains storage only for selected callbacks and avoids fan-out
    closures for zero or one selected callback.

    Capture and coordination are opt-in; existing execution workflows and
    configuration formats need no migration from v0.21.0. The Go consumer minimum
    remains 1.27.0, and dependency versions are unchanged. Exported request, prepared,
    result, and observation structs gained fields; consumers using positional struct
    literals must switch to keyed literals. Continuation metadata adds parent_run_id
    to prepared/result JSON when applicable; the opaque exchange itself is excluded.
    Exchanges are in-process capabilities, not serialized restartable sessions.

    go get go.maximumdirect.net/promptkit@v0.22.0
    

    COPYRIGHT | LICENSE | ATTRIBUTION

    Downloads