eve 0.81.1 → 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 (687) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/NOTICE +1 -1
  3. package/dist/src/channel/channel-address.d.ts +21 -2
  4. package/dist/src/channel/channel-address.js +1 -1
  5. package/dist/src/channel/channel-operations.d.ts +32 -1
  6. package/dist/src/channel/channel-operations.js +1 -1
  7. package/dist/src/channel/delivery-idempotency.d.ts +4 -0
  8. package/dist/src/channel/delivery-idempotency.js +1 -0
  9. package/dist/src/channel/pending-authorization.d.ts +5 -0
  10. package/dist/src/channel/pending-authorization.js +1 -1
  11. package/dist/src/channel/routes.d.ts +6 -0
  12. package/dist/src/channel/session.d.ts +7 -0
  13. package/dist/src/channel/session.js +1 -1
  14. package/dist/src/channel/types.d.ts +19 -11
  15. package/dist/src/chunks/{use-eve-agent-DLkjJIm3.js → use-eve-agent-3-WRmJkd.js} +76 -5
  16. package/dist/src/chunks/{use-eve-agent-Bp6nbhfV.js → use-eve-agent-Ci5dr0aR.js} +76 -5
  17. package/dist/src/cli/dev/command-options.d.ts +1 -0
  18. package/dist/src/cli/dev/diagnostic-dump.js +1 -1
  19. package/dist/src/cli/dev/local-server-child.js +1 -1
  20. package/dist/src/cli/dev/local-server-cleanup.js +1 -1
  21. package/dist/src/cli/dev/tui/question-panel.d.ts +4 -1
  22. package/dist/src/cli/dev/tui/question-panel.js +1 -1
  23. package/dist/src/cli/dev/tui/terminal-renderer.js +4 -4
  24. package/dist/src/cli/run.d.ts +1 -0
  25. package/dist/src/cli/run.js +1 -1
  26. package/dist/src/client/eve-agent-store.d.ts +1 -1
  27. package/dist/src/client/eve-agent-store.js +1 -1
  28. package/dist/src/client/index.d.ts +2 -1
  29. package/dist/src/client/message-reducer-types.d.ts +7 -3
  30. package/dist/src/client/message-reducer.js +1 -1
  31. package/dist/src/client/session-controls.d.ts +6 -0
  32. package/dist/src/client/session-controls.js +1 -1
  33. package/dist/src/client/session.d.ts +4 -0
  34. package/dist/src/client/session.js +1 -1
  35. package/dist/src/client/transcript-reducer.d.ts +6 -3
  36. package/dist/src/client/transcript-reducer.js +1 -1
  37. package/dist/src/compiled/.vendor-stamp.json +8 -8
  38. package/dist/src/compiled/@eve/catalog/index.js +1 -1
  39. package/dist/src/compiled/@workflow/core/events-consumer.d.ts +2 -0
  40. package/dist/src/compiled/@workflow/core/index.js +2 -2
  41. package/dist/src/compiled/@workflow/core/private.d.ts +5 -3
  42. package/dist/src/compiled/@workflow/core/private.js +1 -1
  43. package/dist/src/compiled/@workflow/core/runtime/constants.d.ts +1 -37
  44. package/dist/src/compiled/@workflow/core/runtime/event-limit-warning.d.ts +32 -0
  45. package/dist/src/compiled/@workflow/core/runtime/helpers.d.ts +5 -6
  46. package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
  47. package/dist/src/compiled/@workflow/core/runtime/runs.d.ts +8 -0
  48. package/dist/src/compiled/@workflow/core/runtime/start.d.ts +16 -0
  49. package/dist/src/compiled/@workflow/core/runtime/suspension-handler.d.ts +15 -18
  50. package/dist/src/compiled/@workflow/core/runtime/vm-mode.d.ts +20 -0
  51. package/dist/src/compiled/@workflow/core/runtime.js +4 -4
  52. package/dist/src/compiled/@workflow/core/seeded-nanoid.d.ts +2 -0
  53. package/dist/src/compiled/@workflow/core/serialization/compression.d.ts +14 -3
  54. package/dist/src/compiled/@workflow/core/serialization.d.ts +1 -1
  55. package/dist/src/compiled/@workflow/core/serialization.js +1 -1
  56. package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +0 -18
  57. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  58. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  59. package/dist/src/compiled/@workflow/errors/index.d.ts +48 -0
  60. package/dist/src/compiled/@workflow/errors/index.js +1 -1
  61. package/dist/src/compiled/@workflow/world/env-config.d.ts +24 -0
  62. package/dist/src/compiled/@workflow/world/events.d.ts +126 -7
  63. package/dist/src/compiled/@workflow/world/index.d.ts +3 -3
  64. package/dist/src/compiled/@workflow/world/interfaces.d.ts +59 -8
  65. package/dist/src/compiled/@workflow/world/queue.d.ts +71 -9
  66. package/dist/src/compiled/@workflow/world/recovery.d.ts +6 -0
  67. package/dist/src/compiled/@workflow/world/test-support/duplicate-event-fixtures.d.ts +3 -0
  68. package/dist/src/compiled/@workflow/world/test-support/in-band-fence-conformance.d.ts +46 -0
  69. package/dist/src/compiled/@workflow/world-local/index.js +5 -5
  70. package/dist/src/compiled/@workflow/world-vercel/index.js +18 -18
  71. package/dist/src/compiled/_chunks/workflow/{attribute-changes-BW-kbMMn.js → attribute-changes-7se_SE2q.js} +3 -3
  72. package/dist/src/compiled/_chunks/workflow/dist-CcnNPAp4.js +1 -0
  73. package/dist/src/compiled/_chunks/workflow/dist-S9cZRway.js +3 -0
  74. package/dist/src/compiled/_chunks/workflow/helpers-CxNRXH0a.js +1 -0
  75. package/dist/src/compiled/_chunks/workflow/private-DLYTSBbu.js +1 -0
  76. package/dist/src/compiled/_chunks/workflow/resume-hook-CPiIfe8r.js +1 -0
  77. package/dist/src/compiled/_chunks/workflow/{run-DzdAqdb1.js → run-BJSLCXR4.js} +6 -6
  78. package/dist/src/compiled/_chunks/workflow/serialization-B9gneT9Z.js +15 -0
  79. package/dist/src/compiled/_chunks/workflow/sleep-BL0oQs3R.js +1 -0
  80. package/dist/src/compiled/_chunks/workflow/{wait-until-xbRRDuUf.js → wait-until-BPou0RGO.js} +1 -1
  81. package/dist/src/compiled/_chunks/workflow/workflow-routes-BaljomCk.js +1 -0
  82. package/dist/src/compiled/{@ai-sdk/code-mode → run}/LICENSE +1 -1
  83. package/dist/src/compiled/run/index.d.ts +384 -0
  84. package/dist/src/compiled/run/index.js +650 -0
  85. package/dist/src/compiler/extension-compatibility.d.ts +28 -20
  86. package/dist/src/compiler/extension-compatibility.js +1 -1
  87. package/dist/src/compiler/load-binding-namespace.d.ts +2 -0
  88. package/dist/src/compiler/load-binding-namespace.js +1 -1
  89. package/dist/src/compiler/manifest.js +1 -1
  90. package/dist/src/compiler/module-lifecycle.d.ts +1 -1
  91. package/dist/src/compiler/module-lifecycle.js +1 -1
  92. package/dist/src/compiler/module-map.js +1 -1
  93. package/dist/src/compiler/normalize-agent-config.js +1 -1
  94. package/dist/src/compiler/normalize-manifest.js +1 -1
  95. package/dist/src/compiler/normalize-sandbox.js +1 -1
  96. package/dist/src/compiler/project-sources.d.ts +6 -0
  97. package/dist/src/compiler/project-sources.js +1 -1
  98. package/dist/src/compiler/workspace-resources.js +1 -1
  99. package/dist/src/context/build-callback-context.js +1 -1
  100. package/dist/src/context/dynamic-skill-lifecycle.js +1 -1
  101. package/dist/src/context/keys.d.ts +2 -0
  102. package/dist/src/context/keys.js +1 -1
  103. package/dist/src/context/providers/sandbox.js +1 -1
  104. package/dist/src/discover/extension-specifier.d.ts +1 -0
  105. package/dist/src/discover/extension-specifier.js +1 -1
  106. package/dist/src/evals/cli/eval-state-directory.d.ts +7 -0
  107. package/dist/src/evals/cli/eval-state-directory.js +1 -0
  108. package/dist/src/evals/cli/eval.js +2 -2
  109. package/dist/src/evals/runner/artifacts.js +1 -1
  110. package/dist/src/evals/runner/derive-run-facts.d.ts +12 -0
  111. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  112. package/dist/src/evals/runner/execute-task.js +1 -1
  113. package/dist/src/evals/types.d.ts +3 -2
  114. package/dist/src/eve-channel/index.js +1 -1
  115. package/dist/src/eve-channel/request.d.ts +0 -1
  116. package/dist/src/eve-channel/request.js +2 -2
  117. package/dist/src/eve-channel/support.d.ts +2 -0
  118. package/dist/src/eve-channel/support.js +1 -1
  119. package/dist/src/eve-channel/types.d.ts +7 -0
  120. package/dist/src/execution/agent-sessions/context.d.ts +3 -14
  121. package/dist/src/execution/agent-sessions/context.js +1 -1
  122. package/dist/src/execution/agent-sessions/runtime-overrides.d.ts +5 -0
  123. package/dist/src/execution/agent-sessions/session.d.ts +2 -2
  124. package/dist/src/execution/agent-sessions/session.js +1 -1
  125. package/dist/src/execution/agent-sessions/steps.d.ts +2 -0
  126. package/dist/src/execution/agent-sessions/steps.js +1 -1
  127. package/dist/src/execution/coordination-dispatch-shared.d.ts +8 -5
  128. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  129. package/dist/src/execution/coordination-dispatch-step.d.ts +17 -2
  130. package/dist/src/execution/coordination-dispatch-step.js +1 -1
  131. package/dist/src/execution/create-session-step.d.ts +5 -2
  132. package/dist/src/execution/create-session-step.js +1 -1
  133. package/dist/src/execution/deliver-payloads.js +1 -1
  134. package/dist/src/execution/durable-session-store.d.ts +0 -1
  135. package/dist/src/execution/dynamic-connection-recovery.js +1 -1
  136. package/dist/src/execution/dynamic-workflow/program-step.d.ts +7 -7
  137. package/dist/src/execution/dynamic-workflow/program-step.js +1 -1
  138. package/dist/src/execution/dynamic-workflow/schema.d.ts +18 -11
  139. package/dist/src/execution/dynamic-workflow/schema.js +1 -1
  140. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  141. package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
  142. package/dist/src/execution/effective-agent-config.d.ts +8 -2
  143. package/dist/src/execution/effective-agent-config.js +1 -1
  144. package/dist/src/execution/eve-workflow-attributes.d.ts +3 -1
  145. package/dist/src/execution/eve-workflow-attributes.js +1 -1
  146. package/dist/src/execution/install-workflow-deployment-id.d.ts +3 -0
  147. package/dist/src/execution/install-workflow-deployment-id.js +1 -0
  148. package/dist/src/execution/invoke-tool.js +1 -1
  149. package/dist/src/execution/legacy-session/turn-workflow.js +1 -1
  150. package/dist/src/execution/node-step.d.ts +1 -0
  151. package/dist/src/execution/node-step.js +1 -1
  152. package/dist/src/execution/runtime-context.d.ts +2 -0
  153. package/dist/src/execution/runtime-context.js +1 -1
  154. package/dist/src/execution/sandbox/abort-bound-session.js +1 -1
  155. package/dist/src/execution/sandbox/active-connections.d.ts +28 -0
  156. package/dist/src/execution/sandbox/active-connections.js +1 -0
  157. package/dist/src/execution/sandbox/bindings/docker-cli.d.ts +10 -2
  158. package/dist/src/execution/sandbox/bindings/docker-cli.js +2 -2
  159. package/dist/src/execution/sandbox/bindings/docker-connection.d.ts +15 -0
  160. package/dist/src/execution/sandbox/bindings/docker-connection.js +2 -0
  161. package/dist/src/execution/sandbox/bindings/docker-container.d.ts +2 -0
  162. package/dist/src/execution/sandbox/bindings/docker-container.js +1 -1
  163. package/dist/src/execution/sandbox/bindings/docker-network.d.ts +5 -0
  164. package/dist/src/execution/sandbox/bindings/docker-network.js +1 -1
  165. package/dist/src/execution/sandbox/bindings/docker-templates.js +1 -1
  166. package/dist/src/execution/sandbox/bindings/docker.d.ts +12 -15
  167. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  168. package/dist/src/execution/sandbox/bindings/just-bash-runtime.d.ts +19 -29
  169. package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
  170. package/dist/src/execution/sandbox/bindings/just-bash.d.ts +2 -4
  171. package/dist/src/execution/sandbox/bindings/just-bash.js +1 -1
  172. package/dist/src/execution/sandbox/bindings/local-provider-utils.d.ts +0 -20
  173. package/dist/src/execution/sandbox/bindings/local-provider-utils.js +1 -1
  174. package/dist/src/execution/sandbox/bindings/local.d.ts +4 -6
  175. package/dist/src/execution/sandbox/bindings/local.js +1 -1
  176. package/dist/src/execution/sandbox/bindings/vercel-base-runtime.d.ts +2 -0
  177. package/dist/src/execution/sandbox/bindings/vercel-base-runtime.js +2 -2
  178. package/dist/src/execution/sandbox/bindings/vercel-errors.js +2 -2
  179. package/dist/src/execution/sandbox/bindings/vercel-lifecycle.d.ts +7 -5
  180. package/dist/src/execution/sandbox/bindings/vercel-lifecycle.js +1 -1
  181. package/dist/src/execution/sandbox/bindings/vercel.d.ts +5 -11
  182. package/dist/src/execution/sandbox/bindings/vercel.js +1 -2
  183. package/dist/src/execution/sandbox/development-cleanup.d.ts +0 -1
  184. package/dist/src/execution/sandbox/development-cleanup.js +1 -1
  185. package/dist/src/execution/sandbox/development-lazy-prewarm.js +1 -1
  186. package/dist/src/execution/sandbox/development-run.d.ts +0 -2
  187. package/dist/src/execution/sandbox/development-run.js +1 -1
  188. package/dist/src/execution/sandbox/dockerfile.d.ts +0 -4
  189. package/dist/src/execution/sandbox/dockerfile.js +1 -1
  190. package/dist/src/execution/sandbox/ensure.d.ts +23 -11
  191. package/dist/src/execution/sandbox/ensure.js +1 -1
  192. package/dist/src/execution/sandbox/glob-tool.js +3 -3
  193. package/dist/src/execution/sandbox/grep-tool.js +1 -1
  194. package/dist/src/execution/sandbox/logging-session.js +1 -1
  195. package/dist/src/execution/sandbox/prewarm.d.ts +23 -3
  196. package/dist/src/execution/sandbox/prewarm.js +2 -1
  197. package/dist/src/execution/sandbox/read-file.js +1 -1
  198. package/dist/src/execution/sandbox/require-sandbox.d.ts +3 -2
  199. package/dist/src/execution/sandbox/require-sandbox.js +1 -1
  200. package/dist/src/execution/sandbox/ripgrep-probe.js +1 -1
  201. package/dist/src/execution/sandbox/session.d.ts +10 -20
  202. package/dist/src/execution/sandbox/session.js +2 -2
  203. package/dist/src/execution/session/active-turn.js +1 -1
  204. package/dist/src/execution/session/admission.js +1 -1
  205. package/dist/src/execution/session/checkpoint-migrations.js +1 -1
  206. package/dist/src/execution/session/entry-input.d.ts +5 -6
  207. package/dist/src/execution/session/entry.js +1 -1
  208. package/dist/src/execution/session/finalization.js +1 -1
  209. package/dist/src/execution/session/handoff-state.d.ts +5 -0
  210. package/dist/src/execution/session/handoff-state.js +1 -0
  211. package/dist/src/execution/session/handoff-steps.d.ts +0 -5
  212. package/dist/src/execution/session/handoff-steps.js +1 -1
  213. package/dist/src/execution/session/handoff.d.ts +7 -9
  214. package/dist/src/execution/session/handoff.js +1 -1
  215. package/dist/src/execution/session/input-queue.d.ts +8 -1
  216. package/dist/src/execution/session/input-queue.js +1 -1
  217. package/dist/src/execution/session/next-input.d.ts +3 -0
  218. package/dist/src/execution/session/next-input.js +1 -1
  219. package/dist/src/execution/session/pending-history.d.ts +5 -0
  220. package/dist/src/execution/session/pending-history.js +1 -0
  221. package/dist/src/execution/session/pending-turn-state.js +1 -1
  222. package/dist/src/execution/session/program.d.ts +1 -1
  223. package/dist/src/execution/session/program.js +1 -1
  224. package/dist/src/execution/session/timeout-control.d.ts +22 -4
  225. package/dist/src/execution/session/timeout-control.js +1 -1
  226. package/dist/src/execution/session/timeout.d.ts +1 -2
  227. package/dist/src/execution/session/timeout.js +1 -1
  228. package/dist/src/execution/session/turn-control.d.ts +5 -2
  229. package/dist/src/execution/session/turn-control.js +1 -1
  230. package/dist/src/execution/session/turn-event-handler.js +1 -1
  231. package/dist/src/execution/session/turn-step-result.js +1 -1
  232. package/dist/src/execution/session/turn-step.js +1 -1
  233. package/dist/src/execution/session/turn-waiting-step.js +1 -1
  234. package/dist/src/execution/session/turn.js +1 -1
  235. package/dist/src/execution/session-inbox/inbox.d.ts +9 -1
  236. package/dist/src/execution/session-inbox/inbox.js +1 -1
  237. package/dist/src/execution/session-inbox/protocol.d.ts +2 -1
  238. package/dist/src/execution/session-inbox/protocol.js +1 -1
  239. package/dist/src/execution/session-inbox/resume.d.ts +2 -1
  240. package/dist/src/execution/session-inbox/resume.js +1 -1
  241. package/dist/src/execution/session-prewarm.d.ts +8 -0
  242. package/dist/src/execution/session-prewarm.js +1 -0
  243. package/dist/src/execution/session.d.ts +0 -12
  244. package/dist/src/execution/session.js +2 -2
  245. package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
  246. package/dist/src/execution/skills/instructions.js +1 -1
  247. package/dist/src/execution/tasks/model-step.js +1 -1
  248. package/dist/src/execution/tasks/start.d.ts +4 -4
  249. package/dist/src/execution/tasks/start.js +1 -1
  250. package/dist/src/execution/tasks/steps.js +1 -1
  251. package/dist/src/execution/terminate-child-sessions-step.js +1 -1
  252. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  253. package/dist/src/execution/tools/workflow/body.d.ts +2 -2
  254. package/dist/src/execution/tools/workflow/body.js +1 -1
  255. package/dist/src/execution/tools/workflow/step-context.d.ts +11 -0
  256. package/dist/src/execution/tools/workflow/step-execution.js +1 -1
  257. package/dist/src/execution/tools/workflow/step.js +1 -1
  258. package/dist/src/execution/workflow-runtime.d.ts +5 -1
  259. package/dist/src/execution/workflow-runtime.js +1 -1
  260. package/dist/src/extensions/git/extension/lib/github-shell-schema.js +1 -1
  261. package/dist/src/framework/sources/modules/sandbox.d.ts +1 -1
  262. package/dist/src/harness/attachment-staging.d.ts +0 -7
  263. package/dist/src/harness/attachment-staging.js +1 -1
  264. package/dist/src/harness/hitl/approvals.js +1 -1
  265. package/dist/src/harness/hitl/budget-request.d.ts +12 -6
  266. package/dist/src/harness/hitl/budget-request.js +1 -1
  267. package/dist/src/harness/hitl/budget.d.ts +7 -1
  268. package/dist/src/harness/hitl/budget.js +1 -1
  269. package/dist/src/harness/hitl/coordinator.js +1 -1
  270. package/dist/src/harness/hitl/delivery.d.ts +1 -1
  271. package/dist/src/harness/hitl/delivery.js +1 -1
  272. package/dist/src/harness/hitl/index.d.ts +2 -1
  273. package/dist/src/harness/hitl/index.js +1 -1
  274. package/dist/src/harness/hitl/intake.d.ts +2 -2
  275. package/dist/src/harness/hitl/intake.js +1 -1
  276. package/dist/src/harness/hitl/view.d.ts +1 -0
  277. package/dist/src/harness/hitl/view.js +1 -0
  278. package/dist/src/harness/messages.d.ts +5 -0
  279. package/dist/src/harness/messages.js +1 -1
  280. package/dist/src/harness/model-call/call.d.ts +2 -2
  281. package/dist/src/harness/model-call/request.d.ts +2 -2
  282. package/dist/src/harness/model-call/run.js +1 -1
  283. package/dist/src/harness/semantic-errors/rules/sandbox.d.ts +3 -5
  284. package/dist/src/harness/semantic-errors/rules/sandbox.js +1 -1
  285. package/dist/src/harness/session-machine/transitions.d.ts +3 -1
  286. package/dist/src/harness/session-machine/transitions.js +1 -1
  287. package/dist/src/harness/step/context.d.ts +3 -0
  288. package/dist/src/harness/step/context.js +1 -1
  289. package/dist/src/harness/step/intake.d.ts +5 -2
  290. package/dist/src/harness/step/intake.js +1 -1
  291. package/dist/src/harness/step/prompt.js +1 -1
  292. package/dist/src/harness/tool-history-repair.d.ts +9 -0
  293. package/dist/src/harness/tool-history-repair.js +1 -0
  294. package/dist/src/harness/tool-loop.js +1 -1
  295. package/dist/src/harness/tool-model-output.d.ts +19 -3
  296. package/dist/src/harness/tool-model-output.js +1 -1
  297. package/dist/src/harness/turn-tag-state.d.ts +7 -26
  298. package/dist/src/harness/turn-tag-state.js +1 -1
  299. package/dist/src/harness/types.d.ts +10 -25
  300. package/dist/src/internal/application/build-profile.d.ts +3 -0
  301. package/dist/src/internal/application/build-profile.js +1 -1
  302. package/dist/src/internal/application/compiled-artifacts.js +10 -6
  303. package/dist/src/internal/application/dev-environment.d.ts +13 -0
  304. package/dist/src/internal/application/dev-environment.js +1 -1
  305. package/dist/src/internal/application/optional-package-import.d.ts +10 -0
  306. package/dist/src/internal/application/optional-package-import.js +1 -1
  307. package/dist/src/internal/application/stamped-package-version.js +1 -1
  308. package/dist/src/internal/attachments/limited-read.d.ts +2 -2
  309. package/dist/src/internal/authored-definition/core.js +1 -1
  310. package/dist/src/internal/authored-module-build-options.d.ts +13 -0
  311. package/dist/src/internal/authored-module-build-options.js +1 -0
  312. package/dist/src/internal/authored-module-cache.d.ts +10 -0
  313. package/dist/src/internal/authored-module-cache.js +1 -0
  314. package/dist/src/internal/authored-module-graph.d.ts +13 -0
  315. package/dist/src/internal/authored-module-graph.js +1 -0
  316. package/dist/src/internal/authored-module-loader.d.ts +22 -1
  317. package/dist/src/internal/authored-module-loader.js +1 -3
  318. package/dist/src/internal/authored-module.d.ts +7 -0
  319. package/dist/src/internal/authored-module.js +1 -1
  320. package/dist/src/internal/authored-package-boundary.js +1 -1
  321. package/dist/src/internal/authored-relative-extension-resolver.js +1 -1
  322. package/dist/src/internal/bundler/nitro-rolldown.d.ts +8 -2
  323. package/dist/src/internal/bundler/nitro-rolldown.js +1 -1
  324. package/dist/src/internal/bundler/pseudo-packages.d.ts +11 -0
  325. package/dist/src/internal/bundler/pseudo-packages.js +1 -0
  326. package/dist/src/internal/development-programmatic-source-loader.d.ts +1 -0
  327. package/dist/src/internal/development-programmatic-source-loader.js +1 -1
  328. package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
  329. package/dist/src/internal/nitro/dev-runtime-generation-metadata.js +1 -1
  330. package/dist/src/internal/nitro/host/build-application.js +1 -1
  331. package/dist/src/internal/nitro/host/build-deployment-id.d.ts +8 -0
  332. package/dist/src/internal/nitro/host/build-deployment-id.js +1 -0
  333. package/dist/src/internal/nitro/host/build-extension.d.ts +6 -0
  334. package/dist/src/internal/nitro/host/build-extension.js +2 -2
  335. package/dist/src/internal/nitro/host/compiled-sandbox-provider-prune-plugin.d.ts +3 -1
  336. package/dist/src/internal/nitro/host/compiled-sandbox-provider-prune-plugin.js +3 -5
  337. package/dist/src/internal/nitro/host/create-application-nitro.d.ts +2 -3
  338. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  339. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.d.ts +2 -0
  340. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.js +1 -1
  341. package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
  342. package/dist/src/internal/nitro/host/dev-build-host.d.ts +83 -0
  343. package/dist/src/internal/nitro/host/dev-build-host.js +1 -0
  344. package/dist/src/internal/nitro/host/dev-build-operations.d.ts +6 -0
  345. package/dist/src/internal/nitro/host/dev-build-operations.js +1 -0
  346. package/dist/src/internal/nitro/host/dev-build-process.d.ts +1 -0
  347. package/dist/src/internal/nitro/host/dev-build-process.js +1 -0
  348. package/dist/src/internal/nitro/host/dev-server-state.js +1 -1
  349. package/dist/src/internal/nitro/host/development-runtime-prune-plugin.d.ts +4 -1
  350. package/dist/src/internal/nitro/host/development-runtime-prune-plugin.js +3 -2
  351. package/dist/src/internal/nitro/host/drained-nitro-dev-server.d.ts +13 -0
  352. package/dist/src/internal/nitro/host/drained-nitro-dev-server.js +1 -1
  353. package/dist/src/internal/nitro/host/optional-engine-dependency-plugin.js +1 -1
  354. package/dist/src/internal/nitro/host/prepare-application-host.d.ts +3 -0
  355. package/dist/src/internal/nitro/host/prepare-application-host.js +1 -1
  356. package/dist/src/internal/nitro/host/sandbox-shutdown-plugin.js +1 -1
  357. package/dist/src/internal/nitro/host/skill-server-assets.js +1 -1
  358. package/dist/src/internal/nitro/host/stage-build-deployment-id.d.ts +2 -0
  359. package/dist/src/internal/nitro/host/stage-build-deployment-id.js +1 -0
  360. package/dist/src/internal/nitro/host/start-development-server.js +2 -2
  361. package/dist/src/internal/nitro/host/start-production-server.d.ts +1 -0
  362. package/dist/src/internal/nitro/host/start-production-server.js +3 -3
  363. package/dist/src/internal/nitro/host/workflow-sandbox-runtime-plugin.js +1 -1
  364. package/dist/src/internal/nitro/host.js +1 -1
  365. package/dist/src/internal/nitro/routes/schedule-task.d.ts +3 -0
  366. package/dist/src/internal/nitro/routes/schedule-task.js +1 -1
  367. package/dist/src/internal/programmatic-source-loader.d.ts +1 -0
  368. package/dist/src/internal/programmatic-source-loader.js +1 -1
  369. package/dist/src/internal/schedules/disabled.d.ts +2 -0
  370. package/dist/src/internal/schedules/disabled.js +1 -0
  371. package/dist/src/internal/workflow/development-world-server.js +1 -1
  372. package/dist/src/internal/workflow/local-world-data-directory.d.ts +2 -1
  373. package/dist/src/internal/workflow/local-world-data-directory.js +1 -1
  374. package/dist/src/internal/workflow/local-world-delivery-auth.d.ts +17 -0
  375. package/dist/src/internal/workflow/local-world-delivery-auth.js +1 -0
  376. package/dist/src/internal/workflow/queue-namespace.d.ts +2 -0
  377. package/dist/src/internal/workflow/queue-namespace.js +1 -1
  378. package/dist/src/internal/workflow-bundle/builder-support.d.ts +0 -1
  379. package/dist/src/internal/workflow-bundle/builder-support.js +2 -2
  380. package/dist/src/internal/workflow-bundle/builder.js +2 -2
  381. package/dist/src/internal/workflow-bundle/vercel-workflow-output.d.ts +1 -1
  382. package/dist/src/internal/workflow-bundle/vercel-workflow-output.js +1 -1
  383. package/dist/src/protocol/message.d.ts +27 -1
  384. package/dist/src/protocol/message.js +2 -2
  385. package/dist/src/protocol/prewarm-session.d.ts +14 -0
  386. package/dist/src/protocol/prewarm-session.js +1 -0
  387. package/dist/src/protocol/routes.d.ts +2 -2
  388. package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +13 -0
  389. package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +2 -2
  390. package/dist/src/public/channels/chat-sdk/fetch-message.d.ts +10 -0
  391. package/dist/src/public/channels/chat-sdk/fetch-message.js +1 -0
  392. package/dist/src/public/channels/chat-sdk/index.d.ts +1 -1
  393. package/dist/src/public/channels/chat-sdk/reply-context.d.ts +15 -0
  394. package/dist/src/public/channels/chat-sdk/reply-context.js +2 -0
  395. package/dist/src/public/channels/discord/authorization.d.ts +45 -0
  396. package/dist/src/public/channels/discord/authorization.js +3 -0
  397. package/dist/src/public/channels/discord/defaults.d.ts +14 -3
  398. package/dist/src/public/channels/discord/defaults.js +2 -2
  399. package/dist/src/public/channels/discord/discordChannel.d.ts +18 -1
  400. package/dist/src/public/channels/discord/discordChannel.js +1 -1
  401. package/dist/src/public/channels/discord/gateway/connection.d.ts +26 -0
  402. package/dist/src/public/channels/discord/gateway/connection.js +1 -0
  403. package/dist/src/public/channels/discord/gateway/forwarder.d.ts +14 -0
  404. package/dist/src/public/channels/discord/gateway/forwarder.js +1 -0
  405. package/dist/src/public/channels/discord/gateway/index.d.ts +59 -0
  406. package/dist/src/public/channels/discord/gateway/index.js +1 -0
  407. package/dist/src/public/channels/discord/inbound.d.ts +10 -3
  408. package/dist/src/public/channels/discord/inbound.js +2 -2
  409. package/dist/src/public/channels/discord/index.d.ts +3 -2
  410. package/dist/src/public/channels/discord/index.js +1 -1
  411. package/dist/src/public/channels/discord/messages.d.ts +116 -0
  412. package/dist/src/public/channels/discord/messages.js +2 -0
  413. package/dist/src/public/channels/github/checkout.js +1 -1
  414. package/dist/src/public/channels/github/dispatch.js +1 -1
  415. package/dist/src/public/channels/github/githubChannel.d.ts +3 -0
  416. package/dist/src/public/channels/imessage-tapbacks.d.ts +74 -0
  417. package/dist/src/public/channels/imessage-tapbacks.js +1 -0
  418. package/dist/src/public/channels/index.d.ts +2 -1
  419. package/dist/src/public/channels/index.js +1 -1
  420. package/dist/src/public/channels/linear/linearChannel.d.ts +3 -0
  421. package/dist/src/public/channels/linear/linearChannel.js +1 -1
  422. package/dist/src/public/channels/linq/inboundContent.d.ts +7 -0
  423. package/dist/src/public/channels/linq/inboundContent.js +1 -1
  424. package/dist/src/public/channels/linq/index.d.ts +1 -0
  425. package/dist/src/public/channels/linq/index.js +1 -1
  426. package/dist/src/public/channels/linq/linqChannel.d.ts +21 -2
  427. package/dist/src/public/channels/linq/linqChannel.js +1 -1
  428. package/dist/src/public/channels/photon/inboundContent.d.ts +7 -0
  429. package/dist/src/public/channels/photon/inboundContent.js +2 -1
  430. package/dist/src/public/channels/photon/index.d.ts +1 -0
  431. package/dist/src/public/channels/photon/index.js +1 -1
  432. package/dist/src/public/channels/photon/photonIMessageChannel.d.ts +17 -1
  433. package/dist/src/public/channels/photon/photonIMessageChannel.js +1 -1
  434. package/dist/src/public/channels/same-environment-oidc.d.ts +7 -0
  435. package/dist/src/public/channels/same-environment-oidc.js +1 -0
  436. package/dist/src/public/channels/slack/api.d.ts +6 -0
  437. package/dist/src/public/channels/slack/api.js +1 -1
  438. package/dist/src/public/channels/slack/model-context.d.ts +7 -0
  439. package/dist/src/public/channels/slack/model-context.js +1 -1
  440. package/dist/src/public/channels/slack/reply-delivery.d.ts +5 -0
  441. package/dist/src/public/channels/slack/reply-delivery.js +1 -1
  442. package/dist/src/public/channels/slack/slackChannel.d.ts +17 -3
  443. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  444. package/dist/src/public/channels/teams/teamsChannel.d.ts +3 -0
  445. package/dist/src/public/channels/teams/teamsChannel.js +1 -1
  446. package/dist/src/public/channels/telegram/telegramChannel.d.ts +3 -0
  447. package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
  448. package/dist/src/public/definitions/agent.d.ts +1 -1
  449. package/dist/src/public/definitions/channel.d.ts +2 -2
  450. package/dist/src/public/definitions/channel.js +1 -1
  451. package/dist/src/public/definitions/hook.d.ts +1 -0
  452. package/dist/src/public/definitions/sandbox.d.ts +1 -1
  453. package/dist/src/public/index.d.ts +1 -1
  454. package/dist/src/public/next/server.js +1 -1
  455. package/dist/src/public/sandbox/docker-sandbox.d.ts +6 -1
  456. package/dist/src/public/sandbox/docker.d.ts +1 -8
  457. package/dist/src/public/sandbox/index.d.ts +3 -3
  458. package/dist/src/public/sandbox/just-bash-sandbox.d.ts +87 -7
  459. package/dist/src/public/sandbox/just-bash.d.ts +1 -1
  460. package/dist/src/public/sandbox/provider.d.ts +5 -1
  461. package/dist/src/public/sandbox/provider.js +1 -1
  462. package/dist/src/public/sandbox/vercel-sandbox.d.ts +16 -9
  463. package/dist/src/public/sandbox/vercel.d.ts +0 -1
  464. package/dist/src/public/sandbox/vercel.js +1 -1
  465. package/dist/src/public/tools/agent.d.ts +8 -1
  466. package/dist/src/public/tools/agent.js +1 -1
  467. package/dist/src/public/tools/index.d.ts +1 -1
  468. package/dist/src/react/use-eve-agent.d.ts +1 -1
  469. package/dist/src/runtime/agent/resolve-model.d.ts +4 -0
  470. package/dist/src/runtime/agent/resolve-model.js +1 -1
  471. package/dist/src/runtime/connections/openapi-client.d.ts +2 -0
  472. package/dist/src/runtime/connections/openapi-client.js +1 -1
  473. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  474. package/dist/src/runtime/resolve-agent.js +1 -1
  475. package/dist/src/runtime/resolve-channel.js +1 -1
  476. package/dist/src/runtime/resolve-sandbox.js +1 -1
  477. package/dist/src/runtime/sandbox/prepared-artifacts.js +1 -1
  478. package/dist/src/runtime/sandbox/registry.d.ts +2 -0
  479. package/dist/src/runtime/sandbox/registry.js +1 -1
  480. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
  481. package/dist/src/runtime/subagents/dynamic-agent-config.d.ts +2 -1
  482. package/dist/src/runtime/subagents/dynamic-agent-config.js +1 -1
  483. package/dist/src/runtime/subagents/workflow.d.ts +6 -0
  484. package/dist/src/runtime/subagents/workflow.js +1 -1
  485. package/dist/src/runtime/types.d.ts +3 -2
  486. package/dist/src/runtime/workspace/seed-files.d.ts +9 -12
  487. package/dist/src/runtime/workspace/seed-files.js +1 -1
  488. package/dist/src/runtime/workspace/spec.d.ts +1 -1
  489. package/dist/src/runtime/workspace/spec.js +1 -1
  490. package/dist/src/runtime/workspace/types.d.ts +2 -6
  491. package/dist/src/sandbox/provider.d.ts +185 -0
  492. package/dist/src/sandbox/provider.js +1 -0
  493. package/dist/src/sandbox/providers/default.d.ts +20 -19
  494. package/dist/src/sandbox/providers/default.js +1 -1
  495. package/dist/src/sandbox/providers/docker.d.ts +5 -2
  496. package/dist/src/sandbox/providers/docker.js +1 -1
  497. package/dist/src/sandbox/providers/just-bash.d.ts +4 -3
  498. package/dist/src/sandbox/providers/just-bash.js +1 -1
  499. package/dist/src/sandbox/providers/vercel.d.ts +4 -10
  500. package/dist/src/sandbox/providers/vercel.js +1 -1
  501. package/dist/src/sandbox/providers.d.ts +0 -1
  502. package/dist/src/sandbox/providers.js +1 -1
  503. package/dist/src/sandbox/state.d.ts +44 -0
  504. package/dist/src/sandbox/state.js +1 -1
  505. package/dist/src/self-modification/deployed-sandbox.d.ts +4 -9
  506. package/dist/src/self-modification/deployed-sandbox.js +1 -1
  507. package/dist/src/self-modification/filesystem.d.ts +3 -3
  508. package/dist/src/self-modification/remote/config.d.ts +2 -2
  509. package/dist/src/self-modification/remote/config.js +1 -1
  510. package/dist/src/self-modification/setup.d.ts +0 -1
  511. package/dist/src/self-modification/setup.js +8 -8
  512. package/dist/src/setup/integrations/discord/api.d.ts +7 -0
  513. package/dist/src/setup/integrations/discord/api.js +1 -1
  514. package/dist/src/setup/integrations/discord/daemon.d.ts +18 -0
  515. package/dist/src/setup/integrations/discord/daemon.js +21 -0
  516. package/dist/src/setup/integrations/discord/setup.d.ts +24 -4
  517. package/dist/src/setup/integrations/discord/setup.js +5 -4
  518. package/dist/src/setup/integrations/self-modification/setup.js +1 -1
  519. package/dist/src/setup/scaffold/create/project.js +1 -1
  520. package/dist/src/setup/scaffold/update/web-options.js +1 -1
  521. package/dist/src/setup/scaffold/version-tokens.d.ts +0 -1
  522. package/dist/src/setup/scaffold/version-tokens.js +1 -1
  523. package/dist/src/shared/agent-definition.d.ts +33 -42
  524. package/dist/src/shared/built-server-start-failure.d.ts +12 -0
  525. package/dist/src/shared/built-server-start-failure.js +3 -0
  526. package/dist/src/shared/framework-eve-server.d.ts +2 -0
  527. package/dist/src/shared/framework-eve-server.js +2 -2
  528. package/dist/src/shared/sandbox-environment.d.ts +4 -10
  529. package/dist/src/shared/sandbox-environment.js +1 -1
  530. package/dist/src/shared/sandbox-network-policy.d.ts +45 -9
  531. package/dist/src/shared/sandbox-provider.d.ts +0 -103
  532. package/dist/src/shared/sandbox-provider.js +1 -1
  533. package/dist/src/shared/sandbox-recorded-data-error.d.ts +4 -0
  534. package/dist/src/shared/sandbox-recorded-data-error.js +1 -0
  535. package/dist/src/shared/sandbox-session-gone-error.d.ts +12 -0
  536. package/dist/src/shared/sandbox-session-gone-error.js +1 -0
  537. package/dist/src/shared/sandbox-session.d.ts +97 -83
  538. package/dist/src/shared/sandbox-template-error.d.ts +19 -4
  539. package/dist/src/shared/sandbox-template-error.js +1 -1
  540. package/dist/src/shared/sandbox-tool-session-error.d.ts +4 -0
  541. package/dist/src/shared/sandbox-tool-session-error.js +1 -0
  542. package/dist/src/shared/session-history.d.ts +22 -0
  543. package/dist/src/shared/session-history.js +1 -0
  544. package/dist/src/shared/skill-package.js +1 -1
  545. package/dist/src/shared/skill-paths.d.ts +4 -5
  546. package/dist/src/shared/skill-paths.js +2 -2
  547. package/dist/src/shared/workflow-sandbox.d.ts +4 -41
  548. package/dist/src/shared/workflow-sandbox.js +1 -1
  549. package/dist/src/subagents/tool.d.ts +1 -3
  550. package/dist/src/subagents/tool.js +1 -1
  551. package/dist/src/svelte/index.js +1 -1
  552. package/dist/src/svelte/use-eve-agent.d.ts +1 -1
  553. package/dist/src/svelte/use-eve-agent.js +1 -1
  554. package/dist/src/tools/model-output.d.ts +23 -5
  555. package/dist/src/tools/model-output.js +1 -1
  556. package/dist/src/tools/provided/ask-question-workflow.js +1 -1
  557. package/dist/src/tools/provided/glob.js +1 -1
  558. package/dist/src/tools/provided/grep.js +1 -1
  559. package/dist/src/tools/provided/read-file.js +1 -1
  560. package/dist/src/tools/provided/sleep-workflow.js +1 -1
  561. package/dist/src/tools/provided/workflow.js +1 -1
  562. package/dist/src/tools/provided/write-file.js +1 -1
  563. package/dist/src/tools/workflow-definition.d.ts +33 -5
  564. package/dist/src/tracing/eve/conversation-context.d.ts +4 -1
  565. package/dist/src/tracing/eve/conversation-context.js +1 -1
  566. package/dist/src/tracing/eve/invoke-tool-span.js +1 -1
  567. package/dist/src/tracing/eve/operation-input.d.ts +0 -5
  568. package/dist/src/tracing/eve/operation-input.js +1 -1
  569. package/dist/src/tracing/eve/otel-registration.js +1 -1
  570. package/dist/src/tracing/eve/session.d.ts +3 -2
  571. package/dist/src/tracing/eve/session.js +1 -1
  572. package/dist/src/vue/index.js +1 -1
  573. package/dist/src/vue/use-eve-agent.d.ts +1 -1
  574. package/dist/src/vue/use-eve-agent.js +1 -1
  575. package/docs/agent-config.md +86 -65
  576. package/docs/channels/chat-sdk.mdx +6 -1
  577. package/docs/channels/custom.mdx +41 -9
  578. package/docs/channels/discord.mdx +279 -7
  579. package/docs/channels/eve.mdx +58 -1
  580. package/docs/channels/linq.mdx +53 -2
  581. package/docs/channels/mcp.mdx +2 -2
  582. package/docs/channels/overview.mdx +1 -1
  583. package/docs/channels/photon.mdx +65 -1
  584. package/docs/channels/slack.mdx +4 -2
  585. package/docs/concepts/built-in-tools.md +32 -9
  586. package/docs/concepts/execution-model-and-durability.mdx +15 -103
  587. package/docs/concepts/security-model.md +2 -0
  588. package/docs/concepts/sessions-runs-and-streaming.md +52 -43
  589. package/docs/connections/openapi.mdx +2 -0
  590. package/docs/connections/overview.mdx +1 -1
  591. package/docs/evals/reporters.mdx +1 -1
  592. package/docs/evals/running.mdx +1 -1
  593. package/docs/experimental/dynamic-schedules.mdx +186 -0
  594. package/docs/experimental/meta.json +4 -0
  595. package/docs/guides/client/messages.mdx +1 -1
  596. package/docs/guides/client/streaming.mdx +1 -0
  597. package/docs/guides/deployment/overview.md +4 -4
  598. package/docs/guides/deployment/self-hosting.md +53 -1
  599. package/docs/guides/dev-tui.md +1 -1
  600. package/docs/guides/dynamic-capabilities.md +1 -1
  601. package/docs/guides/frontend/overview.mdx +26 -6
  602. package/docs/guides/hooks.md +21 -1
  603. package/docs/guides/instrumentation/agent-runs.mdx +16 -0
  604. package/docs/guides/self-modification.md +1 -1
  605. package/docs/guides/session-context.md +1 -1
  606. package/docs/instructions.mdx +1 -1
  607. package/docs/memory/overview.mdx +2 -1
  608. package/docs/patterns/dynamic-scheduling.md +3 -1
  609. package/docs/reference/agent-files.md +3 -3
  610. package/docs/reference/cli.md +21 -9
  611. package/docs/reference/typescript-api.md +9 -3
  612. package/docs/sandbox/custom-providers.mdx +254 -0
  613. package/docs/sandbox/default.mdx +71 -4
  614. package/docs/sandbox/docker.mdx +15 -3
  615. package/docs/sandbox/index.mdx +27 -103
  616. package/docs/sandbox/just-bash.mdx +54 -0
  617. package/docs/sandbox/meta.json +9 -1
  618. package/docs/sandbox/troubleshooting.mdx +215 -0
  619. package/docs/sandbox/vercel.mdx +48 -7
  620. package/docs/schedules.mdx +2 -0
  621. package/docs/skills.mdx +1 -1
  622. package/docs/subagents/index.mdx +3 -1
  623. package/docs/tools/overview.mdx +21 -1
  624. package/docs/tools/tasks-upgrade.md +12 -7
  625. package/docs/tools/tasks.md +10 -6
  626. package/docs/tools/workflows.mdx +109 -10
  627. package/docs/tutorial/connect-a-warehouse.mdx +1 -1
  628. package/docs/tutorial/run-analysis.mdx +3 -3
  629. package/package.json +14 -20
  630. package/dist/src/compiled/@ai-sdk/code-mode/_run.d.ts +0 -1
  631. package/dist/src/compiled/@ai-sdk/code-mode/index.d.ts +0 -325
  632. package/dist/src/compiled/@ai-sdk/code-mode/index.js +0 -660
  633. package/dist/src/compiled/_chunks/workflow/dist-CyBgVS7g.js +0 -1
  634. package/dist/src/compiled/_chunks/workflow/dist-T5NnW-0k.js +0 -3
  635. package/dist/src/compiled/_chunks/workflow/helpers-DlLD3ov_.js +0 -1
  636. package/dist/src/compiled/_chunks/workflow/private-tQUuwBoQ.js +0 -1
  637. package/dist/src/compiled/_chunks/workflow/resume-hook-DMsV_b4n.js +0 -1
  638. package/dist/src/compiled/_chunks/workflow/serialization-DPdYS_w2.js +0 -16
  639. package/dist/src/compiled/_chunks/workflow/sleep-BY6leHh8.js +0 -1
  640. package/dist/src/compiled/_chunks/workflow/workflow-routes-CwqB063q.js +0 -1
  641. package/dist/src/execution/run-session-limits.d.ts +0 -12
  642. package/dist/src/execution/run-session-limits.js +0 -1
  643. package/dist/src/execution/sandbox/active-handles.d.ts +0 -32
  644. package/dist/src/execution/sandbox/active-handles.js +0 -1
  645. package/dist/src/execution/sandbox/bindings/docker-session.d.ts +0 -6
  646. package/dist/src/execution/sandbox/bindings/docker-session.js +0 -2
  647. package/dist/src/execution/sandbox/bindings/immutable-resources.d.ts +0 -15
  648. package/dist/src/execution/sandbox/bindings/immutable-resources.js +0 -2
  649. package/dist/src/execution/sandbox/bindings/microsandbox-create.d.ts +0 -12
  650. package/dist/src/execution/sandbox/bindings/microsandbox-create.js +0 -1
  651. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +0 -42
  652. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.js +0 -1
  653. package/dist/src/execution/sandbox/bindings/microsandbox-metadata.d.ts +0 -29
  654. package/dist/src/execution/sandbox/bindings/microsandbox-metadata.js +0 -1
  655. package/dist/src/execution/sandbox/bindings/microsandbox-network.d.ts +0 -18
  656. package/dist/src/execution/sandbox/bindings/microsandbox-network.js +0 -1
  657. package/dist/src/execution/sandbox/bindings/microsandbox-options.d.ts +0 -37
  658. package/dist/src/execution/sandbox/bindings/microsandbox-options.js +0 -1
  659. package/dist/src/execution/sandbox/bindings/microsandbox-platform.d.ts +0 -21
  660. package/dist/src/execution/sandbox/bindings/microsandbox-platform.js +0 -21
  661. package/dist/src/execution/sandbox/bindings/microsandbox-process.d.ts +0 -3
  662. package/dist/src/execution/sandbox/bindings/microsandbox-process.js +0 -1
  663. package/dist/src/execution/sandbox/bindings/microsandbox-provider-state.d.ts +0 -11
  664. package/dist/src/execution/sandbox/bindings/microsandbox-provider-state.js +0 -1
  665. package/dist/src/execution/sandbox/bindings/microsandbox-runtime.d.ts +0 -82
  666. package/dist/src/execution/sandbox/bindings/microsandbox-runtime.js +0 -1
  667. package/dist/src/execution/sandbox/bindings/microsandbox-templates.d.ts +0 -12
  668. package/dist/src/execution/sandbox/bindings/microsandbox-templates.js +0 -1
  669. package/dist/src/execution/sandbox/bindings/microsandbox.d.ts +0 -16
  670. package/dist/src/execution/sandbox/bindings/microsandbox.js +0 -1
  671. package/dist/src/execution/sandbox/provider-host-development.d.ts +0 -2
  672. package/dist/src/execution/sandbox/provider-host-development.js +0 -1
  673. package/dist/src/execution/sandbox/provider-host.d.ts +0 -2
  674. package/dist/src/execution/sandbox/provider-host.js +0 -1
  675. package/dist/src/execution/tool-session/sandbox.d.ts +0 -22
  676. package/dist/src/execution/tool-session/sandbox.js +0 -1
  677. package/dist/src/harness/session-usage-limits.d.ts +0 -49
  678. package/dist/src/harness/session-usage-limits.js +0 -1
  679. package/dist/src/public/sandbox/microsandbox-sandbox.d.ts +0 -48
  680. package/dist/src/public/sandbox/microsandbox.d.ts +0 -9
  681. package/dist/src/public/sandbox/microsandbox.js +0 -1
  682. package/dist/src/sandbox/providers/microsandbox.d.ts +0 -12
  683. package/dist/src/sandbox/providers/microsandbox.js +0 -1
  684. package/dist/src/subagents/token-budget.d.ts +0 -15
  685. package/dist/src/subagents/token-budget.js +0 -1
  686. package/docs/sandbox/microsandbox.mdx +0 -31
  687. /package/dist/src/{public/sandbox/microsandbox-sandbox.js → execution/agent-sessions/runtime-overrides.js} +0 -0
