eve 0.83.3 → 0.84.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 (1595) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +1 -5
  3. package/dist/src/_virtual/_rolldown/runtime.js +1 -1
  4. package/dist/src/acp/adapter.d.ts +8 -5
  5. package/dist/src/acp/adapter.js +1 -1
  6. package/dist/src/ai/decide.d.ts +3 -7
  7. package/dist/src/ai/decide.js +1 -1
  8. package/dist/src/ai/decision-adapter.d.ts +7 -0
  9. package/dist/src/ai/decision-adapter.js +1 -0
  10. package/dist/src/ai/decision-types.d.ts +86 -0
  11. package/dist/src/approval/definition.d.ts +5 -12
  12. package/dist/src/approval/evaluation.d.ts +48 -0
  13. package/dist/src/approval/evaluation.js +1 -0
  14. package/dist/src/approval/status.d.ts +14 -0
  15. package/dist/src/approval/status.js +1 -0
  16. package/dist/src/channel/adapter-context.d.ts +1 -3
  17. package/dist/src/channel/adapter-context.js +1 -1
  18. package/dist/src/channel/adapter.d.ts +34 -26
  19. package/dist/src/channel/adapter.js +1 -1
  20. package/dist/src/channel/audience.d.ts +0 -3
  21. package/dist/src/channel/audience.js +1 -1
  22. package/dist/src/channel/auth/definitions.d.ts +532 -0
  23. package/dist/src/channel/auth/definitions.js +1 -0
  24. package/dist/src/channel/auth/jwt-ecdsa.js +1 -1
  25. package/dist/src/channel/auth/jwt-hmac.js +1 -1
  26. package/dist/src/channel/auth/oidc.js +1 -1
  27. package/dist/src/channel/channel-address.d.ts +12 -10
  28. package/dist/src/channel/channel-address.js +1 -1
  29. package/dist/src/channel/channel-operations.d.ts +21 -22
  30. package/dist/src/channel/channel-operations.js +1 -1
  31. package/dist/src/channel/compiled-channel.d.ts +4 -4
  32. package/dist/src/channel/conversation-context.js +1 -1
  33. package/dist/src/channel/cors.d.ts +2 -2
  34. package/dist/src/channel/cors.js +1 -1
  35. package/dist/src/channel/cross-channel-receive.d.ts +7 -4
  36. package/dist/src/channel/cross-channel-receive.js +1 -1
  37. package/dist/src/channel/delivery-idempotency.d.ts +6 -0
  38. package/dist/src/channel/delivery-idempotency.js +1 -1
  39. package/dist/src/channel/delivery-metadata.d.ts +2 -2
  40. package/dist/src/channel/delivery.d.ts +8 -0
  41. package/dist/src/channel/delivery.js +1 -0
  42. package/dist/src/channel/interaction-prompts.d.ts +54 -0
  43. package/dist/src/channel/interaction-prompts.js +1 -0
  44. package/dist/src/channel/invoke-tool.d.ts +11 -18
  45. package/dist/src/channel/pending-authorization.d.ts +3 -14
  46. package/dist/src/channel/pending-authorization.js +1 -1
  47. package/dist/src/channel/prompt-queue.d.ts +11 -19
  48. package/dist/src/channel/prompt-queue.js +1 -1
  49. package/dist/src/channel/resolve-text.d.ts +11 -18
  50. package/dist/src/channel/resolve-text.js +2 -2
  51. package/dist/src/channel/resolved-prompt.d.ts +7 -5
  52. package/dist/src/channel/resolved-prompt.js +1 -1
  53. package/dist/src/channel/routes.d.ts +4 -4
  54. package/dist/src/channel/schedule.d.ts +2 -2
  55. package/dist/src/channel/schedule.js +1 -1
  56. package/dist/src/channel/send-input.d.ts +3 -3
  57. package/dist/src/channel/send-input.js +1 -1
  58. package/dist/src/channel/session-callback.js +1 -1
  59. package/dist/src/channel/session-not-active-error.d.ts +8 -12
  60. package/dist/src/channel/session-not-active-error.js +1 -1
  61. package/dist/src/channel/session.d.ts +33 -59
  62. package/dist/src/channel/session.js +1 -1
  63. package/dist/src/channel/sign-in.d.ts +61 -0
  64. package/dist/src/channel/sign-in.js +3 -0
  65. package/dist/src/channel/surface.d.ts +44 -0
  66. package/dist/src/channel/surface.js +1 -0
  67. package/dist/src/channel/task-card.d.ts +24 -114
  68. package/dist/src/channel/task-card.js +1 -1
  69. package/dist/src/channel/types.d.ts +118 -110
  70. package/dist/src/channel/types.js +1 -1
  71. package/dist/src/chunks/use-eve-agent-DMeP0JOF.js +5046 -0
  72. package/dist/src/chunks/use-eve-agent-DP5Rso9C.js +5093 -0
  73. package/dist/src/cli/commands/init.js +1 -1
  74. package/dist/src/cli/commands/logs-events.d.ts +2 -0
  75. package/dist/src/cli/commands/logs-events.js +2 -2
  76. package/dist/src/cli/dev/command.js +1 -1
  77. package/dist/src/cli/dev/remote-print.d.ts +8 -0
  78. package/dist/src/cli/dev/remote-print.js +1 -0
  79. package/dist/src/cli/dev/tui/conversation-view.d.ts +24 -19
  80. package/dist/src/cli/dev/tui/conversation-view.js +1 -1
  81. package/dist/src/cli/dev/tui/diagnostic-presentation.d.ts +0 -10
  82. package/dist/src/cli/dev/tui/diagnostic-presentation.js +2 -3
  83. package/dist/src/cli/dev/tui/errors.d.ts +9 -65
  84. package/dist/src/cli/dev/tui/errors.js +1 -1
  85. package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
  86. package/dist/src/cli/dev/tui/runner.js +3 -3
  87. package/dist/src/cli/dev/tui/task-records.d.ts +3 -3
  88. package/dist/src/cli/dev/tui/task-records.js +1 -1
  89. package/dist/src/cli/dev/tui/terminal-renderer.js +10 -10
  90. package/dist/src/cli/dev/tui/terminal-tool-part.d.ts +2 -2
  91. package/dist/src/cli/dev/tui/terminal-tool-part.js +1 -1
  92. package/dist/src/cli/dev/tui/test/fake-eve-server.d.ts +3 -3
  93. package/dist/src/cli/dev/tui/test/fake-eve-server.js +1 -1
  94. package/dist/src/cli/dev/tui/tool-presentation.js +1 -1
  95. package/dist/src/cli/dev/tui/transcript-parts.d.ts +16 -16
  96. package/dist/src/cli/dev/tui/transcript-parts.js +3 -3
  97. package/dist/src/cli/dev/tui/transcript.d.ts +0 -4
  98. package/dist/src/cli/dev/tui/transcript.js +1 -1
  99. package/dist/src/cli/dev/tui/tui.js +1 -1
  100. package/dist/src/cli/run.d.ts +0 -2
  101. package/dist/src/cli/run.js +1 -1
  102. package/dist/src/cli/telemetry/index.js +1 -1
  103. package/dist/src/client/agent-base-url.d.ts +4 -0
  104. package/dist/src/client/agent-base-url.js +1 -0
  105. package/dist/src/client/agent-info-schema.d.ts +1 -923
  106. package/dist/src/client/agent-info-schema.js +1 -1
  107. package/dist/src/client/agent-info-types.d.ts +281 -0
  108. package/dist/src/client/agent-session.d.ts +19 -22
  109. package/dist/src/client/agent-session.js +1 -1
  110. package/dist/src/client/agent-stream-follower.d.ts +11 -20
  111. package/dist/src/client/agent-stream-follower.js +1 -1
  112. package/dist/src/client/client-error.d.ts +2 -1
  113. package/dist/src/client/client-error.js +1 -1
  114. package/dist/src/client/client.d.ts +1 -1
  115. package/dist/src/client/client.js +1 -1
  116. package/dist/src/client/conversation-client.d.ts +37 -28
  117. package/dist/src/client/conversation-client.js +1 -1
  118. package/dist/src/client/conversation-state.d.ts +70 -73
  119. package/dist/src/client/conversation-state.js +1 -1
  120. package/dist/src/client/conversation.d.ts +51 -0
  121. package/dist/src/client/conversation.js +1 -0
  122. package/dist/src/client/delivery-events.d.ts +3 -0
  123. package/dist/src/client/delivery-events.js +1 -0
  124. package/dist/src/client/delivery.d.ts +38 -0
  125. package/dist/src/client/delivery.js +1 -0
  126. package/dist/src/client/file-parts.d.ts +9 -4
  127. package/dist/src/client/file-parts.js +1 -1
  128. package/dist/src/client/health-schema.d.ts +1 -1
  129. package/dist/src/client/health-types.d.ts +6 -0
  130. package/dist/src/client/index.d.ts +17 -23
  131. package/dist/src/client/index.js +1 -1
  132. package/dist/src/client/message-types.d.ts +92 -0
  133. package/dist/src/client/message-types.js +1 -0
  134. package/dist/src/client/messages.d.ts +30 -0
  135. package/dist/src/client/messages.js +1 -0
  136. package/dist/src/client/ndjson.d.ts +6 -11
  137. package/dist/src/client/ndjson.js +3 -3
  138. package/dist/src/client/open-stream.d.ts +47 -20
  139. package/dist/src/client/open-stream.js +1 -1
  140. package/dist/src/client/optimistic-message-submissions.d.ts +10 -18
  141. package/dist/src/client/optimistic-message-submissions.js +1 -1
  142. package/dist/src/client/session-controls.d.ts +23 -26
  143. package/dist/src/client/session-controls.js +1 -1
  144. package/dist/src/client/session-event-stream.d.ts +5 -16
  145. package/dist/src/client/session-event-stream.js +1 -1
  146. package/dist/src/client/session-store-helpers.d.ts +8 -0
  147. package/dist/src/client/session-store-helpers.js +2 -0
  148. package/dist/src/client/session-store-state.d.ts +80 -0
  149. package/dist/src/client/session-store-state.js +1 -0
  150. package/dist/src/client/session-store.d.ts +48 -0
  151. package/dist/src/client/session-store.js +1 -0
  152. package/dist/src/client/session-utils.d.ts +45 -41
  153. package/dist/src/client/session-utils.js +2 -1
  154. package/dist/src/client/session.d.ts +32 -23
  155. package/dist/src/client/session.js +1 -1
  156. package/dist/src/client/sessions.d.ts +3 -2
  157. package/dist/src/client/sessions.js +1 -1
  158. package/dist/src/client/stream-version.d.ts +3 -1
  159. package/dist/src/client/stream-version.js +1 -1
  160. package/dist/src/client/transcript.d.ts +43 -0
  161. package/dist/src/client/transcript.js +2 -0
  162. package/dist/src/client/types.d.ts +23 -82
  163. package/dist/src/client/url.d.ts +3 -3
  164. package/dist/src/compiled/.vendor-stamp.json +2 -2
  165. package/dist/src/compiled/@ai-sdk/anthropic/index.d.ts +34 -34
  166. package/dist/src/compiled/@ai-sdk/google/index.d.ts +15 -15
  167. package/dist/src/compiled/@ai-sdk/openai/index.d.ts +38 -38
  168. package/dist/src/compiled/@chat-adapter/slack/fetch-QqNM_Ef3.d.ts +4 -0
  169. package/dist/src/compiled/@chat-adapter/slack/index.js +13 -13
  170. package/dist/src/compiled/@chat-adapter/twilio/types-BaIqtt65.d.ts +100 -0
  171. package/dist/src/compiled/@linqapp/chat-sdk-adapter/adapter.d.ts +129 -0
  172. package/dist/src/compiled/@linqapp/chat-sdk-adapter/message-parser.d.ts +14 -0
  173. package/dist/src/compiled/@linqapp/chat-sdk-adapter/text-decorations.d.ts +28 -0
  174. package/dist/src/compiled/@vercel/sandbox/api-client/api-client.d.ts +75 -0
  175. package/dist/src/compiled/@vercel/sandbox/api-client/validators.d.ts +4 -0
  176. package/dist/src/compiled/@vercel/sandbox/command.d.ts +78 -0
  177. package/dist/src/compiled/@vercel/sandbox/drive.d.ts +41 -1
  178. package/dist/src/compiled/@vercel/sandbox/index.js +13 -13
  179. package/dist/src/compiled/@vercel/sandbox/network-policy.d.ts +35 -4
  180. package/dist/src/compiled/@vercel/sandbox/sandbox.d.ts +18 -4
  181. package/dist/src/compiled/@vercel/sandbox/session.d.ts +29 -3
  182. package/dist/src/compiled/@vercel/sandbox/utils/pipe-stdin.d.ts +19 -0
  183. package/dist/src/compiled/@workflow/core/runtime/step-executor.d.ts +1 -1
  184. package/dist/src/compiled/@workflow/core/serialization/types.d.ts +1 -1
  185. package/dist/src/compiled/@workflow/core/serialization.d.ts +2 -2
  186. package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +2 -2
  187. package/dist/src/compiled/_chunks/client/{core-CspsxXR-.js → core-BsvaaMUJ.js} +1 -1
  188. package/dist/src/compiled/_chunks/node/{auth-Dztlx9pE.js → auth-v5pS3mLo.js} +1 -1
  189. package/dist/src/compiled/_chunks/node/is-stream-DsuQX_bd.js +1 -0
  190. package/dist/src/compiled/_chunks/node/token-DHGH-jVc.js +1 -0
  191. package/dist/src/compiled/_chunks/node/token-util-BH2pw9Qm.js +25 -0
  192. package/dist/src/compiled/_chunks/node/token-util-CcvxNv76.js +1 -0
  193. package/dist/src/compiled/_chunks/node/version-C2PfNyEv.js +1 -0
  194. package/dist/src/compiled/semver/index.d.ts +2 -0
  195. package/dist/src/compiled/zod/index.js +1 -1
  196. package/dist/src/compiled/zod/v4/core.js +1 -1
  197. package/dist/src/compiled/zod-validation-error/index.js +1 -1
  198. package/dist/src/compiler/artifacts.d.ts +1 -0
  199. package/dist/src/compiler/artifacts.js +1 -1
  200. package/dist/src/compiler/development-extensions.js +1 -1
  201. package/dist/src/compiler/extension-compatibility.d.ts +19 -290
  202. package/dist/src/compiler/extension-compatibility.js +1 -1
  203. package/dist/src/compiler/manifest.d.ts +3 -11
  204. package/dist/src/compiler/manifest.js +1 -1
  205. package/dist/src/compiler/model-catalog.d.ts +8 -18
  206. package/dist/src/compiler/model-catalog.js +1 -1
  207. package/dist/src/compiler/normalize-agent-config.js +1 -1
  208. package/dist/src/compiler/normalize-connection.js +1 -1
  209. package/dist/src/compiler/normalize-hook.js +1 -1
  210. package/dist/src/compiler/normalize-instructions.js +1 -1
  211. package/dist/src/compiler/normalize-manifest-types.d.ts +3 -0
  212. package/dist/src/compiler/normalize-manifest.js +1 -1
  213. package/dist/src/compiler/normalize-memory.js +1 -1
  214. package/dist/src/compiler/normalize-schedule.js +1 -1
  215. package/dist/src/compiler/normalize-skill.js +1 -1
  216. package/dist/src/compiler/normalize-subagent.d.ts +0 -5
  217. package/dist/src/compiler/normalize-subagent.js +1 -1
  218. package/dist/src/compiler/normalize-tool.js +1 -1
  219. package/dist/src/compiler/remote-agent-node.d.ts +1 -6
  220. package/dist/src/compiler/source-graph.d.ts +0 -1
  221. package/dist/src/compiler/source-graph.js +1 -1
  222. package/dist/src/computer-use/extension/lib/computer-use-sandbox.js +1 -1
  223. package/dist/src/computer-use/extension/lib/sandbox.d.ts +1 -1
  224. package/dist/src/computer-use/extension/lib/sandbox.js +1 -1
  225. package/dist/src/computer-use/extension/tools/computer_use.js +1 -1
  226. package/dist/src/connections/errors.d.ts +3 -3
  227. package/dist/src/context/accessors.d.ts +0 -13
  228. package/dist/src/context/accessors.js +1 -1
  229. package/dist/src/context/container.d.ts +8 -11
  230. package/dist/src/context/container.js +1 -1
  231. package/dist/src/context/key-names.d.ts +1 -0
  232. package/dist/src/context/key-names.js +1 -1
  233. package/dist/src/context/keys.d.ts +20 -112
  234. package/dist/src/context/keys.js +1 -1
  235. package/dist/src/context/memory-tools.d.ts +4 -2
  236. package/dist/src/context/memory-tools.js +1 -1
  237. package/dist/src/context/providers/connection.js +1 -1
  238. package/dist/src/context/providers/session.js +1 -1
  239. package/dist/src/context/schedule-collection-tools.d.ts +2 -2
  240. package/dist/src/context/schedule-collection-tools.js +1 -1
  241. package/dist/src/context/session-context.d.ts +4 -2
  242. package/dist/src/discover/extensions.d.ts +2 -3
  243. package/dist/src/discover/extensions.js +1 -1
  244. package/dist/src/discover/manifest.js +1 -1
  245. package/dist/src/discover/skills.js +1 -1
  246. package/dist/src/dynamic/definition.d.ts +98 -108
  247. package/dist/src/dynamic/definition.js +1 -1
  248. package/dist/src/evals/assertions/collector.js +1 -1
  249. package/dist/src/evals/assertions/run.d.ts +12 -11
  250. package/dist/src/evals/assertions/run.js +2 -2
  251. package/dist/src/evals/assertions/scoped.js +1 -1
  252. package/dist/src/evals/cli/eval-client.js +1 -1
  253. package/dist/src/evals/cli/eval.js +2 -2
  254. package/dist/src/evals/context.js +1 -1
  255. package/dist/src/evals/expect/index.d.ts +0 -1
  256. package/dist/src/evals/index.d.ts +2 -5
  257. package/dist/src/evals/judge.js +1 -1
  258. package/dist/src/evals/match.d.ts +20 -17
  259. package/dist/src/evals/match.js +1 -1
  260. package/dist/src/evals/mock-model.d.ts +5 -1
  261. package/dist/src/evals/mock-model.js +1 -1
  262. package/dist/src/evals/output.d.ts +3 -0
  263. package/dist/src/evals/output.js +1 -0
  264. package/dist/src/evals/reported-tool-name.js +1 -1
  265. package/dist/src/evals/reporters/index.d.ts +4 -4
  266. package/dist/src/evals/reporters/index.js +1 -1
  267. package/dist/src/evals/runner/artifacts.js +1 -1
  268. package/dist/src/evals/runner/derive-run-facts.d.ts +8 -40
  269. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  270. package/dist/src/evals/runner/execute-eval.js +1 -1
  271. package/dist/src/evals/runner/execute-task.d.ts +3 -1
  272. package/dist/src/evals/runner/execute-task.js +1 -1
  273. package/dist/src/evals/runner/reporters/braintrust.d.ts +1 -1
  274. package/dist/src/evals/runner/reporters/braintrust.js +2 -2
  275. package/dist/src/evals/runner/reporters/console.d.ts +1 -1
  276. package/dist/src/evals/runner/reporters/console.js +1 -1
  277. package/dist/src/evals/runner/reporters/datadog.d.ts +1 -1
  278. package/dist/src/evals/runner/reporters/datadog.js +2 -2
  279. package/dist/src/evals/runner/reporters/junit.d.ts +1 -1
  280. package/dist/src/evals/runner/reporters/junit.js +2 -2
  281. package/dist/src/evals/runner/reporters/types.d.ts +2 -2
  282. package/dist/src/evals/runner/run-evals.d.ts +1 -1
  283. package/dist/src/evals/session-cleanup.d.ts +1 -1
  284. package/dist/src/evals/session-cleanup.js +1 -1
  285. package/dist/src/evals/session-content.d.ts +2 -2
  286. package/dist/src/evals/session-content.js +2 -1
  287. package/dist/src/evals/session-manager.d.ts +3 -6
  288. package/dist/src/evals/session-manager.js +1 -1
  289. package/dist/src/evals/session.d.ts +33 -24
  290. package/dist/src/evals/session.js +2 -2
  291. package/dist/src/evals/target.js +1 -1
  292. package/dist/src/evals/types.d.ts +115 -94
  293. package/dist/src/eve-channel/create-request.d.ts +3 -5
  294. package/dist/src/eve-channel/descendant-stream.d.ts +9 -0
  295. package/dist/src/eve-channel/descendant-stream.js +1 -0
  296. package/dist/src/eve-channel/index.d.ts +2 -2
  297. package/dist/src/eve-channel/index.js +1 -1
  298. package/dist/src/eve-channel/request.d.ts +8 -6
  299. package/dist/src/eve-channel/request.js +1 -3
  300. package/dist/src/eve-channel/stream-headers.d.ts +1 -1
  301. package/dist/src/eve-channel/stream-headers.js +1 -1
  302. package/dist/src/eve-channel/support.d.ts +25 -13
  303. package/dist/src/eve-channel/support.js +2 -2
  304. package/dist/src/eve-channel/types.d.ts +7 -30
  305. package/dist/src/execution/agent-sessions/message.d.ts +4 -0
  306. package/dist/src/execution/agent-sessions/message.js +1 -0
  307. package/dist/src/execution/agent-sessions/metadata.js +1 -1
  308. package/dist/src/execution/agent-sessions/remote-credentials.d.ts +19 -0
  309. package/dist/src/execution/agent-sessions/remote-credentials.js +1 -0
  310. package/dist/src/execution/agent-sessions/remote.d.ts +35 -13
  311. package/dist/src/execution/agent-sessions/remote.js +1 -1
  312. package/dist/src/execution/agent-sessions/requests.d.ts +6 -6
  313. package/dist/src/execution/agent-sessions/requests.js +1 -1
  314. package/dist/src/execution/agent-sessions/session.js +1 -1
  315. package/dist/src/execution/agent-sessions/steps.d.ts +26 -4
  316. package/dist/src/execution/agent-sessions/steps.js +1 -1
  317. package/dist/src/execution/agent-sessions/target.d.ts +2 -1
  318. package/dist/src/execution/agent-sessions/target.js +1 -1
  319. package/dist/src/execution/agent-sessions/usage.d.ts +0 -8
  320. package/dist/src/execution/agent-sessions/usage.js +1 -1
  321. package/dist/src/execution/cancelled-model-call-batch.d.ts +4 -2
  322. package/dist/src/execution/cancelled-model-call-batch.js +1 -1
  323. package/dist/src/execution/cancelled-turn-message.d.ts +2 -2
  324. package/dist/src/execution/cancelled-turn-message.js +1 -1
  325. package/dist/src/execution/catalog/connection-entry.js +1 -1
  326. package/dist/src/execution/catalog/search.js +1 -1
  327. package/dist/src/execution/catalog/skills.js +1 -1
  328. package/dist/src/execution/catalog/step-catalog.js +1 -1
  329. package/dist/src/execution/child-binding.d.ts +19 -0
  330. package/dist/src/execution/child-binding.js +1 -0
  331. package/dist/src/execution/close-session-stream-step.d.ts +9 -0
  332. package/dist/src/execution/close-session-stream-step.js +1 -0
  333. package/dist/src/execution/coordination-dispatch-shared.d.ts +13 -3
  334. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  335. package/dist/src/execution/coordination-dispatch-step.d.ts +9 -13
  336. package/dist/src/execution/coordination-dispatch-step.js +1 -1
  337. package/dist/src/execution/deliver-payloads.js +1 -1
  338. package/dist/src/execution/durable-session-store.d.ts +2 -5
  339. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  340. package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
  341. package/dist/src/execution/failure-summary.d.ts +11 -0
  342. package/dist/src/execution/failure-summary.js +1 -0
  343. package/dist/src/execution/forward-session-input.d.ts +2 -2
  344. package/dist/src/execution/forward-session-input.js +1 -1
  345. package/dist/src/execution/invoke-tool.js +1 -1
  346. package/dist/src/execution/legacy-session/snapshot.d.ts +4 -1
  347. package/dist/src/execution/legacy-session/snapshot.js +1 -1
  348. package/dist/src/execution/model-call-batching.d.ts +3 -3
  349. package/dist/src/execution/model-call-batching.js +1 -1
  350. package/dist/src/execution/ndjson-stream.d.ts +1 -1
  351. package/dist/src/execution/node-step.d.ts +2 -8
  352. package/dist/src/execution/node-step.js +1 -1
  353. package/dist/src/execution/proxied-deliver-step.d.ts +8 -3
  354. package/dist/src/execution/proxied-deliver-step.js +1 -1
  355. package/dist/src/execution/public-destination.d.ts +34 -0
  356. package/dist/src/execution/public-destination.js +1 -0
  357. package/dist/src/execution/publish-session-events.d.ts +98 -36
  358. package/dist/src/execution/publish-session-events.js +1 -1
  359. package/dist/src/execution/runtime-context.js +1 -1
  360. package/dist/src/execution/sandbox/abort-bound-session.js +1 -1
  361. package/dist/src/execution/sandbox/bash.js +1 -1
  362. package/dist/src/execution/sandbox/bindings/docker-cli.d.ts +2 -0
  363. package/dist/src/execution/sandbox/bindings/docker-cli.js +1 -1
  364. package/dist/src/execution/sandbox/bindings/docker-connection.js +1 -1
  365. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  366. package/dist/src/execution/sandbox/bindings/eve-image.d.ts +0 -2
  367. package/dist/src/execution/sandbox/bindings/eve-image.js +1 -1
  368. package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
  369. package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
  370. package/dist/src/execution/sandbox/ensure.js +1 -1
  371. package/dist/src/{extensions/code/extension/lib → execution/sandbox}/grep-search.d.ts +3 -2
  372. package/dist/src/execution/sandbox/grep-search.js +6 -0
  373. package/dist/src/execution/sandbox/multiplexed-command.d.ts +11 -1
  374. package/dist/src/execution/sandbox/multiplexed-command.js +1 -1
  375. package/dist/src/execution/sandbox/read-file.d.ts +1 -1
  376. package/dist/src/execution/sandbox/session.js +1 -1
  377. package/dist/src/execution/sandbox/workspace-root.d.ts +31 -0
  378. package/dist/src/execution/sandbox/workspace-root.js +1 -0
  379. package/dist/src/execution/session/active-turn.d.ts +12 -6
  380. package/dist/src/execution/session/active-turn.js +1 -1
  381. package/dist/src/execution/session/admission.d.ts +7 -2
  382. package/dist/src/execution/session/admission.js +1 -1
  383. package/dist/src/execution/session/answer-caller.d.ts +4 -4
  384. package/dist/src/execution/session/answer-caller.js +1 -1
  385. package/dist/src/execution/session/checkpoint-migrations.d.ts +4 -6
  386. package/dist/src/execution/session/checkpoint-migrations.js +1 -1
  387. package/dist/src/execution/session/control-delivery.d.ts +4 -0
  388. package/dist/src/execution/session/control-delivery.js +1 -0
  389. package/dist/src/execution/session/delivery-facts.d.ts +27 -0
  390. package/dist/src/execution/session/delivery-facts.js +1 -0
  391. package/dist/src/execution/session/end-sandbox-step.js +1 -1
  392. package/dist/src/execution/session/entry.js +1 -1
  393. package/dist/src/execution/session/finalization.d.ts +4 -0
  394. package/dist/src/execution/session/finalization.js +1 -1
  395. package/dist/src/execution/session/handoff-state.js +1 -1
  396. package/dist/src/execution/session/handoff-steps.d.ts +0 -8
  397. package/dist/src/execution/session/handoff-steps.js +1 -1
  398. package/dist/src/execution/session/handoff.d.ts +4 -3
  399. package/dist/src/execution/session/handoff.js +1 -1
  400. package/dist/src/execution/session/input-queue.d.ts +8 -2
  401. package/dist/src/execution/session/input-queue.js +1 -1
  402. package/dist/src/execution/session/interrupted-step.d.ts +64 -0
  403. package/dist/src/execution/session/interrupted-step.js +3 -0
  404. package/dist/src/execution/session/next-input.d.ts +7 -1
  405. package/dist/src/execution/session/next-input.js +1 -1
  406. package/dist/src/execution/session/pending-turn-state.d.ts +32 -12
  407. package/dist/src/execution/session/pending-turn-state.js +1 -1
  408. package/dist/src/execution/session/prewarm-step.d.ts +1 -1
  409. package/dist/src/execution/session/prewarm-step.js +1 -1
  410. package/dist/src/execution/session/program.js +1 -1
  411. package/dist/src/execution/session/settle-control-delivery-step.d.ts +8 -0
  412. package/dist/src/execution/session/settle-control-delivery-step.js +1 -0
  413. package/dist/src/execution/session/settle-duplicate-delivery-step.d.ts +8 -0
  414. package/dist/src/execution/session/settle-duplicate-delivery-step.js +1 -0
  415. package/dist/src/execution/session/state-delta.d.ts +2 -12
  416. package/dist/src/execution/session/state-delta.js +1 -1
  417. package/dist/src/execution/session/step-decision-check.d.ts +9 -0
  418. package/dist/src/execution/session/step-decision-check.js +1 -0
  419. package/dist/src/execution/session/step-state-delta.d.ts +16 -0
  420. package/dist/src/execution/session/step-state-delta.js +1 -0
  421. package/dist/src/execution/session/task-tool-tracing-step.d.ts +0 -3
  422. package/dist/src/execution/session/task-tool-tracing-step.js +1 -1
  423. package/dist/src/execution/session/turn-event-handler.d.ts +6 -16
  424. package/dist/src/execution/session/turn-event-handler.js +1 -1
  425. package/dist/src/execution/session/turn-step-result.d.ts +7 -2
  426. package/dist/src/execution/session/turn-step-result.js +1 -1
  427. package/dist/src/execution/session/turn-step-types.d.ts +35 -33
  428. package/dist/src/execution/session/turn-step.js +1 -1
  429. package/dist/src/execution/session/turn.d.ts +19 -32
  430. package/dist/src/execution/session/turn.js +1 -1
  431. package/dist/src/execution/session-callback-request.d.ts +7 -1
  432. package/dist/src/execution/session-callback-request.js +1 -1
  433. package/dist/src/execution/session-event-stream.d.ts +37 -16
  434. package/dist/src/execution/session-event-stream.js +1 -1
  435. package/dist/src/execution/session-inbox/address.d.ts +1 -0
  436. package/dist/src/execution/session-inbox/end-stranded-session.d.ts +7 -1
  437. package/dist/src/execution/session-inbox/end-stranded-session.js +1 -1
  438. package/dist/src/execution/session-inbox/handle.d.ts +7 -0
  439. package/dist/src/execution/session-inbox/handle.js +1 -0
  440. package/dist/src/execution/session-inbox/inbox.js +1 -1
  441. package/dist/src/execution/session-inbox/owner.d.ts +9 -6
  442. package/dist/src/execution/session-inbox/owner.js +1 -1
  443. package/dist/src/execution/session-inbox/pre-v27.d.ts +5 -0
  444. package/dist/src/execution/session-inbox/pre-v27.js +1 -0
  445. package/dist/src/execution/session-inbox/protocol.js +1 -1
  446. package/dist/src/execution/session-inbox/resume.d.ts +1 -0
  447. package/dist/src/execution/session-inbox/resume.js +1 -1
  448. package/dist/src/execution/session-inbox/stranded-replay-guard.js +1 -1
  449. package/dist/src/execution/session-workflow-tool-run.js +1 -1
  450. package/dist/src/execution/session.d.ts +3 -14
  451. package/dist/src/execution/session.js +2 -2
  452. package/dist/src/execution/settle-cancelled-turn-step.d.ts +3 -0
  453. package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
  454. package/dist/src/execution/stop-runs.d.ts +35 -0
  455. package/dist/src/execution/stop-runs.js +1 -0
  456. package/dist/src/execution/tasks/model-step.d.ts +5 -9
  457. package/dist/src/execution/tasks/model-step.js +1 -1
  458. package/dist/src/execution/tasks/render.d.ts +5 -2
  459. package/dist/src/execution/tasks/render.js +1 -1
  460. package/dist/src/execution/tasks/session.d.ts +6 -3
  461. package/dist/src/execution/tasks/session.js +1 -1
  462. package/dist/src/execution/tasks/start.d.ts +9 -6
  463. package/dist/src/execution/tasks/start.js +1 -1
  464. package/dist/src/execution/tasks/steps.d.ts +11 -6
  465. package/dist/src/execution/tasks/steps.js +1 -1
  466. package/dist/src/execution/tasks/table.d.ts +18 -5
  467. package/dist/src/execution/tasks/table.js +1 -1
  468. package/dist/src/execution/tasks/task-id-input.js +1 -1
  469. package/dist/src/execution/terminal-session-completion-step.d.ts +11 -1
  470. package/dist/src/execution/terminal-session-completion-step.js +1 -1
  471. package/dist/src/execution/terminal-session-failure-step.d.ts +6 -1
  472. package/dist/src/execution/terminal-session-failure-step.js +1 -1
  473. package/dist/src/execution/terminate-child-sessions-step.d.ts +5 -1
  474. package/dist/src/execution/terminate-child-sessions-step.js +1 -1
  475. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  476. package/dist/src/execution/tools/workflow/answer.d.ts +4 -5
  477. package/dist/src/execution/tools/workflow/answer.js +1 -1
  478. package/dist/src/execution/tools/workflow/apply-run-messages-step.d.ts +1 -1
  479. package/dist/src/execution/tools/workflow/apply-run-messages-step.js +1 -1
  480. package/dist/src/execution/tools/workflow/ask.d.ts +3 -3
  481. package/dist/src/execution/tools/workflow/body.js +1 -1
  482. package/dist/src/execution/tools/workflow/harness-definition.js +1 -1
  483. package/dist/src/execution/tools/workflow/messages.d.ts +25 -33
  484. package/dist/src/execution/tools/workflow/messages.js +1 -1
  485. package/dist/src/execution/tools/workflow/owner-inbox.d.ts +9 -5
  486. package/dist/src/execution/tools/workflow/owner-inbox.js +1 -1
  487. package/dist/src/execution/tools/workflow/owner.d.ts +3 -3
  488. package/dist/src/execution/tools/workflow/owner.js +1 -1
  489. package/dist/src/execution/tools/workflow/serve.js +1 -1
  490. package/dist/src/execution/tools/workflow/step.js +1 -1
  491. package/dist/src/execution/tools/workflow/withdraw-step.d.ts +2 -2
  492. package/dist/src/execution/tools/workflow/withdraw-step.js +1 -1
  493. package/dist/src/execution/v26-history.d.ts +28 -0
  494. package/dist/src/execution/v26-history.fixtures.d.ts +4 -0
  495. package/dist/src/execution/v26-history.fixtures.js +2 -0
  496. package/dist/src/execution/v26-history.js +1 -0
  497. package/dist/src/execution/web-fetch/request.js +1 -1
  498. package/dist/src/execution/workflow-errors.d.ts +5 -0
  499. package/dist/src/execution/workflow-errors.js +1 -1
  500. package/dist/src/execution/workflow-runtime.js +1 -1
  501. package/dist/src/extensions/code/extension/extension.d.ts +1 -11
  502. package/dist/src/extensions/code/extension/extension.js +1 -1
  503. package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +5 -1
  504. package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
  505. package/dist/src/extensions/code/extension/lib/repository-root.js +1 -1
  506. package/dist/src/extensions/code/extension/lib/sandbox.d.ts +0 -4
  507. package/dist/src/extensions/code/extension/lib/sandbox.js +2 -2
  508. package/dist/src/extensions/code/extension/lib/tooling.d.ts +1 -1
  509. package/dist/src/extensions/code/extension/lib/tooling.js +1 -1
  510. package/dist/src/extensions/code/extension/lib/workspace-root.d.ts +1 -31
  511. package/dist/src/extensions/code/extension/lib/workspace-root.js +1 -1
  512. package/dist/src/extensions/code/extension/subagents/worker/agent.d.ts +1 -1
  513. package/dist/src/extensions/code/extension/subagents/worker/agent.js +1 -1
  514. package/dist/src/extensions/code/extension/tools/apply_patch.js +2 -2
  515. package/dist/src/extensions/code/extension/tools/grep.d.ts +1 -28
  516. package/dist/src/extensions/code/extension/tools/grep.js +1 -1
  517. package/dist/src/extensions/code/sandbox.d.ts +1 -0
  518. package/dist/src/extensions/code/sandbox.js +1 -0
  519. package/dist/src/extensions/code/tools.d.ts +1 -5
  520. package/dist/src/extensions/code/tools.js +1 -1
  521. package/dist/src/extensions/git/extension/extension.d.ts +3 -3
  522. package/dist/src/extensions/git/extension/instructions/github.d.ts +1 -1
  523. package/dist/src/extensions/git/extension/instructions/github.js +1 -1
  524. package/dist/src/extensions/git/extension/lib/gh-tool.d.ts +2 -11
  525. package/dist/src/extensions/git/extension/lib/gh-tool.js +1 -1
  526. package/dist/src/extensions/git/extension/lib/github-shell.d.ts +13 -3
  527. package/dist/src/extensions/git/extension/lib/sandbox.d.ts +0 -4
  528. package/dist/src/extensions/git/extension/lib/sandbox.js +1 -1
  529. package/dist/src/extensions/git/extension/skills/pr.d.ts +1 -4
  530. package/dist/src/extensions/git/extension/skills/pr.js +1 -1
  531. package/dist/src/extensions/git/extension/tools/gh.d.ts +1 -26
  532. package/dist/src/extensions/git/extension/tools/gh.js +1 -1
  533. package/dist/src/framework/sources/modules/schedule-collection-wrapper.js +1 -1
  534. package/dist/src/harness/action-presentation.d.ts +3 -5
  535. package/dist/src/harness/action-presentation.js +1 -1
  536. package/dist/src/harness/action-result-helpers.d.ts +2 -8
  537. package/dist/src/harness/action-result-helpers.js +1 -1
  538. package/dist/src/harness/approval-outcome.d.ts +32 -0
  539. package/dist/src/harness/approval-outcome.js +1 -0
  540. package/dist/src/harness/attachment-staging.js +1 -1
  541. package/dist/src/harness/authorization.d.ts +2 -3
  542. package/dist/src/harness/authorization.js +1 -1
  543. package/dist/src/harness/call-executor.d.ts +118 -0
  544. package/dist/src/harness/call-executor.js +1 -0
  545. package/dist/src/harness/call-facts.d.ts +31 -0
  546. package/dist/src/harness/call-facts.js +1 -0
  547. package/dist/src/harness/call-outcome.d.ts +6 -0
  548. package/dist/src/harness/call-outcome.js +1 -0
  549. package/dist/src/harness/compaction/engine.d.ts +11 -0
  550. package/dist/src/harness/compaction/engine.js +2 -2
  551. package/dist/src/harness/compaction/step.d.ts +25 -5
  552. package/dist/src/harness/compaction/step.js +1 -1
  553. package/dist/src/harness/coordination.js +1 -1
  554. package/dist/src/harness/current-messages.d.ts +10 -0
  555. package/dist/src/harness/current-messages.js +1 -1
  556. package/dist/src/harness/emission.d.ts +9 -20
  557. package/dist/src/harness/emission.js +1 -1
  558. package/dist/src/harness/execute-call.d.ts +6 -23
  559. package/dist/src/harness/execute-call.js +1 -1
  560. package/dist/src/harness/execute-tool.d.ts +7 -3
  561. package/dist/src/harness/facts.d.ts +82 -0
  562. package/dist/src/harness/facts.js +1 -0
  563. package/dist/src/harness/finish-reason.d.ts +6 -1
  564. package/dist/src/harness/generation-steering.d.ts +4 -2
  565. package/dist/src/harness/generation-steering.js +1 -1
  566. package/dist/src/harness/hitl/approval-prompt.d.ts +3 -3
  567. package/dist/src/harness/hitl/approval-prompt.js +3 -3
  568. package/dist/src/harness/hitl/approvals.d.ts +66 -78
  569. package/dist/src/harness/hitl/approvals.js +2 -1
  570. package/dist/src/harness/hitl/approved-calls.d.ts +14 -36
  571. package/dist/src/harness/hitl/approved-calls.js +1 -1
  572. package/dist/src/harness/hitl/budget-request.d.ts +8 -46
  573. package/dist/src/harness/hitl/budget-request.js +1 -1
  574. package/dist/src/harness/hitl/budget.d.ts +9 -8
  575. package/dist/src/harness/hitl/budget.js +1 -1
  576. package/dist/src/harness/hitl/delivery.d.ts +16 -17
  577. package/dist/src/harness/hitl/delivery.js +1 -1
  578. package/dist/src/harness/hitl/index.d.ts +14 -19
  579. package/dist/src/harness/hitl/index.js +1 -1
  580. package/dist/src/harness/hitl/intake.d.ts +32 -43
  581. package/dist/src/harness/hitl/intake.js +1 -1
  582. package/dist/src/harness/hitl/relays.d.ts +7 -51
  583. package/dist/src/harness/hitl/relays.js +1 -1
  584. package/dist/src/harness/hitl/requests.d.ts +11 -53
  585. package/dist/src/harness/hitl/requests.js +1 -1
  586. package/dist/src/harness/hitl/responders.d.ts +50 -0
  587. package/dist/src/harness/hitl/responders.js +1 -0
  588. package/dist/src/harness/hitl/sign-ins.d.ts +7 -3
  589. package/dist/src/harness/hitl/sign-ins.js +1 -1
  590. package/dist/src/harness/hitl/stale-responses.d.ts +11 -11
  591. package/dist/src/harness/hitl/stale-responses.js +3 -3
  592. package/dist/src/harness/inline-tool-authorization.d.ts +8 -9
  593. package/dist/src/harness/inline-tool-authorization.js +1 -1
  594. package/dist/src/harness/interaction-facts.d.ts +36 -0
  595. package/dist/src/harness/interaction-facts.js +1 -0
  596. package/dist/src/harness/interaction-relay.d.ts +10 -0
  597. package/dist/src/harness/interaction-relay.js +1 -0
  598. package/dist/src/harness/interrupted-attempt.d.ts +19 -0
  599. package/dist/src/harness/interrupted-attempt.js +2 -0
  600. package/dist/src/harness/messages.d.ts +28 -15
  601. package/dist/src/harness/messages.js +1 -1
  602. package/dist/src/harness/model-call/call.d.ts +28 -12
  603. package/dist/src/harness/model-call/call.js +1 -1
  604. package/dist/src/harness/model-call/errors.js +1 -1
  605. package/dist/src/harness/model-call/failure.d.ts +4 -49
  606. package/dist/src/harness/model-call/failure.js +1 -1
  607. package/dist/src/harness/model-call/model.js +1 -1
  608. package/dist/src/harness/model-call/recovery.d.ts +4 -32
  609. package/dist/src/harness/model-call/recovery.js +1 -1
  610. package/dist/src/harness/model-call/request.d.ts +0 -1
  611. package/dist/src/harness/model-call/request.js +1 -1
  612. package/dist/src/harness/model-call/response.d.ts +22 -12
  613. package/dist/src/harness/model-call/response.js +1 -1
  614. package/dist/src/harness/model-call/retry.d.ts +23 -6
  615. package/dist/src/harness/model-call/retry.js +1 -1
  616. package/dist/src/harness/model-call/run.d.ts +4 -12
  617. package/dist/src/harness/model-call/run.js +1 -1
  618. package/dist/src/harness/model-call/tools.d.ts +0 -19
  619. package/dist/src/harness/model-call/tools.js +1 -1
  620. package/dist/src/harness/model-call/unique-call-ids.d.ts +13 -0
  621. package/dist/src/harness/model-call/unique-call-ids.js +1 -0
  622. package/dist/src/harness/model-call/usage.d.ts +7 -5
  623. package/dist/src/harness/model-call/usage.js +1 -1
  624. package/dist/src/harness/ordered-stream-emitter.d.ts +1 -0
  625. package/dist/src/harness/ordered-stream-emitter.js +1 -1
  626. package/dist/src/harness/provider-tool-history.js +1 -1
  627. package/dist/src/harness/publication.d.ts +4 -0
  628. package/dist/src/harness/publication.js +1 -0
  629. package/dist/src/harness/request-envelope.d.ts +0 -3
  630. package/dist/src/harness/request-envelope.js +1 -1
  631. package/dist/src/harness/running-work.d.ts +10 -0
  632. package/dist/src/harness/running-work.js +1 -0
  633. package/dist/src/harness/semantic-errors/rules/gateway.js +1 -1
  634. package/dist/src/harness/session-machine/cascade.d.ts +17 -0
  635. package/dist/src/harness/session-machine/cascade.js +1 -0
  636. package/dist/src/harness/session-machine/commit.d.ts +16 -16
  637. package/dist/src/harness/session-machine/commit.js +1 -1
  638. package/dist/src/harness/session-machine/current.d.ts +25 -17
  639. package/dist/src/harness/session-machine/current.js +1 -1
  640. package/dist/src/harness/session-machine/state.d.ts +43 -16
  641. package/dist/src/harness/session-machine/state.js +1 -1
  642. package/dist/src/harness/session-machine/suspended-steps.d.ts +22 -0
  643. package/dist/src/harness/session-machine/suspended-steps.js +1 -0
  644. package/dist/src/harness/session-machine/transitions.d.ts +144 -120
  645. package/dist/src/harness/session-machine/transitions.js +1 -1
  646. package/dist/src/harness/session-machine/view.d.ts +12 -8
  647. package/dist/src/harness/session-machine/view.js +1 -1
  648. package/dist/src/harness/session-machine/waiting.d.ts +16 -0
  649. package/dist/src/harness/session-machine/waiting.js +1 -0
  650. package/dist/src/harness/session-usage.d.ts +22 -0
  651. package/dist/src/harness/session-usage.js +1 -0
  652. package/dist/src/harness/step/after-model.d.ts +1 -4
  653. package/dist/src/harness/step/after-model.js +1 -1
  654. package/dist/src/harness/step/context.d.ts +21 -21
  655. package/dist/src/harness/step/context.js +1 -1
  656. package/dist/src/harness/step/intake.d.ts +7 -8
  657. package/dist/src/harness/step/intake.js +1 -1
  658. package/dist/src/harness/step/park.d.ts +19 -0
  659. package/dist/src/harness/step/park.js +1 -0
  660. package/dist/src/harness/step/prompt.d.ts +4 -5
  661. package/dist/src/harness/step/prompt.js +1 -1
  662. package/dist/src/harness/step-hooks.d.ts +24 -24
  663. package/dist/src/harness/step-hooks.js +1 -1
  664. package/dist/src/harness/stream-actions.d.ts +3 -9
  665. package/dist/src/harness/stream-actions.js +1 -1
  666. package/dist/src/harness/token-estimate.js +1 -1
  667. package/dist/src/harness/tool-history-repair.js +1 -1
  668. package/dist/src/harness/tool-loop.js +1 -1
  669. package/dist/src/harness/tools.d.ts +22 -38
  670. package/dist/src/harness/tools.js +1 -1
  671. package/dist/src/harness/types.d.ts +69 -67
  672. package/dist/src/harness/user-parts.d.ts +4 -0
  673. package/dist/src/harness/user-parts.js +1 -0
  674. package/dist/src/harness/workflow-tool-runs.d.ts +0 -1
  675. package/dist/src/harness/workflow-tool-runs.js +1 -1
  676. package/dist/src/instrumentation/ai-sdk-hook-bridge.d.ts +2 -2
  677. package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
  678. package/dist/src/instrumentation/channel-delivery.d.ts +4 -23
  679. package/dist/src/instrumentation/channel-delivery.js +1 -1
  680. package/dist/src/instrumentation/content.d.ts +1 -7
  681. package/dist/src/instrumentation/content.js +1 -1
  682. package/dist/src/instrumentation/dispatch.js +1 -1
  683. package/dist/src/instrumentation/lifecycle.d.ts +135 -198
  684. package/dist/src/instrumentation/lifecycle.js +1 -1
  685. package/dist/src/instrumentation/memory.d.ts +4 -2
  686. package/dist/src/instrumentation/memory.js +1 -1
  687. package/dist/src/instrumentation/native-events.d.ts +17 -10
  688. package/dist/src/instrumentation/native-events.js +1 -1
  689. package/dist/src/instrumentation/prepare-trace-context.d.ts +3 -3
  690. package/dist/src/instrumentation/provider.d.ts +20 -28
  691. package/dist/src/instrumentation/providers.js +1 -1
  692. package/dist/src/instrumentation/runtime-context.d.ts +1 -0
  693. package/dist/src/instrumentation/runtime-context.js +1 -1
  694. package/dist/src/instrumentation/runtime.d.ts +9 -30
  695. package/dist/src/instrumentation/runtime.js +1 -1
  696. package/dist/src/instrumentation/scope.d.ts +6 -0
  697. package/dist/src/instrumentation/scope.js +1 -0
  698. package/dist/src/instrumentation/session-context.d.ts +1 -1
  699. package/dist/src/instrumentation/session-context.js +1 -1
  700. package/dist/src/instrumentation/session-init.js +1 -1
  701. package/dist/src/instrumentation/setup-context.d.ts +2 -2
  702. package/dist/src/instrumentation/setup-context.js +1 -1
  703. package/dist/src/instrumentation/state.d.ts +0 -21
  704. package/dist/src/instrumentation/state.js +1 -1
  705. package/dist/src/internal/application/compiled-artifacts.d.ts +2 -0
  706. package/dist/src/internal/application/compiled-artifacts.js +2 -2
  707. package/dist/src/internal/application/dev-environment.d.ts +8 -2
  708. package/dist/src/internal/application/dev-environment.js +1 -1
  709. package/dist/src/internal/application/optional-package-install.js +1 -1
  710. package/dist/src/internal/application/stamped-package-version.js +1 -1
  711. package/dist/src/internal/authored-definition/approval.d.ts +2 -4
  712. package/dist/src/internal/authored-definition/approval.js +1 -1
  713. package/dist/src/internal/authored-definition/connection.js +1 -1
  714. package/dist/src/internal/authored-definition/core.d.ts +1 -1
  715. package/dist/src/internal/authored-definition/core.js +1 -1
  716. package/dist/src/internal/authored-definition/memory.js +1 -1
  717. package/dist/src/internal/authored-definition/schema-backed.d.ts +0 -3
  718. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  719. package/dist/src/internal/authored-module-loader.d.ts +0 -1
  720. package/dist/src/internal/authored-module-loader.js +1 -1
  721. package/dist/src/internal/authored-package-boundary.js +1 -1
  722. package/dist/src/internal/git.d.ts +2 -0
  723. package/dist/src/internal/git.js +1 -0
  724. package/dist/src/internal/grep.d.ts +1 -0
  725. package/dist/src/internal/grep.js +1 -0
  726. package/dist/src/internal/helpers/markdown.js +1 -1
  727. package/dist/src/internal/invocation/agent-invocation.d.ts +16 -19
  728. package/dist/src/internal/invocation/metadata.d.ts +0 -2
  729. package/dist/src/internal/invocation/metadata.js +1 -1
  730. package/dist/src/internal/invocation/workflow-execution.d.ts +4 -4
  731. package/dist/src/internal/invocation/workflow-execution.js +1 -1
  732. package/dist/src/internal/legacy-events.d.ts +5 -0
  733. package/dist/src/internal/legacy-events.js +1 -0
  734. package/dist/src/internal/logging.d.ts +0 -12
  735. package/dist/src/internal/logging.js +1 -1
  736. package/dist/src/internal/mcp/protected-resource.js +1 -1
  737. package/dist/src/internal/mcp/published-tools.js +1 -1
  738. package/dist/src/internal/model-auth/api-key.js +1 -1
  739. package/dist/src/internal/model-auth/development-broker-client.js +1 -1
  740. package/dist/src/internal/model-auth/development-broker-server.js +1 -1
  741. package/dist/src/internal/model-auth/transport.js +1 -1
  742. package/dist/src/internal/model-catalog.d.ts +39 -16
  743. package/dist/src/internal/model-catalog.js +1 -1
  744. package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
  745. package/dist/src/internal/nitro/dev-runtime-generation-metadata.js +1 -1
  746. package/dist/src/internal/nitro/host/build-extension.js +2 -2
  747. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  748. package/dist/src/internal/nitro/host/dev-build-host.js +1 -1
  749. package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
  750. package/dist/src/internal/nitro/host/dev-server-state.js +1 -1
  751. package/dist/src/internal/nitro/host/drained-nitro-dev-server.js +1 -1
  752. package/dist/src/internal/nitro/host/start-development-server.js +1 -1
  753. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  754. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
  755. package/dist/src/internal/nitro/routes/channel-route-context.d.ts +8 -1
  756. package/dist/src/internal/nitro/routes/info.js +1 -1
  757. package/dist/src/internal/nitro/routes/schedule-task.js +1 -1
  758. package/dist/src/internal/scaffold.d.ts +5 -0
  759. package/dist/src/internal/scaffold.js +1 -0
  760. package/dist/src/internal/workflow/cancel-expired-development-run.js +1 -1
  761. package/dist/src/internal/workflow/development-world-client.js +1 -1
  762. package/dist/src/internal/workflow/development-world-server.js +1 -1
  763. package/dist/src/internal/workflow/local-world-data-directory.js +1 -1
  764. package/dist/src/internal/workspace.d.ts +1 -0
  765. package/dist/src/internal/workspace.js +1 -0
  766. package/dist/src/models/auto.d.ts +27 -14
  767. package/dist/src/models/auto.js +2 -2
  768. package/dist/src/protocol/delivery.d.ts +12 -0
  769. package/dist/src/protocol/delivery.js +1 -0
  770. package/dist/src/protocol/descendant-observation.d.ts +12 -0
  771. package/dist/src/protocol/descendant-observation.js +1 -0
  772. package/dist/src/protocol/interaction-json.d.ts +66 -0
  773. package/dist/src/protocol/interaction-json.js +1 -0
  774. package/dist/src/protocol/interaction-options.d.ts +4 -0
  775. package/dist/src/protocol/interaction-options.js +1 -0
  776. package/dist/src/protocol/remote-agent-protocol.d.ts +28 -1
  777. package/dist/src/protocol/remote-agent-protocol.js +1 -1
  778. package/dist/src/protocol/routes.d.ts +3 -2
  779. package/dist/src/protocol/routes.js +1 -1
  780. package/dist/src/protocol/session-event.d.ts +22 -0
  781. package/dist/src/protocol/session-event.js +1 -0
  782. package/dist/src/protocol/session-events/authoring.d.ts +2 -0
  783. package/dist/src/protocol/session-events/authoring.js +1 -0
  784. package/dist/src/protocol/session-events/catalog.d.ts +50 -0
  785. package/dist/src/protocol/session-events/catalog.js +1 -0
  786. package/dist/src/protocol/session-events/checker.d.ts +23 -0
  787. package/dist/src/protocol/session-events/checker.js +1 -0
  788. package/dist/src/protocol/session-events/common.d.ts +105 -0
  789. package/dist/src/protocol/session-events/common.js +1 -0
  790. package/dist/src/protocol/session-events/envelope.d.ts +174 -0
  791. package/dist/src/protocol/session-events/envelope.js +1 -0
  792. package/dist/src/protocol/session-events/facts.d.ts +24 -0
  793. package/dist/src/protocol/session-events/facts.js +1 -0
  794. package/dist/src/protocol/session-events/families/call.d.ts +142 -0
  795. package/dist/src/protocol/session-events/families/call.js +1 -0
  796. package/dist/src/protocol/session-events/families/child.d.ts +51 -0
  797. package/dist/src/protocol/session-events/families/child.js +1 -0
  798. package/dist/src/protocol/session-events/families/content.d.ts +56 -0
  799. package/dist/src/protocol/session-events/families/content.js +1 -0
  800. package/dist/src/protocol/session-events/families/context.d.ts +55 -0
  801. package/dist/src/protocol/session-events/families/context.js +1 -0
  802. package/dist/src/protocol/session-events/families/delivery.d.ts +86 -0
  803. package/dist/src/protocol/session-events/families/delivery.js +1 -0
  804. package/dist/src/protocol/session-events/families/interaction.d.ts +163 -0
  805. package/dist/src/protocol/session-events/families/interaction.js +1 -0
  806. package/dist/src/protocol/session-events/families/model.d.ts +88 -0
  807. package/dist/src/protocol/session-events/families/model.js +1 -0
  808. package/dist/src/protocol/session-events/families/response.d.ts +66 -0
  809. package/dist/src/protocol/session-events/families/response.js +1 -0
  810. package/dist/src/protocol/session-events/families/session.d.ts +73 -0
  811. package/dist/src/protocol/session-events/families/session.js +1 -0
  812. package/dist/src/protocol/session-events/families/task.d.ts +46 -0
  813. package/dist/src/protocol/session-events/families/task.js +1 -0
  814. package/dist/src/protocol/session-events/families/turn.d.ts +68 -0
  815. package/dist/src/protocol/session-events/families/turn.js +1 -0
  816. package/dist/src/protocol/session-events/families/usage.d.ts +30 -0
  817. package/dist/src/protocol/session-events/families/usage.js +1 -0
  818. package/dist/src/protocol/session-events/guards.d.ts +11 -0
  819. package/dist/src/protocol/session-events/guards.js +1 -0
  820. package/dist/src/protocol/session-events/index.d.ts +16 -0
  821. package/dist/src/protocol/session-events/index.js +1 -0
  822. package/dist/src/protocol/session-events/json.d.ts +20 -0
  823. package/dist/src/protocol/session-events/json.js +1 -0
  824. package/dist/src/protocol/session-events/schemas.d.ts +320 -0
  825. package/dist/src/protocol/session-events/schemas.js +1 -0
  826. package/dist/src/protocol/session-http.d.ts +7 -0
  827. package/dist/src/protocol/session-http.js +1 -0
  828. package/dist/src/protocol/session-lines.d.ts +19 -0
  829. package/dist/src/protocol/session-lines.js +1 -0
  830. package/dist/src/protocol/session-projection/fold.d.ts +75 -0
  831. package/dist/src/protocol/session-projection/fold.js +1 -0
  832. package/dist/src/protocol/session-projection/index.d.ts +4 -0
  833. package/dist/src/protocol/session-projection/index.js +1 -0
  834. package/dist/src/protocol/session-projection/observations.d.ts +150 -0
  835. package/dist/src/protocol/session-projection/observations.js +1 -0
  836. package/dist/src/protocol/session-projection/public-view.d.ts +74 -0
  837. package/dist/src/protocol/session-projection/public-view.js +1 -0
  838. package/dist/src/protocol/session-projection/reader.d.ts +62 -0
  839. package/dist/src/protocol/session-projection/reader.js +1 -0
  840. package/dist/src/protocol/session-projection/request-status.d.ts +7 -0
  841. package/dist/src/protocol/session-projection/request-status.js +1 -0
  842. package/dist/src/protocol/session-projection/selectors.d.ts +169 -0
  843. package/dist/src/protocol/session-projection/selectors.js +2 -0
  844. package/dist/src/protocol/session-projection/session-view.d.ts +18 -0
  845. package/dist/src/protocol/session-projection/session-view.js +1 -0
  846. package/dist/src/protocol/session-projection/tables.d.ts +237 -0
  847. package/dist/src/protocol/session-projection/tables.js +1 -0
  848. package/dist/src/protocol/session-projection/tree.d.ts +72 -0
  849. package/dist/src/protocol/session-projection/tree.js +1 -0
  850. package/dist/src/protocol/session-projection.d.ts +38 -157
  851. package/dist/src/protocol/session-projection.js +1 -1
  852. package/dist/src/protocol/task-tools.d.ts +8 -6
  853. package/dist/src/protocol/task-tools.js +1 -1
  854. package/dist/src/protocol/v26-interactions.d.ts +11 -0
  855. package/dist/src/protocol/v26-interactions.js +1 -0
  856. package/dist/src/protocol/v26-lines.d.ts +5 -0
  857. package/dist/src/protocol/v26-lines.js +1 -0
  858. package/dist/src/public/agents/auth.d.ts +2 -2
  859. package/dist/src/public/agents/auth.js +1 -1
  860. package/dist/src/public/ai/index.d.ts +1 -0
  861. package/dist/src/public/channels/auth.d.ts +2 -532
  862. package/dist/src/public/channels/auth.js +1 -1
  863. package/dist/src/public/channels/chat-sdk/authorization.d.ts +5 -2
  864. package/dist/src/public/channels/chat-sdk/authorization.js +1 -3
  865. package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +10 -10
  866. package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +1 -3
  867. package/dist/src/public/channels/chat-sdk/index.d.ts +1 -1
  868. package/dist/src/public/channels/chat-sdk/index.js +1 -1
  869. package/dist/src/public/channels/chat-sdk/input-actions.d.ts +4 -4
  870. package/dist/src/public/channels/chat-sdk/input-actions.js +3 -3
  871. package/dist/src/public/channels/chat-sdk/{messageToUserContent.d.ts → message-content.d.ts} +3 -3
  872. package/dist/src/public/channels/chat-sdk/message-content.js +1 -0
  873. package/dist/src/public/channels/discord/api.d.ts +8 -11
  874. package/dist/src/public/channels/discord/api.js +1 -1
  875. package/dist/src/public/channels/discord/attachments.d.ts +2 -2
  876. package/dist/src/public/channels/discord/authorization.d.ts +3 -13
  877. package/dist/src/public/channels/discord/authorization.js +2 -2
  878. package/dist/src/public/channels/discord/credentials.d.ts +11 -0
  879. package/dist/src/public/channels/discord/credentials.js +1 -0
  880. package/dist/src/public/channels/discord/defaults.d.ts +7 -1
  881. package/dist/src/public/channels/discord/defaults.js +1 -3
  882. package/dist/src/public/channels/discord/discordChannel.d.ts +36 -48
  883. package/dist/src/public/channels/discord/discordChannel.js +1 -1
  884. package/dist/src/public/channels/discord/hitl.d.ts +5 -4
  885. package/dist/src/public/channels/discord/hitl.js +1 -1
  886. package/dist/src/public/channels/discord/index.d.ts +4 -12
  887. package/dist/src/public/channels/discord/index.js +1 -1
  888. package/dist/src/public/channels/discord/messages.js +1 -1
  889. package/dist/src/public/channels/github/defaults.js +2 -4
  890. package/dist/src/public/channels/github/githubChannel.d.ts +23 -36
  891. package/dist/src/public/channels/github/githubChannel.js +1 -1
  892. package/dist/src/public/channels/github/index.d.ts +3 -2
  893. package/dist/src/public/channels/github/index.js +1 -1
  894. package/dist/src/public/channels/github/state.d.ts +2 -0
  895. package/dist/src/public/channels/imessage-tapbacks.d.ts +1 -1
  896. package/dist/src/public/channels/index.d.ts +16 -37
  897. package/dist/src/public/channels/index.js +1 -1
  898. package/dist/src/public/channels/linear/defaults.js +2 -4
  899. package/dist/src/public/channels/linear/hitl.d.ts +3 -3
  900. package/dist/src/public/channels/linear/hitl.js +2 -2
  901. package/dist/src/public/channels/linear/inbound-uploads.d.ts +3 -3
  902. package/dist/src/public/channels/linear/inbound-uploads.js +1 -1
  903. package/dist/src/public/channels/linear/inbound.d.ts +5 -3
  904. package/dist/src/public/channels/linear/inbound.js +1 -1
  905. package/dist/src/public/channels/linear/index.d.ts +4 -6
  906. package/dist/src/public/channels/linear/index.js +1 -1
  907. package/dist/src/public/channels/linear/linearChannel.d.ts +19 -30
  908. package/dist/src/public/channels/linear/linearChannel.js +1 -1
  909. package/dist/src/public/channels/linq/inboundContent.d.ts +2 -2
  910. package/dist/src/public/channels/linq/inboundContent.js +1 -1
  911. package/dist/src/public/channels/linq/index.d.ts +1 -1
  912. package/dist/src/public/channels/linq/linqChannel.d.ts +1 -2
  913. package/dist/src/public/channels/mcp.d.ts +2 -2
  914. package/dist/src/public/channels/mcp.js +1 -1
  915. package/dist/src/public/channels/photon/inboundContent.d.ts +2 -2
  916. package/dist/src/public/channels/photon/inboundContent.js +1 -1
  917. package/dist/src/public/channels/photon/index.d.ts +1 -1
  918. package/dist/src/public/channels/photon/photonIMessageChannel.d.ts +1 -2
  919. package/dist/src/public/channels/reply.d.ts +22 -0
  920. package/dist/src/public/channels/reply.js +3 -0
  921. package/dist/src/public/channels/slack/action-status.js +1 -1
  922. package/dist/src/public/channels/slack/{input-response.d.ts → answers.d.ts} +5 -5
  923. package/dist/src/public/channels/slack/answers.js +1 -0
  924. package/dist/src/public/channels/slack/api.d.ts +5 -2
  925. package/dist/src/public/channels/slack/api.js +1 -1
  926. package/dist/src/public/channels/slack/approval-cards.d.ts +15 -5
  927. package/dist/src/public/channels/slack/approval-cards.js +2 -2
  928. package/dist/src/public/channels/slack/attachments.d.ts +6 -6
  929. package/dist/src/public/channels/slack/attachments.js +1 -1
  930. package/dist/src/public/channels/slack/blocks.d.ts +1 -1
  931. package/dist/src/public/channels/slack/blocks.js +1 -1
  932. package/dist/src/public/channels/slack/cards.d.ts +576 -0
  933. package/dist/src/public/channels/slack/cards.js +1 -0
  934. package/dist/src/public/channels/slack/connections.d.ts +4 -22
  935. package/dist/src/public/channels/slack/connections.js +1 -1
  936. package/dist/src/public/channels/slack/defaults.d.ts +13 -2
  937. package/dist/src/public/channels/slack/defaults.js +5 -5
  938. package/dist/src/public/channels/slack/hitl.d.ts +20 -19
  939. package/dist/src/public/channels/slack/hitl.js +3 -3
  940. package/dist/src/public/channels/slack/index.d.ts +7 -16
  941. package/dist/src/public/channels/slack/index.js +1 -1
  942. package/dist/src/public/channels/slack/interaction-cards.js +1 -1
  943. package/dist/src/public/channels/slack/interactions.d.ts +2 -2
  944. package/dist/src/public/channels/slack/interactions.js +1 -1
  945. package/dist/src/public/channels/slack/limits.js +1 -1
  946. package/dist/src/public/channels/slack/private-approval-delivery.d.ts +3 -3
  947. package/dist/src/public/channels/slack/private-approval-delivery.js +1 -1
  948. package/dist/src/public/channels/slack/renderers.d.ts +21 -27
  949. package/dist/src/public/channels/slack/renderers.js +1 -1
  950. package/dist/src/public/channels/slack/reply-delivery.d.ts +4 -4
  951. package/dist/src/public/channels/slack/reply-delivery.js +1 -1
  952. package/dist/src/public/channels/slack/session-operations.d.ts +4 -4
  953. package/dist/src/public/channels/slack/sign-in-cancel.js +1 -1
  954. package/dist/src/public/channels/slack/slackChannel.d.ts +30 -37
  955. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  956. package/dist/src/public/channels/slack/task-card.d.ts +9 -9
  957. package/dist/src/public/channels/slack/task-card.js +1 -1
  958. package/dist/src/public/channels/teams/api.d.ts +3 -7
  959. package/dist/src/public/channels/teams/attachments.d.ts +4 -4
  960. package/dist/src/public/channels/teams/authorization.d.ts +5 -9
  961. package/dist/src/public/channels/teams/authorization.js +1 -1
  962. package/dist/src/public/channels/teams/credentials.d.ts +13 -0
  963. package/dist/src/public/channels/teams/credentials.js +1 -0
  964. package/dist/src/public/channels/teams/defaults.d.ts +2 -6
  965. package/dist/src/public/channels/teams/defaults.js +1 -3
  966. package/dist/src/public/channels/teams/hitl.d.ts +8 -7
  967. package/dist/src/public/channels/teams/hitl.js +1 -1
  968. package/dist/src/public/channels/teams/index.d.ts +6 -8
  969. package/dist/src/public/channels/teams/index.js +1 -1
  970. package/dist/src/public/channels/teams/teamsChannel.d.ts +25 -44
  971. package/dist/src/public/channels/teams/teamsChannel.js +1 -1
  972. package/dist/src/public/channels/telegram/api.d.ts +3 -4
  973. package/dist/src/public/channels/telegram/attachments.d.ts +5 -5
  974. package/dist/src/public/channels/telegram/authorization-callback.js +1 -1
  975. package/dist/src/public/channels/telegram/authorization.d.ts +4 -8
  976. package/dist/src/public/channels/telegram/authorization.js +2 -2
  977. package/dist/src/public/channels/telegram/credentials.d.ts +9 -0
  978. package/dist/src/public/channels/telegram/credentials.js +1 -0
  979. package/dist/src/public/channels/telegram/defaults.js +1 -3
  980. package/dist/src/public/channels/telegram/hitl.d.ts +22 -20
  981. package/dist/src/public/channels/telegram/hitl.js +2 -2
  982. package/dist/src/public/channels/telegram/index.d.ts +5 -7
  983. package/dist/src/public/channels/telegram/index.js +1 -1
  984. package/dist/src/public/channels/telegram/telegramChannel.d.ts +23 -36
  985. package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
  986. package/dist/src/public/channels/text.d.ts +4 -0
  987. package/dist/src/public/channels/text.js +1 -0
  988. package/dist/src/public/channels/twilio/api.d.ts +8 -8
  989. package/dist/src/public/channels/twilio/api.js +1 -1
  990. package/dist/src/public/channels/twilio/credentials.d.ts +7 -0
  991. package/dist/src/public/channels/twilio/credentials.js +1 -0
  992. package/dist/src/public/channels/twilio/defaults.d.ts +0 -1
  993. package/dist/src/public/channels/twilio/defaults.js +1 -5
  994. package/dist/src/public/channels/twilio/inbound.d.ts +2 -2
  995. package/dist/src/public/channels/twilio/index.d.ts +4 -4
  996. package/dist/src/public/channels/twilio/index.js +1 -1
  997. package/dist/src/public/channels/twilio/twilioChannel.d.ts +24 -37
  998. package/dist/src/public/channels/twilio/twilioChannel.js +1 -1
  999. package/dist/src/public/channels/twilio/verify.d.ts +6 -4
  1000. package/dist/src/public/channels/undelivered-reply.d.ts +2 -2
  1001. package/dist/src/public/channels/upload-policy.d.ts +7 -7
  1002. package/dist/src/public/connections/index.d.ts +3 -5
  1003. package/dist/src/public/context/index.d.ts +3 -2
  1004. package/dist/src/public/definitions/agent.d.ts +18 -18
  1005. package/dist/src/public/definitions/agent.js +1 -1
  1006. package/dist/src/public/definitions/approval.d.ts +1 -1
  1007. package/dist/src/public/definitions/channel.d.ts +57 -60
  1008. package/dist/src/public/definitions/channel.js +1 -1
  1009. package/dist/src/public/definitions/connections/dynamic.d.ts +3 -15
  1010. package/dist/src/public/definitions/connections/dynamic.js +1 -1
  1011. package/dist/src/public/definitions/connections/events.d.ts +9 -9
  1012. package/dist/src/public/definitions/connections/mcp.d.ts +5 -3
  1013. package/dist/src/public/definitions/connections/openapi.d.ts +1 -1
  1014. package/dist/src/public/definitions/extension.d.ts +2 -4
  1015. package/dist/src/public/definitions/extension.js +1 -1
  1016. package/dist/src/public/definitions/hook.d.ts +63 -85
  1017. package/dist/src/public/definitions/hook.js +1 -1
  1018. package/dist/src/public/definitions/instructions.d.ts +3 -10
  1019. package/dist/src/public/definitions/instructions.js +1 -1
  1020. package/dist/src/public/definitions/model.d.ts +21 -0
  1021. package/dist/src/public/definitions/model.js +1 -0
  1022. package/dist/src/public/definitions/removed-event-keys.d.ts +2 -0
  1023. package/dist/src/public/definitions/removed-event-keys.js +1 -0
  1024. package/dist/src/public/definitions/sandbox.d.ts +1 -1
  1025. package/dist/src/public/definitions/schedule.d.ts +4 -4
  1026. package/dist/src/public/definitions/skill.d.ts +5 -0
  1027. package/dist/src/public/definitions/skill.js +1 -1
  1028. package/dist/src/public/events/index.d.ts +27 -0
  1029. package/dist/src/public/events/index.js +1 -0
  1030. package/dist/src/public/experimental/connections/index.d.ts +1 -0
  1031. package/dist/src/public/experimental/connections/index.js +1 -0
  1032. package/dist/src/public/experimental/schedules/client.js +1 -1
  1033. package/dist/src/public/hooks/index.d.ts +4 -3
  1034. package/dist/src/public/index.d.ts +3 -2
  1035. package/dist/src/public/instructions/index.d.ts +2 -2
  1036. package/dist/src/public/instrumentation/index.d.ts +9 -28
  1037. package/dist/src/public/instrumentation/index.js +1 -1
  1038. package/dist/src/public/instrumentation/otel.d.ts +1 -1
  1039. package/dist/src/public/instrumentation/otel.js +1 -1
  1040. package/dist/src/public/instrumentation/provider.d.ts +1 -1
  1041. package/dist/src/public/instrumentation/provider.js +1 -1
  1042. package/dist/src/public/local-dev.d.ts +3 -1
  1043. package/dist/src/public/memory/file/backend.d.ts +1 -1
  1044. package/dist/src/public/memory/file/backends/in-memory.js +1 -1
  1045. package/dist/src/public/memory/file/backends/vercel-blob.js +1 -1
  1046. package/dist/src/public/memory/file/provider.js +1 -1
  1047. package/dist/src/public/memory/index.d.ts +14 -20
  1048. package/dist/src/public/models/index.d.ts +3 -0
  1049. package/dist/src/public/models/index.js +1 -1
  1050. package/dist/src/public/models/openai/index.d.ts +0 -2
  1051. package/dist/src/public/models/openai/index.js +1 -1
  1052. package/dist/src/public/next/index.d.ts +5 -36
  1053. package/dist/src/public/next/index.js +1 -1
  1054. package/dist/src/public/nuxt/index.d.ts +1 -1
  1055. package/dist/src/public/nuxt/module.d.ts +5 -2
  1056. package/dist/src/public/nuxt/module.js +1 -1
  1057. package/dist/src/public/sandbox/index.d.ts +1 -1
  1058. package/dist/src/public/sandbox/vercel-sandbox.d.ts +52 -12
  1059. package/dist/src/public/sandbox/vercel.d.ts +1 -1
  1060. package/dist/src/public/schedules/subscription.d.ts +5 -8
  1061. package/dist/src/public/server/index.d.ts +2 -14
  1062. package/dist/src/public/server/index.js +1 -1
  1063. package/dist/src/public/sessions/index.d.ts +6 -0
  1064. package/dist/src/public/sessions/index.js +1 -0
  1065. package/dist/src/public/skills/index.d.ts +2 -2
  1066. package/dist/src/public/skills/index.js +1 -1
  1067. package/dist/src/public/sveltekit/routing.d.ts +0 -4
  1068. package/dist/src/public/sveltekit/routing.js +1 -1
  1069. package/dist/src/public/tools/approval/index.d.ts +1 -1
  1070. package/dist/src/public/tools/bash.d.ts +1 -1
  1071. package/dist/src/public/tools/bash.js +1 -1
  1072. package/dist/src/public/tools/glob.d.ts +1 -1
  1073. package/dist/src/public/tools/glob.js +1 -1
  1074. package/dist/src/public/tools/grep.d.ts +1 -1
  1075. package/dist/src/public/tools/grep.js +1 -1
  1076. package/dist/src/public/tools/index.d.ts +5 -9
  1077. package/dist/src/public/tools/index.js +1 -1
  1078. package/dist/src/public/tools/read-file.d.ts +1 -1
  1079. package/dist/src/public/tools/read-file.js +1 -1
  1080. package/dist/src/public/tools/result.d.ts +17 -9
  1081. package/dist/src/public/tools/result.js +1 -1
  1082. package/dist/src/public/tools/web-fetch.d.ts +1 -1
  1083. package/dist/src/public/tools/web-fetch.js +1 -1
  1084. package/dist/src/public/tools/web-search.d.ts +1 -3
  1085. package/dist/src/public/tools/web-search.js +1 -1
  1086. package/dist/src/public/tools/write-file.d.ts +1 -1
  1087. package/dist/src/public/tools/write-file.js +1 -1
  1088. package/dist/src/public/workflow-modules.d.ts +8 -2
  1089. package/dist/src/react/index.d.ts +4 -7
  1090. package/dist/src/react/index.js +1 -1
  1091. package/dist/src/react/use-eve-agent.d.ts +68 -50
  1092. package/dist/src/react/use-eve-agent.js +1 -1
  1093. package/dist/src/reactions/bundle.d.ts +4 -0
  1094. package/dist/src/reactions/bundle.js +1 -0
  1095. package/dist/src/reactions/frame.d.ts +13 -0
  1096. package/dist/src/reactions/frame.js +1 -0
  1097. package/dist/src/reactions/intents.d.ts +22 -0
  1098. package/dist/src/reactions/intents.js +1 -0
  1099. package/dist/src/reactions/kinds/connection.d.ts +18 -0
  1100. package/dist/src/reactions/kinds/connection.js +1 -0
  1101. package/dist/src/reactions/kinds/hook.d.ts +8 -0
  1102. package/dist/src/reactions/kinds/hook.js +1 -0
  1103. package/dist/src/reactions/kinds/instructions.d.ts +21 -0
  1104. package/dist/src/reactions/kinds/instructions.js +1 -0
  1105. package/dist/src/reactions/kinds/memory.d.ts +72 -0
  1106. package/dist/src/reactions/kinds/memory.js +1 -0
  1107. package/dist/src/reactions/kinds/model.d.ts +21 -0
  1108. package/dist/src/reactions/kinds/model.js +1 -0
  1109. package/dist/src/reactions/kinds/skill.d.ts +27 -0
  1110. package/dist/src/reactions/kinds/skill.js +1 -0
  1111. package/dist/src/reactions/kinds/subagent.d.ts +16 -0
  1112. package/dist/src/reactions/kinds/subagent.js +1 -0
  1113. package/dist/src/reactions/kinds/tool.d.ts +16 -0
  1114. package/dist/src/reactions/kinds/tool.js +1 -0
  1115. package/dist/src/reactions/policy.d.ts +13 -0
  1116. package/dist/src/reactions/policy.js +1 -0
  1117. package/dist/src/reactions/reaction.d.ts +83 -0
  1118. package/dist/src/reactions/reaction.js +1 -0
  1119. package/dist/src/reactions/records.d.ts +40 -0
  1120. package/dist/src/reactions/records.js +1 -0
  1121. package/dist/src/reactions/remote.d.ts +25 -0
  1122. package/dist/src/reactions/remote.js +1 -0
  1123. package/dist/src/reactions/runner.d.ts +45 -0
  1124. package/dist/src/reactions/runner.js +1 -0
  1125. package/dist/src/reactions/state.d.ts +102 -0
  1126. package/dist/src/reactions/state.js +1 -0
  1127. package/dist/src/reactions/turn.d.ts +12 -0
  1128. package/dist/src/reactions/turn.js +2 -0
  1129. package/dist/src/runtime/agent/bootstrap.d.ts +1 -3
  1130. package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
  1131. package/dist/src/runtime/agent/resolve-model.d.ts +3 -4
  1132. package/dist/src/runtime/agent/resolve-model.js +1 -1
  1133. package/dist/src/runtime/connections/principal.d.ts +2 -0
  1134. package/dist/src/runtime/connections/principal.js +1 -1
  1135. package/dist/src/runtime/connections/registry.d.ts +2 -2
  1136. package/dist/src/runtime/connections/registry.js +1 -1
  1137. package/dist/src/runtime/connections/scoped-authorization.d.ts +8 -1
  1138. package/dist/src/runtime/connections/scoped-authorization.js +1 -1
  1139. package/dist/src/runtime/graph.d.ts +0 -6
  1140. package/dist/src/runtime/loaders/artifact-paths.d.ts +1 -0
  1141. package/dist/src/runtime/loaders/artifact-paths.js +1 -1
  1142. package/dist/src/runtime/loaders/bundled-artifacts.d.ts +2 -0
  1143. package/dist/src/runtime/loaders/bundled-artifacts.js +1 -1
  1144. package/dist/src/runtime/loaders/model-metadata.d.ts +4 -0
  1145. package/dist/src/runtime/loaders/model-metadata.js +1 -0
  1146. package/dist/src/runtime/local-dev-capability.d.ts +2 -3
  1147. package/dist/src/runtime/local-dev-capability.js +1 -1
  1148. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  1149. package/dist/src/runtime/resolve-agent.js +1 -1
  1150. package/dist/src/runtime/resolve-connection.js +1 -1
  1151. package/dist/src/runtime/resolve-dynamic.d.ts +9 -0
  1152. package/dist/src/runtime/resolve-dynamic.js +1 -0
  1153. package/dist/src/runtime/resolve-hook.js +1 -1
  1154. package/dist/src/runtime/resolve-memory.js +1 -1
  1155. package/dist/src/runtime/resolve-tool.js +1 -1
  1156. package/dist/src/runtime/schedules/collection-client.js +1 -1
  1157. package/dist/src/runtime/schedules/dispatch-occurrence.js +1 -1
  1158. package/dist/src/runtime/sessions/compiled-agent-cache.d.ts +3 -2
  1159. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
  1160. package/dist/src/runtime/subagents/dynamic-agent-config.d.ts +2 -2
  1161. package/dist/src/runtime/subagents/dynamic-agent-config.js +1 -1
  1162. package/dist/src/runtime/subagents/dynamic-remote-agent-config.d.ts +16 -3
  1163. package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
  1164. package/dist/src/runtime/subagents/workflow.js +1 -1
  1165. package/dist/src/runtime/types.d.ts +22 -39
  1166. package/dist/src/sandbox/provider.d.ts +5 -3
  1167. package/dist/src/sandbox/providers/default.d.ts +4 -2
  1168. package/dist/src/sandbox/providers/default.js +1 -1
  1169. package/dist/src/self-modification/agent.d.ts +3 -3
  1170. package/dist/src/self-modification/agent.js +1 -1
  1171. package/dist/src/self-modification/config.d.ts +1 -1
  1172. package/dist/src/self-modification/config.js +1 -1
  1173. package/dist/src/self-modification/deployed-sandbox.js +1 -1
  1174. package/dist/src/self-modification/extension/extension.d.ts +1 -0
  1175. package/dist/src/self-modification/extension/local-only.d.ts +1 -1
  1176. package/dist/src/self-modification/extension/local-only.js +1 -1
  1177. package/dist/src/self-modification/extension/subagents/agent/agent.d.ts +15 -4
  1178. package/dist/src/self-modification/extension/subagents/agent/agent.js +1 -1
  1179. package/dist/src/self-modification/extension/subagents/agent/instructions.d.ts +1 -1
  1180. package/dist/src/self-modification/extension/subagents/agent/instructions.js +2 -2
  1181. package/dist/src/self-modification/extension/subagents/agent/sandbox.d.ts +2 -2
  1182. package/dist/src/self-modification/extension/subagents/agent/sandbox.js +1 -1
  1183. package/dist/src/self-modification/extension/subagents/agent/skills/trace_analysis.d.ts +3 -3
  1184. package/dist/src/self-modification/extension/subagents/agent/skills/trace_analysis.js +1 -1
  1185. package/dist/src/self-modification/extension/subagents/agent/tools/inspect_trace.d.ts +1 -1
  1186. package/dist/src/self-modification/extension/subagents/agent/tools/inspect_trace_spans.d.ts +1 -1
  1187. package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.d.ts +1 -1
  1188. package/dist/src/self-modification/extension/subagents/agent/tools/search_traces.d.ts +1 -1
  1189. package/dist/src/self-modification/mode.d.ts +8 -0
  1190. package/dist/src/self-modification/mode.js +1 -1
  1191. package/dist/src/self-modification/remote/config.d.ts +3 -6
  1192. package/dist/src/self-modification/remote/extension.d.ts +1 -0
  1193. package/dist/src/self-modification/remote/production-registry-add.js +1 -1
  1194. package/dist/src/self-modification/remote/subagents/agent/agent.d.ts +6 -3
  1195. package/dist/src/self-modification/remote/subagents/agent/agent.js +1 -1
  1196. package/dist/src/self-modification/remote/subagents/agent/instructions.d.ts +1 -1
  1197. package/dist/src/self-modification/remote/subagents/agent/instructions.js +2 -2
  1198. package/dist/src/self-modification/remote/subagents/agent/tools/publish.d.ts +1 -3
  1199. package/dist/src/self-modification/remote/subagents/agent/tools/publish.js +1 -1
  1200. package/dist/src/self-modification/remote/subagents/agent/tools/registry_add.d.ts +1 -3
  1201. package/dist/src/self-modification/remote/subagents/agent/tools/registry_add.js +1 -1
  1202. package/dist/src/self-modification/scaffold.js +1 -1
  1203. package/dist/src/self-modification/setup.js +3 -6
  1204. package/dist/src/services/dev-client/client-options.js +1 -1
  1205. package/dist/src/services/dev-client.d.ts +4 -4
  1206. package/dist/src/services/dev-client.js +1 -1
  1207. package/dist/src/setup/flows/model-source-change.js +1 -1
  1208. package/dist/src/setup/integrations/self-modification/setup.d.ts +1 -4
  1209. package/dist/src/setup/integrations/self-modification/setup.js +1 -1
  1210. package/dist/src/setup/scaffold/create/project.js +1 -1
  1211. package/dist/src/setup/scaffold/create/web-template.d.ts +9 -18
  1212. package/dist/src/setup/scaffold/create/web-template.js +1015 -2537
  1213. package/dist/src/setup/verified-remote-agent.js +1 -1
  1214. package/dist/src/shared/action-label.d.ts +5 -3
  1215. package/dist/src/shared/action-label.js +1 -1
  1216. package/dist/src/shared/action-types.d.ts +5 -0
  1217. package/dist/src/shared/action-types.js +1 -1
  1218. package/dist/src/shared/agent-definition.d.ts +14 -10
  1219. package/dist/src/shared/answers-delivery-id.d.ts +1 -0
  1220. package/dist/src/shared/answers-delivery-id.js +1 -0
  1221. package/dist/src/shared/channel-context.d.ts +12 -0
  1222. package/dist/src/shared/channel-context.js +1 -0
  1223. package/dist/src/shared/channel-definition.d.ts +19 -26
  1224. package/dist/src/shared/channel-delivery.d.ts +16 -0
  1225. package/dist/src/shared/channel-delivery.js +1 -0
  1226. package/dist/src/shared/connection-events.d.ts +2 -2
  1227. package/dist/src/shared/connection-types.d.ts +7 -32
  1228. package/dist/src/shared/conversation-context.d.ts +4 -13
  1229. package/dist/src/shared/delivery.d.ts +38 -0
  1230. package/dist/src/shared/delivery.js +1 -0
  1231. package/dist/src/shared/history-message.d.ts +190 -0
  1232. package/dist/src/shared/history-message.js +1 -0
  1233. package/dist/src/shared/input.d.ts +23 -97
  1234. package/dist/src/shared/input.js +1 -1
  1235. package/dist/src/shared/instructions-definition.d.ts +2 -8
  1236. package/dist/src/shared/instrumentation-channel-kind.d.ts +1 -1
  1237. package/dist/src/shared/instrumentation-channel.d.ts +12 -0
  1238. package/dist/src/shared/instrumentation-channel.js +1 -0
  1239. package/dist/src/shared/json.d.ts +2 -18
  1240. package/dist/src/shared/memory-state.d.ts +4 -40
  1241. package/dist/src/shared/memory-state.js +1 -1
  1242. package/dist/src/shared/message-content.d.ts +19 -0
  1243. package/dist/src/shared/message-content.js +1 -0
  1244. package/dist/src/shared/network-address.d.ts +9 -0
  1245. package/dist/src/shared/network-address.js +1 -1
  1246. package/dist/src/shared/sandbox-environment.d.ts +2 -2
  1247. package/dist/src/shared/sandbox-provider.d.ts +1 -1
  1248. package/dist/src/shared/sandbox-session.d.ts +64 -85
  1249. package/dist/src/shared/schedule-definition.d.ts +5 -5
  1250. package/dist/src/shared/serialized-observability-state.d.ts +0 -2
  1251. package/dist/src/shared/serialized-observability-state.js +1 -1
  1252. package/dist/src/shared/session-history.d.ts +2 -2
  1253. package/dist/src/shared/session.d.ts +22 -0
  1254. package/dist/src/shared/session.js +1 -0
  1255. package/dist/src/shared/skill-definition.d.ts +1 -1
  1256. package/dist/src/shared/skill-package.d.ts +2 -2
  1257. package/dist/src/shared/skill-package.js +1 -1
  1258. package/dist/src/shared/token-usage-math.d.ts +5 -0
  1259. package/dist/src/shared/token-usage-math.js +1 -0
  1260. package/dist/src/shared/token-usage.d.ts +0 -2
  1261. package/dist/src/shared/token-usage.js +1 -1
  1262. package/dist/src/shared/validate-authorization.js +1 -1
  1263. package/dist/src/shared/wait-with-signal.d.ts +2 -0
  1264. package/dist/src/shared/wait-with-signal.js +1 -0
  1265. package/dist/src/subagents/adapter.d.ts +3 -5
  1266. package/dist/src/subagents/adapter.js +1 -1
  1267. package/dist/src/subagents/callback-route.js +1 -1
  1268. package/dist/src/subagents/event-proxy-step.d.ts +6 -9
  1269. package/dist/src/subagents/event-proxy-step.js +1 -1
  1270. package/dist/src/subagents/hitl-proxy.d.ts +11 -23
  1271. package/dist/src/subagents/hitl-proxy.js +1 -1
  1272. package/dist/src/subagents/invocation.d.ts +8 -8
  1273. package/dist/src/subagents/invocation.js +2 -2
  1274. package/dist/src/subagents/parent-notification.d.ts +5 -0
  1275. package/dist/src/subagents/parent-notification.js +1 -1
  1276. package/dist/src/subagents/protocol-two-callback.d.ts +27 -0
  1277. package/dist/src/subagents/protocol-two-callback.js +1 -0
  1278. package/dist/src/svelte/index.d.ts +3 -6
  1279. package/dist/src/svelte/index.js +2 -39
  1280. package/dist/src/svelte/use-eve-agent.d.ts +67 -56
  1281. package/dist/src/svelte/use-eve-agent.js +1 -1
  1282. package/dist/src/tool-stubs/rules.js +1 -1
  1283. package/dist/src/tools/approval/policies.d.ts +4 -16
  1284. package/dist/src/tools/approval/policies.js +1 -1
  1285. package/dist/src/tools/auth.d.ts +3 -3
  1286. package/dist/src/tools/definition.d.ts +13 -35
  1287. package/dist/src/tools/definition.js +1 -1
  1288. package/dist/src/tools/dynamic.d.ts +13 -72
  1289. package/dist/src/tools/dynamic.js +1 -1
  1290. package/dist/src/tools/framework/agent.js +1 -1
  1291. package/dist/src/tools/provided/ask-question-workflow.d.ts +3 -3
  1292. package/dist/src/tools/provided/ask-question-workflow.js +1 -1
  1293. package/dist/src/tools/provided/ask-question.d.ts +2 -2
  1294. package/dist/src/tools/provided/ask-question.js +1 -1
  1295. package/dist/src/tools/provided/grep.d.ts +2 -15
  1296. package/dist/src/tools/provided/grep.js +1 -2
  1297. package/dist/src/tools/provided/no-reply.d.ts +2 -2
  1298. package/dist/src/tools/provided/no-reply.js +1 -1
  1299. package/dist/src/tools/provided/sleep-workflow.js +1 -1
  1300. package/dist/src/tools/provided/sleep.d.ts +2 -2
  1301. package/dist/src/tools/provided/sleep.js +1 -1
  1302. package/dist/src/tools/provided/workflow.js +1 -1
  1303. package/dist/src/tools/workflow-definition.d.ts +17 -15
  1304. package/dist/src/tracing/eve/agent-approval-instrumentation.d.ts +1 -1
  1305. package/dist/src/tracing/eve/agent-approval-instrumentation.js +1 -1
  1306. package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.d.ts +2 -2
  1307. package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.js +1 -1
  1308. package/dist/src/tracing/eve/agent-invocation-coordinator.d.ts +2 -2
  1309. package/dist/src/tracing/eve/agent-otel-provider.js +1 -1
  1310. package/dist/src/tracing/eve/agent-tool-instrumentation.d.ts +6 -7
  1311. package/dist/src/tracing/eve/agent-tool-instrumentation.js +1 -1
  1312. package/dist/src/tracing/eve/agent-trace-context-store.d.ts +3 -3
  1313. package/dist/src/tracing/eve/agent-trace-state.d.ts +1 -6
  1314. package/dist/src/tracing/eve/delegation.d.ts +4 -4
  1315. package/dist/src/tracing/eve/install-instrumentation-runtime.js +1 -1
  1316. package/dist/src/tracing/eve/invoke-tool-span.d.ts +3 -2
  1317. package/dist/src/tracing/eve/invoke-tool-span.js +1 -1
  1318. package/dist/src/tracing/eve/otel-declaration.d.ts +9 -10
  1319. package/dist/src/tracing/eve/otel-declaration.js +1 -1
  1320. package/dist/src/tracing/eve/policy.d.ts +2 -2
  1321. package/dist/src/tracing/eve/policy.js +1 -1
  1322. package/dist/src/tracing/eve/session.d.ts +4 -3
  1323. package/dist/src/tracing/eve/session.js +1 -1
  1324. package/dist/src/vue/index.d.ts +3 -6
  1325. package/dist/src/vue/index.js +2 -39
  1326. package/dist/src/vue/use-eve-agent.d.ts +70 -59
  1327. package/dist/src/vue/use-eve-agent.js +1 -1
  1328. package/docs/agent-config.md +41 -44
  1329. package/docs/channels/chat-sdk.mdx +19 -13
  1330. package/docs/channels/custom.mdx +106 -85
  1331. package/docs/channels/discord.mdx +12 -12
  1332. package/docs/channels/eve.mdx +48 -15
  1333. package/docs/channels/github.mdx +2 -2
  1334. package/docs/channels/linear.mdx +8 -8
  1335. package/docs/channels/linq.mdx +1 -1
  1336. package/docs/channels/mcp.mdx +2 -2
  1337. package/docs/channels/overview.mdx +11 -1
  1338. package/docs/channels/photon.mdx +1 -1
  1339. package/docs/channels/slack.mdx +64 -57
  1340. package/docs/channels/teams.mdx +4 -4
  1341. package/docs/channels/telegram.mdx +1 -1
  1342. package/docs/channels/twilio.mdx +2 -2
  1343. package/docs/code-extension.mdx +19 -7
  1344. package/docs/concepts/built-in-tools.md +21 -9
  1345. package/docs/concepts/context-control.md +5 -8
  1346. package/docs/concepts/default-harness.md +13 -8
  1347. package/docs/concepts/execution-model-and-durability.mdx +119 -12
  1348. package/docs/concepts/meta.json +1 -0
  1349. package/docs/concepts/sessions-runs-and-streaming.md +244 -138
  1350. package/docs/concepts/state.md +1 -1
  1351. package/docs/concepts/upgrade-to-v27-events.md +128 -0
  1352. package/docs/connections/mcp.mdx +38 -34
  1353. package/docs/connections/openapi.mdx +23 -2
  1354. package/docs/connections/overview.mdx +66 -57
  1355. package/docs/evals/assertions.mdx +30 -24
  1356. package/docs/evals/cases.mdx +19 -24
  1357. package/docs/evals/judge.mdx +15 -2
  1358. package/docs/evals/overview.mdx +7 -7
  1359. package/docs/evals/reporters.mdx +15 -11
  1360. package/docs/evals/targets.mdx +5 -3
  1361. package/docs/evals/tool-stubs.mdx +2 -2
  1362. package/docs/extensions.md +6 -3
  1363. package/docs/guides/client/continuations.mdx +10 -10
  1364. package/docs/guides/client/messages.mdx +50 -48
  1365. package/docs/guides/client/output-schema.mdx +13 -13
  1366. package/docs/guides/client/overview.mdx +35 -13
  1367. package/docs/guides/client/streaming.mdx +160 -123
  1368. package/docs/guides/decide.md +15 -9
  1369. package/docs/guides/deployment/self-hosting.md +5 -40
  1370. package/docs/guides/dynamic-capabilities.md +151 -406
  1371. package/docs/guides/frontend/nextjs.mdx +1 -1
  1372. package/docs/guides/frontend/nuxt.mdx +2 -2
  1373. package/docs/guides/frontend/overview.mdx +257 -181
  1374. package/docs/guides/frontend/sveltekit.mdx +4 -4
  1375. package/docs/guides/frontend/tanstack.mdx +5 -5
  1376. package/docs/guides/frontend/use-eve-agent-svelte.mdx +30 -38
  1377. package/docs/guides/frontend/use-eve-agent-vue.mdx +35 -36
  1378. package/docs/guides/hooks.md +67 -55
  1379. package/docs/guides/instrumentation/instrumentation.mdx +33 -27
  1380. package/docs/guides/instrumentation/otel.mdx +4 -2
  1381. package/docs/guides/remote-agents.md +116 -50
  1382. package/docs/guides/self-modification.md +11 -7
  1383. package/docs/instructions.mdx +4 -6
  1384. package/docs/memory/custom-provider.md +63 -56
  1385. package/docs/memory/file.md +1 -1
  1386. package/docs/memory/overview.mdx +10 -18
  1387. package/docs/patterns/durable-cross-channel-notifications.md +4 -3
  1388. package/docs/patterns/multi-tenant-approvals.md +3 -3
  1389. package/docs/patterns/multi-tenant-auth.md +3 -3
  1390. package/docs/patterns/multi-tenant-memory.md +6 -7
  1391. package/docs/patterns/voice-notes.md +1 -1
  1392. package/docs/reference/cli.md +9 -25
  1393. package/docs/reference/typescript-api.md +85 -60
  1394. package/docs/sandbox/custom-providers.mdx +13 -14
  1395. package/docs/sandbox/default.mdx +1 -1
  1396. package/docs/sandbox/docker.mdx +10 -0
  1397. package/docs/sandbox/index.mdx +5 -1
  1398. package/docs/sandbox/vercel.mdx +6 -6
  1399. package/docs/schedules.mdx +4 -4
  1400. package/docs/skills.mdx +6 -6
  1401. package/docs/subagents/index.mdx +25 -34
  1402. package/docs/tools/human-in-the-loop.md +42 -34
  1403. package/docs/tools/overview.mdx +14 -12
  1404. package/docs/tools/tasks-upgrade.md +13 -1
  1405. package/docs/tools/tasks.md +58 -89
  1406. package/docs/tools/workflows.mdx +48 -33
  1407. package/docs/tutorial/guard-the-spend.mdx +1 -1
  1408. package/docs/tutorial/run-analysis.mdx +15 -12
  1409. package/docs/tutorial/team-playbooks.mdx +19 -23
  1410. package/package.json +147 -96
  1411. package/dist/src/chunks/use-eve-agent-BE2_zd5q.js +0 -4968
  1412. package/dist/src/chunks/use-eve-agent-e8a5vcFO.js +0 -4926
  1413. package/dist/src/cli/invoke/command.d.ts +0 -19
  1414. package/dist/src/cli/invoke/command.js +0 -1
  1415. package/dist/src/cli/invoke/invoke.d.ts +0 -27
  1416. package/dist/src/cli/invoke/invoke.js +0 -1
  1417. package/dist/src/cli/invoke/result.d.ts +0 -137
  1418. package/dist/src/cli/invoke/result.js +0 -1
  1419. package/dist/src/client/agent-host.d.ts +0 -4
  1420. package/dist/src/client/agent-host.js +0 -1
  1421. package/dist/src/client/authorization-message-parts.d.ts +0 -4
  1422. package/dist/src/client/authorization-message-parts.js +0 -1
  1423. package/dist/src/client/conversation-projection.d.ts +0 -4
  1424. package/dist/src/client/conversation-projection.js +0 -1
  1425. package/dist/src/client/conversation-reducer.d.ts +0 -29
  1426. package/dist/src/client/conversation-reducer.js +0 -1
  1427. package/dist/src/client/eve-agent-projection.d.ts +0 -28
  1428. package/dist/src/client/eve-agent-projection.js +0 -1
  1429. package/dist/src/client/eve-agent-store-helpers.d.ts +0 -34
  1430. package/dist/src/client/eve-agent-store-helpers.js +0 -2
  1431. package/dist/src/client/eve-agent-store-state.d.ts +0 -96
  1432. package/dist/src/client/eve-agent-store.d.ts +0 -45
  1433. package/dist/src/client/eve-agent-store.js +0 -1
  1434. package/dist/src/client/message-action-parts.d.ts +0 -37
  1435. package/dist/src/client/message-action-parts.js +0 -1
  1436. package/dist/src/client/message-reducer-primitives.d.ts +0 -6
  1437. package/dist/src/client/message-reducer-primitives.js +0 -1
  1438. package/dist/src/client/message-reducer-types.d.ts +0 -244
  1439. package/dist/src/client/message-reducer.d.ts +0 -14
  1440. package/dist/src/client/message-reducer.js +0 -1
  1441. package/dist/src/client/message-response.d.ts +0 -74
  1442. package/dist/src/client/message-response.js +0 -1
  1443. package/dist/src/client/message-run-parts.d.ts +0 -22
  1444. package/dist/src/client/message-run-parts.js +0 -1
  1445. package/dist/src/client/output-schema.d.ts +0 -5
  1446. package/dist/src/client/output-schema.js +0 -1
  1447. package/dist/src/client/reducer.d.ts +0 -67
  1448. package/dist/src/client/session-turn-dispatch.d.ts +0 -15
  1449. package/dist/src/client/session-turn-dispatch.js +0 -1
  1450. package/dist/src/client/tool-call-state.d.ts +0 -23
  1451. package/dist/src/client/tool-call-state.js +0 -1
  1452. package/dist/src/client/tool-part-state.d.ts +0 -7
  1453. package/dist/src/client/tool-part-state.js +0 -1
  1454. package/dist/src/client/transcript-reducer.d.ts +0 -49
  1455. package/dist/src/client/transcript-reducer.js +0 -2
  1456. package/dist/src/compiled/_chunks/node/token-Bedbhv5z.js +0 -1
  1457. package/dist/src/compiled/_chunks/node/token-util-DpJNusVS.js +0 -1
  1458. package/dist/src/compiled/_chunks/node/token-util-DwHQ2a3c.js +0 -1
  1459. package/dist/src/compiled/_chunks/node/version-C__MqbLM.js +0 -1
  1460. package/dist/src/context/build-dynamic-tools.d.ts +0 -10
  1461. package/dist/src/context/build-dynamic-tools.js +0 -1
  1462. package/dist/src/context/dynamic-connection-lifecycle.d.ts +0 -15
  1463. package/dist/src/context/dynamic-connection-lifecycle.js +0 -1
  1464. package/dist/src/context/dynamic-instruction-lifecycle.d.ts +0 -31
  1465. package/dist/src/context/dynamic-instruction-lifecycle.js +0 -1
  1466. package/dist/src/context/dynamic-model-lifecycle.d.ts +0 -19
  1467. package/dist/src/context/dynamic-model-lifecycle.js +0 -1
  1468. package/dist/src/context/dynamic-resolve-context.d.ts +0 -12
  1469. package/dist/src/context/dynamic-resolve-context.js +0 -1
  1470. package/dist/src/context/dynamic-skill-lifecycle.d.ts +0 -15
  1471. package/dist/src/context/dynamic-skill-lifecycle.js +0 -1
  1472. package/dist/src/context/dynamic-subagent-lifecycle.d.ts +0 -27
  1473. package/dist/src/context/dynamic-subagent-lifecycle.js +0 -1
  1474. package/dist/src/context/dynamic-tool-lifecycle.d.ts +0 -46
  1475. package/dist/src/context/dynamic-tool-lifecycle.js +0 -1
  1476. package/dist/src/context/dynamic-tool-metadata.d.ts +0 -47
  1477. package/dist/src/context/dynamic-tool-metadata.js +0 -1
  1478. package/dist/src/context/effective-model.d.ts +0 -5
  1479. package/dist/src/context/effective-model.js +0 -1
  1480. package/dist/src/context/hook-lifecycle.d.ts +0 -15
  1481. package/dist/src/context/hook-lifecycle.js +0 -1
  1482. package/dist/src/context/memory-event-lifecycle.d.ts +0 -15
  1483. package/dist/src/context/memory-event-lifecycle.js +0 -1
  1484. package/dist/src/context/memory-lifecycle.d.ts +0 -47
  1485. package/dist/src/context/memory-lifecycle.js +0 -1
  1486. package/dist/src/context/serialized-dynamic-model-selection.d.ts +0 -2
  1487. package/dist/src/context/serialized-dynamic-model-selection.js +0 -1
  1488. package/dist/src/execution/cancel-descendant-turns-step.d.ts +0 -6
  1489. package/dist/src/execution/cancel-descendant-turns-step.js +0 -1
  1490. package/dist/src/execution/dynamic-connection-recovery.d.ts +0 -14
  1491. package/dist/src/execution/dynamic-connection-recovery.js +0 -1
  1492. package/dist/src/execution/dynamic-connections.d.ts +0 -12
  1493. package/dist/src/execution/dynamic-connections.js +0 -1
  1494. package/dist/src/execution/history-view.d.ts +0 -10
  1495. package/dist/src/execution/history-view.js +0 -1
  1496. package/dist/src/execution/legacy-remote-agent/protocol.d.ts +0 -49
  1497. package/dist/src/execution/legacy-remote-agent/protocol.js +0 -1
  1498. package/dist/src/execution/runtime-errors.d.ts +0 -13
  1499. package/dist/src/execution/runtime-errors.js +0 -1
  1500. package/dist/src/execution/sandbox/grep-tool.d.ts +0 -26
  1501. package/dist/src/execution/sandbox/grep-tool.js +0 -3
  1502. package/dist/src/execution/session/turn-waiting-step.d.ts +0 -4
  1503. package/dist/src/execution/session/turn-waiting-step.js +0 -1
  1504. package/dist/src/execution/tools/workflow/cancel.d.ts +0 -13
  1505. package/dist/src/execution/tools/workflow/cancel.js +0 -1
  1506. package/dist/src/execution/workflow-trace-context.d.ts +0 -8
  1507. package/dist/src/execution/workflow-trace-context.js +0 -1
  1508. package/dist/src/extensions/code/extension/instructions/github.d.ts +0 -3
  1509. package/dist/src/extensions/code/extension/instructions/github.js +0 -1
  1510. package/dist/src/extensions/code/extension/lib/github-compat.d.ts +0 -28
  1511. package/dist/src/extensions/code/extension/lib/github-compat.js +0 -1
  1512. package/dist/src/extensions/code/extension/lib/grep-search.js +0 -6
  1513. package/dist/src/extensions/code/extension/skills/pr.d.ts +0 -6
  1514. package/dist/src/extensions/code/extension/skills/pr.js +0 -1
  1515. package/dist/src/extensions/code/extension/tools/gh.d.ts +0 -28
  1516. package/dist/src/extensions/code/extension/tools/gh.js +0 -1
  1517. package/dist/src/harness/approval-recheck.d.ts +0 -7
  1518. package/dist/src/harness/approval-recheck.js +0 -1
  1519. package/dist/src/harness/authorization-event-fields.d.ts +0 -16
  1520. package/dist/src/harness/authorization-event-fields.js +0 -1
  1521. package/dist/src/harness/hitl/candidates.d.ts +0 -139
  1522. package/dist/src/harness/hitl/candidates.js +0 -1
  1523. package/dist/src/harness/hitl/coordinator.d.ts +0 -35
  1524. package/dist/src/harness/hitl/coordinator.js +0 -1
  1525. package/dist/src/harness/input-extraction.d.ts +0 -13
  1526. package/dist/src/harness/input-extraction.js +0 -1
  1527. package/dist/src/harness/input-request-class.d.ts +0 -3
  1528. package/dist/src/harness/input-request-class.js +0 -1
  1529. package/dist/src/harness/input-request-resolution.d.ts +0 -39
  1530. package/dist/src/harness/input-request-resolution.js +0 -1
  1531. package/dist/src/harness/open-input-request.d.ts +0 -8
  1532. package/dist/src/harness/open-input-request.js +0 -1
  1533. package/dist/src/harness/session-machine/events.d.ts +0 -6
  1534. package/dist/src/harness/session-machine/events.js +0 -1
  1535. package/dist/src/harness/session-machine/resolver-events.d.ts +0 -12
  1536. package/dist/src/harness/session-machine/resolver-events.js +0 -1
  1537. package/dist/src/harness/tool-call-action.d.ts +0 -9
  1538. package/dist/src/harness/tool-call-action.js +0 -1
  1539. package/dist/src/harness/tool-interrupts.d.ts +0 -22
  1540. package/dist/src/harness/tool-interrupts.js +0 -1
  1541. package/dist/src/harness/tool-presentation.d.ts +0 -5
  1542. package/dist/src/harness/tool-presentation.js +0 -1
  1543. package/dist/src/harness/turn-tag-state.d.ts +0 -115
  1544. package/dist/src/harness/turn-tag-state.js +0 -1
  1545. package/dist/src/internal/dynamic-tool-rebind.d.ts +0 -3
  1546. package/dist/src/internal/dynamic-tool-rebind.js +0 -1
  1547. package/dist/src/internal/nitro/host/extension-capability-requirements.d.ts +0 -14
  1548. package/dist/src/internal/nitro/host/extension-capability-requirements.js +0 -1
  1549. package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.d.ts +0 -12
  1550. package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.js +0 -1
  1551. package/dist/src/internal/workflow-bundle/dynamic-remote-agent-transform.d.ts +0 -7
  1552. package/dist/src/internal/workflow-bundle/dynamic-remote-agent-transform.js +0 -3
  1553. package/dist/src/internal/workflow-bundle/dynamic-tool-ast-references.d.ts +0 -79
  1554. package/dist/src/internal/workflow-bundle/dynamic-tool-ast-references.js +0 -1
  1555. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.d.ts +0 -14
  1556. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.js +0 -3
  1557. package/dist/src/protocol/event-dedupe.d.ts +0 -26
  1558. package/dist/src/protocol/event-dedupe.js +0 -1
  1559. package/dist/src/protocol/event-id.d.ts +0 -10
  1560. package/dist/src/protocol/event-id.js +0 -1
  1561. package/dist/src/protocol/message-version.d.ts +0 -53
  1562. package/dist/src/protocol/message-version.js +0 -1
  1563. package/dist/src/protocol/message.d.ts +0 -1198
  1564. package/dist/src/protocol/message.js +0 -2
  1565. package/dist/src/public/channels/chat-sdk/messageToUserContent.js +0 -1
  1566. package/dist/src/public/channels/slack/input-response.js +0 -1
  1567. package/dist/src/runtime/agent/model-catalog.d.ts +0 -10
  1568. package/dist/src/runtime/agent/model-catalog.js +0 -1
  1569. package/dist/src/runtime/hooks/registry.d.ts +0 -34
  1570. package/dist/src/runtime/hooks/registry.js +0 -1
  1571. package/dist/src/runtime/resolve-dynamic-connection.d.ts +0 -5
  1572. package/dist/src/runtime/resolve-dynamic-connection.js +0 -1
  1573. package/dist/src/runtime/resolve-dynamic-instructions.d.ts +0 -4
  1574. package/dist/src/runtime/resolve-dynamic-instructions.js +0 -1
  1575. package/dist/src/runtime/resolve-dynamic-skill.d.ts +0 -8
  1576. package/dist/src/runtime/resolve-dynamic-skill.js +0 -1
  1577. package/dist/src/runtime/resolve-dynamic-subagent.d.ts +0 -9
  1578. package/dist/src/runtime/resolve-dynamic-subagent.js +0 -1
  1579. package/dist/src/runtime/resolve-dynamic-tool.d.ts +0 -12
  1580. package/dist/src/runtime/resolve-dynamic-tool.js +0 -1
  1581. package/dist/src/self-modification/migration.d.ts +0 -9
  1582. package/dist/src/self-modification/migration.js +0 -28
  1583. package/dist/src/shared/history-view.d.ts +0 -22
  1584. package/dist/src/shared/history-view.js +0 -1
  1585. package/dist/src/shared/package-version.d.ts +0 -2
  1586. package/dist/src/shared/package-version.js +0 -1
  1587. package/dist/src/tools/durable-callbacks.d.ts +0 -118
  1588. package/dist/src/tools/durable-callbacks.js +0 -1
  1589. package/dist/src/tools/durable-schema.d.ts +0 -16
  1590. package/dist/src/tools/durable-schema.js +0 -1
  1591. /package/dist/src/{client/eve-agent-store-state.js → ai/decision-types.js} +0 -0
  1592. /package/dist/src/client/{message-reducer-types.js → agent-info-types.js} +0 -0
  1593. /package/dist/src/client/{reducer.js → health-types.js} +0 -0
  1594. /package/dist/src/{shared → protocol/session-projection}/display-name.d.ts +0 -0
  1595. /package/dist/src/{shared → protocol/session-projection}/display-name.js +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,62 @@
