eve 0.63.0 → 0.64.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 (459) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/src/ai/evaluate.js +1 -1
  3. package/dist/src/channel/channel-address.d.ts +4 -1
  4. package/dist/src/channel/channel-address.js +1 -1
  5. package/dist/src/channel/channel-operations.d.ts +4 -1
  6. package/dist/src/channel/cross-channel-receive.d.ts +4 -1
  7. package/dist/src/channel/cross-channel-receive.js +1 -1
  8. package/dist/src/channel/session.d.ts +3 -1
  9. package/dist/src/channel/session.js +1 -1
  10. package/dist/src/channel/types.d.ts +7 -0
  11. package/dist/src/chunks/{use-eve-agent-C5-yqRuq.js → use-eve-agent-BdKlQF32.js} +8 -8
  12. package/dist/src/chunks/{use-eve-agent-CVWk5KKy.js → use-eve-agent-IIuxkn6y.js} +8 -8
  13. package/dist/src/cli/commands/build.js +1 -1
  14. package/dist/src/cli/commands/init-agent-workspace.d.ts +2 -0
  15. package/dist/src/cli/commands/init.js +1 -1
  16. package/dist/src/cli/dev/tui/line-editor.d.ts +11 -1
  17. package/dist/src/cli/dev/tui/line-editor.js +3 -3
  18. package/dist/src/cli/dev/tui/model-picker.d.ts +2 -0
  19. package/dist/src/cli/dev/tui/model-picker.js +1 -1
  20. package/dist/src/cli/dev/tui/setup-panel.js +1 -1
  21. package/dist/src/cli/dev/tui/setup-selection-input.js +1 -1
  22. package/dist/src/cli/dev/tui/stream-format.d.ts +6 -0
  23. package/dist/src/cli/dev/tui/stream-format.js +2 -2
  24. package/dist/src/cli/dev/tui/terminal-renderer.js +12 -12
  25. package/dist/src/cli/run.js +1 -1
  26. package/dist/src/client/agent-info-schema.d.ts +8 -14
  27. package/dist/src/client/agent-info-schema.js +1 -1
  28. package/dist/src/client/eve-agent-store.js +1 -1
  29. package/dist/src/client/session.js +1 -1
  30. package/dist/src/client/types.d.ts +4 -2
  31. package/dist/src/compiled/.vendor-stamp.json +11 -11
  32. package/dist/src/compiled/@chat-adapter/slack/_chat-adapter-shared.d.ts +1 -0
  33. package/dist/src/compiled/@chat-adapter/slack/api.d.ts +3 -2
  34. package/dist/src/compiled/@chat-adapter/slack/api.js +1 -1
  35. package/dist/src/compiled/@chat-adapter/slack/blocks.js +1 -1
  36. package/dist/src/compiled/@chat-adapter/slack/format.js +1 -1
  37. package/dist/src/compiled/@chat-adapter/slack/index.d.ts +410 -63
  38. package/dist/src/compiled/@chat-adapter/slack/index.js +47 -25
  39. package/dist/src/compiled/@chat-adapter/twilio/api.d.ts +5 -1
  40. package/dist/src/compiled/@chat-adapter/twilio/api.js +1 -1
  41. package/dist/src/compiled/@chat-adapter/twilio/index.d.ts +37 -3
  42. package/dist/src/compiled/@chat-adapter/twilio/index.js +5 -1
  43. package/dist/src/compiled/@chat-adapter/twilio/webhook.d.ts +2 -2
  44. package/dist/src/compiled/@chat-adapter/twilio/webhook.js +1 -1
  45. package/dist/src/compiled/@linqapp/chat-sdk-adapter/index.js +6 -6
  46. package/dist/src/compiled/@photon-ai/chat-adapter-imessage/index.js +50 -50
  47. package/dist/src/compiled/@vercel/sandbox/index.js +4 -4
  48. package/dist/src/compiled/@workflow/core/attribute-changes.d.ts +2 -1
  49. package/dist/src/compiled/@workflow/core/events-consumer.d.ts +6 -3
  50. package/dist/src/compiled/@workflow/core/index.js +2 -2
  51. package/dist/src/compiled/@workflow/core/private.d.ts +37 -5
  52. package/dist/src/compiled/@workflow/core/private.js +1 -1
  53. package/dist/src/compiled/@workflow/core/runtime/deployment-guard.d.ts +2 -1
  54. package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
  55. package/dist/src/compiled/@workflow/core/runtime/invocations.d.ts +35 -0
  56. package/dist/src/compiled/@workflow/core/runtime/lifecycle-hooks.d.ts +90 -0
  57. package/dist/src/compiled/@workflow/core/runtime/quickjs-runtime.d.ts +2 -1
  58. package/dist/src/compiled/@workflow/core/runtime/resume-hook.d.ts +8 -6
  59. package/dist/src/compiled/@workflow/core/runtime/step-single-flight.d.ts +1 -1
  60. package/dist/src/compiled/@workflow/core/runtime.js +4 -4
  61. package/dist/src/compiled/@workflow/core/serialization.d.ts +5 -1
  62. package/dist/src/compiled/@workflow/core/serialization.js +1 -1
  63. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  64. package/dist/src/compiled/@workflow/core/workflow/set-attributes.d.ts +4 -0
  65. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  66. package/dist/src/compiled/@workflow/world/analytics.d.ts +1 -1
  67. package/dist/src/compiled/@workflow/world/attributes-validation.d.ts +5 -0
  68. package/dist/src/compiled/@workflow/world/events.d.ts +2 -2
  69. package/dist/src/compiled/@workflow/world/index.d.ts +2 -1
  70. package/dist/src/compiled/@workflow/world/interfaces.d.ts +12 -1
  71. package/dist/src/compiled/@workflow/world/invocation.d.ts +19 -0
  72. package/dist/src/compiled/@workflow/world/queue.d.ts +24 -3
  73. package/dist/src/compiled/@workflow/world-local/index.js +3 -3
  74. package/dist/src/compiled/@workflow/world-vercel/index.js +16 -16
  75. package/dist/src/compiled/_chunks/node/chunk-6QHBXN7B-gl4n6nmi.js +12 -0
  76. package/dist/src/compiled/_chunks/node/chunk-7WDLOIRP-B_IWkVtZ.js +1 -0
  77. package/dist/src/compiled/_chunks/node/chunk-KBOOTKHF-DJqFk2r1.js +1 -0
  78. package/dist/src/compiled/_chunks/node/chunk-TREVQR3E-CLsTAn-O.js +1 -0
  79. package/dist/src/compiled/_chunks/node/dist-DYDVZ-FS.js +98 -0
  80. package/dist/src/compiled/_chunks/node/dist-iEFkK9qw.js +6 -0
  81. package/dist/src/compiled/_chunks/workflow/attribute-changes-DFx4eluc.js +6 -0
  82. package/dist/src/compiled/_chunks/workflow/{dist-D38gP7YF.js → dist-DjECvUyK.js} +1 -1
  83. package/dist/src/compiled/_chunks/workflow/{frames-QcJfYHmh.js → frames-D_Q-7A1N.js} +2 -2
  84. package/dist/src/compiled/_chunks/workflow/{helpers-6kObVbfS.js → helpers-Bw52uyzw.js} +1 -1
  85. package/dist/src/compiled/_chunks/workflow/{logger-NN5YHpYy.js → logger-DFNCa8Nl.js} +1 -1
  86. package/dist/src/compiled/_chunks/workflow/resume-hook-BhA_nDEV.js +1 -0
  87. package/dist/src/compiled/_chunks/workflow/{run-DJevv8zz.js → run-BT6SQv5f.js} +1 -1
  88. package/dist/src/compiled/_chunks/workflow/{serialization-C5KgPESk.js → serialization-Cl0SYU0I.js} +3 -3
  89. package/dist/src/compiled/_chunks/workflow/sleep-DB4AH9-A.js +1 -0
  90. package/dist/src/compiled/_chunks/workflow/{wait-until-BMY_tOr-.js → wait-until-Dzhr6tzf.js} +1 -1
  91. package/dist/src/compiled/_chunks/workflow/{ws-transport-DSDcKH08.js → ws-transport-BpTMh40s.js} +1 -1
  92. package/dist/src/compiled/chat/index.d.ts +1 -725
  93. package/dist/src/compiled/chat/index.js +1 -1
  94. package/dist/src/compiler/artifacts.d.ts +1 -0
  95. package/dist/src/compiler/artifacts.js +1 -1
  96. package/dist/src/compiler/extension-compatibility.d.ts +23 -15
  97. package/dist/src/compiler/extension-compatibility.js +1 -1
  98. package/dist/src/compiler/manifest.d.ts +14 -18
  99. package/dist/src/compiler/manifest.js +1 -1
  100. package/dist/src/compiler/normalize-helpers.js +1 -1
  101. package/dist/src/compiler/normalize-sandbox.d.ts +2 -7
  102. package/dist/src/compiler/normalize-sandbox.js +1 -1
  103. package/dist/src/compiler/workspace-resources.js +1 -1
  104. package/dist/src/context/build-callback-context.d.ts +2 -0
  105. package/dist/src/context/build-callback-context.js +1 -1
  106. package/dist/src/context/container.d.ts +1 -1
  107. package/dist/src/context/container.js +1 -1
  108. package/dist/src/context/key-names.d.ts +1 -0
  109. package/dist/src/context/key-names.js +1 -1
  110. package/dist/src/context/keys.d.ts +7 -2
  111. package/dist/src/context/keys.js +1 -1
  112. package/dist/src/context/providers/sandbox.js +1 -1
  113. package/dist/src/context/providers/session.d.ts +19 -2
  114. package/dist/src/context/session-context.d.ts +1 -1
  115. package/dist/src/discover/sandbox.js +1 -1
  116. package/dist/src/evals/cli/eval.js +1 -1
  117. package/dist/src/evals/context.d.ts +1 -0
  118. package/dist/src/evals/context.js +1 -1
  119. package/dist/src/evals/define-eval-config.d.ts +7 -7
  120. package/dist/src/evals/define-eval-config.js +1 -1
  121. package/dist/src/evals/define-eval.d.ts +5 -2
  122. package/dist/src/evals/index.d.ts +1 -1
  123. package/dist/src/evals/runner/execute-eval.d.ts +2 -0
  124. package/dist/src/evals/runner/execute-eval.js +1 -1
  125. package/dist/src/evals/runner/execute-task.d.ts +2 -0
  126. package/dist/src/evals/runner/execute-task.js +1 -1
  127. package/dist/src/evals/runner/run-evals.d.ts +2 -0
  128. package/dist/src/evals/runner/run-evals.js +1 -1
  129. package/dist/src/evals/target.js +1 -1
  130. package/dist/src/evals/types.d.ts +22 -6
  131. package/dist/src/eve-channel/create-request.d.ts +2 -1
  132. package/dist/src/eve-channel/delivery-policy-request.d.ts +4 -0
  133. package/dist/src/eve-channel/delivery-policy-request.js +1 -0
  134. package/dist/src/eve-channel/index.js +1 -1
  135. package/dist/src/eve-channel/request.d.ts +2 -1
  136. package/dist/src/eve-channel/request.js +1 -1
  137. package/dist/src/execution/coordination-dispatch-shared.d.ts +2 -1
  138. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  139. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  140. package/dist/src/execution/runtime-context.js +1 -1
  141. package/dist/src/execution/sandbox/active-handles.d.ts +7 -8
  142. package/dist/src/execution/sandbox/active-handles.js +1 -1
  143. package/dist/src/execution/sandbox/bash.js +1 -1
  144. package/dist/src/execution/sandbox/bindings/docker-cli.d.ts +1 -1
  145. package/dist/src/execution/sandbox/bindings/docker-cli.js +1 -1
  146. package/dist/src/execution/sandbox/bindings/docker-container.d.ts +2 -2
  147. package/dist/src/execution/sandbox/bindings/docker-container.js +1 -1
  148. package/dist/src/execution/sandbox/bindings/docker-network.d.ts +1 -1
  149. package/dist/src/execution/sandbox/bindings/docker-network.js +1 -1
  150. package/dist/src/execution/sandbox/bindings/docker-options.d.ts +4 -5
  151. package/dist/src/execution/sandbox/bindings/docker-options.js +1 -1
  152. package/dist/src/execution/sandbox/bindings/docker-session.d.ts +0 -1
  153. package/dist/src/execution/sandbox/bindings/docker-session.js +2 -2
  154. package/dist/src/execution/sandbox/bindings/docker.d.ts +16 -18
  155. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  156. package/dist/src/execution/sandbox/bindings/immutable-resources.d.ts +21 -0
  157. package/dist/src/execution/sandbox/bindings/immutable-resources.js +2 -0
  158. package/dist/src/execution/sandbox/bindings/just-bash-runtime.d.ts +9 -5
  159. package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
  160. package/dist/src/execution/sandbox/bindings/just-bash.d.ts +13 -26
  161. package/dist/src/execution/sandbox/bindings/just-bash.js +1 -1
  162. package/dist/src/execution/sandbox/bindings/{local-backend-utils.d.ts → local-provider-utils.d.ts} +7 -5
  163. package/dist/src/execution/sandbox/bindings/local-provider-utils.js +1 -0
  164. package/dist/src/execution/sandbox/bindings/local.d.ts +3 -3
  165. package/dist/src/execution/sandbox/bindings/local.js +1 -1
  166. package/dist/src/execution/sandbox/bindings/microsandbox-create.js +1 -1
  167. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +30 -8
  168. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.js +1 -1
  169. package/dist/src/execution/sandbox/bindings/microsandbox-metadata.d.ts +9 -1
  170. package/dist/src/execution/sandbox/bindings/microsandbox-metadata.js +1 -1
  171. package/dist/src/execution/sandbox/bindings/microsandbox-network.js +1 -1
  172. package/dist/src/execution/sandbox/bindings/microsandbox-options.d.ts +10 -4
  173. package/dist/src/execution/sandbox/bindings/microsandbox-options.js +1 -1
  174. package/dist/src/execution/sandbox/bindings/microsandbox-platform.js +1 -1
  175. package/dist/src/execution/sandbox/bindings/microsandbox-runtime.d.ts +7 -5
  176. package/dist/src/execution/sandbox/bindings/microsandbox-runtime.js +1 -1
  177. package/dist/src/execution/sandbox/bindings/microsandbox-templates.js +1 -1
  178. package/dist/src/execution/sandbox/bindings/microsandbox.d.ts +11 -21
  179. package/dist/src/execution/sandbox/bindings/microsandbox.js +1 -1
  180. package/dist/src/execution/sandbox/bindings/vercel-base-runtime.js +2 -2
  181. package/dist/src/execution/sandbox/bindings/vercel-credentials.js +1 -1
  182. package/dist/src/execution/sandbox/bindings/vercel-errors.js +1 -1
  183. package/dist/src/execution/sandbox/bindings/vercel-lifecycle.d.ts +2 -2
  184. package/dist/src/execution/sandbox/bindings/vercel-lifecycle.js +1 -1
  185. package/dist/src/execution/sandbox/bindings/vercel-lookup.js +1 -1
  186. package/dist/src/execution/sandbox/bindings/vercel-options.d.ts +1 -2
  187. package/dist/src/execution/sandbox/bindings/vercel-options.js +1 -1
  188. package/dist/src/execution/sandbox/bindings/vercel.d.ts +20 -12
  189. package/dist/src/execution/sandbox/bindings/vercel.js +2 -2
  190. package/dist/src/execution/sandbox/development-cleanup.js +1 -1
  191. package/dist/src/execution/sandbox/development-prewarm.d.ts +5 -0
  192. package/dist/src/execution/sandbox/development-prewarm.js +1 -1
  193. package/dist/src/execution/sandbox/development-run.d.ts +2 -3
  194. package/dist/src/execution/sandbox/dockerfile.d.ts +25 -0
  195. package/dist/src/execution/sandbox/dockerfile.js +1 -0
  196. package/dist/src/execution/sandbox/ensure.d.ts +0 -17
  197. package/dist/src/execution/sandbox/ensure.js +1 -1
  198. package/dist/src/execution/sandbox/logging-session.js +1 -1
  199. package/dist/src/execution/sandbox/prewarm.d.ts +23 -27
  200. package/dist/src/execution/sandbox/prewarm.js +1 -2
  201. package/dist/src/execution/sandbox/provider-files.d.ts +2 -0
  202. package/dist/src/execution/sandbox/provider-files.js +1 -0
  203. package/dist/src/execution/sandbox/provider-host-development.d.ts +2 -0
  204. package/dist/src/execution/sandbox/provider-host-development.js +1 -0
  205. package/dist/src/execution/sandbox/provider-host.d.ts +2 -0
  206. package/dist/src/execution/sandbox/provider-host.js +1 -0
  207. package/dist/src/execution/sandbox/provider-identity.d.ts +1 -0
  208. package/dist/src/execution/sandbox/provider-identity.js +1 -0
  209. package/dist/src/execution/sandbox/ripgrep-probe.d.ts +0 -7
  210. package/dist/src/execution/sandbox/ripgrep-probe.js +1 -1
  211. package/dist/src/execution/sandbox/session.d.ts +8 -8
  212. package/dist/src/execution/sandbox/session.js +1 -1
  213. package/dist/src/execution/session/handoff-steps.js +1 -1
  214. package/dist/src/execution/session/handoff.d.ts +1 -1
  215. package/dist/src/execution/session/handoff.js +1 -1
  216. package/dist/src/execution/session/input-queue.d.ts +2 -1
  217. package/dist/src/execution/session/input-queue.js +1 -1
  218. package/dist/src/execution/session/next-input.js +1 -1
  219. package/dist/src/execution/session/program.js +1 -1
  220. package/dist/src/execution/session/turn-step.js +1 -1
  221. package/dist/src/execution/session-inbox/protocol.js +1 -1
  222. package/dist/src/execution/tasks/parent/tool-execution.js +1 -1
  223. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  224. package/dist/src/execution/tools/sleep-workflow.js +1 -1
  225. package/dist/src/execution/tools/subagent/emit-event-step.js +1 -1
  226. package/dist/src/execution/tools/subagent/invoke-preparation.js +1 -1
  227. package/dist/src/execution/tools/subagent/start.d.ts +1 -0
  228. package/dist/src/framework/sources/modules/sandbox.d.ts +2 -1
  229. package/dist/src/framework/sources/modules/sandbox.js +1 -1
  230. package/dist/src/harness/approval-delivery-coordinator.js +1 -1
  231. package/dist/src/harness/hitl/approval-input-requests.d.ts +1 -1
  232. package/dist/src/harness/hitl/approval-input-requests.js +1 -1
  233. package/dist/src/harness/input-requests.d.ts +6 -0
  234. package/dist/src/harness/input-requests.js +1 -1
  235. package/dist/src/harness/messages.d.ts +2 -1
  236. package/dist/src/harness/messages.js +1 -1
  237. package/dist/src/harness/pending-input-batches.d.ts +1 -0
  238. package/dist/src/harness/pending-input-batches.js +1 -1
  239. package/dist/src/harness/tool-loop.js +2 -2
  240. package/dist/src/instrumentation/ai-sdk-warnings.d.ts +6 -0
  241. package/dist/src/instrumentation/ai-sdk-warnings.js +1 -0
  242. package/dist/src/instrumentation/runtime.d.ts +1 -0
  243. package/dist/src/instrumentation/runtime.js +1 -1
  244. package/dist/src/internal/application/compiled-artifacts.d.ts +2 -0
  245. package/dist/src/internal/application/compiled-artifacts.js +2 -2
  246. package/dist/src/internal/application/package.js +1 -1
  247. package/dist/src/internal/nitro/host/artifacts-config.d.ts +6 -1
  248. package/dist/src/internal/nitro/host/artifacts-config.js +1 -1
  249. package/dist/src/internal/nitro/host/build-application.js +1 -1
  250. package/dist/src/internal/nitro/host/compiled-sandbox-provider-prune-plugin.d.ts +16 -0
  251. package/dist/src/internal/nitro/host/compiled-sandbox-provider-prune-plugin.js +5 -0
  252. package/dist/src/internal/nitro/host/configure-nitro-routes.js +2 -2
  253. package/dist/src/internal/nitro/host/create-application-nitro.d.ts +3 -3
  254. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  255. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.js +1 -1
  256. package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
  257. package/dist/src/internal/nitro/host/prepare-application-host.d.ts +1 -0
  258. package/dist/src/internal/nitro/host/prepare-application-host.js +1 -1
  259. package/dist/src/internal/nitro/host/sandbox-shutdown-plugin.js +1 -1
  260. package/dist/src/internal/nitro/host/start-development-server.js +2 -2
  261. package/dist/src/internal/nitro/host/start-production-server.js +2 -2
  262. package/dist/src/internal/nitro/host/types.d.ts +1 -1
  263. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  264. package/dist/src/internal/nitro/routes/runtime-artifacts.d.ts +1 -0
  265. package/dist/src/internal/nitro/routes/runtime-artifacts.js +1 -1
  266. package/dist/src/internal/runtime-registry.d.ts +2 -2
  267. package/dist/src/internal/vercel/build-agent-workspace.d.ts +3 -1
  268. package/dist/src/internal/vercel/build-agent-workspace.js +1 -1
  269. package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +4 -5
  270. package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +2 -2
  271. package/dist/src/public/channels/github/checkout.js +1 -1
  272. package/dist/src/public/channels/index.d.ts +1 -1
  273. package/dist/src/public/channels/slack/slackChannel.d.ts +3 -1
  274. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  275. package/dist/src/public/definitions/channel.d.ts +1 -1
  276. package/dist/src/public/definitions/sandbox.d.ts +5 -43
  277. package/dist/src/public/definitions/sandbox.js +1 -1
  278. package/dist/src/public/local-dev.d.ts +4 -5
  279. package/dist/src/public/sandbox/docker-sandbox.d.ts +16 -40
  280. package/dist/src/public/sandbox/docker.d.ts +2 -2
  281. package/dist/src/public/sandbox/docker.js +1 -1
  282. package/dist/src/public/sandbox/index.d.ts +4 -9
  283. package/dist/src/public/sandbox/index.js +1 -1
  284. package/dist/src/public/sandbox/just-bash-sandbox.d.ts +11 -6
  285. package/dist/src/public/sandbox/just-bash.d.ts +2 -2
  286. package/dist/src/public/sandbox/just-bash.js +1 -1
  287. package/dist/src/public/sandbox/microsandbox-sandbox.d.ts +11 -17
  288. package/dist/src/public/sandbox/microsandbox.d.ts +2 -2
  289. package/dist/src/public/sandbox/microsandbox.js +1 -1
  290. package/dist/src/public/sandbox/provider.d.ts +1 -0
  291. package/dist/src/public/sandbox/provider.js +1 -0
  292. package/dist/src/public/sandbox/vercel-sandbox.d.ts +10 -41
  293. package/dist/src/public/sandbox/vercel.d.ts +2 -2
  294. package/dist/src/public/sandbox/vercel.js +1 -1
  295. package/dist/src/runtime/cache-key.js +1 -1
  296. package/dist/src/runtime/compiled-artifacts-source.d.ts +6 -1
  297. package/dist/src/runtime/compiled-artifacts-source.js +1 -1
  298. package/dist/src/runtime/loaders/artifact-paths.d.ts +1 -0
  299. package/dist/src/runtime/loaders/artifact-paths.js +1 -1
  300. package/dist/src/runtime/loaders/bundled-artifacts.d.ts +3 -0
  301. package/dist/src/runtime/loaders/bundled-artifacts.js +1 -1
  302. package/dist/src/runtime/loaders/compile-metadata.js +1 -1
  303. package/dist/src/runtime/loaders/manifest.js +1 -1
  304. package/dist/src/runtime/loaders/module-map.js +1 -1
  305. package/dist/src/runtime/local-dev-capability.d.ts +14 -12
  306. package/dist/src/runtime/local-dev-capability.js +1 -1
  307. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  308. package/dist/src/runtime/resolve-sandbox.d.ts +1 -10
  309. package/dist/src/runtime/resolve-sandbox.js +1 -1
  310. package/dist/src/runtime/sandbox/prepared-artifacts.d.ts +13 -0
  311. package/dist/src/runtime/sandbox/prepared-artifacts.js +1 -0
  312. package/dist/src/runtime/sandbox/registry.d.ts +2 -9
  313. package/dist/src/runtime/sandbox/registry.js +1 -1
  314. package/dist/src/runtime/sessions/runtime-session.js +1 -1
  315. package/dist/src/runtime/types.d.ts +13 -26
  316. package/dist/src/runtime/workspace/types.d.ts +1 -1
  317. package/dist/src/sandbox/providers/default.d.ts +27 -0
  318. package/dist/src/sandbox/providers/default.js +1 -0
  319. package/dist/src/sandbox/providers/docker.d.ts +11 -0
  320. package/dist/src/sandbox/providers/docker.js +1 -0
  321. package/dist/src/sandbox/providers/just-bash.d.ts +4 -0
  322. package/dist/src/sandbox/providers/just-bash.js +1 -0
  323. package/dist/src/sandbox/providers/microsandbox.d.ts +12 -0
  324. package/dist/src/sandbox/providers/microsandbox.js +1 -0
  325. package/dist/src/sandbox/providers/vercel.d.ts +12 -0
  326. package/dist/src/sandbox/providers/vercel.js +1 -0
  327. package/dist/src/sandbox/providers.d.ts +5 -0
  328. package/dist/src/sandbox/providers.js +1 -0
  329. package/dist/src/sandbox/state.d.ts +6 -25
  330. package/dist/src/self-modification/extension/subagents/agent/agent.d.ts +1 -1
  331. package/dist/src/self-modification/extension/subagents/agent/agent.js +1 -1
  332. package/dist/src/self-modification/extension/subagents/agent/sandbox.d.ts +2 -25
  333. package/dist/src/self-modification/extension/subagents/agent/sandbox.js +1 -1
  334. package/dist/src/self-modification/extension/subagents/agent/tools/publish.js +1 -1
  335. package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.js +1 -1
  336. package/dist/src/self-modification/filesystem.d.ts +3 -1
  337. package/dist/src/self-modification/filesystem.js +1 -1
  338. package/dist/src/self-modification/git-workspace.d.ts +1 -1
  339. package/dist/src/self-modification/git.d.ts +1 -1
  340. package/dist/src/self-modification/sandbox.d.ts +14 -9
  341. package/dist/src/self-modification/sandbox.js +1 -1
  342. package/dist/src/setup/boxes/select-model.js +1 -1
  343. package/dist/src/setup/cli/select-state.d.ts +4 -2
  344. package/dist/src/setup/cli/select-state.js +1 -1
  345. package/dist/src/setup/flows/model-login.js +1 -1
  346. package/dist/src/setup/primitives/pm/pnpm.js +3 -2
  347. package/dist/src/setup/scaffold/create/project.js +1 -1
  348. package/dist/src/shared/default-agent-model.d.ts +1 -1
  349. package/dist/src/shared/default-agent-model.js +1 -1
  350. package/dist/src/shared/sandbox-environment.d.ts +45 -0
  351. package/dist/src/shared/sandbox-environment.js +1 -0
  352. package/dist/src/shared/sandbox-network-policy.d.ts +8 -3
  353. package/dist/src/shared/sandbox-network-policy.js +1 -1
  354. package/dist/src/shared/sandbox-prepared-artifacts.d.ts +16 -0
  355. package/dist/src/shared/sandbox-prepared-artifacts.js +1 -0
  356. package/dist/src/shared/sandbox-provider.d.ts +110 -0
  357. package/dist/src/shared/sandbox-provider.js +1 -0
  358. package/dist/src/shared/sandbox-session.d.ts +18 -41
  359. package/dist/src/shared/sandbox-template-error.d.ts +9 -0
  360. package/dist/src/shared/sandbox-template-error.js +1 -0
  361. package/dist/src/subagents/tool.d.ts +1 -1
  362. package/dist/src/subagents/tool.js +1 -1
  363. package/dist/src/svelte/index.js +1 -1
  364. package/dist/src/svelte/use-eve-agent.js +1 -1
  365. package/dist/src/tasks/delivery-context.d.ts +6 -4
  366. package/dist/src/tasks/delivery-context.js +1 -1
  367. package/dist/src/tasks/delivery-policy.d.ts +2 -0
  368. package/dist/src/tasks/delivery-policy.js +1 -1
  369. package/dist/src/tools/framework/agent-contract.js +1 -1
  370. package/dist/src/vue/index.js +1 -1
  371. package/dist/src/vue/use-eve-agent.js +1 -1
  372. package/docs/README.md +40 -45
  373. package/docs/agent-config.md +2 -2
  374. package/docs/channels/eve.mdx +1 -1
  375. package/docs/channels/overview.mdx +48 -0
  376. package/docs/concepts/execution-model-and-durability.mdx +1 -1
  377. package/docs/concepts/sessions-runs-and-streaming.md +3 -3
  378. package/docs/dynamic-configuration/meta.json +5 -0
  379. package/docs/evals/overview.mdx +43 -0
  380. package/docs/getting-started.mdx +1 -1
  381. package/docs/guides/client/overview.mdx +1 -1
  382. package/docs/guides/deployment/overview.md +1 -1
  383. package/docs/guides/deployment/self-hosting.md +5 -5
  384. package/docs/guides/deployment/vercel.mdx +10 -12
  385. package/docs/guides/dev-tui.md +1 -1
  386. package/docs/guides/hooks.md +4 -0
  387. package/docs/memory/meta.json +1 -1
  388. package/docs/memory/overview.mdx +4 -0
  389. package/docs/meta.json +13 -16
  390. package/docs/patterns/meta.json +2 -2
  391. package/docs/protocols/acp.md +1 -1
  392. package/docs/protocols/ucp.mdx +1 -1
  393. package/docs/reference/cli.md +10 -9
  394. package/docs/reference/meta.json +4 -1
  395. package/docs/reference/typescript-api.md +1 -24
  396. package/docs/sandbox/default.mdx +17 -0
  397. package/docs/sandbox/docker.mdx +29 -0
  398. package/docs/sandbox/index.mdx +216 -0
  399. package/docs/sandbox/just-bash.mdx +18 -0
  400. package/docs/sandbox/meta.json +5 -0
  401. package/docs/sandbox/microsandbox.mdx +31 -0
  402. package/docs/sandbox/vercel.mdx +106 -0
  403. package/docs/schedules.mdx +35 -1
  404. package/docs/subagents/index.mdx +31 -13
  405. package/docs/subagents/meta.json +1 -1
  406. package/docs/tools/overview.mdx +14 -6
  407. package/docs/tutorial/run-analysis.mdx +6 -5
  408. package/package.json +20 -11
  409. package/dist/src/compiled/_chunks/node/chunk-5OX2R7AJ-CxVV-owP.js +0 -1
  410. package/dist/src/compiled/_chunks/node/chunk-AYN7QRWH-B__hKQV7.js +0 -1
  411. package/dist/src/compiled/_chunks/node/chunk-QZV7YRVM-Dzw4WEBv.js +0 -1
  412. package/dist/src/compiled/_chunks/node/dist-CweJdVFE.js +0 -6
  413. package/dist/src/compiled/_chunks/node/dist-Da54NuK8.js +0 -96
  414. package/dist/src/compiled/_chunks/workflow/attribute-changes-A6HfMNG3.js +0 -6
  415. package/dist/src/compiled/_chunks/workflow/resume-hook-CAqlhwic.js +0 -1
  416. package/dist/src/compiled/_chunks/workflow/sleep-CbUwdv6O.js +0 -1
  417. package/dist/src/compiled/chat/_mdast.d.ts +0 -24
  418. package/dist/src/compiled/chat/_workflow-serde.d.ts +0 -3
  419. package/dist/src/compiled/chat/jsx-runtime-_JEEAotp.d.ts +0 -907
  420. package/dist/src/execution/sandbox/bindings/local-backend-utils.js +0 -1
  421. package/dist/src/execution/sandbox/lazy-backend.d.ts +0 -15
  422. package/dist/src/execution/sandbox/lazy-backend.js +0 -1
  423. package/dist/src/execution/sandbox/template-prewarm-lock.d.ts +0 -8
  424. package/dist/src/execution/sandbox/template-prewarm-lock.js +0 -1
  425. package/dist/src/internal/authored-definition/sandbox.d.ts +0 -17
  426. package/dist/src/internal/authored-definition/sandbox.js +0 -1
  427. package/dist/src/internal/nitro/host/compiled-sandbox-backend-prune-plugin.d.ts +0 -16
  428. package/dist/src/internal/nitro/host/compiled-sandbox-backend-prune-plugin.js +0 -2
  429. package/dist/src/public/definitions/sandbox-backend.d.ts +0 -17
  430. package/dist/src/public/definitions/sandbox-backend.js +0 -1
  431. package/dist/src/public/sandbox/backends/default.d.ts +0 -1
  432. package/dist/src/public/sandbox/backends/default.js +0 -1
  433. package/dist/src/public/sandbox/backends/docker.d.ts +0 -1
  434. package/dist/src/public/sandbox/backends/docker.js +0 -1
  435. package/dist/src/public/sandbox/backends/just-bash.d.ts +0 -1
  436. package/dist/src/public/sandbox/backends/just-bash.js +0 -1
  437. package/dist/src/public/sandbox/backends/microsandbox.d.ts +0 -1
  438. package/dist/src/public/sandbox/backends/microsandbox.js +0 -1
  439. package/dist/src/public/sandbox/backends/vercel.d.ts +0 -1
  440. package/dist/src/public/sandbox/backends/vercel.js +0 -1
  441. package/dist/src/runtime/sandbox/keys.d.ts +0 -42
  442. package/dist/src/runtime/sandbox/keys.js +0 -1
  443. package/dist/src/runtime/sandbox/template-plan.d.ts +0 -24
  444. package/dist/src/runtime/sandbox/template-plan.js +0 -1
  445. package/dist/src/sandbox/backends/default.d.ts +0 -42
  446. package/dist/src/sandbox/backends/default.js +0 -1
  447. package/dist/src/sandbox/backends/docker.d.ts +0 -14
  448. package/dist/src/sandbox/backends/docker.js +0 -1
  449. package/dist/src/sandbox/backends/just-bash.d.ts +0 -17
  450. package/dist/src/sandbox/backends/just-bash.js +0 -1
  451. package/dist/src/sandbox/backends/microsandbox.d.ts +0 -17
  452. package/dist/src/sandbox/backends/microsandbox.js +0 -1
  453. package/dist/src/sandbox/backends/vercel.d.ts +0 -30
  454. package/dist/src/sandbox/backends/vercel.js +0 -1
  455. package/dist/src/shared/sandbox-backend.d.ts +0 -176
  456. package/dist/src/shared/sandbox-backend.js +0 -1
  457. package/dist/src/shared/sandbox-definition.d.ts +0 -112
  458. package/dist/src/shared/sandbox-definition.js +0 -1
  459. package/docs/sandbox.mdx +0 -342
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  title: "Self-Host eve"
3
- description: "Run an eve agent as a Node service with your own workflow storage, sandbox backend, and routing."
3
+ description: "Run an eve agent as a Node service with your own workflow storage, sandbox provider, and routing."
4
4
  ---
