eve 0.82.0 → 0.83.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 (480) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/NOTICE +1 -1
  3. package/dist/src/channel/pending-authorization.d.ts +5 -0
  4. package/dist/src/channel/pending-authorization.js +1 -1
  5. package/dist/src/channel/session.d.ts +2 -0
  6. package/dist/src/channel/session.js +1 -1
  7. package/dist/src/channel/types.d.ts +5 -0
  8. package/dist/src/chunks/{use-eve-agent-DlznYwQk.js → use-eve-agent-3-WRmJkd.js} +40 -5
  9. package/dist/src/chunks/{use-eve-agent-DTu78IAF.js → use-eve-agent-Ci5dr0aR.js} +40 -5
  10. package/dist/src/cli/dev/local-server-child.js +1 -1
  11. package/dist/src/cli/dev/local-server-cleanup.js +1 -1
  12. package/dist/src/cli/dev/tui/question-panel.d.ts +4 -1
  13. package/dist/src/cli/dev/tui/question-panel.js +1 -1
  14. package/dist/src/cli/dev/tui/terminal-renderer.js +4 -4
  15. package/dist/src/client/eve-agent-store.d.ts +1 -1
  16. package/dist/src/client/eve-agent-store.js +1 -1
  17. package/dist/src/client/index.d.ts +1 -0
  18. package/dist/src/client/session-controls.d.ts +6 -0
  19. package/dist/src/client/session-controls.js +1 -1
  20. package/dist/src/client/session.d.ts +4 -0
  21. package/dist/src/client/session.js +1 -1
  22. package/dist/src/compiled/.vendor-stamp.json +8 -8
  23. package/dist/src/compiled/@eve/catalog/index.js +1 -1
  24. package/dist/src/compiled/@workflow/core/events-consumer.d.ts +2 -0
  25. package/dist/src/compiled/@workflow/core/index.js +2 -2
  26. package/dist/src/compiled/@workflow/core/private.d.ts +5 -3
  27. package/dist/src/compiled/@workflow/core/private.js +1 -1
  28. package/dist/src/compiled/@workflow/core/runtime/constants.d.ts +1 -37
  29. package/dist/src/compiled/@workflow/core/runtime/event-limit-warning.d.ts +32 -0
  30. package/dist/src/compiled/@workflow/core/runtime/helpers.d.ts +5 -6
  31. package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
  32. package/dist/src/compiled/@workflow/core/runtime/runs.d.ts +8 -0
  33. package/dist/src/compiled/@workflow/core/runtime/start.d.ts +16 -0
  34. package/dist/src/compiled/@workflow/core/runtime/suspension-handler.d.ts +15 -18
  35. package/dist/src/compiled/@workflow/core/runtime/vm-mode.d.ts +20 -0
  36. package/dist/src/compiled/@workflow/core/runtime.js +4 -4
  37. package/dist/src/compiled/@workflow/core/seeded-nanoid.d.ts +2 -0
  38. package/dist/src/compiled/@workflow/core/serialization/compression.d.ts +14 -3
  39. package/dist/src/compiled/@workflow/core/serialization.d.ts +1 -1
  40. package/dist/src/compiled/@workflow/core/serialization.js +1 -1
  41. package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +0 -18
  42. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  43. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  44. package/dist/src/compiled/@workflow/errors/index.d.ts +48 -0
  45. package/dist/src/compiled/@workflow/errors/index.js +1 -1
  46. package/dist/src/compiled/@workflow/world/env-config.d.ts +24 -0
  47. package/dist/src/compiled/@workflow/world/events.d.ts +126 -7
  48. package/dist/src/compiled/@workflow/world/index.d.ts +3 -3
  49. package/dist/src/compiled/@workflow/world/interfaces.d.ts +59 -8
  50. package/dist/src/compiled/@workflow/world/queue.d.ts +71 -9
  51. package/dist/src/compiled/@workflow/world/recovery.d.ts +6 -0
  52. package/dist/src/compiled/@workflow/world/test-support/duplicate-event-fixtures.d.ts +3 -0
  53. package/dist/src/compiled/@workflow/world/test-support/in-band-fence-conformance.d.ts +46 -0
  54. package/dist/src/compiled/@workflow/world-local/index.js +5 -5
  55. package/dist/src/compiled/@workflow/world-vercel/index.js +18 -18
  56. package/dist/src/compiled/_chunks/workflow/{attribute-changes-BW-kbMMn.js → attribute-changes-7se_SE2q.js} +3 -3
  57. package/dist/src/compiled/_chunks/workflow/dist-CcnNPAp4.js +1 -0
  58. package/dist/src/compiled/_chunks/workflow/dist-S9cZRway.js +3 -0
  59. package/dist/src/compiled/_chunks/workflow/helpers-CxNRXH0a.js +1 -0
  60. package/dist/src/compiled/_chunks/workflow/private-DLYTSBbu.js +1 -0
  61. package/dist/src/compiled/_chunks/workflow/resume-hook-CPiIfe8r.js +1 -0
  62. package/dist/src/compiled/_chunks/workflow/{run-DzdAqdb1.js → run-BJSLCXR4.js} +6 -6
  63. package/dist/src/compiled/_chunks/workflow/serialization-B9gneT9Z.js +15 -0
  64. package/dist/src/compiled/_chunks/workflow/sleep-BL0oQs3R.js +1 -0
  65. package/dist/src/compiled/_chunks/workflow/{wait-until-xbRRDuUf.js → wait-until-BPou0RGO.js} +1 -1
  66. package/dist/src/compiled/_chunks/workflow/workflow-routes-BaljomCk.js +1 -0
  67. package/dist/src/compiled/{@ai-sdk/code-mode → run}/LICENSE +1 -1
  68. package/dist/src/compiled/run/index.d.ts +384 -0
  69. package/dist/src/compiled/run/index.js +650 -0
  70. package/dist/src/compiler/extension-compatibility.d.ts +21 -14
  71. package/dist/src/compiler/extension-compatibility.js +1 -1
  72. package/dist/src/compiler/manifest.js +1 -1
  73. package/dist/src/compiler/normalize-agent-config.js +1 -1
  74. package/dist/src/compiler/normalize-manifest.js +1 -1
  75. package/dist/src/compiler/normalize-sandbox.js +1 -1
  76. package/dist/src/compiler/workspace-resources.js +1 -1
  77. package/dist/src/context/build-callback-context.js +1 -1
  78. package/dist/src/context/dynamic-skill-lifecycle.js +1 -1
  79. package/dist/src/context/providers/sandbox.js +1 -1
  80. package/dist/src/discover/extension-specifier.d.ts +1 -0
  81. package/dist/src/discover/extension-specifier.js +1 -1
  82. package/dist/src/evals/cli/eval.js +2 -2
  83. package/dist/src/evals/runner/artifacts.js +1 -1
  84. package/dist/src/evals/runner/derive-run-facts.d.ts +12 -0
  85. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  86. package/dist/src/evals/runner/execute-task.js +1 -1
  87. package/dist/src/evals/types.d.ts +3 -2
  88. package/dist/src/eve-channel/index.js +1 -1
  89. package/dist/src/eve-channel/request.d.ts +0 -1
  90. package/dist/src/eve-channel/request.js +2 -2
  91. package/dist/src/execution/agent-sessions/context.d.ts +1 -1
  92. package/dist/src/execution/agent-sessions/context.js +1 -1
  93. package/dist/src/execution/coordination-dispatch-shared.d.ts +3 -0
  94. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  95. package/dist/src/execution/dynamic-workflow/program-step.d.ts +7 -7
  96. package/dist/src/execution/dynamic-workflow/program-step.js +1 -1
  97. package/dist/src/execution/dynamic-workflow/schema.d.ts +18 -11
  98. package/dist/src/execution/dynamic-workflow/schema.js +1 -1
  99. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  100. package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
  101. package/dist/src/execution/eve-workflow-attributes.d.ts +3 -1
  102. package/dist/src/execution/eve-workflow-attributes.js +1 -1
  103. package/dist/src/execution/invoke-tool.js +1 -1
  104. package/dist/src/execution/sandbox/abort-bound-session.js +1 -1
  105. package/dist/src/execution/sandbox/active-connections.d.ts +28 -0
  106. package/dist/src/execution/sandbox/active-connections.js +1 -0
  107. package/dist/src/execution/sandbox/bindings/docker-cli.d.ts +10 -2
  108. package/dist/src/execution/sandbox/bindings/docker-cli.js +2 -2
  109. package/dist/src/execution/sandbox/bindings/docker-connection.d.ts +15 -0
  110. package/dist/src/execution/sandbox/bindings/docker-connection.js +2 -0
  111. package/dist/src/execution/sandbox/bindings/docker-container.d.ts +2 -0
  112. package/dist/src/execution/sandbox/bindings/docker-container.js +1 -1
  113. package/dist/src/execution/sandbox/bindings/docker-network.d.ts +5 -0
  114. package/dist/src/execution/sandbox/bindings/docker-network.js +1 -1
  115. package/dist/src/execution/sandbox/bindings/docker-templates.js +1 -1
  116. package/dist/src/execution/sandbox/bindings/docker.d.ts +12 -15
  117. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  118. package/dist/src/execution/sandbox/bindings/just-bash-runtime.d.ts +19 -29
  119. package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
  120. package/dist/src/execution/sandbox/bindings/just-bash.d.ts +2 -4
  121. package/dist/src/execution/sandbox/bindings/just-bash.js +1 -1
  122. package/dist/src/execution/sandbox/bindings/local-provider-utils.d.ts +0 -20
  123. package/dist/src/execution/sandbox/bindings/local-provider-utils.js +1 -1
  124. package/dist/src/execution/sandbox/bindings/local.d.ts +4 -6
  125. package/dist/src/execution/sandbox/bindings/local.js +1 -1
  126. package/dist/src/execution/sandbox/bindings/vercel-base-runtime.d.ts +2 -0
  127. package/dist/src/execution/sandbox/bindings/vercel-base-runtime.js +2 -2
  128. package/dist/src/execution/sandbox/bindings/vercel-errors.js +2 -2
  129. package/dist/src/execution/sandbox/bindings/vercel-lifecycle.d.ts +7 -5
  130. package/dist/src/execution/sandbox/bindings/vercel-lifecycle.js +1 -1
  131. package/dist/src/execution/sandbox/bindings/vercel.d.ts +5 -11
  132. package/dist/src/execution/sandbox/bindings/vercel.js +1 -2
  133. package/dist/src/execution/sandbox/development-cleanup.d.ts +0 -1
  134. package/dist/src/execution/sandbox/development-cleanup.js +1 -1
  135. package/dist/src/execution/sandbox/development-lazy-prewarm.js +1 -1
  136. package/dist/src/execution/sandbox/development-run.d.ts +0 -2
  137. package/dist/src/execution/sandbox/development-run.js +1 -1
  138. package/dist/src/execution/sandbox/dockerfile.d.ts +0 -4
  139. package/dist/src/execution/sandbox/dockerfile.js +1 -1
  140. package/dist/src/execution/sandbox/ensure.d.ts +23 -11
  141. package/dist/src/execution/sandbox/ensure.js +1 -1
  142. package/dist/src/execution/sandbox/glob-tool.js +3 -3
  143. package/dist/src/execution/sandbox/grep-tool.js +1 -1
  144. package/dist/src/execution/sandbox/logging-session.js +1 -1
  145. package/dist/src/execution/sandbox/prewarm.d.ts +23 -3
  146. package/dist/src/execution/sandbox/prewarm.js +2 -1
  147. package/dist/src/execution/sandbox/read-file.js +1 -1
  148. package/dist/src/execution/sandbox/require-sandbox.d.ts +3 -2
  149. package/dist/src/execution/sandbox/require-sandbox.js +1 -1
  150. package/dist/src/execution/sandbox/ripgrep-probe.js +1 -1
  151. package/dist/src/execution/sandbox/session.d.ts +10 -20
  152. package/dist/src/execution/sandbox/session.js +2 -2
  153. package/dist/src/execution/session/admission.js +1 -1
  154. package/dist/src/execution/session/checkpoint-migrations.js +1 -1
  155. package/dist/src/execution/session/entry-input.d.ts +5 -4
  156. package/dist/src/execution/session/entry.js +1 -1
  157. package/dist/src/execution/session/handoff-state.d.ts +5 -0
  158. package/dist/src/execution/session/handoff-state.js +1 -0
  159. package/dist/src/execution/session/handoff-steps.d.ts +0 -5
  160. package/dist/src/execution/session/handoff-steps.js +1 -1
  161. package/dist/src/execution/session/handoff.d.ts +2 -1
  162. package/dist/src/execution/session/handoff.js +1 -1
  163. package/dist/src/execution/session/input-queue.d.ts +3 -0
  164. package/dist/src/execution/session/input-queue.js +1 -1
  165. package/dist/src/execution/session/next-input.d.ts +3 -0
  166. package/dist/src/execution/session/next-input.js +1 -1
  167. package/dist/src/execution/session/program.js +1 -1
  168. package/dist/src/execution/session/timeout-control.d.ts +4 -0
  169. package/dist/src/execution/session/timeout-control.js +1 -1
  170. package/dist/src/execution/session/turn-control.d.ts +5 -2
  171. package/dist/src/execution/session/turn-control.js +1 -1
  172. package/dist/src/execution/session/turn.js +1 -1
  173. package/dist/src/execution/session-inbox/inbox.d.ts +9 -1
  174. package/dist/src/execution/session-inbox/inbox.js +1 -1
  175. package/dist/src/execution/session-inbox/protocol.d.ts +2 -1
  176. package/dist/src/execution/session-inbox/protocol.js +1 -1
  177. package/dist/src/execution/session-inbox/resume.d.ts +2 -1
  178. package/dist/src/execution/session-inbox/resume.js +1 -1
  179. package/dist/src/execution/session-prewarm.d.ts +8 -0
  180. package/dist/src/execution/session-prewarm.js +1 -0
  181. package/dist/src/execution/skills/instructions.js +1 -1
  182. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  183. package/dist/src/execution/tools/workflow/body.js +1 -1
  184. package/dist/src/execution/tools/workflow/step-context.d.ts +11 -0
  185. package/dist/src/execution/tools/workflow/step-execution.js +1 -1
  186. package/dist/src/execution/tools/workflow/step.js +1 -1
  187. package/dist/src/execution/workflow-runtime.js +1 -1
  188. package/dist/src/extensions/git/extension/lib/github-shell-schema.js +1 -1
  189. package/dist/src/framework/sources/modules/sandbox.d.ts +1 -1
  190. package/dist/src/harness/attachment-staging.d.ts +0 -7
  191. package/dist/src/harness/attachment-staging.js +1 -1
  192. package/dist/src/harness/hitl/index.d.ts +2 -1
  193. package/dist/src/harness/hitl/index.js +1 -1
  194. package/dist/src/harness/hitl/view.d.ts +1 -0
  195. package/dist/src/harness/hitl/view.js +1 -0
  196. package/dist/src/harness/model-call/run.js +1 -1
  197. package/dist/src/harness/semantic-errors/rules/sandbox.d.ts +3 -5
  198. package/dist/src/harness/semantic-errors/rules/sandbox.js +1 -1
  199. package/dist/src/harness/step/prompt.js +1 -1
  200. package/dist/src/harness/tool-history-repair.d.ts +9 -0
  201. package/dist/src/harness/tool-history-repair.js +1 -0
  202. package/dist/src/harness/tool-model-output.d.ts +19 -3
  203. package/dist/src/harness/tool-model-output.js +1 -1
  204. package/dist/src/internal/application/compiled-artifacts.js +8 -4
  205. package/dist/src/internal/application/optional-package-import.d.ts +10 -0
  206. package/dist/src/internal/application/optional-package-import.js +1 -1
  207. package/dist/src/internal/application/stamped-package-version.js +1 -1
  208. package/dist/src/internal/attachments/limited-read.d.ts +2 -2
  209. package/dist/src/internal/authored-module-build-options.d.ts +6 -0
  210. package/dist/src/internal/authored-module-build-options.js +1 -1
  211. package/dist/src/internal/authored-module-cache.d.ts +10 -0
  212. package/dist/src/internal/authored-module-cache.js +1 -0
  213. package/dist/src/internal/authored-module-graph.js +1 -1
  214. package/dist/src/internal/authored-module-loader.js +1 -1
  215. package/dist/src/internal/authored-relative-extension-resolver.js +1 -1
  216. package/dist/src/internal/bundler/nitro-rolldown.d.ts +3 -1
  217. package/dist/src/internal/bundler/nitro-rolldown.js +1 -1
  218. package/dist/src/internal/bundler/pseudo-packages.d.ts +11 -0
  219. package/dist/src/internal/bundler/pseudo-packages.js +1 -0
  220. package/dist/src/internal/nitro/host/build-extension.d.ts +6 -0
  221. package/dist/src/internal/nitro/host/build-extension.js +2 -2
  222. package/dist/src/internal/nitro/host/compiled-sandbox-provider-prune-plugin.d.ts +3 -1
  223. package/dist/src/internal/nitro/host/compiled-sandbox-provider-prune-plugin.js +3 -5
  224. package/dist/src/internal/nitro/host/create-application-nitro.d.ts +2 -3
  225. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  226. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.d.ts +2 -0
  227. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.js +1 -1
  228. package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
  229. package/dist/src/internal/nitro/host/dev-build-host.d.ts +83 -0
  230. package/dist/src/internal/nitro/host/dev-build-host.js +1 -0
  231. package/dist/src/internal/nitro/host/dev-build-operations.d.ts +6 -0
  232. package/dist/src/internal/nitro/host/dev-build-operations.js +1 -0
  233. package/dist/src/internal/nitro/host/dev-build-process.d.ts +1 -0
  234. package/dist/src/internal/nitro/host/dev-build-process.js +1 -0
  235. package/dist/src/internal/nitro/host/development-runtime-prune-plugin.d.ts +4 -1
  236. package/dist/src/internal/nitro/host/development-runtime-prune-plugin.js +3 -2
  237. package/dist/src/internal/nitro/host/drained-nitro-dev-server.d.ts +13 -0
  238. package/dist/src/internal/nitro/host/drained-nitro-dev-server.js +1 -1
  239. package/dist/src/internal/nitro/host/optional-engine-dependency-plugin.js +1 -1
  240. package/dist/src/internal/nitro/host/prepare-application-host.d.ts +3 -0
  241. package/dist/src/internal/nitro/host/prepare-application-host.js +1 -1
  242. package/dist/src/internal/nitro/host/sandbox-shutdown-plugin.js +1 -1
  243. package/dist/src/internal/nitro/host/start-development-server.js +2 -2
  244. package/dist/src/internal/nitro/host/start-production-server.js +3 -3
  245. package/dist/src/internal/nitro/host/workflow-sandbox-runtime-plugin.js +1 -1
  246. package/dist/src/internal/nitro/host.js +1 -1
  247. package/dist/src/internal/workflow/local-world-delivery-auth.d.ts +17 -0
  248. package/dist/src/internal/workflow/local-world-delivery-auth.js +1 -0
  249. package/dist/src/internal/workflow/queue-namespace.d.ts +2 -0
  250. package/dist/src/internal/workflow/queue-namespace.js +1 -1
  251. package/dist/src/internal/workflow-bundle/builder-support.d.ts +0 -1
  252. package/dist/src/internal/workflow-bundle/builder-support.js +2 -2
  253. package/dist/src/internal/workflow-bundle/builder.js +2 -2
  254. package/dist/src/internal/workflow-bundle/vercel-workflow-output.d.ts +1 -1
  255. package/dist/src/internal/workflow-bundle/vercel-workflow-output.js +1 -1
  256. package/dist/src/protocol/prewarm-session.d.ts +14 -0
  257. package/dist/src/protocol/prewarm-session.js +1 -0
  258. package/dist/src/protocol/routes.d.ts +2 -2
  259. package/dist/src/public/channels/discord/authorization.d.ts +45 -0
  260. package/dist/src/public/channels/discord/authorization.js +3 -0
  261. package/dist/src/public/channels/discord/defaults.d.ts +14 -3
  262. package/dist/src/public/channels/discord/defaults.js +2 -2
  263. package/dist/src/public/channels/discord/discordChannel.d.ts +15 -1
  264. package/dist/src/public/channels/discord/discordChannel.js +1 -1
  265. package/dist/src/public/channels/discord/gateway/connection.d.ts +26 -0
  266. package/dist/src/public/channels/discord/gateway/connection.js +1 -0
  267. package/dist/src/public/channels/discord/gateway/forwarder.d.ts +14 -0
  268. package/dist/src/public/channels/discord/gateway/forwarder.js +1 -0
  269. package/dist/src/public/channels/discord/gateway/index.d.ts +59 -0
  270. package/dist/src/public/channels/discord/gateway/index.js +1 -0
  271. package/dist/src/public/channels/discord/inbound.d.ts +10 -3
  272. package/dist/src/public/channels/discord/inbound.js +2 -2
  273. package/dist/src/public/channels/discord/index.d.ts +3 -2
  274. package/dist/src/public/channels/discord/index.js +1 -1
  275. package/dist/src/public/channels/discord/messages.d.ts +116 -0
  276. package/dist/src/public/channels/discord/messages.js +2 -0
  277. package/dist/src/public/channels/github/checkout.js +1 -1
  278. package/dist/src/public/channels/linq/linqChannel.d.ts +4 -1
  279. package/dist/src/public/channels/linq/linqChannel.js +1 -1
  280. package/dist/src/public/channels/photon/photonIMessageChannel.js +1 -1
  281. package/dist/src/public/channels/same-environment-oidc.d.ts +7 -0
  282. package/dist/src/public/channels/same-environment-oidc.js +1 -0
  283. package/dist/src/public/definitions/channel.js +1 -1
  284. package/dist/src/public/definitions/sandbox.d.ts +1 -1
  285. package/dist/src/public/next/server.js +1 -1
  286. package/dist/src/public/sandbox/docker-sandbox.d.ts +6 -1
  287. package/dist/src/public/sandbox/docker.d.ts +1 -8
  288. package/dist/src/public/sandbox/index.d.ts +3 -3
  289. package/dist/src/public/sandbox/just-bash-sandbox.d.ts +87 -7
  290. package/dist/src/public/sandbox/just-bash.d.ts +1 -1
  291. package/dist/src/public/sandbox/provider.d.ts +5 -1
  292. package/dist/src/public/sandbox/provider.js +1 -1
  293. package/dist/src/public/sandbox/vercel-sandbox.d.ts +16 -9
  294. package/dist/src/public/sandbox/vercel.d.ts +0 -1
  295. package/dist/src/public/sandbox/vercel.js +1 -1
  296. package/dist/src/public/tools/agent.d.ts +8 -1
  297. package/dist/src/public/tools/agent.js +1 -1
  298. package/dist/src/react/use-eve-agent.d.ts +1 -1
  299. package/dist/src/runtime/agent/resolve-model.js +1 -1
  300. package/dist/src/runtime/connections/openapi-client.d.ts +2 -0
  301. package/dist/src/runtime/connections/openapi-client.js +1 -1
  302. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  303. package/dist/src/runtime/resolve-agent.js +1 -1
  304. package/dist/src/runtime/resolve-channel.js +1 -1
  305. package/dist/src/runtime/resolve-sandbox.js +1 -1
  306. package/dist/src/runtime/sandbox/prepared-artifacts.js +1 -1
  307. package/dist/src/runtime/sandbox/registry.d.ts +2 -0
  308. package/dist/src/runtime/sandbox/registry.js +1 -1
  309. package/dist/src/runtime/subagents/workflow.d.ts +6 -0
  310. package/dist/src/runtime/subagents/workflow.js +1 -1
  311. package/dist/src/runtime/workspace/seed-files.d.ts +9 -12
  312. package/dist/src/runtime/workspace/seed-files.js +1 -1
  313. package/dist/src/runtime/workspace/spec.d.ts +1 -1
  314. package/dist/src/runtime/workspace/spec.js +1 -1
  315. package/dist/src/runtime/workspace/types.d.ts +2 -6
  316. package/dist/src/sandbox/provider.d.ts +185 -0
  317. package/dist/src/sandbox/provider.js +1 -0
  318. package/dist/src/sandbox/providers/default.d.ts +20 -19
  319. package/dist/src/sandbox/providers/default.js +1 -1
  320. package/dist/src/sandbox/providers/docker.d.ts +5 -2
  321. package/dist/src/sandbox/providers/docker.js +1 -1
  322. package/dist/src/sandbox/providers/just-bash.d.ts +4 -3
  323. package/dist/src/sandbox/providers/just-bash.js +1 -1
  324. package/dist/src/sandbox/providers/vercel.d.ts +4 -10
  325. package/dist/src/sandbox/providers/vercel.js +1 -1
  326. package/dist/src/sandbox/providers.d.ts +0 -1
  327. package/dist/src/sandbox/providers.js +1 -1
  328. package/dist/src/sandbox/state.d.ts +44 -0
  329. package/dist/src/sandbox/state.js +1 -1
  330. package/dist/src/self-modification/deployed-sandbox.d.ts +4 -9
  331. package/dist/src/self-modification/deployed-sandbox.js +1 -1
  332. package/dist/src/self-modification/filesystem.d.ts +3 -3
  333. package/dist/src/self-modification/remote/config.d.ts +2 -2
  334. package/dist/src/self-modification/remote/config.js +1 -1
  335. package/dist/src/self-modification/setup.d.ts +0 -1
  336. package/dist/src/self-modification/setup.js +8 -8
  337. package/dist/src/setup/integrations/discord/api.d.ts +7 -0
  338. package/dist/src/setup/integrations/discord/api.js +1 -1
  339. package/dist/src/setup/integrations/discord/daemon.d.ts +18 -0
  340. package/dist/src/setup/integrations/discord/daemon.js +21 -0
  341. package/dist/src/setup/integrations/discord/setup.d.ts +24 -4
  342. package/dist/src/setup/integrations/discord/setup.js +5 -4
  343. package/dist/src/setup/integrations/self-modification/setup.js +1 -1
  344. package/dist/src/setup/scaffold/create/project.js +1 -1
  345. package/dist/src/setup/scaffold/update/web-options.js +1 -1
  346. package/dist/src/setup/scaffold/version-tokens.d.ts +0 -1
  347. package/dist/src/setup/scaffold/version-tokens.js +1 -1
  348. package/dist/src/shared/agent-definition.d.ts +2 -0
  349. package/dist/src/shared/built-server-start-failure.d.ts +12 -0
  350. package/dist/src/shared/built-server-start-failure.js +3 -0
  351. package/dist/src/shared/framework-eve-server.d.ts +2 -0
  352. package/dist/src/shared/framework-eve-server.js +2 -2
  353. package/dist/src/shared/sandbox-environment.d.ts +4 -10
  354. package/dist/src/shared/sandbox-environment.js +1 -1
  355. package/dist/src/shared/sandbox-network-policy.d.ts +45 -9
  356. package/dist/src/shared/sandbox-provider.d.ts +0 -103
  357. package/dist/src/shared/sandbox-provider.js +1 -1
  358. package/dist/src/shared/sandbox-recorded-data-error.d.ts +4 -0
  359. package/dist/src/shared/sandbox-recorded-data-error.js +1 -0
  360. package/dist/src/shared/sandbox-session-gone-error.d.ts +12 -0
  361. package/dist/src/shared/sandbox-session-gone-error.js +1 -0
  362. package/dist/src/shared/sandbox-session.d.ts +97 -83
  363. package/dist/src/shared/sandbox-template-error.d.ts +19 -4
  364. package/dist/src/shared/sandbox-template-error.js +1 -1
  365. package/dist/src/shared/sandbox-tool-session-error.d.ts +4 -0
  366. package/dist/src/shared/sandbox-tool-session-error.js +1 -0
  367. package/dist/src/shared/skill-package.js +1 -1
  368. package/dist/src/shared/skill-paths.d.ts +4 -5
  369. package/dist/src/shared/skill-paths.js +2 -2
  370. package/dist/src/shared/workflow-sandbox.d.ts +4 -41
  371. package/dist/src/shared/workflow-sandbox.js +1 -1
  372. package/dist/src/svelte/index.js +1 -1
  373. package/dist/src/svelte/use-eve-agent.d.ts +1 -1
  374. package/dist/src/svelte/use-eve-agent.js +1 -1
  375. package/dist/src/tools/model-output.d.ts +23 -5
  376. package/dist/src/tools/model-output.js +1 -1
  377. package/dist/src/tools/provided/ask-question-workflow.js +1 -1
  378. package/dist/src/tools/provided/glob.js +1 -1
  379. package/dist/src/tools/provided/grep.js +1 -1
  380. package/dist/src/tools/provided/read-file.js +1 -1
  381. package/dist/src/tools/provided/sleep-workflow.js +1 -1
  382. package/dist/src/tools/provided/workflow.js +1 -1
  383. package/dist/src/tools/provided/write-file.js +1 -1
  384. package/dist/src/tools/workflow-definition.d.ts +19 -4
  385. package/dist/src/vue/index.js +1 -1
  386. package/dist/src/vue/use-eve-agent.d.ts +1 -1
  387. package/dist/src/vue/use-eve-agent.js +1 -1
  388. package/docs/channels/custom.mdx +3 -3
  389. package/docs/channels/discord.mdx +279 -7
  390. package/docs/channels/eve.mdx +13 -2
  391. package/docs/channels/linq.mdx +2 -2
  392. package/docs/channels/mcp.mdx +2 -2
  393. package/docs/channels/overview.mdx +1 -1
  394. package/docs/channels/photon.mdx +1 -1
  395. package/docs/concepts/built-in-tools.md +31 -8
  396. package/docs/concepts/execution-model-and-durability.mdx +6 -101
  397. package/docs/concepts/security-model.md +2 -0
  398. package/docs/concepts/sessions-runs-and-streaming.md +44 -36
  399. package/docs/connections/openapi.mdx +2 -0
  400. package/docs/evals/reporters.mdx +1 -1
  401. package/docs/evals/running.mdx +1 -1
  402. package/docs/guides/client/messages.mdx +1 -1
  403. package/docs/guides/deployment/overview.md +4 -4
  404. package/docs/guides/deployment/self-hosting.md +50 -1
  405. package/docs/guides/dev-tui.md +1 -1
  406. package/docs/guides/dynamic-capabilities.md +1 -1
  407. package/docs/guides/frontend/overview.mdx +26 -6
  408. package/docs/guides/instrumentation/agent-runs.mdx +16 -0
  409. package/docs/guides/self-modification.md +1 -1
  410. package/docs/guides/session-context.md +1 -1
  411. package/docs/instructions.mdx +1 -1
  412. package/docs/reference/agent-files.md +3 -3
  413. package/docs/reference/cli.md +7 -2
  414. package/docs/reference/typescript-api.md +9 -3
  415. package/docs/sandbox/custom-providers.mdx +254 -0
  416. package/docs/sandbox/default.mdx +71 -4
  417. package/docs/sandbox/docker.mdx +15 -3
  418. package/docs/sandbox/index.mdx +27 -103
  419. package/docs/sandbox/just-bash.mdx +54 -0
  420. package/docs/sandbox/meta.json +9 -1
  421. package/docs/sandbox/troubleshooting.mdx +215 -0
  422. package/docs/sandbox/vercel.mdx +48 -7
  423. package/docs/skills.mdx +1 -1
  424. package/docs/subagents/index.mdx +2 -2
  425. package/docs/tools/overview.mdx +19 -0
  426. package/docs/tools/workflows.mdx +73 -5
  427. package/docs/tutorial/run-analysis.mdx +2 -2
  428. package/package.json +14 -20
  429. package/dist/src/compiled/@ai-sdk/code-mode/_run.d.ts +0 -1
  430. package/dist/src/compiled/@ai-sdk/code-mode/index.d.ts +0 -325
  431. package/dist/src/compiled/@ai-sdk/code-mode/index.js +0 -660
  432. package/dist/src/compiled/_chunks/workflow/dist-CyBgVS7g.js +0 -1
  433. package/dist/src/compiled/_chunks/workflow/dist-T5NnW-0k.js +0 -3
  434. package/dist/src/compiled/_chunks/workflow/helpers-DlLD3ov_.js +0 -1
  435. package/dist/src/compiled/_chunks/workflow/private-tQUuwBoQ.js +0 -1
  436. package/dist/src/compiled/_chunks/workflow/resume-hook-DMsV_b4n.js +0 -1
  437. package/dist/src/compiled/_chunks/workflow/serialization-DPdYS_w2.js +0 -16
  438. package/dist/src/compiled/_chunks/workflow/sleep-BY6leHh8.js +0 -1
  439. package/dist/src/compiled/_chunks/workflow/workflow-routes-CwqB063q.js +0 -1
  440. package/dist/src/execution/sandbox/active-handles.d.ts +0 -32
  441. package/dist/src/execution/sandbox/active-handles.js +0 -1
  442. package/dist/src/execution/sandbox/bindings/docker-session.d.ts +0 -6
  443. package/dist/src/execution/sandbox/bindings/docker-session.js +0 -2
  444. package/dist/src/execution/sandbox/bindings/immutable-resources.d.ts +0 -15
  445. package/dist/src/execution/sandbox/bindings/immutable-resources.js +0 -2
  446. package/dist/src/execution/sandbox/bindings/microsandbox-create.d.ts +0 -12
  447. package/dist/src/execution/sandbox/bindings/microsandbox-create.js +0 -1
  448. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +0 -42
  449. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.js +0 -1
  450. package/dist/src/execution/sandbox/bindings/microsandbox-metadata.d.ts +0 -29
  451. package/dist/src/execution/sandbox/bindings/microsandbox-metadata.js +0 -1
  452. package/dist/src/execution/sandbox/bindings/microsandbox-network.d.ts +0 -18
  453. package/dist/src/execution/sandbox/bindings/microsandbox-network.js +0 -1
  454. package/dist/src/execution/sandbox/bindings/microsandbox-options.d.ts +0 -37
  455. package/dist/src/execution/sandbox/bindings/microsandbox-options.js +0 -1
  456. package/dist/src/execution/sandbox/bindings/microsandbox-platform.d.ts +0 -21
  457. package/dist/src/execution/sandbox/bindings/microsandbox-platform.js +0 -21
  458. package/dist/src/execution/sandbox/bindings/microsandbox-process.d.ts +0 -3
  459. package/dist/src/execution/sandbox/bindings/microsandbox-process.js +0 -1
  460. package/dist/src/execution/sandbox/bindings/microsandbox-provider-state.d.ts +0 -11
  461. package/dist/src/execution/sandbox/bindings/microsandbox-provider-state.js +0 -1
  462. package/dist/src/execution/sandbox/bindings/microsandbox-runtime.d.ts +0 -82
  463. package/dist/src/execution/sandbox/bindings/microsandbox-runtime.js +0 -1
  464. package/dist/src/execution/sandbox/bindings/microsandbox-templates.d.ts +0 -12
  465. package/dist/src/execution/sandbox/bindings/microsandbox-templates.js +0 -1
  466. package/dist/src/execution/sandbox/bindings/microsandbox.d.ts +0 -16
  467. package/dist/src/execution/sandbox/bindings/microsandbox.js +0 -1
  468. package/dist/src/execution/sandbox/provider-host-development.d.ts +0 -2
  469. package/dist/src/execution/sandbox/provider-host-development.js +0 -1
  470. package/dist/src/execution/sandbox/provider-host.d.ts +0 -2
  471. package/dist/src/execution/sandbox/provider-host.js +0 -1
  472. package/dist/src/execution/tool-session/sandbox.d.ts +0 -22
  473. package/dist/src/execution/tool-session/sandbox.js +0 -1
  474. package/dist/src/public/sandbox/microsandbox-sandbox.d.ts +0 -48
  475. package/dist/src/public/sandbox/microsandbox-sandbox.js +0 -1
  476. package/dist/src/public/sandbox/microsandbox.d.ts +0 -9
  477. package/dist/src/public/sandbox/microsandbox.js +0 -1
  478. package/dist/src/sandbox/providers/microsandbox.d.ts +0 -12
  479. package/dist/src/sandbox/providers/microsandbox.js +0 -1
  480. package/docs/sandbox/microsandbox.mdx +0 -31
