eve 0.67.2 → 0.69.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 (1116) hide show
  1. package/CHANGELOG.md +120 -0
  2. package/bin/eve.js +15 -0
  3. package/dist/src/_virtual/_rolldown/runtime.js +1 -1
  4. package/dist/src/approval/definition.d.ts +19 -5
  5. package/dist/src/channel/adapter.d.ts +2 -0
  6. package/dist/src/channel/auth/oidc.js +1 -1
  7. package/dist/src/channel/channel-address.d.ts +1 -4
  8. package/dist/src/channel/channel-address.js +1 -1
  9. package/dist/src/channel/channel-operations.d.ts +4 -11
  10. package/dist/src/channel/channel-operations.js +1 -1
  11. package/dist/src/channel/compiled-channel.d.ts +0 -2
  12. package/dist/src/channel/compiled-channel.js +2 -2
  13. package/dist/src/channel/cross-channel-receive.d.ts +1 -3
  14. package/dist/src/channel/cross-channel-receive.js +1 -1
  15. package/dist/src/channel/forwarded-principal.js +1 -1
  16. package/dist/src/channel/schedule-auth.d.ts +16 -0
  17. package/dist/src/channel/schedule-auth.js +1 -1
  18. package/dist/src/channel/session-callback.js +1 -1
  19. package/dist/src/channel/session.d.ts +3 -8
  20. package/dist/src/channel/session.js +1 -1
  21. package/dist/src/channel/task-card.d.ts +121 -0
  22. package/dist/src/channel/task-card.js +1 -0
  23. package/dist/src/channel/types.d.ts +12 -54
  24. package/dist/src/chunks/{use-eve-agent-DXcE_8Ja.js → use-eve-agent-D_5129A9.js} +295 -205
  25. package/dist/src/chunks/{use-eve-agent-D4HVZBjn.js → use-eve-agent-Dab2MnT2.js} +295 -205
  26. package/dist/src/cli/commands/info.d.ts +11 -0
  27. package/dist/src/cli/commands/info.js +1 -1
  28. package/dist/src/cli/commands/init-agent-workspace.js +1 -1
  29. package/dist/src/cli/commands/init.js +1 -1
  30. package/dist/src/cli/dev/command-options.d.ts +3 -2
  31. package/dist/src/cli/dev/command.js +1 -1
  32. package/dist/src/cli/dev/local-server-process.js +1 -1
  33. package/dist/src/cli/dev/tui/blocks.d.ts +19 -18
  34. package/dist/src/cli/dev/tui/blocks.js +3 -3
  35. package/dist/src/cli/dev/tui/command-typeahead.d.ts +3 -6
  36. package/dist/src/cli/dev/tui/diagnostic-presentation.d.ts +10 -0
  37. package/dist/src/cli/dev/tui/diagnostic-presentation.js +3 -2
  38. package/dist/src/cli/dev/tui/prompt-placeholder.d.ts +2 -0
  39. package/dist/src/cli/dev/tui/prompt-placeholder.js +1 -0
  40. package/dist/src/cli/dev/tui/rail.d.ts +1 -1
  41. package/dist/src/cli/dev/tui/runner.d.ts +25 -2
  42. package/dist/src/cli/dev/tui/runner.js +3 -3
  43. package/dist/src/cli/dev/tui/status-line.d.ts +4 -2
  44. package/dist/src/cli/dev/tui/status-line.js +1 -1
  45. package/dist/src/cli/dev/tui/subagent-pump.d.ts +44 -52
  46. package/dist/src/cli/dev/tui/subagent-pump.js +1 -1
  47. package/dist/src/cli/dev/tui/task-activity.d.ts +55 -0
  48. package/dist/src/cli/dev/tui/task-activity.js +1 -0
  49. package/dist/src/cli/dev/tui/terminal-renderer.d.ts +13 -30
  50. package/dist/src/cli/dev/tui/terminal-renderer.js +11 -11
  51. package/dist/src/cli/dev/tui/theme.d.ts +1 -1
  52. package/dist/src/cli/dev/tui/theme.js +1 -1
  53. package/dist/src/cli/dev/tui/tool-block-groups.d.ts +6 -9
  54. package/dist/src/cli/dev/tui/tool-block-groups.js +1 -1
  55. package/dist/src/cli/dev/tui/tool-presentation.d.ts +16 -3
  56. package/dist/src/cli/dev/tui/tool-presentation.js +1 -1
  57. package/dist/src/cli/dev/tui/traces/trace-conversation.js +3 -1
  58. package/dist/src/cli/dev/tui/traces/trace-view.js +1 -1
  59. package/dist/src/cli/dev/tui/tui.js +1 -1
  60. package/dist/src/cli/dev/tui/types.d.ts +11 -5
  61. package/dist/src/cli/dev/ui-options.d.ts +2 -2
  62. package/dist/src/cli/option-parsers.d.ts +3 -1
  63. package/dist/src/cli/option-parsers.js +1 -1
  64. package/dist/src/cli/ui/terminal-text.js +1 -1
  65. package/dist/src/client/agent-info-schema.d.ts +150 -9
  66. package/dist/src/client/agent-info-schema.js +1 -1
  67. package/dist/src/client/agent-session.d.ts +28 -0
  68. package/dist/src/client/agent-session.js +1 -0
  69. package/dist/src/client/eve-agent-store-helpers.d.ts +1 -1
  70. package/dist/src/client/eve-agent-store-helpers.js +2 -2
  71. package/dist/src/client/eve-agent-store.js +1 -1
  72. package/dist/src/client/index.d.ts +2 -1
  73. package/dist/src/client/index.js +1 -1
  74. package/dist/src/client/message-action-parts.js +1 -1
  75. package/dist/src/client/message-reducer.js +1 -1
  76. package/dist/src/client/message-task-parts.d.ts +8 -0
  77. package/dist/src/client/message-task-parts.js +1 -0
  78. package/dist/src/client/optimistic-message-submissions.js +1 -1
  79. package/dist/src/client/session-controls.d.ts +0 -1
  80. package/dist/src/client/session-utils.d.ts +10 -0
  81. package/dist/src/client/session-utils.js +1 -1
  82. package/dist/src/client/session.d.ts +8 -16
  83. package/dist/src/client/session.js +1 -1
  84. package/dist/src/client/stream-version.js +1 -1
  85. package/dist/src/client/types.d.ts +2 -4
  86. package/dist/src/compiled/.vendor-stamp.json +3 -2
  87. package/dist/src/compiled/@eve/catalog/index.js +1 -1
  88. package/dist/src/compiled/@photon-ai/chat-adapter-imessage/index.js +55 -55
  89. package/dist/src/compiled/@vercel/blob/index.js +1 -1
  90. package/dist/src/compiled/@vercel/connect/LICENSE +202 -0
  91. package/dist/src/compiled/@vercel/connect/authorization-details.d.ts +11 -0
  92. package/dist/src/compiled/@vercel/connect/authorization.d.ts +47 -0
  93. package/dist/src/compiled/@vercel/connect/connector.d.ts +32 -0
  94. package/dist/src/compiled/@vercel/connect/index.d.ts +5 -0
  95. package/dist/src/compiled/@vercel/connect/index.js +26 -0
  96. package/dist/src/compiled/@vercel/connect/installation.d.ts +48 -0
  97. package/dist/src/compiled/@vercel/connect/token.d.ts +137 -0
  98. package/dist/src/compiled/@vercel/oidc/index.js +1 -1
  99. package/dist/src/compiled/@workflow/core/runtime.js +3 -3
  100. package/dist/src/compiled/@workflow/world-vercel/index.js +1 -1
  101. package/dist/src/compiler/bundled-extension.d.ts +7 -1
  102. package/dist/src/compiler/bundled-extension.js +1 -1
  103. package/dist/src/compiler/default-tool-policy.d.ts +2 -2
  104. package/dist/src/compiler/default-tool-policy.js +1 -1
  105. package/dist/src/compiler/development-extensions.js +1 -1
  106. package/dist/src/compiler/extension-compatibility.d.ts +54 -18
  107. package/dist/src/compiler/extension-compatibility.js +1 -1
  108. package/dist/src/compiler/extension-mount-bindings.d.ts +5 -0
  109. package/dist/src/compiler/extension-mount-bindings.js +1 -0
  110. package/dist/src/compiler/load-binding-namespace.d.ts +10 -2
  111. package/dist/src/compiler/load-binding-namespace.js +1 -1
  112. package/dist/src/compiler/manifest.d.ts +19 -17
  113. package/dist/src/compiler/manifest.js +1 -1
  114. package/dist/src/compiler/module-lifecycle.d.ts +2 -2
  115. package/dist/src/compiler/module-lifecycle.js +1 -1
  116. package/dist/src/compiler/module-map.d.ts +1 -1
  117. package/dist/src/compiler/module-map.js +3 -3
  118. package/dist/src/compiler/normalize-manifest-helpers.d.ts +18 -1
  119. package/dist/src/compiler/normalize-manifest-helpers.js +1 -1
  120. package/dist/src/compiler/normalize-manifest-types.d.ts +2 -0
  121. package/dist/src/compiler/normalize-manifest.js +1 -1
  122. package/dist/src/compiler/normalize-subagent.js +1 -1
  123. package/dist/src/compiler/normalize-tool.js +1 -1
  124. package/dist/src/compiler/project-sources.d.ts +4 -0
  125. package/dist/src/compiler/project-sources.js +1 -1
  126. package/dist/src/compiler/remote-agent-node.js +1 -1
  127. package/dist/src/compiler/source-graph.d.ts +5 -0
  128. package/dist/src/compiler/source-graph.js +1 -1
  129. package/dist/src/computer-use/extension/extension.d.ts +2 -0
  130. package/dist/src/computer-use/extension/extension.js +1 -0
  131. package/dist/src/computer-use/extension/lib/command-failure.d.ts +7 -0
  132. package/dist/src/computer-use/extension/lib/command-failure.js +2 -0
  133. package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-sandbox.d.ts +8 -0
  134. package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-sandbox.js +3 -3
  135. package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use.d.ts +2 -0
  136. package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use.js +2 -1
  137. package/dist/src/computer-use/extension/lib/sandbox.d.ts +1 -0
  138. package/dist/src/computer-use/extension/lib/sandbox.js +1 -0
  139. package/dist/src/computer-use/extension/lib/shell.d.ts +1 -0
  140. package/dist/src/computer-use/extension/lib/shell.js +1 -0
  141. package/dist/src/computer-use/extension/tools/computer_use.js +1 -0
  142. package/dist/src/computer-use/tools.d.ts +1 -0
  143. package/dist/src/computer-use/tools.js +1 -0
  144. package/dist/src/context/build-dynamic-tools.js +1 -1
  145. package/dist/src/context/dynamic-subagent-lifecycle.d.ts +5 -0
  146. package/dist/src/context/dynamic-subagent-lifecycle.js +1 -1
  147. package/dist/src/context/dynamic-tool-lifecycle.d.ts +1 -1
  148. package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
  149. package/dist/src/context/dynamic-tool-metadata.d.ts +1 -1
  150. package/dist/src/context/hook-lifecycle.d.ts +4 -3
  151. package/dist/src/context/hook-lifecycle.js +1 -1
  152. package/dist/src/context/key-names.d.ts +0 -1
  153. package/dist/src/context/key-names.js +1 -1
  154. package/dist/src/context/keys.d.ts +8 -14
  155. package/dist/src/context/keys.js +1 -1
  156. package/dist/src/context/memory-lifecycle.js +1 -1
  157. package/dist/src/context/memory-tools.d.ts +0 -1
  158. package/dist/src/context/provider.d.ts +1 -3
  159. package/dist/src/context/run-step.d.ts +2 -3
  160. package/dist/src/context/run-step.js +1 -1
  161. package/dist/src/context/serialize.js +1 -1
  162. package/dist/src/discover/bundled-extension.js +1 -1
  163. package/dist/src/discover/discover-agent.js +1 -1
  164. package/dist/src/discover/extensions.d.ts +0 -7
  165. package/dist/src/discover/extensions.js +1 -1
  166. package/dist/src/discover/manifest.d.ts +4 -0
  167. package/dist/src/evals/assertions/run.d.ts +4 -3
  168. package/dist/src/evals/assertions/run.js +1 -1
  169. package/dist/src/evals/index.d.ts +1 -1
  170. package/dist/src/evals/match.d.ts +4 -4
  171. package/dist/src/evals/mock-model.js +1 -1
  172. package/dist/src/evals/runner/derive-run-facts.d.ts +3 -3
  173. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  174. package/dist/src/evals/runner/reporters/assertion-scores.d.ts +19 -0
  175. package/dist/src/evals/runner/reporters/assertion-scores.js +1 -0
  176. package/dist/src/evals/runner/reporters/braintrust.js +1 -1
  177. package/dist/src/evals/runner/reporters/datadog-client.d.ts +123 -0
  178. package/dist/src/evals/runner/reporters/datadog-client.js +4 -0
  179. package/dist/src/evals/runner/reporters/datadog.d.ts +9 -98
  180. package/dist/src/evals/runner/reporters/datadog.js +2 -3
  181. package/dist/src/evals/session-content.js +1 -1
  182. package/dist/src/evals/session.d.ts +4 -4
  183. package/dist/src/evals/session.js +2 -2
  184. package/dist/src/evals/types.d.ts +18 -15
  185. package/dist/src/eve-channel/create-request.d.ts +5 -4
  186. package/dist/src/eve-channel/create-request.js +1 -1
  187. package/dist/src/eve-channel/index.d.ts +0 -9
  188. package/dist/src/eve-channel/index.js +1 -1
  189. package/dist/src/eve-channel/request.d.ts +3 -7
  190. package/dist/src/eve-channel/request.js +1 -1
  191. package/dist/src/eve-channel/support.d.ts +15 -5
  192. package/dist/src/eve-channel/support.js +1 -1
  193. package/dist/src/eve-channel/turn-policy-request.d.ts +2 -0
  194. package/dist/src/eve-channel/turn-policy-request.js +1 -0
  195. package/dist/src/eve-channel/types.d.ts +4 -0
  196. package/dist/src/execution/agent-sessions/context.d.ts +60 -0
  197. package/dist/src/execution/agent-sessions/context.js +1 -0
  198. package/dist/src/{subagents/remote-dispatch.d.ts → execution/agent-sessions/remote.d.ts} +17 -40
  199. package/dist/src/execution/agent-sessions/remote.js +1 -0
  200. package/dist/src/execution/agent-sessions/requests.d.ts +20 -0
  201. package/dist/src/execution/agent-sessions/requests.js +1 -0
  202. package/dist/src/execution/agent-sessions/session.d.ts +12 -0
  203. package/dist/src/execution/agent-sessions/session.js +1 -0
  204. package/dist/src/execution/agent-sessions/steps.d.ts +59 -0
  205. package/dist/src/execution/agent-sessions/steps.js +1 -0
  206. package/dist/src/execution/agent-sessions/target.d.ts +45 -0
  207. package/dist/src/execution/agent-sessions/target.js +1 -0
  208. package/dist/src/execution/agent-sessions/usage.d.ts +18 -0
  209. package/dist/src/execution/agent-sessions/usage.js +1 -0
  210. package/dist/src/execution/authorization-callback-match.d.ts +2 -4
  211. package/dist/src/execution/authorization-callback-match.js +1 -1
  212. package/dist/src/execution/cancel-descendant-turns-step.d.ts +1 -5
  213. package/dist/src/execution/cancel-descendant-turns-step.js +1 -1
  214. package/dist/src/execution/cancelled-model-call-batch.js +1 -1
  215. package/dist/src/execution/connection-announcement.d.ts +7 -0
  216. package/dist/src/execution/connection-announcement.js +4 -0
  217. package/dist/src/execution/continuation-conflict-step.d.ts +2 -3
  218. package/dist/src/execution/continuation-conflict-step.js +1 -1
  219. package/dist/src/execution/coordination-dispatch-shared.d.ts +9 -27
  220. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  221. package/dist/src/execution/coordination-dispatch-step.d.ts +3 -2
  222. package/dist/src/execution/coordination-dispatch-step.js +1 -1
  223. package/dist/src/execution/create-session-step.d.ts +0 -1
  224. package/dist/src/execution/create-session-step.js +1 -1
  225. package/dist/src/execution/deliver-payloads.js +1 -1
  226. package/dist/src/execution/durable-session-store.d.ts +0 -1
  227. package/dist/src/execution/dynamic-connections.js +1 -1
  228. package/dist/src/execution/dynamic-workflow/program-step.js +1 -1
  229. package/dist/src/execution/dynamic-workflow/schema.d.ts +1 -3
  230. package/dist/src/execution/dynamic-workflow/schema.js +1 -1
  231. package/dist/src/execution/dynamic-workflow/tool.d.ts +1 -1
  232. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  233. package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
  234. package/dist/src/execution/forward-session-input.d.ts +4 -0
  235. package/dist/src/execution/forward-session-input.js +1 -0
  236. package/dist/src/execution/legacy-remote-agent/protocol.d.ts +41 -0
  237. package/dist/src/execution/legacy-remote-agent/protocol.js +1 -0
  238. package/dist/src/execution/legacy-session/authorization.js +1 -1
  239. package/dist/src/execution/legacy-session/completion-step.js +1 -1
  240. package/dist/src/execution/legacy-session/inbox.js +1 -1
  241. package/dist/src/execution/legacy-session/input.js +1 -1
  242. package/dist/src/execution/legacy-session/interrupt-step.js +1 -1
  243. package/dist/src/execution/model-call-batching.js +1 -1
  244. package/dist/src/execution/node-step.d.ts +1 -1
  245. package/dist/src/execution/node-step.js +1 -1
  246. package/dist/src/execution/proxied-deliver-step.d.ts +9 -6
  247. package/dist/src/execution/proxied-deliver-step.js +1 -1
  248. package/dist/src/execution/publish-session-events.d.ts +130 -0
  249. package/dist/src/execution/publish-session-events.js +1 -0
  250. package/dist/src/execution/route-child-delivery.d.ts +5 -4
  251. package/dist/src/execution/route-child-delivery.js +1 -3
  252. package/dist/src/execution/runtime-context.js +1 -1
  253. package/dist/src/execution/sandbox/prewarm.js +1 -1
  254. package/dist/src/execution/session/admission.d.ts +1 -12
  255. package/dist/src/execution/session/admission.js +1 -1
  256. package/dist/src/execution/session/entry-input.d.ts +0 -2
  257. package/dist/src/execution/session/entry.js +1 -1
  258. package/dist/src/execution/session/finalization.js +1 -1
  259. package/dist/src/execution/session/handoff-steps.d.ts +13 -2
  260. package/dist/src/execution/session/handoff-steps.js +1 -1
  261. package/dist/src/execution/session/handoff.d.ts +17 -3
  262. package/dist/src/execution/session/handoff.js +1 -1
  263. package/dist/src/execution/session/input-queue.d.ts +27 -28
  264. package/dist/src/execution/session/input-queue.js +1 -1
  265. package/dist/src/execution/session/next-input.d.ts +5 -0
  266. package/dist/src/execution/session/next-input.js +1 -1
  267. package/dist/src/execution/session/pending-turn-state.d.ts +2 -0
  268. package/dist/src/execution/session/pending-turn-state.js +1 -1
  269. package/dist/src/execution/session/principal.d.ts +14 -0
  270. package/dist/src/execution/session/principal.js +1 -0
  271. package/dist/src/execution/session/program.js +1 -1
  272. package/dist/src/execution/session/route-selected-delivery.js +1 -1
  273. package/dist/src/execution/session/state-cursor.d.ts +17 -15
  274. package/dist/src/execution/session/state-cursor.js +1 -1
  275. package/dist/src/execution/session/state-delta.d.ts +33 -0
  276. package/dist/src/execution/session/state-delta.js +1 -0
  277. package/dist/src/execution/session/timeout-steps.js +1 -1
  278. package/dist/src/execution/session/turn-event-handler.d.ts +27 -0
  279. package/dist/src/execution/session/turn-event-handler.js +1 -0
  280. package/dist/src/execution/session/turn-step-result.d.ts +1 -3
  281. package/dist/src/execution/session/turn-step-result.js +1 -1
  282. package/dist/src/execution/session/turn-step-types.d.ts +24 -15
  283. package/dist/src/execution/session/turn-step.d.ts +2 -2
  284. package/dist/src/execution/session/turn-step.js +1 -1
  285. package/dist/src/execution/session/turn-waiting-step.d.ts +4 -0
  286. package/dist/src/execution/session/turn-waiting-step.js +1 -0
  287. package/dist/src/execution/session/turn.d.ts +33 -2
  288. package/dist/src/execution/session/turn.js +1 -1
  289. package/dist/src/execution/session-callback-request.js +1 -1
  290. package/dist/src/execution/session-event-stream.d.ts +33 -0
  291. package/dist/src/execution/session-event-stream.js +1 -0
  292. package/dist/src/execution/session-inbox/inbox.d.ts +2 -0
  293. package/dist/src/execution/session-inbox/inbox.js +1 -1
  294. package/dist/src/execution/session-inbox/protocol.js +1 -1
  295. package/dist/src/execution/session-inbox/release-step.js +1 -1
  296. package/dist/src/execution/session-inbox/resume.js +1 -1
  297. package/dist/src/execution/session-workflow-tool-run.d.ts +11 -2
  298. package/dist/src/execution/session-workflow-tool-run.js +1 -1
  299. package/dist/src/execution/session.d.ts +0 -1
  300. package/dist/src/execution/session.js +2 -2
  301. package/dist/src/execution/settle-cancelled-turn-step.d.ts +21 -9
  302. package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
  303. package/dist/src/execution/stable-workflow-names.d.ts +0 -1
  304. package/dist/src/execution/stable-workflow-names.js +1 -1
  305. package/dist/src/execution/tasks/calls.d.ts +42 -0
  306. package/dist/src/execution/tasks/calls.js +1 -0
  307. package/dist/src/execution/tasks/model-step.d.ts +58 -0
  308. package/dist/src/execution/tasks/model-step.js +1 -0
  309. package/dist/src/execution/tasks/render.d.ts +66 -0
  310. package/dist/src/execution/tasks/render.js +8 -0
  311. package/dist/src/execution/tasks/session.d.ts +19 -0
  312. package/dist/src/execution/tasks/session.js +1 -0
  313. package/dist/src/execution/tasks/start.d.ts +34 -0
  314. package/dist/src/execution/tasks/start.js +1 -0
  315. package/dist/src/execution/tasks/steps.d.ts +31 -0
  316. package/dist/src/execution/tasks/steps.js +1 -0
  317. package/dist/src/execution/tasks/table.d.ts +192 -0
  318. package/dist/src/execution/tasks/table.js +1 -0
  319. package/dist/src/execution/tasks/task-id-input.d.ts +19 -0
  320. package/dist/src/execution/tasks/task-id-input.js +1 -0
  321. package/dist/src/execution/tasks/tool-entry-point.d.ts +11 -0
  322. package/dist/src/execution/tasks/tool-entry-point.js +1 -0
  323. package/dist/src/execution/tasks/workflow-target.d.ts +2 -0
  324. package/dist/src/execution/tasks/workflow-target.js +1 -1
  325. package/dist/src/execution/terminal-session-completion-step.js +1 -1
  326. package/dist/src/execution/terminal-session-failure-step.js +1 -1
  327. package/dist/src/execution/terminate-child-sessions-step.d.ts +2 -9
  328. package/dist/src/execution/terminate-child-sessions-step.js +1 -1
  329. package/dist/src/execution/tool-auth.js +1 -1
  330. package/dist/src/execution/tools/agent-router-workflow.d.ts +1 -1
  331. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  332. package/dist/src/execution/tools/agent-router.d.ts +1 -1
  333. package/dist/src/execution/tools/agent-router.js +1 -1
  334. package/dist/src/execution/tools/connection-approval.d.ts +25 -0
  335. package/dist/src/execution/tools/connection-approval.js +1 -0
  336. package/dist/src/execution/tools/connection-search-rank.d.ts +21 -0
  337. package/dist/src/execution/tools/connection-search-rank.js +1 -0
  338. package/dist/src/execution/tools/connection-target.d.ts +13 -0
  339. package/dist/src/execution/tools/connection-target.js +1 -0
  340. package/dist/src/execution/tools/connection-tools.d.ts +10 -0
  341. package/dist/src/execution/tools/connection-tools.js +2 -0
  342. package/dist/src/execution/tools/load-skill.js +1 -1
  343. package/dist/src/execution/tools/workflow/answer.d.ts +10 -4
  344. package/dist/src/execution/tools/workflow/answer.js +1 -1
  345. package/dist/src/execution/tools/workflow/ask.d.ts +73 -10
  346. package/dist/src/execution/tools/workflow/ask.js +1 -1
  347. package/dist/src/execution/tools/workflow/body.d.ts +60 -19
  348. package/dist/src/execution/tools/workflow/body.js +1 -1
  349. package/dist/src/execution/tools/workflow/cancel.d.ts +7 -2
  350. package/dist/src/execution/tools/workflow/cancel.js +1 -1
  351. package/dist/src/execution/tools/workflow/emit-workflow-tool-run-report-step.d.ts +10 -4
  352. package/dist/src/execution/tools/workflow/emit-workflow-tool-run-report-step.js +1 -1
  353. package/dist/src/execution/tools/workflow/{background.d.ts → harness-definition.d.ts} +6 -6
  354. package/dist/src/execution/tools/workflow/harness-definition.js +1 -0
  355. package/dist/src/execution/tools/workflow/interrupt.d.ts +6 -0
  356. package/dist/src/execution/tools/workflow/interrupt.js +1 -0
  357. package/dist/src/execution/tools/workflow/messages.d.ts +135 -10
  358. package/dist/src/execution/tools/workflow/messages.js +1 -1
  359. package/dist/src/execution/tools/workflow/owner-inbox.js +1 -1
  360. package/dist/src/execution/tools/workflow/owner.d.ts +15 -4
  361. package/dist/src/execution/tools/workflow/owner.js +1 -1
  362. package/dist/src/execution/tools/workflow/serve.d.ts +3 -0
  363. package/dist/src/execution/tools/workflow/serve.js +1 -0
  364. package/dist/src/execution/tools/workflow/start.d.ts +18 -11
  365. package/dist/src/execution/tools/workflow/start.js +1 -1
  366. package/dist/src/execution/tools/workflow/step-execution.js +1 -1
  367. package/dist/src/execution/tools/workflow/step.js +1 -1
  368. package/dist/src/execution/tools/workflow/types.d.ts +0 -10
  369. package/dist/src/execution/tools/workflow/withdraw-step.d.ts +31 -0
  370. package/dist/src/execution/tools/workflow/withdraw-step.js +1 -0
  371. package/dist/src/execution/tools/workflow/workflow-owner-blocking.d.ts +3 -5
  372. package/dist/src/execution/tools/workflow/workflow-owner-blocking.js +1 -1
  373. package/dist/src/execution/tools/workflow/workflow.d.ts +3 -3
  374. package/dist/src/execution/tools/workflow/workflow.js +1 -1
  375. package/dist/src/execution/web-fetch/request.js +1 -1
  376. package/dist/src/execution/workflow-callback-url.d.ts +0 -5
  377. package/dist/src/execution/workflow-callback-url.js +1 -1
  378. package/dist/src/execution/workflow-runtime.d.ts +3 -5
  379. package/dist/src/execution/workflow-runtime.js +1 -1
  380. package/dist/src/execution/workflow-webhook-route.js +1 -1
  381. package/dist/src/extensions/code/extension/lib/connect-authentication.js +1 -1
  382. package/dist/src/extensions/code/extension/lib/github-shell.js +1 -1
  383. package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
  384. package/dist/src/extensions/code/extension/lib/sandbox.d.ts +3 -2
  385. package/dist/src/extensions/code/extension/lib/sandbox.js +1 -1
  386. package/dist/src/extensions/code/extension/lib/signed-commit.d.ts +1 -1
  387. package/dist/src/extensions/code/extension/lib/signed-commit.js +2 -2
  388. package/dist/src/extensions/code/tools.d.ts +2 -1
  389. package/dist/src/extensions/code/tools.js +1 -1
  390. package/dist/src/framework/sources/modules/agent.d.ts +1 -0
  391. package/dist/src/framework/sources/modules/agent.js +1 -1
  392. package/dist/src/framework/sources/registry.js +1 -1
  393. package/dist/src/harness/action-presentation.js +1 -1
  394. package/dist/src/harness/action-result-helpers.d.ts +1 -0
  395. package/dist/src/harness/action-result-helpers.js +1 -1
  396. package/dist/src/harness/advertised-tools.d.ts +1 -1
  397. package/dist/src/harness/advertised-tools.js +1 -1
  398. package/dist/src/harness/announcements.d.ts +22 -0
  399. package/dist/src/harness/announcements.js +1 -0
  400. package/dist/src/harness/approval-candidates.d.ts +10 -2
  401. package/dist/src/harness/approval-candidates.js +1 -1
  402. package/dist/src/harness/approval-delivery-coordinator.d.ts +4 -5
  403. package/dist/src/harness/approval-delivery-coordinator.js +1 -1
  404. package/dist/src/harness/approval-recheck.d.ts +7 -0
  405. package/dist/src/harness/approval-recheck.js +1 -0
  406. package/dist/src/harness/authorization-event-fields.d.ts +13 -0
  407. package/dist/src/harness/authorization-event-fields.js +1 -0
  408. package/dist/src/harness/authorization.d.ts +2 -1
  409. package/dist/src/harness/authorization.js +1 -1
  410. package/dist/src/harness/coordination.d.ts +31 -27
  411. package/dist/src/harness/coordination.js +1 -1
  412. package/dist/src/harness/current-messages.d.ts +6 -1
  413. package/dist/src/harness/current-messages.js +1 -1
  414. package/dist/src/harness/emission.d.ts +7 -1
  415. package/dist/src/harness/emission.js +1 -1
  416. package/dist/src/harness/execute-tool.d.ts +4 -15
  417. package/dist/src/harness/hitl/session-limit-input-requests.d.ts +2 -0
  418. package/dist/src/harness/hitl/session-limit-input-requests.js +1 -1
  419. package/dist/src/harness/input-request-resolution.d.ts +5 -2
  420. package/dist/src/harness/input-request-resolution.js +1 -1
  421. package/dist/src/harness/input-requests.js +1 -1
  422. package/dist/src/harness/messages.d.ts +11 -3
  423. package/dist/src/harness/messages.js +1 -1
  424. package/dist/src/harness/nested-actions.d.ts +23 -0
  425. package/dist/src/harness/nested-actions.js +1 -0
  426. package/dist/src/harness/pending-input-batches.d.ts +8 -6
  427. package/dist/src/harness/pending-input-batches.js +1 -1
  428. package/dist/src/harness/provider-tool-history.d.ts +7 -2
  429. package/dist/src/harness/provider-tool-history.js +1 -1
  430. package/dist/src/harness/proxy-input-requests.d.ts +41 -36
  431. package/dist/src/harness/proxy-input-requests.js +1 -1
  432. package/dist/src/harness/session-limit-enforcement.js +1 -1
  433. package/dist/src/harness/stale-input-responses.js +1 -1
  434. package/dist/src/harness/step-hooks.js +1 -1
  435. package/dist/src/harness/tool-loop.js +2 -2
  436. package/dist/src/harness/tool-model-output.js +1 -1
  437. package/dist/src/harness/tool-presentation.js +1 -1
  438. package/dist/src/harness/tools.d.ts +1 -5
  439. package/dist/src/harness/tools.js +1 -1
  440. package/dist/src/harness/turn-tag-state.d.ts +6 -5
  441. package/dist/src/harness/types.d.ts +7 -15
  442. package/dist/src/harness/workflow-dispatch.d.ts +30 -0
  443. package/dist/src/harness/workflow-dispatch.js +1 -0
  444. package/dist/src/harness/workflow-tool-runs.d.ts +5 -65
  445. package/dist/src/harness/workflow-tool-runs.js +1 -1
  446. package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
  447. package/dist/src/instrumentation/lifecycle.d.ts +5 -2
  448. package/dist/src/instrumentation/lifecycle.js +1 -1
  449. package/dist/src/instrumentation/native-events.d.ts +0 -7
  450. package/dist/src/instrumentation/native-events.js +1 -1
  451. package/dist/src/instrumentation/runtime.d.ts +1 -4
  452. package/dist/src/instrumentation/runtime.js +1 -1
  453. package/dist/src/instrumentation/state.d.ts +0 -6
  454. package/dist/src/instrumentation/state.js +1 -1
  455. package/dist/src/internal/application/package.js +1 -1
  456. package/dist/src/internal/authored-definition/schema-backed.d.ts +10 -0
  457. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  458. package/dist/src/internal/authored-module-loader.d.ts +12 -6
  459. package/dist/src/internal/authored-module-loader.js +2 -2
  460. package/dist/src/internal/authored-module-map-loader.js +1 -1
  461. package/dist/src/internal/authored-package-boundary.d.ts +3 -0
  462. package/dist/src/internal/authored-package-boundary.js +1 -1
  463. package/dist/src/internal/bundler/extension-mount-plugin.d.ts +14 -0
  464. package/dist/src/internal/bundler/extension-mount-plugin.js +1 -0
  465. package/dist/src/internal/bundler/extension-scope-plugin.d.ts +8 -11
  466. package/dist/src/internal/bundler/extension-scope-plugin.js +2 -3
  467. package/dist/src/internal/invocation/workflow-execution.d.ts +2 -2
  468. package/dist/src/internal/invocation/workflow-execution.js +1 -1
  469. package/dist/src/internal/mount-state.d.ts +1 -0
  470. package/dist/src/internal/mount-state.js +1 -0
  471. package/dist/src/internal/nitro/dev-runtime-artifacts-retention.d.ts +2 -2
  472. package/dist/src/internal/nitro/dev-runtime-artifacts-retention.js +1 -1
  473. package/dist/src/internal/nitro/dev-runtime-artifacts.d.ts +2 -4
  474. package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
  475. package/dist/src/internal/nitro/dev-runtime-generation-metadata.d.ts +13 -0
  476. package/dist/src/internal/nitro/dev-runtime-generation-metadata.js +1 -0
  477. package/dist/src/internal/nitro/development-generation.d.ts +2 -0
  478. package/dist/src/internal/nitro/development-generation.js +1 -1
  479. package/dist/src/internal/nitro/host/build-application.js +1 -1
  480. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  481. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.d.ts +1 -0
  482. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.js +1 -1
  483. package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
  484. package/dist/src/internal/nitro/host/dev-workflow-world-setup.d.ts +1 -0
  485. package/dist/src/internal/nitro/host/dev-workflow-world-setup.js +1 -1
  486. package/dist/src/internal/nitro/host/extension-capability-requirements.js +1 -1
  487. package/dist/src/internal/nitro/host/start-development-server.js +1 -1
  488. package/dist/src/internal/nitro/host/types.d.ts +2 -0
  489. package/dist/src/internal/nitro/host/workspace-extensions.js +1 -1
  490. package/dist/src/internal/nitro/routes/runtime-stack.js +1 -1
  491. package/dist/src/internal/node-esm-compat-banner.js +1 -1
  492. package/dist/src/internal/workflow/cancel-expired-development-run.d.ts +2 -0
  493. package/dist/src/internal/workflow/cancel-expired-development-run.js +1 -0
  494. package/dist/src/internal/workflow/development-runtime-compatibility.d.ts +12 -0
  495. package/dist/src/internal/workflow/development-runtime-compatibility.js +1 -0
  496. package/dist/src/internal/workflow/development-world-client.js +1 -1
  497. package/dist/src/internal/workflow/development-world-protocol.d.ts +9 -0
  498. package/dist/src/internal/workflow/development-world-server.d.ts +2 -0
  499. package/dist/src/internal/workflow/development-world-server.js +1 -1
  500. package/dist/src/internal/workflow/is-inactive-workflow-run-error.d.ts +2 -0
  501. package/dist/src/internal/workflow/is-inactive-workflow-run-error.js +1 -0
  502. package/dist/src/internal/workflow-bundle/authored-workflow-directives.d.ts +4 -3
  503. package/dist/src/internal/workflow-bundle/authored-workflow-directives.js +1 -1
  504. package/dist/src/internal/workflow-bundle/builder.js +1 -1
  505. package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.js +1 -1
  506. package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -1
  507. package/dist/src/models/auto.d.ts +6 -0
  508. package/dist/src/models/auto.js +2 -2
  509. package/dist/src/protocol/message-version.d.ts +1 -0
  510. package/dist/src/protocol/message-version.js +1 -1
  511. package/dist/src/protocol/message.d.ts +126 -67
  512. package/dist/src/protocol/message.js +2 -2
  513. package/dist/src/protocol/remote-agent-protocol.d.ts +16 -0
  514. package/dist/src/protocol/remote-agent-protocol.js +1 -0
  515. package/dist/src/protocol/routes.d.ts +0 -6
  516. package/dist/src/protocol/routes.js +1 -1
  517. package/dist/src/protocol/task-tools.d.ts +21 -0
  518. package/dist/src/protocol/task-tools.js +1 -0
  519. package/dist/src/public/channels/auth.js +1 -1
  520. package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +25 -16
  521. package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +2 -2
  522. package/dist/src/public/channels/chat-sdk/index.d.ts +1 -1
  523. package/dist/src/public/channels/chat-sdk/input-actions.d.ts +8 -0
  524. package/dist/src/public/channels/chat-sdk/input-actions.js +1 -0
  525. package/dist/src/public/channels/index.d.ts +1 -1
  526. package/dist/src/public/channels/linq/linqChannel.js +1 -1
  527. package/dist/src/public/channels/photon/photonIMessageChannel.js +1 -1
  528. package/dist/src/public/channels/slack/action-status.d.ts +11 -12
  529. package/dist/src/public/channels/slack/action-status.js +1 -1
  530. package/dist/src/public/channels/slack/api.js +1 -1
  531. package/dist/src/public/channels/slack/attachments.js +1 -1
  532. package/dist/src/public/channels/slack/auth.d.ts +3 -0
  533. package/dist/src/public/channels/slack/auth.js +1 -1
  534. package/dist/src/public/channels/slack/connections.d.ts +6 -6
  535. package/dist/src/public/channels/slack/connections.js +1 -1
  536. package/dist/src/public/channels/slack/defaults.d.ts +13 -19
  537. package/dist/src/public/channels/slack/defaults.js +4 -4
  538. package/dist/src/public/channels/slack/hitl.d.ts +22 -13
  539. package/dist/src/public/channels/slack/hitl.js +2 -2
  540. package/dist/src/public/channels/slack/index.d.ts +4 -3
  541. package/dist/src/public/channels/slack/index.js +1 -1
  542. package/dist/src/public/channels/slack/input-response.d.ts +1 -5
  543. package/dist/src/public/channels/slack/input-response.js +1 -1
  544. package/dist/src/public/channels/slack/interaction-cards.js +1 -1
  545. package/dist/src/public/channels/slack/interactions.js +1 -1
  546. package/dist/src/public/channels/slack/renderers.d.ts +76 -0
  547. package/dist/src/public/channels/slack/renderers.js +1 -0
  548. package/dist/src/public/channels/slack/session-operations.d.ts +6 -0
  549. package/dist/src/public/channels/slack/session-operations.js +1 -1
  550. package/dist/src/public/channels/slack/slackChannel.d.ts +47 -103
  551. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  552. package/dist/src/public/channels/slack/task-card.d.ts +24 -0
  553. package/dist/src/public/channels/slack/task-card.js +1 -0
  554. package/dist/src/public/channels/telegram/hitl.d.ts +7 -1
  555. package/dist/src/public/channels/telegram/hitl.js +2 -1
  556. package/dist/src/public/channels/telegram/state.js +1 -1
  557. package/dist/src/public/channels/telegram/telegramChannel.d.ts +5 -0
  558. package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
  559. package/dist/src/public/definitions/channel.d.ts +6 -1
  560. package/dist/src/public/definitions/channel.js +1 -1
  561. package/dist/src/public/definitions/connections/mcp.d.ts +4 -6
  562. package/dist/src/public/definitions/connections/openapi.d.ts +7 -8
  563. package/dist/src/public/definitions/extension.d.ts +2 -2
  564. package/dist/src/public/definitions/extension.js +1 -1
  565. package/dist/src/public/definitions/hook.d.ts +16 -4
  566. package/dist/src/public/definitions/state.d.ts +4 -2
  567. package/dist/src/public/definitions/state.js +1 -1
  568. package/dist/src/public/memory/index.d.ts +0 -1
  569. package/dist/src/public/models/openai/index.d.ts +1 -1
  570. package/dist/src/public/models/openai/index.js +1 -1
  571. package/dist/src/public/schedules/index.d.ts +1 -0
  572. package/dist/src/public/schedules/index.js +1 -1
  573. package/dist/src/public/server/index.d.ts +28 -0
  574. package/dist/src/public/server/index.js +1 -0
  575. package/dist/src/public/tools/index.d.ts +3 -2
  576. package/dist/src/public/tools/index.js +1 -1
  577. package/dist/src/public/tools/no-reply.d.ts +1 -0
  578. package/dist/src/public/tools/no-reply.js +1 -0
  579. package/dist/src/runtime/agent/bootstrap-model-utils.d.ts +6 -7
  580. package/dist/src/runtime/agent/bootstrap-model-utils.js +1 -1
  581. package/dist/src/runtime/agent/bootstrap.d.ts +0 -1
  582. package/dist/src/runtime/agent/bootstrap.js +1 -1
  583. package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
  584. package/dist/src/runtime/agent/mock-model-fixtures.d.ts +1 -1
  585. package/dist/src/runtime/agent/mock-model-fixtures.js +2 -2
  586. package/dist/src/runtime/channels/registry.js +1 -1
  587. package/dist/src/runtime/connections/mcp-client.d.ts +1 -2
  588. package/dist/src/runtime/connections/openapi-client.js +1 -1
  589. package/dist/src/runtime/connections/scoped-authorization.d.ts +1 -1
  590. package/dist/src/runtime/connections/scoped-authorization.js +1 -1
  591. package/dist/src/runtime/connections/tool-result.d.ts +27 -0
  592. package/dist/src/runtime/connections/tool-result.js +2 -0
  593. package/dist/src/runtime/connections/tool-signature.d.ts +14 -0
  594. package/dist/src/runtime/connections/tool-signature.js +1 -0
  595. package/dist/src/runtime/local-dev-capability.js +1 -1
  596. package/dist/src/runtime/prompt/compose.d.ts +1 -3
  597. package/dist/src/runtime/prompt/compose.js +3 -3
  598. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  599. package/dist/src/runtime/resolve-tool.js +1 -1
  600. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
  601. package/dist/src/runtime/sessions/runtime-context-keys.js +1 -1
  602. package/dist/src/runtime/sessions/turn.d.ts +1 -16
  603. package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
  604. package/dist/src/runtime/subagents/registry.js +1 -1
  605. package/dist/src/runtime/subagents/workflow-reference.d.ts +6 -3
  606. package/dist/src/runtime/subagents/workflow-reference.js +1 -1
  607. package/dist/src/runtime/subagents/workflow.d.ts +12 -6
  608. package/dist/src/runtime/subagents/workflow.js +1 -1
  609. package/dist/src/runtime/tools/registry.js +1 -1
  610. package/dist/src/self-modification/extension/classify-registry-item.d.ts +3 -0
  611. package/dist/src/self-modification/extension/classify-registry-item.js +1 -1
  612. package/dist/src/self-modification/extension/subagents/agent/agent.d.ts +1 -1
  613. package/dist/src/self-modification/extension/subagents/agent/agent.js +1 -1
  614. package/dist/src/self-modification/extension/subagents/agent/instructions.js +7 -7
  615. package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.js +1 -1
  616. package/dist/src/self-modification/extension/subagents/agent/tools/search_registry.d.ts +2 -0
  617. package/dist/src/self-modification/extension/subagents/agent/tools/search_registry.js +1 -1
  618. package/dist/src/self-modification/extension/subagents/agent/tools/search_traces.js +1 -1
  619. package/dist/src/self-modification/scaffold.d.ts +2 -0
  620. package/dist/src/self-modification/scaffold.js +7 -0
  621. package/dist/src/self-modification/setup.js +1 -7
  622. package/dist/src/setup/boxes/model-capabilities.d.ts +2 -2
  623. package/dist/src/setup/boxes/model-capabilities.js +1 -1
  624. package/dist/src/setup/boxes/select-model.js +1 -1
  625. package/dist/src/setup/integrations/shopify/templates.d.ts +1 -1
  626. package/dist/src/setup/integrations/shopify/templates.js +31 -19
  627. package/dist/src/setup/integrations/web/setup.d.ts +0 -2
  628. package/dist/src/setup/integrations/web/setup.js +3 -3
  629. package/dist/src/setup/scaffold/create/agent-paths.d.ts +5 -0
  630. package/dist/src/setup/scaffold/create/agent-paths.js +1 -0
  631. package/dist/src/setup/scaffold/create/instructions-template.d.ts +1 -0
  632. package/dist/src/setup/scaffold/create/instructions-template.js +8 -0
  633. package/dist/src/setup/scaffold/create/project.js +3 -10
  634. package/dist/src/setup/scaffold/create/web-template.d.ts +1 -1
  635. package/dist/src/setup/scaffold/create/web-template.js +1 -1
  636. package/dist/src/shared/action-request-name.d.ts +3 -0
  637. package/dist/src/shared/action-request-name.js +1 -0
  638. package/dist/src/shared/action-types.d.ts +49 -21
  639. package/dist/src/shared/action-types.js +1 -1
  640. package/dist/src/shared/agent-definition.d.ts +0 -7
  641. package/dist/src/shared/chatgpt-model.d.ts +1 -1
  642. package/dist/src/shared/chatgpt-model.js +1 -1
  643. package/dist/src/shared/connection-types.d.ts +2 -3
  644. package/dist/src/shared/default-agent-model.d.ts +10 -1
  645. package/dist/src/shared/default-agent-model.js +1 -1
  646. package/dist/src/shared/extension-mount.d.ts +2 -0
  647. package/dist/src/shared/extension-mount.js +1 -0
  648. package/dist/src/shared/format-duration.d.ts +2 -0
  649. package/dist/src/shared/format-duration.js +1 -0
  650. package/dist/src/shared/gateway-model-catalog.d.ts +25 -2
  651. package/dist/src/shared/gateway-model-catalog.js +1 -1
  652. package/dist/src/shared/input.d.ts +1 -0
  653. package/dist/src/shared/memory-state.d.ts +1 -0
  654. package/dist/src/shared/memory-state.js +1 -1
  655. package/dist/src/shared/model-helper.d.ts +2 -2
  656. package/dist/src/shared/model-helper.js +1 -1
  657. package/dist/src/shared/model-summary.d.ts +2 -6
  658. package/dist/src/shared/model-summary.js +1 -1
  659. package/dist/src/shared/presentation-text.d.ts +5 -0
  660. package/dist/src/shared/presentation-text.js +1 -1
  661. package/dist/src/shared/serialized-observability-state.d.ts +0 -4
  662. package/dist/src/shared/serialized-observability-state.js +1 -1
  663. package/dist/src/shared/value-delta.d.ts +39 -0
  664. package/dist/src/shared/value-delta.js +1 -0
  665. package/dist/src/subagents/adapter-state.d.ts +0 -2
  666. package/dist/src/subagents/adapter-state.js +1 -1
  667. package/dist/src/subagents/adapter.js +1 -1
  668. package/dist/src/subagents/callback-route.js +1 -1
  669. package/dist/src/subagents/event-proxy-step.d.ts +16 -29
  670. package/dist/src/subagents/event-proxy-step.js +1 -1
  671. package/dist/src/subagents/hitl-proxy.d.ts +35 -17
  672. package/dist/src/subagents/hitl-proxy.js +1 -1
  673. package/dist/src/subagents/invocation.d.ts +1 -2
  674. package/dist/src/subagents/parent-notification.d.ts +2 -1
  675. package/dist/src/subagents/parent-notification.js +1 -1
  676. package/dist/src/subagents/token-budget.d.ts +8 -9
  677. package/dist/src/subagents/token-budget.js +1 -1
  678. package/dist/src/subagents/tool.d.ts +6 -12
  679. package/dist/src/subagents/tool.js +1 -1
  680. package/dist/src/svelte/index.js +1 -1
  681. package/dist/src/svelte/use-eve-agent.js +1 -1
  682. package/dist/src/tools/behavior.d.ts +5 -5
  683. package/dist/src/tools/definition.d.ts +58 -14
  684. package/dist/src/tools/definition.js +1 -1
  685. package/dist/src/tools/durable-callbacks.d.ts +1 -1
  686. package/dist/src/tools/dynamic.d.ts +6 -0
  687. package/dist/src/tools/framework/agent-contract.d.ts +2 -5
  688. package/dist/src/tools/framework/agent-contract.js +1 -1
  689. package/dist/src/tools/framework/agent.d.ts +2 -5
  690. package/dist/src/tools/framework/agent.js +1 -1
  691. package/dist/src/tools/framework/connection-tools.d.ts +3 -0
  692. package/dist/src/tools/framework/connection-tools.js +1 -0
  693. package/dist/src/tools/provided/agent-router.d.ts +6 -3
  694. package/dist/src/tools/provided/agent-router.js +1 -1
  695. package/dist/src/{execution/tools → tools/provided}/ask-question-workflow.d.ts +3 -4
  696. package/dist/src/tools/provided/ask-question-workflow.js +1 -0
  697. package/dist/src/tools/provided/ask-question.d.ts +20 -5
  698. package/dist/src/tools/provided/ask-question.js +2 -1
  699. package/dist/src/tools/provided/interrupted.d.ts +18 -0
  700. package/dist/src/tools/provided/interrupted.js +1 -0
  701. package/dist/src/tools/provided/no-reply.d.ts +19 -0
  702. package/dist/src/tools/provided/no-reply.js +1 -0
  703. package/dist/src/tools/provided/sleep-workflow.d.ts +4 -0
  704. package/dist/src/tools/provided/sleep-workflow.js +1 -0
  705. package/dist/src/tools/provided/sleep.d.ts +11 -5
  706. package/dist/src/tools/provided/sleep.js +1 -1
  707. package/dist/src/tools/provided/task-cancel.d.ts +6 -0
  708. package/dist/src/tools/provided/task-cancel.js +1 -0
  709. package/dist/src/tools/provided/task-wait.d.ts +9 -0
  710. package/dist/src/tools/provided/task-wait.js +1 -0
  711. package/dist/src/tools/provided/workflow.d.ts +2 -2
  712. package/dist/src/tools/provided/workflow.js +1 -1
  713. package/dist/src/tools/schema-emission.d.ts +23 -0
  714. package/dist/src/tools/schema-emission.js +1 -0
  715. package/dist/src/tools/schema.d.ts +22 -8
  716. package/dist/src/tools/schema.js +1 -1
  717. package/dist/src/tools/workflow-definition.d.ts +187 -85
  718. package/dist/src/tools/workflow-definition.js +1 -1
  719. package/dist/src/tools/workflow-entry-point.d.ts +3 -0
  720. package/dist/src/tools/workflow-entry-point.js +1 -0
  721. package/dist/src/tracing/agent-action-instrumentation.d.ts +1 -3
  722. package/dist/src/tracing/agent-action-instrumentation.js +1 -1
  723. package/dist/src/tracing/agent-invocation-coordinator.d.ts +9 -18
  724. package/dist/src/tracing/agent-invocation-coordinator.js +1 -1
  725. package/dist/src/tracing/agent-otel-content.d.ts +0 -2
  726. package/dist/src/tracing/agent-otel-content.js +3 -3
  727. package/dist/src/tracing/agent-otel-provider.js +2 -2
  728. package/dist/src/tracing/agent-otel-runtime-context.d.ts +20 -0
  729. package/dist/src/tracing/agent-otel-runtime-context.js +1 -1
  730. package/dist/src/tracing/agent-otel-usage.js +1 -1
  731. package/dist/src/tracing/agent-span-contract.d.ts +1 -1
  732. package/dist/src/tracing/agent-span-contract.js +1 -1
  733. package/dist/src/tracing/agent-span-id-generator.d.ts +0 -1
  734. package/dist/src/tracing/agent-span-id-generator.js +1 -1
  735. package/dist/src/tracing/agent-trace-context-codec.d.ts +1 -2
  736. package/dist/src/tracing/agent-trace-context-codec.js +1 -1
  737. package/dist/src/tracing/agent-trace-context-store.d.ts +2 -27
  738. package/dist/src/tracing/agent-trace-context-store.js +1 -1
  739. package/dist/src/tracing/agent-trace-state.d.ts +1 -19
  740. package/dist/src/tracing/content-attributes.js +1 -1
  741. package/dist/src/tracing/install-instrumentation-runtime.js +1 -1
  742. package/dist/src/vue/index.js +1 -1
  743. package/dist/src/vue/use-eve-agent.js +1 -1
  744. package/docs/agent-config.md +36 -13
  745. package/docs/channels/chat-sdk.mdx +15 -4
  746. package/docs/channels/custom.mdx +89 -17
  747. package/docs/channels/eve.mdx +1 -1
  748. package/docs/channels/mcp.mdx +1 -1
  749. package/docs/channels/overview.mdx +14 -56
  750. package/docs/channels/slack.mdx +230 -35
  751. package/docs/channels/telegram.mdx +2 -0
  752. package/docs/concepts/built-in-tools.md +36 -28
  753. package/docs/concepts/context-control.md +2 -2
  754. package/docs/concepts/execution-model-and-durability.mdx +10 -11
  755. package/docs/concepts/project-structure.mdx +1 -1
  756. package/docs/concepts/sessions-runs-and-streaming.md +67 -47
  757. package/docs/connections/mcp.mdx +4 -4
  758. package/docs/connections/openapi.mdx +2 -2
  759. package/docs/connections/overview.mdx +2 -2
  760. package/docs/evals/assertions.mdx +5 -5
  761. package/docs/evals/cases.mdx +1 -1
  762. package/docs/evals/reporters.mdx +6 -4
  763. package/docs/extensions.md +11 -2
  764. package/docs/guides/auth-and-route-protection.md +1 -1
  765. package/docs/guides/client/streaming.mdx +31 -11
  766. package/docs/guides/deployment/vercel.mdx +1 -1
  767. package/docs/guides/dev-tui.md +13 -3
  768. package/docs/guides/dynamic-capabilities.md +15 -10
  769. package/docs/guides/evaluate.md +29 -2
  770. package/docs/guides/frontend/overview.mdx +5 -7
  771. package/docs/guides/hooks.md +48 -12
  772. package/docs/guides/instrumentation/instrumentation.mdx +2 -0
  773. package/docs/guides/remote-agents.md +12 -14
  774. package/docs/guides/self-modification.md +10 -0
  775. package/docs/install-integrations.mdx +1 -1
  776. package/docs/instructions.mdx +1 -1
  777. package/docs/patterns/multi-tenant-approvals.md +1 -1
  778. package/docs/protocols/ucp.mdx +20 -16
  779. package/docs/reference/cli.md +96 -22
  780. package/docs/reference/typescript-api.md +43 -41
  781. package/docs/schedules.mdx +14 -34
  782. package/docs/subagents/index.mdx +24 -56
  783. package/docs/tools/human-in-the-loop.md +50 -13
  784. package/docs/tools/meta.json +1 -1
  785. package/docs/tools/overview.mdx +79 -59
  786. package/docs/tools/tasks-upgrade.md +201 -0
  787. package/docs/tools/tasks.md +315 -0
  788. package/docs/tools/workflows.mdx +368 -154
  789. package/package.json +41 -14
  790. package/dist/src/channel/activity-renderer.d.ts +0 -21
  791. package/dist/src/channel/activity-renderer.js +0 -1
  792. package/dist/src/channel/activity-sink.d.ts +0 -2
  793. package/dist/src/channel/activity-sink.js +0 -1
  794. package/dist/src/eve-channel/activity-observer-request.d.ts +0 -7
  795. package/dist/src/eve-channel/activity-observer-request.js +0 -1
  796. package/dist/src/eve-channel/delivery-policy-request.d.ts +0 -4
  797. package/dist/src/eve-channel/delivery-policy-request.js +0 -1
  798. package/dist/src/execution/activity-cohort.d.ts +0 -20
  799. package/dist/src/execution/activity-cohort.js +0 -1
  800. package/dist/src/execution/activity-collector.d.ts +0 -12
  801. package/dist/src/execution/activity-collector.js +0 -1
  802. package/dist/src/execution/activity-events.d.ts +0 -8
  803. package/dist/src/execution/activity-events.js +0 -1
  804. package/dist/src/execution/activity-route.d.ts +0 -2
  805. package/dist/src/execution/activity-route.js +0 -1
  806. package/dist/src/execution/activity-work-id.d.ts +0 -9
  807. package/dist/src/execution/activity-work-id.js +0 -1
  808. package/dist/src/execution/activity-work.d.ts +0 -30
  809. package/dist/src/execution/activity-work.js +0 -1
  810. package/dist/src/execution/cancel-indexed-session-tasks-step.d.ts +0 -7
  811. package/dist/src/execution/cancel-indexed-session-tasks-step.js +0 -1
  812. package/dist/src/execution/dispatch-action-failures.d.ts +0 -8
  813. package/dist/src/execution/dispatch-action-failures.js +0 -1
  814. package/dist/src/execution/dispatch-start-operation.d.ts +0 -15
  815. package/dist/src/execution/dispatch-start-operation.js +0 -1
  816. package/dist/src/execution/publish-channel-event.d.ts +0 -23
  817. package/dist/src/execution/publish-channel-event.js +0 -1
  818. package/dist/src/execution/scheduled-launch-delivery.d.ts +0 -7
  819. package/dist/src/execution/scheduled-launch-delivery.js +0 -1
  820. package/dist/src/execution/session/event-sink.d.ts +0 -26
  821. package/dist/src/execution/session/event-sink.js +0 -1
  822. package/dist/src/execution/session-activity-projection.d.ts +0 -16
  823. package/dist/src/execution/session-activity-projection.js +0 -1
  824. package/dist/src/execution/session-activity-renderer-step.d.ts +0 -15
  825. package/dist/src/execution/session-activity-renderer-step.js +0 -1
  826. package/dist/src/execution/session-activity.d.ts +0 -3
  827. package/dist/src/execution/session-activity.js +0 -1
  828. package/dist/src/execution/submit-activity.d.ts +0 -7
  829. package/dist/src/execution/submit-activity.js +0 -1
  830. package/dist/src/execution/task-event-callback.d.ts +0 -12
  831. package/dist/src/execution/task-event-callback.js +0 -1
  832. package/dist/src/execution/task-input-capability.d.ts +0 -4
  833. package/dist/src/execution/task-input-capability.js +0 -1
  834. package/dist/src/execution/task-input-response-route.d.ts +0 -2
  835. package/dist/src/execution/task-input-response-route.js +0 -1
  836. package/dist/src/execution/tasks/child/notify.d.ts +0 -44
  837. package/dist/src/execution/tasks/child/notify.js +0 -1
  838. package/dist/src/execution/tasks/parent/control-shared.d.ts +0 -23
  839. package/dist/src/execution/tasks/parent/control-shared.js +0 -1
  840. package/dist/src/execution/tasks/parent/delegate.d.ts +0 -35
  841. package/dist/src/execution/tasks/parent/delegate.js +0 -1
  842. package/dist/src/execution/tasks/parent/dispatch.d.ts +0 -22
  843. package/dist/src/execution/tasks/parent/dispatch.js +0 -1
  844. package/dist/src/execution/tasks/parent/hitl-proxy-steps.d.ts +0 -27
  845. package/dist/src/execution/tasks/parent/hitl-proxy-steps.js +0 -1
  846. package/dist/src/execution/tasks/parent/run-parent.d.ts +0 -58
  847. package/dist/src/execution/tasks/parent/run-parent.js +0 -1
  848. package/dist/src/execution/tasks/parent/subagent-task-projection.d.ts +0 -26
  849. package/dist/src/execution/tasks/parent/subagent-task-projection.js +0 -1
  850. package/dist/src/execution/tasks/parent/task-cancel.d.ts +0 -12
  851. package/dist/src/execution/tasks/parent/task-cancel.js +0 -1
  852. package/dist/src/execution/tasks/parent/tool-execution.d.ts +0 -45
  853. package/dist/src/execution/tasks/parent/tool-execution.js +0 -1
  854. package/dist/src/execution/terminal-session-event.d.ts +0 -13
  855. package/dist/src/execution/terminal-session-event.js +0 -1
  856. package/dist/src/execution/tools/ask-question-workflow.js +0 -1
  857. package/dist/src/execution/tools/ask-question.d.ts +0 -19
  858. package/dist/src/execution/tools/ask-question.js +0 -2
  859. package/dist/src/execution/tools/connection-search.d.ts +0 -2
  860. package/dist/src/execution/tools/connection-search.js +0 -2
  861. package/dist/src/execution/tools/sleep-workflow.d.ts +0 -3
  862. package/dist/src/execution/tools/sleep-workflow.js +0 -1
  863. package/dist/src/execution/tools/sleep.d.ts +0 -10
  864. package/dist/src/execution/tools/sleep.js +0 -1
  865. package/dist/src/execution/tools/subagent/accept-event-step.d.ts +0 -7
  866. package/dist/src/execution/tools/subagent/accept-event-step.js +0 -1
  867. package/dist/src/execution/tools/subagent/emit-event-step.d.ts +0 -12
  868. package/dist/src/execution/tools/subagent/emit-event-step.js +0 -1
  869. package/dist/src/execution/tools/subagent/invoke-agent.d.ts +0 -42
  870. package/dist/src/execution/tools/subagent/invoke-agent.js +0 -1
  871. package/dist/src/execution/tools/subagent/invoke-preparation.d.ts +0 -44
  872. package/dist/src/execution/tools/subagent/invoke-preparation.js +0 -1
  873. package/dist/src/execution/tools/subagent/invoke-step.d.ts +0 -64
  874. package/dist/src/execution/tools/subagent/invoke-step.js +0 -1
  875. package/dist/src/execution/tools/subagent/receipt-identity.d.ts +0 -11
  876. package/dist/src/execution/tools/subagent/receipt-identity.js +0 -1
  877. package/dist/src/execution/tools/subagent/start.d.ts +0 -51
  878. package/dist/src/execution/tools/subagent/start.js +0 -1
  879. package/dist/src/execution/tools/subagent/steer.d.ts +0 -13
  880. package/dist/src/execution/tools/subagent/steer.js +0 -1
  881. package/dist/src/execution/tools/subagent/task-agent-requests.d.ts +0 -24
  882. package/dist/src/execution/tools/subagent/task-agent-requests.js +0 -1
  883. package/dist/src/execution/tools/subagent/task-cancel.d.ts +0 -10
  884. package/dist/src/execution/tools/subagent/task-cancel.js +0 -1
  885. package/dist/src/execution/tools/tasks.d.ts +0 -3
  886. package/dist/src/execution/tools/tasks.js +0 -1
  887. package/dist/src/execution/tools/workflow/background.js +0 -1
  888. package/dist/src/execution/tools/workflow/workflow-owner-background.d.ts +0 -14
  889. package/dist/src/execution/tools/workflow/workflow-owner-background.js +0 -1
  890. package/dist/src/extensions/code/extension/tools/computer_use.js +0 -1
  891. package/dist/src/harness/background-tools.d.ts +0 -45
  892. package/dist/src/harness/background-tools.js +0 -1
  893. package/dist/src/instrumentation/background-task-runtime.d.ts +0 -18
  894. package/dist/src/instrumentation/background-task-runtime.js +0 -1
  895. package/dist/src/node_modules/.pnpm/@vercel_cli-config@0.3.0/node_modules/@vercel/cli-config/dist/index.js +0 -21
  896. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/envpath.js +0 -1
  897. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/errors.js +0 -2
  898. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/errutils.js +0 -1
  899. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/exec.js +0 -1
  900. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/fsutils.js +0 -1
  901. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/index.js +0 -1
  902. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/lookup.js +0 -1
  903. package/dist/src/node_modules/.pnpm/@vercel_cli-exec@1.0.1/node_modules/@vercel/cli-exec/dist/safety.js +0 -1
  904. package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/authorization.js +0 -1
  905. package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/connector.js +0 -1
  906. package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/index.js +0 -1
  907. package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/installation.js +0 -1
  908. package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/internal/base-url.js +0 -1
  909. package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/internal/default-scopes.js +0 -1
  910. package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/internal/env.js +0 -1
  911. package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/internal/url-validation.js +0 -1
  912. package/dist/src/node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/token.js +0 -1
  913. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/auth-errors.js +0 -1
  914. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/exchange-vercel-oidc-token.js +0 -1
  915. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/get-context.js +0 -1
  916. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-sync.js +0 -1
  917. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/get-vercel-oidc-token-with-refresh.js +0 -2
  918. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/index.js +0 -1
  919. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/oauth.js +0 -1
  920. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/token-error.js +0 -1
  921. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/token-io.js +0 -1
  922. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/token-util.js +0 -2
  923. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/token.js +0 -1
  924. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/verify-vercel-oidc-token.js +0 -1
  925. package/dist/src/node_modules/.pnpm/@vercel_oidc@3.8.9/node_modules/@vercel/oidc/dist/version.js +0 -1
  926. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/index.js +0 -1
  927. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/enoent.js +0 -1
  928. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/parse.js +0 -1
  929. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/escape.js +0 -1
  930. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/readShebang.js +0 -1
  931. package/dist/src/node_modules/.pnpm/cross-spawn@7.0.6/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -1
  932. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/index.js +0 -1
  933. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/command.js +0 -1
  934. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/error.js +0 -2
  935. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/kill.js +0 -1
  936. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/promise.js +0 -1
  937. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stdio.js +0 -1
  938. package/dist/src/node_modules/.pnpm/execa@5.1.1/node_modules/execa/lib/stream.js +0 -1
  939. package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/buffer-stream.js +0 -1
  940. package/dist/src/node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/index.js +0 -1
  941. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/core.js +0 -1
  942. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/main.js +0 -1
  943. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/realtime.js +0 -1
  944. package/dist/src/node_modules/.pnpm/human-signals@2.1.0/node_modules/human-signals/build/src/signals.js +0 -1
  945. package/dist/src/node_modules/.pnpm/is-stream@2.0.1/node_modules/is-stream/index.js +0 -1
  946. package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js +0 -1
  947. package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js +0 -1
  948. package/dist/src/node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js +0 -1
  949. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/index.js +0 -1
  950. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/decrypt.js +0 -1
  951. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/compact/encrypt.js +0 -1
  952. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/decrypt.js +0 -1
  953. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/flattened/encrypt.js +0 -1
  954. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/decrypt.js +0 -1
  955. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwe/general/encrypt.js +0 -1
  956. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/embedded.js +0 -1
  957. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwk/thumbprint.js +0 -1
  958. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/local.js +0 -1
  959. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwks/remote.js +0 -1
  960. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/sign.js +0 -1
  961. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/compact/verify.js +0 -1
  962. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/sign.js +0 -1
  963. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/flattened/verify.js +0 -1
  964. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/sign.js +0 -1
  965. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jws/general/verify.js +0 -1
  966. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/decrypt.js +0 -1
  967. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/encrypt.js +0 -1
  968. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/produce.js +0 -1
  969. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/sign.js +0 -1
  970. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/unsecured.js +0 -1
  971. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/jwt/verify.js +0 -1
  972. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/export.js +0 -1
  973. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_key_pair.js +0 -1
  974. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/generate_secret.js +0 -1
  975. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/key/import.js +0 -1
  976. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/aesgcmkw.js +0 -1
  977. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/buffer_utils.js +0 -1
  978. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/cek.js +0 -1
  979. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_iv_length.js +0 -1
  980. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_key_type.js +0 -1
  981. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/check_p2s.js +0 -1
  982. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/crypto_key.js +0 -1
  983. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/decrypt_key_management.js +0 -1
  984. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/encrypt_key_management.js +0 -1
  985. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/epoch.js +0 -1
  986. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/invalid_key_input.js +0 -1
  987. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_disjoint.js +0 -1
  988. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_jwk.js +0 -1
  989. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/is_object.js +0 -1
  990. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/iv.js +0 -1
  991. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/jwt_claims_set.js +0 -1
  992. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/private_symbols.js +0 -1
  993. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/secs.js +0 -1
  994. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_algorithms.js +0 -1
  995. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/lib/validate_crit.js +0 -1
  996. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/aeskw.js +0 -1
  997. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/asn1.js +0 -1
  998. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/base64url.js +0 -1
  999. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/cbc_tag.js +0 -1
  1000. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_cek_length.js +0 -1
  1001. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/check_key_length.js +0 -1
  1002. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ciphers.js +0 -1
  1003. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/decrypt.js +0 -1
  1004. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/digest.js +0 -1
  1005. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/dsa_digest.js +0 -1
  1006. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/ecdhes.js +0 -1
  1007. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/encrypt.js +0 -1
  1008. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/fetch_jwks.js +0 -1
  1009. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/generate.js +0 -1
  1010. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_named_curve.js +0 -1
  1011. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/get_sign_verify_key.js +0 -1
  1012. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/hmac_digest.js +0 -1
  1013. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_like.js +0 -1
  1014. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/is_key_object.js +0 -1
  1015. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/jwk_to_key.js +0 -1
  1016. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/key_to_jwk.js +0 -1
  1017. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/node_key.js +0 -1
  1018. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/normalize_key.js +0 -1
  1019. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/pbes2kw.js +0 -1
  1020. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/random.js +0 -1
  1021. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/rsaes.js +0 -1
  1022. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/runtime.js +0 -1
  1023. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/sign.js +0 -1
  1024. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/timing_safe_equal.js +0 -1
  1025. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/verify.js +0 -1
  1026. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/runtime/webcrypto.js +0 -1
  1027. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/base64url.js +0 -1
  1028. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_jwt.js +0 -1
  1029. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/decode_protected_header.js +0 -1
  1030. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/errors.js +0 -1
  1031. package/dist/src/node_modules/.pnpm/jose@5.10.0/node_modules/jose/dist/node/cjs/util/runtime.js +0 -1
  1032. package/dist/src/node_modules/.pnpm/merge-stream@2.0.0/node_modules/merge-stream/index.js +0 -1
  1033. package/dist/src/node_modules/.pnpm/mimic-fn@2.1.0/node_modules/mimic-fn/index.js +0 -1
  1034. package/dist/src/node_modules/.pnpm/npm-run-path@4.0.1/node_modules/npm-run-path/index.js +0 -1
  1035. package/dist/src/node_modules/.pnpm/onetime@5.1.2/node_modules/onetime/index.js +0 -1
  1036. package/dist/src/node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js +0 -1
  1037. package/dist/src/node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js +0 -1
  1038. package/dist/src/node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js +0 -1
  1039. package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js +0 -1
  1040. package/dist/src/node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js +0 -1
  1041. package/dist/src/node_modules/.pnpm/strip-final-newline@2.0.0/node_modules/strip-final-newline/index.js +0 -2
  1042. package/dist/src/node_modules/.pnpm/which@2.0.2/node_modules/which/which.js +0 -1
  1043. package/dist/src/protocol/activity.d.ts +0 -112
  1044. package/dist/src/protocol/activity.js +0 -1
  1045. package/dist/src/protocol/agent-handle-error.d.ts +0 -13
  1046. package/dist/src/protocol/agent-handle-error.js +0 -1
  1047. package/dist/src/public/channels/slack/activity-plan.d.ts +0 -5
  1048. package/dist/src/public/channels/slack/activity-plan.js +0 -1
  1049. package/dist/src/public/channels/slack/activity.d.ts +0 -63
  1050. package/dist/src/public/channels/slack/activity.js +0 -2
  1051. package/dist/src/public/tools/connection-search.d.ts +0 -1
  1052. package/dist/src/public/tools/connection-search.js +0 -1
  1053. package/dist/src/public/tools/task-cancel.d.ts +0 -1
  1054. package/dist/src/public/tools/task-cancel.js +0 -1
  1055. package/dist/src/runtime/prompt/connections.d.ts +0 -9
  1056. package/dist/src/runtime/prompt/connections.js +0 -2
  1057. package/dist/src/shared/boundary-hook-error.d.ts +0 -4
  1058. package/dist/src/shared/boundary-hook-error.js +0 -1
  1059. package/dist/src/shared/empty-delivery.d.ts +0 -3
  1060. package/dist/src/shared/empty-delivery.js +0 -1
  1061. package/dist/src/subagents/agent-handle-errors.d.ts +0 -25
  1062. package/dist/src/subagents/agent-handle-errors.js +0 -1
  1063. package/dist/src/subagents/callback-step.d.ts +0 -11
  1064. package/dist/src/subagents/callback-step.js +0 -1
  1065. package/dist/src/subagents/continuation-bundle.d.ts +0 -13
  1066. package/dist/src/subagents/continuation-bundle.js +0 -1
  1067. package/dist/src/subagents/handle-dispatch.d.ts +0 -65
  1068. package/dist/src/subagents/handle-dispatch.js +0 -1
  1069. package/dist/src/subagents/handles/operation-id.d.ts +0 -15
  1070. package/dist/src/subagents/handles/operation-id.js +0 -1
  1071. package/dist/src/subagents/handles/prompt.d.ts +0 -52
  1072. package/dist/src/subagents/handles/prompt.js +0 -3
  1073. package/dist/src/subagents/handles/query.d.ts +0 -41
  1074. package/dist/src/subagents/handles/query.js +0 -1
  1075. package/dist/src/subagents/handles/state-key.d.ts +0 -8
  1076. package/dist/src/subagents/handles/state-key.js +0 -1
  1077. package/dist/src/subagents/handles/store.d.ts +0 -217
  1078. package/dist/src/subagents/handles/store.js +0 -1
  1079. package/dist/src/subagents/handles/transitions.d.ts +0 -103
  1080. package/dist/src/subagents/handles/transitions.js +0 -1
  1081. package/dist/src/subagents/remote-dispatch.js +0 -1
  1082. package/dist/src/subagents/start-local.d.ts +0 -29
  1083. package/dist/src/subagents/start-local.js +0 -1
  1084. package/dist/src/subagents/start-remote.d.ts +0 -21
  1085. package/dist/src/subagents/start-remote.js +0 -1
  1086. package/dist/src/tasks/delivery-context.d.ts +0 -32
  1087. package/dist/src/tasks/delivery-context.js +0 -4
  1088. package/dist/src/tasks/delivery-policy.d.ts +0 -14
  1089. package/dist/src/tasks/delivery-policy.js +0 -1
  1090. package/dist/src/tasks/json.d.ts +0 -88
  1091. package/dist/src/tasks/json.js +0 -1
  1092. package/dist/src/tasks/notification.d.ts +0 -10
  1093. package/dist/src/tasks/notification.js +0 -1
  1094. package/dist/src/tasks/task-id.d.ts +0 -31
  1095. package/dist/src/tasks/task-id.js +0 -1
  1096. package/dist/src/tasks/task-inbox-token.d.ts +0 -2
  1097. package/dist/src/tasks/task-inbox-token.js +0 -1
  1098. package/dist/src/tasks/transitions.d.ts +0 -17
  1099. package/dist/src/tasks/transitions.js +0 -1
  1100. package/dist/src/tasks/types.d.ts +0 -136
  1101. package/dist/src/tasks/types.js +0 -1
  1102. package/dist/src/tools/framework/connection-search.d.ts +0 -3
  1103. package/dist/src/tools/framework/connection-search.js +0 -1
  1104. package/dist/src/tools/framework/task-cancel.d.ts +0 -4
  1105. package/dist/src/tools/framework/task-cancel.js +0 -1
  1106. package/dist/src/tools/framework/task-contract.d.ts +0 -19
  1107. package/dist/src/tools/framework/task-contract.js +0 -1
  1108. package/dist/src/tools/native-definition.d.ts +0 -7
  1109. package/dist/src/tools/native-definition.js +0 -1
  1110. package/dist/src/tracing/agent-invocation-terminal.d.ts +0 -18
  1111. package/dist/src/tracing/agent-invocation-terminal.js +0 -1
  1112. /package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-driver-source.d.ts +0 -0
  1113. /package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-driver-source.js +0 -0
  1114. /package/dist/src/{extensions/code → computer-use}/extension/tools/computer_use.d.ts +0 -0
  1115. /package/dist/src/execution/{tools/subagent → agent-sessions}/metadata.d.ts +0 -0
  1116. /package/dist/src/execution/{tools/subagent → agent-sessions}/metadata.js +0 -0