1
1
  # eve
2
2
 
3
+ ## 0.84.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 41916a5: Dynamic models, dynamic subagent configs, and `ctx.agent(name, { model })` overrides now read context windows from the AI Gateway model catalog recorded at build time instead of downloading it at runtime; a model that catalog doesn't list fails until you return `modelContextWindowTokens` or rebuild. Builds no longer carry built-in limits for `anthropic/claude-opus-4.7`, `openai/gpt-5.4`, and `openai/gpt-5.4-mini`, so a static model needs the catalog, a cached copy, or `modelContextWindowTokens` to compile offline.
8
+ - b322096: A compaction that fails during a turn, for example on a provider 429 that outlasts its retries, now fails that turn with `MODEL_CALL_FAILED` and leaves the session waiting with its history uncompacted. Previously the error escaped the turn step, so eve replayed the step and then ended the session. Thanks @gshost1 for the report and reproduction in #5350.
9
+ - 4276727: Messages a route forwards with `ctx.to()` now carry the deployment and request that accepted them, so an idle session reached that way hands off to the new deployment like one reached with `from()`. Thanks @haydenbleasel for reporting this in #5408.
10
+ - bea10fd: Model calls that AI Gateway rejects with a 402 because it temporarily throttled the credit balance check now retry with backoff. They previously reported "AI Gateway credit balance exhausted", told users to add credits, and parked the session without retrying.
11
+ - 105bf60: `eve init apps/my-agent` now creates missing parent directories such as `apps/` instead of failing with `ENOENT` from `mkdtemp`. Thanks @otakusboy for reporting this in #5422.
12
+ - 5bb6d43: Nuxt apps that call the auto-imported `useEveAgent()` now hydrate in `nuxt dev`. The `eve/nuxt` module pre-bundles `eve/vue` with Vite, which previously served its CommonJS dependencies to the browser unbundled and failed with `does not provide an export named 'getContext'`.
13
+ - cb1db12: Sending a message from a web client served over plain HTTP on a host other than `localhost` no longer fails with `crypto.randomUUID is not a function`. Thanks @KingAmo for reporting this in #5415.
14
+ - 5458bc4: Reuse signed inbox routing information between client turns when the Workflow SDK and adapter support guarded resumes and `EVE_INBOX_HANDLE_SECRET` is configured. Refresh stale routing after a confirmed refusal without retrying uncertain deliveries.
15
+ - a5328b4: `sandbox.spawn({ stdin: true })` returns a process with a writable `stdin` stream; closing it sends EOF. The Vercel and Docker sandboxes support it, and just-bash and custom providers without stdin support reject the call.
16
+ - 66103be: `eve dev` on Windows no longer opens a console window for each Docker command, dev build process, or optional package install. Thanks @satish860 for reporting this in #5291.
17
+ - 040519a: The browser client no longer triggers a Content Security Policy `eval` violation on pages whose `script-src` omits `'unsafe-eval'`. eve's bundled Zod now skips its `Function("")` probe and always uses its interpreted parser. Your app's own Zod and `z.config()` are not affected. Thanks @wasimxyz for reporting this in #5365.
18
+
19
+ ## 0.84.0
20
+
21
+ ### Minor Changes
22
+
23
+ - 4a4951e: Tools and connections now share the `Approval` policy contract; `approvalKey` and `ApprovalContext.approvedTools` are removed. `once()` remembers the latest approval or denial per resolved tool for the session; custom policies must return its decision unchanged to reuse or record consent.
24
+ - 4a4951e: Session commands now return `Delivery` receipts with independent `stream()` and `result()` reads; the eve HTTP message route accepts `idempotencyKey` for retries within a session's recent-key window. Session creation returns `{ session, delivery }` when a message is supplied and `{ session }` otherwise; import shared contracts from `eve/sessions`.
25
+ - 4a4951e: Public APIs now use eve-owned contracts for history, decisions, channel integrations, and sandboxes; legacy aliases and internal helpers are no longer exported. `decide` takes `signal` instead of `abortSignal` and returns only `answers` and `usage`; update other imports using the [v27 upgrade guide](https://eve.dev/docs/concepts/upgrade-to-v27-events).
26
+ - 4a4951e: Define dynamic capabilities with `defineDynamic(ctx => value)` instead of lifecycle maps, and use ordinary functions and schemas instead of `defineDurableCallback` and `defineDurableSchema`. Cache external JSON observations with `ctx.memo(key, fn)`.
27
+ - 4a4951e: Extension distributions now record the eve version they were built with and a distribution generation instead of per-capability epochs. Extensions built with the old epoch-based manifest must be rebuilt with this release and republished; eve rejects old manifests with rebuild guidance before loading extension code.
28
+ - 4a4951e: Recalled memory is supplied to the model outside durable conversation history, and dynamic user instructions are added only when their content changes. Memory no longer supports compaction recall or `visibility`, and compaction fails if memory capture fails.
29
+ - 4a4951e: Sends, channels, and schedules now accept eve-owned `MessageContent`; images use file parts, and Chat SDK's `messageToUserContent` is renamed to `messageContentOf`. File parts sent through `ctx.agent().send()` must contain HTTP(S) URLs, not inline bytes or base64.
30
+ - 4a4951e: `SessionStore` replaces `EveAgentStore`, and clients and frontend bindings use `baseUrl` instead of `host`. Frontend bindings expose `view`, `messages`, and `agents` directly with native tool and interaction parts; use `followWhile(view)` instead of `followIdle`, and `activeTurn(view)` rather than busy status for Stop controls.
31
+ - 4a4951e: `followAgents: true` now observes child sessions recursively, including workflow-created children, with predicate selection, bounded traversal, and per-session positions and progress. `SessionStore.observe()` supports headless capture; child readers require source-positioned opening events to verify each hop through its parent.
32
+ - 69346ff: Remote agents no longer serve callers on eve 0.66 through 0.68 (remote agent protocol 1), and callers no longer accept remote agents on those releases. Calls in either direction now fail at start with `REMOTE_AGENT_PROTOCOL_MISMATCH`; upgrade both deployments to the same eve release. The `/eve/v1/task-input/:token` route is gone. It accepted unauthenticated answers that settled approvals and added turn input as the session's current user.
33
+ - 4a4951e: Replace `eve remote invoke` and its resumable JSON workflow with `eve remote connect --print <prompt>` for one-shot requests that print the final assistant text and exit. Interactive `eve remote connect` is unchanged; use `eve/client` for scripted multi-turn sessions and input responses.
34
+ - 8efe110: eve's default sandbox image is now tagged by its Dockerfile contents instead of the eve version, so upgrading eve reuses existing sandbox templates unless the image itself changed. Expect one template rebuild on the first upgrade to this release.
35
+
36
+ The default sandbox image no longer includes pnpm or pip, which makes it smaller. Install them in your sandbox `prepare` callback when your agent needs them: run `npm install -g pnpm` for pnpm, and use a Python virtual environment for pip.
37
+ - 4a4951e: The eve HTTP channel now rejects unknown top-level fields on session creation, message, and control requests with HTTP 400 and a list of accepted fields. Correct unsupported options and misspellings instead of relying on them being ignored.
38
+ - 4a4951e: Channel delivery hooks now receive typed `ChannelDelivery` payloads and return replacements; use `channel.state` for state changes. `kindHint` is removed; use path-derived `channel:<name>` identities, `audience()` visibility classification, and the renamed CORS options described in the [v27 upgrade guide](https://eve.dev/docs/concepts/upgrade-to-v27-events).
39
+ - 4a4951e: Slack's `renderers.taskCard` now receives `TaskCard` instead of `TaskCardView`; use `callState` and `callLabel` from `eve/events` for call rendering. Teams channel state replaces `pendingAuthActivityId` with `pendingAuthActivityIds`.
40
+ - 4a4951e: Evals now use v27 facts and interaction projections, with call matchers such as `turn.waitForToolCall()` and renamed helpers such as `calledAgent()` and `awaitingInput()`. The `remoteUrl` field and matcher are removed; use the [v27 upgrade guide](https://eve.dev/docs/concepts/upgrade-to-v27-events) to migrate legacy assertions.
41
+ - 4a4951e: Hooks and channel handlers now receive v27 facts with coordinates in `event.scope` and session state in `ctx.view`. Update channel handlers to `(event, ctx)` with `ctx.channel`, and migrate instrumentation providers to `InstrumentationEvent<K>` and the new lifecycle names.
42
+ - 4a4951e: Approvals, questions, sign-ins, and budget prompts now share the `Interaction` model, with answers shaped as `{ interactionId, optionId?, text? }` and approval choices `approve` / `deny`. Turns pause only for human input, and cancelling an agent task retires it.
43
+ - 4a4951e: Remote agents now use protocol 3 and can still relay approvals, questions, and sign-ins from protocol-2 children. Upgrade callers before their remote agents, or both together: protocol-3 children cannot relay human-input requests to older callers.
44
+ - 4a4951e: Session streams now use v27 facts, line-based cursors, and immutable `SessionView` snapshots queried through `eve/events`. Checkpoints require version 18; keep older sessions on their original deployments and follow the [v27 upgrade guide](https://eve.dev/docs/concepts/upgrade-to-v27-events) before updating event consumers or restoring persisted history.
45
+
46
+ ### Patch Changes
47
+
48
+ - 4a4951e: Deliver concurrent messages to the same `ctx.agent()` session in send order, preventing out-of-order delivery from leaving calls waiting indefinitely for a reply.
49
+ - 4a4951e: Parent session streams now record accepted child deliveries as `child.sent`; use `agentCallActivity(state, callId)` from `eve/client` to inspect per-call child activity, including shared turns.
50
+ - 4a4951e: An unhandled hook error now fails the running turn instead of only being logged. Cancellation requested with `ctx.cancel()` takes effect only if the handler returns successfully.
51
+ - caa9172: The bundled `eve dev` self-modification subagent is now offered only to the local developer: sessions authenticated by `localDev()` or by the linked project's Vercel development token. Chat users and principals from authored authenticators, including HTTP Basic operators, no longer get the editor and must edit files directly; there is no local authorization override, and callers forwarded by a same-machine tunnel can still get the editor if the channel uses `localDev()`.
52
+ - 4a4951e: Remote child sessions no longer fail solely because the parent has already consumed their result or stopped waiting for it, such as after a lost acknowledgement.
53
+ - 4a4951e: Remote session stream proxies now reject unexpected content types and prevent upstream responses from being served as executable content. Error responses with unexpected content types are replaced with generic JSON while preserving the error status.
54
+ - e7453f1: Session callbacks now reach only public addresses. The eve channel rejects callback URLs with a non-HTTP scheme or a loopback host, and callback delivery refuses to connect when a callback hostname resolves to a loopback, private, link-local, or reserved address. Loopback callbacks still work on local development servers (`eve dev` and `vercel dev`).
55
+ - 4a4951e: Built-in channels keep sign-in links and codes out of shared messages; when private delivery is unavailable, they show a credential-free status instead.
56
+ - 4a4951e: Interrupted durable steps recover from recorded outcomes without automatically replaying observed tool calls. Exhausted step retries fail the turn without closing the session, but external effects with unrecorded outcomes still require application-level idempotency.
57
+ - 4a4951e: v27 deployments can read v26 session history through the v27 client and stream APIs. Convert previously saved legacy events with `convertLegacyEvents` from `eve/internal/legacy-events`, a temporary migration aid.
58
+ - 4a4951e: `eve dev` now validates session event lines before writing them and rejects lines larger than 8 MiB. Set `EVE_CHECK_SESSION_EVENTS=0` to disable validation or `=1` to enable it outside development.
59
+
3
60
  ## 0.83.3
4
61
 
5
62
  ### Patch Changes
package/README.md CHANGED
@@ -69,11 +69,7 @@ Every authored directory has a typed helper. Import each from the matching subpa
69
69
  | `defineSchedule(...)` | `eve/schedules` | `schedules/<name>.ts` (or `schedules/<name>.md`) |
70
70
  | `defineEval(...)`, `defineEvalConfig(...)` | `eve/evals` | `evals/<name>.eval.ts`, `evals/evals.config.ts` |
71
71
 
72
- Runtime accessors live on the subpath that owns the concern:
73
-
74
- - `getSession()` — current session, turn, auth, parent lineage (`eve/context`)
75
- - `getSandbox()` — live sandbox handle for the current agent (`eve/sandbox`)
76
- - `getContext(key)`, `requireContext(key)`, `hasContext(key)`, `setContext(key)`, `ensureContext(key, factory)` — unified context helpers (`eve/context`)
72
+ Tools, hooks, and other eve-invoked callbacks reach the runtime through `ctx`: `ctx.session` for the current session, turn, auth, and parent lineage, and `ctx.getSandbox()` for the agent's sandbox. Durable state is `defineState` (`eve/context`).
77
73
 
78
74
  The complete API reference, including types and lower-level runtime primitives, is in the [TypeScript API Reference](https://eve.dev/docs/reference/typescript-api).
79
75
 
@@ -1 +1 @@
1
- import"node:module";export{};
1
+ import"node:module";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__exportAll=(e,t)=>{let n={};for(var r in e)__defProp(n,r,{get:e[r],enumerable:!0});return t||__defProp(n,Symbol.toStringTag,{value:`Module`}),n},__copyProps=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=__getOwnPropNames(t),a=0,o=i.length,s;a<o;a++)s=i[a],!__hasOwnProp.call(e,s)&&s!==n&&__defProp(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=__getOwnPropDesc(t,s))||r.enumerable});return e},__reExport=(e,t,n)=>(__copyProps(e,t,`default`),n&&__copyProps(n,t,`default`));export{__exportAll,__reExport};
@@ -1,10 +1,13 @@
1
+ import type { SessionStreamEvent } from "#protocol/session-event.js";
1
2
  import { type AgentContext, type InitializeRequest, type InitializeResponse, type NewSessionRequest, type NewSessionResponse, type PromptRequest, type PromptResponse } from "#compiled/@agentclientprotocol/sdk/index.js";
2
3
  import type { ClientOptions, SendTurnInput } from "#client/types.js";
3
- import type { HandleMessageStreamEvent } from "#protocol/message.js";
4
- import type { InputResponse } from "#shared/input.js";
4
+ import type { Answer } from "#shared/input.js";
5
+ interface AdapterDelivery {
6
+ stream(): AsyncIterable<SessionStreamEvent>;
7
+ }
5
8
  interface AdapterClientSession {
6
- send(message: SendTurnInput["message"]): Promise<AsyncIterable<HandleMessageStreamEvent>>;
7
- respond(inputResponses: readonly InputResponse[]): Promise<AsyncIterable<HandleMessageStreamEvent>>;
9
+ send(message: SendTurnInput["message"]): Promise<AdapterDelivery>;
10
+ respond(answers: readonly Answer[]): Promise<AdapterDelivery>;
8
11
  cancel(options?: {
9
12
  turnId?: string;
10
13
  }): Promise<unknown>;
@@ -13,7 +16,7 @@ interface AdapterClientSession {
13
16
  interface AdapterClient {
14
17
  readonly sessions: {
15
18
  create(input: SendTurnInput): Promise<{
16
- readonly response: AsyncIterable<HandleMessageStreamEvent>;
19
+ readonly delivery: AdapterDelivery;
17
20
  readonly session: AdapterClientSession;
18
21
  }>;
19
22
  };
@@ -1 +1 @@
1
- import{randomUUID}from"node:crypto";import{realpath}from"node:fs/promises";import{PROTOCOL_VERSION,RequestError,methods}from"#compiled/@agentclientprotocol/sdk/index.js";import{Client,ClientError}from"#client/index.js";import{callStatus,foldSession,initialSessionProjection}from"#protocol/session-projection.js";import{actionLabel,visibleActions}from"#shared/action-label.js";const ANSWER_FIELD=`answer`,ERROR_CODE_EVE=-32002,ACP_TOOL_STATUS={running:`in_progress`,"awaiting-input":`pending`,completed:`completed`,failed:`failed`,rejected:`failed`,cancelled:`failed`,interrupted:`failed`};var EveAcpAdapter=class{#e;#t;#n;#r=!1;#i=new Map;constructor(e){this.#t=e.eveVersion,this.#n=e.workspaceRoot,this.#e=e.client??new Client({auth:e.auth,headers:e.headers,host:e.serverUrl,redirect:`manual`})}initialize(e){return this.#r=e.clientCapabilities?.elicitation?.form!==void 0,{protocolVersion:PROTOCOL_VERSION,agentCapabilities:{loadSession:!1,promptCapabilities:{},sessionCapabilities:{close:{}}},agentInfo:{name:`eve`,title:`eve`,version:this.#t},authMethods:[]}}async newSession(e){if(e.mcpServers.length>0)throw unsupported(`Client-provided MCP servers are not supported by eve ACP mode.`);if((e.additionalDirectories?.length??0)>0)throw unsupported(`Additional workspace directories are not supported by eve ACP mode.`);if(this.#n!==void 0){let t=await normalizedRealpath(e.cwd,`session/new.cwd`),n=await normalizedRealpath(this.#n,`the eve application root`);if(t!==n)throw RequestError.invalidParams({cwd:e.cwd,workspaceRoot:n},`ACP cwd must be the eve application root`)}let t=randomUUID();return this.#i.set(t,{projection:initialSessionProjection(),tools:new Map}),{sessionId:t}}async prompt(e,t,n){let r=this.#s(e.sessionId);if(r.active!==void 0)throw new RequestError(-32001,`ACP session ${e.sessionId} already has an active prompt.`);let i=promptContent(e);r.tools.clear();let a=Promise.withResolvers(),o={cancelRequested:!1,protocolCancelled:!1,outboundController:new AbortController,settled:a.promise,resolveSettled:a.resolve};r.active=o;let onProtocolCancel=()=>{o.protocolCancelled=!0,this.#o(r).catch(()=>void 0)};n.aborted?onProtocolCancel():n.addEventListener(`abort`,onProtocolCancel,{once:!0});try{if(o.protocolCancelled)throw RequestError.requestCancelled({sessionId:e.sessionId});let a={message:i};for(;;){let i;if(r.client===void 0){if(a.message===void 0)throw Error(`ACP session has not started.`);let e=await this.#e.sessions.create({...a,message:a.message});r.client=e.session,i=e.response}else i=a.inputResponses===void 0?await r.client.send(a.message):await r.client.respond(a.inputResponses);(o.cancelRequested||o.protocolCancelled)&&await this.#o(r);let s=[],c=!1,l,u;for await(let n of i){let i=`data`in n?n.data:void 0,a=i!==void 0&&`turnId`in i?i.turnId:void 0;typeof a==`string`&&(o.turnId=a),n.type===`input.requested`&&s.push(...n.data.requests),n.type===`authorization.required`&&(u=unsupported(`Connection authorization cannot be completed through eve ACP mode.`)),n.type===`turn.cancelled`&&(c=!0),(n.type===`turn.failed`||n.type===`session.failed`)&&(l=n),await this.#c(e.sessionId,r,n,t)}if(o.protocolCancelled)throw RequestError.requestCancelled({sessionId:e.sessionId});if(c||o.cancelRequested)return{stopReason:`cancelled`};if(l!==void 0)throw await this.#l(e.sessionId,r,t),eveFailure(l);if(u!==void 0)throw u;if(s.length===0)return{stopReason:`end_turn`};let d;try{d=await Promise.all(s.map(i=>this.#d(e.sessionId,r,i,t,n)))}catch(t){if(o.protocolCancelled)throw RequestError.requestCancelled({sessionId:e.sessionId});if(o.cancelRequested)return{stopReason:`cancelled`};throw t}if(o.protocolCancelled)throw RequestError.requestCancelled({sessionId:e.sessionId});if(o.cancelRequested)return{stopReason:`cancelled`};a={inputResponses:d}}}catch(e){throw acpRequestError(e)}finally{n.removeEventListener(`abort`,onProtocolCancel),r.tools.clear(),o.resolveSettled(),r.active===o&&(r.active=void 0)}}async cancel(e){let t=this.#i.get(e);t!==void 0&&t.active!==void 0&&(t.active.cancelRequested=!0,await this.#o(t))}async closeSession(e){let t=this.#s(e);this.#i.delete(e),await this.#a(t)}async close(){let e=[...this.#i.values()];this.#i.clear(),await Promise.allSettled(e.map(e=>this.#a(e)))}async#a(e){let t;if(e.active!==void 0){let n=e.active;n.cancelRequested=!0;try{await this.#o(e)}catch(e){t=e}await n.settled}try{await e.client?.reset()}catch(e){throw t===void 0?e:AggregateError([t,e],`Could not cancel or reset the eve session`)}if(t!==void 0)throw t}async#o(e){e.active?.outboundController.abort(),e.client!==void 0&&await e.client.cancel(e.active?.turnId===void 0?void 0:{turnId:e.active.turnId})}#s(e){let t=this.#i.get(e);if(t===void 0)throw RequestError.invalidParams({sessionId:e},`Unknown or closed ACP session`);return t}async#c(e,t,n,r){let i=t.projection;if(t.projection=foldSession(i,n),await this.#u(e,t,n,r),n.type===`actions.requested`)return;let a=new Set,{calls:o,tasks:s,turns:c}=t.projection;if(o!==i.calls||s!==i.tasks||c!==i.turns)for(let s of Object.keys(o)){if(!t.tools.has(s))continue;let o=callStatus(t.projection,s);o!==void 0&&o!==callStatus(i,s)&&(a.add(s),await notifyUpdate(r,e,{sessionUpdate:`tool_call_update`,toolCallId:s,status:ACP_TOOL_STATUS[o],...callOutput(n,s),...resultTitle(n,s)}))}let l=n.type===`action.result`?n.data.result.callId:n.type===`task.settled`?n.data.callId:void 0;if(l===void 0||a.has(l)||!t.tools.has(l))return;let u=callOutput(n,l),d=callStatus(t.projection,l);`content`in u&&d!==void 0&&await notifyUpdate(r,e,{sessionUpdate:`tool_call_update`,toolCallId:l,status:ACP_TOOL_STATUS[d],...u,...resultTitle(n,l)})}async#l(e,t,n){for(let r of t.tools.keys())callStatus(t.projection,r)===`running`&&await notifyUpdate(n,e,{sessionUpdate:`tool_call_update`,toolCallId:r,status:ACP_TOOL_STATUS.failed})}async#u(e,t,n,r){switch(n.type){case`message.appended`:await notifyUpdate(r,e,{sessionUpdate:`agent_message_chunk`,content:{type:`text`,text:n.data.messageDelta},messageId:`${n.data.turnId}:message:${n.data.stepIndex}`});return;case`reasoning.appended`:await notifyUpdate(r,e,{sessionUpdate:`agent_thought_chunk`,content:{type:`text`,text:n.data.reasoningDelta},messageId:`${n.data.turnId}:thought:${n.data.stepIndex}`});return;case`actions.requested`:for(let i of visibleActions(n.data.actions)){let a=toolCallForAction(i,n.data.presentation);t.tools.set(i.callId,a),await notifyUpdate(r,e,{sessionUpdate:`tool_call`,...a})}return;default:return}}async#d(e,t,n,r,i){let a=AbortSignal.any([i,t.active.outboundController.signal]);if(n.display===`confirmation`){let i=`${n.requestId}:approve`,o=`${n.requestId}:deny`,s=t.tools.get(n.action.callId)??toolCallForAction(n.action),c=await r.request(methods.client.session.requestPermission,{sessionId:e,toolCall:s,options:[{kind:`allow_once`,name:`Approve`,optionId:i},{kind:`reject_once`,name:`Deny`,optionId:o}]},{cancellationSignal:a});if(c.outcome.outcome===`cancelled`)return this.#f(t),{requestId:n.requestId};if(c.outcome.optionId===i)return{requestId:n.requestId,optionId:`approve`};if(c.outcome.optionId===o)return{requestId:n.requestId,optionId:`deny`};throw RequestError.invalidParams({optionId:c.outcome.optionId},`Unknown ACP permission option`)}if(!this.#r)throw unsupported(`The ACP client does not support form elicitation required by this eve question.`);let o=elicitationProperty(n),s=await r.request(methods.client.elicitation.create,{mode:`form`,sessionId:e,message:n.prompt,requestedSchema:{type:`object`,properties:{[ANSWER_FIELD]:o},required:[ANSWER_FIELD]}},{cancellationSignal:a});if(s.action!==`accept`)return this.#f(t),{requestId:n.requestId};let c=s.content?.[ANSWER_FIELD];if(typeof c!=`string`)throw RequestError.invalidParams(s.content,`ACP elicitation response must contain a string answer`);if(n.display===`select`){if(!n.options?.some(e=>e.id===c))throw RequestError.invalidParams({answer:c},`Unknown eve question option`);return{requestId:n.requestId,optionId:c}}return{requestId:n.requestId,text:c}}#f(e){let t=e.active;t.cancelRequested=!0,t.outboundController.abort()}};async function normalizedRealpath(e,t){try{return await realpath(e)}catch(n){throw RequestError.invalidParams({path:e},`Could not resolve ${t}: ${errorMessage(n)}`)}}function promptContent(e){let t=e.prompt.map(e=>{if(e.type!==`text`)throw unsupported(`ACP prompt content type ${JSON.stringify(e.type)} is not supported.`);return{type:`text`,text:e.text}});if(t.every(e=>e.text.length===0))throw RequestError.invalidParams(e.prompt,`ACP prompt must contain at least one non-empty text block`);return t}function toolCallForAction(e,t){return{toolCallId:e.callId,title:actionLabel(e,t),kind:`other`,status:`pending`,rawInput:e.input}}function elicitationProperty(e){if(e.display===`select`&&e.allowFreeform!==!0&&e.options?.length)return{type:`string`,title:e.prompt,oneOf:e.options.map(e=>({const:e.id,title:e.label,description:e.description}))};if(e.display===`text`&&e.allowFreeform!==!1)return{type:`string`,title:e.prompt,minLength:1};throw unsupported(`This eve question shape cannot be represented by ACP form elicitation.`)}async function notifyUpdate(e,t,n){await e.notify(methods.client.session.update,{sessionId:t,update:n})}function stringifyOutput(e){return typeof e==`string`?e:JSON.stringify(e,null,2)}function unsupported(e){return new RequestError(-32003,e)}function eveFailure(e){return new RequestError(ERROR_CODE_EVE,e.data.message,{code:e.data.code,details:e.data.details})}function acpRequestError(e){return e instanceof RequestError?e:e instanceof ClientError?new RequestError(ERROR_CODE_EVE,e.message,{httpStatus:e.status}):new RequestError(ERROR_CODE_EVE,errorMessage(e))}function errorMessage(e){return e instanceof Error?e.message:String(e)}function resultTitle(e,t){let n=e.type===`action.result`?e.data.presentation?.[t]?.label:void 0;return n===void 0?{}:{title:n}}function callOutput(e,t){let n=e.type===`action.result`&&e.data.result.callId===t?e.data.result.output:e.type===`task.settled`&&e.data.callId===t?e.data.output===void 0?e.data.error?.message:e.data.output:void 0;return n===void 0?{}:{content:[{type:`content`,content:{type:`text`,text:stringifyOutput(n)}}],rawOutput:n}}export{EveAcpAdapter};
1
+ import{randomUUID}from"node:crypto";import{realpath}from"node:fs/promises";import{PROTOCOL_VERSION,RequestError,methods}from"#compiled/@agentclientprotocol/sdk/index.js";import{Client,ClientError}from"#client/index.js";import{isFactType}from"#protocol/session-events/catalog.js";import{emptySessionView,foldReceivedEvent}from"#protocol/session-projection/fold.js";import{interaction}from"#protocol/session-projection/reader.js";import{callLabel,callOutputSource,callState}from"#protocol/session-projection/selectors.js";import{actionLabel}from"#shared/action-label.js";import{failureOf}from"#client/session-utils.js";const ANSWER_FIELD=`answer`,ERROR_CODE_EVE=-32002;function acpStatus(e,t){switch(callState(e,t)){case void 0:return;case`requested`:case`approval`:return`pending`;case`running`:case`blocked`:return`in_progress`;case`completed`:return`completed`;default:return`failed`}}var EveAcpAdapter=class{#e;#t;#n;#r=!1;#i=new Map;constructor(e){this.#t=e.eveVersion,this.#n=e.workspaceRoot,this.#e=e.client??new Client({auth:e.auth,headers:e.headers,baseUrl:e.serverUrl,redirect:`manual`})}initialize(e){return this.#r=e.clientCapabilities?.elicitation?.form!==void 0,{protocolVersion:PROTOCOL_VERSION,agentCapabilities:{loadSession:!1,promptCapabilities:{},sessionCapabilities:{close:{}}},agentInfo:{name:`eve`,title:`eve`,version:this.#t},authMethods:[]}}async newSession(e){if(e.mcpServers.length>0)throw unsupported(`Client-provided MCP servers are not supported by eve ACP mode.`);if((e.additionalDirectories?.length??0)>0)throw unsupported(`Additional workspace directories are not supported by eve ACP mode.`);if(this.#n!==void 0){let t=await normalizedRealpath(e.cwd,`session/new.cwd`),n=await normalizedRealpath(this.#n,`the eve application root`);if(t!==n)throw RequestError.invalidParams({cwd:e.cwd,workspaceRoot:n},`ACP cwd must be the eve application root`)}let t=randomUUID();return this.#i.set(t,{view:emptySessionView(),tools:new Map,parts:new Map}),{sessionId:t}}async prompt(e,t,n){let r=this.#s(e.sessionId);if(r.active!==void 0)throw new RequestError(-32001,`ACP session ${e.sessionId} already has an active prompt.`);let i=promptContent(e);r.tools.clear(),r.parts.clear();let a=Promise.withResolvers(),o={cancelRequested:!1,protocolCancelled:!1,outboundController:new AbortController,settled:a.promise,resolveSettled:a.resolve};r.active=o;let onProtocolCancel=()=>{o.protocolCancelled=!0,this.#o(r).catch(()=>void 0)};n.aborted?onProtocolCancel():n.addEventListener(`abort`,onProtocolCancel,{once:!0});try{if(o.protocolCancelled)throw RequestError.requestCancelled({sessionId:e.sessionId});let a={message:i};for(;;){let i;if(r.client===void 0){if(a.message===void 0)throw Error(`ACP session has not started.`);let e=await this.#e.sessions.create({...a,message:a.message});r.client=e.session,i=e.delivery}else i=a.answers===void 0?await r.client.send(a.message):await r.client.respond(a.answers);(o.cancelRequested||o.protocolCancelled)&&await this.#o(r);let s=[],c=!1,l,u;for await(let n of i.stream()){let i=`data`in n?n.data:void 0,a=i!==void 0&&`turnId`in i?i.turnId:void 0;if(typeof a==`string`&&(o.turnId=a),n.type===`interaction.opened`&&n.data.request.kind===`sign-in`&&(u=unsupported(`Connection authorization cannot be completed through eve ACP mode.`)),n.type===`turn.settled`&&n.data.outcome===`cancelled`&&(c=!0),l=failureOf(n)??l,await this.#c(e.sessionId,r,n,t),n.type===`interaction.opened`){let e=interaction(r.view,n.data.interactionId);e!==void 0&&e.request.kind!==`sign-in`&&s.push(e)}}if(o.protocolCancelled)throw RequestError.requestCancelled({sessionId:e.sessionId});if(o.cancelRequested||c&&l===void 0)return{stopReason:`cancelled`};if(l!==void 0)throw await this.#l(e.sessionId,r,t),eveFailure(l);if(u!==void 0)throw u;if(s.length===0)return{stopReason:`end_turn`};let d;try{d=await Promise.all(s.map(i=>this.#d(e.sessionId,r,i,t,n)))}catch(t){if(o.protocolCancelled)throw RequestError.requestCancelled({sessionId:e.sessionId});if(o.cancelRequested)return{stopReason:`cancelled`};throw t}if(o.protocolCancelled)throw RequestError.requestCancelled({sessionId:e.sessionId});if(o.cancelRequested)return{stopReason:`cancelled`};a={answers:d}}}catch(e){throw acpRequestError(e)}finally{n.removeEventListener(`abort`,onProtocolCancel),r.tools.clear(),o.resolveSettled(),r.active===o&&(r.active=void 0)}}async cancel(e){let t=this.#i.get(e);t!==void 0&&t.active!==void 0&&(t.active.cancelRequested=!0,await this.#o(t))}async closeSession(e){let t=this.#s(e);this.#i.delete(e),await this.#a(t)}async close(){let e=[...this.#i.values()];this.#i.clear(),await Promise.allSettled(e.map(e=>this.#a(e)))}async#a(e){let t;if(e.active!==void 0){let n=e.active;n.cancelRequested=!0;try{await this.#o(e)}catch(e){t=e}await n.settled}try{await e.client?.reset()}catch(e){throw t===void 0?e:AggregateError([t,e],`Could not cancel or reset the eve session`)}if(t!==void 0)throw t}async#o(e){e.active?.outboundController.abort(),e.client!==void 0&&await e.client.cancel(e.active?.turnId===void 0?void 0:{turnId:e.active.turnId})}#s(e){let t=this.#i.get(e);if(t===void 0)throw RequestError.invalidParams({sessionId:e},`Unknown or closed ACP session`);return t}async#c(e,t,n,r){if(!isFactType(n.type)){await this.#u(e,t,n,r);return}if(foldReceivedEvent(t.view,n),await this.#u(e,t,n,r),n.type===`call.requested`)return;let i=n.type===`call.settled`?n.data.callId:void 0;for(let[a,o]of t.tools){let s=acpStatus(t.view,a);if(s===void 0)continue;let c=callOutput(n,a,t.view);(s!==o.status||a===i&&`content`in c)&&(t.tools.set(a,{...o,status:s}),await notifyUpdate(r,e,{sessionUpdate:`tool_call_update`,toolCallId:a,status:s,...c,...resultTitle(n,a)}))}}async#l(e,t,n){for(let r of t.tools.keys())acpStatus(t.view,r)===`in_progress`&&await notifyUpdate(n,e,{sessionUpdate:`tool_call_update`,toolCallId:r,status:`failed`})}async#u(e,t,n,r){switch(n.type){case`content.delta`:{let{partId:i,kind:a,delta:o}=n.data;a===`text`?t.parts.set(i,`text`):a===`reasoning`&&t.parts.set(i,`reasoning`);let s=t.parts.get(i);if(s===void 0||o===void 0)return;await notifyUpdate(r,e,{sessionUpdate:s===`text`?`agent_message_chunk`:`agent_thought_chunk`,content:{type:`text`,text:o},messageId:i});return}case`content.completed`:{let{partId:i,kind:a,value:o}=n.data;if(t.parts.has(i)||typeof o!=`string`||a!==`text`&&a!==`reasoning`)return;t.parts.set(i,a===`text`?`text`:`reasoning`),await notifyUpdate(r,e,{sessionUpdate:a===`text`?`agent_message_chunk`:`agent_thought_chunk`,content:{type:`text`,text:o},messageId:i});return}case`call.requested`:{let{callId:i,capability:a,input:o}=n.data,s=t.view.calls[i];if(a.kind===`control`||s===void 0)return;let c={toolCallId:i,title:callLabel(s),kind:`other`,status:`pending`,rawInput:o};t.tools.set(i,c),await notifyUpdate(r,e,{sessionUpdate:`tool_call`,...c});return}default:return}}async#d(e,t,n,r,i){let a=AbortSignal.any([i,t.active.outboundController.signal]);if(n.request.display===`confirmation`){let i=`${n.interactionId}:approve`,o=`${n.interactionId}:deny`,s=(n.call===void 0?void 0:t.tools.get(n.call.callId))??toolCallForAsked(n),c=await r.request(methods.client.session.requestPermission,{sessionId:e,toolCall:s,options:[{kind:`allow_once`,name:`Approve`,optionId:i},{kind:`reject_once`,name:`Deny`,optionId:o}]},{cancellationSignal:a});if(c.outcome.outcome===`cancelled`)return this.#f(t),{interactionId:n.interactionId};if(c.outcome.optionId===i)return{interactionId:n.interactionId,optionId:`approve`};if(c.outcome.optionId===o)return{interactionId:n.interactionId,optionId:`deny`};throw RequestError.invalidParams({optionId:c.outcome.optionId},`Unknown ACP permission option`)}if(!this.#r)throw unsupported(`The ACP client does not support form elicitation required by this eve question.`);let o=elicitationProperty(n),s=await r.request(methods.client.elicitation.create,{mode:`form`,sessionId:e,message:n.request.prompt,requestedSchema:{type:`object`,properties:{[ANSWER_FIELD]:o},required:[ANSWER_FIELD]}},{cancellationSignal:a});if(s.action!==`accept`)return this.#f(t),{interactionId:n.interactionId};let c=s.content?.[ANSWER_FIELD];if(typeof c!=`string`)throw RequestError.invalidParams(s.content,`ACP elicitation response must contain a string answer`);if(n.request.display===`select`){if(!n.request.options?.some(e=>e.id===c))throw RequestError.invalidParams({answer:c},`Unknown eve question option`);return{interactionId:n.interactionId,optionId:c}}return{interactionId:n.interactionId,text:c}}#f(e){let t=e.active;t.cancelRequested=!0,t.outboundController.abort()}};async function normalizedRealpath(e,t){try{return await realpath(e)}catch(n){throw RequestError.invalidParams({path:e},`Could not resolve ${t}: ${errorMessage(n)}`)}}function promptContent(e){let t=e.prompt.map(e=>{if(e.type!==`text`)throw unsupported(`ACP prompt content type ${JSON.stringify(e.type)} is not supported.`);return{type:`text`,text:e.text}});if(t.every(e=>e.text.length===0))throw RequestError.invalidParams(e.prompt,`ACP prompt must contain at least one non-empty text block`);return t}function toolCallForAsked(e){let t=e.call?.name??e.request.kind;return{toolCallId:e.call?.callId??e.interactionId,title:actionLabel({callId:e.call?.callId??``,input:{},kind:`tool-call`,toolName:t},void 0),kind:`other`,status:`pending`,rawInput:e.call?.input??{}}}function elicitationProperty(e){if(e.request.display===`select`&&e.request.allowFreeform!==!0&&e.request.options?.length)return{type:`string`,title:e.request.prompt,oneOf:e.request.options.map(e=>({const:e.id,title:e.label,description:e.description}))};if(e.request.display===`text`&&e.request.allowFreeform!==!1)return{type:`string`,title:e.request.prompt,minLength:1};throw unsupported(`This eve question shape cannot be represented by ACP form elicitation.`)}async function notifyUpdate(e,t,n){await e.notify(methods.client.session.update,{sessionId:t,update:n})}function stringifyOutput(e){return typeof e==`string`?e:JSON.stringify(e,null,2)}function unsupported(e){return new RequestError(-32003,e)}function eveFailure(e){return new RequestError(ERROR_CODE_EVE,e.message,{code:e.code,id:e.id,hint:e.hint})}function acpRequestError(e){return e instanceof RequestError?e:e instanceof ClientError?new RequestError(ERROR_CODE_EVE,e.message,{httpStatus:e.status}):new RequestError(ERROR_CODE_EVE,errorMessage(e))}function errorMessage(e){return e instanceof Error?e.message:String(e)}function resultTitle(e,t){let n=e.type===`call.settled`&&e.data.callId===t?e.data.label:void 0;return n===void 0?{}:{title:n}}function callOutput(e,t,n){if(e.type!==`call.settled`||e.data.callId!==t)return{};let r=e.data.outputOf,i=r===void 0?void 0:callOutputSource(n,r.callId)?.output,a=e.data.output===void 0?i===void 0?e.data.error?.message:i:e.data.output;return a===void 0?{}:{content:[{type:`content`,content:{type:`text`,text:stringifyOutput(a)}}],rawOutput:a}}export{EveAcpAdapter};
@@ -1,7 +1,3 @@
1
- import { experimental_decide as decideWithAiSdk, type Experimental_DecisionModel as DecisionModel, type Experimental_DecisionQuestion as DecisionQuestion } from "ai";
2
- export declare const DEFAULT_DECISION_MODEL = "typesafe-ai/jev";
3
- /** Decide typed questions about the state you pass to it using eve's model authentication. */
4
- export declare function decide<const Questions extends Record<string, DecisionQuestion>>({ model, ...options }: Omit<Parameters<typeof decideWithAiSdk<Questions>>[0], "model"> & {
5
- /** Decision model instance or ID. Defaults to TypeSafe Jev. */
6
- model?: DecisionModel;
7
- }): Promise<import("ai").Experimental_DecisionResult<Questions>>;
1
+ import type { DecisionOptions, DecisionQuestion, DecisionResult } from "#ai/decision-types.js";
2
+ /** Decide typed questions about shared state using eve's model authentication. */
3
+ export declare function decide<const Questions extends Readonly<Record<string, DecisionQuestion>>>(options: DecisionOptions<Questions>): Promise<DecisionResult<Questions>>;
@@ -1 +1 @@
1
- import{experimental_decide}from"ai";import{ensureAiSdkWarningLogger}from"#instrumentation/ai-sdk-warnings.js";import{localGatewayDecisionModel}from"#internal/model-auth/transport.js";const DEFAULT_DECISION_MODEL=`typesafe-ai/jev`;function decide({model:e=DEFAULT_DECISION_MODEL,...t}){return ensureAiSdkWarningLogger(),experimental_decide({...t,model:typeof e==`string`&&Reflect.get(globalThis,`AI_SDK_DEFAULT_PROVIDER`)==null?localGatewayDecisionModel(e)??e:e})}export{DEFAULT_DECISION_MODEL,decide};
1
+ import{decideWithMetadata}from"#ai/decision-adapter.js";async function decide(e){let t=await decideWithMetadata(e);return{answers:t.answers,usage:{inputTokens:t.usage.inputTokens,outputTokens:t.usage.outputTokens,totalTokens:t.usage.totalTokens}}}export{decide};
@@ -0,0 +1,7 @@
1
+ import { experimental_decide as decideWithAiSdk } from "ai";
2
+ import type { DecisionOptions, DecisionQuestion } from "#ai/decision-types.js";
3
+ export declare const DEFAULT_DECISION_MODEL = "typesafe-ai/jev";
4
+ /** Internal eval diagnostics retain SDK metadata without promising it to applications. */
5
+ export declare function decideWithMetadata<const Questions extends Readonly<Record<string, DecisionQuestion>>>({ model, state, questions, maxRetries, signal, providerOptions, }: DecisionOptions<Questions> & {
6
+ readonly providerOptions?: Parameters<typeof decideWithAiSdk>[0]["providerOptions"];
7
+ }): Promise<import("ai").Experimental_DecisionResult<Questions>>;
@@ -0,0 +1 @@
1
+ import{experimental_decide}from"ai";import{ensureAiSdkWarningLogger}from"#instrumentation/ai-sdk-warnings.js";import{localGatewayDecisionModel}from"#internal/model-auth/transport.js";const DEFAULT_DECISION_MODEL=`typesafe-ai/jev`;function decideWithMetadata({model:e=DEFAULT_DECISION_MODEL,state:t,questions:n,maxRetries:r,signal:i,providerOptions:a}){if(ensureAiSdkWarningLogger(),typeof e!=`string`&&typeof Reflect.get(e,`doDecide`)!=`function`&&typeof Reflect.get(e,`doEvaluate`)!=`function`)throw TypeError(`decide requires a provider decision model implementation, not just its identity.`);return experimental_decide({model:typeof e==`string`&&Reflect.get(globalThis,`AI_SDK_DEFAULT_PROVIDER`)==null?localGatewayDecisionModel(e)??e:e,state:t,questions:n,maxRetries:r,abortSignal:i,providerOptions:a})}export{DEFAULT_DECISION_MODEL,decideWithMetadata};
@@ -0,0 +1,86 @@
1
+ import type { HistoryMessage } from "#shared/history-message.js";
2
+ import type { JsonObject, JsonValue } from "#shared/json.js";
3
+ /** A model ID or an installed provider's decision model instance.
4
+ * The installed AI SDK validates the model specification at runtime.
5
+ * An identity object without a decision implementation is not a model.
6
+ */
7
+ export type DecisionModel = string | ({
8
+ readonly provider: string;
9
+ readonly modelId: string;
10
+ readonly specificationVersion: string;
11
+ } & ({
12
+ readonly doDecide: (...args: never[]) => unknown;
13
+ } | {
14
+ readonly doEvaluate: (...args: never[]) => unknown;
15
+ }));
16
+ /** Text, an object, or ordered multimodal parts shared by every question. */
17
+ export type DecisionState = string | JsonObject | readonly DecisionStatePart[];
18
+ type UserContent = Extract<HistoryMessage, {
19
+ role: "user";
20
+ }>["content"];
21
+ /** One text, file, or JSON part of shared decision state. */
22
+ export type DecisionStatePart = Extract<Exclude<UserContent, string>[number], {
23
+ type: "text" | "file";
24
+ }> | {
25
+ readonly type: "json";
26
+ readonly value: JsonValue;
27
+ };
28
+ /** Text or JSON used to describe a question or rubric entry. */
29
+ export type DecisionInput = string | JsonObject | readonly JsonValue[];
30
+ /** One independently answered choice, ordered score, or probability question. */
31
+ export type DecisionQuestion = {
32
+ readonly type: "choice";
33
+ readonly instructions: DecisionInput;
34
+ readonly criteria: Readonly<Record<string, DecisionInput | null>>;
35
+ } | {
36
+ readonly type: "score";
37
+ readonly instructions: DecisionInput;
38
+ readonly criteria: readonly (DecisionInput | null)[];
39
+ } | {
40
+ readonly type: "boolean";
41
+ readonly instructions: DecisionInput;
42
+ readonly criteria?: {
43
+ readonly true?: DecisionInput | null;
44
+ readonly false?: DecisionInput | null;
45
+ };
46
+ };
47
+ /** Answer inferred from the authored question and its choice keys. */
48
+ export type DecisionAnswer<Q extends DecisionQuestion> = Q extends {
49
+ type: "choice";
50
+ criteria: infer Criteria;
51
+ } ? {
52
+ readonly type: "choice";
53
+ readonly choice: Extract<keyof Criteria, string>;
54
+ readonly probabilities?: Readonly<Record<Extract<keyof Criteria, string>, number>>;
55
+ } : Q extends {
56
+ type: "score";
57
+ } ? {
58
+ readonly type: "score";
59
+ readonly score: number;
60
+ readonly probabilities?: Readonly<Record<string, number>>;
61
+ } : {
62
+ readonly type: "boolean";
63
+ readonly probability: number;
64
+ };
65
+ /** Typed answers and normalized token usage; provider metadata stays internal. */
66
+ export interface DecisionResult<Questions extends Readonly<Record<string, DecisionQuestion>>> {
67
+ readonly answers: {
68
+ readonly [Id in keyof Questions]: DecisionAnswer<Questions[Id]>;
69
+ };
70
+ readonly usage: {
71
+ readonly inputTokens: number | undefined;
72
+ readonly outputTokens: number | undefined;
73
+ readonly totalTokens: number | undefined;
74
+ };
75
+ }
76
+ /** Stable options accepted by eve's standalone decision API. */
77
+ export interface DecisionOptions<Questions extends Readonly<Record<string, DecisionQuestion>>> {
78
+ /** Defaults to TypeSafe Jev, using eve's normal model authentication. */
79
+ readonly model?: DecisionModel;
80
+ readonly state: DecisionState;
81
+ readonly questions: Questions;
82
+ /** Maximum retries for transient provider failures. Defaults to 2. */
83
+ readonly maxRetries?: number;
84
+ readonly signal?: AbortSignal;
85
+ }
86
+ export {};
@@ -3,7 +3,7 @@ import type { SessionParent, SessionTurn } from "#context/keys.js";
3
3
  import type { ToolAuthOptions, ToolAuthProvider } from "#tools/auth.js";
4
4
  import type { SessionContext } from "#context/session-context.js";
5
5
  import type { TokenResult } from "#shared/connection-types.js";
6
- type ApprovalToolInput<TInput> = TInput extends object ? Readonly<TInput> : TInput;
6
+ export type ApprovalToolInput<TInput> = TInput extends object ? Readonly<TInput> : TInput;
7
7
  /** Context passed to an approval prompt callback. */
8
8
  export interface ApprovalPromptContext<TInput = Record<string, unknown>> {
9
9
  /** Id of the tool call awaiting approval. */
@@ -24,7 +24,6 @@ export type ApprovalPrompt<TInput = Record<string, unknown>> = (context: Approva
24
24
  export interface ApprovalContext<TInput = Record<string, unknown>> extends SessionContext {
25
25
  /** Cancels policy work when the active model generation is cancelled. */
26
26
  readonly abortSignal: AbortSignal;
27
- readonly approvedTools: ReadonlySet<string>;
28
27
  readonly callId: string;
29
28
  /**
30
29
  * Behavior hints the connection's server declared for this tool, such as
@@ -72,7 +71,7 @@ export type ApprovalPolicy<TInput = Record<string, unknown>> = (ctx: ApprovalCon
72
71
  /** Stable tool request passed to a response authorizer. */
73
72
  export interface ApprovalRequest<TInput = Record<string, unknown>> {
74
73
  readonly callId: string;
75
- readonly requestId: string;
74
+ readonly interactionId: string;
76
75
  /**
77
76
  * Who requested the tool call: the auth of the caller whose turn made it,
78
77
  * captured when the approval was requested. It stays the same while the
@@ -97,7 +96,7 @@ export interface ApprovalResponseAuth {
97
96
  }
98
97
  /** Submitted response passed to an approval response policy. */
99
98
  export interface ApprovalResponse {
100
- readonly decision: "approve" | "cancel";
99
+ readonly decision: "approve" | "deny";
101
100
  /**
102
101
  * Who submitted the response: the authenticated principal, including its
103
102
  * `principalId`, `principalType`, `authenticator`, and `attributes`.
@@ -125,18 +124,12 @@ export type ApprovalResponseDecision = {
125
124
  export type ApprovalResponsePolicy<TInput = Record<string, unknown>> = (ctx: ApprovalResponseContext<TInput>) => ApprovalResponseDecision | Promise<ApprovalResponseDecision>;
126
125
  /** Approval definition with request- and response-time policy. */
127
126
  export interface ApprovalConfiguration<TInput = Record<string, unknown>> {
127
+ /** Optional human-readable prompt shown when this call requires approval. */
128
+ readonly prompt?: ApprovalPrompt<TInput>;
128
129
  readonly request: ApprovalPolicy<TInput>;
129
130
  readonly response?: ApprovalResponsePolicy<TInput>;
130
131
  }
131
132
  /** Shared approval definition used by authored tools and connections. */
132
133
  export type Approval<TInput = Record<string, unknown>> = ApprovalPolicy<TInput> | ApprovalConfiguration<TInput>;
133
- /** Approval configuration for a tool, including its optional presentation prompt. */
134
- export interface ToolApprovalConfiguration<TInput = Record<string, unknown>> extends ApprovalConfiguration<TInput> {
135
- /** Optional human-readable prompt shown when this tool requires approval. */
136
- readonly prompt?: ApprovalPrompt<TInput>;
137
- }
138
- /** Approval definition used by authored tools. */
139
- export type ToolApproval<TInput = Record<string, unknown>> = ApprovalPolicy<TInput> | ToolApprovalConfiguration<TInput>;
140
134
  /** Returns the request-time policy from either approval authoring shape. */
141
135
  export declare function resolveApprovalPolicy<TInput>(approval: Approval<TInput>): ApprovalPolicy<TInput>;
142
- export {};
@@ -0,0 +1,48 @@
1
+ import type { ApprovalContext, ApprovalPolicy, ApprovalStatus } from "#approval/definition.js";
2
+ import { type ApprovalDecision } from "#approval/status.js";
3
+ import type { JsonValue } from "#shared/json.js";
4
+ /** A person's decision on a request that asked to be remembered, kept under the request's key. */
5
+ export interface RememberedApproval {
6
+ readonly outcome: "accepted" | "declined";
7
+ /** The interaction whose settlement recorded the decision. */
8
+ readonly interactionId: string;
9
+ readonly state?: JsonValue;
10
+ }
11
+ /** Where a request's settlement is remembered, with the state the policy attached. */
12
+ export interface RememberRequest {
13
+ readonly key: string;
14
+ readonly state?: JsonValue;
15
+ }
16
+ /** What policies can read: remembered decisions, and the keys open requests will record under. */
17
+ export interface ApprovalMemory {
18
+ readonly remembered: Readonly<Record<string, RememberedApproval>>;
19
+ readonly pending: readonly string[];
20
+ }
21
+ /**
22
+ * The harness's evaluation of one call's approval policy, private to eve's own policies. Keys are
23
+ * scoped to the tool the harness resolved: a policy can't read or record another tool's decisions,
24
+ * whatever key it names or however it renames its context.
25
+ */
26
+ export interface ApprovalEvaluation {
27
+ readonly recheck: boolean;
28
+ readonly read: (key: string) => {
29
+ readonly entry?: RememberedApproval;
30
+ readonly pending: boolean;
31
+ };
32
+ /** Asks a person; their decision is remembered under `remember.key` when it settles. */
33
+ readonly ask: (remember: RememberRequest) => ApprovalStatus;
34
+ }
35
+ export declare function approvalEvaluation(context: ApprovalContext): ApprovalEvaluation | undefined;
36
+ /** Runs `policy` for one call. A person who already approved the call isn't asked again. */
37
+ export declare function evaluateApproval(policy: ApprovalPolicy, context: ApprovalContext, input?: {
38
+ readonly memory?: ApprovalMemory;
39
+ readonly recheck?: boolean;
40
+ }): Promise<ApprovalDecision>;
41
+ /** Remembers a person's decision under the key its request named, replacing an earlier one. */
42
+ export declare function rememberDecision(remembered: Readonly<Record<string, RememberedApproval>>, request: {
43
+ readonly interactionId: string;
44
+ readonly remember?: RememberRequest;
45
+ }, outcome: RememberedApproval["outcome"]): Readonly<Record<string, RememberedApproval>>;
46
+ export declare function inheritApprovalContext<T extends ApprovalContext>(source: ApprovalContext, context: T): T;
47
+ /** Whether `context` is the re-check of an approved call just before it runs. */
48
+ export declare function isApprovalRecheck(context: ApprovalContext): boolean;
@@ -0,0 +1 @@
1
+ import{approvalDecision}from"#approval/status.js";const NO_MEMORY={pending:[],remembered:{}},evaluationKey=Symbol.for(`eve.approval-evaluation`);function approvalEvaluation(e){return e[evaluationKey]}async function evaluateApproval(e,t,n={}){let{memory:r=NO_MEMORY,recheck:i=!1}=n,a=new WeakMap,scoped=e=>JSON.stringify([t.toolName,e]),o=Object.freeze({ask:e=>{let t=Object.freeze({type:`user-approval`});return a.set(t,{...e,key:scoped(e.key)}),t},read:e=>({entry:r.remembered[scoped(e)],pending:r.pending.includes(scoped(e))}),recheck:i}),s=await e({...t,[evaluationKey]:o}),c=approvalDecision(s);if(c.awaitsPerson!==!0)return c;if(i)return{denied:!1};let l=typeof s==`object`&&s?a.get(s):void 0;return l===void 0?c:{...c,remember:l}}function rememberDecision(e,t,n){let{remember:r}=t;return r===void 0?e:{...e,[r.key]:{interactionId:t.interactionId,outcome:n,...r.state!==void 0&&{state:r.state}}}}function inheritApprovalContext(e,t){let n=approvalEvaluation(e);return n===void 0||approvalEvaluation(t)===n?t:{...t,[evaluationKey]:n}}function isApprovalRecheck(e){return approvalEvaluation(e)?.recheck===!0}export{approvalEvaluation,evaluateApproval,inheritApprovalContext,isApprovalRecheck,rememberDecision};
@@ -0,0 +1,14 @@
1
+ import type { ApprovalStatus } from "#approval/definition.js";
2
+ import type { ClearedBy } from "#protocol/session-events/families/call.js";
3
+ import type { RememberRequest } from "#approval/evaluation.js";
4
+ export type NormalizedApprovalStatus = Exclude<ApprovalStatus, boolean>;
5
+ /** Normalize legacy predicates and reject malformed JavaScript policy returns before execution. */
6
+ export declare function normalizeApprovalStatus(value: unknown): NormalizedApprovalStatus;
7
+ export interface ApprovalDecision {
8
+ readonly remember?: RememberRequest;
9
+ readonly clearedBy?: ClearedBy;
10
+ readonly denied: boolean;
11
+ readonly awaitsPerson?: true;
12
+ readonly reason?: string;
13
+ }
14
+ export declare function approvalDecision(value: unknown): ApprovalDecision;
@@ -0,0 +1 @@
1
+ function normalizeApprovalStatus(e){if(e===void 0)return;if(e===!1)return`not-applicable`;if(e===!0)return`user-approval`;let t=typeof e==`object`&&e?Reflect.get(e,`type`):e;if(t!==`not-applicable`&&t!==`approved`&&t!==`denied`&&t!==`user-approval`)throw Error(`An approval policy must return an approval status, a boolean, or undefined.`);if(typeof e!=`object`||!e)return t;let n=Reflect.get(e,`reason`);if(n!==void 0&&(typeof n!=`string`||t!==`approved`&&t!==`denied`))throw Error(`Only approved and denied approval statuses accept a string reason.`);return t===`approved`||t===`denied`?n===void 0?{type:t}:{type:t,reason:n}:{type:t}}function approvalDecision(e){let t=normalizeApprovalStatus(e),n=typeof t==`object`?t.type:t,r=typeof t==`object`?t.reason:void 0;return n===`user-approval`?{denied:!1,awaitsPerson:!0}:n===`denied`?{denied:!0,reason:r}:n===`approved`?{denied:!1,clearedBy:{policy:`approval`}}:{denied:!1}}export{approvalDecision,normalizeApprovalStatus};
@@ -4,8 +4,6 @@ import type { ChannelAdapter, ChannelAdapterContext } from "#channel/adapter.js"
4
4
  * Builds the {@link ChannelAdapterContext} the runtime hands to an
5
5
  * adapter's `deliver` hook, event handlers, and attachment resolver.
6
6
  *
7
- * Populates `session` with a live {@link SessionHandle} backed by the
8
- * supplied accessor so handlers can read identity / auth and call
9
- * `session.continuation.alias(...)` to add an address for the parked session.
7
+ * Session metadata and channel continuation routing resolve live from the supplied accessor.
10
8
  */
11
9
  export declare function buildAdapterContext<TCtx extends ChannelAdapterContext<any> = ChannelAdapterContext>(adapter: ChannelAdapter<TCtx>, accessor: ContextAccessor): TCtx;
@@ -1 +1 @@
1
- import{buildSessionHandle}from"#channel/session.js";function buildAdapterContext(e,t){let n={ctx:t,state:e.state??{},session:buildSessionHandle(t)};return e.createAdapterContext?e.createAdapterContext(n):n}export{buildAdapterContext};
1
+ import{buildChannelContext}from"#channel/session.js";function buildAdapterContext(e,t){let n=buildChannelContext(t),r={ctx:t,state:e.state??{},session:n.session,get continuation(){return n.continuation}};return e.createAdapterContext?e.createAdapterContext(r):r}export{buildAdapterContext};
@@ -1,8 +1,11 @@
1
+ import type { SessionEvent } from "#protocol/session-event.js";
1
2
  import type { ContextAccessor } from "#context/key.js";
2
3
  import type { StepInput } from "#harness/types.js";
3
- import type { UnstampedMessageStreamEvent } from "#protocol/message.js";
4
- import type { SessionHandle } from "#channel/session.js";
4
+ import type { FactPosition, Scope } from "#protocol/session-events/envelope.js";
5
+ import type { ChannelContext } from "#shared/channel-context.js";
6
+ import type { SessionView } from "#protocol/session-projection/tables.js";
5
7
  import type { DeliverPayload } from "#channel/types.js";
8
+ import type { ChannelDelivery } from "#shared/channel-delivery.js";
6
9
  import type { UploadPolicy } from "#public/channels/upload-policy.js";
7
10
  import type { FetchFileContext, FetchFileResult, FetchFileFunction } from "#shared/channel-definition.js";
8
11
  import type { ChannelAudienceProjector } from "#channel/audience.js";
@@ -15,12 +18,10 @@ import type { ChannelAudienceProjector } from "#channel/audience.js";
15
18
  * `ctx` provides read/write access to durable context keys (the same
16
19
  * {@link ContextAccessor} that tools and providers use).
17
20
  *
18
- * `session` is a live handle to the current session — id, auth,
19
- * optional channel continuation address, including an imperative `alias()`
20
- * for channels that need to add an alias for the session mid-turn (e.g. Slack's
21
- * auto-anchor on first post).
21
+ * `session` supplies live identity/auth; `continuation` owns channel routing (such as
22
+ * Slack's auto-anchor on first post). Neither grants session command authority.
22
23
  */
23
- export interface ChannelAdapterContext<TState = Record<string, unknown>> {
24
+ export interface ChannelAdapterContext<TState = Record<string, unknown>> extends ChannelContext {
24
25
  /**
25
26
  * Mutable adapter state. Auto-serialized at step boundaries via
26
27
  * JSON snapshot. The adapter reads and writes this directly.
@@ -31,12 +32,14 @@ export interface ChannelAdapterContext<TState = Record<string, unknown>> {
31
32
  * to read during the turn.
32
33
  */
33
34
  readonly ctx: ContextAccessor;
34
- /**
35
- * Live handle to the current session.
36
- */
37
- readonly session: SessionHandle;
38
35
  /** @internal Independent source of a relayed child input batch. */
39
36
  readonly inputSource?: string;
37
+ /** Where the event a handler observes sits on the stream: its line, and its index there. */
38
+ readonly position?: FactPosition;
39
+ /** The event's owners: its turn, task, model run, or context change. */
40
+ readonly scope?: Scope;
41
+ /** The immutable snapshot of the event's line, supplied by its publisher. */
42
+ readonly view?: SessionView;
40
43
  }
41
44
  /**
42
45
  * Extracts the state type from a {@link ChannelAdapterContext} generic.
@@ -45,27 +48,28 @@ export interface ChannelAdapterContext<TState = Record<string, unknown>> {
45
48
  */
46
49
  type StateOf<TCtx> = TCtx extends ChannelAdapterContext<infer S> ? S : Record<string, unknown>;
47
50
  /**
48
- * Extracts the `data` field type from a stream event by its `type` discriminant.
49
- * Events that carry no `data` field (e.g. `session.completed`) resolve to `undefined`.
51
+ * A single outbound event handler. Receives the written event and the adapter context. Void
52
+ * return: side effects only.
50
53
  */
51
- type EventData<T extends UnstampedMessageStreamEvent["type"]> = Extract<UnstampedMessageStreamEvent, {
54
+ type EventHandler<T extends SessionEvent["type"], TCtx extends ChannelAdapterContext<any> = ChannelAdapterContext> = (event: Extract<SessionEvent, {
52
55
  type: T;
53
- }> extends {
54
- data: infer D;
55
- } ? D : undefined;
56
- /**
57
- * A single outbound event handler. Receives the event's `data` (not the full
58
- * envelope) and the adapter context. Void return — side effects only.
59
- */
60
- type EventHandler<T extends UnstampedMessageStreamEvent["type"], TCtx extends ChannelAdapterContext<any> = ChannelAdapterContext> = (data: EventData<T>, ctx: TCtx) => void | Promise<void>;
56
+ }>, ctx: TCtx) => void | Promise<void>;
61
57
  /**
62
58
  * Map of outbound event handlers keyed by event type. The adapter declares
63
59
  * handlers for the event types it cares about. For undeclared types, the
64
60
  * framework's default handlers run.
65
61
  */
66
62
  export type ChannelEventHandlers<TCtx extends ChannelAdapterContext<any> = ChannelAdapterContext> = {
67
- [K in UnstampedMessageStreamEvent["type"]]?: EventHandler<K, TCtx>;
63
+ [K in SessionEvent["type"]]?: EventHandler<K, TCtx>;
64
+ } & {
65
+ /** Runs once per committed line, after the line's event handlers. */
66
+ committed?: (line: CommittedLine, ctx: TCtx) => void | Promise<void>;
68
67
  };
68
+ /** A line the session committed: the facts its channel heard, in order, and its position. */
69
+ export interface CommittedLine {
70
+ readonly facts: readonly SessionEvent[];
71
+ readonly position: number;
72
+ }
69
73
  /**
70
74
  * Enriched return shape from a channel's {@link ChannelAdapter.fetchFile}
71
75
  * function. Return a bare {@link Buffer} when only bytes are known, or
@@ -150,11 +154,11 @@ export type ChannelAdapter<TCtx extends ChannelAdapterContext<any> = ChannelAdap
150
154
  * Produces the default {@link StepInput} when no custom adapter `deliver`
151
155
  * hook is defined.
152
156
  *
153
- * Passes through both `message` and `inputResponses` from the delivery
157
+ * Passes through both `message` and `answers` from the delivery
154
158
  * payload so tool-approval responses (and other HITL replies) reach the
155
159
  * harness even when the channel has no bespoke deliver logic.
156
160
  */
157
- export declare function defaultDeliverResult(payload: DeliverPayload): StepInput | undefined;
161
+ export declare function defaultDeliverResult(payload: Pick<ChannelDelivery, "message" | "answers" | "context" | "outputSchema">): StepInput | undefined;
158
162
  /**
159
163
  * Returns the durable kind for an adapter.
160
164
  */
@@ -166,4 +170,8 @@ export declare function getAdapterKind(adapter: ChannelAdapter): string;
166
170
  * Throwing handlers are logged and swallowed so a downstream delivery
167
171
  * failure does not corrupt the event stream write path.
168
172
  */
169
- export declare function callAdapterEventHandler(adapter: ChannelAdapter, event: UnstampedMessageStreamEvent, ctx: ChannelAdapterContext): Promise<UnstampedMessageStreamEvent>;
173
+ /**
174
+ * Runs the channel adapter's handler for one written event. Handlers observe; they never shape
175
+ * what is written, because the write already happened.
176
+ */
177
+ export declare function callAdapterEventHandler(adapter: ChannelAdapter, event: SessionEvent | CommittedLine, ctx: ChannelAdapterContext): Promise<void>;
@@ -1 +1 @@
1
- import{attachClientContext,readClientContext}from"#internal/client-context.js";import{attachInputText,readInputText}from"#internal/input-text.js";import{createLogger}from"#internal/logging.js";const log=createLogger(`channel.adapter`);function defaultDeliverResult(e){if(e.message!==void 0)return attachClientContext(attachInputText({inputResponses:e.inputResponses,message:e.message,context:e.context,outputSchema:e.outputSchema},readInputText(e)),readClientContext(e));if(e.inputResponses!==void 0&&e.inputResponses.length>0)return attachClientContext({inputResponses:e.inputResponses,context:e.context,outputSchema:e.outputSchema},readClientContext(e));if(e.context!==void 0&&e.context.length>0||(readClientContext(e)?.length??0)>0)return attachClientContext({context:e.context,outputSchema:e.outputSchema},readClientContext(e));if(e.outputSchema!==void 0)return{outputSchema:e.outputSchema}}function getAdapterKind(e){return e.kind}async function callAdapterEventHandler(e,t,n){let r=withWaitingContinuationToken(t,n),i=e[t.type];if(i!==void 0)try{await i(`data`in r?r.data:void 0,n)}catch(n){log.error(`adapter event handler threw — event swallowed`,{adapterKind:getAdapterKind(e),eventType:t.type,error:n})}return withWaitingContinuationToken(r,n)}function withWaitingContinuationToken(e,t){return e.type===`session.waiting`?{...e,data:{...e.data,continuationToken:t.session.continuation?.token??t.session.id}}:e}export{callAdapterEventHandler,defaultDeliverResult,getAdapterKind};
1
+ import{attachClientContext,readClientContext}from"#internal/client-context.js";import{attachInputText,readInputText}from"#internal/input-text.js";import{createLogger}from"#internal/logging.js";const log=createLogger(`channel.adapter`);function defaultDeliverResult(e){if(e.message!==void 0)return attachClientContext(attachInputText({answers:e.answers,message:e.message,context:e.context,outputSchema:e.outputSchema},readInputText(e)),readClientContext(e));if(e.answers!==void 0&&e.answers.length>0)return attachClientContext({answers:e.answers,context:e.context,outputSchema:e.outputSchema},readClientContext(e));if(e.context!==void 0&&e.context.length>0||(readClientContext(e)?.length??0)>0)return attachClientContext({context:e.context,outputSchema:e.outputSchema},readClientContext(e));if(e.outputSchema!==void 0)return{outputSchema:e.outputSchema}}function getAdapterKind(e){return e.kind}async function callAdapterEventHandler(e,t,n){let r=`facts`in t?`committed`:t.type,i=e[r];if(i!==void 0)try{await i(t,n)}catch(t){log.error(`adapter event handler threw — event swallowed`,{adapterKind:getAdapterKind(e),eventType:r,error:t})}}export{callAdapterEventHandler,defaultDeliverResult,getAdapterKind};
@@ -10,7 +10,4 @@ type ChannelAudienceSource = {
10
10
  };
11
11
  export type ChannelAudienceProjector = (input: AudienceContext<Record<string, unknown> | undefined>) => ChannelAudience;
12
12
  export declare function resolveAudience(adapter: ChannelAudienceSource, input: AudienceContext<Record<string, unknown> | undefined>): ChannelAudience;
13
- export declare function createMetadataAudienceProjector(source: {
14
- readonly kind: string;
15
- }, metadata: (state: Record<string, unknown> | undefined) => unknown): ChannelAudienceProjector;
16
13
  export {};
@@ -1 +1 @@
1
- import{normalizeChannelAudience}from"#shared/channel-audience.js";import{isThenable}from"#shared/guards.js";const deprecatedAudienceChannels=new Set;function warnDeprecatedMetadataAudience(e){deprecatedAudienceChannels.has(e)||(deprecatedAudienceChannels.add(e),console.warn(`channel ${e} uses deprecated metadata audience; move it to the audience() hook`))}function resolveAudience(e,t){return normalize(e,t)}function createMetadataAudienceProjector(e,t){return n=>resolveAudience({kind:e.kind,state:n.state,instrumentation:{metadata:t}},n)}function normalize(e,t){let n=e.instrumentation,r=n?.audience;if(r===void 0){let t=n?.metadata;if(t===void 0)return`unknown`;let r;try{r=t(e.state)}catch{return console.warn(`ignoring deprecated channel audience metadata for channel ${e.kind}`),`unknown`}if(isThenable(r))return console.warn(`ignoring deprecated channel audience metadata for channel ${e.kind}`),Promise.resolve(r).catch(()=>void 0),`unknown`;if(typeof r!=`object`||!r)return`unknown`;let i=r.audience;return i===void 0?`unknown`:(warnDeprecatedMetadataAudience(e.kind),normalizeChannelAudience(i))}try{let e=r(t);return isThenable(e)?(console.warn(`ignoring channel audience classifier because it returned a Promise`),Promise.resolve(e).catch(()=>void 0),`unknown`):normalizeChannelAudience(e)}catch{return console.warn(`ignoring channel audience classifier after failure`),`unknown`}}export{createMetadataAudienceProjector,resolveAudience};
1
+ import{normalizeChannelAudience}from"#shared/channel-audience.js";import{isThenable}from"#shared/guards.js";function resolveAudience(e,t){return normalize(e,t)}function normalize(e,t){let n=e.instrumentation?.audience;if(n===void 0)return`unknown`;try{let e=n(t);return isThenable(e)?(console.warn(`ignoring channel audience classifier because it returned a Promise`),Promise.resolve(e).catch(()=>void 0),`unknown`):normalizeChannelAudience(e)}catch{return console.warn(`ignoring channel audience classifier after failure`),`unknown`}}export{resolveAudience};