eve 0.44.3 → 0.45.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 (821) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +13 -12
  3. package/dist/src/acp/adapter.d.ts +1 -1
  4. package/dist/src/approval/definition.d.ts +84 -0
  5. package/dist/src/approval/definition.js +1 -0
  6. package/dist/src/channel/adapter.d.ts +2 -2
  7. package/dist/src/{runtime/governance → channel}/auth/http-basic.d.ts +1 -1
  8. package/dist/src/{runtime/governance → channel}/auth/jwt-ecdsa.d.ts +1 -1
  9. package/dist/src/channel/auth/jwt-ecdsa.js +1 -0
  10. package/dist/src/{runtime/governance → channel}/auth/jwt-hmac.d.ts +1 -1
  11. package/dist/src/channel/auth/jwt-hmac.js +1 -0
  12. package/dist/src/{runtime/governance → channel}/auth/oidc.d.ts +1 -1
  13. package/dist/src/channel/auth/oidc.js +1 -0
  14. package/dist/src/{runtime/governance → channel}/auth/token-claims.d.ts +1 -1
  15. package/dist/src/{runtime/governance → channel}/auth/types.d.ts +1 -1
  16. package/dist/src/{runtime/governance → channel}/auth/vercel-oidc-project.d.ts +1 -1
  17. package/dist/src/channel/channel-operations.d.ts +1 -1
  18. package/dist/src/channel/channel-operations.js +1 -1
  19. package/dist/src/channel/instrumentation.d.ts +1 -0
  20. package/dist/src/channel/instrumentation.js +1 -1
  21. package/dist/src/channel/resolve-text.d.ts +1 -1
  22. package/dist/src/channel/routes.d.ts +1 -1
  23. package/dist/src/channel/session.d.ts +1 -1
  24. package/dist/src/channel/session.js +1 -1
  25. package/dist/src/channel/types.d.ts +2 -2
  26. package/dist/src/chunks/{use-eve-agent-DpUEwS23.js → use-eve-agent-C46Kan_I.js} +390 -107
  27. package/dist/src/chunks/{use-eve-agent-BsLJiIbc.js → use-eve-agent-OtHRoxIS.js} +390 -107
  28. package/dist/src/cli/banner.js +1 -1
  29. package/dist/src/cli/commands/agent-instructions.js +2 -2
  30. package/dist/src/cli/commands/channel-add-conflicts.js +1 -1
  31. package/dist/src/cli/commands/extension-build.js +1 -1
  32. package/dist/src/cli/commands/extension-init.js +1 -1
  33. package/dist/src/cli/commands/info.js +1 -1
  34. package/dist/src/cli/commands/init.js +1 -1
  35. package/dist/src/cli/commands/trace.js +1 -1
  36. package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
  37. package/dist/src/cli/dev/tui/prompt-commands.d.ts +1 -1
  38. package/dist/src/cli/dev/tui/prompt-commands.js +1 -1
  39. package/dist/src/cli/dev/tui/remote-auth.js +1 -1
  40. package/dist/src/cli/dev/tui/setup-commands.d.ts +2 -0
  41. package/dist/src/cli/dev/tui/setup-commands.js +1 -1
  42. package/dist/src/cli/dev/tui/setup-selection-input.d.ts +3 -1
  43. package/dist/src/cli/dev/tui/setup-selection-input.js +2 -2
  44. package/dist/src/cli/dev/tui/terminal-renderer.js +2 -2
  45. package/dist/src/cli/dev/tui/traces/trace-conversation.d.ts +1 -1
  46. package/dist/src/cli/dev/tui/traces/trace-conversation.js +1 -1
  47. package/dist/src/cli/dev/tui/traces/trace-viewer-state.js +1 -1
  48. package/dist/src/cli/invoke/result.d.ts +1 -1
  49. package/dist/src/cli/ui/live-row.js +1 -1
  50. package/dist/src/cli/ui/output.js +1 -1
  51. package/dist/src/client/agent-info-schema.d.ts +1757 -302
  52. package/dist/src/client/agent-info-schema.js +1 -1
  53. package/dist/src/client/client.js +1 -1
  54. package/dist/src/client/eve-agent-store.d.ts +6 -5
  55. package/dist/src/client/eve-agent-store.js +1 -1
  56. package/dist/src/client/health-response-error.d.ts +5 -0
  57. package/dist/src/client/health-response-error.js +1 -0
  58. package/dist/src/client/health-schema.d.ts +7 -0
  59. package/dist/src/client/health-schema.js +1 -0
  60. package/dist/src/client/index.d.ts +6 -3
  61. package/dist/src/client/index.js +1 -1
  62. package/dist/src/client/message-action-parts.d.ts +2 -2
  63. package/dist/src/client/message-reducer-types.d.ts +1 -1
  64. package/dist/src/client/reducer.d.ts +1 -1
  65. package/dist/src/client/session-utils.d.ts +1 -1
  66. package/dist/src/client/session.d.ts +1 -1
  67. package/dist/src/client/session.js +1 -1
  68. package/dist/src/client/types.d.ts +3 -7
  69. package/dist/src/compiler/artifacts.d.ts +37 -11
  70. package/dist/src/compiler/artifacts.js +1 -1
  71. package/dist/src/compiler/channel-route-plan.d.ts +10 -0
  72. package/dist/src/compiler/channel-route-plan.js +1 -0
  73. package/dist/src/compiler/compile-agent.d.ts +2 -2
  74. package/dist/src/compiler/compile-agent.js +2 -2
  75. package/dist/src/compiler/compile-from-memory.d.ts +13 -52
  76. package/dist/src/compiler/compile-from-memory.js +1 -1
  77. package/dist/src/compiler/diagnostics.d.ts +38 -0
  78. package/dist/src/compiler/diagnostics.js +1 -0
  79. package/dist/src/compiler/extension-compatibility.d.ts +14 -11
  80. package/dist/src/compiler/extension-compatibility.js +1 -1
  81. package/dist/src/compiler/load-binding-namespace.d.ts +9 -0
  82. package/dist/src/compiler/load-binding-namespace.js +1 -0
  83. package/dist/src/compiler/manifest.d.ts +172 -51
  84. package/dist/src/compiler/manifest.js +1 -1
  85. package/dist/src/compiler/module-map.d.ts +12 -30
  86. package/dist/src/compiler/module-map.js +3 -3
  87. package/dist/src/compiler/node-source-state.d.ts +24 -0
  88. package/dist/src/compiler/node-source-state.js +1 -0
  89. package/dist/src/compiler/normalize-agent-config.d.ts +5 -1
  90. package/dist/src/compiler/normalize-agent-config.js +1 -1
  91. package/dist/src/compiler/normalize-channel.d.ts +8 -2
  92. package/dist/src/compiler/normalize-channel.js +1 -1
  93. package/dist/src/compiler/normalize-connection.d.ts +1 -1
  94. package/dist/src/compiler/normalize-connection.js +1 -1
  95. package/dist/src/compiler/normalize-helpers.d.ts +13 -4
  96. package/dist/src/compiler/normalize-helpers.js +1 -1
  97. package/dist/src/compiler/normalize-hook.d.ts +4 -11
  98. package/dist/src/compiler/normalize-hook.js +1 -1
  99. package/dist/src/compiler/normalize-instructions.d.ts +3 -3
  100. package/dist/src/compiler/normalize-instructions.js +1 -1
  101. package/dist/src/compiler/normalize-manifest-helpers.d.ts +29 -0
  102. package/dist/src/compiler/normalize-manifest-helpers.js +1 -0
  103. package/dist/src/compiler/normalize-manifest.d.ts +8 -4
  104. package/dist/src/compiler/normalize-manifest.js +1 -1
  105. package/dist/src/compiler/normalize-sandbox.d.ts +1 -1
  106. package/dist/src/compiler/normalize-sandbox.js +1 -1
  107. package/dist/src/compiler/normalize-schedule.d.ts +2 -2
  108. package/dist/src/compiler/normalize-schedule.js +1 -1
  109. package/dist/src/compiler/normalize-skill.d.ts +2 -2
  110. package/dist/src/compiler/normalize-skill.js +1 -1
  111. package/dist/src/compiler/normalize-subagent.d.ts +21 -39
  112. package/dist/src/compiler/normalize-subagent.js +1 -1
  113. package/dist/src/compiler/normalize-tool.d.ts +2 -1
  114. package/dist/src/compiler/normalize-tool.js +1 -1
  115. package/dist/src/compiler/project-sources.d.ts +71 -0
  116. package/dist/src/compiler/project-sources.js +1 -0
  117. package/dist/src/compiler/remote-agent-node.d.ts +8 -0
  118. package/dist/src/compiler/remote-agent-node.js +1 -1
  119. package/dist/src/compiler/source-graph.d.ts +153 -0
  120. package/dist/src/compiler/source-graph.js +1 -0
  121. package/dist/src/compiler/validate-artifact.d.ts +17 -0
  122. package/dist/src/compiler/validate-artifact.js +1 -0
  123. package/dist/src/compiler/workspace-resources.js +1 -1
  124. package/dist/src/connections/errors.d.ts +125 -0
  125. package/dist/src/connections/errors.js +1 -0
  126. package/dist/src/context/build-base-tool-context.d.ts +2 -2
  127. package/dist/src/context/build-callback-context.d.ts +1 -1
  128. package/dist/src/context/build-dynamic-tools.js +1 -1
  129. package/dist/src/context/dynamic-instruction-lifecycle.js +1 -1
  130. package/dist/src/context/dynamic-resolve-context.d.ts +1 -1
  131. package/dist/src/context/dynamic-skill-lifecycle.js +1 -1
  132. package/dist/src/context/dynamic-subagent-lifecycle.d.ts +0 -2
  133. package/dist/src/context/dynamic-subagent-lifecycle.js +1 -1
  134. package/dist/src/context/dynamic-tool-lifecycle.d.ts +2 -2
  135. package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
  136. package/dist/src/context/key-names.d.ts +12 -0
  137. package/dist/src/context/key-names.js +1 -0
  138. package/dist/src/context/keys.d.ts +8 -1
  139. package/dist/src/context/keys.js +1 -1
  140. package/dist/src/context/providers/connection-key.d.ts +1 -1
  141. package/dist/src/context/providers/connection.d.ts +1 -1
  142. package/dist/src/context/session-context.d.ts +32 -0
  143. package/dist/src/discover/discover-agent.d.ts +0 -13
  144. package/dist/src/discover/discover-agent.js +1 -1
  145. package/dist/src/discover/discover-subagent.js +1 -1
  146. package/dist/src/discover/extensions.d.ts +0 -6
  147. package/dist/src/discover/extensions.js +1 -1
  148. package/dist/src/discover/manifest.d.ts +4 -1
  149. package/dist/src/discover/manifest.js +1 -1
  150. package/dist/src/dynamic/definition.d.ts +117 -0
  151. package/dist/src/dynamic/definition.js +1 -0
  152. package/dist/src/evals/autoevals-client.js +1 -1
  153. package/dist/src/evals/index.d.ts +1 -1
  154. package/dist/src/evals/match.d.ts +1 -1
  155. package/dist/src/evals/runner/reporters/console.js +1 -1
  156. package/dist/src/evals/session.d.ts +1 -1
  157. package/dist/src/evals/target.js +1 -1
  158. package/dist/src/evals/types.d.ts +1 -1
  159. package/dist/src/eve-channel/index.d.ts +12 -0
  160. package/dist/src/eve-channel/index.js +1 -0
  161. package/dist/src/eve-channel/request.d.ts +49 -0
  162. package/dist/src/eve-channel/request.js +3 -0
  163. package/dist/src/eve-channel/support.d.ts +34 -0
  164. package/dist/src/eve-channel/support.js +1 -0
  165. package/dist/src/eve-channel/types.d.ts +128 -0
  166. package/dist/src/eve-channel/types.js +1 -0
  167. package/dist/src/execution/agent-handle-dispatch.d.ts +1 -1
  168. package/dist/src/execution/agent-handle-dispatch.js +1 -1
  169. package/dist/src/execution/authorization-callback-match.d.ts +1 -1
  170. package/dist/src/execution/cancel-descendant-turns-step.js +1 -1
  171. package/dist/src/execution/compaction.js +1 -1
  172. package/dist/src/execution/connection-auth-tool-result.d.ts +1 -1
  173. package/dist/src/{runtime → execution}/connections/callback-route.d.ts +2 -20
  174. package/dist/src/execution/connections/callback-route.js +1 -0
  175. package/dist/src/execution/create-session-step.js +1 -1
  176. package/dist/src/execution/delegated-parent-notification.d.ts +2 -2
  177. package/dist/src/execution/delegated-parent-notification.js +1 -1
  178. package/dist/src/execution/delegated-parent-result.d.ts +1 -1
  179. package/dist/src/execution/delegated-parent-result.js +1 -1
  180. package/dist/src/execution/delegation-tool.d.ts +1 -1
  181. package/dist/src/execution/delegation-tool.js +1 -1
  182. package/dist/src/execution/dispatch-action-failures.d.ts +1 -1
  183. package/dist/src/execution/dispatch-runtime-actions-shared.d.ts +1 -2
  184. package/dist/src/execution/dispatch-runtime-actions-shared.js +1 -1
  185. package/dist/src/execution/dispatch-runtime-actions-step.js +1 -1
  186. package/dist/src/execution/dispatch-workflow-runtime-actions-step.d.ts +1 -1
  187. package/dist/src/execution/durable-session-migrations/turn-workflow.d.ts +1 -1
  188. package/dist/src/execution/durable-session-store.js +1 -1
  189. package/dist/src/execution/effective-output-schema.d.ts +2 -1
  190. package/dist/src/execution/eve-workflow-attributes.d.ts +6 -0
  191. package/dist/src/execution/eve-workflow-attributes.js +1 -1
  192. package/dist/src/execution/forward-turn-cancellation-step.js +1 -1
  193. package/dist/src/execution/node-step.js +1 -1
  194. package/dist/src/execution/remote-agent-dispatch.d.ts +10 -8
  195. package/dist/src/execution/remote-agent-dispatch.js +1 -1
  196. package/dist/src/execution/runtime-context.js +1 -1
  197. package/dist/src/execution/sandbox/{bash-tool.d.ts → bash.d.ts} +2 -2
  198. package/dist/src/execution/sandbox/bindings/just-bash-runtime.d.ts +1 -0
  199. package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
  200. package/dist/src/execution/sandbox/bindings/just-bash.js +1 -1
  201. package/dist/src/execution/sandbox/bindings/vercel-credentials.js +1 -1
  202. package/dist/src/execution/sandbox/glob-tool.js +1 -1
  203. package/dist/src/execution/sandbox/grep-tool.js +1 -1
  204. package/dist/src/execution/sandbox/{read-file-tool.d.ts → read-file.d.ts} +2 -2
  205. package/dist/src/execution/sandbox/{read-file-tool.js → read-file.js} +1 -1
  206. package/dist/src/execution/sandbox/{write-file-tool.d.ts → write-file.d.ts} +2 -2
  207. package/dist/src/execution/sandbox/write-file.js +1 -0
  208. package/dist/src/execution/session-callback-route.d.ts +2 -0
  209. package/dist/src/execution/session-callback-route.js +1 -0
  210. package/dist/src/execution/session-callback-step.js +1 -1
  211. package/dist/src/execution/session-timeout-steps.js +1 -1
  212. package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
  213. package/dist/src/execution/subagent-adapter.js +1 -1
  214. package/dist/src/execution/subagent-hitl-proxy.d.ts +1 -1
  215. package/dist/src/execution/subagent-invocation.d.ts +0 -3
  216. package/dist/src/execution/subagent-invocation.js +1 -1
  217. package/dist/src/execution/subagent-start-local.d.ts +1 -2
  218. package/dist/src/execution/subagent-start-local.js +1 -1
  219. package/dist/src/execution/subagent-start-remote.d.ts +1 -2
  220. package/dist/src/execution/subagent-start-remote.js +1 -1
  221. package/dist/src/execution/subagent-tool.d.ts +4 -8
  222. package/dist/src/execution/subagent-tool.js +1 -1
  223. package/dist/src/execution/subagent-usage-span.d.ts +1 -1
  224. package/dist/src/execution/task-input-response-route.d.ts +2 -0
  225. package/dist/src/execution/task-input-response-route.js +1 -0
  226. package/dist/src/execution/tasks/child/instructions.js +1 -1
  227. package/dist/src/execution/tasks/child/update.d.ts +1 -1
  228. package/dist/src/execution/tasks/child/update.js +1 -1
  229. package/dist/src/execution/tasks/parent/continuation-dispatch.d.ts +1 -1
  230. package/dist/src/execution/tasks/parent/control-shared.d.ts +1 -1
  231. package/dist/src/execution/tasks/parent/delegate.d.ts +2 -2
  232. package/dist/src/execution/tasks/parent/delegate.js +1 -1
  233. package/dist/src/execution/tasks/parent/dispatch-task-step.js +1 -1
  234. package/dist/src/execution/tasks/parent/dispatch.d.ts +3 -1
  235. package/dist/src/execution/tasks/parent/dispatch.js +1 -1
  236. package/dist/src/execution/tasks/parent/hitl-proxy-steps.js +1 -1
  237. package/dist/src/execution/tasks/parent/tool-execution.js +1 -1
  238. package/dist/src/execution/terminate-child-sessions-step.d.ts +4 -5
  239. package/dist/src/execution/terminate-child-sessions-step.js +1 -1
  240. package/dist/src/execution/tool-auth.d.ts +5 -6
  241. package/dist/src/execution/tool-auth.js +1 -1
  242. package/dist/src/execution/tools/connection-search.d.ts +1 -0
  243. package/dist/src/execution/tools/connection-search.js +2 -0
  244. package/dist/src/{runtime/framework-tools → execution/tools}/file-state.d.ts +2 -2
  245. package/dist/src/execution/tools/load-skill.d.ts +6 -0
  246. package/dist/src/execution/tools/load-skill.js +1 -0
  247. package/dist/src/{runtime/framework-tools → execution/tools}/subagent/local.d.ts +7 -7
  248. package/dist/src/execution/tools/subagent/local.js +1 -0
  249. package/dist/src/{runtime/framework-tools → execution/tools}/subagent/remote.d.ts +5 -5
  250. package/dist/src/execution/tools/subagent/remote.js +1 -0
  251. package/dist/src/execution/tools/tasks.d.ts +18 -0
  252. package/dist/src/execution/tools/tasks.js +1 -0
  253. package/dist/src/{runtime/framework-tools → execution/tools}/todo.d.ts +0 -2
  254. package/dist/src/{runtime/framework-tools → execution/tools}/todo.js +1 -2
  255. package/dist/src/execution/turn-control-protocol.js +1 -1
  256. package/dist/src/execution/web-fetch/execute.js +1 -0
  257. package/dist/src/execution/web-fetch/request.js +1 -1
  258. package/dist/src/execution/wire/session-inbox-resume.js +1 -1
  259. package/dist/src/execution/wire/session-inbox-wire.v1.js +1 -1
  260. package/dist/src/execution/workflow-entry.js +1 -1
  261. package/dist/src/execution/workflow-runtime.js +1 -1
  262. package/dist/src/execution/workflow-steps.js +1 -1
  263. package/dist/src/execution/workflow-trace-context.js +1 -1
  264. package/dist/src/framework/host-inventory.d.ts +8 -0
  265. package/dist/src/framework/host-inventory.js +1 -0
  266. package/dist/src/framework/sources/modules/agent.d.ts +4 -0
  267. package/dist/src/framework/sources/modules/agent.js +1 -0
  268. package/dist/src/framework/sources/modules/eve-channel.d.ts +1 -0
  269. package/dist/src/framework/sources/modules/eve-channel.js +1 -0
  270. package/dist/src/framework/sources/modules/home-channel.d.ts +2 -0
  271. package/dist/src/framework/sources/modules/home-channel.js +1 -0
  272. package/dist/src/framework/sources/modules/sandbox.d.ts +2 -0
  273. package/dist/src/framework/sources/modules/sandbox.js +1 -0
  274. package/dist/src/framework/sources/registry.d.ts +5 -0
  275. package/dist/src/framework/sources/registry.js +1 -0
  276. package/dist/src/harness/action-result-helpers.d.ts +1 -1
  277. package/dist/src/harness/advertised-tools.js +1 -1
  278. package/dist/src/harness/attachment-staging.js +1 -1
  279. package/dist/src/harness/authorization.d.ts +3 -3
  280. package/dist/src/harness/background-tools.d.ts +2 -2
  281. package/dist/src/harness/channel-delivery-instrumentation.js +1 -1
  282. package/dist/src/harness/compaction.js +1 -1
  283. package/dist/src/harness/execute-tool.d.ts +3 -3
  284. package/dist/src/{runtime/framework-tools → harness}/final-output.d.ts +1 -1
  285. package/dist/src/harness/final-output.js +1 -0
  286. package/dist/src/harness/handles/query.d.ts +1 -1
  287. package/dist/src/harness/handles/store.d.ts +8 -0
  288. package/dist/src/harness/handles/store.js +1 -1
  289. package/dist/src/harness/hitl/approval-input-requests.d.ts +1 -1
  290. package/dist/src/harness/hitl/approval-prompt.d.ts +1 -1
  291. package/dist/src/harness/hitl/pending-input-resolution.d.ts +2 -2
  292. package/dist/src/harness/hitl/question-input-requests.d.ts +1 -1
  293. package/dist/src/harness/input-extraction.d.ts +1 -1
  294. package/dist/src/harness/input-extraction.js +1 -1
  295. package/dist/src/harness/input-request-class.d.ts +1 -1
  296. package/dist/src/harness/input-request-resolution.d.ts +1 -1
  297. package/dist/src/harness/input-requests.d.ts +2 -2
  298. package/dist/src/harness/instrumentation/lifecycle.d.ts +3 -0
  299. package/dist/src/harness/instrumentation/providers.js +1 -1
  300. package/dist/src/harness/instrumentation/runtime.d.ts +2 -1
  301. package/dist/src/harness/pending-input-batches.d.ts +1 -1
  302. package/dist/src/harness/prepare-trace-context.d.ts +3 -0
  303. package/dist/src/harness/prepare-trace-context.js +1 -1
  304. package/dist/src/harness/provider-safety.d.ts +7 -0
  305. package/dist/src/harness/provider-safety.js +1 -0
  306. package/dist/src/{runtime/framework-tools/web-search.d.ts → harness/provider-tool-schemas.d.ts} +1 -9
  307. package/dist/src/harness/provider-tool-schemas.js +1 -0
  308. package/dist/src/harness/provider-tools.js +1 -1
  309. package/dist/src/harness/proxy-input-requests.d.ts +1 -1
  310. package/dist/src/harness/request-input-tool.d.ts +4 -0
  311. package/dist/src/harness/request-input-tool.js +1 -0
  312. package/dist/src/harness/runtime-actions.d.ts +1 -1
  313. package/dist/src/harness/session-limit-continuation.d.ts +1 -1
  314. package/dist/src/harness/step-hooks.d.ts +2 -0
  315. package/dist/src/harness/step-hooks.js +1 -1
  316. package/dist/src/harness/stream-actions.d.ts +1 -1
  317. package/dist/src/harness/subagent-depth.d.ts +1 -1
  318. package/dist/src/harness/tool-call-action.d.ts +1 -1
  319. package/dist/src/harness/tool-call-input-errors.d.ts +1 -1
  320. package/dist/src/harness/tool-loop.js +2 -2
  321. package/dist/src/harness/tool-model-output.d.ts +1 -1
  322. package/dist/src/harness/tools.d.ts +1 -1
  323. package/dist/src/harness/tools.js +1 -1
  324. package/dist/src/harness/types.d.ts +3 -9
  325. package/dist/src/harness/workflow-runtime-action-state.d.ts +1 -1
  326. package/dist/src/harness/workflow-subagent-limit.d.ts +1 -1
  327. package/dist/src/instrumentation/provider.d.ts +117 -0
  328. package/dist/src/instrumentation/provider.js +1 -0
  329. package/dist/src/internal/application/compiled-artifacts.js +5 -4
  330. package/dist/src/internal/application/package.js +1 -1
  331. package/dist/src/internal/authored-definition/approval.d.ts +1 -1
  332. package/dist/src/internal/authored-definition/connection.js +1 -1
  333. package/dist/src/internal/authored-definition/core.js +1 -1
  334. package/dist/src/internal/authored-definition/schema-backed.d.ts +6 -3
  335. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  336. package/dist/src/internal/authored-definition/source-identity.d.ts +17 -0
  337. package/dist/src/internal/authored-definition/source-identity.js +1 -0
  338. package/dist/src/internal/authored-module-map-loader.d.ts +1 -5
  339. package/dist/src/internal/authored-module-map-loader.js +1 -1
  340. package/dist/src/internal/helpers/markdown.js +1 -1
  341. package/dist/src/internal/invocation/agent-invocation.d.ts +2 -2
  342. package/dist/src/internal/invocation/workflow-execution.d.ts +1 -1
  343. package/dist/src/internal/invocation/workflow-execution.js +1 -1
  344. package/dist/src/internal/materialized-authored-modules.js +1 -1
  345. package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
  346. package/dist/src/internal/nitro/host/application-route-registry.d.ts +2 -41
  347. package/dist/src/internal/nitro/host/application-route-registry.js +1 -1
  348. package/dist/src/internal/nitro/host/build-extension.js +1 -1
  349. package/dist/src/internal/nitro/host/build-vercel-agent-summary.js +1 -1
  350. package/dist/src/internal/nitro/host/configure-nitro-routes.js +3 -4
  351. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  352. package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
  353. package/dist/src/internal/nitro/host/extension-capability-requirements.d.ts +2 -0
  354. package/dist/src/internal/nitro/host/extension-capability-requirements.js +1 -1
  355. package/dist/src/internal/nitro/host/start-development-server.js +2 -2
  356. package/dist/src/internal/nitro/host/start-production-server.js +3 -3
  357. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.d.ts +9 -215
  358. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  359. package/dist/src/internal/nitro/routes/agent-info/load-agent-info-data.d.ts +2 -13
  360. package/dist/src/internal/nitro/routes/agent-info/load-agent-info-data.js +1 -1
  361. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
  362. package/dist/src/internal/nitro/routes/channel-route-context.d.ts +5 -0
  363. package/dist/src/internal/nitro/routes/channel-route-context.js +1 -1
  364. package/dist/src/internal/nitro/routes/index.d.ts +0 -9
  365. package/dist/src/internal/nitro/routes/index.js +1 -1
  366. package/dist/src/internal/nitro/routes/info.js +1 -1
  367. package/dist/src/internal/nitro/routes/runtime-stack.d.ts +5 -5
  368. package/dist/src/internal/nitro/routes/runtime-stack.js +1 -1
  369. package/dist/src/internal/programmatic-source-loader.d.ts +1 -0
  370. package/dist/src/internal/programmatic-source-loader.js +1 -0
  371. package/dist/src/internal/runtime-registry.d.ts +3 -4
  372. package/dist/src/protocol/message.d.ts +3 -3
  373. package/dist/src/protocol/routes.d.ts +2 -0
  374. package/dist/src/protocol/routes.js +1 -1
  375. package/dist/src/public/agents/auth.d.ts +10 -6
  376. package/dist/src/public/agents/auth.js +1 -1
  377. package/dist/src/public/channels/auth.d.ts +1 -1
  378. package/dist/src/public/channels/auth.js +1 -1
  379. package/dist/src/public/channels/chat-sdk/authorization.d.ts +3 -0
  380. package/dist/src/public/channels/chat-sdk/authorization.js +3 -0
  381. package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +2 -0
  382. package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +2 -2
  383. package/dist/src/public/channels/discord/discordChannel.js +1 -1
  384. package/dist/src/public/channels/discord/hitl.d.ts +1 -1
  385. package/dist/src/public/channels/discord/hitl.js +1 -1
  386. package/dist/src/public/channels/discord/inbound.d.ts +1 -0
  387. package/dist/src/public/channels/discord/inbound.js +1 -1
  388. package/dist/src/public/channels/eve.d.ts +1 -139
  389. package/dist/src/public/channels/eve.js +1 -3
  390. package/dist/src/public/channels/github/dispatch.d.ts +5 -0
  391. package/dist/src/public/channels/github/dispatch.js +1 -1
  392. package/dist/src/public/channels/github/githubChannel.js +1 -1
  393. package/dist/src/public/channels/github/inbound.d.ts +2 -0
  394. package/dist/src/public/channels/github/inbound.js +1 -1
  395. package/dist/src/public/channels/index.d.ts +1 -1
  396. package/dist/src/public/channels/index.js +1 -1
  397. package/dist/src/public/channels/linear/hitl.d.ts +1 -1
  398. package/dist/src/public/channels/linear/inbound.js +1 -1
  399. package/dist/src/public/channels/linq/index.d.ts +1 -1
  400. package/dist/src/public/channels/linq/index.js +1 -1
  401. package/dist/src/public/channels/linq/linqChannel.d.ts +3 -1
  402. package/dist/src/public/channels/linq/linqChannel.js +1 -1
  403. package/dist/src/public/channels/mcp.js +1 -1
  404. package/dist/src/public/channels/photon/index.d.ts +1 -1
  405. package/dist/src/public/channels/photon/index.js +1 -1
  406. package/dist/src/public/channels/photon/photonIMessageChannel.d.ts +3 -1
  407. package/dist/src/public/channels/photon/photonIMessageChannel.js +1 -1
  408. package/dist/src/public/channels/slack/action-status.d.ts +1 -1
  409. package/dist/src/public/channels/slack/api.d.ts +15 -5
  410. package/dist/src/public/channels/slack/api.js +1 -1
  411. package/dist/src/public/channels/slack/attachments.d.ts +2 -2
  412. package/dist/src/public/channels/slack/attachments.js +1 -1
  413. package/dist/src/public/channels/slack/hitl.d.ts +3 -1
  414. package/dist/src/public/channels/slack/hitl.js +1 -1
  415. package/dist/src/public/channels/slack/inbound-content.d.ts +4 -0
  416. package/dist/src/public/channels/slack/inbound-content.js +4 -0
  417. package/dist/src/public/channels/slack/inbound.d.ts +17 -1
  418. package/dist/src/public/channels/slack/inbound.js +1 -1
  419. package/dist/src/public/channels/slack/index.d.ts +1 -1
  420. package/dist/src/public/channels/slack/input-response.d.ts +1 -0
  421. package/dist/src/public/channels/slack/input-response.js +1 -1
  422. package/dist/src/public/channels/slack/interaction-cards.d.ts +10 -0
  423. package/dist/src/public/channels/slack/interaction-cards.js +1 -0
  424. package/dist/src/public/channels/slack/interactions.d.ts +1 -0
  425. package/dist/src/public/channels/slack/interactions.js +1 -1
  426. package/dist/src/public/channels/slack/model-context.d.ts +3 -1
  427. package/dist/src/public/channels/slack/model-context.js +2 -2
  428. package/dist/src/public/channels/slack/session-operations.d.ts +1 -1
  429. package/dist/src/public/channels/slack/slackChannel.d.ts +7 -2
  430. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  431. package/dist/src/public/channels/teams/hitl.d.ts +1 -1
  432. package/dist/src/public/channels/teams/hitl.js +1 -1
  433. package/dist/src/public/channels/teams/inbound.d.ts +2 -0
  434. package/dist/src/public/channels/teams/inbound.js +1 -1
  435. package/dist/src/public/channels/teams/teamsChannel.js +1 -1
  436. package/dist/src/public/channels/teams/verify.js +1 -1
  437. package/dist/src/public/channels/telegram/api.d.ts +15 -0
  438. package/dist/src/public/channels/telegram/api.js +2 -2
  439. package/dist/src/public/channels/telegram/authorization-callback.d.ts +10 -0
  440. package/dist/src/public/channels/telegram/authorization-callback.js +1 -0
  441. package/dist/src/public/channels/telegram/authorization.d.ts +19 -0
  442. package/dist/src/public/channels/telegram/authorization.js +3 -0
  443. package/dist/src/public/channels/telegram/defaults.d.ts +1 -0
  444. package/dist/src/public/channels/telegram/defaults.js +3 -3
  445. package/dist/src/public/channels/telegram/hitl.d.ts +1 -1
  446. package/dist/src/public/channels/telegram/hitl.js +1 -1
  447. package/dist/src/public/channels/telegram/inbound.d.ts +1 -0
  448. package/dist/src/public/channels/telegram/inbound.js +1 -1
  449. package/dist/src/public/channels/telegram/index.d.ts +1 -1
  450. package/dist/src/public/channels/telegram/index.js +1 -1
  451. package/dist/src/public/channels/telegram/state.d.ts +6 -0
  452. package/dist/src/public/channels/telegram/state.js +1 -0
  453. package/dist/src/public/channels/telegram/telegramChannel.d.ts +11 -0
  454. package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
  455. package/dist/src/public/connections/errors.d.ts +1 -125
  456. package/dist/src/public/connections/errors.js +1 -1
  457. package/dist/src/public/connections/index.d.ts +2 -2
  458. package/dist/src/public/connections/index.js +1 -1
  459. package/dist/src/public/definitions/agent.d.ts +1 -1
  460. package/dist/src/public/definitions/agent.js +1 -1
  461. package/dist/src/public/definitions/approval.d.ts +2 -84
  462. package/dist/src/public/definitions/approval.js +1 -1
  463. package/dist/src/public/definitions/callback-context.d.ts +1 -32
  464. package/dist/src/public/definitions/connections/mcp.d.ts +1 -1
  465. package/dist/src/public/definitions/connections/mcp.js +1 -1
  466. package/dist/src/public/definitions/connections/openapi.d.ts +1 -1
  467. package/dist/src/public/definitions/connections/openapi.js +1 -1
  468. package/dist/src/public/definitions/connections/protocol.d.ts +1 -1
  469. package/dist/src/public/definitions/instructions.d.ts +2 -2
  470. package/dist/src/public/definitions/instructions.js +1 -1
  471. package/dist/src/public/definitions/skill.js +1 -1
  472. package/dist/src/public/index.d.ts +1 -1
  473. package/dist/src/public/instructions/index.d.ts +1 -1
  474. package/dist/src/public/instrumentation/provider.d.ts +1 -117
  475. package/dist/src/public/instrumentation/provider.js +1 -1
  476. package/dist/src/public/models/openai/chatgpt/auth.js +1 -1
  477. package/dist/src/public/next/server.js +1 -1
  478. package/dist/src/public/nuxt/dev-server.js +1 -1
  479. package/dist/src/public/sandbox/backends/default.d.ts +1 -49
  480. package/dist/src/public/sandbox/backends/default.js +1 -1
  481. package/dist/src/public/sandbox/backends/docker.d.ts +1 -14
  482. package/dist/src/public/sandbox/backends/docker.js +1 -1
  483. package/dist/src/public/sandbox/backends/just-bash.d.ts +1 -17
  484. package/dist/src/public/sandbox/backends/just-bash.js +1 -1
  485. package/dist/src/public/sandbox/backends/microsandbox.d.ts +1 -17
  486. package/dist/src/public/sandbox/backends/microsandbox.js +1 -1
  487. package/dist/src/public/sandbox/backends/vercel.d.ts +1 -30
  488. package/dist/src/public/sandbox/backends/vercel.js +1 -1
  489. package/dist/src/public/sandbox/just-bash-sandbox.d.ts +12 -1
  490. package/dist/src/public/skills/index.d.ts +3 -3
  491. package/dist/src/public/skills/index.js +1 -1
  492. package/dist/src/public/sveltekit/dev-server.js +1 -1
  493. package/dist/src/public/tools/approval/index.d.ts +2 -2
  494. package/dist/src/public/tools/approval/index.js +1 -1
  495. package/dist/src/public/tools/bash.d.ts +3 -0
  496. package/dist/src/public/tools/bash.js +1 -0
  497. package/dist/src/public/tools/glob.d.ts +3 -0
  498. package/dist/src/public/tools/glob.js +1 -0
  499. package/dist/src/public/tools/grep.d.ts +3 -0
  500. package/dist/src/public/tools/grep.js +1 -0
  501. package/dist/src/public/tools/index.d.ts +6 -11
  502. package/dist/src/public/tools/index.js +1 -1
  503. package/dist/src/public/tools/load-skill.d.ts +3 -0
  504. package/dist/src/public/tools/load-skill.js +1 -0
  505. package/dist/src/public/tools/read-file.d.ts +3 -0
  506. package/dist/src/public/tools/read-file.js +1 -0
  507. package/dist/src/public/{tool-result-narrowing.d.ts → tools/result.d.ts} +2 -28
  508. package/dist/src/public/tools/result.js +1 -0
  509. package/dist/src/public/tools/sleep.d.ts +1 -0
  510. package/dist/src/public/tools/sleep.js +1 -0
  511. package/dist/src/public/tools/todo.d.ts +3 -0
  512. package/dist/src/public/tools/todo.js +1 -0
  513. package/dist/src/public/tools/web-fetch.d.ts +3 -0
  514. package/dist/src/public/tools/web-fetch.js +1 -0
  515. package/dist/src/public/tools/web-search.d.ts +3 -36
  516. package/dist/src/public/tools/web-search.js +1 -1
  517. package/dist/src/public/tools/workflow.d.ts +4 -0
  518. package/dist/src/public/tools/workflow.js +1 -0
  519. package/dist/src/public/tools/write-file.d.ts +3 -0
  520. package/dist/src/public/tools/write-file.js +1 -0
  521. package/dist/src/public/types/json.d.ts +1 -28
  522. package/dist/src/react/use-eve-agent.d.ts +1 -0
  523. package/dist/src/react/use-eve-agent.js +1 -1
  524. package/dist/src/runtime/actions/keys.d.ts +1 -1
  525. package/dist/src/runtime/actions/results.d.ts +1 -1
  526. package/dist/src/runtime/agent/bootstrap.js +1 -1
  527. package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
  528. package/dist/src/runtime/connections/authorization-tokens.d.ts +1 -1
  529. package/dist/src/runtime/connections/mcp-client.d.ts +1 -1
  530. package/dist/src/runtime/connections/mcp-client.js +1 -1
  531. package/dist/src/runtime/connections/openapi-client.d.ts +1 -1
  532. package/dist/src/runtime/connections/openapi-client.js +1 -1
  533. package/dist/src/runtime/connections/principal.d.ts +1 -1
  534. package/dist/src/runtime/connections/principal.js +1 -1
  535. package/dist/src/runtime/connections/registry-types.d.ts +11 -0
  536. package/dist/src/runtime/connections/registry.d.ts +3 -2
  537. package/dist/src/runtime/connections/resolve-authorization.d.ts +2 -2
  538. package/dist/src/runtime/connections/resolve-authorization.js +1 -1
  539. package/dist/src/runtime/connections/scoped-authorization.d.ts +2 -2
  540. package/dist/src/runtime/connections/scoped-authorization.js +1 -1
  541. package/dist/src/runtime/loaders/compile-metadata.js +1 -1
  542. package/dist/src/runtime/loaders/manifest.js +1 -1
  543. package/dist/src/runtime/prompt/compose.d.ts +0 -6
  544. package/dist/src/runtime/prompt/compose.js +1 -1
  545. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  546. package/dist/src/runtime/resolve-agent.js +1 -1
  547. package/dist/src/runtime/resolve-connection.js +1 -1
  548. package/dist/src/runtime/resolve-dynamic-tool.js +1 -1
  549. package/dist/src/runtime/resolve-tool.d.ts +2 -1
  550. package/dist/src/runtime/resolve-tool.js +1 -1
  551. package/dist/src/runtime/sandbox/keys.js +1 -1
  552. package/dist/src/runtime/sandbox/registry.d.ts +4 -20
  553. package/dist/src/runtime/sandbox/registry.js +1 -1
  554. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
  555. package/dist/src/runtime/sessions/runtime-context-keys.js +1 -1
  556. package/dist/src/runtime/sessions/turn.d.ts +3 -1
  557. package/dist/src/runtime/skills/sandbox-access.d.ts +1 -1
  558. package/dist/src/runtime/subagents/dynamic-agent-config.js +1 -1
  559. package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
  560. package/dist/src/runtime/subagents/registry.d.ts +0 -27
  561. package/dist/src/runtime/subagents/registry.js +1 -1
  562. package/dist/src/runtime/tools/registry.js +1 -1
  563. package/dist/src/runtime/types.d.ts +11 -27
  564. package/dist/src/sandbox/backends/default.d.ts +49 -0
  565. package/dist/src/sandbox/backends/default.js +1 -0
  566. package/dist/src/sandbox/backends/docker.d.ts +14 -0
  567. package/dist/src/sandbox/backends/docker.js +1 -0
  568. package/dist/src/sandbox/backends/just-bash.d.ts +17 -0
  569. package/dist/src/sandbox/backends/just-bash.js +1 -0
  570. package/dist/src/sandbox/backends/microsandbox.d.ts +17 -0
  571. package/dist/src/sandbox/backends/microsandbox.js +1 -0
  572. package/dist/src/sandbox/backends/vercel.d.ts +30 -0
  573. package/dist/src/sandbox/backends/vercel.js +1 -0
  574. package/dist/src/services/dev-client/runtime-artifacts.d.ts +2 -0
  575. package/dist/src/services/dev-client/runtime-artifacts.js +1 -1
  576. package/dist/src/services/dev-client.d.ts +1 -1
  577. package/dist/src/setup/channel-add-conflicts.js +1 -1
  578. package/dist/src/setup/cli/select-component.js +1 -1
  579. package/dist/src/setup/flows/link.js +1 -1
  580. package/dist/src/setup/flows/model-source-change.js +1 -1
  581. package/dist/src/setup/flows/model.js +1 -1
  582. package/dist/src/setup/flows/registry.d.ts +7 -1
  583. package/dist/src/setup/flows/registry.js +1 -1
  584. package/dist/src/setup/integrations/runner.js +1 -1
  585. package/dist/src/setup/prompter.js +1 -1
  586. package/dist/src/setup/scaffold/create/add-to-project.js +1 -1
  587. package/dist/src/setup/scaffold/create/project.js +40 -3
  588. package/dist/src/setup/scaffold/create/web-template.d.ts +8 -8
  589. package/dist/src/setup/scaffold/create/web-template.js +336 -120
  590. package/dist/src/setup/scaffold/update/channels.js +1 -1
  591. package/dist/src/setup/scaffold/update/connections.js +1 -1
  592. package/dist/src/setup/vercel-project.js +0 -0
  593. package/dist/src/{runtime/actions/types.d.ts → shared/action-types.d.ts} +12 -12
  594. package/dist/src/{runtime/actions/types.js → shared/action-types.js} +1 -1
  595. package/dist/src/shared/agent-definition.d.ts +3 -10
  596. package/dist/src/shared/agent-definition.js +1 -1
  597. package/dist/src/shared/channel-definition.d.ts +5 -1
  598. package/dist/src/{runtime/connections/types.d.ts → shared/connection-types.d.ts} +3 -13
  599. package/dist/src/{runtime/input/types.d.ts → shared/input.d.ts} +1 -1
  600. package/dist/src/shared/input.js +1 -0
  601. package/dist/src/shared/instructions-definition.d.ts +2 -0
  602. package/dist/src/shared/instructions-definition.js +1 -1
  603. package/dist/src/shared/objects.d.ts +5 -0
  604. package/dist/src/shared/objects.js +1 -0
  605. package/dist/src/shared/sandbox-definition.d.ts +1 -1
  606. package/dist/src/shared/skill-definition.d.ts +2 -0
  607. package/dist/src/shared/skill-definition.js +1 -1
  608. package/dist/src/{execution/skills/types.d.ts → shared/skill-types.d.ts} +1 -1
  609. package/dist/src/shared/skill-types.js +1 -0
  610. package/dist/src/{runtime/connections → shared}/validate-authorization.d.ts +1 -1
  611. package/dist/src/shared/vercel-project.d.ts +1 -0
  612. package/dist/src/shared/vercel-project.js +1 -1
  613. package/dist/src/svelte/index.js +1 -1
  614. package/dist/src/svelte/use-eve-agent.d.ts +8 -4
  615. package/dist/src/svelte/use-eve-agent.js +1 -1
  616. package/dist/src/tasks/json.d.ts +4 -89
  617. package/dist/src/tasks/json.js +1 -1
  618. package/dist/src/tasks/session-index.d.ts +1 -1
  619. package/dist/src/tasks/task-id.d.ts +0 -1
  620. package/dist/src/tasks/task-id.js +1 -1
  621. package/dist/src/tasks/types.d.ts +1 -1
  622. package/dist/src/tasks/types.js +1 -1
  623. package/dist/src/{public/tools/approval/approval-helpers.d.ts → tools/approval/policies.d.ts} +1 -1
  624. package/dist/src/tools/approval/policies.js +1 -0
  625. package/dist/src/tools/auth.d.ts +35 -0
  626. package/dist/src/tools/auth.js +1 -0
  627. package/dist/src/{public/definitions/tool.d.ts → tools/definition.d.ts} +42 -138
  628. package/dist/src/tools/definition.js +1 -0
  629. package/dist/src/{shared/durable-dynamic-tool-callbacks.d.ts → tools/durable-callbacks.d.ts} +1 -1
  630. package/dist/src/tools/durable-callbacks.js +1 -0
  631. package/dist/src/tools/dynamic.d.ts +68 -0
  632. package/dist/src/tools/dynamic.js +1 -0
  633. package/dist/src/tools/framework/agent-contract.d.ts +8 -0
  634. package/dist/src/tools/framework/agent-contract.js +1 -0
  635. package/dist/src/tools/framework/agent.d.ts +17 -0
  636. package/dist/src/tools/framework/agent.js +1 -0
  637. package/dist/src/tools/framework/ask-question.d.ts +50 -0
  638. package/dist/src/tools/framework/ask-question.js +1 -0
  639. package/dist/src/tools/framework/connection-search.d.ts +3 -0
  640. package/dist/src/tools/framework/connection-search.js +1 -0
  641. package/dist/src/tools/framework/task-cancel.d.ts +29 -0
  642. package/dist/src/tools/framework/task-cancel.js +1 -0
  643. package/dist/src/tools/framework/task-contract.d.ts +167 -0
  644. package/dist/src/tools/framework/task-contract.js +1 -0
  645. package/dist/src/tools/framework/task-update.d.ts +9 -0
  646. package/dist/src/tools/framework/task-update.js +1 -0
  647. package/dist/src/{public/tools/output-builders.d.ts → tools/model-output.d.ts} +41 -1
  648. package/dist/src/tools/provided/bash.d.ts +29 -0
  649. package/dist/src/tools/provided/bash.js +1 -0
  650. package/dist/src/tools/provided/glob.d.ts +26 -0
  651. package/dist/src/tools/provided/glob.js +2 -0
  652. package/dist/src/{runtime/framework-tools → tools/provided}/grep.d.ts +10 -10
  653. package/dist/src/tools/provided/grep.js +2 -0
  654. package/dist/src/tools/provided/load-skill.d.ts +2 -0
  655. package/dist/src/tools/provided/load-skill.js +1 -0
  656. package/dist/src/tools/provided/read-file.d.ts +27 -0
  657. package/dist/src/tools/provided/read-file.js +2 -0
  658. package/dist/src/{public/tools/sleep/index.d.ts → tools/provided/sleep.d.ts} +3 -3
  659. package/dist/src/tools/provided/sleep.js +1 -0
  660. package/dist/src/tools/provided/todo.d.ts +8 -0
  661. package/dist/src/tools/provided/todo.js +2 -0
  662. package/dist/src/{runtime/framework-tools → tools/provided}/web-fetch.d.ts +5 -2
  663. package/dist/src/tools/provided/web-fetch.js +2 -0
  664. package/dist/src/tools/provided/web-search.d.ts +39 -0
  665. package/dist/src/tools/provided/web-search.js +1 -0
  666. package/dist/src/tools/provided/write-file.d.ts +23 -0
  667. package/dist/src/tools/provided/write-file.js +2 -0
  668. package/dist/src/tools/workflow.d.ts +37 -0
  669. package/dist/src/tools/workflow.js +1 -0
  670. package/dist/src/tracing/agent-action-instrumentation.js +1 -1
  671. package/dist/src/tracing/agent-approval-instrumentation.js +1 -1
  672. package/dist/src/tracing/agent-channel-delivery-instrumentation.js +1 -1
  673. package/dist/src/tracing/agent-otel-provider.js +2 -2
  674. package/dist/src/tracing/agent-otel-session-context.d.ts +1 -1
  675. package/dist/src/tracing/agent-otel-session-context.js +1 -1
  676. package/dist/src/tracing/agent-span-id-generator.d.ts +1 -0
  677. package/dist/src/tracing/agent-span-id-generator.js +1 -1
  678. package/dist/src/tracing/agent-trace-context-store.d.ts +1 -1
  679. package/dist/src/tracing/agent-trace-context-store.js +1 -1
  680. package/dist/src/tracing/agent-trace-span-processor.js +1 -1
  681. package/dist/src/tracing/agent-trace-state.d.ts +2 -6
  682. package/dist/src/tracing/agent-trace-state.js +1 -1
  683. package/dist/src/tracing/install-instrumentation-runtime.js +1 -1
  684. package/dist/src/tracing/local-trace-reader.d.ts +1 -3
  685. package/dist/src/tracing/local-trace-reader.js +1 -1
  686. package/dist/src/tracing/otel-declaration.d.ts +1 -2
  687. package/dist/src/tracing/otel-registration.js +1 -1
  688. package/dist/src/tracing/sampled-trace.d.ts +10 -2
  689. package/dist/src/tracing/sampled-trace.js +1 -1
  690. package/dist/src/vue/index.js +1 -1
  691. package/dist/src/vue/use-eve-agent.d.ts +8 -4
  692. package/dist/src/vue/use-eve-agent.js +1 -1
  693. package/docs/agent-config.md +16 -4
  694. package/docs/channels/chat-sdk.mdx +1 -1
  695. package/docs/channels/discord.mdx +5 -1
  696. package/docs/channels/eve.mdx +19 -3
  697. package/docs/channels/github.mdx +2 -0
  698. package/docs/channels/linear.mdx +1 -1
  699. package/docs/channels/linq.mdx +1 -1
  700. package/docs/channels/overview.mdx +1 -1
  701. package/docs/channels/photon.mdx +4 -4
  702. package/docs/channels/slack.mdx +20 -3
  703. package/docs/channels/teams.mdx +1 -1
  704. package/docs/channels/telegram.mdx +2 -0
  705. package/docs/concepts/built-in-tools.md +31 -21
  706. package/docs/concepts/sessions-runs-and-streaming.md +3 -1
  707. package/docs/connections/overview.mdx +1 -1
  708. package/docs/extensions.md +2 -2
  709. package/docs/getting-started.mdx +10 -9
  710. package/docs/guides/auth-and-route-protection.md +3 -3
  711. package/docs/guides/client/output-schema.mdx +2 -2
  712. package/docs/guides/client/overview.mdx +4 -2
  713. package/docs/guides/dev-tui.md +26 -15
  714. package/docs/guides/frontend/nuxt.mdx +4 -3
  715. package/docs/guides/frontend/overview.mdx +21 -18
  716. package/docs/guides/frontend/sveltekit.mdx +4 -3
  717. package/docs/guides/frontend/use-eve-agent-svelte.mdx +5 -4
  718. package/docs/guides/frontend/use-eve-agent-vue.mdx +5 -4
  719. package/docs/guides/instrumentation.md +1 -0
  720. package/docs/guides/remote-agents.md +37 -18
  721. package/docs/meta.json +1 -1
  722. package/docs/patterns/multi-tenant-approvals.md +1 -1
  723. package/docs/reference/cli.md +2 -4
  724. package/docs/reference/typescript-api.md +35 -31
  725. package/docs/sandbox.mdx +21 -1
  726. package/docs/subagents/index.mdx +11 -28
  727. package/docs/tools/human-in-the-loop.md +43 -2
  728. package/docs/tools/overview.mdx +1 -1
  729. package/package.json +59 -9
  730. package/dist/src/compiler/normalize-extension.d.ts +0 -80
  731. package/dist/src/compiler/normalize-extension.js +0 -1
  732. package/dist/src/execution/sandbox/write-file-tool.js +0 -1
  733. package/dist/src/execution/web-fetch/tool.js +0 -1
  734. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response-from-manifest.d.ts +0 -9
  735. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response-from-manifest.js +0 -1
  736. package/dist/src/internal/nitro/routes/health.d.ts +0 -14
  737. package/dist/src/internal/nitro/routes/health.js +0 -1
  738. package/dist/src/node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js +0 -1
  739. package/dist/src/public/definitions/tool.js +0 -1
  740. package/dist/src/public/tool-result-narrowing.js +0 -1
  741. package/dist/src/public/tools/approval/approval-helpers.js +0 -1
  742. package/dist/src/public/tools/defaults.d.ts +0 -46
  743. package/dist/src/public/tools/defaults.js +0 -1
  744. package/dist/src/public/tools/define-bash-tool.d.ts +0 -21
  745. package/dist/src/public/tools/define-bash-tool.js +0 -1
  746. package/dist/src/public/tools/define-glob-tool.d.ts +0 -22
  747. package/dist/src/public/tools/define-glob-tool.js +0 -1
  748. package/dist/src/public/tools/define-grep-tool.d.ts +0 -22
  749. package/dist/src/public/tools/define-grep-tool.js +0 -1
  750. package/dist/src/public/tools/define-read-file-tool.d.ts +0 -21
  751. package/dist/src/public/tools/define-read-file-tool.js +0 -1
  752. package/dist/src/public/tools/define-write-file-tool.d.ts +0 -22
  753. package/dist/src/public/tools/define-write-file-tool.js +0 -1
  754. package/dist/src/public/tools/internal.d.ts +0 -13
  755. package/dist/src/public/tools/internal.js +0 -1
  756. package/dist/src/public/tools/sleep/index.js +0 -1
  757. package/dist/src/runtime/connections/callback-route.js +0 -1
  758. package/dist/src/runtime/framework-channels/index.d.ts +0 -6
  759. package/dist/src/runtime/framework-channels/index.js +0 -1
  760. package/dist/src/runtime/framework-tools/agent.d.ts +0 -29
  761. package/dist/src/runtime/framework-tools/agent.js +0 -1
  762. package/dist/src/runtime/framework-tools/ask-question.d.ts +0 -35
  763. package/dist/src/runtime/framework-tools/ask-question.js +0 -1
  764. package/dist/src/runtime/framework-tools/bash.d.ts +0 -24
  765. package/dist/src/runtime/framework-tools/bash.js +0 -1
  766. package/dist/src/runtime/framework-tools/connection-search-dynamic.d.ts +0 -19
  767. package/dist/src/runtime/framework-tools/connection-search-dynamic.js +0 -2
  768. package/dist/src/runtime/framework-tools/final-output.js +0 -1
  769. package/dist/src/runtime/framework-tools/glob.d.ts +0 -26
  770. package/dist/src/runtime/framework-tools/glob.js +0 -2
  771. package/dist/src/runtime/framework-tools/grep.js +0 -2
  772. package/dist/src/runtime/framework-tools/index.d.ts +0 -39
  773. package/dist/src/runtime/framework-tools/index.js +0 -1
  774. package/dist/src/runtime/framework-tools/read-file.d.ts +0 -27
  775. package/dist/src/runtime/framework-tools/read-file.js +0 -2
  776. package/dist/src/runtime/framework-tools/skill.d.ts +0 -12
  777. package/dist/src/runtime/framework-tools/skill.js +0 -1
  778. package/dist/src/runtime/framework-tools/subagent/local.js +0 -1
  779. package/dist/src/runtime/framework-tools/subagent/remote.js +0 -1
  780. package/dist/src/runtime/framework-tools/tasks.d.ts +0 -91
  781. package/dist/src/runtime/framework-tools/tasks.js +0 -1
  782. package/dist/src/runtime/framework-tools/web-fetch.js +0 -2
  783. package/dist/src/runtime/framework-tools/web-search.js +0 -1
  784. package/dist/src/runtime/framework-tools/write-file.d.ts +0 -23
  785. package/dist/src/runtime/framework-tools/write-file.js +0 -2
  786. package/dist/src/runtime/governance/auth/jwt-ecdsa.js +0 -1
  787. package/dist/src/runtime/governance/auth/jwt-hmac.js +0 -1
  788. package/dist/src/runtime/governance/auth/oidc.js +0 -1
  789. package/dist/src/runtime/input/types.js +0 -1
  790. package/dist/src/runtime/session-callback-route.d.ts +0 -6
  791. package/dist/src/runtime/session-callback-route.js +0 -1
  792. package/dist/src/runtime/task-input-response-route.d.ts +0 -5
  793. package/dist/src/runtime/task-input-response-route.js +0 -1
  794. package/dist/src/shared/durable-dynamic-tool-callbacks.js +0 -1
  795. package/dist/src/shared/dynamic-tool-definition.d.ts +0 -154
  796. package/dist/src/shared/dynamic-tool-definition.js +0 -1
  797. package/dist/src/shared/eve-server-health.d.ts +0 -5
  798. package/dist/src/shared/eve-server-health.js +0 -1
  799. package/dist/src/shared/tool-definition.d.ts +0 -89
  800. /package/dist/src/{runtime/governance → channel}/auth/http-basic.js +0 -0
  801. /package/dist/src/{runtime/governance → channel}/auth/token-claims.js +0 -0
  802. /package/dist/src/{runtime/governance → channel}/auth/types.js +0 -0
  803. /package/dist/src/{runtime/governance → channel}/auth/vercel-oidc-project.js +0 -0
  804. /package/dist/src/{runtime/governance/network → channel}/ip-allow-list.d.ts +0 -0
  805. /package/dist/src/{runtime/governance/network → channel}/ip-allow-list.js +0 -0
  806. /package/dist/src/{execution/skills/types.js → context/session-context.js} +0 -0
  807. /package/dist/src/execution/sandbox/{bash-tool.js → bash.js} +0 -0
  808. /package/dist/src/{runtime/framework-tools → execution/tools}/file-state.js +0 -0
  809. /package/dist/src/{runtime/framework-tools → execution/tools}/sleep.d.ts +0 -0
  810. /package/dist/src/{runtime/framework-tools → execution/tools}/sleep.js +0 -0
  811. /package/dist/src/execution/web-fetch/{tool.d.ts → execute.d.ts} +0 -0
  812. /package/dist/src/{shared/tool-definition.js → runtime/connections/registry-types.js} +0 -0
  813. /package/dist/src/{runtime/connections/types.js → shared/connection-types.js} +0 -0
  814. /package/dist/src/{runtime/sessions/auth.d.ts → shared/session-auth.d.ts} +0 -0
  815. /package/dist/src/{runtime/sessions/auth.js → shared/session-auth.js} +0 -0
  816. /package/dist/src/{runtime/connections → shared}/validate-authorization.js +0 -0
  817. /package/dist/src/{public/tools/output-builders.js → tools/model-output.js} +0 -0
  818. /package/dist/src/{shared/tool-schema.d.ts → tools/schema.d.ts} +0 -0
  819. /package/dist/src/{shared/tool-schema.js → tools/schema.js} +0 -0
  820. /package/dist/src/{shared/tool-task.d.ts → tools/task.d.ts} +0 -0
  821. /package/dist/src/{shared/tool-task.js → tools/task.js} +0 -0
