eve 0.67.1 → 0.68.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 (653) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/src/channel/channel-address.d.ts +2 -2
  3. package/dist/src/channel/compiled-channel.d.ts +3 -2
  4. package/dist/src/channel/cross-channel-receive.d.ts +1 -18
  5. package/dist/src/channel/cross-channel-receive.js +1 -1
  6. package/dist/src/channel/forwarded-principal.d.ts +3 -2
  7. package/dist/src/channel/resolve-text.d.ts +2 -1
  8. package/dist/src/channel/schedule.d.ts +2 -2
  9. package/dist/src/channel/session-callback.d.ts +2 -1
  10. package/dist/src/channel/types.d.ts +3 -7
  11. package/dist/src/cli/acp/command.d.ts +2 -1
  12. package/dist/src/cli/agent-command.d.ts +2 -1
  13. package/dist/src/cli/agent-detection.d.ts +0 -1
  14. package/dist/src/cli/agent-detection.js +1 -1
  15. package/dist/src/cli/application-command.d.ts +2 -1
  16. package/dist/src/cli/application-root.d.ts +3 -6
  17. package/dist/src/cli/application-root.js +1 -1
  18. package/dist/src/cli/commands/init-target.d.ts +1 -1
  19. package/dist/src/cli/commands/init-telemetry.d.ts +2 -1
  20. package/dist/src/cli/commands/registry-declared-setups.d.ts +2 -1
  21. package/dist/src/cli/commands/registry-install-transaction.d.ts +0 -13
  22. package/dist/src/cli/commands/registry-install-transaction.js +1 -1
  23. package/dist/src/cli/commands/registry-pnpm-build-policy-flow.d.ts +1 -1
  24. package/dist/src/cli/commands/registry-presentation.d.ts +0 -1
  25. package/dist/src/cli/commands/registry-presentation.js +1 -1
  26. package/dist/src/cli/commands/registry-project.d.ts +2 -1
  27. package/dist/src/cli/commands/registry.d.ts +0 -4
  28. package/dist/src/cli/commands/registry.js +1 -1
  29. package/dist/src/cli/commands/setup-headless.d.ts +2 -1
  30. package/dist/src/cli/commands/vercel-non-interactive.d.ts +2 -1
  31. package/dist/src/cli/dev/command-options.d.ts +1 -0
  32. package/dist/src/cli/dev/command.js +1 -1
  33. package/dist/src/cli/dev/diagnostic-dump.d.ts +0 -2
  34. package/dist/src/cli/dev/diagnostic-dump.js +1 -1
  35. package/dist/src/cli/dev/diagnostic-sink.d.ts +3 -2
  36. package/dist/src/cli/dev/local-server-process.js +1 -1
  37. package/dist/src/cli/dev/tui/agent-header.d.ts +2 -1
  38. package/dist/src/cli/dev/tui/argument-typeahead.d.ts +2 -1
  39. package/dist/src/cli/dev/tui/dev-rebuild-status.d.ts +2 -1
  40. package/dist/src/cli/dev/tui/diagnostic-presentation.d.ts +2 -1
  41. package/dist/src/cli/dev/tui/errors.d.ts +2 -7
  42. package/dist/src/cli/dev/tui/errors.js +1 -1
  43. package/dist/src/cli/dev/tui/flow-drawer.d.ts +2 -1
  44. package/dist/src/cli/dev/tui/line-editor.d.ts +1 -1
  45. package/dist/src/cli/dev/tui/mcp-connection-status.d.ts +2 -1
  46. package/dist/src/cli/dev/tui/message-queue.d.ts +4 -3
  47. package/dist/src/cli/dev/tui/prompt-command-handler.d.ts +2 -1
  48. package/dist/src/cli/dev/tui/provider-picker.d.ts +3 -2
  49. package/dist/src/cli/dev/tui/question-panel.d.ts +2 -1
  50. package/dist/src/cli/dev/tui/registry-result-message.d.ts +3 -4
  51. package/dist/src/cli/dev/tui/registry-result-message.js +1 -1
  52. package/dist/src/cli/dev/tui/remote-connection-probe.d.ts +3 -2
  53. package/dist/src/cli/dev/tui/setup-panel.d.ts +2 -2
  54. package/dist/src/cli/dev/tui/setup-selection-input.d.ts +2 -2
  55. package/dist/src/cli/dev/tui/status-line.d.ts +2 -1
  56. package/dist/src/cli/dev/tui/stream-format.d.ts +3 -2
  57. package/dist/src/cli/dev/tui/terminal-renderer.d.ts +3 -2
  58. package/dist/src/cli/dev/tui/theme.d.ts +1 -1
  59. package/dist/src/cli/dev/tui/tool-block-groups.d.ts +3 -2
  60. package/dist/src/cli/dev/tui/tool-presentation.d.ts +2 -1
  61. package/dist/src/cli/dev/tui/traces/trace-content.d.ts +0 -9
  62. package/dist/src/cli/dev/tui/traces/trace-content.js +1 -1
  63. package/dist/src/cli/dev/tui/traces/trace-view.d.ts +3 -2
  64. package/dist/src/cli/dev/tui/traces/trace-viewer-session.d.ts +2 -1
  65. package/dist/src/cli/dev/tui/traces/trace-viewer-state.d.ts +2 -3
  66. package/dist/src/cli/dev/tui/traces/trace-viewer-state.js +1 -1
  67. package/dist/src/cli/dev/tui/tui.js +1 -1
  68. package/dist/src/cli/dev/ui-options.d.ts +3 -2
  69. package/dist/src/cli/dev/url-target.d.ts +2 -1
  70. package/dist/src/cli/invoke/command.d.ts +0 -11
  71. package/dist/src/cli/invoke/command.js +1 -1
  72. package/dist/src/cli/invoke/result.d.ts +1 -1
  73. package/dist/src/cli/telemetry/index.d.ts +0 -6
  74. package/dist/src/cli/telemetry/preference.d.ts +2 -1
  75. package/dist/src/cli/ui/alt-screen.d.ts +3 -2
  76. package/dist/src/cli/ui/live-region.d.ts +3 -2
  77. package/dist/src/cli/ui/output.d.ts +1 -1
  78. package/dist/src/client/eve-agent-store-helpers.d.ts +0 -1
  79. package/dist/src/client/eve-agent-store-helpers.js +1 -1
  80. package/dist/src/client/message-action-parts.d.ts +2 -1
  81. package/dist/src/client/session-utils.d.ts +3 -2
  82. package/dist/src/compiled/.vendor-stamp.json +6 -6
  83. package/dist/src/compiled/@photon-ai/chat-adapter-imessage/index.js +55 -55
  84. package/dist/src/compiled/@vercel/blob/index.js +1 -1
  85. package/dist/src/compiled/@vercel/oidc/index.js +1 -1
  86. package/dist/src/compiled/@workflow/core/index.js +2 -2
  87. package/dist/src/compiled/@workflow/core/private.js +1 -1
  88. package/dist/src/compiled/@workflow/core/runtime/constants.d.ts +4 -3
  89. package/dist/src/compiled/@workflow/core/runtime/helpers.d.ts +23 -0
  90. package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
  91. package/dist/src/compiled/@workflow/core/runtime/hook-wake.d.ts +69 -36
  92. package/dist/src/compiled/@workflow/core/runtime/lifecycle-hooks.d.ts +25 -22
  93. package/dist/src/compiled/@workflow/core/runtime/run-spec-version.d.ts +16 -0
  94. package/dist/src/compiled/@workflow/core/runtime/start.d.ts +59 -1
  95. package/dist/src/compiled/@workflow/core/runtime/step-latency.d.ts +3 -2
  96. package/dist/src/compiled/@workflow/core/runtime/suspension-handler.d.ts +34 -12
  97. package/dist/src/compiled/@workflow/core/runtime.js +4 -4
  98. package/dist/src/compiled/@workflow/core/serialization.d.ts +7 -2
  99. package/dist/src/compiled/@workflow/core/serialization.js +1 -1
  100. package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +29 -0
  101. package/dist/src/compiled/@workflow/core/types.d.ts +1 -0
  102. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  103. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  104. package/dist/src/compiled/@workflow/errors/index.d.ts +13 -0
  105. package/dist/src/compiled/@workflow/errors/index.js +1 -1
  106. package/dist/src/compiled/@workflow/world/events.d.ts +14 -4
  107. package/dist/src/compiled/@workflow/world/index.d.ts +2 -2
  108. package/dist/src/compiled/@workflow/world/interfaces.d.ts +2 -1
  109. package/dist/src/compiled/@workflow/world/shared.d.ts +24 -0
  110. package/dist/src/compiled/@workflow/world/spec-version.d.ts +23 -0
  111. package/dist/src/compiled/@workflow/world-local/index.js +5 -5
  112. package/dist/src/compiled/@workflow/world-vercel/index.js +16 -16
  113. package/dist/src/compiled/_chunks/workflow/{attribute-changes-DzJovO_f.js → attribute-changes-D721NpZv.js} +3 -3
  114. package/dist/src/compiled/_chunks/workflow/{dist-BQSf8Hax.js → dist-BUFGAKRb.js} +1 -1
  115. package/dist/src/compiled/_chunks/workflow/dist-CaNNONeg.js +3 -0
  116. package/dist/src/compiled/_chunks/workflow/{frames-qKc30rjg.js → frames-Dr9fHWdo.js} +2 -2
  117. package/dist/src/compiled/_chunks/workflow/{global-BQnKzRXo.js → global-DKbOgrts.js} +1 -1
  118. package/dist/src/compiled/_chunks/workflow/helpers-DkKxg_yn.js +1 -0
  119. package/dist/src/compiled/_chunks/workflow/logger-D4GJNTk4.js +14 -0
  120. package/dist/src/compiled/_chunks/workflow/resume-hook-uTW-jBYz.js +1 -0
  121. package/dist/src/compiled/_chunks/workflow/run-5DmiMN9b.js +1 -0
  122. package/dist/src/compiled/_chunks/workflow/serialization-CNIYl1D3.js +3 -0
  123. package/dist/src/compiled/_chunks/workflow/sleep-DFKgN7UG.js +1 -0
  124. package/dist/src/compiled/_chunks/workflow/wait-until-3_1djUuL.js +1 -0
  125. package/dist/src/compiled/_chunks/workflow/{ws-transport-BrsMYqJg.js → ws-transport--rYOVIaf.js} +1 -1
  126. package/dist/src/compiler/artifacts.d.ts +4 -27
  127. package/dist/src/compiler/artifacts.js +1 -1
  128. package/dist/src/compiler/compile-agent.d.ts +2 -1
  129. package/dist/src/compiler/compile-agent.js +1 -1
  130. package/dist/src/compiler/diagnostics.d.ts +0 -11
  131. package/dist/src/compiler/diagnostics.js +1 -1
  132. package/dist/src/compiler/extension-compatibility.d.ts +6 -6
  133. package/dist/src/compiler/extension-compatibility.js +1 -1
  134. package/dist/src/compiler/manifest.d.ts +0 -4
  135. package/dist/src/compiler/module-map.d.ts +1 -5
  136. package/dist/src/compiler/module-map.js +1 -1
  137. package/dist/src/compiler/normalize-agent-config.js +1 -1
  138. package/dist/src/compiler/normalize-connection.d.ts +2 -1
  139. package/dist/src/compiler/normalize-instructions.d.ts +2 -6
  140. package/dist/src/compiler/normalize-instructions.js +1 -1
  141. package/dist/src/compiler/normalize-manifest-helpers.d.ts +0 -1
  142. package/dist/src/compiler/normalize-manifest-helpers.js +1 -1
  143. package/dist/src/compiler/normalize-manifest.js +1 -1
  144. package/dist/src/compiler/normalize-skill.d.ts +2 -1
  145. package/dist/src/compiler/project-sources.d.ts +0 -14
  146. package/dist/src/compiler/project-sources.js +1 -1
  147. package/dist/src/compiler/resolve-workspace-subagent.js +1 -1
  148. package/dist/src/compiler/source-graph.d.ts +1 -2
  149. package/dist/src/compiler/source-graph.js +1 -1
  150. package/dist/src/computer-use/extension/extension.d.ts +2 -0
  151. package/dist/src/computer-use/extension/extension.js +1 -0
  152. package/dist/src/computer-use/extension/lib/command-failure.d.ts +7 -0
  153. package/dist/src/computer-use/extension/lib/command-failure.js +2 -0
  154. package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-driver-source.d.ts +0 -2
  155. package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-driver-source.js +57 -57
  156. package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-sandbox.js +1 -1
  157. package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use.d.ts +1 -1
  158. package/dist/src/computer-use/extension/lib/sandbox.d.ts +1 -0
  159. package/dist/src/computer-use/extension/lib/sandbox.js +1 -0
  160. package/dist/src/computer-use/extension/lib/shell.d.ts +1 -0
  161. package/dist/src/computer-use/extension/lib/shell.js +1 -0
  162. package/dist/src/computer-use/tools.d.ts +1 -0
  163. package/dist/src/computer-use/tools.js +1 -0
  164. package/dist/src/context/build-base-tool-context.d.ts +2 -1
  165. package/dist/src/context/dynamic-tool-lifecycle.d.ts +1 -5
  166. package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
  167. package/dist/src/context/dynamic-tool-metadata.d.ts +0 -1
  168. package/dist/src/context/dynamic-tool-metadata.js +1 -1
  169. package/dist/src/context/hook-lifecycle.d.ts +4 -3
  170. package/dist/src/context/hook-lifecycle.js +1 -1
  171. package/dist/src/context/memory-lifecycle.d.ts +0 -8
  172. package/dist/src/context/memory-lifecycle.js +1 -1
  173. package/dist/src/discover/connections.d.ts +0 -15
  174. package/dist/src/discover/connections.js +1 -1
  175. package/dist/src/discover/diagnostics.d.ts +0 -8
  176. package/dist/src/discover/diagnostics.js +1 -1
  177. package/dist/src/discover/discover-agent.js +1 -1
  178. package/dist/src/discover/discover-subagent.d.ts +0 -1
  179. package/dist/src/discover/discover-subagent.js +1 -1
  180. package/dist/src/discover/extensions.d.ts +3 -10
  181. package/dist/src/discover/extensions.js +1 -1
  182. package/dist/src/discover/filesystem.d.ts +5 -9
  183. package/dist/src/discover/filesystem.js +1 -1
  184. package/dist/src/discover/grammar.d.ts +0 -46
  185. package/dist/src/discover/grammar.js +1 -1
  186. package/dist/src/discover/manifest.d.ts +5 -4
  187. package/dist/src/discover/memory.d.ts +0 -1
  188. package/dist/src/discover/memory.js +1 -1
  189. package/dist/src/discover/named-source-directory.js +1 -1
  190. package/dist/src/discover/project-source.d.ts +2 -1
  191. package/dist/src/discover/project.js +1 -1
  192. package/dist/src/discover/sandbox.js +1 -1
  193. package/dist/src/discover/skills.d.ts +0 -4
  194. package/dist/src/discover/skills.js +1 -1
  195. package/dist/src/evals/cli/eval-client.d.ts +2 -1
  196. package/dist/src/evals/judge.d.ts +2 -1
  197. package/dist/src/evals/runner/execute-task.d.ts +1 -1
  198. package/dist/src/evals/types.d.ts +1 -1
  199. package/dist/src/eve-channel/support.d.ts +1 -3
  200. package/dist/src/eve-channel/support.js +1 -1
  201. package/dist/src/execution/continuation-conflict-step.js +1 -1
  202. package/dist/src/execution/dynamic-workflow/schema.d.ts +2 -1
  203. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  204. package/dist/src/execution/effective-agent-config.d.ts +2 -1
  205. package/dist/src/execution/eve-workflow-attributes.d.ts +3 -5
  206. package/dist/src/execution/eve-workflow-attributes.js +1 -1
  207. package/dist/src/execution/history-view.d.ts +2 -1
  208. package/dist/src/execution/node-step.d.ts +3 -2
  209. package/dist/src/execution/proxied-deliver-step.js +1 -1
  210. package/dist/src/execution/publish-channel-event.js +1 -1
  211. package/dist/src/execution/sandbox/active-handles.d.ts +2 -4
  212. package/dist/src/execution/sandbox/active-handles.js +1 -1
  213. package/dist/src/execution/sandbox/bash.d.ts +2 -1
  214. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  215. package/dist/src/execution/sandbox/bindings/immutable-resources.d.ts +0 -6
  216. package/dist/src/execution/sandbox/bindings/immutable-resources.js +1 -1
  217. package/dist/src/execution/sandbox/bindings/local-provider-utils.d.ts +3 -2
  218. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +0 -1
  219. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.js +1 -1
  220. package/dist/src/execution/sandbox/bindings/microsandbox-network.d.ts +1 -1
  221. package/dist/src/execution/sandbox/bindings/microsandbox-options.d.ts +0 -3
  222. package/dist/src/execution/sandbox/bindings/microsandbox-options.js +1 -1
  223. package/dist/src/execution/sandbox/bindings/microsandbox-templates.d.ts +0 -1
  224. package/dist/src/execution/sandbox/bindings/microsandbox-templates.js +1 -1
  225. package/dist/src/execution/sandbox/bindings/vercel.d.ts +1 -1
  226. package/dist/src/execution/sandbox/dockerfile.d.ts +0 -1
  227. package/dist/src/execution/sandbox/dockerfile.js +1 -1
  228. package/dist/src/execution/sandbox/ensure.d.ts +2 -1
  229. package/dist/src/execution/sandbox/ensure.js +1 -1
  230. package/dist/src/execution/sandbox/prewarm.d.ts +1 -18
  231. package/dist/src/execution/sandbox/prewarm.js +1 -1
  232. package/dist/src/execution/sandbox/require-sandbox.d.ts +0 -11
  233. package/dist/src/execution/sandbox/require-sandbox.js +1 -1
  234. package/dist/src/execution/sandbox/truncate-output.d.ts +2 -5
  235. package/dist/src/execution/sandbox/truncate-output.js +2 -2
  236. package/dist/src/execution/session/admission.d.ts +3 -2
  237. package/dist/src/execution/session/event-sink.d.ts +2 -1
  238. package/dist/src/execution/session/finalization.d.ts +2 -1
  239. package/dist/src/execution/session/handoff.d.ts +3 -2
  240. package/dist/src/execution/session/route-selected-delivery.d.ts +2 -1
  241. package/dist/src/execution/session/timeout-control.d.ts +2 -1
  242. package/dist/src/execution/session/timeout-steps.js +1 -1
  243. package/dist/src/execution/session/turn-event-handler.d.ts +27 -0
  244. package/dist/src/execution/session/turn-event-handler.js +1 -0
  245. package/dist/src/execution/session/turn-step.js +1 -1
  246. package/dist/src/execution/session-activity.d.ts +0 -3
  247. package/dist/src/execution/session-activity.js +1 -1
  248. package/dist/src/execution/session-inbox/protocol.d.ts +2 -1
  249. package/dist/src/execution/session.d.ts +3 -2
  250. package/dist/src/execution/stable-workflow-names.d.ts +0 -6
  251. package/dist/src/execution/stable-workflow-names.js +1 -1
  252. package/dist/src/execution/task-input-response-route.js +1 -1
  253. package/dist/src/execution/tasks/child/notify.js +1 -1
  254. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  255. package/dist/src/execution/tools/ask-question-workflow.js +1 -1
  256. package/dist/src/execution/tools/connection-search.js +2 -2
  257. package/dist/src/execution/tools/sleep-workflow.js +1 -1
  258. package/dist/src/execution/tools/subagent/emit-event-step.js +1 -1
  259. package/dist/src/execution/tools/subagent/invoke-preparation.d.ts +2 -1
  260. package/dist/src/execution/tools/subagent/task-agent-requests.d.ts +4 -3
  261. package/dist/src/execution/tools/workflow/answer.d.ts +4 -1
  262. package/dist/src/execution/tools/workflow/answer.js +1 -1
  263. package/dist/src/execution/tools/workflow/background.d.ts +2 -6
  264. package/dist/src/execution/tools/workflow/background.js +1 -1
  265. package/dist/src/execution/tools/workflow/owner-channels.d.ts +1 -1
  266. package/dist/src/execution/tools/workflow/workflow-owner-background.d.ts +2 -1
  267. package/dist/src/execution/web-fetch/execute.d.ts +2 -2
  268. package/dist/src/execution/web-fetch/request.d.ts +2 -1
  269. package/dist/src/execution/workflow-runtime.js +1 -1
  270. package/dist/src/extensions/code/extension/lib/generated-paths.d.ts +2 -1
  271. package/dist/src/extensions/code/extension/lib/grep-search.d.ts +5 -5
  272. package/dist/src/extensions/code/extension/lib/grep-search.js +2 -2
  273. package/dist/src/extensions/code/extension/lib/guidelines.d.ts +2 -1
  274. package/dist/src/extensions/code/extension/lib/patch.d.ts +3 -2
  275. package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +1 -2
  276. package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
  277. package/dist/src/extensions/code/extension/lib/prwatch-registry.d.ts +2 -1
  278. package/dist/src/extensions/code/extension/lib/sandbox.d.ts +3 -2
  279. package/dist/src/extensions/code/extension/lib/sandbox.js +1 -1
  280. package/dist/src/extensions/code/extension/lib/signed-commit.d.ts +1 -1
  281. package/dist/src/extensions/code/extension/lib/signed-commit.js +2 -2
  282. package/dist/src/extensions/code/tools.d.ts +2 -1
  283. package/dist/src/extensions/code/tools.js +1 -1
  284. package/dist/src/framework/host-inventory.d.ts +3 -2
  285. package/dist/src/harness/approval-candidates.d.ts +4 -3
  286. package/dist/src/harness/approval-delivery-coordinator.d.ts +2 -1
  287. package/dist/src/harness/compaction-prompt.d.ts +2 -1
  288. package/dist/src/harness/coordination.d.ts +0 -4
  289. package/dist/src/harness/coordination.js +1 -1
  290. package/dist/src/harness/input-requests.d.ts +1 -10
  291. package/dist/src/harness/input-requests.js +1 -1
  292. package/dist/src/harness/pending-input-batches.d.ts +0 -5
  293. package/dist/src/harness/pending-input-batches.js +1 -1
  294. package/dist/src/harness/provider-tools.d.ts +2 -1
  295. package/dist/src/harness/session-limit-continuation.d.ts +0 -4
  296. package/dist/src/harness/session-limit-continuation.js +1 -1
  297. package/dist/src/harness/session-usage-limits.d.ts +2 -1
  298. package/dist/src/harness/tool-loop.js +2 -2
  299. package/dist/src/harness/tool-model-output.d.ts +2 -1
  300. package/dist/src/harness/turn-client-context.d.ts +2 -1
  301. package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
  302. package/dist/src/instrumentation/lifecycle.d.ts +2 -2
  303. package/dist/src/instrumentation/lifecycle.js +1 -1
  304. package/dist/src/instrumentation/state.d.ts +2 -2
  305. package/dist/src/internal/agent-name.d.ts +0 -2
  306. package/dist/src/internal/agent-name.js +1 -1
  307. package/dist/src/internal/application/build-profile.d.ts +2 -2
  308. package/dist/src/internal/application/dev-environment.d.ts +2 -8
  309. package/dist/src/internal/application/dev-environment.js +1 -1
  310. package/dist/src/internal/application/output-publication.d.ts +1 -1
  311. package/dist/src/internal/application/package.js +1 -1
  312. package/dist/src/internal/application/paths.d.ts +0 -5
  313. package/dist/src/internal/application/paths.js +1 -1
  314. package/dist/src/internal/application/tsconfig-dependencies.d.ts +0 -16
  315. package/dist/src/internal/application/tsconfig-dependencies.js +1 -1
  316. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  317. package/dist/src/internal/authored-definition/source-identity.d.ts +1 -1
  318. package/dist/src/internal/authored-module-map-loader.js +1 -1
  319. package/dist/src/internal/bundler/extension-scope-plugin.d.ts +2 -1
  320. package/dist/src/internal/bundler/nitro-rolldown.d.ts +0 -11
  321. package/dist/src/internal/bundler/nitro-rolldown.js +1 -1
  322. package/dist/src/internal/eve-project-root.d.ts +0 -3
  323. package/dist/src/internal/eve-project-root.js +1 -1
  324. package/dist/src/internal/external-resources-snapshot.d.ts +1 -1
  325. package/dist/src/internal/external-resources.d.ts +0 -1
  326. package/dist/src/internal/external-resources.js +1 -1
  327. package/dist/src/internal/helpers/markdown.js +1 -1
  328. package/dist/src/internal/invocation/metadata.d.ts +1 -1
  329. package/dist/src/internal/materialized-authored-modules.d.ts +2 -1
  330. package/dist/src/internal/mcp/protected-resource.d.ts +2 -1
  331. package/dist/src/internal/mcp/streamable-http-server.d.ts +4 -5
  332. package/dist/src/internal/mcp/streamable-http-server.js +1 -1
  333. package/dist/src/internal/model-catalog.d.ts +2 -1
  334. package/dist/src/internal/nitro/dev-runtime-artifacts-retention.d.ts +2 -2
  335. package/dist/src/internal/nitro/dev-runtime-artifacts-retention.js +1 -1
  336. package/dist/src/internal/nitro/dev-runtime-artifacts.d.ts +2 -8
  337. package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
  338. package/dist/src/internal/nitro/dev-runtime-generation-metadata.d.ts +13 -0
  339. package/dist/src/internal/nitro/dev-runtime-generation-metadata.js +1 -0
  340. package/dist/src/internal/nitro/dev-runtime-source-snapshot.d.ts +0 -1
  341. package/dist/src/internal/nitro/dev-runtime-source-snapshot.js +1 -1
  342. package/dist/src/internal/nitro/development-generation.d.ts +2 -1
  343. package/dist/src/internal/nitro/development-generation.js +1 -1
  344. package/dist/src/internal/nitro/host/channel-routes.d.ts +1 -1
  345. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.d.ts +3 -1
  346. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.js +1 -1
  347. package/dist/src/internal/nitro/host/dev-host-candidate.d.ts +2 -1
  348. package/dist/src/internal/nitro/host/dev-workflow-world-setup.d.ts +1 -0
  349. package/dist/src/internal/nitro/host/dev-workflow-world-setup.js +1 -1
  350. package/dist/src/internal/nitro/host/drained-nitro-dev-server.d.ts +1 -1
  351. package/dist/src/internal/nitro/host/extension-capability-requirements.js +1 -1
  352. package/dist/src/internal/nitro/host/schedule-task-routes.d.ts +1 -1
  353. package/dist/src/internal/nitro/host/start-development-server.js +1 -1
  354. package/dist/src/internal/nitro/host/types.d.ts +2 -0
  355. package/dist/src/internal/nitro/host/workspace-extensions.js +1 -1
  356. package/dist/src/internal/nitro/routes/channel-request-instrumentation.d.ts +2 -1
  357. package/dist/src/internal/nitro/routes/channel-route-context.d.ts +1 -1
  358. package/dist/src/internal/nitro/routes/runtime-stack.d.ts +2 -1
  359. package/dist/src/internal/resolve-model-endpoint-status.d.ts +2 -1
  360. package/dist/src/internal/vercel/assemble-eve-services.d.ts +3 -2
  361. package/dist/src/internal/vercel/eve-service-contribution.d.ts +2 -3
  362. package/dist/src/internal/vercel/eve-service-contribution.js +1 -1
  363. package/dist/src/internal/vercel/project-link.d.ts +2 -1
  364. package/dist/src/internal/vercel/project-link.js +1 -1
  365. package/dist/src/internal/workflow/cancel-expired-development-run.d.ts +2 -0
  366. package/dist/src/internal/workflow/cancel-expired-development-run.js +1 -0
  367. package/dist/src/internal/workflow/development-runtime-compatibility.d.ts +12 -0
  368. package/dist/src/internal/workflow/development-runtime-compatibility.js +1 -0
  369. package/dist/src/internal/workflow/development-world-client.js +1 -1
  370. package/dist/src/internal/workflow/development-world-codec.d.ts +2 -1
  371. package/dist/src/internal/workflow/development-world-protocol.d.ts +9 -0
  372. package/dist/src/internal/workflow/development-world-server.d.ts +2 -0
  373. package/dist/src/internal/workflow/development-world-server.js +1 -1
  374. package/dist/src/internal/workflow/is-inactive-workflow-run-error.d.ts +2 -0
  375. package/dist/src/internal/workflow/is-inactive-workflow-run-error.js +1 -0
  376. package/dist/src/internal/workflow/world-compatibility.d.ts +2 -1
  377. package/dist/src/internal/workflow-bundle/builder-support.d.ts +0 -9
  378. package/dist/src/internal/workflow-bundle/builder-support.js +2 -3
  379. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.d.ts +0 -1
  380. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.js +1 -1
  381. package/dist/src/protocol/activity.d.ts +3 -3
  382. package/dist/src/protocol/activity.js +1 -1
  383. package/dist/src/protocol/baggage.d.ts +2 -2
  384. package/dist/src/protocol/cancel-turn.d.ts +0 -2
  385. package/dist/src/protocol/event-dedupe.d.ts +2 -1
  386. package/dist/src/protocol/event-id.d.ts +0 -6
  387. package/dist/src/protocol/event-id.js +1 -1
  388. package/dist/src/protocol/traceparent.d.ts +2 -1
  389. package/dist/src/public/channels/chat-sdk/audience.d.ts +2 -4
  390. package/dist/src/public/channels/chat-sdk/audience.js +1 -1
  391. package/dist/src/public/channels/discord/discordChannel.d.ts +1 -1
  392. package/dist/src/public/channels/github/api.d.ts +2 -12
  393. package/dist/src/public/channels/github/api.js +1 -1
  394. package/dist/src/public/channels/github/auth.d.ts +0 -9
  395. package/dist/src/public/channels/github/auth.js +1 -1
  396. package/dist/src/public/channels/github/binding.d.ts +3 -2
  397. package/dist/src/public/channels/github/checkout.d.ts +3 -3
  398. package/dist/src/public/channels/github/defaults.d.ts +3 -2
  399. package/dist/src/public/channels/github/githubChannel.d.ts +1 -1
  400. package/dist/src/public/channels/github/limits.d.ts +0 -2
  401. package/dist/src/public/channels/github/limits.js +2 -2
  402. package/dist/src/public/channels/github/pr-context.d.ts +2 -3
  403. package/dist/src/public/channels/github/pr-context.js +1 -1
  404. package/dist/src/public/channels/github/state.d.ts +2 -1
  405. package/dist/src/public/channels/github/verify.d.ts +2 -1
  406. package/dist/src/public/channels/linear/defaults.d.ts +2 -1
  407. package/dist/src/public/channels/linear/inbound-images.d.ts +2 -1
  408. package/dist/src/public/channels/slack/app-manifest.d.ts +3 -4
  409. package/dist/src/public/channels/slack/app-manifest.js +1 -1
  410. package/dist/src/public/channels/slack/inbound.d.ts +2 -1
  411. package/dist/src/public/channels/slack/model-context.d.ts +0 -18
  412. package/dist/src/public/channels/slack/model-context.js +1 -1
  413. package/dist/src/public/channels/slack/privacy.d.ts +2 -1
  414. package/dist/src/public/channels/slack/verify.d.ts +1 -1
  415. package/dist/src/public/channels/teams/teamsChannel.d.ts +1 -1
  416. package/dist/src/public/channels/telegram/audience.d.ts +2 -3
  417. package/dist/src/public/channels/telegram/audience.js +1 -1
  418. package/dist/src/public/channels/telegram/telegramChannel.d.ts +1 -1
  419. package/dist/src/public/channels/twilio/defaults.d.ts +0 -7
  420. package/dist/src/public/channels/twilio/defaults.js +1 -1
  421. package/dist/src/public/channels/twilio/routing.d.ts +2 -1
  422. package/dist/src/public/channels/twilio/twilioChannel.d.ts +1 -1
  423. package/dist/src/public/definitions/channel.d.ts +1 -1
  424. package/dist/src/public/definitions/hook.d.ts +12 -0
  425. package/dist/src/public/index.js +1 -1
  426. package/dist/src/public/memory/file/provider.js +1 -1
  427. package/dist/src/public/models/openai/chatgpt/model.d.ts +2 -1
  428. package/dist/src/public/models/openai/chatgpt/token-broker.d.ts +1 -1
  429. package/dist/src/public/nuxt/dev-server.d.ts +3 -2
  430. package/dist/src/public/skills/index.js +1 -1
  431. package/dist/src/public/sveltekit/dev-server.d.ts +3 -2
  432. package/dist/src/public/tools/index.js +1 -1
  433. package/dist/src/runtime/compiled-artifacts-source.d.ts +0 -4
  434. package/dist/src/runtime/compiled-artifacts-source.js +1 -1
  435. package/dist/src/runtime/connections/instance-identity.d.ts +0 -3
  436. package/dist/src/runtime/connections/instance-identity.js +1 -1
  437. package/dist/src/runtime/connections/mcp-client.d.ts +7 -0
  438. package/dist/src/runtime/connections/mcp-client.js +1 -1
  439. package/dist/src/runtime/connections/mcp-tracing.d.ts +1 -6
  440. package/dist/src/runtime/connections/mcp-tracing.js +1 -1
  441. package/dist/src/runtime/connections/openapi-client.d.ts +1 -1
  442. package/dist/src/runtime/connections/scoped-authorization.d.ts +0 -9
  443. package/dist/src/runtime/connections/scoped-authorization.js +1 -1
  444. package/dist/src/runtime/hooks/registry.d.ts +0 -7
  445. package/dist/src/runtime/hooks/registry.js +1 -1
  446. package/dist/src/runtime/loaders/artifact-paths.d.ts +2 -1
  447. package/dist/src/runtime/loaders/bundled-artifacts.d.ts +0 -1
  448. package/dist/src/runtime/loaders/bundled-artifacts.js +1 -1
  449. package/dist/src/runtime/resolve-agent.d.ts +2 -2
  450. package/dist/src/runtime/resolve-agent.js +1 -1
  451. package/dist/src/runtime/resolve-dynamic-tool.d.ts +0 -16
  452. package/dist/src/runtime/resolve-dynamic-tool.js +1 -1
  453. package/dist/src/runtime/sandbox/prepared-artifacts.d.ts +1 -2
  454. package/dist/src/runtime/sandbox/prepared-artifacts.js +1 -1
  455. package/dist/src/runtime/schedules/register.d.ts +0 -4
  456. package/dist/src/runtime/schedules/register.js +1 -1
  457. package/dist/src/self-modification/credentials.d.ts +1 -4
  458. package/dist/src/self-modification/credentials.js +1 -1
  459. package/dist/src/self-modification/extension/subagents/agent/tools/search_traces.js +1 -1
  460. package/dist/src/self-modification/filesystem.d.ts +0 -1
  461. package/dist/src/self-modification/filesystem.js +1 -1
  462. package/dist/src/self-modification/git-workspace.d.ts +0 -3
  463. package/dist/src/self-modification/git-workspace.js +1 -1
  464. package/dist/src/self-modification/github-publisher.d.ts +2 -1
  465. package/dist/src/self-modification/migration.d.ts +0 -1
  466. package/dist/src/self-modification/migration.js +1 -1
  467. package/dist/src/self-modification/mode.d.ts +2 -1
  468. package/dist/src/self-modification/proposal.d.ts +0 -2
  469. package/dist/src/self-modification/proposal.js +2 -2
  470. package/dist/src/self-modification/setup.js +1 -1
  471. package/dist/src/services/dev-client/agent-info-probe.d.ts +2 -1
  472. package/dist/src/services/dev-client/request-headers.d.ts +1 -1
  473. package/dist/src/setup/ai-gateway-api-key.d.ts +2 -1
  474. package/dist/src/setup/append-env.d.ts +3 -2
  475. package/dist/src/setup/ask.d.ts +3 -3
  476. package/dist/src/setup/boxes/apply-ai-gateway-credential.d.ts +2 -1
  477. package/dist/src/setup/boxes/deploy-project.d.ts +4 -3
  478. package/dist/src/setup/boxes/link-project.d.ts +2 -1
  479. package/dist/src/setup/boxes/model-capabilities.d.ts +2 -2
  480. package/dist/src/setup/boxes/model-capabilities.js +1 -1
  481. package/dist/src/setup/boxes/resolve-provisioning.d.ts +2 -1
  482. package/dist/src/setup/boxes/select-model.d.ts +0 -1
  483. package/dist/src/setup/boxes/select-model.js +1 -1
  484. package/dist/src/setup/cli/option-row.d.ts +1 -1
  485. package/dist/src/setup/cli/prompt-ui.d.ts +0 -10
  486. package/dist/src/setup/cli/prompt-ui.js +1 -1
  487. package/dist/src/setup/cli/rail-log.d.ts +0 -2
  488. package/dist/src/setup/cli/rail-log.js +2 -2
  489. package/dist/src/setup/connect-provisioning.d.ts +2 -1
  490. package/dist/src/setup/connection-connector.d.ts +2 -1
  491. package/dist/src/setup/flows/link.d.ts +2 -1
  492. package/dist/src/setup/flows/model-login.d.ts +1 -1
  493. package/dist/src/setup/flows/model-source-change.js +1 -1
  494. package/dist/src/setup/flows/registry-session.d.ts +3 -2
  495. package/dist/src/setup/integrations/discord/api.d.ts +2 -1
  496. package/dist/src/setup/integrations/discord/connect.d.ts +3 -3
  497. package/dist/src/setup/integrations/discord/connect.js +1 -1
  498. package/dist/src/setup/integrations/discord/setup.d.ts +2 -1
  499. package/dist/src/setup/integrations/file-memory/vercel.d.ts +1 -1
  500. package/dist/src/setup/integrations/github/connect.d.ts +3 -3
  501. package/dist/src/setup/integrations/github/connect.js +1 -1
  502. package/dist/src/setup/integrations/github/setup.d.ts +1 -1
  503. package/dist/src/setup/integrations/linear/connect.d.ts +2 -2
  504. package/dist/src/setup/integrations/linear/connect.js +1 -1
  505. package/dist/src/setup/integrations/linear/setup.d.ts +1 -1
  506. package/dist/src/setup/integrations/linq/connect.d.ts +3 -4
  507. package/dist/src/setup/integrations/linq/connect.js +1 -1
  508. package/dist/src/setup/integrations/linq/management.d.ts +2 -1
  509. package/dist/src/setup/integrations/linq/setup.d.ts +1 -9
  510. package/dist/src/setup/integrations/linq/setup.js +1 -1
  511. package/dist/src/setup/integrations/photon/connect.d.ts +5 -7
  512. package/dist/src/setup/integrations/photon/connect.js +1 -1
  513. package/dist/src/setup/integrations/photon/management.d.ts +5 -4
  514. package/dist/src/setup/integrations/photon/setup-flow.d.ts +2 -1
  515. package/dist/src/setup/integrations/registry.d.ts +0 -2
  516. package/dist/src/setup/integrations/registry.js +1 -1
  517. package/dist/src/setup/integrations/runner.d.ts +3 -2
  518. package/dist/src/setup/integrations/shared/scaffold.d.ts +2 -1
  519. package/dist/src/setup/integrations/shared/vercel-project.d.ts +2 -1
  520. package/dist/src/setup/integrations/shopify/setup.d.ts +2 -1
  521. package/dist/src/setup/integrations/teams/connect.d.ts +3 -3
  522. package/dist/src/setup/integrations/teams/connect.js +1 -1
  523. package/dist/src/setup/integrations/teams/setup.d.ts +2 -1
  524. package/dist/src/setup/integrations/web/setup.d.ts +2 -3
  525. package/dist/src/setup/integrations/web/setup.js +3 -3
  526. package/dist/src/setup/primitives/pm/process-result.d.ts +2 -1
  527. package/dist/src/setup/primitives/pm/shared.d.ts +2 -1
  528. package/dist/src/setup/primitives/process-output.d.ts +2 -1
  529. package/dist/src/setup/quit-guard.d.ts +3 -2
  530. package/dist/src/setup/scaffold/create/add-to-project.d.ts +2 -1
  531. package/dist/src/setup/scaffold/create/project.js +1 -1
  532. package/dist/src/setup/scaffold/create/web-template.d.ts +1 -1
  533. package/dist/src/setup/scaffold/create/web-template.js +1 -1
  534. package/dist/src/setup/scaffold/files.d.ts +2 -1
  535. package/dist/src/setup/scaffold/update/channels.d.ts +0 -1
  536. package/dist/src/setup/scaffold/workspace-glob.d.ts +0 -1
  537. package/dist/src/setup/scaffold/workspace-glob.js +1 -1
  538. package/dist/src/setup/scaffold/workspace-root.d.ts +2 -1
  539. package/dist/src/setup/slack-connect-create.d.ts +1 -1
  540. package/dist/src/setup/slack-connect-lifecycle.d.ts +5 -5
  541. package/dist/src/setup/slack-connect.d.ts +0 -4
  542. package/dist/src/setup/slack-connect.js +1 -1
  543. package/dist/src/setup/slackbot.d.ts +3 -3
  544. package/dist/src/setup/slackbot.js +1 -1
  545. package/dist/src/setup/vercel-project-api.d.ts +1 -1
  546. package/dist/src/setup/vercel-project.d.ts +3 -18
  547. package/dist/src/setup/vercel-project.js +0 -0
  548. package/dist/src/shared/action-types.d.ts +1 -58
  549. package/dist/src/shared/action-types.js +1 -1
  550. package/dist/src/shared/agent-definition.d.ts +0 -3
  551. package/dist/src/shared/agent-turn-outcome.d.ts +1 -3
  552. package/dist/src/shared/agent-turn-outcome.js +1 -1
  553. package/dist/src/shared/chatgpt-model.d.ts +0 -1
  554. package/dist/src/shared/chatgpt-model.js +1 -1
  555. package/dist/src/shared/connection-types.d.ts +5 -0
  556. package/dist/src/shared/conversation-context.d.ts +2 -1
  557. package/dist/src/shared/extension-package-contract.d.ts +2 -1
  558. package/dist/src/shared/forwarded-trace-policy.d.ts +3 -2
  559. package/dist/src/shared/gateway-model-catalog.d.ts +25 -2
  560. package/dist/src/shared/gateway-model-catalog.js +1 -1
  561. package/dist/src/shared/gateway-service-tier.d.ts +2 -1
  562. package/dist/src/shared/memory-state.d.ts +0 -8
  563. package/dist/src/shared/memory-state.js +1 -1
  564. package/dist/src/shared/sandbox-environment.d.ts +0 -1
  565. package/dist/src/shared/sandbox-environment.js +1 -1
  566. package/dist/src/shared/skill-package.d.ts +0 -5
  567. package/dist/src/shared/skill-package.js +1 -1
  568. package/dist/src/shared/token-usage.d.ts +0 -7
  569. package/dist/src/shared/token-usage.js +1 -1
  570. package/dist/src/shared/ulid.d.ts +2 -8
  571. package/dist/src/shared/ulid.js +1 -1
  572. package/dist/src/shared/vercel-project.d.ts +2 -1
  573. package/dist/src/shared/vercel-services.d.ts +2 -2
  574. package/dist/src/shared/workflow-sandbox.d.ts +0 -7
  575. package/dist/src/source-change/agent-config-ast.d.ts +2 -1
  576. package/dist/src/source-change/agent-config-string-path.d.ts +2 -2
  577. package/dist/src/source-change/apply-agent-model-settings.d.ts +2 -1
  578. package/dist/src/source-change/apply-model-selection.d.ts +2 -1
  579. package/dist/src/source-change/static-source-change.d.ts +4 -3
  580. package/dist/src/subagents/invocation.d.ts +1 -1
  581. package/dist/src/subagents/parent-notification.js +1 -1
  582. package/dist/src/subagents/tool.d.ts +2 -1
  583. package/dist/src/tasks/types.d.ts +2 -0
  584. package/dist/src/tools/definition.d.ts +8 -3
  585. package/dist/src/tools/durable-callbacks.d.ts +1 -2
  586. package/dist/src/tools/durable-callbacks.js +1 -1
  587. package/dist/src/tools/framework/agent.js +1 -1
  588. package/dist/src/tools/framework/task-cancel.d.ts +1 -1
  589. package/dist/src/tools/native-definition.d.ts +2 -1
  590. package/dist/src/tracing/agent-action-instrumentation.d.ts +2 -1
  591. package/dist/src/tracing/agent-memory-instrumentation.d.ts +2 -1
  592. package/dist/src/tracing/agent-otel-provider.d.ts +2 -1
  593. package/dist/src/tracing/agent-span-id-generator.d.ts +0 -1
  594. package/dist/src/tracing/agent-span-id-generator.js +1 -1
  595. package/dist/src/tracing/agent-tool-instrumentation.d.ts +2 -1
  596. package/dist/src/tracing/agent-tool-span-context.d.ts +3 -2
  597. package/dist/src/tracing/agent-trace-state.d.ts +0 -24
  598. package/dist/src/tracing/agent-trace-state.js +1 -1
  599. package/dist/src/tracing/batch-span-processor.d.ts +2 -1
  600. package/dist/src/tracing/local-trace-analysis.d.ts +4 -3
  601. package/dist/src/tracing/local-trace-discovery-index.d.ts +0 -2
  602. package/dist/src/tracing/local-trace-discovery-index.js +1 -1
  603. package/dist/src/tracing/local-trace-query.d.ts +2 -1
  604. package/dist/src/tracing/local-trace-retention.d.ts +4 -4
  605. package/dist/src/tracing/telemetry-budget.d.ts +0 -1
  606. package/dist/src/tracing/telemetry-budget.js +1 -1
  607. package/docs/concepts/project-structure.mdx +1 -1
  608. package/docs/guides/auth-and-route-protection.md +1 -1
  609. package/docs/guides/deployment/vercel.mdx +1 -1
  610. package/docs/guides/dynamic-capabilities.md +10 -7
  611. package/docs/guides/hooks.md +34 -2
  612. package/docs/install-integrations.mdx +1 -1
  613. package/docs/reference/cli.md +36 -15
  614. package/docs/tools/human-in-the-loop.md +2 -0
  615. package/package.json +31 -10
  616. package/dist/src/cli/commands/channel-add-conflicts.d.ts +0 -21
  617. package/dist/src/cli/commands/channel-add-conflicts.js +0 -1
  618. package/dist/src/cli/commands/registry-search-presentation.d.ts +0 -16
  619. package/dist/src/cli/commands/registry-search-presentation.js +0 -6
  620. package/dist/src/compiled/_chunks/workflow/dist-BfMqXLK3.js +0 -3
  621. package/dist/src/compiled/_chunks/workflow/helpers-CNMO7zB1.js +0 -1
  622. package/dist/src/compiled/_chunks/workflow/logger-BCEj9caG.js +0 -14
  623. package/dist/src/compiled/_chunks/workflow/resume-hook-QS_cMwHn.js +0 -1
  624. package/dist/src/compiled/_chunks/workflow/run-CA5wWV2S.js +0 -1
  625. package/dist/src/compiled/_chunks/workflow/serialization-CJ265vSe.js +0 -3
  626. package/dist/src/compiled/_chunks/workflow/sleep-CBn94Ayv.js +0 -1
  627. package/dist/src/compiled/_chunks/workflow/wait-until-Bo2U6ON9.js +0 -1
  628. package/dist/src/compiler/compile-from-memory.d.ts +0 -44
  629. package/dist/src/compiler/compile-from-memory.js +0 -1
  630. package/dist/src/execution/connection-auth-tool-result.d.ts +0 -2
  631. package/dist/src/execution/connection-auth-tool-result.js +0 -1
  632. package/dist/src/internal/process/pnpm.d.ts +0 -28
  633. package/dist/src/internal/process/pnpm.js +0 -1
  634. package/dist/src/public/channels/slack/api-encoding.d.ts +0 -5
  635. package/dist/src/public/channels/slack/api-encoding.js +0 -1
  636. package/dist/src/public/definitions/instrumentation.d.ts +0 -1
  637. package/dist/src/public/definitions/instrumentation.js +0 -1
  638. package/dist/src/public/models/openai/chatgpt/unsigned-jwt.d.ts +0 -5
  639. package/dist/src/public/models/openai/chatgpt/unsigned-jwt.js +0 -1
  640. package/dist/src/sandbox/backends/probes.d.ts +0 -7
  641. package/dist/src/sandbox/backends/probes.js +0 -1
  642. package/dist/src/setup/channel-add-conflicts.d.ts +0 -28
  643. package/dist/src/setup/channel-add-conflicts.js +0 -1
  644. package/dist/src/setup/primitives/run-pnpm.d.ts +0 -1
  645. package/dist/src/setup/primitives/run-pnpm.js +0 -1
  646. package/dist/src/shared/boundary-hook-error.d.ts +0 -4
  647. package/dist/src/shared/boundary-hook-error.js +0 -1
  648. package/dist/src/shared/dispatch-action.d.ts +0 -30
  649. package/dist/src/shared/dispatch-action.js +0 -1
  650. /package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use-sandbox.d.ts +0 -0
  651. /package/dist/src/{extensions/code → computer-use}/extension/lib/computer-use.js +0 -0
  652. /package/dist/src/{extensions/code → computer-use}/extension/tools/computer_use.d.ts +0 -0
  653. /package/dist/src/{extensions/code → computer-use}/extension/tools/computer_use.js +0 -0
