eve 0.63.0 → 0.64.1

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 (485) hide show
  1. package/CHANGELOG.md +44 -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/commands/registry-pnpm-build-policy-flow.d.ts +1 -1
  17. package/dist/src/cli/commands/registry-pnpm-build-policy-flow.js +1 -1
  18. package/dist/src/cli/dev/tui/line-editor.d.ts +11 -1
  19. package/dist/src/cli/dev/tui/line-editor.js +3 -3
  20. package/dist/src/cli/dev/tui/model-picker.d.ts +2 -0
  21. package/dist/src/cli/dev/tui/model-picker.js +1 -1
  22. package/dist/src/cli/dev/tui/runner.d.ts +0 -1
  23. package/dist/src/cli/dev/tui/runner.js +2 -2
  24. package/dist/src/cli/dev/tui/setup-panel.js +1 -1
  25. package/dist/src/cli/dev/tui/setup-selection-input.js +1 -1
  26. package/dist/src/cli/dev/tui/stream-format.d.ts +6 -0
  27. package/dist/src/cli/dev/tui/stream-format.js +2 -2
  28. package/dist/src/cli/dev/tui/terminal-renderer.d.ts +0 -1
  29. package/dist/src/cli/dev/tui/terminal-renderer.js +12 -12
  30. package/dist/src/cli/run.js +1 -1
  31. package/dist/src/client/agent-info-schema.d.ts +8 -14
  32. package/dist/src/client/agent-info-schema.js +1 -1
  33. package/dist/src/client/eve-agent-store.js +1 -1
  34. package/dist/src/client/session.js +1 -1
  35. package/dist/src/client/types.d.ts +4 -2
  36. package/dist/src/compiled/.vendor-stamp.json +11 -11
  37. package/dist/src/compiled/@chat-adapter/slack/_chat-adapter-shared.d.ts +1 -0
  38. package/dist/src/compiled/@chat-adapter/slack/api.d.ts +3 -2
  39. package/dist/src/compiled/@chat-adapter/slack/api.js +1 -1
  40. package/dist/src/compiled/@chat-adapter/slack/blocks.js +1 -1
  41. package/dist/src/compiled/@chat-adapter/slack/format.js +1 -1
  42. package/dist/src/compiled/@chat-adapter/slack/index.d.ts +410 -63
  43. package/dist/src/compiled/@chat-adapter/slack/index.js +47 -25
  44. package/dist/src/compiled/@chat-adapter/twilio/api.d.ts +5 -1
  45. package/dist/src/compiled/@chat-adapter/twilio/api.js +1 -1
  46. package/dist/src/compiled/@chat-adapter/twilio/index.d.ts +37 -3
  47. package/dist/src/compiled/@chat-adapter/twilio/index.js +5 -1
  48. package/dist/src/compiled/@chat-adapter/twilio/webhook.d.ts +2 -2
  49. package/dist/src/compiled/@chat-adapter/twilio/webhook.js +1 -1
  50. package/dist/src/compiled/@linqapp/chat-sdk-adapter/index.js +6 -6
  51. package/dist/src/compiled/@photon-ai/chat-adapter-imessage/index.js +50 -50
  52. package/dist/src/compiled/@vercel/sandbox/index.js +4 -4
  53. package/dist/src/compiled/@workflow/core/attribute-changes.d.ts +2 -1
  54. package/dist/src/compiled/@workflow/core/events-consumer.d.ts +6 -3
  55. package/dist/src/compiled/@workflow/core/index.js +2 -2
  56. package/dist/src/compiled/@workflow/core/private.d.ts +37 -5
  57. package/dist/src/compiled/@workflow/core/private.js +1 -1
  58. package/dist/src/compiled/@workflow/core/runtime/deployment-guard.d.ts +2 -1
  59. package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -1
  60. package/dist/src/compiled/@workflow/core/runtime/invocations.d.ts +35 -0
  61. package/dist/src/compiled/@workflow/core/runtime/lifecycle-hooks.d.ts +90 -0
  62. package/dist/src/compiled/@workflow/core/runtime/quickjs-runtime.d.ts +2 -1
  63. package/dist/src/compiled/@workflow/core/runtime/resume-hook.d.ts +8 -6
  64. package/dist/src/compiled/@workflow/core/runtime/step-single-flight.d.ts +1 -1
  65. package/dist/src/compiled/@workflow/core/runtime.js +4 -4
  66. package/dist/src/compiled/@workflow/core/serialization.d.ts +5 -1
  67. package/dist/src/compiled/@workflow/core/serialization.js +1 -1
  68. package/dist/src/compiled/@workflow/core/version.d.ts +1 -1
  69. package/dist/src/compiled/@workflow/core/workflow/set-attributes.d.ts +4 -0
  70. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  71. package/dist/src/compiled/@workflow/world/analytics.d.ts +1 -1
  72. package/dist/src/compiled/@workflow/world/attributes-validation.d.ts +5 -0
  73. package/dist/src/compiled/@workflow/world/events.d.ts +2 -2
  74. package/dist/src/compiled/@workflow/world/index.d.ts +2 -1
  75. package/dist/src/compiled/@workflow/world/interfaces.d.ts +12 -1
  76. package/dist/src/compiled/@workflow/world/invocation.d.ts +19 -0
  77. package/dist/src/compiled/@workflow/world/queue.d.ts +24 -3
  78. package/dist/src/compiled/@workflow/world-local/index.js +3 -3
  79. package/dist/src/compiled/@workflow/world-vercel/index.js +16 -16
  80. package/dist/src/compiled/_chunks/node/chunk-6QHBXN7B-gl4n6nmi.js +12 -0
  81. package/dist/src/compiled/_chunks/node/chunk-7WDLOIRP-B_IWkVtZ.js +1 -0
  82. package/dist/src/compiled/_chunks/node/chunk-KBOOTKHF-DJqFk2r1.js +1 -0
  83. package/dist/src/compiled/_chunks/node/chunk-TREVQR3E-CLsTAn-O.js +1 -0
  84. package/dist/src/compiled/_chunks/node/dist-DYDVZ-FS.js +98 -0
  85. package/dist/src/compiled/_chunks/node/dist-iEFkK9qw.js +6 -0
  86. package/dist/src/compiled/_chunks/workflow/attribute-changes-DFx4eluc.js +6 -0
  87. package/dist/src/compiled/_chunks/workflow/{dist-D38gP7YF.js → dist-DjECvUyK.js} +1 -1
  88. package/dist/src/compiled/_chunks/workflow/{frames-QcJfYHmh.js → frames-D_Q-7A1N.js} +2 -2
  89. package/dist/src/compiled/_chunks/workflow/{helpers-6kObVbfS.js → helpers-Bw52uyzw.js} +1 -1
  90. package/dist/src/compiled/_chunks/workflow/{logger-NN5YHpYy.js → logger-DFNCa8Nl.js} +1 -1
  91. package/dist/src/compiled/_chunks/workflow/resume-hook-BhA_nDEV.js +1 -0
  92. package/dist/src/compiled/_chunks/workflow/{run-DJevv8zz.js → run-BT6SQv5f.js} +1 -1
  93. package/dist/src/compiled/_chunks/workflow/{serialization-C5KgPESk.js → serialization-Cl0SYU0I.js} +3 -3
  94. package/dist/src/compiled/_chunks/workflow/sleep-DB4AH9-A.js +1 -0
  95. package/dist/src/compiled/_chunks/workflow/{wait-until-BMY_tOr-.js → wait-until-Dzhr6tzf.js} +1 -1
  96. package/dist/src/compiled/_chunks/workflow/{ws-transport-DSDcKH08.js → ws-transport-BpTMh40s.js} +1 -1
  97. package/dist/src/compiled/chat/index.d.ts +1 -725
  98. package/dist/src/compiled/chat/index.js +1 -1
  99. package/dist/src/compiler/artifacts.d.ts +1 -0
  100. package/dist/src/compiler/artifacts.js +1 -1
  101. package/dist/src/compiler/extension-compatibility.d.ts +23 -15
  102. package/dist/src/compiler/extension-compatibility.js +1 -1
  103. package/dist/src/compiler/manifest.d.ts +14 -18
  104. package/dist/src/compiler/manifest.js +1 -1
  105. package/dist/src/compiler/normalize-helpers.js +1 -1
  106. package/dist/src/compiler/normalize-sandbox.d.ts +2 -7
  107. package/dist/src/compiler/normalize-sandbox.js +1 -1
  108. package/dist/src/compiler/workspace-resources.js +1 -1
  109. package/dist/src/context/build-callback-context.d.ts +2 -0
  110. package/dist/src/context/build-callback-context.js +1 -1
  111. package/dist/src/context/container.d.ts +1 -1
  112. package/dist/src/context/container.js +1 -1
  113. package/dist/src/context/key-names.d.ts +1 -0
  114. package/dist/src/context/key-names.js +1 -1
  115. package/dist/src/context/keys.d.ts +7 -2
  116. package/dist/src/context/keys.js +1 -1
  117. package/dist/src/context/providers/sandbox.js +1 -1
  118. package/dist/src/context/providers/session.d.ts +19 -2
  119. package/dist/src/context/session-context.d.ts +1 -1
  120. package/dist/src/discover/sandbox.js +1 -1
  121. package/dist/src/evals/cli/eval.js +1 -1
  122. package/dist/src/evals/context.d.ts +1 -0
  123. package/dist/src/evals/context.js +1 -1
  124. package/dist/src/evals/define-eval-config.d.ts +7 -7
  125. package/dist/src/evals/define-eval-config.js +1 -1
  126. package/dist/src/evals/define-eval.d.ts +5 -2
  127. package/dist/src/evals/index.d.ts +1 -1
  128. package/dist/src/evals/runner/execute-eval.d.ts +2 -0
  129. package/dist/src/evals/runner/execute-eval.js +1 -1
  130. package/dist/src/evals/runner/execute-task.d.ts +2 -0
  131. package/dist/src/evals/runner/execute-task.js +1 -1
  132. package/dist/src/evals/runner/run-evals.d.ts +2 -0
  133. package/dist/src/evals/runner/run-evals.js +1 -1
  134. package/dist/src/evals/target.js +1 -1
  135. package/dist/src/evals/types.d.ts +22 -6
  136. package/dist/src/eve-channel/create-request.d.ts +2 -1
  137. package/dist/src/eve-channel/delivery-policy-request.d.ts +4 -0
  138. package/dist/src/eve-channel/delivery-policy-request.js +1 -0
  139. package/dist/src/eve-channel/index.js +1 -1
  140. package/dist/src/eve-channel/request.d.ts +2 -1
  141. package/dist/src/eve-channel/request.js +1 -1
  142. package/dist/src/execution/coordination-dispatch-shared.d.ts +2 -1
  143. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  144. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  145. package/dist/src/execution/runtime-context.js +1 -1
  146. package/dist/src/execution/sandbox/active-handles.d.ts +7 -8
  147. package/dist/src/execution/sandbox/active-handles.js +1 -1
  148. package/dist/src/execution/sandbox/bash.js +1 -1
  149. package/dist/src/execution/sandbox/bindings/docker-cli.d.ts +1 -1
  150. package/dist/src/execution/sandbox/bindings/docker-cli.js +1 -1
  151. package/dist/src/execution/sandbox/bindings/docker-container.d.ts +2 -2
  152. package/dist/src/execution/sandbox/bindings/docker-container.js +1 -1
  153. package/dist/src/execution/sandbox/bindings/docker-network.d.ts +1 -1
  154. package/dist/src/execution/sandbox/bindings/docker-network.js +1 -1
  155. package/dist/src/execution/sandbox/bindings/docker-options.d.ts +4 -5
  156. package/dist/src/execution/sandbox/bindings/docker-options.js +1 -1
  157. package/dist/src/execution/sandbox/bindings/docker-session.d.ts +0 -1
  158. package/dist/src/execution/sandbox/bindings/docker-session.js +2 -2
  159. package/dist/src/execution/sandbox/bindings/docker.d.ts +16 -18
  160. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  161. package/dist/src/execution/sandbox/bindings/immutable-resources.d.ts +21 -0
  162. package/dist/src/execution/sandbox/bindings/immutable-resources.js +2 -0
  163. package/dist/src/execution/sandbox/bindings/just-bash-runtime.d.ts +9 -5
  164. package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
  165. package/dist/src/execution/sandbox/bindings/just-bash.d.ts +13 -26
  166. package/dist/src/execution/sandbox/bindings/just-bash.js +1 -1
  167. package/dist/src/execution/sandbox/bindings/{local-backend-utils.d.ts → local-provider-utils.d.ts} +7 -5
  168. package/dist/src/execution/sandbox/bindings/local-provider-utils.js +1 -0
  169. package/dist/src/execution/sandbox/bindings/local.d.ts +3 -3
  170. package/dist/src/execution/sandbox/bindings/local.js +1 -1
  171. package/dist/src/execution/sandbox/bindings/microsandbox-create.js +1 -1
  172. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.d.ts +30 -8
  173. package/dist/src/execution/sandbox/bindings/microsandbox-lifecycle.js +1 -1
  174. package/dist/src/execution/sandbox/bindings/microsandbox-metadata.d.ts +9 -1
  175. package/dist/src/execution/sandbox/bindings/microsandbox-metadata.js +1 -1
  176. package/dist/src/execution/sandbox/bindings/microsandbox-network.js +1 -1
  177. package/dist/src/execution/sandbox/bindings/microsandbox-options.d.ts +10 -4
  178. package/dist/src/execution/sandbox/bindings/microsandbox-options.js +1 -1
  179. package/dist/src/execution/sandbox/bindings/microsandbox-platform.js +1 -1
  180. package/dist/src/execution/sandbox/bindings/microsandbox-runtime.d.ts +7 -5
  181. package/dist/src/execution/sandbox/bindings/microsandbox-runtime.js +1 -1
  182. package/dist/src/execution/sandbox/bindings/microsandbox-templates.js +1 -1
  183. package/dist/src/execution/sandbox/bindings/microsandbox.d.ts +11 -21
  184. package/dist/src/execution/sandbox/bindings/microsandbox.js +1 -1
  185. package/dist/src/execution/sandbox/bindings/vercel-base-runtime.js +2 -2
  186. package/dist/src/execution/sandbox/bindings/vercel-credentials.js +1 -1
  187. package/dist/src/execution/sandbox/bindings/vercel-errors.js +1 -1
  188. package/dist/src/execution/sandbox/bindings/vercel-lifecycle.d.ts +2 -2
  189. package/dist/src/execution/sandbox/bindings/vercel-lifecycle.js +1 -1
  190. package/dist/src/execution/sandbox/bindings/vercel-lookup.js +1 -1
  191. package/dist/src/execution/sandbox/bindings/vercel-options.d.ts +1 -2
  192. package/dist/src/execution/sandbox/bindings/vercel-options.js +1 -1
  193. package/dist/src/execution/sandbox/bindings/vercel.d.ts +20 -12
  194. package/dist/src/execution/sandbox/bindings/vercel.js +2 -2
  195. package/dist/src/execution/sandbox/development-cleanup.js +1 -1
  196. package/dist/src/execution/sandbox/development-lazy-prewarm.d.ts +7 -0
  197. package/dist/src/execution/sandbox/development-lazy-prewarm.js +1 -0
  198. package/dist/src/execution/sandbox/development-run.d.ts +2 -3
  199. package/dist/src/execution/sandbox/dockerfile.d.ts +25 -0
  200. package/dist/src/execution/sandbox/dockerfile.js +1 -0
  201. package/dist/src/execution/sandbox/ensure.d.ts +0 -17
  202. package/dist/src/execution/sandbox/ensure.js +1 -1
  203. package/dist/src/execution/sandbox/logging-session.js +1 -1
  204. package/dist/src/execution/sandbox/prewarm.d.ts +23 -27
  205. package/dist/src/execution/sandbox/prewarm.js +1 -2
  206. package/dist/src/execution/sandbox/provider-files.d.ts +2 -0
  207. package/dist/src/execution/sandbox/provider-files.js +1 -0
  208. package/dist/src/execution/sandbox/provider-host-development.d.ts +2 -0
  209. package/dist/src/execution/sandbox/provider-host-development.js +1 -0
  210. package/dist/src/execution/sandbox/provider-host.d.ts +2 -0
  211. package/dist/src/execution/sandbox/provider-host.js +1 -0
  212. package/dist/src/execution/sandbox/provider-identity.d.ts +1 -0
  213. package/dist/src/execution/sandbox/provider-identity.js +1 -0
  214. package/dist/src/execution/sandbox/ripgrep-probe.d.ts +0 -7
  215. package/dist/src/execution/sandbox/ripgrep-probe.js +1 -1
  216. package/dist/src/execution/sandbox/session.d.ts +8 -8
  217. package/dist/src/execution/sandbox/session.js +1 -1
  218. package/dist/src/execution/session/handoff-steps.js +1 -1
  219. package/dist/src/execution/session/handoff.d.ts +1 -1
  220. package/dist/src/execution/session/handoff.js +1 -1
  221. package/dist/src/execution/session/input-queue.d.ts +2 -1
  222. package/dist/src/execution/session/input-queue.js +1 -1
  223. package/dist/src/execution/session/next-input.js +1 -1
  224. package/dist/src/execution/session/program.js +1 -1
  225. package/dist/src/execution/session/turn-step.js +1 -1
  226. package/dist/src/execution/session-inbox/protocol.js +1 -1
  227. package/dist/src/execution/tasks/parent/tool-execution.js +1 -1
  228. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  229. package/dist/src/execution/tools/sleep-workflow.js +1 -1
  230. package/dist/src/execution/tools/subagent/emit-event-step.js +1 -1
  231. package/dist/src/execution/tools/subagent/invoke-preparation.js +1 -1
  232. package/dist/src/execution/tools/subagent/start.d.ts +1 -0
  233. package/dist/src/framework/sources/modules/sandbox.d.ts +2 -1
  234. package/dist/src/framework/sources/modules/sandbox.js +1 -1
  235. package/dist/src/harness/approval-delivery-coordinator.js +1 -1
  236. package/dist/src/harness/hitl/approval-input-requests.d.ts +1 -1
  237. package/dist/src/harness/hitl/approval-input-requests.js +1 -1
  238. package/dist/src/harness/input-requests.d.ts +6 -0
  239. package/dist/src/harness/input-requests.js +1 -1
  240. package/dist/src/harness/messages.d.ts +2 -1
  241. package/dist/src/harness/messages.js +1 -1
  242. package/dist/src/harness/pending-input-batches.d.ts +1 -0
  243. package/dist/src/harness/pending-input-batches.js +1 -1
  244. package/dist/src/harness/tool-loop.js +2 -2
  245. package/dist/src/instrumentation/ai-sdk-warnings.d.ts +6 -0
  246. package/dist/src/instrumentation/ai-sdk-warnings.js +1 -0
  247. package/dist/src/instrumentation/runtime.d.ts +1 -0
  248. package/dist/src/instrumentation/runtime.js +1 -1
  249. package/dist/src/internal/application/compiled-artifacts.d.ts +2 -0
  250. package/dist/src/internal/application/compiled-artifacts.js +2 -2
  251. package/dist/src/internal/application/optional-package-install.d.ts +3 -0
  252. package/dist/src/internal/application/optional-package-install.js +2 -2
  253. package/dist/src/internal/application/output-publication-lock.d.ts +6 -0
  254. package/dist/src/internal/application/output-publication-lock.js +1 -1
  255. package/dist/src/internal/application/output-publication.js +1 -1
  256. package/dist/src/internal/application/package.js +1 -1
  257. package/dist/src/internal/authored-module-loader.d.ts +1 -0
  258. package/dist/src/internal/authored-module-loader.js +1 -1
  259. package/dist/src/internal/authored-runtime-modules.d.ts +1 -0
  260. package/dist/src/internal/nitro/development-generation.js +1 -1
  261. package/dist/src/internal/nitro/host/artifacts-config.d.ts +6 -1
  262. package/dist/src/internal/nitro/host/artifacts-config.js +1 -1
  263. package/dist/src/internal/nitro/host/build-application.js +1 -1
  264. package/dist/src/internal/nitro/host/compiled-sandbox-provider-prune-plugin.d.ts +16 -0
  265. package/dist/src/internal/nitro/host/compiled-sandbox-provider-prune-plugin.js +5 -0
  266. package/dist/src/internal/nitro/host/configure-nitro-routes.js +2 -2
  267. package/dist/src/internal/nitro/host/create-application-nitro.d.ts +3 -3
  268. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  269. package/dist/src/internal/nitro/host/dev-authored-rebuild-coordinator.js +1 -1
  270. package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
  271. package/dist/src/internal/nitro/host/development-runtime-prune-plugin.d.ts +9 -0
  272. package/dist/src/internal/nitro/host/development-runtime-prune-plugin.js +2 -0
  273. package/dist/src/internal/nitro/host/prepare-application-host.d.ts +1 -0
  274. package/dist/src/internal/nitro/host/prepare-application-host.js +1 -1
  275. package/dist/src/internal/nitro/host/sandbox-shutdown-plugin.js +1 -1
  276. package/dist/src/internal/nitro/host/start-development-server.js +2 -2
  277. package/dist/src/internal/nitro/host/start-production-server.js +2 -2
  278. package/dist/src/internal/nitro/host/types.d.ts +1 -1
  279. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  280. package/dist/src/internal/nitro/routes/runtime-artifacts.d.ts +1 -0
  281. package/dist/src/internal/nitro/routes/runtime-artifacts.js +1 -1
  282. package/dist/src/internal/runtime-registry.d.ts +2 -2
  283. package/dist/src/internal/vercel/build-agent-workspace.d.ts +3 -1
  284. package/dist/src/internal/vercel/build-agent-workspace.js +1 -1
  285. package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +4 -5
  286. package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +2 -2
  287. package/dist/src/public/channels/github/checkout.js +1 -1
  288. package/dist/src/public/channels/index.d.ts +1 -1
  289. package/dist/src/public/channels/slack/slackChannel.d.ts +3 -1
  290. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  291. package/dist/src/public/definitions/channel.d.ts +1 -1
  292. package/dist/src/public/definitions/sandbox.d.ts +5 -43
  293. package/dist/src/public/definitions/sandbox.js +1 -1
  294. package/dist/src/public/local-dev.d.ts +4 -5
  295. package/dist/src/public/next/vercel-output-config.js +1 -1
  296. package/dist/src/public/sandbox/docker-sandbox.d.ts +16 -40
  297. package/dist/src/public/sandbox/docker.d.ts +2 -2
  298. package/dist/src/public/sandbox/docker.js +1 -1
  299. package/dist/src/public/sandbox/index.d.ts +4 -9
  300. package/dist/src/public/sandbox/index.js +1 -1
  301. package/dist/src/public/sandbox/just-bash-sandbox.d.ts +11 -6
  302. package/dist/src/public/sandbox/just-bash.d.ts +2 -2
  303. package/dist/src/public/sandbox/just-bash.js +1 -1
  304. package/dist/src/public/sandbox/microsandbox-sandbox.d.ts +11 -17
  305. package/dist/src/public/sandbox/microsandbox.d.ts +2 -2
  306. package/dist/src/public/sandbox/microsandbox.js +1 -1
  307. package/dist/src/public/sandbox/provider.d.ts +1 -0
  308. package/dist/src/public/sandbox/provider.js +1 -0
  309. package/dist/src/public/sandbox/vercel-sandbox.d.ts +10 -41
  310. package/dist/src/public/sandbox/vercel.d.ts +2 -2
  311. package/dist/src/public/sandbox/vercel.js +1 -1
  312. package/dist/src/runtime/cache-key.js +1 -1
  313. package/dist/src/runtime/compiled-artifacts-source.d.ts +6 -1
  314. package/dist/src/runtime/compiled-artifacts-source.js +1 -1
  315. package/dist/src/runtime/loaders/artifact-paths.d.ts +1 -0
  316. package/dist/src/runtime/loaders/artifact-paths.js +1 -1
  317. package/dist/src/runtime/loaders/bundled-artifacts.d.ts +3 -0
  318. package/dist/src/runtime/loaders/bundled-artifacts.js +1 -1
  319. package/dist/src/runtime/loaders/compile-metadata.js +1 -1
  320. package/dist/src/runtime/loaders/manifest.js +1 -1
  321. package/dist/src/runtime/loaders/module-map.js +1 -1
  322. package/dist/src/runtime/local-dev-capability.d.ts +14 -12
  323. package/dist/src/runtime/local-dev-capability.js +1 -1
  324. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  325. package/dist/src/runtime/resolve-sandbox.d.ts +1 -10
  326. package/dist/src/runtime/resolve-sandbox.js +1 -1
  327. package/dist/src/runtime/sandbox/prepared-artifacts.d.ts +13 -0
  328. package/dist/src/runtime/sandbox/prepared-artifacts.js +1 -0
  329. package/dist/src/runtime/sandbox/registry.d.ts +2 -9
  330. package/dist/src/runtime/sandbox/registry.js +1 -1
  331. package/dist/src/runtime/sessions/runtime-session.js +1 -1
  332. package/dist/src/runtime/types.d.ts +13 -26
  333. package/dist/src/runtime/workspace/types.d.ts +1 -1
  334. package/dist/src/sandbox/providers/default.d.ts +27 -0
  335. package/dist/src/sandbox/providers/default.js +1 -0
  336. package/dist/src/sandbox/providers/docker.d.ts +11 -0
  337. package/dist/src/sandbox/providers/docker.js +1 -0
  338. package/dist/src/sandbox/providers/just-bash.d.ts +4 -0
  339. package/dist/src/sandbox/providers/just-bash.js +1 -0
  340. package/dist/src/sandbox/providers/microsandbox.d.ts +12 -0
  341. package/dist/src/sandbox/providers/microsandbox.js +1 -0
  342. package/dist/src/sandbox/providers/vercel.d.ts +12 -0
  343. package/dist/src/sandbox/providers/vercel.js +1 -0
  344. package/dist/src/sandbox/providers.d.ts +5 -0
  345. package/dist/src/sandbox/providers.js +1 -0
  346. package/dist/src/sandbox/state.d.ts +6 -25
  347. package/dist/src/self-modification/extension/subagents/agent/agent.d.ts +1 -1
  348. package/dist/src/self-modification/extension/subagents/agent/agent.js +1 -1
  349. package/dist/src/self-modification/extension/subagents/agent/sandbox.d.ts +2 -25
  350. package/dist/src/self-modification/extension/subagents/agent/sandbox.js +1 -1
  351. package/dist/src/self-modification/extension/subagents/agent/tools/publish.js +1 -1
  352. package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.js +1 -1
  353. package/dist/src/self-modification/filesystem.d.ts +3 -1
  354. package/dist/src/self-modification/filesystem.js +1 -1
  355. package/dist/src/self-modification/git-workspace.d.ts +1 -1
  356. package/dist/src/self-modification/git.d.ts +1 -1
  357. package/dist/src/self-modification/sandbox.d.ts +14 -9
  358. package/dist/src/self-modification/sandbox.js +1 -1
  359. package/dist/src/setup/boxes/select-model.js +1 -1
  360. package/dist/src/setup/cli/select-state.d.ts +4 -2
  361. package/dist/src/setup/cli/select-state.js +1 -1
  362. package/dist/src/setup/flows/model-login.js +1 -1
  363. package/dist/src/{cli/commands/registry-pnpm-build-policy.d.ts → setup/primitives/pm/pnpm-build-policy.d.ts} +4 -0
  364. package/dist/src/setup/primitives/pm/pnpm-build-policy.js +8 -0
  365. package/dist/src/setup/primitives/pm/pnpm.js +3 -2
  366. package/dist/src/setup/scaffold/create/project.js +1 -1
  367. package/dist/src/shared/default-agent-model.d.ts +1 -1
  368. package/dist/src/shared/default-agent-model.js +1 -1
  369. package/dist/src/shared/sandbox-environment.d.ts +45 -0
  370. package/dist/src/shared/sandbox-environment.js +1 -0
  371. package/dist/src/shared/sandbox-network-policy.d.ts +8 -3
  372. package/dist/src/shared/sandbox-network-policy.js +1 -1
  373. package/dist/src/shared/sandbox-prepared-artifacts.d.ts +16 -0
  374. package/dist/src/shared/sandbox-prepared-artifacts.js +1 -0
  375. package/dist/src/shared/sandbox-provider.d.ts +112 -0
  376. package/dist/src/shared/sandbox-provider.js +1 -0
  377. package/dist/src/shared/sandbox-session.d.ts +18 -41
  378. package/dist/src/shared/sandbox-template-error.d.ts +9 -0
  379. package/dist/src/shared/sandbox-template-error.js +1 -0
  380. package/dist/src/subagents/tool.d.ts +1 -1
  381. package/dist/src/subagents/tool.js +1 -1
  382. package/dist/src/svelte/index.js +1 -1
  383. package/dist/src/svelte/use-eve-agent.js +1 -1
  384. package/dist/src/tasks/delivery-context.d.ts +6 -4
  385. package/dist/src/tasks/delivery-context.js +1 -1
  386. package/dist/src/tasks/delivery-policy.d.ts +2 -0
  387. package/dist/src/tasks/delivery-policy.js +1 -1
  388. package/dist/src/tools/framework/agent-contract.js +1 -1
  389. package/dist/src/vue/index.js +1 -1
  390. package/dist/src/vue/use-eve-agent.js +1 -1
  391. package/docs/README.md +40 -45
  392. package/docs/agent-config.md +2 -2
  393. package/docs/channels/eve.mdx +1 -1
  394. package/docs/channels/overview.mdx +48 -0
  395. package/docs/channels/slack.mdx +1 -1
  396. package/docs/concepts/execution-model-and-durability.mdx +1 -1
  397. package/docs/concepts/sessions-runs-and-streaming.md +3 -3
  398. package/docs/dynamic-configuration/meta.json +5 -0
  399. package/docs/evals/overview.mdx +43 -0
  400. package/docs/getting-started.mdx +1 -1
  401. package/docs/guides/client/overview.mdx +1 -1
  402. package/docs/guides/deployment/overview.md +1 -1
  403. package/docs/guides/deployment/self-hosting.md +5 -5
  404. package/docs/guides/deployment/vercel.mdx +10 -18
  405. package/docs/guides/dev-tui.md +1 -1
  406. package/docs/guides/hooks.md +4 -0
  407. package/docs/guides/instrumentation/instrumentation.mdx +1 -1
  408. package/docs/guides/instrumentation/migration.md +1 -6
  409. package/docs/guides/instrumentation/otel.mdx +15 -47
  410. package/docs/memory/meta.json +1 -1
  411. package/docs/memory/overview.mdx +4 -0
  412. package/docs/meta.json +13 -16
  413. package/docs/patterns/meta.json +2 -2
  414. package/docs/protocols/acp.md +1 -1
  415. package/docs/protocols/ucp.mdx +1 -1
  416. package/docs/reference/cli.md +10 -9
  417. package/docs/reference/meta.json +4 -1
  418. package/docs/reference/typescript-api.md +2 -25
  419. package/docs/sandbox/default.mdx +17 -0
  420. package/docs/sandbox/docker.mdx +29 -0
  421. package/docs/sandbox/index.mdx +218 -0
  422. package/docs/sandbox/just-bash.mdx +24 -0
  423. package/docs/sandbox/meta.json +5 -0
  424. package/docs/sandbox/microsandbox.mdx +31 -0
  425. package/docs/sandbox/vercel.mdx +106 -0
  426. package/docs/schedules.mdx +35 -1
  427. package/docs/subagents/index.mdx +31 -13
  428. package/docs/subagents/meta.json +1 -1
  429. package/docs/tools/overview.mdx +14 -6
  430. package/docs/tutorial/run-analysis.mdx +6 -5
  431. package/package.json +20 -11
  432. package/dist/src/cli/commands/registry-pnpm-build-policy.js +0 -6
  433. package/dist/src/compiled/_chunks/node/chunk-5OX2R7AJ-CxVV-owP.js +0 -1
  434. package/dist/src/compiled/_chunks/node/chunk-AYN7QRWH-B__hKQV7.js +0 -1
  435. package/dist/src/compiled/_chunks/node/chunk-QZV7YRVM-Dzw4WEBv.js +0 -1
  436. package/dist/src/compiled/_chunks/node/dist-CweJdVFE.js +0 -6
  437. package/dist/src/compiled/_chunks/node/dist-Da54NuK8.js +0 -96
  438. package/dist/src/compiled/_chunks/workflow/attribute-changes-A6HfMNG3.js +0 -6
  439. package/dist/src/compiled/_chunks/workflow/resume-hook-CAqlhwic.js +0 -1
  440. package/dist/src/compiled/_chunks/workflow/sleep-CbUwdv6O.js +0 -1
  441. package/dist/src/compiled/chat/_mdast.d.ts +0 -24
  442. package/dist/src/compiled/chat/_workflow-serde.d.ts +0 -3
  443. package/dist/src/compiled/chat/jsx-runtime-_JEEAotp.d.ts +0 -907
  444. package/dist/src/execution/sandbox/bindings/local-backend-utils.js +0 -1
  445. package/dist/src/execution/sandbox/development-prewarm.d.ts +0 -15
  446. package/dist/src/execution/sandbox/development-prewarm.js +0 -1
  447. package/dist/src/execution/sandbox/lazy-backend.d.ts +0 -15
  448. package/dist/src/execution/sandbox/lazy-backend.js +0 -1
  449. package/dist/src/execution/sandbox/template-prewarm-lock.d.ts +0 -8
  450. package/dist/src/execution/sandbox/template-prewarm-lock.js +0 -1
  451. package/dist/src/internal/authored-definition/sandbox.d.ts +0 -17
  452. package/dist/src/internal/authored-definition/sandbox.js +0 -1
  453. package/dist/src/internal/nitro/host/compiled-sandbox-backend-prune-plugin.d.ts +0 -16
  454. package/dist/src/internal/nitro/host/compiled-sandbox-backend-prune-plugin.js +0 -2
  455. package/dist/src/public/definitions/sandbox-backend.d.ts +0 -17
  456. package/dist/src/public/definitions/sandbox-backend.js +0 -1
  457. package/dist/src/public/sandbox/backends/default.d.ts +0 -1
  458. package/dist/src/public/sandbox/backends/default.js +0 -1
  459. package/dist/src/public/sandbox/backends/docker.d.ts +0 -1
  460. package/dist/src/public/sandbox/backends/docker.js +0 -1
  461. package/dist/src/public/sandbox/backends/just-bash.d.ts +0 -1
  462. package/dist/src/public/sandbox/backends/just-bash.js +0 -1
  463. package/dist/src/public/sandbox/backends/microsandbox.d.ts +0 -1
  464. package/dist/src/public/sandbox/backends/microsandbox.js +0 -1
  465. package/dist/src/public/sandbox/backends/vercel.d.ts +0 -1
  466. package/dist/src/public/sandbox/backends/vercel.js +0 -1
  467. package/dist/src/runtime/sandbox/keys.d.ts +0 -42
  468. package/dist/src/runtime/sandbox/keys.js +0 -1
  469. package/dist/src/runtime/sandbox/template-plan.d.ts +0 -24
  470. package/dist/src/runtime/sandbox/template-plan.js +0 -1
  471. package/dist/src/sandbox/backends/default.d.ts +0 -42
  472. package/dist/src/sandbox/backends/default.js +0 -1
  473. package/dist/src/sandbox/backends/docker.d.ts +0 -14
  474. package/dist/src/sandbox/backends/docker.js +0 -1
  475. package/dist/src/sandbox/backends/just-bash.d.ts +0 -17
  476. package/dist/src/sandbox/backends/just-bash.js +0 -1
  477. package/dist/src/sandbox/backends/microsandbox.d.ts +0 -17
  478. package/dist/src/sandbox/backends/microsandbox.js +0 -1
  479. package/dist/src/sandbox/backends/vercel.d.ts +0 -30
  480. package/dist/src/sandbox/backends/vercel.js +0 -1
  481. package/dist/src/shared/sandbox-backend.d.ts +0 -176
  482. package/dist/src/shared/sandbox-backend.js +0 -1
  483. package/dist/src/shared/sandbox-definition.d.ts +0 -112
  484. package/dist/src/shared/sandbox-definition.js +0 -1
  485. package/docs/sandbox.mdx +0 -342