@@ -1,14 +1 @@
1
- import type { SandboxBackend } from "#public/definitions/sandbox-backend.js";
2
- import type { DockerSandboxCreateOptions } from "#public/sandbox/docker-sandbox.js";
3
- /**
4
- * Constructs the Docker sandbox backend: the workspace runs inside a
5
- * real Linux container driven through the Docker CLI, using the
6
- * official Ubuntu 26.04 image by default.
7
- *
8
- * Requires a running Docker-compatible daemon reachable through a
9
- * `docker` CLI (Docker Desktop, OrbStack, Colima, Podman via its
10
- * docker-compatible CLI, …; override the binary with `EVE_DOCKER_PATH`).
11
- * Configuring this backend pins it unconditionally — when you want
12
- * fallback behavior, use `defaultBackend()` instead.
13
- */
14
- export declare function docker(opts?: DockerSandboxCreateOptions): SandboxBackend;
1
+ export * from "#sandbox/backends/docker.js";
@@ -1 +1 @@
1
- import{createDockerSandboxBackend}from"#execution/sandbox/bindings/local.js";function docker(e){return createDockerSandboxBackend({createOptions:e})}export{docker};
1
+ export*from"#sandbox/backends/docker.js";export{};
@@ -1,17 +1 @@
1
- import type { SandboxBackend } from "#public/definitions/sandbox-backend.js";
2
- import type { JustBashSandboxCreateOptions } from "#public/sandbox/just-bash-sandbox.js";
3
- /**
4
- * Constructs the just-bash sandbox backend: a pure-JS bash interpreter
5
- * over a virtual filesystem stored under `.eve/sandbox-cache/`. It
6
- * needs no daemon or VM, but commands run in a simulated shell — no
7
- * real binaries (`git`, `node`, package managers) and no network
8
- * isolation.
9
- *
10
- * The `just-bash` package is not bundled with eve. When it is missing,
11
- * `eve dev` installs it into the application automatically (disable
12
- * with `autoInstall: false`); production processes fail with an
13
- * actionable install error instead. Configuring this backend pins it
14
- * unconditionally — when you want fallback behavior, use
15
- * `defaultBackend()` instead.
16
- */
17
- export declare function justbash(opts?: JustBashSandboxCreateOptions): SandboxBackend;
1
+ export * from "#sandbox/backends/just-bash.js";
@@ -1 +1 @@
1
- import{createJustBashSandboxBackend}from"#execution/sandbox/bindings/local.js";function justbash(e){return createJustBashSandboxBackend({createOptions:e})}export{justbash};
1
+ export*from"#sandbox/backends/just-bash.js";export{};
@@ -1,17 +1 @@
1
- import type { SandboxBackend } from "#public/definitions/sandbox-backend.js";
2
- import type { MicrosandboxBootstrapUseOptions, MicrosandboxSandboxCreateOptions, MicrosandboxSessionUseOptions } from "#public/sandbox/microsandbox-sandbox.js";
3
- /**
4
- * Constructs the microsandbox sandbox backend: lightweight local VMs
5
- * via [microsandbox](https://www.npmjs.com/package/microsandbox) with
6
- * snapshot-backed templates and a firewall capable of domain-level
7
- * network policies and credential brokering.
8
- *
9
- * Supported hosts: macOS on Apple Silicon, or Linux (glibc) with KVM
10
- * enabled. The `microsandbox` package is not bundled with eve. When it
11
- * (or its VM runtime) is missing, `eve dev` installs both
12
- * automatically (disable with `setup: { autoInstall: false }`);
13
- * production processes fail with actionable errors instead.
14
- * Configuring this backend pins it unconditionally — when you want
15
- * fallback behavior, use `defaultBackend()` instead.
16
- */
17
- export declare function microsandbox(opts?: MicrosandboxSandboxCreateOptions): SandboxBackend<MicrosandboxBootstrapUseOptions, MicrosandboxSessionUseOptions>;
1
+ export * from "#sandbox/backends/microsandbox.js";
@@ -1 +1 @@
1
- import{createMicrosandboxSandboxBackend}from"#execution/sandbox/bindings/local.js";function microsandbox(e){return createMicrosandboxSandboxBackend({createOptions:e})}export{microsandbox};
1
+ export*from"#sandbox/backends/microsandbox.js";export{};
@@ -1,30 +1 @@
1
- import type { SandboxBackend } from "#public/definitions/sandbox-backend.js";
2
- import type { VercelSandboxBootstrapUseOptions, VercelSandboxOptions, VercelSandboxSessionUseOptions } from "#public/sandbox/vercel-sandbox.js";
3
- /**
4
- * Constructs the [Vercel Sandbox](https://vercel.com/docs/sandbox)
5
- * backend. Configuring this backend pins it unconditionally —
6
- * including for local development, where it creates real hosted
7
- * sandboxes (requires Vercel credentials).
8
- *
9
- * The optional provider creation fields are forwarded to Vercel Sandbox creation
10
- * for every fresh sandbox the framework creates (template at prewarm,
11
- * session at first-time create). On resume (`Sandbox.get`), no create
12
- * happens, so opts are not re-applied. `networkPolicy` is applied after
13
- * framework-owned base setup for fresh templates and template-less
14
- * sessions, before authored bootstrap code runs.
15
- *
16
- * `opts.source`, if supplied, is used only on the template create:
17
- * the author's snapshot, git revision, or tarball becomes the base
18
- * layer of the template. Bootstrap, seed files, and framework setup
19
- * still run on top, and every session derives from the resulting
20
- * eve-owned snapshot. `source` is stripped from session creates so the
21
- * framework's snapshot always wins.
22
- *
23
- * `bootstrap({ use })` applies its options to the template via
24
- * `sandbox.update(...)`; those settings persist into the snapshot.
25
- * `onSession({ use })` applies its options to the live session via the
26
- * SDK's `update` under the hood, overriding any overlapping field
27
- * from `opts`. `sessionCreateOptions`, when provided, is resolved only
28
- * when creating a fresh live session and can attach session-specific Drives.
29
- */
30
- export declare function vercel(opts?: VercelSandboxOptions): SandboxBackend<VercelSandboxBootstrapUseOptions, VercelSandboxSessionUseOptions>;
1
+ export * from "#sandbox/backends/vercel.js";
@@ -1 +1 @@
1
- import{createVercelSandbox}from"#execution/sandbox/bindings/vercel.js";function vercel(e){let{sessionCreateOptions:t,...n}=e??{};return createVercelSandbox({createOptions:n,resolveSessionCreateOptions:t})}export{vercel};
1
+ export*from"#sandbox/backends/vercel.js";export{};
@@ -1,4 +1,4 @@
1
- import type { IFileSystem } from "just-bash";
1
+ import type { CustomCommand, IFileSystem } from "just-bash";
2
2
  /**
3
3
  * Context passed to a custom just-bash filesystem factory for each live handle.
4
4
  */