@@ -3,7 +3,7 @@ title: "Sandbox"
3
3
  description: "Configure the isolated filesystem and command environment used by an eve agent."
4
4
  ---
5
5
 
6
- Every eve agent has one sandbox rooted at `/workspace`. The built-in `bash`, `read_file`, and `write_file` tools use it. Without an authored sandbox file, eve selects the best available environment automatically.
6
+ Every eve agent has one sandbox. Its workspace root, where commands start and relative paths resolve from, is `/workspace` on every built-in provider. The built-in `bash`, `read_file`, and `write_file` tools use it. Without an authored sandbox file, eve selects the best available environment automatically.
7
7
 
8
8
  ## Use the sandbox
9
9
 
@@ -26,7 +26,7 @@ export default defineTool({
26
26
  });
27
27
  ```
28
28
 
29
- Relative paths resolve under `/workspace`. `run()` returns `{ exitCode, stdout, stderr }`; a nonzero exit code does not throw automatically. Use `spawn()` for a long-running process.
29
+ Relative paths resolve from the workspace root, and `sandbox.resolvePath(".")` returns its absolute path. `run()` returns `{ exitCode, stdout, stderr }`; a nonzero exit code does not throw automatically. Use `spawn()` for a long-running process.
30
30
 
31
31
  Built-in environments set `AI_AGENT=eve` on every `run()` and `spawn()` call, including the `bash` tool and `prepare`, so agent-aware CLIs such as `vercel` skip interactive prompts. To use a different value, set `AI_AGENT` in the environment's `env` option or pass it in the `env` of one `run()` or `spawn()` call.
32
32
 
@@ -43,7 +43,7 @@ For example, a Vercel environment returns a handle with `setNetworkPolicy()`. Th
43
43
 
44
44
  ## Define an environment
45
45
 
46
- A sandbox module exports an environment and returns a sandbox from `defineSandbox()`:
46
+ A sandbox module exports an environment and returns a sandbox from `defineSandbox()`. Put it at `agent/sandbox.ts`, or at `agent/sandbox/sandbox.ts` when the agent also has [workspace seeds](#managed-workspace-and-skills) or a Docker `Dockerfile` in `agent/sandbox/`. When the `agent/sandbox/` folder exists, eve reads the definition only from `agent/sandbox/sandbox.ts`.
47
47
 
48
48
  ```ts title="agent/sandbox.ts"