package/docs/README.md CHANGED
@@ -12,32 +12,28 @@ Important naming note:
12
12
 
13
13
  ## Find the page for your task
14
14
 
15
- | To do this | Read this |
16
- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
17
- | Organize agents, subagents, and browser application code | [Project Structure](./concepts/project-structure.mdx) |
18
- | Create a project and run your first agent | [Getting Started](./getting-started.mdx) |
19
- | Look up agent files and discovery rules | [Agent Files](./reference/agent-files.md) |
20
- | Set the model, reasoning, or other agent-wide config | [Agents](./agent-config.md) |
21
- | Choose an agent model automatically for each request | [Automatic Model Selection](./guides/evaluate.md) |
22
- | Change what the agent does and how it behaves | [Instructions](./instructions.mdx) |
23
- | Give the agent a typed capability it can call | [Tools](./tools/overview.mdx) |
24
- | Require approval, or ask the user something mid-turn | [Human in the Loop](./tools/human-in-the-loop.md) |
25
- | Call an external HTTP API or MCP server | [Connections](./connections/overview.mdx) |
26
- | Add a messaging surface (Slack, Discord, iMessage, …) | [Channels](./channels/overview.mdx) |
27
- | Expose your own HTTP route as a conversation surface | [Custom Channels](./channels/custom.mdx) |
28
- | Package a procedure the agent loads only when it applies | [Skills](./skills.mdx) |
29
- | Carry state across turns, or shape what the model sees | [State](./concepts/state.md), [Context Control](./concepts/context-control.md) |
30
- | Run commands or untrusted code in isolation | [Sandboxes](./sandbox.mdx) |
31
- | Delegate work to a specialist child agent | [Subagents](./subagents/index.mdx) |
32
- | Run work on a recurring schedule | [Schedules](./schedules.mdx) |
33
- | Install an existing integration instead of writing one | [Add Integrations](./install-integrations.mdx) |
34
- | Link a Vercel project and deploy to production | [Deploy to Vercel](./guides/deployment/vercel.mdx) |
35
- | Self-host, or compare hosting strategies | [Deployment](./guides/deployment/overview.md) |
36
- | Authorize routes, sessions, and per-user access | [Authentication](./guides/auth-and-route-protection.md) |
37
- | Add a browser application | [Next.js](./guides/frontend/nextjs.mdx), [Nuxt](./guides/frontend/nuxt.mdx), or [SvelteKit](./guides/frontend/sveltekit.mdx) |
38
- | Build a custom web UI, or stream a session to a client | [Client SDK](./guides/client/overview.mdx), [Frontend](./guides/frontend/overview.mdx) |
39
- | Test the agent's behavior | [Evals](./evals/overview.mdx) |
40
- | Look up a CLI command or an exported type | [CLI](./reference/cli.md), [TypeScript API](./reference/typescript-api.md) |
15
+ | To do this | Read this |
16
+ | -------------------------------------------------------- | -------------------------------------------------------------------------------------- |
17
+ | Create a project, or understand the file layout | [Getting Started](./getting-started.mdx) |
18
+ | Set the model, reasoning, or other agent-wide config | [Agents](./agent-config.md) |
19
+ | Change what the agent does and how it behaves | [Instructions](./instructions.mdx) |
20
+ | Give the agent a typed capability it can call | [Tools](./tools/overview.mdx) |
21
+ | Require approval, or ask the user something mid-turn | [Human in the Loop](./tools/human-in-the-loop.md) |
22
+ | Call an external HTTP API or MCP server | [Connections](./connections/overview.mdx) |
23
+ | Add a messaging surface (Slack, Discord, iMessage, …) | [Channels](./channels/overview.mdx) |
24
+ | Expose your own HTTP route as a conversation surface | [Custom Channels](./channels/custom.mdx) |
25
+ | Package a procedure the agent loads only when it applies | [Skills](./skills.mdx) |
26
+ | Carry state across turns, or shape what the model sees | [State](./concepts/state.md), [Context Control](./concepts/context-control.md) |
27
+ | Run commands or untrusted code in isolation | [Sandboxes](./sandbox/index.mdx) |
28
+ | Delegate work to a specialist child agent | [Subagents](./subagents/index.mdx) |
29
+ | Run work on a recurring schedule | [Schedules](./schedules.mdx) |
30
+ | Install an existing integration instead of writing one | [Add Integrations](./install-integrations.mdx) |
31
+ | Link a Vercel project and deploy to production | [Deploy to Vercel](./guides/deployment/vercel.mdx) |
32
+ | Self-host, or compare hosting strategies | [Deployment](./guides/deployment/overview.md) |
33
+ | Authorize routes, sessions, and per-user access | [Authentication](./guides/auth-and-route-protection.md) |
34
+ | Build a web UI, or stream a session to a client | [Client SDK](./guides/client/overview.mdx), [Frontend](./guides/frontend/overview.mdx) |
35
+ | Test the agent's behavior | [Evals](./evals/overview.mdx) |
36
+ | Look up a CLI command or an exported type | [CLI](./reference/cli.md), [TypeScript API](./reference/typescript-api.md) |
41
37
 