@@ -26,6 +26,17 @@ export interface JustBashSandboxCreateOptions {
26
26
  * actionable install error instead. Defaults to `true`.
27
27
  */
28
28
  readonly autoInstall?: boolean;
29
+ /**
30
+ * Registers trusted host application code as commands in each live
31
+ * just-bash interpreter. Custom commands can participate in normal shell
32
+ * composition, including pipelines and redirections.
33
+ *
34
+ * Custom commands are not available during template prewarming. They run in
35
+ * eve's host process, outside the virtual filesystem security boundary, and
36
+ * are responsible for validating their own inputs and cleaning up host
37
+ * resources.
38
+ */
39
+ readonly customCommands?: ReadonlyArray<CustomCommand>;
29
40
  /**
30
41
  * Composes the filesystem used by each live sandbox handle. The factory is
31
42
  * called when a handle opens with eve's durable default filesystem; return a
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Skill authoring helpers and runtime accessors.
3
3
  */
4
- export type { SkillFile, SkillHandle } from "#execution/skills/types.js";
4
+ export type { SkillFile, SkillHandle } from "#shared/skill-types.js";
5
5
  export { defineSkill, type NamedSkillDefinition, type SkillDefinition, type SkillFileContent, type SkillPackageDefinition, } from "#public/definitions/skill.js";
6
- export { defineDynamic } from "#public/definitions/tool.js";
7
- export type { DynamicResolveContext, DynamicSentinel } from "#shared/dynamic-tool-definition.js";
6
+ export { defineDynamic } from "#dynamic/definition.js";
7
+ export type { DynamicResolveContext, DynamicSentinel } from "#dynamic/definition.js";
@@ -1 +1 @@
1
- import{defineDynamic}from"#public/definitions/tool.js";import{defineSkill}from"#public/definitions/skill.js";export{defineDynamic,defineSkill};
1
+ import{defineSkill}from"#public/definitions/skill.js";import{defineDynamic}from"#dynamic/definition.js";export{defineDynamic,defineSkill};
@@ -1 +1 @@
1
- import{joinRoutePrefix,normalizeOrigin}from"./routing.js";import{mkdir,open,readFile,rm,stat,writeFile}from"node:fs/promises";import{EVE_ROUTE_PREFIX}from"#protocol/routes.js";import{join}from"node:path";import{resolvePackageRoot}from"#internal/application/package.js";import{spawn}from"node:child_process";const EVE_BASE_URL_ENV=`EVE_BASE_URL`,DEFAULT_SERVER_READY_TIMEOUT_MS=3e4,DEV_SERVER_REGISTRY_TIMEOUT_MS=3e4,LOCAL_SERVER_URL_PATTERN=/https?:\/\/(?:\[[^\]\s]+\]|[^\s/:[\]]+)(?::\d+)?/;function isNodeErrorWithCode(e,t){return e instanceof Error&&`code`in e&&e.code===t}function delay(e){return new Promise(t=>setTimeout(t,e))}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function resolveEveCacheDirectory(e){return join(e,`.eve`)}function resolveEveDevServerRegistryPath(e){return join(resolveEveCacheDirectory(e),`sveltekit-dev-server.json`)}function resolveEveDevServerLockPath(e){return join(resolveEveCacheDirectory(e),`sveltekit-dev-server.lock`)}function normalizeDevServerRegistry(e){if(isRecord(e)&&!(typeof e.appRoot!=`string`||typeof e.origin!=`string`||typeof e.updatedAt!=`string`)&&!(e.pid!==null&&typeof e.pid!=`number`))try{return{appRoot:e.appRoot,origin:normalizeOrigin(e.origin),pid:e.pid,updatedAt:e.updatedAt}}catch{return}}async function isEveServerHealthy(t){let n=new AbortController,r=setTimeout(()=>n.abort(),1e3);try{return(await fetch(joinRoutePrefix(t,`${EVE_ROUTE_PREFIX}/health`),{signal:n.signal})).ok}catch{return!1}finally{clearTimeout(r)}}async function readUsableEveDevServerRegistry(e){try{let t=normalizeDevServerRegistry(JSON.parse(await readFile(resolveEveDevServerRegistryPath(e),`utf8`)));return t===void 0||t.appRoot!==e||!await isEveServerHealthy(t.origin)?void 0:t.origin}catch(e){if(isNodeErrorWithCode(e,`ENOENT`))return;throw e}}async function writeEveDevServerRegistry(e,t){await mkdir(resolveEveCacheDirectory(e),{recursive:!0}),await writeFile(resolveEveDevServerRegistryPath(e),`${JSON.stringify({appRoot:e,origin:t.origin,pid:t.process?.pid??null,updatedAt:new Date().toISOString()},null,2)}\n`)}async function removeStaleEveDevServerLock(e){try{let t=await stat(e);Date.now()-t.mtimeMs>3e4&&await rm(e,{force:!0})}catch(e){if(!isNodeErrorWithCode(e,`ENOENT`))throw e}}async function acquireEveDevServerLock(e){let t=resolveEveCacheDirectory(e),i=resolveEveDevServerLockPath(e),o=Date.now()+DEV_SERVER_REGISTRY_TIMEOUT_MS;for(await mkdir(t,{recursive:!0});;)try{let e=await open(i,`wx`);return await e.writeFile(`${String(process.pid)}\n`),await e.close(),async()=>{await rm(i,{force:!0})}}catch(t){if(!isNodeErrorWithCode(t,`EEXIST`))throw t;if(await readUsableEveDevServerRegistry(e)!==void 0)return async()=>{};if(await removeStaleEveDevServerLock(i),Date.now()>o)throw Error(`Timed out after ${DEV_SERVER_REGISTRY_TIMEOUT_MS}ms waiting for another SvelteKit process to start eve.`);await delay(100)}}function createEveBinaryPath(){return join(resolvePackageRoot(),`bin`,`eve.js`)}function startServerProcess(e){return new Promise((n,r)=>{let i=spawn(e.command,e.args,{cwd:e.cwd,env:{...process.env,...e.env},stdio:[`ignore`,`pipe`,`pipe`]}),a=setTimeout(()=>{i.kill(),r(Error(`Timed out after ${DEFAULT_SERVER_READY_TIMEOUT_MS}ms waiting for eve to print its server URL.`))},DEFAULT_SERVER_READY_TIMEOUT_MS),cleanup=()=>{clearTimeout(a),i.off(`error`,handleError),i.off(`exit`,handleEarlyExit)},handleError=e=>{cleanup(),r(e)},handleEarlyExit=(e,t)=>{cleanup(),r(Error(`eve server process exited before printing its server URL (code ${String(e)}, signal ${String(t)}).`))},o=!1,handleOutput=e=>{if(o)return;let r=LOCAL_SERVER_URL_PATTERN.exec(e.toString(`utf8`));r!==null&&(o=!0,cleanup(),n({origin:normalizeOrigin(r[0]),process:i}))};i.once(`error`,handleError),i.once(`exit`,handleEarlyExit),i.stdout.on(`data`,e=>{process.stdout.write(e),handleOutput(e)}),i.stderr.on(`data`,e=>{process.stderr.write(e),handleOutput(e)})})}function installProcessShutdown(e){let t=e.process;if(t===void 0)return e;let close=()=>{process.off(`beforeExit`,close),process.off(`exit`,close),t.killed||t.kill()};return process.once(`beforeExit`,close),process.once(`exit`,close),e}function startEveDevServer(e){return startServerProcess({args:[createEveBinaryPath(),`dev`,`--no-ui`,`--port`,`0`],command:process.execPath,cwd:e}).then(e=>(process.env[EVE_BASE_URL_ENV]=e.origin,installProcessShutdown(e)))}async function resolveSharedEveDevServer(e){let t=await readUsableEveDevServerRegistry(e);if(t!==void 0)return process.env[EVE_BASE_URL_ENV]=t,{origin:t};let n=await acquireEveDevServerLock(e);try{let t=await readUsableEveDevServerRegistry(e);if(t!==void 0)return process.env[EVE_BASE_URL_ENV]=t,{origin:t};let n=await startEveDevServer(e);return await writeEveDevServerRegistry(e,n),n}finally{await n()}}export{EVE_BASE_URL_ENV,normalizeDevServerRegistry,resolveSharedEveDevServer};
1
+ import{normalizeOrigin}from"./routing.js";import{mkdir,open,readFile,rm,stat,writeFile}from"node:fs/promises";import{join}from"node:path";import{resolvePackageRoot}from"#internal/application/package.js";import{spawn}from"node:child_process";import{readDevelopmentRuntimeArtifactsRevision}from"#services/dev-client/runtime-artifacts.js";const EVE_BASE_URL_ENV=`EVE_BASE_URL`,DEFAULT_SERVER_READY_TIMEOUT_MS=3e4,DEV_SERVER_REGISTRY_TIMEOUT_MS=3e4,LOCAL_SERVER_URL_PATTERN=/https?:\/\/(?:\[[^\]\s]+\]|[^\s/:[\]]+)(?::\d+)?/;function isNodeErrorWithCode(e,t){return e instanceof Error&&`code`in e&&e.code===t}function delay(e){return new Promise(t=>setTimeout(t,e))}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function resolveEveCacheDirectory(e){return join(e,`.eve`)}function resolveEveDevServerRegistryPath(e){return join(resolveEveCacheDirectory(e),`sveltekit-dev-server.json`)}function resolveEveDevServerLockPath(e){return join(resolveEveCacheDirectory(e),`sveltekit-dev-server.lock`)}function normalizeDevServerRegistry(t){if(isRecord(t)&&!(typeof t.appRoot!=`string`||typeof t.origin!=`string`||typeof t.updatedAt!=`string`)&&!(t.pid!==null&&typeof t.pid!=`number`))try{return{appRoot:t.appRoot,origin:normalizeOrigin(t.origin),pid:t.pid,updatedAt:t.updatedAt}}catch{return}}async function readUsableEveDevServerRegistry(e){try{let t=normalizeDevServerRegistry(JSON.parse(await readFile(resolveEveDevServerRegistryPath(e),`utf8`)));return t===void 0||t.appRoot!==e||await readDevelopmentRuntimeArtifactsRevision({serverUrl:t.origin,timeoutMs:1e3})===void 0?void 0:t.origin}catch(e){if(isNodeErrorWithCode(e,`ENOENT`))return;throw e}}async function writeEveDevServerRegistry(e,n){await mkdir(resolveEveCacheDirectory(e),{recursive:!0}),await writeFile(resolveEveDevServerRegistryPath(e),`${JSON.stringify({appRoot:e,origin:n.origin,pid:n.process?.pid??null,updatedAt:new Date().toISOString()},null,2)}\n`)}async function removeStaleEveDevServerLock(e){try{let t=await stat(e);Date.now()-t.mtimeMs>3e4&&await rm(e,{force:!0})}catch(e){if(!isNodeErrorWithCode(e,`ENOENT`))throw e}}async function acquireEveDevServerLock(e){let r=resolveEveCacheDirectory(e),a=resolveEveDevServerLockPath(e),o=Date.now()+DEV_SERVER_REGISTRY_TIMEOUT_MS;for(await mkdir(r,{recursive:!0});;)try{let e=await open(a,`wx`);return await e.writeFile(`${String(process.pid)}\n`),await e.close(),async()=>{await rm(a,{force:!0})}}catch(t){if(!isNodeErrorWithCode(t,`EEXIST`))throw t;if(await readUsableEveDevServerRegistry(e)!==void 0)return async()=>{};if(await removeStaleEveDevServerLock(a),Date.now()>o)throw Error(`Timed out after ${DEV_SERVER_REGISTRY_TIMEOUT_MS}ms waiting for another SvelteKit process to start eve.`);await delay(100)}}function createEveBinaryPath(){return join(resolvePackageRoot(),`bin`,`eve.js`)}function startServerProcess(t){return new Promise((n,r)=>{let i=spawn(t.command,t.args,{cwd:t.cwd,env:{...process.env,...t.env},stdio:[`ignore`,`pipe`,`pipe`]}),a=setTimeout(()=>{i.kill(),r(Error(`Timed out after ${DEFAULT_SERVER_READY_TIMEOUT_MS}ms waiting for eve to print its server URL.`))},DEFAULT_SERVER_READY_TIMEOUT_MS),cleanup=()=>{clearTimeout(a),i.off(`error`,handleError),i.off(`exit`,handleEarlyExit)},handleError=e=>{cleanup(),r(e)},handleEarlyExit=(e,t)=>{cleanup(),r(Error(`eve server process exited before printing its server URL (code ${String(e)}, signal ${String(t)}).`))},o=!1,handleOutput=t=>{if(o)return;let r=LOCAL_SERVER_URL_PATTERN.exec(t.toString(`utf8`));r!==null&&(o=!0,cleanup(),n({origin:normalizeOrigin(r[0]),process:i}))};i.once(`error`,handleError),i.once(`exit`,handleEarlyExit),i.stdout.on(`data`,e=>{process.stdout.write(e),handleOutput(e)}),i.stderr.on(`data`,e=>{process.stderr.write(e),handleOutput(e)})})}function installProcessShutdown(e){let t=e.process;if(t===void 0)return e;let close=()=>{process.off(`beforeExit`,close),process.off(`exit`,close),t.killed||t.kill()};return process.once(`beforeExit`,close),process.once(`exit`,close),e}function startEveDevServer(e){return startServerProcess({args:[createEveBinaryPath(),`dev`,`--no-ui`,`--port`,`0`],command:process.execPath,cwd:e}).then(e=>(process.env[EVE_BASE_URL_ENV]=e.origin,installProcessShutdown(e)))}async function resolveSharedEveDevServer(e){let t=await readUsableEveDevServerRegistry(e);if(t!==void 0)return process.env[EVE_BASE_URL_ENV]=t,{origin:t};let n=await acquireEveDevServerLock(e);try{let t=await readUsableEveDevServerRegistry(e);if(t!==void 0)return process.env[EVE_BASE_URL_ENV]=t,{origin:t};let n=await startEveDevServer(e);return await writeEveDevServerRegistry(e,n),n}finally{await n()}}export{EVE_BASE_URL_ENV,normalizeDevServerRegistry,resolveSharedEveDevServer};
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Per-tool approval helpers used inside `agent/tools/*.ts` files.
3
3
  */