5
5
 
6
6
  Self-host eve when you operate a Node service, container platform, or reverse proxy. You run eve’s Nitro server and choose the infrastructure that stores workflows and executes sandbox sessions.
@@ -46,11 +46,11 @@ The package must export a default factory or `createWorld()` function. Read cred
46
46
 
47
47
  See [Workflow Worlds](https://workflow-sdk.dev/worlds) for the underlying Workflow software development kit (SDK) abstraction.
48
48
 
49
- ## Select a sandbox backend
49
+ ## Select a sandbox provider
50
50
 
51
- `defaultBackend()` selects a local sandbox backend in availability order. You can instead select Docker, microsandbox, or a custom `SandboxBackend` adapter for your container, virtual machine, or isolation service.
51
+ The default sandbox environment selects Docker, microsandbox, or just-bash according to local availability. You can select one explicitly or implement a custom provider with `defineSandboxProvider()` for your container, virtual machine, or isolation service.
52
52
 
53
- Don’t select `vercel()` unless the self-hosted process should create hosted Vercel sandboxes. See [Sandbox](../../sandbox) for backend configuration and selection order.
53
+ Don’t select `VercelSandbox.environment()` unless the self-hosted process should create hosted Vercel sandboxes. See [Sandbox](../../sandbox) for provider configuration and selection order.
54
54
 
55
55
  ## Configure proxy routes
56
56
 
@@ -125,4 +125,4 @@ Use these guides to secure and observe the deployed agent:
125
125
 
126
126
  - [Authentication](../auth-and-route-protection): configure the host’s route policy
127
127
  - [Instrumentation](../../observability/instrumentation): export traces and diagnose runtime failures
128
- - [Sandbox](../../sandbox): select and secure a sandbox backend
128
+ - [Sandbox](../../sandbox): select and secure a sandbox provider
@@ -27,26 +27,24 @@ A string model ID routes requests through the [Vercel AI Gateway](https://vercel
27
27
 
28
28
  Add credentials for direct model providers, tools, and connections to the Vercel project environment. Add any signing keys or passwords required by your [route authentication policy](../auth-and-route-protection). Replace `placeholderAuth()` before a browser sends a production request.
29
29
 
30
- ## Select the sandbox backend
30
+ ## Select the sandbox environment
31
31
 
32
- Leave the sandbox `backend` unset to use `defaultBackend()`. On Vercel, it selects Vercel Sandbox. You can also select the backend explicitly:
32
+ The default environment selects Vercel Sandbox on Vercel. To select it explicitly:
33
33
 
34
34
  ```typescript
35
35
  import { defineSandbox } from "eve/sandbox";
36
- import { vercel } from "eve/sandbox/vercel";
36
+ import { VercelSandbox } from "eve/sandbox/vercel";
37
37
 
38
- export default defineSandbox({
39
- backend: vercel(),
40
- });
38
+ export const environment = VercelSandbox.environment();
39
+ export default defineSandbox(() => environment.open());
41
40
  ```
42
41
 
43
- See [Sandbox](../../sandbox) for resource limits, network policy, and lifecycle hooks.
42
+ See [Sandbox](../../sandbox) for preparation, resource limits, network policy, and lifecycle.
44
43
 
45
44
  <Callout type="info" title="Sandbox prewarming">
46
- During a Vercel build, eve automatically creates or reuses a sandbox template when your sandbox
47
- has `bootstrap()` or seed files. The build needs permission to create Vercel Sandbox templates,
48
- and a prewarm failure stops the deployment. See the [sandbox lifecycle](../../sandbox#lifecycle)
49
- for template and session setup.
45
+ During a Vercel build, eve creates or reuses a snapshot-backed template when an environment uses
46
+ `VercelSandbox.environment({prepare})` or has seed files. A prewarm failure stops the deployment.
47
+ See the [sandbox lifecycle](../../sandbox#lifecycle).
50
48
  </Callout>
51
49
 
52
50
  ## Deploy the agent
@@ -137,7 +135,7 @@ Vercel uses the generated output to configure these services:
137
135
  - **Web runtime**: serves health, session, stream, channel, callback, and schedule routes
138
136
  - **Vercel Workflow**: persists and resumes durable runs, with optimistic replay preconditions enabled so stale event-log snapshots reload before they can commit
139
137
  - **Vercel Cron**: invokes authored schedules
140
- - **Vercel Sandbox**: runs sandbox sessions selected by `defaultBackend()`
138
+ - **Vercel Sandbox**: runs sandbox sessions selected by the default sandbox environment
141
139
 
142
140
  ## Verify the deployment
143
141
 
@@ -71,7 +71,7 @@ Changes apply together after the final choice, then the picker returns to chat.
71
71
 
72
72
  A successful login or model change takes effect on the next prompt.
73
73
 
74
- OpenAI, ChatGPT, and Gateway connections default to `gpt-5.6-luna-fast`; Anthropic defaults to `claude-sonnet-5`. An explicitly authored compatible model stays selected. If a new default is unavailable, eve offers the connection's available models. Dynamic or custom model expressions must be edited in `agent.ts`.
74
+ Gateway connections default to `spacexai/grok-4.7`; OpenAI and ChatGPT default to `gpt-5.6-luna-fast`; Anthropic defaults to `claude-sonnet-5`. An explicitly authored compatible model stays selected. If a new default is unavailable, eve offers the connection's available models. Dynamic or custom model expressions must be edited in `agent.ts`.
75
75
 
76
76
  ## Add an integration
77
77
 
@@ -86,6 +86,10 @@ handle can also automatically resume on later I/O. A hook failure, including a
86
86
  failed stop, follows the normal
87
87
  [hook failure behavior](#what-happens-when-a-hook-throws).
88
88
 
89
+ For `subagent.called` and `subagent.completed`, `ctx.session.id` identifies the
90
+ parent session. Typed handlers and `*` handlers receive this context even when
91
+ the subagent event arrives between parent turns.
92
+
89
93
  ### Narrowing tool results
90
94
 
91
95
  `toolResultFrom` narrows an `action.result` event to a specific authored tool or MCP connection and returns typed output. Import it from `eve/tools`:
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "title": "Memory",
3
3
  "defaultOpen": false,
4
- "pages": ["overview", "file", "custom-provider"]
4
+ "pages": ["overview", "file", "../patterns/multi-tenant-memory", "custom-provider"]
5
5
  }
@@ -28,6 +28,10 @@ caller using the built-in file provider. Swap `provider` for
28
28
  [Supermemory](#supermemory), [Upstash AgentKit](#upstash-agentkit), or your own
29
29
  implementation and the rest of the definition stays the same.
30
30
 
31
+ For an application with multiple tenants, follow the
32
+ [Multi-tenant memory](/docs/patterns/multi-tenant-memory) guide to scope memory
33
+ by authenticated tenant and caller.
34
+
31
35
  ## How a memory slot works
32
36
 
33
37
  A memory slot is the unit eve manages. Each slot binds one provider to an
package/docs/meta.json CHANGED
@@ -2,40 +2,37 @@
2
2
  "pages": [
3
3
  "---Introduction---",
4
4
  "getting-started",
5
+ "tutorial",
5
6
  "concepts",
6
7
  "---Build---",
7
8
  "agent-config",
8
9
  "instructions",
10
+ "skills",
11
+ "sandbox",
12
+ "schedules",
13
+ "guides/hooks",
9
14
  "memory",
10
15
  "tools",
11
16
  "connections",
12
17
  "channels",
13
- "skills",
14
- "sandbox",
15
18
  "subagents",
16
- "evals",
17
- "guides/session-context",
18
- "schedules",
19
- "guides/hooks",
20
- "guides/dynamic-capabilities",
19
+ "dynamic-configuration",
21
20
  "---Integrate---",
22
21
  "install-integrations",
23
22
  "extensions",
24
- "guides/evaluate",
25
- "guides/remote-agents",
26
- "protocols",
27
- "guides/frontend",
23
+ "protocols/acp",
28
24
  "guides/client",
25
+ "guides/frontend",
29
26
  "---Operate---",
30
- "guides/deployment",
31
27
  "guides/auth-and-route-protection",
28
+ "guides/deployment",
29
+ "evals",
32
30
  "guides/instrumentation",
33
- "guides/dev-tui",
34
31
  "---Reference---",
35
- "tutorial",
36
- "patterns",
32
+ "guides/dev-tui",
37
33
  "...reference",
38
34
  "responsible-use",
39
- "[Benchmarks](/benchmarks)"
35
+ "[Benchmarks](/benchmarks)",
36
+ "patterns"
40
37
  ]
41
38
  }
@@ -2,10 +2,10 @@
2
2
  "title": "Patterns",
3
3
  "defaultOpen": false,
4
4
  "pages": [
5
- "multi-tenant-memory",
6
5
  "dynamic-scheduling",
7
6
  "durable-cross-channel-notifications",
8
7
  "multi-tenant-auth",
9
- "multi-tenant-approvals"
8
+ "multi-tenant-approvals",
9
+ "../protocols/ucp"
10
10
  ]
11
11
  }
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Agent Client Protocol (ACP)"
2
+ title: "Editor Integration (ACP)"
3
3
  description: "Use local or deployed eve agents from Agent Client Protocol clients."
4
4
  ---
5
5
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Universal Commerce Protocol (UCP)"
2
+ title: "Serve a UCP Profile"
3
3
  description: "Serve a UCP profile at /.well-known/ucp from a custom eve channel."
4
4
  ---
5
5
 
@@ -42,7 +42,7 @@ eve collects CLI telemetry by default to improve the command-line interface. Run
42
42
  ## `eve init`
43
43
 
44
44
  ```bash
45
- eve init [target] [--model <provider/model-id>] [--reasoning <effort>] [--channel-web-nextjs]
45
+ eve init [target] [--model <provider/model-id>] [--reasoning <effort>] [--channel-web-nextjs] [--non-interactive]
46
46
  ```
47
47
 
48
48
  Creates a new agent app or adds an agent to an existing app. Always installs dependencies. New directories also initialize Git.
@@ -57,13 +57,14 @@ Creates a new agent app or adds an agent to an existing app. Always installs dep
57
57
 
58
58
  Existing packages do not need a target-selection prompt: run `eve init` from the project directory or `eve init path/to/app`. New projects in non-interactive environments need a new directory name, such as `eve init my-agent`.
59
59
 
60
- After scaffolding in an interactive human terminal, eve opens the TUI directly. Noninteractive and coding-agent invocations return without starting an interactive session. Fresh projects use the parent workspace's package manager when there is one; otherwise they use the manager that launched `eve init`.
60
+ After scaffolding in an interactive human terminal, eve opens the TUI directly. Pass `-n` or `--non-interactive` to return after scaffolding instead. It still installs dependencies and follows the normal Git setup behavior. Noninteractive and coding-agent invocations return without starting an interactive session. Fresh projects use the parent workspace's package manager when there is one; otherwise they use the manager that launched `eve init`.
61
61
 
62
- | Flag | Type | Default | Description |
63
- | ---------------------- | ------ | -------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
64
- | `--model <model>` | string | `openai/gpt-5.6-luna-fast` | Set the root agent's AI Gateway model ID. |
65
- | `--reasoning <effort>` | enum | provider default | Set reasoning to `none`, `minimal`, `low`, `medium`, `high`, or `xhigh`. `provider-default` leaves the field unauthored. |
66
- | `--channel-web-nextjs` | flag | off | Add the Web Chat app (Next.js). Not for existing projects — run `eve add channel/web` there instead. |
62
+ | Flag | Type | Default | Description |
63
+ | ----------------------- | ------ | -------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
64
+ | `--model <model>` | string | `openai/gpt-5.6-luna-fast` | Set the root agent's AI Gateway model ID. |
65
+ | `--reasoning <effort>` | enum | provider default | Set reasoning to `none`, `minimal`, `low`, `medium`, `high`, or `xhigh`. `provider-default` leaves the field unauthored. |
66
+ | `--channel-web-nextjs` | flag | off | Add the Web Chat app (Next.js). Not for existing projects — run `eve add channel/web` there instead. |
67
+ | `-n, --non-interactive` | flag | off | Scaffold and install dependencies without starting development. |
67
68
 
68
69
  ## `eve extension`
69
70
 
@@ -160,7 +161,7 @@ Run this first when something behaves unexpectedly. It confirms a file was disco
160
161
  eve build [--profile <path>] [--skip-sandbox-prewarm]
161
162
  ```
162
163
 
163
- Compiles and bundles in an invocation-owned directory under `.eve/builds/`, then publishes the completed host output and prints its path. Scratch workspaces are removed after success or failure.
164
+ Compiles and bundles in an invocation-owned directory under `.eve/builds/`, prepares sandbox artifacts, then publishes the completed host output and prints its path. Scratch workspaces are removed after success or failure. Pass `--skip-sandbox-prewarm` when you only need compiled output, such as before a separate typecheck. Skipping preparation can produce output that cannot start its configured sandbox, so do not deploy that output.
164
165
 
165
166
  Authored bundles preserve custom Node.js resolution conditions supplied through `--conditions`,
166
167
  `-C`, or `NODE_OPTIONS`. For example, `NODE_OPTIONS="--conditions=react-server" eve build`
@@ -169,7 +170,7 @@ keeps a channel's `server-only` imports on the same export used during compilati
169
170
  | Flag | Type | Default | Description |
170
171
  | ------------------------ | ------ | ------- | --------------------------------------------------------------------------------------------- |
171
172
  | `--profile <path>` | string | off | Best-effort versioned JSON report with build-phase timings and final output-size measurements |
172
- | `--skip-sandbox-prewarm` | flag | off | Skip sandbox template prewarm for a Vercel build; the output might not be deployable |
173
+ | `--skip-sandbox-prewarm` | flag | off | Skip sandbox preparation; the output might not be deployable |
173
174
 
174
175
  Use a profile file to establish a repeatable baseline before changing the build pipeline:
175
176
 
@@ -1 +1,4 @@
1
- { "title": "Reference", "pages": ["agent-files", "typescript-api", "cli", "telemetry"] }
1
+ {
2
+ "title": "Reference",
3
+ "pages": ["cli", "typescript-api", "../guides/session-context", "agent-files", "telemetry"]
4
+ }
@@ -136,7 +136,7 @@ Tool definitions accept `availableInSubagents: false` to restrict the tool to to
136
136
  | `eve/memory/file` | `fileMemory`, `inMemory`, and the conditional document backend contract |
137
137
  | `eve/memory/file/vercel` | `vercelBlob` and Vercel Blob backend options |
138
138
  | `eve/context` | `defineState`, session and state types |
139
- | `eve/sandbox` | `defineSandbox`, backends |
139
+ | `eve/sandbox` | `defineSandbox`, provider environments, and sandbox session types |
140
140
  | `eve/instrumentation` | `defineInstrumentation`, `disableInstrumentation`, `isChannel`, lifecycle provider types |
141
141
  | `eve/instrumentation/otel` | `otel`, `otelIntegration`, `localTraces`, `agentRuns`, OpenTelemetry policy types |
142
142
  | `eve/local-dev` | `getLocalDevCapability`, `LocalDevCapability` |
@@ -154,29 +154,6 @@ Tool definitions accept `availableInSubagents: false` to restrict the tool to to
154
154
 
155
155
  Exported types ship from the same entrypoint as the helper they describe (for example `ToolDefinition` and `ToolContext` from `eve/tools`). The `exports` field in `packages/eve/package.json` lists every public entrypoint.
156
156
 
157
- ## Local development capability
158
-
159
- Use `getLocalDevCapability()` when an authored tool needs to modify the local application's source tree during an interactive development turn:
160
-
161
- ```ts
162
- import { getLocalDevCapability } from "eve/local-dev";
163
-
164
- const localDev = getLocalDevCapability();
165
- if (localDev === undefined) {
166
- throw new Error("This tool is available only from a local eve dev client.");
167
- }
168
-
169
- await localDev.withSuspendedSource(async () => {
170
- // Write under localDev.appRoot here.
171
- });
172
- ```
173
-
174
- The function returns `LocalDevCapability | undefined`. It returns a capability only while authored code handles a request from a client on the same machine as the `eve dev` server. Deployed runtimes and clients attached over the network receive `undefined`, even when the target is another development server. A local TUI that attaches to an existing headless server receives the capability because availability follows each request rather than the process that started the server.
175
-
176
- `appRoot` is the authored application directory containing `package.json` and `agent/`, not the temporary runtime snapshot. `interactiveClient` is `true` when the requesting local client is the dev TUI; check it before starting a flow that requires terminal interaction.
177
-
178
- Run source mutations inside `withSuspendedSource()`. It acquires a unique watcher lease, waits for your asynchronous callback to settle, and then releases the lease. Concurrent or nested calls cannot resume each other early, and releasing the final lease rebuilds the runtime artifacts. The callback's return value is returned, and its error is rethrown after release. If suspension cannot be acquired, the callback does not run. If the host cannot confirm release after a retry, the method throws an actionable error; restart `eve dev` before making more source changes.
179
-
180
157
  ## Direct provider models
181
158
 
182
159
  `openai(model?)` from `eve/models/openai` and `anthropic(model?)` from `eve/models/anthropic` return eve-owned model instances using the vendored providers. They accept only an optional model ID. Defaults are `gpt-5.6-luna-fast` and `claude-sonnet-5`, respectively.
@@ -0,0 +1,17 @@
1
+ ---
2
+ title: "Default Sandbox"
3
+ description: "Let eve select the sandbox provider for the current environment."
4
+ ---
5
+
6
+ `DefaultSandbox.environment()` preserves eve's standard behavior without exposing provider-specific live creation options.
7
+
8
+ ```ts
9
+ import { DefaultSandbox, defineSandbox } from "eve/sandbox";
10
+
11
+ export const environment = DefaultSandbox.environment();
12
+ export default defineSandbox(() => environment.open());
13
+ ```
14
+
15
+ On Vercel, it selects [Vercel Sandbox](/docs/sandbox/vercel). Elsewhere, it tries [Docker](/docs/sandbox/docker), [microsandbox](/docs/sandbox/microsandbox), and [just-bash](/docs/sandbox/just-bash), in that order, according to host support.
16
+
17
+ Use a provider directly when you need its image, VM, network, compute, or mount options.
@@ -0,0 +1,29 @@
1
+ ---
2
+ title: "Docker Sandbox"
3
+ description: "Create local persistent containers from an image or Dockerfile."
4
+ ---
5
+
6
+ Docker environments can use eve's default image, an existing OCI image, or `agent/sandbox/Dockerfile`.
7
+
8
+ ```ts
9
+ import { defineSandbox } from "eve/sandbox";
10
+ import { DockerSandbox } from "eve/sandbox/docker";
11
+
12
+ export const environment = DockerSandbox.image("ghcr.io/acme/agent@sha256:...");
13
+
14
+ export default defineSandbox(() => environment.open({ networkPolicy: "deny-all" }));
15
+ ```
16
+
17
+ Use `DockerSandbox.environment()` for the default image or `DockerSandbox.dockerfile()` for the colocated Dockerfile convention.
18
+
19
+ ## Environment options
20
+
21
+ Image, pull policy, environment variables, and `prepare` belong to the reusable environment. During preparation, eve starts a temporary container, hydrates managed resources, runs authored preparation, and commits the result as the recorded template image.
22
+
23
+ ## Live container options
24
+
25
+ Pass `networkPolicy` to `open()`. Docker supports only `"allow-all"` and `"deny-all"`. The policy applies to the live container, not the prepared image.
26
+
27
+ A session-owned container keeps writable `/workspace` state in its container filesystem. A stopped container restarts with that state.
28
+
29
+ See the [sandbox overview](/docs/sandbox) for managed workspace, skills, parent inheritance, and custom providers.
@@ -0,0 +1,216 @@
1
+ ---
2
+ title: "Sandbox"
3
+ description: "Configure the isolated filesystem and command environment used by an eve agent."
4
+ ---
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.
7
+
8
+ ## Use the sandbox
9
+
10
+ Authored tools and callbacks access the live sandbox with `ctx.getSandbox()`:
11
+
12
+ ```ts title="agent/tools/run_analysis.ts"
13
+ import { defineTool } from "eve/tools";
14
+ import { z } from "zod";
15
+
16
+ export default defineTool({
17
+ description: "Run a Python script.",
18
+ inputSchema: z.object({ script: z.string() }),
19
+ async execute({ script }, ctx) {
20
+ const sandbox = await ctx.getSandbox();
21
+ await sandbox.writeTextFile({ path: "analysis.py", content: script });
22
+ const result = await sandbox.run({ command: "python analysis.py" });
23
+ if (result.exitCode !== 0) throw new Error(result.stderr);
24
+ return result.stdout;
25
+ },
26
+ });
27
+ ```
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.
30
+
31
+ ## Define an environment
32
+
33
+ A sandbox module exports an environment and returns a sandbox from `defineSandbox()`:
34
+
35
+ ```ts title="agent/sandbox.ts"
36
+ import { DefaultSandbox, defineSandbox } from "eve/sandbox";
37
+
38
+ export const environment = DefaultSandbox.environment();
39
+ export default defineSandbox(() => environment.open());
40
+ ```
41
+
42
+ `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()`.
43
+
44
+ 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:
45
+
46
+ ```ts
47
+ import { defineSandbox } from "eve/sandbox";
48
+ import { VercelSandbox } from "eve/sandbox/vercel";
49
+
50
+ export const environment = VercelSandbox.environment();
51
+
52
+ export default defineSandbox(async ({ session }) => {
53
+ const sandbox = await environment.open({ networkPolicy: "deny-all" });
54
+ await sandbox.writeTextFile({ path: ".eve/session", content: session.id });
55
+ return sandbox;
56
+ });
57
+ ```
58
+
59
+ The environment export is required because `eve build` prepares immutable environment inputs before a session exists.
60
+
61
+ ### Prepare a reusable environment
62
+
63
+ Use the environment's `prepare` option for setup every new sandbox inherits:
64
+
65
+ ```ts
66
+ import { defineSandbox } from "eve/sandbox";
67
+ import { VercelSandbox } from "eve/sandbox/vercel";
68
+
69
+ export const environment = VercelSandbox.environment({
70
+ prepare: async (sandbox) => {
71
+ const result = await sandbox.run({
72
+ command: "sudo apt-get update && sudo apt-get install -y jq",
73
+ });
74
+ if (result.exitCode !== 0) throw new Error(result.stderr);
75
+ },
76
+ });
77
+
78
+ export default defineSandbox(() => environment.open());
79
+ ```
80
+
81
+ 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.
82
+
83
+ At runtime, eve passes the recorded artifact directly to the provider when it creates a live sandbox. Runtime does not rebuild or repair a missing artifact. A missing image, snapshot, or template fails with rebuild or redeploy guidance.
84
+
85
+ ### Reuse native resources across sessions
86
+
87
+ 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.
88
+
89
+ ### Share a parent sandbox
90
+
91
+ A declared subagent can use its dispatching parent's sandbox explicitly:
92
+
93
+ ```ts title="agent/subagents/reviewer/sandbox.ts"
94
+ import { defineParentSandbox } from "eve/sandbox";
95
+
96
+ export default defineParentSandbox();
97
+ ```
98
+
99
+ An inheriting subagent cannot declare its own managed workspace or skill files.
100
+
101
+ ## Managed workspace and skills
102
+
103
+ Use the sandbox directory for authored workspace seeds:
104
+
105
+ ```text
106
+ agent/sandbox/
107
+ sandbox.ts
108
+ workspace/
109
+ schema.sql
110
+ ```
111
+
112
+ 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.
113
+
114
+ 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.
115
+
116
+ Providers receive both trees with explicit metadata:
117
+
118
+ ```ts
119
+ interface SandboxProviderResources {
120
+ source:
121
+ | { kind: "none" }
122
+ | { kind: "inline"; key: string }
123
+ | { kind: "materialized"; key: string; path: string }
124
+ | { kind: "reference"; key: string };
125
+ workspace?: SandboxProviderResourceTree;
126
+ skills?: SandboxProviderResourceTree;
127
+ }
128
+
129
+ interface SandboxProviderResourceTree {
130
+ key: string;
131
+ files: ResourceFile[];
132
+ mountPath: string;
133
+ targetPath: string;
134
+ }
135
+ ```
136
+
137
+ 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.
138
+
139
+ ## Custom providers
140
+
141
+ 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:
142
+
143
+ ```ts
144
+ import type { SandboxSession } from "eve/sandbox";
145
+ import { defineSandboxProvider } from "eve/sandbox/provider";
146
+
147
+ export const AcmeSandbox = defineSandboxProvider<
148
+ { image: string; prepare?: (sandbox: SandboxSession) => Promise<void> },
149
+ { networkPolicy?: "allow-all" | "deny-all" },
150
+ { templateId: string },
151
+ { remoteId: string; version: 1 },
152
+ SandboxSession
153
+ >({
154
+ name: "acme",
155
+ environment(options) {
156
+ const client = createAcmeClient(options);
157
+
158
+ return {
159
+ async prepare(ctx) {
160
+ const temporary = await client.createTemporary({
161
+ files: await ctx.files.list(),
162
+ resources: ctx.resources,
163
+ });
164
+ const sandbox = adaptAcmeSandbox(temporary);
165
+ await options?.prepare?.(sandbox);
166
+ return { templateId: (await temporary.capture()).id };
167
+ },
168
+
169
+ async start(ctx, liveOptions, artifact) {
170
+ const remote = await client.open({
171
+ identity: sessionIdentity(ctx.session.id, artifact, liveOptions),
172
+ networkPolicy: liveOptions?.networkPolicy,
173
+ templateId: artifact.templateId,
174
+ });
175
+ return {
176
+ handle: createHandle(remote),
177
+ state: { remoteId: remote.id, version: 1 },
178
+ };
179
+ },
180
+
181
+ async resume(_ctx, artifact, state) {
182
+ const remote = await client.resume({ id: state.remoteId, templateId: artifact.templateId });
183
+ return createHandle(remote);
184
+ },
185
+ };
186
+ },
187
+ });
188
+ ```
189
+
190
+ `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. Provider handles implement `onSessionStop()`, `onRuntimeShutdown()`, and `onSessionDelete()`.
191
+
192
+ 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()`.
193
+
194
+ 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.
195
+
196
+ ## Providers
197
+
198
+ | Provider | Use it for |
199
+ | ------------------------------------------ | --------------------------------------------------------------------------------------- |
200
+ | [Default](/docs/sandbox/default) | Automatic provider selection with eve's standard behavior. |
201
+ | [Vercel](/docs/sandbox/vercel) | Snapshot-backed persistent Vercel Sandboxes, domain network policies, and Drive mounts. |
202
+ | [Docker](/docs/sandbox/docker) | Local containers from the default image, an existing OCI image, or a Dockerfile. |
203
+ | [microsandbox](/docs/sandbox/microsandbox) | Local lightweight VMs from an OCI image or Dockerfile. |
204
+ | [just-bash](/docs/sandbox/just-bash) | A pure-JavaScript shell and virtual filesystem without native process isolation. |
205
+
206
+ ## Lifecycle
207
+
208
+ 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.
209
+
210
+ 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.
211
+
212
+ ## What to read next
213
+
214
+ - [Subagents](/docs/subagents) explains delegation and sandbox ownership.
215
+ - [Security model](/docs/concepts/security-model) describes the app-runtime and sandbox trust boundary.
216
+ - [Vercel Sandbox](https://vercel.com/docs/sandbox) documents hosted sandbox behavior.
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: "just-bash Sandbox"
3
+ description: "Use a pure-JavaScript shell and virtual filesystem."
4
+ ---
5
+
6
+ `JustBashSandbox.environment()` provides a shell and filesystem without starting a container or VM.
7
+
8
+ ```ts
9
+ import { defineSandbox } from "eve/sandbox";
10
+ import { JustBashSandbox } from "eve/sandbox/just-bash";
11
+
12
+ export const environment = JustBashSandbox.environment();
13
+ export default defineSandbox(() => environment.open());
14
+ ```
15
+
16
+ just-bash can prepare and persist its virtual filesystem. It cannot use OCI images or Dockerfiles, does not run native processes, and provides no network isolation. The session does not expose `setNetworkPolicy()`.
17
+
18
+ See the [sandbox overview](/docs/sandbox) for managed workspace, skills, parent inheritance, and custom providers.
@@ -0,0 +1,5 @@
1
+ {
2
+ "title": "Sandbox",
3
+ "defaultOpen": false,
4
+ "pages": ["index", "default", "vercel", "docker", "microsandbox", "just-bash"]
5
+ }
@@ -0,0 +1,31 @@
1
+ ---
2
+ title: "microsandbox"
3
+ description: "Create local lightweight VMs from an OCI image or Dockerfile."
4
+ ---
5
+
6
+ microsandbox environments use eve's default image, an existing OCI image, or `agent/sandbox/Dockerfile`.
7
+
8
+ ```ts
9
+ import { defineSandbox } from "eve/sandbox";
10
+ import { MicrosandboxSandbox } from "eve/sandbox/microsandbox";
11
+
12
+ export const environment = MicrosandboxSandbox.dockerfile({
13
+ setup: { autoInstall: false },
14
+ });
15
+
16
+ export default defineSandbox(() => environment.open({ networkPolicy: "deny-all" }));
17
+ ```
18
+
19
+ Supported hosts are macOS on Apple Silicon and Linux with glibc and KVM.
20
+
21
+ ## Environment options
22
+
23
+ Image, CPU, memory, pull policy, environment variables, VM setup, and `prepare` belong to the reusable environment. `eve build` builds a Dockerfile image when present, prepares a VM, and records its snapshot and image references.
24
+
25
+ ## Live VM options
26
+
27
+ Pass `networkPolicy` to `open()`. The policy applies to the live VM, not the prepared snapshot. microsandbox accepts domain policies and credential transforms.
28
+
29
+ Session creation uses the recorded snapshot and image directly. Writable VM state persists through the provider's session snapshot lifecycle.
30
+
31
+ See the [sandbox overview](/docs/sandbox) for managed workspace, skills, parent inheritance, and custom providers.