@@ -1 +1 @@
1
- import{parseJsonObject}from"#shared/json.js";import{UNSPECIFIED_INPUT_SCHEMA,toInputSchema,toOutputSchema}from"#tools/schema.js";function createWorkflowToolHarnessDefinition(e){let t=e.definition,n={executeInput:e.executeInput,nodeId:e.nodeId,workflowId:e.workflowId};return t.execution===`background`?{...t,...n,execute:createWorkflowToolBackgroundExecute({toolName:t.name,workflowId:e.workflowId})}:{...t,...n,execute:void 0}}function createPreparedWorkflowToolHarnessDefinition(e){if(e.task===void 0)throw Error(`Prepared tool "${e.name}" is not backed by a workflow task.`);return createWorkflowToolHarnessDefinition({definition:{behavior:e.behavior,description:e.description,execution:e.execution,inputSchema:toInputSchema(e.inputSchema)??UNSPECIFIED_INPUT_SCHEMA,name:e.name,outputSchema:toOutputSchema(e.outputSchema),rootOnly:e.rootOnly},nodeId:e.task.nodeId,workflowId:e.task.workflowId})}function createWorkflowToolBackgroundExecute(e){return(t,n)=>{throw Error(`Background workflow tool "${e.toolName}" must be started by the task runtime (${e.workflowId}).`)}}function parseWorkflowToolInput(e,t){try{return parseJsonObject(e)}catch(e){throw TypeError(`Tool "${t}" is a workflow, so its parsed input must be a JSON object.`,{cause:e})}}export{createPreparedWorkflowToolHarnessDefinition,createWorkflowToolBackgroundExecute,createWorkflowToolHarnessDefinition,parseWorkflowToolInput};
1
+ import{parseJsonObject}from"#shared/json.js";import{UNSPECIFIED_INPUT_SCHEMA,toInputSchema,toOutputSchema}from"#tools/schema.js";function createWorkflowToolHarnessDefinition(e){let t=e.definition,n={executeInput:e.executeInput,nodeId:e.nodeId,workflowId:e.workflowId};return t.execution===`background`?{...t,...n,execute:createWorkflowToolBackgroundExecute({toolName:t.name,workflowId:e.workflowId})}:{...t,...n,execute:void 0}}function createPreparedWorkflowToolHarnessDefinition(e){if(e.task===void 0)throw Error(`Prepared tool "${e.name}" is not backed by a workflow task.`);return createWorkflowToolHarnessDefinition({definition:{behavior:e.behavior,description:e.description,execution:e.execution,inputSchema:toInputSchema(e.inputSchema)??UNSPECIFIED_INPUT_SCHEMA,name:e.name,outputSchema:toOutputSchema(e.outputSchema),rootOnly:e.rootOnly},nodeId:e.task.nodeId,workflowId:e.task.workflowId})}function createWorkflowToolBackgroundExecute(e){return(t,n)=>{throw Error(`Background workflow tool "${e.toolName}" must be started by the task runtime (${e.workflowId}).`)}}function parseWorkflowToolInput(e,t){try{return parseJsonObject(e)}catch(e){throw TypeError(`Tool "${t}" is a workflow, so its parsed input must be a JSON object.`,{cause:e})}}export{createPreparedWorkflowToolHarnessDefinition,createWorkflowToolHarnessDefinition,parseWorkflowToolInput};
@@ -19,7 +19,7 @@ type ChannelReadResult<R> = R extends ChannelReader<infer C, infer T> ? {
19
19
  readonly channel: C;
20
20
  readonly next: IteratorResult<T>;
21
21
  } : never;
