Repository navigation
stitchkit v0.113.0
⚠️ Breaking changes
Who must act: custom AgentRuntimeStoreDriver adapters must apply the new insert history mutation; custom AgentRuntimeStore implementations of seedConversationInput must honour placement. Applications on the built-in memory or SQLite stores need no change.
stitchkit/agent-runtime— a store driver appliesinserthistory mutations.seedConversationInputwithplacement: 'after-settled'places an exchange completed without a model ahead of an active run's first message, which no existing mutation can express. A driver whosehistory.applydoes not handle{ type: 'insert', message, beforeMessageId? }corrupts or refuses that write. Before:applyhandledadmit,upsert-assistant,replace-compacted-rangeandseed. After: it also placesmessageahead of the active rowbeforeMessageId, at the end when absent, and replaces a message already present where it stands.runAgentStoreConformanceproves it; the Prisma example shows the implementation. See ADR 0271 and the migration.
Affects:stitchkit/agent-runtimeAgentRuntimeStoreDriver, AgentHistoryMutationSchema, AgentRuntimeStore(seedConversationInput)
Added
-
stitchkit/agent-runtime—seedConversationInputtakesplacement: 'after-settled'to write a keyed exchange that happened without a model (committed user and completed assistant messages, no run) after the settled history and ahead of any active run. It is ordinary history: in the snapshot, in compaction and in the next provider request; no model call and no run. → ADR 0271 -
stitchkit/agent-runtime— a stop policy'swhenreceives the run context next tosteps:context,run,signal,toolFenceLifecycleandcontextUsage, the same shapeprepareStepgets, typed by the runtime'sCONTEXT. A rule that depends on its own run no longer needs a module map keyed byrunId. A policy that reads onlystepsis unchanged.