@@ -1,11 +1,9 @@
1
- import type * as Vercel from "#compiled/@vercel/sandbox/index.js";
2
1
  /**
3
2
  * Firewall network policy applied to a live sandbox session.
4
3
  *
5
- * eve-owned alias of the provider network-policy shape. Use it to restrict
6
- * egress (`"deny-all"`, an allow-list) or to broker credentials onto
7
- * outgoing requests. A per-domain `transform` injects headers at the
8
- * firewall so secrets never enter the sandbox process:
4
+ * Use it to restrict egress (`"deny-all"`, an allow-list) or to broker
5
+ * credentials onto outgoing requests. A per-domain `transform` injects
6
+ * headers at the firewall so secrets never enter the sandbox process:
9
7
  *
10
8
  * ```ts
11
9
  * import { environment } from "../sandbox";
@@ -19,11 +17,49 @@ import type * as Vercel from "#compiled/@vercel/sandbox/index.js";
19
17
  * });
20
18
  * ```
21
19
  *
22
- * The Docker provider honors only the coarse `"allow-all"` and
23
- * `"deny-all"` policies. just-bash environments do not expose
24
- * `setNetworkPolicy` because their network policy is fixed at sandbox creation.
20
+ * A provider rejects any part of a policy it cannot enforce instead of
21
+ * weakening it. The Docker provider honors only `"allow-all"` and
22
+ * `"deny-all"`.
25
23
  */