@@ -3,7 +3,6 @@ import type { RuntimeModelReference } from "#runtime/agent/bootstrap.js";
3
3
  import type { HarnessToolDefinition } from "#harness/execute-tool.js";
4
4
  import type { HarnessToolMap } from "#harness/types.js";
5
5
  import type { ToolExecuteOptions } from "#tools/definition.js";
6
- import { type BackgroundToolCallBatch } from "#harness/background-tools.js";
7
6
  /**
8
7
  * Builds an AI SDK `ToolSet` from unified harness tool definitions.
9
8
  *
@@ -17,7 +16,6 @@ import { type BackgroundToolCallBatch } from "#harness/background-tools.js";
17
16
  */
18
17
  export declare function buildToolSet(input: {
19
18
  readonly approvedTools?: ReadonlySet<string>;
20
- readonly backgroundBatch?: BackgroundToolCallBatch;
21
19
  readonly disabledProviderTools?: ReadonlySet<string>;
22
20
  readonly tools: HarnessToolMap;
23
21
  }): ToolSet;
@@ -29,7 +27,6 @@ export declare function buildToolSet(input: {
29
27
  */
30
28
  export declare function buildToolSetFromDefinitions(input: {
31
29
  readonly approvedTools?: ReadonlySet<string>;
32
- readonly backgroundBatch?: BackgroundToolCallBatch;
33
30
  readonly disabledProviderTools?: ReadonlySet<string>;
34
31
  readonly tools: readonly HarnessToolDefinition[];
35
32
  }): ToolSet;
@@ -40,7 +37,7 @@ export declare function buildToolSetFromDefinitions(input: {
40
37
  * omits OAuth URLs, user codes, and hook URLs from model-facing history.
41
38
  * Returns `undefined` for client-side tools (no `execute`).
42
39
  */
43
- export declare function wrapToolExecute(definition: HarnessToolDefinition, backgroundBatch?: BackgroundToolCallBatch): ((input: any, options: ToolExecuteOptions) => Promise<any> | AsyncIterable<any>) | undefined;
40
+ export declare function wrapToolExecute(definition: HarnessToolDefinition): ((input: any, options: ToolExecuteOptions) => Promise<any> | AsyncIterable<any>) | undefined;
44
41
  /**
45
42
  * Builds the AI SDK ToolSet for one harness step.
46
43
  *
@@ -62,7 +59,6 @@ export declare function wrapToolExecute(definition: HarnessToolDefinition, backg
62
59
  */
63
60
  export declare function buildToolSetWithProviderTools(input: {
64
61
  readonly approvedTools?: ReadonlySet<string>;
65
- readonly backgroundBatch?: BackgroundToolCallBatch;
66
62
  readonly disabledProviderTools?: ReadonlySet<string>;
67
63
  readonly modelReference: RuntimeModelReference;
68
64
  readonly tools: HarnessToolMap;
@@ -1 +1 @@
1
- import{tool}from"ai";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{authorizationPendingModelText,isAuthorizationPendingModelOutput,isAuthorizationSignal,modelFacingAuthorizationOutput}from"#harness/authorization.js";import{createBackgroundToolCallBatch,executeBackgroundToolCall}from"#harness/background-tools.js";import{normalizeToolJsonOutput,normalizeToolModelOutput}from"#harness/tool-model-output.js";import{stashToolInterrupt}from"#harness/tool-interrupts.js";import{resolveWebSearchBackend,resolveWebSearchProviderTool}from"#harness/provider-tools.js";import{isAsyncIterable}from"#shared/async-iterable.js";const toolApprovals=new WeakMap;function buildToolSet(e){let t={},n=e.backgroundBatch??createBackgroundToolCallBatch(),r=e.disabledProviderTools;for(let i of e.tools.values()){if(r?.has(i.name))continue;n.setTool(i.name,i.execution===`background`&&i.execute!==void 0?{executeInput:i.executeInput,name:i.name,nodeId:i.nodeId,workflowId:requireBackgroundWorkflowId(i)}:void 0);let a=i.toModelOutput,o=buildApprovalFn(i,e),s=tool({description:i.description,execute:wrapToolExecute(i,n),inputSchema:toModelSchema(i.inputSchema,`input`),strict:!1,...i.execution===`background`?{onInputAvailable:({input:e,toolCallId:t})=>{if(i.execute===void 0)throw Error(`Background tool "${i.name}" has no execute function.`);n.register({callId:t,input:e,toolName:i.name})}}:{},outputSchema:toModelSchema(i.outputSchema,`output`),...i.execute===void 0?a===void 0?{}:{toModelOutput:async({output:e,toolCallId:t})=>normalizeToolModelOutput({output:await a(e),toolCallId:t,toolName:i.name})}:{toModelOutput:async({output:e,toolCallId:t})=>isAuthorizationPendingModelOutput(e)?{type:`text`,value:authorizationPendingModelText(e.connections)}:a===void 0?typeof e==`string`?{type:`text`,value:e}:normalizeToolModelOutput({output:{type:`json`,value:e??null},toolCallId:t,toolName:i.name}):normalizeToolModelOutput({output:await a(e),toolCallId:t,toolName:i.name})}});t[i.name]=s,i.approval!==void 0&&toolApprovals.set(s,o)}return t}function requireBackgroundWorkflowId(e){if(e.workflowId===void 0)throw Error(`Background tool "${e.name}" must be defined with defineWorkflowTool().`);return e.workflowId}function buildToolSetFromDefinitions(e){let t=new Map;for(let n of e.tools)t.has(n.name)||t.set(n.name,n);return buildToolSet({approvedTools:e.approvedTools,backgroundBatch:e.backgroundBatch,disabledProviderTools:e.disabledProviderTools,tools:t})}function wrapToolExecute(e,t=createBackgroundToolCallBatch()){let n=e.execute;if(n!==void 0)return(r,i)=>{let a;try{e.execution===`background`?(t.register({callId:i.toolCallId,input:r,toolName:e.name}),a=executeBackgroundToolCall({batch:t,definition:e,options:i,toolInput:r})):a=n(r,i)}catch(e){return Promise.reject(e)}return isAsyncIterable(a)?normalizeToolExecuteIterable(a,e.name,i):Promise.resolve(a).then(t=>normalizeToolExecuteOutput(t,e.name,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({approvedTools:e.approvedTools,backgroundBatch:e.backgroundBatch,disabledProviderTools:t,tools:e.tools})};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.modelReference,i.provider);t===null?delete n[r.name]:n[r.name]=await resolveWebSearchProviderTool(t)}}return n}function buildApprovalFn(e,t){return async(n,r,i)=>{if(e.approval===void 0)return;let a=isObject(n)?n:void 0,o=await resolveApprovalPolicy(e.approval)({...buildCallbackContext(),abortSignal:i??new AbortController().signal,approvedTools:t.approvedTools??new Set,callId:r,toolInput:a,toolName:e.name});return typeof o==`boolean`?o?`user-approval`:`not-applicable`:o}}function buildToolApproval(e,t){return async({toolCall:n})=>{let r=e[n.toolName];return r===void 0?void 0:await toolApprovals.get(r)?.(n.input,n.toolCallId,t)}}export{buildToolApproval,buildToolSet,buildToolSetFromDefinitions,buildToolSetWithProviderTools,wrapToolExecute};
1
+ import{tool}from"ai";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{authorizationPendingModelText,isAuthorizationPendingModelOutput,isAuthorizationSignal,modelFacingAuthorizationOutput}from"#harness/authorization.js";import{isApprovedToolCall,markApprovalRecheck}from"#harness/approval-recheck.js";import{normalizeToolJsonOutput,normalizeToolModelOutput}from"#harness/tool-model-output.js";import{stashToolInterrupt}from"#harness/tool-interrupts.js";import{resolveWebSearchBackend,resolveWebSearchProviderTool}from"#harness/provider-tools.js";import{isAsyncIterable}from"#shared/async-iterable.js";const toolApprovals=new WeakMap;function buildToolSet(e){let t={},n=e.disabledProviderTools;for(let r of e.tools.values()){if(n?.has(r.name))continue;let i=r.toModelOutput,a=buildApprovalFn(r,e),o=tool({description:r.description,execute:wrapToolExecute(r),inputSchema:toModelSchema(r.inputSchema,`input`),strict:!1,outputSchema:toModelSchema(r.outputSchema,`output`),...r.execute===void 0?i===void 0?{}:{toModelOutput:async({output:e,toolCallId:t})=>normalizeToolModelOutput({output:await i(e),toolCallId:t,toolName:r.name})}:{toModelOutput:async({output:e,toolCallId:t})=>isAuthorizationPendingModelOutput(e)?{type:`text`,value:authorizationPendingModelText(e.connections)}:i===void 0?typeof e==`string`?{type:`text`,value:e}:normalizeToolModelOutput({output:{type:`json`,value:e??null},toolCallId:t,toolName:r.name}):normalizeToolModelOutput({output:await i(e),toolCallId:t,toolName:r.name})}});t[r.name]=o,r.approval!==void 0&&toolApprovals.set(o,a)}return t}function buildToolSetFromDefinitions(e){let t=new Map;for(let n of e.tools)t.has(n.name)||t.set(n.name,n);return buildToolSet({approvedTools:e.approvedTools,disabledProviderTools:e.disabledProviderTools,tools:t})}function wrapToolExecute(e){let t=e.execute;if(t!==void 0)return(n,r)=>{let i;try{i=t(n,r)}catch(e){return Promise.reject(e)}return isAsyncIterable(i)?normalizeToolExecuteIterable(i,e.name,r):Promise.resolve(i).then(t=>normalizeToolExecuteOutput(t,e.name,r))}}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({approvedTools:e.approvedTools,disabledProviderTools:t,tools:e.tools})};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.modelReference,i.provider);t===null?delete n[r.name]:n[r.name]=await resolveWebSearchProviderTool(t)}}return n}function buildApprovalFn(e,t){return async(n,r,i,a)=>{if(e.approval===void 0)return;let o=isObject(n)?n:void 0,s={...buildCallbackContext(),abortSignal:i??new AbortController().signal,approvedTools:t.approvedTools??new Set,callId:r,toolInput:o,toolName:e.name},c=await resolveApprovalPolicy(e.approval)(a?markApprovalRecheck(s):s);return typeof c==`boolean`?c?`user-approval`:`not-applicable`:c}}function buildToolApproval(e,t){return async({toolCall:n,messages:r})=>{let i=e[n.toolName];return i===void 0?void 0:await toolApprovals.get(i)?.(n.input,n.toolCallId,t,isApprovedToolCall(r,n.toolCallId))}}export{buildToolApproval,buildToolSet,buildToolSetFromDefinitions,buildToolSetWithProviderTools,wrapToolExecute};
@@ -107,11 +107,12 @@ export declare function accumulateTurnUsage(input: {
107
107
  readonly usage: TokenUsageDelta | undefined;
108
108
  }): TurnUsageState;
