Minor Changes
-
40b09e6: Replace continuation-token session APIs with fixed, ID-addressed handles and consistent channel-local operations. This is a breaking migration across the following public surfaces:
- TypeScript clients now use
client.sessions.create(input)to start a session andclient.sessions.attach(sessionId)to obtain a fixed handle;client.session(...)and continuation-token client state are removed. - Client, eval, frontend, fixed-session, and Slack message delivery now use positional
send(message, options). HITL replies use the separaterespond(inputResponses, options)method, andmessageandinputResponsesare mutually exclusive. - Custom channels use
from(address)for channel-local operations, top-levelresolveSession(address)to resolve the current owner,attachSession(sessionId)for an immutable session handle, andto(channel, target)for cross-channel delivery. - Slack message and interaction hooks expose
ctx.send,ctx.respond,ctx.cancel,ctx.compact,ctx.clear,ctx.reset, andctx.resolveSession. For generic events, the target is passed in each operation's options;ctx.receiveandresolveActiveSessionare removed. - Schedule handlers replace
receive(channel, { message, target, auth })withto(channel, target).send(message, { auth }). - Channel event session identity moves to
ctx.session.id, whilesession.failedincludessessionIdin its event data. - The eve HTTP API keeps
POST /eve/v1/sessionfor creation andPOST /eve/v1/session/:sessionIdfor follow-ups. Clear, compact, and reset move from continuation-token body routes toPOST /eve/v1/session/:sessionId/{clear,compact,reset}; cancel and streaming remain ID-addressed. - Session message and control bodies no longer accept or return continuation tokens. Accepted asynchronous work returns HTTP
202; no-active operation results omitsessionId, and inactive follow-ups return HTTP409withcode: "session_not_active", available asClientError.code. - Canonical eve
onMessagehooks can no longer drop an otherwise authorized delivery by returningnull.
- TypeScript clients now use
Patch Changes
- 2054b9f: Agent-messaging
<agents>listings are now announced as framework-injected user-role notes instead of assistant messages appended to history. This fixes parent resume failures on models that reject assistant-final requests (e.g.This model does not support assistant message prefillfrom Claude via AI Gateway) after a persistent child parks, keeps the announcement append-only so provider prompt caches stay warm, and the agent-messaging system prompt now declares the[Agents]note as framework-injected. - 84c3dfc: Flush local development streaming response headers immediately so pending Workflow streams can be cancelled without accumulating listeners.
- b7a2a14: Dev runtime snapshots now mount workspace dependency packages in place
instead of copying them. Only roots that host runtime-hydrated authored
source — the app root, extension mount roots, and tsconfig path-alias
targets — are still copied, matching how installed dependencies already
resolved. In monorepos this removes the largest per-generation copy: a
workspace-linked framework package (hundreds of files and tens of
megabytes per rebuild) no longer lands under
.eve/dev-runtime/snapshots/.