26
- export type SandboxNetworkPolicy = Vercel.NetworkPolicy;
24
+ export type SandboxNetworkPolicy = "allow-all" | "deny-all" | {
25
+ /** Allowed domains, or a map from domain to the rules applied to its requests. */
26
+ readonly allow?: readonly string[] | Readonly<Record<string, readonly SandboxNetworkRule[]>>;
27
+ readonly subnets?: {
28
+ readonly allow?: readonly string[];
29
+ readonly deny?: readonly string[];
30
+ };
31
+ };
32
+ /** Exactly one of `transform` (inject headers) or `forwardURL` (proxy the request). */
33
+ export type SandboxNetworkRule = {
34
+ readonly match?: SandboxNetworkMatch;
35
+ } & ({
36
+ readonly transform: readonly {
37
+ readonly headers?: Readonly<Record<string, string>>;
38
+ }[];
39
+ } | {
40
+ readonly forwardURL: string;
41
+ });
42
+ /** Which requests a {@link SandboxNetworkRule} applies to. */
43
+ export interface SandboxNetworkMatch {
44
+ readonly headers?: readonly {
45
+ readonly key?: SandboxNetworkMatcher;
46
+ readonly value?: SandboxNetworkMatcher;
47
+ }[];
48
+ readonly method?: readonly string[];
49
+ readonly path?: SandboxNetworkMatcher;
50
+ readonly queryString?: readonly {
51
+ readonly key?: SandboxNetworkMatcher;
52
+ readonly value?: SandboxNetworkMatcher;
53
+ }[];
54
+ }
55
+ /** Sets exactly one of `exact`, `startsWith`, or `regex`. */
56
+ export type SandboxNetworkMatcher = {
57
+ readonly exact: string;
58
+ } | {
59
+ readonly startsWith: string;
60
+ } | {
61
+ readonly regex: string;
62
+ };
27
63
  /** Initial network configuration shared by network-capable sandbox providers. */