49
49
  import { DefaultSandbox, defineSandbox } from "eve/sandbox";
@@ -54,7 +54,7 @@ export default defineSandbox(() => environment.open());
54
54
 
55
55
  `environment.open()` starts the persistent sandbox owned by the current eve session. The `defineSandbox()` selector runs until initialization succeeds, then eve checkpoints the selected provider and its state. Later workflow steps and process restarts call the provider's `resume()` directly without rerunning the selector or `environment.open()`.
56
56
 
57
- Pass options for the live sandbox to `open()`, then configure the returned sandbox before returning it. This initialization runs once for a successfully started durable sandbox:
57
+ Pass options for the live sandbox to `open()`, then configure the returned sandbox before returning it. `open()` applies its options only when it creates the sandbox. Initialization can run more than once against the same sandbox, for example when a subagent that shares the sandbox opens it before the parent does, when a [workflow step](/docs/tools/workflows#use-the-session-sandbox-in-a-step) opens it before the session records it, or on the next access after an initialization that failed. Make it safe to repeat:
58
58
 
59
59
  ```ts
60
60
  import { defineSandbox } from "eve/sandbox";
@@ -91,15 +91,15 @@ export const environment = VercelSandbox.environment({
91
91
  export default defineSandbox(() => environment.open());
92
92
  ```
93
93
 
94
- eve runs `prepare` while creating a reusable provider artifact, not once for each live session sandbox. Vercel captures a snapshot; Docker captures an image; microsandbox captures a VM snapshot; and just-bash captures a filesystem template.
94
+ eve runs `prepare` while creating a reusable provider artifact, not once for each live session sandbox. Vercel captures a snapshot; Docker captures an image; and just-bash captures a filesystem template.
95
95
 
96
96
  During `eve dev`, startup and authored-source rebuilds do not prepare sandbox environments. The first sandbox access prepares all environments in that compiled generation before opening the requested sandbox. This includes environments declared by subagents and extensions, even if they use different providers. Concurrent requests share the preparation work; a failed preparation can be retried on a later access. Optional provider installation and setup can make that first access slow.
97
97
 
98
- `eve build` still prepares environments eagerly. In production, eve passes the recorded artifact directly to the provider when it creates a live sandbox. Production runtime does not rebuild or repair a missing artifact. A missing image, snapshot, or template fails with rebuild or redeploy guidance.
98
+ `eve build` still prepares environments eagerly. In production, eve passes the recorded artifact directly to the provider when it creates a live sandbox. Production runtime does not rebuild or repair a missing artifact. A missing image, snapshot, or template fails with rebuild or redeploy guidance. [Sandbox troubleshooting](/docs/sandbox/troubleshooting) lists these errors with their causes and fixes.
99
99
 
100
100
  ### Reuse native resources across sessions
101
101
 
102
- Built-in environments do not expose cross-session sharing. To reuse native compute or storage across eve sessions, define a custom provider that returns a session-owned logical sandbox view and keeps shared resources outside that view's `stop`, `shutdown`, and `delete` operations. A session-specific path is not an isolation boundary; mutually untrusted sessions require separate native compute or stronger provider-owned isolation.
102
+ Built-in environments do not expose cross-session sharing. To reuse native compute or storage across eve sessions, define a [custom provider](/docs/sandbox/custom-providers) whose connection is a session-owned logical sandbox view and that keeps shared resources outside the connection's `stop()` and the provider's `onSessionEnd()`. A session-specific path is not an isolation boundary; mutually untrusted sessions require separate native compute or stronger provider-owned isolation.
103
103
 
104
104
  ### Share a parent sandbox
105
105
 
@@ -113,6 +113,8 @@ export default defineParentSandbox();
113
113
 
114
114
  An inheriting subagent cannot declare its own managed workspace or skill files.
115
115
 
116
+ The parent and every subagent that shares its sandbox, including children of the built-in `agent` tool, use one sandbox keyed by the parent's session. Whichever session opens it first runs the parent's `defineSandbox()` selector to create it. When the parent session ends, eve deletes the sandbox, even one that only a subagent opened.
117
+
116
118
  ## Managed workspace and skills
117
119
 
118
120
  Use the sandbox directory for authored workspace seeds:
@@ -124,36 +126,17 @@ agent/sandbox/
124
126
  schema.sql
125
127
  ```
126
128
 
127
- Files under `agent/sandbox/workspace/` seed writable `/workspace`. eve copies the seed when it prepares a new environment generation. Existing live sandbox state is not overwritten by later seed changes.
128
-
129
- Agent skills are compiled into a separate resource tree and exposed at `$HOME/.agents/skills`. These are stable paths across every built-in provider, so instructions and tools can refer to `/workspace` and `$HOME/.agents/skills`. Do not refer to a concrete home directory or `/eve/resources`, which is provider-internal staging.
130
-
131
- Providers receive both trees with explicit metadata:
129
+ Files under `agent/sandbox/workspace/` seed writable `/workspace`. eve copies the seed into the prepared environment when it prepares a new environment generation, and each new session sandbox starts from that copy. Existing live sandbox state is not overwritten by later seed changes.
132
130
 
133
- ```ts
134
- interface SandboxProviderResources {
135
- source:
136
- | { kind: "none" }
137
- | { kind: "inline"; key: string }
138
- | { kind: "materialized"; key: string; path: string }
139
- | { kind: "reference"; key: string };
140
- workspace?: SandboxProviderResourceTree;
141
- skills?: SandboxProviderResourceTree;
142
- }
143
-
144
- interface SandboxProviderResourceTree {
145
- key: string;
146
- files: ResourceFile[];
147
- mountPath: string;
148
- targetPath: string;
149
- }
150
- ```
131
+ Agent skills are compiled into a separate resource tree and exposed at `$HOME/.agents/skills`. These are stable paths across every built-in provider, so instructions and tools can refer to `/workspace` and `$HOME/.agents/skills`. A [custom provider](/docs/sandbox/custom-providers) can declare a different workspace root, so prefer relative paths in code that runs on any provider. eve resolves `$HOME` by reading it inside the sandbox; when a sandbox has no usable home directory, skill paths fall back to `skills/` under the workspace root. Do not refer to a concrete home directory or `/eve/resources`, which is provider-internal staging.
151
132
 
152
- Docker and microsandbox mount the compiled trees read-only under `/eve/resources`, copy workspace seeds into writable `/workspace`, and expose skills read-only where possible. Vercel's snapshot environment writes workspace and skill contents before capturing its snapshot. Custom providers decide whether to upload, mount, or write each tree, but must expose the final target paths before authored preparation runs.
133
+ Docker mounts the compiled trees read-only under `/eve/resources` and copies them into place. Vercel Sandbox writes workspace and skill files into the build sandbox before capturing its snapshot. A custom provider seeds both trees with `ctx.populate()` when it prepares a template; see [Bake files into templates](/docs/sandbox/custom-providers#bake-files-into-templates).
153
134
 
154
135
  ## Inbound attachments
155
136
 
156
- eve writes byte-backed files that reach the agent into the sandbox under `/workspace/.eve/attachments/` and keeps only a reference in session history. This covers files attached to user messages and files that tools return to the model with `toolOutputPart.file` or as MCP image, audio, and blob content.
137
+ eve writes byte-backed files that reach the agent into the sandbox under `.eve/attachments/` in the workspace root (`/workspace/.eve/attachments/` on built-in providers) and keeps only a reference in session history. This covers files attached to user messages and files that tools return to the model with `toolOutputPart.file` or as MCP image, audio, and blob content.
138
+
139
+ Files that tools return by URL with `toolOutputPart.fileUrl` are not staged: the model provider reads the URL directly. See [Send a file by URL](/docs/tools#send-a-file-by-url).
157
140
 
158
141
  Before every model call, eve reads the referenced files back from the sandbox. Every file, whether attached to a message or returned by a tool, reaches the model with a label that names its sandbox path, such as `Attached file /workspace/.eve/attachments/<hash>/report.csv (text/csv)`. The agent can open that path with `read_file` or `bash`. The file's bytes follow its label only when every major provider reads the format natively:
159
142
 
@@ -172,87 +155,28 @@ Each call sends the same bytes for the same file, so the model still sees attach
172
155
 
173
156
  ## Custom providers
174
157
 
175
- Define a provider with `defineSandboxProvider()` from `eve/sandbox/provider`. The five generic parameters describe environment options, live options, the prepared artifact, minimal serialized session state, and the provider-specific sandbox session type:
176
-
177
- ```ts
178
- import type { SandboxSession } from "eve/sandbox";
179
- import { defineSandboxProvider } from "eve/sandbox/provider";
180
-
181
- export const AcmeSandbox = defineSandboxProvider<
182
- { image: string; prepare?: (sandbox: SandboxSession) => Promise<void> },
183
- { networkPolicy?: "allow-all" | "deny-all" },
184
- { templateId: string },
185
- { remoteId: string; version: 1 },
186
- SandboxSession
187
- >({
188
- name: "acme",
189
- environment(options) {
190
- const client = createAcmeClient(options);
191
-
192
- return {
193
- async onSessionEnd(_ctx, _artifact, state, { reason }) {
194
- await client.delete({ id: state.remoteId, reason });
195
- },
196
-
197
- async prepare(ctx) {
198
- const temporary = await client.createTemporary({
199
- files: await ctx.files.list(),
200
- resources: ctx.resources,
201
- });
202
- const sandbox = adaptAcmeSandbox(temporary);
203
- await options?.prepare?.(sandbox);
204
- return { templateId: (await temporary.capture()).id };
205
- },
206
-
207
- async start(ctx, liveOptions, artifact) {
208
- const remote = await client.open({
209
- identity: sessionIdentity(ctx.session.id, artifact, liveOptions),
210
- networkPolicy: liveOptions?.networkPolicy,
211
- templateId: artifact.templateId,
212
- });
213
- return {
214
- handle: createHandle(remote),
215
- state: { remoteId: remote.id, version: 1 },
216
- };
217
- },
218
-
219
- async resume(_ctx, artifact, state) {
220
- const remote = await client.resume({ id: state.remoteId, templateId: artifact.templateId });
221
- return createHandle(remote);
222
- },
223
- };
224
- },
225
- });
226
- ```
227
-
228
- `prepare()` returns the complete JSON-serializable artifact. Core calls `start()` once for a new durable sandbox session and persists its minimal JSON-compatible state. Process restarts call `resume()` with only the current context, that state, and the target deployment's exact artifact.
229
-
230
- `onSessionEnd()` is invoked when the durable session reaches a completed, expired, or failed terminal outcome. It receives the exact prepared artifact, persisted provider state, and a `reason` of `"completed"`, `"expired"`, or `"failed"`. Implement idempotent permanent cleanup from those values rather than depending on a live handle. eve retries the cleanup step and logs an exhausted failure without replacing the session's terminal outcome. A session that never opened a sandbox and a child that borrows its parent's sandbox do not call the hook.
231
-
232
- Provider handles implement `onSandboxStop()`, `onRuntimeShutdown()`, and `onSandboxDelete()`. These handle-level methods cover authored stop or delete calls, process shutdown, and failed initialization; `onSessionEnd()` is the single provider hook for durable terminal session cleanup.
233
-
234
- Open options belong to `start()` and are not serialized or passed to `resume()`. A provider must put any immutable option-derived data needed for reconnection in its session state. With the current immutable-state contract, `resume()` reconnects existing native state and fails if it is gone rather than recreating callback side effects. A custom provider may define start-only callback fields, but built-in providers initialize the sandbox in `defineSandbox()` after `open()`.
235
-
236
- Preparation discovers authored files through `ctx.files`; core keeps project layout and artifact storage keys private. Keep provider SDK values behind the provider. `environment.open()` preserves the provider's sandbox capability type, while the heterogeneous runtime registry erases it to eve's common session surface.
158
+ To run sandboxes on a backend eve does not ship, define a provider with `defineSandboxProvider()` from `eve/sandbox/provider`. A provider implements a byte-level connection to one sandbox (`spawn`, `readFile`, `writeFiles`, `removePath`, and `stop`) and a lifecycle of `prepare`, `start`, `resume`, and `onSessionEnd`. eve derives the full sandbox session from the connection, seeds workspace and skill files into the provider's templates during `eve build`, and maps `sandbox.stop()`, `sandbox.delete()`, and server shutdown onto the lifecycle. [Custom sandbox providers](/docs/sandbox/custom-providers) has a complete example and the full contract.
237
159
 
238
160
  ## Providers
239
161
 
240
- | Provider | Use it for |
241
- | ------------------------------------------ | --------------------------------------------------------------------------------------- |
242
- | [Default](/docs/sandbox/default) | Automatic provider selection with eve's standard behavior. |
243
- | [Vercel](/docs/sandbox/vercel) | Snapshot-backed persistent Vercel Sandboxes, domain network policies, and Drive mounts. |
244
- | [Docker](/docs/sandbox/docker) | Local containers from the default image, an existing OCI image, or a Dockerfile. |
245
- | [microsandbox](/docs/sandbox/microsandbox) | Local lightweight VMs from an OCI image or Dockerfile. |
246
- | [just-bash](/docs/sandbox/just-bash) | A pure-JavaScript shell and virtual filesystem without native process isolation. |
162
+ | Provider | Use it for |
163
+ | ------------------------------------ | ------------------------------------------------------------------------------------------- |
164
+ | [Default](/docs/sandbox/default) | Vercel Sandbox on Vercel, Docker when reachable, and just-bash in development. |
165
+ | [Vercel](/docs/sandbox/vercel) | Persistent Vercel Sandboxes, prepared snapshots, domain network policies, and Drive mounts. |
166
+ | [Docker](/docs/sandbox/docker) | Local containers from the default image, an existing OCI image, or a Dockerfile. |
167
+ | [just-bash](/docs/sandbox/just-bash) | A pure-JavaScript shell and virtual filesystem without native process isolation. |
247
168
 
248
169
  ## Lifecycle
249
170
 
250
- Session-owned sandboxes persist across turns and deployments while their provider state remains available. `sandbox.stop()` stops compute without deleting persisted state; a later access resumes that state directly. `sandbox.delete()` clears provider state, so the next `ctx.getSandbox()` reruns the selector and starts a fresh sandbox from the current environment. When the durable session reaches a terminal outcome, eve calls the provider's `onSessionEnd()` hook to release any remaining session-owned resources.
171
+ Session-owned sandboxes persist across turns and deployments while their provider state remains available. `sandbox.stop()` stops compute without deleting persisted state; a later access resumes that state directly. `sandbox.delete()` deletes the sandbox and clears provider state, so the next `ctx.getSandbox()` reruns the selector, and the provider starts a fresh sandbox under the same session key from the current environment. If the native sandbox is gone when a session resumes, for example after a local daemon restart, a removed container, or a deleted just-bash session directory, eve does the same: the session continues in a fresh sandbox, without the lost sandbox's files. eve also starts a fresh sandbox when the recorded state belongs to another provider or state protocol than the current environment, for example after you change providers; the old sandbox is not deleted. When the durable session reaches a terminal outcome, eve calls the provider's `onSessionEnd()` hook to delete what remains under the session's key.
172
+
173
+ Before that cleanup, session end ends the session's task runs, and each run resets the subagent sessions it opened. eve does not wait for those subagents to stop. A subagent step that is still running at that moment can open the sandbox again after cleanup, and eve does not remove a sandbox created that late.
251
174
 
252
- Changing sandbox source, preparation code, Dockerfile content, environment options, workspace resources, or skills produces a new environment generation. Existing durable sessions retain their recorded sandbox state; new sessions use the current generation.
175
+ Changing sandbox source, preparation code, Dockerfile content, environment options, workspace resources, or skills produces a new environment generation. Existing durable sessions keep their sandbox, because its identity comes from the session key alone; new sessions use the current generation.
253
176
 
254
177
  ## What to read next
255
178
 
179
+ - [Sandbox troubleshooting](/docs/sandbox/troubleshooting) explains common sandbox errors and how to fix them.
256
180
  - [Subagents](/docs/subagents) explains delegation and sandbox ownership.
257
181
  - [Security model](/docs/concepts/security-model) describes the app-runtime and sandbox trust boundary.
258
182
  - [Vercel Sandbox](https://vercel.com/docs/sandbox) documents hosted sandbox behavior.
@@ -21,4 +21,58 @@ When an environment uses just-bash during `eve dev`, eve installs the package in
21
21
 
22
22
  For pnpm projects, automatic installation adds `@mongodb-js/zstd` and `node-liblzma` to `ignoredOptionalDependencies` in the owning `pnpm-workspace.yaml` when they have no explicit package policy. These optional native codecs are not needed for basic shell and filesystem operations. Commands that require those codecs may be unavailable without them. eve preserves existing package-specific build decisions and does not automatically approve build scripts.
23
23
 
24
+ ## Custom commands
25
+
26
+ `customCommands` registers your own functions as commands in each live just-bash shell, where they work in pipelines and redirections. Write a `JustBashCommand` from `eve/sandbox/just-bash`:
27
+
28
+ ```ts
29
+ import { defineSandbox } from "eve/sandbox";
30
+ import { JustBashSandbox, type JustBashCommand } from "eve/sandbox/just-bash";
31
+
32
+ const today: JustBashCommand = {
33
+ name: "today",
34
+ async execute() {
35
+ return { exitCode: 0, stderr: "", stdout: `${new Date().toISOString().slice(0, 10)}\n` };
36
+ },
37
+ };
38
+
39
+ export const environment = JustBashSandbox.environment({ customCommands: [today] });
40
+ export default defineSandbox(() => environment.open());
41
+ ```
42
+
43
+ A `JustBashCommand` receives `cwd`, `env`, `fs`, and `signal` in its context. When a command needs standard input or the rest of just-bash's command context, create it with `defineCommand()` from `just-bash`; `customCommands` accepts the result.
44
+
45
+ Custom commands run as application code in the app runtime process, outside the virtual filesystem. They are not available while eve prepares the template.
46
+
47
+ ## Custom filesystem
48
+
49
+ `filesystem` composes the filesystem of each live sandbox. eve calls it with `defaultFilesystem`, the session's durable filesystem that holds `/workspace`, and `justBash`, the loaded `just-bash` module. Return a `JustBashFilesystem` that keeps `defaultFilesystem` as its base, such as a just-bash `MountableFs`:
50
+
51
+ ```ts
52
+ import { defineSandbox } from "eve/sandbox";
53
+ import { JustBashSandbox } from "eve/sandbox/just-bash";
54
+
55
+ export const environment = JustBashSandbox.environment({
56
+ async filesystem({ defaultFilesystem, justBash, resolveProjectPath }) {
57
+ await defaultFilesystem.mkdir("/reference", { recursive: true });
58
+ return new justBash.MountableFs({
59
+ base: defaultFilesystem,
60
+ mounts: [
61
+ {
62
+ filesystem: new justBash.OverlayFs({
63
+ mountPoint: "/",
64
+ readOnly: true,
65
+ root: resolveProjectPath("reference"),
66
+ }),
67
+ mountPoint: "/reference",
68
+ },
69
+ ],
70
+ });
71
+ },
72
+ });
73
+ export default defineSandbox(() => environment.open());
74
+ ```
75
+
76
+ eve does not call `filesystem` while it prepares the template, so files under a mount are not part of the template.
77
+
24
78
  See the [sandbox overview](/docs/sandbox) for managed workspace, skills, parent inheritance, and custom providers.
@@ -1,5 +1,13 @@
1
1
  {
2
2
  "title": "Sandbox",
3
3
  "defaultOpen": false,
4
- "pages": ["index", "default", "vercel", "docker", "microsandbox", "just-bash"]
4
+ "pages": [
5
+ "index",
6
+ "default",
7
+ "vercel",
8
+ "docker",
9
+ "just-bash",
10
+ "custom-providers",
11
+ "troubleshooting"
12
+ ]
5
13
  }
@@ -0,0 +1,215 @@
1
+ ---
2
+ title: "Sandbox Troubleshooting"
3
+ description: "Causes and fixes for common eve sandbox errors in the sandbox file, after a build, when a session resumes, and during eve dev."
4
+ ---
5
+
6
+ Sections whose heading is in code format start with the beginning of an error message, so you can search this page for the text you see. Most sandbox errors come from one of three mismatches: the sandbox file does not match what eve expects, the build output does not match the runtime, or a session's recorded sandbox does not match the current agent.
7
+
8
+ ## Errors in the sandbox file
9
+
10
+ ### `must export an environment`
11
+
12
+ ```text
13
+ Sandbox "sandbox.ts" must export an environment.
14
+ ```
15
+
16
+ eve compiles the sandbox file during `eve build` and `eve dev`, and it needs the environment as a named `environment` export so it can prepare it before any session exists. Export the environment that the selector opens:
17
+
18
+ ```ts title="agent/sandbox.ts"
19
+ import { DefaultSandbox, defineSandbox } from "eve/sandbox";
20
+
21
+ export const environment = DefaultSandbox.environment();
22
+ export default defineSandbox(() => environment.open());
23
+ ```
24
+
25
+ ### `opened an environment other than the one it exports`
26
+
27
+ ```text
28
+ Sandbox "sandbox.ts" opened an environment other than the one it exports as `environment`.
29
+ ```
30
+
31
+ The selector called `open()` on a different environment object than the exported `environment`. This happens when the selector creates an environment inline, such as `DefaultSandbox.environment().open()`, or imports another sandbox file's environment. Create the environment once at module scope, export it, and call `environment.open()` on that export.
32
+
33
+ ### `can open only one sandbox`
34
+
35
+ ```text
36
+ A sandbox definition can open only one sandbox.
37
+ ```
38
+
39
+ The selector called `environment.open()` more than once. Call `environment.open()` once in the `defineSandbox()` selector and return that sandbox.
40
+
41
+ ### `can only open sandboxes inside defineSandbox()`
42
+
43
+ ```text
44
+ Sandbox environments can only open sandboxes inside defineSandbox().
45
+ ```
46
+
47
+ Code outside the `defineSandbox()` selector called `environment.open()`, for example a tool or a module's top level. Only the selector opens the sandbox. From tools and other runtime code, use `ctx.getSandbox()` to reach the session's sandbox, or `ctx.getSandbox(environment)` to keep the provider-specific session type.
48
+
49
+ ### `selects parent.sandbox but agent node ... has no parent`
50
+
51
+ ```text
52
+ Sandbox "sandbox.ts" selects parent.sandbox but agent node "..." has no parent.
53
+ ```
54
+
55
+ The sandbox file uses `defineParentSandbox()`, but the agent is not a declared subagent, so it has no parent sandbox to share. eve reports this when it loads the agent graph. Only a declared subagent can [share its parent's sandbox](/docs/sandbox#share-a-parent-sandbox). Give this agent its own sandbox file with `defineSandbox()` and an exported environment.
56
+
57
+ ## Errors after a build or deploy
58
+
59
+ Production never prepares sandbox environments. `eve build` prepares them and records one artifact for each agent sandbox, such as a Docker image, a Vercel snapshot, or a just-bash template, and the runtime only uses those recorded artifacts.
60
+
61
+ ### `No prepared ... sandbox environment is recorded`
62
+
63
+ ```text
64
+ No prepared "docker" sandbox environment is recorded for agent node "...".
65
+ ```
66
+
67
+ The deployed build output has no prepared artifact for this agent. This usually means the output came from `eve build --skip-sandbox-prewarm`, which [the CLI reference](/docs/reference/cli) marks as not deployable. Run `eve build` without that flag and deploy its output together with the runtime.
68
+
69
+ ### `The prepared sandbox artifact ... was created with provider`
70
+
71
+ ```text
72
+ The prepared sandbox artifact for agent node "..." was created with provider "vercel", but this process selects provider "docker".
73
+ ```
74
+
75
+ The sandbox file selected one provider when eve prepared the sandbox and a different one in the process that uses it. This happens when the sandbox file chooses a provider by reading the host, for example with `process.env.VERCEL ? VercelSandbox.environment() : DockerSandbox.environment()`, and the build and runtime hosts differ. `DefaultSandbox.environment()` does not cause this, because it [records its choice when it prepares the sandbox](/docs/sandbox/default#the-build-records-the-choice). Select one provider explicitly, or use `DefaultSandbox.environment()`, then rebuild with `eve build`, or restart `eve dev` locally.
76
+
77
+ ### `DefaultSandbox has no sandbox provider for this build`
78
+
79
+ ```text
80
+ DefaultSandbox has no sandbox provider for this build: it did not run on Vercel, no Docker daemon was reachable, and production builds do not fall back to just-bash.
81
+ ```
82
+
83
+ The production `eve build` ran outside Vercel without a reachable Docker daemon, so `DefaultSandbox` recorded no provider, and the first session that opens the sandbox fails. A `RUN eve build` step in a Dockerfile usually has no Docker daemon, even when the running container later mounts `/var/run/docker.sock`. Start Docker and run `eve build` again, deploy to Vercel, or select a provider explicitly in the sandbox file, for example `DockerSandbox.environment()` from `eve/sandbox/docker`. See [How eve selects the provider](/docs/sandbox/default#how-eve-selects-the-provider).
84
+
85
+ ### `Sandbox template ... is not available to this runtime`
86
+
87
+ ```text
88
+ Sandbox template "..." for provider "docker" is not available to this runtime.
89
+ ```
90
+
91
+ The build recorded an artifact, but the provider can no longer use its template. When the provider knows the cause, the message includes it:
92
+
93
+ | Provider | Common cause |
94
+ | --------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
95
+ | Docker | The Docker daemon has no image with that name: it was removed, for example by `docker image prune -a`, or the build used another Docker daemon. |
96
+ | Vercel | The Vercel Sandbox snapshot expired or was deleted. |
97
+ | just-bash | The template directory under `.eve/sandbox-cache/` was deleted, or the build ran on another machine. |
98
+ | Custom | The image, snapshot, or template that the artifact names no longer exists, so the provider threw `SandboxTemplateNotProvisionedError`. |
99
+
100
+ The runtime never recreates a template. Run `eve build` again and deploy its output.
101
+
102
+ ### `Invalid prepared ... artifact`
103
+
104
+ ```text
105
+ Invalid prepared Docker sandbox artifact.
106
+ ```
107
+
108
+ The recorded artifact does not match the format that this eve version expects, usually because the build used a different eve version than the runtime. Run `eve build` with the same eve version that the runtime uses, then redeploy.
109
+
110
+ ## Errors when a session resumes
111
+
112
+ A session records which provider created its sandbox, and later turns resume that sandbox directly without running the selector again.
113
+
114
+ ### `This session's sandbox was created by provider`
115
+
116
+ ```text
117
+ This session's sandbox was created by provider "just-bash", but the agent now selects provider "docker".
118
+ ```
119
+
120
+ eve logs this warning when a session resumes on a build whose sandbox file selects a different provider than the one that created the session's sandbox, for example after you change providers or `DefaultSandbox` records a different choice in a new build. eve cannot move a sandbox between providers, so the session continues in a fresh sandbox from the current provider, without the old sandbox's files. eve does not delete the old sandbox. Remove it with the old provider's tooling, for example `docker rm` for a Docker container. To keep the session's files instead, restore the previous provider before the session resumes.
121
+
122
+ ### `DefaultSandbox selected just-bash, which always allows network access`
123
+
124
+ ```text
125
+ DefaultSandbox selected just-bash, which always allows network access and accepts only the "allow-all" network policy.
126
+ ```
127
+
128
+ The sandbox passed a `networkPolicy` other than `"allow-all"` to `open()`, or called `setNetworkPolicy()`, while `DefaultSandbox` uses just-bash during `eve dev` or `eve eval` because Docker is not reachable. just-bash cannot restrict network access. Start Docker and restart `eve dev` so `DefaultSandbox` selects Docker, or select `VercelSandbox.environment()` or `DockerSandbox.environment()` explicitly.
129
+
130
+ ### `Invalid ... session state`
131
+
132
+ ```text
133
+ Invalid Docker sandbox session state.
134
+ ```
135
+
136
+ The session's recorded sandbox state does not match the format that this eve version expects, usually because the session started under a different eve version. Start a new session to get a fresh sandbox.
137
+
138
+ ## Errors during eve dev
139
+
140
+ During `eve dev`, the first sandbox access prepares every sandbox environment in the current build. See [Prepare a reusable environment](/docs/sandbox#prepare-a-reusable-environment).
141
+
142
+ ### `Timed out after 10 minutes waiting for another request or eve dev worker`
143
+
144
+ ```text
145
+ Timed out after 10 minutes waiting for another request or eve dev worker to prepare sandbox environments (this request needs provider "docker").
146
+ ```
147
+
148
+ Another request or `eve dev` worker is still preparing environments. Check the `eve dev` output, or run `eve logs`, to find the slow step, such as an image pull, a Dockerfile build, or a `prepare` callback. Retry after preparation finishes, or restart `eve dev` to cancel it.
149
+
150
+ ## Custom provider errors
151
+
152
+ These errors come from a provider defined with `defineSandboxProvider()`, or from a keyed tool call on a provider that cannot keep its sandbox. See [Custom sandbox providers](/docs/sandbox/custom-providers).
153
+
154
+ ### `cannot keep a sandbox between invokeTool calls`
155
+
156
+ ```text
157
+ Sandbox provider "acme" cannot keep a sandbox between invokeTool calls, so a call with a key cannot open one.
158
+ ```
159
+
160
+ A keyed `invokeTool` call, such as an MCP tool session, requested the sandbox, and the provider does not keep sandboxes between calls. Call the tool without a key, use Vercel Sandbox or just-bash, or set `toolSessions: true` on a custom provider that bounds how long it keeps those sandboxes. Docker does not support keyed calls. See [Keep sandboxes for keyed tool calls](/docs/sandbox/custom-providers#keep-sandboxes-for-keyed-tool-calls).
161
+
162
+ ### `Sandbox connection extensions cannot replace the session members eve provides`
163
+
164
+ ```text
165
+ Sandbox connection extensions cannot replace the session members eve provides: run. Rename them.
166
+ ```
167
+
168
+ The connection's `extensions` define a member that eve already provides on every sandbox session, such as `run`, `readFile`, `stop`, or `delete`. Rename the extension member.
169
+
170
+ ### `ctx.templateKey() reserves`
171
+
172
+ ```text
173
+ ctx.templateKey() reserves "sourceRevision": eve adds the workspace and skill files and the sandbox source revision itself.
174
+ ```
175
+
176
+ The identity passed to `ctx.templateKey()` in `prepare()` sets `resources` or `sourceRevision`. eve adds both to every template key. Rename that identity field.
177
+
178
+ ### `returned non-serializable session state`
179
+
180
+ ```text
181
+ Sandbox provider "acme" returned non-serializable session state.
182
+ ```
183
+
184
+ `start()` returned state that is not JSON-compatible, such as a class instance, a function, or `undefined`. Return only strings, numbers, booleans, `null`, arrays, and plain objects, and keep live clients in the connection instead.
185
+
186
+ ## Provider setup errors
187
+
188
+ ### Docker is not installed or not running
189
+
190
+ ```text
191
+ The Docker sandbox provider requires Docker, but the `docker` CLI was not found.
192
+ The Docker sandbox provider requires a running Docker daemon, but it is not reachable.
193
+ ```
194
+
195
+ Install and start Docker Desktop, OrbStack, Colima, or another runtime with a Docker-compatible `docker` CLI. To use another compatible CLI, such as Podman, set `EVE_DOCKER_PATH` to its path. If you do not need Docker specifically, use `DefaultSandbox.environment()`, which falls back to just-bash during `eve dev` and `eve eval`.
196
+
197
+ ### The just-bash package is missing
198
+
199
+ ```text
200
+ The just-bash sandbox provider requires the `just-bash` package, which is not bundled with eve.
201
+ ```
202
+
203
+ `eve dev` installs `just-bash` automatically unless the environment sets `autoInstall: false`. Other commands require you to install it. Add it to your application, for example with `pnpm add -D just-bash`, which matches what `eve dev` installs. See [just-bash Sandbox](/docs/sandbox/just-bash#automatic-installation).
204
+
205
+ ### `Cannot build deployable Vercel output because this app requires sandbox templates`
206
+
207
+ ```text
208
+ Cannot build deployable Vercel output because this app requires sandbox templates and VERCEL_OIDC_TOKEN is missing.
209
+ ```
210
+
211
+ eve raises this during a Vercel build, when `VERCEL` is set, if the app needs sandbox templates prepared and `VERCEL_OIDC_TOKEN` is missing. Do not deploy the `.vercel/output` from a build that failed this way. For a local `vercel build`, run `vercel link` and `vercel pull`, then retry. In a build on Vercel, Vercel sets `VERCEL_OIDC_TOKEN` automatically; see [Vercel OIDC federation](https://vercel.com/docs/oidc).
212
+
213
+ ### Vercel Sandbox authentication fails
214
+
215
+ When `eve build` or the runtime cannot create a Vercel Sandbox because of missing or expired credentials, the Vercel Sandbox SDK reports an authentication or OIDC token error. Locally, run `eve link` to link a project and pull `VERCEL_OIDC_TOKEN` into `.env.local`. Outside Vercel without a linked project, set `VERCEL_TOKEN`, `VERCEL_TEAM_ID`, and `VERCEL_PROJECT_ID`. See [Vercel Sandbox authentication](/docs/sandbox/vercel#authentication) for the full resolution order.
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  title: "Vercel Sandbox"
3
- description: "Create snapshot-backed persistent sandboxes on Vercel."
3
+ description: "Create persistent sandboxes on Vercel, from a prepared snapshot when the environment has build-time setup."
4
4
  ---
5
5
 
6
- `VercelSandbox.environment()` prepares a reusable Vercel Sandbox snapshot and creates persistent session sandboxes from its recorded snapshot ID.
6
+ `VercelSandbox.environment()` prepares a reusable Vercel Sandbox snapshot when the environment has build-time setup, and creates persistent session sandboxes from its recorded snapshot ID.
7
7
 
8
8
  ```ts
9
9
  import { defineSandbox } from "eve/sandbox";
@@ -27,12 +27,40 @@ export default defineSandbox(() =>
27
27
  );
28
28
  ```
29
29
 
30
+ ## Authentication
31
+
32
+ eve needs a Vercel token, team ID, and project ID to create Vercel Sandboxes. `eve build` needs them to capture the snapshot, and the runtime needs them to create and resume session sandboxes. Deployments on Vercel provide them automatically.
33
+
34
+ eve resolves each value from the first source that is set:
35
+
36
+ | Value | Sources, in order |
37
+ | ---------- | --------------------------------------------------------------- |
38
+ | Token | `token` environment option, `VERCEL_OIDC_TOKEN`, `VERCEL_TOKEN` |
39
+ | Team ID | `teamId` environment option, `VERCEL_TEAM_ID`, `VERCEL_ORG_ID` |
40
+ | Project ID | `projectId` environment option, `VERCEL_PROJECT_ID` |
41
+
42
+ When all three resolve, eve uses them. Otherwise, eve requests a Vercel OIDC token and reads the team and project from the token. On Vercel, the deployment provides that token. Elsewhere, eve reads `VERCEL_OIDC_TOKEN` and, when it is missing or expired, refreshes it with your Vercel CLI login and the project linked in `.vercel/project.json`. If that also fails, eve falls back to the Vercel Sandbox SDK's own credential lookup, which reports an authentication error if it finds none.
43
+
44
+ For local development, link the app to a Vercel project and pull its environment into `.env.local`:
45
+
46
+ ```bash
47
+ eve link
48
+ ```
49
+
50
+ `vercel link` followed by `vercel env pull` produces the same `.env.local`. A running `eve dev` reloads env files automatically.
51
+
52
+ Outside Vercel and without a linked project, such as in CI or on a self-hosted server, set `VERCEL_TOKEN`, `VERCEL_TEAM_ID`, and `VERCEL_PROJECT_ID`, or pass `token`, `teamId`, and `projectId` to `VercelSandbox.environment()`.
53
+
30
54
  ## Snapshot preparation
31
55
 
32
- eve creates a temporary persistent Vercel Sandbox during build, installs the base runtime, writes managed workspace and skill files, runs the authored `prepare` callback, and captures a snapshot. The build artifact records the snapshot ID.
56
+ eve creates a temporary, non-persistent Vercel Sandbox during build, installs the base runtime, writes managed workspace and skill files, and runs the authored `prepare` callback. It then checks the base runtime again before capturing the snapshot, so a `prepare` callback that breaks it fails the build. The build artifact records the snapshot ID.
33
57
 
34
58
  When a live session sandbox does not exist, eve creates it directly from that snapshot ID. Runtime does not need to look up the temporary template Sandbox.
35
59
 
60
+ When the environment has no `prepare` callback, no managed workspace or skill files, and no `source`, a snapshot would contain only the base runtime. eve skips it: the build records no snapshot ID, and each new session sandbox starts from the image and installs the base runtime itself. A `source` always produces a snapshot, so sessions start from what the build captured instead of fetching the source again.
61
+
62
+ A new session sandbox created from a prepared snapshot of the standard eve image, without Drive mounts, inherits the base runtime the build checked and runs no setup command. Existing or resumed sandboxes, custom images or snapshot sources, sandboxes with Drive mounts, and sandboxes created without a prepared snapshot still run base-runtime setup when eve attaches them.
63
+
36
64
  ## Initialize after open
37
65
 
38
66
  Initialize session-specific state after `open()` and before returning the sandbox. This selector writes a configuration file into the persistent `/workspace` filesystem:
@@ -67,6 +95,8 @@ export default defineSandbox(async () => {
67
95
  });
68
96
  ```
69
97
 
98
+ Relative paths, including a relative `workingDirectory` passed to `run()` or `spawn()`, resolve from `/workspace`.
99
+
70
100
  Use the environment's `prepare` callback for immutable setup that every new session should inherit. Use post-open initialization for state that belongs only to one durable session.
71
101
 
72
102
  ## Network policy
@@ -106,11 +136,16 @@ const sandboxName = sandbox.name;
106
136
 
107
137
  ## Mount a Drive
108
138
 
109
- A [Vercel Sandbox Drive](https://vercel.com/docs/sandbox/concepts/drives) stores files independently of a sandbox. Create or retrieve the Drive before calling `open()`, then pass it in `mounts` under an absolute path:
139
+ A [Vercel Sandbox Drive](https://vercel.com/docs/sandbox/concepts/drives) stores files independently of a sandbox. Install `@vercel/sandbox` in your app, create or retrieve the Drive before calling `open()`, then pass it in `mounts` under an absolute path:
140
+
141
+ ```bash
142
+ pnpm add @vercel/sandbox
143
+ ```
110
144
 
111
145
  ```ts
146
+ import { Drive } from "@vercel/sandbox";
112
147
  import { defineSandbox } from "eve/sandbox";
113
- import { Drive, VercelSandbox } from "eve/sandbox/vercel";
148
+ import { VercelSandbox } from "eve/sandbox/vercel";
114
149
 
115
150
  const REGION = "iad1";
116
151
 
@@ -130,6 +165,8 @@ export default defineSandbox(async () => {
130
165
  });
131
166
  ```
132
167
 
168
+ `Drive.getOrCreate()` comes from your app's own `@vercel/sandbox`, so it resolves credentials through the SDK, not eve: it reads `token`, `teamId`, and `projectId` passed to it, or a Vercel OIDC token, which the SDK refreshes from your Vercel CLI login and linked project. It does not read `VERCEL_TOKEN`, `VERCEL_TEAM_ID`, `VERCEL_PROJECT_ID`, or the credentials passed to `VercelSandbox.environment()`, so outside Vercel without a linked project, pass them to `Drive.getOrCreate()` too.
169
+
133
170
  This example mounts the Drive read-write at `/data`. Files written there remain on the Drive after the sandbox stops. Keep Drive mounts separate from eve's managed `/workspace` directory.
134
171
 
135
172
  Set the same region on the environment and the Drive. The environment region places the prepared snapshot and each session sandbox together with the Drive.
@@ -148,13 +185,17 @@ return environment.open({
148
185
 
149
186
  Before mounting `drive.snapshot()`, seed a new Drive by mounting it read-write and writing at least one file. An uninitialized Drive cannot be mounted as a snapshot.
150
187
 
188
+ Each `mounts` entry is a `Drive`, which mounts read-write, or a `{ drive, mode }` reference to an existing Drive by name, where `mode` is `"read-write"` or `"snapshot"`. `drive.snapshot()` returns such a reference.
189
+
151
190
  Vercel allows up to four non-overlapping, absolute Drive mount paths per sandbox. See the Vercel documentation for [Drive lifecycle, limits, and pricing](https://vercel.com/docs/sandbox/concepts/drives).
152
191
 
153
192
  ## Live sandbox options
154
193
 
155
- `open()` also accepts Vercel compute resources, timeout, and Drive mounts. Configure project credentials and custom fetch behavior on the environment, not in `open()`, because resume does not reconstruct start-only options.
194
+ `open()` also accepts Vercel compute resources, timeout, environment variables, and Drive mounts. These options apply only when creating the sandbox. Reopening the same key or resuming recorded state keeps the native sandbox's original environment variables, mounts, and network policy. Pass `env` to `run()` or `spawn()` for a per-command override, or call `setNetworkPolicy()` to change the live network policy.
195
+
196
+ Configure project credentials and custom fetch behavior on the environment, not in `open()`, because resume does not reconstruct start-only options.
156
197
 
157
- Initialize the returned sandbox directly in `defineSandbox()`. If initialization fails, eve deletes the newly started sandbox and retries the selector on the next access. After initialization succeeds, the provider persists only immutable JSON-compatible state. If the named Vercel Sandbox later disappears, resume fails rather than recreating initialization side effects.
198
+ Initialize the returned sandbox directly in `defineSandbox()`. If initialization fails, eve keeps the sandbox and runs the selector against it again on the next access, so make initialization safe to repeat; session end deletes the sandbox. After initialization succeeds, the provider persists only immutable JSON-compatible state. If the named Vercel Sandbox later disappears, resume does not recreate it; eve reruns the selector to start a fresh sandbox instead.
158
199
 
159
200
  eve owns the persistent sandbox identity and prepared snapshot source.
160
201
 
@@ -7,6 +7,8 @@ A schedule starts the agent on its own clock instead of waiting for an inbound m
7
7
 
8
8
  The name comes from the path under `schedules/` (`agent/schedules/billing/sweep.ts` → `"billing/sweep"`), and nested directories are fine. An extension mount prefixes that name (`extension/schedules/sweep.ts` mounted as `crm` → `"crm__sweep"`) without changing its cron expression.
9
9
 
10
+ For creator-owned schedules created and managed at runtime, see [Experimental dynamic schedules](./experimental/dynamic-schedules). `defineSchedule` remains the fixed, code-authored cron API.
11
+
10
12
  ## `defineSchedule`
11
13
 
12
14
  Every schedule provides a `cron` and exactly one of `markdown` or `run`: