eve 0.83.3 → 0.84.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1537) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +1 -5
  3. package/dist/src/_virtual/_rolldown/runtime.js +1 -1
  4. package/dist/src/acp/adapter.d.ts +8 -5
  5. package/dist/src/acp/adapter.js +1 -1
  6. package/dist/src/ai/decide.d.ts +3 -7
  7. package/dist/src/ai/decide.js +1 -1
  8. package/dist/src/ai/decision-adapter.d.ts +7 -0
  9. package/dist/src/ai/decision-adapter.js +1 -0
  10. package/dist/src/ai/decision-types.d.ts +86 -0
  11. package/dist/src/approval/definition.d.ts +5 -12
  12. package/dist/src/approval/evaluation.d.ts +48 -0
  13. package/dist/src/approval/evaluation.js +1 -0
  14. package/dist/src/approval/status.d.ts +14 -0
  15. package/dist/src/approval/status.js +1 -0
  16. package/dist/src/channel/adapter-context.d.ts +1 -3
  17. package/dist/src/channel/adapter-context.js +1 -1
  18. package/dist/src/channel/adapter.d.ts +34 -26
  19. package/dist/src/channel/adapter.js +1 -1
  20. package/dist/src/channel/audience.d.ts +0 -3
  21. package/dist/src/channel/audience.js +1 -1
  22. package/dist/src/channel/auth/definitions.d.ts +532 -0
  23. package/dist/src/channel/auth/definitions.js +1 -0
  24. package/dist/src/channel/auth/jwt-ecdsa.js +1 -1
  25. package/dist/src/channel/auth/jwt-hmac.js +1 -1
  26. package/dist/src/channel/auth/oidc.js +1 -1
  27. package/dist/src/channel/channel-address.d.ts +12 -10
  28. package/dist/src/channel/channel-address.js +1 -1
  29. package/dist/src/channel/channel-operations.d.ts +21 -22
  30. package/dist/src/channel/channel-operations.js +1 -1
  31. package/dist/src/channel/compiled-channel.d.ts +4 -4
  32. package/dist/src/channel/conversation-context.js +1 -1
  33. package/dist/src/channel/cors.d.ts +2 -2
  34. package/dist/src/channel/cors.js +1 -1
  35. package/dist/src/channel/cross-channel-receive.d.ts +3 -3
  36. package/dist/src/channel/delivery-idempotency.d.ts +6 -0
  37. package/dist/src/channel/delivery-idempotency.js +1 -1
  38. package/dist/src/channel/delivery-metadata.d.ts +2 -2
  39. package/dist/src/channel/delivery.d.ts +8 -0
  40. package/dist/src/channel/delivery.js +1 -0
  41. package/dist/src/channel/interaction-prompts.d.ts +54 -0
  42. package/dist/src/channel/interaction-prompts.js +1 -0
  43. package/dist/src/channel/invoke-tool.d.ts +11 -18
  44. package/dist/src/channel/pending-authorization.d.ts +3 -14
  45. package/dist/src/channel/pending-authorization.js +1 -1
  46. package/dist/src/channel/prompt-queue.d.ts +11 -19
  47. package/dist/src/channel/prompt-queue.js +1 -1
  48. package/dist/src/channel/resolve-text.d.ts +11 -18
  49. package/dist/src/channel/resolve-text.js +2 -2
  50. package/dist/src/channel/resolved-prompt.d.ts +7 -5
  51. package/dist/src/channel/resolved-prompt.js +1 -1
  52. package/dist/src/channel/routes.d.ts +4 -4
  53. package/dist/src/channel/schedule.d.ts +2 -2
  54. package/dist/src/channel/schedule.js +1 -1
  55. package/dist/src/channel/send-input.d.ts +3 -3
  56. package/dist/src/channel/send-input.js +1 -1
  57. package/dist/src/channel/session-callback.js +1 -1
  58. package/dist/src/channel/session-not-active-error.d.ts +8 -12
  59. package/dist/src/channel/session-not-active-error.js +1 -1
  60. package/dist/src/channel/session.d.ts +33 -59
  61. package/dist/src/channel/session.js +1 -1
  62. package/dist/src/channel/sign-in.d.ts +61 -0
  63. package/dist/src/channel/sign-in.js +3 -0
  64. package/dist/src/channel/surface.d.ts +44 -0
  65. package/dist/src/channel/surface.js +1 -0
  66. package/dist/src/channel/task-card.d.ts +24 -114
  67. package/dist/src/channel/task-card.js +1 -1
  68. package/dist/src/channel/types.d.ts +116 -110
  69. package/dist/src/channel/types.js +1 -1
  70. package/dist/src/chunks/use-eve-agent-BbbguIdB.js +5030 -0
  71. package/dist/src/chunks/use-eve-agent-DWjyzplb.js +5077 -0
  72. package/dist/src/cli/commands/logs-events.d.ts +2 -0
  73. package/dist/src/cli/commands/logs-events.js +2 -2
  74. package/dist/src/cli/dev/command.js +1 -1
  75. package/dist/src/cli/dev/remote-print.d.ts +8 -0
  76. package/dist/src/cli/dev/remote-print.js +1 -0
  77. package/dist/src/cli/dev/tui/conversation-view.d.ts +24 -19
  78. package/dist/src/cli/dev/tui/conversation-view.js +1 -1
  79. package/dist/src/cli/dev/tui/diagnostic-presentation.d.ts +0 -10
  80. package/dist/src/cli/dev/tui/diagnostic-presentation.js +2 -3
  81. package/dist/src/cli/dev/tui/errors.d.ts +9 -65
  82. package/dist/src/cli/dev/tui/errors.js +1 -1
  83. package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
  84. package/dist/src/cli/dev/tui/runner.js +3 -3
  85. package/dist/src/cli/dev/tui/task-records.d.ts +3 -3
  86. package/dist/src/cli/dev/tui/task-records.js +1 -1
  87. package/dist/src/cli/dev/tui/terminal-renderer.js +10 -10
  88. package/dist/src/cli/dev/tui/terminal-tool-part.d.ts +2 -2
  89. package/dist/src/cli/dev/tui/terminal-tool-part.js +1 -1
  90. package/dist/src/cli/dev/tui/test/fake-eve-server.d.ts +3 -3
  91. package/dist/src/cli/dev/tui/test/fake-eve-server.js +1 -1
  92. package/dist/src/cli/dev/tui/tool-presentation.js +1 -1
  93. package/dist/src/cli/dev/tui/transcript-parts.d.ts +16 -16
  94. package/dist/src/cli/dev/tui/transcript-parts.js +3 -3
  95. package/dist/src/cli/dev/tui/transcript.d.ts +0 -4
  96. package/dist/src/cli/dev/tui/transcript.js +1 -1
  97. package/dist/src/cli/dev/tui/tui.js +1 -1
  98. package/dist/src/cli/run.d.ts +0 -2
  99. package/dist/src/cli/run.js +1 -1
  100. package/dist/src/cli/telemetry/index.js +1 -1
  101. package/dist/src/client/agent-base-url.d.ts +4 -0
  102. package/dist/src/client/agent-base-url.js +1 -0
  103. package/dist/src/client/agent-info-schema.d.ts +1 -923
  104. package/dist/src/client/agent-info-schema.js +1 -1
  105. package/dist/src/client/agent-info-types.d.ts +281 -0
  106. package/dist/src/client/agent-session.d.ts +19 -22
  107. package/dist/src/client/agent-session.js +1 -1
  108. package/dist/src/client/agent-stream-follower.d.ts +11 -20
  109. package/dist/src/client/agent-stream-follower.js +1 -1
  110. package/dist/src/client/client-error.d.ts +2 -1
  111. package/dist/src/client/client-error.js +1 -1
  112. package/dist/src/client/client.d.ts +1 -1
  113. package/dist/src/client/client.js +1 -1
  114. package/dist/src/client/conversation-client.d.ts +37 -28
  115. package/dist/src/client/conversation-client.js +1 -1
  116. package/dist/src/client/conversation-state.d.ts +70 -73
  117. package/dist/src/client/conversation-state.js +1 -1
  118. package/dist/src/client/conversation.d.ts +51 -0
  119. package/dist/src/client/conversation.js +1 -0
  120. package/dist/src/client/delivery-events.d.ts +3 -0
  121. package/dist/src/client/delivery-events.js +1 -0
  122. package/dist/src/client/delivery.d.ts +36 -0
  123. package/dist/src/client/delivery.js +1 -0
  124. package/dist/src/client/file-parts.d.ts +9 -4
  125. package/dist/src/client/file-parts.js +1 -1
  126. package/dist/src/client/health-schema.d.ts +1 -1
  127. package/dist/src/client/health-types.d.ts +6 -0
  128. package/dist/src/client/index.d.ts +17 -23
  129. package/dist/src/client/index.js +1 -1
  130. package/dist/src/client/message-types.d.ts +92 -0
  131. package/dist/src/client/message-types.js +1 -0
  132. package/dist/src/client/messages.d.ts +30 -0
  133. package/dist/src/client/messages.js +1 -0
  134. package/dist/src/client/ndjson.d.ts +6 -11
  135. package/dist/src/client/ndjson.js +3 -3
  136. package/dist/src/client/open-stream.d.ts +47 -20
  137. package/dist/src/client/open-stream.js +1 -1
  138. package/dist/src/client/optimistic-message-submissions.d.ts +10 -18
  139. package/dist/src/client/optimistic-message-submissions.js +1 -1
  140. package/dist/src/client/session-controls.d.ts +23 -26
  141. package/dist/src/client/session-controls.js +1 -1
  142. package/dist/src/client/session-event-stream.d.ts +5 -16
  143. package/dist/src/client/session-event-stream.js +1 -1
  144. package/dist/src/client/session-store-helpers.d.ts +8 -0
  145. package/dist/src/client/session-store-helpers.js +2 -0
  146. package/dist/src/client/session-store-state.d.ts +80 -0
  147. package/dist/src/client/session-store-state.js +1 -0
  148. package/dist/src/client/session-store.d.ts +48 -0
  149. package/dist/src/client/session-store.js +1 -0
  150. package/dist/src/client/session-utils.d.ts +45 -41
  151. package/dist/src/client/session-utils.js +2 -1
  152. package/dist/src/client/session.d.ts +32 -23
  153. package/dist/src/client/session.js +1 -1
  154. package/dist/src/client/sessions.d.ts +2 -2
  155. package/dist/src/client/stream-version.d.ts +3 -1
  156. package/dist/src/client/stream-version.js +1 -1
  157. package/dist/src/client/transcript.d.ts +43 -0
  158. package/dist/src/client/transcript.js +2 -0
  159. package/dist/src/client/types.d.ts +21 -82
  160. package/dist/src/client/url.d.ts +3 -3
  161. package/dist/src/compiled/.vendor-stamp.json +1 -1
  162. package/dist/src/compiled/@ai-sdk/anthropic/index.d.ts +34 -34
  163. package/dist/src/compiled/@ai-sdk/google/index.d.ts +15 -15
  164. package/dist/src/compiled/@ai-sdk/openai/index.d.ts +38 -38
  165. package/dist/src/compiled/@chat-adapter/slack/fetch-QqNM_Ef3.d.ts +4 -0
  166. package/dist/src/compiled/@chat-adapter/twilio/types-BaIqtt65.d.ts +100 -0
  167. package/dist/src/compiled/@linqapp/chat-sdk-adapter/adapter.d.ts +129 -0
  168. package/dist/src/compiled/@linqapp/chat-sdk-adapter/message-parser.d.ts +14 -0
  169. package/dist/src/compiled/@linqapp/chat-sdk-adapter/text-decorations.d.ts +28 -0
  170. package/dist/src/compiled/@workflow/core/runtime/step-executor.d.ts +1 -1
  171. package/dist/src/compiled/@workflow/core/serialization/types.d.ts +1 -1
  172. package/dist/src/compiled/@workflow/core/serialization.d.ts +2 -2
  173. package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +2 -2
  174. package/dist/src/compiled/semver/index.d.ts +2 -0
  175. package/dist/src/compiler/development-extensions.js +1 -1
  176. package/dist/src/compiler/extension-compatibility.d.ts +19 -290
  177. package/dist/src/compiler/extension-compatibility.js +1 -1
  178. package/dist/src/compiler/manifest.d.ts +1 -9
  179. package/dist/src/compiler/manifest.js +1 -1
  180. package/dist/src/compiler/normalize-agent-config.js +1 -1
  181. package/dist/src/compiler/normalize-connection.js +1 -1
  182. package/dist/src/compiler/normalize-hook.js +1 -1
  183. package/dist/src/compiler/normalize-instructions.js +1 -1
  184. package/dist/src/compiler/normalize-manifest.js +1 -1
  185. package/dist/src/compiler/normalize-memory.js +1 -1
  186. package/dist/src/compiler/normalize-schedule.js +1 -1
  187. package/dist/src/compiler/normalize-skill.js +1 -1
  188. package/dist/src/compiler/normalize-subagent.d.ts +0 -5
  189. package/dist/src/compiler/normalize-subagent.js +1 -1
  190. package/dist/src/compiler/normalize-tool.js +1 -1
  191. package/dist/src/compiler/remote-agent-node.d.ts +1 -6
  192. package/dist/src/compiler/source-graph.d.ts +0 -1
  193. package/dist/src/compiler/source-graph.js +1 -1
  194. package/dist/src/computer-use/extension/lib/computer-use-sandbox.js +1 -1
  195. package/dist/src/computer-use/extension/lib/sandbox.d.ts +1 -1
  196. package/dist/src/computer-use/extension/lib/sandbox.js +1 -1
  197. package/dist/src/computer-use/extension/tools/computer_use.js +1 -1
  198. package/dist/src/connections/errors.d.ts +3 -3
  199. package/dist/src/context/accessors.d.ts +0 -13
  200. package/dist/src/context/accessors.js +1 -1
  201. package/dist/src/context/container.d.ts +8 -11
  202. package/dist/src/context/container.js +1 -1
  203. package/dist/src/context/key-names.d.ts +1 -0
  204. package/dist/src/context/key-names.js +1 -1
  205. package/dist/src/context/keys.d.ts +20 -104
  206. package/dist/src/context/keys.js +1 -1
  207. package/dist/src/context/memory-tools.d.ts +4 -2
  208. package/dist/src/context/memory-tools.js +1 -1
  209. package/dist/src/context/providers/connection.js +1 -1
  210. package/dist/src/context/providers/session.js +1 -1
  211. package/dist/src/context/schedule-collection-tools.d.ts +2 -2
  212. package/dist/src/context/schedule-collection-tools.js +1 -1
  213. package/dist/src/context/session-context.d.ts +4 -2
  214. package/dist/src/discover/extensions.d.ts +2 -3
  215. package/dist/src/discover/extensions.js +1 -1
  216. package/dist/src/discover/manifest.js +1 -1
  217. package/dist/src/discover/skills.js +1 -1
  218. package/dist/src/dynamic/definition.d.ts +98 -108
  219. package/dist/src/dynamic/definition.js +1 -1
  220. package/dist/src/evals/assertions/collector.js +1 -1
  221. package/dist/src/evals/assertions/run.d.ts +12 -11
  222. package/dist/src/evals/assertions/run.js +2 -2
  223. package/dist/src/evals/assertions/scoped.js +1 -1
  224. package/dist/src/evals/cli/eval-client.js +1 -1
  225. package/dist/src/evals/cli/eval.js +2 -2
  226. package/dist/src/evals/context.js +1 -1
  227. package/dist/src/evals/expect/index.d.ts +0 -1
  228. package/dist/src/evals/index.d.ts +2 -5
  229. package/dist/src/evals/judge.js +1 -1
  230. package/dist/src/evals/match.d.ts +20 -17
  231. package/dist/src/evals/match.js +1 -1
  232. package/dist/src/evals/mock-model.d.ts +5 -1
  233. package/dist/src/evals/mock-model.js +1 -1
  234. package/dist/src/evals/output.d.ts +3 -0
  235. package/dist/src/evals/output.js +1 -0
  236. package/dist/src/evals/reported-tool-name.js +1 -1
  237. package/dist/src/evals/reporters/index.d.ts +4 -4
  238. package/dist/src/evals/reporters/index.js +1 -1
  239. package/dist/src/evals/runner/artifacts.js +1 -1
  240. package/dist/src/evals/runner/derive-run-facts.d.ts +8 -40
  241. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  242. package/dist/src/evals/runner/execute-eval.js +1 -1
  243. package/dist/src/evals/runner/execute-task.d.ts +3 -1
  244. package/dist/src/evals/runner/execute-task.js +1 -1
  245. package/dist/src/evals/runner/reporters/braintrust.d.ts +1 -1
  246. package/dist/src/evals/runner/reporters/braintrust.js +2 -2
  247. package/dist/src/evals/runner/reporters/console.d.ts +1 -1
  248. package/dist/src/evals/runner/reporters/console.js +1 -1
  249. package/dist/src/evals/runner/reporters/datadog.d.ts +1 -1
  250. package/dist/src/evals/runner/reporters/datadog.js +2 -2
  251. package/dist/src/evals/runner/reporters/junit.d.ts +1 -1
  252. package/dist/src/evals/runner/reporters/junit.js +2 -2
  253. package/dist/src/evals/runner/reporters/types.d.ts +2 -2
  254. package/dist/src/evals/runner/run-evals.d.ts +1 -1
  255. package/dist/src/evals/session-cleanup.d.ts +1 -1
  256. package/dist/src/evals/session-cleanup.js +1 -1
  257. package/dist/src/evals/session-content.d.ts +2 -2
  258. package/dist/src/evals/session-content.js +2 -1
  259. package/dist/src/evals/session-manager.d.ts +3 -6
  260. package/dist/src/evals/session-manager.js +1 -1
  261. package/dist/src/evals/session.d.ts +33 -24
  262. package/dist/src/evals/session.js +2 -2
  263. package/dist/src/evals/target.js +1 -1
  264. package/dist/src/evals/types.d.ts +115 -94
  265. package/dist/src/eve-channel/create-request.d.ts +3 -5
  266. package/dist/src/eve-channel/descendant-stream.d.ts +9 -0
  267. package/dist/src/eve-channel/descendant-stream.js +1 -0
  268. package/dist/src/eve-channel/index.d.ts +2 -2
  269. package/dist/src/eve-channel/index.js +1 -1
  270. package/dist/src/eve-channel/request.d.ts +7 -6
  271. package/dist/src/eve-channel/request.js +1 -3
  272. package/dist/src/eve-channel/stream-headers.d.ts +1 -1
  273. package/dist/src/eve-channel/stream-headers.js +1 -1
  274. package/dist/src/eve-channel/support.d.ts +25 -13
  275. package/dist/src/eve-channel/support.js +2 -2
  276. package/dist/src/eve-channel/types.d.ts +7 -30
  277. package/dist/src/execution/agent-sessions/message.d.ts +4 -0
  278. package/dist/src/execution/agent-sessions/message.js +1 -0
  279. package/dist/src/execution/agent-sessions/metadata.js +1 -1
  280. package/dist/src/execution/agent-sessions/remote-credentials.d.ts +19 -0
  281. package/dist/src/execution/agent-sessions/remote-credentials.js +1 -0
  282. package/dist/src/execution/agent-sessions/remote.d.ts +35 -13
  283. package/dist/src/execution/agent-sessions/remote.js +1 -1
  284. package/dist/src/execution/agent-sessions/requests.d.ts +6 -6
  285. package/dist/src/execution/agent-sessions/requests.js +1 -1
  286. package/dist/src/execution/agent-sessions/session.js +1 -1
  287. package/dist/src/execution/agent-sessions/steps.d.ts +26 -4
  288. package/dist/src/execution/agent-sessions/steps.js +1 -1
  289. package/dist/src/execution/agent-sessions/target.d.ts +2 -1
  290. package/dist/src/execution/agent-sessions/target.js +1 -1
  291. package/dist/src/execution/agent-sessions/usage.d.ts +0 -8
  292. package/dist/src/execution/agent-sessions/usage.js +1 -1
  293. package/dist/src/execution/cancelled-model-call-batch.d.ts +4 -2
  294. package/dist/src/execution/cancelled-model-call-batch.js +1 -1
  295. package/dist/src/execution/cancelled-turn-message.d.ts +2 -2
  296. package/dist/src/execution/cancelled-turn-message.js +1 -1
  297. package/dist/src/execution/catalog/connection-entry.js +1 -1
  298. package/dist/src/execution/catalog/search.js +1 -1
  299. package/dist/src/execution/catalog/skills.js +1 -1
  300. package/dist/src/execution/catalog/step-catalog.js +1 -1
  301. package/dist/src/execution/child-binding.d.ts +19 -0
  302. package/dist/src/execution/child-binding.js +1 -0
  303. package/dist/src/execution/close-session-stream-step.d.ts +9 -0
  304. package/dist/src/execution/close-session-stream-step.js +1 -0
  305. package/dist/src/execution/coordination-dispatch-shared.d.ts +13 -3
  306. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  307. package/dist/src/execution/coordination-dispatch-step.d.ts +9 -13
  308. package/dist/src/execution/coordination-dispatch-step.js +1 -1
  309. package/dist/src/execution/deliver-payloads.js +1 -1
  310. package/dist/src/execution/durable-session-store.d.ts +2 -5
  311. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  312. package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
  313. package/dist/src/execution/failure-summary.d.ts +11 -0
  314. package/dist/src/execution/failure-summary.js +1 -0
  315. package/dist/src/execution/forward-session-input.d.ts +2 -2
  316. package/dist/src/execution/forward-session-input.js +1 -1
  317. package/dist/src/execution/invoke-tool.js +1 -1
  318. package/dist/src/execution/legacy-session/snapshot.d.ts +4 -1
  319. package/dist/src/execution/legacy-session/snapshot.js +1 -1
  320. package/dist/src/execution/model-call-batching.d.ts +3 -3
  321. package/dist/src/execution/model-call-batching.js +1 -1
  322. package/dist/src/execution/ndjson-stream.d.ts +1 -1
  323. package/dist/src/execution/node-step.d.ts +2 -8
  324. package/dist/src/execution/node-step.js +1 -1
  325. package/dist/src/execution/proxied-deliver-step.d.ts +8 -3
  326. package/dist/src/execution/proxied-deliver-step.js +1 -1
  327. package/dist/src/execution/public-destination.d.ts +34 -0
  328. package/dist/src/execution/public-destination.js +1 -0
  329. package/dist/src/execution/publish-session-events.d.ts +98 -36
  330. package/dist/src/execution/publish-session-events.js +1 -1
  331. package/dist/src/execution/runtime-context.js +1 -1
  332. package/dist/src/execution/sandbox/abort-bound-session.js +1 -1
  333. package/dist/src/execution/sandbox/bash.js +1 -1
  334. package/dist/src/execution/sandbox/bindings/docker-connection.js +1 -1
  335. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  336. package/dist/src/execution/sandbox/bindings/eve-image.d.ts +0 -2
  337. package/dist/src/execution/sandbox/bindings/eve-image.js +1 -1
  338. package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
  339. package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
  340. package/dist/src/execution/sandbox/ensure.js +1 -1
  341. package/dist/src/{extensions/code/extension/lib → execution/sandbox}/grep-search.d.ts +3 -2
  342. package/dist/src/execution/sandbox/grep-search.js +6 -0
  343. package/dist/src/execution/sandbox/read-file.d.ts +1 -1
  344. package/dist/src/execution/sandbox/session.js +1 -1
  345. package/dist/src/execution/sandbox/workspace-root.d.ts +31 -0
  346. package/dist/src/execution/sandbox/workspace-root.js +1 -0
  347. package/dist/src/execution/session/active-turn.d.ts +12 -6
  348. package/dist/src/execution/session/active-turn.js +1 -1
  349. package/dist/src/execution/session/admission.d.ts +7 -2
  350. package/dist/src/execution/session/admission.js +1 -1
  351. package/dist/src/execution/session/answer-caller.d.ts +4 -4
  352. package/dist/src/execution/session/answer-caller.js +1 -1
  353. package/dist/src/execution/session/checkpoint-migrations.d.ts +4 -6
  354. package/dist/src/execution/session/checkpoint-migrations.js +1 -1
  355. package/dist/src/execution/session/control-delivery.d.ts +4 -0
  356. package/dist/src/execution/session/control-delivery.js +1 -0
  357. package/dist/src/execution/session/delivery-facts.d.ts +27 -0
  358. package/dist/src/execution/session/delivery-facts.js +1 -0
  359. package/dist/src/execution/session/end-sandbox-step.js +1 -1
  360. package/dist/src/execution/session/entry.js +1 -1
  361. package/dist/src/execution/session/finalization.d.ts +4 -0
  362. package/dist/src/execution/session/finalization.js +1 -1
  363. package/dist/src/execution/session/handoff-state.js +1 -1
  364. package/dist/src/execution/session/handoff-steps.d.ts +0 -8
  365. package/dist/src/execution/session/handoff-steps.js +1 -1
  366. package/dist/src/execution/session/handoff.d.ts +4 -3
  367. package/dist/src/execution/session/handoff.js +1 -1
  368. package/dist/src/execution/session/input-queue.d.ts +8 -2
  369. package/dist/src/execution/session/input-queue.js +1 -1
  370. package/dist/src/execution/session/interrupted-step.d.ts +64 -0
  371. package/dist/src/execution/session/interrupted-step.js +3 -0
  372. package/dist/src/execution/session/next-input.d.ts +7 -1
  373. package/dist/src/execution/session/next-input.js +1 -1
  374. package/dist/src/execution/session/pending-turn-state.d.ts +32 -12
  375. package/dist/src/execution/session/pending-turn-state.js +1 -1
  376. package/dist/src/execution/session/prewarm-step.d.ts +1 -1
  377. package/dist/src/execution/session/prewarm-step.js +1 -1
  378. package/dist/src/execution/session/program.js +1 -1
  379. package/dist/src/execution/session/settle-control-delivery-step.d.ts +8 -0
  380. package/dist/src/execution/session/settle-control-delivery-step.js +1 -0
  381. package/dist/src/execution/session/settle-duplicate-delivery-step.d.ts +8 -0
  382. package/dist/src/execution/session/settle-duplicate-delivery-step.js +1 -0
  383. package/dist/src/execution/session/state-delta.d.ts +2 -12
  384. package/dist/src/execution/session/state-delta.js +1 -1
  385. package/dist/src/execution/session/step-decision-check.d.ts +9 -0
  386. package/dist/src/execution/session/step-decision-check.js +1 -0
  387. package/dist/src/execution/session/step-state-delta.d.ts +16 -0
  388. package/dist/src/execution/session/step-state-delta.js +1 -0
  389. package/dist/src/execution/session/task-tool-tracing-step.d.ts +0 -3
  390. package/dist/src/execution/session/task-tool-tracing-step.js +1 -1
  391. package/dist/src/execution/session/turn-event-handler.d.ts +6 -16
  392. package/dist/src/execution/session/turn-event-handler.js +1 -1
  393. package/dist/src/execution/session/turn-step-result.d.ts +7 -2
  394. package/dist/src/execution/session/turn-step-result.js +1 -1
  395. package/dist/src/execution/session/turn-step-types.d.ts +35 -33
  396. package/dist/src/execution/session/turn-step.js +1 -1
  397. package/dist/src/execution/session/turn.d.ts +19 -32
  398. package/dist/src/execution/session/turn.js +1 -1
  399. package/dist/src/execution/session-callback-request.d.ts +7 -1
  400. package/dist/src/execution/session-callback-request.js +1 -1
  401. package/dist/src/execution/session-event-stream.d.ts +37 -16
  402. package/dist/src/execution/session-event-stream.js +1 -1
  403. package/dist/src/execution/session-inbox/end-stranded-session.d.ts +7 -1
  404. package/dist/src/execution/session-inbox/end-stranded-session.js +1 -1
  405. package/dist/src/execution/session-inbox/inbox.js +1 -1
  406. package/dist/src/execution/session-inbox/owner.d.ts +5 -2
  407. package/dist/src/execution/session-inbox/owner.js +1 -1
  408. package/dist/src/execution/session-inbox/pre-v27.d.ts +5 -0
  409. package/dist/src/execution/session-inbox/pre-v27.js +1 -0
  410. package/dist/src/execution/session-inbox/protocol.js +1 -1
  411. package/dist/src/execution/session-inbox/resume.js +1 -1
  412. package/dist/src/execution/session-inbox/stranded-replay-guard.js +1 -1
  413. package/dist/src/execution/session-workflow-tool-run.js +1 -1
  414. package/dist/src/execution/session.d.ts +3 -14
  415. package/dist/src/execution/session.js +2 -2
  416. package/dist/src/execution/settle-cancelled-turn-step.d.ts +3 -0
  417. package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
  418. package/dist/src/execution/stop-runs.d.ts +35 -0
  419. package/dist/src/execution/stop-runs.js +1 -0
  420. package/dist/src/execution/tasks/model-step.d.ts +5 -9
  421. package/dist/src/execution/tasks/model-step.js +1 -1
  422. package/dist/src/execution/tasks/render.d.ts +5 -2
  423. package/dist/src/execution/tasks/render.js +1 -1
  424. package/dist/src/execution/tasks/session.d.ts +6 -3
  425. package/dist/src/execution/tasks/session.js +1 -1
  426. package/dist/src/execution/tasks/start.d.ts +9 -6
  427. package/dist/src/execution/tasks/start.js +1 -1
  428. package/dist/src/execution/tasks/steps.d.ts +11 -6
  429. package/dist/src/execution/tasks/steps.js +1 -1
  430. package/dist/src/execution/tasks/table.d.ts +18 -5
  431. package/dist/src/execution/tasks/table.js +1 -1
  432. package/dist/src/execution/tasks/task-id-input.js +1 -1
  433. package/dist/src/execution/terminal-session-completion-step.d.ts +11 -1
  434. package/dist/src/execution/terminal-session-completion-step.js +1 -1
  435. package/dist/src/execution/terminal-session-failure-step.d.ts +6 -1
  436. package/dist/src/execution/terminal-session-failure-step.js +1 -1
  437. package/dist/src/execution/terminate-child-sessions-step.d.ts +5 -1
  438. package/dist/src/execution/terminate-child-sessions-step.js +1 -1
  439. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  440. package/dist/src/execution/tools/workflow/answer.d.ts +4 -5
  441. package/dist/src/execution/tools/workflow/answer.js +1 -1
  442. package/dist/src/execution/tools/workflow/apply-run-messages-step.d.ts +1 -1
  443. package/dist/src/execution/tools/workflow/apply-run-messages-step.js +1 -1
  444. package/dist/src/execution/tools/workflow/ask.d.ts +3 -3
  445. package/dist/src/execution/tools/workflow/body.js +1 -1
  446. package/dist/src/execution/tools/workflow/harness-definition.js +1 -1
  447. package/dist/src/execution/tools/workflow/messages.d.ts +25 -33
  448. package/dist/src/execution/tools/workflow/messages.js +1 -1
  449. package/dist/src/execution/tools/workflow/owner-inbox.d.ts +9 -5
  450. package/dist/src/execution/tools/workflow/owner-inbox.js +1 -1
  451. package/dist/src/execution/tools/workflow/owner.d.ts +3 -3
  452. package/dist/src/execution/tools/workflow/owner.js +1 -1
  453. package/dist/src/execution/tools/workflow/serve.js +1 -1
  454. package/dist/src/execution/tools/workflow/step.js +1 -1
  455. package/dist/src/execution/tools/workflow/withdraw-step.d.ts +2 -2
  456. package/dist/src/execution/tools/workflow/withdraw-step.js +1 -1
  457. package/dist/src/execution/v26-history.d.ts +28 -0
  458. package/dist/src/execution/v26-history.fixtures.d.ts +4 -0
  459. package/dist/src/execution/v26-history.fixtures.js +2 -0
  460. package/dist/src/execution/v26-history.js +1 -0
  461. package/dist/src/execution/web-fetch/request.js +1 -1
  462. package/dist/src/execution/workflow-errors.d.ts +5 -0
  463. package/dist/src/execution/workflow-errors.js +1 -1
  464. package/dist/src/execution/workflow-runtime.js +1 -1
  465. package/dist/src/extensions/code/extension/extension.d.ts +1 -11
  466. package/dist/src/extensions/code/extension/extension.js +1 -1
  467. package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +5 -1
  468. package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
  469. package/dist/src/extensions/code/extension/lib/repository-root.js +1 -1
  470. package/dist/src/extensions/code/extension/lib/sandbox.d.ts +0 -4
  471. package/dist/src/extensions/code/extension/lib/sandbox.js +2 -2
  472. package/dist/src/extensions/code/extension/lib/tooling.d.ts +1 -1
  473. package/dist/src/extensions/code/extension/lib/tooling.js +1 -1
  474. package/dist/src/extensions/code/extension/lib/workspace-root.d.ts +1 -31
  475. package/dist/src/extensions/code/extension/lib/workspace-root.js +1 -1
  476. package/dist/src/extensions/code/extension/subagents/worker/agent.d.ts +1 -1
  477. package/dist/src/extensions/code/extension/subagents/worker/agent.js +1 -1
  478. package/dist/src/extensions/code/extension/tools/apply_patch.js +2 -2
  479. package/dist/src/extensions/code/extension/tools/grep.d.ts +1 -28
  480. package/dist/src/extensions/code/extension/tools/grep.js +1 -1
  481. package/dist/src/extensions/code/sandbox.d.ts +1 -0
  482. package/dist/src/extensions/code/sandbox.js +1 -0
  483. package/dist/src/extensions/code/tools.d.ts +1 -5
  484. package/dist/src/extensions/code/tools.js +1 -1
  485. package/dist/src/extensions/git/extension/extension.d.ts +3 -3
  486. package/dist/src/extensions/git/extension/instructions/github.d.ts +1 -1
  487. package/dist/src/extensions/git/extension/instructions/github.js +1 -1
  488. package/dist/src/extensions/git/extension/lib/gh-tool.d.ts +2 -11
  489. package/dist/src/extensions/git/extension/lib/gh-tool.js +1 -1
  490. package/dist/src/extensions/git/extension/lib/github-shell.d.ts +13 -3
  491. package/dist/src/extensions/git/extension/lib/sandbox.d.ts +0 -4
  492. package/dist/src/extensions/git/extension/lib/sandbox.js +1 -1
  493. package/dist/src/extensions/git/extension/skills/pr.d.ts +1 -4
  494. package/dist/src/extensions/git/extension/skills/pr.js +1 -1
  495. package/dist/src/extensions/git/extension/tools/gh.d.ts +1 -26
  496. package/dist/src/extensions/git/extension/tools/gh.js +1 -1
  497. package/dist/src/framework/sources/modules/schedule-collection-wrapper.js +1 -1
  498. package/dist/src/harness/action-presentation.d.ts +3 -5
  499. package/dist/src/harness/action-presentation.js +1 -1
  500. package/dist/src/harness/action-result-helpers.d.ts +2 -8
  501. package/dist/src/harness/action-result-helpers.js +1 -1
  502. package/dist/src/harness/approval-outcome.d.ts +32 -0
  503. package/dist/src/harness/approval-outcome.js +1 -0
  504. package/dist/src/harness/attachment-staging.js +1 -1
  505. package/dist/src/harness/authorization.d.ts +2 -3
  506. package/dist/src/harness/authorization.js +1 -1
  507. package/dist/src/harness/call-executor.d.ts +118 -0
  508. package/dist/src/harness/call-executor.js +1 -0
  509. package/dist/src/harness/call-facts.d.ts +31 -0
  510. package/dist/src/harness/call-facts.js +1 -0
  511. package/dist/src/harness/call-outcome.d.ts +6 -0
  512. package/dist/src/harness/call-outcome.js +1 -0
  513. package/dist/src/harness/compaction/engine.d.ts +11 -0
  514. package/dist/src/harness/compaction/engine.js +2 -2
  515. package/dist/src/harness/compaction/step.d.ts +25 -5
  516. package/dist/src/harness/compaction/step.js +1 -1
  517. package/dist/src/harness/coordination.js +1 -1
  518. package/dist/src/harness/current-messages.d.ts +10 -0
  519. package/dist/src/harness/current-messages.js +1 -1
  520. package/dist/src/harness/emission.d.ts +9 -20
  521. package/dist/src/harness/emission.js +1 -1
  522. package/dist/src/harness/execute-call.d.ts +6 -23
  523. package/dist/src/harness/execute-call.js +1 -1
  524. package/dist/src/harness/execute-tool.d.ts +7 -3
  525. package/dist/src/harness/facts.d.ts +82 -0
  526. package/dist/src/harness/facts.js +1 -0
  527. package/dist/src/harness/finish-reason.d.ts +6 -1
  528. package/dist/src/harness/generation-steering.d.ts +4 -2
  529. package/dist/src/harness/generation-steering.js +1 -1
  530. package/dist/src/harness/hitl/approval-prompt.d.ts +3 -3
  531. package/dist/src/harness/hitl/approval-prompt.js +3 -3
  532. package/dist/src/harness/hitl/approvals.d.ts +66 -78
  533. package/dist/src/harness/hitl/approvals.js +2 -1
  534. package/dist/src/harness/hitl/approved-calls.d.ts +14 -36
  535. package/dist/src/harness/hitl/approved-calls.js +1 -1
  536. package/dist/src/harness/hitl/budget-request.d.ts +8 -46
  537. package/dist/src/harness/hitl/budget-request.js +1 -1
  538. package/dist/src/harness/hitl/budget.d.ts +9 -8
  539. package/dist/src/harness/hitl/budget.js +1 -1
  540. package/dist/src/harness/hitl/delivery.d.ts +16 -17
  541. package/dist/src/harness/hitl/delivery.js +1 -1
  542. package/dist/src/harness/hitl/index.d.ts +14 -19
  543. package/dist/src/harness/hitl/index.js +1 -1
  544. package/dist/src/harness/hitl/intake.d.ts +32 -43
  545. package/dist/src/harness/hitl/intake.js +1 -1
  546. package/dist/src/harness/hitl/relays.d.ts +7 -51
  547. package/dist/src/harness/hitl/relays.js +1 -1
  548. package/dist/src/harness/hitl/requests.d.ts +11 -53
  549. package/dist/src/harness/hitl/requests.js +1 -1
  550. package/dist/src/harness/hitl/responders.d.ts +50 -0
  551. package/dist/src/harness/hitl/responders.js +1 -0
  552. package/dist/src/harness/hitl/sign-ins.d.ts +7 -3
  553. package/dist/src/harness/hitl/sign-ins.js +1 -1
  554. package/dist/src/harness/hitl/stale-responses.d.ts +11 -11
  555. package/dist/src/harness/hitl/stale-responses.js +3 -3
  556. package/dist/src/harness/inline-tool-authorization.d.ts +8 -9
  557. package/dist/src/harness/inline-tool-authorization.js +1 -1
  558. package/dist/src/harness/interaction-facts.d.ts +36 -0
  559. package/dist/src/harness/interaction-facts.js +1 -0
  560. package/dist/src/harness/interaction-relay.d.ts +10 -0
  561. package/dist/src/harness/interaction-relay.js +1 -0
  562. package/dist/src/harness/interrupted-attempt.d.ts +19 -0
  563. package/dist/src/harness/interrupted-attempt.js +2 -0
  564. package/dist/src/harness/messages.d.ts +28 -15
  565. package/dist/src/harness/messages.js +1 -1
  566. package/dist/src/harness/model-call/call.d.ts +25 -11
  567. package/dist/src/harness/model-call/call.js +1 -1
  568. package/dist/src/harness/model-call/errors.js +1 -1
  569. package/dist/src/harness/model-call/failure.d.ts +4 -49
  570. package/dist/src/harness/model-call/failure.js +1 -1
  571. package/dist/src/harness/model-call/model.js +1 -1
  572. package/dist/src/harness/model-call/recovery.d.ts +4 -32
  573. package/dist/src/harness/model-call/recovery.js +1 -1
  574. package/dist/src/harness/model-call/request.d.ts +0 -1
  575. package/dist/src/harness/model-call/request.js +1 -1
  576. package/dist/src/harness/model-call/response.d.ts +22 -12
  577. package/dist/src/harness/model-call/response.js +1 -1
  578. package/dist/src/harness/model-call/retry.d.ts +23 -6
  579. package/dist/src/harness/model-call/retry.js +1 -1
  580. package/dist/src/harness/model-call/run.d.ts +4 -12
  581. package/dist/src/harness/model-call/run.js +1 -1
  582. package/dist/src/harness/model-call/tools.d.ts +0 -19
  583. package/dist/src/harness/model-call/tools.js +1 -1
  584. package/dist/src/harness/model-call/unique-call-ids.d.ts +13 -0
  585. package/dist/src/harness/model-call/unique-call-ids.js +1 -0
  586. package/dist/src/harness/model-call/usage.d.ts +7 -5
  587. package/dist/src/harness/model-call/usage.js +1 -1
  588. package/dist/src/harness/ordered-stream-emitter.d.ts +1 -0
  589. package/dist/src/harness/ordered-stream-emitter.js +1 -1
  590. package/dist/src/harness/provider-tool-history.js +1 -1
  591. package/dist/src/harness/publication.d.ts +4 -0
  592. package/dist/src/harness/publication.js +1 -0
  593. package/dist/src/harness/request-envelope.d.ts +0 -3
  594. package/dist/src/harness/request-envelope.js +1 -1
  595. package/dist/src/harness/running-work.d.ts +10 -0
  596. package/dist/src/harness/running-work.js +1 -0
  597. package/dist/src/harness/session-machine/cascade.d.ts +17 -0
  598. package/dist/src/harness/session-machine/cascade.js +1 -0
  599. package/dist/src/harness/session-machine/commit.d.ts +16 -16
  600. package/dist/src/harness/session-machine/commit.js +1 -1
  601. package/dist/src/harness/session-machine/current.d.ts +25 -17
  602. package/dist/src/harness/session-machine/current.js +1 -1
  603. package/dist/src/harness/session-machine/state.d.ts +43 -16
  604. package/dist/src/harness/session-machine/state.js +1 -1
  605. package/dist/src/harness/session-machine/suspended-steps.d.ts +22 -0
  606. package/dist/src/harness/session-machine/suspended-steps.js +1 -0
  607. package/dist/src/harness/session-machine/transitions.d.ts +144 -120
  608. package/dist/src/harness/session-machine/transitions.js +1 -1
  609. package/dist/src/harness/session-machine/view.d.ts +12 -8
  610. package/dist/src/harness/session-machine/view.js +1 -1
  611. package/dist/src/harness/session-machine/waiting.d.ts +16 -0
  612. package/dist/src/harness/session-machine/waiting.js +1 -0
  613. package/dist/src/harness/session-usage.d.ts +22 -0
  614. package/dist/src/harness/session-usage.js +1 -0
  615. package/dist/src/harness/step/after-model.d.ts +1 -4
  616. package/dist/src/harness/step/after-model.js +1 -1
  617. package/dist/src/harness/step/context.d.ts +21 -21
  618. package/dist/src/harness/step/context.js +1 -1
  619. package/dist/src/harness/step/intake.d.ts +7 -8
  620. package/dist/src/harness/step/intake.js +1 -1
  621. package/dist/src/harness/step/park.d.ts +19 -0
  622. package/dist/src/harness/step/park.js +1 -0
  623. package/dist/src/harness/step/prompt.d.ts +4 -5
  624. package/dist/src/harness/step/prompt.js +1 -1
  625. package/dist/src/harness/step-hooks.d.ts +24 -24
  626. package/dist/src/harness/step-hooks.js +1 -1
  627. package/dist/src/harness/stream-actions.d.ts +3 -9
  628. package/dist/src/harness/stream-actions.js +1 -1
  629. package/dist/src/harness/token-estimate.js +1 -1
  630. package/dist/src/harness/tool-history-repair.js +1 -1
  631. package/dist/src/harness/tool-loop.js +1 -1
  632. package/dist/src/harness/tools.d.ts +22 -38
  633. package/dist/src/harness/tools.js +1 -1
  634. package/dist/src/harness/types.d.ts +69 -67
  635. package/dist/src/harness/user-parts.d.ts +4 -0
  636. package/dist/src/harness/user-parts.js +1 -0
  637. package/dist/src/harness/workflow-tool-runs.d.ts +0 -1
  638. package/dist/src/harness/workflow-tool-runs.js +1 -1
  639. package/dist/src/instrumentation/ai-sdk-hook-bridge.d.ts +2 -2
  640. package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
  641. package/dist/src/instrumentation/channel-delivery.d.ts +4 -23
  642. package/dist/src/instrumentation/channel-delivery.js +1 -1
  643. package/dist/src/instrumentation/content.d.ts +1 -7
  644. package/dist/src/instrumentation/content.js +1 -1
  645. package/dist/src/instrumentation/dispatch.js +1 -1
  646. package/dist/src/instrumentation/lifecycle.d.ts +135 -198
  647. package/dist/src/instrumentation/lifecycle.js +1 -1
  648. package/dist/src/instrumentation/memory.d.ts +4 -2
  649. package/dist/src/instrumentation/memory.js +1 -1
  650. package/dist/src/instrumentation/native-events.d.ts +17 -10
  651. package/dist/src/instrumentation/native-events.js +1 -1
  652. package/dist/src/instrumentation/prepare-trace-context.d.ts +3 -3
  653. package/dist/src/instrumentation/provider.d.ts +20 -28
  654. package/dist/src/instrumentation/providers.js +1 -1
  655. package/dist/src/instrumentation/runtime-context.d.ts +1 -0
  656. package/dist/src/instrumentation/runtime-context.js +1 -1
  657. package/dist/src/instrumentation/runtime.d.ts +9 -30
  658. package/dist/src/instrumentation/runtime.js +1 -1
  659. package/dist/src/instrumentation/scope.d.ts +6 -0
  660. package/dist/src/instrumentation/scope.js +1 -0
  661. package/dist/src/instrumentation/session-context.d.ts +1 -1
  662. package/dist/src/instrumentation/session-context.js +1 -1
  663. package/dist/src/instrumentation/session-init.js +1 -1
  664. package/dist/src/instrumentation/setup-context.d.ts +2 -2
  665. package/dist/src/instrumentation/setup-context.js +1 -1
  666. package/dist/src/instrumentation/state.d.ts +0 -21
  667. package/dist/src/instrumentation/state.js +1 -1
  668. package/dist/src/internal/application/dev-environment.d.ts +8 -2
  669. package/dist/src/internal/application/dev-environment.js +1 -1
  670. package/dist/src/internal/application/optional-package-install.js +1 -1
  671. package/dist/src/internal/application/stamped-package-version.js +1 -1
  672. package/dist/src/internal/authored-definition/approval.d.ts +2 -4
  673. package/dist/src/internal/authored-definition/approval.js +1 -1
  674. package/dist/src/internal/authored-definition/connection.js +1 -1
  675. package/dist/src/internal/authored-definition/core.d.ts +1 -1
  676. package/dist/src/internal/authored-definition/core.js +1 -1
  677. package/dist/src/internal/authored-definition/memory.js +1 -1
  678. package/dist/src/internal/authored-definition/schema-backed.d.ts +0 -3
  679. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  680. package/dist/src/internal/authored-module-loader.d.ts +0 -1
  681. package/dist/src/internal/authored-module-loader.js +1 -1
  682. package/dist/src/internal/authored-package-boundary.js +1 -1
  683. package/dist/src/internal/git.d.ts +2 -0
  684. package/dist/src/internal/git.js +1 -0
  685. package/dist/src/internal/grep.d.ts +1 -0
  686. package/dist/src/internal/grep.js +1 -0
  687. package/dist/src/internal/helpers/markdown.js +1 -1
  688. package/dist/src/internal/invocation/agent-invocation.d.ts +16 -19
  689. package/dist/src/internal/invocation/metadata.d.ts +0 -2
  690. package/dist/src/internal/invocation/metadata.js +1 -1
  691. package/dist/src/internal/invocation/workflow-execution.d.ts +4 -4
  692. package/dist/src/internal/invocation/workflow-execution.js +1 -1
  693. package/dist/src/internal/legacy-events.d.ts +5 -0
  694. package/dist/src/internal/legacy-events.js +1 -0
  695. package/dist/src/internal/logging.d.ts +0 -12
  696. package/dist/src/internal/logging.js +1 -1
  697. package/dist/src/internal/mcp/protected-resource.js +1 -1
  698. package/dist/src/internal/mcp/published-tools.js +1 -1
  699. package/dist/src/internal/model-auth/api-key.js +1 -1
  700. package/dist/src/internal/model-auth/development-broker-client.js +1 -1
  701. package/dist/src/internal/model-auth/development-broker-server.js +1 -1
  702. package/dist/src/internal/model-auth/transport.js +1 -1
  703. package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
  704. package/dist/src/internal/nitro/dev-runtime-generation-metadata.js +1 -1
  705. package/dist/src/internal/nitro/host/build-extension.js +2 -2
  706. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  707. package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
  708. package/dist/src/internal/nitro/host/dev-server-state.js +1 -1
  709. package/dist/src/internal/nitro/host/drained-nitro-dev-server.js +1 -1
  710. package/dist/src/internal/nitro/host/start-development-server.js +1 -1
  711. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  712. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
  713. package/dist/src/internal/nitro/routes/channel-route-context.d.ts +8 -1
  714. package/dist/src/internal/nitro/routes/info.js +1 -1
  715. package/dist/src/internal/nitro/routes/schedule-task.js +1 -1
  716. package/dist/src/internal/scaffold.d.ts +5 -0
  717. package/dist/src/internal/scaffold.js +1 -0
  718. package/dist/src/internal/workflow/cancel-expired-development-run.js +1 -1
  719. package/dist/src/internal/workflow/development-world-client.js +1 -1
  720. package/dist/src/internal/workflow/development-world-server.js +1 -1
  721. package/dist/src/internal/workflow/local-world-data-directory.js +1 -1
  722. package/dist/src/internal/workspace.d.ts +1 -0
  723. package/dist/src/internal/workspace.js +1 -0
  724. package/dist/src/models/auto.d.ts +27 -14
  725. package/dist/src/models/auto.js +2 -2
  726. package/dist/src/protocol/delivery.d.ts +11 -0
  727. package/dist/src/protocol/delivery.js +1 -0
  728. package/dist/src/protocol/descendant-observation.d.ts +12 -0
  729. package/dist/src/protocol/descendant-observation.js +1 -0
  730. package/dist/src/protocol/interaction-json.d.ts +66 -0
  731. package/dist/src/protocol/interaction-json.js +1 -0
  732. package/dist/src/protocol/interaction-options.d.ts +4 -0
  733. package/dist/src/protocol/interaction-options.js +1 -0
  734. package/dist/src/protocol/remote-agent-protocol.d.ts +28 -1
  735. package/dist/src/protocol/remote-agent-protocol.js +1 -1
  736. package/dist/src/protocol/routes.d.ts +3 -2
  737. package/dist/src/protocol/routes.js +1 -1
  738. package/dist/src/protocol/session-event.d.ts +22 -0
  739. package/dist/src/protocol/session-event.js +1 -0
  740. package/dist/src/protocol/session-events/authoring.d.ts +2 -0
  741. package/dist/src/protocol/session-events/authoring.js +1 -0
  742. package/dist/src/protocol/session-events/catalog.d.ts +50 -0
  743. package/dist/src/protocol/session-events/catalog.js +1 -0
  744. package/dist/src/protocol/session-events/checker.d.ts +23 -0
  745. package/dist/src/protocol/session-events/checker.js +1 -0
  746. package/dist/src/protocol/session-events/common.d.ts +105 -0
  747. package/dist/src/protocol/session-events/common.js +1 -0
  748. package/dist/src/protocol/session-events/envelope.d.ts +174 -0
  749. package/dist/src/protocol/session-events/envelope.js +1 -0
  750. package/dist/src/protocol/session-events/facts.d.ts +24 -0
  751. package/dist/src/protocol/session-events/facts.js +1 -0
  752. package/dist/src/protocol/session-events/families/call.d.ts +142 -0
  753. package/dist/src/protocol/session-events/families/call.js +1 -0
  754. package/dist/src/protocol/session-events/families/child.d.ts +51 -0
  755. package/dist/src/protocol/session-events/families/child.js +1 -0
  756. package/dist/src/protocol/session-events/families/content.d.ts +56 -0
  757. package/dist/src/protocol/session-events/families/content.js +1 -0
  758. package/dist/src/protocol/session-events/families/context.d.ts +55 -0
  759. package/dist/src/protocol/session-events/families/context.js +1 -0
  760. package/dist/src/protocol/session-events/families/delivery.d.ts +86 -0
  761. package/dist/src/protocol/session-events/families/delivery.js +1 -0
  762. package/dist/src/protocol/session-events/families/interaction.d.ts +163 -0
  763. package/dist/src/protocol/session-events/families/interaction.js +1 -0
  764. package/dist/src/protocol/session-events/families/model.d.ts +88 -0
  765. package/dist/src/protocol/session-events/families/model.js +1 -0
  766. package/dist/src/protocol/session-events/families/response.d.ts +66 -0
  767. package/dist/src/protocol/session-events/families/response.js +1 -0
  768. package/dist/src/protocol/session-events/families/session.d.ts +73 -0
  769. package/dist/src/protocol/session-events/families/session.js +1 -0
  770. package/dist/src/protocol/session-events/families/task.d.ts +46 -0
  771. package/dist/src/protocol/session-events/families/task.js +1 -0
  772. package/dist/src/protocol/session-events/families/turn.d.ts +68 -0
  773. package/dist/src/protocol/session-events/families/turn.js +1 -0
  774. package/dist/src/protocol/session-events/families/usage.d.ts +30 -0
  775. package/dist/src/protocol/session-events/families/usage.js +1 -0
  776. package/dist/src/protocol/session-events/guards.d.ts +11 -0
  777. package/dist/src/protocol/session-events/guards.js +1 -0
  778. package/dist/src/protocol/session-events/index.d.ts +16 -0
  779. package/dist/src/protocol/session-events/index.js +1 -0
  780. package/dist/src/protocol/session-events/json.d.ts +20 -0
  781. package/dist/src/protocol/session-events/json.js +1 -0
  782. package/dist/src/protocol/session-events/schemas.d.ts +320 -0
  783. package/dist/src/protocol/session-events/schemas.js +1 -0
  784. package/dist/src/protocol/session-http.d.ts +7 -0
  785. package/dist/src/protocol/session-http.js +1 -0
  786. package/dist/src/protocol/session-lines.d.ts +19 -0
  787. package/dist/src/protocol/session-lines.js +1 -0
  788. package/dist/src/protocol/session-projection/fold.d.ts +75 -0
  789. package/dist/src/protocol/session-projection/fold.js +1 -0
  790. package/dist/src/protocol/session-projection/index.d.ts +4 -0
  791. package/dist/src/protocol/session-projection/index.js +1 -0
  792. package/dist/src/protocol/session-projection/observations.d.ts +150 -0
  793. package/dist/src/protocol/session-projection/observations.js +1 -0
  794. package/dist/src/protocol/session-projection/public-view.d.ts +74 -0
  795. package/dist/src/protocol/session-projection/public-view.js +1 -0
  796. package/dist/src/protocol/session-projection/reader.d.ts +62 -0
  797. package/dist/src/protocol/session-projection/reader.js +1 -0
  798. package/dist/src/protocol/session-projection/request-status.d.ts +7 -0
  799. package/dist/src/protocol/session-projection/request-status.js +1 -0
  800. package/dist/src/protocol/session-projection/selectors.d.ts +169 -0
  801. package/dist/src/protocol/session-projection/selectors.js +2 -0
  802. package/dist/src/protocol/session-projection/session-view.d.ts +18 -0
  803. package/dist/src/protocol/session-projection/session-view.js +1 -0
  804. package/dist/src/protocol/session-projection/tables.d.ts +237 -0
  805. package/dist/src/protocol/session-projection/tables.js +1 -0
  806. package/dist/src/protocol/session-projection/tree.d.ts +72 -0
  807. package/dist/src/protocol/session-projection/tree.js +1 -0
  808. package/dist/src/protocol/session-projection.d.ts +38 -157
  809. package/dist/src/protocol/session-projection.js +1 -1
  810. package/dist/src/protocol/task-tools.d.ts +8 -6
  811. package/dist/src/protocol/task-tools.js +1 -1
  812. package/dist/src/protocol/v26-interactions.d.ts +11 -0
  813. package/dist/src/protocol/v26-interactions.js +1 -0
  814. package/dist/src/protocol/v26-lines.d.ts +5 -0
  815. package/dist/src/protocol/v26-lines.js +1 -0
  816. package/dist/src/public/agents/auth.d.ts +2 -2
  817. package/dist/src/public/agents/auth.js +1 -1
  818. package/dist/src/public/ai/index.d.ts +1 -0
  819. package/dist/src/public/channels/auth.d.ts +2 -532
  820. package/dist/src/public/channels/auth.js +1 -1
  821. package/dist/src/public/channels/chat-sdk/authorization.d.ts +5 -2
  822. package/dist/src/public/channels/chat-sdk/authorization.js +1 -3
  823. package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +10 -10
  824. package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +1 -3
  825. package/dist/src/public/channels/chat-sdk/index.d.ts +1 -1
  826. package/dist/src/public/channels/chat-sdk/index.js +1 -1
  827. package/dist/src/public/channels/chat-sdk/input-actions.d.ts +4 -4
  828. package/dist/src/public/channels/chat-sdk/input-actions.js +3 -3
  829. package/dist/src/public/channels/chat-sdk/{messageToUserContent.d.ts → message-content.d.ts} +3 -3
  830. package/dist/src/public/channels/chat-sdk/message-content.js +1 -0
  831. package/dist/src/public/channels/discord/api.d.ts +8 -11
  832. package/dist/src/public/channels/discord/api.js +1 -1
  833. package/dist/src/public/channels/discord/attachments.d.ts +2 -2
  834. package/dist/src/public/channels/discord/authorization.d.ts +3 -13
  835. package/dist/src/public/channels/discord/authorization.js +2 -2
  836. package/dist/src/public/channels/discord/credentials.d.ts +11 -0
  837. package/dist/src/public/channels/discord/credentials.js +1 -0
  838. package/dist/src/public/channels/discord/defaults.d.ts +7 -1
  839. package/dist/src/public/channels/discord/defaults.js +1 -3
  840. package/dist/src/public/channels/discord/discordChannel.d.ts +36 -48
  841. package/dist/src/public/channels/discord/discordChannel.js +1 -1
  842. package/dist/src/public/channels/discord/hitl.d.ts +5 -4
  843. package/dist/src/public/channels/discord/hitl.js +1 -1
  844. package/dist/src/public/channels/discord/index.d.ts +4 -12
  845. package/dist/src/public/channels/discord/index.js +1 -1
  846. package/dist/src/public/channels/discord/messages.js +1 -1
  847. package/dist/src/public/channels/github/defaults.js +2 -4
  848. package/dist/src/public/channels/github/githubChannel.d.ts +23 -36
  849. package/dist/src/public/channels/github/githubChannel.js +1 -1
  850. package/dist/src/public/channels/github/index.d.ts +3 -2
  851. package/dist/src/public/channels/github/index.js +1 -1
  852. package/dist/src/public/channels/github/state.d.ts +2 -0
  853. package/dist/src/public/channels/imessage-tapbacks.d.ts +1 -1
  854. package/dist/src/public/channels/index.d.ts +16 -37
  855. package/dist/src/public/channels/index.js +1 -1
  856. package/dist/src/public/channels/linear/defaults.js +2 -4
  857. package/dist/src/public/channels/linear/hitl.d.ts +3 -3
  858. package/dist/src/public/channels/linear/hitl.js +2 -2
  859. package/dist/src/public/channels/linear/inbound-uploads.d.ts +3 -3
  860. package/dist/src/public/channels/linear/inbound-uploads.js +1 -1
  861. package/dist/src/public/channels/linear/inbound.d.ts +5 -3
  862. package/dist/src/public/channels/linear/inbound.js +1 -1
  863. package/dist/src/public/channels/linear/index.d.ts +4 -6
  864. package/dist/src/public/channels/linear/index.js +1 -1
  865. package/dist/src/public/channels/linear/linearChannel.d.ts +19 -30
  866. package/dist/src/public/channels/linear/linearChannel.js +1 -1
  867. package/dist/src/public/channels/linq/inboundContent.d.ts +2 -2
  868. package/dist/src/public/channels/linq/inboundContent.js +1 -1
  869. package/dist/src/public/channels/linq/index.d.ts +1 -1
  870. package/dist/src/public/channels/linq/linqChannel.d.ts +1 -2
  871. package/dist/src/public/channels/mcp.d.ts +2 -2
  872. package/dist/src/public/channels/mcp.js +1 -1
  873. package/dist/src/public/channels/photon/inboundContent.d.ts +2 -2
  874. package/dist/src/public/channels/photon/inboundContent.js +1 -1
  875. package/dist/src/public/channels/photon/index.d.ts +1 -1
  876. package/dist/src/public/channels/photon/photonIMessageChannel.d.ts +1 -2
  877. package/dist/src/public/channels/reply.d.ts +22 -0
  878. package/dist/src/public/channels/reply.js +3 -0
  879. package/dist/src/public/channels/slack/action-status.js +1 -1
  880. package/dist/src/public/channels/slack/{input-response.d.ts → answers.d.ts} +5 -5
  881. package/dist/src/public/channels/slack/answers.js +1 -0
  882. package/dist/src/public/channels/slack/api.d.ts +5 -2
  883. package/dist/src/public/channels/slack/api.js +1 -1
  884. package/dist/src/public/channels/slack/approval-cards.d.ts +15 -5
  885. package/dist/src/public/channels/slack/approval-cards.js +2 -2
  886. package/dist/src/public/channels/slack/attachments.d.ts +6 -6
  887. package/dist/src/public/channels/slack/attachments.js +1 -1
  888. package/dist/src/public/channels/slack/blocks.d.ts +1 -1
  889. package/dist/src/public/channels/slack/blocks.js +1 -1
  890. package/dist/src/public/channels/slack/cards.d.ts +576 -0
  891. package/dist/src/public/channels/slack/cards.js +1 -0
  892. package/dist/src/public/channels/slack/connections.d.ts +4 -22
  893. package/dist/src/public/channels/slack/connections.js +1 -1
  894. package/dist/src/public/channels/slack/defaults.d.ts +13 -2
  895. package/dist/src/public/channels/slack/defaults.js +5 -5
  896. package/dist/src/public/channels/slack/hitl.d.ts +20 -19
  897. package/dist/src/public/channels/slack/hitl.js +3 -3
  898. package/dist/src/public/channels/slack/index.d.ts +7 -16
  899. package/dist/src/public/channels/slack/index.js +1 -1
  900. package/dist/src/public/channels/slack/interaction-cards.js +1 -1
  901. package/dist/src/public/channels/slack/interactions.d.ts +2 -2
  902. package/dist/src/public/channels/slack/interactions.js +1 -1
  903. package/dist/src/public/channels/slack/limits.js +1 -1
  904. package/dist/src/public/channels/slack/private-approval-delivery.d.ts +3 -3
  905. package/dist/src/public/channels/slack/private-approval-delivery.js +1 -1
  906. package/dist/src/public/channels/slack/renderers.d.ts +21 -27
  907. package/dist/src/public/channels/slack/renderers.js +1 -1
  908. package/dist/src/public/channels/slack/reply-delivery.d.ts +4 -4
  909. package/dist/src/public/channels/slack/reply-delivery.js +1 -1
  910. package/dist/src/public/channels/slack/session-operations.d.ts +4 -4
  911. package/dist/src/public/channels/slack/sign-in-cancel.js +1 -1
  912. package/dist/src/public/channels/slack/slackChannel.d.ts +30 -37
  913. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  914. package/dist/src/public/channels/slack/task-card.d.ts +9 -9
  915. package/dist/src/public/channels/slack/task-card.js +1 -1
  916. package/dist/src/public/channels/teams/api.d.ts +3 -7
  917. package/dist/src/public/channels/teams/attachments.d.ts +4 -4
  918. package/dist/src/public/channels/teams/authorization.d.ts +5 -9
  919. package/dist/src/public/channels/teams/authorization.js +1 -1
  920. package/dist/src/public/channels/teams/credentials.d.ts +13 -0
  921. package/dist/src/public/channels/teams/credentials.js +1 -0
  922. package/dist/src/public/channels/teams/defaults.d.ts +2 -6
  923. package/dist/src/public/channels/teams/defaults.js +1 -3
  924. package/dist/src/public/channels/teams/hitl.d.ts +8 -7
  925. package/dist/src/public/channels/teams/hitl.js +1 -1
  926. package/dist/src/public/channels/teams/index.d.ts +6 -8
  927. package/dist/src/public/channels/teams/index.js +1 -1
  928. package/dist/src/public/channels/teams/teamsChannel.d.ts +25 -44
  929. package/dist/src/public/channels/teams/teamsChannel.js +1 -1
  930. package/dist/src/public/channels/telegram/api.d.ts +3 -4
  931. package/dist/src/public/channels/telegram/attachments.d.ts +5 -5
  932. package/dist/src/public/channels/telegram/authorization-callback.js +1 -1
  933. package/dist/src/public/channels/telegram/authorization.d.ts +4 -8
  934. package/dist/src/public/channels/telegram/authorization.js +2 -2
  935. package/dist/src/public/channels/telegram/credentials.d.ts +9 -0
  936. package/dist/src/public/channels/telegram/credentials.js +1 -0
  937. package/dist/src/public/channels/telegram/defaults.js +1 -3
  938. package/dist/src/public/channels/telegram/hitl.d.ts +22 -20
  939. package/dist/src/public/channels/telegram/hitl.js +2 -2
  940. package/dist/src/public/channels/telegram/index.d.ts +5 -7
  941. package/dist/src/public/channels/telegram/index.js +1 -1
  942. package/dist/src/public/channels/telegram/telegramChannel.d.ts +23 -36
  943. package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
  944. package/dist/src/public/channels/text.d.ts +4 -0
  945. package/dist/src/public/channels/text.js +1 -0
  946. package/dist/src/public/channels/twilio/api.d.ts +8 -8
  947. package/dist/src/public/channels/twilio/api.js +1 -1
  948. package/dist/src/public/channels/twilio/credentials.d.ts +7 -0
  949. package/dist/src/public/channels/twilio/credentials.js +1 -0
  950. package/dist/src/public/channels/twilio/defaults.d.ts +0 -1
  951. package/dist/src/public/channels/twilio/defaults.js +1 -5
  952. package/dist/src/public/channels/twilio/inbound.d.ts +2 -2
  953. package/dist/src/public/channels/twilio/index.d.ts +4 -4
  954. package/dist/src/public/channels/twilio/index.js +1 -1
  955. package/dist/src/public/channels/twilio/twilioChannel.d.ts +24 -37
  956. package/dist/src/public/channels/twilio/twilioChannel.js +1 -1
  957. package/dist/src/public/channels/twilio/verify.d.ts +6 -4
  958. package/dist/src/public/channels/undelivered-reply.d.ts +2 -2
  959. package/dist/src/public/channels/upload-policy.d.ts +7 -7
  960. package/dist/src/public/connections/index.d.ts +3 -5
  961. package/dist/src/public/context/index.d.ts +3 -2
  962. package/dist/src/public/definitions/agent.d.ts +18 -18
  963. package/dist/src/public/definitions/agent.js +1 -1
  964. package/dist/src/public/definitions/approval.d.ts +1 -1
  965. package/dist/src/public/definitions/channel.d.ts +57 -60
  966. package/dist/src/public/definitions/channel.js +1 -1
  967. package/dist/src/public/definitions/connections/dynamic.d.ts +3 -15
  968. package/dist/src/public/definitions/connections/dynamic.js +1 -1
  969. package/dist/src/public/definitions/connections/events.d.ts +9 -9
  970. package/dist/src/public/definitions/connections/mcp.d.ts +5 -3
  971. package/dist/src/public/definitions/connections/openapi.d.ts +1 -1
  972. package/dist/src/public/definitions/extension.d.ts +2 -4
  973. package/dist/src/public/definitions/extension.js +1 -1
  974. package/dist/src/public/definitions/hook.d.ts +63 -85
  975. package/dist/src/public/definitions/hook.js +1 -1
  976. package/dist/src/public/definitions/instructions.d.ts +3 -10
  977. package/dist/src/public/definitions/instructions.js +1 -1
  978. package/dist/src/public/definitions/model.d.ts +21 -0
  979. package/dist/src/public/definitions/model.js +1 -0
  980. package/dist/src/public/definitions/removed-event-keys.d.ts +2 -0
  981. package/dist/src/public/definitions/removed-event-keys.js +1 -0
  982. package/dist/src/public/definitions/sandbox.d.ts +1 -1
  983. package/dist/src/public/definitions/schedule.d.ts +4 -4
  984. package/dist/src/public/definitions/skill.d.ts +5 -0
  985. package/dist/src/public/definitions/skill.js +1 -1
  986. package/dist/src/public/events/index.d.ts +27 -0
  987. package/dist/src/public/events/index.js +1 -0
  988. package/dist/src/public/experimental/connections/index.d.ts +1 -0
  989. package/dist/src/public/experimental/connections/index.js +1 -0
  990. package/dist/src/public/experimental/schedules/client.js +1 -1
  991. package/dist/src/public/hooks/index.d.ts +4 -3
  992. package/dist/src/public/index.d.ts +3 -2
  993. package/dist/src/public/instructions/index.d.ts +2 -2
  994. package/dist/src/public/instrumentation/index.d.ts +9 -28
  995. package/dist/src/public/instrumentation/index.js +1 -1
  996. package/dist/src/public/instrumentation/otel.d.ts +1 -1
  997. package/dist/src/public/instrumentation/otel.js +1 -1
  998. package/dist/src/public/instrumentation/provider.d.ts +1 -1
  999. package/dist/src/public/instrumentation/provider.js +1 -1
  1000. package/dist/src/public/local-dev.d.ts +3 -1
  1001. package/dist/src/public/memory/file/backend.d.ts +1 -1
  1002. package/dist/src/public/memory/file/backends/in-memory.js +1 -1
  1003. package/dist/src/public/memory/file/backends/vercel-blob.js +1 -1
  1004. package/dist/src/public/memory/file/provider.js +1 -1
  1005. package/dist/src/public/memory/index.d.ts +14 -20
  1006. package/dist/src/public/models/index.d.ts +3 -0
  1007. package/dist/src/public/models/index.js +1 -1
  1008. package/dist/src/public/models/openai/index.d.ts +0 -2
  1009. package/dist/src/public/models/openai/index.js +1 -1
  1010. package/dist/src/public/next/index.d.ts +5 -36
  1011. package/dist/src/public/next/index.js +1 -1
  1012. package/dist/src/public/nuxt/index.d.ts +1 -1
  1013. package/dist/src/public/nuxt/module.d.ts +5 -2
  1014. package/dist/src/public/sandbox/index.d.ts +1 -1
  1015. package/dist/src/public/sandbox/vercel-sandbox.d.ts +52 -12
  1016. package/dist/src/public/sandbox/vercel.d.ts +1 -1
  1017. package/dist/src/public/schedules/subscription.d.ts +5 -8
  1018. package/dist/src/public/server/index.d.ts +2 -14
  1019. package/dist/src/public/server/index.js +1 -1
  1020. package/dist/src/public/sessions/index.d.ts +6 -0
  1021. package/dist/src/public/sessions/index.js +1 -0
  1022. package/dist/src/public/skills/index.d.ts +2 -2
  1023. package/dist/src/public/skills/index.js +1 -1
  1024. package/dist/src/public/sveltekit/routing.d.ts +0 -4
  1025. package/dist/src/public/sveltekit/routing.js +1 -1
  1026. package/dist/src/public/tools/approval/index.d.ts +1 -1
  1027. package/dist/src/public/tools/bash.d.ts +1 -1
  1028. package/dist/src/public/tools/bash.js +1 -1
  1029. package/dist/src/public/tools/glob.d.ts +1 -1
  1030. package/dist/src/public/tools/glob.js +1 -1
  1031. package/dist/src/public/tools/grep.d.ts +1 -1
  1032. package/dist/src/public/tools/grep.js +1 -1
  1033. package/dist/src/public/tools/index.d.ts +5 -9
  1034. package/dist/src/public/tools/index.js +1 -1
  1035. package/dist/src/public/tools/read-file.d.ts +1 -1
  1036. package/dist/src/public/tools/read-file.js +1 -1
  1037. package/dist/src/public/tools/result.d.ts +17 -9
  1038. package/dist/src/public/tools/result.js +1 -1
  1039. package/dist/src/public/tools/web-fetch.d.ts +1 -1
  1040. package/dist/src/public/tools/web-fetch.js +1 -1
  1041. package/dist/src/public/tools/web-search.d.ts +1 -3
  1042. package/dist/src/public/tools/web-search.js +1 -1
  1043. package/dist/src/public/tools/write-file.d.ts +1 -1
  1044. package/dist/src/public/tools/write-file.js +1 -1
  1045. package/dist/src/public/workflow-modules.d.ts +8 -2
  1046. package/dist/src/react/index.d.ts +4 -7
  1047. package/dist/src/react/index.js +1 -1
  1048. package/dist/src/react/use-eve-agent.d.ts +68 -50
  1049. package/dist/src/react/use-eve-agent.js +1 -1
  1050. package/dist/src/reactions/bundle.d.ts +4 -0
  1051. package/dist/src/reactions/bundle.js +1 -0
  1052. package/dist/src/reactions/frame.d.ts +13 -0
  1053. package/dist/src/reactions/frame.js +1 -0
  1054. package/dist/src/reactions/intents.d.ts +22 -0
  1055. package/dist/src/reactions/intents.js +1 -0
  1056. package/dist/src/reactions/kinds/connection.d.ts +18 -0
  1057. package/dist/src/reactions/kinds/connection.js +1 -0
  1058. package/dist/src/reactions/kinds/hook.d.ts +8 -0
  1059. package/dist/src/reactions/kinds/hook.js +1 -0
  1060. package/dist/src/reactions/kinds/instructions.d.ts +21 -0
  1061. package/dist/src/reactions/kinds/instructions.js +1 -0
  1062. package/dist/src/reactions/kinds/memory.d.ts +72 -0
  1063. package/dist/src/reactions/kinds/memory.js +1 -0
  1064. package/dist/src/reactions/kinds/model.d.ts +21 -0
  1065. package/dist/src/reactions/kinds/model.js +1 -0
  1066. package/dist/src/reactions/kinds/skill.d.ts +27 -0
  1067. package/dist/src/reactions/kinds/skill.js +1 -0
  1068. package/dist/src/reactions/kinds/subagent.d.ts +16 -0
  1069. package/dist/src/reactions/kinds/subagent.js +1 -0
  1070. package/dist/src/reactions/kinds/tool.d.ts +16 -0
  1071. package/dist/src/reactions/kinds/tool.js +1 -0
  1072. package/dist/src/reactions/policy.d.ts +13 -0
  1073. package/dist/src/reactions/policy.js +1 -0
  1074. package/dist/src/reactions/reaction.d.ts +83 -0
  1075. package/dist/src/reactions/reaction.js +1 -0
  1076. package/dist/src/reactions/records.d.ts +40 -0
  1077. package/dist/src/reactions/records.js +1 -0
  1078. package/dist/src/reactions/remote.d.ts +25 -0
  1079. package/dist/src/reactions/remote.js +1 -0
  1080. package/dist/src/reactions/runner.d.ts +45 -0
  1081. package/dist/src/reactions/runner.js +1 -0
  1082. package/dist/src/reactions/state.d.ts +102 -0
  1083. package/dist/src/reactions/state.js +1 -0
  1084. package/dist/src/reactions/turn.d.ts +12 -0
  1085. package/dist/src/reactions/turn.js +2 -0
  1086. package/dist/src/runtime/agent/bootstrap.d.ts +1 -3
  1087. package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
  1088. package/dist/src/runtime/agent/resolve-model.js +1 -1
  1089. package/dist/src/runtime/connections/principal.d.ts +2 -0
  1090. package/dist/src/runtime/connections/principal.js +1 -1
  1091. package/dist/src/runtime/connections/registry.d.ts +2 -2
  1092. package/dist/src/runtime/connections/registry.js +1 -1
  1093. package/dist/src/runtime/connections/scoped-authorization.d.ts +8 -1
  1094. package/dist/src/runtime/connections/scoped-authorization.js +1 -1
  1095. package/dist/src/runtime/graph.d.ts +0 -6
  1096. package/dist/src/runtime/local-dev-capability.d.ts +2 -3
  1097. package/dist/src/runtime/local-dev-capability.js +1 -1
  1098. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  1099. package/dist/src/runtime/resolve-agent.js +1 -1
  1100. package/dist/src/runtime/resolve-connection.js +1 -1
  1101. package/dist/src/runtime/resolve-dynamic.d.ts +9 -0
  1102. package/dist/src/runtime/resolve-dynamic.js +1 -0
  1103. package/dist/src/runtime/resolve-hook.js +1 -1
  1104. package/dist/src/runtime/resolve-memory.js +1 -1
  1105. package/dist/src/runtime/resolve-tool.js +1 -1
  1106. package/dist/src/runtime/schedules/collection-client.js +1 -1
  1107. package/dist/src/runtime/schedules/dispatch-occurrence.js +1 -1
  1108. package/dist/src/runtime/sessions/compiled-agent-cache.d.ts +0 -2
  1109. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
  1110. package/dist/src/runtime/subagents/dynamic-agent-config.js +1 -1
  1111. package/dist/src/runtime/subagents/dynamic-remote-agent-config.d.ts +16 -3
  1112. package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
  1113. package/dist/src/runtime/subagents/workflow.js +1 -1
  1114. package/dist/src/runtime/types.d.ts +22 -39
  1115. package/dist/src/sandbox/provider.d.ts +3 -3
  1116. package/dist/src/sandbox/providers/default.d.ts +4 -2
  1117. package/dist/src/sandbox/providers/default.js +1 -1
  1118. package/dist/src/self-modification/agent.d.ts +3 -3
  1119. package/dist/src/self-modification/agent.js +1 -1
  1120. package/dist/src/self-modification/config.d.ts +1 -1
  1121. package/dist/src/self-modification/config.js +1 -1
  1122. package/dist/src/self-modification/deployed-sandbox.js +1 -1
  1123. package/dist/src/self-modification/extension/extension.d.ts +1 -0
  1124. package/dist/src/self-modification/extension/local-only.d.ts +1 -1
  1125. package/dist/src/self-modification/extension/local-only.js +1 -1
  1126. package/dist/src/self-modification/extension/subagents/agent/agent.d.ts +15 -4
  1127. package/dist/src/self-modification/extension/subagents/agent/agent.js +1 -1
  1128. package/dist/src/self-modification/extension/subagents/agent/instructions.d.ts +1 -1
  1129. package/dist/src/self-modification/extension/subagents/agent/instructions.js +2 -2
  1130. package/dist/src/self-modification/extension/subagents/agent/sandbox.d.ts +2 -2
  1131. package/dist/src/self-modification/extension/subagents/agent/sandbox.js +1 -1
  1132. package/dist/src/self-modification/extension/subagents/agent/skills/trace_analysis.d.ts +3 -3
  1133. package/dist/src/self-modification/extension/subagents/agent/skills/trace_analysis.js +1 -1
  1134. package/dist/src/self-modification/extension/subagents/agent/tools/inspect_trace.d.ts +1 -1
  1135. package/dist/src/self-modification/extension/subagents/agent/tools/inspect_trace_spans.d.ts +1 -1
  1136. package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.d.ts +1 -1
  1137. package/dist/src/self-modification/extension/subagents/agent/tools/search_traces.d.ts +1 -1
  1138. package/dist/src/self-modification/mode.d.ts +8 -0
  1139. package/dist/src/self-modification/mode.js +1 -1
  1140. package/dist/src/self-modification/remote/config.d.ts +3 -6
  1141. package/dist/src/self-modification/remote/extension.d.ts +1 -0
  1142. package/dist/src/self-modification/remote/production-registry-add.js +1 -1
  1143. package/dist/src/self-modification/remote/subagents/agent/agent.d.ts +6 -3
  1144. package/dist/src/self-modification/remote/subagents/agent/agent.js +1 -1
  1145. package/dist/src/self-modification/remote/subagents/agent/instructions.d.ts +1 -1
  1146. package/dist/src/self-modification/remote/subagents/agent/instructions.js +2 -2
  1147. package/dist/src/self-modification/remote/subagents/agent/tools/publish.d.ts +1 -3
  1148. package/dist/src/self-modification/remote/subagents/agent/tools/publish.js +1 -1
  1149. package/dist/src/self-modification/remote/subagents/agent/tools/registry_add.d.ts +1 -3
  1150. package/dist/src/self-modification/remote/subagents/agent/tools/registry_add.js +1 -1
  1151. package/dist/src/self-modification/scaffold.js +1 -1
  1152. package/dist/src/self-modification/setup.js +3 -6
  1153. package/dist/src/services/dev-client/client-options.js +1 -1
  1154. package/dist/src/services/dev-client.d.ts +4 -4
  1155. package/dist/src/services/dev-client.js +1 -1
  1156. package/dist/src/setup/integrations/self-modification/setup.d.ts +1 -4
  1157. package/dist/src/setup/integrations/self-modification/setup.js +1 -1
  1158. package/dist/src/setup/scaffold/create/project.js +1 -1
  1159. package/dist/src/setup/scaffold/create/web-template.d.ts +9 -18
  1160. package/dist/src/setup/scaffold/create/web-template.js +1015 -2537
  1161. package/dist/src/setup/verified-remote-agent.js +1 -1
  1162. package/dist/src/shared/action-label.d.ts +5 -3
  1163. package/dist/src/shared/action-label.js +1 -1
  1164. package/dist/src/shared/action-types.d.ts +5 -0
  1165. package/dist/src/shared/action-types.js +1 -1
  1166. package/dist/src/shared/agent-definition.d.ts +14 -9
  1167. package/dist/src/shared/answers-delivery-id.d.ts +1 -0
  1168. package/dist/src/shared/answers-delivery-id.js +1 -0
  1169. package/dist/src/shared/channel-context.d.ts +12 -0
  1170. package/dist/src/shared/channel-context.js +1 -0
  1171. package/dist/src/shared/channel-definition.d.ts +19 -26
  1172. package/dist/src/shared/channel-delivery.d.ts +16 -0
  1173. package/dist/src/shared/channel-delivery.js +1 -0
  1174. package/dist/src/shared/connection-events.d.ts +2 -2
  1175. package/dist/src/shared/connection-types.d.ts +7 -32
  1176. package/dist/src/shared/conversation-context.d.ts +4 -13
  1177. package/dist/src/shared/delivery.d.ts +38 -0
  1178. package/dist/src/shared/delivery.js +1 -0
  1179. package/dist/src/shared/history-message.d.ts +190 -0
  1180. package/dist/src/shared/history-message.js +1 -0
  1181. package/dist/src/shared/input.d.ts +23 -97
  1182. package/dist/src/shared/input.js +1 -1
  1183. package/dist/src/shared/instructions-definition.d.ts +2 -8
  1184. package/dist/src/shared/instrumentation-channel-kind.d.ts +1 -1
  1185. package/dist/src/shared/instrumentation-channel.d.ts +12 -0
  1186. package/dist/src/shared/instrumentation-channel.js +1 -0
  1187. package/dist/src/shared/json.d.ts +2 -18
  1188. package/dist/src/shared/memory-state.d.ts +4 -40
  1189. package/dist/src/shared/memory-state.js +1 -1
  1190. package/dist/src/shared/message-content.d.ts +19 -0
  1191. package/dist/src/shared/message-content.js +1 -0
  1192. package/dist/src/shared/network-address.d.ts +9 -0
  1193. package/dist/src/shared/network-address.js +1 -1
  1194. package/dist/src/shared/sandbox-environment.d.ts +2 -2
  1195. package/dist/src/shared/sandbox-provider.d.ts +1 -1
  1196. package/dist/src/shared/sandbox-session.d.ts +60 -85
  1197. package/dist/src/shared/schedule-definition.d.ts +5 -5
  1198. package/dist/src/shared/serialized-observability-state.d.ts +0 -2
  1199. package/dist/src/shared/serialized-observability-state.js +1 -1
  1200. package/dist/src/shared/session-history.d.ts +2 -2
  1201. package/dist/src/shared/session.d.ts +22 -0
  1202. package/dist/src/shared/session.js +1 -0
  1203. package/dist/src/shared/skill-definition.d.ts +1 -1
  1204. package/dist/src/shared/skill-package.d.ts +2 -2
  1205. package/dist/src/shared/skill-package.js +1 -1
  1206. package/dist/src/shared/token-usage-math.d.ts +5 -0
  1207. package/dist/src/shared/token-usage-math.js +1 -0
  1208. package/dist/src/shared/token-usage.d.ts +0 -2
  1209. package/dist/src/shared/token-usage.js +1 -1
  1210. package/dist/src/shared/validate-authorization.js +1 -1
  1211. package/dist/src/shared/wait-with-signal.d.ts +2 -0
  1212. package/dist/src/shared/wait-with-signal.js +1 -0
  1213. package/dist/src/subagents/adapter.d.ts +3 -5
  1214. package/dist/src/subagents/adapter.js +1 -1
  1215. package/dist/src/subagents/callback-route.js +1 -1
  1216. package/dist/src/subagents/event-proxy-step.d.ts +6 -9
  1217. package/dist/src/subagents/event-proxy-step.js +1 -1
  1218. package/dist/src/subagents/hitl-proxy.d.ts +11 -23
  1219. package/dist/src/subagents/hitl-proxy.js +1 -1
  1220. package/dist/src/subagents/invocation.d.ts +8 -8
  1221. package/dist/src/subagents/invocation.js +2 -2
  1222. package/dist/src/subagents/parent-notification.d.ts +5 -0
  1223. package/dist/src/subagents/parent-notification.js +1 -1
  1224. package/dist/src/subagents/protocol-two-callback.d.ts +27 -0
  1225. package/dist/src/subagents/protocol-two-callback.js +1 -0
  1226. package/dist/src/svelte/index.d.ts +3 -6
  1227. package/dist/src/svelte/index.js +2 -39
  1228. package/dist/src/svelte/use-eve-agent.d.ts +67 -56
  1229. package/dist/src/svelte/use-eve-agent.js +1 -1
  1230. package/dist/src/tool-stubs/rules.js +1 -1
  1231. package/dist/src/tools/approval/policies.d.ts +4 -16
  1232. package/dist/src/tools/approval/policies.js +1 -1
  1233. package/dist/src/tools/auth.d.ts +3 -3
  1234. package/dist/src/tools/definition.d.ts +13 -35
  1235. package/dist/src/tools/definition.js +1 -1
  1236. package/dist/src/tools/dynamic.d.ts +13 -72
  1237. package/dist/src/tools/dynamic.js +1 -1
  1238. package/dist/src/tools/framework/agent.js +1 -1
  1239. package/dist/src/tools/provided/ask-question-workflow.d.ts +3 -3
  1240. package/dist/src/tools/provided/ask-question-workflow.js +1 -1
  1241. package/dist/src/tools/provided/ask-question.d.ts +2 -2
  1242. package/dist/src/tools/provided/ask-question.js +1 -1
  1243. package/dist/src/tools/provided/grep.d.ts +2 -15
  1244. package/dist/src/tools/provided/grep.js +1 -2
  1245. package/dist/src/tools/provided/no-reply.d.ts +2 -2
  1246. package/dist/src/tools/provided/no-reply.js +1 -1
  1247. package/dist/src/tools/provided/sleep-workflow.js +1 -1
  1248. package/dist/src/tools/provided/sleep.d.ts +2 -2
  1249. package/dist/src/tools/provided/sleep.js +1 -1
  1250. package/dist/src/tools/provided/workflow.js +1 -1
  1251. package/dist/src/tools/workflow-definition.d.ts +17 -15
  1252. package/dist/src/tracing/eve/agent-approval-instrumentation.d.ts +1 -1
  1253. package/dist/src/tracing/eve/agent-approval-instrumentation.js +1 -1
  1254. package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.d.ts +2 -2
  1255. package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.js +1 -1
  1256. package/dist/src/tracing/eve/agent-invocation-coordinator.d.ts +2 -2
  1257. package/dist/src/tracing/eve/agent-otel-provider.js +1 -1
  1258. package/dist/src/tracing/eve/agent-tool-instrumentation.d.ts +6 -7
  1259. package/dist/src/tracing/eve/agent-tool-instrumentation.js +1 -1
  1260. package/dist/src/tracing/eve/agent-trace-context-store.d.ts +3 -3
  1261. package/dist/src/tracing/eve/agent-trace-state.d.ts +1 -6
  1262. package/dist/src/tracing/eve/delegation.d.ts +4 -4
  1263. package/dist/src/tracing/eve/install-instrumentation-runtime.js +1 -1
  1264. package/dist/src/tracing/eve/invoke-tool-span.d.ts +3 -2
  1265. package/dist/src/tracing/eve/invoke-tool-span.js +1 -1
  1266. package/dist/src/tracing/eve/otel-declaration.d.ts +9 -10
  1267. package/dist/src/tracing/eve/otel-declaration.js +1 -1
  1268. package/dist/src/tracing/eve/policy.d.ts +2 -2
  1269. package/dist/src/tracing/eve/policy.js +1 -1
  1270. package/dist/src/tracing/eve/session.d.ts +4 -3
  1271. package/dist/src/tracing/eve/session.js +1 -1
  1272. package/dist/src/vue/index.d.ts +3 -6
  1273. package/dist/src/vue/index.js +2 -39
  1274. package/dist/src/vue/use-eve-agent.d.ts +70 -59
  1275. package/dist/src/vue/use-eve-agent.js +1 -1
  1276. package/docs/agent-config.md +40 -44
  1277. package/docs/channels/chat-sdk.mdx +19 -13
  1278. package/docs/channels/custom.mdx +106 -85
  1279. package/docs/channels/discord.mdx +12 -12
  1280. package/docs/channels/eve.mdx +48 -15
  1281. package/docs/channels/github.mdx +2 -2
  1282. package/docs/channels/linear.mdx +8 -8
  1283. package/docs/channels/linq.mdx +1 -1
  1284. package/docs/channels/mcp.mdx +2 -2
  1285. package/docs/channels/overview.mdx +11 -1
  1286. package/docs/channels/photon.mdx +1 -1
  1287. package/docs/channels/slack.mdx +64 -57
  1288. package/docs/channels/teams.mdx +4 -4
  1289. package/docs/channels/telegram.mdx +1 -1
  1290. package/docs/channels/twilio.mdx +2 -2
  1291. package/docs/code-extension.mdx +19 -7
  1292. package/docs/concepts/built-in-tools.md +21 -9
  1293. package/docs/concepts/context-control.md +5 -8
  1294. package/docs/concepts/default-harness.md +7 -8
  1295. package/docs/concepts/execution-model-and-durability.mdx +119 -12
  1296. package/docs/concepts/meta.json +1 -0
  1297. package/docs/concepts/sessions-runs-and-streaming.md +244 -138
  1298. package/docs/concepts/state.md +1 -1
  1299. package/docs/concepts/upgrade-to-v27-events.md +128 -0
  1300. package/docs/connections/mcp.mdx +38 -34
  1301. package/docs/connections/openapi.mdx +23 -2
  1302. package/docs/connections/overview.mdx +66 -57
  1303. package/docs/evals/assertions.mdx +30 -24
  1304. package/docs/evals/cases.mdx +19 -24
  1305. package/docs/evals/judge.mdx +2 -2
  1306. package/docs/evals/overview.mdx +7 -7
  1307. package/docs/evals/reporters.mdx +15 -11
  1308. package/docs/evals/targets.mdx +5 -3
  1309. package/docs/evals/tool-stubs.mdx +2 -2
  1310. package/docs/extensions.md +6 -3
  1311. package/docs/guides/client/continuations.mdx +10 -10
  1312. package/docs/guides/client/messages.mdx +50 -48
  1313. package/docs/guides/client/output-schema.mdx +13 -13
  1314. package/docs/guides/client/overview.mdx +12 -12
  1315. package/docs/guides/client/streaming.mdx +160 -123
  1316. package/docs/guides/decide.md +15 -9
  1317. package/docs/guides/deployment/self-hosting.md +5 -40
  1318. package/docs/guides/dynamic-capabilities.md +151 -406
  1319. package/docs/guides/frontend/nextjs.mdx +1 -1
  1320. package/docs/guides/frontend/nuxt.mdx +2 -2
  1321. package/docs/guides/frontend/overview.mdx +257 -181
  1322. package/docs/guides/frontend/sveltekit.mdx +4 -4
  1323. package/docs/guides/frontend/tanstack.mdx +5 -5
  1324. package/docs/guides/frontend/use-eve-agent-svelte.mdx +30 -38
  1325. package/docs/guides/frontend/use-eve-agent-vue.mdx +35 -36
  1326. package/docs/guides/hooks.md +67 -55
  1327. package/docs/guides/instrumentation/instrumentation.mdx +33 -27
  1328. package/docs/guides/instrumentation/otel.mdx +4 -2
  1329. package/docs/guides/remote-agents.md +116 -50
  1330. package/docs/guides/self-modification.md +11 -7
  1331. package/docs/instructions.mdx +4 -6
  1332. package/docs/memory/custom-provider.md +63 -56
  1333. package/docs/memory/file.md +1 -1
  1334. package/docs/memory/overview.mdx +10 -18
  1335. package/docs/patterns/durable-cross-channel-notifications.md +4 -3
  1336. package/docs/patterns/multi-tenant-approvals.md +3 -3
  1337. package/docs/patterns/multi-tenant-auth.md +3 -3
  1338. package/docs/patterns/multi-tenant-memory.md +6 -7
  1339. package/docs/patterns/voice-notes.md +1 -1
  1340. package/docs/reference/cli.md +8 -24
  1341. package/docs/reference/typescript-api.md +85 -60
  1342. package/docs/sandbox/custom-providers.mdx +13 -14
  1343. package/docs/sandbox/default.mdx +1 -1
  1344. package/docs/sandbox/docker.mdx +10 -0
  1345. package/docs/sandbox/index.mdx +4 -0
  1346. package/docs/sandbox/vercel.mdx +6 -6
  1347. package/docs/schedules.mdx +4 -4
  1348. package/docs/skills.mdx +6 -6
  1349. package/docs/subagents/index.mdx +25 -34
  1350. package/docs/tools/human-in-the-loop.md +42 -34
  1351. package/docs/tools/overview.mdx +14 -12
  1352. package/docs/tools/tasks-upgrade.md +13 -1
  1353. package/docs/tools/tasks.md +58 -89
  1354. package/docs/tools/workflows.mdx +44 -33
  1355. package/docs/tutorial/guard-the-spend.mdx +1 -1
  1356. package/docs/tutorial/run-analysis.mdx +15 -12
  1357. package/docs/tutorial/team-playbooks.mdx +19 -23
  1358. package/package.json +146 -95
  1359. package/dist/src/chunks/use-eve-agent-BE2_zd5q.js +0 -4968
  1360. package/dist/src/chunks/use-eve-agent-e8a5vcFO.js +0 -4926
  1361. package/dist/src/cli/invoke/command.d.ts +0 -19
  1362. package/dist/src/cli/invoke/command.js +0 -1
  1363. package/dist/src/cli/invoke/invoke.d.ts +0 -27
  1364. package/dist/src/cli/invoke/invoke.js +0 -1
  1365. package/dist/src/cli/invoke/result.d.ts +0 -137
  1366. package/dist/src/cli/invoke/result.js +0 -1
  1367. package/dist/src/client/agent-host.d.ts +0 -4
  1368. package/dist/src/client/agent-host.js +0 -1
  1369. package/dist/src/client/authorization-message-parts.d.ts +0 -4
  1370. package/dist/src/client/authorization-message-parts.js +0 -1
  1371. package/dist/src/client/conversation-projection.d.ts +0 -4
  1372. package/dist/src/client/conversation-projection.js +0 -1
  1373. package/dist/src/client/conversation-reducer.d.ts +0 -29
  1374. package/dist/src/client/conversation-reducer.js +0 -1
  1375. package/dist/src/client/eve-agent-projection.d.ts +0 -28
  1376. package/dist/src/client/eve-agent-projection.js +0 -1
  1377. package/dist/src/client/eve-agent-store-helpers.d.ts +0 -34
  1378. package/dist/src/client/eve-agent-store-helpers.js +0 -2
  1379. package/dist/src/client/eve-agent-store-state.d.ts +0 -96
  1380. package/dist/src/client/eve-agent-store.d.ts +0 -45
  1381. package/dist/src/client/eve-agent-store.js +0 -1
  1382. package/dist/src/client/message-action-parts.d.ts +0 -37
  1383. package/dist/src/client/message-action-parts.js +0 -1
  1384. package/dist/src/client/message-reducer-primitives.d.ts +0 -6
  1385. package/dist/src/client/message-reducer-primitives.js +0 -1
  1386. package/dist/src/client/message-reducer-types.d.ts +0 -244
  1387. package/dist/src/client/message-reducer.d.ts +0 -14
  1388. package/dist/src/client/message-reducer.js +0 -1
  1389. package/dist/src/client/message-response.d.ts +0 -74
  1390. package/dist/src/client/message-response.js +0 -1
  1391. package/dist/src/client/message-run-parts.d.ts +0 -22
  1392. package/dist/src/client/message-run-parts.js +0 -1
  1393. package/dist/src/client/output-schema.d.ts +0 -5
  1394. package/dist/src/client/output-schema.js +0 -1
  1395. package/dist/src/client/reducer.d.ts +0 -67
  1396. package/dist/src/client/session-turn-dispatch.d.ts +0 -15
  1397. package/dist/src/client/session-turn-dispatch.js +0 -1
  1398. package/dist/src/client/tool-call-state.d.ts +0 -23
  1399. package/dist/src/client/tool-call-state.js +0 -1
  1400. package/dist/src/client/tool-part-state.d.ts +0 -7
  1401. package/dist/src/client/tool-part-state.js +0 -1
  1402. package/dist/src/client/transcript-reducer.d.ts +0 -49
  1403. package/dist/src/client/transcript-reducer.js +0 -2
  1404. package/dist/src/context/build-dynamic-tools.d.ts +0 -10
  1405. package/dist/src/context/build-dynamic-tools.js +0 -1
  1406. package/dist/src/context/dynamic-connection-lifecycle.d.ts +0 -15
  1407. package/dist/src/context/dynamic-connection-lifecycle.js +0 -1
  1408. package/dist/src/context/dynamic-instruction-lifecycle.d.ts +0 -31
  1409. package/dist/src/context/dynamic-instruction-lifecycle.js +0 -1
  1410. package/dist/src/context/dynamic-model-lifecycle.d.ts +0 -19
  1411. package/dist/src/context/dynamic-model-lifecycle.js +0 -1
  1412. package/dist/src/context/dynamic-resolve-context.d.ts +0 -12
  1413. package/dist/src/context/dynamic-resolve-context.js +0 -1
  1414. package/dist/src/context/dynamic-skill-lifecycle.d.ts +0 -15
  1415. package/dist/src/context/dynamic-skill-lifecycle.js +0 -1
  1416. package/dist/src/context/dynamic-subagent-lifecycle.d.ts +0 -27
  1417. package/dist/src/context/dynamic-subagent-lifecycle.js +0 -1
  1418. package/dist/src/context/dynamic-tool-lifecycle.d.ts +0 -46
  1419. package/dist/src/context/dynamic-tool-lifecycle.js +0 -1
  1420. package/dist/src/context/dynamic-tool-metadata.d.ts +0 -47
  1421. package/dist/src/context/dynamic-tool-metadata.js +0 -1
  1422. package/dist/src/context/effective-model.d.ts +0 -5
  1423. package/dist/src/context/effective-model.js +0 -1
  1424. package/dist/src/context/hook-lifecycle.d.ts +0 -15
  1425. package/dist/src/context/hook-lifecycle.js +0 -1
  1426. package/dist/src/context/memory-event-lifecycle.d.ts +0 -15
  1427. package/dist/src/context/memory-event-lifecycle.js +0 -1
  1428. package/dist/src/context/memory-lifecycle.d.ts +0 -47
  1429. package/dist/src/context/memory-lifecycle.js +0 -1
  1430. package/dist/src/context/serialized-dynamic-model-selection.d.ts +0 -2
  1431. package/dist/src/context/serialized-dynamic-model-selection.js +0 -1
  1432. package/dist/src/execution/cancel-descendant-turns-step.d.ts +0 -6
  1433. package/dist/src/execution/cancel-descendant-turns-step.js +0 -1
  1434. package/dist/src/execution/dynamic-connection-recovery.d.ts +0 -14
  1435. package/dist/src/execution/dynamic-connection-recovery.js +0 -1
  1436. package/dist/src/execution/dynamic-connections.d.ts +0 -12
  1437. package/dist/src/execution/dynamic-connections.js +0 -1
  1438. package/dist/src/execution/history-view.d.ts +0 -10
  1439. package/dist/src/execution/history-view.js +0 -1
  1440. package/dist/src/execution/legacy-remote-agent/protocol.d.ts +0 -49
  1441. package/dist/src/execution/legacy-remote-agent/protocol.js +0 -1
  1442. package/dist/src/execution/runtime-errors.d.ts +0 -13
  1443. package/dist/src/execution/runtime-errors.js +0 -1
  1444. package/dist/src/execution/sandbox/grep-tool.d.ts +0 -26
  1445. package/dist/src/execution/sandbox/grep-tool.js +0 -3
  1446. package/dist/src/execution/session/turn-waiting-step.d.ts +0 -4
  1447. package/dist/src/execution/session/turn-waiting-step.js +0 -1
  1448. package/dist/src/execution/tools/workflow/cancel.d.ts +0 -13
  1449. package/dist/src/execution/tools/workflow/cancel.js +0 -1
  1450. package/dist/src/execution/workflow-trace-context.d.ts +0 -8
  1451. package/dist/src/execution/workflow-trace-context.js +0 -1
  1452. package/dist/src/extensions/code/extension/instructions/github.d.ts +0 -3
  1453. package/dist/src/extensions/code/extension/instructions/github.js +0 -1
  1454. package/dist/src/extensions/code/extension/lib/github-compat.d.ts +0 -28
  1455. package/dist/src/extensions/code/extension/lib/github-compat.js +0 -1
  1456. package/dist/src/extensions/code/extension/lib/grep-search.js +0 -6
  1457. package/dist/src/extensions/code/extension/skills/pr.d.ts +0 -6
  1458. package/dist/src/extensions/code/extension/skills/pr.js +0 -1
  1459. package/dist/src/extensions/code/extension/tools/gh.d.ts +0 -28
  1460. package/dist/src/extensions/code/extension/tools/gh.js +0 -1
  1461. package/dist/src/harness/approval-recheck.d.ts +0 -7
  1462. package/dist/src/harness/approval-recheck.js +0 -1
  1463. package/dist/src/harness/authorization-event-fields.d.ts +0 -16
  1464. package/dist/src/harness/authorization-event-fields.js +0 -1
  1465. package/dist/src/harness/hitl/candidates.d.ts +0 -139
  1466. package/dist/src/harness/hitl/candidates.js +0 -1
  1467. package/dist/src/harness/hitl/coordinator.d.ts +0 -35
  1468. package/dist/src/harness/hitl/coordinator.js +0 -1
  1469. package/dist/src/harness/input-extraction.d.ts +0 -13
  1470. package/dist/src/harness/input-extraction.js +0 -1
  1471. package/dist/src/harness/input-request-class.d.ts +0 -3
  1472. package/dist/src/harness/input-request-class.js +0 -1
  1473. package/dist/src/harness/input-request-resolution.d.ts +0 -39
  1474. package/dist/src/harness/input-request-resolution.js +0 -1
  1475. package/dist/src/harness/open-input-request.d.ts +0 -8
  1476. package/dist/src/harness/open-input-request.js +0 -1
  1477. package/dist/src/harness/session-machine/events.d.ts +0 -6
  1478. package/dist/src/harness/session-machine/events.js +0 -1
  1479. package/dist/src/harness/session-machine/resolver-events.d.ts +0 -12
  1480. package/dist/src/harness/session-machine/resolver-events.js +0 -1
  1481. package/dist/src/harness/tool-call-action.d.ts +0 -9
  1482. package/dist/src/harness/tool-call-action.js +0 -1
  1483. package/dist/src/harness/tool-interrupts.d.ts +0 -22
  1484. package/dist/src/harness/tool-interrupts.js +0 -1
  1485. package/dist/src/harness/tool-presentation.d.ts +0 -5
  1486. package/dist/src/harness/tool-presentation.js +0 -1
  1487. package/dist/src/harness/turn-tag-state.d.ts +0 -115
  1488. package/dist/src/harness/turn-tag-state.js +0 -1
  1489. package/dist/src/internal/dynamic-tool-rebind.d.ts +0 -3
  1490. package/dist/src/internal/dynamic-tool-rebind.js +0 -1
  1491. package/dist/src/internal/nitro/host/extension-capability-requirements.d.ts +0 -14
  1492. package/dist/src/internal/nitro/host/extension-capability-requirements.js +0 -1
  1493. package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.d.ts +0 -12
  1494. package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.js +0 -1
  1495. package/dist/src/internal/workflow-bundle/dynamic-remote-agent-transform.d.ts +0 -7
  1496. package/dist/src/internal/workflow-bundle/dynamic-remote-agent-transform.js +0 -3
  1497. package/dist/src/internal/workflow-bundle/dynamic-tool-ast-references.d.ts +0 -79
  1498. package/dist/src/internal/workflow-bundle/dynamic-tool-ast-references.js +0 -1
  1499. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.d.ts +0 -14
  1500. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.js +0 -3
  1501. package/dist/src/protocol/event-dedupe.d.ts +0 -26
  1502. package/dist/src/protocol/event-dedupe.js +0 -1
  1503. package/dist/src/protocol/event-id.d.ts +0 -10
  1504. package/dist/src/protocol/event-id.js +0 -1
  1505. package/dist/src/protocol/message-version.d.ts +0 -53
  1506. package/dist/src/protocol/message-version.js +0 -1
  1507. package/dist/src/protocol/message.d.ts +0 -1198
  1508. package/dist/src/protocol/message.js +0 -2
  1509. package/dist/src/public/channels/chat-sdk/messageToUserContent.js +0 -1
  1510. package/dist/src/public/channels/slack/input-response.js +0 -1
  1511. package/dist/src/runtime/hooks/registry.d.ts +0 -34
  1512. package/dist/src/runtime/hooks/registry.js +0 -1
  1513. package/dist/src/runtime/resolve-dynamic-connection.d.ts +0 -5
  1514. package/dist/src/runtime/resolve-dynamic-connection.js +0 -1
  1515. package/dist/src/runtime/resolve-dynamic-instructions.d.ts +0 -4
  1516. package/dist/src/runtime/resolve-dynamic-instructions.js +0 -1
  1517. package/dist/src/runtime/resolve-dynamic-skill.d.ts +0 -8
  1518. package/dist/src/runtime/resolve-dynamic-skill.js +0 -1
  1519. package/dist/src/runtime/resolve-dynamic-subagent.d.ts +0 -9
  1520. package/dist/src/runtime/resolve-dynamic-subagent.js +0 -1
  1521. package/dist/src/runtime/resolve-dynamic-tool.d.ts +0 -12
  1522. package/dist/src/runtime/resolve-dynamic-tool.js +0 -1
  1523. package/dist/src/self-modification/migration.d.ts +0 -9
  1524. package/dist/src/self-modification/migration.js +0 -28
  1525. package/dist/src/shared/history-view.d.ts +0 -22
  1526. package/dist/src/shared/history-view.js +0 -1
  1527. package/dist/src/shared/package-version.d.ts +0 -2
  1528. package/dist/src/shared/package-version.js +0 -1
  1529. package/dist/src/tools/durable-callbacks.d.ts +0 -118
  1530. package/dist/src/tools/durable-callbacks.js +0 -1
  1531. package/dist/src/tools/durable-schema.d.ts +0 -16
  1532. package/dist/src/tools/durable-schema.js +0 -1
  1533. /package/dist/src/{client/eve-agent-store-state.js → ai/decision-types.js} +0 -0
  1534. /package/dist/src/client/{message-reducer-types.js → agent-info-types.js} +0 -0
  1535. /package/dist/src/client/{reducer.js → health-types.js} +0 -0
  1536. /package/dist/src/{shared → protocol/session-projection}/display-name.d.ts +0 -0
  1537. /package/dist/src/{shared → protocol/session-projection}/display-name.js +0 -0
