eve 0.58.1 → 0.59.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/src/approval/definition.d.ts +2 -0
  3. package/dist/src/channel/session.d.ts +2 -0
  4. package/dist/src/channel/session.js +1 -1
  5. package/dist/src/channel/types.d.ts +8 -1
  6. package/dist/src/chunks/{use-eve-agent-X0asmJg-.js → use-eve-agent-Dmc6sX4d.js} +558 -233
  7. package/dist/src/chunks/{use-eve-agent-CxWcZCsU.js → use-eve-agent-jSR8P4nK.js} +565 -235
  8. package/dist/src/cli/dev/tui/runner.d.ts +4 -0
  9. package/dist/src/cli/dev/tui/runner.js +1 -1
  10. package/dist/src/cli/dev/tui/terminal-renderer.js +12 -12
  11. package/dist/src/client/eve-agent-projection.d.ts +10 -0
  12. package/dist/src/client/eve-agent-projection.js +1 -0
  13. package/dist/src/client/eve-agent-store-helpers.d.ts +6 -2
  14. package/dist/src/client/eve-agent-store-helpers.js +2 -2
  15. package/dist/src/client/eve-agent-store-state.d.ts +54 -1
  16. package/dist/src/client/eve-agent-store.d.ts +12 -82
  17. package/dist/src/client/eve-agent-store.js +1 -1
  18. package/dist/src/client/index.d.ts +2 -2
  19. package/dist/src/client/index.js +1 -1
  20. package/dist/src/client/message-response.d.ts +5 -1
  21. package/dist/src/client/message-response.js +1 -1
  22. package/dist/src/client/ndjson.d.ts +1 -0
  23. package/dist/src/client/ndjson.js +2 -2
  24. package/dist/src/client/open-stream.d.ts +4 -1
  25. package/dist/src/client/open-stream.js +1 -1
  26. package/dist/src/client/session-event-stream.d.ts +30 -0
  27. package/dist/src/client/session-event-stream.js +1 -0
  28. package/dist/src/client/session-utils.d.ts +2 -1
  29. package/dist/src/client/session-utils.js +1 -1
  30. package/dist/src/client/session.d.ts +14 -1
  31. package/dist/src/client/session.js +1 -1
  32. package/dist/src/client/sessions.d.ts +8 -2
  33. package/dist/src/client/sessions.js +1 -1
  34. package/dist/src/client/types.d.ts +7 -0
  35. package/dist/src/compiled/.vendor-stamp.json +2 -3
  36. package/dist/src/compiled/@vercel/sandbox/api-client/api-client.d.ts +88 -1
  37. package/dist/src/compiled/@vercel/sandbox/api-client/index.d.ts +1 -1
  38. package/dist/src/compiled/@vercel/sandbox/api-client/validators.d.ts +41 -1
  39. package/dist/src/compiled/@vercel/sandbox/constants.d.ts +3 -3
  40. package/dist/src/compiled/@vercel/{sandbox-drives → sandbox}/drive.d.ts +13 -2
  41. package/dist/src/compiled/@vercel/sandbox/index.d.ts +3 -2
  42. package/dist/src/compiled/@vercel/sandbox/index.js +15 -9
  43. package/dist/src/compiled/@vercel/sandbox/sandbox.d.ts +40 -5
  44. package/dist/src/compiled/_chunks/node/auth-DDrvYko5.js +2 -0
  45. package/dist/src/compiled/_chunks/node/version-C__MqbLM.js +1 -0
  46. package/dist/src/compiler/default-tool-policy.d.ts +3 -1
  47. package/dist/src/compiler/default-tool-policy.js +1 -1
  48. package/dist/src/compiler/extension-compatibility.d.ts +16 -16
  49. package/dist/src/compiler/extension-compatibility.js +1 -1
  50. package/dist/src/compiler/manifest.d.ts +8 -2
  51. package/dist/src/compiler/manifest.js +1 -1
  52. package/dist/src/compiler/normalize-agent-config.js +1 -1
  53. package/dist/src/compiler/normalize-manifest-helpers.js +1 -1
  54. package/dist/src/compiler/normalize-manifest.js +1 -1
  55. package/dist/src/compiler/normalize-subagent.d.ts +1 -0
  56. package/dist/src/compiler/normalize-subagent.js +1 -1
  57. package/dist/src/compiler/remote-agent-node.d.ts +1 -0
  58. package/dist/src/compiler/remote-agent-node.js +1 -1
  59. package/dist/src/compiler/source-graph.d.ts +1 -0
  60. package/dist/src/compiler/source-graph.js +1 -1
  61. package/dist/src/context/build-dynamic-tools.js +1 -1
  62. package/dist/src/context/dynamic-subagent-lifecycle.js +1 -1
  63. package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
  64. package/dist/src/context/memory-tools.js +1 -1
  65. package/dist/src/evals/context.d.ts +1 -1
  66. package/dist/src/evals/context.js +1 -1
  67. package/dist/src/evals/define-eval.d.ts +1 -1
  68. package/dist/src/evals/define-eval.js +1 -1
  69. package/dist/src/evals/index.js +1 -1
  70. package/dist/src/evals/judge.d.ts +1 -1
  71. package/dist/src/evals/runner/execute-task.d.ts +1 -1
  72. package/dist/src/evals/runner/execute-task.js +1 -1
  73. package/dist/src/evals/session-manager.d.ts +27 -0
  74. package/dist/src/evals/session-manager.js +1 -0
  75. package/dist/src/evals/session.d.ts +8 -28
  76. package/dist/src/evals/session.js +2 -1
  77. package/dist/src/evals/target.d.ts +1 -1
  78. package/dist/src/evals/target.js +1 -1
  79. package/dist/src/evals/types.d.ts +19 -15
  80. package/dist/src/eve-channel/create-request.d.ts +24 -0
  81. package/dist/src/eve-channel/create-request.js +1 -0
  82. package/dist/src/eve-channel/index.js +1 -1
  83. package/dist/src/eve-channel/request.d.ts +3 -12
  84. package/dist/src/eve-channel/request.js +2 -2
  85. package/dist/src/eve-channel/types.d.ts +4 -2
  86. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  87. package/dist/src/execution/legacy-session/turn-workflow.js +1 -1
  88. package/dist/src/execution/runtime-context.js +1 -1
  89. package/dist/src/execution/sandbox/bindings/vercel-lifecycle.d.ts +3 -3
  90. package/dist/src/execution/sandbox/bindings/vercel-lifecycle.js +1 -1
  91. package/dist/src/execution/sandbox/bindings/vercel-sdk-types.d.ts +1 -4
  92. package/dist/src/execution/sandbox/bindings/vercel.d.ts +1 -2
  93. package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
  94. package/dist/src/execution/session/entry.js +1 -1
  95. package/dist/src/execution/session/handoff-steps.js +1 -1
  96. package/dist/src/execution/session/program.d.ts +2 -0
  97. package/dist/src/execution/session/program.js +1 -1
  98. package/dist/src/execution/session/turn-step.js +1 -1
  99. package/dist/src/execution/session/turn.js +1 -1
  100. package/dist/src/execution/session-inbox/protocol.js +1 -1
  101. package/dist/src/execution/tools/connection-search.js +1 -1
  102. package/dist/src/execution/tools/sleep-workflow.js +1 -1
  103. package/dist/src/execution/workflow-runtime.js +1 -1
  104. package/dist/src/experimental/evaluate/auto-model.js +2 -2
  105. package/dist/src/experimental/evaluate/evaluate.d.ts +7 -0
  106. package/dist/src/experimental/evaluate/evaluate.js +1 -0
  107. package/dist/src/framework/sources/registry.js +1 -1
  108. package/dist/src/harness/compaction.d.ts +3 -3
  109. package/dist/src/harness/compaction.js +1 -1
  110. package/dist/src/harness/request-envelope.d.ts +11 -0
  111. package/dist/src/harness/request-envelope.js +1 -0
  112. package/dist/src/harness/tool-loop.js +2 -2
  113. package/dist/src/harness/tools.d.ts +1 -1
  114. package/dist/src/harness/tools.js +1 -1
  115. package/dist/src/instrumentation/prepare-trace-context.d.ts +2 -1
  116. package/dist/src/instrumentation/prepare-trace-context.js +1 -1
  117. package/dist/src/internal/application/package.js +1 -1
  118. package/dist/src/internal/authored-definition/core.js +1 -1
  119. package/dist/src/internal/authored-module-loader.d.ts +4 -1
  120. package/dist/src/internal/authored-module-loader.js +1 -1
  121. package/dist/src/internal/bundler/nitro-rolldown.d.ts +2 -0
  122. package/dist/src/internal/nitro/host/build-extension.js +1 -1
  123. package/dist/src/internal/nitro/host/extension-capability-requirements.d.ts +1 -0
  124. package/dist/src/internal/nitro/host/extension-capability-requirements.js +1 -1
  125. package/dist/src/internal/nitro/host/extension-distribution.d.ts +1 -1
  126. package/dist/src/internal/nitro/host/extension-distribution.js +1 -1
  127. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.js +1 -1
  128. package/dist/src/public/definitions/connections/mcp.d.ts +1 -0
  129. package/dist/src/public/definitions/connections/openapi.d.ts +1 -0
  130. package/dist/src/public/definitions/remote-agent.d.ts +5 -0
  131. package/dist/src/public/definitions/workspace-agent.d.ts +5 -0
  132. package/dist/src/public/definitions/workspace-agent.js +1 -1
  133. package/dist/src/public/experimental/evaluate/index.d.ts +1 -0
  134. package/dist/src/public/experimental/evaluate/index.js +1 -1
  135. package/dist/src/public/sandbox/vercel-sandbox.d.ts +1 -1
  136. package/dist/src/public/sandbox/vercel.d.ts +1 -1
  137. package/dist/src/public/sandbox/vercel.js +1 -1
  138. package/dist/src/public/tools/approval/index.d.ts +2 -1
  139. package/dist/src/public/tools/approval/index.js +1 -1
  140. package/dist/src/public/tools/index.d.ts +1 -0
  141. package/dist/src/public/tools/index.js +1 -1
  142. package/dist/src/react/use-eve-agent.d.ts +4 -0
  143. package/dist/src/react/use-eve-agent.js +1 -1
  144. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  145. package/dist/src/runtime/resolve-agent.js +1 -1
  146. package/dist/src/runtime/subagents/dynamic-agent-config.d.ts +1 -0
  147. package/dist/src/runtime/subagents/dynamic-agent-config.js +1 -1
  148. package/dist/src/runtime/subagents/dynamic-remote-agent-config.d.ts +1 -0
  149. package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
  150. package/dist/src/runtime/subagents/registry.d.ts +5 -2
  151. package/dist/src/runtime/subagents/registry.js +1 -1
  152. package/dist/src/runtime/types.d.ts +2 -0
  153. package/dist/src/setup/scaffold/create/project.js +1 -1
  154. package/dist/src/shared/agent-definition.d.ts +9 -0
  155. package/dist/src/subagents/handle-dispatch.js +1 -1
  156. package/dist/src/svelte/index.js +1 -1
  157. package/dist/src/svelte/use-eve-agent.d.ts +4 -0
  158. package/dist/src/svelte/use-eve-agent.js +1 -1
  159. package/dist/src/tools/approval/policies.d.ts +18 -0
  160. package/dist/src/tools/approval/policies.js +1 -1
  161. package/dist/src/tools/definition.d.ts +6 -3
  162. package/dist/src/tools/definition.js +1 -1
  163. package/dist/src/tools/durable-callbacks.d.ts +8 -2
  164. package/dist/src/tools/durable-callbacks.js +1 -1
  165. package/dist/src/tools/durable-schema.d.ts +16 -0
  166. package/dist/src/tools/durable-schema.js +1 -0
  167. package/dist/src/vue/index.js +1 -1
  168. package/dist/src/vue/use-eve-agent.d.ts +4 -0
  169. package/dist/src/vue/use-eve-agent.js +1 -1
  170. package/docs/agent-config.md +1 -0
  171. package/docs/channels/eve.mdx +20 -10
  172. package/docs/concepts/context-control.md +4 -0
  173. package/docs/concepts/sessions-runs-and-streaming.md +18 -3
  174. package/docs/connections/mcp.mdx +2 -2
  175. package/docs/connections/overview.mdx +1 -1
  176. package/docs/evals/assertions.mdx +6 -6
  177. package/docs/evals/cases.mdx +59 -23
  178. package/docs/evals/judge.mdx +10 -8
  179. package/docs/evals/overview.mdx +6 -6
  180. package/docs/evals/reporters.mdx +1 -1
  181. package/docs/evals/targets.mdx +5 -0
  182. package/docs/guides/client/messages.mdx +5 -5
  183. package/docs/guides/client/overview.mdx +15 -1
  184. package/docs/guides/dynamic-capabilities.md +22 -0
  185. package/docs/guides/evaluate.md +78 -3
  186. package/docs/guides/frontend/overview.mdx +54 -5
  187. package/docs/guides/frontend/use-eve-agent-svelte.mdx +13 -8
  188. package/docs/guides/frontend/use-eve-agent-vue.mdx +13 -8
  189. package/docs/guides/remote-agents.md +2 -1
  190. package/docs/reference/typescript-api.md +38 -37
  191. package/docs/subagents/index.mdx +25 -8
  192. package/docs/tools/human-in-the-loop.md +27 -5
  193. package/docs/tools/overview.mdx +2 -2
  194. package/docs/tools/workflows.mdx +2 -3
  195. package/package.json +2 -3
  196. package/dist/src/compiled/@vercel/sandbox-drives/LICENSE +0 -201
  197. package/dist/src/compiled/@vercel/sandbox-drives/_async-retry.d.ts +0 -8
  198. package/dist/src/compiled/@vercel/sandbox-drives/_workflow-serde.d.ts +0 -5
  199. package/dist/src/compiled/@vercel/sandbox-drives/api-client/api-client.d.ts +0 -1815
  200. package/dist/src/compiled/@vercel/sandbox-drives/api-client/api-error.d.ts +0 -29
  201. package/dist/src/compiled/@vercel/sandbox-drives/api-client/base-client.d.ts +0 -39
  202. package/dist/src/compiled/@vercel/sandbox-drives/api-client/file-writer.d.ts +0 -66
  203. package/dist/src/compiled/@vercel/sandbox-drives/api-client/index.d.ts +0 -2
  204. package/dist/src/compiled/@vercel/sandbox-drives/api-client/validators.d.ts +0 -932
  205. package/dist/src/compiled/@vercel/sandbox-drives/api-client/with-retry.d.ts +0 -10
  206. package/dist/src/compiled/@vercel/sandbox-drives/auth/error.d.ts +0 -15
  207. package/dist/src/compiled/@vercel/sandbox-drives/auth/file.d.ts +0 -18
  208. package/dist/src/compiled/@vercel/sandbox-drives/auth/index.d.ts +0 -6
  209. package/dist/src/compiled/@vercel/sandbox-drives/auth/oauth.d.ts +0 -111
  210. package/dist/src/compiled/@vercel/sandbox-drives/auth/poll-for-token.d.ts +0 -28
  211. package/dist/src/compiled/@vercel/sandbox-drives/auth/project.d.ts +0 -40
  212. package/dist/src/compiled/@vercel/sandbox-drives/command.d.ts +0 -292
  213. package/dist/src/compiled/@vercel/sandbox-drives/constants.d.ts +0 -15
  214. package/dist/src/compiled/@vercel/sandbox-drives/execution-context.d.ts +0 -116
  215. package/dist/src/compiled/@vercel/sandbox-drives/filesystem.d.ts +0 -258
  216. package/dist/src/compiled/@vercel/sandbox-drives/index.d.ts +0 -14
  217. package/dist/src/compiled/@vercel/sandbox-drives/index.js +0 -9
  218. package/dist/src/compiled/@vercel/sandbox-drives/network-policy.d.ts +0 -169
  219. package/dist/src/compiled/@vercel/sandbox-drives/proxy.d.ts +0 -55
  220. package/dist/src/compiled/@vercel/sandbox-drives/sandbox-user.d.ts +0 -211
  221. package/dist/src/compiled/@vercel/sandbox-drives/sandbox.d.ts +0 -1287
  222. package/dist/src/compiled/@vercel/sandbox-drives/session.d.ts +0 -435
  223. package/dist/src/compiled/@vercel/sandbox-drives/snapshot.d.ts +0 -238
  224. package/dist/src/compiled/@vercel/sandbox-drives/utils/get-credentials.d.ts +0 -21
  225. package/dist/src/compiled/@vercel/sandbox-drives/utils/paginator.d.ts +0 -16
  226. package/dist/src/compiled/@vercel/sandbox-drives/utils/resolveSignal.d.ts +0 -15
  227. package/dist/src/compiled/@vercel/sandbox-drives/utils/sandbox-snapshot.d.ts +0 -11
  228. package/dist/src/compiled/@vercel/sandbox-drives/utils/types.d.ts +0 -11
  229. package/dist/src/compiled/_chunks/node/auth-8aQozzfi.js +0 -2
  230. package/dist/src/compiled/_chunks/node/auth-Bvv0xGTY.js +0 -2
  231. package/dist/src/compiled/_chunks/node/esm-Fqlolk7e.js +0 -7
  232. package/dist/src/compiled/_chunks/node/version-BC6t2Txc.js +0 -1
  233. package/dist/src/compiled/_chunks/node/version-DSQqVZ5T.js +0 -1
  234. package/dist/src/compiled/_chunks/node/xdg-app-paths-F-QHrdza.js +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # eve
