eve 0.83.3 → 0.84.0

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 (1537) hide show
  1. package/CHANGELOG.md +41 -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 +3 -3
  36. package/dist/src/channel/delivery-idempotency.d.ts +6 -0
  37. package/dist/src/channel/delivery-idempotency.js +1 -1
  38. package/dist/src/channel/delivery-metadata.d.ts +2 -2
  39. package/dist/src/channel/delivery.d.ts +8 -0
  40. package/dist/src/channel/delivery.js +1 -0
  41. package/dist/src/channel/interaction-prompts.d.ts +54 -0
  42. package/dist/src/channel/interaction-prompts.js +1 -0
  43. package/dist/src/channel/invoke-tool.d.ts +11 -18
  44. package/dist/src/channel/pending-authorization.d.ts +3 -14
  45. package/dist/src/channel/pending-authorization.js +1 -1
  46. package/dist/src/channel/prompt-queue.d.ts +11 -19
  47. package/dist/src/channel/prompt-queue.js +1 -1
  48. package/dist/src/channel/resolve-text.d.ts +11 -18
  49. package/dist/src/channel/resolve-text.js +2 -2
  50. package/dist/src/channel/resolved-prompt.d.ts +7 -5
  51. package/dist/src/channel/resolved-prompt.js +1 -1
  52. package/dist/src/channel/routes.d.ts +4 -4
  53. package/dist/src/channel/schedule.d.ts +2 -2
  54. package/dist/src/channel/schedule.js +1 -1
  55. package/dist/src/channel/send-input.d.ts +3 -3
  56. package/dist/src/channel/send-input.js +1 -1
  57. package/dist/src/channel/session-callback.js +1 -1
  58. package/dist/src/channel/session-not-active-error.d.ts +8 -12
  59. package/dist/src/channel/session-not-active-error.js +1 -1
  60. package/dist/src/channel/session.d.ts +33 -59
  61. package/dist/src/channel/session.js +1 -1
  62. package/dist/src/channel/sign-in.d.ts +61 -0
  63. package/dist/src/channel/sign-in.js +3 -0
  64. package/dist/src/channel/surface.d.ts +44 -0
  65. package/dist/src/channel/surface.js +1 -0
  66. package/dist/src/channel/task-card.d.ts +24 -114
  67. package/dist/src/channel/task-card.js +1 -1
  68. package/dist/src/channel/types.d.ts +116 -110
  69. package/dist/src/channel/types.js +1 -1
  70. package/dist/src/chunks/use-eve-agent-BbbguIdB.js +5030 -0
  71. package/dist/src/chunks/use-eve-agent-DWjyzplb.js +5077 -0
  72. package/dist/src/cli/commands/logs-events.d.ts +2 -0
  73. package/dist/src/cli/commands/logs-events.js +2 -2
  74. package/dist/src/cli/dev/command.js +1 -1
  75. package/dist/src/cli/dev/remote-print.d.ts +8 -0
  76. package/dist/src/cli/dev/remote-print.js +1 -0
  77. package/dist/src/cli/dev/tui/conversation-view.d.ts +24 -19
  78. package/dist/src/cli/dev/tui/conversation-view.js +1 -1
  79. package/dist/src/cli/dev/tui/diagnostic-presentation.d.ts +0 -10
  80. package/dist/src/cli/dev/tui/diagnostic-presentation.js +2 -3
  81. package/dist/src/cli/dev/tui/errors.d.ts +9 -65
  82. package/dist/src/cli/dev/tui/errors.js +1 -1
  83. package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
  84. package/dist/src/cli/dev/tui/runner.js +3 -3
  85. package/dist/src/cli/dev/tui/task-records.d.ts +3 -3
  86. package/dist/src/cli/dev/tui/task-records.js +1 -1
  87. package/dist/src/cli/dev/tui/terminal-renderer.js +10 -10
  88. package/dist/src/cli/dev/tui/terminal-tool-part.d.ts +2 -2
  89. package/dist/src/cli/dev/tui/terminal-tool-part.js +1 -1
  90. package/dist/src/cli/dev/tui/test/fake-eve-server.d.ts +3 -3
  91. package/dist/src/cli/dev/tui/test/fake-eve-server.js +1 -1
  92. package/dist/src/cli/dev/tui/tool-presentation.js +1 -1
  93. package/dist/src/cli/dev/tui/transcript-parts.d.ts +16 -16
  94. package/dist/src/cli/dev/tui/transcript-parts.js +3 -3
  95. package/dist/src/cli/dev/tui/transcript.d.ts +0 -4
  96. package/dist/src/cli/dev/tui/transcript.js +1 -1
  97. package/dist/src/cli/dev/tui/tui.js +1 -1
  98. package/dist/src/cli/run.d.ts +0 -2
  99. package/dist/src/cli/run.js +1 -1
  100. package/dist/src/cli/telemetry/index.js +1 -1
  101. package/dist/src/client/agent-base-url.d.ts +4 -0
  102. package/dist/src/client/agent-base-url.js +1 -0
  103. package/dist/src/client/agent-info-schema.d.ts +1 -923
  104. package/dist/src/client/agent-info-schema.js +1 -1
  105. package/dist/src/client/agent-info-types.d.ts +281 -0
  106. package/dist/src/client/agent-session.d.ts +19 -22
  107. package/dist/src/client/agent-session.js +1 -1
  108. package/dist/src/client/agent-stream-follower.d.ts +11 -20
  109. package/dist/src/client/agent-stream-follower.js +1 -1
  110. package/dist/src/client/client-error.d.ts +2 -1
  111. package/dist/src/client/client-error.js +1 -1
  112. package/dist/src/client/client.d.ts +1 -1
  113. package/dist/src/client/client.js +1 -1
  114. package/dist/src/client/conversation-client.d.ts +37 -28
  115. package/dist/src/client/conversation-client.js +1 -1
  116. package/dist/src/client/conversation-state.d.ts +70 -73
  117. package/dist/src/client/conversation-state.js +1 -1
  118. package/dist/src/client/conversation.d.ts +51 -0
  119. package/dist/src/client/conversation.js +1 -0
  120. package/dist/src/client/delivery-events.d.ts +3 -0
  121. package/dist/src/client/delivery-events.js +1 -0
  122. package/dist/src/client/delivery.d.ts +36 -0
  123. package/dist/src/client/delivery.js +1 -0
  124. package/dist/src/client/file-parts.d.ts +9 -4
  125. package/dist/src/client/file-parts.js +1 -1
  126. package/dist/src/client/health-schema.d.ts +1 -1
  127. package/dist/src/client/health-types.d.ts +6 -0
  128. package/dist/src/client/index.d.ts +17 -23
  129. package/dist/src/client/index.js +1 -1
  130. package/dist/src/client/message-types.d.ts +92 -0
  131. package/dist/src/client/message-types.js +1 -0
  132. package/dist/src/client/messages.d.ts +30 -0
  133. package/dist/src/client/messages.js +1 -0
  134. package/dist/src/client/ndjson.d.ts +6 -11
  135. package/dist/src/client/ndjson.js +3 -3
  136. package/dist/src/client/open-stream.d.ts +47 -20
  137. package/dist/src/client/open-stream.js +1 -1
  138. package/dist/src/client/optimistic-message-submissions.d.ts +10 -18
  139. package/dist/src/client/optimistic-message-submissions.js +1 -1
  140. package/dist/src/client/session-controls.d.ts +23 -26
  141. package/dist/src/client/session-controls.js +1 -1
  142. package/dist/src/client/session-event-stream.d.ts +5 -16
  143. package/dist/src/client/session-event-stream.js +1 -1
  144. package/dist/src/client/session-store-helpers.d.ts +8 -0
  145. package/dist/src/client/session-store-helpers.js +2 -0
  146. package/dist/src/client/session-store-state.d.ts +80 -0
  147. package/dist/src/client/session-store-state.js +1 -0
  148. package/dist/src/client/session-store.d.ts +48 -0
  149. package/dist/src/client/session-store.js +1 -0
  150. package/dist/src/client/session-utils.d.ts +45 -41
  151. package/dist/src/client/session-utils.js +2 -1
  152. package/dist/src/client/session.d.ts +32 -23
  153. package/dist/src/client/session.js +1 -1
  154. package/dist/src/client/sessions.d.ts +2 -2
  155. package/dist/src/client/stream-version.d.ts +3 -1
  156. package/dist/src/client/stream-version.js +1 -1
  157. package/dist/src/client/transcript.d.ts +43 -0
  158. package/dist/src/client/transcript.js +2 -0
  159. package/dist/src/client/types.d.ts +21 -82
  160. package/dist/src/client/url.d.ts +3 -3
  161. package/dist/src/compiled/.vendor-stamp.json +1 -1
  162. package/dist/src/compiled/@ai-sdk/anthropic/index.d.ts +34 -34
  163. package/dist/src/compiled/@ai-sdk/google/index.d.ts +15 -15
  164. package/dist/src/compiled/@ai-sdk/openai/index.d.ts +38 -38
  165. package/dist/src/compiled/@chat-adapter/slack/fetch-QqNM_Ef3.d.ts +4 -0
  166. package/dist/src/compiled/@chat-adapter/twilio/types-BaIqtt65.d.ts +100 -0
  167. package/dist/src/compiled/@linqapp/chat-sdk-adapter/adapter.d.ts +129 -0
  168. package/dist/src/compiled/@linqapp/chat-sdk-adapter/message-parser.d.ts +14 -0
  169. package/dist/src/compiled/@linqapp/chat-sdk-adapter/text-decorations.d.ts +28 -0
  170. package/dist/src/compiled/@workflow/core/runtime/step-executor.d.ts +1 -1
  171. package/dist/src/compiled/@workflow/core/serialization/types.d.ts +1 -1
  172. package/dist/src/compiled/@workflow/core/serialization.d.ts +2 -2
  173. package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +2 -2
  174. package/dist/src/compiled/semver/index.d.ts +2 -0
  175. package/dist/src/compiler/development-extensions.js +1 -1
  176. package/dist/src/compiler/extension-compatibility.d.ts +19 -290
  177. package/dist/src/compiler/extension-compatibility.js +1 -1
  178. package/dist/src/compiler/manifest.d.ts +1 -9
  179. package/dist/src/compiler/manifest.js +1 -1
  180. package/dist/src/compiler/normalize-agent-config.js +1 -1
  181. package/dist/src/compiler/normalize-connection.js +1 -1
  182. package/dist/src/compiler/normalize-hook.js +1 -1
  183. package/dist/src/compiler/normalize-instructions.js +1 -1
  184. package/dist/src/compiler/normalize-manifest.js +1 -1
  185. package/dist/src/compiler/normalize-memory.js +1 -1
  186. package/dist/src/compiler/normalize-schedule.js +1 -1
  187. package/dist/src/compiler/normalize-skill.js +1 -1
  188. package/dist/src/compiler/normalize-subagent.d.ts +0 -5
  189. package/dist/src/compiler/normalize-subagent.js +1 -1
  190. package/dist/src/compiler/normalize-tool.js +1 -1
  191. package/dist/src/compiler/remote-agent-node.d.ts +1 -6
  192. package/dist/src/compiler/source-graph.d.ts +0 -1
  193. package/dist/src/compiler/source-graph.js +1 -1
  194. package/dist/src/computer-use/extension/lib/computer-use-sandbox.js +1 -1
  195. package/dist/src/computer-use/extension/lib/sandbox.d.ts +1 -1
  196. package/dist/src/computer-use/extension/lib/sandbox.js +1 -1
  197. package/dist/src/computer-use/extension/tools/computer_use.js +1 -1
  198. package/dist/src/connections/errors.d.ts +3 -3
  199. package/dist/src/context/accessors.d.ts +0 -13
  200. package/dist/src/context/accessors.js +1 -1
  201. package/dist/src/context/container.d.ts +8 -11
  202. package/dist/src/context/container.js +1 -1
  203. package/dist/src/context/key-names.d.ts +1 -0
  204. package/dist/src/context/key-names.js +1 -1
  205. package/dist/src/context/keys.d.ts +20 -104
  206. package/dist/src/context/keys.js +1 -1
  207. package/dist/src/context/memory-tools.d.ts +4 -2
  208. package/dist/src/context/memory-tools.js +1 -1
  209. package/dist/src/context/providers/connection.js +1 -1
  210. package/dist/src/context/providers/session.js +1 -1
  211. package/dist/src/context/schedule-collection-tools.d.ts +2 -2
  212. package/dist/src/context/schedule-collection-tools.js +1 -1
  213. package/dist/src/context/session-context.d.ts +4 -2
  214. package/dist/src/discover/extensions.d.ts +2 -3
  215. package/dist/src/discover/extensions.js +1 -1
  216. package/dist/src/discover/manifest.js +1 -1
  217. package/dist/src/discover/skills.js +1 -1
  218. package/dist/src/dynamic/definition.d.ts +98 -108
  219. package/dist/src/dynamic/definition.js +1 -1
  220. package/dist/src/evals/assertions/collector.js +1 -1
  221. package/dist/src/evals/assertions/run.d.ts +12 -11
  222. package/dist/src/evals/assertions/run.js +2 -2
  223. package/dist/src/evals/assertions/scoped.js +1 -1
  224. package/dist/src/evals/cli/eval-client.js +1 -1
  225. package/dist/src/evals/cli/eval.js +2 -2
  226. package/dist/src/evals/context.js +1 -1
  227. package/dist/src/evals/expect/index.d.ts +0 -1
  228. package/dist/src/evals/index.d.ts +2 -5
  229. package/dist/src/evals/judge.js +1 -1
  230. package/dist/src/evals/match.d.ts +20 -17
  231. package/dist/src/evals/match.js +1 -1
  232. package/dist/src/evals/mock-model.d.ts +5 -1
  233. package/dist/src/evals/mock-model.js +1 -1
  234. package/dist/src/evals/output.d.ts +3 -0
  235. package/dist/src/evals/output.js +1 -0
  236. package/dist/src/evals/reported-tool-name.js +1 -1
  237. package/dist/src/evals/reporters/index.d.ts +4 -4
  238. package/dist/src/evals/reporters/index.js +1 -1
  239. package/dist/src/evals/runner/artifacts.js +1 -1
  240. package/dist/src/evals/runner/derive-run-facts.d.ts +8 -40
  241. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  242. package/dist/src/evals/runner/execute-eval.js +1 -1
  243. package/dist/src/evals/runner/execute-task.d.ts +3 -1
  244. package/dist/src/evals/runner/execute-task.js +1 -1
  245. package/dist/src/evals/runner/reporters/braintrust.d.ts +1 -1
  246. package/dist/src/evals/runner/reporters/braintrust.js +2 -2
  247. package/dist/src/evals/runner/reporters/console.d.ts +1 -1
  248. package/dist/src/evals/runner/reporters/console.js +1 -1
  249. package/dist/src/evals/runner/reporters/datadog.d.ts +1 -1
  250. package/dist/src/evals/runner/reporters/datadog.js +2 -2
  251. package/dist/src/evals/runner/reporters/junit.d.ts +1 -1
  252. package/dist/src/evals/runner/reporters/junit.js +2 -2
  253. package/dist/src/evals/runner/reporters/types.d.ts +2 -2
  254. package/dist/src/evals/runner/run-evals.d.ts +1 -1
  255. package/dist/src/evals/session-cleanup.d.ts +1 -1
  256. package/dist/src/evals/session-cleanup.js +1 -1
  257. package/dist/src/evals/session-content.d.ts +2 -2
  258. package/dist/src/evals/session-content.js +2 -1
  259. package/dist/src/evals/session-manager.d.ts +3 -6
  260. package/dist/src/evals/session-manager.js +1 -1
  261. package/dist/src/evals/session.d.ts +33 -24
  262. package/dist/src/evals/session.js +2 -2
  263. package/dist/src/evals/target.js +1 -1
  264. package/dist/src/evals/types.d.ts +115 -94
  265. package/dist/src/eve-channel/create-request.d.ts +3 -5
  266. package/dist/src/eve-channel/descendant-stream.d.ts +9 -0
  267. package/dist/src/eve-channel/descendant-stream.js +1 -0
  268. package/dist/src/eve-channel/index.d.ts +2 -2
  269. package/dist/src/eve-channel/index.js +1 -1
  270. package/dist/src/eve-channel/request.d.ts +7 -6
  271. package/dist/src/eve-channel/request.js +1 -3
  272. package/dist/src/eve-channel/stream-headers.d.ts +1 -1
  273. package/dist/src/eve-channel/stream-headers.js +1 -1
  274. package/dist/src/eve-channel/support.d.ts +25 -13
  275. package/dist/src/eve-channel/support.js +2 -2
  276. package/dist/src/eve-channel/types.d.ts +7 -30
  277. package/dist/src/execution/agent-sessions/message.d.ts +4 -0
  278. package/dist/src/execution/agent-sessions/message.js +1 -0
  279. package/dist/src/execution/agent-sessions/metadata.js +1 -1
  280. package/dist/src/execution/agent-sessions/remote-credentials.d.ts +19 -0
  281. package/dist/src/execution/agent-sessions/remote-credentials.js +1 -0
  282. package/dist/src/execution/agent-sessions/remote.d.ts +35 -13
  283. package/dist/src/execution/agent-sessions/remote.js +1 -1
  284. package/dist/src/execution/agent-sessions/requests.d.ts +6 -6
  285. package/dist/src/execution/agent-sessions/requests.js +1 -1
  286. package/dist/src/execution/agent-sessions/session.js +1 -1
  287. package/dist/src/execution/agent-sessions/steps.d.ts +26 -4
  288. package/dist/src/execution/agent-sessions/steps.js +1 -1
  289. package/dist/src/execution/agent-sessions/target.d.ts +2 -1
  290. package/dist/src/execution/agent-sessions/target.js +1 -1
  291. package/dist/src/execution/agent-sessions/usage.d.ts +0 -8
  292. package/dist/src/execution/agent-sessions/usage.js +1 -1
  293. package/dist/src/execution/cancelled-model-call-batch.d.ts +4 -2
  294. package/dist/src/execution/cancelled-model-call-batch.js +1 -1
  295. package/dist/src/execution/cancelled-turn-message.d.ts +2 -2
  296. package/dist/src/execution/cancelled-turn-message.js +1 -1
  297. package/dist/src/execution/catalog/connection-entry.js +1 -1
  298. package/dist/src/execution/catalog/search.js +1 -1
  299. package/dist/src/execution/catalog/skills.js +1 -1
  300. package/dist/src/execution/catalog/step-catalog.js +1 -1
  301. package/dist/src/execution/child-binding.d.ts +19 -0
  302. package/dist/src/execution/child-binding.js +1 -0
  303. package/dist/src/execution/close-session-stream-step.d.ts +9 -0
  304. package/dist/src/execution/close-session-stream-step.js +1 -0
  305. package/dist/src/execution/coordination-dispatch-shared.d.ts +13 -3
  306. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  307. package/dist/src/execution/coordination-dispatch-step.d.ts +9 -13
  308. package/dist/src/execution/coordination-dispatch-step.js +1 -1
  309. package/dist/src/execution/deliver-payloads.js +1 -1
  310. package/dist/src/execution/durable-session-store.d.ts +2 -5
  311. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  312. package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
  313. package/dist/src/execution/failure-summary.d.ts +11 -0
  314. package/dist/src/execution/failure-summary.js +1 -0
  315. package/dist/src/execution/forward-session-input.d.ts +2 -2
  316. package/dist/src/execution/forward-session-input.js +1 -1
  317. package/dist/src/execution/invoke-tool.js +1 -1
  318. package/dist/src/execution/legacy-session/snapshot.d.ts +4 -1
  319. package/dist/src/execution/legacy-session/snapshot.js +1 -1
  320. package/dist/src/execution/model-call-batching.d.ts +3 -3
  321. package/dist/src/execution/model-call-batching.js +1 -1
  322. package/dist/src/execution/ndjson-stream.d.ts +1 -1
  323. package/dist/src/execution/node-step.d.ts +2 -8
  324. package/dist/src/execution/node-step.js +1 -1
  325. package/dist/src/execution/proxied-deliver-step.d.ts +8 -3
  326. package/dist/src/execution/proxied-deliver-step.js +1 -1
  327. package/dist/src/execution/public-destination.d.ts +34 -0
  328. package/dist/src/execution/public-destination.js +1 -0
  329. package/dist/src/execution/publish-session-events.d.ts +98 -36
  330. package/dist/src/execution/publish-session-events.js +1 -1
  331. package/dist/src/execution/runtime-context.js +1 -1
  332. package/dist/src/execution/sandbox/abort-bound-session.js +1 -1
  333. package/dist/src/execution/sandbox/bash.js +1 -1
  334. package/dist/src/execution/sandbox/bindings/docker-connection.js +1 -1
  335. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  336. package/dist/src/execution/sandbox/bindings/eve-image.d.ts +0 -2
  337. package/dist/src/execution/sandbox/bindings/eve-image.js +1 -1
  338. package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
  339. package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
  340. package/dist/src/execution/sandbox/ensure.js +1 -1
  341. package/dist/src/{extensions/code/extension/lib → execution/sandbox}/grep-search.d.ts +3 -2
  342. package/dist/src/execution/sandbox/grep-search.js +6 -0
  343. package/dist/src/execution/sandbox/read-file.d.ts +1 -1
  344. package/dist/src/execution/sandbox/session.js +1 -1
  345. package/dist/src/execution/sandbox/workspace-root.d.ts +31 -0
  346. package/dist/src/execution/sandbox/workspace-root.js +1 -0
  347. package/dist/src/execution/session/active-turn.d.ts +12 -6
  348. package/dist/src/execution/session/active-turn.js +1 -1
  349. package/dist/src/execution/session/admission.d.ts +7 -2
  350. package/dist/src/execution/session/admission.js +1 -1
  351. package/dist/src/execution/session/answer-caller.d.ts +4 -4
  352. package/dist/src/execution/session/answer-caller.js +1 -1
  353. package/dist/src/execution/session/checkpoint-migrations.d.ts +4 -6
  354. package/dist/src/execution/session/checkpoint-migrations.js +1 -1
  355. package/dist/src/execution/session/control-delivery.d.ts +4 -0
  356. package/dist/src/execution/session/control-delivery.js +1 -0
  357. package/dist/src/execution/session/delivery-facts.d.ts +27 -0
  358. package/dist/src/execution/session/delivery-facts.js +1 -0
  359. package/dist/src/execution/session/end-sandbox-step.js +1 -1
  360. package/dist/src/execution/session/entry.js +1 -1
  361. package/dist/src/execution/session/finalization.d.ts +4 -0
  362. package/dist/src/execution/session/finalization.js +1 -1
  363. package/dist/src/execution/session/handoff-state.js +1 -1
  364. package/dist/src/execution/session/handoff-steps.d.ts +0 -8
  365. package/dist/src/execution/session/handoff-steps.js +1 -1
  366. package/dist/src/execution/session/handoff.d.ts +4 -3
  367. package/dist/src/execution/session/handoff.js +1 -1
  368. package/dist/src/execution/session/input-queue.d.ts +8 -2
  369. package/dist/src/execution/session/input-queue.js +1 -1
  370. package/dist/src/execution/session/interrupted-step.d.ts +64 -0
  371. package/dist/src/execution/session/interrupted-step.js +3 -0
  372. package/dist/src/execution/session/next-input.d.ts +7 -1
  373. package/dist/src/execution/session/next-input.js +1 -1
  374. package/dist/src/execution/session/pending-turn-state.d.ts +32 -12
  375. package/dist/src/execution/session/pending-turn-state.js +1 -1
  376. package/dist/src/execution/session/prewarm-step.d.ts +1 -1
  377. package/dist/src/execution/session/prewarm-step.js +1 -1
  378. package/dist/src/execution/session/program.js +1 -1
  379. package/dist/src/execution/session/settle-control-delivery-step.d.ts +8 -0
  380. package/dist/src/execution/session/settle-control-delivery-step.js +1 -0
  381. package/dist/src/execution/session/settle-duplicate-delivery-step.d.ts +8 -0
  382. package/dist/src/execution/session/settle-duplicate-delivery-step.js +1 -0
  383. package/dist/src/execution/session/state-delta.d.ts +2 -12
  384. package/dist/src/execution/session/state-delta.js +1 -1
  385. package/dist/src/execution/session/step-decision-check.d.ts +9 -0
  386. package/dist/src/execution/session/step-decision-check.js +1 -0
  387. package/dist/src/execution/session/step-state-delta.d.ts +16 -0
  388. package/dist/src/execution/session/step-state-delta.js +1 -0
  389. package/dist/src/execution/session/task-tool-tracing-step.d.ts +0 -3
  390. package/dist/src/execution/session/task-tool-tracing-step.js +1 -1
  391. package/dist/src/execution/session/turn-event-handler.d.ts +6 -16
  392. package/dist/src/execution/session/turn-event-handler.js +1 -1
  393. package/dist/src/execution/session/turn-step-result.d.ts +7 -2
  394. package/dist/src/execution/session/turn-step-result.js +1 -1
  395. package/dist/src/execution/session/turn-step-types.d.ts +35 -33
  396. package/dist/src/execution/session/turn-step.js +1 -1
  397. package/dist/src/execution/session/turn.d.ts +19 -32
  398. package/dist/src/execution/session/turn.js +1 -1
  399. package/dist/src/execution/session-callback-request.d.ts +7 -1
  400. package/dist/src/execution/session-callback-request.js +1 -1
  401. package/dist/src/execution/session-event-stream.d.ts +37 -16
  402. package/dist/src/execution/session-event-stream.js +1 -1
  403. package/dist/src/execution/session-inbox/end-stranded-session.d.ts +7 -1
  404. package/dist/src/execution/session-inbox/end-stranded-session.js +1 -1
  405. package/dist/src/execution/session-inbox/inbox.js +1 -1
  406. package/dist/src/execution/session-inbox/owner.d.ts +5 -2
  407. package/dist/src/execution/session-inbox/owner.js +1 -1
  408. package/dist/src/execution/session-inbox/pre-v27.d.ts +5 -0
  409. package/dist/src/execution/session-inbox/pre-v27.js +1 -0
  410. package/dist/src/execution/session-inbox/protocol.js +1 -1
  411. package/dist/src/execution/session-inbox/resume.js +1 -1
  412. package/dist/src/execution/session-inbox/stranded-replay-guard.js +1 -1
  413. package/dist/src/execution/session-workflow-tool-run.js +1 -1
  414. package/dist/src/execution/session.d.ts +3 -14
  415. package/dist/src/execution/session.js +2 -2
  416. package/dist/src/execution/settle-cancelled-turn-step.d.ts +3 -0
  417. package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
  418. package/dist/src/execution/stop-runs.d.ts +35 -0
  419. package/dist/src/execution/stop-runs.js +1 -0
  420. package/dist/src/execution/tasks/model-step.d.ts +5 -9
  421. package/dist/src/execution/tasks/model-step.js +1 -1
  422. package/dist/src/execution/tasks/render.d.ts +5 -2
  423. package/dist/src/execution/tasks/render.js +1 -1
  424. package/dist/src/execution/tasks/session.d.ts +6 -3
  425. package/dist/src/execution/tasks/session.js +1 -1
  426. package/dist/src/execution/tasks/start.d.ts +9 -6
  427. package/dist/src/execution/tasks/start.js +1 -1
  428. package/dist/src/execution/tasks/steps.d.ts +11 -6
  429. package/dist/src/execution/tasks/steps.js +1 -1
  430. package/dist/src/execution/tasks/table.d.ts +18 -5
  431. package/dist/src/execution/tasks/table.js +1 -1
  432. package/dist/src/execution/tasks/task-id-input.js +1 -1
  433. package/dist/src/execution/terminal-session-completion-step.d.ts +11 -1
  434. package/dist/src/execution/terminal-session-completion-step.js +1 -1
  435. package/dist/src/execution/terminal-session-failure-step.d.ts +6 -1
  436. package/dist/src/execution/terminal-session-failure-step.js +1 -1
  437. package/dist/src/execution/terminate-child-sessions-step.d.ts +5 -1
  438. package/dist/src/execution/terminate-child-sessions-step.js +1 -1
  439. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  440. package/dist/src/execution/tools/workflow/answer.d.ts +4 -5
  441. package/dist/src/execution/tools/workflow/answer.js +1 -1
  442. package/dist/src/execution/tools/workflow/apply-run-messages-step.d.ts +1 -1
  443. package/dist/src/execution/tools/workflow/apply-run-messages-step.js +1 -1
  444. package/dist/src/execution/tools/workflow/ask.d.ts +3 -3
  445. package/dist/src/execution/tools/workflow/body.js +1 -1
  446. package/dist/src/execution/tools/workflow/harness-definition.js +1 -1
  447. package/dist/src/execution/tools/workflow/messages.d.ts +25 -33
  448. package/dist/src/execution/tools/workflow/messages.js +1 -1
  449. package/dist/src/execution/tools/workflow/owner-inbox.d.ts +9 -5
  450. package/dist/src/execution/tools/workflow/owner-inbox.js +1 -1
  451. package/dist/src/execution/tools/workflow/owner.d.ts +3 -3
  452. package/dist/src/execution/tools/workflow/owner.js +1 -1
  453. package/dist/src/execution/tools/workflow/serve.js +1 -1
  454. package/dist/src/execution/tools/workflow/step.js +1 -1
  455. package/dist/src/execution/tools/workflow/withdraw-step.d.ts +2 -2
  456. package/dist/src/execution/tools/workflow/withdraw-step.js +1 -1
  457. package/dist/src/execution/v26-history.d.ts +28 -0
  458. package/dist/src/execution/v26-history.fixtures.d.ts +4 -0
  459. package/dist/src/execution/v26-history.fixtures.js +2 -0
  460. package/dist/src/execution/v26-history.js +1 -0
  461. package/dist/src/execution/web-fetch/request.js +1 -1
  462. package/dist/src/execution/workflow-errors.d.ts +5 -0
  463. package/dist/src/execution/workflow-errors.js +1 -1
  464. package/dist/src/execution/workflow-runtime.js +1 -1
  465. package/dist/src/extensions/code/extension/extension.d.ts +1 -11
  466. package/dist/src/extensions/code/extension/extension.js +1 -1
  467. package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +5 -1
  468. package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
  469. package/dist/src/extensions/code/extension/lib/repository-root.js +1 -1
  470. package/dist/src/extensions/code/extension/lib/sandbox.d.ts +0 -4
  471. package/dist/src/extensions/code/extension/lib/sandbox.js +2 -2
  472. package/dist/src/extensions/code/extension/lib/tooling.d.ts +1 -1
  473. package/dist/src/extensions/code/extension/lib/tooling.js +1 -1
  474. package/dist/src/extensions/code/extension/lib/workspace-root.d.ts +1 -31
  475. package/dist/src/extensions/code/extension/lib/workspace-root.js +1 -1
  476. package/dist/src/extensions/code/extension/subagents/worker/agent.d.ts +1 -1
  477. package/dist/src/extensions/code/extension/subagents/worker/agent.js +1 -1
  478. package/dist/src/extensions/code/extension/tools/apply_patch.js +2 -2
  479. package/dist/src/extensions/code/extension/tools/grep.d.ts +1 -28
  480. package/dist/src/extensions/code/extension/tools/grep.js +1 -1
  481. package/dist/src/extensions/code/sandbox.d.ts +1 -0
  482. package/dist/src/extensions/code/sandbox.js +1 -0
  483. package/dist/src/extensions/code/tools.d.ts +1 -5
  484. package/dist/src/extensions/code/tools.js +1 -1
  485. package/dist/src/extensions/git/extension/extension.d.ts +3 -3
  486. package/dist/src/extensions/git/extension/instructions/github.d.ts +1 -1
  487. package/dist/src/extensions/git/extension/instructions/github.js +1 -1
  488. package/dist/src/extensions/git/extension/lib/gh-tool.d.ts +2 -11
  489. package/dist/src/extensions/git/extension/lib/gh-tool.js +1 -1
  490. package/dist/src/extensions/git/extension/lib/github-shell.d.ts +13 -3
  491. package/dist/src/extensions/git/extension/lib/sandbox.d.ts +0 -4
  492. package/dist/src/extensions/git/extension/lib/sandbox.js +1 -1
  493. package/dist/src/extensions/git/extension/skills/pr.d.ts +1 -4
  494. package/dist/src/extensions/git/extension/skills/pr.js +1 -1
  495. package/dist/src/extensions/git/extension/tools/gh.d.ts +1 -26
  496. package/dist/src/extensions/git/extension/tools/gh.js +1 -1
  497. package/dist/src/framework/sources/modules/schedule-collection-wrapper.js +1 -1
  498. package/dist/src/harness/action-presentation.d.ts +3 -5
  499. package/dist/src/harness/action-presentation.js +1 -1
  500. package/dist/src/harness/action-result-helpers.d.ts +2 -8
  501. package/dist/src/harness/action-result-helpers.js +1 -1
  502. package/dist/src/harness/approval-outcome.d.ts +32 -0
  503. package/dist/src/harness/approval-outcome.js +1 -0
  504. package/dist/src/harness/attachment-staging.js +1 -1
  505. package/dist/src/harness/authorization.d.ts +2 -3
  506. package/dist/src/harness/authorization.js +1 -1
  507. package/dist/src/harness/call-executor.d.ts +118 -0
  508. package/dist/src/harness/call-executor.js +1 -0
  509. package/dist/src/harness/call-facts.d.ts +31 -0
  510. package/dist/src/harness/call-facts.js +1 -0
  511. package/dist/src/harness/call-outcome.d.ts +6 -0
  512. package/dist/src/harness/call-outcome.js +1 -0
  513. package/dist/src/harness/compaction/engine.d.ts +11 -0
  514. package/dist/src/harness/compaction/engine.js +2 -2
  515. package/dist/src/harness/compaction/step.d.ts +25 -5
  516. package/dist/src/harness/compaction/step.js +1 -1
  517. package/dist/src/harness/coordination.js +1 -1
  518. package/dist/src/harness/current-messages.d.ts +10 -0
  519. package/dist/src/harness/current-messages.js +1 -1
  520. package/dist/src/harness/emission.d.ts +9 -20
  521. package/dist/src/harness/emission.js +1 -1
  522. package/dist/src/harness/execute-call.d.ts +6 -23
  523. package/dist/src/harness/execute-call.js +1 -1
  524. package/dist/src/harness/execute-tool.d.ts +7 -3
  525. package/dist/src/harness/facts.d.ts +82 -0
  526. package/dist/src/harness/facts.js +1 -0
  527. package/dist/src/harness/finish-reason.d.ts +6 -1
  528. package/dist/src/harness/generation-steering.d.ts +4 -2
  529. package/dist/src/harness/generation-steering.js +1 -1
  530. package/dist/src/harness/hitl/approval-prompt.d.ts +3 -3
  531. package/dist/src/harness/hitl/approval-prompt.js +3 -3
  532. package/dist/src/harness/hitl/approvals.d.ts +66 -78
  533. package/dist/src/harness/hitl/approvals.js +2 -1
  534. package/dist/src/harness/hitl/approved-calls.d.ts +14 -36
  535. package/dist/src/harness/hitl/approved-calls.js +1 -1
  536. package/dist/src/harness/hitl/budget-request.d.ts +8 -46
  537. package/dist/src/harness/hitl/budget-request.js +1 -1
  538. package/dist/src/harness/hitl/budget.d.ts +9 -8
  539. package/dist/src/harness/hitl/budget.js +1 -1
  540. package/dist/src/harness/hitl/delivery.d.ts +16 -17
  541. package/dist/src/harness/hitl/delivery.js +1 -1
  542. package/dist/src/harness/hitl/index.d.ts +14 -19
  543. package/dist/src/harness/hitl/index.js +1 -1
  544. package/dist/src/harness/hitl/intake.d.ts +32 -43
  545. package/dist/src/harness/hitl/intake.js +1 -1
  546. package/dist/src/harness/hitl/relays.d.ts +7 -51
  547. package/dist/src/harness/hitl/relays.js +1 -1
  548. package/dist/src/harness/hitl/requests.d.ts +11 -53
  549. package/dist/src/harness/hitl/requests.js +1 -1
  550. package/dist/src/harness/hitl/responders.d.ts +50 -0
  551. package/dist/src/harness/hitl/responders.js +1 -0
  552. package/dist/src/harness/hitl/sign-ins.d.ts +7 -3
  553. package/dist/src/harness/hitl/sign-ins.js +1 -1
  554. package/dist/src/harness/hitl/stale-responses.d.ts +11 -11
  555. package/dist/src/harness/hitl/stale-responses.js +3 -3
  556. package/dist/src/harness/inline-tool-authorization.d.ts +8 -9
  557. package/dist/src/harness/inline-tool-authorization.js +1 -1
  558. package/dist/src/harness/interaction-facts.d.ts +36 -0
  559. package/dist/src/harness/interaction-facts.js +1 -0
  560. package/dist/src/harness/interaction-relay.d.ts +10 -0
  561. package/dist/src/harness/interaction-relay.js +1 -0
  562. package/dist/src/harness/interrupted-attempt.d.ts +19 -0
  563. package/dist/src/harness/interrupted-attempt.js +2 -0
  564. package/dist/src/harness/messages.d.ts +28 -15
  565. package/dist/src/harness/messages.js +1 -1
  566. package/dist/src/harness/model-call/call.d.ts +25 -11
  567. package/dist/src/harness/model-call/call.js +1 -1
  568. package/dist/src/harness/model-call/errors.js +1 -1
  569. package/dist/src/harness/model-call/failure.d.ts +4 -49
  570. package/dist/src/harness/model-call/failure.js +1 -1
  571. package/dist/src/harness/model-call/model.js +1 -1
  572. package/dist/src/harness/model-call/recovery.d.ts +4 -32
  573. package/dist/src/harness/model-call/recovery.js +1 -1
  574. package/dist/src/harness/model-call/request.d.ts +0 -1
  575. package/dist/src/harness/model-call/request.js +1 -1
  576. package/dist/src/harness/model-call/response.d.ts +22 -12
  577. package/dist/src/harness/model-call/response.js +1 -1
  578. package/dist/src/harness/model-call/retry.d.ts +23 -6
  579. package/dist/src/harness/model-call/retry.js +1 -1
  580. package/dist/src/harness/model-call/run.d.ts +4 -12
  581. package/dist/src/harness/model-call/run.js +1 -1
  582. package/dist/src/harness/model-call/tools.d.ts +0 -19
  583. package/dist/src/harness/model-call/tools.js +1 -1
  584. package/dist/src/harness/model-call/unique-call-ids.d.ts +13 -0
  585. package/dist/src/harness/model-call/unique-call-ids.js +1 -0
  586. package/dist/src/harness/model-call/usage.d.ts +7 -5
  587. package/dist/src/harness/model-call/usage.js +1 -1
  588. package/dist/src/harness/ordered-stream-emitter.d.ts +1 -0
  589. package/dist/src/harness/ordered-stream-emitter.js +1 -1
  590. package/dist/src/harness/provider-tool-history.js +1 -1
  591. package/dist/src/harness/publication.d.ts +4 -0
  592. package/dist/src/harness/publication.js +1 -0
  593. package/dist/src/harness/request-envelope.d.ts +0 -3
  594. package/dist/src/harness/request-envelope.js +1 -1
  595. package/dist/src/harness/running-work.d.ts +10 -0
  596. package/dist/src/harness/running-work.js +1 -0
  597. package/dist/src/harness/session-machine/cascade.d.ts +17 -0
  598. package/dist/src/harness/session-machine/cascade.js +1 -0
  599. package/dist/src/harness/session-machine/commit.d.ts +16 -16
  600. package/dist/src/harness/session-machine/commit.js +1 -1
  601. package/dist/src/harness/session-machine/current.d.ts +25 -17
  602. package/dist/src/harness/session-machine/current.js +1 -1
  603. package/dist/src/harness/session-machine/state.d.ts +43 -16
  604. package/dist/src/harness/session-machine/state.js +1 -1
  605. package/dist/src/harness/session-machine/suspended-steps.d.ts +22 -0
  606. package/dist/src/harness/session-machine/suspended-steps.js +1 -0
  607. package/dist/src/harness/session-machine/transitions.d.ts +144 -120
  608. package/dist/src/harness/session-machine/transitions.js +1 -1
  609. package/dist/src/harness/session-machine/view.d.ts +12 -8
  610. package/dist/src/harness/session-machine/view.js +1 -1
  611. package/dist/src/harness/session-machine/waiting.d.ts +16 -0
  612. package/dist/src/harness/session-machine/waiting.js +1 -0
  613. package/dist/src/harness/session-usage.d.ts +22 -0
  614. package/dist/src/harness/session-usage.js +1 -0
  615. package/dist/src/harness/step/after-model.d.ts +1 -4
  616. package/dist/src/harness/step/after-model.js +1 -1
  617. package/dist/src/harness/step/context.d.ts +21 -21
  618. package/dist/src/harness/step/context.js +1 -1
  619. package/dist/src/harness/step/intake.d.ts +7 -8
  620. package/dist/src/harness/step/intake.js +1 -1
  621. package/dist/src/harness/step/park.d.ts +19 -0
  622. package/dist/src/harness/step/park.js +1 -0
  623. package/dist/src/harness/step/prompt.d.ts +4 -5
  624. package/dist/src/harness/step/prompt.js +1 -1
  625. package/dist/src/harness/step-hooks.d.ts +24 -24
  626. package/dist/src/harness/step-hooks.js +1 -1
  627. package/dist/src/harness/stream-actions.d.ts +3 -9
  628. package/dist/src/harness/stream-actions.js +1 -1
  629. package/dist/src/harness/token-estimate.js +1 -1
  630. package/dist/src/harness/tool-history-repair.js +1 -1
  631. package/dist/src/harness/tool-loop.js +1 -1
  632. package/dist/src/harness/tools.d.ts +22 -38
  633. package/dist/src/harness/tools.js +1 -1
  634. package/dist/src/harness/types.d.ts +69 -67
  635. package/dist/src/harness/user-parts.d.ts +4 -0
  636. package/dist/src/harness/user-parts.js +1 -0
  637. package/dist/src/harness/workflow-tool-runs.d.ts +0 -1
  638. package/dist/src/harness/workflow-tool-runs.js +1 -1
  639. package/dist/src/instrumentation/ai-sdk-hook-bridge.d.ts +2 -2
  640. package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
  641. package/dist/src/instrumentation/channel-delivery.d.ts +4 -23
  642. package/dist/src/instrumentation/channel-delivery.js +1 -1
  643. package/dist/src/instrumentation/content.d.ts +1 -7
  644. package/dist/src/instrumentation/content.js +1 -1
  645. package/dist/src/instrumentation/dispatch.js +1 -1
  646. package/dist/src/instrumentation/lifecycle.d.ts +135 -198
  647. package/dist/src/instrumentation/lifecycle.js +1 -1
  648. package/dist/src/instrumentation/memory.d.ts +4 -2
  649. package/dist/src/instrumentation/memory.js +1 -1
  650. package/dist/src/instrumentation/native-events.d.ts +17 -10
  651. package/dist/src/instrumentation/native-events.js +1 -1
  652. package/dist/src/instrumentation/prepare-trace-context.d.ts +3 -3
  653. package/dist/src/instrumentation/provider.d.ts +20 -28
  654. package/dist/src/instrumentation/providers.js +1 -1
  655. package/dist/src/instrumentation/runtime-context.d.ts +1 -0
  656. package/dist/src/instrumentation/runtime-context.js +1 -1
  657. package/dist/src/instrumentation/runtime.d.ts +9 -30
  658. package/dist/src/instrumentation/runtime.js +1 -1
  659. package/dist/src/instrumentation/scope.d.ts +6 -0
  660. package/dist/src/instrumentation/scope.js +1 -0
  661. package/dist/src/instrumentation/session-context.d.ts +1 -1
  662. package/dist/src/instrumentation/session-context.js +1 -1
  663. package/dist/src/instrumentation/session-init.js +1 -1
  664. package/dist/src/instrumentation/setup-context.d.ts +2 -2
  665. package/dist/src/instrumentation/setup-context.js +1 -1
  666. package/dist/src/instrumentation/state.d.ts +0 -21
  667. package/dist/src/instrumentation/state.js +1 -1
  668. package/dist/src/internal/application/dev-environment.d.ts +8 -2
  669. package/dist/src/internal/application/dev-environment.js +1 -1
  670. package/dist/src/internal/application/optional-package-install.js +1 -1
  671. package/dist/src/internal/application/stamped-package-version.js +1 -1
  672. package/dist/src/internal/authored-definition/approval.d.ts +2 -4
  673. package/dist/src/internal/authored-definition/approval.js +1 -1
  674. package/dist/src/internal/authored-definition/connection.js +1 -1
  675. package/dist/src/internal/authored-definition/core.d.ts +1 -1
  676. package/dist/src/internal/authored-definition/core.js +1 -1
  677. package/dist/src/internal/authored-definition/memory.js +1 -1
  678. package/dist/src/internal/authored-definition/schema-backed.d.ts +0 -3
  679. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  680. package/dist/src/internal/authored-module-loader.d.ts +0 -1
  681. package/dist/src/internal/authored-module-loader.js +1 -1
  682. package/dist/src/internal/authored-package-boundary.js +1 -1
  683. package/dist/src/internal/git.d.ts +2 -0
  684. package/dist/src/internal/git.js +1 -0
  685. package/dist/src/internal/grep.d.ts +1 -0
  686. package/dist/src/internal/grep.js +1 -0
  687. package/dist/src/internal/helpers/markdown.js +1 -1
  688. package/dist/src/internal/invocation/agent-invocation.d.ts +16 -19
  689. package/dist/src/internal/invocation/metadata.d.ts +0 -2
  690. package/dist/src/internal/invocation/metadata.js +1 -1
  691. package/dist/src/internal/invocation/workflow-execution.d.ts +4 -4
  692. package/dist/src/internal/invocation/workflow-execution.js +1 -1
  693. package/dist/src/internal/legacy-events.d.ts +5 -0
  694. package/dist/src/internal/legacy-events.js +1 -0
  695. package/dist/src/internal/logging.d.ts +0 -12
  696. package/dist/src/internal/logging.js +1 -1
  697. package/dist/src/internal/mcp/protected-resource.js +1 -1
  698. package/dist/src/internal/mcp/published-tools.js +1 -1
  699. package/dist/src/internal/model-auth/api-key.js +1 -1
  700. package/dist/src/internal/model-auth/development-broker-client.js +1 -1
  701. package/dist/src/internal/model-auth/development-broker-server.js +1 -1
  702. package/dist/src/internal/model-auth/transport.js +1 -1
  703. package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
  704. package/dist/src/internal/nitro/dev-runtime-generation-metadata.js +1 -1
  705. package/dist/src/internal/nitro/host/build-extension.js +2 -2
  706. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  707. package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
  708. package/dist/src/internal/nitro/host/dev-server-state.js +1 -1
  709. package/dist/src/internal/nitro/host/drained-nitro-dev-server.js +1 -1
  710. package/dist/src/internal/nitro/host/start-development-server.js +1 -1
  711. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  712. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
  713. package/dist/src/internal/nitro/routes/channel-route-context.d.ts +8 -1
  714. package/dist/src/internal/nitro/routes/info.js +1 -1
  715. package/dist/src/internal/nitro/routes/schedule-task.js +1 -1
  716. package/dist/src/internal/scaffold.d.ts +5 -0
  717. package/dist/src/internal/scaffold.js +1 -0
  718. package/dist/src/internal/workflow/cancel-expired-development-run.js +1 -1
  719. package/dist/src/internal/workflow/development-world-client.js +1 -1
  720. package/dist/src/internal/workflow/development-world-server.js +1 -1
  721. package/dist/src/internal/workflow/local-world-data-directory.js +1 -1
  722. package/dist/src/internal/workspace.d.ts +1 -0
  723. package/dist/src/internal/workspace.js +1 -0
  724. package/dist/src/models/auto.d.ts +27 -14
  725. package/dist/src/models/auto.js +2 -2
  726. package/dist/src/protocol/delivery.d.ts +11 -0
  727. package/dist/src/protocol/delivery.js +1 -0
  728. package/dist/src/protocol/descendant-observation.d.ts +12 -0
  729. package/dist/src/protocol/descendant-observation.js +1 -0
  730. package/dist/src/protocol/interaction-json.d.ts +66 -0
  731. package/dist/src/protocol/interaction-json.js +1 -0
  732. package/dist/src/protocol/interaction-options.d.ts +4 -0
  733. package/dist/src/protocol/interaction-options.js +1 -0
  734. package/dist/src/protocol/remote-agent-protocol.d.ts +28 -1
  735. package/dist/src/protocol/remote-agent-protocol.js +1 -1
  736. package/dist/src/protocol/routes.d.ts +3 -2
  737. package/dist/src/protocol/routes.js +1 -1
  738. package/dist/src/protocol/session-event.d.ts +22 -0
  739. package/dist/src/protocol/session-event.js +1 -0
  740. package/dist/src/protocol/session-events/authoring.d.ts +2 -0
  741. package/dist/src/protocol/session-events/authoring.js +1 -0
  742. package/dist/src/protocol/session-events/catalog.d.ts +50 -0
  743. package/dist/src/protocol/session-events/catalog.js +1 -0
  744. package/dist/src/protocol/session-events/checker.d.ts +23 -0
  745. package/dist/src/protocol/session-events/checker.js +1 -0
  746. package/dist/src/protocol/session-events/common.d.ts +105 -0
  747. package/dist/src/protocol/session-events/common.js +1 -0
  748. package/dist/src/protocol/session-events/envelope.d.ts +174 -0
  749. package/dist/src/protocol/session-events/envelope.js +1 -0
  750. package/dist/src/protocol/session-events/facts.d.ts +24 -0
  751. package/dist/src/protocol/session-events/facts.js +1 -0
  752. package/dist/src/protocol/session-events/families/call.d.ts +142 -0
  753. package/dist/src/protocol/session-events/families/call.js +1 -0
  754. package/dist/src/protocol/session-events/families/child.d.ts +51 -0
  755. package/dist/src/protocol/session-events/families/child.js +1 -0
  756. package/dist/src/protocol/session-events/families/content.d.ts +56 -0
  757. package/dist/src/protocol/session-events/families/content.js +1 -0
  758. package/dist/src/protocol/session-events/families/context.d.ts +55 -0
  759. package/dist/src/protocol/session-events/families/context.js +1 -0
  760. package/dist/src/protocol/session-events/families/delivery.d.ts +86 -0
  761. package/dist/src/protocol/session-events/families/delivery.js +1 -0
  762. package/dist/src/protocol/session-events/families/interaction.d.ts +163 -0
  763. package/dist/src/protocol/session-events/families/interaction.js +1 -0
  764. package/dist/src/protocol/session-events/families/model.d.ts +88 -0
  765. package/dist/src/protocol/session-events/families/model.js +1 -0
  766. package/dist/src/protocol/session-events/families/response.d.ts +66 -0
  767. package/dist/src/protocol/session-events/families/response.js +1 -0
  768. package/dist/src/protocol/session-events/families/session.d.ts +73 -0
  769. package/dist/src/protocol/session-events/families/session.js +1 -0
  770. package/dist/src/protocol/session-events/families/task.d.ts +46 -0
  771. package/dist/src/protocol/session-events/families/task.js +1 -0
  772. package/dist/src/protocol/session-events/families/turn.d.ts +68 -0
  773. package/dist/src/protocol/session-events/families/turn.js +1 -0
  774. package/dist/src/protocol/session-events/families/usage.d.ts +30 -0
  775. package/dist/src/protocol/session-events/families/usage.js +1 -0
  776. package/dist/src/protocol/session-events/guards.d.ts +11 -0
  777. package/dist/src/protocol/session-events/guards.js +1 -0
  778. package/dist/src/protocol/session-events/index.d.ts +16 -0
  779. package/dist/src/protocol/session-events/index.js +1 -0
  780. package/dist/src/protocol/session-events/json.d.ts +20 -0
  781. package/dist/src/protocol/session-events/json.js +1 -0
  782. package/dist/src/protocol/session-events/schemas.d.ts +320 -0
  783. package/dist/src/protocol/session-events/schemas.js +1 -0
  784. package/dist/src/protocol/session-http.d.ts +7 -0
  785. package/dist/src/protocol/session-http.js +1 -0
  786. package/dist/src/protocol/session-lines.d.ts +19 -0
  787. package/dist/src/protocol/session-lines.js +1 -0
  788. package/dist/src/protocol/session-projection/fold.d.ts +75 -0
  789. package/dist/src/protocol/session-projection/fold.js +1 -0
  790. package/dist/src/protocol/session-projection/index.d.ts +4 -0
  791. package/dist/src/protocol/session-projection/index.js +1 -0
  792. package/dist/src/protocol/session-projection/observations.d.ts +150 -0
  793. package/dist/src/protocol/session-projection/observations.js +1 -0
  794. package/dist/src/protocol/session-projection/public-view.d.ts +74 -0
  795. package/dist/src/protocol/session-projection/public-view.js +1 -0
  796. package/dist/src/protocol/session-projection/reader.d.ts +62 -0
  797. package/dist/src/protocol/session-projection/reader.js +1 -0
  798. package/dist/src/protocol/session-projection/request-status.d.ts +7 -0
  799. package/dist/src/protocol/session-projection/request-status.js +1 -0
  800. package/dist/src/protocol/session-projection/selectors.d.ts +169 -0
  801. package/dist/src/protocol/session-projection/selectors.js +2 -0
  802. package/dist/src/protocol/session-projection/session-view.d.ts +18 -0
  803. package/dist/src/protocol/session-projection/session-view.js +1 -0
  804. package/dist/src/protocol/session-projection/tables.d.ts +237 -0
  805. package/dist/src/protocol/session-projection/tables.js +1 -0
  806. package/dist/src/protocol/session-projection/tree.d.ts +72 -0
  807. package/dist/src/protocol/session-projection/tree.js +1 -0
  808. package/dist/src/protocol/session-projection.d.ts +38 -157
  809. package/dist/src/protocol/session-projection.js +1 -1
  810. package/dist/src/protocol/task-tools.d.ts +8 -6
  811. package/dist/src/protocol/task-tools.js +1 -1
  812. package/dist/src/protocol/v26-interactions.d.ts +11 -0
  813. package/dist/src/protocol/v26-interactions.js +1 -0
  814. package/dist/src/protocol/v26-lines.d.ts +5 -0
  815. package/dist/src/protocol/v26-lines.js +1 -0
  816. package/dist/src/public/agents/auth.d.ts +2 -2
  817. package/dist/src/public/agents/auth.js +1 -1
  818. package/dist/src/public/ai/index.d.ts +1 -0
  819. package/dist/src/public/channels/auth.d.ts +2 -532
  820. package/dist/src/public/channels/auth.js +1 -1
  821. package/dist/src/public/channels/chat-sdk/authorization.d.ts +5 -2
  822. package/dist/src/public/channels/chat-sdk/authorization.js +1 -3
  823. package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +10 -10
  824. package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +1 -3
  825. package/dist/src/public/channels/chat-sdk/index.d.ts +1 -1
  826. package/dist/src/public/channels/chat-sdk/index.js +1 -1
  827. package/dist/src/public/channels/chat-sdk/input-actions.d.ts +4 -4
  828. package/dist/src/public/channels/chat-sdk/input-actions.js +3 -3
  829. package/dist/src/public/channels/chat-sdk/{messageToUserContent.d.ts → message-content.d.ts} +3 -3
  830. package/dist/src/public/channels/chat-sdk/message-content.js +1 -0
  831. package/dist/src/public/channels/discord/api.d.ts +8 -11
  832. package/dist/src/public/channels/discord/api.js +1 -1
  833. package/dist/src/public/channels/discord/attachments.d.ts +2 -2
  834. package/dist/src/public/channels/discord/authorization.d.ts +3 -13
  835. package/dist/src/public/channels/discord/authorization.js +2 -2
  836. package/dist/src/public/channels/discord/credentials.d.ts +11 -0
  837. package/dist/src/public/channels/discord/credentials.js +1 -0
  838. package/dist/src/public/channels/discord/defaults.d.ts +7 -1
  839. package/dist/src/public/channels/discord/defaults.js +1 -3
  840. package/dist/src/public/channels/discord/discordChannel.d.ts +36 -48
  841. package/dist/src/public/channels/discord/discordChannel.js +1 -1
  842. package/dist/src/public/channels/discord/hitl.d.ts +5 -4
  843. package/dist/src/public/channels/discord/hitl.js +1 -1
  844. package/dist/src/public/channels/discord/index.d.ts +4 -12
  845. package/dist/src/public/channels/discord/index.js +1 -1
  846. package/dist/src/public/channels/discord/messages.js +1 -1
  847. package/dist/src/public/channels/github/defaults.js +2 -4
  848. package/dist/src/public/channels/github/githubChannel.d.ts +23 -36
  849. package/dist/src/public/channels/github/githubChannel.js +1 -1
  850. package/dist/src/public/channels/github/index.d.ts +3 -2
  851. package/dist/src/public/channels/github/index.js +1 -1
  852. package/dist/src/public/channels/github/state.d.ts +2 -0
  853. package/dist/src/public/channels/imessage-tapbacks.d.ts +1 -1
  854. package/dist/src/public/channels/index.d.ts +16 -37
  855. package/dist/src/public/channels/index.js +1 -1
  856. package/dist/src/public/channels/linear/defaults.js +2 -4
  857. package/dist/src/public/channels/linear/hitl.d.ts +3 -3
  858. package/dist/src/public/channels/linear/hitl.js +2 -2
  859. package/dist/src/public/channels/linear/inbound-uploads.d.ts +3 -3
  860. package/dist/src/public/channels/linear/inbound-uploads.js +1 -1
  861. package/dist/src/public/channels/linear/inbound.d.ts +5 -3
  862. package/dist/src/public/channels/linear/inbound.js +1 -1
  863. package/dist/src/public/channels/linear/index.d.ts +4 -6
  864. package/dist/src/public/channels/linear/index.js +1 -1
  865. package/dist/src/public/channels/linear/linearChannel.d.ts +19 -30
  866. package/dist/src/public/channels/linear/linearChannel.js +1 -1
  867. package/dist/src/public/channels/linq/inboundContent.d.ts +2 -2
  868. package/dist/src/public/channels/linq/inboundContent.js +1 -1
  869. package/dist/src/public/channels/linq/index.d.ts +1 -1
  870. package/dist/src/public/channels/linq/linqChannel.d.ts +1 -2
  871. package/dist/src/public/channels/mcp.d.ts +2 -2
  872. package/dist/src/public/channels/mcp.js +1 -1
  873. package/dist/src/public/channels/photon/inboundContent.d.ts +2 -2
  874. package/dist/src/public/channels/photon/inboundContent.js +1 -1
  875. package/dist/src/public/channels/photon/index.d.ts +1 -1
  876. package/dist/src/public/channels/photon/photonIMessageChannel.d.ts +1 -2
  877. package/dist/src/public/channels/reply.d.ts +22 -0
  878. package/dist/src/public/channels/reply.js +3 -0
  879. package/dist/src/public/channels/slack/action-status.js +1 -1
  880. package/dist/src/public/channels/slack/{input-response.d.ts → answers.d.ts} +5 -5
  881. package/dist/src/public/channels/slack/answers.js +1 -0
  882. package/dist/src/public/channels/slack/api.d.ts +5 -2
  883. package/dist/src/public/channels/slack/api.js +1 -1
  884. package/dist/src/public/channels/slack/approval-cards.d.ts +15 -5
  885. package/dist/src/public/channels/slack/approval-cards.js +2 -2
  886. package/dist/src/public/channels/slack/attachments.d.ts +6 -6
  887. package/dist/src/public/channels/slack/attachments.js +1 -1
  888. package/dist/src/public/channels/slack/blocks.d.ts +1 -1
  889. package/dist/src/public/channels/slack/blocks.js +1 -1
  890. package/dist/src/public/channels/slack/cards.d.ts +576 -0
  891. package/dist/src/public/channels/slack/cards.js +1 -0
  892. package/dist/src/public/channels/slack/connections.d.ts +4 -22
  893. package/dist/src/public/channels/slack/connections.js +1 -1
  894. package/dist/src/public/channels/slack/defaults.d.ts +13 -2
  895. package/dist/src/public/channels/slack/defaults.js +5 -5
  896. package/dist/src/public/channels/slack/hitl.d.ts +20 -19
  897. package/dist/src/public/channels/slack/hitl.js +3 -3
  898. package/dist/src/public/channels/slack/index.d.ts +7 -16
  899. package/dist/src/public/channels/slack/index.js +1 -1
  900. package/dist/src/public/channels/slack/interaction-cards.js +1 -1
  901. package/dist/src/public/channels/slack/interactions.d.ts +2 -2
  902. package/dist/src/public/channels/slack/interactions.js +1 -1
  903. package/dist/src/public/channels/slack/limits.js +1 -1
  904. package/dist/src/public/channels/slack/private-approval-delivery.d.ts +3 -3
  905. package/dist/src/public/channels/slack/private-approval-delivery.js +1 -1
  906. package/dist/src/public/channels/slack/renderers.d.ts +21 -27
  907. package/dist/src/public/channels/slack/renderers.js +1 -1
  908. package/dist/src/public/channels/slack/reply-delivery.d.ts +4 -4
  909. package/dist/src/public/channels/slack/reply-delivery.js +1 -1
  910. package/dist/src/public/channels/slack/session-operations.d.ts +4 -4
  911. package/dist/src/public/channels/slack/sign-in-cancel.js +1 -1
  912. package/dist/src/public/channels/slack/slackChannel.d.ts +30 -37
  913. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  914. package/dist/src/public/channels/slack/task-card.d.ts +9 -9
  915. package/dist/src/public/channels/slack/task-card.js +1 -1
  916. package/dist/src/public/channels/teams/api.d.ts +3 -7
  917. package/dist/src/public/channels/teams/attachments.d.ts +4 -4
  918. package/dist/src/public/channels/teams/authorization.d.ts +5 -9
  919. package/dist/src/public/channels/teams/authorization.js +1 -1
  920. package/dist/src/public/channels/teams/credentials.d.ts +13 -0
  921. package/dist/src/public/channels/teams/credentials.js +1 -0
  922. package/dist/src/public/channels/teams/defaults.d.ts +2 -6
  923. package/dist/src/public/channels/teams/defaults.js +1 -3
  924. package/dist/src/public/channels/teams/hitl.d.ts +8 -7
  925. package/dist/src/public/channels/teams/hitl.js +1 -1
  926. package/dist/src/public/channels/teams/index.d.ts +6 -8
  927. package/dist/src/public/channels/teams/index.js +1 -1
  928. package/dist/src/public/channels/teams/teamsChannel.d.ts +25 -44
  929. package/dist/src/public/channels/teams/teamsChannel.js +1 -1
  930. package/dist/src/public/channels/telegram/api.d.ts +3 -4
  931. package/dist/src/public/channels/telegram/attachments.d.ts +5 -5
  932. package/dist/src/public/channels/telegram/authorization-callback.js +1 -1
  933. package/dist/src/public/channels/telegram/authorization.d.ts +4 -8
  934. package/dist/src/public/channels/telegram/authorization.js +2 -2
  935. package/dist/src/public/channels/telegram/credentials.d.ts +9 -0
  936. package/dist/src/public/channels/telegram/credentials.js +1 -0
  937. package/dist/src/public/channels/telegram/defaults.js +1 -3
  938. package/dist/src/public/channels/telegram/hitl.d.ts +22 -20
  939. package/dist/src/public/channels/telegram/hitl.js +2 -2
  940. package/dist/src/public/channels/telegram/index.d.ts +5 -7
  941. package/dist/src/public/channels/telegram/index.js +1 -1
  942. package/dist/src/public/channels/telegram/telegramChannel.d.ts +23 -36
  943. package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
  944. package/dist/src/public/channels/text.d.ts +4 -0
  945. package/dist/src/public/channels/text.js +1 -0
  946. package/dist/src/public/channels/twilio/api.d.ts +8 -8
  947. package/dist/src/public/channels/twilio/api.js +1 -1
  948. package/dist/src/public/channels/twilio/credentials.d.ts +7 -0
  949. package/dist/src/public/channels/twilio/credentials.js +1 -0
  950. package/dist/src/public/channels/twilio/defaults.d.ts +0 -1
  951. package/dist/src/public/channels/twilio/defaults.js +1 -5
  952. package/dist/src/public/channels/twilio/inbound.d.ts +2 -2
  953. package/dist/src/public/channels/twilio/index.d.ts +4 -4
  954. package/dist/src/public/channels/twilio/index.js +1 -1
  955. package/dist/src/public/channels/twilio/twilioChannel.d.ts +24 -37
  956. package/dist/src/public/channels/twilio/twilioChannel.js +1 -1
  957. package/dist/src/public/channels/twilio/verify.d.ts +6 -4
  958. package/dist/src/public/channels/undelivered-reply.d.ts +2 -2
  959. package/dist/src/public/channels/upload-policy.d.ts +7 -7
  960. package/dist/src/public/connections/index.d.ts +3 -5
  961. package/dist/src/public/context/index.d.ts +3 -2
  962. package/dist/src/public/definitions/agent.d.ts +18 -18
  963. package/dist/src/public/definitions/agent.js +1 -1
  964. package/dist/src/public/definitions/approval.d.ts +1 -1
  965. package/dist/src/public/definitions/channel.d.ts +57 -60
  966. package/dist/src/public/definitions/channel.js +1 -1
  967. package/dist/src/public/definitions/connections/dynamic.d.ts +3 -15
  968. package/dist/src/public/definitions/connections/dynamic.js +1 -1
  969. package/dist/src/public/definitions/connections/events.d.ts +9 -9
  970. package/dist/src/public/definitions/connections/mcp.d.ts +5 -3
  971. package/dist/src/public/definitions/connections/openapi.d.ts +1 -1
  972. package/dist/src/public/definitions/extension.d.ts +2 -4
  973. package/dist/src/public/definitions/extension.js +1 -1
  974. package/dist/src/public/definitions/hook.d.ts +63 -85
  975. package/dist/src/public/definitions/hook.js +1 -1
  976. package/dist/src/public/definitions/instructions.d.ts +3 -10
  977. package/dist/src/public/definitions/instructions.js +1 -1
  978. package/dist/src/public/definitions/model.d.ts +21 -0
  979. package/dist/src/public/definitions/model.js +1 -0
  980. package/dist/src/public/definitions/removed-event-keys.d.ts +2 -0
  981. package/dist/src/public/definitions/removed-event-keys.js +1 -0
  982. package/dist/src/public/definitions/sandbox.d.ts +1 -1
  983. package/dist/src/public/definitions/schedule.d.ts +4 -4
  984. package/dist/src/public/definitions/skill.d.ts +5 -0
  985. package/dist/src/public/definitions/skill.js +1 -1
  986. package/dist/src/public/events/index.d.ts +27 -0
  987. package/dist/src/public/events/index.js +1 -0
  988. package/dist/src/public/experimental/connections/index.d.ts +1 -0
  989. package/dist/src/public/experimental/connections/index.js +1 -0
  990. package/dist/src/public/experimental/schedules/client.js +1 -1
  991. package/dist/src/public/hooks/index.d.ts +4 -3
  992. package/dist/src/public/index.d.ts +3 -2
  993. package/dist/src/public/instructions/index.d.ts +2 -2
  994. package/dist/src/public/instrumentation/index.d.ts +9 -28
  995. package/dist/src/public/instrumentation/index.js +1 -1
  996. package/dist/src/public/instrumentation/otel.d.ts +1 -1
  997. package/dist/src/public/instrumentation/otel.js +1 -1
  998. package/dist/src/public/instrumentation/provider.d.ts +1 -1
  999. package/dist/src/public/instrumentation/provider.js +1 -1
  1000. package/dist/src/public/local-dev.d.ts +3 -1
  1001. package/dist/src/public/memory/file/backend.d.ts +1 -1
  1002. package/dist/src/public/memory/file/backends/in-memory.js +1 -1
  1003. package/dist/src/public/memory/file/backends/vercel-blob.js +1 -1
  1004. package/dist/src/public/memory/file/provider.js +1 -1
  1005. package/dist/src/public/memory/index.d.ts +14 -20
  1006. package/dist/src/public/models/index.d.ts +3 -0
  1007. package/dist/src/public/models/index.js +1 -1
  1008. package/dist/src/public/models/openai/index.d.ts +0 -2
  1009. package/dist/src/public/models/openai/index.js +1 -1
  1010. package/dist/src/public/next/index.d.ts +5 -36
  1011. package/dist/src/public/next/index.js +1 -1
  1012. package/dist/src/public/nuxt/index.d.ts +1 -1
  1013. package/dist/src/public/nuxt/module.d.ts +5 -2
  1014. package/dist/src/public/sandbox/index.d.ts +1 -1
  1015. package/dist/src/public/sandbox/vercel-sandbox.d.ts +52 -12
  1016. package/dist/src/public/sandbox/vercel.d.ts +1 -1
  1017. package/dist/src/public/schedules/subscription.d.ts +5 -8
  1018. package/dist/src/public/server/index.d.ts +2 -14
  1019. package/dist/src/public/server/index.js +1 -1
  1020. package/dist/src/public/sessions/index.d.ts +6 -0
  1021. package/dist/src/public/sessions/index.js +1 -0
  1022. package/dist/src/public/skills/index.d.ts +2 -2
  1023. package/dist/src/public/skills/index.js +1 -1
  1024. package/dist/src/public/sveltekit/routing.d.ts +0 -4
  1025. package/dist/src/public/sveltekit/routing.js +1 -1
  1026. package/dist/src/public/tools/approval/index.d.ts +1 -1
  1027. package/dist/src/public/tools/bash.d.ts +1 -1
  1028. package/dist/src/public/tools/bash.js +1 -1
  1029. package/dist/src/public/tools/glob.d.ts +1 -1
  1030. package/dist/src/public/tools/glob.js +1 -1
  1031. package/dist/src/public/tools/grep.d.ts +1 -1
  1032. package/dist/src/public/tools/grep.js +1 -1
  1033. package/dist/src/public/tools/index.d.ts +5 -9
  1034. package/dist/src/public/tools/index.js +1 -1
  1035. package/dist/src/public/tools/read-file.d.ts +1 -1
  1036. package/dist/src/public/tools/read-file.js +1 -1
  1037. package/dist/src/public/tools/result.d.ts +17 -9
  1038. package/dist/src/public/tools/result.js +1 -1
  1039. package/dist/src/public/tools/web-fetch.d.ts +1 -1
  1040. package/dist/src/public/tools/web-fetch.js +1 -1
  1041. package/dist/src/public/tools/web-search.d.ts +1 -3
  1042. package/dist/src/public/tools/web-search.js +1 -1
  1043. package/dist/src/public/tools/write-file.d.ts +1 -1
  1044. package/dist/src/public/tools/write-file.js +1 -1
  1045. package/dist/src/public/workflow-modules.d.ts +8 -2
  1046. package/dist/src/react/index.d.ts +4 -7
  1047. package/dist/src/react/index.js +1 -1
  1048. package/dist/src/react/use-eve-agent.d.ts +68 -50
  1049. package/dist/src/react/use-eve-agent.js +1 -1
  1050. package/dist/src/reactions/bundle.d.ts +4 -0
  1051. package/dist/src/reactions/bundle.js +1 -0
  1052. package/dist/src/reactions/frame.d.ts +13 -0
  1053. package/dist/src/reactions/frame.js +1 -0
  1054. package/dist/src/reactions/intents.d.ts +22 -0
  1055. package/dist/src/reactions/intents.js +1 -0
  1056. package/dist/src/reactions/kinds/connection.d.ts +18 -0
  1057. package/dist/src/reactions/kinds/connection.js +1 -0
  1058. package/dist/src/reactions/kinds/hook.d.ts +8 -0
  1059. package/dist/src/reactions/kinds/hook.js +1 -0
  1060. package/dist/src/reactions/kinds/instructions.d.ts +21 -0
  1061. package/dist/src/reactions/kinds/instructions.js +1 -0
  1062. package/dist/src/reactions/kinds/memory.d.ts +72 -0
  1063. package/dist/src/reactions/kinds/memory.js +1 -0
  1064. package/dist/src/reactions/kinds/model.d.ts +21 -0
  1065. package/dist/src/reactions/kinds/model.js +1 -0
  1066. package/dist/src/reactions/kinds/skill.d.ts +27 -0
  1067. package/dist/src/reactions/kinds/skill.js +1 -0
  1068. package/dist/src/reactions/kinds/subagent.d.ts +16 -0
  1069. package/dist/src/reactions/kinds/subagent.js +1 -0
  1070. package/dist/src/reactions/kinds/tool.d.ts +16 -0
  1071. package/dist/src/reactions/kinds/tool.js +1 -0
  1072. package/dist/src/reactions/policy.d.ts +13 -0
  1073. package/dist/src/reactions/policy.js +1 -0
  1074. package/dist/src/reactions/reaction.d.ts +83 -0
  1075. package/dist/src/reactions/reaction.js +1 -0
  1076. package/dist/src/reactions/records.d.ts +40 -0
  1077. package/dist/src/reactions/records.js +1 -0
  1078. package/dist/src/reactions/remote.d.ts +25 -0
  1079. package/dist/src/reactions/remote.js +1 -0
  1080. package/dist/src/reactions/runner.d.ts +45 -0
  1081. package/dist/src/reactions/runner.js +1 -0
  1082. package/dist/src/reactions/state.d.ts +102 -0
  1083. package/dist/src/reactions/state.js +1 -0
  1084. package/dist/src/reactions/turn.d.ts +12 -0
  1085. package/dist/src/reactions/turn.js +2 -0
  1086. package/dist/src/runtime/agent/bootstrap.d.ts +1 -3
  1087. package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
  1088. package/dist/src/runtime/agent/resolve-model.js +1 -1
  1089. package/dist/src/runtime/connections/principal.d.ts +2 -0
  1090. package/dist/src/runtime/connections/principal.js +1 -1
  1091. package/dist/src/runtime/connections/registry.d.ts +2 -2
  1092. package/dist/src/runtime/connections/registry.js +1 -1
  1093. package/dist/src/runtime/connections/scoped-authorization.d.ts +8 -1
  1094. package/dist/src/runtime/connections/scoped-authorization.js +1 -1
  1095. package/dist/src/runtime/graph.d.ts +0 -6
  1096. package/dist/src/runtime/local-dev-capability.d.ts +2 -3
  1097. package/dist/src/runtime/local-dev-capability.js +1 -1
  1098. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  1099. package/dist/src/runtime/resolve-agent.js +1 -1
  1100. package/dist/src/runtime/resolve-connection.js +1 -1
  1101. package/dist/src/runtime/resolve-dynamic.d.ts +9 -0
  1102. package/dist/src/runtime/resolve-dynamic.js +1 -0
  1103. package/dist/src/runtime/resolve-hook.js +1 -1
  1104. package/dist/src/runtime/resolve-memory.js +1 -1
  1105. package/dist/src/runtime/resolve-tool.js +1 -1
  1106. package/dist/src/runtime/schedules/collection-client.js +1 -1
  1107. package/dist/src/runtime/schedules/dispatch-occurrence.js +1 -1
  1108. package/dist/src/runtime/sessions/compiled-agent-cache.d.ts +0 -2
  1109. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
  1110. package/dist/src/runtime/subagents/dynamic-agent-config.js +1 -1
  1111. package/dist/src/runtime/subagents/dynamic-remote-agent-config.d.ts +16 -3
  1112. package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
  1113. package/dist/src/runtime/subagents/workflow.js +1 -1
  1114. package/dist/src/runtime/types.d.ts +22 -39
  1115. package/dist/src/sandbox/provider.d.ts +3 -3
  1116. package/dist/src/sandbox/providers/default.d.ts +4 -2
  1117. package/dist/src/sandbox/providers/default.js +1 -1
  1118. package/dist/src/self-modification/agent.d.ts +3 -3
  1119. package/dist/src/self-modification/agent.js +1 -1
  1120. package/dist/src/self-modification/config.d.ts +1 -1
  1121. package/dist/src/self-modification/config.js +1 -1
  1122. package/dist/src/self-modification/deployed-sandbox.js +1 -1
  1123. package/dist/src/self-modification/extension/extension.d.ts +1 -0
  1124. package/dist/src/self-modification/extension/local-only.d.ts +1 -1
  1125. package/dist/src/self-modification/extension/local-only.js +1 -1
  1126. package/dist/src/self-modification/extension/subagents/agent/agent.d.ts +15 -4
  1127. package/dist/src/self-modification/extension/subagents/agent/agent.js +1 -1
  1128. package/dist/src/self-modification/extension/subagents/agent/instructions.d.ts +1 -1
  1129. package/dist/src/self-modification/extension/subagents/agent/instructions.js +2 -2
  1130. package/dist/src/self-modification/extension/subagents/agent/sandbox.d.ts +2 -2
  1131. package/dist/src/self-modification/extension/subagents/agent/sandbox.js +1 -1
  1132. package/dist/src/self-modification/extension/subagents/agent/skills/trace_analysis.d.ts +3 -3
  1133. package/dist/src/self-modification/extension/subagents/agent/skills/trace_analysis.js +1 -1
  1134. package/dist/src/self-modification/extension/subagents/agent/tools/inspect_trace.d.ts +1 -1
  1135. package/dist/src/self-modification/extension/subagents/agent/tools/inspect_trace_spans.d.ts +1 -1
  1136. package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.d.ts +1 -1
  1137. package/dist/src/self-modification/extension/subagents/agent/tools/search_traces.d.ts +1 -1
  1138. package/dist/src/self-modification/mode.d.ts +8 -0
  1139. package/dist/src/self-modification/mode.js +1 -1
  1140. package/dist/src/self-modification/remote/config.d.ts +3 -6
  1141. package/dist/src/self-modification/remote/extension.d.ts +1 -0
  1142. package/dist/src/self-modification/remote/production-registry-add.js +1 -1
  1143. package/dist/src/self-modification/remote/subagents/agent/agent.d.ts +6 -3
  1144. package/dist/src/self-modification/remote/subagents/agent/agent.js +1 -1
  1145. package/dist/src/self-modification/remote/subagents/agent/instructions.d.ts +1 -1
  1146. package/dist/src/self-modification/remote/subagents/agent/instructions.js +2 -2
  1147. package/dist/src/self-modification/remote/subagents/agent/tools/publish.d.ts +1 -3
  1148. package/dist/src/self-modification/remote/subagents/agent/tools/publish.js +1 -1
  1149. package/dist/src/self-modification/remote/subagents/agent/tools/registry_add.d.ts +1 -3
  1150. package/dist/src/self-modification/remote/subagents/agent/tools/registry_add.js +1 -1
  1151. package/dist/src/self-modification/scaffold.js +1 -1
  1152. package/dist/src/self-modification/setup.js +3 -6
  1153. package/dist/src/services/dev-client/client-options.js +1 -1
  1154. package/dist/src/services/dev-client.d.ts +4 -4
  1155. package/dist/src/services/dev-client.js +1 -1
  1156. package/dist/src/setup/integrations/self-modification/setup.d.ts +1 -4
  1157. package/dist/src/setup/integrations/self-modification/setup.js +1 -1
  1158. package/dist/src/setup/scaffold/create/project.js +1 -1
  1159. package/dist/src/setup/scaffold/create/web-template.d.ts +9 -18
  1160. package/dist/src/setup/scaffold/create/web-template.js +1015 -2537
  1161. package/dist/src/setup/verified-remote-agent.js +1 -1
  1162. package/dist/src/shared/action-label.d.ts +5 -3
  1163. package/dist/src/shared/action-label.js +1 -1
  1164. package/dist/src/shared/action-types.d.ts +5 -0
  1165. package/dist/src/shared/action-types.js +1 -1
  1166. package/dist/src/shared/agent-definition.d.ts +14 -9
  1167. package/dist/src/shared/answers-delivery-id.d.ts +1 -0
  1168. package/dist/src/shared/answers-delivery-id.js +1 -0
  1169. package/dist/src/shared/channel-context.d.ts +12 -0
  1170. package/dist/src/shared/channel-context.js +1 -0
  1171. package/dist/src/shared/channel-definition.d.ts +19 -26
  1172. package/dist/src/shared/channel-delivery.d.ts +16 -0
  1173. package/dist/src/shared/channel-delivery.js +1 -0
  1174. package/dist/src/shared/connection-events.d.ts +2 -2
  1175. package/dist/src/shared/connection-types.d.ts +7 -32
  1176. package/dist/src/shared/conversation-context.d.ts +4 -13
  1177. package/dist/src/shared/delivery.d.ts +38 -0
  1178. package/dist/src/shared/delivery.js +1 -0
  1179. package/dist/src/shared/history-message.d.ts +190 -0
  1180. package/dist/src/shared/history-message.js +1 -0
  1181. package/dist/src/shared/input.d.ts +23 -97
  1182. package/dist/src/shared/input.js +1 -1
  1183. package/dist/src/shared/instructions-definition.d.ts +2 -8
  1184. package/dist/src/shared/instrumentation-channel-kind.d.ts +1 -1
  1185. package/dist/src/shared/instrumentation-channel.d.ts +12 -0
  1186. package/dist/src/shared/instrumentation-channel.js +1 -0
  1187. package/dist/src/shared/json.d.ts +2 -18
  1188. package/dist/src/shared/memory-state.d.ts +4 -40
  1189. package/dist/src/shared/memory-state.js +1 -1
  1190. package/dist/src/shared/message-content.d.ts +19 -0
  1191. package/dist/src/shared/message-content.js +1 -0
  1192. package/dist/src/shared/network-address.d.ts +9 -0
  1193. package/dist/src/shared/network-address.js +1 -1
  1194. package/dist/src/shared/sandbox-environment.d.ts +2 -2
  1195. package/dist/src/shared/sandbox-provider.d.ts +1 -1
  1196. package/dist/src/shared/sandbox-session.d.ts +60 -85
  1197. package/dist/src/shared/schedule-definition.d.ts +5 -5
  1198. package/dist/src/shared/serialized-observability-state.d.ts +0 -2
  1199. package/dist/src/shared/serialized-observability-state.js +1 -1
  1200. package/dist/src/shared/session-history.d.ts +2 -2
  1201. package/dist/src/shared/session.d.ts +22 -0
  1202. package/dist/src/shared/session.js +1 -0
  1203. package/dist/src/shared/skill-definition.d.ts +1 -1
  1204. package/dist/src/shared/skill-package.d.ts +2 -2
  1205. package/dist/src/shared/skill-package.js +1 -1
  1206. package/dist/src/shared/token-usage-math.d.ts +5 -0
  1207. package/dist/src/shared/token-usage-math.js +1 -0
  1208. package/dist/src/shared/token-usage.d.ts +0 -2
  1209. package/dist/src/shared/token-usage.js +1 -1
  1210. package/dist/src/shared/validate-authorization.js +1 -1
  1211. package/dist/src/shared/wait-with-signal.d.ts +2 -0
  1212. package/dist/src/shared/wait-with-signal.js +1 -0
  1213. package/dist/src/subagents/adapter.d.ts +3 -5
  1214. package/dist/src/subagents/adapter.js +1 -1
  1215. package/dist/src/subagents/callback-route.js +1 -1
  1216. package/dist/src/subagents/event-proxy-step.d.ts +6 -9
  1217. package/dist/src/subagents/event-proxy-step.js +1 -1
  1218. package/dist/src/subagents/hitl-proxy.d.ts +11 -23
  1219. package/dist/src/subagents/hitl-proxy.js +1 -1
  1220. package/dist/src/subagents/invocation.d.ts +8 -8
  1221. package/dist/src/subagents/invocation.js +2 -2
  1222. package/dist/src/subagents/parent-notification.d.ts +5 -0
  1223. package/dist/src/subagents/parent-notification.js +1 -1
  1224. package/dist/src/subagents/protocol-two-callback.d.ts +27 -0
  1225. package/dist/src/subagents/protocol-two-callback.js +1 -0
  1226. package/dist/src/svelte/index.d.ts +3 -6
  1227. package/dist/src/svelte/index.js +2 -39
  1228. package/dist/src/svelte/use-eve-agent.d.ts +67 -56
  1229. package/dist/src/svelte/use-eve-agent.js +1 -1
  1230. package/dist/src/tool-stubs/rules.js +1 -1
  1231. package/dist/src/tools/approval/policies.d.ts +4 -16
  1232. package/dist/src/tools/approval/policies.js +1 -1
  1233. package/dist/src/tools/auth.d.ts +3 -3
  1234. package/dist/src/tools/definition.d.ts +13 -35
  1235. package/dist/src/tools/definition.js +1 -1
  1236. package/dist/src/tools/dynamic.d.ts +13 -72
  1237. package/dist/src/tools/dynamic.js +1 -1
  1238. package/dist/src/tools/framework/agent.js +1 -1
  1239. package/dist/src/tools/provided/ask-question-workflow.d.ts +3 -3
  1240. package/dist/src/tools/provided/ask-question-workflow.js +1 -1
  1241. package/dist/src/tools/provided/ask-question.d.ts +2 -2
  1242. package/dist/src/tools/provided/ask-question.js +1 -1
  1243. package/dist/src/tools/provided/grep.d.ts +2 -15
  1244. package/dist/src/tools/provided/grep.js +1 -2
  1245. package/dist/src/tools/provided/no-reply.d.ts +2 -2
  1246. package/dist/src/tools/provided/no-reply.js +1 -1
  1247. package/dist/src/tools/provided/sleep-workflow.js +1 -1
  1248. package/dist/src/tools/provided/sleep.d.ts +2 -2
  1249. package/dist/src/tools/provided/sleep.js +1 -1
  1250. package/dist/src/tools/provided/workflow.js +1 -1
  1251. package/dist/src/tools/workflow-definition.d.ts +17 -15
  1252. package/dist/src/tracing/eve/agent-approval-instrumentation.d.ts +1 -1
  1253. package/dist/src/tracing/eve/agent-approval-instrumentation.js +1 -1
  1254. package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.d.ts +2 -2
  1255. package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.js +1 -1
  1256. package/dist/src/tracing/eve/agent-invocation-coordinator.d.ts +2 -2
  1257. package/dist/src/tracing/eve/agent-otel-provider.js +1 -1
  1258. package/dist/src/tracing/eve/agent-tool-instrumentation.d.ts +6 -7
  1259. package/dist/src/tracing/eve/agent-tool-instrumentation.js +1 -1
  1260. package/dist/src/tracing/eve/agent-trace-context-store.d.ts +3 -3
  1261. package/dist/src/tracing/eve/agent-trace-state.d.ts +1 -6
  1262. package/dist/src/tracing/eve/delegation.d.ts +4 -4
  1263. package/dist/src/tracing/eve/install-instrumentation-runtime.js +1 -1
  1264. package/dist/src/tracing/eve/invoke-tool-span.d.ts +3 -2
  1265. package/dist/src/tracing/eve/invoke-tool-span.js +1 -1
  1266. package/dist/src/tracing/eve/otel-declaration.d.ts +9 -10
  1267. package/dist/src/tracing/eve/otel-declaration.js +1 -1
  1268. package/dist/src/tracing/eve/policy.d.ts +2 -2
  1269. package/dist/src/tracing/eve/policy.js +1 -1
  1270. package/dist/src/tracing/eve/session.d.ts +4 -3
  1271. package/dist/src/tracing/eve/session.js +1 -1
  1272. package/dist/src/vue/index.d.ts +3 -6
  1273. package/dist/src/vue/index.js +2 -39
  1274. package/dist/src/vue/use-eve-agent.d.ts +70 -59
  1275. package/dist/src/vue/use-eve-agent.js +1 -1
  1276. package/docs/agent-config.md +40 -44
  1277. package/docs/channels/chat-sdk.mdx +19 -13
  1278. package/docs/channels/custom.mdx +106 -85
  1279. package/docs/channels/discord.mdx +12 -12
  1280. package/docs/channels/eve.mdx +48 -15
  1281. package/docs/channels/github.mdx +2 -2
  1282. package/docs/channels/linear.mdx +8 -8
  1283. package/docs/channels/linq.mdx +1 -1
  1284. package/docs/channels/mcp.mdx +2 -2
  1285. package/docs/channels/overview.mdx +11 -1
  1286. package/docs/channels/photon.mdx +1 -1
  1287. package/docs/channels/slack.mdx +64 -57
  1288. package/docs/channels/teams.mdx +4 -4
  1289. package/docs/channels/telegram.mdx +1 -1
  1290. package/docs/channels/twilio.mdx +2 -2
  1291. package/docs/code-extension.mdx +19 -7
  1292. package/docs/concepts/built-in-tools.md +21 -9
  1293. package/docs/concepts/context-control.md +5 -8
  1294. package/docs/concepts/default-harness.md +7 -8
  1295. package/docs/concepts/execution-model-and-durability.mdx +119 -12
  1296. package/docs/concepts/meta.json +1 -0
  1297. package/docs/concepts/sessions-runs-and-streaming.md +244 -138
  1298. package/docs/concepts/state.md +1 -1
  1299. package/docs/concepts/upgrade-to-v27-events.md +128 -0
  1300. package/docs/connections/mcp.mdx +38 -34
  1301. package/docs/connections/openapi.mdx +23 -2
  1302. package/docs/connections/overview.mdx +66 -57
  1303. package/docs/evals/assertions.mdx +30 -24
  1304. package/docs/evals/cases.mdx +19 -24
  1305. package/docs/evals/judge.mdx +2 -2
  1306. package/docs/evals/overview.mdx +7 -7
  1307. package/docs/evals/reporters.mdx +15 -11
  1308. package/docs/evals/targets.mdx +5 -3
  1309. package/docs/evals/tool-stubs.mdx +2 -2
  1310. package/docs/extensions.md +6 -3
  1311. package/docs/guides/client/continuations.mdx +10 -10
  1312. package/docs/guides/client/messages.mdx +50 -48
  1313. package/docs/guides/client/output-schema.mdx +13 -13
  1314. package/docs/guides/client/overview.mdx +12 -12
  1315. package/docs/guides/client/streaming.mdx +160 -123
  1316. package/docs/guides/decide.md +15 -9
  1317. package/docs/guides/deployment/self-hosting.md +5 -40
  1318. package/docs/guides/dynamic-capabilities.md +151 -406
  1319. package/docs/guides/frontend/nextjs.mdx +1 -1
  1320. package/docs/guides/frontend/nuxt.mdx +2 -2
  1321. package/docs/guides/frontend/overview.mdx +257 -181
  1322. package/docs/guides/frontend/sveltekit.mdx +4 -4
  1323. package/docs/guides/frontend/tanstack.mdx +5 -5
  1324. package/docs/guides/frontend/use-eve-agent-svelte.mdx +30 -38
  1325. package/docs/guides/frontend/use-eve-agent-vue.mdx +35 -36
  1326. package/docs/guides/hooks.md +67 -55
  1327. package/docs/guides/instrumentation/instrumentation.mdx +33 -27
  1328. package/docs/guides/instrumentation/otel.mdx +4 -2
  1329. package/docs/guides/remote-agents.md +116 -50
  1330. package/docs/guides/self-modification.md +11 -7
  1331. package/docs/instructions.mdx +4 -6
  1332. package/docs/memory/custom-provider.md +63 -56
  1333. package/docs/memory/file.md +1 -1
  1334. package/docs/memory/overview.mdx +10 -18
  1335. package/docs/patterns/durable-cross-channel-notifications.md +4 -3
  1336. package/docs/patterns/multi-tenant-approvals.md +3 -3
  1337. package/docs/patterns/multi-tenant-auth.md +3 -3
  1338. package/docs/patterns/multi-tenant-memory.md +6 -7
  1339. package/docs/patterns/voice-notes.md +1 -1
  1340. package/docs/reference/cli.md +8 -24
  1341. package/docs/reference/typescript-api.md +85 -60
  1342. package/docs/sandbox/custom-providers.mdx +13 -14
  1343. package/docs/sandbox/default.mdx +1 -1
  1344. package/docs/sandbox/docker.mdx +10 -0
  1345. package/docs/sandbox/index.mdx +4 -0
  1346. package/docs/sandbox/vercel.mdx +6 -6
  1347. package/docs/schedules.mdx +4 -4
  1348. package/docs/skills.mdx +6 -6
  1349. package/docs/subagents/index.mdx +25 -34
  1350. package/docs/tools/human-in-the-loop.md +42 -34
  1351. package/docs/tools/overview.mdx +14 -12
  1352. package/docs/tools/tasks-upgrade.md +13 -1
  1353. package/docs/tools/tasks.md +58 -89
  1354. package/docs/tools/workflows.mdx +44 -33
  1355. package/docs/tutorial/guard-the-spend.mdx +1 -1
  1356. package/docs/tutorial/run-analysis.mdx +15 -12
  1357. package/docs/tutorial/team-playbooks.mdx +19 -23
  1358. package/package.json +146 -95
  1359. package/dist/src/chunks/use-eve-agent-BE2_zd5q.js +0 -4968
  1360. package/dist/src/chunks/use-eve-agent-e8a5vcFO.js +0 -4926
  1361. package/dist/src/cli/invoke/command.d.ts +0 -19
  1362. package/dist/src/cli/invoke/command.js +0 -1
  1363. package/dist/src/cli/invoke/invoke.d.ts +0 -27
  1364. package/dist/src/cli/invoke/invoke.js +0 -1
  1365. package/dist/src/cli/invoke/result.d.ts +0 -137
  1366. package/dist/src/cli/invoke/result.js +0 -1
  1367. package/dist/src/client/agent-host.d.ts +0 -4
  1368. package/dist/src/client/agent-host.js +0 -1
  1369. package/dist/src/client/authorization-message-parts.d.ts +0 -4
  1370. package/dist/src/client/authorization-message-parts.js +0 -1
  1371. package/dist/src/client/conversation-projection.d.ts +0 -4
  1372. package/dist/src/client/conversation-projection.js +0 -1
  1373. package/dist/src/client/conversation-reducer.d.ts +0 -29
  1374. package/dist/src/client/conversation-reducer.js +0 -1
  1375. package/dist/src/client/eve-agent-projection.d.ts +0 -28
  1376. package/dist/src/client/eve-agent-projection.js +0 -1
  1377. package/dist/src/client/eve-agent-store-helpers.d.ts +0 -34
  1378. package/dist/src/client/eve-agent-store-helpers.js +0 -2
  1379. package/dist/src/client/eve-agent-store-state.d.ts +0 -96
  1380. package/dist/src/client/eve-agent-store.d.ts +0 -45
  1381. package/dist/src/client/eve-agent-store.js +0 -1
  1382. package/dist/src/client/message-action-parts.d.ts +0 -37
  1383. package/dist/src/client/message-action-parts.js +0 -1
  1384. package/dist/src/client/message-reducer-primitives.d.ts +0 -6
  1385. package/dist/src/client/message-reducer-primitives.js +0 -1
  1386. package/dist/src/client/message-reducer-types.d.ts +0 -244
  1387. package/dist/src/client/message-reducer.d.ts +0 -14
  1388. package/dist/src/client/message-reducer.js +0 -1
  1389. package/dist/src/client/message-response.d.ts +0 -74
  1390. package/dist/src/client/message-response.js +0 -1
  1391. package/dist/src/client/message-run-parts.d.ts +0 -22
  1392. package/dist/src/client/message-run-parts.js +0 -1
  1393. package/dist/src/client/output-schema.d.ts +0 -5
  1394. package/dist/src/client/output-schema.js +0 -1
  1395. package/dist/src/client/reducer.d.ts +0 -67
  1396. package/dist/src/client/session-turn-dispatch.d.ts +0 -15
  1397. package/dist/src/client/session-turn-dispatch.js +0 -1
  1398. package/dist/src/client/tool-call-state.d.ts +0 -23
  1399. package/dist/src/client/tool-call-state.js +0 -1
  1400. package/dist/src/client/tool-part-state.d.ts +0 -7
  1401. package/dist/src/client/tool-part-state.js +0 -1
  1402. package/dist/src/client/transcript-reducer.d.ts +0 -49
  1403. package/dist/src/client/transcript-reducer.js +0 -2
  1404. package/dist/src/context/build-dynamic-tools.d.ts +0 -10
  1405. package/dist/src/context/build-dynamic-tools.js +0 -1
  1406. package/dist/src/context/dynamic-connection-lifecycle.d.ts +0 -15
  1407. package/dist/src/context/dynamic-connection-lifecycle.js +0 -1
  1408. package/dist/src/context/dynamic-instruction-lifecycle.d.ts +0 -31
  1409. package/dist/src/context/dynamic-instruction-lifecycle.js +0 -1
  1410. package/dist/src/context/dynamic-model-lifecycle.d.ts +0 -19
  1411. package/dist/src/context/dynamic-model-lifecycle.js +0 -1
  1412. package/dist/src/context/dynamic-resolve-context.d.ts +0 -12
  1413. package/dist/src/context/dynamic-resolve-context.js +0 -1
  1414. package/dist/src/context/dynamic-skill-lifecycle.d.ts +0 -15
  1415. package/dist/src/context/dynamic-skill-lifecycle.js +0 -1
  1416. package/dist/src/context/dynamic-subagent-lifecycle.d.ts +0 -27
  1417. package/dist/src/context/dynamic-subagent-lifecycle.js +0 -1
  1418. package/dist/src/context/dynamic-tool-lifecycle.d.ts +0 -46
  1419. package/dist/src/context/dynamic-tool-lifecycle.js +0 -1
  1420. package/dist/src/context/dynamic-tool-metadata.d.ts +0 -47
  1421. package/dist/src/context/dynamic-tool-metadata.js +0 -1
  1422. package/dist/src/context/effective-model.d.ts +0 -5
  1423. package/dist/src/context/effective-model.js +0 -1
  1424. package/dist/src/context/hook-lifecycle.d.ts +0 -15
  1425. package/dist/src/context/hook-lifecycle.js +0 -1
  1426. package/dist/src/context/memory-event-lifecycle.d.ts +0 -15
  1427. package/dist/src/context/memory-event-lifecycle.js +0 -1
  1428. package/dist/src/context/memory-lifecycle.d.ts +0 -47
  1429. package/dist/src/context/memory-lifecycle.js +0 -1
  1430. package/dist/src/context/serialized-dynamic-model-selection.d.ts +0 -2
  1431. package/dist/src/context/serialized-dynamic-model-selection.js +0 -1
  1432. package/dist/src/execution/cancel-descendant-turns-step.d.ts +0 -6
  1433. package/dist/src/execution/cancel-descendant-turns-step.js +0 -1
  1434. package/dist/src/execution/dynamic-connection-recovery.d.ts +0 -14
  1435. package/dist/src/execution/dynamic-connection-recovery.js +0 -1
  1436. package/dist/src/execution/dynamic-connections.d.ts +0 -12
  1437. package/dist/src/execution/dynamic-connections.js +0 -1
  1438. package/dist/src/execution/history-view.d.ts +0 -10
  1439. package/dist/src/execution/history-view.js +0 -1
  1440. package/dist/src/execution/legacy-remote-agent/protocol.d.ts +0 -49
  1441. package/dist/src/execution/legacy-remote-agent/protocol.js +0 -1
  1442. package/dist/src/execution/runtime-errors.d.ts +0 -13
  1443. package/dist/src/execution/runtime-errors.js +0 -1
  1444. package/dist/src/execution/sandbox/grep-tool.d.ts +0 -26
  1445. package/dist/src/execution/sandbox/grep-tool.js +0 -3
  1446. package/dist/src/execution/session/turn-waiting-step.d.ts +0 -4
  1447. package/dist/src/execution/session/turn-waiting-step.js +0 -1
  1448. package/dist/src/execution/tools/workflow/cancel.d.ts +0 -13
  1449. package/dist/src/execution/tools/workflow/cancel.js +0 -1
  1450. package/dist/src/execution/workflow-trace-context.d.ts +0 -8
  1451. package/dist/src/execution/workflow-trace-context.js +0 -1
  1452. package/dist/src/extensions/code/extension/instructions/github.d.ts +0 -3
  1453. package/dist/src/extensions/code/extension/instructions/github.js +0 -1
  1454. package/dist/src/extensions/code/extension/lib/github-compat.d.ts +0 -28
  1455. package/dist/src/extensions/code/extension/lib/github-compat.js +0 -1
  1456. package/dist/src/extensions/code/extension/lib/grep-search.js +0 -6
  1457. package/dist/src/extensions/code/extension/skills/pr.d.ts +0 -6
  1458. package/dist/src/extensions/code/extension/skills/pr.js +0 -1
  1459. package/dist/src/extensions/code/extension/tools/gh.d.ts +0 -28
  1460. package/dist/src/extensions/code/extension/tools/gh.js +0 -1
  1461. package/dist/src/harness/approval-recheck.d.ts +0 -7
  1462. package/dist/src/harness/approval-recheck.js +0 -1
  1463. package/dist/src/harness/authorization-event-fields.d.ts +0 -16
  1464. package/dist/src/harness/authorization-event-fields.js +0 -1
  1465. package/dist/src/harness/hitl/candidates.d.ts +0 -139
  1466. package/dist/src/harness/hitl/candidates.js +0 -1
  1467. package/dist/src/harness/hitl/coordinator.d.ts +0 -35
  1468. package/dist/src/harness/hitl/coordinator.js +0 -1
  1469. package/dist/src/harness/input-extraction.d.ts +0 -13
  1470. package/dist/src/harness/input-extraction.js +0 -1
  1471. package/dist/src/harness/input-request-class.d.ts +0 -3
  1472. package/dist/src/harness/input-request-class.js +0 -1
  1473. package/dist/src/harness/input-request-resolution.d.ts +0 -39
  1474. package/dist/src/harness/input-request-resolution.js +0 -1
  1475. package/dist/src/harness/open-input-request.d.ts +0 -8
  1476. package/dist/src/harness/open-input-request.js +0 -1
  1477. package/dist/src/harness/session-machine/events.d.ts +0 -6
  1478. package/dist/src/harness/session-machine/events.js +0 -1
  1479. package/dist/src/harness/session-machine/resolver-events.d.ts +0 -12
  1480. package/dist/src/harness/session-machine/resolver-events.js +0 -1
  1481. package/dist/src/harness/tool-call-action.d.ts +0 -9
  1482. package/dist/src/harness/tool-call-action.js +0 -1
  1483. package/dist/src/harness/tool-interrupts.d.ts +0 -22
  1484. package/dist/src/harness/tool-interrupts.js +0 -1
  1485. package/dist/src/harness/tool-presentation.d.ts +0 -5
  1486. package/dist/src/harness/tool-presentation.js +0 -1
  1487. package/dist/src/harness/turn-tag-state.d.ts +0 -115
  1488. package/dist/src/harness/turn-tag-state.js +0 -1
  1489. package/dist/src/internal/dynamic-tool-rebind.d.ts +0 -3
  1490. package/dist/src/internal/dynamic-tool-rebind.js +0 -1
  1491. package/dist/src/internal/nitro/host/extension-capability-requirements.d.ts +0 -14
  1492. package/dist/src/internal/nitro/host/extension-capability-requirements.js +0 -1
  1493. package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.d.ts +0 -12
  1494. package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.js +0 -1
  1495. package/dist/src/internal/workflow-bundle/dynamic-remote-agent-transform.d.ts +0 -7
  1496. package/dist/src/internal/workflow-bundle/dynamic-remote-agent-transform.js +0 -3
  1497. package/dist/src/internal/workflow-bundle/dynamic-tool-ast-references.d.ts +0 -79
  1498. package/dist/src/internal/workflow-bundle/dynamic-tool-ast-references.js +0 -1
  1499. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.d.ts +0 -14
  1500. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.js +0 -3
  1501. package/dist/src/protocol/event-dedupe.d.ts +0 -26
  1502. package/dist/src/protocol/event-dedupe.js +0 -1
  1503. package/dist/src/protocol/event-id.d.ts +0 -10
  1504. package/dist/src/protocol/event-id.js +0 -1
  1505. package/dist/src/protocol/message-version.d.ts +0 -53
  1506. package/dist/src/protocol/message-version.js +0 -1
  1507. package/dist/src/protocol/message.d.ts +0 -1198
  1508. package/dist/src/protocol/message.js +0 -2
  1509. package/dist/src/public/channels/chat-sdk/messageToUserContent.js +0 -1
  1510. package/dist/src/public/channels/slack/input-response.js +0 -1
  1511. package/dist/src/runtime/hooks/registry.d.ts +0 -34
  1512. package/dist/src/runtime/hooks/registry.js +0 -1
  1513. package/dist/src/runtime/resolve-dynamic-connection.d.ts +0 -5
  1514. package/dist/src/runtime/resolve-dynamic-connection.js +0 -1
  1515. package/dist/src/runtime/resolve-dynamic-instructions.d.ts +0 -4
  1516. package/dist/src/runtime/resolve-dynamic-instructions.js +0 -1
  1517. package/dist/src/runtime/resolve-dynamic-skill.d.ts +0 -8
  1518. package/dist/src/runtime/resolve-dynamic-skill.js +0 -1
  1519. package/dist/src/runtime/resolve-dynamic-subagent.d.ts +0 -9
  1520. package/dist/src/runtime/resolve-dynamic-subagent.js +0 -1
  1521. package/dist/src/runtime/resolve-dynamic-tool.d.ts +0 -12
  1522. package/dist/src/runtime/resolve-dynamic-tool.js +0 -1
  1523. package/dist/src/self-modification/migration.d.ts +0 -9
  1524. package/dist/src/self-modification/migration.js +0 -28
  1525. package/dist/src/shared/history-view.d.ts +0 -22
  1526. package/dist/src/shared/history-view.js +0 -1
  1527. package/dist/src/shared/package-version.d.ts +0 -2
  1528. package/dist/src/shared/package-version.js +0 -1
  1529. package/dist/src/tools/durable-callbacks.d.ts +0 -118
  1530. package/dist/src/tools/durable-callbacks.js +0 -1
  1531. package/dist/src/tools/durable-schema.d.ts +0 -16
  1532. package/dist/src/tools/durable-schema.js +0 -1
  1533. /package/dist/src/{client/eve-agent-store-state.js → ai/decision-types.js} +0 -0
  1534. /package/dist/src/client/{message-reducer-types.js → agent-info-types.js} +0 -0
  1535. /package/dist/src/client/{reducer.js → health-types.js} +0 -0
  1536. /package/dist/src/{shared → protocol/session-projection}/display-name.d.ts +0 -0
  1537. /package/dist/src/{shared → protocol/session-projection}/display-name.js +0 -0