4
- export type { Approval, ApprovalContext, ApprovalStatus } from "#public/definitions/approval.js";
5
- export { always, never, once } from "#public/tools/approval/approval-helpers.js";
4
+ export type { Approval, ApprovalConfiguration, ApprovalContext, ApprovalPolicy, ApprovalRequest, ApprovalResponse, ApprovalResponseAuth, ApprovalResponseContext, ApprovalResponseDecision, ApprovalResponsePolicy, ApprovalResponseSession, ApprovalStatus, } from "#public/definitions/approval.js";
5
+ export { always, never, once } from "#tools/approval/policies.js";
@@ -1 +1 @@
1
- import{always,never,once}from"#public/tools/approval/approval-helpers.js";export{always,never,once};
1
+ import{always,never,once}from"#tools/approval/policies.js";export{always,never,once};
@@ -0,0 +1,3 @@
1
+ import bashDefinition from "#tools/provided/bash.js";
2
+ export { BASH_INPUT_SCHEMA, BASH_OUTPUT_SCHEMA, type BashToolInput, type BashToolOutput, bash, } from "#tools/provided/bash.js";
3
+ export default bashDefinition;
@@ -0,0 +1 @@
1
+ import bashDefinition,{BASH_INPUT_SCHEMA,BASH_OUTPUT_SCHEMA,bash}from"#tools/provided/bash.js";var bash_default=bashDefinition;export{BASH_INPUT_SCHEMA,BASH_OUTPUT_SCHEMA,bash,bash_default as default};
@@ -0,0 +1,3 @@
1
+ import globDefinition from "#tools/provided/glob.js";
2
+ export { GLOB_INPUT_SCHEMA, GLOB_OUTPUT_SCHEMA, type GlobToolInput, type GlobToolOutput, glob, } from "#tools/provided/glob.js";
3
+ export default globDefinition;
@@ -0,0 +1 @@
1
+ import globDefinition,{GLOB_INPUT_SCHEMA,GLOB_OUTPUT_SCHEMA,glob}from"#tools/provided/glob.js";var glob_default=globDefinition;export{GLOB_INPUT_SCHEMA,GLOB_OUTPUT_SCHEMA,glob_default as default,glob};
@@ -0,0 +1,3 @@
1
+ import grepDefinition from "#tools/provided/grep.js";
2
+ export { GREP_INPUT_SCHEMA, GREP_OUTPUT_SCHEMA, type GrepToolInput, type GrepToolOutput, grep, } from "#tools/provided/grep.js";
3
+ export default grepDefinition;
@@ -0,0 +1 @@
1
+ import grepDefinition,{GREP_INPUT_SCHEMA,GREP_OUTPUT_SCHEMA,grep}from"#tools/provided/grep.js";var grep_default=grepDefinition;export{GREP_INPUT_SCHEMA,GREP_OUTPUT_SCHEMA,grep_default as default,grep};
@@ -1,15 +1,10 @@
1
1
  /**
2
2
  * Tool authoring helpers for `agent/tools/*.ts` files.
3
3
  */