42
38
  ## Legal and safeguards
43
39
 
@@ -58,25 +54,24 @@ Unless you configure stricter controls, eve agents may operate with permissive s
58
54
  For a full picture rather than a single task, read in this order:
59
55
 
60
56
  1. [Getting Started](./getting-started.mdx)
61
- 2. [Project Structure](./concepts/project-structure.mdx)
62
- 3. [Tutorial](./tutorial/first-agent.mdx)
63
- 4. [Agents](./agent-config.md)
64
- 5. [TypeScript API Reference](./reference/typescript-api.md)
65
- 6. [Context Control](./concepts/context-control.md)
66
- 7. [Skills](./skills.mdx)
67
- 8. [Tools](./tools/overview.mdx)
68
- 9. [Connections](./connections/overview.mdx)
69
- 10. [Sandboxes](./sandbox.mdx)
70
- 11. [Channels](./channels/overview.mdx)
71
- 12. [Session Context](./guides/session-context.md)
72
- 13. [Sessions and Streaming](./concepts/sessions-runs-and-streaming.md)
73
- 14. [Client SDK](./guides/client/overview.mdx)
74
- 15. [Subagents](./subagents/index.mdx)
75
- 16. [Schedules](./schedules.mdx)
76
- 17. [Evals](./evals/overview.mdx)
77
- 18. [Authentication](./guides/auth-and-route-protection.md)
78
- 19. [Deployment](./guides/deployment/overview.md)
79
- 20. [CLI](./reference/cli.md)
57
+ 2. [Tutorial](./tutorial/first-agent.mdx)
58
+ 3. [Agents](./agent-config.md)
59
+ 4. [TypeScript API Reference](./reference/typescript-api.md)
60
+ 5. [Context Control](./concepts/context-control.md)
61
+ 6. [Skills](./skills.mdx)
62
+ 7. [Tools](./tools/overview.mdx)
63
+ 8. [Connections](./connections/overview.mdx)
64
+ 9. [Sandboxes](./sandbox/index.mdx)
65
+ 10. [Channels](./channels/overview.mdx)
66
+ 11. [Session Context](./guides/session-context.md)
67
+ 12. [Sessions and Streaming](./concepts/sessions-runs-and-streaming.md)
68
+ 13. [Client SDK](./guides/client/overview.mdx)
69
+ 14. [Subagents](./subagents/index.mdx)
70
+ 15. [Schedules](./schedules.mdx)
71
+ 16. [Evals](./evals/overview.mdx)
72
+ 17. [Authentication](./guides/auth-and-route-protection.md)
73
+ 18. [Deployment](./guides/deployment/overview.md)
74
+ 19. [CLI](./reference/cli.md)
80
75
 