28
64
  export interface SandboxNetworkOptions {
29
65
  readonly networkPolicy?: SandboxNetworkPolicy;
@@ -1,5 +1,3 @@
1
- import { type SandboxEnvironment, type SandboxSelectorContext } from "#shared/sandbox-environment.js";
2
- import type { SandboxSession } from "#shared/sandbox-session.js";
3
1
  export interface SandboxDeleteOptions {
4
2
  readonly abortSignal?: AbortSignal;
5
3
  }
@@ -7,113 +5,12 @@ export interface SandboxProviderResourceFile {
7
5
  readonly content: string | Uint8Array;
8
6
  readonly relativePath: string;
9
7
  }
10
- export interface SandboxProviderResourceTree {
11
- readonly files: readonly SandboxProviderResourceFile[];
12
- readonly key: string;
13
- readonly mountPath: string;
14
- readonly targetPath: string;
15
- }
16
- export type SandboxProviderResourceSource = {
17
- readonly kind: "none";
18
- } | {
19
- readonly key: string;
20
- readonly kind: "inline";
21
- } | {
22
- readonly key: string;
23
- readonly kind: "materialized";
24
- readonly path: string;
25
- };
26
- export interface SandboxProviderResources {
27
- readonly skills?: SandboxProviderResourceTree;
28
- readonly source: SandboxProviderResourceSource;
29
- readonly workspace?: SandboxProviderResourceTree;
30
- }
31
- export declare function sandboxProviderResourceIdentity(resources: SandboxProviderResources): object;
32
- export interface SandboxProviderTargetFile {
33
- readonly content: string | Uint8Array;
34
- readonly path: string;
35
- }
36
- export declare function providerResourceTargetFiles(resources: SandboxProviderResources): SandboxProviderTargetFile[];
37
8
  export type SandboxPreparedArtifact = null | boolean | number | string | readonly SandboxPreparedArtifact[] | {
38
9
  readonly [key: string]: SandboxPreparedArtifact;
39
10
  };
40
11
  export declare function isSandboxPreparedArtifact(value: unknown): value is SandboxPreparedArtifact;
41
- export declare function isSandboxPreparedArtifactRecord(artifact: unknown): artifact is {
42
- readonly [key: string]: SandboxPreparedArtifact;
43
- };
44
12
  export interface SandboxProviderFiles {
45
13
  list(): Promise<readonly string[]>;
46
14
  read(path: string): Promise<Uint8Array>;
47
15
  readText(path: string): Promise<string>;
48
16
  }
49
- export interface SandboxProviderHost {
50
- loadOptionalPackage<T>(input: {
51
- readonly autoInstall: boolean;
52
- readonly importModule: () => Promise<T>;
53
- readonly installPackageName?: string;
54
- readonly ignoredOptionalDependencies?: readonly string[];
55
- readonly missingMessage: string;
56
- readonly packageName: string;
57
- }): Promise<T>;
58
- resolveProjectPath(path: string): string;
59
- }
60
- export interface SandboxProviderPrepareContext {
61
- readonly files: SandboxProviderFiles;
62
- readonly host: SandboxProviderHost;
63
- readonly log?: (message: string) => void;
64
- readonly resources: SandboxProviderResources;
65
- readonly sourceRevision: string;
66
- readonly storagePath: string;
67
- }
68
- export interface SandboxProviderSessionContext {
69
- readonly host: SandboxProviderHost;
70
- readonly session: SandboxSelectorContext["session"];
71
- readonly storagePath: string;
72
- }
73
- export interface SandboxProviderHandle<Session extends SandboxSession = SandboxSession> {
74
- readonly sandbox: Session;
75
- onRuntimeShutdown(): Promise<void>;
76
- onSandboxDelete(options?: SandboxDeleteOptions): Promise<void>;
77
- onSandboxStop(): Promise<void>;
78
- }
79
- export interface SandboxProviderImplementation<OpenOptions extends object | undefined, PreparedArtifact extends SandboxPreparedArtifact, SessionState, Session extends SandboxSession = SandboxSession> {
80
- /**
81
- * Permanently releases resources owned by a durable session after its terminal outcome.
82
- * Implementations must be idempotent because the cleanup step may retry.
83
- */
84
- onSessionEnd?(context: SandboxProviderSessionContext, artifact: Readonly<PreparedArtifact>, state: Readonly<SessionState>, options: {
85
- readonly reason: "completed" | "expired" | "failed";
86
- }): Promise<void>;
87
- prepare(context: SandboxProviderPrepareContext): Promise<PreparedArtifact>;
88
- resume(context: SandboxProviderSessionContext, artifact: Readonly<PreparedArtifact>, state: Readonly<SessionState>): Promise<SandboxProviderHandle<Session>>;
89
- start(context: SandboxProviderSessionContext, options: Readonly<OpenOptions> | undefined, artifact: Readonly<PreparedArtifact>): Promise<{
90
- readonly handle: SandboxProviderHandle<Session>;
91
- readonly state: SessionState;
92
- }>;
93
- }
94
- type SandboxOptionArguments<Options extends object | undefined> = Options extends undefined ? [options?: undefined] : Record<never, never> extends Options ? [options?: Readonly<Options>] : [options: Readonly<Options>];
95
- export type SandboxProviderDefinition<EnvironmentOptions extends object | undefined, OpenOptions extends object | undefined, PreparedArtifact extends SandboxPreparedArtifact, SessionState, Session extends SandboxSession> = {
96
- readonly name: string;
97
- readonly stateProtocolVersion?: number;
98
- environment(...args: SandboxOptionArguments<EnvironmentOptions>): SandboxProviderImplementation<OpenOptions, PreparedArtifact, SessionState, Session>;
99
- };
100
- export interface SandboxProvider<EnvironmentOptions extends object | undefined, OpenOptions extends object | undefined, Session extends SandboxSession> {
101
- readonly name: string;
102
- environment(...args: SandboxOptionArguments<EnvironmentOptions>): SandboxEnvironment<OpenOptions, Session>;
103
- }
104
- type ErasedSandboxProviderImplementation = SandboxProviderImplementation<object | undefined, SandboxPreparedArtifact, SandboxPreparedArtifact, SandboxSession>;
105
- export interface SandboxProviderRuntime {
106
- readonly implementation: ErasedSandboxProviderImplementation;
107
- readonly providerName: string;
108
- readonly stateProtocolVersion: number;
109
- }
110
- export declare function defineSandboxProvider<EnvironmentOptions extends object | undefined = undefined, OpenOptions extends object | undefined = undefined, PreparedArtifact extends SandboxPreparedArtifact = SandboxPreparedArtifact, SessionState = SandboxPreparedArtifact, Session extends SandboxSession = SandboxSession>(definition: SandboxProviderDefinition<EnvironmentOptions, OpenOptions, PreparedArtifact, SessionState, Session>): SandboxProvider<EnvironmentOptions, OpenOptions, Session>;
111
- export declare function createSandboxProviderResources(input: {
112
- readonly resourcesKey?: string;
113
- readonly resourcesPath?: string;
114
- readonly seedFiles?: readonly {
115
- readonly content: string | Uint8Array;
116
- readonly path: string;
117
- }[];
118
- }): SandboxProviderResources;
119
- export {};
@@ -1 +1 @@
1
- import{createSandboxEnvironment}from"#shared/sandbox-environment.js";function sandboxProviderResourceIdentity(e){return{skills:e.skills?.key,workspace:e.workspace?.key}}function providerResourceTargetFiles(e){return[e.workspace,e.skills].flatMap(e=>e===void 0?[]:e.files.map(t=>({content:t.content,path:`${e.targetPath}/${t.relativePath}`})))}function isSandboxPreparedArtifact(e){return e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`?!0:Array.isArray(e)?e.every(isSandboxPreparedArtifact):typeof e==`object`&&!!e&&Object.values(e).every(isSandboxPreparedArtifact)}function isSandboxPreparedArtifactRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function defineSandboxProvider(e){let t=e.stateProtocolVersion??1;return{name:e.name,environment(...n){return createSandboxEnvironment({configuration:n[0],runtime:{implementation:eraseSandboxProviderImplementation(e.environment(...n)),providerName:e.name,stateProtocolVersion:t}})}}}function eraseSandboxProviderImplementation(e){return e}function createSandboxProviderResources(e){if(e.resourcesKey===void 0)return{source:{kind:`none`}};let t=e.seedFiles??[],n=e.resourcesPath===void 0?{key:e.resourcesKey,kind:`inline`}:{key:e.resourcesKey,kind:`materialized`,path:e.resourcesPath};return{skills:createResourceTree({files:t.filter(e=>e.path.startsWith(`$HOME/.agents/skills/`)),key:`${e.resourcesKey}:skills`,mountPath:`/eve/resources/skills`,prefix:`$HOME/.agents/skills/`,targetPath:`$HOME/.agents/skills`}),source:n,workspace:createResourceTree({files:t.filter(e=>!e.path.startsWith(`$HOME/.agents/skills/`)),key:`${e.resourcesKey}:workspace`,mountPath:`/eve/resources/workspace`,prefix:`/workspace/`,targetPath:`/workspace`})}}function createResourceTree(e){return{files:e.files.map(t=>({content:t.content,relativePath:t.path.startsWith(e.prefix)?t.path.slice(e.prefix.length):t.path})),key:e.key,mountPath:e.mountPath,targetPath:e.targetPath}}export{createSandboxProviderResources,defineSandboxProvider,isSandboxPreparedArtifact,isSandboxPreparedArtifactRecord,providerResourceTargetFiles,sandboxProviderResourceIdentity};
1
+ function isSandboxPreparedArtifact(e){return e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`?!0:Array.isArray(e)?e.every(isSandboxPreparedArtifact):typeof e==`object`&&!!e&&Object.values(e).every(isSandboxPreparedArtifact)}export{isSandboxPreparedArtifact};
@@ -0,0 +1,4 @@
1
+ /** A provider's recorded session state does not match the shape this eve version writes. */
2
+ export declare function invalidSandboxSessionStateError(label: string): Error;
3
+ /** A provider's prepared artifact from `eve build` does not match the shape this eve version writes. */
4
+ export declare function invalidPreparedSandboxArtifactError(label: string): Error;
@@ -0,0 +1 @@
1
+ function invalidSandboxSessionStateError(e){return Error(`Invalid ${e} session state. This session's recorded sandbox state does not match the format this eve version expects, usually because the session started under a different eve version. Start a new session to get a fresh sandbox.`)}function invalidPreparedSandboxArtifactError(e){return Error(`Invalid prepared ${e} artifact. The artifact recorded by \`eve build\` does not match the format this eve version expects, usually because the build used a different eve version. Run \`eve build\` with the eve version this runtime uses, then redeploy.`)}export{invalidPreparedSandboxArtifactError,invalidSandboxSessionStateError};
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Thrown by a provider's `resume()` when the session's native sandbox no
3
+ * longer exists. eve then clears the session's sandbox state and reruns the
4
+ * sandbox selector, which starts a fresh sandbox, as it would after
5
+ * `sandbox.delete()`. Throw it only for a sandbox that is gone; other
6
+ * failures must surface unchanged.
7
+ */
8
+ export declare class SandboxSessionGoneError extends Error {
9
+ constructor(message: string);
10
+ /** Also matches an error from another copy of this class, such as one a provider bundles. */
11
+ static is(error: unknown): error is SandboxSessionGoneError;
12
+ }
@@ -0,0 +1 @@
1
+ var SandboxSessionGoneError=class SandboxSessionGoneError extends Error{constructor(e){super(e),this.name=`SandboxSessionGoneError`}static is(e){return e instanceof SandboxSessionGoneError||e instanceof Error&&e.name===`SandboxSessionGoneError`}};export{SandboxSessionGoneError};
@@ -1,59 +1,88 @@
1
- import type { Experimental_SandboxSession as AiSdkSandbox } from "ai";
2
1
  import type { SandboxDeleteOptions } from "#shared/sandbox-provider.js";
3
2
  /**
4
- * Options for running one command in a sandbox. Shape mirrors the AI
5
- * SDK {@link AiSdkSandbox} `run` argument so authored code that targets
6
- * either surface uses the same call shape.
3
+ * Options for running one command, or spawning one process, in a sandbox.
4
+ * `env` holds per-call variables, merged over the sandbox's environment.
5
+ * Aborting kills the process.
7
6
  */
8
- export type SandboxRunOptions = Parameters<AiSdkSandbox["run"]>[0];
9
- /**
10
- * Serializable result returned after running one sandbox command.
11
- */
12
- export type SandboxCommandResult = Awaited<ReturnType<AiSdkSandbox["run"]>>;
13
- /**
14
- * Options for spawning one long-running process in a sandbox. Shape
15
- * mirrors the AI SDK {@link AiSdkSandbox} `spawn` argument.
16
- */
17
- export type SandboxSpawnOptions = Parameters<AiSdkSandbox["spawn"]>[0];
18
- /**
19
- * Handle to a long-running process spawned via {@link SandboxSession.spawn}.
20
- * Mirrors the AI SDK `Experimental_SandboxProcess` type.
21
- */
22
- export type SandboxProcess = Awaited<ReturnType<AiSdkSandbox["spawn"]>>;
23
- /**
24
- * Options for reading one file as a stream of bytes.
25
- */
26
- export type SandboxReadFileOptions = Parameters<AiSdkSandbox["readFile"]>[0];
27
- /**
28
- * Options for reading one file as raw bytes.
29
- */
30
- export type SandboxReadBinaryFileOptions = Parameters<AiSdkSandbox["readBinaryFile"]>[0];
7
+ export interface SandboxRunOptions {
8
+ readonly abortSignal?: AbortSignal;
9
+ readonly command: string;
10
+ readonly env?: Readonly<Record<string, string>>;
11
+ /** Relative directories resolve from the workspace root, which is also the default. */
12
+ readonly workingDirectory?: string;
13
+ }
14
+ /** Options for spawning one long-running process in a sandbox. */
15
+ export type SandboxSpawnOptions = SandboxRunOptions;
16
+ /** Result of one finished sandbox command. A nonzero `exitCode` does not throw. */
17
+ export interface SandboxCommandResult {
18
+ readonly exitCode: number;
19
+ readonly stderr: string;
20
+ readonly stdout: string;
21
+ }
22
+ /** Handle to a long-running process spawned via {@link SandboxSession.spawn}. */
23
+ export interface SandboxProcess {
24
+ readonly pid?: number;
25
+ readonly stderr: ReadableStream<Uint8Array>;
26
+ readonly stdout: ReadableStream<Uint8Array>;
27
+ /** Terminates the process. Idempotent. */
28
+ kill(): Promise<void>;
29
+ wait(): Promise<{
30
+ readonly exitCode: number;
31
+ }>;
32
+ }
33
+ /** Options for reading one file as a stream of bytes. */
34
+ export interface SandboxReadFileOptions {
35
+ readonly abortSignal?: AbortSignal;
36
+ readonly path: string;
37
+ }
38
+ /** Options for reading one file as raw bytes. */
39
+ export type SandboxReadBinaryFileOptions = SandboxReadFileOptions;
31
40
  /**
32
41
  * Options for reading one text file from a sandbox.
33
42
  *
34
- * `encoding`, `startLine`, and `endLine` are passed through to the
35
- * public-surface decoder. `"utf-8"` decodes with `TextDecoder` in fatal
36
- * mode; other encodings fall back to Node's `Buffer.toString(encoding)`.
37
- * Line ranges are 1-based and inclusive; `endLine` past the file's line
38
- * count returns through EOF without error.
43
+ * `"utf-8"` decodes with `TextDecoder` in fatal mode; other encodings fall
44
+ * back to Node's `Buffer.toString(encoding)`. Line ranges are 1-based and
45
+ * inclusive; `endLine` past the file's line count returns through EOF
46
+ * without error.
39
47
  */
40
- export type SandboxReadTextFileOptions = Parameters<AiSdkSandbox["readTextFile"]>[0];
41
- /**
42
- * Options for writing one file from a stream of bytes.
43
- */
44
- export type SandboxWriteFileOptions = Parameters<AiSdkSandbox["writeFile"]>[0];
45
- /**
46
- * Options for writing one file from raw bytes.
47
- */
48
- export type SandboxWriteBinaryFileOptions = Parameters<AiSdkSandbox["writeBinaryFile"]>[0];
48
+ export interface SandboxReadTextFileOptions extends SandboxReadFileOptions {
49
+ readonly encoding?: string;
50
+ readonly endLine?: number;
51
+ readonly startLine?: number;
52
+ }
53
+ /** Options for writing one file from a stream of bytes. */
54
+ export interface SandboxWriteFileOptions {
55
+ readonly abortSignal?: AbortSignal;
56
+ readonly content: ReadableStream<Uint8Array>;
57
+ readonly path: string;
58
+ }
59
+ /** Options for writing one file from raw bytes. */
60
+ export interface SandboxWriteBinaryFileOptions {
61
+ readonly abortSignal?: AbortSignal;
62
+ readonly content: Uint8Array;
63
+ readonly path: string;
64
+ }
65
+ /** Options for writing one text file to a sandbox. Encodes as UTF-8 unless `encoding` is set. */
66
+ export interface SandboxWriteTextFileOptions {
67
+ readonly abortSignal?: AbortSignal;
68
+ readonly content: string;
69
+ readonly encoding?: string;
70
+ readonly path: string;
71
+ }
49
72
  /**
50
- * Options for writing one text file to a sandbox.
73
+ * Options for writing several files from raw bytes in one batch.
51
74
  */
52
- export type SandboxWriteTextFileOptions = Parameters<AiSdkSandbox["writeTextFile"]>[0];
75
+ export interface SandboxWriteFilesOptions {
76
+ readonly abortSignal?: AbortSignal;
77
+ readonly files: readonly {
78
+ readonly content: Uint8Array;
79
+ readonly path: string;
80
+ }[];
81
+ }
53
82
  /**
54
83
  * Options for removing a path from a sandbox.
55
84
  *
56
- * Relative paths resolve from `/workspace`; absolute paths pass through.
85
+ * Relative paths resolve from the workspace root; absolute paths pass through.
57
86
  * `force` ignores missing paths. `recursive` permits removing non-empty
58
87
  * directories.
59
88
  */
@@ -64,32 +93,37 @@ export interface SandboxRemovePathOptions {
64
93
  readonly recursive?: boolean;
65
94
  }
66
95
  /**
67
- * Public eve-owned sandbox session exposed to authored lifecycle hooks.
96
+ * The sandbox session that authored tools, hooks, and `prepare` receive.
68
97
  *
69
- * The eight I/O methods (`run`, `spawn`, `readFile`, `readBinaryFile`,
70
- * `readTextFile`, `writeFile`, `writeBinaryFile`, `writeTextFile`) are
71
- * pulled directly from the AI SDK {@link AiSdkSandbox} type, so authored
72
- * code that targets either surface uses identical signatures. `resolvePath`
73
- * is an eve-specific extension for `/workspace` path anchoring.
74
- *
75
- * Relative paths resolve from `/workspace`, the live working directory
76
- * for every provider. Absolute paths pass through unchanged.
98
+ * Relative paths resolve from the workspace root, where commands start by
99
+ * default: `/workspace` on every built-in provider. Absolute paths pass
100
+ * through unchanged. Writes create missing parent directories and overwrite
101
+ * existing files. Reads resolve to `null` only when the path does not exist.
77
102
  *
103
+ * The method set stays assignable to the AI SDK's
104
+ * `Experimental_SandboxSession`, apart from its `description`.
78
105
  */
79
- export interface SandboxSession extends Pick<AiSdkSandbox, "run" | "spawn" | "readFile" | "readBinaryFile" | "readTextFile" | "writeFile" | "writeBinaryFile" | "writeTextFile"> {
106
+ export interface SandboxSession {
107
+ run(options: SandboxRunOptions): Promise<SandboxCommandResult>;
108
+ spawn(options: SandboxSpawnOptions): Promise<SandboxProcess>;
109
+ readFile(options: SandboxReadFileOptions): Promise<ReadableStream<Uint8Array> | null>;
110
+ readBinaryFile(options: SandboxReadBinaryFileOptions): Promise<Uint8Array | null>;
111
+ readTextFile(options: SandboxReadTextFileOptions): Promise<string | null>;
112
+ writeFile(options: SandboxWriteFileOptions): Promise<void>;
113
+ writeBinaryFile(options: SandboxWriteBinaryFileOptions): Promise<void>;
114
+ writeTextFile(options: SandboxWriteTextFileOptions): Promise<void>;
80
115
  /**
81
- * Anchors a sandbox-relative path to `/workspace` and returns the
82
- * resulting absolute path.
83
- *
84
- * Relative paths resolve from `/workspace`; absolute paths pass through.
85
- * The read and write methods already apply this internally.
116
+ * Writes several files in as few provider calls as the provider allows. A
117
+ * batch is not atomic: a rejected batch may leave earlier files written.
86
118
  */
87
- resolvePath(path: string): string;
119
+ writeFiles(options: SandboxWriteFilesOptions): Promise<void>;
88
120
  /**
89
- * Removes one file or directory from the sandbox filesystem.
90
- *
91
- * Relative paths resolve from `/workspace`; absolute paths pass through.
121
+ * Anchors a sandbox-relative path to the workspace root and returns the
122
+ * resulting absolute path, so `resolvePath(".")` is the root itself. The
123
+ * read and write methods already apply it.
92
124
  */
125
+ resolvePath(path: string): string;
126
+ /** Removes one file or directory from the sandbox filesystem. */
93
127
  removePath(options: SandboxRemovePathOptions): Promise<void>;
94
128
  }
95
129
  export interface RuntimeSandboxSession extends SandboxSession {
@@ -103,23 +137,3 @@ export interface RuntimeSandboxSession extends SandboxSession {
103
137
  stop(): Promise<void>;
104
138
  }
105
139
  export type RuntimeSandboxSessionFor<Session extends SandboxSession> = Session & Pick<RuntimeSandboxSession, "delete" | "stop">;
106
- /**
107
- * Internal sandbox session, used to construct the public {@link SandboxSession}.
108
- *
109
- * Provider implementations only need to provide byte-oriented file I/O and
110
- * a `spawn` primitive; the public surface (binary and text variants,
111
- * line-range slicing, encoding handling, the `run` wrapper) is built on
112
- * top of these primitives by `buildSandboxSession`.
113
- *
114
- * Each method's signature mirrors its public counterpart (and the AI
115
- * SDK {@link AiSdkSandbox} surface) so providers look symmetric with
116
- * what authored code sees. The `path` field on `readFile`/`writeFile`
117
- * here is the **already-resolved** path: the public-surface builder
118
- * calls `resolvePath` before delegating.
119
- */
120
- export interface InternalSandboxSession extends Pick<AiSdkSandbox, "spawn" | "readFile" | "writeFile"> {
121
- /** Removes an already-resolved path from the provider filesystem. */
122
- removePath(options: SandboxRemovePathOptions): Promise<void>;
123
- /** Translates a user-facing path to the provider's native path. */
124
- resolvePath(path: string): string;
125
- }
@@ -1,9 +1,24 @@
1
+ type SandboxTemplateNotProvisionedInput =
2
+ /** The build recorded no prepared artifact for this agent node. */
3
+ {
4
+ readonly nodeId: string;
5
+ readonly providerName: string;
6
+ }
7
+ /**
8
+ * The provider cannot use the recorded template. Callers that know why pass
9
+ * `reason`; the default message names no cause, because callers raise this for
10
+ * several different ones.
11
+ */
12
+ | {
13
+ readonly providerName: string;
14
+ readonly reason?: string;
15
+ readonly templateKey: string;
16
+ };
1
17
  export declare class SandboxTemplateNotProvisionedError extends Error {
2
18
  readonly providerName: string;
19
+ /** The provider's template identifier, or the agent node id when the build recorded no artifact. */
3
20
  readonly templateKey: string;
4
- constructor(input: {
5
- readonly providerName: string;
6
- readonly templateKey: string;
7
- });
21
+ constructor(input: SandboxTemplateNotProvisionedInput);
8
22
  static is(error: unknown): error is SandboxTemplateNotProvisionedError;
9
23
  }
24
+ export {};
@@ -1 +1 @@
1
- var SandboxTemplateNotProvisionedError=class SandboxTemplateNotProvisionedError extends Error{providerName;templateKey;constructor(e){super(`Sandbox template "${e.templateKey}" is not provisioned for provider "${e.providerName}". Run \`eve build\` before serving traffic.`),this.name=`SandboxTemplateNotProvisionedError`,this.providerName=e.providerName,this.templateKey=e.templateKey}static is(e){return e instanceof SandboxTemplateNotProvisionedError||typeof e==`object`&&!!e&&Reflect.get(e,`name`)===`SandboxTemplateNotProvisionedError`&&typeof Reflect.get(e,`providerName`)==`string`&&typeof Reflect.get(e,`templateKey`)==`string`}};export{SandboxTemplateNotProvisionedError};
1
+ var SandboxTemplateNotProvisionedError=class SandboxTemplateNotProvisionedError extends Error{providerName;templateKey;constructor(e){super(`nodeId`in e?`No prepared "${e.providerName}" sandbox environment is recorded for agent node "${e.nodeId}". eve prepares sandbox environments during \`eve build\` and never prepares them in production. Run \`eve build\` without \`--skip-sandbox-prewarm\` and deploy that output with this runtime.`:`Sandbox template "${e.templateKey}" for provider "${e.providerName}" is not available to this runtime. `+(e.reason===void 0?``:`${e.reason} `)+"The runtime only uses templates that `eve build` prepared and never recreates them. Run `eve build` again and deploy its output."),this.name=`SandboxTemplateNotProvisionedError`,this.providerName=e.providerName,this.templateKey=`nodeId`in e?e.nodeId:e.templateKey}static is(e){return e instanceof SandboxTemplateNotProvisionedError||typeof e==`object`&&!!e&&Reflect.get(e,`name`)===`SandboxTemplateNotProvisionedError`&&typeof Reflect.get(e,`providerName`)==`string`&&typeof Reflect.get(e,`templateKey`)==`string`}};export{SandboxTemplateNotProvisionedError};
@@ -0,0 +1,4 @@
1
+ /** Raised when a keyed tool session opens a sandbox on a provider that cannot keep it. */
2
+ export declare class ToolSessionSandboxUnsupportedError extends Error {
3
+ constructor(providerName: string);
4
+ }
@@ -0,0 +1 @@
1
+ var ToolSessionSandboxUnsupportedError=class extends Error{constructor(e){super(`Sandbox provider "${e}" cannot keep a sandbox between invokeTool calls, so a call with a key cannot open one. Call without a key for a sandbox that lasts one call, or use Vercel Sandbox, just-bash, or a custom provider that sets \`toolSessions: true\`.`),this.name=`ToolSessionSandboxUnsupportedError`}};export{ToolSessionSandboxUnsupportedError};
@@ -1 +1 @@
1
- import{createHash}from"node:crypto";import{mkdir,writeFile}from"node:fs/promises";import{dirname,join}from"node:path";import{resolveSandboxSkillRoot,resolveSandboxSkillWritePath}from"#shared/skill-paths.js";import{mapWithConcurrency}from"#shared/map-with-concurrency.js";import{Buffer}from"node:buffer";function stripSkillFrontmatter(e){return e.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,``)}function skillPackageRevision(e){let t=createHash(`sha256`);for(let n of e.files)t.update(`${n.relativePath}\0${n.content.byteLength}\0`).update(n.content);return t.digest(`hex`)}function normalizeSkillPackage(e){assertSafeSkillPackageName(e.name);let t=[{content:Buffer.from(e.markdown,`utf8`),relativePath:`SKILL.md`}];for(let[n,r]of Object.entries(e.files??{}))assertSafeSkillPackageFilePath(n),t.push({content:contentToBuffer(r),relativePath:n});return t.sort((e,t)=>comparePaths(e.relativePath,t.relativePath)),{deferred:e.deferred,description:e.description,files:t,license:e.license,markdown:e.markdown,metadata:e.metadata===void 0?void 0:{...e.metadata},name:e.name}}async function writeSkillPackageDirectory(e){for(let t of e.skill.files){let n=join(e.rootPath,`skills`,e.skill.name,t.relativePath);await mkdir(dirname(n),{recursive:!0}),await writeFile(n,t.content)}}async function writeSkillPackageToSandbox(e){await mapWithConcurrency(e.skill.files,16,async t=>{await e.sandbox.writeBinaryFile({content:t.content,path:await resolveSandboxSkillWritePath({name:e.skill.name,relativePath:t.relativePath,sandbox:e.sandbox})})})}async function removeSkillPackageFromSandbox(e){assertSafeSkillPackageName(e.name);let t=await resolveSandboxSkillRoot({sandbox:e.sandbox});await e.sandbox.removePath({force:!0,path:`${t}/${e.name}`,recursive:!0})}function assertSafeSkillPackageName(e){if(e.length===0||e.startsWith(`.`)||e.includes(`/`)||e.includes(`\\`)||e.includes(`..`)||!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(e)||/^[A-Za-z]:/.test(e))throw Error(`Expected skill name to be a non-empty shell-safe path segment starting with an alphanumeric character and containing only alphanumerics, ".", "_", or "-".`)}function assertSafeSkillPackageFilePath(e){if(e===`SKILL.md`)throw Error(`Skill package files must not include "SKILL.md"; eve generates it.`);if(e.length===0||e.startsWith(`/`)||e.includes(`\\`)||/^[A-Za-z]:/.test(e)||e.split(`/`).some(e=>e.length===0||e===`.`||e===`..`))throw Error(`Expected skill package file paths to be relative POSIX paths.`)}function contentToBuffer(e){return typeof e==`string`?Buffer.from(e,`utf8`):Buffer.from(e)}function comparePaths(e,t){return e<t?-1:+(e>t)}export{normalizeSkillPackage,removeSkillPackageFromSandbox,skillPackageRevision,stripSkillFrontmatter,writeSkillPackageDirectory,writeSkillPackageToSandbox};
1
+ import{createHash}from"node:crypto";import{mkdir,writeFile}from"node:fs/promises";import{dirname,join}from"node:path";import{resolveSandboxSkillRoot,resolveSandboxSkillWritePath}from"#shared/skill-paths.js";import{Buffer}from"node:buffer";function stripSkillFrontmatter(e){return e.replace(/^---\r?\n[\s\S]*?\r?\n---\r?\n?/,``)}function skillPackageRevision(e){let t=createHash(`sha256`);for(let n of e.files)t.update(`${n.relativePath}\0${n.content.byteLength}\0`).update(n.content);return t.digest(`hex`)}function normalizeSkillPackage(e){assertSafeSkillPackageName(e.name);let t=[{content:Buffer.from(e.markdown,`utf8`),relativePath:`SKILL.md`}];for(let[n,r]of Object.entries(e.files??{}))assertSafeSkillPackageFilePath(n),t.push({content:contentToBuffer(r),relativePath:n});return t.sort((e,t)=>comparePaths(e.relativePath,t.relativePath)),{deferred:e.deferred,description:e.description,files:t,license:e.license,markdown:e.markdown,metadata:e.metadata===void 0?void 0:{...e.metadata},name:e.name}}async function writeSkillPackageDirectory(e){for(let t of e.skill.files){let n=join(e.rootPath,`skills`,e.skill.name,t.relativePath);await mkdir(dirname(n),{recursive:!0}),await writeFile(n,t.content)}}async function writeSkillPackageToSandbox(e){let t=await Promise.all(e.skill.files.map(async t=>({content:t.content,path:await resolveSandboxSkillWritePath({name:e.skill.name,relativePath:t.relativePath,sandbox:e.sandbox})})));await e.sandbox.writeFiles({files:t})}async function removeSkillPackageFromSandbox(e){assertSafeSkillPackageName(e.name);let t=await resolveSandboxSkillRoot({sandbox:e.sandbox});await e.sandbox.removePath({force:!0,path:`${t}/${e.name}`,recursive:!0})}function assertSafeSkillPackageName(e){if(e.length===0||e.startsWith(`.`)||e.includes(`/`)||e.includes(`\\`)||e.includes(`..`)||!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(e)||/^[A-Za-z]:/.test(e))throw Error(`Expected skill name to be a non-empty shell-safe path segment starting with an alphanumeric character and containing only alphanumerics, ".", "_", or "-".`)}function assertSafeSkillPackageFilePath(e){if(e===`SKILL.md`)throw Error(`Skill package files must not include "SKILL.md"; eve generates it.`);if(e.length===0||e.startsWith(`/`)||e.includes(`\\`)||/^[A-Za-z]:/.test(e)||e.split(`/`).some(e=>e.length===0||e===`.`||e===`..`))throw Error(`Expected skill package file paths to be relative POSIX paths.`)}function contentToBuffer(e){return typeof e==`string`?Buffer.from(e,`utf8`):Buffer.from(e)}function comparePaths(e,t){return e<t?-1:+(e>t)}export{normalizeSkillPackage,removeSkillPackageFromSandbox,skillPackageRevision,stripSkillFrontmatter,writeSkillPackageDirectory,writeSkillPackageToSandbox};
@@ -1,18 +1,17 @@
1
1
  import type { SandboxSession } from "#shared/sandbox-session.js";
2
2
  export declare const MODEL_SKILL_ROOT = "$HOME/.agents/skills";
3
- export declare const FALLBACK_SKILL_ROOT = "/workspace/skills";
4
3
  /**
5
4
  * Resolves where skills live in the sandbox: under the probed home when it has
6
- * one, and under {@link FALLBACK_SKILL_ROOT} when it does not.
5
+ * one, and under `skills/` in the workspace root when it does not.
7
6
  */
8
7
  export declare function resolveSandboxSkillRoot(input: {
9
8
  readonly sandbox: SandboxSession;
10
9
  }): Promise<string>;
11
10
  /**
12
11
  * Resolves a leading `$HOME` in a model-supplied sandbox path without
13
- * evaluating any other shell syntax. Skill paths retain their documented
14
- * `/workspace/skills` fallback when the sandbox does not expose a usable
15
- * home directory.
12
+ * evaluating any other shell syntax. Skill paths fall back to `skills/` in
13
+ * the workspace root when the sandbox does not expose a usable home
14
+ * directory.
16
15
  */
17
16
  export declare function resolveSandboxModelPath(input: {
18
17
  readonly path: string;
@@ -1,2 +1,2 @@
1
- const MODEL_HOME_ROOT=`$HOME`,MODEL_SKILL_ROOT=`${MODEL_HOME_ROOT}/.agents/skills`,FALLBACK_SKILL_ROOT=`/workspace/skills`,sandboxHomeCache=new WeakMap;async function resolveSandboxSkillRoot(e){return await resolveSandboxModelPath({path:MODEL_SKILL_ROOT,sandbox:e.sandbox})}async function resolveSandboxModelPath(e){if(!isModelHomePath(e.path))return e.path;let t=await resolveSandboxHome(e.sandbox);if(t!==null){let n=e.path.slice(5);return n.length===0?t:`${t===`/`?``:t}${n}`}return isModelSkillPath(e.path)?`${FALLBACK_SKILL_ROOT}${e.path.slice(MODEL_SKILL_ROOT.length)}`:e.path}async function resolveSandboxSkillWritePath(e){return formatSkillPath({name:e.name,relativePath:e.relativePath,root:await resolveSandboxSkillRoot({sandbox:e.sandbox})})}function formatSkillPath(e){return`${e.root}/${e.name}/${e.relativePath}`}async function resolveSandboxHome(e){let t=sandboxHomeCache.get(e);if(t!==void 0)return await t;let n=probeSandboxHome(e);return sandboxHomeCache.set(e,n),await n}async function probeSandboxHome(e){try{let t=await e.run({command:`printf '%s\\n' "$HOME"`});if(t.exitCode!==0)return null;let n=t.stdout.trim();return isUsableSandboxHome(n)?normalizeSandboxHome(n):null}catch{return null}}function isModelHomePath(e){return e===MODEL_HOME_ROOT||e.startsWith(`${MODEL_HOME_ROOT}/`)}function isModelSkillPath(e){return e===MODEL_SKILL_ROOT||e.startsWith(`${MODEL_SKILL_ROOT}/`)}function isUsableSandboxHome(e){return e.length>0&&e.startsWith(`/`)&&!e.includes(`\0`)&&!e.includes(`
2
- `)&&!e.includes(`\r`)}function normalizeSandboxHome(e){return e===`/`?e:e.replace(/\/+$/,``)}export{FALLBACK_SKILL_ROOT,MODEL_SKILL_ROOT,resolveSandboxModelPath,resolveSandboxSkillRoot,resolveSandboxSkillWritePath};
1
+ const MODEL_HOME_ROOT=`$HOME`,MODEL_SKILL_ROOT=`${MODEL_HOME_ROOT}/.agents/skills`,sandboxHomeCache=new WeakMap;async function resolveSandboxSkillRoot(e){return await resolveSandboxModelPath({path:MODEL_SKILL_ROOT,sandbox:e.sandbox})}async function resolveSandboxModelPath(e){if(!isModelHomePath(e.path))return e.path;let t=await resolveSandboxHome(e.sandbox);if(t!==null){let n=e.path.slice(5);return n.length===0?t:`${t===`/`?``:t}${n}`}return isModelSkillPath(e.path)?e.sandbox.resolvePath(`skills${e.path.slice(MODEL_SKILL_ROOT.length)}`):e.path}async function resolveSandboxSkillWritePath(e){return formatSkillPath({name:e.name,relativePath:e.relativePath,root:await resolveSandboxSkillRoot({sandbox:e.sandbox})})}function formatSkillPath(e){return`${e.root}/${e.name}/${e.relativePath}`}async function resolveSandboxHome(e){let t=sandboxHomeCache.get(e);if(t!==void 0)return await t;let n=probeSandboxHome(e);return sandboxHomeCache.set(e,n),await n}async function probeSandboxHome(e){try{let t=await e.run({command:`printf '%s\\n' "$HOME"`});if(t.exitCode!==0)return null;let n=t.stdout.trim();return isUsableSandboxHome(n)?normalizeSandboxHome(n):null}catch{return null}}function isModelHomePath(e){return e===MODEL_HOME_ROOT||e.startsWith(`${MODEL_HOME_ROOT}/`)}function isModelSkillPath(e){return e===MODEL_SKILL_ROOT||e.startsWith(`${MODEL_SKILL_ROOT}/`)}function isUsableSandboxHome(e){return e.length>0&&e.startsWith(`/`)&&!e.includes(`\0`)&&!e.includes(`
2
+ `)&&!e.includes(`\r`)}function normalizeSandboxHome(e){return e===`/`?e:e.replace(/\/+$/,``)}export{MODEL_SKILL_ROOT,resolveSandboxModelPath,resolveSandboxSkillRoot,resolveSandboxSkillWritePath};
@@ -1,43 +1,6 @@
1
- import type { FlexibleSchema, ToolSet } from "ai";
2
- import type * as CodeModeModule from "#compiled/@ai-sdk/code-mode/index.js";
3
- type WorkflowSandboxModule = {
4
- readonly CodeModeToolError: typeof CodeModeModule.CodeModeToolError;
5
- readonly continueCodeModeInterrupt: typeof CodeModeModule.experimental_continueCodeModeInterrupt;
6
- readonly createCodeModeTool: typeof CodeModeModule.experimental_createCodeModeTool;
7
- readonly requestCodeModeInterrupt: typeof CodeModeModule.experimental_requestCodeModeInterrupt;
8
- readonly unwrapCodeModeResult: typeof CodeModeModule.experimental_unwrapCodeModeResult;
9
- };
10
- export type WorkflowSandboxInterrupt = CodeModeModule.CodeModeInterrupt;
11
- export type WorkflowSandboxContinuationSecurity = CodeModeModule.CodeModeContinuationSecurityOptions;
1
+ import type * as RunModule from "#compiled/run/index.js";
2
+ type WorkflowSandboxModule = Pick<typeof RunModule, "createRunner" | "createSignedContinuationCodec" | "getHostFunctionContext" | "RunError">;
12
3
  export declare function installWorkflowSandboxModule(module: WorkflowSandboxModule): void;
13
- export declare function createWorkflowSandboxTool(input: {
14
- readonly bridgeRequestLimit: number;
15
- readonly continuationSecurity: WorkflowSandboxContinuationSecurity;
16
- readonly hostTools: ToolSet;
17
- }): Promise<ToolSet[string]>;
18
- export declare function continueWorkflowSandboxInterrupt(input: {
19
- readonly bridgeRequestLimit: number;
20
- readonly continuationSecurity: WorkflowSandboxContinuationSecurity;
21
- readonly interrupt: WorkflowSandboxInterrupt;
22
- readonly resolution: unknown;
23
- readonly tools: ToolSet;
24
- }): Promise<unknown>;
25
- export declare function unwrapWorkflowSandboxResult(value: unknown, continuationSecurity: WorkflowSandboxContinuationSecurity): Promise<{
26
- readonly output: unknown;
27
- readonly status: "completed";
28
- } | {
29
- readonly interrupt: WorkflowSandboxInterrupt;
30
- readonly status: "interrupted";
31
- }>;
32
- /** A host tool that parks on first call and consumes its resolution on replay. */
33
- export declare function createParkingHostTool(input: {
34
- readonly description: string;
35
- readonly inputSchema: FlexibleSchema;
36
- readonly outputSchema?: FlexibleSchema | null;
37
- readonly interrupt: (toolInput: unknown) => {
38
- readonly kind: string;
39
- } & Record<string, unknown>;
40
- }): ToolSet[string];
41
- /** Reconstructs every unresolved interruption from the authenticated continuation. */
42
- export declare function getWorkflowSandboxPendingInterrupts(interrupt: WorkflowSandboxInterrupt): WorkflowSandboxInterrupt[];
4
+ /** Returns the vendored `run` runtime that executes generated workflow programs. */
5
+ export declare function loadWorkflowSandboxModule(): Promise<WorkflowSandboxModule>;
43
6
  export {};
@@ -1 +1 @@
1
- const WORKFLOW_SANDBOX_MODULE_KEY=Symbol.for(`eve.workflowSandbox.module`),WORKFLOW_SANDBOX_MODULE_SPECIFIER=[`#compiled`,`@ai-sdk`,`code-mode`,`index.js`].join(`/`);let workflowSandboxModulePromise;function installWorkflowSandboxModule(e){globalThis[WORKFLOW_SANDBOX_MODULE_KEY]=e}async function createWorkflowSandboxTool(e){let{createCodeModeTool:t}=await loadWorkflowSandboxModule();return t(e.hostTools,createWorkflowSandboxOptions(e.bridgeRequestLimit,e.continuationSecurity))}async function continueWorkflowSandboxInterrupt(e){let{continueCodeModeInterrupt:t}=await loadWorkflowSandboxModule();return t({interrupt:e.interrupt,options:createWorkflowSandboxOptions(e.bridgeRequestLimit,e.continuationSecurity),resolution:e.resolution,tools:e.tools})}async function unwrapWorkflowSandboxResult(e,t){let{unwrapCodeModeResult:n}=await loadWorkflowSandboxModule();return n(e,t)}function createParkingHostTool(e){return{description:e.description,inputSchema:e.inputSchema,outputSchema:e.outputSchema??void 0,execute:async(t,n)=>{let r=await loadWorkflowSandboxModule(),i=readWorkflowProgramResolution(n);if(i?.status===`failed`)throw new r.CodeModeToolError(i.error);return i?.status===`completed`?i.output:r.requestCodeModeInterrupt(e.interrupt(t))}}}function readWorkflowProgramResolution(e){if(typeof e!=`object`||!e)return;let t=e.codeModeInterrupt;if(typeof t!=`object`||!t)return;let n=t.resolution;if(typeof n!=`object`||!n)return;let r=n.status;return r===`completed`||r===`failed`?n:void 0}function getWorkflowSandboxPendingInterrupts(e){let t=e.continuation,n=new Set(t.resolutions.map(e=>e.runInterruptionId));return t.pendingInterruptions.flatMap(e=>n.has(e.runInterruptionId)?[]:[{continuation:t,input:e.input,interruptId:e.interruptId,outerToolCallId:t.outerToolCallId,payload:e.payload,toolCallId:e.toolCallId,toolName:e.toolName,type:`code-mode-interrupt`}])}function createWorkflowSandboxOptions(e,t){return{continuationSecurity:t,executionPolicy:{maxBridgeRequests:e,maxInFlightBridgeRequests:e}}}async function loadWorkflowSandboxModule(){let e=globalThis[WORKFLOW_SANDBOX_MODULE_KEY];return e===void 0?(workflowSandboxModulePromise??=importWorkflowSandboxModule(WORKFLOW_SANDBOX_MODULE_SPECIFIER),await workflowSandboxModulePromise):e}async function importWorkflowSandboxModule(e){let t=await import(e);return{CodeModeToolError:t.CodeModeToolError,continueCodeModeInterrupt:t.experimental_continueCodeModeInterrupt,createCodeModeTool:t.experimental_createCodeModeTool,requestCodeModeInterrupt:t.experimental_requestCodeModeInterrupt,unwrapCodeModeResult:t.experimental_unwrapCodeModeResult}}export{continueWorkflowSandboxInterrupt,createParkingHostTool,createWorkflowSandboxTool,getWorkflowSandboxPendingInterrupts,installWorkflowSandboxModule,unwrapWorkflowSandboxResult};
1
+ const WORKFLOW_SANDBOX_MODULE_KEY=Symbol.for(`eve.workflowSandbox.module`),WORKFLOW_SANDBOX_MODULE_SPECIFIER=[`#compiled`,`run`,`index.js`].join(`/`);let workflowSandboxModulePromise;function installWorkflowSandboxModule(e){globalThis[WORKFLOW_SANDBOX_MODULE_KEY]=e}async function loadWorkflowSandboxModule(){let e=globalThis[WORKFLOW_SANDBOX_MODULE_KEY];return e===void 0?(workflowSandboxModulePromise??=import(WORKFLOW_SANDBOX_MODULE_SPECIFIER),await workflowSandboxModulePromise):e}export{installWorkflowSandboxModule,loadWorkflowSandboxModule};
@@ -1,4 +1,4 @@
1
- import { a as conversationProjection, i as openConversationInputs, n as conversationReducer, o as callStatus, r as defaultMessageReducer, t as useEveAgent } from "../chunks/use-eve-agent-DlznYwQk.js";
1
+ import { a as conversationProjection, i as openConversationInputs, n as conversationReducer, o as callStatus, r as defaultMessageReducer, t as useEveAgent } from "../chunks/use-eve-agent-3-WRmJkd.js";
2
2
 
3
3
  //#region src/client/tool-call-state.ts
4
4
  function toolCallState(conversation, callId, options = {}) {
@@ -110,7 +110,7 @@ export interface UseEveAgentOptions<TData> extends EveAgentStoreCallbacks<TData>
110
110
  * on the next send, answer, or resume. @default true
111
111
  */
112
112
  readonly followIdle?: boolean;
113
- /** Prewarm an owned session on mount and after reset. @default false */
113
+ /** Create a session or prepare its existing idle owner on mount and after reset. @default false */
114
114
  readonly prewarm?: boolean;
115
115
  /**
116
116
  * Projects stream events into `TData`. Defaults to the conversation reducer.
@@ -1,3 +1,3 @@
1
- import { t as useEveAgent } from "../chunks/use-eve-agent-DlznYwQk.js";
1
+ import { t as useEveAgent } from "../chunks/use-eve-agent-3-WRmJkd.js";
2
2
 
3
3
  export { useEveAgent };