4
- export { type BackgroundToolDefinition, type DisabledToolSentinel, type ExperimentalWorkflowToolDefinition, type ExperimentalWorkflowToolInput, defineDynamic, defineTool, disableTool, experimental_workflow, isDisabledToolSentinel, isExperimentalWorkflowToolDefinition, type TaskBinding, type TaskDelegated, type TaskExec, type TaskExecutorBinding, type TaskReceipt, type ToolAuthOptions, type ToolAuthProvider, type ToolDefinition, type ToolContext, type ToolModelOutput, type ToolModelOutputPart, } from "#public/definitions/tool.js";
5
- export { toolOutput, toolOutputPart } from "#public/tools/output-builders.js";
6
- export type { Approval, ApprovalConfiguration, ApprovalContext, ApprovalPolicy, ApprovalRequest, ApprovalResponse, ApprovalResponseAuth, ApprovalResponseContext, ApprovalResponseDecision, ApprovalResponsePolicy, ApprovalResponseSession, ApprovalStatus, } from "#public/definitions/approval.js";
7
- export type { DynamicToolEntry, DynamicEvents, DynamicToolEvents, DynamicResolveContext, DynamicSentinel, DynamicToolSet, DynamicToolResult, } from "#shared/dynamic-tool-definition.js";
4
+ export { type BackgroundToolDefinition, type DisabledToolSentinel, defineTool, disableTool, isDisabledToolSentinel, type TaskBinding, type TaskDelegated, type TaskExec, type TaskExecutorBinding, type TaskReceipt, type ToolAuthOptions, type ToolAuthProvider, type ToolDefinition, type ToolContext, type ToolModelOutput, type ToolModelOutputPart, } from "#tools/definition.js";
5
+ export { defineDynamic } from "#dynamic/definition.js";
6
+ export { toolOutput, toolOutputPart } from "#tools/model-output.js";
7
+ export type { DynamicEvents, DynamicResolveContext, DynamicSentinel } from "#dynamic/definition.js";
8
+ export type { DynamicToolEntry, DynamicToolEvents, DynamicToolSet, DynamicToolResult, } from "#tools/dynamic.js";
8
9
  export { type SessionContext } from "#public/definitions/callback-context.js";
9
- export { toolResultFrom, type MatchedConnectionResult, type MatchedToolResult, type ToolResultFromFn, } from "#public/tool-result-narrowing.js";
10
- export { type DefineBashToolInput, defineBashTool } from "#public/tools/define-bash-tool.js";
11
- export { type DefineGlobToolInput, defineGlobTool } from "#public/tools/define-glob-tool.js";
12
- export { type DefineGrepToolInput, defineGrepTool } from "#public/tools/define-grep-tool.js";
13
- export { type DefineReadFileToolInput, defineReadFileTool, } from "#public/tools/define-read-file-tool.js";
14
- export { type DefineWriteFileToolInput, defineWriteFileTool, } from "#public/tools/define-write-file-tool.js";
15
- export { type WebSearchProvider, type WebSearchToolDefinition, type WebSearchToolInput, webSearch, } from "#public/tools/web-search.js";
10
+ export { toolResultFrom, type MatchedConnectionResult, type MatchedToolResult, type ToolResultFromFn, } from "#public/tools/result.js";
@@ -1 +1 @@
1
- import{defineDynamic,defineTool,disableTool,experimental_workflow,isDisabledToolSentinel,isExperimentalWorkflowToolDefinition}from"#public/definitions/tool.js";import{webSearch}from"#public/tools/web-search.js";import{toolResultFrom}from"#public/tool-result-narrowing.js";import{toolOutput,toolOutputPart}from"#public/tools/output-builders.js";import{defineBashTool}from"#public/tools/define-bash-tool.js";import{defineGlobTool}from"#public/tools/define-glob-tool.js";import{defineGrepTool}from"#public/tools/define-grep-tool.js";import{defineReadFileTool}from"#public/tools/define-read-file-tool.js";import{defineWriteFileTool}from"#public/tools/define-write-file-tool.js";export{defineBashTool,defineDynamic,defineGlobTool,defineGrepTool,defineReadFileTool,defineTool,defineWriteFileTool,disableTool,experimental_workflow,isDisabledToolSentinel,isExperimentalWorkflowToolDefinition,toolOutput,toolOutputPart,toolResultFrom,webSearch};
1
+ import{defineTool,disableTool,isDisabledToolSentinel}from"#tools/definition.js";import{defineDynamic}from"#dynamic/definition.js";import{toolOutput,toolOutputPart}from"#tools/model-output.js";import{toolResultFrom}from"#public/tools/result.js";export{defineDynamic,defineTool,disableTool,isDisabledToolSentinel,toolOutput,toolOutputPart,toolResultFrom};
@@ -0,0 +1,3 @@
1
+ import loadSkillDefinition from "#tools/provided/load-skill.js";
2
+ export { loadSkill } from "#tools/provided/load-skill.js";
3
+ export default loadSkillDefinition;
@@ -0,0 +1 @@
1
+ import loadSkillDefinition,{loadSkill}from"#tools/provided/load-skill.js";var load_skill_default=loadSkillDefinition;export{load_skill_default as default,loadSkill};
@@ -0,0 +1,3 @@
1
+ import readFileDefinition from "#tools/provided/read-file.js";
2
+ export { READ_FILE_INPUT_SCHEMA, READ_FILE_OUTPUT_SCHEMA, type ReadFileToolInput, type ReadFileToolOutput, readFile, } from "#tools/provided/read-file.js";
3
+ export default readFileDefinition;
@@ -0,0 +1 @@
1
+ import readFileDefinition,{READ_FILE_INPUT_SCHEMA,READ_FILE_OUTPUT_SCHEMA,readFile}from"#tools/provided/read-file.js";var read_file_default=readFileDefinition;export{READ_FILE_INPUT_SCHEMA,READ_FILE_OUTPUT_SCHEMA,read_file_default as default,readFile};
@@ -1,6 +1,6 @@
1
- import type { RuntimeActionResult } from "#runtime/actions/types.js";
1
+ import type { RuntimeActionResult } from "#shared/action-types.js";
2
2
  import type { McpClientConnectionDefinition } from "#public/definitions/connections/mcp.js";
