Skip to content

acpx-ai-provider-v0.0.4

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 12 May 05:53
· 147 commits to main since this release

Fixes

  • provider.prepare() no longer consumes session freshness (#25, #26). Calling provider.prepare() before the first streamText used to flip the internal freshness flag, so the first doStream would run in continuation mode and silently drop all but the latest user message from a multi-turn messages array. Hosts using prepare() 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 concurrent doStream calls on the same sessionKey can no longer both observe isFresh: true and duplicate seeded context to the agent.
  • New integration tests under test/integration/prepare-freshness.test.ts cover prepare() + multi-turn, second-turn continuation, and the concurrent-doStream race.

Compatibility

  • No public API additions or removals. AcpxProvider.markSessionKeyUsed(sessionKey) exists on the class but is internal — external consumers should keep going through provider.languageModel(...) and streamText/generateText.

Full Changelog: v0.0.3...acpx-ai-provider-v0.0.4