109
109
  /**
110
- * Folds a delegated child session's reported totals into the parent's
111
- * session totals without touching the in-flight turn totals. Turn tags
112
- * attribute only the parent's own model calls (child spend is attributed by
113
- * the caller's durable `agent.action` span); session totals feed the session
114
- * token limits and the remaining-quota budget granted to later delegations.
110
+ * Adds usage to session totals without touching the in-flight turn totals:
111
+ * the delegated spend a parent counts, or a run's tally of what its
112
+ * `ctx.agent` sessions spent. Turn tags attribute only the parent's own model
113
+ * calls (child spend is attributed by the caller's durable `agent.action`
114
+ * span); session totals feed the session token limits and the remaining-quota
115
+ * budget granted to later delegations.
115
116
  */
116
117
  export declare function accumulateSessionUsage(input: {
117
118
  readonly previous: TurnUsageState | undefined;
@@ -79,8 +79,6 @@ export interface HarnessSession {
79
79
  readonly sessionId: string;
80
80
  readonly sandboxState?: SandboxState;
81
81
  readonly state?: SessionStateMap;
82
- /** Framework task that owns this durable session, when present. */
83
- readonly taskId?: string;
84
82
  }
85
83
  export declare function requireSessionModelReference(session: HarnessSession): RuntimeModelReference;
86
84
  /**
@@ -183,15 +181,6 @@ export interface SettledTurn {
183
181
  */
184
182
  export interface StepResult {
185
183
  readonly steered?: true;
186
- /** Background-tool effects projected onto the session that entered this step. */
187
- readonly backgroundTaskSession?: HarnessSession;
188
- /** Durable tasks started by background tools and awaiting the parent commit barrier. */
189
- readonly backgroundTasks?: readonly {
190
- readonly callId?: string;
191
- readonly taskInboxToken: string;
192
- readonly taskId: string;
193
- readonly taskRunId: string;
194
- }[];
195
184
  readonly next: StepNext;
196
185
  readonly session: HarnessSession;
197
186
  /**
@@ -199,6 +188,13 @@ export interface StepResult {
199
188
  * across the park boundary so a delegated parent can be notified.
200
189
  */
201
190
  readonly settledTurn?: SettledTurn;
191
+ /**
192
+ * Present when the model ended the turn while tasks are working. The turn
193
+ * stays open until one settles.
194
+ */
195
+ readonly held?: {
196
+ readonly taskIds: readonly string[];
197
+ };
202
198
  }
203
199
  /**
204
200
  * A single step of AI work. Takes the current session and optional user input,
@@ -256,15 +252,11 @@ export interface ToolLoopHarnessConfig {
256
252
  * Omitted in production until an instrumentation runtime opts in.
257
253
  */
258
254
  readonly instrumentation?: SessionInstrumentation;
259
- /** Whether this node enables framework background-task behavior. */
260
- readonly tasksEnabled?: boolean;
261
255
  /** Restores runtime resources for the originating turn before approval work. */
262
256
  readonly prepareApprovalTurn?: (event: {
263
257
  readonly sequence: number;
264
258
  readonly turnId: string;
265
259
  }) => Promise<void>;
266
- /** Opaque runtime identity retained by a pending approval batch. */
267
- readonly toolReplayIdentity?: (toolName: string) => string | undefined;
268
260
  /** Resolves persisted step-scoped tools before an approval policy reads them. */
269
261
  readonly resolveStepDynamicTools?: (input: {
270
262
  readonly ctx: AlsContext;
@@ -0,0 +1,30 @@
1
+ import type { ModelMessage } from "ai";
2
+ import { type CoordinationToolCall } from "#harness/coordination.js";
3
+ import type { ResolvedInputBatch } from "#harness/input-request-resolution.js";
4
+ import type { HarnessSession, HarnessToolMap } from "#harness/types.js";
5
+ import type { RuntimeWorkflowTaskRequest } from "#shared/action-types.js";
6
+ /**
7
+ * Parks the step on the workflow tools a person just approved. The approval
8
+ * tool message moves into the batch's response so workflow results join it:
9
+ * AI SDK then resumes approved sibling tools without replaying the workflows.
10
+ */
11
+ export declare function dispatchApprovedWorkflowCalls(input: {
12
+ readonly messages: readonly ModelMessage[];
13
+ readonly resolvedInputs: readonly ResolvedInputBatch[] | undefined;
14
+ readonly session: HarnessSession;
15
+ readonly tools: HarnessToolMap;
16
+ }): HarnessSession | undefined;
17
+ /**
18
+ * Turns a step's deferred calls into workflow runs, committing a task record
19
+ * for each call that starts a task. Task tool calls stay in the response
20
+ * alone: the session reads them from there.
21
+ */
22
+ export declare function collectDeferredCalls(input: {
23
+ readonly session: HarnessSession;
24
+ readonly toolCalls: readonly CoordinationToolCall[];
25
+ readonly tools: HarnessToolMap;
26
+ readonly turnId: string;
27
+ }): {
28
+ readonly session: HarnessSession;
29
+ readonly workflowRequests: readonly RuntimeWorkflowTaskRequest[];
30
+ };
@@ -0,0 +1 @@
1
+ import{validateHarnessModelMessages}from"#harness/messages.js";import{createCoordinationRequestFromToolCall,resolveToolCallInputObject,setPendingCoordinationBatch}from"#harness/coordination.js";import{hasTailApprovalResponse}from"#harness/current-messages.js";import{commitCallEntry,isTaskTool}from"#execution/tasks/model-step.js";function dispatchApprovedWorkflowCalls(e){for(let t of e.resolvedInputs??[]){let n=t.inputs.filter(({outcome:t,request:n})=>t===`approved`&&e.tools.get(n.action.toolName)?.workflowId!==void 0);if(n.length===0)continue;if(!hasTailApprovalResponse(e.messages))throw Error(`Approved workflow calls must follow their approval tool message.`);let r=collectDeferredCalls({session:e.session,toolCalls:n.map(({request:e})=>({input:e.action.input,toolCallId:e.action.callId,toolName:e.action.toolName})),tools:e.tools,turnId:t.event.turnId});return setPendingCoordinationBatch({tasks:r.workflowRequests,event:t.event,responseMessages:e.messages.slice(-1),session:{...r.session,history:validateHarnessModelMessages(e.messages.slice(0,-1))}})}}function collectDeferredCalls(e){let{session:t}=e,n=[];for(let r of e.toolCalls){let i=e.tools.get(r.toolName);if(isTaskTool(i))continue;let a=commitCallEntry(t,{callId:r.toolCallId,definition:i,input:resolveToolCallInputObject(r.input,{callId:r.toolCallId,toolName:r.toolName}),toolName:r.toolName,turnId:e.turnId});t=a.session,n.push(createCoordinationRequestFromToolCall({entry:a.entry,input:a.input,toolCall:r,tools:e.tools}))}return{session:t,workflowRequests:n}}export{collectDeferredCalls,dispatchApprovedWorkflowCalls};
@@ -1,19 +1,8 @@
1
1
  import type { RuntimeToolResultActionResult } from "#shared/action-types.js";
2
2
  import type { SessionStateMap } from "#harness/types.js";
3
- import { type ActivityWorkIdentityV1 } from "#protocol/activity.js";
4
- import { type TaskMetadata, type TaskStatus, type TaskView } from "#tasks/types.js";
5
- import type { DurableDynamicSubagentSelection, SessionAuth } from "#context/keys.js";
6
3
  export declare const WORKFLOW_TOOL_RUNS_STATE_KEY = "eve.workflowTool";
7
- export interface WorkflowTaskPayload {
8
- readonly taskId: string;
9
- readonly metadata: TaskMetadata;
10
- readonly dispatchContext: TaskAgentDispatchContext;
11
- readonly activityWorkIdentity?: ActivityWorkIdentityV1;
12
- readonly cohortId?: string;
13
- /** Parent-owned outcome. Read through readWorkflowTaskView before consuming it. */
14
- readonly outcome?: unknown;
15
- }
16
- interface WorkflowToolRunBase {
4
+ /** One workflow tool call the originating turn waits on. */
5
+ export interface BlockingWorkflowToolRun {
17
6
  readonly callId: string;
18
7
  readonly toolName: string;
19
8
  readonly origin: {
@@ -25,60 +14,12 @@ interface WorkflowToolRunBase {
25
14
  readonly hookToken: string;
26
15
  };
27
16
  }
28
- export type BlockingWorkflowToolRun = WorkflowToolRunBase & {
29
- readonly lifetime: "turn";
30
- };
31
- export type BackgroundWorkflowToolRun = WorkflowToolRunBase & {
32
- readonly lifetime: "session";
33
- readonly task: WorkflowTaskPayload;
34
- };
35
- export type WorkflowToolRun = BlockingWorkflowToolRun | BackgroundWorkflowToolRun;
36
- export interface TaskAgentDispatchContext {
37
- readonly auth: SessionAuth;
38
- readonly sessionDynamicSubagentSelections?: Readonly<Record<string, DurableDynamicSubagentSelection>>;
39
- readonly turnDynamicSubagentSelections?: Readonly<Record<string, DurableDynamicSubagentSelection>>;
40
- }
41
- /** Decode retained output only when it is consumed, independently of ownership reads. */
42
- export declare function readWorkflowTaskView(task: WorkflowTaskPayload): TaskView | undefined;
43
- export declare function getWorkflowToolRuns(state: SessionStateMap | undefined): readonly WorkflowToolRun[];
44
- /** Parent-observed lifecycle state. Input requests are tracked on the parent session instead. */
45
- export type BackgroundTaskState = Exclude<TaskStatus, "input_required">;
46
- /** A background run with its decoded lifecycle view. */
47
- export type BackgroundTask = TaskView & {
48
- /** Overlapping work reported together; a task without a join target starts its own cohort. */
49
- readonly cohortId: string;
50
- /** The parent turn that started the task. */
51
- readonly turnId: string;
52
- readonly run: BackgroundWorkflowToolRun;
53
- };
54
- export interface BackgroundTaskFilter {
55
- readonly state?: BackgroundTaskState | readonly BackgroundTaskState[];
56
- readonly cohortId?: string;
57
- readonly turnId?: string;
58
- }
59
- export interface BackgroundTasks {
60
- get(taskId: string): BackgroundTask | undefined;
61
- query(filter?: BackgroundTaskFilter): readonly BackgroundTask[];
62
- }
63
- /**
64
- * Read-only parent view: a task without a recorded terminal outcome is working.
65
- * Only returned tasks are decoded, so one corrupt retained outcome cannot block
66
- * reads of unrelated tasks, and working-only reads never decode.
67
- */
68
- export declare function getBackgroundTasks(state: SessionStateMap | undefined): BackgroundTasks;
69
17
  export declare function getBlockingWorkflowToolRuns(state: SessionStateMap | undefined, turnId?: string): readonly BlockingWorkflowToolRun[];
70
- /** Registration is idempotent by originating turn and call; retained task facts survive replay. */
18
+ /** Registration is idempotent by originating turn and call. */
71
19
  export declare function registerWorkflowToolRun<T extends {
72
20
  readonly state?: SessionStateMap;
73
- }>(session: T, entry: WorkflowToolRun): T;
74
- /** Records the first terminal outcome and distinguishes it from repeated or late reports. */
75
- export declare function recordWorkflowTaskView(state: SessionStateMap | undefined, view: TaskView): {
76
- readonly state: SessionStateMap | undefined;
77
- readonly view: TaskView;
78
- /** True only when this call recorded the task's first outcome. */
79
- readonly firstOutcome: boolean;
80
- };
81
- /** Removes only this turn's waiting calls. Session-owned task payloads are never pruned here. */
21
+ }>(session: T, entry: BlockingWorkflowToolRun): T;
22
+ /** Removes this turn's waiting calls, or only one of them when `callId` is given. */
82
23
  export declare function removeBlockingWorkflowToolRuns<T extends {
83
24
  readonly state?: SessionStateMap;
84
25
  }>(session: T, turnId: string, callId?: string): T;
@@ -86,4 +27,3 @@ export declare function removeBlockingWorkflowToolRuns<T extends {
86
27
  export declare function findBlockingWorkflowToolRun(state: SessionStateMap | undefined, callId: string, turnId?: string): BlockingWorkflowToolRun | undefined;
87
28
  /** The turn inbox is shared; a result settles a call only if the turn recorded that run. */
88
29
  export declare function isInboxToolResultFromRecordedWorkflowToolRun(state: SessionStateMap | undefined, result: RuntimeToolResultActionResult): boolean;
89
- export {};
@@ -1 +1 @@
1
- import{isNonEmptyString,isObject}from"#shared/guards.js";import{parseActivityWorkIdentityV1}from"#protocol/activity.js";import{sameTaskMetadata}from"#tasks/types.js";const WORKFLOW_TOOL_RUNS_STATE_KEY=`eve.workflowTool`;function isTaskMetadata(e){return isObject(e)&&isNonEmptyString(e.kind)&&isNonEmptyString(e.name)}function isRecord(e){if(!isObject(e))return!1;let t=e.constructor;return typeof t!=`function`||isObject(t.prototype)&&Object.hasOwn(t.prototype,`isPrototypeOf`)}function isSessionAuthContext(e){return e===null||isObject(e)&&Object.keys(e).every(e=>[`attributes`,`authenticator`,`issuer`,`principalId`,`principalType`,`subject`].includes(e))&&isRecord(e.attributes)&&Object.values(e.attributes).every(e=>typeof e==`string`||Array.isArray(e)&&Array.from(e).every(e=>typeof e==`string`))&&typeof e.authenticator==`string`&&typeof e.principalId==`string`&&typeof e.principalType==`string`&&(e.issuer===void 0||typeof e.issuer==`string`)&&(e.subject===void 0||typeof e.subject==`string`)}function isTaskAgentDispatchContext(e){return isObject(e)&&Object.keys(e).every(e=>[`auth`,`sessionDynamicSubagentSelections`,`turnDynamicSubagentSelections`].includes(e))&&isObject(e.auth)&&Object.keys(e.auth).every(e=>e===`current`||e===`initiator`)&&isSessionAuthContext(e.auth.current)&&isSessionAuthContext(e.auth.initiator)&&(e.sessionDynamicSubagentSelections===void 0||isRecord(e.sessionDynamicSubagentSelections))&&(e.turnDynamicSubagentSelections===void 0||isRecord(e.turnDynamicSubagentSelections))}function isWorkflowToolRun(e){if(!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))return!1;if(e.lifetime===`turn`)return e.task===void 0;if(e.lifetime!==`session`||!isObject(e.task))return!1;let t=e.task;return isNonEmptyString(t.taskId)&&isTaskMetadata(t.metadata)&&isTaskAgentDispatchContext(t.dispatchContext)&&(t.cohortId===void 0||isNonEmptyString(t.cohortId))&&(t.activityWorkIdentity===void 0||parseActivityWorkIdentityV1(t.activityWorkIdentity)!==void 0)}function parseRegistry(e){if(!isObject(e)||e.version!==3||!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,n=new Set;for(let r of e.runs){let e=JSON.stringify([r.origin.turnId,r.callId]);if(t.has(e))throw Error(`Corrupt workflow tool run registry: Run identities must be unique.`);if(t.add(e),r.lifetime===`session`){if(n.has(r.task.taskId))throw Error(`Corrupt workflow tool run registry: Task ids must be unique.`);n.add(r.task.taskId)}}return{...e,version:3,runs:e.runs.map(copyWorkflowToolRun)}}function copySessionAuthContext(e){return e===null?null:{...e,attributes:Object.fromEntries(Object.entries(e.attributes).map(([e,t])=>[e,typeof t==`string`?t:Object.freeze([...t])]))}}function copyWorkflowToolRun(e){let t={...e,origin:{...e.origin},address:{...e.address}};if(e.lifetime===`turn`)return t;let n=e.task.dispatchContext,r={...n,auth:{current:copySessionAuthContext(n.auth.current),initiator:copySessionAuthContext(n.auth.initiator)}};return n.sessionDynamicSubagentSelections!==void 0&&(r.sessionDynamicSubagentSelections={...n.sessionDynamicSubagentSelections}),n.turnDynamicSubagentSelections!==void 0&&(r.turnDynamicSubagentSelections={...n.turnDynamicSubagentSelections}),{...t,lifetime:`session`,task:{...e.task,metadata:{...e.task.metadata},dispatchContext:r}}}function parseTaskOutcome(e){if(!isObject(e)||e.inputRequests!==void 0)return;let t=e.usage;if(t!==void 0&&(!isObject(t)||![t.cacheReadTokens,t.cacheWriteTokens,t.inputTokens,t.outputTokens,...t.costUsd===void 0?[]:[t.costUsd]].every(e=>typeof e==`number`&&Number.isFinite(e)&&e>=0)))return;if(e.status===`cancelled`){if(e.lastOutput!==void 0)return}else{if(e.status!==`completed`&&e.status!==`failed`)return;let t=e.status===`completed`?`result`:`error`;if(!isObject(e.lastOutput)||e.lastOutput.type!==t)return}let n={...e};return t!==void 0&&(n.usage={...t}),isObject(e.lastOutput)&&(n.lastOutput={...e.lastOutput}),n}function readWorkflowTaskView(e){if(e.outcome===void 0)return;let t=parseTaskOutcome(e.outcome);if(t===void 0)throw Error(`Corrupt workflow task result "${e.taskId}": invalid outcome.`);return{...t,taskId:e.taskId,metadata:{...e.metadata}}}function readRegistry(e){if(e?.[`eve.tasks`]!==void 0||e?.[`eve.runtime.workflowToolRuns`]!==void 0)throw Error(`Unsupported workflow tool run state: start a new session or import its conversation.`);let t=e?.[WORKFLOW_TOOL_RUNS_STATE_KEY];return t===void 0?{version:3,runs:[]}:parseRegistry(t)}function getWorkflowToolRuns(e){return readRegistry(e).runs}function getBackgroundTasks(e){let t=getWorkflowToolRuns(e).filter(e=>e.lifetime===`session`);return{get(e){let n=t.find(t=>t.task.taskId===e);return n===void 0?void 0:toBackgroundTask(n)},query(e={}){let n=typeof e.state==`string`?[e.state]:e.state,r=n===void 0||n.some(e=>e!==`working`);return t.flatMap(t=>{if(e.cohortId!==void 0&&cohortIdOf(t)!==e.cohortId||e.turnId!==void 0&&t.origin.turnId!==e.turnId||t.task.outcome!==void 0&&!r)return[];let i=toBackgroundTask(t);return n===void 0||n.includes(i.status)?[i]:[]})}}}function cohortIdOf(e){return e.task.cohortId??e.task.taskId}function toBackgroundTask(e){return{...readWorkflowTaskView(e.task)??{taskId:e.task.taskId,metadata:e.task.metadata,status:`working`},cohortId:cohortIdOf(e),turnId:e.origin.turnId,run:e}}function getBlockingWorkflowToolRuns(e,t){return getWorkflowToolRuns(e).filter(e=>e.lifetime===`turn`&&(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.lifetime!==t.lifetime||a.toolName!==t.toolName))throw Error(`Replayed invocation changed its ownership or tool identity.`);if(t.lifetime===`session`){if(a?.lifetime===`session`){if(t.task.taskId!==a.task.taskId)throw Error(`Replayed invocation changed its task identity.`);t={...t,task:{...a.task,...t.task,metadata:{...a.task.metadata,...t.task.metadata},activityWorkIdentity:t.task.activityWorkIdentity===void 0?a.task.activityWorkIdentity:{...a.task.activityWorkIdentity,...t.task.activityWorkIdentity},cohortId:a.task.cohortId,dispatchContext:a.task.dispatchContext,outcome:a.task.outcome??t.task.outcome}}}else{let e=r.find(e=>e.lifetime===`session`&&e.task.outcome===void 0);t={...t,task:{...t.task,cohortId:e===void 0?void 0:e.task.cohortId??e.task.taskId}}}}return t.lifetime===`session`&&readWorkflowTaskView(t.task),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 recordWorkflowTaskView(e,t){let{taskId:n,metadata:r,...i}=t,a=parseTaskOutcome(i);if(!isNonEmptyString(n)||!isTaskMetadata(r)||a===void 0)throw Error(`Invalid terminal workflow task view.`);let o=readRegistry(e),s=[...o.runs],c=s.findIndex(e=>e.lifetime===`session`&&e.task.taskId===n),l=s[c];if(l===void 0||l.lifetime!==`session`)return{state:e,view:t,firstOutcome:!1};if(!sameTaskMetadata(l.task.metadata,r))throw Error(`Task view metadata does not match invocation "${t.taskId}".`);let u=readWorkflowTaskView(l.task);return u===void 0?(s[c]={...l,task:{...l.task,outcome:a}},{state:writeRegistry(e,{...o,runs:s}),view:t,firstOutcome:!0}):{state:e,view:u,firstOutcome:!1}}function removeBlockingWorkflowToolRuns(e,t,n){let r=readRegistry(e.state),i=r.runs,a=i.filter(e=>e.lifetime!==`turn`||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,getBackgroundTasks,getBlockingWorkflowToolRuns,getWorkflowToolRuns,isInboxToolResultFromRecordedWorkflowToolRun,readWorkflowTaskView,recordWorkflowTaskView,registerWorkflowToolRun,removeBlockingWorkflowToolRuns};
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 +1 @@
1
- import{attemptIdempotencyKey,modelCallIdempotencyKey,toolCallIdempotencyKey}from"#instrumentation/lifecycle.js";import{structuralProviderMetadata}from"#instrumentation/content.js";function createAiSdkHookBridge(e,t,n=directRunInContext,r){let i={capturesInputs:t.capturesInputs??t.capturesContent,capturesOutputs:t.capturesOutputs??t.capturesContent,modelKeys:new Map,runtimeContext:r!==void 0&&Object.keys(r).length>0?Object.freeze({...r}):void 0,scope:e,toolKeys:new Map};return{onStart(e){i.operation=Object.freeze({modelId:e.modelId,operationId:e.operationId,provider:e.provider})},async onStepStart(e){i.stepNumber=e.stepNumber;let n=toStepAttemptStarted(i);n!==void 0&&await t.publish(n)},async onLanguageModelCallStart(e){let n=modelCallIdempotencyKey(i.scope,i.stepNumber??0);i.modelKeys.set(e.callId,n);let r=toModelCallStarted(i,n,e);await t.publish(r)},executeLanguageModelCall({callId:t,execute:r}){let a=i.modelKeys.get(t);return a===void 0?r():n({idempotencyKey:a,scope:e,type:`model.call`},r)},async onLanguageModelCallEnd(e){let n=i.modelKeys.get(e.callId);if(n===void 0)return;i.modelKeys.delete(e.callId);let r=toModelCallCompleted(i,n,e);await t.publish(r)},async onStepEnd(e){if(e.providerMetadata===void 0)return;let n=i.capturesOutputs?e.providerMetadata:structuralProviderMetadata(e.providerMetadata);await t.publish(Object.freeze({idempotencyKey:attemptIdempotencyKey(i.scope),providerMetadata:n,scope:i.scope,type:`step.attempt.metadata`}))},async onToolExecutionStart(e){let n=toolCallIdempotencyKey(i.scope,e.toolCall.toolCallId,i.stepNumber??0);i.toolKeys.set(e.toolCall.toolCallId,n);let r=toToolCallStarted(i,n,e);await t.publish(r)},executeTool({toolCallId:t,execute:r}){let a=i.toolKeys.get(t);return a===void 0?r():n({idempotencyKey:a,scope:e,type:`tool.call`},r)},async onToolExecutionEnd(e){let n=e.toolCall.toolCallId,r=i.toolKeys.get(n);if(r===void 0)return;i.toolKeys.delete(n);let a=toToolCallCompleted(i,r,e);await t.publish(a)},async onAbort(e){await failOpenOperations(e.reason)},async onError(e){await failOpenOperations(e.error)}};async function failOpenOperations(n){let r=[];for(let a of i.modelKeys.values())r.push(t.publish(Object.freeze({error:n,idempotencyKey:a,scope:e,type:`model.call.failed`})));for(let a of i.toolKeys.values())r.push(t.publish(Object.freeze({error:n,idempotencyKey:a,scope:e,type:`tool.call.failed`})));i.modelKeys.clear(),i.toolKeys.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])}):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?toContentParts(n.content):void 0,finishReason:n.finishReason,idempotencyKey:t,responseModelId:n.modelId,responseId:n.responseId,scope:e.scope,type:`model.call.completed`,usage:toUsage(n.usage)})}function toUsage(e){return Object.freeze({inputTokenDetails:Object.freeze({cacheReadTokens:e.inputTokenDetails?.cacheReadTokens,cacheWriteTokens:e.inputTokenDetails?.cacheWriteTokens}),inputTokens:e.inputTokens,outputTokens:e.outputTokens})}function toContentParts(e){let t=[];for(let n of e)switch(n.type){case`text`:case`reasoning`:t.push(Object.freeze({text:n.text,type:n.type}));break;case`tool-call`:t.push(Object.freeze({callId:n.toolCallId,input:n.input,toolName:n.toolName,type:`tool-call`}));break;case`tool-result`:t.push(Object.freeze({callId:n.toolCallId,input:n.input,output:n.output,toolName:n.toolName,type:`tool-result`}));break;case`tool-error`:t.push(Object.freeze({callId:n.toolCallId,error:n.error,input:n.input,toolName:n.toolName,type:`tool-error`}))}return Object.freeze(t)}function toToolCallStarted(e,t,n){return Object.freeze({callId:n.toolCall.toolCallId,idempotencyKey:t,input:e.capturesInputs?n.toolCall.input:void 0,scope:e.scope,toolName:n.toolCall.toolName,type:`tool.call.started`})}function toToolCallCompleted(e,t,n){return Object.freeze({idempotencyKey:t,output:toToolOutput(n.toolOutput,e.capturesOutputs),scope:e.scope,type:`tool.call.completed`})}function toToolOutput(e,t){return e.type===`tool-result`?Object.freeze(t?{output:e.output,type:`result`}:{type:`result`}):Object.freeze(t?{error:e.error,type:`error`}:{type:`error`})}export{createAiSdkHookBridge};
1
+ import{attemptIdempotencyKey,modelCallIdempotencyKey,toolCallIdempotencyKey}from"#instrumentation/lifecycle.js";import{structuralProviderMetadata}from"#instrumentation/content.js";function createAiSdkHookBridge(e,t,n=directRunInContext,r){let i={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},nextModelCallKey=e=>{let t=i.modelCallIndexes.get(e)??0;return i.modelCallIndexes.set(e,t+1),modelCallIdempotencyKey(i.scope,e,t)};return{onStart(e){i.operation=Object.freeze({modelId:e.modelId,operationId:e.operationId,provider:e.provider})},async onStepStart(e){i.stepNumber=e.stepNumber;let n=toStepAttemptStarted(i);n!==void 0&&await t.publish(n)},async onLanguageModelCallStart(e){let n=i.stepNumber??0,r=nextModelCallKey(n);i.modelKeys.set(e.callId,r);let a=toModelCallStarted(i,r,e);i.modelCallStartEvents.set(e.callId,{event:a,stepNumber:n}),await t.publish(a)},async executeLanguageModelCall({callId:r,execute:a}){let o=i.modelKeys.get(r);if(o===void 0){let e=i.modelCallStartEvents.get(r);if(e===void 0)return a();o=nextModelCallKey(e.stepNumber),i.modelKeys.set(r,o),await t.publish(Object.freeze({...e.event,idempotencyKey:o}))}try{return await n({idempotencyKey:o,scope:e,type:`model.call`},a)}catch(n){throw i.modelKeys.get(r)===o&&i.modelKeys.delete(r),await t.publish(Object.freeze({error:n,idempotencyKey:o,scope:e,type:`model.call.failed`})),n}},async onLanguageModelCallEnd(e){let n=i.modelKeys.get(e.callId);if(n===void 0)return;i.modelKeys.delete(e.callId),i.modelCallStartEvents.delete(e.callId);let r=toModelCallCompleted(i,n,e);await t.publish(r)},async onStepEnd(e){if(e.providerMetadata===void 0)return;let n=i.capturesOutputs?e.providerMetadata:structuralProviderMetadata(e.providerMetadata);await t.publish(Object.freeze({idempotencyKey:attemptIdempotencyKey(i.scope),providerMetadata:n,scope:i.scope,type:`step.attempt.metadata`}))},async onToolExecutionStart(e){let n=toolCallIdempotencyKey(i.scope,e.toolCall.toolCallId,i.stepNumber??0);i.toolKeys.set(e.toolCall.toolCallId,n);let r=toToolCallStarted(i,n,e);await t.publish(r)},executeTool({toolCallId:t,execute:r}){let a=i.toolKeys.get(t);return a===void 0?r():n({idempotencyKey:a,scope:e,type:`tool.call`},r)},async onToolExecutionEnd(e){let n=e.toolCall.toolCallId,r=i.toolKeys.get(n);if(r===void 0)return;i.toolKeys.delete(n);let a=toToolCallCompleted(i,r,e);await t.publish(a)},async onAbort(e){await failOpenOperations(e.reason)},async onError(e){await failOpenOperations(e.error)}};async function failOpenOperations(n){let r=[];for(let a of i.modelKeys.values())r.push(t.publish(Object.freeze({error:n,idempotencyKey:a,scope:e,type:`model.call.failed`})));for(let a of i.toolKeys.values())r.push(t.publish(Object.freeze({error:n,idempotencyKey:a,scope:e,type:`tool.call.failed`})));i.modelKeys.clear(),i.modelCallStartEvents.clear(),i.toolKeys.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])}):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?toContentParts(n.content):void 0,finishReason:n.finishReason,idempotencyKey:t,responseModelId:n.modelId,responseId:n.responseId,scope:e.scope,type:`model.call.completed`,usage:toUsage(n.usage)})}function toUsage(e){return Object.freeze({inputTokenDetails:Object.freeze({cacheReadTokens:e.inputTokenDetails?.cacheReadTokens,cacheWriteTokens:e.inputTokenDetails?.cacheWriteTokens}),inputTokens:e.inputTokens,outputTokens:e.outputTokens})}function toContentParts(e){let t=[];for(let n of e)switch(n.type){case`text`:case`reasoning`:t.push(Object.freeze({text:n.text,type:n.type}));break;case`tool-call`:t.push(Object.freeze({callId:n.toolCallId,input:n.input,toolName:n.toolName,type:`tool-call`}));break;case`tool-result`:t.push(Object.freeze({callId:n.toolCallId,input:n.input,output:n.output,toolName:n.toolName,type:`tool-result`}));break;case`tool-error`:t.push(Object.freeze({callId:n.toolCallId,error:n.error,input:n.input,toolName:n.toolName,type:`tool-error`}))}return Object.freeze(t)}function toToolCallStarted(e,t,n){return Object.freeze({callId:n.toolCall.toolCallId,idempotencyKey:t,input:e.capturesInputs?n.toolCall.input:void 0,scope:e.scope,toolName:n.toolCall.toolName,type:`tool.call.started`})}function toToolCallCompleted(e,t,n){return Object.freeze({idempotencyKey:t,output:toToolOutput(n.toolOutput,e.capturesOutputs),scope:e.scope,type:`tool.call.completed`})}function toToolOutput(e,t){return e.type===`tool-result`?Object.freeze(t?{output:e.output,type:`result`}:{type:`result`}):Object.freeze(t?{error:e.error,type:`error`}:{type:`error`})}export{createAiSdkHookBridge};
@@ -31,6 +31,8 @@ export interface InstrumentationModelRef {
31
31
  }