3
- import type { ToolDefinition } from "#public/definitions/tool.js";
3
+ import type { ToolDefinition } from "#tools/definition.js";
4
4
  /**
5
5
  * Narrowed tool result returned by {@link toolResultFrom} when the
6
6
  * action result matches an authored {@link ToolDefinition}.
@@ -27,31 +27,6 @@ export interface MatchedConnectionResult {
27
27
  readonly output: unknown;
28
28
  readonly toolName: string;
29
29
  }
30
- /**
31
- * Discriminated source entry stamped on authored definitions during
32
- * agent resolution via {@link stampDefinitionSource}.
33
- */
34
- type DefinitionSourceEntry = {
35
- readonly kind: "connection";
36
- readonly logicalPath?: string;
37
- readonly name: string;
38
- } | {
39
- readonly kind: "tool";
40
- readonly logicalPath?: string;
41
- readonly name: string;
42
- };
43
- /**
44
- * Stamps a stable key on the definition so it can be identified across
45
- * module instances. Definition helpers first stamp an authoring-time
46
- * fallback key; the resolver overwrites it with a source-derived key.
47
- */
48
- export declare function stampDefinitionKey(definition: object, key: string): void;
49
- /**
50
- * Registers a definition key → source entry mapping in the global
51
- * registry. Called by the resolution pipeline after loading the
52
- * authored module.
53
- */
54
- export declare function registerDefinitionSource(key: string, entry: DefinitionSourceEntry): void;
55
30
  /**
56
31
  * Overloaded signature for {@link toolResultFrom}.
57
32
  */
@@ -71,4 +46,3 @@ export interface ToolResultFromFn {
71
46
  * `isError` is `true`.
72
47
  */
73
48
  export declare const toolResultFrom: ToolResultFromFn;
74
- export {};
@@ -0,0 +1 @@
1
+ import{readDefinitionSource}from"#internal/authored-definition/source-identity.js";const toolResultFrom=toolResultFromImpl;function toolResultFromImpl(e,t){if(e.kind!==`tool-result`||e.isError===!0)return;let n=readDefinitionSource(t);if(n===void 0||n.kind===`ambiguous`)return;if(n.kind===`tool`)return e.toolName===n.name?{callId:e.callId,output:e.output,toolName:e.toolName}:void 0;let r=n.name+`__`;if(e.toolName.startsWith(r))return{callId:e.callId,connectionToolName:e.toolName.slice(r.length),output:e.output,toolName:e.toolName}}export{toolResultFrom};
@@ -0,0 +1 @@
1
+ export { type SleepToolInput, type SleepToolOutput, sleep } from "#tools/provided/sleep.js";
@@ -0,0 +1 @@
1
+ import{sleep}from"#tools/provided/sleep.js";export{sleep};
@@ -0,0 +1,3 @@
1
+ import todoDefinition from "#tools/provided/todo.js";
2
+ export { todo } from "#tools/provided/todo.js";
3
+ export default todoDefinition;
@@ -0,0 +1 @@
1
+ import todoDefinition,{todo}from"#tools/provided/todo.js";var todo_default=todoDefinition;export{todo_default as default,todo};
@@ -0,0 +1,3 @@
1
+ import webFetchDefinition from "#tools/provided/web-fetch.js";
2
+ export { WEB_FETCH_INPUT_SCHEMA, WEB_FETCH_OUTPUT_SCHEMA, type WebFetchToolInput, type WebFetchToolOutput, webFetch, } from "#tools/provided/web-fetch.js";
3
+ export default webFetchDefinition;
@@ -0,0 +1 @@
1
+ import webFetchDefinition,{WEB_FETCH_INPUT_SCHEMA,WEB_FETCH_OUTPUT_SCHEMA,webFetch}from"#tools/provided/web-fetch.js";var web_fetch_default=webFetchDefinition;export{WEB_FETCH_INPUT_SCHEMA,WEB_FETCH_OUTPUT_SCHEMA,web_fetch_default as default,webFetch};
@@ -1,36 +1,3 @@
1
- import type { WebSearchProvider } from "#shared/web-search.js";
2
- export type { WebSearchProvider };
3
- declare const WEB_SEARCH_TOOL_KIND = "eve:web-search-tool";
4
- /** Configuration accepted by {@link webSearch}. */
5
- export interface WebSearchToolInput {
6
- /** Provider to use when the agent model is routed through AI Gateway. */
7
- readonly provider: WebSearchProvider;
8
- }
9
- /**
10
- * Provider-managed web search configuration.
11
- *
12
- * Export this from `agent/tools/web_search.ts` to select the AI Gateway
13
- * search provider for that agent. Direct provider models continue to use
14
- * their native web search implementation.
15
- */
16
- export interface WebSearchToolDefinition {
17
- readonly kind: typeof WEB_SEARCH_TOOL_KIND;
18
- readonly provider: WebSearchProvider;
19
- }
20
- /**
21
- * Configures the framework-provided `web_search` tool.
22
- *
23
- * When no configuration file is present, eve uses Exa for AI Gateway
24
- * models.
25
- *
26
- * @example
27
- * ```ts
28
- * // agent/tools/web_search.ts
29
- * import { webSearch } from "eve/tools";
30
- *
31
- * export default webSearch({ provider: "parallel" });
32
- * ```
33
- */
34
- export declare function webSearch(input: WebSearchToolInput): WebSearchToolDefinition;
35
- /** Returns whether a value is a provider-managed web search definition. */
36
- export declare function isWebSearchToolDefinition(value: unknown): value is WebSearchToolDefinition;
1
+ import webSearchDefinition from "#tools/provided/web-search.js";
2
+ export { type WebSearchProvider, type WebSearchToolDefinition, type WebSearchToolInput, defaultWebSearch, isWebSearchToolDefinition, webSearch, } from "#tools/provided/web-search.js";
3
+ export default webSearchDefinition;
@@ -1 +1 @@
1
- const WEB_SEARCH_TOOL_KIND=`eve:web-search-tool`;function webSearch(e){return{kind:WEB_SEARCH_TOOL_KIND,provider:e.provider}}function isWebSearchToolDefinition(e){return typeof e==`object`&&!!e&&e.kind===WEB_SEARCH_TOOL_KIND}export{isWebSearchToolDefinition,webSearch};
1
+ import webSearchDefinition,{defaultWebSearch,isWebSearchToolDefinition,webSearch}from"#tools/provided/web-search.js";var web_search_default=webSearchDefinition;export{web_search_default as default,defaultWebSearch,isWebSearchToolDefinition,webSearch};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Experimental Workflow tool authoring helpers.
3
+ */
4
+ export { type ExperimentalWorkflowToolDefinition, type ExperimentalWorkflowToolInput, experimental_workflow, isExperimentalWorkflowToolDefinition, } from "#tools/workflow.js";
@@ -0,0 +1 @@
1
+ import{experimental_workflow,isExperimentalWorkflowToolDefinition}from"#tools/workflow.js";export{experimental_workflow,isExperimentalWorkflowToolDefinition};
@@ -0,0 +1,3 @@
1
+ import writeFileDefinition from "#tools/provided/write-file.js";
2
+ export { WRITE_FILE_INPUT_SCHEMA, WRITE_FILE_OUTPUT_SCHEMA, type WriteFileToolInput, type WriteFileToolOutput, writeFile, } from "#tools/provided/write-file.js";
3
+ export default writeFileDefinition;
@@ -0,0 +1 @@
1
+ import writeFileDefinition,{WRITE_FILE_INPUT_SCHEMA,WRITE_FILE_OUTPUT_SCHEMA,writeFile}from"#tools/provided/write-file.js";var write_file_default=writeFileDefinition;export{WRITE_FILE_INPUT_SCHEMA,WRITE_FILE_OUTPUT_SCHEMA,write_file_default as default,writeFile};
@@ -1,28 +1 @@
1
- /**
2
- * Shared JSON primitive used by public eve APIs that need to declare
3
- * author-supplied values as JSON-serializable.
4
- *
5
- * The canonical use site is {@link AuthorizationDefinition}, whose
6
- * `State` type is constrained to {@link JsonValue} so that state
7
- * journaled by WDK between `startAuthorization` and
8
- * `completeAuthorization` is guaranteed round-trippable through a
9
- * serializer. Kept in a dedicated module so any future public
10
- * interface with the same serialization requirement can reuse it
11
- * without depending on a connection-specific module.
12
- */
13
- /**
14
- * Recursive type describing any JSON-serializable value.
15
- *
16
- * Accepted: `string`, `number`, `boolean`, `null`, arrays of
17
- * {@link JsonValue}, and objects whose string keys map to
18
- * {@link JsonValue}. All containers are marked `readonly` so authored
19
- * code treats the value as immutable at the type level.
20
- *
21
- * Rejected (at compile time): `undefined`, functions, `Date`, class
22
- * instances, `Map`, `Set`, `bigint`, and symbols. These cannot survive
23
- * a `JSON.stringify(...)` / `JSON.parse(...)` round trip and must not
24
- * cross a durable step boundary.
25
- */
26
- export type JsonValue = string | number | boolean | null | readonly JsonValue[] | {
27
- readonly [key: string]: JsonValue;
28
- };
1
+ export type { JsonValue } from "#shared/json.js";
@@ -10,6 +10,7 @@ export type { PrepareSend };
10
10
  * Lifecycle status of an eve agent session.
11
11
  *
12
12
  * - `"ready"`: idle, accepting a new turn.
13
+ * - `"resuming"`: checking an attached session for events; submission is disabled.
13
14
  * - `"submitted"`: a turn was sent, no stream events received yet.
14
15
  * - `"streaming"`: stream events are arriving for the active turn.
15
16
  * - `"error"`: the last turn ended in a terminal failure (see `snapshot.error`).
@@ -1 +1 @@
1
- import{EveAgentStore,detachEveAgentStore}from"#client/eve-agent-store.js";import{defaultMessageReducer}from"#client/message-reducer.js";import{useCallback,useEffect,useMemo,useRef,useState,useSyncExternalStore}from"react";import{resolveEveAgentHost}from"#client/agent-host.js";function useEveAgent(n={}){let r=useRef(void 0),i=useRef(n.resume??!1),[a,o]=useState(i.current);if(!r.current){if(i.current&&n.initialSession===void 0&&n.session===void 0)throw Error(`useEveAgent({ resume: true }) requires initialSession or session.`);let t=n.reducer??defaultMessageReducer();r.current=new EveAgentStore({auth:n.auth,headers:n.headers,host:resolveEveAgentHost({agent:n.agent,host:n.host}),initialEvents:n.initialEvents,initialSession:n.initialSession,optimistic:n.optimistic,reducer:t,session:n.session})}let s=r.current;s.setCallbacks({onError:n.onError,onEvent:n.onEvent,onFinish:n.onFinish,onSessionChange:n.onSessionChange,prepareSend:n.prepareSend});let c=useSyncExternalStore(useCallback(e=>s.subscribe(e),[s]),()=>s.snapshot,()=>s.snapshot);useEffect(()=>()=>detachEveAgentStore(s),[s]),useEffect(()=>{if(!i.current)return;let e=!0,finish=()=>{e&&o(!1)},t=setTimeout(()=>void s.resume().then(finish,finish),0);return()=>{e=!1,clearTimeout(t)}},[s]);let l=useCallback(()=>s.cancel(),[s]),u=useCallback(()=>s.reset(),[s]),d=useCallback(()=>s.resume(),[s]),f=useCallback((e,t)=>s.send({...t,message:e}),[s]),p=useCallback((e,t)=>s.send({...t,inputResponses:e}),[s]),m=a&&c.status===`ready`?{...c,status:`submitted`}:c;return useMemo(()=>({...m,cancel:l,reset:u,respond:p,resume:d,send:f}),[l,u,p,d,f,m])}export{useEveAgent};
1
+ import{EveAgentStore,detachEveAgentStore}from"#client/eve-agent-store.js";import{defaultMessageReducer}from"#client/message-reducer.js";import{useCallback,useEffect,useMemo,useRef,useState,useSyncExternalStore}from"react";import{resolveEveAgentHost}from"#client/agent-host.js";function useEveAgent(n={}){let r=useRef(void 0),i=useRef(n.resume??!1),[a,o]=useState(i.current);if(!r.current){if(i.current&&n.initialSession===void 0&&n.session===void 0)throw Error(`useEveAgent({ resume: true }) requires initialSession or session.`);let t=n.reducer??defaultMessageReducer();r.current=new EveAgentStore({auth:n.auth,headers:n.headers,host:resolveEveAgentHost({agent:n.agent,host:n.host}),initialEvents:n.initialEvents,initialSession:n.initialSession,optimistic:n.optimistic,reducer:t,session:n.session})}let s=r.current;s.setCallbacks({onError:n.onError,onEvent:n.onEvent,onFinish:n.onFinish,onSessionChange:n.onSessionChange,prepareSend:n.prepareSend});let c=useSyncExternalStore(useCallback(e=>s.subscribe(e),[s]),()=>s.snapshot,()=>s.snapshot);useEffect(()=>()=>detachEveAgentStore(s),[s]),useEffect(()=>{if(!i.current)return;let e=!0,finish=()=>{e&&o(!1)},t=setTimeout(()=>void s.resume().then(finish,finish),0);return()=>{e=!1,clearTimeout(t)}},[s]);let l=useCallback(()=>s.cancel(),[s]),u=useCallback(()=>s.reset(),[s]),d=useCallback(()=>s.resume(),[s]),f=useCallback((e,t)=>s.send({...t,message:e}),[s]),p=useCallback((e,t)=>s.send({...t,inputResponses:e}),[s]),m=a&&c.status===`ready`?{...c,status:`resuming`}:c;return useMemo(()=>({...m,cancel:l,reset:u,respond:p,resume:d,send:f}),[l,u,p,d,f,m])}export{useEveAgent};
@@ -1,4 +1,4 @@
1
- import type { RuntimeActionRequest, RuntimeActionResult } from "#runtime/actions/types.js";
1
+ import type { RuntimeActionRequest, RuntimeActionResult } from "#shared/action-types.js";
2
2
  /**
3
3
  * Returns the stable match key used to pair one pending runtime action request
4
4
  * with its resume result.
@@ -1,4 +1,4 @@
1
- import type { RuntimeActionResult } from "#runtime/actions/types.js";
1
+ import type { RuntimeActionResult } from "#shared/action-types.js";
2
2
  /** Returns results in pending-key order once every requested action has completed. */
3
3
  export declare function resolveRuntimeActionResultsForKeys<TResult extends RuntimeActionResult>(input: {
4
4
  readonly pendingKeys: readonly string[];
@@ -1 +1 @@
1
- import{AGENT_TOOL_NAME,isImplicitAgentToolAvailable}from"#runtime/framework-tools/agent.js";import{composeRuntimeBasePrompt}from"#runtime/prompt/compose.js";const BOOTSTRAP_RUNTIME_MODEL_ID=`eve-bootstrap-model`,BOOTSTRAP_RUNTIME_SYSTEM_PROMPT=`You are the eve bootstrap agent. Be concise, stay grounded in the current conversation, and do not assume tools are available unless the runtime provides them.`;function createResolvedRuntimeTurnAgent(n){let r=n.agent,i=r.config,a=n.id??i?.name;if(a===void 0)throw Error(`Expected a path-derived agent id while resolving agent resources.`);let o=n.tools.some(e=>e.kind===`subagent`||e.kind===`remote`),s=isImplicitAgentToolAvailable({disabledFrameworkTools:r.disabledFrameworkTools,hasAuthoredAgentTool:n.tools.some(t=>t.name===AGENT_TOOL_NAME),nodeId:n.nodeId}),c={availableSkills:r.skills.map(e=>({description:e.description,name:e.name})),id:a,initialMessages:r.instructions.filter(e=>e.role===`user`&&e.content.trim().length>0).map(e=>({content:e.content.trim(),role:`user`})),instructions:composeRuntimeBasePrompt({connections:r.connections,instructions:r.instructions,persistentSubagentSessions:i?.experimental?.tasks===!0||i?.experimental?.subagentPersistentSessions===!0,subagentsAvailable:o||s,tasksEnabled:i?.experimental?.tasks===!0,toolsAvailable:n.tools.length>0||s,workspaceSpec:r.workspaceSpec}),compactionModel:i?.compaction?.model,nodeId:n.nodeId,outputSchema:i?.outputSchema,reasoning:i?.reasoning,tools:[...n.tools],workspaceSpec:r.workspaceSpec};return i===void 0?{...c,configResolver:!0}:i.dynamicModel===void 0?{...c,model:i.model}:{...c,dynamicModel:i.dynamicModel}}export{BOOTSTRAP_RUNTIME_MODEL_ID,BOOTSTRAP_RUNTIME_SYSTEM_PROMPT,createResolvedRuntimeTurnAgent};
1
+ import{AGENT_TOOL_NAME}from"#tools/framework/agent-contract.js";import{composeRuntimeBasePrompt}from"#runtime/prompt/compose.js";const BOOTSTRAP_RUNTIME_MODEL_ID=`eve-bootstrap-model`,BOOTSTRAP_RUNTIME_SYSTEM_PROMPT=`You are the eve bootstrap agent. Be concise, stay grounded in the current conversation, and do not assume tools are available unless the runtime provides them.`;function createResolvedRuntimeTurnAgent(n){let r=n.agent,i=r.config,a=n.id??i?.name;if(a===void 0)throw Error(`Expected a path-derived agent id while resolving agent resources.`);let o=n.tools.some(e=>e.kind===`subagent`||e.kind===`remote`),s=n.tools.some(t=>t.kind===`authored-tool`&&t.owner.kind===`framework`&&t.name===AGENT_TOOL_NAME),c={availableSkills:r.skills.map(e=>({description:e.description,name:e.name})),id:a,initialMessages:r.instructions.filter(e=>e.role===`user`&&e.content.trim().length>0).map(e=>({content:e.content.trim(),role:`user`})),instructions:composeRuntimeBasePrompt({connections:r.connections,instructions:r.instructions,subagentsAvailable:o||s,tasksEnabled:i?.experimental?.tasks===!0,toolsAvailable:n.tools.length>0,workspaceSpec:r.workspaceSpec}),compactionModel:i?.compaction?.model,nodeId:n.nodeId,outputSchema:i?.outputSchema,reasoning:i?.reasoning,tools:[...n.tools],workspaceSpec:r.workspaceSpec};return i===void 0?{...c,configResolver:!0}:i.dynamicModel===void 0?{...c,model:i.model}:{...c,dynamicModel:i.dynamicModel}}export{BOOTSTRAP_RUNTIME_MODEL_ID,BOOTSTRAP_RUNTIME_SYSTEM_PROMPT,createResolvedRuntimeTurnAgent};
@@ -1,4 +1,4 @@
1
- import{z}from"#compiled/zod/index.js";import{LOAD_SKILL_TOOL_NAME}from"#runtime/skills/fragment-context.js";import{MockLanguageModelV3}from"ai/test";import{FINAL_OUTPUT_TOOL_NAME}from"#runtime/framework-tools/final-output.js";import{BOOTSTRAP_RUNTIME_MODEL_ID,BOOTSTRAP_RUNTIME_SYSTEM_PROMPT}from"#runtime/agent/bootstrap.js";import{createBootstrapGenerateResult,createBootstrapStreamResult,estimateTokenCount,getLastUserPromptText,getPromptContentText,getPromptText,isAgentsAnnouncementText}from"#runtime/agent/bootstrap-model-utils.js";import{createMockAuthoredToolInput,formatToolOutput,resolveMockFixtureToken,resolveWeatherCity}from"#runtime/agent/mock-model-fixtures.js";import{findRelevantSkill,getActivatedSkillIds,getAvailableSkills}from"#runtime/agent/mock-model-skill-selection.js";import{createJsonSchemaSample}from"#runtime/agent/mock-structured-output.js";const authoredRuntimeModelMocks=new Map,bootstrapWeatherPayloadSchema=z.object({city:z.string(),condition:z.string(),summary:z.string(),temperatureF:z.number().finite()}).strict();function shouldMockAuthoredRuntimeModels(){return process.env.NODE_ENV===`test`||process.env.EVE_MOCK_AUTHORED_MODELS===`1`}function createMockAuthoredRuntimeModel(e){let t=authoredRuntimeModelMocks.get(e.id);if(t!==void 0)return t;let r=new MockLanguageModelV3({modelId:e.id,provider:`eve-runtime-mock`,doGenerate:async t=>createMockModelResult(t,e.id),doStream:async t=>createBootstrapStreamResult(createMockModelResult(t,e.id))});return authoredRuntimeModelMocks.set(e.id,r),r}function createMockModelResult(e,t){let n=getLastAuthoredToolResult(e.prompt);if(n!==null){let r=createFollowUpToolCallResult({modelId:t,options:e,result:n});if(r!==null)return r}else{let n=createParallelAuthoredToolCallsResult(e,t)??createSubagentDelegationResult(e,t)??createSkillLoadResult(e.prompt,t)??createAuthoredToolCallResult(e,t);if(n!==null)return n}let r=createFinalOutputResult(e,t);if(r!==null)return r;let i=n===null?createAssistantMessage(e.prompt):formatToolResultReply(n,e.prompt);return createBootstrapGenerateResult({inputTokens:estimateTokenCount(getPromptText(e.prompt)),modelId:t,outputTokens:estimateTokenCount(i),text:i})}function createFinalOutputResult(e,t){let n=getAvailableTools(e).find(e=>e.name===FINAL_OUTPUT_TOOL_NAME);if(n===void 0)return null;let i=createJsonSchemaSample(n.inputSchema);return createToolCallGenerateResult({input:i,inputTokens:estimateTokenCount(getPromptText(e.prompt)),modelId:t,outputTokens:estimateTokenCount(JSON.stringify(i)),toolCallId:createToolCallId(FINAL_OUTPUT_TOOL_NAME),toolName:FINAL_OUTPUT_TOOL_NAME})}function resolveMockAuthoredRuntimeModel(e){return!shouldMockAuthoredRuntimeModels()||e.id===BOOTSTRAP_RUNTIME_MODEL_ID?null:createMockAuthoredRuntimeModel(e)}function createSkillLoadResult(e,n){let r=getLastUserPromptText(e);if(r===null||getActivatedSkillIds(e).length>0)return null;let i=findRelevantSkill(getAvailableSkills(e),r);return i===null?null:createToolCallGenerateResult({input:{skill:i.name},inputTokens:estimateTokenCount(getPromptText(e)),modelId:n,outputTokens:estimateTokenCount(i.name),toolCallId:`call_load_skill`,toolName:LOAD_SKILL_TOOL_NAME})}const SUBAGENT_TOOL_NAME=`agent`,SUBAGENT_DELEGATION_DIRECTIVE=/\bdelegate\s+to\s+a\s+subagent\s*:\s*(.+)$/iu,PARALLEL_AUTHORED_TOOLS_DIRECTIVE=/^call tools in parallel:\s*(.+)$/imu;function createParallelAuthoredToolCallsResult(e,t){let n=getLastUserPromptText(e.prompt);if(n===null)return null;let r=PARALLEL_AUTHORED_TOOLS_DIRECTIVE.exec(n)?.[1]?.split(`,`).map(e=>e.trim()).filter(Boolean);if(r===void 0||r.length<2||new Set(r).size!==r.length)return null;let i=new Map(getAvailableTools(e).map(e=>[e.name,e])),a=[];for(let e of r){let t=i.get(e);if(t===void 0)return null;a.push(t)}let o=resolveWeatherCity(n);return createToolCallsGenerateResult({calls:a.map(e=>({input:createMockAuthoredToolInput(e,n,o),toolCallId:createToolCallId(e.name),toolName:e.name})),inputTokens:estimateTokenCount(getPromptText(e.prompt)),modelId:t,outputTokens:estimateTokenCount(n)})}function createSubagentDelegationResult(e,t){let n=getLastUserPromptText(e.prompt);if(n===null)return null;let r=SUBAGENT_DELEGATION_DIRECTIVE.exec(n);if(r?.[1]===void 0||getAvailableTools(e).find(e=>e.name===SUBAGENT_TOOL_NAME)===void 0)return null;let i={message:r[1].trim()};return createToolCallGenerateResult({input:i,inputTokens:estimateTokenCount(getPromptText(e.prompt)),modelId:t,outputTokens:estimateTokenCount(i.message),toolCallId:createToolCallId(SUBAGENT_TOOL_NAME),toolName:SUBAGENT_TOOL_NAME})}function createAuthoredToolCallResult(e,t){let n=getLastUserPromptText(e.prompt);if(n===null)return null;let r=findRelevantTool(getAvailableTools(e),n);if(r===null)return null;let i=createMockAuthoredToolInput(r,n,resolveWeatherCity(n));return createToolCallGenerateResult({input:i,inputTokens:estimateTokenCount(getPromptText(e.prompt)),modelId:t,outputTokens:estimateTokenCount(Object.values(i).join(` `)),toolCallId:createToolCallId(r.name),toolName:r.name})}function createFollowUpToolCallResult(e){let t=findNextExplicitToolAfterResult({previousToolName:e.result.toolName,prompt:e.options.prompt,tools:getAvailableTools(e.options)});if(t===null)return null;let n=createFollowUpToolInput(e.result.output);return n===null?null:createToolCallGenerateResult({input:n,inputTokens:estimateTokenCount(getPromptText(e.options.prompt)),modelId:e.modelId,outputTokens:estimateTokenCount(Object.values(n).join(` `)),toolCallId:createToolCallId(t.name),toolName:t.name})}function createAssistantMessage(e){let t=getLastUserPromptText(e)??`Hello from eve`,n=getSystemPromptLabels(e),r=resolveSystemProbe(e),i=resolveMockFixtureToken(e);return i===null?n.length>0?r===null?`Bootstrap reply [${n.join(`, `)}]: ${t}`:`Bootstrap reply [${n.join(`, `)}; probe=${r}]: ${t}`:r===null?`Bootstrap reply: ${t}`:`Bootstrap reply [probe=${r}]: ${t}`:i}function formatToolResultReply(e,t){if(e.isError)return`Local weather tool failed: ${formatToolOutput(e.output)}`;if(isWeatherPayload(e.output))return`Used local weather tool for ${e.output.city}: ${e.output.condition}, ${e.output.temperatureF}F. ${e.output.summary}`;let n=getLastUserPromptText(t)??`Hello from eve`;return`Used ${e.toolName} for "${n}": ${formatToolOutput(e.output)}`}function createToolCallGenerateResult(e){return createToolCallsGenerateResult({calls:[{input:e.input,toolCallId:e.toolCallId,toolName:e.toolName}],inputTokens:e.inputTokens,modelId:e.modelId,outputTokens:e.outputTokens})}function createToolCallsGenerateResult(e){return{content:e.calls.map(e=>({input:JSON.stringify(e.input),toolCallId:e.toolCallId,toolName:e.toolName,type:`tool-call`})),finishReason:{raw:void 0,unified:`tool-calls`},response:{id:`bootstrap-response`,modelId:e.modelId,timestamp:new Date(`2026-03-16T00:00:00.000Z`)},usage:{inputTokens:{cacheRead:0,cacheWrite:0,noCache:e.inputTokens,total:e.inputTokens},outputTokens:{reasoning:0,text:e.outputTokens,total:e.outputTokens}},warnings:[]}}function getAvailableTools(e){return(e.tools??[]).flatMap(e=>e.type===`function`?[{description:e.description,inputSchema:`inputSchema`in e?e.inputSchema:void 0,name:e.name,outputSchema:`outputSchema`in e?e.outputSchema:void 0}]:[])}function getLastAuthoredToolResult(e){for(let n of[...e].reverse()){if(n.role===`user`){if(isAgentsAnnouncementText(getPromptContentText(n.content).trim()))continue;return null}if(!(n.role!==`tool`&&n.role!==`assistant`)){for(let e of[...n.content].reverse())if(!(typeof e==`string`||e.type!==`tool-result`)&&e.toolName!==LOAD_SKILL_TOOL_NAME)return{isError:e.output.type===`error-json`||e.output.type===`error-text`||e.output.type===`execution-denied`,output:e.output.type===`execution-denied`?{reason:e.output.reason??null,type:e.output.type}:e.output.value,toolCallId:e.toolCallId,toolName:e.toolName}}}return null}function findNextExplicitToolAfterResult(e){let t=getLastUserPromptText(e.prompt);if(t===null)return null;let n=normalizeText(t),r=n.indexOf(normalizeText(e.previousToolName));return r<0?null:e.tools.filter(t=>t.name!==e.previousToolName).flatMap(e=>{let t=n.indexOf(normalizeText(e.name),r+1);return t<0?[]:[{index:t,tool:e}]}).sort((e,t)=>e.index-t.index)[0]?.tool??null}function createFollowUpToolInput(e){return isRecord(e)&&typeof e.stepKey==`string`?{stepKey:e.stepKey}:null}function getSystemPromptLabels(e){let t=e.filter(e=>e.role===`system`);if(t.length===0)return[];let n=t.flatMap(e=>{let t=getPromptContentText(e.content);if(t.startsWith(`Available skills
1
+ import{z}from"#compiled/zod/index.js";import{LOAD_SKILL_TOOL_NAME}from"#runtime/skills/fragment-context.js";import{MockLanguageModelV3}from"ai/test";import{FINAL_OUTPUT_TOOL_NAME}from"#harness/final-output.js";import{BOOTSTRAP_RUNTIME_MODEL_ID,BOOTSTRAP_RUNTIME_SYSTEM_PROMPT}from"#runtime/agent/bootstrap.js";import{createBootstrapGenerateResult,createBootstrapStreamResult,estimateTokenCount,getLastUserPromptText,getPromptContentText,getPromptText,isAgentsAnnouncementText}from"#runtime/agent/bootstrap-model-utils.js";import{createMockAuthoredToolInput,formatToolOutput,resolveMockFixtureToken,resolveWeatherCity}from"#runtime/agent/mock-model-fixtures.js";import{findRelevantSkill,getActivatedSkillIds,getAvailableSkills}from"#runtime/agent/mock-model-skill-selection.js";import{createJsonSchemaSample}from"#runtime/agent/mock-structured-output.js";const authoredRuntimeModelMocks=new Map,bootstrapWeatherPayloadSchema=z.object({city:z.string(),condition:z.string(),summary:z.string(),temperatureF:z.number().finite()}).strict();function shouldMockAuthoredRuntimeModels(){return process.env.NODE_ENV===`test`||process.env.EVE_MOCK_AUTHORED_MODELS===`1`}function createMockAuthoredRuntimeModel(e){let t=authoredRuntimeModelMocks.get(e.id);if(t!==void 0)return t;let r=new MockLanguageModelV3({modelId:e.id,provider:`eve-runtime-mock`,doGenerate:async t=>createMockModelResult(t,e.id),doStream:async t=>createBootstrapStreamResult(createMockModelResult(t,e.id))});return authoredRuntimeModelMocks.set(e.id,r),r}function createMockModelResult(e,t){let n=getLastAuthoredToolResult(e.prompt);if(n!==null){let r=createFollowUpToolCallResult({modelId:t,options:e,result:n});if(r!==null)return r}else{let n=createParallelAuthoredToolCallsResult(e,t)??createSubagentDelegationResult(e,t)??createSkillLoadResult(e.prompt,t)??createAuthoredToolCallResult(e,t);if(n!==null)return n}let r=createFinalOutputResult(e,t);if(r!==null)return r;let i=n===null?createAssistantMessage(e.prompt):formatToolResultReply(n,e.prompt);return createBootstrapGenerateResult({inputTokens:estimateTokenCount(getPromptText(e.prompt)),modelId:t,outputTokens:estimateTokenCount(i),text:i})}function createFinalOutputResult(e,t){let n=getAvailableTools(e).find(e=>e.name===FINAL_OUTPUT_TOOL_NAME);if(n===void 0)return null;let i=createJsonSchemaSample(n.inputSchema);return createToolCallGenerateResult({input:i,inputTokens:estimateTokenCount(getPromptText(e.prompt)),modelId:t,outputTokens:estimateTokenCount(JSON.stringify(i)),toolCallId:createToolCallId(FINAL_OUTPUT_TOOL_NAME),toolName:FINAL_OUTPUT_TOOL_NAME})}function resolveMockAuthoredRuntimeModel(e){return!shouldMockAuthoredRuntimeModels()||e.id===BOOTSTRAP_RUNTIME_MODEL_ID?null:createMockAuthoredRuntimeModel(e)}function createSkillLoadResult(e,n){let r=getLastUserPromptText(e);if(r===null||getActivatedSkillIds(e).length>0)return null;let i=findRelevantSkill(getAvailableSkills(e),r);return i===null?null:createToolCallGenerateResult({input:{skill:i.name},inputTokens:estimateTokenCount(getPromptText(e)),modelId:n,outputTokens:estimateTokenCount(i.name),toolCallId:`call_load_skill`,toolName:LOAD_SKILL_TOOL_NAME})}const SUBAGENT_TOOL_NAME=`agent`,SUBAGENT_DELEGATION_DIRECTIVE=/\bdelegate\s+to\s+a\s+subagent\s*:\s*(.+)$/iu,PARALLEL_AUTHORED_TOOLS_DIRECTIVE=/^call tools in parallel:\s*(.+)$/imu;function createParallelAuthoredToolCallsResult(e,t){let n=getLastUserPromptText(e.prompt);if(n===null)return null;let r=PARALLEL_AUTHORED_TOOLS_DIRECTIVE.exec(n)?.[1]?.split(`,`).map(e=>e.trim()).filter(Boolean);if(r===void 0||r.length<2||new Set(r).size!==r.length)return null;let i=new Map(getAvailableTools(e).map(e=>[e.name,e])),a=[];for(let e of r){let t=i.get(e);if(t===void 0)return null;a.push(t)}let o=resolveWeatherCity(n);return createToolCallsGenerateResult({calls:a.map(e=>({input:createMockAuthoredToolInput(e,n,o),toolCallId:createToolCallId(e.name),toolName:e.name})),inputTokens:estimateTokenCount(getPromptText(e.prompt)),modelId:t,outputTokens:estimateTokenCount(n)})}function createSubagentDelegationResult(e,t){let n=getLastUserPromptText(e.prompt);if(n===null)return null;let r=SUBAGENT_DELEGATION_DIRECTIVE.exec(n);if(r?.[1]===void 0||getAvailableTools(e).find(e=>e.name===SUBAGENT_TOOL_NAME)===void 0)return null;let i={message:r[1].trim()};return createToolCallGenerateResult({input:i,inputTokens:estimateTokenCount(getPromptText(e.prompt)),modelId:t,outputTokens:estimateTokenCount(i.message),toolCallId:createToolCallId(SUBAGENT_TOOL_NAME),toolName:SUBAGENT_TOOL_NAME})}function createAuthoredToolCallResult(e,t){let n=getLastUserPromptText(e.prompt);if(n===null)return null;let r=findRelevantTool(getAvailableTools(e),n);if(r===null)return null;let i=createMockAuthoredToolInput(r,n,resolveWeatherCity(n));return createToolCallGenerateResult({input:i,inputTokens:estimateTokenCount(getPromptText(e.prompt)),modelId:t,outputTokens:estimateTokenCount(Object.values(i).join(` `)),toolCallId:createToolCallId(r.name),toolName:r.name})}function createFollowUpToolCallResult(e){let t=findNextExplicitToolAfterResult({previousToolName:e.result.toolName,prompt:e.options.prompt,tools:getAvailableTools(e.options)});if(t===null)return null;let n=createFollowUpToolInput(e.result.output);return n===null?null:createToolCallGenerateResult({input:n,inputTokens:estimateTokenCount(getPromptText(e.options.prompt)),modelId:e.modelId,outputTokens:estimateTokenCount(Object.values(n).join(` `)),toolCallId:createToolCallId(t.name),toolName:t.name})}function createAssistantMessage(e){let t=getLastUserPromptText(e)??`Hello from eve`,n=getSystemPromptLabels(e),r=resolveSystemProbe(e),i=resolveMockFixtureToken(e);return i===null?n.length>0?r===null?`Bootstrap reply [${n.join(`, `)}]: ${t}`:`Bootstrap reply [${n.join(`, `)}; probe=${r}]: ${t}`:r===null?`Bootstrap reply: ${t}`:`Bootstrap reply [probe=${r}]: ${t}`:i}function formatToolResultReply(e,t){if(e.isError)return`Local weather tool failed: ${formatToolOutput(e.output)}`;if(isWeatherPayload(e.output))return`Used local weather tool for ${e.output.city}: ${e.output.condition}, ${e.output.temperatureF}F. ${e.output.summary}`;let n=getLastUserPromptText(t)??`Hello from eve`;return`Used ${e.toolName} for "${n}": ${formatToolOutput(e.output)}`}function createToolCallGenerateResult(e){return createToolCallsGenerateResult({calls:[{input:e.input,toolCallId:e.toolCallId,toolName:e.toolName}],inputTokens:e.inputTokens,modelId:e.modelId,outputTokens:e.outputTokens})}function createToolCallsGenerateResult(e){return{content:e.calls.map(e=>({input:JSON.stringify(e.input),toolCallId:e.toolCallId,toolName:e.toolName,type:`tool-call`})),finishReason:{raw:void 0,unified:`tool-calls`},response:{id:`bootstrap-response`,modelId:e.modelId,timestamp:new Date(`2026-03-16T00:00:00.000Z`)},usage:{inputTokens:{cacheRead:0,cacheWrite:0,noCache:e.inputTokens,total:e.inputTokens},outputTokens:{reasoning:0,text:e.outputTokens,total:e.outputTokens}},warnings:[]}}function getAvailableTools(e){return(e.tools??[]).flatMap(e=>e.type===`function`?[{description:e.description,inputSchema:`inputSchema`in e?e.inputSchema:void 0,name:e.name,outputSchema:`outputSchema`in e?e.outputSchema:void 0}]:[])}function getLastAuthoredToolResult(e){for(let n of[...e].reverse()){if(n.role===`user`){if(isAgentsAnnouncementText(getPromptContentText(n.content).trim()))continue;return null}if(!(n.role!==`tool`&&n.role!==`assistant`)){for(let e of[...n.content].reverse())if(!(typeof e==`string`||e.type!==`tool-result`)&&e.toolName!==LOAD_SKILL_TOOL_NAME)return{isError:e.output.type===`error-json`||e.output.type===`error-text`||e.output.type===`execution-denied`,output:e.output.type===`execution-denied`?{reason:e.output.reason??null,type:e.output.type}:e.output.value,toolCallId:e.toolCallId,toolName:e.toolName}}}return null}function findNextExplicitToolAfterResult(e){let t=getLastUserPromptText(e.prompt);if(t===null)return null;let n=normalizeText(t),r=n.indexOf(normalizeText(e.previousToolName));return r<0?null:e.tools.filter(t=>t.name!==e.previousToolName).flatMap(e=>{let t=n.indexOf(normalizeText(e.name),r+1);return t<0?[]:[{index:t,tool:e}]}).sort((e,t)=>e.index-t.index)[0]?.tool??null}function createFollowUpToolInput(e){return isRecord(e)&&typeof e.stepKey==`string`?{stepKey:e.stepKey}:null}function getSystemPromptLabels(e){let t=e.filter(e=>e.role===`system`);if(t.length===0)return[];let n=t.flatMap(e=>{let t=getPromptContentText(e.content);if(t.startsWith(`Available skills
2
2
  `))return[];let n=t.split(`
3
3
  `).map(e=>e.trim()).filter(e=>e.length>0),r=[];for(let e of n){if(e===BOOTSTRAP_RUNTIME_SYSTEM_PROMPT||e===`Available skills`)continue;let t=/^System \((.+)\)$/.exec(e);if(t?.[1]){r.push(t[1]);continue}let n=/^Skill \((.+)\)$/.exec(e);n?.[1]&&r.push(n[1])}if(r.length>0)return r;let i=n.find(e=>e!==BOOTSTRAP_RUNTIME_SYSTEM_PROMPT&&e!==`Available skills`);return i===void 0?[]:[i]});return[...new Set(n)]}function findRelevantTool(e,n){let r=normalizeText(n),i=e.find(e=>e.name!==`agent`&&e.name!==LOAD_SKILL_TOOL_NAME&&r.includes(normalizeText(e.name)));return i===void 0?/\b(forecast|temperature|weather|wind|rain|snow)\b/u.test(r)?e.find(e=>/\b(forecast|temperature|weather|wind|rain|snow)\b/u.test(normalizeText(`${e.name} ${e.description??``}`)))??null:null:i}function normalizeText(e){return e.toLowerCase().replace(/[^a-z0-9]+/gu,` `).trim()}function createToolCallId(e){return`call_${e.toLowerCase().replace(/[^a-z0-9]+/gu,`_`).replace(/^_+|_+$/gu,``)||`tool`}`}function resolveSystemProbe(e){let t=e.filter(e=>e.role===`system`).map(e=>getPromptContentText(e.content)).join(`
4
4
  `);return/hmr-probe:\s*([^\n]+)/iu.exec(t)?.[1]?.trim()||null}function isWeatherPayload(e){return bootstrapWeatherPayloadSchema.safeParse(e).success}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{createMockAuthoredRuntimeModel,resolveMockAuthoredRuntimeModel,shouldMockAuthoredRuntimeModels};
@@ -14,7 +14,7 @@
14
14
  */
15
15
  import type { AlsContext } from "#context/container.js";
16
16
  import { ContextKey } from "#context/key.js";
17
- import type { TokenResult } from "#runtime/connections/types.js";
17
+ import type { TokenResult } from "#shared/connection-types.js";
18
18
  /**
19
19
  * Virtual context key mapping connection name to a per-principal
20
20
  * {@link TokenResult} cache.
@@ -1,7 +1,7 @@
1
1
  import { type MCPClient } from "#compiled/@ai-sdk/mcp/index.js";
2
2
  import type { ToolSet } from "ai";
3
3
  import type { ResolvedConnectionDefinition } from "#runtime/types.js";
4
- import type { ConnectionClient, ConnectionToolExecuteOptions, ConnectionToolMetadata, ToolFilterDefinition } from "#runtime/connections/types.js";
4
+ import type { ConnectionClient, ConnectionToolExecuteOptions, ConnectionToolMetadata, ToolFilterDefinition } from "#shared/connection-types.js";
5
5
  /**
6
6
  * Wraps one `MCPClient` from `@ai-sdk/mcp` for a single connection.
7
7
  *
@@ -1 +1 @@
1
- import{isObject}from"#shared/guards.js";import{buildCallbackContext}from"#context/build-callback-context.js";import{ConnectionAuthorizationRequiredError}from"#public/connections/errors.js";import{evictScopedToken,resolveScopedToken}from"#runtime/connections/scoped-authorization.js";import{createMCPClient}from"#compiled/@ai-sdk/mcp/index.js";import{resolveConnectionAuthorization}from"#runtime/connections/resolve-authorization.js";import{omitProvidedArgumentsFromSchema,resolveProvidedArguments}from"#runtime/connections/provided-arguments.js";var McpConnectionClient=class{#e;#t;#n;#r;#i;constructor(e){this.#i=e}async connect(){if(this.#t!==void 0)return this.#t;if(this.#e!==void 0)return this.#e;this.#e=this.#a();try{return this.#t=await this.#e,this.#t}catch(e){throw this.#e=void 0,e}}async#a(){let e=await resolveHeaders(this.#i),t=this.#i.url;try{return await createMCPClient({transport:{type:`http`,url:t,headers:e}})}catch(n){if(!isMcpHttpFallbackRetryableError(n))throw n;return await createMCPClient({transport:{type:`sse`,url:t,headers:e}})}}async getToolMetadata(){return(await this.#o()).metadata}async getTools(){return(await this.#o()).tools}async executeTool(e,t,n){try{let{tools:r}=await this.#o(),i=r[e];if(i?.execute===void 0)throw Error(`Tool "${e}" not found in connection "${this.#i.connectionName}".`);let a=await resolveProvidedArguments({args:t,connection:this.#i,toolName:e});return await i.execute(a,{abortSignal:n?.abortSignal})}catch(e){return await this.#l(e)}}async#o(){if(this.#r!==void 0)return this.#r;if(this.#n!==void 0)return this.#n;this.#n=this.#s();try{return this.#r=await this.#n,this.#r}catch(e){throw this.#n=void 0,e}}async#s(){try{return await this.#c()}catch(e){return await this.#l(e)}}async#c(){let e=await this.connect(),t=await e.listTools(),n=this.#i.tools,r=n===void 0?t.tools:t.tools.filter(e=>passesToolFilter(e.name,n)),i=Object.keys(this.#i.toolCall?.providedArguments??{}),a=r.map(e=>({...e,inputSchema:omitProvidedArgumentsFromSchema(e.inputSchema,i)})),o=e.toolsFromDefinitions({tools:a});return{metadata:a.map(e=>({annotations:e.annotations,description:e.description??``,inputSchema:e.inputSchema??{},name:e.name,outputSchema:`outputSchema`in e&&e.outputSchema!==void 0?e.outputSchema:void 0})),tools:o}}async close(){this.#t!==void 0&&(await this.#t.close(),this.#t=void 0),this.#e=void 0,this.#n=void 0,this.#r=void 0}async#l(e){throw isMcpAuthRequiredError(e)?(await this.#u(),await this.close(),new ConnectionAuthorizationRequiredError(this.#i.connectionName,{message:`Connection "${this.#i.connectionName}" requires authorization (the server rejected the token).`})):e}async#u(){let e=await resolveConnectionAuthorization(this.#i);e!==void 0&&await evictScopedToken({authorization:e,connection:{url:this.#i.url},scope:this.#i.connectionName})}};function isMcpAuthRequiredError(e){return readHttpStatus(e)===401}function isMcpHttpFallbackRetryableError(e){let t=readHttpStatus(e);return t===400||t===404||t===405}function readHttpStatus(t){for(let n of walkErrorChain(t)){if(!isObject(n))continue;let t=readStatusField(n);if(t!==void 0)return t;let r=n.response;if(isObject(r)){let e=readStatusField(r);if(e!==void 0)return e}if(typeof n.message==`string`){let e=/\bHTTP\s+(\d{3})\b/u.exec(n.message);if(e?.[1]!==void 0)return Number(e[1])}}}function readStatusField(e){if(typeof e.status==`number`)return e.status;if(typeof e.statusCode==`number`)return e.statusCode}function*walkErrorChain(t){let n=t,r=new Set;for(;n!=null&&!r.has(n);){if(r.add(n),yield n,!isObject(n)||!(`cause`in n))return;n=n.cause}}function passesToolFilter(e,t){return t===void 0?!0:`allow`in t?t.allow.includes(e):!t.block.includes(e)}async function resolveHeaders(e){let n={},r,getCallbackContext=()=>r??=buildCallbackContext(),i=await resolveConnectionAuthorization(e,typeof e.authorization==`function`?getCallbackContext():void 0);if(i!==void 0&&(n.Authorization=`Bearer ${(await resolveToken(e,i)).token}`),e.headers!==void 0){let t=await resolveHeadersDefinition(e.headers,getCallbackContext);for(let[r,a]of Object.entries(t)){if(i!==void 0&&r.toLowerCase()===`authorization`)throw Error(`Connection "${e.connectionName}" headers must not include an "Authorization" key when "authorization" is also provided.`);n[r]=a}}return n}async function resolveToken(e,t){return await resolveScopedToken({authorization:t,connection:{url:e.url},scope:e.connectionName})}async function resolveHeadersDefinition(e,t){if(typeof e==`function`)return{...await e(t())};let n={},r=Object.entries(e);for(let[e,i]of r)n[e]=await resolveHeaderValue(i,t);return n}async function resolveHeaderValue(e,t){return typeof e==`function`?await e(t()):await e}export{McpConnectionClient,isMcpAuthRequiredError,passesToolFilter,resolveHeaders};
1
+ import{isObject}from"#shared/guards.js";import{buildCallbackContext}from"#context/build-callback-context.js";import{ConnectionAuthorizationRequiredError}from"#connections/errors.js";import{evictScopedToken,resolveScopedToken}from"#runtime/connections/scoped-authorization.js";import{resolveConnectionAuthorization}from"#runtime/connections/resolve-authorization.js";import{createMCPClient}from"#compiled/@ai-sdk/mcp/index.js";import{omitProvidedArgumentsFromSchema,resolveProvidedArguments}from"#runtime/connections/provided-arguments.js";var McpConnectionClient=class{#e;#t;#n;#r;#i;constructor(e){this.#i=e}async connect(){if(this.#t!==void 0)return this.#t;if(this.#e!==void 0)return this.#e;this.#e=this.#a();try{return this.#t=await this.#e,this.#t}catch(e){throw this.#e=void 0,e}}async#a(){let e=await resolveHeaders(this.#i),t=this.#i.url;try{return await createMCPClient({transport:{type:`http`,url:t,headers:e}})}catch(n){if(!isMcpHttpFallbackRetryableError(n))throw n;return await createMCPClient({transport:{type:`sse`,url:t,headers:e}})}}async getToolMetadata(){return(await this.#o()).metadata}async getTools(){return(await this.#o()).tools}async executeTool(e,t,n){try{let{tools:r}=await this.#o(),i=r[e];if(i?.execute===void 0)throw Error(`Tool "${e}" not found in connection "${this.#i.connectionName}".`);let a=await resolveProvidedArguments({args:t,connection:this.#i,toolName:e});return await i.execute(a,{abortSignal:n?.abortSignal})}catch(e){return await this.#l(e)}}async#o(){if(this.#r!==void 0)return this.#r;if(this.#n!==void 0)return this.#n;this.#n=this.#s();try{return this.#r=await this.#n,this.#r}catch(e){throw this.#n=void 0,e}}async#s(){try{return await this.#c()}catch(e){return await this.#l(e)}}async#c(){let e=await this.connect(),t=await e.listTools(),n=this.#i.tools,r=n===void 0?t.tools:t.tools.filter(e=>passesToolFilter(e.name,n)),i=Object.keys(this.#i.toolCall?.providedArguments??{}),a=r.map(e=>({...e,inputSchema:omitProvidedArgumentsFromSchema(e.inputSchema,i)})),o=e.toolsFromDefinitions({tools:a});return{metadata:a.map(e=>({annotations:e.annotations,description:e.description??``,inputSchema:e.inputSchema??{},name:e.name,outputSchema:`outputSchema`in e&&e.outputSchema!==void 0?e.outputSchema:void 0})),tools:o}}async close(){this.#t!==void 0&&(await this.#t.close(),this.#t=void 0),this.#e=void 0,this.#n=void 0,this.#r=void 0}async#l(e){throw isMcpAuthRequiredError(e)?(await this.#u(),await this.close(),new ConnectionAuthorizationRequiredError(this.#i.connectionName,{message:`Connection "${this.#i.connectionName}" requires authorization (the server rejected the token).`})):e}async#u(){let e=await resolveConnectionAuthorization(this.#i);e!==void 0&&await evictScopedToken({authorization:e,connection:{url:this.#i.url},scope:this.#i.connectionName})}};function isMcpAuthRequiredError(e){return readHttpStatus(e)===401}function isMcpHttpFallbackRetryableError(e){let t=readHttpStatus(e);return t===400||t===404||t===405}function readHttpStatus(t){for(let n of walkErrorChain(t)){if(!isObject(n))continue;let t=readStatusField(n);if(t!==void 0)return t;let r=n.response;if(isObject(r)){let e=readStatusField(r);if(e!==void 0)return e}if(typeof n.message==`string`){let e=/\bHTTP\s+(\d{3})\b/u.exec(n.message);if(e?.[1]!==void 0)return Number(e[1])}}}function readStatusField(e){if(typeof e.status==`number`)return e.status;if(typeof e.statusCode==`number`)return e.statusCode}function*walkErrorChain(t){let n=t,r=new Set;for(;n!=null&&!r.has(n);){if(r.add(n),yield n,!isObject(n)||!(`cause`in n))return;n=n.cause}}function passesToolFilter(e,t){return t===void 0?!0:`allow`in t?t.allow.includes(e):!t.block.includes(e)}async function resolveHeaders(e){let n={},r,getCallbackContext=()=>r??=buildCallbackContext(),i=await resolveConnectionAuthorization(e,typeof e.authorization==`function`?getCallbackContext():void 0);if(i!==void 0&&(n.Authorization=`Bearer ${(await resolveToken(e,i)).token}`),e.headers!==void 0){let t=await resolveHeadersDefinition(e.headers,getCallbackContext);for(let[r,a]of Object.entries(t)){if(i!==void 0&&r.toLowerCase()===`authorization`)throw Error(`Connection "${e.connectionName}" headers must not include an "Authorization" key when "authorization" is also provided.`);n[r]=a}}return n}async function resolveToken(e,t){return await resolveScopedToken({authorization:t,connection:{url:e.url},scope:e.connectionName})}async function resolveHeadersDefinition(e,t){if(typeof e==`function`)return{...await e(t())};let n={},r=Object.entries(e);for(let[e,i]of r)n[e]=await resolveHeaderValue(i,t);return n}async function resolveHeaderValue(e,t){return typeof e==`function`?await e(t()):await e}export{McpConnectionClient,isMcpAuthRequiredError,passesToolFilter,resolveHeaders};
@@ -1,7 +1,7 @@
1
1
  import { type ToolSet } from "ai";
2
2
  import type { ResolvedConnectionDefinition } from "#runtime/types.js";
3
3
  import { type OpenApiOperation } from "#runtime/connections/openapi-operations.js";
4
- import type { ConnectionClient, ConnectionToolExecuteOptions, ConnectionToolMetadata } from "#runtime/connections/types.js";
4
+ import type { ConnectionClient, ConnectionToolExecuteOptions, ConnectionToolMetadata } from "#shared/connection-types.js";
5
5
  interface OpenApiToolCache {
6
6
  readonly metadata: readonly ConnectionToolMetadata[];
7
7
  readonly operations: ReadonlyMap<string, OpenApiOperation>;