eve 0.55.0 → 0.57.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 (683) hide show
  1. package/CHANGELOG.md +58 -0
  2. package/dist/src/channel/adapter-context.d.ts +1 -1
  3. package/dist/src/channel/adapter.d.ts +2 -2
  4. package/dist/src/channel/audience.d.ts +3 -3
  5. package/dist/src/channel/channel-address.js +1 -1
  6. package/dist/src/channel/conversation-context.d.ts +4 -2
  7. package/dist/src/channel/conversation-context.js +1 -1
  8. package/dist/src/channel/session.d.ts +4 -3
  9. package/dist/src/channel/session.js +1 -1
  10. package/dist/src/channel/types.d.ts +7 -4
  11. package/dist/src/chunks/{use-eve-agent-D-KQzzyW.js → use-eve-agent-C2APNCdP.js} +45 -22
  12. package/dist/src/chunks/{use-eve-agent-CxPlg0KL.js → use-eve-agent-D0YnDLi_.js} +45 -22
  13. package/dist/src/cli/commands/init.d.ts +2 -6
  14. package/dist/src/cli/commands/init.js +1 -1
  15. package/dist/src/cli/commands/registry-metadata.d.ts +0 -18
  16. package/dist/src/cli/commands/registry-metadata.js +1 -1
  17. package/dist/src/cli/commands/registry-pnpm-build-policy-flow.js +1 -1
  18. package/dist/src/cli/commands/registry.js +1 -1
  19. package/dist/src/cli/commands/trace-detail.js +1 -1
  20. package/dist/src/cli/dev/environment.js +1 -1
  21. package/dist/src/cli/dev/run-interactive-ui.js +1 -1
  22. package/dist/src/cli/dev/tui/agent-header.js +1 -1
  23. package/dist/src/cli/dev/tui/blocks.d.ts +3 -6
  24. package/dist/src/cli/dev/tui/blocks.js +3 -3
  25. package/dist/src/cli/dev/tui/command-typeahead.js +1 -1
  26. package/dist/src/cli/dev/tui/markdown.d.ts +8 -1
  27. package/dist/src/cli/dev/tui/markdown.js +7 -7
  28. package/dist/src/cli/dev/tui/message-queue.d.ts +11 -7
  29. package/dist/src/cli/dev/tui/message-queue.js +1 -1
  30. package/dist/src/cli/dev/tui/model-editor.d.ts +1 -1
  31. package/dist/src/cli/dev/tui/model-editor.js +1 -1
  32. package/dist/src/cli/dev/tui/prompt-command-handler.d.ts +0 -3
  33. package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
  34. package/dist/src/cli/dev/tui/prompt-commands.d.ts +1 -1
  35. package/dist/src/cli/dev/tui/prompt-commands.js +1 -1
  36. package/dist/src/cli/dev/tui/question-panel.js +1 -1
  37. package/dist/src/cli/dev/tui/remote-auth-result.js +1 -1
  38. package/dist/src/cli/dev/tui/remote-auth.js +1 -1
  39. package/dist/src/cli/dev/tui/remote-startup.d.ts +10 -0
  40. package/dist/src/cli/dev/tui/remote-startup.js +1 -0
  41. package/dist/src/cli/dev/tui/runner.d.ts +16 -19
  42. package/dist/src/cli/dev/tui/runner.js +3 -1
  43. package/dist/src/cli/dev/tui/setup-commands.d.ts +7 -13
  44. package/dist/src/cli/dev/tui/setup-commands.js +2 -2
  45. package/dist/src/cli/dev/tui/setup-issues.d.ts +1 -1
  46. package/dist/src/cli/dev/tui/setup-issues.js +1 -1
  47. package/dist/src/cli/dev/tui/setup-panel.d.ts +5 -17
  48. package/dist/src/cli/dev/tui/setup-panel.js +5 -6
  49. package/dist/src/cli/dev/tui/status-line.d.ts +1 -8
  50. package/dist/src/cli/dev/tui/status-line.js +1 -1
  51. package/dist/src/cli/dev/tui/steering-stream.d.ts +15 -0
  52. package/dist/src/cli/dev/tui/steering-stream.js +1 -0
  53. package/dist/src/cli/dev/tui/terminal-renderer.d.ts +8 -3
  54. package/dist/src/cli/dev/tui/terminal-renderer.js +12 -12
  55. package/dist/src/cli/dev/tui/test/mock-terminal.d.ts +2 -2
  56. package/dist/src/cli/dev/tui/test/mock-terminal.js +1 -1
  57. package/dist/src/cli/dev/tui/theme.d.ts +0 -2
  58. package/dist/src/cli/dev/tui/theme.js +1 -1
  59. package/dist/src/cli/dev/tui/tui.d.ts +4 -1
  60. package/dist/src/cli/dev/tui/vercel-status.d.ts +4 -2
  61. package/dist/src/cli/dev/tui/vercel-status.js +1 -1
  62. package/dist/src/cli/run.js +1 -1
  63. package/dist/src/cli/telemetry/index.d.ts +1 -1
  64. package/dist/src/cli/telemetry/index.js +1 -1
  65. package/dist/src/cli/ui/terminal-text.js +1 -1
  66. package/dist/src/client/agent-info-schema.d.ts +2 -57
  67. package/dist/src/client/agent-info-schema.js +1 -1
  68. package/dist/src/client/eve-agent-store-state.d.ts +19 -0
  69. package/dist/src/client/eve-agent-store.js +1 -1
  70. package/dist/src/client/ndjson.d.ts +2 -0
  71. package/dist/src/client/ndjson.js +3 -3
  72. package/dist/src/client/open-stream.d.ts +1 -0
  73. package/dist/src/client/open-stream.js +1 -1
  74. package/dist/src/compiled/.vendor-stamp.json +1 -1
  75. package/dist/src/compiled/@workflow/core/index.js +2 -2
  76. package/dist/src/compiled/@workflow/core/private.js +1 -1
  77. package/dist/src/compiled/@workflow/core/runtime/helpers.js +1 -0
  78. package/dist/src/compiled/@workflow/core/runtime.js +2 -2
  79. package/dist/src/compiled/@workflow/core/serialization.js +1 -0
  80. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  81. package/dist/src/compiled/@workflow/world-local/index.js +5 -5
  82. package/dist/src/compiled/@workflow/world-vercel/index.js +2 -2
  83. package/dist/src/compiled/_chunks/workflow/attribute-changes-DTFAjP0J.js +6 -0
  84. package/dist/src/compiled/_chunks/workflow/{dist-PLkAQ-U7.js → dist-C5KCXSdI.js} +1 -1
  85. package/dist/src/compiled/_chunks/workflow/{frames-BvATzM2t.js → frames-DJw9L4rO.js} +3 -3
  86. package/dist/src/compiled/_chunks/workflow/global-DFW-hO6M.js +1 -0
  87. package/dist/src/compiled/_chunks/workflow/helpers-ClCA9Lmc.js +1 -0
  88. package/dist/src/compiled/_chunks/workflow/logger-D6vwIEf9.js +13 -0
  89. package/dist/src/compiled/_chunks/workflow/resume-hook-_baK8jaT.js +1 -0
  90. package/dist/src/compiled/_chunks/workflow/run-CRdL17z4.js +1 -0
  91. package/dist/src/compiled/_chunks/workflow/serialization-CWYPL4Eq.js +3 -0
  92. package/dist/src/compiled/_chunks/workflow/sleep-BL0kgJnT.js +1 -0
  93. package/dist/src/compiled/_chunks/workflow/wait-until-DyIt9lEx.js +1 -0
  94. package/dist/src/compiled/_chunks/workflow/{ws-transport-CVezyWwZ.js → ws-transport-Dl5FG4Sw.js} +1 -1
  95. package/dist/src/compiler/extension-compatibility.d.ts +27 -8
  96. package/dist/src/compiler/extension-compatibility.js +1 -1
  97. package/dist/src/compiler/manifest.d.ts +12 -11
  98. package/dist/src/compiler/manifest.js +1 -1
  99. package/dist/src/compiler/normalize-manifest.js +1 -1
  100. package/dist/src/compiler/normalize-tool.d.ts +0 -3
  101. package/dist/src/compiler/normalize-tool.js +1 -1
  102. package/dist/src/compiler/validate-artifact.js +1 -1
  103. package/dist/src/context/dynamic-skill-lifecycle.js +1 -1
  104. package/dist/src/context/keys.d.ts +5 -1
  105. package/dist/src/context/keys.js +1 -1
  106. package/dist/src/eve-channel/audience.d.ts +2 -2
  107. package/dist/src/eve-channel/audience.js +1 -1
  108. package/dist/src/eve-channel/index.js +1 -1
  109. package/dist/src/eve-channel/request.js +4 -3
  110. package/dist/src/eve-channel/types.d.ts +5 -5
  111. package/dist/src/execution/activity-cohort.js +1 -1
  112. package/dist/src/execution/activity-collector.js +1 -1
  113. package/dist/src/execution/authorization-callback-match.d.ts +2 -1
  114. package/dist/src/execution/authorization-callback-match.js +1 -1
  115. package/dist/src/execution/cancel-descendant-turns-step.js +1 -1
  116. package/dist/src/execution/cancel-indexed-session-tasks-step.js +1 -1
  117. package/dist/src/execution/cancelled-model-call-batch.d.ts +1 -1
  118. package/dist/src/execution/connections/callback-route.d.ts +1 -11
  119. package/dist/src/execution/connections/callback-route.js +1 -1
  120. package/dist/src/execution/continuation-conflict-step.d.ts +0 -1
  121. package/dist/src/execution/continuation-conflict-step.js +1 -1
  122. package/dist/src/execution/coordination-dispatch-shared.d.ts +1 -1
  123. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  124. package/dist/src/execution/coordination-dispatch-step.d.ts +2 -2
  125. package/dist/src/execution/coordination-dispatch-step.js +1 -1
  126. package/dist/src/execution/create-session-step.d.ts +1 -1
  127. package/dist/src/execution/create-session-step.js +1 -1
  128. package/dist/src/execution/durable-session-store.d.ts +10 -49
  129. package/dist/src/execution/durable-session-store.js +1 -1
  130. package/dist/src/execution/dynamic-workflow/program-step.d.ts +21 -0
  131. package/dist/src/execution/dynamic-workflow/program-step.js +1 -0
  132. package/dist/src/execution/dynamic-workflow/schema.d.ts +36 -0
  133. package/dist/src/execution/dynamic-workflow/schema.js +1 -0
  134. package/dist/src/execution/dynamic-workflow/security-step.d.ts +3 -0
  135. package/dist/src/execution/dynamic-workflow/security-step.js +1 -0
  136. package/dist/src/execution/dynamic-workflow/tool.d.ts +8 -0
  137. package/dist/src/execution/dynamic-workflow/tool.js +1 -0
  138. package/dist/src/execution/dynamic-workflow/workflow.d.ts +10 -0
  139. package/dist/src/execution/dynamic-workflow/workflow.js +1 -0
  140. package/dist/src/execution/eve-workflow-attributes.d.ts +2 -17
  141. package/dist/src/execution/eve-workflow-attributes.js +1 -1
  142. package/dist/src/execution/hook-ownership.d.ts +2 -4
  143. package/dist/src/execution/hook-ownership.js +1 -1
  144. package/dist/src/execution/legacy-session/authorization.d.ts +9 -0
  145. package/dist/src/execution/legacy-session/authorization.js +1 -0
  146. package/dist/src/execution/legacy-session/completion-step.d.ts +10 -0
  147. package/dist/src/execution/legacy-session/completion-step.js +1 -0
  148. package/dist/src/execution/legacy-session/inbox.d.ts +24 -0
  149. package/dist/src/execution/legacy-session/inbox.js +1 -0
  150. package/dist/src/execution/legacy-session/input.d.ts +19 -0
  151. package/dist/src/execution/legacy-session/input.js +1 -0
  152. package/dist/src/execution/legacy-session/interrupt-step.d.ts +3 -0
  153. package/dist/src/execution/legacy-session/interrupt-step.js +1 -0
  154. package/dist/src/execution/legacy-session/prepare-step.d.ts +24 -0
  155. package/dist/src/execution/legacy-session/prepare-step.js +1 -0
  156. package/dist/src/execution/legacy-session/snapshot.d.ts +12 -0
  157. package/dist/src/execution/legacy-session/snapshot.js +1 -0
  158. package/dist/src/execution/legacy-session/turn-workflow.d.ts +8 -0
  159. package/dist/src/execution/legacy-session/turn-workflow.js +1 -0
  160. package/dist/src/execution/model-call-batching.d.ts +1 -0
  161. package/dist/src/execution/model-call-batching.js +1 -1
  162. package/dist/src/execution/node-step.d.ts +1 -5
  163. package/dist/src/execution/node-step.js +1 -1
  164. package/dist/src/execution/proxied-deliver-step.d.ts +2 -20
  165. package/dist/src/execution/proxied-deliver-step.js +1 -1
  166. package/dist/src/execution/reconcile-session-continuation-token.d.ts +1 -1
  167. package/dist/src/execution/report-dropped-wire-payload-step.d.ts +1 -1
  168. package/dist/src/execution/route-child-delivery.d.ts +2 -2
  169. package/dist/src/execution/route-child-delivery.js +1 -1
  170. package/dist/src/execution/runtime-context.js +1 -1
  171. package/dist/src/execution/sandbox/bindings/eve-image.js +1 -1
  172. package/dist/src/execution/session/accepted-deployment.d.ts +3 -0
  173. package/dist/src/execution/session/accepted-deployment.js +1 -0
  174. package/dist/src/execution/session/admission.d.ts +38 -0
  175. package/dist/src/execution/session/admission.js +1 -0
  176. package/dist/src/execution/session/entry-input.d.ts +42 -0
  177. package/dist/src/execution/session/entry-input.js +1 -0
  178. package/dist/src/execution/session/entry.d.ts +13 -0
  179. package/dist/src/execution/session/entry.js +1 -0
  180. package/dist/src/execution/session/event-sink.d.ts +31 -0
  181. package/dist/src/execution/session/event-sink.js +1 -0
  182. package/dist/src/execution/session/finalization.d.ts +33 -0
  183. package/dist/src/execution/session/finalization.js +1 -0
  184. package/dist/src/execution/session/handoff-steps.d.ts +22 -0
  185. package/dist/src/execution/session/handoff-steps.js +1 -0
  186. package/dist/src/execution/session/handoff.d.ts +69 -0
  187. package/dist/src/execution/session/handoff.js +1 -0
  188. package/dist/src/execution/session/hook-tokens.d.ts +11 -0
  189. package/dist/src/execution/session/hook-tokens.js +1 -0
  190. package/dist/src/execution/session/input-queue.d.ts +72 -0
  191. package/dist/src/execution/session/input-queue.js +1 -0
  192. package/dist/src/execution/session/next-input.d.ts +32 -0
  193. package/dist/src/execution/session/next-input.js +1 -0
  194. package/dist/src/execution/{pending-turn-state.d.ts → session/pending-turn-state.d.ts} +0 -1
  195. package/dist/src/execution/{pending-turn-state.js → session/pending-turn-state.js} +1 -1
  196. package/dist/src/execution/session/program.d.ts +47 -0
  197. package/dist/src/execution/session/program.js +1 -0
  198. package/dist/src/execution/session/route-selected-delivery.d.ts +9 -0
  199. package/dist/src/execution/session/route-selected-delivery.js +1 -0
  200. package/dist/src/execution/session/state-cursor.d.ts +31 -0
  201. package/dist/src/execution/session/state-cursor.js +1 -0
  202. package/dist/src/execution/{session-timeout-control.d.ts → session/timeout-control.d.ts} +1 -1
  203. package/dist/src/execution/session/timeout-control.js +1 -0
  204. package/dist/src/execution/{session-timeout-steps.d.ts → session/timeout-steps.d.ts} +3 -2
  205. package/dist/src/execution/session/timeout-steps.js +1 -0
  206. package/dist/src/execution/{session-timeout-workflow.d.ts → session/timeout-workflow.d.ts} +3 -1
  207. package/dist/src/execution/session/timeout-workflow.js +1 -0
  208. package/dist/src/execution/session/timeout.d.ts +3 -0
  209. package/dist/src/execution/session/timeout.js +1 -0
  210. package/dist/src/execution/session/turn-step-result.d.ts +4 -0
  211. package/dist/src/execution/session/turn-step-result.js +1 -0
  212. package/dist/src/execution/session/turn-step-types.d.ts +68 -0
  213. package/dist/src/execution/session/turn-step-types.js +1 -0
  214. package/dist/src/execution/{workflow-steps.d.ts → session/turn-step.d.ts} +1 -2
  215. package/dist/src/execution/session/turn-step.js +1 -0
  216. package/dist/src/execution/session/turn.d.ts +31 -0
  217. package/dist/src/execution/session/turn.js +1 -0
  218. package/dist/src/execution/session-inbox/address.d.ts +21 -0
  219. package/dist/src/execution/session-inbox/address.js +1 -0
  220. package/dist/src/execution/session-inbox/inbox.d.ts +54 -0
  221. package/dist/src/execution/session-inbox/inbox.js +1 -0
  222. package/dist/src/execution/session-inbox/protocol.d.ts +10 -0
  223. package/dist/src/execution/session-inbox/protocol.js +1 -0
  224. package/dist/src/execution/session-inbox/release-step.d.ts +5 -0
  225. package/dist/src/execution/session-inbox/release-step.js +1 -0
  226. package/dist/src/execution/session-inbox/resume.d.ts +21 -0
  227. package/dist/src/execution/session-inbox/resume.js +1 -0
  228. package/dist/src/execution/{turn-workflow-tool-run.d.ts → session-workflow-tool-run.d.ts} +2 -2
  229. package/dist/src/execution/session-workflow-tool-run.js +1 -0
  230. package/dist/src/execution/session.d.ts +0 -1
  231. package/dist/src/execution/session.js +2 -2
  232. package/dist/src/execution/settle-cancelled-turn-step.d.ts +2 -2
  233. package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
  234. package/dist/src/execution/skills/instructions.js +1 -1
  235. package/dist/src/execution/stable-workflow-names.d.ts +1 -1
  236. package/dist/src/execution/stable-workflow-names.js +1 -1
  237. package/dist/src/execution/task-input-response-route.js +1 -1
  238. package/dist/src/execution/tasks/child/steps.d.ts +1 -1
  239. package/dist/src/execution/tasks/child/steps.js +1 -1
  240. package/dist/src/execution/tasks/child/workflow.js +1 -1
  241. package/dist/src/execution/tasks/parent/delegate.d.ts +7 -0
  242. package/dist/src/execution/tasks/parent/delegate.js +1 -1
  243. package/dist/src/execution/tasks/parent/dispatch.js +1 -1
  244. package/dist/src/execution/tasks/parent/hitl-proxy-steps.js +1 -1
  245. package/dist/src/execution/tasks/parent/tool-execution.js +1 -1
  246. package/dist/src/execution/terminal-session-completion-step.d.ts +1 -1
  247. package/dist/src/execution/terminal-session-event.d.ts +1 -1
  248. package/dist/src/execution/terminal-session-event.js +1 -1
  249. package/dist/src/execution/terminal-session-failure-step.d.ts +1 -1
  250. package/dist/src/execution/terminal-session-failure-step.js +1 -1
  251. package/dist/src/execution/terminate-child-sessions-step.js +1 -1
  252. package/dist/src/execution/tools/sleep-workflow.js +1 -1
  253. package/dist/src/execution/tools/subagent/accept-event-step.js +1 -1
  254. package/dist/src/execution/tools/subagent/emit-called-step.d.ts +1 -1
  255. package/dist/src/execution/tools/subagent/emit-called-step.js +1 -1
  256. package/dist/src/execution/tools/subagent/invoke-agent.d.ts +1 -1
  257. package/dist/src/execution/tools/subagent/invoke-agent.js +1 -1
  258. package/dist/src/execution/tools/subagent/invoke-preparation.d.ts +6 -0
  259. package/dist/src/execution/tools/subagent/invoke-preparation.js +1 -1
  260. package/dist/src/execution/tools/subagent/invoke-step.d.ts +2 -0
  261. package/dist/src/execution/tools/subagent/invoke-step.js +1 -1
  262. package/dist/src/execution/tools/subagent/steer.d.ts +13 -0
  263. package/dist/src/execution/tools/subagent/steer.js +1 -0
  264. package/dist/src/execution/tools/subagent/task-agent-requests.d.ts +1 -1
  265. package/dist/src/execution/tools/subagent/task-agent-requests.js +1 -1
  266. package/dist/src/execution/tools/subagent/task-cancel.js +1 -1
  267. package/dist/src/execution/tools/workflow/ask.d.ts +0 -9
  268. package/dist/src/execution/tools/workflow/ask.js +1 -1
  269. package/dist/src/execution/tools/workflow/body.d.ts +0 -2
  270. package/dist/src/execution/tools/workflow/body.js +1 -1
  271. package/dist/src/execution/tools/workflow/emit-workflow-tool-run-report-step.d.ts +1 -1
  272. package/dist/src/execution/tools/workflow/emit-workflow-tool-run-report-step.js +1 -1
  273. package/dist/src/execution/tools/workflow/messages.d.ts +0 -1
  274. package/dist/src/execution/tools/workflow/messages.js +1 -1
  275. package/dist/src/execution/tools/workflow/owner.d.ts +3 -1
  276. package/dist/src/execution/tools/workflow/owner.js +1 -1
  277. package/dist/src/execution/tools/workflow/resume-hook-step.d.ts +1 -1
  278. package/dist/src/execution/tools/workflow/step-context.d.ts +0 -1
  279. package/dist/src/execution/tools/workflow/step-execution.js +1 -1
  280. package/dist/src/execution/tools/workflow/step.js +1 -1
  281. package/dist/src/execution/tools/workflow/workflow.js +1 -1
  282. package/dist/src/execution/workflow-runtime.d.ts +15 -18
  283. package/dist/src/execution/workflow-runtime.js +1 -1
  284. package/dist/src/harness/advertised-tools.d.ts +0 -3
  285. package/dist/src/harness/advertised-tools.js +1 -1
  286. package/dist/src/harness/authorization.d.ts +5 -37
  287. package/dist/src/harness/authorization.js +1 -1
  288. package/dist/src/harness/compaction.js +1 -1
  289. package/dist/src/harness/coordination.js +1 -1
  290. package/dist/src/harness/emission-state.d.ts +1 -0
  291. package/dist/src/harness/emission.js +1 -1
  292. package/dist/src/harness/generation-steering.d.ts +22 -0
  293. package/dist/src/harness/generation-steering.js +1 -0
  294. package/dist/src/harness/messages.d.ts +1 -1
  295. package/dist/src/harness/messages.js +1 -1
  296. package/dist/src/harness/prompt-cache.js +1 -1
  297. package/dist/src/harness/proxy-input-requests.d.ts +1 -1
  298. package/dist/src/harness/proxy-input-requests.js +1 -1
  299. package/dist/src/harness/semantic-errors/rules/gateway.js +1 -1
  300. package/dist/src/harness/semantic-errors/signals.js +1 -1
  301. package/dist/src/harness/session-limit-enforcement.js +1 -1
  302. package/dist/src/harness/tool-loop.js +2 -2
  303. package/dist/src/harness/types.d.ts +2 -21
  304. package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
  305. package/dist/src/instrumentation/channel-delivery.js +1 -1
  306. package/dist/src/instrumentation/content.js +1 -1
  307. package/dist/src/instrumentation/lifecycle.d.ts +6 -7
  308. package/dist/src/instrumentation/native-events.d.ts +2 -0
  309. package/dist/src/instrumentation/native-events.js +1 -1
  310. package/dist/src/instrumentation/runtime.js +1 -1
  311. package/dist/src/instrumentation/session-context.d.ts +2 -0
  312. package/dist/src/instrumentation/session-context.js +1 -1
  313. package/dist/src/internal/application/compiled-artifacts.js +3 -2
  314. package/dist/src/internal/application/package.js +1 -1
  315. package/dist/src/internal/authored-definition/connection.js +1 -1
  316. package/dist/src/internal/authored-definition/schema-backed.d.ts +3 -4
  317. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  318. package/dist/src/internal/gateway.d.ts +1 -0
  319. package/dist/src/internal/gateway.js +1 -1
  320. package/dist/src/internal/model-auth/api-key.d.ts +7 -0
  321. package/dist/src/internal/model-auth/api-key.js +1 -0
  322. package/dist/src/internal/model-auth/available-models.d.ts +2 -0
  323. package/dist/src/internal/model-auth/available-models.js +1 -0
  324. package/dist/src/internal/model-auth/development-broker-client.d.ts +3 -0
  325. package/dist/src/internal/model-auth/development-broker-client.js +1 -0
  326. package/dist/src/internal/model-auth/development-broker-protocol.d.ts +12 -0
  327. package/dist/src/internal/model-auth/development-broker-protocol.js +1 -0
  328. package/dist/src/internal/model-auth/development-broker-server.d.ts +4 -0
  329. package/dist/src/internal/model-auth/development-broker-server.js +1 -0
  330. package/dist/src/internal/model-auth/gateway-credential.d.ts +2 -0
  331. package/dist/src/internal/model-auth/gateway-credential.js +1 -0
  332. package/dist/src/internal/model-auth/store.d.ts +16 -0
  333. package/dist/src/internal/model-auth/store.js +1 -0
  334. package/dist/src/internal/model-auth/transport.d.ts +6 -0
  335. package/dist/src/internal/model-auth/transport.js +1 -0
  336. package/dist/src/internal/model-auth/vercel-cli.d.ts +7 -0
  337. package/dist/src/internal/model-auth/vercel-cli.js +1 -0
  338. package/dist/src/internal/model-auth/vercel-team.d.ts +3 -0
  339. package/dist/src/internal/model-auth/vercel-team.js +1 -0
  340. package/dist/src/internal/model-auth/vercel.d.ts +13 -0
  341. package/dist/src/internal/model-auth/vercel.js +1 -0
  342. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  343. package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
  344. package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
  345. package/dist/src/internal/nitro/host/drained-nitro-dev-server.js +1 -1
  346. package/dist/src/internal/nitro/host/start-development-server.js +2 -2
  347. package/dist/src/internal/nitro/host/workflow-sandbox-runtime-plugin.js +1 -1
  348. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  349. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
  350. package/dist/src/internal/nitro/routes/info.js +1 -1
  351. package/dist/src/internal/resolve-model-endpoint-status.d.ts +2 -0
  352. package/dist/src/internal/resolve-model-endpoint-status.js +1 -1
  353. package/dist/src/internal/vercel/api-resource.d.ts +4 -0
  354. package/dist/src/internal/vercel/api-resource.js +1 -0
  355. package/dist/src/internal/vercel/eve-service-contribution.js +1 -1
  356. package/dist/src/internal/vercel/vercel-services-config.d.ts +2 -0
  357. package/dist/src/internal/vercel/vercel-services-config.js +1 -1
  358. package/dist/src/internal/workflow/development-world-client.js +1 -1
  359. package/dist/src/internal/workflow/development-world-server.js +1 -1
  360. package/dist/src/internal/workflow/local-world-delivery-timeouts.d.ts +1 -1
  361. package/dist/src/internal/workflow/runtime.d.ts +1 -6
  362. package/dist/src/internal/workflow/runtime.js +1 -1
  363. package/dist/src/internal/workflow/vercel-world-defaults.d.ts +4 -0
  364. package/dist/src/internal/workflow/vercel-world-defaults.js +1 -0
  365. package/dist/src/protocol/activity.js +1 -1
  366. package/dist/src/protocol/message.d.ts +8 -0
  367. package/dist/src/protocol/message.js +2 -2
  368. package/dist/src/protocol/routes.d.ts +0 -2
  369. package/dist/src/protocol/routes.js +1 -1
  370. package/dist/src/public/channels/chat-sdk/audience.d.ts +2 -2
  371. package/dist/src/public/channels/discord/discordChannel.js +1 -1
  372. package/dist/src/public/channels/index.d.ts +1 -1
  373. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  374. package/dist/src/public/channels/teams/teamsChannel.js +1 -1
  375. package/dist/src/public/channels/telegram/audience.d.ts +2 -2
  376. package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
  377. package/dist/src/public/connections/index.d.ts +1 -1
  378. package/dist/src/public/definitions/channel.d.ts +2 -2
  379. package/dist/src/public/definitions/channel.js +1 -1
  380. package/dist/src/public/definitions/connections/mcp.d.ts +1 -1
  381. package/dist/src/public/definitions/connections/openapi.d.ts +1 -1
  382. package/dist/src/public/models/anthropic/index.d.ts +3 -0
  383. package/dist/src/public/models/anthropic/index.js +1 -0
  384. package/dist/src/public/models/openai/chatgpt/codex-app-server.js +1 -1
  385. package/dist/src/public/models/openai/chatgpt/credential-store.js +1 -1
  386. package/dist/src/public/models/openai/chatgpt/oauth.js +1 -1
  387. package/dist/src/public/models/openai/chatgpt/transport.js +1 -1
  388. package/dist/src/public/models/openai/index.d.ts +4 -2
  389. package/dist/src/public/models/openai/index.js +1 -1
  390. package/dist/src/public/sandbox/docker-sandbox.d.ts +1 -1
  391. package/dist/src/public/sandbox/microsandbox-sandbox.d.ts +1 -1
  392. package/dist/src/public/sandbox/vercel-sandbox.d.ts +1 -1
  393. package/dist/src/public/tools/workflow.d.ts +1 -4
  394. package/dist/src/public/tools/workflow.js +1 -1
  395. package/dist/src/public/vercel/index.d.ts +2 -1
  396. package/dist/src/public/vercel/index.js +1 -1
  397. package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
  398. package/dist/src/runtime/agent/resolve-model.js +1 -1
  399. package/dist/src/runtime/connections/authorization-tokens.d.ts +2 -4
  400. package/dist/src/runtime/connections/principal.d.ts +6 -6
  401. package/dist/src/runtime/connections/principal.js +1 -1
  402. package/dist/src/runtime/prompt/compose.js +1 -1
  403. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  404. package/dist/src/runtime/resolve-agent.js +1 -1
  405. package/dist/src/runtime/resolve-tool.js +1 -1
  406. package/dist/src/runtime/tools/registry.js +1 -1
  407. package/dist/src/runtime/types.d.ts +3 -9
  408. package/dist/src/self-modification/agent.js +1 -1
  409. package/dist/src/self-modification/extension/classify-registry-item.d.ts +3 -3
  410. package/dist/src/self-modification/extension/classify-registry-item.js +1 -1
  411. package/dist/src/self-modification/extension/tools/search_registry.d.ts +1 -7
  412. package/dist/src/self-modification/extension/tools/search_registry.js +1 -1
  413. package/dist/src/self-modification/setup.d.ts +9 -3
  414. package/dist/src/self-modification/setup.js +2 -2
  415. package/dist/src/setup/cli/option-row.d.ts +2 -1
  416. package/dist/src/setup/cli/option-row.js +1 -1
  417. package/dist/src/setup/cli/prompt-ui.d.ts +2 -0
  418. package/dist/src/setup/cli/prompt-ui.js +1 -1
  419. package/dist/src/setup/cli/select-state.d.ts +1 -1
  420. package/dist/src/setup/cli/select-state.js +1 -1
  421. package/dist/src/setup/flows/chatgpt-auth.js +1 -1
  422. package/dist/src/setup/flows/deploy.d.ts +4 -9
  423. package/dist/src/setup/flows/deploy.js +1 -1
  424. package/dist/src/setup/flows/ensure-vercel-project.js +1 -1
  425. package/dist/src/setup/flows/install-vercel-cli.d.ts +2 -3
  426. package/dist/src/setup/flows/login.d.ts +3 -1
  427. package/dist/src/setup/flows/login.js +1 -1
  428. package/dist/src/setup/flows/model-login-connection.d.ts +36 -0
  429. package/dist/src/setup/flows/model-login-connection.js +1 -0
  430. package/dist/src/setup/flows/model-login-progress.d.ts +7 -0
  431. package/dist/src/setup/flows/model-login-progress.js +1 -0
  432. package/dist/src/setup/flows/model-login.d.ts +22 -0
  433. package/dist/src/setup/flows/model-login.js +1 -0
  434. package/dist/src/setup/flows/model-source-change.d.ts +7 -0
  435. package/dist/src/setup/flows/model-source-change.js +1 -1
  436. package/dist/src/setup/flows/model.d.ts +6 -24
  437. package/dist/src/setup/flows/model.js +1 -1
  438. package/dist/src/setup/flows/registry.d.ts +3 -19
  439. package/dist/src/setup/flows/registry.js +1 -1
  440. package/dist/src/setup/flows/vercel-model-login.d.ts +5 -0
  441. package/dist/src/setup/flows/vercel-model-login.js +1 -0
  442. package/dist/src/setup/integrations/self-modification/setup.d.ts +2 -0
  443. package/dist/src/setup/integrations/self-modification/setup.js +1 -1
  444. package/dist/src/setup/project-resolution.js +1 -1
  445. package/dist/src/setup/prompter.d.ts +3 -1
  446. package/dist/src/setup/provider-settings.d.ts +19 -6
  447. package/dist/src/setup/provider-settings.js +1 -1
  448. package/dist/src/setup/scaffold/create/project.js +6 -2
  449. package/dist/src/setup/vercel-project.js +0 -0
  450. package/dist/src/setup/with-spinner.d.ts +1 -1
  451. package/dist/src/setup/with-spinner.js +1 -1
  452. package/dist/src/shared/action-types.js +1 -1
  453. package/dist/src/shared/agent-definition.d.ts +6 -4
  454. package/dist/src/shared/channel-definition.d.ts +2 -2
  455. package/dist/src/shared/chatgpt-model.d.ts +2 -2
  456. package/dist/src/shared/chatgpt-model.js +1 -1
  457. package/dist/src/shared/connection-types.d.ts +20 -7
  458. package/dist/src/shared/conversation-context.d.ts +15 -0
  459. package/dist/src/shared/model-connection.d.ts +17 -0
  460. package/dist/src/shared/model-connection.js +1 -0
  461. package/dist/src/shared/model-endpoint-status.d.ts +2 -1
  462. package/dist/src/shared/model-helper.d.ts +26 -0
  463. package/dist/src/shared/model-helper.js +1 -0
  464. package/dist/src/shared/package-version.d.ts +2 -0
  465. package/dist/src/shared/package-version.js +1 -0
  466. package/dist/src/shared/validate-authorization.js +1 -1
  467. package/dist/src/shared/vercel-services.d.ts +1 -0
  468. package/dist/src/shared/vercel-services.js +1 -1
  469. package/dist/src/shared/workflow-sandbox.d.ts +18 -12
  470. package/dist/src/shared/workflow-sandbox.js +1 -1
  471. package/dist/src/source-change/agent-config-ast.d.ts +6 -0
  472. package/dist/src/source-change/agent-config-ast.js +1 -1
  473. package/dist/src/source-change/apply-model-selection.d.ts +3 -1
  474. package/dist/src/source-change/apply-model-selection.js +1 -2
  475. package/dist/src/source-change/static-source-change.js +1 -1
  476. package/dist/src/subagents/callback-route.js +1 -1
  477. package/dist/src/subagents/event-proxy-step.d.ts +3 -3
  478. package/dist/src/subagents/event-proxy-step.js +1 -1
  479. package/dist/src/subagents/handle-dispatch.d.ts +12 -2
  480. package/dist/src/subagents/handle-dispatch.js +1 -1
  481. package/dist/src/subagents/handles/operation-id.d.ts +1 -1
  482. package/dist/src/subagents/handles/query.d.ts +0 -6
  483. package/dist/src/subagents/handles/query.js +1 -1
  484. package/dist/src/subagents/handles/state-key.d.ts +1 -1
  485. package/dist/src/subagents/handles/store.d.ts +1 -1
  486. package/dist/src/subagents/handles/store.js +1 -1
  487. package/dist/src/subagents/hitl-proxy.d.ts +1 -1
  488. package/dist/src/subagents/parent-notification.d.ts +2 -2
  489. package/dist/src/subagents/parent-result.d.ts +1 -1
  490. package/dist/src/subagents/remote-dispatch.d.ts +1 -1
  491. package/dist/src/subagents/remote-dispatch.js +1 -1
  492. package/dist/src/subagents/start-local.js +1 -1
  493. package/dist/src/subagents/tool.js +1 -1
  494. package/dist/src/svelte/index.js +1 -1
  495. package/dist/src/svelte/use-eve-agent.js +1 -1
  496. package/dist/src/tasks/session-index.d.ts +11 -0
  497. package/dist/src/tasks/session-index.js +1 -1
  498. package/dist/src/tasks/types.d.ts +1 -1
  499. package/dist/src/tools/auth.d.ts +5 -6
  500. package/dist/src/tools/provided/workflow.d.ts +12 -0
  501. package/dist/src/tools/provided/workflow.js +1 -0
  502. package/dist/src/tools/workflow-program-input.d.ts +6 -0
  503. package/dist/src/tools/workflow-program-input.js +1 -0
  504. package/dist/src/tracing/agent-otel-provider.js +2 -2
  505. package/dist/src/tracing/agent-otel-runtime-context.d.ts +2 -1
  506. package/dist/src/tracing/agent-otel-runtime-context.js +1 -1
  507. package/dist/src/tracing/agent-otel-session-context.js +1 -1
  508. package/dist/src/tracing/agent-otel-usage.js +1 -1
  509. package/dist/src/tracing/agent-span-contract.d.ts +1 -0
  510. package/dist/src/tracing/agent-span-contract.js +1 -1
  511. package/dist/src/tracing/agent-tool-instrumentation.js +1 -1
  512. package/dist/src/tracing/agent-trace-context-codec.js +1 -1
  513. package/dist/src/tracing/agent-trace-state.d.ts +2 -0
  514. package/dist/src/tracing/content-attributes.js +1 -1
  515. package/dist/src/tracing/local-instrumentation-runtime.d.ts +1 -1
  516. package/dist/src/tracing/local-instrumentation-runtime.js +1 -1
  517. package/dist/src/vue/index.js +1 -1
  518. package/dist/src/vue/use-eve-agent.js +1 -1
  519. package/docs/agent-config.md +23 -23
  520. package/docs/channels/chat-sdk.mdx +11 -2
  521. package/docs/channels/custom.mdx +32 -16
  522. package/docs/channels/eve.mdx +21 -19
  523. package/docs/channels/linear.mdx +7 -3
  524. package/docs/channels/linq.mdx +1 -1
  525. package/docs/channels/overview.mdx +17 -2
  526. package/docs/channels/photon.mdx +4 -1
  527. package/docs/channels/slack.mdx +12 -2
  528. package/docs/concepts/execution-model-and-durability.mdx +62 -13
  529. package/docs/concepts/sessions-runs-and-streaming.md +14 -5
  530. package/docs/connections/mcp.mdx +4 -1
  531. package/docs/connections/openapi.mdx +8 -2
  532. package/docs/connections/overview.mdx +16 -13
  533. package/docs/getting-started.mdx +8 -4
  534. package/docs/guides/deployment/self-hosting.md +1 -1
  535. package/docs/guides/deployment/vercel.mdx +3 -3
  536. package/docs/guides/dev-tui.md +58 -31
  537. package/docs/guides/dynamic-capabilities.md +4 -4
  538. package/docs/guides/frontend/overview.mdx +3 -1
  539. package/docs/guides/hooks.md +1 -1
  540. package/docs/guides/instrumentation/meta.json +5 -0
  541. package/docs/guides/instrumentation/otel.mdx +149 -0
  542. package/docs/guides/instrumentation/overview.md +199 -0
  543. package/docs/guides/instrumentation/providers.mdx +169 -0
  544. package/docs/guides/meta.json +0 -1
  545. package/docs/guides/remote-agents.md +19 -21
  546. package/docs/install-integrations.mdx +2 -4
  547. package/docs/memory/custom-provider.md +1 -1
  548. package/docs/patterns/multi-tenant-auth.md +3 -3
  549. package/docs/protocols/acp.md +1 -1
  550. package/docs/reference/cli.md +16 -16
  551. package/docs/reference/telemetry.md +1 -1
  552. package/docs/reference/typescript-api.md +21 -14
  553. package/docs/sandbox.mdx +3 -3
  554. package/docs/subagents/index.mdx +4 -4
  555. package/docs/tools/workflows.mdx +57 -2
  556. package/docs/tutorial/how-it-runs.mdx +1 -1
  557. package/package.json +6 -1
  558. package/dist/src/cli/commands/init-repl.d.ts +0 -80
  559. package/dist/src/cli/commands/init-repl.js +0 -1
  560. package/dist/src/cli/commands/init-self-modification.d.ts +0 -7
  561. package/dist/src/cli/commands/init-self-modification.js +0 -1
  562. package/dist/src/cli/commands/registry-package.d.ts +0 -52
  563. package/dist/src/cli/commands/registry-package.js +0 -1
  564. package/dist/src/cli/dev/tui/prompt-placeholder.d.ts +0 -12
  565. package/dist/src/cli/dev/tui/prompt-placeholder.js +0 -1
  566. package/dist/src/cli/dev/tui/remote-auth-command.d.ts +0 -11
  567. package/dist/src/cli/dev/tui/remote-auth-command.js +0 -3
  568. package/dist/src/compiled/_chunks/workflow/attribute-changes-BAcgmlXp.js +0 -20
  569. package/dist/src/compiled/_chunks/workflow/private-CFJkQA7R.js +0 -1
  570. package/dist/src/compiled/_chunks/workflow/resume-hook-BEHe0Uut.js +0 -1
  571. package/dist/src/compiled/_chunks/workflow/run-ChHLjaCt.js +0 -1
  572. package/dist/src/compiled/_chunks/workflow/sleep-BB2HuVie.js +0 -1
  573. package/dist/src/execution/accepted-delivery-deployment.d.ts +0 -7
  574. package/dist/src/execution/accepted-delivery-deployment.js +0 -1
  575. package/dist/src/execution/dispatch-turn-step.d.ts +0 -5
  576. package/dist/src/execution/dispatch-turn-step.js +0 -1
  577. package/dist/src/execution/durable-session-migrations/chain.d.ts +0 -38
  578. package/dist/src/execution/durable-session-migrations/chain.js +0 -1
  579. package/dist/src/execution/durable-session-migrations/snapshot.d.ts +0 -6
  580. package/dist/src/execution/durable-session-migrations/snapshot.js +0 -1
  581. package/dist/src/execution/durable-session-migrations/turn-workflow-v0-to-v1.d.ts +0 -12
  582. package/dist/src/execution/durable-session-migrations/turn-workflow-v0-to-v1.js +0 -1
  583. package/dist/src/execution/durable-session-migrations/turn-workflow-v1-to-v2.d.ts +0 -2
  584. package/dist/src/execution/durable-session-migrations/turn-workflow-v1-to-v2.js +0 -1
  585. package/dist/src/execution/durable-session-migrations/turn-workflow.d.ts +0 -88
  586. package/dist/src/execution/durable-session-migrations/turn-workflow.js +0 -1
  587. package/dist/src/execution/forward-turn-cancellation-step.d.ts +0 -6
  588. package/dist/src/execution/forward-turn-cancellation-step.js +0 -1
  589. package/dist/src/execution/forward-turn-delivery-step.d.ts +0 -6
  590. package/dist/src/execution/forward-turn-delivery-step.js +0 -1
  591. package/dist/src/execution/inline-turn.d.ts +0 -31
  592. package/dist/src/execution/inline-turn.js +0 -1
  593. package/dist/src/execution/next-driver-action.d.ts +0 -93
  594. package/dist/src/execution/parked-delivery-wait.d.ts +0 -54
  595. package/dist/src/execution/parked-delivery-wait.js +0 -1
  596. package/dist/src/execution/session-command-inbox.d.ts +0 -52
  597. package/dist/src/execution/session-command-inbox.js +0 -1
  598. package/dist/src/execution/session-command-token.d.ts +0 -6
  599. package/dist/src/execution/session-command-token.js +0 -1
  600. package/dist/src/execution/session-state-cursor.d.ts +0 -25
  601. package/dist/src/execution/session-state-cursor.js +0 -1
  602. package/dist/src/execution/session-timeout-control.js +0 -1
  603. package/dist/src/execution/session-timeout-steps.js +0 -1
  604. package/dist/src/execution/session-timeout-workflow.js +0 -1
  605. package/dist/src/execution/session-timeout.d.ts +0 -2
  606. package/dist/src/execution/session-timeout.js +0 -1
  607. package/dist/src/execution/turn-cancellation-control.d.ts +0 -30
  608. package/dist/src/execution/turn-cancellation-control.js +0 -1
  609. package/dist/src/execution/turn-cancellation-token.d.ts +0 -10
  610. package/dist/src/execution/turn-cancellation-token.js +0 -1
  611. package/dist/src/execution/turn-control-protocol.d.ts +0 -36
  612. package/dist/src/execution/turn-control-protocol.js +0 -1
  613. package/dist/src/execution/turn-control-receiver.d.ts +0 -54
  614. package/dist/src/execution/turn-control-receiver.js +0 -1
  615. package/dist/src/execution/turn-dispatch.d.ts +0 -39
  616. package/dist/src/execution/turn-dispatch.js +0 -1
  617. package/dist/src/execution/turn-execution-cursor.d.ts +0 -49
  618. package/dist/src/execution/turn-execution-cursor.js +0 -1
  619. package/dist/src/execution/turn-workflow-tool-run.js +0 -1
  620. package/dist/src/execution/turn-workflow.d.ts +0 -13
  621. package/dist/src/execution/turn-workflow.js +0 -1
  622. package/dist/src/execution/wire/session-inbox-contract.d.ts +0 -38
  623. package/dist/src/execution/wire/session-inbox-contract.js +0 -1
  624. package/dist/src/execution/wire/session-inbox-encoder.d.ts +0 -47
  625. package/dist/src/execution/wire/session-inbox-encoder.js +0 -1
  626. package/dist/src/execution/wire/session-inbox-resume.d.ts +0 -12
  627. package/dist/src/execution/wire/session-inbox-resume.js +0 -1
  628. package/dist/src/execution/wire/session-inbox-wire.d.ts +0 -29
  629. package/dist/src/execution/wire/session-inbox-wire.js +0 -1
  630. package/dist/src/execution/wire/session-inbox-wire.v0.d.ts +0 -5
  631. package/dist/src/execution/wire/session-inbox-wire.v0.js +0 -1
  632. package/dist/src/execution/wire/session-inbox-wire.v1.d.ts +0 -237
  633. package/dist/src/execution/wire/session-inbox-wire.v1.js +0 -1
  634. package/dist/src/execution/wire/session-inbox-wire.v2-migration.d.ts +0 -2
  635. package/dist/src/execution/wire/session-inbox-wire.v2-migration.js +0 -1
  636. package/dist/src/execution/wire/session-inbox-wire.v2.d.ts +0 -478
  637. package/dist/src/execution/wire/session-inbox-wire.v2.js +0 -1
  638. package/dist/src/execution/wire/session-inbox-wire.v2.migration.d.ts +0 -3
  639. package/dist/src/execution/wire/session-inbox-wire.v2.migration.js +0 -1
  640. package/dist/src/execution/wire/session-inbox-wire.v3.d.ts +0 -480
  641. package/dist/src/execution/wire/session-inbox-wire.v3.js +0 -1
  642. package/dist/src/execution/wire/session-inbox-wire.v3.migration.d.ts +0 -3
  643. package/dist/src/execution/wire/session-inbox-wire.v3.migration.js +0 -1
  644. package/dist/src/execution/wire/session-inbox-wire.v4.d.ts +0 -267
  645. package/dist/src/execution/wire/session-inbox-wire.v4.js +0 -1
  646. package/dist/src/execution/wire/session-inbox-wire.v4.migration.d.ts +0 -3
  647. package/dist/src/execution/wire/session-inbox-wire.v4.migration.js +0 -1
  648. package/dist/src/execution/wire/session-inbox-wire.v5.d.ts +0 -341
  649. package/dist/src/execution/wire/session-inbox-wire.v5.js +0 -1
  650. package/dist/src/execution/wire/session-inbox-wire.v5.migration.d.ts +0 -3
  651. package/dist/src/execution/wire/session-inbox-wire.v5.migration.js +0 -1
  652. package/dist/src/execution/wire/session-inbox-wire.v6.d.ts +0 -341
  653. package/dist/src/execution/wire/session-inbox-wire.v6.js +0 -1
  654. package/dist/src/execution/wire/session-inbox-wire.v7.d.ts +0 -342
  655. package/dist/src/execution/wire/session-inbox-wire.v7.js +0 -1
  656. package/dist/src/execution/workflow-entry-crash.d.ts +0 -39
  657. package/dist/src/execution/workflow-entry-crash.js +0 -1
  658. package/dist/src/execution/workflow-entry-finalization.d.ts +0 -28
  659. package/dist/src/execution/workflow-entry-finalization.js +0 -1
  660. package/dist/src/execution/workflow-entry.d.ts +0 -37
  661. package/dist/src/execution/workflow-entry.js +0 -1
  662. package/dist/src/execution/workflow-steps.js +0 -1
  663. package/dist/src/harness/workflow-continuation-security.d.ts +0 -5
  664. package/dist/src/harness/workflow-continuation-security.js +0 -1
  665. package/dist/src/harness/workflow-interrupt-state.d.ts +0 -20
  666. package/dist/src/harness/workflow-interrupt-state.js +0 -1
  667. package/dist/src/harness/workflow-lifecycle.d.ts +0 -32
  668. package/dist/src/harness/workflow-lifecycle.js +0 -1
  669. package/dist/src/harness/workflow-sandbox.d.ts +0 -28
  670. package/dist/src/harness/workflow-sandbox.js +0 -2
  671. package/dist/src/harness/workflow-subagent-limit.d.ts +0 -28
  672. package/dist/src/harness/workflow-subagent-limit.js +0 -1
  673. package/dist/src/harness/workflow-task-state.d.ts +0 -9
  674. package/dist/src/harness/workflow-task-state.js +0 -1
  675. package/dist/src/harness/workflow-tool-description.d.ts +0 -22
  676. package/dist/src/harness/workflow-tool-description.js +0 -37
  677. package/dist/src/subagents/handles/rebase.d.ts +0 -4
  678. package/dist/src/subagents/handles/rebase.js +0 -1
  679. package/dist/src/tools/workflow.d.ts +0 -37
  680. package/dist/src/tools/workflow.js +0 -1
  681. package/docs/guides/instrumentation-providers.md +0 -249
  682. package/docs/guides/instrumentation.md +0 -453
  683. /package/dist/src/{execution/next-driver-action.js → client/eve-agent-store-state.js} +0 -0