32
32
  /** Token usage for one model call. A field is absent when the provider omits it. */
33
33
  export interface InstrumentationUsage {
34
+ /** Provider-reported cost in US dollars. Absent when the provider omits pricing. */
35
+ readonly costUsd?: number;
34
36
  readonly inputTokenDetails?: {
35
37
  readonly cacheReadTokens?: number;
36
38
  readonly cacheWriteTokens?: number;
@@ -103,8 +105,8 @@ export type InstrumentationActionOutput = {
103
105
  export declare function sessionIdempotencyKey(sessionId: string): string;
104
106
  export declare function turnIdempotencyKey(sessionId: string, turnId: string): string;
105
107
  export declare function attemptIdempotencyKey(scope: InstrumentationAttemptScope): string;
106
- /** One model call occurs per AI SDK step within an eve attempt. */
107
- export declare function modelCallIdempotencyKey(scope: InstrumentationAttemptScope, stepNumber: number): string;
108
+ /** Identifies one provider call, including retries, within an AI SDK step. */
109
+ export declare function modelCallIdempotencyKey(scope: InstrumentationAttemptScope, stepNumber: number, callIndex: number): string;
108
110
  export declare function toolCallIdempotencyKey(scope: InstrumentationAttemptScope, callId: string, stepNumber: number): string;
109
111
  export declare function inputIdempotencyKey(sessionId: string, turnId: string, requestId: string): string;
110
112
  export declare function channelDeliveryIdempotencyKey(sessionId: string, deliveryId: string): string;
@@ -405,6 +407,7 @@ export interface InstrumentationActionFailedEvent {
405
407
  readonly idempotencyKey: string;
406
408
  readonly outcome: Exclude<InstrumentationActionOutcome, "completed">;
407
409
  readonly scope: InstrumentationAttemptScope;
410
+ readonly usage?: InstrumentationUsage;
408
411
  }
409
412
  export type InstrumentationActionTerminalEvent = InstrumentationActionCompletedEvent | InstrumentationActionFailedEvent;
410
413
  /** The second argument to every handler. */
@@ -1 +1 @@
1
- import{createInstrumentationDispatcher}from"#instrumentation/dispatch.js";function sessionIdempotencyKey(e){return`session:${e}`}function turnIdempotencyKey(e,t){return`turn:${e}:${t}`}function attemptIdempotencyKey(e){return`step:${e.attemptId}`}function modelCallIdempotencyKey(e,t){return`model:${e.attemptId}:${String(t)}`}function toolCallIdempotencyKey(e,t,n){return`tool:${e.attemptId}:${t}:${String(n)}`}function inputIdempotencyKey(e,t,n){return`input:${e}:${t}:${n}`}function channelDeliveryIdempotencyKey(e,t){return`channel-delivery:${e}:${t}`}function actionIdempotencyKey(e,t,n){return`action:${e}:${t}:${n}`}const INSTRUMENTATION_PRINCIPAL_TYPES=[`anonymous`,`app`,`local-dev`,`none`,`other`,`runtime`,`service`,`unknown`,`user`];function isInstrumentationPrincipalType(e){return INSTRUMENTATION_PRINCIPAL_TYPES.some(t=>t===e)}function createInstrumentationHooks(e,t={}){return createInstrumentationDispatcher(e,t)}export{INSTRUMENTATION_PRINCIPAL_TYPES,actionIdempotencyKey,attemptIdempotencyKey,channelDeliveryIdempotencyKey,createInstrumentationHooks,inputIdempotencyKey,isInstrumentationPrincipalType,modelCallIdempotencyKey,sessionIdempotencyKey,toolCallIdempotencyKey,turnIdempotencyKey};
1
+ import{createInstrumentationDispatcher}from"#instrumentation/dispatch.js";function sessionIdempotencyKey(e){return`session:${e}`}function turnIdempotencyKey(e,t){return`turn:${e}:${t}`}function attemptIdempotencyKey(e){return`step:${e.attemptId}`}function modelCallIdempotencyKey(e,t,n){return`model:${e.attemptId}:${String(t)}:${String(n)}`}function toolCallIdempotencyKey(e,t,n){return`tool:${e.attemptId}:${t}:${String(n)}`}function inputIdempotencyKey(e,t,n){return`input:${e}:${t}:${n}`}function channelDeliveryIdempotencyKey(e,t){return`channel-delivery:${e}:${t}`}function actionIdempotencyKey(e,t,n){return`action:${e}:${t}:${n}`}const INSTRUMENTATION_PRINCIPAL_TYPES=[`anonymous`,`app`,`local-dev`,`none`,`other`,`runtime`,`service`,`unknown`,`user`];function isInstrumentationPrincipalType(e){return INSTRUMENTATION_PRINCIPAL_TYPES.some(t=>t===e)}function createInstrumentationHooks(e,t={}){return createInstrumentationDispatcher(e,t)}export{INSTRUMENTATION_PRINCIPAL_TYPES,actionIdempotencyKey,attemptIdempotencyKey,channelDeliveryIdempotencyKey,createInstrumentationHooks,inputIdempotencyKey,isInstrumentationPrincipalType,modelCallIdempotencyKey,sessionIdempotencyKey,toolCallIdempotencyKey,turnIdempotencyKey};
@@ -2,7 +2,6 @@ import type { InstrumentationAttemptScope, InstrumentationHooks, Instrumentation
2
2
  import type { ResolvedInputBatch } from "#harness/input-requests.js";
3
3
  import type { HandleEventFn } from "#harness/types.js";
4
4
  import type { ChannelAudience } from "#shared/channel-audience.js";
5
- import type { TaskView } from "#tasks/types.js";
6
5
  export interface CreateInstrumentationHandleEventInput {
7
6
  readonly agentName?: string;
8
7
  readonly channelKind?: string;
@@ -26,9 +25,3 @@ export declare function publishInputResolutions(input: {
26
25
  readonly hooks: InstrumentationHooks;
27
26
  readonly sessionId: string;
28
27
  }): Promise<void>;
29
- /** Settles actions whose model-facing result was an admitted background-task receipt. */
30
- export declare function publishBackgroundTaskSettlements(input: {
31
- readonly acceptedAtMs?: number;
32
- readonly hooks: InstrumentationHooks;
33
- readonly views: readonly TaskView[];
34
- }): Promise<void>;
@@ -1 +1 @@
1
- import{contextStorage}from"#context/container.js";import{findInstrumentationActionScopeForCall,rememberInstrumentationActionScope,rememberInstrumentationInputScope,takeInstrumentationActionScopeForCall,takeInstrumentationActionScopeForTask,takeInstrumentationInputScope}from"#instrumentation/state.js";import{RuntimeActionSettlementTimesKey}from"#harness/runtime-action-settlement-state.js";import{deriveTaskId}from"#tasks/task-id.js";import{isRuntimeWorkflowToolAction}from"#shared/action-types.js";import{actionIdempotencyKey,inputIdempotencyKey,sessionIdempotencyKey,turnIdempotencyKey}from"#instrumentation/lifecycle.js";import{instrumentChannelDelivery}from"#instrumentation/channel-delivery.js";function createInstrumentationHandleEvent(e){if(e.hooks===void 0)return e.handleEvent;if(e.handleEvent===void 0)return;let t=e.handleEvent,n=e.hooks,r=new Set,i=new Set,a=e.turnId;return async(o,s)=>{await t(o,s);let c=toLifecycleEvent(o,e,a);if(o.type===`turn.started`&&(a=o.data.turnId),o.type===`turn.cancelled`||o.type===`turn.completed`||o.type===`turn.failed`||o.type===`session.completed`||o.type===`session.failed`){let e=contextStorage.getStore();e!==void 0&&await instrumentChannelDelivery({ctx:e,error:o.type===`turn.failed`||o.type===`session.failed`?Error(o.data.message):void 0,errorCode:o.type===`turn.failed`||o.type===`session.failed`?o.data.code:void 0,hooks:n,includeTurn:o.type===`turn.cancelled`||o.type===`turn.completed`||o.type===`turn.failed`||o.type===`session.failed`,outcome:o.type===`turn.failed`||o.type===`session.failed`?`failed`:o.type===`turn.cancelled`?`cancelled`:`completed`})}c!==void 0&&await n.publish(c),o.type===`actions.requested`?await publishActionStarts(o,e,n,r):o.type===`action.result`?await publishActionTerminal(o,e,n):o.type===`input.requested`&&await publishInputStarts(o,e,n,i)}}async function publishInputStarts(e,t,n,r){let i=t.getAttemptScope?.();if(i===void 0)return;let a=n.capturesOutputs??n.capturesContent;for(let o of e.data.requests){let s=inputIdempotencyKey(t.sessionId,e.data.turnId,o.requestId);r.has(s)||(r.add(s),rememberInstrumentationInputScope(s,i),await n.publish(Object.freeze({action:Object.freeze({callId:o.action.callId,name:o.action.toolName}),idempotencyKey:s,kind:o.kind,request:a?Object.freeze({allowFreeform:o.allowFreeform,display:o.display,options:o.options,prompt:o.prompt}):void 0,requestId:o.requestId,scope:i,type:`input.requested`})))}}async function publishInputResolutions(e){let t=e.hooks.capturesInputs??e.hooks.capturesContent;for(let n of e.batch.inputs){let r=inputIdempotencyKey(e.sessionId,e.batch.event.turnId,n.request.requestId),i=takeInstrumentationInputScope(r);i!==void 0&&await e.hooks.publish(Object.freeze({idempotencyKey:r,kind:n.request.kind,outcome:n.outcome,requestId:n.request.requestId,response:!t||n.response===void 0?void 0:Object.freeze({optionId:n.response.optionId,text:n.response.text}),scope:i,type:`input.resolved`}))}}async function publishActionStarts(e,t,n,r){let i=t.getAttemptScope?.();if(i===void 0)return;let a=n.capturesInputs??n.capturesContent;for(let o of e.data.actions){let s=actionIdempotencyKey(t.sessionId,e.data.turnId,o.callId);r.has(s)||(r.add(s),rememberInstrumentationActionScope(s,i),await n.publish(Object.freeze({callId:o.callId,idempotencyKey:s,input:a?o.input:void 0,...isRuntimeWorkflowToolAction(o)?{isWorkflowTool:!0}:void 0,kind:o.kind===`workflow-tool-call`?`tool-call`:o.kind,name:actionName(o),scope:i,type:`action.started`})))}}async function publishActionTerminal(e,t,n){let r=findInstrumentationActionScopeForCall(t.sessionId,e.data.result.callId);if(r===void 0)return;let i=readBackgroundTaskReceipt(e.data.result,r);if(e.data.status===`completed`&&i!==void 0)return;takeInstrumentationActionScopeForCall(t.sessionId,e.data.result.callId);let{idempotencyKey:a,scope:o}=r,s=n.capturesOutputs??n.capturesContent;if(e.data.status===`completed`){await n.publish(Object.freeze({acceptedAtMs:contextStorage.getStore()?.get(RuntimeActionSettlementTimesKey)?.[e.data.result.callId],idempotencyKey:a,outcome:`completed`,output:Object.freeze(s?{output:e.data.result.output,type:`result`}:{type:`result`}),scope:o,type:`action.completed`,usage:actionUsage(e.data.result)}));return}let c=s?e.data.error===void 0?e.data.result.output:Object.assign(Error(e.data.error.message),{code:e.data.error.code}):void 0;await n.publish(Object.freeze({acceptedAtMs:contextStorage.getStore()?.get(RuntimeActionSettlementTimesKey)?.[e.data.result.callId],error:c,errorCode:e.data.error?.code,idempotencyKey:a,outcome:e.data.status,scope:o,type:`action.failed`}))}async function publishBackgroundTaskSettlements(e){let t=e.hooks.capturesOutputs??e.hooks.capturesContent,n=e.acceptedAtMs??Date.now();for(let r of e.views){if(r.status!==`completed`&&r.status!==`failed`&&r.status!==`cancelled`)continue;let i=takeInstrumentationActionScopeForTask(r.taskId);if(i!==void 0){if(r.status===`completed`){await e.hooks.publish(Object.freeze({acceptedAtMs:n,idempotencyKey:i.idempotencyKey,outcome:`completed`,output:Object.freeze(t?{output:r.lastOutput.data,type:`result`}:{type:`result`}),scope:i.scope,type:`action.completed`,usage:instrumentationUsage(r.usage)}));continue}await e.hooks.publish(Object.freeze({acceptedAtMs:n,error:r.status===`failed`?t?r.lastOutput.data:void 0:Error(`The background task was cancelled.`),errorCode:r.status===`failed`?`BACKGROUND_TASK_FAILED`:`BACKGROUND_TASK_CANCELLED`,idempotencyKey:i.idempotencyKey,outcome:r.status,scope:i.scope,type:`action.failed`}))}}}function readBackgroundTaskReceipt(e,t){let n=e.output;if(typeof n!=`object`||!n||Array.isArray(n)||Reflect.get(n,`status`)!==`working`)return;let r=Reflect.get(n,`taskId`);return typeof r==`string`&&r===deriveTaskId({callId:e.callId,parentSessionId:t.scope.sessionId,parentTurnId:t.scope.turnId})?{taskId:r}:void 0}function instrumentationUsage(e){if(e!==void 0)return{inputTokenDetails:{cacheReadTokens:e.cacheReadTokens,cacheWriteTokens:e.cacheWriteTokens},inputTokens:e.inputTokens,outputTokens:e.outputTokens}}function actionUsage(e){if(e.kind===`subagent-result`&&e.origin===`child`&&e.usage!==void 0)return{inputTokenDetails:{cacheReadTokens:e.usage.cacheReadTokens,cacheWriteTokens:e.usage.cacheWriteTokens},inputTokens:e.usage.inputTokens,outputTokens:e.usage.outputTokens}}function actionName(e){return e.kind===`tool-call`||e.kind===`workflow-tool-call`?e.toolName:e.kind===`load-skill`?`load_skill`:e.name}function toLifecycleEvent(e,t,n){switch(e.type){case`session.started`:return{agentName:t.agentName,channelAudience:t.channelAudience,channelKind:t.channelKind,idempotencyKey:sessionIdempotencyKey(t.sessionId),parentLineage:t.parentLineage,parentTraceContext:t.parentTraceContext,rootSessionId:t.rootSessionId??t.sessionId,scheduleId:t.scheduleId,sessionId:t.sessionId,title:t.title,type:`session.started`};case`session.completed`:case`session.waiting`:return{idempotencyKey:sessionIdempotencyKey(t.sessionId),sessionId:t.sessionId,turnId:n,type:e.type};case`session.failed`:return{error:Error(e.data.message),idempotencyKey:sessionIdempotencyKey(t.sessionId),sessionId:t.sessionId,turnId:n,type:`session.failed`};case`turn.started`:return{idempotencyKey:turnIdempotencyKey(t.sessionId,e.data.turnId),parentLineage:t.parentLineage,parentTraceContext:t.parentTraceContext,rootSessionId:t.rootSessionId??t.sessionId,sequence:e.data.sequence,sessionId:t.sessionId,turnId:e.data.turnId,type:`turn.started`};case`turn.completed`:case`turn.cancelled`:return{idempotencyKey:turnIdempotencyKey(t.sessionId,e.data.turnId),sessionId:t.sessionId,turnId:e.data.turnId,type:e.type};case`turn.failed`:return{error:Error(e.data.message),idempotencyKey:turnIdempotencyKey(t.sessionId,e.data.turnId),sessionId:t.sessionId,turnId:e.data.turnId,type:`turn.failed`};default:return}}export{createInstrumentationHandleEvent,publishBackgroundTaskSettlements,publishInputResolutions};
1
+ import{contextStorage}from"#context/container.js";import{rememberInstrumentationActionScope,rememberInstrumentationInputScope,takeInstrumentationActionScopeForCall,takeInstrumentationInputScope}from"#instrumentation/state.js";import{RuntimeActionSettlementTimesKey}from"#harness/runtime-action-settlement-state.js";import{isRuntimeWorkflowToolAction}from"#shared/action-types.js";import{actionIdempotencyKey,inputIdempotencyKey,sessionIdempotencyKey,turnIdempotencyKey}from"#instrumentation/lifecycle.js";import{instrumentChannelDelivery}from"#instrumentation/channel-delivery.js";function createInstrumentationHandleEvent(e){if(e.hooks===void 0)return e.handleEvent;if(e.handleEvent===void 0)return;let t=e.handleEvent,n=e.hooks,r=new Set,i=new Set,a=e.turnId;return async(o,s)=>{await t(o,s);let c=toLifecycleEvent(o,e,a);if(o.type===`turn.started`&&(a=o.data.turnId),o.type===`turn.cancelled`||o.type===`turn.completed`||o.type===`turn.failed`||o.type===`session.completed`||o.type===`session.failed`){let e=contextStorage.getStore();e!==void 0&&await instrumentChannelDelivery({ctx:e,error:o.type===`turn.failed`||o.type===`session.failed`?Error(o.data.message):void 0,errorCode:o.type===`turn.failed`||o.type===`session.failed`?o.data.code:void 0,hooks:n,includeTurn:o.type===`turn.cancelled`||o.type===`turn.completed`||o.type===`turn.failed`||o.type===`session.failed`,outcome:o.type===`turn.failed`||o.type===`session.failed`?`failed`:o.type===`turn.cancelled`?`cancelled`:`completed`})}c!==void 0&&await n.publish(c),o.type===`actions.requested`?await publishActionStarts(o,e,n,r):o.type===`action.result`?await publishActionTerminal(o,e,n):o.type===`input.requested`&&await publishInputStarts(o,e,n,i)}}async function publishInputStarts(e,t,n,r){let i=t.getAttemptScope?.();if(i===void 0)return;let a=n.capturesOutputs??n.capturesContent;for(let o of e.data.requests){let s=inputIdempotencyKey(t.sessionId,e.data.turnId,o.requestId);r.has(s)||(r.add(s),rememberInstrumentationInputScope(s,i),await n.publish(Object.freeze({action:Object.freeze({callId:o.action.callId,name:o.action.toolName}),idempotencyKey:s,kind:o.kind,request:a?Object.freeze({allowFreeform:o.allowFreeform,display:o.display,options:o.options,prompt:o.prompt}):void 0,requestId:o.requestId,scope:i,type:`input.requested`})))}}async function publishInputResolutions(e){let t=e.hooks.capturesInputs??e.hooks.capturesContent;for(let n of e.batch.inputs){let r=inputIdempotencyKey(e.sessionId,e.batch.event.turnId,n.request.requestId),i=takeInstrumentationInputScope(r);i!==void 0&&await e.hooks.publish(Object.freeze({idempotencyKey:r,kind:n.request.kind,outcome:n.outcome,requestId:n.request.requestId,response:!t||n.response===void 0?void 0:Object.freeze({optionId:n.response.optionId,text:n.response.text}),scope:i,type:`input.resolved`}))}}async function publishActionStarts(e,t,n,r){let i=t.getAttemptScope?.();if(i===void 0)return;let a=n.capturesInputs??n.capturesContent;for(let o of e.data.actions){let s=actionIdempotencyKey(t.sessionId,e.data.turnId,o.callId);r.has(s)||(r.add(s),rememberInstrumentationActionScope(s,i),await n.publish(Object.freeze({callId:o.callId,idempotencyKey:s,input:a?o.input:void 0,...isRuntimeWorkflowToolAction(o)?{isWorkflowTool:!0}:void 0,kind:o.kind===`workflow-tool-call`?`tool-call`:o.kind,name:actionName(o),scope:i,type:`action.started`})))}}async function publishActionTerminal(e,t,n){let r=takeInstrumentationActionScopeForCall(t.sessionId,e.data.result.callId);if(r===void 0)return;let{idempotencyKey:i,scope:a}=r,o=n.capturesOutputs??n.capturesContent;if(e.data.status===`completed`){await n.publish(Object.freeze({acceptedAtMs:contextStorage.getStore()?.get(RuntimeActionSettlementTimesKey)?.[e.data.result.callId],idempotencyKey:i,outcome:`completed`,output:Object.freeze(o?{output:e.data.result.output,type:`result`}:{type:`result`}),scope:a,type:`action.completed`,usage:actionUsage(e.data.result)}));return}let s=o?e.data.error===void 0?e.data.result.output:Object.assign(Error(e.data.error.message),{code:e.data.error.code}):void 0;await n.publish(Object.freeze({acceptedAtMs:contextStorage.getStore()?.get(RuntimeActionSettlementTimesKey)?.[e.data.result.callId],error:s,errorCode:e.data.error?.code,idempotencyKey:i,outcome:e.data.status,scope:a,type:`action.failed`,usage:actionUsage(e.data.result)}))}function actionUsage(e){if(e.kind!==`subagent-result`||e.origin!==`child`||e.usage===void 0)return;let t={inputTokenDetails:{cacheReadTokens:e.usage.cacheReadTokens,cacheWriteTokens:e.usage.cacheWriteTokens},inputTokens:e.usage.inputTokens,outputTokens:e.usage.outputTokens};return e.usage.costUsd!==void 0&&(t.costUsd=e.usage.costUsd),t}function actionName(e){return e.kind===`tool-call`||e.kind===`workflow-tool-call`?e.toolName:e.kind===`load-skill`?`load_skill`:e.name}function toLifecycleEvent(e,t,n){switch(e.type){case`session.started`:return{agentName:t.agentName,channelAudience:t.channelAudience,channelKind:t.channelKind,idempotencyKey:sessionIdempotencyKey(t.sessionId),parentLineage:t.parentLineage,parentTraceContext:t.parentTraceContext,rootSessionId:t.rootSessionId??t.sessionId,scheduleId:t.scheduleId,sessionId:t.sessionId,title:t.title,type:`session.started`};case`session.completed`:case`session.waiting`:return{idempotencyKey:sessionIdempotencyKey(t.sessionId),sessionId:t.sessionId,turnId:n,type:e.type};case`session.failed`:return{error:Error(e.data.message),idempotencyKey:sessionIdempotencyKey(t.sessionId),sessionId:t.sessionId,turnId:n,type:`session.failed`};case`turn.started`:return{idempotencyKey:turnIdempotencyKey(t.sessionId,e.data.turnId),parentLineage:t.parentLineage,parentTraceContext:t.parentTraceContext,rootSessionId:t.rootSessionId??t.sessionId,sequence:e.data.sequence,sessionId:t.sessionId,turnId:e.data.turnId,type:`turn.started`};case`turn.completed`:case`turn.cancelled`:return{idempotencyKey:turnIdempotencyKey(t.sessionId,e.data.turnId),sessionId:t.sessionId,turnId:e.data.turnId,type:e.type};case`turn.failed`:return{error:Error(e.data.message),idempotencyKey:turnIdempotencyKey(t.sessionId,e.data.turnId),sessionId:t.sessionId,turnId:e.data.turnId,type:`turn.failed`};default:return}}export{createInstrumentationHandleEvent,publishInputResolutions};
@@ -2,7 +2,6 @@ import type { TelemetryOptions } from "ai";
2
2
  import type { InstrumentationAttemptScope, InstrumentationContextRunner, InstrumentationHooks, InstrumentationSessionStartedEvent, InstrumentationTraceContext, InstrumentationTraceSeed, InstrumentationTurnStartedEvent } from "#instrumentation/lifecycle.js";
3
3
  import { type BuildTelemetryRuntimeContextInput } from "#instrumentation/runtime-context.js";
4
4
  import { type CreateInstrumentationHandleEventInput } from "#instrumentation/native-events.js";
5
- import { type BackgroundTaskInstrumentation } from "#instrumentation/background-task-runtime.js";
6
5
  import type { ResolvedInputBatch } from "#harness/input-requests.js";
7
6
  import type { HandleEventFn } from "#harness/types.js";
8
7
  import { type ChannelDeliveryStartInstrumentation, type ChannelDeliveryTerminalInstrumentation } from "#instrumentation/channel-delivery.js";
@@ -55,8 +54,6 @@ export interface BoundInstrumentationSession {
55
54
  }
56
55
  /** Process-wide runtime consumed by every harness execution surface. */
57
56
  export interface InstrumentationRuntime {
58
- /** Materializes settled invocation spans without draining the exporter pipeline. */
59
- readonly flushSettledInvocations?: () => Promise<void>;
60
57
  readonly forceFlush: () => Promise<void>;
61
58
  readonly hooks: InstrumentationHooks;
62
59
  readonly idGenerator?: AgentSpanIdGenerator;
@@ -81,7 +78,7 @@ export interface SessionInstrumentation {
81
78
  readonly session: TSession;
82
79
  }, execute: (scope: InstrumentationStepScope<TSession>) => Promise<TResult>) => Promise<TResult>;
83
80
  }
84
- export interface ExecutionInstrumentation extends BackgroundTaskInstrumentation {
81
+ export interface ExecutionInstrumentation {
85
82
  readonly createHandleEvent: (input: {
86
83
  readonly handleEvent?: HandleEventFn;
87
84
  readonly turnId?: string;
@@ -1 +1 @@
1
- import{ensureAiSdkWarningLogger}from"#instrumentation/ai-sdk-warnings.js";import{recordErrorOnSpan}from"#internal/logging.js";import{applyLiveDeliveryAudienceCeiling}from"#shared/forwarded-trace-policy.js";import{contextStorage}from"#context/container.js";import{ConversationIdKey,ParentSessionKey}from"#context/keys.js";import{createMemoryInstrumentation}from"#instrumentation/memory.js";import{readSessionTraceDecision}from"#tracing/agent-trace-context-store.js";import{shouldCaptureInstrumentationContent}from"#shared/instrumentation-content.js";import{isSampledTrace,resolveTracePolicy,resolveTracePolicyDecision}from"#tracing/sampled-trace.js";import{readConversationId}from"#shared/conversation-identity.js";import{context,trace}from"#compiled/@opentelemetry/api/index.js";import{attemptIdempotencyKey}from"#instrumentation/lifecycle.js";import{createInstrumentationHandleEvent,publishInputResolutions}from"#instrumentation/native-events.js";import{instrumentChannelDelivery}from"#instrumentation/channel-delivery.js";import{buildTelemetryRuntimeContext,snapshotInstrumentationRuntimeContext}from"#instrumentation/runtime-context.js";import{ensureOtelIntegration,getRegisteredTelemetryIntegrations}from"#instrumentation/ai-sdk-telemetry.js";import{createAiSdkHookBridge}from"#instrumentation/ai-sdk-hook-bridge.js";import{createBackgroundTaskInstrumentation}from"#instrumentation/background-task-runtime.js";import{prepareTurnTraceContext}from"#instrumentation/prepare-trace-context.js";import"#tracing/agent-span-id-generator.js";import{withErrorContent}from"#tracing/error-content-context.js";import{readInstrumentationSessionContext}from"#instrumentation/session-context.js";import{readInstrumentationDecision}from"#shared/instrumentation-decision.js";import{getInstrumentationRuntime,registerInstrumentationRuntime}from"#instrumentation/runtime-global.js";import{initializeSessionInstrumentation}from"#instrumentation/session-init.js";const TURN_TRACE_STATE_KEY=`eve.harness.turnTrace`;function bindInstrumentationRuntime(e,t,n){if(readConversationId(t.get(ConversationIdKey))===void 0&&t.set(ConversationIdKey,t.get(ParentSessionKey)?.rootSessionId??n.rootSessionId),e===void 0)return;let r=e.hooks,readSessionContext=()=>readInstrumentationSessionContext(contextStorage.getStore()??t),bindHooks=e=>r.forTrace?.({agentName:n.agentName,...e.conversation})??r,captureExecutionRuntime=()=>{let t=e.otelSettings,n=e.ownsAgentSpans===!0;return t!==void 0&&!n&&ensureOtelIntegration(),{ownsAgentSpans:n,otelSettings:t,runtimeContextResolvers:e.runtimeContextResolvers,tracer:t===void 0?void 0:trace.getTracer(`eve`)}},preparePreamble=(t,r)=>prepareTurnTraceContext({...t,instrumentation:e,principals:r.principals,session:{agentName:n.agentName,channelAudience:r.conversation.audience,channelKind:r.conversation.channel.kind,channelType:r.instrumentation?.channelType,parentLineage:r.parentLineage,parentTraceContext:r.parentTraceContext,rootSessionId:r.parent?.rootSessionId??n.rootSessionId,scheduleId:r.scheduleId,sessionId:n.sessionId,title:r.title,traceSeed:r.traceSeed}}),i=e.memoryOperations===!0?createMemoryInstrumentation({resolveContext:()=>{let e=readSessionContext();return{hooks:bindHooks(e),rootSessionId:e.parent?.rootSessionId??n.rootSessionId}},runInContext:e.runInContext,sessionId:n.sessionId}):void 0,prepareExecution=()=>{let t=captureExecutionRuntime();return{installAiSdkWarningLogger:ensureAiSdkWarningLogger,runStep:async(r,i)=>{let a=readSessionContext(),o=bindHooks(a),s=t.otelSettings,c=resolveStepInstrumentationDecision(s,n.agentName,a.conversation,a.traceSeed,readSessionTraceDecision(a.context,n.sessionId)),l=t.tracer,u={"eve.environment":r.environment,"eve.session.id":r.session.sessionId,"eve.version":r.eveVersion},d=s?.functionId??n.agentName;d&&(u[`ai.telemetry.functionId`]=d);let f=l!==void 0&&!t.ownsAgentSpans&&c?.action!==`drop`&&r.hasInput?l.startSpan(`ai.eve.turn`,{attributes:u}):void 0,p=f?.spanContext(),m=p===void 0?r.session:{...r.session,state:{...r.session.state,[TURN_TRACE_STATE_KEY]:{spanId:p.spanId,traceFlags:p.traceFlags,traceId:p.traceId}}},h=f===void 0?void 0:trace.setSpan(context.active(),f);if(h===void 0&&l!==void 0){let e=r.session.state?.[TURN_TRACE_STATE_KEY];e!==void 0&&(h=trace.setSpan(context.active(),trace.wrapSpanContext({...e,isRemote:!0})))}let g=readSessionContext(),_=snapshotInstrumentationRuntimeContext(g.context),v=g.conversation,y=v.audience,b=shouldCaptureInstrumentationContent(v),x=c===void 0?c:applyLiveDeliveryAudienceCeiling(c,y,g.forwardedTracePolicy,v.environment),S=x===void 0?b:x.action===`record`&&x.recordInputs,C=c?.action===`drop`,w={recordInputs:!C&&(x?.action===`record`?x.recordInputs:b)&&(s?.recordInputs??!1),recordOutputs:!C&&(x?.action===`record`?x.recordOutputs:b)&&(s?.recordOutputs??!1)},telemetry=e=>{if(s===void 0&&e.bridgeIntegration===void 0)return;let r={};for(let t of Object.keys(e.runtimeContext??{}))r[t]=!0;let i=s!==void 0&&!(w.recordInputs&&w.recordOutputs),integrations=()=>getRegisteredTelemetryIntegrations({...t.ownsAgentSpans?{excludeEveOtelIntegration:!0}:void 0,sanitizeEveOtelErrors:i});return{functionId:s?.functionId??n.agentName,includeRuntimeContext:r,integrations:e.bridgeIntegration===void 0?i?[...integrations()]:void 0:[e.bridgeIntegration,...integrations()],isEnabled:!0,recordInputs:w.recordInputs,recordOutputs:w.recordOutputs}},run=()=>i({createHandleEvent:e=>createInstrumentationHandleEvent({...e,agentName:n.agentName,channelAudience:y,channelKind:v.channel.kind,hooks:o,parentLineage:g.parentLineage,parentTraceContext:g.parentTraceContext,rootSessionId:g.parent?.rootSessionId,scheduleId:g.scheduleId,sessionId:n.sessionId,title:g.title}),prepareAttempt:t=>{let r={attemptId:`${n.sessionId}:${t.turnId}:${t.stepIndex}:${t.attemptIndex}`,attemptIndex:t.attemptIndex,channelAudience:y,functionId:s?.functionId??n.agentName,rootSessionId:g.parent?.rootSessionId??n.sessionId,sessionId:n.sessionId,stepIndex:t.stepIndex,turnId:t.turnId},i=createAiSdkHookBridge(r,o,e.runInContext,t.runtimeContext);return{complete:()=>o.publish({idempotencyKey:attemptIdempotencyKey(r),scope:r,type:`step.attempt.completed`}),fail:e=>o.publish({error:e,idempotencyKey:attemptIdempotencyKey(r),scope:r,type:`step.attempt.failed`}),scope:r,telemetry:telemetry({bridgeIntegration:i,runtimeContext:t.runtimeContext})}},preparePreamble:e=>preparePreamble(e,g),publishInputResolutions:e=>publishInputResolutions({...e,hooks:o}),recordError:e=>{f!==void 0&&recordErrorOnSpan(f,e)},resolveRuntimeContext:e=>buildTelemetryRuntimeContext({...e,capturesContent:S,context:_,providerResolvers:t.runtimeContextResolvers}),session:m,setTurnId:e=>f?.setAttribute(`eve.turn.id`,e),telemetry:()=>telemetry({}),traceContext:p===void 0||!isValidSpanContext(p)?void 0:{spanId:p.spanId,traceFlags:p.traceFlags,traceId:p.traceId}});try{return await context.with(withErrorContent(h??context.active(),w.recordOutputs),run)}finally{f?.end(),f=void 0}}}};return{...createBackgroundTaskInstrumentation({ctx:t,hooks:()=>bindHooks(readSessionContext()),sessionId:n.sessionId}),createHandleEvent:e=>{let t=readSessionContext();return createInstrumentationHandleEvent({agentName:n.agentName,channelKind:t.conversation.channel.kind,handleEvent:e.handleEvent,hooks:bindHooks(t),scheduleId:t.scheduleId,sessionId:n.sessionId,title:t.title,turnId:e.turnId})},flush:e.forceFlush,instrumentChannelDelivery:e=>instrumentChannelDelivery({...e,hooks:r,policyAgentName:n.agentName}),memory:i,prepareExecution,preparePreamble:e=>preparePreamble(e,readSessionContext())}}function bindSessionInstrumentation(e){return bindInstrumentationRuntime(getInstrumentationRuntime(),e.ctx,{agentName:e.agentName,rootSessionId:e.rootSessionId,sessionId:e.sessionId})}function resolveStepInstrumentationDecision(e,t,n,r,i){if(e!==void 0)return r?.decision===void 0?i===void 0?r===void 0?resolveTracePolicy(e.tracePolicy,{agentName:t,...n}):resolveTracePolicyDecision(isSampledTrace(r),n):i:readInstrumentationDecision(r.decision)}function isValidSpanContext(e){return/^[0-9a-f]{32}$/u.test(e.traceId)&&e.traceId!==`00000000000000000000000000000000`&&/^[0-9a-f]{16}$/u.test(e.spanId)&&e.spanId!==`0000000000000000`}export{bindInstrumentationRuntime,bindSessionInstrumentation,getInstrumentationRuntime,initializeSessionInstrumentation,registerInstrumentationRuntime};
1
+ import{ensureAiSdkWarningLogger}from"#instrumentation/ai-sdk-warnings.js";import{recordErrorOnSpan}from"#internal/logging.js";import{applyLiveDeliveryAudienceCeiling}from"#shared/forwarded-trace-policy.js";import{contextStorage}from"#context/container.js";import{ConversationIdKey,ParentSessionKey}from"#context/keys.js";import{createMemoryInstrumentation}from"#instrumentation/memory.js";import{readConversationId}from"#shared/conversation-identity.js";import{readSessionTraceDecision}from"#tracing/agent-trace-context-store.js";import{shouldCaptureInstrumentationContent}from"#shared/instrumentation-content.js";import{isSampledTrace,resolveTracePolicy,resolveTracePolicyDecision}from"#tracing/sampled-trace.js";import{context,trace}from"#compiled/@opentelemetry/api/index.js";import{attemptIdempotencyKey}from"#instrumentation/lifecycle.js";import{instrumentChannelDelivery}from"#instrumentation/channel-delivery.js";import{buildTelemetryRuntimeContext,snapshotInstrumentationRuntimeContext}from"#instrumentation/runtime-context.js";import{ensureOtelIntegration,getRegisteredTelemetryIntegrations}from"#instrumentation/ai-sdk-telemetry.js";import{createAiSdkHookBridge}from"#instrumentation/ai-sdk-hook-bridge.js";import{createInstrumentationHandleEvent,publishInputResolutions}from"#instrumentation/native-events.js";import{prepareTurnTraceContext}from"#instrumentation/prepare-trace-context.js";import"#tracing/agent-span-id-generator.js";import{withErrorContent}from"#tracing/error-content-context.js";import{readInstrumentationSessionContext}from"#instrumentation/session-context.js";import{readInstrumentationDecision}from"#shared/instrumentation-decision.js";import{getInstrumentationRuntime,registerInstrumentationRuntime}from"#instrumentation/runtime-global.js";import{initializeSessionInstrumentation}from"#instrumentation/session-init.js";const TURN_TRACE_STATE_KEY=`eve.harness.turnTrace`;function bindInstrumentationRuntime(e,t,n){if(readConversationId(t.get(ConversationIdKey))===void 0&&t.set(ConversationIdKey,t.get(ParentSessionKey)?.rootSessionId??n.rootSessionId),e===void 0)return;let r=e.hooks,readSessionContext=()=>readInstrumentationSessionContext(contextStorage.getStore()??t),bindHooks=e=>r.forTrace?.({agentName:n.agentName,...e.conversation})??r,captureExecutionRuntime=()=>{let t=e.otelSettings,n=e.ownsAgentSpans===!0;return t!==void 0&&!n&&ensureOtelIntegration(),{ownsAgentSpans:n,otelSettings:t,runtimeContextResolvers:e.runtimeContextResolvers,tracer:t===void 0?void 0:trace.getTracer(`eve`)}},preparePreamble=(t,r)=>prepareTurnTraceContext({...t,instrumentation:e,principals:r.principals,session:{agentName:n.agentName,channelAudience:r.conversation.audience,channelKind:r.conversation.channel.kind,channelType:r.instrumentation?.channelType,parentLineage:r.parentLineage,parentTraceContext:r.parentTraceContext,rootSessionId:r.parent?.rootSessionId??n.rootSessionId,scheduleId:r.scheduleId,sessionId:n.sessionId,title:r.title,traceSeed:r.traceSeed}}),i=e.memoryOperations===!0?createMemoryInstrumentation({resolveContext:()=>{let e=readSessionContext();return{hooks:bindHooks(e),rootSessionId:e.parent?.rootSessionId??n.rootSessionId}},runInContext:e.runInContext,sessionId:n.sessionId}):void 0;return{createHandleEvent:e=>{let t=readSessionContext();return createInstrumentationHandleEvent({agentName:n.agentName,channelKind:t.conversation.channel.kind,handleEvent:e.handleEvent,hooks:bindHooks(t),scheduleId:t.scheduleId,sessionId:n.sessionId,title:t.title,turnId:e.turnId})},flush:e.forceFlush,instrumentChannelDelivery:e=>instrumentChannelDelivery({...e,hooks:r,policyAgentName:n.agentName}),memory:i,prepareExecution:()=>{let t=captureExecutionRuntime();return{installAiSdkWarningLogger:ensureAiSdkWarningLogger,runStep:async(r,i)=>{let a=readSessionContext(),o=bindHooks(a),s=t.otelSettings,c=resolveStepInstrumentationDecision(s,n.agentName,a.conversation,a.traceSeed,readSessionTraceDecision(a.context,n.sessionId)),l=t.tracer,u={"eve.environment":r.environment,"eve.session.id":r.session.sessionId,"eve.version":r.eveVersion},d=s?.functionId??n.agentName;d&&(u[`ai.telemetry.functionId`]=d);let f=l!==void 0&&!t.ownsAgentSpans&&c?.action!==`drop`&&r.hasInput?l.startSpan(`ai.eve.turn`,{attributes:u}):void 0,p=f?.spanContext(),m=p===void 0?r.session:{...r.session,state:{...r.session.state,[TURN_TRACE_STATE_KEY]:{spanId:p.spanId,traceFlags:p.traceFlags,traceId:p.traceId}}},h=f===void 0?void 0:trace.setSpan(context.active(),f);if(h===void 0&&l!==void 0){let e=r.session.state?.[TURN_TRACE_STATE_KEY];e!==void 0&&(h=trace.setSpan(context.active(),trace.wrapSpanContext({...e,isRemote:!0})))}let g=readSessionContext(),_=snapshotInstrumentationRuntimeContext(g.context),v=g.conversation,y=v.audience,b=shouldCaptureInstrumentationContent(v),x=c===void 0?c:applyLiveDeliveryAudienceCeiling(c,y,g.forwardedTracePolicy,v.environment),S=x===void 0?b:x.action===`record`&&x.recordInputs,C=c?.action===`drop`,w={recordInputs:!C&&(x?.action===`record`?x.recordInputs:b)&&(s?.recordInputs??!1),recordOutputs:!C&&(x?.action===`record`?x.recordOutputs:b)&&(s?.recordOutputs??!1)},telemetry=e=>{if(s===void 0&&e.bridgeIntegration===void 0)return;let r={};for(let t of Object.keys(e.runtimeContext??{}))r[t]=!0;let i=s!==void 0&&!(w.recordInputs&&w.recordOutputs),integrations=()=>getRegisteredTelemetryIntegrations({...t.ownsAgentSpans?{excludeEveOtelIntegration:!0}:void 0,sanitizeEveOtelErrors:i});return{functionId:s?.functionId??n.agentName,includeRuntimeContext:r,integrations:e.bridgeIntegration===void 0?i?[...integrations()]:void 0:[e.bridgeIntegration,...integrations()],isEnabled:!0,recordInputs:w.recordInputs,recordOutputs:w.recordOutputs}},run=()=>i({createHandleEvent:e=>createInstrumentationHandleEvent({...e,agentName:n.agentName,channelAudience:y,channelKind:v.channel.kind,hooks:o,parentLineage:g.parentLineage,parentTraceContext:g.parentTraceContext,rootSessionId:g.parent?.rootSessionId,scheduleId:g.scheduleId,sessionId:n.sessionId,title:g.title}),prepareAttempt:t=>{let r={attemptId:`${n.sessionId}:${t.turnId}:${t.stepIndex}:${t.attemptIndex}`,attemptIndex:t.attemptIndex,channelAudience:y,functionId:s?.functionId??n.agentName,rootSessionId:g.parent?.rootSessionId??n.sessionId,sessionId:n.sessionId,stepIndex:t.stepIndex,turnId:t.turnId},i=createAiSdkHookBridge(r,o,e.runInContext,t.runtimeContext);return{complete:()=>o.publish({idempotencyKey:attemptIdempotencyKey(r),scope:r,type:`step.attempt.completed`}),fail:e=>o.publish({error:e,idempotencyKey:attemptIdempotencyKey(r),scope:r,type:`step.attempt.failed`}),scope:r,telemetry:telemetry({bridgeIntegration:i,runtimeContext:t.runtimeContext})}},preparePreamble:e=>preparePreamble(e,g),publishInputResolutions:e=>publishInputResolutions({...e,hooks:o}),recordError:e=>{f!==void 0&&recordErrorOnSpan(f,e)},resolveRuntimeContext:e=>buildTelemetryRuntimeContext({...e,capturesContent:S,context:_,providerResolvers:t.runtimeContextResolvers}),session:m,setTurnId:e=>f?.setAttribute(`eve.turn.id`,e),telemetry:()=>telemetry({}),traceContext:p===void 0||!isValidSpanContext(p)?void 0:{spanId:p.spanId,traceFlags:p.traceFlags,traceId:p.traceId}});try{return await context.with(withErrorContent(h??context.active(),w.recordOutputs),run)}finally{f?.end(),f=void 0}}}},preparePreamble:e=>preparePreamble(e,readSessionContext())}}function bindSessionInstrumentation(e){return bindInstrumentationRuntime(getInstrumentationRuntime(),e.ctx,{agentName:e.agentName,rootSessionId:e.rootSessionId,sessionId:e.sessionId})}function resolveStepInstrumentationDecision(e,t,n,r,i){if(e!==void 0)return r?.decision===void 0?i===void 0?r===void 0?resolveTracePolicy(e.tracePolicy,{agentName:t,...n}):resolveTracePolicyDecision(isSampledTrace(r),n):i:readInstrumentationDecision(r.decision)}function isValidSpanContext(e){return/^[0-9a-f]{32}$/u.test(e.traceId)&&e.traceId!==`00000000000000000000000000000000`&&/^[0-9a-f]{16}$/u.test(e.spanId)&&e.spanId!==`0000000000000000`}export{bindInstrumentationRuntime,bindSessionInstrumentation,getInstrumentationRuntime,initializeSessionInstrumentation,registerInstrumentationRuntime};
@@ -42,14 +42,8 @@ interface InstrumentationActionCorrelation {
42
42
  readonly idempotencyKey: string;
43
43
  readonly scope: InstrumentationAttemptScope;
44
44
  }
45
- /** Binds an admitted background task to the action that started it. */
46
- export declare function rememberInstrumentationBackgroundTask(taskId: string, correlation: InstrumentationActionCorrelation): void;
47
- /** Binds a background task when its executor admits the originating call. */
48
- export declare function rememberInstrumentationBackgroundTaskForCall(sessionId: string, callId: string, taskId: string): void;
49
45
  export declare function findInstrumentationActionScopeForCall(sessionId: string, callId: string): InstrumentationActionCorrelation | undefined;
50
46
  /** Reads and releases one durable runtime action's originating scope. */
51
47
  export declare function takeInstrumentationActionScopeForCall(sessionId: string, callId: string): InstrumentationActionCorrelation | undefined;
52
- /** Reads and releases the action correlation owned by a terminal background task. */
53
- export declare function takeInstrumentationActionScopeForTask(taskId: string): InstrumentationActionCorrelation | undefined;
54
48
  /** Takes every still-open action owned by one session or turn. */
55
49
  export declare function takeInstrumentationActionScopes(sessionId: string, turnId?: string): readonly InstrumentationActionCorrelation[];
@@ -1 +1 @@
1
- import{contextStorage,loadContext}from"#context/container.js";import{parseJsonValue}from"#shared/json.js";import{ContextKey}from"#context/key.js";import{SERIALIZED_INSTRUMENTATION_STATE_KEYS,preserveSerializedInstrumentationState}from"#shared/serialized-observability-state.js";const InstrumentationStateKey=new ContextKey(SERIALIZED_INSTRUMENTATION_STATE_KEYS.providerState,{codec:{deserialize:deserializeState,serialize:e=>e}}),InstrumentationActionStateKey=new ContextKey(SERIALIZED_INSTRUMENTATION_STATE_KEYS.actionScopes,{codec:{deserialize:deserializeActionStates,serialize:e=>e}}),InstrumentationInputScopeKey=new ContextKey(SERIALIZED_INSTRUMENTATION_STATE_KEYS.inputScopes,{codec:{deserialize:deserializeScopes,serialize:e=>e}});function instrumentationStateSlot(e,t,n={}){let r=stateKey(e,t),i=!0;return{get:()=>{if(!i)return;let e=contextStorage.getStore()?.get(InstrumentationStateKey)?.[r]?.value;return e===void 0?void 0:cloneAndFreezeJson(e)},revoke:()=>{i=!1},set:e=>{if(!i)return;let t=e===void 0?void 0:cloneAndFreezeJson(parseJsonValue(e));writeInstrumentationState(e=>{if(t===void 0)return writeSlot(e,r,void 0);let i=e[r],a={value:t};return i?.abandoned===!0&&(a.abandoned=!0),assignOwner(a,n),writeSlot(e,r,a)})}}}function abandonInstrumentationState(e,t,n={}){let r=stateKey(e,t);writeInstrumentationState(e=>{let t=e[r],i={attemptId:n.attemptId??t?.attemptId,sessionId:n.sessionId??t?.sessionId,turnId:n.turnId??t?.turnId},a={abandoned:!0};return assignOwner(a,i),t?.value!==void 0&&(a.value=t.value),writeSlot(e,r,a)})}function isInstrumentationStateAbandoned(e,t){return contextStorage.getStore()?.get(InstrumentationStateKey)?.[stateKey(e,t)]?.abandoned===!0}function releaseAllInstrumentationState(e){let t=`\0${e}`;releaseMatchingInstrumentationState(e=>e.endsWith(t))}function releaseAllInstrumentationAttemptState(e){releaseMatchingInstrumentationState((t,n)=>n.attemptId===e)}function releaseAllInstrumentationTurnState(e,t){let n=t===void 0?new Set:backgroundActionKeys(e,t);releaseMatchingInstrumentationState((r,i)=>i.sessionId===e&&(t===void 0||i.turnId===t)&&!n.has(instrumentationStateOperationId(r)))}function releaseMatchingInstrumentationState(e){let t=contextStorage.getStore()?.get(InstrumentationStateKey);t!==void 0&&Object.entries(t).some(([t,n])=>e(t,n))&&writeInstrumentationState(t=>{let n={...t};for(let[r,i]of Object.entries(t))e(r,i)&&delete n[r];return n})}function rememberInstrumentationActionScope(e,t){writeContextKey(InstrumentationActionStateKey,n=>{let r=n[e]?.taskId;return{...n,[e]:r===void 0?{scope:t}:{scope:t,taskId:r}}})}function rememberInstrumentationInputScope(e,t){writeContextKey(InstrumentationInputScopeKey,n=>({...n,[e]:t}))}function takeInstrumentationInputScope(e){let t=contextStorage.getStore()?.get(InstrumentationInputScopeKey)?.[e];if(t!==void 0)return writeContextKey(InstrumentationInputScopeKey,t=>{let n={...t};return delete n[e],n}),t}function rememberInstrumentationBackgroundTask(e,t){writeContextKey(InstrumentationActionStateKey,n=>({...n,[t.idempotencyKey]:{scope:n[t.idempotencyKey]?.scope??t.scope,taskId:e}}))}function rememberInstrumentationBackgroundTaskForCall(e,t,n){let r=findInstrumentationActionScopeForCall(e,t);r!==void 0&&rememberInstrumentationBackgroundTask(n,r)}function findInstrumentationActionScopeForCall(e,t){let n=contextStorage.getStore()?.get(InstrumentationActionStateKey);if(n!==void 0)for(let r of Object.values(n)){let i=`action:${e}:${r.scope.turnId}:${t}`,a=n[i];if(a!==void 0)return{idempotencyKey:i,scope:a.scope}}}function takeInstrumentationActionScopeForCall(e,t){let n=findInstrumentationActionScopeForCall(e,t);if(n!==void 0)return releaseInstrumentationActionCorrelation(n.idempotencyKey),n}function takeInstrumentationActionScopeForTask(e){let t=contextStorage.getStore()?.get(InstrumentationActionStateKey);if(t!==void 0){for(let[n,r]of Object.entries(t))if(r.taskId===e)return releaseInstrumentationActionCorrelation(n),{idempotencyKey:n,scope:r.scope}}}function takeInstrumentationActionScopes(e,t){let n=contextStorage.getStore()?.get(InstrumentationActionStateKey);if(n===void 0)return[];let r=Object.entries(n).filter(([,n])=>n.scope.sessionId===e&&(t===void 0||n.scope.turnId===t)&&(t===void 0||n.taskId===void 0)).map(([e,t])=>({idempotencyKey:e,scope:t.scope}));if(r.length===0)return[];let i=new Set(r.map(e=>e.idempotencyKey));return writeContextKey(InstrumentationActionStateKey,e=>{let t={...e};for(let e of i)delete t[e];return t}),r}function releaseInstrumentationActionCorrelation(e){writeContextKey(InstrumentationActionStateKey,t=>{let n={...t};return delete n[e],n})}function backgroundActionKeys(e,t){let n=contextStorage.getStore()?.get(InstrumentationActionStateKey);return n===void 0?new Set:new Set(Object.entries(n).flatMap(([n,r])=>r.taskId!==void 0&&r.scope.sessionId===e&&r.scope.turnId===t?[n]:[]))}function writeSlot(e,t,n){if(n===void 0){let n={...e};return delete n[t],n}return{...e,[t]:n}}function writeInstrumentationState(e){writeContextKey(InstrumentationStateKey,e)}function assignOwner(e,t){t.attemptId!==void 0&&(e.attemptId=t.attemptId),t.sessionId!==void 0&&(e.sessionId=t.sessionId),t.turnId!==void 0&&(e.turnId=t.turnId)}function writeContextKey(e,t){contextStorage.getStore()!==void 0&&loadContext().set(e,e=>t(e??{}))}function stateKey(e,t){return`${e}\0${t}`}function instrumentationStateOperationId(e){return e.slice(e.indexOf(`\0`)+1)}function deserializeState(e){if(typeof e!=`object`||!e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e)){if(typeof r!=`object`||!r||Array.isArray(r))continue;let e=r,i=typeof e.attemptId==`string`?e.attemptId:void 0,a=typeof e.sessionId==`string`?e.sessionId:void 0,o=typeof e.turnId==`string`?e.turnId:void 0,s={};e.abandoned===!0&&(s.abandoned=!0),i!==void 0&&(s.attemptId=i),a!==void 0&&(s.sessionId=a),o!==void 0&&(s.turnId=o),e.value!==void 0&&(s.value=cloneAndFreezeJson(e.value)),t[n]=s}return t}function cloneAndFreezeJson(e){if(Array.isArray(e))return Object.freeze(e.map(e=>cloneAndFreezeJson(e)));if(typeof e!=`object`||!e)return e;let t={};for(let[n,r]of Object.entries(e))t[n]=cloneAndFreezeJson(r);return Object.freeze(t)}function deserializeScopes(e){return typeof e!=`object`||!e||Array.isArray(e)?{}:e}function deserializeActionStates(e){if(typeof e!=`object`||!e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e)){if(typeof r!=`object`||!r||Array.isArray(r))continue;let e=r,i=typeof e.scope==`object`&&e.scope!==null&&!Array.isArray(e.scope)?e.scope:r,a=typeof e.taskId==`string`?e.taskId:void 0;t[n]=a===void 0?{scope:i}:{scope:i,taskId:a}}return t}export{abandonInstrumentationState,findInstrumentationActionScopeForCall,instrumentationStateSlot,isInstrumentationStateAbandoned,preserveSerializedInstrumentationState,releaseAllInstrumentationAttemptState,releaseAllInstrumentationState,releaseAllInstrumentationTurnState,rememberInstrumentationActionScope,rememberInstrumentationBackgroundTask,rememberInstrumentationBackgroundTaskForCall,rememberInstrumentationInputScope,takeInstrumentationActionScopeForCall,takeInstrumentationActionScopeForTask,takeInstrumentationActionScopes,takeInstrumentationInputScope};
1
+ import{contextStorage,loadContext}from"#context/container.js";import{parseJsonValue}from"#shared/json.js";import{ContextKey}from"#context/key.js";import{SERIALIZED_INSTRUMENTATION_STATE_KEYS,preserveSerializedInstrumentationState}from"#shared/serialized-observability-state.js";const InstrumentationStateKey=new ContextKey(SERIALIZED_INSTRUMENTATION_STATE_KEYS.providerState,{codec:{deserialize:deserializeState,serialize:e=>e}}),InstrumentationActionStateKey=new ContextKey(SERIALIZED_INSTRUMENTATION_STATE_KEYS.actionScopes,{codec:{deserialize:deserializeActionStates,serialize:e=>e}}),InstrumentationInputScopeKey=new ContextKey(SERIALIZED_INSTRUMENTATION_STATE_KEYS.inputScopes,{codec:{deserialize:deserializeScopes,serialize:e=>e}});function instrumentationStateSlot(e,t,n={}){let r=stateKey(e,t),i=!0;return{get:()=>{if(!i)return;let e=contextStorage.getStore()?.get(InstrumentationStateKey)?.[r]?.value;return e===void 0?void 0:cloneAndFreezeJson(e)},revoke:()=>{i=!1},set:e=>{if(!i)return;let t=e===void 0?void 0:cloneAndFreezeJson(parseJsonValue(e));writeInstrumentationState(e=>{if(t===void 0)return writeSlot(e,r,void 0);let i=e[r],a={value:t};return i?.abandoned===!0&&(a.abandoned=!0),assignOwner(a,n),writeSlot(e,r,a)})}}}function abandonInstrumentationState(e,t,n={}){let r=stateKey(e,t);writeInstrumentationState(e=>{let t=e[r],i={attemptId:n.attemptId??t?.attemptId,sessionId:n.sessionId??t?.sessionId,turnId:n.turnId??t?.turnId},a={abandoned:!0};return assignOwner(a,i),t?.value!==void 0&&(a.value=t.value),writeSlot(e,r,a)})}function isInstrumentationStateAbandoned(e,t){return contextStorage.getStore()?.get(InstrumentationStateKey)?.[stateKey(e,t)]?.abandoned===!0}function releaseAllInstrumentationState(e){let t=`\0${e}`;releaseMatchingInstrumentationState(e=>e.endsWith(t))}function releaseAllInstrumentationAttemptState(e){releaseMatchingInstrumentationState((t,n)=>n.attemptId===e)}function releaseAllInstrumentationTurnState(e,t){releaseMatchingInstrumentationState((n,r)=>r.sessionId===e&&(t===void 0||r.turnId===t))}function releaseMatchingInstrumentationState(e){let t=contextStorage.getStore()?.get(InstrumentationStateKey);t!==void 0&&Object.entries(t).some(([t,n])=>e(t,n))&&writeInstrumentationState(t=>{let n={...t};for(let[r,i]of Object.entries(t))e(r,i)&&delete n[r];return n})}function rememberInstrumentationActionScope(e,t){writeContextKey(InstrumentationActionStateKey,n=>({...n,[e]:{scope:t}}))}function rememberInstrumentationInputScope(e,t){writeContextKey(InstrumentationInputScopeKey,n=>({...n,[e]:t}))}function takeInstrumentationInputScope(e){let t=contextStorage.getStore()?.get(InstrumentationInputScopeKey)?.[e];if(t!==void 0)return writeContextKey(InstrumentationInputScopeKey,t=>{let n={...t};return delete n[e],n}),t}function findInstrumentationActionScopeForCall(e,t){let n=contextStorage.getStore()?.get(InstrumentationActionStateKey);if(n!==void 0)for(let r of Object.values(n)){let i=`action:${e}:${r.scope.turnId}:${t}`,a=n[i];if(a!==void 0)return{idempotencyKey:i,scope:a.scope}}}function takeInstrumentationActionScopeForCall(e,t){let n=findInstrumentationActionScopeForCall(e,t);if(n!==void 0)return releaseInstrumentationActionCorrelation(n.idempotencyKey),n}function takeInstrumentationActionScopes(e,t){let n=contextStorage.getStore()?.get(InstrumentationActionStateKey);if(n===void 0)return[];let r=Object.entries(n).filter(([,n])=>n.scope.sessionId===e&&(t===void 0||n.scope.turnId===t)).map(([e,t])=>({idempotencyKey:e,scope:t.scope}));if(r.length===0)return[];let i=new Set(r.map(e=>e.idempotencyKey));return writeContextKey(InstrumentationActionStateKey,e=>{let t={...e};for(let e of i)delete t[e];return t}),r}function releaseInstrumentationActionCorrelation(e){writeContextKey(InstrumentationActionStateKey,t=>{let n={...t};return delete n[e],n})}function writeSlot(e,t,n){if(n===void 0){let n={...e};return delete n[t],n}return{...e,[t]:n}}function writeInstrumentationState(e){writeContextKey(InstrumentationStateKey,e)}function assignOwner(e,t){t.attemptId!==void 0&&(e.attemptId=t.attemptId),t.sessionId!==void 0&&(e.sessionId=t.sessionId),t.turnId!==void 0&&(e.turnId=t.turnId)}function writeContextKey(e,t){contextStorage.getStore()!==void 0&&loadContext().set(e,e=>t(e??{}))}function stateKey(e,t){return`${e}\0${t}`}function deserializeState(e){if(typeof e!=`object`||!e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e)){if(typeof r!=`object`||!r||Array.isArray(r))continue;let e=r,i=typeof e.attemptId==`string`?e.attemptId:void 0,a=typeof e.sessionId==`string`?e.sessionId:void 0,o=typeof e.turnId==`string`?e.turnId:void 0,s={};e.abandoned===!0&&(s.abandoned=!0),i!==void 0&&(s.attemptId=i),a!==void 0&&(s.sessionId=a),o!==void 0&&(s.turnId=o),e.value!==void 0&&(s.value=cloneAndFreezeJson(e.value)),t[n]=s}return t}function cloneAndFreezeJson(e){if(Array.isArray(e))return Object.freeze(e.map(e=>cloneAndFreezeJson(e)));if(typeof e!=`object`||!e)return e;let t={};for(let[n,r]of Object.entries(e))t[n]=cloneAndFreezeJson(r);return Object.freeze(t)}function deserializeScopes(e){return typeof e!=`object`||!e||Array.isArray(e)?{}:e}function deserializeActionStates(e){if(typeof e!=`object`||!e||Array.isArray(e))return{};let t={};for(let[n,r]of Object.entries(e)){if(typeof r!=`object`||!r||Array.isArray(r))continue;let e=r;t[n]={scope:typeof e.scope==`object`&&e.scope!==null&&!Array.isArray(e.scope)?e.scope:r}}return t}export{abandonInstrumentationState,findInstrumentationActionScopeForCall,instrumentationStateSlot,isInstrumentationStateAbandoned,preserveSerializedInstrumentationState,releaseAllInstrumentationAttemptState,releaseAllInstrumentationState,releaseAllInstrumentationTurnState,rememberInstrumentationActionScope,rememberInstrumentationInputScope,takeInstrumentationActionScopeForCall,takeInstrumentationActionScopes,takeInstrumentationInputScope};
@@ -1 +1 @@
1
- import{createRequire}from"node:module";import{existsSync,readFileSync,realpathSync}from"node:fs";import{basename,dirname,join}from"node:path";import{fileURLToPath}from"node:url";import{EVE_PACKAGE_NAME}from"#internal/package-name.js";let cachedPackageInfo,cachedPackageLocation;const BUNDLED_FALLBACK_PACKAGE_VERSION=`0.67.2`,WORKFLOW_MODULE_ALIASES={"workflow/errors":`src/compiled/@workflow/errors/index.js`,"workflow/internal/private":`src/compiled/@workflow/core/private.js`};function resolveFallbackPackageVersion(){return BUNDLED_FALLBACK_PACKAGE_VERSION.startsWith(`__`)?`0.0.0`:BUNDLED_FALLBACK_PACKAGE_VERSION}const FALLBACK_PACKAGE_INFO={name:EVE_PACKAGE_NAME,version:resolveFallbackPackageVersion()};function resolveCurrentModulePath(){return typeof __filename==`string`?__filename:resolveCurrentModulePathFromStack()}function resolveCurrentModulePathFromStack(){let e=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let e=Error().stack?.[0]?.getFileName();if(typeof e!=`string`||e.length===0)throw Error(`Failed to resolve the current module path from the stack trace.`);return e.startsWith(`file:`)?fileURLToPath(e):e}finally{Error.prepareStackTrace=e}}const require=createRequire(resolveCurrentModulePath());function tryResolveVerifiedPackageRoot(e){try{let t=realpathSync.native(e);return tryReadInstalledPackageInfo(t,EVE_PACKAGE_NAME)===void 0?void 0:dirname(t)}catch{return}}function findNearestVerifiedPackageRoot(e){let t=e;for(;;){let e=tryResolveVerifiedPackageRoot(join(t,`package.json`));if(e!==void 0)return e;let n=dirname(t);if(n===t)return;t=n}}function tryResolveDirectBuildLocation(e){let t=dirname(e);for(;;){if(basename(t)===`dist`){let e=tryResolveVerifiedPackageRoot(join(dirname(t),`package.json`));if(e!==void 0)return{packageBuildRoot:t,packageRoot:e}}let e=dirname(t);if(e===t)return;t=e}}function isSourceCheckout(e){return existsSync(join(e,`src`,`internal`,`application`,`package.ts`))}function tryCreatePackageLocation(e){if(isSourceCheckout(e))return{packageBuildRoot:null,packageRoot:e};let t=join(e,`dist`);if(existsSync(t))return{packageBuildRoot:t,packageRoot:e}}function resolveSelfPackageJsonPath(e){return createRequire(e).resolve(`${EVE_PACKAGE_NAME}/package.json`)}function resolvePackageLocationFromModulePath(e,t=resolveSelfPackageJsonPath){let n=realpathSync.native(e),r=tryResolveDirectBuildLocation(n);if(r!==void 0)return r;let i=findNearestVerifiedPackageRoot(dirname(n));if(i!==void 0&&isSourceCheckout(i))return{packageBuildRoot:null,packageRoot:i};try{let e=tryResolveVerifiedPackageRoot(t(n)),r=e===void 0?void 0:tryCreatePackageLocation(e);if(r!==void 0)return r}catch{}let a=i===void 0?void 0:tryCreatePackageLocation(i);if(a!==void 0)return a;throw Error(`Failed to resolve the eve package root from "${e}".`)}function resolvePackageLocation(){return cachedPackageLocation??=resolvePackageLocationFromModulePath(resolveCurrentModulePath()),cachedPackageLocation}function resolvePackageBuildRoot(){return resolvePackageLocation().packageBuildRoot}function resolvePackageRoot(){return resolvePackageLocation().packageRoot}function tryResolvePackageRoot(){try{return resolvePackageRoot()}catch{return}}function rewriteSourceFilePathForBuild(e){return e.replace(/\.[cm]?tsx?$/,`.js`)}function resolvePackageSourceFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),e):join(t,rewriteSourceFilePathForBuild(e))}function resolvePackageSourceDirectoryPath(e){let t=resolvePackageBuildRoot();return join(t===null?resolvePackageRoot():t,e)}function resolvePackageDependencyPath(e){try{return require.resolve(e)}catch(t){let n=tryResolvePackageRoot(),r=n===void 0||!isSourceCheckout(n)?void 0:resolveSourceCheckoutExport(n,e);if(r!==void 0)return r;throw t}}function resolveSourceCheckoutExport(e,t){if(t!==EVE_PACKAGE_NAME&&!t.startsWith(`${EVE_PACKAGE_NAME}/`))return;let n=t===EVE_PACKAGE_NAME?`.`:`.${t.slice(EVE_PACKAGE_NAME.length)}`;try{let t=JSON.parse(readFileSync(join(e,`package.json`),`utf8`)).exports?.[n],r=typeof t==`string`?t:t?.[`eve-source`]??t?.import??t?.default;if(r===void 0)return;let i=r.replace(/^\.\/dist\/src\//,`src/`).replace(/\.[cm]?js$/u,`.ts`),a=join(e,i);return existsSync(a)?a:void 0}catch{return}}function resolvePackageCompiledFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),`.generated`,`compiled`,e.replace(/^src\/compiled\//,``)):join(t,e)}function normalizeInstalledPackageInfo(e){let t=e;if(typeof t.name==`string`&&typeof t.version==`string`)return{name:t.name,version:t.version}}function tryReadInstalledPackageInfo(e,t){let n=normalizeInstalledPackageInfo(JSON.parse(readFileSync(e,`utf8`)));if(n?.name===t)return n}function resolveInstalledPackageInfo(){if(cachedPackageInfo)return cachedPackageInfo;let e=tryResolvePackageRoot(),t=e===void 0?void 0:tryReadInstalledPackageInfo(join(e,`package.json`),EVE_PACKAGE_NAME);if(t)return cachedPackageInfo=t,cachedPackageInfo;try{let e=tryReadInstalledPackageInfo(require.resolve(`${EVE_PACKAGE_NAME}/package.json`),EVE_PACKAGE_NAME);if(e)return cachedPackageInfo=e,cachedPackageInfo}catch{}return cachedPackageInfo={...FALLBACK_PACKAGE_INFO},cachedPackageInfo}function readWorkflowVersionFromManifest(e){let t=e;for(let e of[t.devDependencies,t.dependencies,t.peerDependencies]){let t=e?.[`@workflow/core`];if(typeof t==`string`&&t.trim().length>0)return t}}function resolveExpectedWorkflowVersion(){let e=tryResolvePackageRoot();if(e!==void 0)try{return readWorkflowVersionFromManifest(JSON.parse(readFileSync(join(e,`package.json`),`utf8`)))}catch{}try{return readWorkflowVersionFromManifest(JSON.parse(readFileSync(require.resolve(`${EVE_PACKAGE_NAME}/package.json`),`utf8`)))}catch{return}}function resolveWorkflowModulePath(e){if(e===`workflow`)return resolvePackageSourceFilePath(`src/internal/workflow/index.ts`);if(e===`workflow/api`||e===`workflow/runtime`)return resolvePackageSourceFilePath(`src/internal/workflow/runtime.ts`);if(e===`workflow/internal/builtins`)return resolvePackageSourceFilePath(`src/internal/workflow/builtins.ts`);let t=WORKFLOW_MODULE_ALIASES[e];return t===void 0?require.resolve(e):resolvePackageCompiledFilePath(t)}export{resolveExpectedWorkflowVersion,resolveInstalledPackageInfo,resolvePackageCompiledFilePath,resolvePackageDependencyPath,resolvePackageLocationFromModulePath,resolvePackageRoot,resolvePackageSourceDirectoryPath,resolvePackageSourceFilePath,resolveWorkflowModulePath};
1
+ import{createRequire}from"node:module";import{existsSync,readFileSync,realpathSync}from"node:fs";import{basename,dirname,join}from"node:path";import{fileURLToPath}from"node:url";import{EVE_PACKAGE_NAME}from"#internal/package-name.js";let cachedPackageInfo,cachedPackageLocation;const BUNDLED_FALLBACK_PACKAGE_VERSION=`0.69.0`,WORKFLOW_MODULE_ALIASES={"workflow/errors":`src/compiled/@workflow/errors/index.js`,"workflow/internal/private":`src/compiled/@workflow/core/private.js`};function resolveFallbackPackageVersion(){return BUNDLED_FALLBACK_PACKAGE_VERSION.startsWith(`__`)?`0.0.0`:BUNDLED_FALLBACK_PACKAGE_VERSION}const FALLBACK_PACKAGE_INFO={name:EVE_PACKAGE_NAME,version:resolveFallbackPackageVersion()};function resolveCurrentModulePath(){return typeof __filename==`string`?__filename:resolveCurrentModulePathFromStack()}function resolveCurrentModulePathFromStack(){let e=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let e=Error().stack?.[0]?.getFileName();if(typeof e!=`string`||e.length===0)throw Error(`Failed to resolve the current module path from the stack trace.`);return e.startsWith(`file:`)?fileURLToPath(e):e}finally{Error.prepareStackTrace=e}}const packageRequire=createRequire(resolveCurrentModulePath());function tryResolveVerifiedPackageRoot(e){try{let t=realpathSync.native(e);return tryReadInstalledPackageInfo(t,EVE_PACKAGE_NAME)===void 0?void 0:dirname(t)}catch{return}}function findNearestVerifiedPackageRoot(e){let t=e;for(;;){let e=tryResolveVerifiedPackageRoot(join(t,`package.json`));if(e!==void 0)return e;let n=dirname(t);if(n===t)return;t=n}}function tryResolveDirectBuildLocation(e){let t=dirname(e);for(;;){if(basename(t)===`dist`){let e=tryResolveVerifiedPackageRoot(join(dirname(t),`package.json`));if(e!==void 0)return{packageBuildRoot:t,packageRoot:e}}let e=dirname(t);if(e===t)return;t=e}}function isSourceCheckout(e){return existsSync(join(e,`src`,`internal`,`application`,`package.ts`))}function tryCreatePackageLocation(e){if(isSourceCheckout(e))return{packageBuildRoot:null,packageRoot:e};let t=join(e,`dist`);if(existsSync(t))return{packageBuildRoot:t,packageRoot:e}}function resolveSelfPackageJsonPath(e){return createRequire(e).resolve(`${EVE_PACKAGE_NAME}/package.json`)}function resolvePackageLocationFromModulePath(e,t=resolveSelfPackageJsonPath){let n=realpathSync.native(e),r=tryResolveDirectBuildLocation(n);if(r!==void 0)return r;let i=findNearestVerifiedPackageRoot(dirname(n));if(i!==void 0&&isSourceCheckout(i))return{packageBuildRoot:null,packageRoot:i};try{let e=tryResolveVerifiedPackageRoot(t(n)),r=e===void 0?void 0:tryCreatePackageLocation(e);if(r!==void 0)return r}catch{}let a=i===void 0?void 0:tryCreatePackageLocation(i);if(a!==void 0)return a;throw Error(`Failed to resolve the eve package root from "${e}".`)}function resolvePackageLocation(){return cachedPackageLocation??=resolvePackageLocationFromModulePath(resolveCurrentModulePath()),cachedPackageLocation}function resolvePackageBuildRoot(){return resolvePackageLocation().packageBuildRoot}function resolvePackageRoot(){return resolvePackageLocation().packageRoot}function tryResolvePackageRoot(){try{return resolvePackageRoot()}catch{return}}function rewriteSourceFilePathForBuild(e){return e.replace(/\.[cm]?tsx?$/,`.js`)}function resolvePackageSourceFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),e):join(t,rewriteSourceFilePathForBuild(e))}function resolvePackageSourceDirectoryPath(e){let t=resolvePackageBuildRoot();return join(t===null?resolvePackageRoot():t,e)}function resolvePackageDependencyPath(e){try{return packageRequire.resolve(e)}catch(t){let n=tryResolvePackageRoot(),r=n===void 0||!isSourceCheckout(n)?void 0:resolveSourceCheckoutExport(n,e);if(r!==void 0)return r;throw t}}function resolveSourceCheckoutExport(e,t){if(t!==EVE_PACKAGE_NAME&&!t.startsWith(`${EVE_PACKAGE_NAME}/`))return;let n=t===EVE_PACKAGE_NAME?`.`:`.${t.slice(EVE_PACKAGE_NAME.length)}`;try{let t=JSON.parse(readFileSync(join(e,`package.json`),`utf8`)).exports?.[n],r=typeof t==`string`?t:t?.[`eve-source`]??t?.import??t?.default;if(r===void 0)return;let i=r.replace(/^\.\/dist\/src\//,`src/`).replace(/\.[cm]?js$/u,`.ts`),a=join(e,i);return existsSync(a)?a:void 0}catch{return}}function resolvePackageCompiledFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),`.generated`,`compiled`,e.replace(/^src\/compiled\//,``)):join(t,e)}function normalizeInstalledPackageInfo(e){let t=e;if(typeof t.name==`string`&&typeof t.version==`string`)return{name:t.name,version:t.version}}function tryReadInstalledPackageInfo(e,t){let n=normalizeInstalledPackageInfo(JSON.parse(readFileSync(e,`utf8`)));if(n?.name===t)return n}function resolveInstalledPackageInfo(){if(cachedPackageInfo)return cachedPackageInfo;let e=tryResolvePackageRoot(),t=e===void 0?void 0:tryReadInstalledPackageInfo(join(e,`package.json`),EVE_PACKAGE_NAME);if(t)return cachedPackageInfo=t,cachedPackageInfo;try{let e=tryReadInstalledPackageInfo(packageRequire.resolve(`${EVE_PACKAGE_NAME}/package.json`),EVE_PACKAGE_NAME);if(e)return cachedPackageInfo=e,cachedPackageInfo}catch{}return cachedPackageInfo={...FALLBACK_PACKAGE_INFO},cachedPackageInfo}function readWorkflowVersionFromManifest(e){let t=e;for(let e of[t.devDependencies,t.dependencies,t.peerDependencies]){let t=e?.[`@workflow/core`];if(typeof t==`string`&&t.trim().length>0)return t}}function resolveExpectedWorkflowVersion(){let e=tryResolvePackageRoot();if(e!==void 0)try{return readWorkflowVersionFromManifest(JSON.parse(readFileSync(join(e,`package.json`),`utf8`)))}catch{}try{return readWorkflowVersionFromManifest(JSON.parse(readFileSync(packageRequire.resolve(`${EVE_PACKAGE_NAME}/package.json`),`utf8`)))}catch{return}}function resolveWorkflowModulePath(e){if(e===`workflow`)return resolvePackageSourceFilePath(`src/internal/workflow/index.ts`);if(e===`workflow/api`||e===`workflow/runtime`)return resolvePackageSourceFilePath(`src/internal/workflow/runtime.ts`);if(e===`workflow/internal/builtins`)return resolvePackageSourceFilePath(`src/internal/workflow/builtins.ts`);let t=WORKFLOW_MODULE_ALIASES[e];return t===void 0?packageRequire.resolve(e):resolvePackageCompiledFilePath(t)}export{resolveExpectedWorkflowVersion,resolveInstalledPackageInfo,resolvePackageCompiledFilePath,resolvePackageDependencyPath,resolvePackageLocationFromModulePath,resolvePackageRoot,resolvePackageSourceDirectoryPath,resolvePackageSourceFilePath,resolveWorkflowModulePath};
@@ -1,3 +1,5 @@
1
+ import { type WorkflowToolEntryPoint } from "#tools/workflow-definition.js";
2
+ import type { JsonObject } from "#shared/json.js";
1
3
  import type { InternalToolDefinition, ToolExecuteFn } from "#tools/definition.js";
2
4
  import { type CompiledToolBehavior } from "#tools/behavior.js";
3
5
  import { type WorkflowProgramOptions } from "#tools/workflow-program-input.js";
@@ -14,8 +16,16 @@ type NormalizedAuthoredTool = Readonly<Omit<InternalToolDefinition, "name"> & {
14
16
  readonly hasApproval: boolean;
15
17
  readonly hasExecute: boolean;
16
18
  readonly hasModelOutputProjection: boolean;
19
+ /** The input schema as eve sends it to a model, from the live authored schema. */
20
+ readonly modelInputSchema: JsonObject;
21
+ readonly workflow?: CompiledWorkflowEntry;
17
22
  readonly workflowProgram?: WorkflowProgramOptions;
18
23
  }>;
24
+ /** The compiled entry point of a `defineWorkflowTool()` definition. */
25
+ interface CompiledWorkflowEntry {
26
+ readonly entryPoint: WorkflowToolEntryPoint;
27
+ readonly workflowId: string;
28
+ }
19
29
  /**
20
30
  * Result of normalizing one authored tool default export. Either a real tool
21
31
  * definition, a sentinel that disables a framework default, or a dynamic