@nexartis/abi-chat-sdk-core 0.3.0 nexartisProvider-agnostic AI chat orchestration.
Session runtime, SSE bridge, provider routing, annotations, payments, cubicle bridge.
Interfaces we consume
ChatProvider,ChatRequest,ContentBlock,SSEEvent— provider abstraction and streaming contract.CustomProvider— the base class Ozzy Dev extends to wrap the OpenCode harness as an SDK provider.parseAnnotations,upsertAnnotation,mergePartialUtterance— annotation stream protocol.SmartRouter,RouterConfig,createChatEndpoint— only needed if we ever expose a HTTP surface, not in Wave 1.SessionPersistenceandMemorySessionStorage— Wave 1 uses in-memory session storage on the local machine.
Assumptions we’re validating
- parseAnnotations() is pure and safe to call in SSR + the browser.
- Ozzy Dev owns the OpenCode CustomProvider bridge that converts stdio turn events into SDK SSE events.
- Session persistence for Ozzy Dev is single-user local; DurableObject storage is not used.
- The ABI Chat cubicle bridge already emits ozzy-dev-buyer-shaped envelopes; we validate against it in Wave 1.
- Payments module (Base USDC) is exposed for local single-user; verified in Wave 2.
Live smoke
parseAnnotations() returns a valid ParseResult
{"cleanContent":"chat text before ⟦an:1|partial_transcript|{\"text\":\"hello\",\"final\":false}⟧ trailing","annotations":[]}
hasIncompleteAnnotation() correctly reports the fixture stream as complete
false