@@ -13,7 +13,7 @@ Work nests in three levels:
13
13
  - **turn**: one user message and all the work it triggers (model calls, tool calls, reasoning) until the agent produces its response.
14
14
  - **step**: a durable checkpoint inside a turn. By default, it contains one model call and the inline tool calls that follow it.
15
15
 
16
- Every turn runs as a durable workflow, built on the open-source [Workflow SDK](https://workflow-sdk.dev/) (Vercel Workflow when you deploy on Vercel). eve checkpoints progress and serializes durable state at each step boundary. Your code runs inside a managed step, so tools, the sandbox, and subagents feel synchronous even though the session underneath them is durable.
16
+ Every session runs as one durable workflow, built on the open-source [Workflow SDK](https://workflow-sdk.dev/) (Vercel Workflow when you deploy on Vercel). The session workflow executes each turn and checkpoints progress at step boundaries. Your code runs inside a managed step, so tools, the sandbox, and subagents feel synchronous even though the session underneath them is durable.
17
17
 
18
18
  The experimental
19
19
  [`workflow.modelCallsPerStep`](../agent-config#workflow-checkpoint-batching)
@@ -21,9 +21,40 @@ agent setting can group several sequential model-and-tool cycles into one
21
21
  Workflow step. This reduces checkpoint overhead but makes the entire group one
22
22
  replay unit.
23
23
 
24
- The Workflow SDK is not inherently tied to Vercel. In local development and in a self-deployed `eve start` process, eve uses the SDK's local world by default; that world persists workflow runs on disk under `.eve/.workflow-data` and dispatches through the same Nitro-hosted workflow routes. On Vercel, the same workflow code runs against Vercel Workflow instead, which adds platform features such as latest production deployment routing and dashboard run metadata.
24
+ The Workflow SDK is not inherently tied to Vercel. In local development and in a self-deployed `eve start` process, eve uses the SDK's local world by default; that world persists workflow runs on disk under `.eve/.workflow-data` and dispatches through the same Nitro-hosted workflow routes. On Vercel, the same workflow code runs against Vercel Workflow instead, which adds deployment-aware routing and dashboard run metadata.
25
25
 
26
- When a Vercel production deployment changes, the next model turn in an existing session uses that deployment's current system-role instructions, model, and tools. Static user-role instructions stay pinned in the durable conversation history and are not seeded again. Identity-based channels such as Telegram private chats and Twilio phone-number conversations therefore adopt agent behavior updates without duplicating or rewriting their existing context.
26
+ When a Vercel production deployment changes, a new delivery to an idle session hands the session's settled state to the exact deployment that accepted the request. This applies whether the delivery arrives through the session ID or through any channel continuation address the session has claimed. The session keeps its original ID and event stream, while the next model turn uses that deployment's current system-role instructions, model, and tools. Static user-role instructions stay pinned in the durable conversation history and are not seeded again. A successful handoff restarts the session's original configured [`sessionTimeoutMs`](../agent-config#runtime-limits) duration; disabled timeouts stay disabled. Failed or skipped handoffs keep the existing deadline.
27
+
28
+ Before taking ownership, the target deployment validates the checkpoint's stored tasks and subagent handles and checks that no pending work remains. This includes settled tasks. If that validation fails, the previous owner recovers the session and processes the triggering delivery. Task and handle state preserve unknown metadata fields, while known fields and lifecycle rules must still be valid. Authored session state remains opaque to this validation.
29
+
30
+ eve does not move live work between deployments. A session with a running turn, pending human input or authorization, queued messages, or active tasks and subagents stays on its current deployment. After that work settles, a later delivery can move the idle session; the earlier deployment signal is not remembered.
31
+
32
+ ### Upgrading sessions from the former execution model
33
+
34
+ You can upgrade directly from a release that used a session driver and separate
35
+ turn workflows. When an existing driver next dispatches a turn to this deployment,
36
+ eve imports its committed conversation into the current runtime. The session
37
+ keeps its ID, history, authored state, usage, limits, and original event stream.
38
+ Subsequent turns use the new deployment's instructions, model, and tools.
39
+
40
+ This is a one-time interruption of pending work. Old tool calls, subagents,
41
+ input requests, and authorization attempts are abandoned; start that work again
42
+ if it is still needed. Messages already buffered exclusively inside the old
43
+ driver are not imported. The triggering message is preserved without repeating
44
+ committed tool effects.
45
+
46
+ Import supports drivers started on eve 0.45 or later. A session from an older
47
+ release reports itself inactive on its next message, and its channel starts a
48
+ fresh session.
49
+
50
+ Keep the original deployment available until these sessions end. Their old
51
+ drivers remain waiting to keep the original streams open; the current runtime
52
+ owns subsequent turns. Import restarts the original configured session timeout;
53
+ disabled timeouts stay disabled. A driver
54
+ that has not reached its next turn dispatch has not migrated yet.
55
+
56
+ Transparent rollback to the former execution model is unsupported. Retire and
57
+ restart affected sessions before rolling back.
27
58
 
28
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()`.
29
60
 
@@ -70,9 +101,9 @@ executions from the same batch. Approval, input, blocking coordination, and
70
101
  background-task boundaries still force a checkpoint before eve waits or
71
102
  acknowledges the work.
72
103
 
73
- Steering does not replay or discard the whole batch. eve aborts the active
74
- model-and-tool cycle, commits earlier completed cycles in the batch, and starts
75
- the replacement turn from that state in the next Workflow step.
104
+ Steering can interrupt pending model generation before assistant output begins.
105
+ An executing tool finishes safely, then the batch yields before another model
106
+ call so the owner can apply accepted steering within the same turn.
76
107
 
77
108
  Durability itself needs no configuration. eve owns the workflow lifecycle, and
78
109
  sessions are durable by default; checkpoint batching is an explicit
@@ -102,15 +133,33 @@ ID-addressed HTTP delivery and a channel-address delivery both target the
102
133
  session's current command inbox; neither is a general message queue.
103
134
 
104
135
  Only one active session can own a channel continuation token. A channel-created
105
- session commits both its stable session-ID alias and its channel alias before
106
- processing the first turn, and fails creation if another run already owns the
107
- channel alias. Rekeying replaces only that channel alias. An HTTP-created
108
- session has the stable ID alias and no channel continuation token. Competing
109
- channel input is not forwarded to the owner.
136
+ session claims both its stable session-ID inbox and its initial channel address
137
+ before processing the first turn, and fails creation if another run already
138
+ owns the channel address. Aliasing adds another continuation address to the
139
+ same session; every previously claimed address remains active until the session
140
+ ends or resets. An ID-only HTTP session has the stable inbox and no channel
141
+ continuation address. When cold starts race for the same address, the losing
142
+ candidate forwards its accepted message to the owner and exits.
143
+
144
+ Channel delivery attempts to resume the address before creating a session.
145
+ After Workflow accepts the delivery, eve resolves the stable session ID for
146
+ the returned handle. That identity lookup does not block workflow resumption.
147
+ ID-addressed delivery already knows the session ID and needs no hook metadata
148
+ lookup. An ambiguous delivery failure does not trigger session creation.
149
+
150
+ While a handoff is in progress, the session's addresses are briefly unowned.
151
+ The releasing owner leaves a short-lived marker for each address, so a
152
+ delivery that lands in that interval retries until the successor claims the
153
+ address instead of being reported as an inactive session. A channel therefore
154
+ never starts a replacement session for an address that is mid-handoff.
155
+
156
+ When a session is waiting, a delivery through its ID or any claimed channel address wakes it and starts the next turn. Message sends default to `turnPolicy: "steer"`. Before assistant output begins, the session owner signals pending model generation to stop, then applies the correction within the same turn and with the same turn ID. This includes model requests that perform provider-managed search before answering; interrupted search work may run again. Reasoning and search progress do not count as assistant output.
157
+
158
+ An executing eve tool finishes and commits its result before steering reaches the next model request. Steering does not cancel the turn or its background tasks. After assistant output starts, steering applies at the next committed workflow boundary and preserves streamed text. A message that reaches the boundary after the turn has settled starts another turn.
110
159
 
111
- When a session is waiting, a delivery through its ID or current channel address wakes it and starts the next turn. Message sends default to `turnPolicy: "steer"`: while a turn is active, the session driver durably buffers the replacement before requesting cooperative cancellation. The interrupted turn emits `turn.cancelled` followed by `session.waiting`, then the replacement starts with a new turn ID. Partial output and completed side effects are not rolled back.
160
+ Once eve publishes an input request or begins publishing turn completion or failure, eve finishes committing that boundary before applying new messages.
112
161
 
113
- `turnPolicy: "queue"` preserves the message until the active turn settles. If several deliveries are ready when the driver checks, eve may fold adjacent messages into the next turn while preserving their arrival order. Pure `inputResponses` deliveries do not steer; they remain available to the pending request they address.
162
+ `turnPolicy: "queue"` preserves the message until the active turn settles. If several deliveries are ready when the owner checks, eve may fold adjacent messages into the next turn while preserving their arrival order. Pure `inputResponses` deliveries do not steer; they remain available to the pending request they address.
114
163
 
115
164
  Every built-in and custom channel accepts a default `turnPolicy`, and imperative message sends can override it. The policy is part of the same durable delivery command as the message, so concurrent senders cannot separate replacement ownership from cancellation intent. Separate sessions still run independently.
116
165
 
@@ -11,15 +11,22 @@ The HTTP API and TypeScript client use one durable `sessionId` for messages,
11
11
  controls, and streams. Every operation targets that exact session; none follows
12
12
  or creates a replacement implicitly.
13
13
 
14
+ The session ID currently identifies the original Workflow run that owns the
15
+ event stream. A deployment handoff changes the executing run, not the session
16
+ ID or stream. Stream namespaces belong to a run; eve does not support
17
+ caller-assigned session IDs or globally addressed streams.
18
+
14
19
  Authored channels also have channel-local continuation tokens. A token addresses
15
20
  whichever session currently owns a platform conversation, such as a Slack thread.
16
21
  That identity stays behind the channel boundary and is never accepted or returned
17
22
  by the eve HTTP session API. See [Custom channels](../channels/custom#channel-operations-and-session-handles).
18
23
 
19
24
  Sessions last 30 days by default; configure `limits.sessionTimeoutMs` in
20
- `agent.ts`, or set it to `false` to disable the deadline. At expiration, eve
25
+ `agent.ts`, or set it to `false` to disable the deadline. A successful deployment
26
+ handoff or legacy-session import restarts the original configured duration.
27
+ Ordinary messages and process restarts keep the existing deadline. At expiration, eve
21
28
  lets an active turn settle, emits `session.completed`, and releases the
22
- continuation so the next qualifying channel message starts fresh. Stored
29
+ session's continuation addresses so the next qualifying channel message starts fresh. Stored
23
30
  session data is not deleted. See [Agent config](../agent-config#runtime-limits).
24
31
 
25
32
  React, Vue, and Svelte apps reach for [`useEveAgent()`](../guides/frontend/overview) instead of calling these routes by hand. Next.js and Nuxt apps can proxy them to the eve runtime from the same origin.
@@ -164,7 +171,7 @@ Three more things to know:
164
171
  - **Ids identify events, not intent.** Two events with identical payloads — the `step.failed` → `turn.failed` → `session.failed` cascade, or two identical text deltas in one step — are distinct events with distinct ids. Deduplicate on `meta.id` only; matching on content would drop real data.
165
172
  - **A subagent's event is re-emitted, not shared.** When a parent forwards a child's event onto its own stream, the parent's copy is a separate event with its own id. Correlate the two streams through `subagent.called.data.childSessionId`.
166
173
 
167
- Authored [hooks](../guides/hooks) receive the same envelope, but observe each event as it is emitted rather than as it is read — so a hook sees a retry as new events, and `meta.id` is a key for a stored row rather than a retry guard. Two things a hook does not have to defend against: a turn that parks for human input resumes without re-emitting anything it already sent, and a retried turn dispatch cannot double-stream a turn, because only one turn run can claim a session's turn inbox.
174
+ Authored [hooks](../guides/hooks) receive the same envelope, but observe each event as it is emitted rather than as it is read — so a hook sees a retry as new events, and `meta.id` is a key for a stored row rather than a retry guard. Two things a hook does not have to defend against: a turn that parks for human input resumes without re-emitting anything it already sent, and a retried turn dispatch cannot double-stream a turn, because one session owner executes it.
168
175
 
169
176
  ## Send a follow-up message
170
177
 
@@ -184,7 +191,7 @@ curl -X POST http://127.0.0.1:2000/eve/v1/session/<sessionId> \
184
191
  -d '{"inputResponses":[{"requestId":"req_A","optionId":"approve"}]}'
185
192
  ```
186
193
 
187
- Message sends default to cancellation-backed `"steer"`; if a turn is active, eve buffers the follow-up, cancels that turn, and starts the message under a new turn ID. Channels and TypeScript `Session.send(...)` calls can select `turnPolicy: "queue"` when active work should finish first. Structured `inputResponses` never steer.
194
+ Message sends default to `"steer"`. Before assistant output begins, eve interrupts pending model generation and continues the same turn with the correction. Reasoning and provider search progress do not count as assistant output. An executing eve tool finishes safely, and its result is preserved before the correction reaches the next model call. After assistant output starts, steering applies at the next committed workflow boundary; text already streamed remains visible. Channels and TypeScript `Session.send(...)` calls can select `turnPolicy: "queue"` when the active turn should finish first. Structured `inputResponses` answer their addressed requests.
188
195
 
189
196
  If the session is waiting on a human-in-the-loop approval, respond with the channel’s Approve or Cancel controls. Text messages do not decide an approval; unrelated text starts an ordinary turn while the approval stays pending and answerable. A later structured `inputResponses` answer keyed by its `requestId` still resumes the original tool call, even after intervening turns.
190
197
 
@@ -194,7 +201,7 @@ A structured response matches any currently pending request by ID, not only the
194
201
 
195
202
  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.
196
203
 
197
- Multiple replacement messages retain their durable arrival order and may be folded into the same replacement turn when they arrive before cancellation settles. See [message delivery and steering](./execution-model-and-durability#message-delivery-and-steering) for the current runtime contract.
204
+ 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).
198
205
 
199
206
  ## Cancel the in-flight turn
200
207
 
@@ -244,6 +251,8 @@ Reset terminally retires the exact session ID. A reset ID never becomes a new se
244
251
 
245
252
  The stream is durable. Every event is recorded before a step completes, so consumers can reconnect from their cursor when an HTTP connection ends. A nonnegative `startIndex` is an absolute event count: use it to pick up where you dropped off or pass `0` to rewind to the start.
246
253
 
254
+ When automatic reconnection is enabled and `startIndex` is nonnegative, the TypeScript client requests renewable leases over that durable stream. A server that supports leases sends transport heartbeats during quiet periods, then ends the response so the client reconnects from its current cursor. This bounds server-side stream readers even when a host does not report that the client disconnected. The lease renewal and heartbeats are transport details: they do not stop the run or appear as session events. Tail-relative reads and streams with reconnection disabled do not request leases.
255
+
247
256
  If a reconnect overlaps events you already handled, [`meta.id`](#the-event-envelope) identifies the duplicates: it is unchanged across reconnects and rewinds, so a consumer keyed on it can replay safely.
248
257
 
249
258
  ```bash
@@ -125,7 +125,10 @@ const publishesNow = (input: unknown): boolean => {
125
125
  export default defineMcpClientConnection({
126
126
  url: "https://mcp.example.com/mcp",
127
127
  description: "Social publishing: draft, schedule, and manage posts.",
128
- auth: { getToken: async () => ({ token: process.env.SOCIAL_API_KEY! }) },
128
+ auth: {
129
+ credentialOwner: "app",
130
+ getToken: async () => ({ token: process.env.SOCIAL_API_KEY! }),
131
+ },
129
132
  approval: ({ toolName, toolInput }) => {
130
133
  if (DELETE_TOOLS.some((t) => toolName.includes(t))) return "user-approval";
131
134
  if (PUBLISH_TOOLS.some((t) => toolName.includes(t))) {
@@ -17,7 +17,10 @@ import { defineOpenAPIConnection } from "eve/connections";
17
17
  export default defineOpenAPIConnection({
18
18
  spec: "https://petstore3.swagger.io/api/v3/openapi.json",
19
19
  description: "Pet store inventory and orders.",
20
- auth: { getToken: async () => ({ token: process.env.PETSTORE_TOKEN! }) },
20
+ auth: {
21
+ credentialOwner: "app",
22
+ getToken: async () => ({ token: process.env.PETSTORE_TOKEN! }),
23
+ },
21
24
  });
22
25
  ```
23
26
 
@@ -102,7 +105,10 @@ import { defineOpenAPIConnection } from "eve/connections";
102
105
  export default defineOpenAPIConnection({
103
106
  spec: "https://petstore3.swagger.io/api/v3/openapi.json",
104
107
  description: "Pet store inventory and orders.",
105
- auth: { getToken: async () => ({ token: process.env.PETSTORE_TOKEN! }) },
108
+ auth: {
109
+ credentialOwner: "app",
110
+ getToken: async () => ({ token: process.env.PETSTORE_TOKEN! }),
111
+ },
106
112
  operations: { allow: ["getInventory", "placeOrder"] },
107
113
  });
108
114
  ```
@@ -69,6 +69,7 @@ export default defineMcpClientConnection({
69
69
  url: "https://mcp.linear.app/mcp",
70
70
  description: "Linear workspace.",
71
71
  auth: {
72
+ credentialOwner: "app",
72
73
  getToken: async () => ({ token: process.env.LINEAR_API_TOKEN! }),
73
74
  },
74
75
  });
@@ -76,7 +77,7 @@ export default defineMcpClientConnection({
76
77
 
77
78
  If the token has a known TTL, set `expiresAt` (milliseconds since epoch) and eve refreshes ahead of time rather than waiting for a `401`.
78
79
 
79
- When `getToken` is the only auth, `principalType` defaults to `"app"`: one shared credential keyed across all sessions. Switch to `principalType: "user"` when each end-user carries their own token.
80
+ When `getToken` is the only auth, `credentialOwner` defaults to `"app"`: one shared credential keyed across all sessions. Set `credentialOwner: "user"` when each end-user carries their own token.
80
81
 
81
82
  eve resolves and caches connection tokens per step; they never land in conversation history or reach the model.
82
83
 
@@ -86,11 +87,13 @@ A connection credential can belong to the agent or to the person using it. This
86
87
 
87
88
  | Credential owner | Use when | Auth shape |
88
89
  | ---------------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
89
- | App | The agent should use one shared service, bot, installation, or app credential. | `auth: { getToken }` defaults to `principalType: "app"`, or use `connect({ connector: "linear/myagent", principalType: "app" })` with Vercel Connect. |
90
- | User | Each end-user should authorize and use their own third-party account. | `connect("linear/myagent")`, `connect({ connector: "linear/myagent", principalType: "user" })`, or `auth: { principalType: "user", getToken }`. |
90
+ | App | The agent should use one shared service, bot, installation, or app credential. | `auth: { getToken }` defaults to `credentialOwner: "app"`, or use `connect({ connector: "linear/myagent", principalType: "app" })` with Vercel Connect. |
91
+ | User | Each end-user should authorize and use their own third-party account. | `connect("linear/myagent")`, `connect({ connector: "linear/myagent", principalType: "user" })`, or `auth: { credentialOwner: "user", getToken }`. |
91
92
  | User from a job | Background work should use the same user's OAuth grant that started the work. | Start or resume the session through a channel whose route auth resolved that user, or pass an explicit user auth context when dispatching through a channel. |
92
93
 
93
- `principalType: "user"` does not mean "ask any human later." It means "key this credential to the authenticated user already attached to the eve session." If the run was started by a schedule, a same-project runtime token, `localDev()`, or another internal runtime path without an end-user principal, a user-scoped connection fails with `reason: "principal_required"` instead of starting OAuth. In that case, either authenticate the inbound channel as a user or configure the connection as app-scoped.
94
+ `credentialOwner: "user"` does not mean "ask any human later." It means "key this credential to the authenticated user already attached to the eve session." If the run was started by a schedule, a same-project runtime token, `localDev()`, or another internal runtime path without an end-user principal, a user-scoped connection fails with `reason: "principal_required"` instead of starting OAuth. In that case, either authenticate the inbound channel as a user or configure the connection as app-scoped.
95
+
96
+ `credentialOwner` is eve's field for raw getToken-only connection auth. Existing non-interactive raw `principalType` definitions still work, but are deprecated. Interactive auth and `connect()` from `@vercel/connect/eve` continue to use `principalType: "user"`; that field also remains correct for route-auth session identities.
94
97
 
95
98
  ## No auth
96
99
 
@@ -132,7 +135,7 @@ export default defineOpenAPIConnection({
132
135
  spec: "https://warehouse.example.com/openapi.json",
133
136
  description: "The caller's tenant-scoped warehouse.",
134
137
  auth: (ctx) => ({
135
- principalType: "user",
138
+ credentialOwner: "user",
136
139
  getToken: async () => ({
137
140
  token: await tenantToken(ctx.session.auth.current),
138
141
  }),
@@ -151,7 +154,7 @@ headers: {
151
154
  }
152
155
  ```
153
156
 
154
- Use `principalType: "user"` for per-user tokens so eve rejects unauthenticated callers and keys its step-local token cache by user. The resolver supplements route auth; it does not authenticate the inbound request. Static auth objects and header maps remain available when every caller shares the same configuration.
157
+ Use `credentialOwner: "user"` for per-user tokens so eve rejects unauthenticated callers and keys its step-local token cache by user. The resolver supplements route auth; it does not authenticate the inbound request. Static auth objects and header maps remain available when every caller shares the same configuration.
155
158
 
156
159
  ## Per-connection approval
157
160
 
@@ -223,16 +226,16 @@ App-scoped Connect auth is non-interactive. eve asks Vercel Connect for an app t
223
226
 
224
227
  ### Troubleshooting Vercel Connect auth
225
228
 
226
- | Symptom | What it means | Fix |
227
- | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
228
- | `reason: "principal_required"` | A user-scoped connection ran without an authenticated user on the active session. | Return `principalType: "user"` from the channel's route auth, or change the connection to `principalType: "app"` if it should be shared. |
229
- | `authorization.required` appears but no UI | eve parked the turn for OAuth, but the channel or frontend is not rendering the challenge. | Render the challenge from the stream event and continue the same session after the callback. |
230
- | OAuth works locally but fails after deploy | The project may not be linked to the Connect client, or the deployed runtime may not have the expected Vercel OIDC/project scope. | Run Connect setup from the consuming project directory, link the project, deploy again, and verify the connector UID in `connect("...")`. |
231
- | A scheduled or internal run needs user OAuth | Schedules and runtime callers do not automatically carry an end-user principal. | Dispatch through a user-authenticated channel when work is user-owned, or use app-scoped auth for agent-owned background work. |
229
+ | Symptom | What it means | Fix |
230
+ | -------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
231
+ | `reason: "principal_required"` | A user-scoped connection ran without an authenticated user on the active session. | Return `principalType: "user"` from the channel's route auth, or use `connect({ connector, principalType: "app" })` if the Connect credential should be shared. |
232
+ | `authorization.required` appears but no UI | eve parked the turn for OAuth, but the channel or frontend is not rendering the challenge. | Render the challenge from the stream event and continue the same session after the callback. |
233
+ | OAuth works locally but fails after deploy | The project may not be linked to the Connect client, or the deployed runtime may not have the expected Vercel OIDC/project scope. | Run Connect setup from the consuming project directory, link the project, deploy again, and verify the connector UID in `connect("...")`. |
234
+ | A scheduled or internal run needs user OAuth | Schedules and runtime callers do not automatically carry an end-user principal. | Dispatch through a user-authenticated channel when work is user-owned, or use app-scoped auth for agent-owned background work. |
232
235
 
233
236
  ## Self-hosted interactive OAuth
234
237
 
235
- To run your own OAuth, use `defineInteractiveAuthorization` from `eve/connections`, which takes a three-method form and needs no Vercel Connect. eve mints a callback URL, parks (durably suspends) the turn on a framework-owned webhook, and resumes once the token comes back. Interactive auth is always `principalType: "user"`, and the factory pins that for you.
238
+ To run your own OAuth, use `defineInteractiveAuthorization` from `eve/connections`, which takes a three-method form and needs no Vercel Connect. eve mints a callback URL, parks (durably suspends) the turn on a framework-owned webhook, and resumes once the token comes back. Interactive auth is always `principalType: "user"`; `credentialOwner` applies only to getToken-only auth, and the factory pins the interactive value for you.
236
239
 
237
240
  ```ts title="agent/connections/linear.ts"
238
241
  import {
@@ -12,7 +12,7 @@ You need:
12
12
  - npm, which Node.js includes
13
13
  - A credential for the model your agent uses
14
14
 
15
- The default scaffolded model routes through the Vercel AI Gateway. Set `AI_GATEWAY_API_KEY`, or link a Vercel project to use `VERCEL_OIDC_TOKEN`. To use a model provider directly, install its AI SDK provider package and set the provider's API key.
15
+ Connect a ChatGPT subscription, a Vercel account, or an AI Gateway, OpenAI, or Anthropic API key in the terminal UI. You do not need a Vercel project to start chatting.
16
16
 
17
17
  Choose a model, provider, and channel that meet your data-processing and compliance requirements.
18
18
 
@@ -24,7 +24,11 @@ Run `eve init` with a project name:
24
24
  npx eve@latest init my-agent
25
25
  ```
26
26
 
27
- The command creates the project, installs dependencies, and initializes Git. After scaffolding, eve offers to start the development server or, if a supported coding agent is installed, to open the project in the coding agent.
27
+ The command creates the project, installs dependencies, initializes Git, and opens the terminal UI. eve reuses an available model connection or opens `/login`. Once connected, type your first message. Channel and integration setup is optional; use `/add` when you need it.
28
+
29
+ In `/add`, search by name or capability, such as `iMessage` or `SMS`. The picker matches item names, addresses, titles, and descriptions. Select an item to install it and complete its required setup.
30
+
31
+ During startup, the status line shows what eve is waiting for. If you choose a Vercel account, finish signing in in your browser and select a team when prompted. eve checks that team's AI Gateway access and applies the connection before returning to the composer. Changing only the account, team, or key does not rebuild your agent. Once connected, you can send your first message while the agent information refreshes in the background; no restart is required.
28
32
 
29
33
  To add eve to a project that already has a `package.json`, run this command from its root before you create any `agent/` files:
30
34
 
@@ -44,7 +48,7 @@ npx eve@latest init my-agent --model openai/gpt-5.6-terra --reasoning high
44
48
 
45
49
  ## Run the agent
46
50
 
47
- Choose **Start eve dev** after scaffolding, or run this from the project root:
51
+ The terminal UI opens after interactive initialization. To return later, run this from the project root:
48
52
 
49
53
  ```bash
50
54
  npm run dev
@@ -156,7 +160,7 @@ Prefer the nested layout because it keeps application files separate from the au
156
160
 
157
161
  ### Debug file discovery
158
162
 
159
- Run `eve info` when eve does not discover a file. It lists the discovered surface and diagnostics so you can check the authored slot and root-versus-subagent boundary. eve also writes inspectable artifacts under `.eve/`; see [Observability](./guides/instrumentation) and the [CLI](./reference/cli) reference.
163
+ Run `eve info` when eve does not discover a file. It lists the discovered surface and diagnostics so you can check the authored slot and root-versus-subagent boundary. eve also writes inspectable artifacts under `.eve/`; see [Instrumentation](./observability/instrumentation) and the [CLI](./reference/cli) reference.
160
164
 
161
165
  ## Install manually
162
166
 
@@ -84,5 +84,5 @@ eve dev https://your_agent.example.com
84
84
  Use these guides to secure and observe the deployed agent:
85
85
 
86
86
  - [Authentication](../auth-and-route-protection): configure the host’s route policy
87
- - [Observability](../instrumentation): export traces and diagnose runtime failures
87
+ - [Instrumentation](../../observability/instrumentation): export traces and diagnose runtime failures
88
88
  - [Sandbox](../../sandbox): select and secure a sandbox backend
@@ -118,7 +118,7 @@ export default await withEve({
118
118
  });
119
119
  ```
120
120
 
121
- A Vercel project can use only one configuration source, so remove `vercel.json` when adopting `vercel.ts`. Keep `eve` in the root package dependencies so Vercel can import `eve/vercel` while evaluating the configuration. Pass `{ root: "/absolute/workspace/path" }` as the second argument only when `vercel.ts` is evaluated from somewhere other than the workspace root.
121
+ A Vercel project can use only one configuration source, so remove `vercel.json` when adopting `vercel.ts`. Keep `eve` in the root package dependencies so Vercel can import `eve/vercel` while evaluating the configuration. `withEve` discovers the workspace containing its evaluation directory, including Vercel's temporary `.vercel` configuration directory. Pass `{ root: "/absolute/workspace/path" }` as the second argument only when you need to select a specific workspace root.
122
122
 
123
123
  An authored eve service routed at `/eve/v1` already uses the protocol path; callbacks remain at `/eve/v1/callback/*`. A named mount such as `/support` adds that mount before the protocol path, giving `/support/eve/v1/callback/*`.
124
124
 
@@ -158,12 +158,12 @@ Set `VERCEL_AUTOMATION_BYPASS_SECRET` locally before connecting if the deploymen
158
158
 
159
159
  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.
160
160
 
161
- 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](../instrumentation).
161
+ 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).
162
162
 
163
163
  ## Continue configuring production
164
164
 
165
165
  Use these guides to secure and observe the deployed agent:
166
166
 
167
167
  - [Authentication](../auth-and-route-protection): configure who can call the deployed agent
168
- - [Observability](../instrumentation): export traces and diagnose runtime failures
168
+ - [Instrumentation](../../observability/instrumentation): export traces and diagnose runtime failures
169
169
  - [Sandbox](../../sandbox): configure resources, isolation, and network access
@@ -9,57 +9,82 @@ description: "Use eve locally or connect to a deployed agent from an interactive
9
9
  eve dev
10
10
  ```
11
11
 
12
+ The footer shows the active model and connection separated by dots. Vercel account connections show the team slug once it resolves; the local server port is omitted.
13
+
12
14
  The transcript remains in your terminal scrollback after you exit. Run `/help` in the UI to see the commands available in the current session.
13
15
 
14
16
  ## Commands
15
17
 
16
- | Command | Description |
17
- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
18
- | `/model` | Configure the model and its provider. Pass a model ID to set it directly: `/model provider/model-id`. |
19
- | `/add` | Select and install channels, MCP connections, extensions, and observability integrations. Pass an item address to confirm and install it directly: `/add channel/slack`. |
20
- | `/deploy` | Deploy the agent to Vercel production. Links the directory first if needed. |
21
- | `/vc:install` | Install the Vercel CLI. |
22
- | `/vc:login` | Log in to Vercel or restore access to a remote deployment. |
23
- | `/info` | Show the resolved application, compiled artifacts, discovery diagnostics, and messaging routes. |
24
- | `/loglevel` | Choose which server and agent logs appear in the transcript. |
25
- | `/traces` | Open the local trace viewer. Pass a trace ID prefix to open a specific trace. |
26
- | `/reset` | Start a fresh session. |
27
- | `/cancel` | Cancel the current turn without discarding settled context. |
28
- | `/clear` | Clear the session's model-message history. `/new` is an alias. |
29
- | `/compact` | Compact the current session's context. |
30
- | `/exit` | Quit the UI. |
31
- | `/help` | List available commands. |
32
-
33
- `/model`, `/add`, `/deploy`, `/info`, and `/traces` are available when `eve dev` runs locally. They are unavailable when the UI connects to a server with `--url`.
18
+ | Command | Description |
19
+ | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
20
+ | `/login` | Connect a ChatGPT subscription, Vercel account, or provider API key. |
21
+ | `/model` | Choose the model and its settings. Pass a model ID to set it directly: `/model provider/model-id`. |
22
+ | `/add` | Select and install channels, MCP connections, extensions, and observability integrations. Pass an item address to install it directly: `/add channel/slack`. |
23
+ | `/deploy` | Deploy the agent to Vercel production. Installs the Vercel CLI, signs in, and links the directory if needed. |
24
+ | `/info` | Show the resolved application, compiled artifacts, discovery diagnostics, and messaging routes. |
25
+ | `/loglevel` | Choose which server and agent logs appear in the transcript. |
26
+ | `/traces` | Open the local trace viewer. Pass a trace ID prefix to open a specific trace. |
27
+ | `/reset` | Start a fresh session. |
28
+ | `/cancel` | Cancel the current turn without discarding settled context. |
29
+ | `/clear` | Clear the session's model-message history. `/new` is an alias. |
30
+ | `/compact` | Compact the current session's context. |
31
+ | `/exit` | Quit the UI. |
32
+ | `/help` | List available commands. |
33
+
34
+ `/login`, `/model`, `/add`, `/deploy`, `/info`, and `/traces` are available when `eve dev` runs locally. They are unavailable when the UI connects to a server with `--url`.
34
35
 
35
36
  ## Set up a new agent
36
37
 
37
- After `eve init`, the terminal UI guides you through **Model**, **Channels**, **Integrations**, and **Review** before the first chat prompt. The progress rail keeps the four steps visible throughout onboarding. Model setup can install or upgrade the Vercel CLI, open Vercel login, and resume project linking without leaving the flow.
38
+ After interactive `eve init`, the TUI opens directly. eve keeps the project's selected connection. For a new connection, it checks explicit environment credentials, the saved machine default, and then the Vercel CLI's current team. Existing project OIDC connections remain supported. Automatic Vercel reuse validates account access without creating or linking a project.
38
39
 
39
- Model and Vercel changes take effect when you complete Model, then onboarding continues to Channels. Channel and integration selections remain drafts until you finish Review. You can move back and forth between Channels, Integrations, and Review; use `/model` after onboarding to change the committed model configuration.
40
+ During startup, the composer stays visible while a progress indicator names the connection being checked and shows when eve is preparing your chat. Type a message and press `Enter` to queue it for when the agent is ready. A picker temporarily takes over input when a choice or API key is needed; your draft returns afterward. If setup is cancelled or fails, queued messages return to the draft.
40
41
 
41
- ## Add an integration
42
+ If no connection is ready, `/login` offers:
43
+
44
+ 1. Vercel Account
45
+ 2. Vercel AI Gateway API Key
46
+ 3. ChatGPT Subscription
47
+ 4. OpenAI API Key
48
+ 5. Anthropic API Key
49
+
50
+ Vercel account login opens a browser. When multiple teams are available, `/login` shows a searchable team picker with the current project or CLI team highlighted so you can switch teams. A sole available team is selected automatically. Automatic startup reuses the selected connection without opening this picker. Account-token access to Gateway depends on availability for your account and team; if it is unavailable, choose an API key or another connection.
51
+
52
+ Type to filter a menu, press `Enter` to select, or `Esc` to return to chat. Dismissing a setup menu adds no cancellation message to the transcript; completed work and failures still appear. Arrow navigation is also available. Cancelling login preserves your draft. If a connection fails, retry `/login`; eve does not silently switch providers.
53
+
54
+ ### Credentials and deployment
55
+
56
+ eve saves API keys and eve-owned OAuth refresh credentials in the OS secret store through just-secrets. It saves the last successful login as the machine default and records the project's connection and team separately as nonsecret metadata in `.eve/provider.json`. Newly entered keys are never written into project files. A key explicitly selected through `/login` takes precedence over another key for that provider in your shell; a project connected through environment credentials continues to use its environment. Vercel CLI retains ownership of its credentials and refresh tokens.
42
57
 
43
- Bare `/add` opens the standalone planner on **Channels**. It does not include model configuration. The progress rail shows selection counts as you move between **Channels**, **Integrations**, and **Review**.
58
+ Local discovery runs only in development. Deployments need explicitly provisioned `AI_GATEWAY_API_KEY`, `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, or supported project OIDC credentials. ChatGPT subscription models are local-only. `/login` does not link a deployment or authenticate a remote server; `/deploy` handles Vercel CLI installation and account login when needed.
44
59
 
45
- Press `Space` or `Enter` to toggle the highlighted item. Press `Right Arrow` to preserve the current selections and continue, `Left Arrow` to preserve them and go back, or `Esc` to cancel. Installation requires `Enter` on **Install and set up** from Review. During installation, `Esc` cancels only the active item and continues with the remaining selections. The final summary reports installed, cancelled, and failed items separately.
60
+ ### Models and settings
46
61
 
47
- Pass an item address to `/add` to confirm and install that exact address without opening the planner:
62
+ `/model` opens the model picker and settings. Each completed selection applies immediately and returns to chat; there is no final Done step. A successful login or model change takes effect on the next prompt.
63
+
64
+ 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`.
65
+
66
+ ## Add an integration
67
+
68
+ `/add` opens one searchable catalog of channels, connections, extensions, and integrations. Type to filter and press `Enter` to install one item and run its required setup. The flow returns to chat afterward.
69
+
70
+ Pass an item address to install it directly:
48
71
 
49
72
  ```text
50
73
  /add channel/slack
51
74
  /add extension/agent-browser
52
- /add linear
75
+ /add channel/linear
53
76
  /add @acme/analytics
54
77
  ```
55
78
 
56
- The UI installs planner selections in order and offers deployment once after the batch when an installed item requires it.
79
+ Required authorization or deployment setup still runs for the selected item. Press `Esc` to cancel setup; files already installed remain in the project.
57
80
 
58
81
  ## Work with the agent
59
82
 
60
83
  Type a message and press `Enter` to send it. When the agent asks a question or requests tool approval, respond in the prompt shown by the UI. Connection authorization can open a browser; keep local `eve dev` running until the browser returns to it.
61
84
 
62
- While a turn is running, `Enter` queues a follow-up message. Press `Esc` or `Ctrl+C` to cancel the turn; when messages are queued, this uses the oldest queued message as the next turn instead. If a direct cancellation requested with `/cancel` or `Ctrl+C` does not settle, press `Ctrl+C` to stop waiting. The UI then returns to the prompt and asks you to press `Ctrl+C` again to exit. At an idle prompt, press `Ctrl+C` twice to exit.
85
+ While a turn is running, `Enter` sends your message immediately as steering. Before assistant output begins, the runtime interrupts pending model generation and continues the same turn with your correction. Executing tools finish safely. After output begins, steering applies at the next workflow boundary and preserves streamed text.
86
+
87
+ Slash commands wait until the turn ends, except `/cancel`, which cancels directly. If the session does not support steering, messages queue for the next turn. Press `Esc` or `Ctrl+C` to cancel a turn with no queued messages. With queued messages, these keys select the oldest message for steering, or for the next turn if steering is unavailable. If a direct cancellation requested with `/cancel` or `Ctrl+C` does not settle, press `Ctrl+C` to stop waiting. The UI then returns to the prompt and asks you to press `Ctrl+C` again to exit. At an idle prompt, press `Ctrl+C` twice to exit.
63
88
 
64
89
  | Key | Action |
65
90
  | ------------- | ----------------------------------------------------------------------------------------------------------------------- |
@@ -77,7 +102,7 @@ By default, the UI shows `stderr` logs. Use `/loglevel <all|stderr|sandbox|none>
77
102
 
78
103
  Every `eve dev` process writes diagnostic logs to `.eve/logs/`, regardless of the display mode. Read them with [`eve logs`](../reference/cli#eve-logs).
79
104
 
80
- Use `/traces` to inspect traces recorded during local development. See [Instrumentation](instrumentation#local-traces) for trace capture and retention settings.
105
+ Use `/traces` to inspect traces recorded during local development. See [Instrumentation](../observability/instrumentation#local-traces) for trace capture and retention settings.
81
106
 
82
107
  ## Display options
83
108
 
@@ -87,7 +112,7 @@ Use `eve dev` flags to control tool calls, reasoning, subagents, connection auth
87
112
  eve dev --tools full --reasoning collapsed --logs all
88
113
  ```
89
114
 
90
- Use `--host` and `--port` to bind the local server, or `--no-ui` to run without the terminal UI. See the [`eve dev` CLI reference](../reference/cli#eve-dev) for the complete option list, accepted values, and defaults.
115
+ Use `--host` and `--port` to bind the local server, or `--no-ui` to run without the terminal UI. Set `EVE_TUI_RENDER_MARKDOWN=0` to show assistant and subagent responses without Markdown parsing or styling; `1` (the default) enables Markdown rendering. See the [`eve dev` CLI reference](../reference/cli#eve-dev) for the complete option list, accepted values, and defaults.
91
116
 
92
117
  ## Connect to a deployment
93
118
 
@@ -104,10 +129,12 @@ eve dev https://user:pass@your-app.example.com
104
129
  eve dev https://your-app.example.com -H 'Authorization: Bearer your_token_here'
105
130
  ```
106
131
 
107
- For a Vercel deployment that needs authentication, run `/vc:login` and follow the prompt. Remote sessions do not modify the local project's Vercel link or `.env.local`.
132
+ Remote Vercel sessions reuse an existing authorized CLI session. They do not open an account login flow or modify the local project's Vercel link or `.env.local`.
133
+
134
+ When Deployment Protection blocks startup, eve verifies the target project and asks before adding a Trusted Sources rule for development access to that deployment's environment. After approval, eve applies the rule and checks access again before returning to chat. Cancelling preserves your draft; restart `eve dev <url>` to try again. If you cannot change the project's policy, provide `VERCEL_AUTOMATION_BYPASS_SECRET` or ask a project administrator to configure access in Deployment Protection settings.
108
135
 
109
136
  ## What to read next
110
137
 
111
- - [Instrumentation](./instrumentation): traces, OpenTelemetry, and diagnostics.
138
+ - [Instrumentation](../observability/instrumentation): traces, OpenTelemetry, and diagnostics.
112
139
  - [CLI](../reference/cli): commands and flags.
113
140
  - [Agent Client Protocol (ACP)](../protocols/acp): drive the same agent from ACP clients such as Zed instead of the TUI.
@@ -136,9 +136,9 @@ shadows the session selection for that turn, including when the turn handler
136
136
  returns `null`. If a resolver throws or returns an invalid definition, eve logs the
137
137
  failure and omits the subagent.
138
138
 
139
- The resolved set applies to local and remote direct delegation. Background subagents are not
140
- exposed inside the model-authored `Workflow` tool. eve
141
- also checks availability again before starting the child, so a stale or
139
+ The resolved set applies to local and remote direct delegation. An authored workflow tool can
140
+ also call a selected subagent through `ctx.agent`. A generated program can call it through the
141
+ provided `workflow` tool. eve checks availability again before starting the child, so a stale or
142
142
  manually constructed call fails with `SUBAGENT_UNAVAILABLE`. Treat conditional
143
143
  availability as capability composition, not as the only authorization
144
144
  boundary: sensitive child tools still need their own authorization and
@@ -178,7 +178,7 @@ export default defineDynamic({
178
178
  description: `${account.label} (${account.accountId})`,
179
179
  instanceKey: account.accountId,
180
180
  auth: {
181
- principalType: "user",
181
+ credentialOwner: "user",
182
182
  getToken: ({ principal }) => mintAccountToken(principal, account),
183
183
  },
184
184
  }),
@@ -107,7 +107,9 @@ await agent.send([
107
107
  ]);
108
108
  ```
109
109
 
110
- Assistant text, reasoning, tool calls, and tool results stream into `data` as they arrive, and a new turn moves `status` from `ready` to `submitted` to `streaming` and back. Resuming an attached session uses `resuming` while eve performs bounded catch-up. Disable message and HITL submission in that state. A settled tail moves directly to `ready`; an in-flight tail moves to `streaming` before eve follows it. To replace an active turn with a follow-up, send the message with `turnPolicy: "steer"`. eve accepts the message through the durable session, cancels the active turn, and keeps the hook attached through the replacement turn:
110
+ Assistant text, reasoning, tool calls, and tool results stream into `data` as they arrive, and a new turn moves `status` from `ready` to `submitted` to `streaming` and back. Resuming an attached session uses `resuming` while eve performs bounded catch-up. Disable message and HITL submission in that state. A settled tail moves directly to `ready`; an in-flight tail moves to `streaming` before eve follows it.
111
+
112
+ To steer an active turn with a follow-up, send the message with `turnPolicy: "steer"`. Before answer output or local tool execution begins, eve interrupts pending model generation and continues the same turn with the correction. Executing tools finish and checkpoint their results first; after answer output starts, steering waits for the next committed workflow boundary. Reasoning and search progress do not count as answer output. The hook stays attached through completion:
111
113
 
112
114
  ```tsx
113
115
  await agent.send(message, { turnPolicy: "steer" });
@@ -50,7 +50,7 @@ export default githubChannel({
50
50
 
51
51
  A GitHub channel event handler cannot fire for a Slack-owned session, so platform-specific side effects do not depend on an early-return guard. On a built-in channel, an authored handler replaces that channel's default handler for the same event key. Check the channel page before overriding events that deliver replies, progress, errors, or human-input prompts.
52
52
 
53
- Use `ctx.channel.kind` inside a global hook only when the operation is otherwise agent-wide and conditional handling is intentional. For typed channel metadata in dynamic resolvers or instrumentation, import the channel definition and narrow with `isChannel`; see [Instrumentation](./instrumentation#runtime-context).
53
+ Use `ctx.channel.kind` inside a global hook only when the operation is otherwise agent-wide and conditional handling is intentional. For typed channel metadata in dynamic resolvers or instrumentation, import the channel definition and narrow with `isChannel`; see [Add runtime context](../observability/instrumentation#add-runtime-context).
54
54
 
55
55
  ## Hook structure and context
56
56
 
@@ -0,0 +1,5 @@
1
+ {
2
+ "title": "Observability",
3
+ "defaultOpen": false,
4
+ "pages": ["overview", "providers", "otel"]
5
+ }