@@ -1,15 +1,13 @@
1
- import { type ToolApprovalConfiguration, type ToolSet } from "ai";
1
+ import { type ToolSet } from "ai";
2
2
  import type { ModelProfile } from "#harness/model-profile.js";
3
3
  import type { HarnessToolDefinition } from "#harness/execute-tool.js";
4
- import type { CallResolver, HarnessToolMap } from "#harness/types.js";
4
+ import type { HarnessToolMap } from "#harness/types.js";
5
+ import { type ApprovalMemory } from "#approval/evaluation.js";
6
+ import type { ApprovalDecision } from "#approval/status.js";
5
7
  import type { ToolExecuteOptions } from "#tools/definition.js";
6
8
  /**
7
- * Builds an AI SDK `ToolSet` from unified harness tool definitions, described
8
- * by `describe`. Each call's output is projected by the entry `resolve`
9
- * resolves it to.
10
- *
11
- * Tools without `execute` are surfaced to the model as client-side tools
12
- * (no server execution).
9
+ * Describes harness tools to the AI SDK, each as `describe` words it. The SDK only calls the
10
+ * model, so it gets no `execute`: eve runs every call itself (`#harness/call-executor.js`).
13
11
  *
14
12
  * Entries listed in `disabledProviderTools` are skipped entirely. Used
15
13
  * by the harness recovery path when a gateway fallback provider has
@@ -19,20 +17,19 @@ import type { ToolExecuteOptions } from "#tools/definition.js";
19
17
  export declare function buildToolSet(input: {
20
18
  readonly describe: (definition: HarnessToolDefinition) => string;
21
19
  readonly disabledProviderTools?: ReadonlySet<string>;
22
- readonly resolve: CallResolver;
23
20
  readonly tools: HarnessToolMap;
24
21
  }): ToolSet;
22
+ /** A tool eve runs inside the step, rather than the runtime or the provider. */
23
+ export type RunnableTool = HarnessToolDefinition & {
24
+ readonly execute: NonNullable<HarnessToolDefinition["execute"]>;
25
+ };
26
+ export declare function isRunnableTool(definition: HarnessToolDefinition | undefined): definition is RunnableTool;
25
27
  /**
26
- * Wraps a tool's `execute` so a returned {@link AuthorizationSignal} is
27
- * stashed out-of-band ({@link stashToolInterrupt}) for the park detector while
28
- * the AI SDK records an opaque {@link AuthorizationPendingModelOutput} that
29
- * omits OAuth URLs, user codes, and hook URLs from model-facing history.
30
- * Returns `undefined` for client-side tools (no `execute`). With `resolve`,
31
- * output is normalized under the name of the entry each call resolves to, so
32
- * an error from a call through `execute` names the entry, and a tool stub
33
- * matches that entry and its input, as it would a direct call.
28
+ * Runs a tool's `execute` for one call, through its stub when an eval stubs it, as the caller who
29
+ * approved the call. Outputs are normalized to JSON, except an {@link AuthorizationSignal}, which
30
+ * the executor turns into a sign-in.
34
31
  */
35
- export declare function wrapToolExecute(definition: HarnessToolDefinition, resolve?: CallResolver): ((input: any, options: ToolExecuteOptions) => Promise<any> | AsyncIterable<any>) | undefined;
32
+ export declare function invokeTool(definition: RunnableTool, input: unknown, options: ToolExecuteOptions): Promise<unknown> | AsyncIterable<unknown>;
36
33
  /**
37
34
  * Builds the AI SDK ToolSet for one harness step.
38
35
  *
@@ -56,28 +53,15 @@ export declare function buildToolSetWithProviderTools(input: {
56
53
  readonly describe: (definition: HarnessToolDefinition) => string;
57
54
  readonly disabledProviderTools?: ReadonlySet<string>;
58
55
  readonly profile: ModelProfile;
59
- readonly resolve: CallResolver;
60
56
  readonly tools: HarnessToolMap;
61
57
  }): Promise<ToolSet>;
62
- /**
63
- * Builds the AI SDK 7 call-level approval policy: each call is approved by the
64
- * entry it runs, under that entry's name and with its own input.
65
- */
66
- export declare function buildToolApproval(input: {
67
- readonly abortSignal?: AbortSignal;
68
- readonly approvedTools: ReadonlySet<string>;
69
- readonly resolve: CallResolver;
70
- }): ToolApprovalConfiguration<ToolSet, Record<string, unknown>>;
71
- /**
72
- * Re-runs a tool's approval policy for a call a person approved, just before eve runs it, so the
73
- * policy can still refuse it, as when the connection it was approved against changed.
74
- */
75
- export declare function recheckApprovedCall(definition: HarnessToolDefinition, call: {
58
+ interface ApprovalCall {
76
59
  readonly callId: string;
77
60
  readonly input: unknown;
78
61
  readonly abortSignal?: AbortSignal;
79
- readonly approvedTools?: ReadonlySet<string>;
80
- }): Promise<{
81
- readonly denied: boolean;
82
- readonly reason?: string;
83
- }>;
62
+ readonly approvalMemory?: ApprovalMemory;
63
+ readonly recheck?: boolean;
64
+ }
65
+ /** Decides whether a call runs, needs a person's approval, or is denied. */
66
+ export declare function decideApproval(definition: HarnessToolDefinition, call: ApprovalCall): Promise<ApprovalDecision>;
67
+ export {};
@@ -1 +1 @@
1
- import{tool}from"ai";import{createLogger}from"#internal/logging.js";import{isObject}from"#shared/guards.js";import{loadContext}from"#context/container.js";import{toModelSchema}from"#tools/schema.js";import{buildCallbackContext}from"#context/build-callback-context.js";import{resolveApprovalPolicy}from"#approval/definition.js";import{isApprovedToolCall,markApprovalRecheck}from"#harness/approval-recheck.js";import{isAuthorizationSignal,modelFacingAuthorizationOutput}from"#harness/authorization.js";import{entryModelOutput,stubbedCall}from"#harness/execute-call.js";import{normalizeToolJsonOutput}from"#harness/tool-model-output.js";import{isAsyncIterable}from"#shared/async-iterable.js";import{executeWithToolStub}from"#tool-stubs/execute.js";import{stashToolInterrupt}from"#harness/tool-interrupts.js";import{resolveWebSearchBackend,resolveWebSearchProviderTool}from"#harness/provider-tools.js";const log=createLogger(`harness.tools`);function buildToolSet(e){let t={},n=e.disabledProviderTools;for(let r of e.tools.values())n?.has(r.name)||(t[r.name]=tool({description:e.describe(r),execute:wrapToolExecute(r,e.resolve),inputSchema:toModelSchema(r.inputSchema,`input`),strict:!1,outputSchema:toModelSchema(r.outputSchema,`output`),...r.execute!==void 0||r.toModelOutput!==void 0?{toModelOutput:({input:t,output:n,toolCallId:i})=>entryModelOutput(e.resolve({input:t,toolName:r.name})?.definition??r,n,i)}:{}}));return t}function wrapToolExecute(e,t){let n=e.execute;if(n!==void 0)return(r,i)=>{let a={input:r,toolName:e.name},o=t?.(a),s=o?.definition.name??e.name,c=stubbedCall(a,o),run=()=>n(r,i),l;try{l=c===void 0?run():executeWithToolStub(c.toolName,c.input,i,run)}catch(e){return Promise.reject(e)}return isAsyncIterable(l)?normalizeToolExecuteIterable(l,s,i):Promise.resolve(l).then(e=>normalizeToolExecuteOutput(e,s,i))}}async function*normalizeToolExecuteIterable(e,t,n){for await(let r of e)yield normalizeToolExecuteOutput(r,t,n)}function normalizeToolExecuteOutput(e,t,n){return isAuthorizationSignal(e)?(stashToolInterrupt(loadContext(),n.toolCallId,e),modelFacingAuthorizationOutput(e)):normalizeToolJsonOutput({boundary:`execute`,output:e,toolCallId:n.toolCallId,toolName:t})}async function buildToolSetWithProviderTools(e){let t=e.disabledProviderTools,n={...buildToolSet(e)};for(let r of e.tools.values()){let i=r.behavior?.handling;if(i?.kind===`provider-tool`&&r.execute===void 0&&!t?.has(r.name)){let t=resolveWebSearchBackend(e.profile,i);t===null?(log.debug(`model has no web search backend; leaving the tool out`,{gateway:e.profile.gateway,modelProvider:e.profile.provider,searchProvider:i.provider,tool:r.name}),delete n[r.name]):n[r.name]=await resolveWebSearchProviderTool(t)}}return n}function buildToolApproval(e){return async({toolCall:t,messages:n})=>{let r=e.resolve(t);if(r!==void 0)return await evaluateApproval(r.definition,{abortSignal:e.abortSignal,approvedTools:e.approvedTools,callId:t.toolCallId,input:r.call.input,recheck:isApprovedToolCall(n,t.toolCallId)})}}async function recheckApprovedCall(e,t){let n=await evaluateApproval(e,{...t,recheck:!0});return n===`denied`?{denied:!0}:typeof n==`object`&&n&&n.type===`denied`?{denied:!0,reason:n.reason}:{denied:!1}}async function evaluateApproval(e,t){if(e.approval===void 0)return;let n={...buildCallbackContext(),abortSignal:t.abortSignal??new AbortController().signal,approvedTools:t.approvedTools??new Set,callId:t.callId,toolInput:isObject(t.input)?t.input:void 0,toolName:e.name},r=await resolveApprovalPolicy(e.approval)(t.recheck?markApprovalRecheck(n):n);return typeof r==`boolean`?r?`user-approval`:`not-applicable`:r}export{buildToolApproval,buildToolSet,buildToolSetWithProviderTools,recheckApprovedCall,wrapToolExecute};
1
+ import{tool}from"ai";import{createLogger}from"#internal/logging.js";import{isObject}from"#shared/guards.js";import{toModelSchema}from"#tools/schema.js";import{buildCallbackContext}from"#context/build-callback-context.js";import{evaluateApproval}from"#approval/evaluation.js";import{isAuthorizationSignal}from"#harness/authorization.js";import{resolveApprovalPolicy}from"#approval/definition.js";import{normalizeToolJsonOutput}from"#harness/tool-model-output.js";import{isAsyncIterable}from"#shared/async-iterable.js";import{executeWithToolStub}from"#tool-stubs/execute.js";import{resolveWebSearchBackend,resolveWebSearchProviderTool}from"#harness/provider-tools.js";const log=createLogger(`harness.tools`);function buildToolSet(e){let t={},n=e.disabledProviderTools;for(let r of e.tools.values())n?.has(r.name)||(t[r.name]=tool({description:e.describe(r),inputSchema:toModelSchema(r.inputSchema,`input`),strict:!1,outputSchema:toModelSchema(r.outputSchema,`output`)}));return t}function isRunnableTool(e){return e?.execute!==void 0}function invokeTool(e,t,n){let{execute:r}=e,i;try{i=executeWithToolStub(e.name,t,n,()=>r(t,n))}catch(e){return Promise.reject(e)}return isAsyncIterable(i)?normalizeToolExecuteIterable(i,e.name,n):Promise.resolve(i).then(t=>normalizeToolExecuteOutput(t,e.name,n))}async function*normalizeToolExecuteIterable(e,t,n){for await(let r of e)yield normalizeToolExecuteOutput(r,t,n)}function normalizeToolExecuteOutput(e,t,n){return isAuthorizationSignal(e)?e:normalizeToolJsonOutput({boundary:`execute`,output:e,toolCallId:n.toolCallId,toolName:t})}async function buildToolSetWithProviderTools(e){let t=e.disabledProviderTools,n={...buildToolSet(e)};for(let r of e.tools.values()){let i=r.behavior?.handling;if(i?.kind===`provider-tool`&&r.execute===void 0&&!t?.has(r.name)){let t=resolveWebSearchBackend(e.profile,i);t===null?(log.debug(`model has no web search backend; leaving the tool out`,{gateway:e.profile.gateway,modelProvider:e.profile.provider,searchProvider:i.provider,tool:r.name}),delete n[r.name]):n[r.name]=await resolveWebSearchProviderTool(t)}}return n}async function decideApproval(e,t){return e.approval===void 0?{denied:!1}:await evaluateApproval(resolveApprovalPolicy(e.approval),{...buildCallbackContext(),abortSignal:t.abortSignal??new AbortController().signal,callId:t.callId,toolInput:isObject(t.input)?t.input:void 0,toolName:e.name},{memory:t.approvalMemory,recheck:t.recheck})}export{buildToolSet,buildToolSetWithProviderTools,decideApproval,invokeTool,isRunnableTool};
@@ -1,20 +1,22 @@
1
+ import type { SessionEvent } from "#protocol/session-event.js";
2
+ import type { ConsumedDelivery } from "#harness/session-machine/transitions.js";
1
3
  import type { AuthorizationChallenge } from "#harness/authorization.js";
2
- import type { LanguageModel, ModelMessage, UserContent } from "ai";
4
+ import type { LanguageModel } from "ai";
5
+ import type { MessageContent } from "#shared/message-content.js";
3
6
  import type { SessionAuthContext, SessionCapabilities } from "#channel/types.js";
4
- import type { AlsContext } from "#context/container.js";
5
- import type { RuntimeIdentity, StepStartedStreamEvent, UnstampedMessageStreamEvent } from "#protocol/message.js";
7
+ import type { RuntimeIdentity } from "#protocol/session-events/families/session.js";
6
8
  import type { RuntimeActionResult } from "#shared/action-types.js";
7
9
  import type { RuntimeModelReference } from "#runtime/agent/bootstrap.js";
8
- import type { InputResponse } from "#shared/input.js";
10
+ import type { Answer } from "#shared/input.js";
9
11
  import type { SandboxState } from "#sandbox/state.js";
10
12
  import type { JsonObject } from "#shared/json.js";
11
13
  import type { TokenUsage } from "#shared/token-usage.js";
14
+ import type { Principal } from "#protocol/session-events/envelope.js";
12
15
  import type { InternalToolDefinition } from "#tools/definition.js";
13
16
  import type { AgentReasoningDefinition, SessionUsageLimit } from "#shared/agent-definition.js";
