acpx-ai-provider-v0.0.4
Pre-release
Pre-release
·
147 commits
to main
since this release
Fixes
provider.prepare()no longer consumes session freshness (#25, #26). Callingprovider.prepare()before the firststreamTextused to flip the internal freshness flag, so the firstdoStreamwould run incontinuationmode and silently drop all but the latest user message from a multi-turnmessagesarray. Hosts usingprepare()as an early-failure sync point combined with seeded conversation history now get the full transcript flattened onto the wire as expected. Behavior on subsequent turns (continuation mode → only latest user message) is unchanged.
Internal
- Freshness check-and-set is now atomic inside
markSessionKeyUsed, so two concurrentdoStreamcalls on the samesessionKeycan no longer both observeisFresh: trueand duplicate seeded context to the agent. - New integration tests under
test/integration/prepare-freshness.test.tscoverprepare() + multi-turn, second-turn continuation, and the concurrent-doStreamrace.
Compatibility
- No public API additions or removals.
AcpxProvider.markSessionKeyUsed(sessionKey)exists on the class but is internal — external consumers should keep going throughprovider.languageModel(...)andstreamText/generateText.
Full Changelog: v0.0.3...acpx-ai-provider-v0.0.4