22
- export type ChannelRead<R extends readonly ChannelReader<string, unknown>[]> = ChannelReadResult<R[number]>;
22
+ type ChannelRead<R extends readonly ChannelReader<string, unknown>[]> = ChannelReadResult<R[number]>;
23
23
  /**
24
24
  * Channel reads wake the loop with `undefined` after buffering their result;
25
25
  * a cancel wins the race outright.
@@ -2,7 +2,7 @@ import type { BackgroundWorkflowToolRunInput } from "#execution/tools/workflow/t
2
2
  import type { WorkflowToolRunMessage } from "#execution/tools/workflow/messages.js";
3
3
  import { type ChannelReader } from "#execution/tools/workflow/owner-channels.js";
4
4
  import { type TaskRunInboundPayload } from "#tasks/types.js";
5
- export interface BackgroundWorkflowOwner {
5
+ interface BackgroundWorkflowOwner {
6
6
  readonly kind: "session";
7
7
  readonly commands: ChannelReader<"commands", TaskRunInboundPayload>;
8
8
  readonly signal: AbortSignal;
@@ -11,3 +11,4 @@ export interface BackgroundWorkflowOwner {
11
11
  }
12
12
  /** Routes child messages; the parent session owns persisted task state. */
13
13
  export declare function createBackgroundWorkflowOwner(input: BackgroundWorkflowToolRunInput): Promise<BackgroundWorkflowOwner | undefined>;