81
76
  ## The public mental model
82
77
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- title: "Agents"
2
+ title: "Agent Configuration"
3
3
  description: "Configure an eve agent's model, reasoning effort, compaction, limits, and runtime behavior in agent.ts."
4
4
  ---
5
5
 
@@ -21,7 +21,7 @@ For a static AI Gateway model ID, you can make the same source change from the
21
21
  project root with `eve set --model anthropic/claude-opus-4.8` or from the local
22
22
  dev TUI with `/model anthropic/claude-opus-4.8`.
23
23
 
24
- The root `agent.ts` can be omitted when no runtime config is needed. eve then selects its default `agent.ts` source at the same slot, configured with `openai/gpt-5.6-luna-fast`; authoring the file replaces that source.
24
+ The root `agent.ts` can be omitted when no runtime config is needed. eve then selects its default `agent.ts` source at the same slot, configured with `spacexai/grok-4.7`; authoring the file replaces that source.
25
25
  When `agent.ts` is present, `model` is required.
26
26
 
27
27
  A config that selects a static Gateway model is compile-only. A config that contains a dynamic model or a direct-provider `LanguageModel` remains a runtime entry because eve must resolve that authored value while the agent runs. See [Authored module lifecycle](./reference/typescript-api#authored-module-lifecycle).
@@ -34,7 +34,7 @@ The default eve channel inspects the agent, creates sessions, accepts callbacks
34
34
 
35
35
  The session routes use only durable session IDs. Create a session explicitly, then put its returned ID in every follow-up, control, and stream path.
36
36
 
37
- `GET /eve/v1/health` is public and returns `{ ok: true, status: "ready", workflowId: string }`. `GET /eve/v1/info` uses the channel's auth policy and returns agent-info version 4. The TypeScript client validates both successful payloads: malformed health JSON throws `HealthResponseError`, malformed inspection JSON throws `AgentInfoResponseError`, and a non-success response from either route throws `ClientError`.
37
+ `GET /eve/v1/health` is public and returns `{ ok: true, status: "ready", workflowId: string }`. `GET /eve/v1/info` uses the channel's auth policy and returns agent-info version 6. The TypeScript client validates both successful payloads: malformed health JSON throws `HealthResponseError`, malformed inspection JSON throws `AgentInfoResponseError`, and a non-success response from either route throws `ClientError`.
38
38
 
39
39
  ### Start and continue a session
40
40
 
@@ -76,6 +76,54 @@ When eve doesn't ship a channel for your surface, build one with `defineChannel`
76
76
 
77
77
  A cross-channel `send(...)` supplies input to the agent and invokes the model on the destination channel. eve does not currently provide a direct cross-channel provider-message queue. To post without starting a turn, use the provider API. See [Durable cross-channel notifications](../patterns/durable-cross-channel-notifications) when delivery also needs application-managed retries and deduplication.
78
78
 
79
+ ## Background task results
80
+
81
+ Pass `taskDeliveryPolicy` to `send(...)` to choose how the session reports background results:
82
+
83
+ - `"auto"` (default for new channel sessions): ready results can invoke the parent while other tasks continue. The parent reports results that are useful independently and stays silent when a useful answer needs unfinished work.
84
+ - `"cohort"`: wait for overlapping tasks to settle, then deliver their terminal outcomes together.
85
+
86
+ ```ts title="agent/channels/reports.ts"
87
+ import { defineChannel, POST } from "eve/channels";
88
+ import { localDev, routeAuth } from "eve/channels/auth";
89
+
90
+ export default defineChannel({
91
+ routes: [
92
+ POST("/reports", async (request, { from }) => {
93
+ const auth = await routeAuth(request, localDev());
94
+ if (auth instanceof Response) return auth;
95
+ const session = await from("daily-report").send("Prepare the daily reports.", {
96
+ auth,
97
+ taskDeliveryPolicy: "cohort",
98
+ });
99
+ return Response.json({ sessionId: session.id });
100
+ }),
101
+ ],
102
+ });
103
+ ```
104
+
105
+ The option is available on channel-local `from(...).send(...)`, cross-channel
106
+ `to(...).send(...)`, fixed-session `send(...)`, Chat SDK `bridge.send(...)`, and client
107
+ sends. An explicit value
108
+ updates the session's policy, including pending background tasks; later sends that
109
+ omit it preserve that policy. A cross-channel send carries its setting through the
110
+ receiver's `from(...).send(...)` unless that call supplies an explicit value.
111
+
112
+ [Schedules](../schedules#background-task-results) default new sessions to `"cohort"`.
113
+ A schedule handler can pass `taskDeliveryPolicy: "auto"` to `send(...)` to override
114
+ that default. Child sessions use their own policy.
115
+
116
+ With `"auto"`, a model call may finish without a user-visible message. Results
117
+ already queued from the same cohort may share a turn. Each reporting turn receives
118
+ the whole cohort, including pending tasks and available outputs, so previously
119
+ withheld results remain available for a later combined report.
120
+
121
+ Input requests and explicit task messages remain eligible for delivery under
122
+ either policy. Failure and cancellation update task state immediately; their
123
+ automatic reports follow the selected policy. User messages follow `turnPolicy`.
124
+ See [Completion batching](../subagents#completion-batching) for cohort membership
125
+ and result ordering.
126
+
79
127
  ## Relationship to the Chat SDK
80
128
 
81
129
  eve uses the [Chat SDK's card-builder components](https://chat-sdk.dev/docs/api/cards) (Cards, Buttons, Actions, etc.) for composing rich Slack messages. When you build a card with the [Slack channel](./slack), the underlying primitives come from the Chat SDK and get converted to Slack Block Kit at post time.
@@ -135,7 +135,7 @@ Check the delivery path in order so you can identify where a Slack event stops:
135
135
  | Mentions work but DMs or thread replies do not | Check the Slack app's Event Subscriptions and OAuth scopes. DMs require `message.im` and `im:history`; channel replies require the matching message event and history scope. | Add the missing events or scopes, then reinstall the Slack app if Slack requires it. |
136
136
  | A long response cannot be uploaded as a snippet | Check whether the installed Slack app has the `files:write` bot scope. | Add `files:write`, then reinstall the Slack app so the new scope takes effect. |
137
137
  | A preview request receives an authentication page or protection error | Check whether the branch domain is exempt or the direct Slack request URL includes `x-vercel-protection-bypass`. Slack cannot complete an interactive Vercel Authentication challenge. | Add a Deployment Protection Exception for the branch domain, or add the automation bypass query parameter to a Slack app that uses environment-variable credentials. |
138
- | The webhook reaches the deployment but the agent does not reply | Open the project's Vercel runtime logs, then inspect the session in **Agent Runs** when your team has access. | Use the first missing or failed stage to narrow the issue to channel dispatch, the agent run, or outbound Slack delivery. |
138
+ | The webhook reaches the deployment but the agent does not reply | Open the project's Vercel runtime logs and locate the request for the inbound Slack event. | Use the first missing or failed stage to narrow the issue to channel dispatch, model or tool execution, or outbound Slack delivery. |
139
139
 
140
140
  ## Audience
141
141
 
@@ -56,7 +56,7 @@ that has not reached its next turn dispatch has not migrated yet.
56
56
  Transparent rollback to the former execution model is unsupported. Retire and
57
57
  restart affected sessions before rolling back.
58
58
 
59
- Nitro hosts the HTTP routes and workflow entrypoints. It does not supply the workflow state store or the sandbox runtime. Those are separate adapters: Workflow uses the active world implementation, and Sandbox uses the backend from `agent/sandbox` or `defaultBackend()`.
59
+ Nitro hosts the HTTP routes and workflow entrypoints. It does not supply the workflow state store or the sandbox runtime. Those are separate adapters: Workflow uses the active world implementation, and Sandbox uses the backend from `agent/sandbox` or the default sandbox environment.
60
60
 
61
61
  For advanced self-hosted deployments, the root `agent.ts` can select the installed Workflow world package to use with `experimental.workflow.world`:
62
62
 
@@ -214,7 +214,7 @@ With one question-only batch, an exact option match or permitted freeform respon
214
214
 
215
215
  A structured response matches any currently pending request by ID, not only the newest batch. It becomes stale only after that request was answered, cleared, or cancelled. eve delivers a stale response to the model as a new user message, and the model decides whether the old selection still matters. A stale approval never authorizes the earlier tool call; the model must request the action and approval again if they are still needed.
216
216
 
217
- One delivery can answer requests from several batches. eve resumes approval-bearing batches in durable order and carries later answers forward until each batch can resume.
217
+ One delivery can answer requests from several batches. eve resumes approval-bearing batches in durable order and carries later answers forward until each batch can resume. If you answer only some approvals in a batch, eve saves those responses until the remaining approvals are answered. Meanwhile, unrelated messages can run tools and receive a completed reply. The saved partial responses neither block that reply nor trigger another model call after it.
218
218
 
219
219
  Multiple steering messages retain their durable arrival order and may be folded into one input at the next boundary. A message accepted after turn settlement starts the next turn. See [message delivery and steering](./execution-model-and-durability#message-delivery-and-steering).
220
220
 
@@ -301,7 +301,7 @@ Start with the [Client SDK](../guides/client/overview) guide. It covers basic us
301
301
 
302
302
  ## Inspect the agent over HTTP
303
303
 
304
- `GET /eve/v1/info` returns agent-info version 4, a JSON inspection snapshot of the effective compiled agent. It reports the selected config; active tools, instructions, memory slots, skills, channels, schedules, sandbox, connections, hooks, and instrumentation with explicit source ownership; dynamic resolvers separately from their session-specific output; local and remote agents in separate collections; prepared built-in effects; and shadowed or disabled source diagnostics. Memory tool wrappers include their selected memory-source dependency. Channel routes appear in the same effective order used by the HTTP host. Static instructions remain an ordered array whose entries expose `content` and `role`.
304
+ `GET /eve/v1/info` returns agent-info version 6, a JSON inspection snapshot of the effective compiled agent. It reports the selected config; active tools, instructions, memory slots, skills, channels, schedules, sandbox, connections, hooks, and instrumentation with explicit source ownership; dynamic resolvers separately from their session-specific output; local and remote agents in separate collections; prepared built-in effects; and shadowed or disabled source diagnostics. Memory tool wrappers include their selected memory-source dependency. Channel routes appear in the same effective order used by the HTTP host. Static instructions remain an ordered array whose entries expose `content` and `role`. Sandbox inspection exposes the opaque `revisionHash` that identifies its compiler-discovered environment inputs.
305
305
 
306
306
  The info route belongs to the selected `channels/eve.ts` source and uses its resolved auth policy. Without an authored replacement, eve selects the default channel source with Vercel OIDC, local development access, and the production placeholder. Replacing or disabling that source replaces or removes the info route too; no native fallback serves it.
307
307
 
@@ -309,7 +309,7 @@ The info route belongs to the selected `channels/eve.ts` source and uses its res
309
309
  curl http://127.0.0.1:2000/eve/v1/info
310
310
  ```
311
311
 
312
- With the default auth chain (`[vercelOidc(), localDev(), placeholderAuth()]`), a Vercel OIDC bearer takes precedence, an `eve dev` or `vercel dev` server authenticates local requests, and everything else is rejected. A deployed Vercel target requires a valid OIDC bearer, with a same-project bypass for in-deployment callers. See [auth & route protection](../guides/auth-and-route-protection).
312
+ With the default auth chain (`[vercelOidc(), localDev(), placeholderAuth()]`), a Vercel OIDC bearer takes precedence, `localDev()` accepts requests to an `eve dev` or `vercel dev` server, and everything else is rejected. A deployed Vercel target requires a valid OIDC bearer, with a same-project bypass for in-deployment callers. See [auth & route protection](../guides/auth-and-route-protection).
313
313
 
314
314
  ## Dispatch order
315
315
 
@@ -0,0 +1,5 @@
1
+ {
2
+ "title": "Dynamic Capabilities",
3
+ "defaultOpen": false,
4
+ "pages": ["../guides/dynamic-capabilities", "../guides/evaluate"]
5
+ }
@@ -58,6 +58,49 @@ export default defineEvalConfig({
58
58
 
59
59
  Everything is optional. `judge` sets the default model for [LLM-as-judge](./judge) assertions (`t.judge(...)`); omit it to use the default evaluator, `typesafe-ai/jev`. Deterministic evals make no judge requests. `reporters`, `maxConcurrency`, and `timeoutMs` round out the defaults. Config `reporters` observe every eval in the run, so set one `Braintrust()` here instead of adding it to each eval. CLI flags (`--max-concurrency`, `--timeout`) and per-eval values take precedence over the config defaults.
60
60
 
61
+ ### Run setup and teardown
62
+
63
+ Use `setup` to start shared resources or run migrations before eve starts the local agent server. Return shared context directly from `setup`, then release resources in `teardown`:
64
+
65
+ ```ts title="evals/evals.config.ts"
66
+ import { defineEvalConfig } from "eve/evals";
67
+ import { startTestDatabase } from "./database.js";
68
+
69
+ export default defineEvalConfig({
70
+ async setup() {
71
+ const database = await startTestDatabase();
72
+ return { database };
73
+ },
74
+ async teardown(context) {
75
+ await context?.database.close();
76
+ },
77
+ });
78
+ ```
79
+
80
+ `context` is inferred from the setup return value. To use that type in an eval file, pass the config's type to `defineEval`:
81
+
82
+ ```ts title="evals/database.eval.ts"
83
+ import { defineEval } from "eve/evals";
84
+ import { equals } from "eve/evals/expect";
85
+ import type config from "./evals.config.js";
86
+
87
+ export default defineEval<typeof config>({
88
+ async test(t) {
89
+ const result = await t.context.database.query("SELECT 1 AS value");
90
+ await t.require(result.rows[0]?.value, equals(1));
91
+ },
92
+ });
93
+ ```
94
+
95
+ Setup, eval bodies, and teardown share the same context object in the runner process. Class instances and functions keep their identity; context is neither serialized nor sent to the agent server. Concurrent evals share these resources, so isolate any database records they modify.
96
+
97
+ `setup` can also return nothing.
98
+
99
+ - Setup runs once per `eve eval` invocation, after discovery and config loading, before target startup.
100
+ - Teardown runs after the local server and its sandbox handles shut down, including after setup, startup, or eval failures. Cleanup failures fail the command.
101
+
102
+ `teardown` receives `undefined` when setup returns no context or throws before returning. In that case, setup must clean up resources that only it can access. Teardown can also be used without setup. The per-eval `timeoutMs` does not apply to setup or teardown.
103
+
61
104
  ## Deterministic fixture models
62
105
 
63
106
  Use `mockModel` when an eval fixture needs to exercise eve's runtime without calling a model provider. A static fixture can be one line:
@@ -50,7 +50,7 @@ npx eve@latest init my-agent --model openai/gpt-5.6-terra --reasoning high
50
50
 
51
51
  ## Run the agent
52
52
 
53
- The terminal UI opens after interactive initialization. To return later, enter the project and run:
53
+ The [terminal UI](/docs/guides/dev-tui) opens after interactive initialization. To return later, enter the project and run:
54
54
 
55
55
  ```bash
56
56
  cd my-agent
@@ -34,7 +34,7 @@ The client requires the successful response to match `{ ok: true, status: "ready
34
34
 
35
35
  ## Inspect an agent
36
36
 
37
- Use `info()` to inspect an agent. The client requires the complete agent-info version 4 response before returning it:
37
+ Use `info()` to inspect an agent. The client requires the complete agent-info version 6 response before returning it:
38
38
 
39
39
  ```ts
40
40
  const info = await client.info();
@@ -3,7 +3,7 @@ title: "Overview"
3
3
  description: "Choose a deployment strategy and prepare an eve agent for production."
4
4
  ---
5
5
 
6
- Deploy eve to Vercel or run it as a Node service on your own infrastructure. Your deployment strategy determines the build output, workflow storage, sandbox backend, and routing. The agent’s filesystem-based configuration remains portable across these strategies.
6
+ Deploy eve to Vercel or run it as a Node service on your own infrastructure. Your deployment strategy determines the build output, workflow storage, sandbox provider, and routing. The agent’s filesystem-based configuration remains portable across these strategies.
7
7
 
8
8
  ## Choose a deployment strategy
9
9
 
@@ -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
 
@@ -157,12 +155,6 @@ eve dev https://your_agent.vercel.app/eve/support
157
155
 
158
156
  Set `VERCEL_AUTOMATION_BYPASS_SECRET` locally before connecting if the deployment uses Deployment Protection.
159
157
 
160
- ## Inspect agent runs
161
-
162
- Vercel detects eve and can add an **Agent Runs** tab under the project’s **Observability** view. Use it to browse sessions and inspect each conversation trace.
163
-
164
- The Agent Runs tab requires enablement for your Vercel team. Contact your Vercel representative if the tab doesn’t appear. For third-party tracing backends, configure [OpenTelemetry instrumentation](../../observability/instrumentation).
165
-
166
158
  ## Continue configuring production
167
159
 
168
160
  Use these guides to secure and observe the deployed agent:
@@ -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`:
@@ -159,6 +159,6 @@ not depend on execution order. Use `flush` to drain buffered records and
159
159
  ## What to read next
160
160
 
161
161
  - [Migrate instrumentation](/docs/observability/instrumentation-migration): replace `agent/instrumentation.ts`.
162
- - [OpenTelemetry](/docs/observability/otel): configure OTel destinations and managed exports.
162
+ - [OpenTelemetry](/docs/observability/otel): configure OTel destinations and third-party exports.
163
163
  - [Local development](../guides/dev-tui): inspect local traces in the TUI
164
164
  - [Hooks](../guides/hooks): react to runtime events outside the instrumentation lifecycle
@@ -89,9 +89,4 @@ see
89
89
  Run `eve build`. A remaining `agent/instrumentation.ts` fails the build with a
90
90
  message directing you to the instrumentation directory.
91
91
 
92
- Before verifying a Vercel deployment, configure trace sampling. A deployed eve
93
- project needs at least one sampling rule with a rate above 0%; we recommend
94
- setting the rate to 100%. See
95
- [Enable tracing on Vercel](/docs/observability/otel#enable-tracing-on-vercel).
96
-
97
- Then run the agent and verify each destination independently.
92
+ Run the agent and verify each destination independently.
@@ -1,13 +1,11 @@
1
1
  ---
2
2
  title: "OpenTelemetry"
3
- description: "Configure OpenTelemetry destinations, content capture, and managed exports."
3
+ description: "Configure OpenTelemetry destinations, content capture, and third-party exports."
4
4
  url: "/observability/otel"
5
5
  ---
6
6
 
7
- eve configures its built-in OpenTelemetry destinations automatically.
8
- `eve dev` records local traces, and preview and production deployments export
9
- to Vercel Agent Runs by default. You do not need `otel()` or
10
- `otelIntegration()` to use these defaults.
7
+ `eve dev` records local traces automatically. You do not need `otel()` or
8
+ `localTraces()` to use this default.
11
9
 
12
10
  ## Configure OpenTelemetry
13
11
 
@@ -118,11 +116,7 @@ lineage and trace-content policy. See [Remote agents](../guides/remote-agents#pr
118
116
  Use `gen_ai.conversation.id` to find the traces for one conversation in your
119
117
  destination's span-search surface.
120
118
 
121
- ## Manage built-in destinations
122
-
123
- Instrumentation has two environment-specific defaults.
124
-
125
- ### Local traces
119
+ ## Local traces
126
120
 
127
121
  `eve dev` records local traces by default. Omitting
128
122
  `agent/instrumentation/local.ts` preserves that default. Export
@@ -134,42 +128,16 @@ import { disableInstrumentation } from "eve/instrumentation";
134
128
  export default disableInstrumentation();
135
129
  ```
136
130
 
137
- ### Vercel Agent Runs
138
-
139
- Preview and production deployments export to Vercel Agent Runs by default.
140
- Omitting `agent/instrumentation/agent-runs.ts` preserves that default. Export
141
- `agentRuns(...)` from that file to reconfigure it, or export
142
- `disableInstrumentation()` to disable it.
143
-
144
- ## Enable tracing on Vercel
145
-
146
- A deployed eve project needs at least one
147
- [sampling rule with a rate above 0%](https://vercel.com/docs/tracing/always-on-tracing#enable-always-on-tracing)
148
- before Vercel collects traces. We recommend setting the rate to **100%** for
149
- eve projects so every matching request is traced.
150
-
151
- Select your team and project, then open
152
- [**Settings → Tracing**](https://vercel.com/d?to=%2F%5Bteam%5D%2F%5Bproject%5D%2Fsettings%2Ftracing&title=Go+to+Tracing+settings):
153
-
154
- 1. Select **Add Sampling Rule**.
155
- 2. Choose **All Environments**, **Production**, or **Preview**.
156
- 3. Set **Rate** to `100%`.
157
- 4. Select **Save**.
158
-
159
- Tracing starts as soon as you save the rule. You can also manage sampling
160
- rules with [`vercel traces config`](https://vercel.com/docs/cli/traces#manage-trace-sampling-rules).
161
- The CLI accepts rates from 1 to 100%; add a 0% rule from the dashboard.
162
-
163
131
  ## Filter a destination
164
132
 
165
- `otelIntegration()`, `localTraces()`, and `agentRuns()` accept one
133
+ `otelIntegration()` and `localTraces()` accept one
166
134
  `exportPolicy` object or an array applied in order. Each policy filters spans
167
135
  and attributes before that destination's processors receive them:
168
136
 
169
- ```ts title="agent/instrumentation/agent-runs.ts"
170
- import { agentRuns } from "eve/instrumentation/otel";
137
+ ```ts title="agent/instrumentation/local.ts"
138
+ import { localTraces } from "eve/instrumentation/otel";
171
139
 
172
- export default agentRuns({
140
+ export default localTraces({
173
141
  exportPolicy: {
174
142
  span: ({ name }) => ({ emit: name !== "internal.cache.refresh" }),
175
143
  attribute: ({ key }) => (key === "customer.id" ? { emit: false } : { emit: true }),
@@ -188,17 +156,17 @@ A throwing `span` callback drops the span from this destination. Return
188
156
  `{ replace: true, value }` from `attribute` to retain, remove, or change
189
157
  one attribute.
190
158
 
191
- ### Further narrow a built-in destination
159
+ ### Redact content from local traces
192
160
 
193
- Return a redaction decision to further narrow what a built-in destination
161
+ Return a redaction decision to further narrow what the local trace destination
194
162
  receives after the process-wide `otel({ tracePolicy })` has admitted a trace.
195
- For example, keep the spans in Agent Runs while redacting their inputs and
196
- outputs unless the session is public:
163
+ For example, keep spans in the local trace viewer while redacting their inputs
164
+ and outputs unless the session is public:
197
165
 
198
- ```ts title="agent/instrumentation/agent-runs.ts"
199
- import { agentRuns } from "eve/instrumentation/otel";
166
+ ```ts title="agent/instrumentation/local.ts"
167
+ import { localTraces } from "eve/instrumentation/otel";
200
168
 
201
- export default agentRuns({
169
+ export default localTraces({
202
170
  exportPolicy: {
203
171
  span: ({ audience }) =>
204
172
  audience === "public" ? { emit: true } : { redact: true, inputs: true, outputs: true },
@@ -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