2
2
 
3
+ ## 0.59.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 7ef42fd: Add `auto({ model?, instructions?, criteria? })` for evaluation-model tool approvals, defaulting to TypeSafe Jev and failing closed to user approval. Approval policies now receive the active turn's cancellation signal.
8
+ - 1e872e3: Set `tool: false` on an agent or export a same-named `disableTool()` to hide its derived agent tool. Hidden subagents remain callable from authored workflow tools through `ctx.agent()`.
9
+
10
+ ## 0.59.0
11
+
12
+ ### Minor Changes
13
+
14
+ - 6ddfa9b: Eval session ownership is now explicit: `t.session()` creates an empty session, and every `t.send()` creates a fresh session and returns a turn with `.session` for follow-ups. Replace `t.newSession()` with `await t.session()`, move conversation state and operations from `t` to the session handle, and read replies from `turn.message`.
15
+ - 7973fa2: Preserve dynamic tool validation through durable schema factories that replay the original captured values, including Zod refinements and transformations. Rebuild extensions with the current eve compiler; provider packages must wrap live dynamic schemas with `defineDurableSchema`, and resolver-local schema objects must be constructed inline or moved to module scope.
16
+ - 9bff372: Use stable `@vercel/sandbox` v3.3 for Drive support instead of the obsolete beta alias. Vercel sandbox mount types now follow the stable SDK, including `snapshot` mounts.
17
+
18
+ ### Patch Changes
19
+
20
+ - e301818: Account for effective instructions and tool schemas before each model call so dynamic capability growth triggers context compaction. Preserve provider-reported usage without counting unchanged schemas twice, and reserve room for the final request while compacting history.
21
+ - 3121ca1: Show the model selected by a dynamic resolver beside `dynamic model` in the TUI footer. Update it as each model step starts and clear the previous selection when starting a new turn or resetting the session.
22
+ - 6ddfa9b: Eval judges now retain the latest prompt across approval responses and stream reads, and include the text sent with file attachments.
23
+ - 5b45f9b: Allow idle sessions with resumable subagents to move to a newer deployment. Parked and available child handles now remain usable after the parent session handoff instead of pinning the parent to its previous deployment.
24
+ - 7e48f0e: Keep the dev TUI’s activity indicator animating while a background subagent is still running after its parent turn completes.
25
+ - db5cee3: Add standalone `evaluate` to `eve/experimental/evaluate` for typed evaluations in tools and application code. It shares model authentication with `autoModel`, including the Gateway connection selected during `eve dev`.
26
+ - 6ddfa9b: Fix frontend session resume so unused prewarmed sessions accept their first message and steering messages during resumed turns settle without leaving the composer busy.
27
+ - 6ddfa9b: Create conversation sessions before their first turn through the eve HTTP channel, TypeScript client, eval drivers, and frontend bindings so applications can move durable session startup off the first-message path.
28
+
29
+ Frontend bindings support opt-in `prewarm: true`, keep consuming the session stream across turns, and retry a starting inbox without waiting for stream events. Session initialization runs with the first message's identity and context.
30
+
3
31
  ## 0.58.1