14
+ export {};
@@ -8,14 +8,14 @@ export interface WebFetchInput {
8
8
  readonly url: string;
9
9
  }
10
10
  /** Per-call options accepted by {@link executeWebFetchTool}. */
11
- export interface WebFetchExecuteOptions {
11
+ interface WebFetchExecuteOptions {
12
12
  /** Signal combined with the request timeout. */
13
13
  readonly abortSignal?: AbortSignal;
14
14
  }
15
15
  /**
16
16
  * Structured result returned from {@link executeWebFetchTool}.
17
17
  */
18
- export interface WebFetchResult {
18
+ interface WebFetchResult {
19
19
  /** Response body, bounded to the shared tool-output limits. */
20
20
  readonly content: string;
21
21
  /** Response `Content-Type` header. */
@@ -1,5 +1,5 @@
1
1
  /** Options for an SSRF-safe HTTPS request. */
2
- export interface PublicUrlRequestOptions {
2
+ interface PublicUrlRequestOptions {
3
3
  readonly headers: Readonly<Record<string, string>>;
4
4
  readonly maxResponseSize: number;
5
5
  readonly signal: AbortSignal;
@@ -12,3 +12,4 @@ export interface PublicUrlRequestOptions {
12
12
  * and connects using those exact results.
13
13
  */
14
14
  export declare function requestPublicUrl(urlText: string, options: PublicUrlRequestOptions): Promise<Response>;
15
+ export {};
@@ -1 +1 @@
1
- import{randomBytes}from"node:crypto";import{createEveActivityRoutePath}from"#protocol/routes.js";import{createLogger,logError}from"#internal/logging.js";import{getChannelActivityPresentation}from"#channel/activity-renderer.js";import{sessionCommandHookToken,sessionInboxHookToken}from"#execution/session-inbox/address.js";import{ActivityObserverKey}from"#context/keys.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{walkCauseChain}from"#shared/errors.js";import{normalizePersistedMessageStreamEvent}from"#protocol/message-version.js";import{cancelRun,getHookByToken,getRun,getWorld,start}from"#internal/workflow/runtime.js";import{serializeContext}from"#context/serialize.js";import{resolveEffectiveAgentRuntime}from"#execution/effective-agent-config.js";import{EntityConflictError,HookNotFoundError,RunExpiredError,WorkflowRunNotFoundError}from"#compiled/@workflow/errors/index.js";import{AcceptedSessionIdentityError,resolveSessionInbox,resumeSessionInbox}from"#execution/session-inbox/resume.js";import{getCompiledRuntimeAgentBundle}from"#runtime/sessions/compiled-agent-cache.js";import{buildSessionAttributes,buildSubagentRootAttributes,readParentLineage}from"#execution/eve-workflow-attributes.js";import{ROOT_RUNTIME_AGENT_NODE_ID}from"#runtime/graph.js";import{initializeSessionInstrumentation}from"#instrumentation/runtime.js";import{createWorkflowCallbackUrl,resolveWorkflowCallbackBaseUrl}from"#execution/workflow-callback-url.js";import{context,trace}from"#compiled/@opentelemetry/api/index.js";import{normalizeEveAttributes}from"#runtime/attributes/normalize.js";import{buildRunContext}from"#execution/runtime-context.js";import{parseNdjsonStream}from"#execution/ndjson-stream.js";import{SESSION_HANDOFF_VERSION}from"#execution/session/entry-input.js";import{buildInvocationAttributes}from"#internal/invocation/metadata.js";import{isAgentTraceContext}from"#tracing/agent-trace-context.js";import{ACTIVITY_COLLECTOR_WORKFLOW_NAME,SESSION_TIMEOUT_WORKFLOW_NAME,WORKFLOW_ENTRY_NAME,WORKFLOW_TOOL_RUN_WORKFLOW_NAME}from"#execution/stable-workflow-names.js";const EVE_PACKAGE_INFO=resolveInstalledPackageInfo(),COMMAND_HOOK_READY_TIMEOUT_MS=3e4,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}`},activityCollectorWorkflowReference={workflowId:`workflow//${STABLE_ID_BASE}//${ACTIVITY_COLLECTOR_WORKFLOW_NAME}`},workflowToolRunWorkflowReference={workflowId:`workflow//${STABLE_ID_BASE}//${WORKFLOW_TOOL_RUN_WORKFLOW_NAME}`};function createWorkflowRuntime(e){return{async createSession(t){let n=await getCompiledRuntimeAgentBundle({compiledArtifactsSource:e.compiledArtifactsSource,nodeId:e.nodeId}),r=buildRunContext({bundle:n,dynamicSubagentAgentConfig:e.dynamicSubagentAgentConfig,run:t}),i=resolveEffectiveAgentRuntime(n,r);initializeSessionInstrumentation({agentName:i.turnAgent.id,ctx:r});let a=i.limits?.sessionTimeoutMs,o=n.resolvedAgent.config?.experimental?.workflow?.retention,s,c=t.activityObserver;if(t.parent===void 0&&c===void 0&&(getChannelActivityPresentation(t.adapter)?.renderers.length??0)>0){let e=serializeContext(r),t=randomBytes(32).toString(`base64url`),n={expiresAt:new Date(Date.now()+(typeof a==`number`?a:864e5)).toISOString(),serializedContext:e,token:t};try{s=(await startWorkflowOnCurrentDeployment(activityCollectorWorkflowReference,[n],{experimental_retention:o})).runId;let e=process.env.VERCEL_URL?`https://${process.env.VERCEL_URL}`:`http://localhost:3000`,i=resolveWorkflowCallbackBaseUrl(e);c={sink:{url:createWorkflowCallbackUrl(i,createEveActivityRoutePath(t)),version:1}},r.set(ActivityObserverKey,c)}catch{await cancelActivityCollector(s),s=void 0,log.warn(`failed to start activity collector`)}}let l=serializeContext(r),u=readParentLineage(l),d={kind:`initial`,input:t.input,ownerDeploymentId:await resolveCurrentWorkflowDeploymentId(),serializedContext:l},f=t.taskId??t.callback?.taskId;t.limits!==void 0&&(d.limits=t.limits),f!==void 0&&(d.taskId=f),s!==void 0&&(d.activityCollectorRunId=s),t.continuationConflictCommand!==void 0&&(d.continuationConflictCommand=t.continuationConflictCommand),a!==void 0&&(d.sessionTimeoutMs=a),o!==void 0&&(d.retention=o);let p={...u.sessionId===void 0?buildSessionAttributes({serializedContext:l}):buildSubagentRootAttributes({identity:{nodeId:n.nodeId??ROOT_RUNTIME_AGENT_NODE_ID},parentCallId:u.callId,parentSessionId:u.sessionId,parentTurnId:u.turnId,rootSessionId:u.rootSessionId??u.sessionId,serializedContext:l}),...t.externalInvocation===void 0?{}:buildInvocationAttributes(t.externalInvocation)},m;try{let e={allowReservedAttributes:!0,attributes:normalizeEveAttributes(p)};o!==void 0&&(e.experimental_retention=o),m=await startWorkflowOnDeployment(workflowEntryReference,[d],d.ownerDeploymentId,e)}catch(e){throw await cancelActivityCollector(s),logError(log,`failed to start workflow run`,e,{continuationToken:t.continuationToken}),e}let h,getEvents=()=>(h??=parseNdjsonStream(()=>getRun(m.runId).getReadable(),normalizePersistedEvent),h);return{get events(){return getEvents()},sessionId:m.runId}},async dispatchContinuation(e){return await dispatchWorkflowCommand(e.continuationToken,e.command)},async dispatchSession(e){return await dispatchWorkflowCommand({sessionId:e.sessionId},e.command)},async getEventStream(e,t){return parseNdjsonStream(()=>getRun(e).getReadable({startIndex:t?.startIndex}),normalizePersistedEvent)},async getStreamTailIndex(e){let t=getRun(e).getReadable();try{return await t.getTailIndex()}finally{await t.cancel().catch(()=>{})}},async resolveContinuation(e){try{return await resolveSessionInbox(e)}catch(t){if(HookNotFoundError.is(t))return;throw logError(log,`failed to resolve session by continuation token`,t,{continuationToken:e}),t}}}}async function startSessionOwnerStep(e){"use step";let t={activationToken:e.activationToken,checkpoint:e.checkpoint,delivery:e.delivery,handoffVersion:SESSION_HANDOFF_VERSION,kind:`handoff`,ownerDeploymentId:e.targetDeploymentId,sessionWritable:getRun(e.anchorRunId).getWritable(),sessionId:e.anchorRunId};await startWorkflowOnDeployment(workflowEntryReference,[t],e.targetDeploymentId,e.checkpoint.retention===void 0?void 0:{experimental_retention:e.checkpoint.retention})}function normalizePersistedEvent(e){return normalizePersistedMessageStreamEvent(e)}async function cancelActivityCollector(e){if(e!==void 0)try{await cancelRun(await getWorld(),e,{cancelReason:`Root session creation did not complete`})}catch{log.warn(`failed to cancel unowned activity collector`)}}async function dispatchWorkflowCommand(e,t){let n;try{let r=await resumeSessionInbox(e,t);n={runId:r.ownerRunId,sessionId:await r.sessionId}}catch(n){if(isInactiveCommandTarget(n)){if(t.kind===`send`&&typeof e!=`string`)try{let t=await getRun(e.sessionId).status;if(t===`pending`||t===`running`)return{status:`session_not_active`,retryable:!0}}catch(e){if(!isInactiveCommandTarget(e))throw e}return inactiveCommandResult(t)}throw logError(log,`failed to dispatch session command`,n,{command:t.kind,token:e}),n}if(t.kind===`reset`){let t=typeof e==`string`?e:sessionCommandHookToken(e.sessionId),r=new Set([sessionCommandHookToken(n.sessionId),t]);await Promise.all([...r].map(e=>waitForHookRelease(sessionInboxHookToken(e),n.runId)))}return activeCommandResult(t,n.sessionId)}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 requestWorkflowTurnCancellation(e){let t={kind:`cancel`};return e.taskId!==void 0&&(t.taskId=e.taskId),e.tasks!==void 0&&(t.tasks=e.tasks),e.turnId!==void 0&&(t.turnId=e.turnId),await dispatchWorkflowCommand({sessionId:e.sessionId},t)}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 waitForCommandHookOwner(e){let t=Date.now()+COMMAND_HOOK_READY_TIMEOUT_MS;for(;;)try{return normalizeWorkflowHook(await getHookByToken(e))}catch(e){if(!HookNotFoundError.is(e)||Date.now()>=t)throw e;await new Promise(e=>setTimeout(e,20))}}async function waitForHookRelease(e,t){let n=Date.now()+COMMAND_HOOK_READY_TIMEOUT_MS;for(;;){try{if(normalizeWorkflowHook(await getHookByToken(e)).runId!==t)return}catch(e){if(HookNotFoundError.is(e))return;throw e}if(Date.now()>=n)throw Error(`Timed out waiting for session "${t}" to release inbox "${e}".`);await new Promise(e=>setTimeout(e,20))}}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,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{activityCollectorWorkflowReference,createWorkflowRuntime,requestWorkflowTurnCancellation,sessionTimeoutWorkflowReference,startSessionOwnerStep,startWorkflowOnCurrentDeployment,waitForCommandHookOwner,workflowEntryReference,workflowToolRunWorkflowReference};
1
+ import{randomBytes}from"node:crypto";import{createEveActivityRoutePath}from"#protocol/routes.js";import{createLogger,logError}from"#internal/logging.js";import{getChannelActivityPresentation}from"#channel/activity-renderer.js";import{sessionCommandHookToken,sessionInboxHookToken}from"#execution/session-inbox/address.js";import{ActivityObserverKey}from"#context/keys.js";import{resolveInstalledPackageInfo}from"#internal/application/package.js";import{walkCauseChain}from"#shared/errors.js";import{normalizePersistedMessageStreamEvent}from"#protocol/message-version.js";import{cancelRun,getHookByToken,getRun,getWorld,start}from"#internal/workflow/runtime.js";import{serializeContext}from"#context/serialize.js";import{resolveEffectiveAgentRuntime}from"#execution/effective-agent-config.js";import{AcceptedSessionIdentityError,resolveSessionInbox,resumeSessionInbox}from"#execution/session-inbox/resume.js";import{getCompiledRuntimeAgentBundle}from"#runtime/sessions/compiled-agent-cache.js";import{EntityConflictError,HookNotFoundError,RunExpiredError,WorkflowRunNotFoundError}from"#compiled/@workflow/errors/index.js";import{buildSessionAttributes,buildSubagentRootAttributes,readParentLineage}from"#execution/eve-workflow-attributes.js";import{ROOT_RUNTIME_AGENT_NODE_ID}from"#runtime/graph.js";import{initializeSessionInstrumentation}from"#instrumentation/runtime.js";import{createWorkflowCallbackUrl,resolveWorkflowCallbackBaseUrl}from"#execution/workflow-callback-url.js";import{context,trace}from"#compiled/@opentelemetry/api/index.js";import{normalizeEveAttributes}from"#runtime/attributes/normalize.js";import{buildRunContext}from"#execution/runtime-context.js";import{parseNdjsonStream}from"#execution/ndjson-stream.js";import{SESSION_HANDOFF_VERSION}from"#execution/session/entry-input.js";import{buildInvocationAttributes}from"#internal/invocation/metadata.js";import{isAgentTraceContext}from"#tracing/agent-trace-context.js";import{ACTIVITY_COLLECTOR_WORKFLOW_NAME,SESSION_TIMEOUT_WORKFLOW_NAME,WORKFLOW_ENTRY_NAME,WORKFLOW_TOOL_RUN_WORKFLOW_NAME}from"#execution/stable-workflow-names.js";const EVE_PACKAGE_INFO=resolveInstalledPackageInfo(),COMMAND_HOOK_READY_TIMEOUT_MS=3e4,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}`},activityCollectorWorkflowReference={workflowId:`workflow//${STABLE_ID_BASE}//${ACTIVITY_COLLECTOR_WORKFLOW_NAME}`},workflowToolRunWorkflowReference={workflowId:`workflow//${STABLE_ID_BASE}//${WORKFLOW_TOOL_RUN_WORKFLOW_NAME}`};function createWorkflowRuntime(e){return{async createSession(t){let n=await getCompiledRuntimeAgentBundle({compiledArtifactsSource:e.compiledArtifactsSource,nodeId:e.nodeId}),r=buildRunContext({bundle:n,dynamicSubagentAgentConfig:e.dynamicSubagentAgentConfig,run:t}),i=resolveEffectiveAgentRuntime(n,r);initializeSessionInstrumentation({agentName:i.turnAgent.id,ctx:r});let a=i.limits?.sessionTimeoutMs,o=n.resolvedAgent.config?.experimental?.workflow?.retention,s,c=t.activityObserver;if(t.parent===void 0&&c===void 0&&(getChannelActivityPresentation(t.adapter)?.renderers.length??0)>0){let e=serializeContext(r),t=randomBytes(32).toString(`base64url`),n={expiresAt:new Date(Date.now()+(typeof a==`number`?a:864e5)).toISOString(),serializedContext:e,token:t};try{s=(await startWorkflowOnCurrentDeployment(activityCollectorWorkflowReference,[n],{experimental_retention:o})).runId;let e=process.env.VERCEL_URL?`https://${process.env.VERCEL_URL}`:`http://localhost:3000`,i=resolveWorkflowCallbackBaseUrl(e);c={sink:{url:createWorkflowCallbackUrl(i,createEveActivityRoutePath(t)),version:1}},r.set(ActivityObserverKey,c)}catch{await cancelActivityCollector(s),s=void 0,log.warn(`failed to start activity collector`)}}let l=serializeContext(r),u=readParentLineage(l),d={kind:`initial`,input:t.input,ownerDeploymentId:await resolveCurrentWorkflowDeploymentId(),serializedContext:l},f=t.taskId??t.callback?.taskId;t.limits!==void 0&&(d.limits=t.limits),f!==void 0&&(d.taskId=f),s!==void 0&&(d.activityCollectorRunId=s),t.continuationConflictCommand!==void 0&&(d.continuationConflictCommand=t.continuationConflictCommand),a!==void 0&&(d.sessionTimeoutMs=a),o!==void 0&&(d.retention=o);let p={...u.sessionId===void 0?buildSessionAttributes({serializedContext:l}):buildSubagentRootAttributes({identity:{nodeId:n.nodeId??ROOT_RUNTIME_AGENT_NODE_ID},parentCallId:u.callId,parentSessionId:u.sessionId,parentTurnId:u.turnId,rootSessionId:u.rootSessionId??u.sessionId,serializedContext:l}),...t.externalInvocation===void 0?{}:buildInvocationAttributes(t.externalInvocation)},m;try{let e={allowReservedAttributes:!0,attributes:normalizeEveAttributes(p)};o!==void 0&&(e.experimental_retention=o),m=await startWorkflowOnDeployment(workflowEntryReference,[d],d.ownerDeploymentId,e)}catch(e){throw await cancelActivityCollector(s),logError(log,`failed to start workflow run`,e,{continuationToken:t.continuationToken}),e}let h,getEvents=()=>(h??=parseNdjsonStream(()=>getRun(m.runId).getReadable(),normalizePersistedEvent),h);return{get events(){return getEvents()},sessionId:m.runId}},async dispatchContinuation(e){return await dispatchWorkflowCommand(e.continuationToken,e.command)},async dispatchSession(e){return await dispatchWorkflowCommand({sessionId:e.sessionId},e.command)},async getEventStream(e,t){return parseNdjsonStream(()=>getRun(e).getReadable({startIndex:t?.startIndex}),normalizePersistedEvent)},async getStreamTailIndex(e){let t=getRun(e).getReadable();try{return await t.getTailIndex()}finally{await t.cancel().catch(()=>{})}},async resolveContinuation(e){try{return await resolveSessionInbox(e)}catch(t){if(HookNotFoundError.is(t))return;throw logError(log,`failed to resolve session by continuation token`,t,{continuationToken:e}),t}}}}async function startSessionOwnerStep(e){"use step";let t={activationToken:e.activationToken,checkpoint:e.checkpoint,delivery:e.delivery,handoffVersion:SESSION_HANDOFF_VERSION,kind:`handoff`,ownerDeploymentId:e.targetDeploymentId,sessionWritable:getRun(e.anchorRunId).getWritable(),sessionId:e.anchorRunId};await startWorkflowOnDeployment(workflowEntryReference,[t],e.targetDeploymentId,e.checkpoint.retention===void 0?void 0:{experimental_retention:e.checkpoint.retention})}function normalizePersistedEvent(e){return normalizePersistedMessageStreamEvent(e)}async function cancelActivityCollector(e){if(e!==void 0)try{await cancelRun(await getWorld(),e,{cancelReason:`Root session creation did not complete`})}catch{log.warn(`failed to cancel unowned activity collector`)}}async function dispatchWorkflowCommand(e,t){let n;try{let r=await resumeSessionInbox(e,t);n={runId:r.ownerRunId,sessionId:await r.sessionId}}catch(n){if(isInactiveCommandTarget(n)){if(t.kind===`send`&&typeof e!=`string`)try{let t=await getRun(e.sessionId).status;if(t===`pending`||t===`running`)return{status:`session_not_active`,retryable:!0}}catch(e){if(!isInactiveCommandTarget(e))throw e}return inactiveCommandResult(t)}throw logError(log,`failed to dispatch session command`,n,{command:t.kind,token:e}),n}if(t.kind===`reset`){let t=typeof e==`string`?e:sessionCommandHookToken(e.sessionId),r=new Set([sessionCommandHookToken(n.sessionId),t]);await Promise.all([...r].map(e=>waitForHookRelease(sessionInboxHookToken(e),n.runId)))}return activeCommandResult(t,n.sessionId)}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 requestWorkflowTurnCancellation(e){let t={kind:`cancel`};return e.taskId!==void 0&&(t.taskId=e.taskId),e.tasks!==void 0&&(t.tasks=e.tasks),e.turnId!==void 0&&(t.turnId=e.turnId),await dispatchWorkflowCommand({sessionId:e.sessionId},t)}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 waitForCommandHookOwner(e){let t=Date.now()+COMMAND_HOOK_READY_TIMEOUT_MS;for(;;)try{return normalizeWorkflowHook(await getHookByToken(e))}catch(e){if(!HookNotFoundError.is(e)||Date.now()>=t)throw e;await new Promise(e=>setTimeout(e,20))}}async function waitForHookRelease(e,t){let n=Date.now()+COMMAND_HOOK_READY_TIMEOUT_MS;for(;;){try{if(normalizeWorkflowHook(await getHookByToken(e)).runId!==t)return}catch(e){if(HookNotFoundError.is(e))return;throw e}if(Date.now()>=n)throw Error(`Timed out waiting for session "${t}" to release inbox "${e}".`);await new Promise(e=>setTimeout(e,20))}}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,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{activityCollectorWorkflowReference,createWorkflowRuntime,requestWorkflowTurnCancellation,sessionTimeoutWorkflowReference,startSessionOwnerStep,startWorkflowOnCurrentDeployment,waitForCommandHookOwner,workflowEntryReference,workflowToolRunWorkflowReference};
@@ -5,7 +5,7 @@
5
5
  * Generated files must change through the deterministic command that
6
6
  * generates them, never through model-authored patches.
7
7
  */
8
- export interface GeneratedPathMatch {
8
+ interface GeneratedPathMatch {
9
9
  readonly path: string;
10
10
  readonly label: string;
11
11
  readonly remedy: string;
@@ -16,3 +16,4 @@ export declare function patchTargetPaths(patchText: string): readonly string[];
16
16
  export declare function findGeneratedPatchTargets(patchText: string): readonly GeneratedPathMatch[];
17
17
  /** One actionable error message covering every generated target in the patch. */
18
18
  export declare function generatedPatchTargetsError(matches: readonly GeneratedPathMatch[]): string;
19
+ export {};
@@ -1,11 +1,10 @@
1
- export declare const DEFAULT_GREP_LIMIT = 50;
2
1
  export declare const MAX_GREP_LIMIT = 200;
3
2
  export declare const MAX_GREP_COMMAND_BYTES: number;
4
3
  export declare const MAX_GREP_LINE_BYTES: number;
5
4
  export declare const MAX_GREP_RETURN_BYTES: number;
6
5
  export declare const GREP_OUTPUT_MODES: readonly ["files_with_matches", "content", "count"];
7
- export type GrepOutputMode = (typeof GREP_OUTPUT_MODES)[number];
8
- export interface GrepCommandInput {
6
+ type GrepOutputMode = (typeof GREP_OUTPUT_MODES)[number];
7
+ interface GrepCommandInput {
9
8
  readonly contextLines: number;
10
9
  readonly glob: string | undefined;
11
10
  readonly ignoreCase: boolean;
@@ -22,7 +21,7 @@ export interface GrepSearchResult {
22
21
  readonly path: string;
23
22
  readonly truncated: boolean;
24
23
  }
25
- export interface GrepSandbox {
24
+ interface GrepSandbox {
26
25
  resolvePath(path: string): string;
27
26
  run(input: {
28
27
  abortSignal?: AbortSignal;
@@ -33,7 +32,7 @@ export interface GrepSandbox {
33
32
  stdout: string;
34
33
  }>;
35
34
  }
36
- export interface GrepToolInput {
35
+ interface GrepToolInput {
37
36
  readonly context?: number;
38
37
  readonly glob?: string;
39
38
  readonly ignoreCase?: boolean;
@@ -59,3 +58,4 @@ export declare function processGrepOutput(input: {
59
58
  readonly path: string;
60
59
  readonly stdout: string;
61
60
  }): GrepSearchResult;
61
+ export {};
@@ -1,6 +1,6 @@
1
- import{shellQuote}from"./shell.js";const DEFAULT_GREP_LIMIT=50,MAX_GREP_LIMIT=200,MAX_GREP_COMMAND_BYTES=262144,MAX_GREP_LINE_BYTES=8192,MAX_GREP_RETURN_BYTES=65536,REGEX_META=/[\\^$.*+?()[\]{}|]/u,GREP_OUTPUT_MODES=[`files_with_matches`,`content`,`count`];function shouldUseFixedStrings(e,t){return t===!0||t!==!1&&!REGEX_META.test(e)}function effectiveOutputMode(e){return e??`files_with_matches`}function effectiveLimit(e){return Math.min(Math.max(1,e??50),200)}function assertWorkspacePath(e,t){if(t!==void 0&&t.split(/[\\/]/u).includes(`..`))throw Error(`grep path must not contain '..'`);if(e!==`/workspace`&&!e.startsWith(`/workspace/`))throw Error(`grep path must stay under /workspace: ${e}`);if(e.split(`/`).includes(`..`))throw Error(`grep path must not contain '..'`);return e}async function executeGrepSearch(e,t,n){let r=assertWorkspacePath(t.resolvePath(e.path??`/workspace`),e.path),i=await sandboxRealPath(t,t.resolvePath(``),`sandbox workspace`,n),a=await sandboxRealPath(t,r,`grep path`,n);assertRealPathWithinWorkspace(a,i);let o=effectiveOutputMode(e.outputMode),s=effectiveLimit(e.limit),c=buildSearchCommand({contextLines:e.context??0,glob:e.glob,ignoreCase:e.ignoreCase===!0,limit:s,literal:shouldUseFixedStrings(e.pattern,e.literal),outputMode:o,path:a,pattern:e.pattern}),l=await t.run({abortSignal:n,command:c}),u=truncateUtf8(l.stdout,MAX_GREP_COMMAND_BYTES),d=u.truncated;if(l.exitCode!==0&&l.exitCode!==1||l.exitCode===1&&l.stderr.trim().length>0){let e=l.stderr.trim()||u.value.trim()||`no command output`;throw Error(`grep failed (exit ${l.exitCode}): ${truncateUtf8(e,MAX_GREP_LINE_BYTES).value}`)}return processGrepOutput({commandTruncated:d,limit:s,outputMode:o,path:r,stdout:u.value})}async function sandboxRealPath(e,t,n,r){let i=await e.run({abortSignal:r,command:`realpath -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: ${truncateUtf8(e,MAX_GREP_LINE_BYTES).value}`)}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}function assertRealPathWithinWorkspace(e,t){if(e!==t&&!e.startsWith(`${t}/`))throw Error(`grep path resolves outside /workspace: ${e}`)}function buildSearchCommand(e){return[`set -o pipefail`,`{`,` if command -v rg >/dev/null 2>&1; then`,` ${buildRipgrepCommand(e)}`,` else`,` ${buildPosixGrepCommand(e)}`,` fi`,`} 2>&1 | head -c 262145`,"search_status=${PIPESTATUS[0]}",`if [ "$search_status" -eq 141 ]; then exit 0; fi`,`exit "$search_status"`].join(`
1
+ import{shellQuote}from"./shell.js";const MAX_GREP_LIMIT=200,MAX_GREP_COMMAND_BYTES=262144,MAX_GREP_LINE_BYTES=8192,MAX_GREP_RETURN_BYTES=65536,REGEX_META=/[\\^$.*+?()[\]{}|]/u,GREP_OUTPUT_MODES=[`files_with_matches`,`content`,`count`];function shouldUseFixedStrings(e,t){return t===!0||t!==!1&&!REGEX_META.test(e)}function effectiveOutputMode(e){return e??`files_with_matches`}function effectiveLimit(e){return Math.min(Math.max(1,e??50),200)}function assertWorkspacePath(e,t){if(t!==void 0&&t.split(/[\\/]/u).includes(`..`))throw Error(`grep path must not contain '..'`);if(e!==`/workspace`&&!e.startsWith(`/workspace/`))throw Error(`grep path must stay under /workspace: ${e}`);if(e.split(`/`).includes(`..`))throw Error(`grep path must not contain '..'`);return e}async function executeGrepSearch(e,t,n){let r=assertWorkspacePath(t.resolvePath(e.path??`/workspace`),e.path),i=await sandboxRealPath(t,t.resolvePath(``),`sandbox workspace`,n),a=await sandboxRealPath(t,r,`grep path`,n);assertRealPathWithinWorkspace(a,i);let o=effectiveOutputMode(e.outputMode),s=effectiveLimit(e.limit),c=buildSearchCommand({contextLines:e.context??0,glob:e.glob,ignoreCase:e.ignoreCase===!0,limit:s,literal:shouldUseFixedStrings(e.pattern,e.literal),outputMode:o,path:a,pattern:e.pattern}),l=await t.run({abortSignal:n,command:c}),u=truncateUtf8(l.stdout,MAX_GREP_COMMAND_BYTES),d=u.truncated;if(l.exitCode!==0&&l.exitCode!==1||l.exitCode===1&&l.stderr.trim().length>0){let e=l.stderr.trim()||u.value.trim()||`no command output`;throw Error(`grep failed (exit ${l.exitCode}): ${truncateUtf8(e,MAX_GREP_LINE_BYTES).value}`)}return processGrepOutput({commandTruncated:d,limit:s,outputMode:o,path:r,stdout:u.value})}async function sandboxRealPath(e,t,n,r){let i=await e.run({abortSignal:r,command:`realpath -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: ${truncateUtf8(e,MAX_GREP_LINE_BYTES).value}`)}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}function assertRealPathWithinWorkspace(e,t){if(e!==t&&!e.startsWith(`${t}/`))throw Error(`grep path resolves outside /workspace: ${e}`)}function buildSearchCommand(e){return[`set -o pipefail`,`{`,` if command -v rg >/dev/null 2>&1; then`,` ${buildRipgrepCommand(e)}`,` else`,` ${buildPosixGrepCommand(e)}`,` fi`,`} 2>&1 | head -c 262145`,"search_status=${PIPESTATUS[0]}",`if [ "$search_status" -eq 141 ]; then exit 0; fi`,`exit "$search_status"`].join(`
2
2
  `)}function buildRipgrepCommand(e){let t=[`rg`,`--color=never`,`--hidden`,`--glob`,shellQuote(`!.git/*`)];switch(e.ignoreCase&&t.push(`--ignore-case`),e.literal&&t.push(`--fixed-strings`),e.glob!==void 0&&t.push(`--glob`,shellQuote(e.glob)),e.outputMode){case`files_with_matches`:t.push(`--files-with-matches`,`--max-count`,`1`);break;case`count`:t.push(`--count`);break;case`content`:t.push(`--line-number`,`--with-filename`,`--null`),e.contextLines>0&&t.push(`--context`,String(e.contextLines)),t.push(`--max-count`,String(e.limit))}return t.push(`--`,shellQuote(e.pattern),shellQuote(e.path)),t.join(` `)}function buildPosixGrepCommand(e){let t=[`grep`,`-r`,`--exclude-dir=.git`];switch(e.ignoreCase&&t.push(`-i`),e.literal?t.push(`-F`):t.push(`-E`),e.glob!==void 0&&t.push(`--include=${shellQuote(e.glob)}`),e.outputMode){case`files_with_matches`:t.push(`-l`);break;case`count`:t.push(`-c`);break;case`content`:t.push(`-n`,`-H`,`-Z`),e.contextLines>0&&t.push(`-C`,String(e.contextLines)),t.push(`-m`,String(e.limit))}return t.push(`-e`,shellQuote(e.pattern),shellQuote(e.path)),t.join(` `)}function processGrepOutput(e){let t=e.stdout.split(`
3
3
  `),n=[],r=`
4
4
 
5
5
  [Output truncated. Narrow path or glob, or lower context.]`,i=MAX_GREP_RETURN_BYTES-Buffer.byteLength(r),a=0,o=0,s=0,c=e.commandTruncated===!0,appendLine=e=>{let t=Buffer.byteLength(e)+(n.length===0?0:1);return a+t>i?!1:(n.push(e),a+=t,!0)};for(let r=0;r<t.length;r+=1){let i=t[r]??``;if(i.length===0&&r===t.length-1)continue;if(i===`--`){if(n.length>0&&!appendLine(i)){c=!0;break}continue}let a=i,l=e.outputMode!==`content`;if(e.outputMode===`content`){let e=normalizeContentLine(i);a=e.line,l=e.isMatch}let u=0;if(e.outputMode===`count`&&(u=parseCountLine(a),u===0))continue;if(s>=e.limit){c=!0;break}let d=truncateUtf8(a,MAX_GREP_LINE_BYTES);if(d.truncated&&(c=!0),!appendLine(d.value)){c=!0;break}s+=1,e.outputMode===`count`?o+=u:l&&(o+=1)}if(n.length===0)return{content:c?`[Output truncated. Narrow path or glob, or lower context.]`:`No matches found`,matchCount:0,outputMode:e.outputMode,path:e.path,truncated:c};let l=n.join(`
6
- `);return c&&(l+=r),{content:l,matchCount:o,outputMode:e.outputMode,path:e.path,truncated:c}}function normalizeContentLine(e){let t=e.lastIndexOf(`\0`);if(t===-1)return{isMatch:!1,line:e};let n=e.slice(0,t),r=e.slice(t+1),i=/^(\d+)([:-])(.*)$/u.exec(r);if(i===null)return{isMatch:!1,line:`${n}:${r}`};let[,a,o,s]=i;return{isMatch:o===`:`,line:`${n}${o}${a}${o}${s}`}}function parseCountLine(e){let t=e.lastIndexOf(`:`);if(t===-1)return 0;let n=Number(e.slice(t+1));return Number.isFinite(n)&&n>0?n:0}function truncateUtf8(e,t){if(Buffer.byteLength(e)<=t)return{truncated:!1,value:e};let n=0,r=``;for(let i of e){let e=Buffer.byteLength(i);if(n+e>t)break;r+=i,n+=e}return{truncated:!0,value:r}}export{DEFAULT_GREP_LIMIT,GREP_OUTPUT_MODES,MAX_GREP_COMMAND_BYTES,MAX_GREP_LIMIT,MAX_GREP_LINE_BYTES,MAX_GREP_RETURN_BYTES,assertWorkspacePath,buildPosixGrepCommand,buildRipgrepCommand,buildSearchCommand,effectiveLimit,effectiveOutputMode,executeGrepSearch,processGrepOutput,shouldUseFixedStrings};
6
+ `);return c&&(l+=r),{content:l,matchCount:o,outputMode:e.outputMode,path:e.path,truncated:c}}function normalizeContentLine(e){let t=e.lastIndexOf(`\0`);if(t===-1)return{isMatch:!1,line:e};let n=e.slice(0,t),r=e.slice(t+1),i=/^(\d+)([:-])(.*)$/u.exec(r);if(i===null)return{isMatch:!1,line:`${n}:${r}`};let[,a,o,s]=i;return{isMatch:o===`:`,line:`${n}${o}${a}${o}${s}`}}function parseCountLine(e){let t=e.lastIndexOf(`:`);if(t===-1)return 0;let n=Number(e.slice(t+1));return Number.isFinite(n)&&n>0?n:0}function truncateUtf8(e,t){if(Buffer.byteLength(e)<=t)return{truncated:!1,value:e};let n=0,r=``;for(let i of e){let e=Buffer.byteLength(i);if(n+e>t)break;r+=i,n+=e}return{truncated:!0,value:r}}export{GREP_OUTPUT_MODES,MAX_GREP_COMMAND_BYTES,MAX_GREP_LIMIT,MAX_GREP_LINE_BYTES,MAX_GREP_RETURN_BYTES,assertWorkspacePath,buildPosixGrepCommand,buildRipgrepCommand,buildSearchCommand,effectiveLimit,effectiveOutputMode,executeGrepSearch,processGrepOutput,shouldUseFixedStrings};
@@ -8,7 +8,7 @@ export interface SandboxLike {
8
8
  stderr: string;
9
9
  }>;
10
10
  }
11
- export interface RepoGuidelines {
11
+ interface RepoGuidelines {
12
12
  /** Repo-relative path of the root guideline file, or null when absent. */
13
13
  rootPath: string | null;
14
14
  /** Root guideline content (capped at {@link MAX_GUIDELINE_BYTES}). */
@@ -23,3 +23,4 @@ export interface RepoGuidelines {
23
23
  * AGENTS.md beats CLAUDE.md (CLAUDE.md is often just a pointer at it).
24
24
  */
25
25
  export declare function discoverGuidelines(sandbox: SandboxLike, dir: string): Promise<RepoGuidelines>;
26
+ export {};
@@ -1,5 +1,5 @@
1
1
  import type { SandboxSession } from "eve/sandbox";
2
- export type PatchHunk = {
2
+ type PatchHunk = {
3
3
  readonly type: "add";
4
4
  readonly path: string;
5
5
  readonly contents: string;
@@ -12,7 +12,7 @@ export type PatchHunk = {
12
12
  readonly movePath?: string;
13
13
  readonly chunks: readonly UpdateChunk[];
14
14
  };
15
- export interface UpdateChunk {
15
+ interface UpdateChunk {
16
16
  readonly oldLines: readonly string[];
17
17
  readonly newLines: readonly string[];
18
18
  readonly changeContext?: string;
@@ -33,3 +33,4 @@ export declare function applyPatchToSandbox(input: {
33
33
  }): Promise<AppliedPatchFile[]>;
34
34
  export declare function parsePatch(patchText: string): readonly PatchHunk[];
35
35
  export declare function deriveUpdatedContent(path: string, chunks: readonly UpdateChunk[], original: string): string;
36
+ export {};
@@ -1,5 +1,4 @@
1
1
  import { z } from "zod";
2
- export declare const RepoSchema: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
3
2
  export declare const PullRequestWatchInputSchema: z.ZodObject<{
4
3
  repo: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
5
4
  pullRequestNumber: z.ZodNumber;
@@ -41,7 +40,7 @@ export interface PullRequestWatchSnapshot {
41
40
  readonly state: "open" | "closed" | "merged";
42
41
  readonly url: string;
43
42
  }
44
- export interface PullRequestWatchNotificationState {
43
+ interface PullRequestWatchNotificationState {
45
44
  readonly previousSnapshot: PullRequestWatchSnapshot | null;
46
45
  readonly redHeadPolls: number;
47
46
  readonly redHeadWakeSent: boolean;
@@ -1 +1 @@
1
- import extension_default from"../extension.js";import{deleteTokenCacheEntry,getToken}from"../../../../node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/token.js";import"../../../../node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/index.js";import{z}from"#compiled/zod/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. Otherwise, finish by replying with exactly <eve-empty-delivery/> and no other text. 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,RepoSchema,advancePullRequestWatchNotification,framePullRequestWatchWake,initialPullRequestWatchNotificationState,isRetryablePullRequestWatchError,pullRequestWatchSnapshot,readPullRequestWatchSnapshot,repoFullName,shouldRefreshPullRequestWatchToken};
1
+ import extension_default from"../extension.js";import{deleteTokenCacheEntry,getToken}from"../../../../node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/token.js";import"../../../../node_modules/.pnpm/@vercel_connect@2.3.3_@ai-sdk_mcp@2.0.52_zod@4.5.4__@auth_core@0.41.2_@chat-adapter_sla_a37674779346d612fa7d2ca9bd316494/node_modules/@vercel/connect/dist/index.js";import{z}from"#compiled/zod/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. Otherwise, finish by replying with exactly <eve-empty-delivery/> and no other text. 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};
@@ -5,7 +5,7 @@ export interface PrwatchTarget {
5
5
  export interface PrwatchRegistration extends PrwatchTarget {
6
6
  readonly callId: string;
7
7
  }
8
- export interface PrwatchRecord {
8
+ interface PrwatchRecord {
9
9
  readonly callId: string;
10
10
  readonly cancelled: boolean;
11
11
  }
@@ -25,3 +25,4 @@ export declare function registerActivePrwatch(input: PrwatchRegistration): Promi
25
25
  export declare function prwatchWasCancelled(input: PrwatchRegistration): Promise<boolean>;
26
26
  export declare function finishPrwatch(input: PrwatchRegistration): Promise<void>;
27
27
  export declare function deletePrwatch(input: PrwatchTarget): Promise<boolean>;
28
+ export {};
@@ -2,11 +2,12 @@
2
2
  import type { SandboxSession } from "eve/sandbox";
3
3
  type ToolingSandbox = Pick<SandboxSession, "resolvePath" | "run" | "writeTextFile">;
4
4
  /** Include in the consumer's sandbox `revalidationKey` so cached templates rebuild when the tooling changes. */
5
- export declare const CODE_TOOLING_REVALIDATION_KEY = "eve-code-tooling:3:2:6.0.3";
5
+ export declare const CODE_TOOLING_REVALIDATION_KEY = "eve-code-tooling:3:3:6.0.3";
6
6
  /** Install CLI wrappers, signed commits, and TypeScript diagnostics. */
7
7
  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
- export { COMPUTER_USE_REVALIDATION_KEY, installComputerUse, startComputerUse, } from "./computer-use-sandbox.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";
12
13
  export { executeGitHubShell, githubShellApproval, type GitHubLeaseRule, type GitHubShellInput, type GitHubShellOutput, } from "./github-shell.ts";
@@ -1,2 +1,2 @@
1
- import{GH_SIGNED_COMMIT_SOURCE}from"./signed-commit.js";import{DIAGNOSTICS_WORKER_SOURCE,TYPESCRIPT_VERSION,ghWrapperSource,toolingPaths,typescriptInstallCommand,vercelWrapperSource}from"./tooling.js";import{authenticateGitHub,authenticateVercel}from"./credentials.js";import{commandFailureDetail}from"./command-failure.js";import{COMPUTER_USE_REVALIDATION_KEY,installComputerUse,startComputerUse}from"./computer-use-sandbox.js";import{executeGitHubShell,githubShellApproval}from"./github-shell.js";const CODE_TOOLING_REVALIDATION_KEY=`eve-code-tooling:3:2:${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(`
1
+ import{GH_SIGNED_COMMIT_SOURCE}from"./signed-commit.js";import{DIAGNOSTICS_WORKER_SOURCE,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"./github-shell.js";import{COMPUTER_USE_REVALIDATION_KEY,installComputerUse,startComputerUse}from"eve/computer-use/sandbox";const CODE_TOOLING_REVALIDATION_KEY=`eve-code-tooling:3:3:${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
2
  `)}export{CODE_TOOLING_REVALIDATION_KEY,COMPUTER_USE_REVALIDATION_KEY,authenticateGitHub,authenticateVercel,executeGitHubShell,githubShellApproval,installCodeTooling,installComputerUse,startComputerUse};
@@ -1,2 +1,2 @@
1
- export declare const GH_SIGNED_COMMIT_VERSION = "2";
1
+ export declare const GH_SIGNED_COMMIT_VERSION = "3";
2
2
  export declare const GH_SIGNED_COMMIT_SOURCE: string;
@@ -1,4 +1,4 @@
1
- const GH_SIGNED_COMMIT_VERSION=`2`,GH_SIGNED_COMMIT_SOURCE=String.raw`#!/usr/bin/env node
1
+ const GH_SIGNED_COMMIT_VERSION=`3`,GH_SIGNED_COMMIT_SOURCE=String.raw`#!/usr/bin/env node
2
2
  const { execFileSync } = require("node:child_process");
3
3
 
4
4
  const args = process.argv.slice(2);
@@ -120,7 +120,7 @@ async function request(method, path, body) {
120
120
  }
121
121
 
122
122
  function git(...values) {
123
- return execFileSync("git", values, { stdio: ["ignore", "pipe", "inherit"] });
123
+ return execFileSync("git", values, { stdio: ["ignore", "pipe", "inherit"], maxBuffer: Infinity });
124
124
  }
125
125
 
126
126
  function fail(message) {
@@ -1,4 +1,5 @@
1
1
  export { default as apply_patch } from "./extension/tools/apply_patch.ts";
2
- export { default as computer_use } from "./extension/tools/computer_use.ts";
2
+ /** @deprecated Import from `eve/computer-use/tools` and mount `eve/computer-use`. */
3
+ export { computer_use } from "../../computer-use/tools.ts";
3
4
  export { default as gh } from "./extension/tools/gh.ts";
4
5
  export { default as grep } from "./extension/tools/grep.ts";
@@ -1 +1 @@
1
- import grep_default from"./extension/tools/grep.js";import apply_patch_default from"./extension/tools/apply_patch.js";import computer_use_default from"./extension/tools/computer_use.js";import gh_default from"./extension/tools/gh.js";export{apply_patch_default as apply_patch,computer_use_default as computer_use,gh_default as gh,grep_default as grep};
1
+ import computer_use_default from"../../computer-use/extension/tools/computer_use.js";import"../../computer-use/tools.js";import grep_default from"./extension/tools/grep.js";import apply_patch_default from"./extension/tools/apply_patch.js";import gh_default from"./extension/tools/gh.js";export{apply_patch_default as apply_patch,computer_use_default as computer_use,gh_default as gh,grep_default as grep};
@@ -1,8 +1,9 @@
1
- export type HostHttpMethod = "ALL" | "GET" | "POST";
2
- export interface HostHttpRegistration {
1
+ type HostHttpMethod = "ALL" | "GET" | "POST";
2
+ interface HostHttpRegistration {
3
3
  readonly capability: "workflow" | "development" | "schedule";
4
4
  readonly method: HostHttpMethod;
5
5
  readonly path: string;
6
6
  readonly reservationOnly?: boolean;
7
7
  }
8
8
  export declare const HOST_HTTP_INVENTORY: readonly HostHttpRegistration[];
9
+ export {};
@@ -1,8 +1,8 @@
1
1
  import type { SessionAuthContext } from "#channel/types.js";
2
2
  import type { AuthorizationChallenge } from "#harness/authorization.js";
3
3
  import type { SessionStateMap } from "#harness/types.js";
4
- export type ApprovalCandidateStatus = "pending" | "authorization-required" | "allowed" | "rejected" | "failed" | "timed-out" | "stale";
5
- export interface ApprovalCandidateAuditRecord {
4
+ type ApprovalCandidateStatus = "pending" | "authorization-required" | "allowed" | "rejected" | "failed" | "timed-out" | "stale";
5
+ interface ApprovalCandidateAuditRecord {
6
6
  readonly candidateId: string;
7
7
  readonly requestId: string;
8
8
  readonly responder: ApprovalResponderIdentity;
@@ -37,7 +37,7 @@ export interface ActiveApprovalCandidate {
37
37
  readonly authorizationChallenges?: readonly AuthorizationChallenge[];
38
38
  readonly pendingEventEmitted?: boolean;
39
39
  }
40
- export interface ApprovalStateTransition {
40
+ interface ApprovalStateTransition {
41
41
  readonly changed: boolean;
42
42
  readonly state: SessionStateMap | undefined;
43
43
  }
@@ -107,3 +107,4 @@ export declare function getApprovalAuditState(state: SessionStateMap | undefined
107
107
  readonly candidateHistory: readonly ApprovalCandidateAuditRecord[];
108
108
  readonly settlements: readonly ApprovalSettlementAuditRecord[];
109
109
  };
110
+ export {};
@@ -1,7 +1,7 @@
1
1
  import { type AuthorizationChallenge } from "#harness/authorization.js";
2
2
  import type { HarnessSession, HarnessToolMap, StepInput } from "#harness/types.js";
3
3
  import type { InputRequest } from "#shared/input.js";
4
- export interface ApprovalDeliveryResult {
4
+ interface ApprovalDeliveryResult {
5
5
  readonly challenges: readonly AuthorizationChallenge[];
6
6
  readonly feedback: readonly string[];
7
7
  readonly kind: "continue" | "continue-coordination" | "authorization-required" | "responses-completed" | "park";
@@ -33,3 +33,4 @@ export declare function coordinateApprovalDelivery(input: {
33
33
  readonly tools: HarnessToolMap;
34
34
  readonly prepareTools?: (request: InputRequest) => Promise<HarnessToolMap>;
35
35
  }): Promise<ApprovalDeliveryResult>;
36
+ export {};
@@ -2,7 +2,7 @@ import type { ModelMessage } from "ai";
2
2
  export declare const COMPACTION_CHECKPOINT_MARKER = "Summary of our conversation so far:";
3
3
  /** Synthetic resumption prompt used when no real user message can be replayed. */
4
4
  export declare const COMPACTION_RESUMPTION_MESSAGE = "Continue.";
5
- export interface CompactionPrompt {
5
+ interface CompactionPrompt {
6
6
  readonly prompt: string;
7
7
  readonly system: string;
8
8
  }
@@ -34,3 +34,4 @@ export declare const TRANSCRIPT_PAYLOAD_LIMIT = 2000;
34
34
  */
35
35
  export declare function stubContentOutputFileParts(output: unknown): unknown;
36
36
  export declare function sliceUtf16Safe(value: string, limit: number): string;
37
+ export {};
@@ -39,10 +39,6 @@ interface ResolvePendingCoordinationResult {
39
39
  }
40
40
  /** Returns the pending coordination batch stored on the session, if any. */
41
41
  export declare function getPendingCoordinationBatch(state: SessionStateMap | undefined): PendingCoordinationBatch | undefined;
42
- /**
43
- * Returns true when the session is parked on pending task/control coordination.
44
- */
45
- export declare function hasPendingCoordinationBatch(state: SessionStateMap | undefined): boolean;
46
42
  export declare function clearPendingCoordinationBatch(session: HarnessSession): HarnessSession;
47
43
  /**
48
44
  * Stores one pending coordination batch on the session.
@@ -1 +1 @@
1
- import{parseJsonObject}from"#shared/json.js";import{createActionResultEvent}from"#protocol/message.js";import{findBlockingWorkflowToolRun,removeBlockingWorkflowToolRuns}from"#harness/workflow-tool-runs.js";import{clearProxyInputRequestsForChild,clearProxyInputRequestsWhere}from"#harness/proxy-input-requests.js";import{findRunningAgentHandle,isResultBoundToRunningHandle}from"#subagents/handles/query.js";import{accumulateSessionUsage,getTurnUsageState,setTurnUsageState}from"#harness/turn-tag-state.js";import{resolveRuntimeActionResultsForCallIds}from"#runtime/actions/results.js";import{settleAgentTurn}from"#subagents/handles/transitions.js";import{markRuntimeWorkflowToolAction}from"#shared/action-types.js";import{normalizeToolModelOutput}from"#harness/tool-model-output.js";const PENDING_COORDINATION_BATCH_KEY=`eve.runtime.pendingCoordinationBatch`;function readSubagentResultOutcome(e){return e.origin===`child`?e.outcome:void 0}function getPendingCoordinationBatch(e){let t=e?.[PENDING_COORDINATION_BATCH_KEY];if(typeof t!=`object`||!t)return;let n=t;if(Array.isArray(n.runtimeActions)&&Array.isArray(n.tasks)&&Array.isArray(n.responseMessages)&&typeof n.event==`object`&&n.event!==null)return n}function hasPendingCoordinationBatch(e){return getPendingCoordinationBatch(e)!==void 0}function clearPendingCoordinationBatch(e){if(e.state?.[PENDING_COORDINATION_BATCH_KEY]===void 0)return e;let t={...e.state};return delete t[PENDING_COORDINATION_BATCH_KEY],{...e,state:Object.keys(t).length>0?t:void 0}}function setPendingCoordinationBatch(e){assertUniqueCoordinationCallIds([...e.runtimeActions,...e.tasks]);let t={...e.session.state};return t[PENDING_COORDINATION_BATCH_KEY]={runtimeActions:[...e.runtimeActions],tasks:[...e.tasks],event:e.event,localFanoutSize:e.localFanoutSize,responseMessages:[...e.responseMessages]},{...e.session,state:t}}function assertUniqueCoordinationCallIds(e){let t=new Set;for(let n of e){if(t.has(n.callId))throw Error(`Coordination batch contains duplicate callId "${n.callId}".`);t.add(n.callId)}}function resolveReadyCoordinationResults(e){let t=getPendingCoordinationBatch(e.session.state);if(t!==void 0)return resolveResultsForCoordinationBatch({batch:t,results:e.results,state:e.session.state})}function resolveResultsForCoordinationBatch(e){return resolveRuntimeActionResultsForCallIds({pendingCallIds:[...e.batch.runtimeActions,...e.batch.tasks].map(e=>e.callId),results:e.results.filter(t=>isResultBoundToRunningHandle(e.state,t))})}async function resolvePendingCoordination(e){let t=getPendingCoordinationBatch(e.session.state);if(t===void 0)return{messages:[...e.session.history],outcome:`continue`,session:e.session};let n=resolveReadyCoordinationResults({results:e.stepInput?.runtimeActionResults??[],session:e.session});if(n===void 0)return{messages:[...e.session.history],outcome:`unresolved`,session:e.session};let r=e.session;for(let e of n){if(e.kind!==`subagent-result`||e.origin!==`child`||readBackgroundTaskReceipt(e)!==void 0)continue;let t=findRunningAgentHandle(r.state,{callId:e.callId});if(t===void 0)continue;let n=readSubagentResultOutcome(e);if(n===void 0)continue;n.kind===`terminal`&&`continuationToken`in t.address&&(r=clearProxyInputRequestsForChild(r,t.address.continuationToken));let i=settleAgentTurn(r,{operationId:t.operation.id,outcome:n});i.kind===`settled`&&(r=i.session)}for(let e of n){if(e.kind!==`tool-result`)continue;let n=findBlockingWorkflowToolRun(r.state,e.callId,t.event.turnId);n!==void 0&&(r=removeBlockingWorkflowToolRuns(clearProxyInputRequestsWhere(r,e=>e.answerHook?.runId===n.address.runId),t.event.turnId,n.callId))}let i={...r.state};delete i[PENDING_COORDINATION_BATCH_KEY],r={...r,state:Object.keys(i).length>0?i:void 0};for(let e of n){if(e.kind!==`subagent-result`)continue;let t=readSubagentResultOutcome(e);t!==void 0&&(r=setTurnUsageState(r,accumulateSessionUsage({previous:getTurnUsageState(r.state),usage:t.usageDelta})))}if(e.emit!==void 0)for(let r of n){if(r.kind===`subagent-result`&&r.origin===`child`&&r.outcome.result.kind===`succeeded`&&readBackgroundTaskReceipt(r)===void 0){let t={callId:r.callId,output:typeof r.output==`string`?r.output:JSON.stringify(r.output),subagentName:r.subagentName};await e.emit({data:t,type:`subagent.completed`})}await e.emit(createActionResultEvent({result:r,sequence:t.event.sequence,stepIndex:t.event.stepIndex,turnId:t.event.turnId}))}let a=[];for(let t of n){switch(t.kind){case`load-skill-result`:a.push({output:toToolResultOutput(t),toolCallId:t.callId,toolName:`load_skill`,type:`tool-result`});continue;case`subagent-result`:a.push({output:toToolResultOutput(t),toolCallId:t.callId,toolName:t.subagentName,type:`tool-result`});continue;case`tool-result`:a.push({output:await projectToolResultOutput(t,e.tools?.get(t.toolName)),toolCallId:t.callId,toolName:t.toolName,type:`tool-result`});continue}throw Error(`Unsupported runtime action result kind "${String(t)}".`)}let o=[...r.history,...t.responseMessages];return a.length>0&&o.push({content:a,role:`tool`}),{messages:o,outcome:`resolved`,session:r}}function readBackgroundTaskReceipt(e){return`backgroundTask`in e?e.backgroundTask:void 0}function createRuntimeActionRequestFromToolCall(e){let t=e.tools.get(e.toolCall.toolName),n=resolveToolCallInputObject(e.toolCall.input,{callId:e.toolCall.toolCallId,toolName:e.toolCall.toolName});if(t?.frameworkAction===`load-skill`)return{callId:e.toolCall.toolCallId,input:n,kind:`load-skill`};let r={callId:e.toolCall.toolCallId,input:n,kind:`tool-call`,toolName:e.toolCall.toolName};return t?.workflowId===void 0?r:markRuntimeWorkflowToolAction(r)}function createCoordinationRequestFromToolCall(e){let t=e.tools.get(e.toolCall.toolName),n=resolveToolCallInputObject(e.toolCall.input,{callId:e.toolCall.toolCallId,toolName:e.toolCall.toolName});if(t?.runtimeAction?.kind===`task-control`)return{kind:`runtime-action`,request:{callId:e.toolCall.toolCallId,input:n,kind:`tool-call`,toolName:e.toolCall.toolName}};if(t?.workflowId!==void 0)return{kind:`task`,request:{callId:e.toolCall.toolCallId,executeInput:t.executeInput?.(n),input:n,kind:`workflow-task`,toolName:e.toolCall.toolName,workflowId:t.workflowId}};throw Error(`Deferred tool "${e.toolCall.toolName}" has no task or runtime action.`)}function resolveToolCallInputObject(e,t){if(e==null||typeof e==`string`&&e.trim()===``)return{};try{return parseJsonObject(typeof e==`string`?parseJsonStringInput(e):e)}catch(e){let n=e instanceof Error?e.message:String(e);throw TypeError(`Failed to parse tool-call arguments for "${t.toolName}" (${t.callId}): ${n}`,{cause:e})}}function parseJsonStringInput(e){return JSON.parse(e)}async function projectToolResultOutput(e,t){return e.isError===!0||t?.toModelOutput===void 0?toToolResultOutput(e):normalizeToolModelOutput({output:await t.toModelOutput(e.output),toolCallId:e.callId,toolName:e.toolName})}function toToolResultOutput(e){return typeof e.output==`string`?e.isError===!0?{type:`error-text`,value:e.output}:{type:`text`,value:e.output}:e.isError===!0?{type:`error-json`,value:toMutableJsonValue(e.output)}:{type:`json`,value:toMutableJsonValue(e.output)}}function toMutableJsonValue(e){if(e===null||typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e;if(Array.isArray(e))return e.map(e=>toMutableJsonValue(e));let t={};for(let[n,r]of Object.entries(e))t[n]=toMutableJsonValue(r);return t}export{assertUniqueCoordinationCallIds,clearPendingCoordinationBatch,createCoordinationRequestFromToolCall,createRuntimeActionRequestFromToolCall,getPendingCoordinationBatch,hasPendingCoordinationBatch,resolvePendingCoordination,resolveToolCallInputObject,setPendingCoordinationBatch};
1
+ import{parseJsonObject}from"#shared/json.js";import{createActionResultEvent}from"#protocol/message.js";import{findBlockingWorkflowToolRun,removeBlockingWorkflowToolRuns}from"#harness/workflow-tool-runs.js";import{clearProxyInputRequestsForChild,clearProxyInputRequestsWhere}from"#harness/proxy-input-requests.js";import{findRunningAgentHandle,isResultBoundToRunningHandle}from"#subagents/handles/query.js";import{accumulateSessionUsage,getTurnUsageState,setTurnUsageState}from"#harness/turn-tag-state.js";import{resolveRuntimeActionResultsForCallIds}from"#runtime/actions/results.js";import{settleAgentTurn}from"#subagents/handles/transitions.js";import{markRuntimeWorkflowToolAction}from"#shared/action-types.js";import{normalizeToolModelOutput}from"#harness/tool-model-output.js";const PENDING_COORDINATION_BATCH_KEY=`eve.runtime.pendingCoordinationBatch`;function readSubagentResultOutcome(e){return e.origin===`child`?e.outcome:void 0}function getPendingCoordinationBatch(e){let t=e?.[PENDING_COORDINATION_BATCH_KEY];if(typeof t!=`object`||!t)return;let n=t;if(Array.isArray(n.runtimeActions)&&Array.isArray(n.tasks)&&Array.isArray(n.responseMessages)&&typeof n.event==`object`&&n.event!==null)return n}function clearPendingCoordinationBatch(e){if(e.state?.[PENDING_COORDINATION_BATCH_KEY]===void 0)return e;let t={...e.state};return delete t[PENDING_COORDINATION_BATCH_KEY],{...e,state:Object.keys(t).length>0?t:void 0}}function setPendingCoordinationBatch(e){assertUniqueCoordinationCallIds([...e.runtimeActions,...e.tasks]);let t={...e.session.state};return t[PENDING_COORDINATION_BATCH_KEY]={runtimeActions:[...e.runtimeActions],tasks:[...e.tasks],event:e.event,localFanoutSize:e.localFanoutSize,responseMessages:[...e.responseMessages]},{...e.session,state:t}}function assertUniqueCoordinationCallIds(e){let t=new Set;for(let n of e){if(t.has(n.callId))throw Error(`Coordination batch contains duplicate callId "${n.callId}".`);t.add(n.callId)}}function resolveReadyCoordinationResults(e){let t=getPendingCoordinationBatch(e.session.state);if(t!==void 0)return resolveResultsForCoordinationBatch({batch:t,results:e.results,state:e.session.state})}function resolveResultsForCoordinationBatch(e){return resolveRuntimeActionResultsForCallIds({pendingCallIds:[...e.batch.runtimeActions,...e.batch.tasks].map(e=>e.callId),results:e.results.filter(t=>isResultBoundToRunningHandle(e.state,t))})}async function resolvePendingCoordination(e){let t=getPendingCoordinationBatch(e.session.state);if(t===void 0)return{messages:[...e.session.history],outcome:`continue`,session:e.session};let n=resolveReadyCoordinationResults({results:e.stepInput?.runtimeActionResults??[],session:e.session});if(n===void 0)return{messages:[...e.session.history],outcome:`unresolved`,session:e.session};let r=e.session;for(let e of n){if(e.kind!==`subagent-result`||e.origin!==`child`||readBackgroundTaskReceipt(e)!==void 0)continue;let t=findRunningAgentHandle(r.state,{callId:e.callId});if(t===void 0)continue;let n=readSubagentResultOutcome(e);if(n===void 0)continue;n.kind===`terminal`&&`continuationToken`in t.address&&(r=clearProxyInputRequestsForChild(r,t.address.continuationToken));let i=settleAgentTurn(r,{operationId:t.operation.id,outcome:n});i.kind===`settled`&&(r=i.session)}for(let e of n){if(e.kind!==`tool-result`)continue;let n=findBlockingWorkflowToolRun(r.state,e.callId,t.event.turnId);n!==void 0&&(r=removeBlockingWorkflowToolRuns(clearProxyInputRequestsWhere(r,e=>e.answerHook?.runId===n.address.runId),t.event.turnId,n.callId))}let i={...r.state};delete i[PENDING_COORDINATION_BATCH_KEY],r={...r,state:Object.keys(i).length>0?i:void 0};for(let e of n){if(e.kind!==`subagent-result`)continue;let t=readSubagentResultOutcome(e);t!==void 0&&(r=setTurnUsageState(r,accumulateSessionUsage({previous:getTurnUsageState(r.state),usage:t.usageDelta})))}if(e.emit!==void 0)for(let r of n){if(r.kind===`subagent-result`&&r.origin===`child`&&r.outcome.result.kind===`succeeded`&&readBackgroundTaskReceipt(r)===void 0){let t={callId:r.callId,output:typeof r.output==`string`?r.output:JSON.stringify(r.output),subagentName:r.subagentName};await e.emit({data:t,type:`subagent.completed`})}await e.emit(createActionResultEvent({result:r,sequence:t.event.sequence,stepIndex:t.event.stepIndex,turnId:t.event.turnId}))}let a=[];for(let t of n){switch(t.kind){case`load-skill-result`:a.push({output:toToolResultOutput(t),toolCallId:t.callId,toolName:`load_skill`,type:`tool-result`});continue;case`subagent-result`:a.push({output:toToolResultOutput(t),toolCallId:t.callId,toolName:t.subagentName,type:`tool-result`});continue;case`tool-result`:a.push({output:await projectToolResultOutput(t,e.tools?.get(t.toolName)),toolCallId:t.callId,toolName:t.toolName,type:`tool-result`});continue}throw Error(`Unsupported runtime action result kind "${String(t)}".`)}let o=[...r.history,...t.responseMessages];return a.length>0&&o.push({content:a,role:`tool`}),{messages:o,outcome:`resolved`,session:r}}function readBackgroundTaskReceipt(e){return`backgroundTask`in e?e.backgroundTask:void 0}function createRuntimeActionRequestFromToolCall(e){let t=e.tools.get(e.toolCall.toolName),n=resolveToolCallInputObject(e.toolCall.input,{callId:e.toolCall.toolCallId,toolName:e.toolCall.toolName});if(t?.frameworkAction===`load-skill`)return{callId:e.toolCall.toolCallId,input:n,kind:`load-skill`};let r={callId:e.toolCall.toolCallId,input:n,kind:`tool-call`,toolName:e.toolCall.toolName};return t?.workflowId===void 0?r:markRuntimeWorkflowToolAction(r)}function createCoordinationRequestFromToolCall(e){let t=e.tools.get(e.toolCall.toolName),n=resolveToolCallInputObject(e.toolCall.input,{callId:e.toolCall.toolCallId,toolName:e.toolCall.toolName});if(t?.runtimeAction?.kind===`task-control`)return{kind:`runtime-action`,request:{callId:e.toolCall.toolCallId,input:n,kind:`tool-call`,toolName:e.toolCall.toolName}};if(t?.workflowId!==void 0)return{kind:`task`,request:{callId:e.toolCall.toolCallId,executeInput:t.executeInput?.(n),input:n,kind:`workflow-task`,toolName:e.toolCall.toolName,workflowId:t.workflowId}};throw Error(`Deferred tool "${e.toolCall.toolName}" has no task or runtime action.`)}function resolveToolCallInputObject(e,t){if(e==null||typeof e==`string`&&e.trim()===``)return{};try{return parseJsonObject(typeof e==`string`?parseJsonStringInput(e):e)}catch(e){let n=e instanceof Error?e.message:String(e);throw TypeError(`Failed to parse tool-call arguments for "${t.toolName}" (${t.callId}): ${n}`,{cause:e})}}function parseJsonStringInput(e){return JSON.parse(e)}async function projectToolResultOutput(e,t){return e.isError===!0||t?.toModelOutput===void 0?toToolResultOutput(e):normalizeToolModelOutput({output:await t.toModelOutput(e.output),toolCallId:e.callId,toolName:e.toolName})}function toToolResultOutput(e){return typeof e.output==`string`?e.isError===!0?{type:`error-text`,value:e.output}:{type:`text`,value:e.output}:e.isError===!0?{type:`error-json`,value:toMutableJsonValue(e.output)}:{type:`json`,value:toMutableJsonValue(e.output)}}function toMutableJsonValue(e){if(e===null||typeof e==`string`||typeof e==`number`||typeof e==`boolean`)return e;if(Array.isArray(e))return e.map(e=>toMutableJsonValue(e));let t={};for(let[n,r]of Object.entries(e))t[n]=toMutableJsonValue(r);return t}export{assertUniqueCoordinationCallIds,clearPendingCoordinationBatch,createCoordinationRequestFromToolCall,createRuntimeActionRequestFromToolCall,getPendingCoordinationBatch,resolvePendingCoordination,resolveToolCallInputObject,setPendingCoordinationBatch};
@@ -1,5 +1,4 @@
1
1
  import type { ModelMessage } from "ai";
2
- import type { RuntimeToolCallActionRequest } from "#shared/action-types.js";
3
2
  import type { InputRequest } from "#shared/input.js";
4
3
  import { getApprovedTools } from "#harness/hitl/approval-input-requests.js";
5
4
  import type { RejectedActionBatch } from "#harness/hitl/approval-input-requests.js";
@@ -10,7 +9,7 @@ import type { HarnessSession, StepInput } from "#harness/types.js";
10
9
  export { getApprovedTools, clearPendingSessionLimitPrompt };
11
10
  export type { RejectedActionBatch };
12
11
  export type { ResolvedInputBatch } from "#harness/input-request-resolution.js";
13
- export { appendPendingInputBatch, consumeDeferredStepInput, getPendingInputRequestIds, hasDeferredStepInput, hasPendingInputBatch, } from "#harness/pending-input-batches.js";
12
+ export { appendPendingInputBatch, consumeDeferredStepInput, getPendingInputRequestIds, hasPendingInputBatch, } from "#harness/pending-input-batches.js";
14
13
  /** Returns true when the step input carries user-facing turn input. */
15
14
  export declare function hasStepInput(input?: StepInput): boolean;
16
15
  /** Stored partial answers are not runnable work until they can resolve a batch. */
@@ -34,11 +33,3 @@ export declare function resolvePendingInput(input: {
34
33
  readonly session: HarnessSession;
35
34
  readonly stepInput?: StepInput;
36
35
  }): ResolvePendingInputResult;
37
- /** Creates a runtime tool-call action shape from an AI SDK tool call. */
38
- export declare function createRuntimeToolCallActionFromToolCall(input: {
39
- readonly toolCall: {
40
- readonly input: unknown;
41
- readonly toolCallId: string;
42
- readonly toolName: string;
43
- };
44
- }): RuntimeToolCallActionRequest;
@@ -1 +1 @@
1
- import{readClientContext}from"#internal/client-context.js";import{resolveTextToResponses}from"#channel/resolve-text.js";import{appendPendingInputBatch,consumeDeferredStepInput,getDeferredStepInput,getPendingInputBatches,getPendingInputRequestIds,hasDeferredStepInput,hasPendingInputBatch,queueDeferredStepInput}from"#harness/pending-input-batches.js";import{resolveToolCallInputObject}from"#harness/coordination.js";import{isApprovalRequest}from"#harness/input-request-class.js";import{compactStepInput}from"#harness/hitl/pending-input-resolution.js";import{hasTailApprovalResponse}from"#harness/current-messages.js";import{findAnsweredApprovalBatches,getApprovedTools,resolveApprovalInputBatches}from"#harness/hitl/approval-input-requests.js";import{clearPendingSessionLimitPrompt,isSessionLimitInputBatch,resolveSessionLimitInput}from"#harness/hitl/session-limit-input-requests.js";function hasStepInput(e){return e===void 0?!1:e.message!==void 0||(e.inputResponses?.length??0)>0}function hasRunnableDeferredStepInput(e){let t=getDeferredStepInput(e);if(t===void 0)return!1;if(t.message!==void 0||(t.context?.length??0)>0||readClientContext(t)!==void 0||t.outputSchema!==void 0||(t.runtimeActionResults?.length??0)>0)return!0;let n=[...t.inputResponses??[],...(t.attributedInputResponses??[]).map(({response:e})=>e)];if(n.length===0)return!1;let r=getPendingInputBatches(e.state),i=routePendingInput(r);switch(i.kind){case`session-limit`:return i.batch.requests.every(e=>n.some(t=>t.requestId===e.requestId));case`approvals`:return findAnsweredApprovalBatches(r,n).length>0}}function selectApprovalReplayBatch(e,t){let n=getPendingInputBatches(e.state);if(n.some(isSessionLimitInputBatch))return;let r=canonicalizeInputResponses((n.length===1?resolveTextMessageInput(n[0],t):t)?.inputResponses??[]),i=findAnsweredApprovalBatches(n,r)[0];return i?.requests.some(e=>isApprovalRequest(e)&&r.some(t=>t.requestId===e.requestId&&t.optionId===`approve`))?i:void 0}function resolvePendingInput(e){let t=[...e.history??e.session.history],n=getPendingInputBatches(e.session.state);if(n.length===0)return{outcome:`continue`,messages:t,session:e.session};let r=routePendingInput(n),i=hasTailApprovalResponse(t),a=r.kind===`session-limit`?r.batch:n.length===1?n[0]:void 0,o=a===void 0?e.stepInput:resolveTextMessageInput(a,e.stepInput),s=canonicalizeInputResponses(o?.inputResponses??[]);if(e.internalStep===!0&&canContinuePastHistoricalInput({activeTurnId:e.activeTurnId,batches:n,responses:s,route:r})&&o?.message===void 0)return{outcome:`continue`,messages:t,session:o===void 0?e.session:queueDeferredStepInput(e.session,compactStepInput(o))};if(s.length===0&&o?.message===void 0){let n=compactStepInput(o);return{outcome:`unresolved`,messages:t,session:n.context!==void 0||readClientContext(n)!==void 0||n.outputSchema!==void 0?queueDeferredStepInput(e.session,n):e.session}}let c={baseHistory:t,batches:n,deferTurnInput:i,resolvedStepInput:o,responses:s,session:e.session};switch(r.kind){case`session-limit`:return resolveSessionLimitInput({...c,pendingBatch:r.batch});case`approvals`:return resolveApprovalInputBatches({...c,resolveApprovalKey:e.resolveApprovalKey})}}function canContinuePastHistoricalInput(e){return e.activeTurnId===void 0||e.route.kind===`session-limit`||e.responses.length>0&&findAnsweredApprovalBatches(e.batches,e.responses).length>0?!1:e.batches.every(t=>t.event!==void 0&&t.event.turnId!==e.activeTurnId)}function routePendingInput(e){let t=e.find(e=>isSessionLimitInputBatch(e));if(t!==void 0)return{batch:t,kind:`session-limit`};for(let t of e)for(let e of t.requests)if(!isApprovalRequest(e))throw TypeError(`Unhandled pending input request kind: ${e.kind}`);return{kind:`approvals`}}function canonicalizeInputResponses(e){let t=new Map;for(let n of e)t.set(n.requestId,n);return[...t.values()]}function resolveTextMessageInput(e,t){if(typeof t?.message!=`string`)return t;let n=new Set(e.requests.map(e=>e.requestId));if(t.inputResponses?.some(e=>n.has(e.requestId)))return t;let r=new Set(e.responseAuthRequiredRequestIds??[]),i=e.requests.filter(e=>!r.has(e.requestId)),a=resolveTextToResponses(t.message,i);return a.length===0?t:compactStepInput({...t,inputResponses:[...t.inputResponses??[],...a],messageConsumed:!0,message:void 0})}function createRuntimeToolCallActionFromToolCall(e){return{callId:e.toolCall.toolCallId,input:resolveToolCallInputObject(e.toolCall.input,{callId:e.toolCall.toolCallId,toolName:e.toolCall.toolName}),kind:`tool-call`,toolName:e.toolCall.toolName}}export{appendPendingInputBatch,clearPendingSessionLimitPrompt,consumeDeferredStepInput,createRuntimeToolCallActionFromToolCall,getApprovedTools,getPendingInputRequestIds,hasDeferredStepInput,hasPendingInputBatch,hasRunnableDeferredStepInput,hasStepInput,resolvePendingInput,selectApprovalReplayBatch};
1
+ import{readClientContext}from"#internal/client-context.js";import{resolveTextToResponses}from"#channel/resolve-text.js";import{appendPendingInputBatch,consumeDeferredStepInput,getDeferredStepInput,getPendingInputBatches,getPendingInputRequestIds,hasPendingInputBatch,queueDeferredStepInput}from"#harness/pending-input-batches.js";import{isApprovalRequest}from"#harness/input-request-class.js";import{compactStepInput}from"#harness/hitl/pending-input-resolution.js";import{hasTailApprovalResponse}from"#harness/current-messages.js";import{findAnsweredApprovalBatches,getApprovedTools,resolveApprovalInputBatches}from"#harness/hitl/approval-input-requests.js";import{clearPendingSessionLimitPrompt,isSessionLimitInputBatch,resolveSessionLimitInput}from"#harness/hitl/session-limit-input-requests.js";function hasStepInput(e){return e===void 0?!1:e.message!==void 0||(e.inputResponses?.length??0)>0}function hasRunnableDeferredStepInput(e){let t=getDeferredStepInput(e);if(t===void 0)return!1;if(t.message!==void 0||(t.context?.length??0)>0||readClientContext(t)!==void 0||t.outputSchema!==void 0||(t.runtimeActionResults?.length??0)>0)return!0;let n=[...t.inputResponses??[],...(t.attributedInputResponses??[]).map(({response:e})=>e)];if(n.length===0)return!1;let r=getPendingInputBatches(e.state),i=routePendingInput(r);switch(i.kind){case`session-limit`:return i.batch.requests.every(e=>n.some(t=>t.requestId===e.requestId));case`approvals`:return findAnsweredApprovalBatches(r,n).length>0}}function selectApprovalReplayBatch(e,t){let n=getPendingInputBatches(e.state);if(n.some(isSessionLimitInputBatch))return;let r=canonicalizeInputResponses((n.length===1?resolveTextMessageInput(n[0],t):t)?.inputResponses??[]),i=findAnsweredApprovalBatches(n,r)[0];return i?.requests.some(e=>isApprovalRequest(e)&&r.some(t=>t.requestId===e.requestId&&t.optionId===`approve`))?i:void 0}function resolvePendingInput(e){let t=[...e.history??e.session.history],n=getPendingInputBatches(e.session.state);if(n.length===0)return{outcome:`continue`,messages:t,session:e.session};let r=routePendingInput(n),i=hasTailApprovalResponse(t),a=r.kind===`session-limit`?r.batch:n.length===1?n[0]:void 0,o=a===void 0?e.stepInput:resolveTextMessageInput(a,e.stepInput),s=canonicalizeInputResponses(o?.inputResponses??[]);if(e.internalStep===!0&&canContinuePastHistoricalInput({activeTurnId:e.activeTurnId,batches:n,responses:s,route:r})&&o?.message===void 0)return{outcome:`continue`,messages:t,session:o===void 0?e.session:queueDeferredStepInput(e.session,compactStepInput(o))};if(s.length===0&&o?.message===void 0){let n=compactStepInput(o);return{outcome:`unresolved`,messages:t,session:n.context!==void 0||readClientContext(n)!==void 0||n.outputSchema!==void 0?queueDeferredStepInput(e.session,n):e.session}}let c={baseHistory:t,batches:n,deferTurnInput:i,resolvedStepInput:o,responses:s,session:e.session};switch(r.kind){case`session-limit`:return resolveSessionLimitInput({...c,pendingBatch:r.batch});case`approvals`:return resolveApprovalInputBatches({...c,resolveApprovalKey:e.resolveApprovalKey})}}function canContinuePastHistoricalInput(e){return e.activeTurnId===void 0||e.route.kind===`session-limit`||e.responses.length>0&&findAnsweredApprovalBatches(e.batches,e.responses).length>0?!1:e.batches.every(t=>t.event!==void 0&&t.event.turnId!==e.activeTurnId)}function routePendingInput(e){let t=e.find(e=>isSessionLimitInputBatch(e));if(t!==void 0)return{batch:t,kind:`session-limit`};for(let t of e)for(let e of t.requests)if(!isApprovalRequest(e))throw TypeError(`Unhandled pending input request kind: ${e.kind}`);return{kind:`approvals`}}function canonicalizeInputResponses(e){let t=new Map;for(let n of e)t.set(n.requestId,n);return[...t.values()]}function resolveTextMessageInput(e,t){if(typeof t?.message!=`string`)return t;let n=new Set(e.requests.map(e=>e.requestId));if(t.inputResponses?.some(e=>n.has(e.requestId)))return t;let r=new Set(e.responseAuthRequiredRequestIds??[]),i=e.requests.filter(e=>!r.has(e.requestId)),a=resolveTextToResponses(t.message,i);return a.length===0?t:compactStepInput({...t,inputResponses:[...t.inputResponses??[],...a],messageConsumed:!0,message:void 0})}export{appendPendingInputBatch,clearPendingSessionLimitPrompt,consumeDeferredStepInput,getApprovedTools,getPendingInputRequestIds,hasPendingInputBatch,hasRunnableDeferredStepInput,hasStepInput,resolvePendingInput,selectApprovalReplayBatch};
@@ -75,10 +75,5 @@ export declare function consumeDeferredStepInput(input: {
75
75
  readonly input?: StepInput;
76
76
  readonly session: HarnessSession;
77
77
  };
78
- /**
79
- * Returns true when the session carries queued follow-up input for the next
80
- * internal harness step.
81
- */
82
- export declare function hasDeferredStepInput(session: HarnessSession): boolean;
83
78
  export declare function getDeferredStepInput(session: HarnessSession): StepInput | undefined;
84
79
  export declare function queueDeferredStepInput(session: HarnessSession, input: StepInput): HarnessSession;
@@ -1 +1 @@
1
- import{contextStorage}from"#context/container.js";import{ActivityRootTurnIdKey}from"#context/keys.js";import{coalesceTurnInputs}from"#harness/messages.js";const PENDING_INPUT_BATCHES_KEY=`eve.runtime.pendingInputBatches`,LEGACY_PENDING_INPUT_BATCH_KEY=`eve.runtime.pendingInputBatch`,DEFERRED_STEP_INPUT_KEY=`eve.runtime.deferredStepInput`;function hasPendingInputBatch(e){return getPendingInputBatches(e).length>0}function getPendingInputRequestIds(e){return new Set(getPendingInputBatches(e).flatMap(e=>e.requests.map(e=>e.requestId)))}function coercePendingInputBatch(e){if(typeof e!=`object`||!e)return;let t=e;if(Array.isArray(t.requests)&&Array.isArray(t.responseMessages))return t}function getPendingInputBatches(e){let t=e?.[PENDING_INPUT_BATCHES_KEY];if(Array.isArray(t)){let e=t.map(e=>coercePendingInputBatch(e)).filter(e=>e!==void 0);return assertUniqueRequestIds(e),e}let n=coercePendingInputBatch(e?.[LEGACY_PENDING_INPUT_BATCH_KEY]),r=n===void 0?[]:[n];return assertUniqueRequestIds(r),r}function assertUniqueRequestIds(e){let t=new Set;for(let n of e)for(let e of n.requests){if(t.has(e.requestId))throw TypeError(`Internal pending input invariant violated: requestId must be unique across all pending batches: ${JSON.stringify(e.requestId)}.`);t.add(e.requestId)}}function removePendingInputBatches(e,t){let n=new Set(t);return setPendingInputBatches(e,getPendingInputBatches(e.state).filter(e=>!n.has(e)))}function setPendingInputBatches(e,t){assertUniqueRequestIds(t);let n={...e.state};return delete n[LEGACY_PENDING_INPUT_BATCH_KEY],t.length===0?delete n[PENDING_INPUT_BATCHES_KEY]:n[PENDING_INPUT_BATCHES_KEY]=t.map(e=>({event:e.event,activityRootTurnId:e.activityRootTurnId,responseAuthRequiredRequestIds:e.responseAuthRequiredRequestIds,toolReplayIdentities:e.toolReplayIdentities,requests:[...e.requests],responseMessages:[...e.responseMessages]})),{...e,state:Object.keys(n).length>0?n:void 0}}function appendPendingInputBatch(e){return setPendingInputBatches(e.session,[...getPendingInputBatches(e.session.state),{event:e.event,activityRootTurnId:e.activityRootTurnId??contextStorage.getStore()?.get(ActivityRootTurnIdKey),responseAuthRequiredRequestIds:e.responseAuthRequiredRequestIds,toolReplayIdentities:e.toolReplayIdentities,requests:e.requests,responseMessages:e.responseMessages}])}function activityRootTurnIdForInputResponses(e,t){return getPendingInputBatches(e).find(e=>e.requests.some(e=>t.has(e.requestId)))?.activityRootTurnId}function activityRequestIdsForRootTurn(e,t){return getPendingInputBatches(e).flatMap(e=>e.activityRootTurnId===t?e.requests.map(e=>e.requestId):[])}function consumeDeferredStepInput(e){let t=getDeferredStepInput(e.session);if(t===void 0)return e;let n=clearDeferredStepInput(e.session);return e.input===void 0?{input:t,session:n}:{input:coalesceTurnInputs(t,e.input),session:n}}function hasDeferredStepInput(e){return getDeferredStepInput(e)!==void 0}function getDeferredStepInput(e){return e.state?.[DEFERRED_STEP_INPUT_KEY]}function queueDeferredStepInput(e,t){let n=getDeferredStepInput(e),r=n===void 0?t:coalesceTurnInputs(n,t),i={...e.state};return i[DEFERRED_STEP_INPUT_KEY]=r,{...e,state:i}}function clearDeferredStepInput(e){if(e.state?.[DEFERRED_STEP_INPUT_KEY]===void 0)return e;let t={...e.state};return delete t[DEFERRED_STEP_INPUT_KEY],{...e,state:Object.keys(t).length>0?t:void 0}}export{activityRequestIdsForRootTurn,activityRootTurnIdForInputResponses,appendPendingInputBatch,consumeDeferredStepInput,getDeferredStepInput,getPendingInputBatches,getPendingInputRequestIds,hasDeferredStepInput,hasPendingInputBatch,queueDeferredStepInput,removePendingInputBatches};
1
+ import{contextStorage}from"#context/container.js";import{ActivityRootTurnIdKey}from"#context/keys.js";import{coalesceTurnInputs}from"#harness/messages.js";const PENDING_INPUT_BATCHES_KEY=`eve.runtime.pendingInputBatches`,LEGACY_PENDING_INPUT_BATCH_KEY=`eve.runtime.pendingInputBatch`,DEFERRED_STEP_INPUT_KEY=`eve.runtime.deferredStepInput`;function hasPendingInputBatch(e){return getPendingInputBatches(e).length>0}function getPendingInputRequestIds(e){return new Set(getPendingInputBatches(e).flatMap(e=>e.requests.map(e=>e.requestId)))}function coercePendingInputBatch(e){if(typeof e!=`object`||!e)return;let t=e;if(Array.isArray(t.requests)&&Array.isArray(t.responseMessages))return t}function getPendingInputBatches(e){let t=e?.[PENDING_INPUT_BATCHES_KEY];if(Array.isArray(t)){let e=t.map(e=>coercePendingInputBatch(e)).filter(e=>e!==void 0);return assertUniqueRequestIds(e),e}let n=coercePendingInputBatch(e?.[LEGACY_PENDING_INPUT_BATCH_KEY]),r=n===void 0?[]:[n];return assertUniqueRequestIds(r),r}function assertUniqueRequestIds(e){let t=new Set;for(let n of e)for(let e of n.requests){if(t.has(e.requestId))throw TypeError(`Internal pending input invariant violated: requestId must be unique across all pending batches: ${JSON.stringify(e.requestId)}.`);t.add(e.requestId)}}function removePendingInputBatches(e,t){let n=new Set(t);return setPendingInputBatches(e,getPendingInputBatches(e.state).filter(e=>!n.has(e)))}function setPendingInputBatches(e,t){assertUniqueRequestIds(t);let n={...e.state};return delete n[LEGACY_PENDING_INPUT_BATCH_KEY],t.length===0?delete n[PENDING_INPUT_BATCHES_KEY]:n[PENDING_INPUT_BATCHES_KEY]=t.map(e=>({event:e.event,activityRootTurnId:e.activityRootTurnId,responseAuthRequiredRequestIds:e.responseAuthRequiredRequestIds,toolReplayIdentities:e.toolReplayIdentities,requests:[...e.requests],responseMessages:[...e.responseMessages]})),{...e,state:Object.keys(n).length>0?n:void 0}}function appendPendingInputBatch(e){return setPendingInputBatches(e.session,[...getPendingInputBatches(e.session.state),{event:e.event,activityRootTurnId:e.activityRootTurnId??contextStorage.getStore()?.get(ActivityRootTurnIdKey),responseAuthRequiredRequestIds:e.responseAuthRequiredRequestIds,toolReplayIdentities:e.toolReplayIdentities,requests:e.requests,responseMessages:e.responseMessages}])}function activityRootTurnIdForInputResponses(e,t){return getPendingInputBatches(e).find(e=>e.requests.some(e=>t.has(e.requestId)))?.activityRootTurnId}function activityRequestIdsForRootTurn(e,t){return getPendingInputBatches(e).flatMap(e=>e.activityRootTurnId===t?e.requests.map(e=>e.requestId):[])}function consumeDeferredStepInput(e){let t=getDeferredStepInput(e.session);if(t===void 0)return e;let n=clearDeferredStepInput(e.session);return e.input===void 0?{input:t,session:n}:{input:coalesceTurnInputs(t,e.input),session:n}}function getDeferredStepInput(e){return e.state?.[DEFERRED_STEP_INPUT_KEY]}function queueDeferredStepInput(e,t){let n=getDeferredStepInput(e),r=n===void 0?t:coalesceTurnInputs(n,t),i={...e.state};return i[DEFERRED_STEP_INPUT_KEY]=r,{...e,state:i}}function clearDeferredStepInput(e){if(e.state?.[DEFERRED_STEP_INPUT_KEY]===void 0)return e;let t={...e.state};return delete t[DEFERRED_STEP_INPUT_KEY],{...e,state:Object.keys(t).length>0?t:void 0}}export{activityRequestIdsForRootTurn,activityRootTurnIdForInputResponses,appendPendingInputBatch,consumeDeferredStepInput,getDeferredStepInput,getPendingInputBatches,getPendingInputRequestIds,hasPendingInputBatch,queueDeferredStepInput,removePendingInputBatches};
@@ -5,7 +5,7 @@ import type { WebSearchProvider } from "#shared/web-search.js";
5
5
  /**
6
6
  * The provider backend resolved for one web search tool invocation.
7
7
  */
8
- export type WebSearchBackend = "anthropic" | "exa" | "google" | "openai" | "parallel";
8
+ type WebSearchBackend = "anthropic" | "exa" | "google" | "openai" | "parallel";
9
9
  /**
10
10
  * Returns the framework tool name that produced an upstream provider tool
11
11
  * `type`, or `null` when the type is not one we know how to remove.
@@ -38,3 +38,4 @@ export declare function resolveWebSearchBackend(modelRef: RuntimeModelReference,
38
38
  * provider matching the current model is loaded.
39
39
  */
40
40
  export declare function resolveWebSearchProviderTool(backend: WebSearchBackend): Promise<ToolSet[string]>;
41
+ export {};
@@ -9,10 +9,6 @@
9
9
  */
10
10
  import type { InputRequest, InputResponse } from "#shared/input.js";
11
11
  import type { SessionUsageLimitViolation } from "#harness/turn-tag-state.js";
12
- /** Synthetic action tool name carried by session-limit continuation requests. */
13
- export declare const SESSION_LIMIT_CONTINUATION_TOOL_NAME = "session_limit_continuation";
14
- /** Option id that grants a fresh token budget window. */
15
- export declare const SESSION_LIMIT_CONTINUE_OPTION_ID = "continue";
16
12
  /** Option id that declines continuation and ends the session. */
17
13
  export declare const SESSION_LIMIT_STOP_OPTION_ID = "stop";
18
14
  /**