14
17
  import type { HarnessToolDefinition } from "#harness/execute-tool.js";
15
18
  import type { HarnessModelMessage } from "#harness/messages.js";
16
19
  import type { SessionInstrumentation } from "#instrumentation/runtime.js";
17
- import type { HistoryViewProjector, PreparedHistoryView } from "#shared/history-view.js";
18
20
  import type { SessionHistoryMessage } from "#shared/session-history.js";
19
21
  /**
20
22
  * Serializable tool definition stored on the session.
@@ -25,12 +27,15 @@ import type { SessionHistoryMessage } from "#shared/session-history.js";
25
27
  export type SessionToolDefinition = Readonly<InternalToolDefinition>;
26
28
  /** Authored-key → opaque-value map stored on `session.state`. */
27
29
  export type SessionStateMap = Readonly<Record<string, unknown>>;
28
- /**
29
- * Compaction configuration stored on the session.
30
- */
31
- export interface CompactionConfig {
30
+ /** Prompt observations that survive rebuilding the agent's settings on each turn. */
31
+ export interface CompactionState {
32
32
  readonly lastKnownInputTokens?: number;
33
33
  readonly lastKnownPromptMessageCount?: number;
34
+ /** The previous request's non-history estimate, also used before the next request is built. */
35
+ readonly requestEnvelopeTokens?: number;
36
+ }
37
+ /** Compaction configuration stored on the session. */
38
+ export interface CompactionConfig extends CompactionState {
34
39
  readonly recentWindowSize: number;
35
40
  readonly threshold: number;
36
41
  readonly thresholdPercent?: number;
@@ -89,27 +94,19 @@ export interface HarnessSession extends HarnessSessionBase {
89
94
  readonly history: HarnessModelMessage[];
90
95
  }
91
96
  export declare function requireSessionModelReference(session: HarnessSession): RuntimeModelReference;
97
+ /** The delivery a control arrived as: its id, and who sent it, as the wire names them. */
98
+ export interface ControlDelivery {
99
+ readonly deliveryId: string;
100
+ readonly principal?: Principal;
101
+ }
92
102
  /**
93
- * Input payload for a harness turn.
94
- *
95
- * Carries an optional message and/or structured input responses from the
96
- * channel emitter's `onDeliver`. The message may be a plain text string or
97
- * a structured AI SDK {@link UserContent} array (mixing `text`, `image`,
98
- * and `file` parts) to support multimodal attachments delivered by
99
- * channels. The harness resolves any pending input batch at the start of
100
- * `runStep` before the model call.
103
+ * What a channel's `deliver` hook makes of one payload: the input a turn receives. The message is
104
+ * {@link MessageContent}: plain text, or text and file parts.
101
105
  */
102
- export interface AttributedInputResponse {
103
- readonly auth: SessionAuthContext | null;
104
- readonly response: InputResponse;
105
- }
106
106
  export interface StepInput {
107
- /** Internal responder-bound input produced at the delivery boundary. */
108
- readonly attributedInputResponses?: readonly AttributedInputResponse[];
109
- readonly inputResponses?: readonly InputResponse[];
110
- readonly message?: string | UserContent;
111
- /** Internal actor attribution for `message`. */
112
- readonly messageAuth?: SessionAuthContext | null;
107
+ /** Answers to the session's open interactions. */
108
+ readonly answers?: readonly Answer[];
109
+ readonly message?: MessageContent;
113
110
  /**
114
111
  * Context strings from the channel delivery. Each entry is appended as a
115
112
  * synthetic user-role message to `session.history` before the
@@ -127,13 +124,35 @@ export interface StepInput {
127
124
  * present. Omitted continuations keep the existing schema.
128
125
  */
129
126
  readonly outputSchema?: JsonObject;
127
+ }
128
+ /**
129
+ * An answer as the session received it: the response it submits, the delivery it arrived in,
130
+ * and who gave it when that isn't the turn's caller.
131
+ */
132
+ export interface SubmittedAnswer extends Answer {
133
+ readonly responseId: string;
134
+ readonly deliveryId: string;
130
135
  /**
131
- * Runtime-owned action results being resumed into the current turn.
132
- *
133
- * This field is internal to the execution/harness boundary and is never
134
- * produced by channels.
136
+ * Who answered an approval when a delivery only answered requests: the turn keeps its caller.
137
+ * `null` answers as no one; absent, the answer is the caller's.
135
138
  */
139
+ readonly responder?: SessionAuthContext | null;
140
+ }
141
+ /**
142
+ * A turn step's input inside the session: what `deliver` made, with each answer bound to the
143
+ * response it submits, and what the runtime resumes. Never produced by channels.
144
+ */
145
+ export interface HarnessStepInput extends Omit<StepInput, "answers"> {
146
+ readonly answers?: readonly SubmittedAnswer[];
147
+ /** Runtime-owned action results being resumed into the current turn. */
136
148
  readonly runtimeActionResults?: readonly RuntimeActionResult[];
149
+ /**
150
+ * What the agents behind some of {@link runtimeActionResults} spent, by call id. Each call's
151
+ * settlement records it, so the session counts a child's usage once.
152
+ */
153
+ readonly delegatedUsage?: Readonly<Record<string, TokenUsage>>;
154
+ /** The deliveries this input carries, each with what its person sent, which the turn consumes. */
155
+ readonly deliveries?: readonly ConsumedDelivery[];
137
156
  }
138
157
  /**
139
158
  * Terminal result indicating the conversation is finished.
@@ -196,7 +215,7 @@ export type TurnHold = {
196
215
  * A single step of AI work. Takes the current session and optional user input,
197
216
  * returns the updated session and an instruction for the runtime.
198
217
  */
199
- export type StepFn = (session: HarnessSession, input?: StepInput) => Promise<StepResult>;
218
+ export type StepFn = (session: HarnessSession, input?: HarnessStepInput) => Promise<StepResult>;
200
219
  /**
201
220
  * Map from tool name to its harness-owned definition.
202
221
  *
@@ -219,22 +238,24 @@ export interface ResolvedCall<T extends ToolCallLike> {
219
238
  /** Resolves a model tool call to the entry it runs, if it reaches one. */
220
239
  export type CallResolver = <T extends ToolCallLike>(toolCall: T) => ResolvedCall<T> | undefined;
221
240
  /**
222
- * Callback that writes one event to the event stream.
223
- *
224
- * Composed by the runtime from the underlying writable and the channel's
225
- * event handler, then injected into the harness so it can emit lifecycle
226
- * events without knowing about writables or handlers.
241
+ * What one publish writes: one event, or every event of one transition, which the writer commits
242
+ * as one line so readers never see half of it.
227
243
  */
228
- export type HarnessEmitFn = (event: UnstampedMessageStreamEvent, messages?: readonly import("ai").ModelMessage[]) => Promise<void>;
244
+ export type SessionPublication = SessionEvent | readonly SessionEvent[];
245
+ /** The sink the harness emits to: see {@link HandleEventFn}. */
246
+ export type HarnessEmitFn = HandleEventFn;
247
+ /** Where a model call stands: its turn and its step within the turn. */
248
+ export interface StepCoordinates {
249
+ readonly sequence: number;
250
+ readonly stepIndex: number;
251
+ readonly turnId: string;
252
+ }
229
253
  /**
230
- * Unified event handler: emits the event to the stream, then
231
- * dispatches to hook subscribers and dynamic tool resolvers.
232
- *
233
- * Same signature as {@link HarnessEmitFn} but semantically broader —
234
- * every event goes through channel adapter, stream write, hooks,
235
- * and dynamic tool dispatch in one call.
254
+ * Publishes one event or one commit to the session: the stream write, then the channel and the
255
+ * session's reactions. Composed by the runtime and injected into the harness, so the harness emits
256
+ * lifecycle without knowing about writables or handlers.
236
257
  */
237
- export type HandleEventFn = (event: UnstampedMessageStreamEvent, messages?: readonly import("ai").ModelMessage[]) => Promise<void>;
258
+ export type HandleEventFn = (publication: SessionPublication, messages?: readonly import("ai").ModelMessage[]) => Promise<void>;
238
259
  /**
239
260
  * Dependencies injected into the tool-loop harness at construction time.
240
261
  */
@@ -248,15 +269,14 @@ export interface ToolLoopHarnessConfig {
248
269
  * continuation prompt may park the session.
249
270
  */
250
271
  readonly capabilities?: SessionCapabilities;
272
+ readonly sessionUsageLimit?: SessionUsageLimit;
251
273
  /** Clears model-message history without running a model turn. */
252
274
  readonly clearOnly?: boolean;
253
275
  /** Forces one context-compaction pass without running a model turn. */
254
276
  readonly compactOnly?: boolean;
277
+ /** The delivery a clear or compact control arrived as; its facts name it. */
278
+ readonly controlDelivery?: ControlDelivery;
255
279
  readonly handleEvent?: HandleEventFn;
256
- /** Projects raw durable history before it crosses a message-bearing boundary. */
257
- readonly historyProjector?: HistoryViewProjector;
258
- /** Execution-prepared view of the history supplied to the first harness step. */
259
- readonly historyView?: PreparedHistoryView;
260
280
  /**
261
281
  * Internal lifecycle hooks injected into each actual model attempt.
262
282
  * Omitted in production until an instrumentation runtime opts in.
@@ -275,22 +295,6 @@ export interface ToolLoopHarnessConfig {
275
295
  * routes structured answers down.
276
296
  */
277
297
  readonly typedAnswers?: boolean;
278
- /** Restores runtime resources for the originating turn before approval work. */
279
- readonly prepareApprovalTurn?: (event: {
280
- readonly sequence: number;
281
- readonly turnId: string;
282
- }) => Promise<void>;
283
- /** Resolves persisted step-scoped tools before an approval policy reads them. */
284
- readonly resolveStepDynamicTools?: (input: {
285
- readonly ctx: AlsContext;
286
- readonly event: StepStartedStreamEvent;
287
- readonly messages: readonly ModelMessage[];
288
- }) => Promise<void>;
289
- readonly dispatchDynamicModelEvent?: (input: {
290
- readonly ctx: AlsContext;
291
- readonly event: UnstampedMessageStreamEvent;
292
- readonly messages: readonly ModelMessage[];
293
- }) => Promise<void>;
294
298
  readonly resolveModel: (reference: RuntimeModelReference) => Promise<LanguageModel>;
295
299
  /**
296
300
  * Runtime identity metadata attached to the `session.started` event.
@@ -300,8 +304,6 @@ export interface ToolLoopHarnessConfig {
300
304
  * authoritative server-side metadata.
301
305
  */
302
306
  readonly runtimeIdentity?: RuntimeIdentity;
303
- /** The agent's `limits.sessionUsage`; the default limit applies when absent. */
304
- readonly sessionUsageLimit?: SessionUsageLimit;
305
307
  /**
306
308
  * Unified tool definitions for this harness step.
307
309
  *
@@ -0,0 +1,4 @@
1
+ import type { UserPart } from "#protocol/session-events/envelope.js";
2
+ import type { MessageContent } from "#shared/message-content.js";
3
+ /** The parts of one message. */
4
+ export declare function userPartsOf(message: MessageContent): readonly UserPart[];
@@ -0,0 +1 @@
1
+ import{deserializeUrlFilePart,hasInternalRefScheme,isSerializedUrlFilePart}from"#internal/attachments/url-refs.js";import{decodeSandboxRef,isSandboxRefUrl}from"#internal/attachments/sandbox-refs.js";import{getKnownByteLength}from"#internal/attachments/data.js";function userPartsOf(e){if(typeof e==`string`)return[{kind:`text`,text:e}];let t=[];for(let n of e)t.push(n.type===`text`?{kind:`text`,text:n.text}:filePart(n.data,n.mediaType,n.filename));return t}function filePart(e,t,n){if(isSandboxRefUrl(e)){let t=decodeSandboxRef(e);return file({filename:basenameOf(n??t.path),mediaType:t.mediaType,size:t.size})}if(isTaggedFileData(e))switch(e.type){case`data`:return file({filename:n,mediaType:t,size:byteLengthOf(e.data)});case`reference`:case`text`:return file({filename:n,mediaType:t});case`url`:return file({filename:n,mediaType:t,url:clientUrl(e.url)})}let r=byteLengthOf(e);return file(r===void 0?{filename:n,mediaType:t,url:clientUrl(e)}:{filename:n,mediaType:t,size:r})}function file(e){let t={kind:`file`,mediaType:e.mediaType};return e.filename!==void 0&&(t.filename=e.filename),e.size!==void 0&&(t.size=e.size),e.url===void 0?t.unavailable=!0:t.url=e.url,t}function isTaggedFileData(e){if(typeof e!=`object`||!e)return!1;let t=e.type;return t===`data`||t===`reference`||t===`text`||t===`url`}function byteLengthOf(e){return getKnownByteLength(e)??void 0}function clientUrl(e){if(isSerializedUrlFilePart(e))try{return httpUrl(deserializeUrlFilePart(e))}catch{return}if(e instanceof URL)return httpUrl(e);if(!(typeof e!=`string`||hasInternalRefScheme(e)||e.startsWith(`data:`)))try{return httpUrl(new URL(e))}catch{return}}function httpUrl(e){return e.protocol===`http:`||e.protocol===`https:`?e.href:void 0}function basenameOf(e){let t=e.replaceAll(`\\`,`/`),n=t.slice(t.lastIndexOf(`/`)+1);return n.length>0?n:e}export{userPartsOf};
@@ -1,6 +1,5 @@
1
1
  import type { RuntimeToolResultActionResult } from "#shared/action-types.js";
2
2
  import type { SessionStateMap } from "#harness/types.js";
3
- export declare const WORKFLOW_TOOL_RUNS_STATE_KEY = "eve.workflowTool";
4
3
  /** One workflow tool call the originating turn waits on. */
5
4
  export interface BlockingWorkflowToolRun {
6
5
  readonly callId: string;
@@ -1 +1 @@
1
- import{isNonEmptyString,isObject}from"#shared/guards.js";const WORKFLOW_TOOL_RUNS_STATE_KEY=`eve.workflowTool`;function isWorkflowToolRun(e){return isObject(e)&&isNonEmptyString(e.callId)&&isNonEmptyString(e.toolName)&&isObject(e.origin)&&isNonEmptyString(e.origin.turnId)&&typeof e.origin.stepIndex==`number`&&Number.isSafeInteger(e.origin.stepIndex)&&e.origin.stepIndex>=0&&isObject(e.address)&&isNonEmptyString(e.address.runId)&&isNonEmptyString(e.address.hookToken)}function parseRegistry(e){if(!isObject(e)||e.version!==4||!Array.isArray(e.runs)||!Array.from(e.runs).every(isWorkflowToolRun))throw Error(`Corrupt workflow tool run registry: invalid version or run.`);let t=new Set;for(let n of e.runs){let e=JSON.stringify([n.origin.turnId,n.callId]);if(t.has(e))throw Error(`Corrupt workflow tool run registry: Run identities must be unique.`);t.add(e)}return{...e,version:4,runs:e.runs.map(copyWorkflowToolRun)}}function copyWorkflowToolRun(e){return{...e,origin:{...e.origin},address:{...e.address}}}function readRegistry(e){let t=e?.[WORKFLOW_TOOL_RUNS_STATE_KEY];if(isUnsupportedState(e,t))throw Error(`Unsupported workflow tool run state: start a new session or import its conversation.`);return t===void 0?{version:4,runs:[]}:parseRegistry(t)}function isUnsupportedState(e,t){let n=e?.[`eve.tasks`]!==void 0||e?.[`eve.runtime.workflowToolRuns`]!==void 0,r=isObject(t)&&t.version!==4;return n||r}function getBlockingWorkflowToolRuns(e,t){return readRegistry(e).runs.filter(e=>t===void 0||e.origin.turnId===t)}function writeRegistry(e,t){if(t.runs.length===0){let t={...e};return delete t[WORKFLOW_TOOL_RUNS_STATE_KEY],Object.keys(t).length===0?void 0:t}return{...e,[WORKFLOW_TOOL_RUNS_STATE_KEY]:parseRegistry(t)}}function registerWorkflowToolRun(e,t){let n=readRegistry(e.state),r=[...n.runs],i=r.findIndex(e=>e.origin.turnId===t.origin.turnId&&e.callId===t.callId),a=r[i];if(a!==void 0&&a.toolName!==t.toolName)throw Error(`Replayed invocation changed its tool identity.`);return a===void 0?r.push(t):r[i]={...a,...t,origin:a.origin,address:{...a.address,...t.address}},{...e,state:writeRegistry(e.state,{...n,runs:r})}}function removeBlockingWorkflowToolRuns(e,t,n){let r=readRegistry(e.state),i=r.runs,a=i.filter(e=>e.origin.turnId!==t||n!==void 0&&e.callId!==n);return a.length===i.length?e:{...e,state:writeRegistry(e.state,{...r,runs:a})}}function findBlockingWorkflowToolRun(e,t,n){let r=getBlockingWorkflowToolRuns(e,n).filter(e=>e.callId===t);return r.length===1?r[0]:void 0}function isInboxToolResultFromRecordedWorkflowToolRun(e,t){let n=findBlockingWorkflowToolRun(e,t.callId);return n!==void 0&&n.toolName===t.toolName}export{WORKFLOW_TOOL_RUNS_STATE_KEY,findBlockingWorkflowToolRun,getBlockingWorkflowToolRuns,isInboxToolResultFromRecordedWorkflowToolRun,registerWorkflowToolRun,removeBlockingWorkflowToolRuns};
1
+ import{isNonEmptyString,isObject}from"#shared/guards.js";import{readRunningWork,writeRunningWork}from"#harness/running-work.js";function isWorkflowToolRun(e){return isObject(e)&&isNonEmptyString(e.callId)&&isNonEmptyString(e.toolName)&&isObject(e.origin)&&isNonEmptyString(e.origin.turnId)&&typeof e.origin.stepIndex==`number`&&Number.isSafeInteger(e.origin.stepIndex)&&e.origin.stepIndex>=0&&isObject(e.address)&&isNonEmptyString(e.address.runId)&&isNonEmptyString(e.address.hookToken)}function parseRuns(e){if(!e.every(isWorkflowToolRun))throw Error(`Corrupt workflow tool run registry: invalid run.`);let t=new Set;for(let n of e){let e=JSON.stringify([n.origin.turnId,n.callId]);if(t.has(e))throw Error(`Corrupt workflow tool run registry: Run identities must be unique.`);t.add(e)}return e.map(copyWorkflowToolRun)}function copyWorkflowToolRun(e){return{...e,origin:{...e.origin},address:{...e.address}}}function readRuns(e){return parseRuns(readRunningWork(e).calls)}function writeRuns(e,t){return writeRunningWork(e,{calls:parseRuns(t)})}function getBlockingWorkflowToolRuns(e,t){return readRuns(e).filter(e=>t===void 0||e.origin.turnId===t)}function registerWorkflowToolRun(e,t){let n=[...readRuns(e.state)],r=n.findIndex(e=>e.origin.turnId===t.origin.turnId&&e.callId===t.callId),i=n[r];if(i!==void 0&&i.toolName!==t.toolName)throw Error(`Replayed invocation changed its tool identity.`);return i===void 0?n.push(t):n[r]={...i,...t,origin:i.origin,address:{...i.address,...t.address}},{...e,state:writeRuns(e.state,n)}}function removeBlockingWorkflowToolRuns(e,t,n){let r=readRuns(e.state),i=r.filter(e=>e.origin.turnId!==t||n!==void 0&&e.callId!==n);return i.length===r.length?e:{...e,state:writeRuns(e.state,i)}}function findBlockingWorkflowToolRun(e,t,n){let r=getBlockingWorkflowToolRuns(e,n).filter(e=>e.callId===t);return r.length===1?r[0]:void 0}function isInboxToolResultFromRecordedWorkflowToolRun(e,t){let n=findBlockingWorkflowToolRun(e,t.callId);return n!==void 0&&n.toolName===t.toolName}export{findBlockingWorkflowToolRun,getBlockingWorkflowToolRuns,isInboxToolResultFromRecordedWorkflowToolRun,registerWorkflowToolRun,removeBlockingWorkflowToolRuns};
@@ -1,4 +1,4 @@
1
1
  import type { Telemetry } from "ai";
2
- import type { InstrumentationAttemptScope, InstrumentationContextRunner, InstrumentationHooks } from "#instrumentation/lifecycle.js";
2
+ import type { InstrumentationScope, InstrumentationContextRunner, InstrumentationHooks } from "#instrumentation/lifecycle.js";
3
3
  /** Creates one provider-neutral AI SDK bridge for one actual model attempt. */
4
- export declare function createAiSdkHookBridge(scope: InstrumentationAttemptScope, hooks: InstrumentationHooks, runInContext?: InstrumentationContextRunner, runtimeContext?: Readonly<Record<string, unknown>>, isFrameworkTool?: (name: string) => boolean): Telemetry;
4
+ export declare function createAiSdkHookBridge(scope: InstrumentationScope, hooks: InstrumentationHooks, runInContext?: InstrumentationContextRunner, runtimeContext?: Readonly<Record<string, unknown>>, isFrameworkTool?: (name: string) => boolean): Telemetry;
@@ -1 +1 @@
1
- import{attemptIdempotencyKey,modelCallIdempotencyKey,toolCallIdempotencyKey}from"#instrumentation/lifecycle.js";import{structuralProviderMetadata}from"#instrumentation/content.js";import{modelContent,modelUsage}from"#compiled/@vercel/agent-runs/ai-sdk.js";function createAiSdkHookBridge(e,t,n=directRunInContext,r,i){let a={capturesInputs:t.capturesInputs??t.capturesContent,capturesOutputs:t.capturesOutputs??t.capturesContent,modelCallIndexes:new Map,modelCallStartEvents:new Map,modelKeys:new Map,runtimeContext:r!==void 0&&Object.keys(r).length>0?Object.freeze({...r}):void 0,scope:e,toolKeys:new Map,toolCalls:new Map,isFrameworkTool:i},nextModelCallKey=e=>{let t=a.modelCallIndexes.get(e)??0;return a.modelCallIndexes.set(e,t+1),modelCallIdempotencyKey(a.scope,e,t)};return{onStart(e){a.operation=Object.freeze({modelId:e.modelId,operationId:e.operationId,provider:e.provider})},async onStepStart(e){a.stepNumber=e.stepNumber;let n=toStepAttemptStarted(a);n!==void 0&&await t.publish(n)},async onLanguageModelCallStart(e){let n=a.stepNumber??0,r=nextModelCallKey(n);a.modelKeys.set(e.callId,r);let i=toModelCallStarted(a,r,e);a.modelCallStartEvents.set(e.callId,{event:i,stepNumber:n}),await t.publish(i)},async executeLanguageModelCall({callId:r,execute:i}){let o=a.modelKeys.get(r);if(o===void 0){let e=a.modelCallStartEvents.get(r);if(e===void 0)return i();o=nextModelCallKey(e.stepNumber),a.modelKeys.set(r,o),await t.publish(Object.freeze({...e.event,idempotencyKey:o}))}try{return await n({idempotencyKey:o,scope:e,type:`model.call`},i)}catch(n){throw a.modelKeys.get(r)===o&&a.modelKeys.delete(r),await t.publish(Object.freeze({error:n,idempotencyKey:o,scope:e,type:`model.call.failed`})),n}},async onLanguageModelCallEnd(e){let n=a.modelKeys.get(e.callId);if(n===void 0)return;a.modelKeys.delete(e.callId),a.modelCallStartEvents.delete(e.callId);let r=toModelCallCompleted(a,n,e);await t.publish(r)},async onStepEnd(e){if(e.providerMetadata===void 0)return;let n=a.capturesOutputs?e.providerMetadata:structuralProviderMetadata(e.providerMetadata);await t.publish(Object.freeze({idempotencyKey:attemptIdempotencyKey(a.scope),providerMetadata:n,scope:a.scope,type:`step.attempt.metadata`}))},onToolExecutionStart(e){let t=toolCallIdempotencyKey(a.scope,e.toolCall.toolCallId,a.stepNumber??0);a.toolKeys.set(e.toolCall.toolCallId,t);let n=toToolCallStarted(a,t,e);a.toolCalls.set(e.toolCall.toolCallId,n)},executeTool({toolCallId:e,execute:t}){let r=a.toolCalls.get(e);return r===void 0?t():n({...r,type:`tool.call`},t)},onToolExecutionEnd(e){let t=e.toolCall.toolCallId;a.toolKeys.get(t)!==void 0&&(a.toolKeys.delete(t),a.toolCalls.delete(t))},async onAbort(e){await failOpenOperations(e.reason)},async onError(e){await failOpenOperations(e.error)}};async function failOpenOperations(n){let r=[];for(let i of a.modelKeys.values())r.push(t.publish(Object.freeze({error:n,idempotencyKey:i,scope:e,type:`model.call.failed`})));a.modelKeys.clear(),a.modelCallStartEvents.clear(),a.toolKeys.clear(),a.toolCalls.clear(),await Promise.all(r)}}const directRunInContext=(e,t)=>t();function toStepAttemptStarted(e){if(e.operation!==void 0&&e.stepNumber!==void 0)return Object.freeze({idempotencyKey:attemptIdempotencyKey(e.scope),operation:e.operation,runtimeContext:e.runtimeContext,scope:e.scope,type:`step.attempt.started`})}function toModelCallStarted(e,t,n){return Object.freeze({idempotencyKey:t,input:e.capturesInputs?Object.freeze({instructions:n.instructions,messages:Object.freeze([...n.messages]),tools:n.tools===void 0?void 0:Object.freeze([...n.tools])}):void 0,model:Object.freeze({modelId:n.modelId,provider:n.provider}),runtimeContext:e.runtimeContext,scope:e.scope,type:`model.call.started`})}function toModelCallCompleted(e,t,n){return Object.freeze({content:e.capturesOutputs?Object.freeze(modelContent(n.content).map(e=>Object.freeze(e))):void 0,finishReason:n.finishReason,idempotencyKey:t,responseModelId:n.modelId,responseId:n.responseId,scope:e.scope,type:`model.call.completed`,usage:Object.freeze(modelUsage(n.usage))})}function toToolCallStarted(e,t,n){return Object.freeze({callId:n.toolCall.toolCallId,frameworkTool:e.isFrameworkTool?.(n.toolCall.toolName)===!0,idempotencyKey:t,input:e.capturesInputs?n.toolCall.input:void 0,scope:e.scope,toolName:n.toolCall.toolName,startedAtMs:Date.now(),type:`tool.call.started`})}export{createAiSdkHookBridge};
1
+ import{attemptIdempotencyKey,modelCallIdempotencyKey,toolCallIdempotencyKey}from"#instrumentation/lifecycle.js";import{structuralProviderMetadata}from"#instrumentation/content.js";import{modelContent,modelUsage}from"#compiled/@vercel/agent-runs/ai-sdk.js";function createAiSdkHookBridge(e,t,n=directRunInContext,r,i){let a={capturesInputs:t.capturesInputs??t.capturesContent,capturesOutputs:t.capturesOutputs??t.capturesContent,modelCallIndexes:new Map,modelCallStartEvents:new Map,modelKeys:new Map,runtimeContext:r!==void 0&&Object.keys(r).length>0?Object.freeze({...r}):void 0,scope:e,toolKeys:new Map,toolCalls:new Map,isFrameworkTool:i},nextModelCallKey=e=>{let t=a.modelCallIndexes.get(e)??0;return a.modelCallIndexes.set(e,t+1),modelCallIdempotencyKey(a.scope,e,t)};return{onStart(e){a.operation=Object.freeze({modelId:e.modelId,operationId:e.operationId,provider:e.provider})},async onStepStart(e){a.stepNumber=e.stepNumber;let n=a.started?void 0:toModelStarted(a);n!==void 0&&(a.started=!0,await t.publish(n))},async onLanguageModelCallStart(e){let n=a.stepNumber??0,r=nextModelCallKey(n);a.modelKeys.set(e.callId,r);let i=toModelCallStarted(a,r,e);a.modelCallStartEvents.set(e.callId,{event:i,stepNumber:n}),await t.publish(i)},async executeLanguageModelCall({callId:r,execute:i}){let o=a.modelKeys.get(r);if(o===void 0){let e=a.modelCallStartEvents.get(r);if(e===void 0)return i();o=nextModelCallKey(e.stepNumber),a.modelKeys.set(r,o),await t.publish(Object.freeze({...e.event,idempotencyKey:o}))}try{return await n({idempotencyKey:o,scope:e,type:`model.call`},i)}catch(n){throw a.modelKeys.get(r)===o&&a.modelKeys.delete(r),await t.publish(Object.freeze({outcome:`failed`,error:n,idempotencyKey:o,scope:e,type:`model.call.settled`})),n}},async onLanguageModelCallEnd(e){let n=a.modelKeys.get(e.callId);if(n===void 0)return;a.modelKeys.delete(e.callId),a.modelCallStartEvents.delete(e.callId);let r=toModelCallCompleted(a,n,e);await t.publish(r)},onToolExecutionStart(e){let t=toolCallIdempotencyKey(a.scope,e.toolCall.toolCallId,a.stepNumber??0);a.toolKeys.set(e.toolCall.toolCallId,t);let n=toToolCallStarted(a,t,e);a.toolCalls.set(e.toolCall.toolCallId,n)},executeTool({toolCallId:e,execute:t}){let r=a.toolCalls.get(e);return r===void 0?t():n({...r,type:`tool.call`},t)},onToolExecutionEnd(e){let t=e.toolCall.toolCallId;a.toolKeys.get(t)!==void 0&&(a.toolKeys.delete(t),a.toolCalls.delete(t))},async onAbort(e){await failOpenOperations(e.reason)},async onError(e){await failOpenOperations(e.error)}};async function failOpenOperations(n){let r=[];for(let i of a.modelKeys.values())r.push(t.publish(Object.freeze({outcome:`failed`,error:n,idempotencyKey:i,scope:e,type:`model.call.settled`})));a.modelKeys.clear(),a.modelCallStartEvents.clear(),a.toolKeys.clear(),a.toolCalls.clear(),await Promise.all(r)}}const directRunInContext=(e,t)=>t();function toModelStarted(e){if(e.operation!==void 0&&e.stepNumber!==void 0)return Object.freeze({idempotencyKey:attemptIdempotencyKey(e.scope),operation:e.operation,runtimeContext:e.runtimeContext,scope:e.scope,type:`model.started`})}function toModelCallStarted(e,t,n){return Object.freeze({idempotencyKey:t,input:e.capturesInputs?Object.freeze({instructions:n.instructions,messages:Object.freeze([...n.messages]),tools:n.tools===void 0?void 0:Object.freeze([...n.tools])}):void 0,model:Object.freeze({modelId:n.modelId,provider:n.provider}),runtimeContext:e.runtimeContext,scope:e.scope,type:`model.call.started`})}function toModelCallCompleted(e,t,n){return Object.freeze({outcome:`completed`,content:e.capturesOutputs?Object.freeze(modelContent(n.content).map(e=>Object.freeze(e))):void 0,providerMetadata:n.providerMetadata===void 0?void 0:e.capturesOutputs?n.providerMetadata:structuralProviderMetadata(n.providerMetadata),finishReason:n.finishReason,idempotencyKey:t,responseModelId:n.modelId,responseId:n.responseId,scope:e.scope,type:`model.call.settled`,usage:Object.freeze(modelUsage(n.usage))})}function toToolCallStarted(e,t,n){return Object.freeze({capability:{kind:`tool`,name:n.toolCall.toolName},callId:n.toolCall.toolCallId,frameworkTool:e.isFrameworkTool?.(n.toolCall.toolName)===!0,idempotencyKey:t,input:e.capturesInputs?n.toolCall.input:void 0,scope:e.scope,toolName:n.toolCall.toolName,startedAtMs:Date.now(),type:`call.requested`})}export{createAiSdkHookBridge};
@@ -1,24 +1,5 @@
1
- import type { DeliverHookPayload } from "#channel/types.js";
2
1
  import type { AlsContext } from "#context/container.js";
3
- import type { InstrumentationChannelDeliveryOutcome, InstrumentationHooks } from "#instrumentation/lifecycle.js";
4
- export interface ChannelDeliveryStartInstrumentation {
5
- readonly traceSessionId: string;
6
- readonly agentName?: string;
7
- readonly ctx: AlsContext;
8
- readonly delivery: DeliverHookPayload;
9
- readonly hooks: InstrumentationHooks | undefined;
10
- readonly policyAgentName: string;
11
- readonly rootSessionId: string;
12
- readonly sequence: number;
13
- readonly sessionId: string;
14
- readonly turnId: string;
15
- }
16
- export interface ChannelDeliveryTerminalInstrumentation {
17
- readonly ctx: AlsContext;
18
- readonly error?: unknown;
19
- readonly errorCode?: string;
20
- readonly hooks: InstrumentationHooks | undefined;
21
- readonly includeTurn: boolean;
22
- readonly outcome: InstrumentationChannelDeliveryOutcome;
23
- }
24
- export declare function instrumentChannelDelivery(input: ChannelDeliveryStartInstrumentation | ChannelDeliveryTerminalInstrumentation): Promise<void>;
2
+ import type { CreateInstrumentationHandleEventInput } from "#instrumentation/native-events.js";
3
+ import type { InstrumentationEvent } from "#instrumentation/lifecycle.js";
4
+ import type { SessionEvent } from "#protocol/session-event.js";
5
+ export declare function deliveryEvent(event: SessionEvent, ctx: AlsContext | undefined, session: CreateInstrumentationHandleEventInput): InstrumentationEvent | undefined;
@@ -1 +1 @@
1
- import{ConversationContextKey,UNKNOWN_CONVERSATION_CONTEXT}from"#shared/conversation-context.js";import{ActiveChannelDeliveriesKey,ChannelInstrumentationKey,ParentTraceContextKey,SessionTraceSeedKey}from"#context/keys.js";import{channelDeliveryIdempotencyKey}from"#instrumentation/lifecycle.js";async function instrumentChannelDelivery(e){if(!(`delivery`in e)){let t=e.ctx.get(ActiveChannelDeliveriesKey);if(t===void 0||e.hooks===void 0)return;let n=`channel.delivery.${e.outcome}`;for(let r of t){let t=r.policyAgentName??r.agentName;if(t===void 0)continue;let i=e.ctx.get(ConversationContextKey)??UNKNOWN_CONVERSATION_CONTEXT;await(e.hooks.forTrace?.({agentName:t,...i,audience:r.delivery.channelAudience??i.audience})??e.hooks).publish({agentName:r.agentName,delivery:r.delivery,error:e.error,errorCode:e.errorCode,idempotencyKey:channelDeliveryIdempotencyKey(r.sessionId,r.delivery.deliveryId),outcome:e.outcome,rootSessionId:r.rootSessionId,traceSessionId:r.traceSessionId,sequence:e.includeTurn?r.sequence:void 0,sessionId:r.sessionId,turnId:e.includeTurn?r.turnId:void 0,type:n})}e.ctx.delete(ActiveChannelDeliveriesKey);return}if(e.hooks===void 0||e.delivery.deliveryMetadata===void 0)return;let t=[...e.ctx.get(ActiveChannelDeliveriesKey)??[]],n=e.ctx.get(ConversationContextKey)??UNKNOWN_CONVERSATION_CONTEXT,r=n.audience,i=e.hooks.forTrace?.({agentName:e.policyAgentName,...n})??e.hooks;for(let n of e.delivery.deliveryMetadata){let a=e.delivery.payloads[n.payloadIndex],o={channelAudience:r,channelKind:n.channelKind,channelName:n.channelName,deliveryId:n.deliveryId,requestId:n.requestId,requestTraceContext:n.requestTraceContext},s=!(i.capturesInputs??i.capturesContent)||a===void 0?void 0:projectDeliveryInput(a),c={agentName:e.agentName,channelType:e.ctx.get(ChannelInstrumentationKey)?.channelType,delivery:o,policyAgentName:e.policyAgentName,rootSessionId:e.rootSessionId,traceSessionId:e.traceSessionId,sequence:e.sequence,sessionId:e.sessionId,turnId:e.turnId};t.some(e=>e.sessionId===c.sessionId&&e.delivery.deliveryId===c.delivery.deliveryId)||(t.push(c),await i?.publish({agentName:c.agentName,delivery:o,idempotencyKey:channelDeliveryIdempotencyKey(e.sessionId,o.deliveryId),input:s,parentTraceContext:e.ctx.get(ParentTraceContextKey),rootSessionId:e.rootSessionId,traceSessionId:e.traceSessionId,sequence:e.sequence,sessionId:e.sessionId,traceSeed:e.ctx.get(SessionTraceSeedKey),turnId:e.turnId,type:`channel.delivery.started`}))}t.length>0&&e.ctx.set(ActiveChannelDeliveriesKey,t)}function projectDeliveryInput(e){let t={};return e.context!==void 0&&(t.context=e.context),e.message!==void 0&&(t.message=e.message),e.outputSchema!==void 0&&(t.outputSchema=e.outputSchema),e.inputResponses!==void 0&&(t.inputResponses=e.inputResponses.map(e=>{let t={};return e.optionId!==void 0&&(t.optionId=e.optionId),e.text!==void 0&&(t.text=e.text),t})),t}export{instrumentChannelDelivery};
1
+ import{ChannelDeliveryKey,SessionTraceSeedKey}from"#context/keys.js";import{channelDeliveryIdempotencyKey}from"#instrumentation/lifecycle.js";function deliveryEvent(e,t,n){if(e.type!==`delivery.consumed`&&e.type!==`delivery.settled`)return;let{deliveryId:r,turnId:i}=e.data,a=channelDeliveryIdempotencyKey(n.sessionId,r);if(e.type===`delivery.settled`)return{...e.data,idempotencyKey:a,sessionId:n.sessionId,type:e.type};let o=n.deliveryInput,s=o?.deliveryMetadata?.find(e=>e.deliveryId===r),c=t?.get(ChannelDeliveryKey),l=s??(c?.deliveryId===r?c:void 0),u=s===void 0?void 0:o?.payloads[s.payloadIndex];return{agentName:n.agentName,deliveryId:r,delivery:l===void 0?void 0:{channelAudience:n.channelAudience,channelKind:l.channelKind,channelName:l.channelName,deliveryId:r,requestId:l.requestId,requestTraceContext:l.requestTraceContext},idempotencyKey:a,input:n.hooks?.capturesInputs||n.hooks?.capturesContent?u===void 0?{message:e.data.parts}:projectDeliveryInput(u):void 0,rootSessionId:n.rootSessionId??n.sessionId,sessionId:n.sessionId,traceSeed:t?.get(SessionTraceSeedKey),traceSessionId:n.traceSessionId,turnId:i,type:`delivery.consumed`}}function projectDeliveryInput(e){return{context:e.context,message:e.message,outputSchema:e.outputSchema,answers:e.answers?.map(({optionId:e,text:t})=>({optionId:e,text:t}))}}export{deliveryEvent};
@@ -2,13 +2,7 @@ import type { InstrumentationEvent } from "#instrumentation/lifecycle.js";
2
2
  import type { InstrumentationDecision } from "#shared/instrumentation-decision.js";
3
3
  /** Returns an immutable event projection with conversation content removed. */
4
4
  export declare function withoutInstrumentationContent(event: InstrumentationEvent): InstrumentationEvent;
5
- /**
6
- * Projects lifecycle content by direction.
7
- *
8
- * Inputs are data entering the agent: delivery/action/tool/model starts and a
9
- * resolved user's response. Outputs are data produced by the agent: requests
10
- * for user input, action/tool/model terminals, provider metadata, and errors.
11
- */
5
+ /** Inputs enter the agent; responses, requests for a person, metadata and errors leave it. */
12
6
  export declare function withInstrumentationDecision(event: InstrumentationEvent, decision: Extract<InstrumentationDecision, {
13
7
  action: "record";
14
8
  }>): InstrumentationEvent;
@@ -1 +1 @@
1
- import{readGatewayRouting}from"#shared/gateway-routing.js";function withoutInstrumentationContent(e){return withInstrumentationDecision(e,{action:`record`,recordInputs:!1,recordOutputs:!1})}function withInstrumentationDecision(e,t){switch(e.type){case`session.started`:return t.recordInputs?e:Object.freeze({...e,title:void 0});case`channel.delivery.started`:return t.recordInputs?e:Object.freeze({...e,input:void 0});case`input.requested`:return t.recordOutputs?e:Object.freeze({...e,request:void 0});case`input.resolved`:return t.recordInputs&&t.recordOutputs?e:Object.freeze({...e,error:t.recordOutputs?e.error:void 0,response:t.recordInputs?e.response:void 0});case`tool.call.started`:return t.recordInputs?e:Object.freeze({...e,input:void 0});case`tool.call.completed`:return t.recordOutputs?e:Object.freeze({...e,output:Object.freeze({type:e.output.type})});case`model.call.started`:return t.recordInputs?e:Object.freeze({...e,input:void 0});case`model.call.completed`:return t.recordOutputs?e:Object.freeze({...e,content:void 0});case`memory.operation.completed`:return t.recordInputs?e:Object.freeze({...e,outputRecords:void 0});case`step.attempt.metadata`:return t.recordOutputs?e:Object.freeze({...e,providerMetadata:structuralProviderMetadata(e.providerMetadata)});case`model.call.failed`:case`memory.operation.failed`:case`session.failed`:case`step.attempt.failed`:case`tool.call.failed`:case`turn.failed`:case`channel.delivery.failed`:return t.recordOutputs?e:Object.freeze({...e,error:void 0});default:return e}}function structuralProviderMetadata(e){let t=e.gateway;if(typeof t!=`object`||!t||Array.isArray(t))return Object.freeze({});let n=t,r={};for(let e of[`cost`,`generationId`]){let t=n[e];(typeof t==`string`||typeof t==`number`)&&(r[e]=t)}let i=readGatewayRouting(n.routing);return i!==void 0&&(r.routing=i),Object.freeze(Object.keys(r).length===0?{}:{gateway:Object.freeze(r)})}export{structuralProviderMetadata,withInstrumentationDecision,withoutInstrumentationContent};
1
+ import{readGatewayRouting}from"#shared/gateway-routing.js";function withoutInstrumentationContent(e){return withInstrumentationDecision(e,{action:`record`,recordInputs:!1,recordOutputs:!1})}function withInstrumentationDecision(e,t){switch(e.type){case`session.started`:return t.recordInputs?e:Object.freeze({...e,title:void 0});case`call.requested`:return t.recordInputs?e:Object.freeze({...e,input:void 0,capability:Object.freeze({...e.capability,label:void 0})});case`delivery.consumed`:case`model.call.started`:return t.recordInputs?e:Object.freeze({...e,input:void 0});case`interaction.opened`:return t.recordOutputs?e:Object.freeze({...e,request:void 0});case`interaction.settled`:return Object.freeze({...e,error:t.recordOutputs?e.error:void 0,answer:t.recordInputs?e.answer:void 0});case`call.settled`:return t.recordOutputs?e:Object.freeze({...e,error:void 0,output:void 0});case`model.call.settled`:return e.outcome===`failed`?t.recordOutputs?e:Object.freeze({...e,error:void 0}):t.recordOutputs?e:Object.freeze({...e,content:void 0,providerMetadata:e.providerMetadata===void 0?void 0:structuralProviderMetadata(e.providerMetadata)});case`memory.operation.settled`:return e.outcome===`failed`?t.recordOutputs?e:Object.freeze({...e,error:void 0}):t.recordInputs?e:Object.freeze({...e,outputRecords:void 0});case`model.retried`:case`model.settled`:case`session.ended`:case`turn.settled`:return t.recordOutputs?e:Object.freeze({...e,error:void 0});default:return e}}function structuralProviderMetadata(e){let t=e.gateway;if(typeof t!=`object`||!t||Array.isArray(t))return Object.freeze({});let n=t,r={};for(let e of[`cost`,`generationId`]){let t=n[e];(typeof t==`string`||typeof t==`number`)&&(r[e]=t)}let i=readGatewayRouting(n.routing);return i!==void 0&&(r.routing=i),Object.freeze(Object.keys(r).length===0?{}:{gateway:Object.freeze(r)})}export{structuralProviderMetadata,withInstrumentationDecision,withoutInstrumentationContent};
@@ -1 +1 @@
1
- import{createLogger,formatError}from"#internal/logging.js";import{abandonInstrumentationState,instrumentationStateSlot,isInstrumentationStateAbandoned,releaseAllInstrumentationAttemptState,releaseAllInstrumentationState,releaseAllInstrumentationTurnState,takeInstrumentationActionScopes}from"#instrumentation/state.js";import{resolveTracePolicy}from"#shared/trace-policy.js";import{withInstrumentationDecision,withoutInstrumentationContent}from"#instrumentation/content.js";const log=createLogger(`harness.instrumentation-dispatch`);function createInstrumentationDispatcher(e,t){let n=t.handlerTimeoutMs??5e3,r=normalizeDispatchGroups(e),i=[...r.serialBefore,...r.parallel,...r.serialAfter],a=new Set;function forTrace(e){let t=new WeakMap,o=new Map(i.map(t=>[t,resolveTracePolicy(t.tracePolicy,e,e=>{a.has(t)||(a.add(t),log.warn(`instrumentation provider trace policy failed`,{error:formatError(e),provider:t.name}))})])),s=[...o.values()].some(e=>e.action===`record`&&e.recordInputs),c=[...o.values()].some(e=>e.action===`record`&&e.recordOutputs),l=s||c,publish=async e=>{let i=snapshotInstrumentationEvent(withInstrumentationDecision(e,{action:`record`,recordInputs:s,recordOutputs:c}),t,e),a=i.type===`session.completed`||i.type===`session.failed`,l=i.type===`turn.cancelled`||i.type===`turn.failed`;if(a||l){let e=takeInstrumentationActionScopes(i.sessionId,l?i.turnId:void 0),t=terminalActionFailure(i);for(let n of e)await publish({...t,idempotencyKey:n.idempotencyKey,scope:n.scope,type:`tool.call.failed`})}let u=new Map,visibleEvent=e=>{let t=o.get(e);if(t===void 0||t.action===`drop`)return withoutInstrumentationContent(i);if(t.recordInputs&&t.recordOutputs)return i;let n=`${String(t.recordInputs)}:${String(t.recordOutputs)}`,r=u.get(n);return r===void 0&&(r=withInstrumentationDecision(i,t),u.set(n,r)),r},admitted=e=>o.get(e)?.action===`record`;try{try{for(let e of r.serialBefore)admitted(e)&&await dispatchToProvider(e,i,n,()=>visibleEvent(e));let e=r.parallel.filter(admitted);if(e.length===1){let t=e[0];await dispatchToProvider(t,i,n,()=>visibleEvent(t))}else if(e.length>1){let t=(await Promise.allSettled(e.map(e=>dispatchToProvider(e,i,n,()=>visibleEvent(e))))).find(e=>e.status===`rejected`);if(t!==void 0)throw t.reason}}finally{for(let e of r.serialAfter)admitted(e)&&await dispatchToProvider(e,i,n,()=>visibleEvent(e))}}finally{releaseTerminalState(i)}};return{capturesContent:l,capturesInputs:s,capturesOutputs:c,forTrace,publish}}let o=!1;return{capturesContent:!1,forTrace,async publish(e){o||(o=!0,log.debug(`instrumentation event published without trace binding`,{eventType:e.type}))}}}function snapshotInstrumentationEvent(e,t,n){let r=t.get(n);if(r!==void 0)return r;let i=snapshotPlainValue(e,t);return t.set(n,i),i}function snapshotPlainValue(e,t){if(Array.isArray(e)){let n=t.get(e);if(n!==void 0)return n;let r=[];t.set(e,r);for(let n of e)r.push(snapshotPlainValue(n,t));return Object.freeze(r)}if(typeof e!=`object`||!e)return e;let n;try{n=Object.getPrototypeOf(e)}catch{return e}if(n!==Object.prototype&&n!==null)return e;let r=t.get(e);if(r!==void 0)return r;let i={};t.set(e,i);for(let[n,r]of Object.entries(e))i[n]=snapshotPlainValue(r,t);return Object.freeze(i)}function normalizeDispatchGroups(e){if(!Array.isArray(e)){let t=e;return{parallel:t.parallel??[],serialAfter:t.serialAfter??[],serialBefore:t.serialBefore??[]}}return{parallel:[],serialAfter:[],serialBefore:e.map((e,t)=>({...e,name:e.name??`provider-${String(t)}`}))}}async function dispatchToProvider(e,t,n,r){let i=t.type.endsWith(`.started`)||t.type===`input.requested`,a=stateOwner(t),o=e.name,s=e.stateNamespace??o;if(isInstrumentationStateAbandoned(s,t.idempotencyKey))return;let c=e.events?.[t.type];if(c===void 0)return;let l=instrumentationStateSlot(s,t.idempotencyKey,a);try{await withTimeout(async()=>{let t=r();await c(e.projectEvent===void 0?t:await e.projectEvent(t),{state:l})},n,()=>{l.revoke(),i&&abandonInstrumentationState(s,t.idempotencyKey,a)})||log.warn(`instrumentation provider timed out`,{boundary:t.type,provider:o,timeoutMs:n})}catch(e){log.warn(`instrumentation provider failed`,{boundary:t.type,error:formatError(e),provider:o})}finally{l.revoke()}}async function withTimeout(e,t,n){let r;try{return await Promise.race([Promise.resolve(e()).then(()=>!0),new Promise(e=>{r=setTimeout(()=>{n(),e(!1)},t)})])}finally{clearTimeout(r)}}function stateOwner(e){return e.type===`channel.delivery.started`||e.type===`channel.delivery.cancelled`||e.type===`channel.delivery.completed`||e.type===`channel.delivery.failed`||e.type===`memory.operation.started`||e.type===`memory.operation.completed`||e.type===`memory.operation.failed`?{sessionId:e.sessionId,turnId:e.turnId}:`scope`in e?e.type.startsWith(`tool.call.`)||e.type.startsWith(`input.`)?{sessionId:e.scope.sessionId,turnId:e.scope.turnId}:e.type.startsWith(`model.call.`)||e.type.startsWith(`step.attempt.`)?{attemptId:e.scope.attemptId}:{}:{}}function releaseTerminalState(e){isTerminal(e.type)&&releaseAllInstrumentationState(e.idempotencyKey),(e.type===`step.attempt.completed`||e.type===`step.attempt.failed`)&&releaseAllInstrumentationAttemptState(e.scope.attemptId),(e.type===`session.completed`||e.type===`session.failed`)&&releaseAllInstrumentationTurnState(e.sessionId),(e.type===`turn.cancelled`||e.type===`turn.failed`)&&releaseAllInstrumentationTurnState(e.sessionId,e.turnId)}function terminalActionFailure(e){return e.type===`session.failed`||e.type===`turn.failed`?{error:e.error,outcome:`failed`}:e.type===`turn.cancelled`?{error:Error(`The action was cancelled with its turn.`),errorCode:`ACTION_CANCELLED`,outcome:`cancelled`}:{error:Error(`The session completed before the action settled.`),errorCode:`ACTION_ABANDONED`,outcome:`abandoned`}}function isTerminal(e){return e.endsWith(`.completed`)||e.endsWith(`.failed`)||e.endsWith(`.cancelled`)||e===`input.resolved`}export{createInstrumentationDispatcher};
1
+ import{createLogger,formatError}from"#internal/logging.js";import{abandonInstrumentationState,instrumentationStateSlot,isInstrumentationStateAbandoned,releaseAllInstrumentationAttemptState,releaseAllInstrumentationState,releaseAllInstrumentationTurnState}from"#instrumentation/state.js";import{resolveTracePolicy}from"#shared/trace-policy.js";import{attemptIdempotencyKey}from"#instrumentation/lifecycle.js";import{withInstrumentationDecision,withoutInstrumentationContent}from"#instrumentation/content.js";import{instrumentationScope,traceStepIndex}from"#instrumentation/scope.js";const log=createLogger(`harness.instrumentation-dispatch`);function createInstrumentationDispatcher(e,t){let n=t.handlerTimeoutMs??5e3,r=normalizeDispatchGroups(e),i=[...r.serialBefore,...r.parallel,...r.serialAfter],a=new Set;function forTrace(e){let t=new WeakMap,o=new Map(i.map(t=>[t,resolveTracePolicy(t.tracePolicy,e,e=>{a.has(t)||(a.add(t),log.warn(`instrumentation provider trace policy failed`,{error:formatError(e),provider:t.name}))})])),s=[...o.values()].some(e=>e.action===`record`&&e.recordInputs),c=[...o.values()].some(e=>e.action===`record`&&e.recordOutputs);return{capturesContent:s||c,capturesInputs:s,capturesOutputs:c,forTrace,publish:async e=>{let i=snapshotInstrumentationEvent(withInstrumentationDecision(e,{action:`record`,recordInputs:s,recordOutputs:c}),t,e),a=new Map,visibleEvent=e=>{let t=o.get(e);if(t===void 0||t.action===`drop`)return withoutInstrumentationContent(i);if(t.recordInputs&&t.recordOutputs)return i;let n=`${String(t.recordInputs)}:${String(t.recordOutputs)}`,r=a.get(n);return r===void 0&&(r=withInstrumentationDecision(i,t),a.set(n,r)),r},admitted=e=>o.get(e)?.action===`record`;try{try{for(let e of r.serialBefore)admitted(e)&&await dispatchToProvider(e,i,n,()=>visibleEvent(e));let e=r.parallel.filter(admitted);if(e.length===1){let t=e[0];await dispatchToProvider(t,i,n,()=>visibleEvent(t))}else if(e.length>1){let t=(await Promise.allSettled(e.map(e=>dispatchToProvider(e,i,n,()=>visibleEvent(e))))).find(e=>e.status===`rejected`);if(t!==void 0)throw t.reason}}finally{for(let e of r.serialAfter)admitted(e)&&await dispatchToProvider(e,i,n,()=>visibleEvent(e))}}finally{releaseTerminalState(i)}}}}let o=!1;return{capturesContent:!1,forTrace,async publish(e){o||(o=!0,log.debug(`instrumentation event published without trace binding`,{eventType:e.type}))}}}function snapshotInstrumentationEvent(e,t,n){let r=t.get(n);if(r!==void 0)return r;let i=snapshotPlainValue(e,t);return`scope`in n&&`scope`in i&&instrumentationScope(i.scope,traceStepIndex(n.scope)),t.set(n,i),i}function snapshotPlainValue(e,t){if(Array.isArray(e)){let n=t.get(e);if(n!==void 0)return n;let r=[];t.set(e,r);for(let n of e)r.push(snapshotPlainValue(n,t));return Object.freeze(r)}if(typeof e!=`object`||!e)return e;let n;try{n=Object.getPrototypeOf(e)}catch{return e}if(n!==Object.prototype&&n!==null)return e;let r=t.get(e);if(r!==void 0)return r;let i={};t.set(e,i);for(let[n,r]of Object.entries(e))i[n]=snapshotPlainValue(r,t);return Object.freeze(i)}function normalizeDispatchGroups(e){if(!Array.isArray(e)){let t=e;return{parallel:t.parallel??[],serialAfter:t.serialAfter??[],serialBefore:t.serialBefore??[]}}return{parallel:[],serialAfter:[],serialBefore:e.map((e,t)=>({...e,name:e.name??`provider-${String(t)}`}))}}async function dispatchToProvider(e,t,n,r){let i=t.type.endsWith(`.started`)||t.type===`delivery.consumed`||t.type===`call.requested`||t.type===`interaction.opened`,a=stateOwner(t),o=e.name,s=e.stateNamespace??o;if(isInstrumentationStateAbandoned(s,t.idempotencyKey))return;let c=e.events?.[t.type];if(c===void 0)return;let l=instrumentationStateSlot(s,t.idempotencyKey,a);try{await withTimeout(async()=>{let t=r();await c(e.projectEvent===void 0?t:await e.projectEvent(t),{state:l})},n,()=>{l.revoke(),i&&abandonInstrumentationState(s,t.idempotencyKey,a)})||log.warn(`instrumentation provider timed out`,{boundary:t.type,provider:o,timeoutMs:n})}catch(e){log.warn(`instrumentation provider failed`,{boundary:t.type,error:formatError(e),provider:o})}finally{l.revoke()}}async function withTimeout(e,t,n){let r;try{return await Promise.race([Promise.resolve(e()).then(()=>!0),new Promise(e=>{r=setTimeout(()=>{n(),e(!1)},t)})])}finally{clearTimeout(r)}}function stateOwner(e){return e.type===`delivery.consumed`||e.type===`delivery.settled`&&e.outcome===`ignored`||e.type===`delivery.settled`&&e.outcome===`handled`||e.type===`delivery.settled`&&e.outcome===`failed`||e.type===`memory.operation.started`||e.type===`memory.operation.settled`&&e.outcome===`completed`||e.type===`memory.operation.settled`&&e.outcome===`failed`?{sessionId:e.sessionId,turnId:e.turnId}:`scope`in e?e.type.startsWith(`call.`)||e.type.startsWith(`interaction.`)?{sessionId:e.scope.sessionId,turnId:e.scope.turnId}:e.type.startsWith(`model.call.`)||e.type.startsWith(`model.`)?{attemptId:attemptIdempotencyKey(e.scope)}:{}:{}}function releaseTerminalState(e){isTerminal(e.type)&&releaseAllInstrumentationState(e.idempotencyKey),(e.type===`model.settled`||e.type===`model.retried`)&&releaseAllInstrumentationAttemptState(attemptIdempotencyKey(e.scope)),e.type===`session.ended`&&releaseAllInstrumentationTurnState(e.sessionId),e.type===`turn.settled`&&e.outcome!==`completed`&&releaseAllInstrumentationTurnState(e.sessionId,e.turnId)}function isTerminal(e){return e.endsWith(`.completed`)||e.endsWith(`.failed`)||e.endsWith(`.cancelled`)||e.endsWith(`.settled`)||e===`session.ended`||e===`model.retried`}export{createInstrumentationDispatcher};