4
32
 
5
33
  ### Patch Changes
@@ -11,6 +11,8 @@ type ApprovalToolInput<TInput> = TInput extends object ? Readonly<TInput> : TInp
11
11
  * the active session, current caller, and turn.
12
12
  */
13
13
  export interface ApprovalContext<TInput = Record<string, unknown>> extends SessionContext {
14
+ /** Cancels policy work when the active model generation is cancelled. */
15
+ readonly abortSignal: AbortSignal;
14
16
  readonly approvedTools: ReadonlySet<string>;
15
17
  readonly callId: string;
16
18
  readonly toolInput?: ApprovalToolInput<TInput>;
@@ -42,6 +42,8 @@ interface SessionDeliveryOptions {
42
42
  }
43
43
  /** Options for sending a message through a fixed session handle. */
44
44
  export type SessionSendOptions = SessionDeliveryOptions & {
45
+ /** Initial workflow title for a prewarmed session. */
46
+ readonly title?: string;
45
47
  readonly turnPolicy?: TurnPolicy;
46
48
  };
47
49
  /** Options for answering pending input requests through a fixed session handle. */
@@ -1 +1 @@
1
- import{attachClientContext,readClientContext}from"#internal/client-context.js";import{createChannelDeliveryMetadata}from"#channel/delivery-metadata.js";import{serializeUrlFilePartsInMessage}from"#channel/send-input.js";import{DEFAULT_TURN_POLICY}from"#channel/types.js";import{parseInputResponses}from"#shared/input.js";import{AuthKey,ContinuationHookTokensKey,ContinuationTokenKey,InitiatorAuthKey,SessionIdKey}from"#context/keys.js";import{toChannelLocalContinuationToken}from"#shared/continuation-token.js";function createSession(e,t,n={}){return{id:e,async send(r,i){let a=createDelivery(n),o=sessionCallbackToTurnCaller(i.callback,i.activityObserver),s=attachClientContext({message:serializeUrlFilePartsInMessage(r)},readClientContext(i));i.context!==void 0&&(s.context=i.context),i.outputSchema!==void 0&&(s.outputSchema=i.outputSchema);let c={auth:i.auth,delivery:a,kind:`send`,payload:s,requestId:n.requestId,turnPolicy:i.turnPolicy??n.turnPolicy??DEFAULT_TURN_POLICY};return await t.dispatchSession({command:o===void 0?c:{...c,caller:o},sessionId:e})},async respond(r,i){if(r.length===0)throw Error(`respond() requires at least one input response.`);let a=parseInputResponses(r),o=sessionCallbackToTurnCaller(i.callback,i.activityObserver),s=createDelivery(n),c=attachClientContext({inputResponses:a},readClientContext(i));i.context!==void 0&&(c.context=i.context),i.outputSchema!==void 0&&(c.outputSchema=i.outputSchema);let l={auth:i.auth,delivery:s,kind:`send`,payload:c,requestId:n.requestId};return await t.dispatchSession({command:o===void 0?l:{...l,caller:o},sessionId:e})},async cancel(n){let r={kind:`cancel`};return n?.taskId!==void 0&&(r.taskId=n.taskId),n?.tasks!==void 0&&(r.tasks=n.tasks),n?.turnId!==void 0&&(r.turnId=n.turnId),await t.dispatchSession({command:r,sessionId:e})},async compact(){return await t.dispatchSession({command:{kind:`compact`},sessionId:e})},async clear(){return await t.dispatchSession({command:{kind:`clear`},sessionId:e})},async reset(n){return await t.dispatchSession({command:{kind:`reset`,reason:n?.reason},sessionId:e})},async getEventStream(n){return t.getEventStream(e,n)},async getStreamTailIndex(){return t.getStreamTailIndex(e)}}}function createAttachSessionFn(e,t={}){return n=>createSession(n,e,t)}function createDelivery(e){return e.channelKind!==void 0&&e.channelName!==void 0?createChannelDeliveryMetadata(e):void 0}function buildSessionHandle(e){return{get id(){return e.get(SessionIdKey)??``},get auth(){return{current:e.get(AuthKey)??null,initiator:e.get(InitiatorAuthKey)??null}},get continuation(){let t=e.get(ContinuationTokenKey);if(t!==void 0&&t.length!==0)return{token:toChannelLocalContinuationToken(t),alias(n){if(n.length===0)throw Error(`A session alias requires a nonempty token.`);let r=namespaceContinuationToken(t,n);t!==r&&(e.set(ContinuationHookTokensKey,e=>{let n=e??[t];return n.includes(r)?n:[...n,r]}),e.set(ContinuationTokenKey,r))}}}}}function namespaceContinuationToken(e,t){let n=e.indexOf(`:`);if(n<=0)throw Error(`Cannot set session continuation token without an existing namespaced continuation token. Start the session with a placeholder continuationToken.`);return`${e.slice(0,n+1)}${t}`}function sessionCallbackToTurnCaller(e,t){return e===void 0?void 0:{activityObserver:t,callId:e.callId,replyTo:{kind:`callback`,token:e.token,url:e.url},subagentName:e.subagentName,taskId:e.taskId}}export{buildSessionHandle,createAttachSessionFn,createSession,sessionCallbackToTurnCaller};
1
+ import{attachClientContext,readClientContext}from"#internal/client-context.js";import{createChannelDeliveryMetadata}from"#channel/delivery-metadata.js";import{serializeUrlFilePartsInMessage}from"#channel/send-input.js";import{DEFAULT_TURN_POLICY}from"#channel/types.js";import{parseInputResponses}from"#shared/input.js";import{AuthKey,ContinuationHookTokensKey,ContinuationTokenKey,InitiatorAuthKey,SessionIdKey}from"#context/keys.js";import{toChannelLocalContinuationToken}from"#shared/continuation-token.js";function createSession(e,t,n={}){return{id:e,async send(r,i){let a=createDelivery(n),o=sessionCallbackToTurnCaller(i.callback,i.activityObserver),s=attachClientContext({message:serializeUrlFilePartsInMessage(r)},readClientContext(i));i.context!==void 0&&(s.context=i.context),i.outputSchema!==void 0&&(s.outputSchema=i.outputSchema);let c={auth:i.auth,delivery:a,kind:`send`,payload:s,requestId:n.requestId,turnPolicy:i.turnPolicy??n.turnPolicy??DEFAULT_TURN_POLICY,title:i.title};return await t.dispatchSession({command:o===void 0?c:{...c,caller:o},sessionId:e})},async respond(r,i){if(r.length===0)throw Error(`respond() requires at least one input response.`);let a=parseInputResponses(r),o=sessionCallbackToTurnCaller(i.callback,i.activityObserver),s=createDelivery(n),c=attachClientContext({inputResponses:a},readClientContext(i));i.context!==void 0&&(c.context=i.context),i.outputSchema!==void 0&&(c.outputSchema=i.outputSchema);let l={auth:i.auth,delivery:s,kind:`send`,payload:c,requestId:n.requestId};return await t.dispatchSession({command:o===void 0?l:{...l,caller:o},sessionId:e})},async cancel(n){let r={kind:`cancel`};return n?.taskId!==void 0&&(r.taskId=n.taskId),n?.tasks!==void 0&&(r.tasks=n.tasks),n?.turnId!==void 0&&(r.turnId=n.turnId),await t.dispatchSession({command:r,sessionId:e})},async compact(){return await t.dispatchSession({command:{kind:`compact`},sessionId:e})},async clear(){return await t.dispatchSession({command:{kind:`clear`},sessionId:e})},async reset(n){return await t.dispatchSession({command:{kind:`reset`,reason:n?.reason},sessionId:e})},async getEventStream(n){return t.getEventStream(e,n)},async getStreamTailIndex(){return t.getStreamTailIndex(e)}}}function createAttachSessionFn(e,t={}){return n=>createSession(n,e,t)}function createDelivery(e){return e.channelKind!==void 0&&e.channelName!==void 0?createChannelDeliveryMetadata(e):void 0}function buildSessionHandle(e){return{get id(){return e.get(SessionIdKey)??``},get auth(){return{current:e.get(AuthKey)??null,initiator:e.get(InitiatorAuthKey)??null}},get continuation(){let t=e.get(ContinuationTokenKey);if(t!==void 0&&t.length!==0)return{token:toChannelLocalContinuationToken(t),alias(n){if(n.length===0)throw Error(`A session alias requires a nonempty token.`);let r=namespaceContinuationToken(t,n);t!==r&&(e.set(ContinuationHookTokensKey,e=>{let n=e??[t];return n.includes(r)?n:[...n,r]}),e.set(ContinuationTokenKey,r))}}}}}function namespaceContinuationToken(e,t){let n=e.indexOf(`:`);if(n<=0)throw Error(`Cannot set session continuation token without an existing namespaced continuation token. Start the session with a placeholder continuationToken.`);return`${e.slice(0,n+1)}${t}`}function sessionCallbackToTurnCaller(e,t){return e===void 0?void 0:{activityObserver:t,callId:e.callId,replyTo:{kind:`callback`,token:e.token,url:e.url},subagentName:e.subagentName,taskId:e.taskId}}export{buildSessionHandle,createAttachSessionFn,createSession,sessionCallbackToTurnCaller};
@@ -172,6 +172,8 @@ export declare const DEFAULT_TURN_POLICY: TurnPolicy;
172
172
  export type SessionCommand = {
173
173
  readonly auth?: SessionAuthContext | null;
174
174
  readonly caller?: TurnCaller;
175
+ /** Initial workflow title when delivering to a prewarmed session. */
176
+ readonly title?: string;
175
177
  readonly kind: "send";
176
178
  readonly payload: DeliverPayload;
177
179
  readonly delivery?: ChannelDeliveryMetadata;
@@ -202,6 +204,8 @@ export type SessionSendCommandResult = {
202
204
  readonly deliveryId?: string;
203
205
  } | {
204
206
  readonly status: "session_not_active";
207
+ /** The workflow exists but its inbox is not yet available; no delivery was accepted. */
208
+ readonly retryable?: boolean;
205
209
  };
206
210
  /** Result of terminally resetting a session. */
207
211
  export type ResetSessionResult = {
@@ -234,6 +238,8 @@ export interface DispatchSessionInput<TCommand extends SessionCommand = SessionC
234
238
  * metadata so both cross the durable hook boundary outside adapter-owned data.
235
239
  */
236
240
  export interface DeliverHookPayload {
241
+ /** Initial workflow title; ignored once session initialization has run. */
242
+ readonly title?: string;
237
243
  readonly auth?: SessionAuthContext | null;
238
244
  /** Delegated caller waiting for this turn's settled result. */
239
245
  readonly caller?: TurnCaller;
@@ -456,7 +462,8 @@ export interface RunInput {
456
462
  */
457
463
  readonly initiatorAuth?: SessionAuthContext | null;
458
464
  readonly input: {
459
- readonly message: string | UserContent;
465
+ /** Omitted only when creating a conversation session before its first turn. */
466
+ readonly message?: string | UserContent;
460
467
  readonly context?: readonly string[];
461
468
  readonly outputSchema?: JsonObject;
462
469
  };