@@ -0,0 +1,2 @@
1
+ const KITCHEN_SINK=[{data:{runtime:{agentId:`v26-spike`,agentName:`v26-spike`,eveVersion:`0.82.0`}},meta:{at:`2026-10-22T21:36:06.909Z`,deliveryIds:[`f369f304-02f5-4ee8-9e55-6db429738ac3`]},type:`session.started`},{data:{sequence:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:06.912Z`,deliveryIds:[`f369f304-02f5-4ee8-9e55-6db429738ac3`]},type:`turn.started`},{data:{message:`hello there`,parts:[{text:`hello there`,type:`text`}],sequence:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:06.912Z`,deliveryIds:[`f369f304-02f5-4ee8-9e55-6db429738ac3`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:06.914Z`,deliveryIds:[`f369f304-02f5-4ee8-9e55-6db429738ac3`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:06.939Z`,deliveryIds:[`f369f304-02f5-4ee8-9e55-6db429738ac3`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`Echo: hello there`,sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:06.942Z`,deliveryIds:[`f369f304-02f5-4ee8-9e55-6db429738ac3`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:0,stepIndex:0,turnId:`turn_0`,usage:{inputTokens:316,outputTokens:5,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:06.944Z`,deliveryIds:[`f369f304-02f5-4ee8-9e55-6db429738ac3`]},type:`step.completed`},{data:{sequence:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:06.959Z`,deliveryIds:[`f369f304-02f5-4ee8-9e55-6db429738ac3`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:316,outputTokens:5},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:06.960Z`,deliveryIds:[`f369f304-02f5-4ee8-9e55-6db429738ac3`]},type:`session.waiting`},{data:{sequence:1,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:07.146Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`turn.started`},{data:{message:`what is the weather`,parts:[{text:`what is the weather`,type:`text`}],sequence:1,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:07.146Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:1,stepIndex:0,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:07.146Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:1,stepIndex:0,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:07.160Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`reasoning.completed`},{data:{finishReason:`tool-calls`,message:`Let me check the weather.`,sequence:1,stepIndex:0,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:07.164Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`message.completed`},{data:{actions:[{callId:`mock-tool-call-2-0-1`,input:{city:`Paris`},kind:`tool-call`,toolName:`get_weather`}],sequence:1,stepIndex:0,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:07.165Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`actions.requested`},{data:{result:{callId:`mock-tool-call-2-0-1`,kind:`tool-result`,output:{city:`Paris`,forecast:`sunny`,temperatureC:21},toolName:`get_weather`},sequence:1,status:`completed`,stepIndex:0,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:07.165Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`action.result`},{data:{finishReason:`tool-calls`,sequence:1,stepIndex:0,turnId:`turn_1`,usage:{inputTokens:330,outputTokens:11,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:07.167Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`step.completed`},{data:{modelId:`eve-mock/spike-mock`,sequence:1,stepIndex:1,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:07.185Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:1,stepIndex:1,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:07.193Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`get_weather said: {"city":"Paris","forecast":"sunny","temperatureC":21}`,sequence:1,stepIndex:1,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:07.193Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:1,stepIndex:1,turnId:`turn_1`,usage:{inputTokens:354,outputTokens:18,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:07.194Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`step.completed`},{data:{sequence:1,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:07.199Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:1e3,outputTokens:34},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:07.199Z`,deliveryIds:[`e1db1ef9-dcd0-48b9-a0d7-460795f4c8e4`]},type:`session.waiting`},{data:{sequence:2,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.461Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`turn.started`},{data:{message:`please run the gate`,parts:[{text:`please run the gate`,type:`text`}],sequence:2,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.462Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:2,stepIndex:0,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.462Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`step.started`},{data:{actions:[{callId:`mock-tool-call-3-1-1`,input:{marker:`M1`},kind:`tool-call`,toolName:`gate`}],sequence:2,stepIndex:0,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.469Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`actions.requested`},{data:{reasoning:`Thinking it over.`,sequence:2,stepIndex:0,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.469Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`reasoning.completed`},{data:{finishReason:`tool-calls`,sequence:2,stepIndex:0,turnId:`turn_2`,usage:{inputTokens:381,outputTokens:4,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:07.470Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`step.completed`},{data:{requests:[{action:{callId:`mock-tool-call-3-1-1`,input:{marker:`M1`},kind:`tool-call`,toolName:`gate`},allowFreeform:!1,display:`confirmation`,kind:`tool-approval`,options:[{id:`approve`,label:`Approve`},{id:`cancel`,label:`Cancel`}],prompt:`Approve Gate?`,requestId:`aitxt-3AWSk88AOGAwJJf09k9k53UD`}],sequence:2,stepIndex:0,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.473Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`input.requested`},{data:{on:`input`,sequence:2,turnId:`turn_2`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:1381,outputTokens:38}},meta:{at:`2026-10-22T21:36:07.474Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`turn.waiting`},{data:{outcome:`approved`,requestId:`aitxt-3AWSk88AOGAwJJf09k9k53UD`,responderPrincipalId:`alice`,sequence:2,stepIndex:0,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.786Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`approval.settled`},{data:{resolutions:[{kind:`tool-approval`,outcome:`approved`,requestId:`aitxt-3AWSk88AOGAwJJf09k9k53UD`,response:{optionId:`approve`,requestId:`aitxt-3AWSk88AOGAwJJf09k9k53UD`}}],sequence:2,stepIndex:0,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.786Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`input.resolved`},{data:{modelId:`eve-mock/spike-mock`,sequence:2,stepIndex:1,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.787Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`step.started`},{data:{result:{callId:`mock-tool-call-3-1-1`,kind:`tool-result`,output:{executed:!0,marker:`M1`},toolName:`gate`},sequence:2,status:`completed`,stepIndex:1,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.788Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`action.result`},{data:{reasoning:`Thinking it over.`,sequence:2,stepIndex:1,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.795Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`gate said: {"executed":true,"marker":"M1"}`,sequence:2,stepIndex:1,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.795Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:2,stepIndex:1,turnId:`turn_2`,usage:{inputTokens:432,outputTokens:11,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:07.796Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`step.completed`},{data:{sequence:2,turnId:`turn_2`},meta:{at:`2026-10-22T21:36:07.799Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:1813,outputTokens:49},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:07.799Z`,deliveryIds:[`01ae5dd5-5093-43d8-bed1-9f5a8280e379`]},type:`session.waiting`},{data:{sequence:3,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.108Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`turn.started`},{data:{message:`run the gate again`,parts:[{text:`run the gate again`,type:`text`}],sequence:3,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.108Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:3,stepIndex:0,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.108Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`step.started`},{data:{actions:[{callId:`mock-tool-call-5-2-1`,input:{marker:`M1`},kind:`tool-call`,toolName:`gate`}],sequence:3,stepIndex:0,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.114Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`actions.requested`},{data:{reasoning:`Thinking it over.`,sequence:3,stepIndex:0,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.115Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`reasoning.completed`},{data:{finishReason:`tool-calls`,sequence:3,stepIndex:0,turnId:`turn_3`,usage:{inputTokens:452,outputTokens:4,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:08.115Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`step.completed`},{data:{requests:[{action:{callId:`mock-tool-call-5-2-1`,input:{marker:`M1`},kind:`tool-call`,toolName:`gate`},allowFreeform:!1,display:`confirmation`,kind:`tool-approval`,options:[{id:`approve`,label:`Approve`},{id:`cancel`,label:`Cancel`}],prompt:`Approve Gate?`,requestId:`aitxt-63W6rvQYVV46U5gL4HLLfk6b`}],sequence:3,stepIndex:0,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.118Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`input.requested`},{data:{on:`input`,sequence:3,turnId:`turn_3`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:2265,outputTokens:53}},meta:{at:`2026-10-22T21:36:08.118Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`turn.waiting`},{data:{outcome:`cancelled`,requestId:`aitxt-63W6rvQYVV46U5gL4HLLfk6b`,responderPrincipalId:`alice`,sequence:3,stepIndex:0,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.430Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`approval.settled`},{data:{resolutions:[{kind:`tool-approval`,outcome:`denied`,requestId:`aitxt-63W6rvQYVV46U5gL4HLLfk6b`,response:{optionId:`cancel`,requestId:`aitxt-63W6rvQYVV46U5gL4HLLfk6b`}}],sequence:3,stepIndex:0,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.430Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`input.resolved`},{data:{error:{code:`TOOL_EXECUTION_DENIED`,message:`Tool execution was denied.`},result:{callId:`mock-tool-call-5-2-1`,isError:!0,kind:`tool-result`,output:{approval:{requestId:`aitxt-63W6rvQYVV46U5gL4HLLfk6b`,status:`denied`},code:`TOOL_EXECUTION_DENIED`,message:`Tool execution was denied.`,tool:{result:`not_run`}},toolName:`gate`},sequence:3,status:`rejected`,stepIndex:0,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.431Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`action.result`},{data:{modelId:`eve-mock/spike-mock`,sequence:3,stepIndex:1,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.432Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:3,stepIndex:1,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.438Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`gate said: "Tool execution was denied."`,sequence:3,stepIndex:1,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.439Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:3,stepIndex:1,turnId:`turn_3`,usage:{inputTokens:502,outputTokens:10,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:08.439Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`step.completed`},{data:{sequence:3,turnId:`turn_3`},meta:{at:`2026-10-22T21:36:08.442Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:2767,outputTokens:63},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:08.442Z`,deliveryIds:[`5e530261-82be-4c54-9e1e-d7e58af2d613`]},type:`session.waiting`},{data:{sequence:4,turnId:`turn_4`},meta:{at:`2026-10-22T21:36:08.760Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`turn.started`},{data:{message:`ask me a question`,parts:[{text:`ask me a question`,type:`text`}],sequence:4,turnId:`turn_4`},meta:{at:`2026-10-22T21:36:08.761Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:4,stepIndex:0,turnId:`turn_4`},meta:{at:`2026-10-22T21:36:08.761Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`step.started`},{data:{actions:[{callId:`mock-tool-call-7-3-1`,input:{question:`Which color?`,options:[{label:`Red`,description:`A warm color.`},{label:`Blue`,description:`A cool color.`}]},kind:`tool-call`,toolName:`ask_question`}],sequence:4,stepIndex:0,turnId:`turn_4`},meta:{at:`2026-10-22T21:36:08.768Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`actions.requested`},{data:{reasoning:`Thinking it over.`,sequence:4,stepIndex:0,turnId:`turn_4`},meta:{at:`2026-10-22T21:36:08.768Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`reasoning.completed`},{data:{finishReason:`tool-calls`,sequence:4,stepIndex:0,turnId:`turn_4`,usage:{inputTokens:521,outputTokens:33,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:08.769Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`step.completed`},{data:{on:`tasks`,sequence:4,turnId:`turn_4`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:3288,outputTokens:96}},meta:{at:`2026-10-22T21:36:08.771Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`turn.waiting`},{data:{requests:[{action:{callId:`mock-tool-call-7-3-1`,input:{question:`Which color?`,options:[{label:`Red`,description:`A warm color.`},{label:`Blue`,description:`A cool color.`}]},kind:`tool-call`,toolName:`ask_question`},kind:`question`,prompt:`Which color?`,requestId:`wrun_01M5JRNY2EWQ594SJCQNDFPF25-ask-1`,allowFreeform:!0,display:`select`,options:[{description:`A warm color.`,id:`Red`,label:`Red`},{description:`A cool color.`,id:`Blue`,label:`Blue`}]}],sequence:4,stepIndex:0,turnId:`turn_4`,callId:`mock-tool-call-7-3-1`},meta:{at:`2026-10-22T21:36:08.832Z`},type:`input.requested`},{data:{on:`input`,sequence:4,turnId:`turn_4`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:3288,outputTokens:96}},meta:{at:`2026-10-22T21:36:08.832Z`},type:`turn.waiting`},{data:{resolutions:[{kind:`question`,outcome:`answered`,requestId:`wrun_01M5JRNY2EWQ594SJCQNDFPF25-ask-1`,response:{optionId:`Blue`,requestId:`wrun_01M5JRNY2EWQ594SJCQNDFPF25-ask-1`}}],sequence:4,stepIndex:0,turnId:`turn_4`},meta:{at:`2026-10-22T21:36:09.127Z`},type:`input.resolved`},{data:{result:{callId:`mock-tool-call-7-3-1`,kind:`tool-result`,output:{answer:`Blue`,status:`answered`},toolName:`ask_question`},sequence:4,status:`completed`,stepIndex:0,turnId:`turn_4`},meta:{at:`2026-10-22T21:36:09.165Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`action.result`},{data:{modelId:`eve-mock/spike-mock`,sequence:4,stepIndex:1,turnId:`turn_4`},meta:{at:`2026-10-22T21:36:09.166Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:4,stepIndex:1,turnId:`turn_4`},meta:{at:`2026-10-22T21:36:09.172Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`ask_question said: {"answer":"Blue","status":"answered"}`,sequence:4,stepIndex:1,turnId:`turn_4`},meta:{at:`2026-10-22T21:36:09.172Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:4,stepIndex:1,turnId:`turn_4`,usage:{inputTokens:535,outputTokens:14,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:09.173Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`step.completed`},{data:{sequence:4,turnId:`turn_4`},meta:{at:`2026-10-22T21:36:09.177Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:3823,outputTokens:110},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:09.177Z`,deliveryIds:[`a0c6e954-277e-49bb-8eb6-35164a209c6e`]},type:`session.waiting`},{data:{sequence:5,turnId:`turn_5`},meta:{at:`2026-10-22T21:36:09.493Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`turn.started`},{data:{message:`ask me a question again`,parts:[{text:`ask me a question again`,type:`text`}],sequence:5,turnId:`turn_5`},meta:{at:`2026-10-22T21:36:09.493Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:5,stepIndex:0,turnId:`turn_5`},meta:{at:`2026-10-22T21:36:09.493Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`step.started`},{data:{actions:[{callId:`mock-tool-call-8-4-1`,input:{question:`Which color?`,options:[{label:`Red`,description:`A warm color.`},{label:`Blue`,description:`A cool color.`}]},kind:`tool-call`,toolName:`ask_question`}],sequence:5,stepIndex:0,turnId:`turn_5`},meta:{at:`2026-10-22T21:36:09.499Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`actions.requested`},{data:{reasoning:`Thinking it over.`,sequence:5,stepIndex:0,turnId:`turn_5`},meta:{at:`2026-10-22T21:36:09.500Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`reasoning.completed`},{data:{finishReason:`tool-calls`,sequence:5,stepIndex:0,turnId:`turn_5`,usage:{inputTokens:559,outputTokens:33,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:09.500Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`step.completed`},{data:{on:`tasks`,sequence:5,turnId:`turn_5`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:4382,outputTokens:143}},meta:{at:`2026-10-22T21:36:09.502Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`turn.waiting`},{data:{requests:[{action:{callId:`mock-tool-call-8-4-1`,input:{question:`Which color?`,options:[{label:`Red`,description:`A warm color.`},{label:`Blue`,description:`A cool color.`}]},kind:`tool-call`,toolName:`ask_question`},kind:`question`,prompt:`Which color?`,requestId:`wrun_01M5JRNYS7ABGM16P294JDT4E0-ask-1`,allowFreeform:!0,display:`select`,options:[{description:`A warm color.`,id:`Red`,label:`Red`},{description:`A cool color.`,id:`Blue`,label:`Blue`}]}],sequence:5,stepIndex:0,turnId:`turn_5`,callId:`mock-tool-call-8-4-1`},meta:{at:`2026-10-22T21:36:09.559Z`},type:`input.requested`},{data:{on:`input`,sequence:5,turnId:`turn_5`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:4382,outputTokens:143}},meta:{at:`2026-10-22T21:36:09.559Z`},type:`turn.waiting`},{data:{resolutions:[{kind:`question`,outcome:`answered`,requestId:`wrun_01M5JRNYS7ABGM16P294JDT4E0-ask-1`,response:{requestId:`wrun_01M5JRNYS7ABGM16P294JDT4E0-ask-1`,text:`Green, actually`}}],sequence:5,stepIndex:0,turnId:`turn_5`},meta:{at:`2026-10-22T21:36:09.868Z`},type:`input.resolved`},{data:{result:{callId:`mock-tool-call-8-4-1`,kind:`tool-result`,output:{answer:`Green, actually`,status:`answered`},toolName:`ask_question`},sequence:5,status:`completed`,stepIndex:0,turnId:`turn_5`},meta:{at:`2026-10-22T21:36:09.907Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`action.result`},{data:{modelId:`eve-mock/spike-mock`,sequence:5,stepIndex:1,turnId:`turn_5`},meta:{at:`2026-10-22T21:36:09.908Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:5,stepIndex:1,turnId:`turn_5`},meta:{at:`2026-10-22T21:36:09.914Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`ask_question said: {"answer":"Green, actually","status":"answered"}`,sequence:5,stepIndex:1,turnId:`turn_5`},meta:{at:`2026-10-22T21:36:09.915Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:5,stepIndex:1,turnId:`turn_5`,usage:{inputTokens:576,outputTokens:17,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:09.915Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`step.completed`},{data:{sequence:5,turnId:`turn_5`},meta:{at:`2026-10-22T21:36:09.922Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:4958,outputTokens:160},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:09.922Z`,deliveryIds:[`4bc198cc-31e7-4f06-ab1c-ecefc3b7d999`]},type:`session.waiting`},{data:{sequence:6,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.243Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`turn.started`},{data:{message:`delegate to the helper`,parts:[{text:`delegate to the helper`,type:`text`}],sequence:6,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.243Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:6,stepIndex:0,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.243Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`step.started`},{data:{actions:[{callId:`mock-tool-call-9-5-1`,description:`A helper subagent. Call it to delegate. `,input:{message:`Say the marker`},name:`helper`,nodeId:`subagents/helper`,kind:`subagent-call`,subagentName:`helper`}],presentation:{"mock-tool-call-9-5-1":{label:`Helper: Say the marker`}},sequence:6,stepIndex:0,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.249Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`actions.requested`},{data:{reasoning:`Thinking it over.`,sequence:6,stepIndex:0,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.250Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`reasoning.completed`},{data:{finishReason:`tool-calls`,sequence:6,stepIndex:0,turnId:`turn_6`,usage:{inputTokens:603,outputTokens:7,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:10.250Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`step.completed`},{data:{callId:`mock-tool-call-9-5-1`,kind:`agent`,name:`helper`,taskId:`helper-1sd8t5`,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.283Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`task.started`},{data:{result:{callId:`mock-tool-call-9-5-1`,kind:`tool-result`,output:`Task helper-1sd8t5 is running.`,toolName:`helper`},sequence:6,status:`completed`,stepIndex:0,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.297Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`action.result`},{data:{modelId:`eve-mock/spike-mock`,sequence:6,stepIndex:1,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.298Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:6,stepIndex:1,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.304Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`Started the helper.`,sequence:6,stepIndex:1,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.304Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:6,stepIndex:1,turnId:`turn_6`,usage:{inputTokens:666,outputTokens:5,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:10.304Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`step.completed`},{data:{on:`tasks`,sequence:6,turnId:`turn_6`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:6227,outputTokens:172}},meta:{at:`2026-10-22T21:36:10.308Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`turn.waiting`},{data:{callId:`mock-tool-call-9-5-1`,turnId:`turn_6`,name:`helper`,sessionId:`wrun_01M5JRNZJ9VF5XQGNKC91ETXB5`,streamPath:`/eve/v1/session/wrun_01M5JRNZJ9VF5XQGNKC91ETXB5/stream`,taskId:`helper-1sd8t5`},meta:{at:`2026-10-22T21:36:10.417Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`agent.started`},{data:{callId:`mock-tool-call-9-5-1`,kind:`agent`,name:`helper`,status:`completed`,taskId:`helper-1sd8t5`,turnId:`turn_6`,output:`HELPER-MARKER-42`},meta:{at:`2026-10-22T21:36:10.463Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`task.settled`},{data:{modelId:`eve-mock/spike-mock`,sequence:6,stepIndex:2,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.471Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:6,stepIndex:2,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.477Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`The helper said HELPER-MARKER-42.`,sequence:6,stepIndex:2,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.477Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:6,stepIndex:2,turnId:`turn_6`,usage:{inputTokens:720,outputTokens:9,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:10.478Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`step.completed`},{data:{sequence:6,turnId:`turn_6`},meta:{at:`2026-10-22T21:36:10.483Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:7053,outputTokens:185},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:10.483Z`,deliveryIds:[`d75cc68d-0aa3-4c24-aed2-5899f64d2e2f`]},type:`session.waiting`},{data:{sequence:7,turnId:`turn_7`},meta:{at:`2026-10-22T21:36:10.728Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`turn.started`},{data:{message:`explode please`,parts:[{text:`explode please`,type:`text`}],sequence:7,turnId:`turn_7`},meta:{at:`2026-10-22T21:36:10.728Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:7,stepIndex:0,turnId:`turn_7`},meta:{at:`2026-10-22T21:36:10.729Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`step.started`},{data:{actions:[{callId:`mock-tool-call-13-6-1`,input:{},kind:`tool-call`,toolName:`explode`}],sequence:7,stepIndex:0,turnId:`turn_7`},meta:{at:`2026-10-22T21:36:10.740Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`actions.requested`},{data:{error:{code:`ACTION_RESULT_FAILED`,message:`Kaboom`,name:`Error`},result:{callId:`mock-tool-call-13-6-1`,kind:`tool-result`,output:`Kaboom`,toolName:`explode`,errorName:`Error`,isError:!0},sequence:7,status:`failed`,stepIndex:0,turnId:`turn_7`},meta:{at:`2026-10-22T21:36:10.741Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`action.result`},{data:{reasoning:`Thinking it over.`,sequence:7,stepIndex:0,turnId:`turn_7`},meta:{at:`2026-10-22T21:36:10.742Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`reasoning.completed`},{data:{finishReason:`tool-calls`,sequence:7,stepIndex:0,turnId:`turn_7`,usage:{inputTokens:736,outputTokens:1,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:10.742Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`step.completed`},{data:{modelId:`eve-mock/spike-mock`,sequence:7,stepIndex:1,turnId:`turn_7`},meta:{at:`2026-10-22T21:36:10.753Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:7,stepIndex:1,turnId:`turn_7`},meta:{at:`2026-10-22T21:36:10.759Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`explode said: "Error: Kaboom"`,sequence:7,stepIndex:1,turnId:`turn_7`},meta:{at:`2026-10-22T21:36:10.760Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:7,stepIndex:1,turnId:`turn_7`,usage:{inputTokens:744,outputTokens:8,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:10.760Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`step.completed`},{data:{sequence:7,turnId:`turn_7`},meta:{at:`2026-10-22T21:36:10.766Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:8533,outputTokens:194},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:10.766Z`,deliveryIds:[`90e06b8f-1ec6-4301-aa26-df19271bb9ee`]},type:`session.waiting`},{data:{sequence:8,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.111Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`turn.started`},{data:{message:`do both things`,parts:[{text:`do both things`,type:`text`}],sequence:8,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.112Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:8,stepIndex:0,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.112Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`step.started`},{data:{actions:[{callId:`mock-tool-call-14-7-1`,input:{city:`Oslo`},kind:`tool-call`,toolName:`get_weather`}],sequence:8,stepIndex:0,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.119Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`actions.requested`},{data:{actions:[{callId:`mock-tool-call-14-7-2`,input:{marker:`M2`},kind:`tool-call`,toolName:`gate`}],sequence:8,stepIndex:0,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.120Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`actions.requested`},{data:{result:{callId:`mock-tool-call-14-7-1`,kind:`tool-result`,output:{city:`Oslo`,forecast:`sunny`,temperatureC:21},toolName:`get_weather`},sequence:8,status:`completed`,stepIndex:0,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.120Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`action.result`},{data:{reasoning:`Thinking it over.`,sequence:8,stepIndex:0,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.121Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`reasoning.completed`},{data:{finishReason:`tool-calls`,sequence:8,stepIndex:0,turnId:`turn_8`,usage:{inputTokens:760,outputTokens:8,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:11.121Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`step.completed`},{data:{requests:[{action:{callId:`mock-tool-call-14-7-2`,input:{marker:`M2`},kind:`tool-call`,toolName:`gate`},allowFreeform:!1,display:`confirmation`,kind:`tool-approval`,options:[{id:`approve`,label:`Approve`},{id:`cancel`,label:`Cancel`}],prompt:`Approve Gate?`,requestId:`aitxt-v1a9uJxRmDRH1gS6CNmgQr3j`}],sequence:8,stepIndex:0,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.128Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`input.requested`},{data:{on:`input`,sequence:8,turnId:`turn_8`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:9293,outputTokens:202}},meta:{at:`2026-10-22T21:36:11.128Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`turn.waiting`},{data:{outcome:`approved`,requestId:`aitxt-v1a9uJxRmDRH1gS6CNmgQr3j`,responderPrincipalId:`alice`,sequence:8,stepIndex:0,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.481Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`approval.settled`},{data:{resolutions:[{kind:`tool-approval`,outcome:`approved`,requestId:`aitxt-v1a9uJxRmDRH1gS6CNmgQr3j`,response:{optionId:`approve`,requestId:`aitxt-v1a9uJxRmDRH1gS6CNmgQr3j`}}],sequence:8,stepIndex:0,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.482Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`input.resolved`},{data:{modelId:`eve-mock/spike-mock`,sequence:8,stepIndex:1,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.482Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`step.started`},{data:{result:{callId:`mock-tool-call-14-7-2`,kind:`tool-result`,output:{executed:!0,marker:`M2`},toolName:`gate`},sequence:8,status:`completed`,stepIndex:1,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.482Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`action.result`},{data:{reasoning:`Thinking it over.`,sequence:8,stepIndex:1,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.489Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`Both done.`,sequence:8,stepIndex:1,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.489Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:8,stepIndex:1,turnId:`turn_8`,usage:{inputTokens:824,outputTokens:3,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:11.489Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`step.completed`},{data:{sequence:8,turnId:`turn_8`},meta:{at:`2026-10-22T21:36:11.492Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:10117,outputTokens:205},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:11.492Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`session.waiting`},{data:{sequence:9,sessionId:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,turnId:`turn_9`},meta:{at:`2026-10-22T21:36:11.874Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`context.cleared`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:10117,outputTokens:205},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:11.875Z`,deliveryIds:[`23afc349-ba19-4510-83d7-fba157238868`]},type:`session.waiting`},{data:{sequence:9,turnId:`turn_9`},meta:{at:`2026-10-22T21:36:12.247Z`,deliveryIds:[`411ce700-d20f-4f4c-a09b-4a1c35d5e4d5`]},type:`turn.started`},{data:{message:`hello after clear`,parts:[{text:`hello after clear`,type:`text`}],sequence:9,turnId:`turn_9`},meta:{at:`2026-10-22T21:36:12.247Z`,deliveryIds:[`411ce700-d20f-4f4c-a09b-4a1c35d5e4d5`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:9,stepIndex:0,turnId:`turn_9`},meta:{at:`2026-10-22T21:36:12.247Z`,deliveryIds:[`411ce700-d20f-4f4c-a09b-4a1c35d5e4d5`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:9,stepIndex:0,turnId:`turn_9`},meta:{at:`2026-10-22T21:36:12.251Z`,deliveryIds:[`411ce700-d20f-4f4c-a09b-4a1c35d5e4d5`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`Echo: hello after clear`,sequence:9,stepIndex:0,turnId:`turn_9`},meta:{at:`2026-10-22T21:36:12.252Z`,deliveryIds:[`411ce700-d20f-4f4c-a09b-4a1c35d5e4d5`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:9,stepIndex:0,turnId:`turn_9`,usage:{inputTokens:338,outputTokens:6,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:12.252Z`,deliveryIds:[`411ce700-d20f-4f4c-a09b-4a1c35d5e4d5`]},type:`step.completed`},{data:{sequence:9,turnId:`turn_9`},meta:{at:`2026-10-22T21:36:12.255Z`,deliveryIds:[`411ce700-d20f-4f4c-a09b-4a1c35d5e4d5`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:10455,outputTokens:211},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:12.255Z`,deliveryIds:[`411ce700-d20f-4f4c-a09b-4a1c35d5e4d5`]},type:`session.waiting`},{data:{sequence:10,turnId:`turn_10`},meta:{at:`2026-10-22T21:36:12.329Z`,deliveryIds:[`5cf3a163-8521-4490-902b-97dac4f48f01`]},type:`turn.started`},{data:{messages:[{role:`user`,text:`Earlier question from another system`,id:`h1`},{role:`assistant`,text:`Earlier answer from another system`,id:`h2`}],sequence:10,turnId:`turn_10`},meta:{at:`2026-10-22T21:36:12.329Z`,deliveryIds:[`5cf3a163-8521-4490-902b-97dac4f48f01`]},type:`history.imported`},{data:{message:`IMPORT this and say hi`,parts:[{text:`IMPORT this and say hi`,type:`text`}],sequence:10,turnId:`turn_10`},meta:{at:`2026-10-22T21:36:12.329Z`,deliveryIds:[`5cf3a163-8521-4490-902b-97dac4f48f01`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:10,stepIndex:0,turnId:`turn_10`},meta:{at:`2026-10-22T21:36:12.329Z`,deliveryIds:[`5cf3a163-8521-4490-902b-97dac4f48f01`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:10,stepIndex:0,turnId:`turn_10`},meta:{at:`2026-10-22T21:36:12.333Z`,deliveryIds:[`5cf3a163-8521-4490-902b-97dac4f48f01`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`Echo: IMPORT this and say hi`,sequence:10,stepIndex:0,turnId:`turn_10`},meta:{at:`2026-10-22T21:36:12.333Z`,deliveryIds:[`5cf3a163-8521-4490-902b-97dac4f48f01`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:10,stepIndex:0,turnId:`turn_10`,usage:{inputTokens:372,outputTokens:7,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:12.333Z`,deliveryIds:[`5cf3a163-8521-4490-902b-97dac4f48f01`]},type:`step.completed`},{data:{sequence:10,turnId:`turn_10`},meta:{at:`2026-10-22T21:36:12.336Z`,deliveryIds:[`5cf3a163-8521-4490-902b-97dac4f48f01`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:10827,outputTokens:218},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:12.336Z`,deliveryIds:[`5cf3a163-8521-4490-902b-97dac4f48f01`]},type:`session.waiting`},{data:{modelId:`eve-mock/spike-mock`,sequence:11,sessionId:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,stepIndex:0,turnId:`turn_11`,usageInputTokens:406},meta:{at:`2026-10-22T21:36:12.400Z`,deliveryIds:[`5cf3a163-8521-4490-902b-97dac4f48f01`]},type:`compaction.requested`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:11278,outputTokens:251},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:12.405Z`,deliveryIds:[`5cf3a163-8521-4490-902b-97dac4f48f01`]},type:`session.waiting`},{data:{sequence:11,turnId:`turn_11`},meta:{at:`2026-10-22T21:36:14.422Z`,deliveryIds:[`28ccf371-08b8-4484-bf8a-ed5f0549189a`]},type:`turn.started`},{data:{message:`hello after compact`,parts:[{text:`hello after compact`,type:`text`}],sequence:11,turnId:`turn_11`},meta:{at:`2026-10-22T21:36:14.422Z`,deliveryIds:[`28ccf371-08b8-4484-bf8a-ed5f0549189a`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:11,stepIndex:0,turnId:`turn_11`},meta:{at:`2026-10-22T21:36:14.422Z`,deliveryIds:[`28ccf371-08b8-4484-bf8a-ed5f0549189a`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:11,stepIndex:0,turnId:`turn_11`},meta:{at:`2026-10-22T21:36:14.427Z`,deliveryIds:[`28ccf371-08b8-4484-bf8a-ed5f0549189a`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`Echo: hello after compact`,sequence:11,stepIndex:0,turnId:`turn_11`},meta:{at:`2026-10-22T21:36:14.427Z`,deliveryIds:[`28ccf371-08b8-4484-bf8a-ed5f0549189a`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:11,stepIndex:0,turnId:`turn_11`,usage:{inputTokens:388,outputTokens:7,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:14.428Z`,deliveryIds:[`28ccf371-08b8-4484-bf8a-ed5f0549189a`]},type:`step.completed`},{data:{sequence:11,turnId:`turn_11`},meta:{at:`2026-10-22T21:36:14.431Z`,deliveryIds:[`28ccf371-08b8-4484-bf8a-ed5f0549189a`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRNW3JXDKMN1BP7T89PTCQ`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:11666,outputTokens:258},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:14.431Z`,deliveryIds:[`28ccf371-08b8-4484-bf8a-ed5f0549189a`]},type:`session.waiting`}],STEER_AND_CANCEL=[{data:{runtime:{agentId:`v26-spike`,agentName:`v26-spike`,eveVersion:`0.82.0`}},meta:{at:`2026-10-22T21:36:14.563Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`]},type:`session.started`},{data:{sequence:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:14.563Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`]},type:`turn.started`},{data:{message:`slow please`,parts:[{text:`slow please`,type:`text`}],sequence:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:14.564Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:14.564Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`]},type:`step.started`},{data:{actions:[{callId:`mock-tool-call-1-0-1`,input:{ms:6e3},kind:`tool-call`,toolName:`slow`}],sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:14.568Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`]},type:`actions.requested`},{data:{result:{callId:`mock-tool-call-1-0-1`,kind:`tool-result`,output:{slept:6e3},toolName:`slow`},sequence:0,status:`completed`,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:20.568Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`]},type:`action.result`},{data:{reasoning:`Thinking it over.`,sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:20.569Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`]},type:`reasoning.completed`},{data:{finishReason:`tool-calls`,sequence:0,stepIndex:0,turnId:`turn_0`,usage:{inputTokens:316,outputTokens:3,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:20.569Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`]},type:`step.completed`},{data:{message:`actually, also this steering note`,parts:[{text:`actually, also this steering note`,type:`text`}],sequence:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:20.583Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`,`3a25f2be-a49b-4a20-8a6a-318bf8138071`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:0,stepIndex:1,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:20.583Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`,`3a25f2be-a49b-4a20-8a6a-318bf8138071`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:0,stepIndex:1,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:20.586Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`,`3a25f2be-a49b-4a20-8a6a-318bf8138071`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`Echo: actually, also this steering note`,sequence:0,stepIndex:1,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:20.587Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`,`3a25f2be-a49b-4a20-8a6a-318bf8138071`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:0,stepIndex:1,turnId:`turn_0`,usage:{inputTokens:333,outputTokens:10,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:20.587Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`,`3a25f2be-a49b-4a20-8a6a-318bf8138071`]},type:`step.completed`},{data:{sequence:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:20.589Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`,`3a25f2be-a49b-4a20-8a6a-318bf8138071`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRP3PB99CA7JDRX1AH8GJP`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:649,outputTokens:13},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:20.589Z`,deliveryIds:[`83636cf2-6b24-4186-8ed4-f14df9d2b6a3`,`3a25f2be-a49b-4a20-8a6a-318bf8138071`]},type:`session.waiting`},{data:{sequence:1,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:20.741Z`,deliveryIds:[`90467626-6065-463b-a396-4d6a380abe85`]},type:`turn.started`},{data:{message:`slow please again`,parts:[{text:`slow please again`,type:`text`}],sequence:1,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:20.741Z`,deliveryIds:[`90467626-6065-463b-a396-4d6a380abe85`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:1,stepIndex:0,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:20.741Z`,deliveryIds:[`90467626-6065-463b-a396-4d6a380abe85`]},type:`step.started`},{data:{actions:[{callId:`mock-tool-call-3-1-1`,input:{ms:6e3},kind:`tool-call`,toolName:`slow`}],sequence:1,stepIndex:0,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:20.746Z`,deliveryIds:[`90467626-6065-463b-a396-4d6a380abe85`]},type:`actions.requested`},{data:{sequence:1,turnId:`turn_1`},meta:{at:`2026-10-22T21:36:21.050Z`,deliveryIds:[`90467626-6065-463b-a396-4d6a380abe85`]},type:`turn.cancelled`},{data:{continuationToken:`wrun_01M5JRP3PB99CA7JDRX1AH8GJP`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:649,outputTokens:13},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:21.051Z`,deliveryIds:[`90467626-6065-463b-a396-4d6a380abe85`]},type:`session.waiting`}],PENDING_APPROVAL=[{data:{runtime:{agentId:`v26-spike`,agentName:`v26-spike`,eveVersion:`0.82.0`}},meta:{at:`2026-10-22T21:36:21.356Z`,deliveryIds:[`8be1dfa2-67cc-4f07-a435-09f5d9ae6402`]},type:`session.started`},{data:{sequence:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:21.356Z`,deliveryIds:[`8be1dfa2-67cc-4f07-a435-09f5d9ae6402`]},type:`turn.started`},{data:{message:`please run the gate`,parts:[{text:`please run the gate`,type:`text`}],sequence:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:21.356Z`,deliveryIds:[`8be1dfa2-67cc-4f07-a435-09f5d9ae6402`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:21.356Z`,deliveryIds:[`8be1dfa2-67cc-4f07-a435-09f5d9ae6402`]},type:`step.started`},{data:{actions:[{callId:`mock-tool-call-1-0-1`,input:{marker:`M1`},kind:`tool-call`,toolName:`gate`}],sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:21.359Z`,deliveryIds:[`8be1dfa2-67cc-4f07-a435-09f5d9ae6402`]},type:`actions.requested`},{data:{reasoning:`Thinking it over.`,sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:21.360Z`,deliveryIds:[`8be1dfa2-67cc-4f07-a435-09f5d9ae6402`]},type:`reasoning.completed`},{data:{finishReason:`tool-calls`,sequence:0,stepIndex:0,turnId:`turn_0`,usage:{inputTokens:318,outputTokens:4,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:21.360Z`,deliveryIds:[`8be1dfa2-67cc-4f07-a435-09f5d9ae6402`]},type:`step.completed`},{data:{requests:[{action:{callId:`mock-tool-call-1-0-1`,input:{marker:`M1`},kind:`tool-call`,toolName:`gate`},allowFreeform:!1,display:`confirmation`,kind:`tool-approval`,options:[{id:`approve`,label:`Approve`},{id:`cancel`,label:`Cancel`}],prompt:`Approve Gate?`,requestId:`aitxt-DHJ6EZuW9iJ3mxtxH3OaSi8l`}],sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:21.368Z`,deliveryIds:[`8be1dfa2-67cc-4f07-a435-09f5d9ae6402`]},type:`input.requested`},{data:{on:`input`,sequence:0,turnId:`turn_0`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:318,outputTokens:4}},meta:{at:`2026-10-22T21:36:21.368Z`,deliveryIds:[`8be1dfa2-67cc-4f07-a435-09f5d9ae6402`]},type:`turn.waiting`}],ATTACHMENT=[{data:{runtime:{agentId:`v26-spike`,agentName:`v26-spike`,eveVersion:`0.82.0`}},meta:{at:`2026-10-22T21:36:21.957Z`,deliveryIds:[`056319ad-ea04-4094-9b5f-91ec260fc40e`]},type:`session.started`},{data:{sequence:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:21.958Z`,deliveryIds:[`056319ad-ea04-4094-9b5f-91ec260fc40e`]},type:`turn.started`},{data:{message:`here is a file
2
+ [file: note.txt (text/plain)]`,parts:[{text:`here is a file`,type:`text`},{mediaType:`text/plain`,type:`file`,filename:`note.txt`,size:5}],sequence:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:21.958Z`,deliveryIds:[`056319ad-ea04-4094-9b5f-91ec260fc40e`]},type:`message.received`},{data:{modelId:`eve-mock/spike-mock`,sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:21.959Z`,deliveryIds:[`056319ad-ea04-4094-9b5f-91ec260fc40e`]},type:`step.started`},{data:{reasoning:`Thinking it over.`,sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:21.963Z`,deliveryIds:[`056319ad-ea04-4094-9b5f-91ec260fc40e`]},type:`reasoning.completed`},{data:{finishReason:`stop`,message:`Echo: here is a fileAttached file /workspace/.eve/attachments/2cf24dba5fb0a30e/note.txt (text/plain)`,sequence:0,stepIndex:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:21.963Z`,deliveryIds:[`056319ad-ea04-4094-9b5f-91ec260fc40e`]},type:`message.completed`},{data:{finishReason:`stop`,sequence:0,stepIndex:0,turnId:`turn_0`,usage:{inputTokens:337,outputTokens:25,cacheReadTokens:0,cacheWriteTokens:0}},meta:{at:`2026-10-22T21:36:21.964Z`,deliveryIds:[`056319ad-ea04-4094-9b5f-91ec260fc40e`]},type:`step.completed`},{data:{sequence:0,turnId:`turn_0`},meta:{at:`2026-10-22T21:36:21.966Z`,deliveryIds:[`056319ad-ea04-4094-9b5f-91ec260fc40e`]},type:`turn.completed`},{data:{continuationToken:`wrun_01M5JRPAK84YV23T2V7SHG8EJ5`,usage:{cacheReadTokens:0,cacheWriteTokens:0,inputTokens:337,outputTokens:25},wait:`next-user-message`},meta:{at:`2026-10-22T21:36:21.967Z`,deliveryIds:[`056319ad-ea04-4094-9b5f-91ec260fc40e`]},type:`session.waiting`}];export{ATTACHMENT,KITCHEN_SINK,PENDING_APPROVAL,STEER_AND_CANCEL};
@@ -0,0 +1 @@
1
+ import{FACT_CATALOG}from"#protocol/session-events/catalog.js";import{emptySessionView,foldLine}from"#protocol/session-projection/fold.js";import{isStoredLine}from"#protocol/session-events/envelope.js";import{createEventReader}from"#protocol/session-lines.js";import{isV26Line}from"#protocol/v26-lines.js";import{cascade}from"#harness/session-machine/cascade.js";import{v26InteractionOutcome,v26InteractionRequest,v26SignInOutcome,v26SignInRequest}from"#protocol/v26-interactions.js";function createV26HistoryReader(){let e=emptySessionView(),t=new Translator(e);return{read(n,r){if(isStoredLine(n)){let i=n;return`facts`in i&&t.noteIntroduced(i.facts),foldLine(e,i,r,{retention:`operational`}),i}if(!isV26Line(n))return;let i=n,a=isRecord(i.data)?i.data:{},o=isRecord(i.meta)?i.meta:{},s=typeof o.at==`string`?o.at:new Date(0).toISOString(),c=Array.isArray(o.deliveryIds)?o.deliveryIds.filter(e=>typeof e==`string`):[],l=t.factsOf(i.type,a,{deliveryIds:c,position:r});if(l.length===0)return;let u=JSON.parse(JSON.stringify(l)),d=cascade(e,u),f={at:s,facts:d};return t.noteIntroduced(d),foldLine(e,f,r,{retention:`operational`}),f}}}function v26LineStream(e,t){let n=createV26HistoryReader(),r=0;return e.pipeThrough(new TransformStream({transform(e,i){let a=r;r+=1;let o=n.read(e,a);a<t||i.enqueue(o??{$eve:`position`,next:a+1})}}))}function convertLegacyEvents(e){if(!isSessionStarted(e[0]))throw TypeError("Expected saved events of one session from its first, `session.started`. Each event reads in light of those before it, so events saved from a later position can't be converted; read the session's stream from position 0 again instead.");let t=createV26HistoryReader(),n=createEventReader(),r=[];e.forEach((e,i)=>{if(i>0&&isSessionStarted(e))throw TypeError(`Saved event ${String(i)} starts another session. Convert each session's events separately: split them where each \`session.started\` begins.`);if(!isV26Line(e)||hasStreamPosition(e))throw TypeError(`Saved event ${String(i)} isn't an event saved before the upgrade to this eve version. Pass only those, as they were saved, one per stored line.`);let a=t.read(e,i);a!==void 0&&r.push(...n.read(a,i))});let i=r.at(-1);return i!==void 0&&e.length>i.meta.position.line+1&&(r[r.length-1]={...i,meta:{...i.meta,next:e.length}}),r}function hasStreamPosition(e){let t=e.meta;return isRecord(t)&&t.position!==void 0}function isSessionStarted(e){return isV26Line(e)&&e.type===`session.started`}var Translator=class{turnId;follows=null;runs=new Map;partCounts=new Map;reply;taskCalls=new Set;approvals=new Map;interactionCalls=new Map;compaction;pendingHistory;startingDelivery;introduced=new Set;view;constructor(e){this.view=e}noteIntroduced(e){for(let t of e){let e=FACT_CATALOG[t.type];if(e?.role!==`introduces`)continue;let n=t.data[e.idField];typeof n==`string`&&this.introduced.add(`${e.family}:${n}`)}}isIntroduced(e,t){return this.introduced.has(`${e}:${t}`)}factsOf(e,t,n){let r=`v26_${String(n.position)}`;switch(e){case`session.started`:return[{data:sessionStarted(t),type:`session.started`}];case`turn.started`:return this.startTurn(str(t.turnId),n);case`history.imported`:return this.pendingHistory=Array.isArray(t.messages)?t.messages.flatMap(e=>isRecord(e)&&(e.role===`user`||e.role===`assistant`)&&typeof e.text==`string`?[{id:str(e.id),role:e.role,text:e.text}]:[]):void 0,[];case`message.received`:return this.received(t,n,r);case`step.started`:return this.stepStarted(t,r);case`reasoning.completed`:return this.content(t,`reasoning`,`narration`,str(t.reasoning),r);case`message.completed`:return this.content(t,`text`,t.finishReason===`tool-calls`?`narration`:`reply`,str(t.message),r);case`result.completed`:return this.content(t,`result`,`reply`,json(t.result),r);case`step.completed`:return this.stepSettled(t,`completed`);case`step.failed`:return this.stepSettled(t,`failed`);case`actions.requested`:return this.actionsRequested(t);case`action.result`:return this.actionResult(t);case`task.started`:return this.taskStarted(t);case`task.settled`:return this.taskSettled(t);case`agent.started`:return this.agentStarted(t);case`input.requested`:return this.inputRequested(t);case`turn.waiting`:return this.turnWaiting(t);case`input.resolved`:return this.inputResolved(t,n,r);case`authorization.required`:return this.authorizationRequired(t,r);case`authorization.completed`:return this.authorizationCompleted(t);case`turn.completed`:return this.endTurn(str(t.turnId),{outcome:`completed`});case`turn.cancelled`:return this.endTurn(str(t.turnId),{outcome:`cancelled`});case`turn.failed`:return this.endTurn(str(t.turnId),{error:errorOf(t),outcome:`failed`});case`context.cleared`:return this.follows=null,[{data:{changeId:r,kind:`clear`},type:`context.started`},{data:{changeId:r,kind:`clear`,outcome:`completed`,selects:null},type:`context.settled`}];case`compaction.requested`:return this.compactionRequested(t,r);case`compaction.completed`:return this.compactionSettled(`completed`);case`session.waiting`:return this.compaction===void 0?[]:this.compactionSettled(`failed`);case`session.completed`:return[{data:{outcome:`completed`},type:`session.ended`}];case`session.failed`:return sessionFailed(t,r);default:return[]}}startTurn(e,t){if(e===void 0||this.isIntroduced(`turn`,e))return[];let n=[],r=this.unadmitted(t,`v26_${String(t.position)}`);return n.push(...this.admit(r)),n.push({data:{cause:{deliveryId:r},follows:this.follows,turnId:e},type:`turn.started`}),this.turnId=e,this.follows=e,this.reply=void 0,this.startingDelivery=r,n}received(e,t,n){let r=str(e.turnId);if(r===void 0)return[];let i=this.isIntroduced(`turn`,r)?[]:this.startTurn(r,t),a=this.startingDelivery!==void 0&&this.view.deliveries[this.startingDelivery]?.status===`admitted`?this.startingDelivery:this.unadmitted(t,n);this.startingDelivery=void 0,i.some(e=>e.type===`delivery.admitted`&&e.data.deliveryId===a)||i.push(...this.admit(a));let o=this.pendingHistory;return this.pendingHistory=void 0,i.push({data:{deliveryId:a,history:o!==void 0&&o.length>0?o:void 0,parts:userParts(e),turnId:r},type:`delivery.consumed`}),i}unadmitted(e,t){return e.deliveryIds.find(e=>!this.isIntroduced(`delivery`,e)||this.view.deliveries[e]?.status===`admitted`)??t}admit(e){return this.isIntroduced(`delivery`,e)?[]:[{data:{deliveryId:e},type:`delivery.admitted`}]}runOf(e){let t=str(e.turnId);if(t!==void 0&&typeof e.stepIndex==`number`)return this.runs.get(`${t}:${String(e.stepIndex)}`)}stepStarted(e,t){let n=str(e.turnId);if(n===void 0||this.view.turns[n]?.status!==`running`||typeof e.stepIndex!=`number`)return[];let r=`${n}:${String(e.stepIndex)}`;if(this.runs.has(r))return[];let i=t;return this.runs.set(r,i),[{data:{owner:{turnId:n},runId:i},type:`model.requested`},{data:{attempt:0,modelId:str(e.modelId)??`unknown`,runId:i},type:`model.started`}]}content(e,t,n,r,i){if(r===void 0)return[];let a=this.runOf(e)===void 0?this.stepStarted(e,i):[],o=this.runOf(e);if(o===void 0||!(this.isOpenRun(o)||a.length>0))return[];let s=this.partCounts.get(o)??0;this.partCounts.set(o,s+1);let c=`${o}.${String(s)}`;return n===`reply`&&(this.reply?.runId!==o&&(this.reply={parts:[],runId:o}),this.reply.parts.push(c)),[...a,{data:{kind:t,partId:c,phase:n,runId:o,value:r},type:`content.completed`}]}stepSettled(e,t){let n=this.runOf(e);if(n===void 0||!this.isOpenRun(n))return[];let r=[{data:{error:t===`failed`?errorOf(e):void 0,finishReason:typeof e.finishReason==`string`?e.finishReason:void 0,outcome:t,runId:n},type:`model.settled`}],i=isRecord(e.usage)?e.usage:void 0;return i!==void 0&&r.push({data:{kind:`model`,owner:{runId:n},usage:{cacheReadTokens:num(i.cacheReadTokens),cacheWriteTokens:num(i.cacheWriteTokens),costUsd:typeof i.costUsd==`number`?i.costUsd:void 0,inputTokens:num(i.inputTokens),outputTokens:num(i.outputTokens)}},type:`usage.recorded`}),r}isOpenRun(e){let t=this.view.runs[e]?.status;return t!==void 0&&t!==`settled`}actionsRequested(e){let t=this.runOf(e);if(t===void 0||!Array.isArray(e.actions))return[];let n=isRecord(e.presentation)?e.presentation:{};return e.actions.flatMap(e=>{if(!isRecord(e))return[];let r=str(e.callId);return r===void 0||this.isIntroduced(`call`,r)?[]:[{data:{callId:r,capability:capabilityOf(e,str((isRecord(n[r])?n[r]:{}).label)),input:e.input===void 0?void 0:e.input,owner:{runId:t}},type:`call.requested`}]})}startCall(e,t){if(this.view.calls[e]?.status!==`requested`)return[];let n=this.approvals.get(e);return[{data:{callId:e,clearedBy:n===void 0?void 0:{interactionId:n},taskId:t},type:`call.started`}]}actionResult(e){let t=isRecord(e.result)?e.result:{},n=str(t.callId),r=n===void 0?void 0:this.view.calls[n];if(n===void 0||r===void 0||r.status===`settled`||this.taskCalls.has(n))return[];let i=isRecord(e.error)?errorOf(e.error):void 0;if(e.status===`rejected`){let e=this.approvals.get(n);return[{data:{callId:n,cause:e===void 0?void 0:{interactionId:e},error:i,outcome:`rejected`,output:t.output===void 0?void 0:t.output},type:`call.settled`}]}let a=e.status===`failed`?`failed`:`completed`;return[...this.startCall(n),{data:{callId:n,error:a===`failed`&&i!==void 0?i:void 0,outcome:a,output:t.output===void 0?void 0:t.output},type:`call.settled`}]}taskStarted(e){let t=str(e.taskId),n=str(e.callId);if(t===void 0||n===void 0||this.view.calls[n]===void 0)return[];this.taskCalls.add(n);let r=[];return this.isIntroduced(`task`,t)||r.push({data:{kind:str(e.kind)??`tool`,name:str(e.name)??this.view.calls[n].capability.name,startedBy:{callId:n},taskId:t},type:`task.started`}),r.push(...this.startCall(n,t)),r}taskSettled(e){let t=str(e.callId),n=t===void 0?void 0:this.view.calls[t];if(t===void 0||n===void 0||n.status===`settled`)return[];let r=this.startCall(t,str(e.taskId)),i=e.status,a=i===`completed`?`completed`:i===`failed`?`failed`:`interrupted`,o=isRecord(e.cancel)?str(e.cancel.reason):void 0;return r.push({data:{callId:t,error:isRecord(e.error)&&typeof e.error.message==`string`?{code:`task_failed`,message:e.error.message}:void 0,outcome:a,output:e.output===void 0?void 0:e.output,reason:o===void 0?void 0:o.replaceAll(`_`,`-`)},type:`call.settled`}),r}agentStarted(e){let t=str(e.sessionId),n=str(e.callId);return t===void 0||n===void 0||this.view.calls[n]===void 0||this.isIntroduced(`child`,t)?[]:[{data:{name:str(e.name)??this.view.calls[n].capability.name,owner:{callId:n},sessionId:t,stream:str(e.streamPath)??`/eve/v1/session/${t}/stream`},type:`child.opened`}]}inputRequested(e){if(!Array.isArray(e.requests))return[];let t=str(e.callId);return e.requests.flatMap(n=>{if(!isRecord(n))return[];let r=str(n.requestId);if(r===void 0||this.isIntroduced(`interaction`,r))return[];let i=isRecord(n.action)?n.action:{},a=t??str(i.callId),o=str(e.turnId),s=a!==void 0&&this.view.calls[a]!==void 0?{callId:a}:o===void 0?void 0:{turnId:o};return s===void 0?[]:(a!==void 0&&n.kind===`tool-approval`&&this.interactionCalls.set(r,a),[{data:{interactionId:r,request:v26InteractionRequest(n),subject:s},type:`interaction.opened`}])})}turnWaiting(e){let t=str(e.turnId);if(e.on!==`input`||t===void 0)return[];let n=Object.values(this.view.interactions).filter(e=>e.status===`open`).map(e=>({interactionId:e.interactionId}));if(n.length===0||this.view.turns[t]?.status!==`running`)return[];let r=[{data:{awaiting:n,turnId:t},type:`turn.paused`}];for(let e of Object.values(this.view.deliveries))e.status===`consumed`&&e.turnId===t&&r.push({data:{deliveryId:e.deliveryId,outcome:`awaiting-input`,turnId:t},type:`delivery.settled`});return r}inputResolved(e,t,n){if(!Array.isArray(e.resolutions))return[];let r=str(e.turnId)??this.turnId,i=this.unadmitted(t,`${n}_answers`),a=[...this.admit(i)],o=!1;return e.resolutions.forEach((e,t)=>{if(!isRecord(e))return;let n=str(e.requestId);if(n===void 0||this.view.interactions[n]?.status!==`open`)return;let r=isRecord(e.response)?e.response:{},s={};typeof r.optionId==`string`&&(s.optionId=r.optionId),typeof r.text==`string`&&(s.text=r.text);let c=v26InteractionOutcome(e.outcome),l=`response_${i}_${String(t)}`;o=!0,a.push({data:{deliveryId:i,interactionId:n,responseId:l,value:s},type:`response.submitted`},{data:{responseId:l},type:`response.admitted`},{data:{outcome:`applied`,responseId:l},type:`response.settled`},{data:{cause:{responseId:l},interactionId:n,outcome:c,response:Object.keys(s).length===0?void 0:s},type:`interaction.settled`});let u=this.interactionCalls.get(n);u!==void 0&&this.approvals.set(u,n)}),o?(r!==void 0&&this.view.turns[r]?.status===`running`&&a.push({data:{deliveryId:i,parts:[],turnId:r},type:`delivery.consumed`}),a):[]}authorizationRequired(e,t){let n=str(e.attemptId)??t;if(this.isIntroduced(`interaction`,n))return[];let r=str(e.taskId),i=str(e.turnId),a=r!==void 0&&this.view.tasks[r]!==void 0?{taskId:r}:i===void 0?void 0:{turnId:i};if(a===void 0)return[];let o=v26SignInRequest(e),s=str(e.principalId);return[{data:{audience:s===void 0?void 0:{principalIds:[s]},interactionId:n,request:o,subject:a},type:`interaction.opened`}]}authorizationCompleted(e){let t=str(e.attemptId);return t===void 0||this.view.interactions[t]?.status!==`open`?[]:[{data:{interactionId:t,outcome:v26SignInOutcome(e.outcome),reason:str(e.reason)},type:`interaction.settled`}]}endTurn(e,t){if(e===void 0||this.view.turns[e]?.status!==`running`)return[];let n=t.outcome===`completed`?this.reply?.parts:void 0;return this.turnId=void 0,this.reply=void 0,[{data:{error:t.error===void 0?void 0:t.error,outcome:t.outcome,reply:n===void 0||n.length===0?void 0:n,turnId:e},type:`turn.settled`}]}compactionRequested(e,t){if(this.compaction!==void 0)return[];this.compaction=t;let n=str(e.turnId),r=n!==void 0&&this.view.turns[n]?.status===`running`,i=typeof e.usageInputTokens==`number`?e.usageInputTokens:void 0;return[{data:{changeId:t,kind:`compaction`,trigger:i===void 0?void 0:{inputTokens:i},turnId:r?n:void 0},type:`context.started`}]}compactionSettled(e){let t=this.compaction;return this.compaction=void 0,t===void 0||this.view.changes[t]?.status!==`running`?[]:[{data:{changeId:t,error:e===`failed`?{code:`COMPACTION_FAILED`,message:`The compaction did not complete.`}:void 0,kind:`compaction`,outcome:e},type:`context.settled`}]}};function sessionStarted(e){let t=isRecord(e.invocation)?e.invocation:void 0,n=str(t?.parentSessionId),r=str(t?.parentCallId),i=isRecord(e.predecessor)?str(e.predecessor.sessionId):void 0;return{parent:n!==void 0&&r!==void 0?{callId:r,sessionId:n}:void 0,predecessor:i===void 0?void 0:{sessionId:i},runtime:isRecord(e.runtime)&&typeof e.runtime.agentId==`string`?e.runtime:void 0,trace:isRecord(e.trace)?e.trace:void 0}}function sessionFailed(e,t){let n=errorOf(e),r=isRecord(e.details)?e.details:{};return n.code!==`session_stranded`||typeof r.trigger!=`string`?[{data:{error:n,outcome:`failed`},type:`session.ended`}]:r.trigger===`reset`?[{data:{deliveryId:t,source:{control:`reset`}},type:`delivery.admitted`},{data:{cause:{deliveryId:t},error:n,outcome:`failed`},type:`session.ended`}]:[{data:{cause:{policy:`stranded-${r.trigger}`},error:n,outcome:`failed`},type:`session.ended`}]}function capabilityOf(e,t){let n=t===void 0?{}:{label:t};switch(e.kind){case`subagent-call`:return{kind:`agent`,name:str(e.name)??str(e.subagentName)??`agent`,...n};case`remote-agent-call`:return{kind:`agent`,name:str(e.name)??str(e.remoteAgentName)??`agent`,remote:!0,...n};case`load-skill`:return{kind:`skill`,name:str(e.name)??`skill`,...n};default:{let t=str(e.toolName)??str(e.name)??`tool`;return{kind:t.startsWith(`eve__task_`)?`control`:`tool`,name:t,...n}}}}function userParts(e){return Array.isArray(e.parts)?e.parts.flatMap(e=>{if(!isRecord(e))return[];if(e.type===`text`&&typeof e.text==`string`)return[{kind:`text`,text:e.text}];if(e.type===`file`&&typeof e.mediaType==`string`){let t=str(e.url);return[{filename:str(e.filename),kind:`file`,mediaType:e.mediaType,size:typeof e.size==`number`?e.size:void 0,unavailable:t===void 0||void 0,url:t}]}return[]}):typeof e.message==`string`?[{kind:`text`,text:e.message}]:[]}function errorOf(e){return{code:str(e.code)??`unknown`,message:str(e.message)??`Unknown error.`,name:str(e.name)}}function str(e){return typeof e==`string`?e:void 0}function num(e){return typeof e==`number`&&Number.isFinite(e)?e:0}function json(e){return e===void 0?void 0:e}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{convertLegacyEvents,createV26HistoryReader,v26LineStream};
@@ -1 +1 @@
1
- import{isIP}from"node:net";import{isLoopbackHostname,isPrivateOrReservedIpAddress}from"#shared/network-address.js";import{lookup}from"node:dns";const REDIRECT_STATUSES=new Set([301,302,303,307,308]),UNSAFE_DESTINATION_ERROR=`URL must not target localhost, private, link-local, or reserved IP addresses.`;async function requestPublicUrl(e,t){let n=parseHttpsUrl(e);for(let e=0;;e++){let{dispatcher:r,response:i}=await requestOnce(n,t);try{let r=i.headers.get(`location`);if(r!==null&&REDIRECT_STATUSES.has(i.status)&&e<10){await cancelResponseBody(i),n=parseHttpsUrl(new URL(r,n).toString());continue}return await consumeResponse(i,t.maxResponseSize)}finally{await r.close()}}}function parseHttpsUrl(e){let t;try{t=new URL(e)}catch{throw Error(`URL must be a valid absolute https:// URL.`)}if(t.protocol!==`https:`)throw Error(`URL must start with https://`);return t}async function requestOnce(e,t){assertPublicHostname(e.hostname);let{Agent:n,Dispatcher1Wrapper:r}=await import(`undici`),i=new r(new n({connect:{lookup:createPublicLookup()}}));try{return{dispatcher:i,response:await fetchWithDispatcher(e,{dispatcher:i,headers:t.headers,redirect:`manual`,signal:t.signal})}}catch(e){throw await i.close(),e}}function fetchWithDispatcher(e,t){return fetch(e,t)}function assertPublicHostname(e){let t=e.replace(/^\[(.*)\]$/u,`$1`);if(isIP(t)!==0){assertPublicAddress(t);return}if(isLoopbackHostname(t))throw Error(UNSAFE_DESTINATION_ERROR)}function assertPublicAddress(e){if(isPrivateOrReservedIpAddress(e))throw Error(UNSAFE_DESTINATION_ERROR)}function createPublicLookup(){return(e,t,n)=>{lookup(e,{all:!0,verbatim:!0},(r,i)=>{if(r!==null){n(r,``,0);return}try{for(let{address:e}of i)assertPublicAddress(e)}catch(e){n(e,``,0);return}let a=t.family===void 0||t.family===0?i:i.filter(({family:e})=>e===t.family);if(a.length===0){let t=Error(`Unable to resolve URL hostname "${e}" in the requested IP family.`);Object.assign(t,{code:`ENOTFOUND`}),n(t,``,0);return}if(t.all===!0){n(null,a);return}let o=a[0];n(null,o.address,o.family)})}}async function consumeResponse(e,t){let n=parseContentLength(e.headers.get(`content-length`));if(n!==void 0&&n>t)throw await cancelResponseBody(e),createResponseTooLargeError(t);let r=await readBoundedBody(e,t),i=r.byteLength===0?null:Uint8Array.from(r).buffer;return new Response(i,{headers:e.headers,status:e.status,statusText:e.statusText})}function parseContentLength(e){if(e===null)return;let t=Number.parseInt(e,10);return Number.isFinite(t)&&t>=0?t:void 0}async function readBoundedBody(e,t){if(e.body===null)return new Uint8Array;let n=e.body.getReader(),r=[],i=0;try{for(;;){let{done:e,value:a}=await n.read();if(e)break;if(i+=a.byteLength,i>t)throw await n.cancel(),createResponseTooLargeError(t);r.push(a)}}finally{n.releaseLock()}let a=new Uint8Array(i),o=0;for(let e of r)a.set(e,o),o+=e.byteLength;return a}async function cancelResponseBody(e){try{await e.body?.cancel()}catch{}}function createResponseTooLargeError(e){return Error(`Response too large (exceeds ${e} bytes).`)}export{requestPublicUrl};
1
+ import{assertPublicHostname,cancelResponseBody,createPublicDispatcher,fetchWithDispatcher,readBoundedResponse}from"#execution/public-destination.js";const REDIRECT_STATUSES=new Set([301,302,303,307,308]),WEB_FETCH_DESTINATION_POLICY={allowLoopback:!1};async function requestPublicUrl(e,t){let n=parseHttpsUrl(e);for(let e=0;;e++){let{dispatcher:r,response:i}=await requestOnce(n,t);try{let r=i.headers.get(`location`);if(r!==null&&REDIRECT_STATUSES.has(i.status)&&e<10){await cancelResponseBody(i),n=parseHttpsUrl(new URL(r,n).toString());continue}return await readBoundedResponse(i,t.maxResponseSize)}finally{await r.close()}}}function parseHttpsUrl(e){let t;try{t=new URL(e)}catch{throw Error(`URL must be a valid absolute https:// URL.`)}if(t.protocol!==`https:`)throw Error(`URL must start with https://`);return t}async function requestOnce(e,t){assertPublicHostname(e.hostname,WEB_FETCH_DESTINATION_POLICY);let n=await createPublicDispatcher(WEB_FETCH_DESTINATION_POLICY);try{return{dispatcher:n,response:await fetchWithDispatcher(e,{dispatcher:n,headers:t.headers,redirect:`manual`,signal:t.signal})}}catch(e){throw await n.close(),e}}export{requestPublicUrl};
@@ -7,6 +7,11 @@
7
7
  * serialization the workflow devkit performs on step inputs.
8
8
  */
9
9
  export declare function normalizeSerializableError(error: unknown): unknown;
10
+ /**
11
+ * What a step that failed every attempt threw. The workflow reports exhaustion as a
12
+ * `FatalError` naming the step and its retries, with the last attempt's error as its cause.
13
+ */
14
+ export declare function exhaustedStepError(error: unknown): unknown;
10
15
  /**
11
16
  * Rebuilds an {@link Error} from the normalized hook payload sent by a
12
17
  * child workflow.
@@ -1 +1 @@
1
- function normalizeSerializableError(e){return e instanceof Error?{...Object.fromEntries(Object.entries(e)),cause:e.cause===void 0?void 0:normalizeSerializableError(e.cause),message:e.message,name:e.name,stack:e.stack}:e}function rebuildSerializableError(e){if(!isRecord(e))return Error(String(e));let t=typeof e.message==`string`?e.message:String(e),n=Error(t);typeof e.name==`string`&&(n.name=e.name),typeof e.stack==`string`&&(n.stack=e.stack),`cause`in e&&(n.cause=isRecord(e.cause)?rebuildSerializableError(e.cause):e.cause);let r=n;for(let[t,n]of Object.entries(e))t!==`message`&&t!==`name`&&t!==`stack`&&t!==`cause`&&(r[t]=n);return n}function isRecord(e){return typeof e==`object`&&!!e}export{normalizeSerializableError,rebuildSerializableError};
1
+ function normalizeSerializableError(e){return e instanceof Error?{...Object.fromEntries(Object.entries(e)),cause:e.cause===void 0?void 0:normalizeSerializableError(e.cause),message:e.message,name:e.name,stack:e.stack}:e}function exhaustedStepError(e){return isRecord(e)&&e.name===`FatalError`&&typeof e.message==`string`&&/^Step ".+" (?:failed after \d+ retr(?:y|ies):|exceeded max retries \(\d+ retr(?:y|ies)\))/.test(e.message)&&e.cause!==void 0?e.cause:e}function rebuildSerializableError(e){if(!isRecord(e))return Error(String(e));let t=typeof e.message==`string`?e.message:String(e),n=Error(t);typeof e.name==`string`&&(n.name=e.name),typeof e.stack==`string`&&(n.stack=e.stack),`cause`in e&&(n.cause=isRecord(e.cause)?rebuildSerializableError(e.cause):e.cause);let r=n;for(let[t,n]of Object.entries(e))t!==`message`&&t!==`name`&&t!==`stack`&&t!==`cause`&&(r[t]=n);return n}function isRecord(e){return typeof e==`object`&&!!e}export{exhaustedStepError,normalizeSerializableError,rebuildSerializableError};
@@ -1 +1 @@
1
- import{createLogger,logError}from"#internal/logging.js";import{validateDeliveryIdempotencyKey}from"#channel/delivery-idempotency.js";import{SessionStrandedError,describeStrandedSession}from"#channel/session-stranded-error.js";import{sessionCommandHookToken,sessionInboxHookToken}from"#execution/session-inbox/address.js";import{SessionPredecessorKey}from"#context/keys.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{walkCauseChain}from"#shared/errors.js";import{validateToolStubTargets}from"#tool-stubs/validate-targets.js";import{getHookByToken,getRun,getWorld,start}from"#internal/workflow/runtime.js";import{getCompiledRuntimeAgentBundle}from"#runtime/sessions/compiled-agent-cache.js";import{ROOT_RUNTIME_AGENT_NODE_ID}from"#runtime/graph.js";import{serializeContext}from"#context/serialize.js";import{AcceptedSessionIdentityError,SessionHandoffPendingError,logicalSessionToken,resolveSessionInbox,resumeSessionInbox}from"#execution/session-inbox/resume.js";import{resolveEffectiveAgentRuntime}from"#execution/effective-agent-config.js";import{context,trace}from"#compiled/@opentelemetry/api/index.js";import{EntityConflictError,HookNotFoundError,RunExpiredError,WorkflowRunNotFoundError}from"#compiled/@workflow/errors/index.js";import{StrandedSessionOwnerError,assertRunnableSessionInbox,findSessionHookHolder}from"#execution/session-inbox/owner.js";import{initializeSessionInstrumentation}from"#instrumentation/runtime.js";import{EVE_PREWARM_ATTRIBUTE,EVE_VERSION_ATTRIBUTE,buildSessionAttributes,buildSubagentRootAttributes,readParentLineage}from"#execution/eve-workflow-attributes.js";import{endStrandedSession}from"#execution/session-inbox/end-stranded-session.js";import{SESSION_HOOK_HANDOVER_TIMEOUT_MS,waitForSessionHooksRelease}from"#execution/session-inbox/hook-release.js";import{CONNECTION_EVENT_DELIVERY_WORKFLOW_NAME,CONNECTION_EVENT_WORKFLOW_NAME,SESSION_TIMEOUT_WORKFLOW_NAME,WORKFLOW_ENTRY_NAME,WORKFLOW_TOOL_RUN_WORKFLOW_NAME}from"#execution/stable-workflow-names.js";import{prewarmWorkflowSession}from"#execution/session-prewarm.js";import{normalizeEveAttributes}from"#runtime/attributes/normalize.js";import{buildRunContext}from"#execution/runtime-context.js";import{assertSessionHistoryReadable,readSessionEventHistory,readSessionEventStream,readSessionStreamTailIndex}from"#execution/session-event-stream.js";import{buildInvocationAttributes}from"#internal/invocation/metadata.js";import{isAgentTraceContext}from"#tracing/eve/agent-trace-context.js";const EVE_PACKAGE_INFO=resolveInstalledPackageInfo(),STABLE_ID_BASE=EVE_PACKAGE_INFO.name,log=createLogger(`execution.workflow-runtime`),workflowEntryReference={workflowId:`workflow//${STABLE_ID_BASE}//${WORKFLOW_ENTRY_NAME}`},sessionTimeoutWorkflowReference={workflowId:`workflow//${STABLE_ID_BASE}//${SESSION_TIMEOUT_WORKFLOW_NAME}`},workflowToolRunWorkflowReference={workflowId:`workflow//${STABLE_ID_BASE}//${WORKFLOW_TOOL_RUN_WORKFLOW_NAME}`},connectionEventWorkflowReference={workflowId:`workflow//${STABLE_ID_BASE}//${CONNECTION_EVENT_WORKFLOW_NAME}`},connectionEventDeliveryWorkflowReference={workflowId:`workflow//${STABLE_ID_BASE}//${CONNECTION_EVENT_DELIVERY_WORKFLOW_NAME}`};function createWorkflowRuntime(e){let startSession=async(t,n)=>{validateDeliveryIdempotencyKey(t.idempotencyKey);let r=await getCompiledRuntimeAgentBundle({compiledArtifactsSource:e.compiledArtifactsSource,nodeId:e.nodeId});t.toolStubs!==void 0&&t.toolStubs.rootSessionId===void 0&&validateToolStubTargets(t.toolStubs.rules,r.graph);let i=buildRunContext({agentSessionRuntimeOverrides:e.agentSessionRuntimeOverrides,bundle:r,dynamicSubagentAgentConfig:e.dynamicSubagentAgentConfig,run:t});n!==void 0&&i.set(SessionPredecessorKey,n);let a=resolveEffectiveAgentRuntime(r,i),o=initializeSessionInstrumentation({agentName:a.turnAgent.id,ctx:i}),s=a.limits?.sessionTimeoutMs,c=r.resolvedAgent.config?.experimental?.workflow?.retention??(o.action===`record`&&o.recordInputs&&o.recordOutputs?void 0:0),l=serializeContext(i),u=readParentLineage(l),d={idempotencyKey:t.idempotencyKey,kind:`initial`,input:t.input,ownerDeploymentId:await resolveCurrentWorkflowDeploymentId(),serializedContext:l};t.continuationConflictCommand!==void 0&&(d.continuationConflictCommand=t.continuationConflictCommand),s!==void 0&&(d.sessionTimeoutMs=s),c!==void 0&&(d.retention=c);let f={...u.sessionId===void 0?buildSessionAttributes({serializedContext:l}):buildSubagentRootAttributes({identity:{nodeId:r.nodeId??ROOT_RUNTIME_AGENT_NODE_ID},parentCallId:u.callId,parentSessionId:u.sessionId,parentTurnId:u.turnId,rootSessionId:u.rootSessionId??u.sessionId,serializedContext:l}),[EVE_PREWARM_ATTRIBUTE]:`1`,...t.externalInvocation===void 0?{}:buildInvocationAttributes(t.externalInvocation)},p;try{let e={allowReservedAttributes:!0,attributes:normalizeEveAttributes(f)};c!==void 0&&(e.experimental_retention=c),p=await startWorkflowOnDeployment(workflowEntryReference,[d],d.ownerDeploymentId,e)}catch(e){throw logError(log,`failed to start workflow run`,e,{continuationToken:t.continuationToken}),e}let m=p.runId;if(t.idempotencyKey!==void 0&&t.continuationToken!==void 0){let e=await pollUntil(()=>resolveContinuation(t.continuationToken),SESSION_HOOK_HANDOVER_TIMEOUT_MS);if(e===void 0)throw Error(`Delivery accepted, but its session identity is not ready. Retry with the same idempotencyKey.`);m=e.sessionId}let h,getEvents=()=>(h??=readSessionEventStream(m),h);return{get events(){return getEvents()},sessionId:m}};return{async createSession(e){return await startSession(e)},async dispatchContinuation(e){let{command:t,continuationToken:n,successor:r}=e;try{return await dispatchWorkflowCommand(n,t)}catch(e){if(!(e instanceof StrandedSessionOwnerError))throw e;if(t.kind!==`send`||r===void 0)return await settleStrandedCommand(n,t,e);if((t.payload.inputResponses?.length??0)>0)throw sessionStrandedError(e,`Its pending requests can no longer be answered; send a new message to start a fresh session.`);let i=await endStrandedSession(e,n,`message`);return{sessionId:(await startSession(r,{sessionId:i})).sessionId,status:`accepted`}}},async dispatchSession(e){return await dispatchWorkflowSessionCommand(e)},async getEventStream(e,t){if(t?.follow===!1)return readSessionEventHistory(e,t.startIndex);try{await Promise.all([assertRunnableSessionInbox(sessionInboxHookToken(sessionCommandHookToken(e))),assertSessionHistoryReadable(e)])}catch(e){throw e instanceof StrandedSessionOwnerError?sessionStrandedError(e):e}return readSessionEventStream(e,t?.startIndex)},async getStreamTailIndex(e){return await readSessionStreamTailIndex(e)},resolveContinuation}}async function dispatchWorkflowCommand(e,t){if(t.kind===`prewarm`)return typeof e==`string`?{status:`unsupported`}:await prewarmWorkflowSession(e.sessionId,t.targetDeploymentId);let n;try{let r=await resumeSessionInbox(e,t);n={runId:r.ownerRunId,sessionId:await r.sessionId}}catch(n){if(n instanceof StrandedSessionOwnerError)throw n;let r=t.kind===`send`&&typeof e!=`string`,i={status:`session_not_active`,retryable:!0};if(n instanceof SessionHandoffPendingError){if(r)return i;throw n}if(isInactiveCommandTarget(n))return r&&await isRunActive(e.sessionId)?i:inactiveCommandResult(t);throw logError(log,`failed to dispatch session command`,n,{command:t.kind,token:e}),n}return t.kind===`reset`&&await waitForSessionHooksRelease([sessionCommandHookToken(n.sessionId),logicalSessionToken(e)],{ownerRunId:n.runId,sessionId:n.sessionId}),activeCommandResult(t,n.sessionId)}async function settleStrandedCommand(e,t,n){switch(t.kind){case`reset`:return{previousSessionId:await endStrandedSession(n,e,`reset`),status:`reset`};case`send`:case`clear`:throw sessionStrandedError(n);default:return inactiveCommandResult(t)}}function sessionStrandedError(e,t){let n=e.eveVersion===void 0?{}:{eveVersion:e.eveVersion};return new SessionStrandedError(n,describeStrandedSession(n,t))}function activeCommandResult(e,t){return e.kind===`reset`?{previousSessionId:t,status:`reset`}:e.kind===`send`&&e.delivery!==void 0?{sessionId:t,status:`accepted`,deliveryId:e.delivery.deliveryId}:{sessionId:t,status:`accepted`}}function inactiveCommandResult(e){return e.kind===`send`?{status:`session_not_active`}:e.kind===`cancel`?{status:`no_active_turn`}:{status:`no_active_session`}}async function dispatchWorkflowSessionCommand(e){let t={sessionId:e.sessionId};try{return await dispatchWorkflowCommand(t,e.command)}catch(n){if(!(n instanceof StrandedSessionOwnerError))throw n;return await settleStrandedCommand(t,e.command,n)}}async function isRunActive(e){try{let t=await getRun(e).status;return t===`pending`||t===`running`}catch(e){if(isInactiveCommandTarget(e))return!1;throw e}}function isInactiveCommandTarget(e){if(e instanceof AcceptedSessionIdentityError)return!1;if(HookNotFoundError.is(e))return!0;for(let t of walkCauseChain(e))if(WorkflowRunNotFoundError.is(t)||RunExpiredError.is(t)||EntityConflictError.is(t))return!0;return!1}async function resolveContinuation(e,t){let n;try{n=await resolveSessionInbox(e)}catch(t){if(HookNotFoundError.is(t))return;throw logError(log,`failed to resolve session by continuation token`,t,{continuationToken:e}),t}if(t?.runnable!==!0)return n;try{await assertRunnableSessionInbox(sessionInboxHookToken(sessionCommandHookToken(n.sessionId)))}catch(e){throw e instanceof StrandedSessionOwnerError?sessionStrandedError(e):e}return n}async function waitForCommandHookOwner(e){let t=await pollUntil(async()=>{try{return normalizeWorkflowHook(await getHookByToken(e))}catch(e){if(!HookNotFoundError.is(e))throw e;return}},SESSION_HOOK_HANDOVER_TIMEOUT_MS);if(t===void 0)throw new HookNotFoundError(e);return t}async function waitForSessionInbox(e){let t=sessionInboxHookToken(sessionCommandHookToken(e)),n=await pollUntil(async()=>await findSessionHookHolder(t)!==void 0||!await hasRunEnded(e)&&void 0,SESSION_HOOK_HANDOVER_TIMEOUT_MS);if(n===void 0)throw Error(`Session "${e}" did not start taking commands within ${SESSION_HOOK_HANDOVER_TIMEOUT_MS/1e3} seconds.`);return n}async function pollUntil(e,t){let n=Date.now()+t;for(let t=20;;t=Math.min(t*2,200)){let r=await e();if(r!==void 0||Date.now()>=n)return r;await new Promise(e=>setTimeout(e,t))}}async function hasRunEnded(e){try{let t=await getRun(e).status;return t!==`pending`&&t!==`running`}catch(e){for(let t of walkCauseChain(e))if(WorkflowRunNotFoundError.is(t))return!1;if(isInactiveCommandTarget(e))return!0;throw e}}async function startWorkflowOnCurrentDeployment(e,t,n){return await startWorkflowOnDeployment(e,t,await resolveCurrentWorkflowDeploymentId(),n)}async function startWorkflowOnDeployment(e,t,n,r){return await withWorkflowStartContext(async()=>{if(n.length===0||n===`latest`)throw Error(`Workflow starts require an exact deployment id.`);return await start(e,t,{...r,allowReservedAttributes:!0,attributes:{...r?.attributes,[EVE_VERSION_ATTRIBUTE]:EVE_PACKAGE_INFO.version},deploymentId:n})})}async function resolveCurrentWorkflowDeploymentId(){let e=process.env.VERCEL_DEPLOYMENT_ID?.trim()||await(await getWorld()).getDeploymentId();if(e.length===0||e===`latest`)throw Error(`Workflow runtime could not resolve an exact deployment id.`);return e}async function withWorkflowStartContext(e){let t=context.active(),n=isAgentTraceContext(t)?trace.deleteSpan(t):t;return await context.with(n,e)}function normalizeWorkflowHook(e){if(typeof e!=`object`||!e||!(`runId`in e))throw Error(`Workflow hook did not include a run id.`);let t=e.runId;if(typeof t!=`string`||t.length===0)throw Error(`Workflow hook did not include a run id.`);return{runId:t}}export{connectionEventDeliveryWorkflowReference,connectionEventWorkflowReference,createWorkflowRuntime,dispatchWorkflowSessionCommand,hasRunEnded,pollUntil,resolveContinuation,sessionTimeoutWorkflowReference,startWorkflowOnCurrentDeployment,startWorkflowOnDeployment,waitForCommandHookOwner,waitForSessionInbox,workflowEntryReference,workflowToolRunWorkflowReference};
1
+ import{createLogger,logError}from"#internal/logging.js";import{validateDeliveryIdempotencyKey}from"#channel/delivery-idempotency.js";import{createChannelDeliveryMetadata}from"#channel/delivery-metadata.js";import{SessionStrandedError,describeStrandedSession}from"#channel/session-stranded-error.js";import{sessionCommandHookToken,sessionInboxHookToken}from"#execution/session-inbox/address.js";import{SessionPredecessorKey}from"#context/keys.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{walkCauseChain}from"#shared/errors.js";import{validateToolStubTargets}from"#tool-stubs/validate-targets.js";import{getHookByToken,getRun,getWorld,start}from"#internal/workflow/runtime.js";import{assertSessionHistoryReadable,readSessionEventHistory,readSessionEventStream,readSessionRecordHistory,readSessionRecords,readSessionStreamTailIndex}from"#execution/session-event-stream.js";import{getCompiledRuntimeAgentBundle}from"#runtime/sessions/compiled-agent-cache.js";import{ROOT_RUNTIME_AGENT_NODE_ID}from"#runtime/graph.js";import{serializeContext}from"#context/serialize.js";import{AcceptedSessionIdentityError,SessionHandoffPendingError,logicalSessionToken,resolveSessionInbox,resumeSessionInbox}from"#execution/session-inbox/resume.js";import{resolveEffectiveAgentRuntime}from"#execution/effective-agent-config.js";import{context,trace}from"#compiled/@opentelemetry/api/index.js";import{EntityConflictError,HookNotFoundError,RunExpiredError,WorkflowRunNotFoundError}from"#compiled/@workflow/errors/index.js";import{StrandedSessionOwnerError,assertRunnableSessionInbox,assertRunnableSessionOwner,findSessionHookHolder}from"#execution/session-inbox/owner.js";import{initializeSessionInstrumentation}from"#instrumentation/runtime.js";import{EVE_PREWARM_ATTRIBUTE,EVE_VERSION_ATTRIBUTE,buildSessionAttributes,buildSubagentRootAttributes,readParentLineage}from"#execution/eve-workflow-attributes.js";import{endStrandedSession}from"#execution/session-inbox/end-stranded-session.js";import{SESSION_HOOK_HANDOVER_TIMEOUT_MS,waitForSessionHooksRelease}from"#execution/session-inbox/hook-release.js";import{CONNECTION_EVENT_DELIVERY_WORKFLOW_NAME,CONNECTION_EVENT_WORKFLOW_NAME,SESSION_TIMEOUT_WORKFLOW_NAME,WORKFLOW_ENTRY_NAME,WORKFLOW_TOOL_RUN_WORKFLOW_NAME}from"#execution/stable-workflow-names.js";import{readRemoteChildBinding}from"#execution/child-binding.js";import{prewarmWorkflowSession}from"#execution/session-prewarm.js";import{normalizeEveAttributes}from"#runtime/attributes/normalize.js";import{buildRunContext}from"#execution/runtime-context.js";import{buildInvocationAttributes}from"#internal/invocation/metadata.js";import{isAgentTraceContext}from"#tracing/eve/agent-trace-context.js";const EVE_PACKAGE_INFO=resolveInstalledPackageInfo(),STABLE_ID_BASE=EVE_PACKAGE_INFO.name,log=createLogger(`execution.workflow-runtime`),workflowEntryReference={workflowId:`workflow//${STABLE_ID_BASE}//${WORKFLOW_ENTRY_NAME}`},sessionTimeoutWorkflowReference={workflowId:`workflow//${STABLE_ID_BASE}//${SESSION_TIMEOUT_WORKFLOW_NAME}`},workflowToolRunWorkflowReference={workflowId:`workflow//${STABLE_ID_BASE}//${WORKFLOW_TOOL_RUN_WORKFLOW_NAME}`},connectionEventWorkflowReference={workflowId:`workflow//${STABLE_ID_BASE}//${CONNECTION_EVENT_WORKFLOW_NAME}`},connectionEventDeliveryWorkflowReference={workflowId:`workflow//${STABLE_ID_BASE}//${CONNECTION_EVENT_DELIVERY_WORKFLOW_NAME}`};function createWorkflowRuntime(e){let startSession=async(t,n)=>{validateDeliveryIdempotencyKey(t.idempotencyKey),t.input.message!==void 0&&t.delivery===void 0&&(t={...t,delivery:createChannelDeliveryMetadata({channelKind:t.adapter.kind,channelName:t.channelName??t.adapter.kind,requestId:t.requestId})});let r=t.continuationConflictCommand;r!==void 0&&r.delivery===void 0&&(t={...t,continuationConflictCommand:{...r,delivery:t.delivery}});let i=await getCompiledRuntimeAgentBundle({compiledArtifactsSource:e.compiledArtifactsSource,nodeId:e.nodeId});t.toolStubs!==void 0&&t.toolStubs.rootSessionId===void 0&&validateToolStubTargets(t.toolStubs.rules,i.graph);let a=buildRunContext({agentSessionRuntimeOverrides:e.agentSessionRuntimeOverrides,bundle:i,dynamicSubagentAgentConfig:e.dynamicSubagentAgentConfig,run:t});n!==void 0&&a.set(SessionPredecessorKey,n);let o=resolveEffectiveAgentRuntime(i,a),s=initializeSessionInstrumentation({agentName:o.turnAgent.id,ctx:a}),c=o.limits?.sessionTimeoutMs,l=i.resolvedAgent.config?.experimental?.workflow?.retention??(s.action===`record`&&s.recordInputs&&s.recordOutputs?void 0:0),u=serializeContext(a),d=readParentLineage(u),f={idempotencyKey:t.idempotencyKey,kind:`initial`,input:t.input,ownerDeploymentId:await resolveCurrentWorkflowDeploymentId(),serializedContext:u};t.continuationConflictCommand!==void 0&&(f.continuationConflictCommand=t.continuationConflictCommand),c!==void 0&&(f.sessionTimeoutMs=c),l!==void 0&&(f.retention=l);let p={...d.sessionId===void 0?buildSessionAttributes({serializedContext:u}):buildSubagentRootAttributes({identity:{nodeId:i.nodeId??ROOT_RUNTIME_AGENT_NODE_ID},parentCallId:d.callId,parentSessionId:d.sessionId,parentTurnId:d.turnId,rootSessionId:d.rootSessionId??d.sessionId,serializedContext:u}),[EVE_PREWARM_ATTRIBUTE]:`1`,...t.externalInvocation===void 0?{}:buildInvocationAttributes(t.externalInvocation)},m;try{let e={allowReservedAttributes:!0,attributes:normalizeEveAttributes(p)};l!==void 0&&(e.experimental_retention=l),m=await startWorkflowOnDeployment(workflowEntryReference,[f],f.ownerDeploymentId,e)}catch(e){throw logError(log,`failed to start workflow run`,e,{continuationToken:t.continuationToken}),e}let h=m.runId;if(t.idempotencyKey!==void 0&&t.continuationToken!==void 0){let e=await pollUntil(()=>resolveContinuation(t.continuationToken),SESSION_HOOK_HANDOVER_TIMEOUT_MS);if(e===void 0)throw Error(`Delivery accepted, but its session identity is not ready. Retry with the same idempotencyKey.`);h=e.sessionId}let g,getEvents=()=>(g??=readSessionEventStream(h),g);return{get events(){return getEvents()},sessionId:h,...t.delivery!==void 0&&{deliveryId:t.delivery.deliveryId}}};return{async createSession(e){return await startSession(e)},async dispatchContinuation(e){let{continuationToken:t,successor:n}=e,r=identifyCommand(e.command);try{return await dispatchWorkflowCommand(t,r)}catch(e){if(!(e instanceof StrandedSessionOwnerError))throw e;if(r.kind!==`send`||n===void 0)return await settleStrandedCommand(t,r,e);if((r.payload.answers?.length??0)>0)throw sessionStrandedError(e,`Its pending requests can no longer be answered; send a new message to start a fresh session.`);let i=await endStrandedSession(e,t,`message`);return{sessionId:(await startSession({...n,delivery:r.delivery},{sessionId:i})).sessionId,deliveryId:r.delivery?.deliveryId,status:`accepted`}}},async dispatchSession(e){return await dispatchWorkflowSessionCommand(e)},async getEventStream(e,t){return t?.follow===!1?readSessionEventHistory(e,t.startIndex,t.signal):(await assertFollowableSession(e),readSessionEventStream(e,t?.startIndex,t?.signal))},async getLineStream(e,t){return t?.follow===!1?readSessionRecordHistory(e,t.startIndex):(await assertFollowableSession(e),readSessionRecords(e,t?.startIndex))},async getStreamTailIndex(e){return await readSessionStreamTailIndex(e)},async readChildBinding(e,t){return await readRemoteChildBinding(e,t)},async hasRunnableOwner(e){let t=sessionInboxHookToken(sessionCommandHookToken(e)),n=await findSessionHookHolder(t);if(n===void 0)return!1;try{return await assertRunnableSessionOwner(n),!0}catch(e){if(e instanceof StrandedSessionOwnerError)return!1;throw e}},resolveContinuation}}async function dispatchWorkflowCommand(e,t){if(t.kind===`prewarm`)return typeof e==`string`?{status:`unsupported`}:await prewarmWorkflowSession(e.sessionId,t.targetDeploymentId);let n;try{let r=await resumeSessionInbox(e,t);n={runId:r.ownerRunId,sessionId:await r.sessionId}}catch(n){if(n instanceof StrandedSessionOwnerError)throw n;let r=t.kind===`send`&&typeof e!=`string`,i={status:`session_not_active`,retryable:!0};if(n instanceof SessionHandoffPendingError){if(r)return i;throw n}if(isInactiveCommandTarget(n))return r&&await isRunActive(e.sessionId)?i:inactiveCommandResult(t);throw logError(log,`failed to dispatch session command`,n,{command:t.kind,token:e}),n}return t.kind===`reset`&&await waitForSessionHooksRelease([sessionCommandHookToken(n.sessionId),logicalSessionToken(e)],{ownerRunId:n.runId,sessionId:n.sessionId}),activeCommandResult(t,n.sessionId)}async function settleStrandedCommand(e,t,n){switch(t.kind){case`reset`:return{previousSessionId:await endStrandedSession(n,e,`reset`,t),status:`reset`};case`send`:case`clear`:throw sessionStrandedError(n);default:return inactiveCommandResult(t)}}async function assertFollowableSession(e){try{await Promise.all([assertRunnableSessionInbox(sessionInboxHookToken(sessionCommandHookToken(e))),assertSessionHistoryReadable(e)])}catch(e){throw e instanceof StrandedSessionOwnerError?sessionStrandedError(e):e}}function sessionStrandedError(e,t){let n=e.eveVersion===void 0?{}:{eveVersion:e.eveVersion};return new SessionStrandedError(n,describeStrandedSession(n,t))}function activeCommandResult(e,t){return e.kind===`reset`?{previousSessionId:t,status:`reset`}:e.kind===`send`&&e.delivery!==void 0?{sessionId:t,status:`accepted`,deliveryId:e.delivery.deliveryId}:{sessionId:t,status:`accepted`}}function inactiveCommandResult(e){return e.kind===`send`?{status:`session_not_active`}:e.kind===`cancel`?{status:`no_active_turn`}:{status:`no_active_session`}}async function dispatchWorkflowSessionCommand(e){let t={sessionId:e.sessionId},n=identifyCommand(e.command);try{return await dispatchWorkflowCommand(t,n)}catch(e){if(!(e instanceof StrandedSessionOwnerError))throw e;return await settleStrandedCommand(t,n,e)}}async function isRunActive(e){try{let t=await getRun(e).status;return t===`pending`||t===`running`}catch(e){if(isInactiveCommandTarget(e))return!1;throw e}}function isInactiveCommandTarget(e){if(e instanceof AcceptedSessionIdentityError)return!1;if(HookNotFoundError.is(e))return!0;for(let t of walkCauseChain(e))if(WorkflowRunNotFoundError.is(t)||RunExpiredError.is(t)||EntityConflictError.is(t))return!0;return!1}async function resolveContinuation(e,t){let n;try{n=await resolveSessionInbox(e)}catch(t){if(HookNotFoundError.is(t))return;throw logError(log,`failed to resolve session by continuation token`,t,{continuationToken:e}),t}if(t?.runnable!==!0)return n;try{await assertRunnableSessionInbox(sessionInboxHookToken(sessionCommandHookToken(n.sessionId)))}catch(e){throw e instanceof StrandedSessionOwnerError?sessionStrandedError(e):e}return n}async function waitForCommandHookOwner(e){let t=await pollUntil(async()=>{try{return normalizeWorkflowHook(await getHookByToken(e))}catch(e){if(!HookNotFoundError.is(e))throw e;return}},SESSION_HOOK_HANDOVER_TIMEOUT_MS);if(t===void 0)throw new HookNotFoundError(e);return t}async function waitForSessionInbox(e){let t=sessionInboxHookToken(sessionCommandHookToken(e)),n=await pollUntil(async()=>await findSessionHookHolder(t)!==void 0||!await hasRunEnded(e)&&void 0,SESSION_HOOK_HANDOVER_TIMEOUT_MS);if(n===void 0)throw Error(`Session "${e}" did not start taking commands within ${SESSION_HOOK_HANDOVER_TIMEOUT_MS/1e3} seconds.`);return n}async function pollUntil(e,t){let n=Date.now()+t;for(let t=20;;t=Math.min(t*2,200)){let r=await e();if(r!==void 0||Date.now()>=n)return r;await new Promise(e=>setTimeout(e,t))}}async function hasRunEnded(e){try{let t=await getRun(e).status;return t!==`pending`&&t!==`running`}catch(e){for(let t of walkCauseChain(e))if(WorkflowRunNotFoundError.is(t))return!1;if(isInactiveCommandTarget(e))return!0;throw e}}async function startWorkflowOnCurrentDeployment(e,t,n){return await startWorkflowOnDeployment(e,t,await resolveCurrentWorkflowDeploymentId(),n)}async function startWorkflowOnDeployment(e,t,n,r){return await withWorkflowStartContext(async()=>{if(n.length===0||n===`latest`)throw Error(`Workflow starts require an exact deployment id.`);return await start(e,t,{...r,allowReservedAttributes:!0,attributes:{...r?.attributes,[EVE_VERSION_ATTRIBUTE]:EVE_PACKAGE_INFO.version},deploymentId:n})})}async function resolveCurrentWorkflowDeploymentId(){let e=process.env.VERCEL_DEPLOYMENT_ID?.trim()||await(await getWorld()).getDeploymentId();if(e.length===0||e===`latest`)throw Error(`Workflow runtime could not resolve an exact deployment id.`);return e}async function withWorkflowStartContext(e){let t=context.active(),n=isAgentTraceContext(t)?trace.deleteSpan(t):t;return await context.with(n,e)}function normalizeWorkflowHook(e){if(typeof e!=`object`||!e||!(`runId`in e))throw Error(`Workflow hook did not include a run id.`);let t=e.runId;if(typeof t!=`string`||t.length===0)throw Error(`Workflow hook did not include a run id.`);return{runId:t}}function identifyCommand(e){if(e.kind!==`send`||e.delivery!==void 0)return e;let t=e.caller===void 0?e.schedule===void 0?`http`:`schedule`:`subagent`;return{...e,delivery:createChannelDeliveryMetadata({channelKind:t,channelName:t,requestId:e.requestId})}}export{connectionEventDeliveryWorkflowReference,connectionEventWorkflowReference,createWorkflowRuntime,dispatchWorkflowSessionCommand,hasRunEnded,pollUntil,resolveContinuation,sessionTimeoutWorkflowReference,startWorkflowOnCurrentDeployment,startWorkflowOnDeployment,waitForCommandHookOwner,waitForSessionInbox,workflowEntryReference,workflowToolRunWorkflowReference};
@@ -1,17 +1,7 @@
1
1
  import type { SandboxSession } from "eve/sandbox";
2
2
  import { z } from "zod";
3
- import type { GitHubConfig } from "eve/extensions/git/sandbox";
4
3
  export type CredentialPolicyBroker = (sandbox: SandboxSession, rules: Record<string, Record<string, string>>) => Promise<void>;
5
- export type { GitHubLeaseRule } from "eve/extensions/git/sandbox";
6
- export type GitHubLeaseBroker = GitHubConfig["broker"];
7
- export type GitHubAttribution = NonNullable<GitHubConfig["attribution"]>;
8
4
  declare const _default: import("eve/extension").ExtensionHandle<z.ZodObject<{
9
- github: z.ZodOptional<z.ZodObject<{
10
- connector: z.ZodString;
11
- org: z.ZodString;
12
- broker: z.ZodCustom<(sandbox: SandboxSession, rules: Readonly<Record<string, readonly import("eve/extensions/git/sandbox").GitHubLeaseRule[]>> | null) => Promise<void>, (sandbox: SandboxSession, rules: Readonly<Record<string, readonly import("eve/extensions/git/sandbox").GitHubLeaseRule[]>> | null) => Promise<void>>;
13
- attribution: z.ZodOptional<z.ZodCustom<(ctx: import("../../../tools/definition.ts").ToolContext) => import("eve/extensions/git/sandbox").GitHubCoAuthor | null | PromiseLike<import("eve/extensions/git/sandbox").GitHubCoAuthor | null>, (ctx: import("../../../tools/definition.ts").ToolContext) => import("eve/extensions/git/sandbox").GitHubCoAuthor | null | PromiseLike<import("eve/extensions/git/sandbox").GitHubCoAuthor | null>>>;
14
- }, z.core.$strip>>;
15
5
  vercel: z.ZodOptional<z.ZodObject<{
16
6
  connector: z.ZodString;
17
7
  delivery: z.ZodDefault<z.ZodEnum<{
@@ -41,5 +31,5 @@ declare const _default: import("eve/extension").ExtensionHandle<z.ZodObject<{
41
31
  xhigh: "xhigh";
42
32
  }>>;
43
33
  }, z.core.$strip>>;
44
- }, z.core.$strip>>;
34
+ }, z.core.$strict>>;
45
35
  export default _default;
@@ -1 +1 @@
1
- import{z}from"#compiled/zod/index.js";import{defineExtension}from"eve/extension";const fn=()=>z.custom(e=>typeof e==`function`),delivery=z.enum([`firewall`,`command`]).default(`firewall`),reasoning=z.enum([`provider-default`,`none`,`minimal`,`low`,`medium`,`high`,`xhigh`]),openaiReasoningEffort=z.enum([`none`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`]);var extension_default=defineExtension({config:z.object({github:z.object({connector:z.string().min(1),org:z.string().min(1),broker:fn(),attribution:fn().optional()}).optional(),vercel:z.object({connector:z.string().min(1),delivery}).optional(),broker:fn().optional(),worker:z.object({model:z.string().min(1),reasoning,openaiReasoningEffort:openaiReasoningEffort.optional()}).optional()})});export{extension_default as default};
1
+ import{z}from"#compiled/zod/index.js";import{defineExtension}from"eve/extension";const fn=()=>z.custom(e=>typeof e==`function`),delivery=z.enum([`firewall`,`command`]).default(`firewall`),reasoning=z.enum([`provider-default`,`none`,`minimal`,`low`,`medium`,`high`,`xhigh`]),openaiReasoningEffort=z.enum([`none`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`]);var extension_default=defineExtension({config:z.object({vercel:z.object({connector:z.string().min(1),delivery}).optional(),broker:fn().optional(),worker:z.object({model:z.string().min(1),reasoning,openaiReasoningEffort:openaiReasoningEffort.optional()}).optional()}).strict()});export{extension_default as default};
@@ -1,4 +1,8 @@
1
1
  import { z } from "zod";
2
+ type WatchGitHubConfig = {
3
+ readonly connector: string;
4
+ readonly org: string;
5
+ };
2
6
  export declare const PullRequestWatchInputSchema: z.ZodObject<{
3
7
  repo: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
4
8
  pullRequestNumber: z.ZodNumber;
@@ -65,5 +69,5 @@ export declare function pullRequestWatchSnapshot(input: {
65
69
  readonly reviews: readonly Review[];
66
70
  }): PullRequestWatchSnapshot;
67
71
  export declare function repoFullName(repo: string): string;
68
- export declare function readPullRequestWatchSnapshot(input: PullRequestWatchInput): Promise<PullRequestWatchSnapshot>;
72
+ export declare function readPullRequestWatchSnapshot(input: PullRequestWatchInput, github: WatchGitHubConfig): Promise<PullRequestWatchSnapshot>;
69
73
  export {};
@@ -1 +1 @@
1
- import extension_default from"../extension.js";import{z}from"#compiled/zod/index.js";import{deleteTokenCacheEntry,getToken}from"#compiled/@vercel/connect/index.js";const RepoSchema=z.string().trim().regex(/^[A-Za-z0-9-]+\/[A-Za-z0-9._-]+$/u).transform(e=>e.toLowerCase()),PullRequestWatchInputSchema=z.object({repo:RepoSchema,pullRequestNumber:z.number().int().positive(),reviewOwner:z.string().trim().min(1),redHeadOid:z.string().regex(/^[0-9a-f]{40}$/iu).transform(e=>e.toLowerCase())}),PrwatchDeleteInputSchema=z.object({repo:RepoSchema,pullRequestNumber:z.number().int().positive()}),PullRequestSchema=z.object({head:z.object({sha:z.string().min(1)}),html_url:z.string().url(),merged:z.boolean().optional().default(!1),state:z.enum([`open`,`closed`])}),ReviewSchema=z.object({commit_id:z.string().nullable(),state:z.string(),submitted_at:z.string().nullable(),user:z.object({login:z.string()}).nullable()});function initialPullRequestWatchNotificationState(){return{previousSnapshot:null,redHeadPolls:0,redHeadWakeSent:!1}}function framePullRequestWatchWake(e){return`${e}\n\nThis is an internal watch wake, not a request for a progress report. Continue any necessary work. Send a user-facing response only when the original request is complete or a new blocker requires human input. Do not report that nothing changed or that work is still in progress.`}function reviewFingerprint(e){return e?.ownerReviewState===null||e===null?null:`${e.ownerReviewState}:${e.ownerReviewSubmittedAt??``}`}function advancePullRequestWatchNotification(e){let t=e.state.previousSnapshot,n=e.snapshot.headOid!==(t?.headOid??e.redHeadOid),r=t!==null&&reviewFingerprint(e.snapshot)!==reviewFingerprint(t),i=e.snapshot.headOid===e.redHeadOid,a=i?e.state.redHeadPolls+1:0,o=null;return n?o=`head_changed`:r?o=`owner_review_changed`:i&&!e.state.redHeadWakeSent&&a===e.staleAfterPolls&&(o=`red_head_stalled`),{state:{previousSnapshot:e.snapshot,redHeadPolls:a,redHeadWakeSent:e.state.redHeadWakeSent||o===`red_head_stalled`},wakeReason:o}}var RetryablePullRequestWatchError=class extends Error{},GitHubWatchResponseError=class extends Error{status;constructor(e,t){super(t),this.name=`GitHubWatchResponseError`,this.status=e}};function errorStatus(e){return typeof e!=`object`||!e||!(`status`in e)?null:typeof e.status==`number`?e.status:null}function shouldRefreshPullRequestWatchToken(e){return errorStatus(e)===401}function isRetryablePullRequestWatchError(e){let t=errorStatus(e);return t===429||t!==null&&t>=500||e instanceof RetryablePullRequestWatchError||e instanceof TypeError||e instanceof Error&&(/^GitHub watch (?:request|token request) failed:/u.test(e.message)||/\((?:429|5\d{2})\b/u.test(e.message))}function pullRequestWatchSnapshot(e){let t=e.reviewOwner.toLowerCase(),n=e.pullRequest.head.sha.toLowerCase(),r=e.reviews.filter(e=>e.commit_id?.toLowerCase()===n&&e.user?.login.toLowerCase()===t).at(-1);return{headOid:n,ownerApprovedCurrentHead:r?.state.toUpperCase()===`APPROVED`,ownerReviewState:r?.state.toUpperCase()??null,ownerReviewSubmittedAt:r?.submitted_at??null,state:e.pullRequest.merged?`merged`:e.pullRequest.state,url:e.pullRequest.html_url}}function repoParts(e){let[t,n]=e.split(`/`);if(t===void 0||n===void 0)throw Error(`Invalid GitHub repository: ${e}`);return{owner:t,name:n}}function repoFullName(e){let t=repoParts(e);return`${t.owner}/${t.name}`}function repoApiPath(e){let t=repoParts(e);return`/repos/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.name)}`}function redactGithubToken(e,t){return t.length===0?e:e.split(t).join(`[redacted]`)}function githubHeaders(e){return{Accept:`application/vnd.github+json`,Authorization:`Bearer ${e}`,"X-GitHub-Api-Version":`2022-11-28`}}function githubTokenParams(e,t){return{authorizationDetails:[{org:e,repositories:[t],type:`github_app_installation`}],subject:{type:`app`}}}async function mintWatchToken(e){let t=extension_default.config.github;if(t===void 0)throw Error(`GitHub is not configured for this agent.`);let n=repoParts(e);if(n.owner!==t.org.toLowerCase())throw Error(`Repository ${e} is outside ${t.org}.`);let r=await getToken(t.connector,githubTokenParams(t.org,n.name));if(r.length===0)throw Error(`Connect returned an empty GitHub token for ${e}.`);return r}async function invalidateWatchToken(e){let t=extension_default.config.github;if(t===void 0)return;let n=repoParts(e);deleteTokenCacheEntry(t.connector,githubTokenParams(t.org,n.name))}async function githubJson(e,t){let n;try{n=await fetch(e,{headers:githubHeaders(t)})}catch(e){throw new RetryablePullRequestWatchError(`GitHub watch request failed: ${e instanceof Error?e.message:String(e)}`)}if(n.ok)return n.json();let r=await n.text().catch(()=>``),i=`GitHub request failed (${n.status} ${n.statusText})`+(r.length>0?`: ${redactGithubToken(r,t)}`:``);throw n.status===429||n.status>=500?new RetryablePullRequestWatchError(i):new GitHubWatchResponseError(n.status,i)}async function readPullRequestWatchSnapshotWithToken(e,t){let n=`https://api.github.com${repoApiPath(e.repo)}/pulls/${e.pullRequestNumber}`,r=PullRequestSchema.parse(await githubJson(n,t));if(r.state===`closed`||r.merged)return pullRequestWatchSnapshot({pullRequest:r,reviewOwner:e.reviewOwner,reviews:[]});let i=[];for(let r=1;r<=20;r+=1){let a=z.array(ReviewSchema).parse(await githubJson(`${n}/reviews?per_page=100&page=${r}`,t));if(i.push(...a),a.length<100)break;if(r===20)throw Error(`PR #${e.pullRequestNumber} has too many reviews to verify`)}return pullRequestWatchSnapshot({pullRequest:r,reviewOwner:e.reviewOwner,reviews:i})}async function readPullRequestWatchSnapshot(e){for(let t=0;t<2;t+=1){let n;try{n=await mintWatchToken(e.repo)}catch(e){throw isRetryablePullRequestWatchError(e)?new RetryablePullRequestWatchError(`GitHub watch token request failed: ${e instanceof Error?e.message:String(e)}`):e}try{return await readPullRequestWatchSnapshotWithToken(e,n)}catch(n){if(t>0||!shouldRefreshPullRequestWatchToken(n))throw n;await invalidateWatchToken(e.repo)}}throw Error(`Pull request watch token refresh exhausted unexpectedly.`)}export{PrwatchDeleteInputSchema,PullRequestWatchInputSchema,advancePullRequestWatchNotification,framePullRequestWatchWake,initialPullRequestWatchNotificationState,isRetryablePullRequestWatchError,pullRequestWatchSnapshot,readPullRequestWatchSnapshot,repoFullName,shouldRefreshPullRequestWatchToken};
1
+ import{z}from"#compiled/zod/index.js";import{deleteTokenCacheEntry,getToken}from"#compiled/@vercel/connect/index.js";const RepoSchema=z.string().trim().regex(/^[A-Za-z0-9-]+\/[A-Za-z0-9._-]+$/u).transform(e=>e.toLowerCase()),PullRequestWatchInputSchema=z.object({repo:RepoSchema,pullRequestNumber:z.number().int().positive(),reviewOwner:z.string().trim().min(1),redHeadOid:z.string().regex(/^[0-9a-f]{40}$/iu).transform(e=>e.toLowerCase())}),PrwatchDeleteInputSchema=z.object({repo:RepoSchema,pullRequestNumber:z.number().int().positive()}),PullRequestSchema=z.object({head:z.object({sha:z.string().min(1)}),html_url:z.string().url(),merged:z.boolean().optional().default(!1),state:z.enum([`open`,`closed`])}),ReviewSchema=z.object({commit_id:z.string().nullable(),state:z.string(),submitted_at:z.string().nullable(),user:z.object({login:z.string()}).nullable()});function initialPullRequestWatchNotificationState(){return{previousSnapshot:null,redHeadPolls:0,redHeadWakeSent:!1}}function framePullRequestWatchWake(e){return`${e}\n\nThis is an internal watch wake, not a request for a progress report. Continue any necessary work. Send a user-facing response only when the original request is complete or a new blocker requires human input. Do not report that nothing changed or that work is still in progress.`}function reviewFingerprint(e){return e?.ownerReviewState===null||e===null?null:`${e.ownerReviewState}:${e.ownerReviewSubmittedAt??``}`}function advancePullRequestWatchNotification(e){let t=e.state.previousSnapshot,n=e.snapshot.headOid!==(t?.headOid??e.redHeadOid),r=t!==null&&reviewFingerprint(e.snapshot)!==reviewFingerprint(t),i=e.snapshot.headOid===e.redHeadOid,a=i?e.state.redHeadPolls+1:0,o=null;return n?o=`head_changed`:r?o=`owner_review_changed`:i&&!e.state.redHeadWakeSent&&a===e.staleAfterPolls&&(o=`red_head_stalled`),{state:{previousSnapshot:e.snapshot,redHeadPolls:a,redHeadWakeSent:e.state.redHeadWakeSent||o===`red_head_stalled`},wakeReason:o}}var RetryablePullRequestWatchError=class extends Error{},GitHubWatchResponseError=class extends Error{status;constructor(e,t){super(t),this.name=`GitHubWatchResponseError`,this.status=e}};function errorStatus(e){return typeof e!=`object`||!e||!(`status`in e)?null:typeof e.status==`number`?e.status:null}function shouldRefreshPullRequestWatchToken(e){return errorStatus(e)===401}function isRetryablePullRequestWatchError(e){let t=errorStatus(e);return t===429||t!==null&&t>=500||e instanceof RetryablePullRequestWatchError||e instanceof TypeError||e instanceof Error&&(/^GitHub watch (?:request|token request) failed:/u.test(e.message)||/\((?:429|5\d{2})\b/u.test(e.message))}function pullRequestWatchSnapshot(e){let t=e.reviewOwner.toLowerCase(),n=e.pullRequest.head.sha.toLowerCase(),r=e.reviews.filter(e=>e.commit_id?.toLowerCase()===n&&e.user?.login.toLowerCase()===t).at(-1);return{headOid:n,ownerApprovedCurrentHead:r?.state.toUpperCase()===`APPROVED`,ownerReviewState:r?.state.toUpperCase()??null,ownerReviewSubmittedAt:r?.submitted_at??null,state:e.pullRequest.merged?`merged`:e.pullRequest.state,url:e.pullRequest.html_url}}function repoParts(e){let[t,n]=e.split(`/`);if(t===void 0||n===void 0)throw Error(`Invalid GitHub repository: ${e}`);return{owner:t,name:n}}function repoFullName(e){let t=repoParts(e);return`${t.owner}/${t.name}`}function repoApiPath(e){let t=repoParts(e);return`/repos/${encodeURIComponent(t.owner)}/${encodeURIComponent(t.name)}`}function redactGithubToken(e,t){return t.length===0?e:e.split(t).join(`[redacted]`)}function githubHeaders(e){return{Accept:`application/vnd.github+json`,Authorization:`Bearer ${e}`,"X-GitHub-Api-Version":`2022-11-28`}}function githubTokenParams(e,t){return{authorizationDetails:[{org:e,repositories:[t],type:`github_app_installation`}],subject:{type:`app`}}}async function mintWatchToken(e,t){let n=repoParts(e);if(n.owner!==t.org.toLowerCase())throw Error(`Repository ${e} is outside ${t.org}.`);let r=await getToken(t.connector,githubTokenParams(t.org,n.name));if(r.length===0)throw Error(`Connect returned an empty GitHub token for ${e}.`);return r}async function invalidateWatchToken(e,t){let n=repoParts(e);deleteTokenCacheEntry(t.connector,githubTokenParams(t.org,n.name))}async function githubJson(e,t){let n;try{n=await fetch(e,{headers:githubHeaders(t)})}catch(e){throw new RetryablePullRequestWatchError(`GitHub watch request failed: ${e instanceof Error?e.message:String(e)}`)}if(n.ok)return n.json();let r=await n.text().catch(()=>``),i=`GitHub request failed (${n.status} ${n.statusText})`+(r.length>0?`: ${redactGithubToken(r,t)}`:``);throw n.status===429||n.status>=500?new RetryablePullRequestWatchError(i):new GitHubWatchResponseError(n.status,i)}async function readPullRequestWatchSnapshotWithToken(e,t){let n=`https://api.github.com${repoApiPath(e.repo)}/pulls/${e.pullRequestNumber}`,r=PullRequestSchema.parse(await githubJson(n,t));if(r.state===`closed`||r.merged)return pullRequestWatchSnapshot({pullRequest:r,reviewOwner:e.reviewOwner,reviews:[]});let i=[];for(let r=1;r<=20;r+=1){let a=z.array(ReviewSchema).parse(await githubJson(`${n}/reviews?per_page=100&page=${r}`,t));if(i.push(...a),a.length<100)break;if(r===20)throw Error(`PR #${e.pullRequestNumber} has too many reviews to verify`)}return pullRequestWatchSnapshot({pullRequest:r,reviewOwner:e.reviewOwner,reviews:i})}async function readPullRequestWatchSnapshot(e,t){for(let n=0;n<2;n+=1){let r;try{r=await mintWatchToken(e.repo,t)}catch(e){throw isRetryablePullRequestWatchError(e)?new RetryablePullRequestWatchError(`GitHub watch token request failed: ${e instanceof Error?e.message:String(e)}`):e}try{return await readPullRequestWatchSnapshotWithToken(e,r)}catch(r){if(n>0||!shouldRefreshPullRequestWatchToken(r))throw r;await invalidateWatchToken(e.repo,t)}}throw Error(`Pull request watch token refresh exhausted unexpectedly.`)}export{PrwatchDeleteInputSchema,PullRequestWatchInputSchema,advancePullRequestWatchNotification,framePullRequestWatchWake,initialPullRequestWatchNotificationState,isRetryablePullRequestWatchError,pullRequestWatchSnapshot,readPullRequestWatchSnapshot,repoFullName,shouldRefreshPullRequestWatchToken};
@@ -1 +1 @@
1
- import{shellQuote}from"./shell.js";import{resolveWorkspaceDirectory}from"./workspace-root.js";async function validateRepositoryRoot(e,t){let n=await resolveWorkspaceDirectory(e,t),r=await e.run({command:`git -C ${shellQuote(n)} rev-parse --show-toplevel`});if(r.exitCode!==0||r.stdout.trim()!==n)throw Error(`root is not a git work tree root: ${t}`);return n}export{validateRepositoryRoot};
1
+ import{shellQuote}from"./shell.js";import{workspace_root_exports}from"./workspace-root.js";async function validateRepositoryRoot(e,t){let n=await(0,workspace_root_exports.resolveWorkspaceDirectory)(e,t),r=await e.run({command:`git -C ${shellQuote(n)} rev-parse --show-toplevel`});if(r.exitCode!==0||r.stdout.trim()!==n)throw Error(`root is not a git work tree root: ${t}`);return n}export{validateRepositoryRoot};
@@ -8,7 +8,3 @@ export declare function installCodeTooling(sandbox: ToolingSandbox, options?: {
8
8
  readonly vercel?: boolean;
9
9
  }): Promise<void>;
10
10
  export { authenticateGitHub, authenticateVercel, type BrokeredCredentialOptions, } from "./credentials.ts";
11
- /** @deprecated Import from `eve/computer-use/sandbox` and mount `eve/computer-use`. */
12
- export { COMPUTER_USE_REVALIDATION_KEY, installComputerUse, startComputerUse, } from "eve/computer-use/sandbox";
13
- /** @deprecated Import from `eve/extensions/git/sandbox`. */
14
- export { executeGitHubShell, githubShellApproval, type GitHubLeaseRule, type GitHubShellInput, type GitHubShellOutput, } from "eve/extensions/git/sandbox";
@@ -1,2 +1,2 @@
1
- import{DIAGNOSTICS_WORKER_SOURCE,GH_SIGNED_COMMIT_SOURCE,GH_SIGNED_COMMIT_VERSION,TYPESCRIPT_VERSION,ghWrapperSource,toolingPaths,typescriptInstallCommand,vercelWrapperSource}from"./tooling.js";import{authenticateGitHub,authenticateVercel}from"./credentials.js";import{commandFailureDetail}from"./command-failure.js";import{executeGitHubShell,githubShellApproval}from"eve/extensions/git/sandbox";import{COMPUTER_USE_REVALIDATION_KEY,installComputerUse,startComputerUse}from"eve/computer-use/sandbox";const CODE_TOOLING_REVALIDATION_KEY=`eve-code-tooling:3:${GH_SIGNED_COMMIT_VERSION}:${TYPESCRIPT_VERSION}`;async function installCodeTooling(e,t={}){let n=toolingPaths(e);await Promise.all([e.writeTextFile({path:n.ghWrapper,content:ghWrapperSource(e)}),e.writeTextFile({path:n.signedCommit,content:GH_SIGNED_COMMIT_SOURCE}),e.writeTextFile({path:n.workerSource,content:DIAGNOSTICS_WORKER_SOURCE}),...t.vercel===!0?[e.writeTextFile({path:n.vercelWrapper,content:vercelWrapperSource(e)})]:[]]);let r=await e.run({command:toolingInstallCommand(e,t.vercel===!0)});if(r.exitCode!==0)throw Error(`eve-code tooling installation failed (exit ${r.exitCode}): ${commandFailureDetail(r)}`)}function toolingInstallCommand(e,t){let n=toolingPaths(e),quote=e=>`'${e.replaceAll(`'`,`'"'"'`)}'`;return[`set -e`,`mkdir -p ${quote(n.root)}`,`if ! command -v gh >/dev/null 2>&1; then`,` command -v apt-get >/dev/null 2>&1 || { echo 'eve-code requires gh or apt-get' >&2; exit 1; }`,` if [ "$(id -u)" = 0 ]; then APT=apt-get; else command -v sudo >/dev/null 2>&1 || { echo 'eve-code needs root or sudo to install gh' >&2; exit 1; }; APT='sudo -n apt-get'; fi`,` $APT update && $APT install -y gh`,`fi`,`chmod 755 ${quote(n.ghWrapper)} ${quote(n.signedCommit)}`,`if [ "$(id -u)" = 0 ]; then INSTALL=install; else INSTALL='sudo -n install'; fi`,`$INSTALL -d -o root -g root -m 755 ${quote(n.trustedRoot)} ${quote(n.typescriptRoot)}`,`[ -x /usr/bin/gh ] || { echo 'eve-code requires gh at /usr/bin/gh' >&2; exit 1; }`,`$INSTALL -m 755 /usr/bin/gh ${quote(n.ghReal)}`,`$INSTALL -m 755 ${quote(n.signedCommit)} ${quote(n.trustedSignedCommit)}`,`$INSTALL -m 644 ${quote(n.workerSource)} ${quote(n.worker)}`,`$INSTALL -m 755 ${quote(n.ghWrapper)} /usr/local/bin/gh`,`$INSTALL -m 755 ${quote(n.trustedSignedCommit)} /usr/local/bin/gh-signed-commit`,typescriptInstallCommand(e),...t?[`if [ "$(id -u)" = 0 ]; then npm install -g vercel@latest; else sudo -n npm install -g vercel@latest; fi`,`$INSTALL -m 755 ${quote(n.vercelWrapper)} /usr/local/bin/vercel`,`$INSTALL -m 755 ${quote(n.vercelWrapper)} /usr/local/bin/vc`]:[]].join(`
2
- `)}export{CODE_TOOLING_REVALIDATION_KEY,COMPUTER_USE_REVALIDATION_KEY,authenticateGitHub,authenticateVercel,executeGitHubShell,githubShellApproval,installCodeTooling,installComputerUse,startComputerUse};
1
+ import{DIAGNOSTICS_WORKER_SOURCE,GH_SIGNED_COMMIT_SOURCE,GH_SIGNED_COMMIT_VERSION,TYPESCRIPT_VERSION,ghWrapperSource,toolingPaths,typescriptInstallCommand,vercelWrapperSource}from"./tooling.js";import{authenticateGitHub,authenticateVercel}from"./credentials.js";import{commandFailureDetail}from"./command-failure.js";const CODE_TOOLING_REVALIDATION_KEY=`eve-code-tooling:3:${GH_SIGNED_COMMIT_VERSION}:${TYPESCRIPT_VERSION}`;async function installCodeTooling(e,t={}){let n=toolingPaths(e);await Promise.all([e.writeTextFile({path:n.ghWrapper,content:ghWrapperSource(e)}),e.writeTextFile({path:n.signedCommit,content:GH_SIGNED_COMMIT_SOURCE}),e.writeTextFile({path:n.workerSource,content:DIAGNOSTICS_WORKER_SOURCE}),...t.vercel===!0?[e.writeTextFile({path:n.vercelWrapper,content:vercelWrapperSource(e)})]:[]]);let r=await e.run({command:toolingInstallCommand(e,t.vercel===!0)});if(r.exitCode!==0)throw Error(`eve-code tooling installation failed (exit ${r.exitCode}): ${commandFailureDetail(r)}`)}function toolingInstallCommand(e,t){let n=toolingPaths(e),quote=e=>`'${e.replaceAll(`'`,`'"'"'`)}'`;return[`set -e`,`mkdir -p ${quote(n.root)}`,`if ! command -v gh >/dev/null 2>&1; then`,` command -v apt-get >/dev/null 2>&1 || { echo 'eve-code requires gh or apt-get' >&2; exit 1; }`,` if [ "$(id -u)" = 0 ]; then APT=apt-get; else command -v sudo >/dev/null 2>&1 || { echo 'eve-code needs root or sudo to install gh' >&2; exit 1; }; APT='sudo -n apt-get'; fi`,` $APT update && $APT install -y gh`,`fi`,`chmod 755 ${quote(n.ghWrapper)} ${quote(n.signedCommit)}`,`if [ "$(id -u)" = 0 ]; then INSTALL=install; else INSTALL='sudo -n install'; fi`,`$INSTALL -d -o root -g root -m 755 ${quote(n.trustedRoot)} ${quote(n.typescriptRoot)}`,`[ -x /usr/bin/gh ] || { echo 'eve-code requires gh at /usr/bin/gh' >&2; exit 1; }`,`$INSTALL -m 755 /usr/bin/gh ${quote(n.ghReal)}`,`$INSTALL -m 755 ${quote(n.signedCommit)} ${quote(n.trustedSignedCommit)}`,`$INSTALL -m 644 ${quote(n.workerSource)} ${quote(n.worker)}`,`$INSTALL -m 755 ${quote(n.ghWrapper)} /usr/local/bin/gh`,`$INSTALL -m 755 ${quote(n.trustedSignedCommit)} /usr/local/bin/gh-signed-commit`,typescriptInstallCommand(e),...t?[`if [ "$(id -u)" = 0 ]; then npm install -g vercel@latest; else sudo -n npm install -g vercel@latest; fi`,`$INSTALL -m 755 ${quote(n.vercelWrapper)} /usr/local/bin/vercel`,`$INSTALL -m 755 ${quote(n.vercelWrapper)} /usr/local/bin/vc`]:[]].join(`
2
+ `)}export{CODE_TOOLING_REVALIDATION_KEY,authenticateGitHub,authenticateVercel,installCodeTooling};
@@ -1,5 +1,5 @@
1
1
  import type { SandboxSession } from "eve/sandbox";
2
- import { GH_SIGNED_COMMIT_SOURCE, GH_SIGNED_COMMIT_VERSION } from "eve/extensions/git/sandbox";
2
+ import { GH_SIGNED_COMMIT_SOURCE, GH_SIGNED_COMMIT_VERSION } from "eve/internal/git";
3
3
  export { GH_SIGNED_COMMIT_SOURCE, GH_SIGNED_COMMIT_VERSION };
4
4
  export declare const TYPESCRIPT_VERSION = "6.0.3";
5
5
  export declare function toolingPaths(sandbox: Pick<SandboxSession, "resolvePath">): {
@@ -1,4 +1,4 @@
1
- import{shellQuote}from"./shell.js";import{GH_SIGNED_COMMIT_SOURCE,GH_SIGNED_COMMIT_VERSION,GITHUB_TOOLING_PATHS}from"eve/extensions/git/sandbox";const TYPESCRIPT_VERSION=`6.0.3`,TRUSTED_TOOLING_ROOT=`/usr/local/lib/eve-code`,TYPESCRIPT_MODULE=`${TRUSTED_TOOLING_ROOT}/typescript/node_modules/typescript/lib/typescript.js`;function toolingPaths(e){let t=e.resolvePath(`.eve-code`),n=TRUSTED_TOOLING_ROOT;return{root:t,trustedRoot:n,env:`${t}/env`,ghReal:GITHUB_TOOLING_PATHS.ghReal,ghWrapper:`${t}/gh`,vercelWrapper:`${t}/vercel`,signedCommit:`${t}/gh-signed-commit`,trustedSignedCommit:GITHUB_TOOLING_PATHS.trustedSignedCommit,typescriptRoot:`${n}/typescript`,typescriptModule:TYPESCRIPT_MODULE,workerSource:`${t}/diagnostics.cjs`,worker:`${n}/diagnostics.cjs`}}function ghWrapperSource(e){let t=toolingPaths(e);return`#!/usr/bin/env bash\nset -euo pipefail\n[[ ! -f ${JSON.stringify(t.env)} ]] || source ${JSON.stringify(t.env)}\nexport GH_TOKEN="\${GH_TOKEN:-ghp_000000000000000000000000000000000000}"\nexec ${JSON.stringify(t.ghReal)} "$@"\n`}function vercelWrapperSource(e){let t=toolingPaths(e);return`#!/usr/bin/env bash\nset -euo pipefail\n[[ ! -f ${JSON.stringify(t.env)} ]] || source ${JSON.stringify(t.env)}\nexport VERCEL_TOKEN="\${VERCEL_TOKEN:-eve-code-firewall-placeholder}"\nexec node "$(npm root -g)/vercel/dist/index.js" "$@"\n`}function typescriptInstallCommand(e){let{typescriptRoot:t}=toolingPaths(e),n=`${t}/npmrc`,r=[`set -e`,`cd ${shellQuote(t)}`,`umask 022`,`: > ${shellQuote(n)}`,`npm install --prefix ${shellQuote(t)} --ignore-scripts --no-audit --no-fund typescript@${TYPESCRIPT_VERSION}`,`chmod -R go-w ${shellQuote(t)}`].join(`
1
+ import{shellQuote}from"./shell.js";import{GH_SIGNED_COMMIT_SOURCE,GH_SIGNED_COMMIT_VERSION,GITHUB_TOOLING_PATHS}from"eve/internal/git";const TYPESCRIPT_VERSION=`6.0.3`,TRUSTED_TOOLING_ROOT=`/usr/local/lib/eve-code`,TYPESCRIPT_MODULE=`${TRUSTED_TOOLING_ROOT}/typescript/node_modules/typescript/lib/typescript.js`;function toolingPaths(e){let t=e.resolvePath(`.eve-code`),n=TRUSTED_TOOLING_ROOT;return{root:t,trustedRoot:n,env:`${t}/env`,ghReal:GITHUB_TOOLING_PATHS.ghReal,ghWrapper:`${t}/gh`,vercelWrapper:`${t}/vercel`,signedCommit:`${t}/gh-signed-commit`,trustedSignedCommit:GITHUB_TOOLING_PATHS.trustedSignedCommit,typescriptRoot:`${n}/typescript`,typescriptModule:TYPESCRIPT_MODULE,workerSource:`${t}/diagnostics.cjs`,worker:`${n}/diagnostics.cjs`}}function ghWrapperSource(e){let t=toolingPaths(e);return`#!/usr/bin/env bash\nset -euo pipefail\n[[ ! -f ${JSON.stringify(t.env)} ]] || source ${JSON.stringify(t.env)}\nexport GH_TOKEN="\${GH_TOKEN:-ghp_000000000000000000000000000000000000}"\nexec ${JSON.stringify(t.ghReal)} "$@"\n`}function vercelWrapperSource(e){let t=toolingPaths(e);return`#!/usr/bin/env bash\nset -euo pipefail\n[[ ! -f ${JSON.stringify(t.env)} ]] || source ${JSON.stringify(t.env)}\nexport VERCEL_TOKEN="\${VERCEL_TOKEN:-eve-code-firewall-placeholder}"\nexec node "$(npm root -g)/vercel/dist/index.js" "$@"\n`}function typescriptInstallCommand(e){let{typescriptRoot:t}=toolingPaths(e),n=`${t}/npmrc`,r=[`set -e`,`cd ${shellQuote(t)}`,`umask 022`,`: > ${shellQuote(n)}`,`npm install --prefix ${shellQuote(t)} --ignore-scripts --no-audit --no-fund typescript@${TYPESCRIPT_VERSION}`,`chmod -R go-w ${shellQuote(t)}`].join(`
2
2
  `),i=`/usr/bin/env -i HOME=/root PATH=/usr/local/bin:/usr/bin:/bin NPM_CONFIG_USERCONFIG=/dev/null NPM_CONFIG_GLOBALCONFIG=${shellQuote(n)} NPM_CONFIG_REGISTRY=https://registry.npmjs.org /bin/sh -c ${shellQuote(r)}`;return`if [ "$(id -u)" = 0 ]; then ${i}; else sudo -n ${i}; fi`}const DIAGNOSTICS_WORKER_SOURCE=String.raw`const fs = require("node:fs");
3
3
  const path = require("node:path");
4
4
 
@@ -1,31 +1 @@
1
- /**
2
- * The single containment check for sandbox paths that tools read or write.
3
- * The workspace root differs by provider (`/workspace`, `/app`, ...), so the
4
- * boundary is the real path of `resolvePath("")`, never a literal prefix.
5
- */
6
- export interface WorkspaceSandbox {
7
- resolvePath(path: string): string;
8
- run(input: {
9
- abortSignal?: AbortSignal;
10
- command: string;
11
- }): PromiseLike<{
12
- exitCode: number;
13
- stderr: string;
14
- stdout: string;
15
- }>;
16
- }
17
- /** NUL-delimited output keeps paths that contain newlines unambiguous. */
18
- export declare function sandboxRealPath(sandbox: WorkspaceSandbox, path: string, label: string, abortSignal?: AbortSignal): Promise<string>;
19
- /**
20
- * Resolves `path` (default: the workspace root) to a real path inside the real
21
- * workspace. Symlinks are followed before the check, so a link cannot escape.
22
- */
23
- export declare function resolveInWorkspace(sandbox: WorkspaceSandbox, path: string | undefined, label: string, abortSignal?: AbortSignal): Promise<{
24
- readonly path: string;
25
- readonly workspace: string;
26
- }>;
27
- /**
28
- * An absolute directory inside the workspace (default: the workspace root).
29
- * Git is not required; `validateRepositoryRoot` adds that check.
30
- */
31
- export declare function resolveWorkspaceDirectory(sandbox: WorkspaceSandbox, root?: string): Promise<string>;
1
+ export * from "eve/internal/workspace";
@@ -1 +1 @@
1
- import{shellQuote}from"./shell.js";async function sandboxRealPath(e,t,n,r){let i=await e.run({abortSignal:r,command:`realpath -e -z -- ${shellQuote(t)}`});if(i.exitCode!==0){let e=i.stderr.trim()||i.stdout.trim()||`no command output`;throw Error(`${n} could not be resolved: ${e.slice(0,2e3)}`)}let a=i.stdout.endsWith(`\0`)?i.stdout.slice(0,-1):i.stdout;if(a.length===0||a.includes(`\0`))throw Error(`${n} returned an invalid realpath`);return a}async function resolveInWorkspace(e,t,n,r){let i=await sandboxRealPath(e,e.resolvePath(``),`sandbox workspace`,r);if(t===void 0)return{path:i,workspace:i};let a=await sandboxRealPath(e,t,n,r);if(!(i===`/`||a===i||a.startsWith(`${i}/`)))throw Error(`${n} resolves outside the workspace ${i}: ${a}`);return{path:a,workspace:i}}async function resolveWorkspaceDirectory(e,t){if(t!==void 0&&!t.startsWith(`/`))throw Error(`root must be an absolute sandbox path`);return(await resolveInWorkspace(e,t,`root`)).path}export{resolveInWorkspace,resolveWorkspaceDirectory,sandboxRealPath};
1
+ import{__exportAll,__reExport}from"../../../../_virtual/_rolldown/runtime.js";export*from"eve/internal/workspace";var workspace_root_exports=__exportAll({});import*as import_eve_internal_workspace from"eve/internal/workspace";__reExport(workspace_root_exports,import_eve_internal_workspace);export{workspace_root_exports};
@@ -10,7 +10,7 @@ declare const _default: import("eve").DefinedAgent<{
10
10
  };
11
11
  };
12
12
  } | undefined;
13
- }>;
13
+ }, import("eve").DynamicModelContext>;
14
14
  reasoning: "xhigh";
15
15
  defaultTools: false;
16
16
  }>;
@@ -1 +1 @@
1
- import extension_default from"../../extension.js";import{defineAgent,defineDynamic}from"eve";var agent_default=defineAgent({description:`Another mind for one scoped slice. Give it a self-contained question and choose the lifetime: keep it and send deltas when it should own the slice end to end, or ask once. It can see the shared tree. You remain the arbiter and keep the writes.`,model:defineDynamic({events:{"session.started":()=>{let e=extension_default.config.worker??{model:`openai/gpt-5.6-terra-fast`,reasoning:`xhigh`};return{model:e.model,reasoning:e.reasoning,modelOptions:e.openaiReasoningEffort===void 0?void 0:{providerOptions:{openai:{reasoningEffort:e.openaiReasoningEffort}}}}}}}),reasoning:`xhigh`,defaultTools:!1});export{agent_default as default};
1
+ import extension_default from"../../extension.js";import{defineAgent,defineDynamic}from"eve";var agent_default=defineAgent({description:`Another mind for one scoped slice. Give it a self-contained question and choose the lifetime: keep it and send deltas when it should own the slice end to end, or ask once. It can see the shared tree. You remain the arbiter and keep the writes.`,model:defineDynamic(()=>{let e=extension_default.config.worker??{model:`openai/gpt-5.6-terra-fast`,reasoning:`xhigh`};return{model:e.model,reasoning:e.reasoning,modelOptions:e.openaiReasoningEffort===void 0?void 0:{providerOptions:{openai:{reasoningEffort:e.openaiReasoningEffort}}}}}),reasoning:`xhigh`,defaultTools:!1});export{agent_default as default};
@@ -1,2 +1,2 @@
1
- import{onlyNewTypeDiagnostics,runPostEditDiagnostics,runTypeScriptDiagnostics}from"../lib/diagnostics.js";import{findGeneratedPatchTargets,generatedPatchTargetsError}from"../lib/generated-paths.js";import{resolveWorkspaceDirectory}from"../lib/workspace-root.js";import{applyPatchToSandbox}from"../lib/patch.js";import{z}from"#compiled/zod/index.js";import{defineTool}from"eve/tools";import{never}from"eve/tools/approval";const DiagnosticSchema=z.object({check:z.enum([`git-diff`,`syntax`,`typescript`,`whitespace`]),code:z.number().int().optional(),column:z.number().int().optional(),line:z.number().int().optional(),message:z.string(),path:z.string().optional()});var apply_patch_default=defineTool({description:[`Apply targeted changes to files in the sandbox workspace. No git checkout is required.`,`Use this instead of rewriting complete files or writing through bash.`,`Write small hunks against current file contents. If a hunk misses, re-read that file and rewrite only the failed hunk. Do not retry the same patch text.`,`The patch is fully parsed and every source file is verified before any write.`,`After writing, the tool runs bounded whitespace, syntax, and TypeScript checks and`,`returns only diagnostics the patch introduced.`,`Patch format:`,`*** Begin Patch`,`*** Add File: path (every content line starts with +)`,`*** Update File: path (optional *** Move to: new-path, followed by @@ chunks)`,`*** Delete File: path`,`*** End Patch`,`Paths are relative to root and may not escape it.`,`Generated files (lockfiles, dist/, vendor-compiled/) are rejected: change them`,`through the command that generates them, never through a patch.`].join(`
2
- `),approval:never(),label:{start:({root:e})=>`Patch ${e??`workspace`}`},inputSchema:z.object({root:z.string().min(1).optional().describe(`absolute directory inside the sandbox workspace that patch paths are relative to; defaults to the workspace root`),patchText:z.string().min(1).max(5e5).describe(`complete *** Begin Patch text`)}),outputSchema:z.object({diagnostics:z.array(DiagnosticSchema),files:z.array(z.object({operation:z.enum([`add`,`delete`,`move`,`update`]),path:z.string(),previousPath:z.string().optional()}))}),async execute({root:e,patchText:t},n){let r=findGeneratedPatchTargets(t);if(r.length>0)throw Error(generatedPatchTargetsError(r));let i=await n.getSandbox(),a=await resolveWorkspaceDirectory(i,e),o=[],s=new Map,c=await applyPatchToSandbox({async beforeCommit(e){for(let t of e)s.set(t.path,t.previousContent);o=await runTypeScriptDiagnostics({paths:e.filter(e=>e.operation===`update`).map(e=>e.path),patchRoot:a,sandbox:i})},patchText:t,patchRoot:a,sandbox:i,sessionId:n.session.id}),l=c.filter(e=>e.operation!==`delete`).map(e=>e.path),u=c.filter(e=>e.operation===`add`||e.operation===`move`).map(e=>e.path),d=[...c.filter(e=>e.operation===`delete`).map(e=>e.path),...c.flatMap(e=>e.operation===`move`&&e.previousPath!==void 0?[e.previousPath]:[])];return{diagnostics:onlyNewTypeDiagnostics(await runPostEditDiagnostics({addedPaths:u,changedPaths:l,deletedPaths:d,patchRoot:a,previousContents:s,sandbox:i}),o),files:c}}});export{apply_patch_default as default};
1
+ import{onlyNewTypeDiagnostics,runPostEditDiagnostics,runTypeScriptDiagnostics}from"../lib/diagnostics.js";import{findGeneratedPatchTargets,generatedPatchTargetsError}from"../lib/generated-paths.js";import{applyPatchToSandbox}from"../lib/patch.js";import{workspace_root_exports}from"../lib/workspace-root.js";import{z}from"#compiled/zod/index.js";import{defineTool}from"eve/tools";import{never}from"eve/tools/approval";const DiagnosticSchema=z.object({check:z.enum([`git-diff`,`syntax`,`typescript`,`whitespace`]),code:z.number().int().optional(),column:z.number().int().optional(),line:z.number().int().optional(),message:z.string(),path:z.string().optional()});var apply_patch_default=defineTool({description:[`Apply targeted changes to files in the sandbox workspace. No git checkout is required.`,`Use this instead of rewriting complete files or writing through bash.`,`Write small hunks against current file contents. If a hunk misses, re-read that file and rewrite only the failed hunk. Do not retry the same patch text.`,`The patch is fully parsed and every source file is verified before any write.`,`After writing, the tool runs bounded whitespace, syntax, and TypeScript checks and`,`returns only diagnostics the patch introduced.`,`Patch format:`,`*** Begin Patch`,`*** Add File: path (every content line starts with +)`,`*** Update File: path (optional *** Move to: new-path, followed by @@ chunks)`,`*** Delete File: path`,`*** End Patch`,`Paths are relative to root and may not escape it.`,`Generated files (lockfiles, dist/, vendor-compiled/) are rejected: change them`,`through the command that generates them, never through a patch.`].join(`
2
+ `),approval:never(),label:{start:({root:e})=>`Patch ${e??`workspace`}`},inputSchema:z.object({root:z.string().min(1).optional().describe(`absolute directory inside the sandbox workspace that patch paths are relative to; defaults to the workspace root`),patchText:z.string().min(1).max(5e5).describe(`complete *** Begin Patch text`)}),outputSchema:z.object({diagnostics:z.array(DiagnosticSchema),files:z.array(z.object({operation:z.enum([`add`,`delete`,`move`,`update`]),path:z.string(),previousPath:z.string().optional()}))}),async execute({root:e,patchText:t},n){let r=findGeneratedPatchTargets(t);if(r.length>0)throw Error(generatedPatchTargetsError(r));let i=await n.getSandbox(),a=await(0,workspace_root_exports.resolveWorkspaceDirectory)(i,e),o=[],s=new Map,c=await applyPatchToSandbox({async beforeCommit(e){for(let t of e)s.set(t.path,t.previousContent);o=await runTypeScriptDiagnostics({paths:e.filter(e=>e.operation===`update`).map(e=>e.path),patchRoot:a,sandbox:i})},patchText:t,patchRoot:a,sandbox:i,sessionId:n.session.id}),l=c.filter(e=>e.operation!==`delete`).map(e=>e.path),u=c.filter(e=>e.operation===`add`||e.operation===`move`).map(e=>e.path),d=[...c.filter(e=>e.operation===`delete`).map(e=>e.path),...c.flatMap(e=>e.operation===`move`&&e.previousPath!==void 0?[e.previousPath]:[])];return{diagnostics:onlyNewTypeDiagnostics(await runPostEditDiagnostics({addedPaths:u,changedPaths:l,deletedPaths:d,patchRoot:a,previousContents:s,sandbox:i}),o),files:c}}});export{apply_patch_default as default};
@@ -1,28 +1 @@
1
- declare const _default: import("eve/tools").ToolDefinition<{
2
- context?: number | undefined;
3
- glob?: string | undefined;
4
- ignoreCase?: boolean | undefined;
5
- limit?: number | undefined;
6
- literal?: boolean | undefined;
7
- outputMode?: "content" | "count" | "files_with_matches" | undefined;
8
- path?: string | undefined;
9
- pattern: string;
10
- }, {
11
- content: string;
12
- matchCount: number;
13
- outputMode: "content" | "count" | "files_with_matches";
14
- path: string;
15
- truncated: boolean;
16
- }> & {
17
- execute(input: {
18
- context?: number | undefined;
19
- glob?: string | undefined;
20
- ignoreCase?: boolean | undefined;
21
- limit?: number | undefined;
22
- literal?: boolean | undefined;
23
- outputMode?: "content" | "count" | "files_with_matches" | undefined;
24
- path?: string | undefined;
25
- pattern: string;
26
- }, ctx: import("eve/tools").ToolContext): Promise<import("../lib/grep-search.ts").GrepSearchResult>;
27
- };
28
- export default _default;
1
+ export { default } from "eve/tools/grep";
@@ -1 +1 @@
1
- import{GREP_OUTPUT_MODES,executeGrepSearch}from"../lib/grep-search.js";import{z}from"#compiled/zod/index.js";import{defineTool}from"eve/tools";const InputSchema=z.object({context:z.number().int().min(0).optional().describe(`Context lines around each content match. Ignored unless outputMode is content.`),glob:z.string().optional().describe(`Limit files, for example "*.ts" or "*.{ts,tsx}".`),ignoreCase:z.boolean().optional().describe(`Case-insensitive search. Defaults to false.`),limit:z.number().int().min(1).max(200).optional().describe(`Maximum rows to return. Defaults to 50.`),literal:z.boolean().optional().describe(`Force a literal match. Defaults to true for identifier-like patterns, false when the pattern uses regex syntax.`),outputMode:z.enum(GREP_OUTPUT_MODES).optional().describe(`files_with_matches lists files and stops at the first hit in each (default). content returns matching lines. count returns per-file totals.`),path:z.string().optional().describe(`Directory or file inside the workspace. Defaults to the workspace root. Narrow this first.`),pattern:z.string().min(1).describe(`Regex or literal to search for.`)});var grep_default=defineTool({description:[`Fast sandbox content search powered by ripgrep.`,`Start with outputMode files_with_matches and a narrow path or glob. That stops at the first hit per file.`,`Use content only after you know which files matter. Use count to size a pattern before reading hits.`,`Function names and error strings are matched as fixed strings unless you set literal false or the pattern uses regex syntax.`,`With ripgrep, respects .gitignore. The POSIX fallback does not read .gitignore; both include hidden files and exclude .git.`].join(` `),inputSchema:InputSchema,outputSchema:z.object({content:z.string(),matchCount:z.number().int(),outputMode:z.enum(GREP_OUTPUT_MODES),path:z.string(),truncated:z.boolean()}),async execute(e,t){return executeGrepSearch(e,await t.getSandbox(),t.abortSignal)}});export{grep_default as default};
1
+ import grep_default from"eve/tools/grep";export{grep_default as default};
@@ -0,0 +1 @@
1
+ export { installCodeTooling, authenticateGitHub, authenticateVercel, type BrokeredCredentialOptions, } from "./extension/lib/sandbox.ts";
@@ -0,0 +1 @@
1
+ import{authenticateGitHub,authenticateVercel}from"./extension/lib/credentials.js";import{installCodeTooling}from"./extension/lib/sandbox.js";export{authenticateGitHub,authenticateVercel,installCodeTooling};
@@ -1,6 +1,2 @@
1
1
  export { default as apply_patch } from "./extension/tools/apply_patch.ts";
2
- /** @deprecated Import from `eve/computer-use/tools` and mount `eve/computer-use`. */
3
- export { computer_use } from "../../computer-use/tools.ts";
4
- /** @deprecated Import from `eve/extensions/git/tools` and mount `eve/extensions/git`. */
5
- export { gh } from "./extension/lib/github-compat.ts";
6
- export { default as grep } from "./extension/tools/grep.ts";
2
+ export { grep } from "#tools/provided/grep.js";
@@ -1 +1 @@
1
- import computer_use_default from"../../computer-use/extension/tools/computer_use.js";import"../../computer-use/tools.js";import{gh}from"./extension/lib/github-compat.js";import grep_default from"./extension/tools/grep.js";import apply_patch_default from"./extension/tools/apply_patch.js";export{apply_patch_default as apply_patch,computer_use_default as computer_use,gh,grep_default as grep};
1
+ import apply_patch_default from"./extension/tools/apply_patch.js";import{grep}from"#tools/provided/grep.js";export{apply_patch_default as apply_patch,grep};
@@ -1,16 +1,16 @@
1
1
  import { z } from "zod";
2
- import type { GitHubAuthorize, GitHubConfig } from "./lib/github-shell.ts";
2
+ import type { GitHubAttribution, GitHubAuthorize, GitHubConfig } from "./lib/github-shell.ts";
3
3
  export type { GitHubLeaseRule } from "./lib/github-shell.ts";
4
4
  export type { GitHubCoAuthor } from "./lib/github-shell.ts";
5
5
  export type { GitHubAuthorize, GitHubAuthorizeRequest } from "./lib/github-shell.ts";
6
6
  export type GitHubLeaseBroker = GitHubConfig["broker"];
7
- export type GitHubAttribution = NonNullable<GitHubConfig["attribution"]>;
7
+ export type { GitHubAttribution } from "./lib/github-shell.ts";
8
8
  declare const _default: import("eve/extension").ExtensionHandle<z.ZodObject<{
9
9
  github: z.ZodOptional<z.ZodObject<{
10
10
  connector: z.ZodString;
11
11
  org: z.ZodString;
12
12
  broker: z.ZodCustom<(sandbox: import("../../../shared/sandbox-session.ts").SandboxSession, rules: Readonly<Record<string, readonly import("./lib/github-shell.ts").GitHubLeaseRule[]>> | null) => Promise<void>, (sandbox: import("../../../shared/sandbox-session.ts").SandboxSession, rules: Readonly<Record<string, readonly import("./lib/github-shell.ts").GitHubLeaseRule[]>> | null) => Promise<void>>;
13
- attribution: z.ZodOptional<z.ZodCustom<(ctx: import("../../../tools/definition.ts").ToolContext) => import("./lib/attribution.ts").GitHubCoAuthor | null | PromiseLike<import("./lib/attribution.ts").GitHubCoAuthor | null>, (ctx: import("../../../tools/definition.ts").ToolContext) => import("./lib/attribution.ts").GitHubCoAuthor | null | PromiseLike<import("./lib/attribution.ts").GitHubCoAuthor | null>>>;
13
+ attribution: z.ZodOptional<z.ZodCustom<GitHubAttribution, GitHubAttribution>>;
14
14
  authorize: z.ZodOptional<z.ZodCustom<GitHubAuthorize, GitHubAuthorize>>;
15
15
  }, z.core.$strip>>;
16
16
  }, z.core.$strip>>;
@@ -1,2 +1,2 @@
1
- declare const _default: import("eve/instructions").DynamicSentinel<import("eve/instructions").DynamicInstructionsResult>;
1
+ declare const _default: import("eve/instructions").DynamicSentinel<import("eve/instructions").DynamicInstructionsResult, import("eve/instructions").DynamicContext>;
2
2
  export default _default;
@@ -1 +1 @@
1
- import extension_default from"../extension.js";import{githubInstructions}from"../lib/github-guidance.js";import{defineDynamic,defineInstructions}from"eve/instructions";var github_default=defineDynamic({events:{"session.started":()=>defineInstructions({content:githubInstructions(extension_default.config.github!==void 0)})}});export{github_default as default};
1
+ import extension_default from"../extension.js";import{githubInstructions}from"../lib/github-guidance.js";import{defineDynamic,defineInstructions}from"eve/instructions";var github_default=defineDynamic(()=>defineInstructions({content:githubInstructions(extension_default.config.github!==void 0)}));export{github_default as default};