eve 0.33.3 → 0.35.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 (414) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +3 -3
  3. package/dist/src/channel/channel-address.d.ts +3 -6
  4. package/dist/src/channel/channel-address.js +1 -1
  5. package/dist/src/channel/channel-operations.d.ts +2 -3
  6. package/dist/src/channel/delivery-metadata.d.ts +9 -0
  7. package/dist/src/channel/delivery-metadata.js +1 -0
  8. package/dist/src/channel/routes.d.ts +1 -0
  9. package/dist/src/channel/session.d.ts +3 -4
  10. package/dist/src/channel/session.js +1 -1
  11. package/dist/src/channel/types.d.ts +20 -3
  12. package/dist/src/chunks/{use-eve-agent-B-Hky2f4.js → use-eve-agent-COmP-H8R.js} +39 -3
  13. package/dist/src/chunks/{use-eve-agent-3oBnxzhV.js → use-eve-agent-CnppTEFk.js} +39 -3
  14. package/dist/src/cli/commands/info.js +1 -1
  15. package/dist/src/cli/commands/trace-detail.d.ts +3 -2
  16. package/dist/src/cli/commands/trace-detail.js +1 -1
  17. package/dist/src/cli/dev/tui/traces/trace-conversation.d.ts +4 -6
  18. package/dist/src/cli/dev/tui/traces/trace-conversation.js +1 -2
  19. package/dist/src/client/agent-info-schema.d.ts +12 -4
  20. package/dist/src/client/agent-info-schema.js +1 -1
  21. package/dist/src/client/index.d.ts +1 -1
  22. package/dist/src/client/message-reducer.js +1 -1
  23. package/dist/src/compiled/.vendor-stamp.json +4 -4
  24. package/dist/src/compiled/@chat-adapter/slack/index.js +1 -1
  25. package/dist/src/compiled/@opentelemetry/api/index.d.ts +32 -3
  26. package/dist/src/compiled/@vercel/otel/index.d.ts +45 -2
  27. package/dist/src/compiled/@workflow/core/index.js +1 -1
  28. package/dist/src/compiled/@workflow/core/runtime.js +3 -3
  29. package/dist/src/compiled/@workflow/core/workflow.js +1 -1
  30. package/dist/src/compiled/@workflow/world/env-config.d.ts +1 -0
  31. package/dist/src/compiled/@workflow/world/events.d.ts +92 -35
  32. package/dist/src/compiled/@workflow/world/index.d.ts +3 -2
  33. package/dist/src/compiled/@workflow/world/interfaces.d.ts +25 -23
  34. package/dist/src/compiled/@workflow/world/queue.d.ts +4 -0
  35. package/dist/src/compiled/@workflow/world/runs.d.ts +4 -0
  36. package/dist/src/compiled/@workflow/world/slot-identity.d.ts +53 -0
  37. package/dist/src/compiled/@workflow/world/spec-version.d.ts +36 -1
  38. package/dist/src/compiled/@workflow/world/steps.d.ts +4 -0
  39. package/dist/src/compiled/@workflow/world/ulid.d.ts +6 -0
  40. package/dist/src/compiled/@workflow/world-local/index.js +4 -4
  41. package/dist/src/compiled/@workflow/world-vercel/index.js +13 -17
  42. package/dist/src/compiled/_chunks/workflow/{attribute-changes-6OqdYdi4.js → attribute-changes-BoH7JsWp.js} +3 -3
  43. package/dist/src/compiled/_chunks/workflow/dist-DlFv0aHY.js +40 -0
  44. package/dist/src/compiled/_chunks/workflow/env-config-DxamfI7T.js +1 -0
  45. package/dist/src/compiled/_chunks/workflow/frames-CTpeJYEQ.js +3 -0
  46. package/dist/src/compiled/_chunks/workflow/{functions-CXb61C6h.js → functions-CeeNvKsq.js} +1 -1
  47. package/dist/src/compiled/_chunks/workflow/resume-hook-BPQHjeY5.js +1 -0
  48. package/dist/src/compiled/_chunks/workflow/run-DQ5dOyjm.js +1 -0
  49. package/dist/src/compiled/_chunks/workflow/run-id-BdE0MZz9.js +1 -0
  50. package/dist/src/compiled/_chunks/workflow/sleep-CzdoBiqy.js +1 -0
  51. package/dist/src/compiled/_chunks/workflow/spec-version-DBUVfF_R.js +1 -0
  52. package/dist/src/compiled/_chunks/workflow/undici-CUIybhQ2.js +95 -0
  53. package/dist/src/compiled/_chunks/workflow/wait-until-DK2lnH6U.js +15 -0
  54. package/dist/src/compiled/_chunks/workflow/{wrapper-CDq65xJV.js → wrapper-CMGju7QA.js} +1 -1
  55. package/dist/src/compiled/_chunks/workflow/ws-transport-Csi6Cydc.js +1 -0
  56. package/dist/src/compiler/extension-compatibility.d.ts +14 -14
  57. package/dist/src/compiler/extension-compatibility.js +1 -1
  58. package/dist/src/compiler/manifest.d.ts +8 -8
  59. package/dist/src/compiler/manifest.js +1 -1
  60. package/dist/src/compiler/normalize-agent-config.js +1 -1
  61. package/dist/src/compiler/normalize-extension.d.ts +3 -3
  62. package/dist/src/compiler/normalize-extension.js +1 -1
  63. package/dist/src/compiler/normalize-instructions.d.ts +1 -1
  64. package/dist/src/compiler/normalize-instructions.js +1 -1
  65. package/dist/src/compiler/normalize-manifest.js +1 -3
  66. package/dist/src/context/build-dynamic-tools.d.ts +7 -0
  67. package/dist/src/context/build-dynamic-tools.js +1 -1
  68. package/dist/src/context/dynamic-instruction-lifecycle.d.ts +5 -1
  69. package/dist/src/context/dynamic-instruction-lifecycle.js +1 -1
  70. package/dist/src/context/dynamic-tool-lifecycle.d.ts +7 -0
  71. package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
  72. package/dist/src/context/keys.d.ts +18 -2
  73. package/dist/src/context/keys.js +1 -1
  74. package/dist/src/discover/filesystem.d.ts +1 -1
  75. package/dist/src/discover/filesystem.js +1 -1
  76. package/dist/src/discover/manifest.d.ts +1 -1
  77. package/dist/src/discover/manifest.js +1 -1
  78. package/dist/src/evals/cli/eval.js +2 -2
  79. package/dist/src/evals/index.d.ts +2 -2
  80. package/dist/src/evals/reporters/index.d.ts +1 -1
  81. package/dist/src/evals/runner/artifacts.js +1 -1
  82. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  83. package/dist/src/evals/runner/execute-eval.d.ts +5 -0
  84. package/dist/src/evals/runner/execute-eval.js +1 -1
  85. package/dist/src/evals/runner/execute-task.d.ts +3 -0
  86. package/dist/src/evals/runner/execute-task.js +1 -1
  87. package/dist/src/evals/runner/reporters/braintrust.js +1 -1
  88. package/dist/src/evals/runner/reporters/types.d.ts +28 -2
  89. package/dist/src/evals/runner/run-evals.js +1 -1
  90. package/dist/src/evals/session.d.ts +11 -2
  91. package/dist/src/evals/session.js +1 -1
  92. package/dist/src/evals/target.js +1 -1
  93. package/dist/src/evals/types.d.ts +10 -1
  94. package/dist/src/execution/dispatch-runtime-actions-step.d.ts +1 -5
  95. package/dist/src/execution/dispatch-runtime-actions-step.js +1 -1
  96. package/dist/src/execution/dispatch-turn-step.d.ts +5 -0
  97. package/dist/src/execution/dispatch-turn-step.js +1 -0
  98. package/dist/src/execution/durable-session-migrations/turn-workflow.d.ts +1 -0
  99. package/dist/src/execution/node-step.js +1 -1
  100. package/dist/src/execution/parked-delivery-wait.d.ts +1 -1
  101. package/dist/src/execution/parked-delivery-wait.js +1 -1
  102. package/dist/src/execution/remote-agent-dispatch.d.ts +2 -1
  103. package/dist/src/execution/remote-agent-dispatch.js +1 -1
  104. package/dist/src/execution/route-child-delivery.d.ts +3 -4
  105. package/dist/src/execution/route-child-delivery.js +1 -1
  106. package/dist/src/execution/route-proxied-deliver-step.d.ts +34 -0
  107. package/dist/src/execution/route-proxied-deliver-step.js +1 -0
  108. package/dist/src/execution/runtime-context.js +1 -1
  109. package/dist/src/execution/session-command-inbox.d.ts +2 -2
  110. package/dist/src/execution/session-command-wire.js +1 -1
  111. package/dist/src/execution/session.js +1 -1
  112. package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
  113. package/dist/src/execution/subagent-adapter.js +1 -1
  114. package/dist/src/execution/subagent-event-proxy-step.js +1 -1
  115. package/dist/src/execution/tool-auth.d.ts +9 -0
  116. package/dist/src/execution/tool-auth.js +1 -1
  117. package/dist/src/execution/turn-control-receiver.js +1 -1
  118. package/dist/src/execution/turn-dispatch.js +1 -1
  119. package/dist/src/execution/turn-workflow.js +1 -1
  120. package/dist/src/execution/workflow-entry.js +1 -1
  121. package/dist/src/execution/workflow-runtime.js +1 -1
  122. package/dist/src/execution/workflow-steps.d.ts +1 -27
  123. package/dist/src/execution/workflow-steps.js +1 -1
  124. package/dist/src/execution/workflow-trace-context.d.ts +11 -0
  125. package/dist/src/execution/workflow-trace-context.js +1 -0
  126. package/dist/src/harness/ai-sdk-hook-bridge.d.ts +1 -1
  127. package/dist/src/harness/ai-sdk-hook-bridge.js +1 -1
  128. package/dist/src/harness/ai-sdk-telemetry.d.ts +19 -0
  129. package/dist/src/harness/ai-sdk-telemetry.js +1 -0
  130. package/dist/src/harness/approval-candidates.d.ts +109 -0
  131. package/dist/src/harness/approval-candidates.js +1 -0
  132. package/dist/src/harness/approval-delivery-coordinator.d.ts +39 -0
  133. package/dist/src/harness/approval-delivery-coordinator.js +1 -0
  134. package/dist/src/harness/authorization.d.ts +1 -0
  135. package/dist/src/harness/authorization.js +1 -1
  136. package/dist/src/harness/channel-delivery-instrumentation.d.ts +25 -0
  137. package/dist/src/harness/channel-delivery-instrumentation.js +1 -0
  138. package/dist/src/harness/emission.d.ts +2 -2
  139. package/dist/src/harness/emission.js +1 -1
  140. package/dist/src/harness/execute-tool.d.ts +1 -0
  141. package/dist/src/harness/hitl/approval-input-requests.js +1 -1
  142. package/dist/src/harness/hitl/pending-input-resolution.d.ts +3 -0
  143. package/dist/src/harness/hitl/pending-input-resolution.js +1 -1
  144. package/dist/src/harness/hitl/question-input-requests.js +1 -1
  145. package/dist/src/harness/hitl/session-limit-input-requests.js +1 -1
  146. package/dist/src/harness/input-extraction.js +1 -1
  147. package/dist/src/harness/input-request-resolution.d.ts +22 -0
  148. package/dist/src/harness/input-request-resolution.js +1 -0
  149. package/dist/src/harness/input-requests.d.ts +1 -0
  150. package/dist/src/harness/input-requests.js +1 -1
  151. package/dist/src/harness/{instrumentation-config.d.ts → instrumentation/config.d.ts} +9 -4
  152. package/dist/src/harness/instrumentation/config.js +1 -0
  153. package/dist/src/harness/instrumentation/content.d.ts +5 -0
  154. package/dist/src/harness/instrumentation/content.js +1 -0
  155. package/dist/src/harness/instrumentation/dispatch.d.ts +2 -0
  156. package/dist/src/harness/instrumentation/dispatch.js +1 -0
  157. package/dist/src/harness/instrumentation/lifecycle.d.ts +491 -0
  158. package/dist/src/harness/instrumentation/lifecycle.js +1 -0
  159. package/dist/src/harness/{instrumentation-native-events.d.ts → instrumentation/native-events.d.ts} +10 -1
  160. package/dist/src/harness/instrumentation/native-events.js +1 -0
  161. package/dist/src/harness/instrumentation/providers.d.ts +50 -0
  162. package/dist/src/harness/instrumentation/providers.js +1 -0
  163. package/dist/src/harness/{instrumentation-runtime.d.ts → instrumentation/runtime.d.ts} +7 -2
  164. package/dist/src/harness/{instrumentation-runtime.js → instrumentation/runtime.js} +1 -1
  165. package/dist/src/harness/instrumentation/setup-context.d.ts +12 -0
  166. package/dist/src/harness/instrumentation/setup-context.js +1 -0
  167. package/dist/src/harness/instrumentation/state.d.ts +59 -0
  168. package/dist/src/harness/instrumentation/state.js +1 -0
  169. package/dist/src/harness/messages.d.ts +2 -1
  170. package/dist/src/harness/messages.js +1 -1
  171. package/dist/src/harness/parent-lineage.d.ts +1 -1
  172. package/dist/src/harness/pending-input-batches.d.ts +2 -0
  173. package/dist/src/harness/pending-input-batches.js +1 -1
  174. package/dist/src/harness/prepare-trace-context.d.ts +16 -0
  175. package/dist/src/harness/prepare-trace-context.js +1 -0
  176. package/dist/src/harness/runtime-action-settlement-state.d.ts +3 -0
  177. package/dist/src/harness/runtime-action-settlement-state.js +1 -0
  178. package/dist/src/harness/runtime-actions.js +1 -1
  179. package/dist/src/harness/stale-input-responses.js +1 -1
  180. package/dist/src/harness/tool-call-action.d.ts +9 -0
  181. package/dist/src/harness/tool-call-action.js +1 -0
  182. package/dist/src/harness/tool-loop.js +2 -2
  183. package/dist/src/harness/tools.js +1 -1
  184. package/dist/src/harness/types.d.ts +16 -2
  185. package/dist/src/internal/application/compiled-artifacts.d.ts +13 -4
  186. package/dist/src/internal/application/compiled-artifacts.js +5 -4
  187. package/dist/src/internal/application/dev-environment.d.ts +12 -0
  188. package/dist/src/internal/application/dev-environment.js +1 -1
  189. package/dist/src/internal/application/package.js +1 -1
  190. package/dist/src/internal/authored-definition/approval.d.ts +3 -0
  191. package/dist/src/internal/authored-definition/approval.js +1 -0
  192. package/dist/src/internal/authored-definition/connection.js +1 -1
  193. package/dist/src/internal/authored-definition/core.d.ts +3 -3
  194. package/dist/src/internal/authored-definition/core.js +1 -1
  195. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  196. package/dist/src/internal/authored-package-boundary.js +1 -1
  197. package/dist/src/internal/helpers/markdown.js +1 -1
  198. package/dist/src/internal/instrumentation-layout.d.ts +28 -0
  199. package/dist/src/internal/instrumentation-layout.js +1 -0
  200. package/dist/src/internal/instrumentation.d.ts +1 -1
  201. package/dist/src/internal/materialized-authored-modules.d.ts +13 -2
  202. package/dist/src/internal/materialized-authored-modules.js +1 -1
  203. package/dist/src/internal/nitro/host/build-vercel-agent-summary.js +1 -1
  204. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  205. package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
  206. package/dist/src/internal/nitro/host/local-tracing-runtime-plugin.d.ts +5 -1
  207. package/dist/src/internal/nitro/host/local-tracing-runtime-plugin.js +1 -1
  208. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response-from-manifest.js +1 -1
  209. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.d.ts +4 -3
  210. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  211. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
  212. package/dist/src/internal/nitro/routes/channel-request-instrumentation.d.ts +2 -3
  213. package/dist/src/internal/nitro/routes/channel-request-instrumentation.js +1 -1
  214. package/dist/src/internal/vercel/project-link.d.ts +1 -1
  215. package/dist/src/internal/vercel/project-link.js +1 -1
  216. package/dist/src/internal/vercel-agent-summary.d.ts +10 -9
  217. package/dist/src/internal/vercel-agent-summary.js +1 -1
  218. package/dist/src/internal/workflow/development-world-client.js +1 -1
  219. package/dist/src/packages/eve-catalog/src/index.js +1 -1
  220. package/dist/src/protocol/message.d.ts +51 -2
  221. package/dist/src/protocol/message.js +2 -2
  222. package/dist/src/protocol/traceparent.d.ts +10 -0
  223. package/dist/src/protocol/traceparent.js +1 -0
  224. package/dist/src/public/channels/eve.js +1 -1
  225. package/dist/src/public/channels/github/auth.d.ts +30 -0
  226. package/dist/src/public/channels/github/auth.js +2 -2
  227. package/dist/src/public/channels/github/defaults.d.ts +4 -3
  228. package/dist/src/public/channels/github/defaults.js +5 -2
  229. package/dist/src/public/channels/github/dispatch.d.ts +3 -2
  230. package/dist/src/public/channels/github/dispatch.js +1 -1
  231. package/dist/src/public/channels/github/githubChannel.d.ts +10 -5
  232. package/dist/src/public/channels/github/githubChannel.js +1 -1
  233. package/dist/src/public/channels/github/index.d.ts +1 -1
  234. package/dist/src/public/channels/slack/defaults.js +3 -3
  235. package/dist/src/public/channels/slack/interactions.js +1 -1
  236. package/dist/src/public/channels/slack/slackChannel.d.ts +11 -3
  237. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  238. package/dist/src/public/definitions/approval.d.ts +57 -16
  239. package/dist/src/public/definitions/approval.js +1 -1
  240. package/dist/src/public/definitions/channel.d.ts +2 -2
  241. package/dist/src/public/definitions/channel.js +1 -1
  242. package/dist/src/public/definitions/hook.d.ts +4 -2
  243. package/dist/src/public/definitions/instructions.d.ts +14 -4
  244. package/dist/src/public/definitions/instructions.js +1 -1
  245. package/dist/src/public/definitions/tool.d.ts +5 -8
  246. package/dist/src/public/instructions/index.d.ts +1 -2
  247. package/dist/src/public/instructions/index.js +1 -1
  248. package/dist/src/public/instrumentation/index.d.ts +36 -20
  249. package/dist/src/public/instrumentation/index.js +1 -1
  250. package/dist/src/public/instrumentation/otel.d.ts +32 -0
  251. package/dist/src/public/instrumentation/otel.js +1 -0
  252. package/dist/src/public/instrumentation/provider.d.ts +117 -0
  253. package/dist/src/public/instrumentation/provider.js +1 -0
  254. package/dist/src/public/tools/approval/approval-helpers.d.ts +4 -4
  255. package/dist/src/public/tools/index.d.ts +1 -1
  256. package/dist/src/runtime/actions/results.d.ts +3 -3
  257. package/dist/src/runtime/agent/bootstrap.d.ts +2 -0
  258. package/dist/src/runtime/agent/bootstrap.js +1 -1
  259. package/dist/src/runtime/attributes/emit.js +1 -1
  260. package/dist/src/runtime/connections/principal.d.ts +3 -0
  261. package/dist/src/runtime/connections/principal.js +1 -1
  262. package/dist/src/runtime/connections/scoped-authorization.d.ts +3 -5
  263. package/dist/src/runtime/connections/scoped-authorization.js +1 -1
  264. package/dist/src/runtime/connections/types.d.ts +5 -0
  265. package/dist/src/runtime/prompt/compose.d.ts +1 -1
  266. package/dist/src/runtime/prompt/compose.js +3 -1
  267. package/dist/src/runtime/resolve-agent.js +1 -1
  268. package/dist/src/runtime/resolve-tool.js +1 -1
  269. package/dist/src/runtime/types.d.ts +4 -3
  270. package/dist/src/setup/index.d.ts +1 -0
  271. package/dist/src/setup/index.js +1 -1
  272. package/dist/src/setup/project-resolution.d.ts +3 -3
  273. package/dist/src/setup/scaffold/create/project.js +1 -1
  274. package/dist/src/setup/scaffold/version-tokens.js +1 -1
  275. package/dist/src/setup/slack-connect-lifecycle.d.ts +0 -9
  276. package/dist/src/setup/slack-connect-lifecycle.js +1 -1
  277. package/dist/src/setup/slackbot.d.ts +2 -1
  278. package/dist/src/setup/slackbot.js +1 -1
  279. package/dist/src/setup/verified-remote-agent.d.ts +30 -0
  280. package/dist/src/setup/verified-remote-agent.js +1 -0
  281. package/dist/src/shared/agent-definition.d.ts +9 -0
  282. package/dist/src/shared/channel-definition.d.ts +3 -1
  283. package/dist/src/shared/dynamic-tool-definition.d.ts +3 -4
  284. package/dist/src/shared/instructions-definition.d.ts +15 -11
  285. package/dist/src/svelte/index.js +1 -1
  286. package/dist/src/svelte/use-eve-agent.js +1 -1
  287. package/dist/src/tracing/agent-action-instrumentation.d.ts +31 -0
  288. package/dist/src/tracing/agent-action-instrumentation.js +1 -0
  289. package/dist/src/tracing/agent-approval-instrumentation.d.ts +13 -0
  290. package/dist/src/tracing/agent-approval-instrumentation.js +1 -0
  291. package/dist/src/tracing/agent-channel-delivery-instrumentation.d.ts +13 -0
  292. package/dist/src/tracing/agent-channel-delivery-instrumentation.js +1 -0
  293. package/dist/src/tracing/agent-otel-content.d.ts +6 -0
  294. package/dist/src/tracing/agent-otel-content.js +2 -2
  295. package/dist/src/tracing/agent-otel-provider.d.ts +10 -8
  296. package/dist/src/tracing/agent-otel-provider.js +2 -2
  297. package/dist/src/tracing/agent-otel-session-context.d.ts +17 -0
  298. package/dist/src/tracing/agent-otel-session-context.js +1 -0
  299. package/dist/src/tracing/agent-otel-usage.d.ts +4 -0
  300. package/dist/src/tracing/agent-otel-usage.js +1 -0
  301. package/dist/src/tracing/agent-span-id-generator.d.ts +2 -0
  302. package/dist/src/tracing/agent-span-id-generator.js +1 -1
  303. package/dist/src/tracing/agent-tool-instrumentation.d.ts +28 -0
  304. package/dist/src/tracing/agent-tool-instrumentation.js +1 -0
  305. package/dist/src/tracing/agent-trace-context-store.d.ts +8 -1
  306. package/dist/src/tracing/agent-trace-context-store.js +1 -1
  307. package/dist/src/tracing/agent-trace-span-processor.d.ts +0 -1
  308. package/dist/src/tracing/agent-trace-span-processor.js +1 -1
  309. package/dist/src/tracing/agent-trace-state.d.ts +33 -3
  310. package/dist/src/tracing/agent-trace-state.js +1 -1
  311. package/dist/src/tracing/batch-span-processor.d.ts +20 -0
  312. package/dist/src/tracing/batch-span-processor.js +1 -0
  313. package/dist/src/tracing/content-attributes.d.ts +28 -0
  314. package/dist/src/tracing/content-attributes.js +1 -0
  315. package/dist/src/tracing/content-span-processor.d.ts +19 -0
  316. package/dist/src/tracing/content-span-processor.js +1 -0
  317. package/dist/src/tracing/install-instrumentation-runtime.d.ts +19 -0
  318. package/dist/src/tracing/install-instrumentation-runtime.js +1 -0
  319. package/dist/src/tracing/local-instrumentation-runtime.d.ts +1 -1
  320. package/dist/src/tracing/local-instrumentation-runtime.js +1 -1
  321. package/dist/src/tracing/local-traces.d.ts +56 -0
  322. package/dist/src/tracing/local-traces.js +1 -0
  323. package/dist/src/tracing/otel-declaration.d.ts +150 -0
  324. package/dist/src/tracing/otel-declaration.js +1 -0
  325. package/dist/src/tracing/otel-registration.d.ts +21 -0
  326. package/dist/src/tracing/otel-registration.js +1 -0
  327. package/dist/src/tracing/vercel-runtime-span-exporter.d.ts +5 -0
  328. package/dist/src/tracing/vercel-runtime-span-exporter.js +1 -0
  329. package/dist/src/vue/index.js +1 -1
  330. package/dist/src/vue/use-eve-agent.js +1 -1
  331. package/docs/README.md +18 -20
  332. package/docs/agent-config.md +5 -5
  333. package/docs/channels/eve.mdx +10 -56
  334. package/docs/channels/github.mdx +1 -1
  335. package/docs/channels/meta.json +1 -0
  336. package/docs/concepts/context-control.md +32 -56
  337. package/docs/concepts/default-harness.md +2 -2
  338. package/docs/concepts/execution-model-and-durability.mdx +4 -4
  339. package/docs/concepts/meta.json +3 -1
  340. package/docs/concepts/sessions-runs-and-streaming.md +22 -10
  341. package/docs/{guides → concepts}/state.md +3 -3
  342. package/docs/connections/mcp.mdx +6 -89
  343. package/docs/connections/meta.json +1 -0
  344. package/docs/connections/openapi.mdx +5 -69
  345. package/docs/connections/overview.mdx +29 -3
  346. package/docs/evals/meta.json +1 -0
  347. package/docs/evals/reporters.mdx +14 -4
  348. package/docs/extensions.md +1 -1
  349. package/docs/getting-started.mdx +175 -13
  350. package/docs/guides/auth-and-route-protection.md +3 -18
  351. package/docs/guides/client/meta.json +2 -1
  352. package/docs/guides/client/output-schema.mdx +2 -2
  353. package/docs/guides/client/overview.mdx +1 -1
  354. package/docs/guides/deployment/meta.json +1 -0
  355. package/docs/guides/deployment/overview.md +1 -1
  356. package/docs/guides/deployment/self-hosting.md +3 -3
  357. package/docs/guides/deployment/vercel.mdx +1 -1
  358. package/docs/guides/dev-tui.md +3 -13
  359. package/docs/guides/dynamic-capabilities.md +26 -4
  360. package/docs/guides/frontend/meta.json +2 -1
  361. package/docs/guides/frontend/nextjs.mdx +1 -10
  362. package/docs/guides/frontend/nuxt.mdx +1 -10
  363. package/docs/guides/frontend/overview.mdx +12 -3
  364. package/docs/guides/frontend/sveltekit.mdx +1 -10
  365. package/docs/guides/frontend/use-eve-agent-svelte.mdx +39 -126
  366. package/docs/guides/frontend/use-eve-agent-vue.mdx +40 -139
  367. package/docs/guides/instrumentation.md +37 -15
  368. package/docs/guides/meta.json +1 -5
  369. package/docs/guides/remote-agents.md +9 -9
  370. package/docs/guides/session-context.md +34 -103
  371. package/docs/install-integrations.mdx +1 -1
  372. package/docs/instructions.mdx +45 -12
  373. package/docs/meta.json +24 -13
  374. package/docs/patterns/dynamic-scheduling.md +1 -1
  375. package/docs/patterns/meta.json +1 -0
  376. package/docs/patterns/multi-tenant-approvals.md +1 -1
  377. package/docs/patterns/multi-tenant-auth.md +1 -1
  378. package/docs/patterns/multi-tenant-memory.md +4 -3
  379. package/docs/{guides → protocols}/acp.md +1 -1
  380. package/docs/protocols/meta.json +5 -0
  381. package/docs/reference/cli.md +34 -34
  382. package/docs/reference/meta.json +1 -1
  383. package/docs/reference/typescript-api.md +4 -2
  384. package/docs/{subagents.mdx → subagents/index.mdx} +2 -2
  385. package/docs/subagents/meta.json +5 -0
  386. package/docs/{guides/dynamic-workflows.md → subagents/workflow-tool.md} +6 -6
  387. package/docs/tools/human-in-the-loop.md +1 -1
  388. package/docs/tools/meta.json +1 -0
  389. package/docs/tools/overview.mdx +1 -1
  390. package/docs/tutorial/connect-a-warehouse.mdx +1 -1
  391. package/docs/tutorial/meta.json +1 -0
  392. package/docs/tutorial/remember-definitions.mdx +2 -2
  393. package/docs/tutorial/ship-it.mdx +2 -2
  394. package/package.json +10 -4
  395. package/dist/src/compiled/_chunks/workflow/dist-C8PhDW9B.js +0 -1
  396. package/dist/src/compiled/_chunks/workflow/functions-xMPAeWFr.js +0 -1
  397. package/dist/src/compiled/_chunks/workflow/node-Smb57EnG.js +0 -40
  398. package/dist/src/compiled/_chunks/workflow/resume-hook-BrduAuFX.js +0 -1
  399. package/dist/src/compiled/_chunks/workflow/run-CX7_sJnW.js +0 -1
  400. package/dist/src/compiled/_chunks/workflow/sleep-tsb2HjWK.js +0 -1
  401. package/dist/src/compiled/_chunks/workflow/undici-BNc_0O4m.js +0 -95
  402. package/dist/src/compiled/_chunks/workflow/wait-until-BYKVqrwc.js +0 -15
  403. package/dist/src/harness/instrumentation-config.js +0 -1
  404. package/dist/src/harness/instrumentation-lifecycle.d.ts +0 -171
  405. package/dist/src/harness/instrumentation-lifecycle.js +0 -1
  406. package/dist/src/harness/instrumentation-native-events.js +0 -1
  407. package/dist/src/harness/otel-integration.d.ts +0 -12
  408. package/dist/src/harness/otel-integration.js +0 -1
  409. package/docs/installation.mdx +0 -66
  410. package/docs/project-structure.mdx +0 -53
  411. package/docs/reference/project-layout.md +0 -123
  412. /package/dist/src/harness/{instrumentation-runtime-context.d.ts → instrumentation/runtime-context.d.ts} +0 -0
  413. /package/dist/src/harness/{instrumentation-runtime-context.js → instrumentation/runtime-context.js} +0 -0
  414. /package/docs/{guides → protocols}/ucp.mdx +0 -0
@@ -157,7 +157,8 @@ export declare function defineTool<TReturn>(definition: {
157
157
  export declare function defineTool<TInput = unknown, TOutput = unknown>(definition: ToolDefinition<TInput, TOutput>): ToolDefinition<TInput, TOutput>;
158
158
  /**
159
159
  * Defines a dynamic resolver evaluated at runtime from stream-event
160
- * handlers. It is shared across four slots, and the directory it is
160
+ * handlers. It is shared across tools, skills, and agent definitions;
161
+ * the directory it is
161
162
  * authored in (not this function) decides what each handler must return
162
163
  * and which events are honored. The file's path-derived slug names the
163
164
  * single-entry case; a `Record<string, ...>` return names entries
@@ -168,17 +169,13 @@ export declare function defineTool<TInput = unknown, TOutput = unknown>(definiti
168
169
  * `Record<string, defineTool(...)>`, or `null`.
169
170
  * - `agent/skills/`: return a single `defineSkill(...)`, a
170
171
  * `Record<string, defineSkill(...)>`, or `null`.
171
- * - `agent/instructions/`: return a single `defineInstructions({ markdown })`,
172
- * which lowers to one `{ role: "system", content: markdown }` message,
173
- * or `null`. (Maps are not meaningful here.)
174
172
  * - `agent/subagents/<name>/agent.ts`: return `defineAgent(...)` to configure
175
173
  * and expose the subagent, or `null` to omit it.
176
174
  *
177
175
  * Per-slot events: tools resolvers run at `session.started`,
178
- * `turn.started`, and `step.started`. Instructions and skills resolvers
179
- * contribute to the system prompt, so for cache stability they run only
180
- * at `session.started` and `turn.started`; the runtime never invokes a
181
- * handler keyed on `step.started` in those slots.
176
+ * `turn.started`, and `step.started`. Skills resolvers run only at
177
+ * `session.started` and `turn.started`; the runtime never invokes a
178
+ * handler keyed on `step.started` in that slot.
182
179
  * Dynamic subagents run at `session.started` and `turn.started` only.
183
180
  *
184
181
  * ```ts
@@ -2,6 +2,5 @@
2
2
  * Instructions prompt authoring helpers for `agent/instructions.ts`
3
3
  * and `agent/instructions/*.ts` files.
4
4
  */
5
- export { defineInstructions, type InstructionsDefinition, } from "#public/definitions/instructions.js";
6
- export { defineDynamic } from "#public/definitions/tool.js";
5
+ export { defineDynamic, defineInstructions, type DynamicInstructionsEvents, type DynamicInstructionsResult, type InstructionsDefinition, } from "#public/definitions/instructions.js";
7
6
  export type { DynamicResolveContext, DynamicSentinel } from "#shared/dynamic-tool-definition.js";
@@ -1 +1 @@
1
- import{defineDynamic}from"#public/definitions/tool.js";import{defineInstructions}from"#public/definitions/instructions.js";export{defineDynamic,defineInstructions};
1
+ import{defineDynamic,defineInstructions}from"#public/definitions/instructions.js";export{defineDynamic,defineInstructions};
@@ -1,21 +1,23 @@
1
- import type { ExactDefinition } from "#public/definitions/exact.js";
2
1
  /**
3
- * Instrumentation authoring helpers for `agent/instrumentation.ts`.
2
+ * Instrumentation authoring helpers for `agent/instrumentation.ts` and, with
3
+ * `experimental.instrumentationProviders` on, `agent/instrumentation/`.
4
4
  */
5
5
  import type { ModelMessage, SystemModelMessage } from "ai";
6
6
  import type { SessionAuthContext, SessionParent } from "#channel/types.js";
7
7
  import type { InstrumentationChannel } from "#public/channels/index.js";
8
+ import { PROVIDER, type ProviderDefinition, type ProviderSetupContext } from "#public/instrumentation/provider.js";
8
9
  import type { JsonObject } from "#shared/json.js";
10
+ export * from "#public/instrumentation/provider.js";
9
11
  export { isChannel, type InstrumentationChannel, type InstrumentationChannelForChannel, type InstrumentationChannelForKind, type InstrumentationChannelKind, type InstrumentationChannelMetadata, } from "#public/channels/index.js";
10
12
  /**
11
13
  * Context passed to the {@link InstrumentationDefinition.setup} callback.
14
+ *
15
+ * The same context both layouts receive. Keeping one type is what gives
16
+ * {@link defineInstrumentation}'s union a contextual signature for `setup`;
17
+ * two divergent ones would leave every authored `setup(context)` parameter an
18
+ * implicit `any`.
12
19
  */
13
- export interface InstrumentationSetupContext {
14
- /**
15
- * The agent name declared by `defineAgent`. Use as the `serviceName` for
16
- * `registerOTel` instead of a hard-coded string.
17
- */
18
- readonly agentName: string;
20
+ export interface InstrumentationSetupContext extends ProviderSetupContext {
19
21
  }
20
22
  /**
21
23
  * User-authored runtime context values attached to AI SDK telemetry spans.
@@ -119,13 +121,14 @@ export interface InstrumentationDefinition {
119
121
  readonly events?: InstrumentationEvents;
120
122
  /**
121
123
  * Whether to record full model inputs in telemetry spans. Defaults to
122
- * `true` when `instrumentation.ts` is present. Set `false` for sensitive
123
- * inputs or to reduce span payload size.
124
+ * `false`. Set `true` only when the destination is approved to receive
125
+ * input content.
124
126
  */
125
127
  readonly recordInputs?: boolean;
126
128
  /**
127
129
  * Whether to record full model outputs in telemetry spans. Defaults to
128
- * `true` when `instrumentation.ts` is present.
130
+ * `false`. Set `true` only when the destination is approved to receive
131
+ * output content.
129
132
  */
130
133
  readonly recordOutputs?: boolean;
131
134
  /**
@@ -136,16 +139,29 @@ export interface InstrumentationDefinition {
136
139
  */
137
140
  readonly traceChannelRequests?: boolean;
138
141
  /**
139
- * Setup callback invoked at server startup with the resolved agent name.
140
- * Use it to call `registerOTel` or other OTel provider setup;
141
- * `context.agentName` comes from `defineAgent`.
142
+ * Setup callback invoked at server startup, before the first request. Use it
143
+ * to call `registerOTel` or other OTel provider setup; `context.agentName`
144
+ * comes from `defineAgent`. A returned promise is awaited.
142
145
  */
143
- readonly setup?: (context: InstrumentationSetupContext) => void;
146
+ readonly setup?: (context: InstrumentationSetupContext) => void | PromiseLike<void>;
144
147
  }
145
148
  /**
146
- * Export the result as the default export of `agent/instrumentation.ts`. eve
147
- * reads these settings at server startup and applies them to every AI SDK
148
- * model call. The `setup` callback runs later with the resolved agent name,
149
- * not during `defineInstrumentation` itself.
149
+ * Declares instrumentation, in either of eve's two layouts.
150
+ *
151
+ * Export the result as the default export of `agent/instrumentation.ts`, or —
152
+ * with `experimental.instrumentationProviders` on — of one file under
153
+ * `agent/instrumentation/`. The layout decides how eve reads the value; the two
154
+ * are mutually exclusive builds, so only one can apply. `setup` runs at server
155
+ * startup, not during this call.
156
+ *
157
+ * The parameter is a union because a provider and a legacy config overlap on
158
+ * `events` and `setup`, so no value-level check separates them. One consequence
159
+ * is that excess-property checking is weaker here than it was against the
160
+ * config shape alone, and a misspelled key can reach `eve build` rather than
161
+ * failing at `tsc`.
150
162
  */
151
- export declare function defineInstrumentation<T extends InstrumentationDefinition>(definition: ExactDefinition<T, InstrumentationDefinition>): T;
163
+ export declare function defineInstrumentation<const TDefinition extends InstrumentationDefinition | ProviderDefinition>(definition: TDefinition): InstrumentationDeclaration<TDefinition>;
164
+ /** The branded result of {@link defineInstrumentation}. */
165
+ export type InstrumentationDeclaration<TDefinition extends InstrumentationDefinition | ProviderDefinition = InstrumentationDefinition | ProviderDefinition> = TDefinition & {
166
+ readonly [PROVIDER]: true;
167
+ };
@@ -1 +1 @@
1
- import{isChannel}from"#public/channels/index.js";function defineInstrumentation(e){return e}export{defineInstrumentation,isChannel};
1
+ import{PROVIDER}from"#public/instrumentation/provider.js";import{isChannel}from"#public/channels/index.js";export*from"#public/instrumentation/provider.js";function defineInstrumentation(e){return{...e,[PROVIDER]:!0}}export{defineInstrumentation,isChannel};
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The OpenTelemetry authoring surface for `agent/instrumentation/`.
3
+ *
4
+ * Two halves, because OpenTelemetry has two: `otel()` is the settings a process
5
+ * can only hold one of, and an integration is a destination, of which there may
6
+ * be as many as there are files.
7
+ *
8
+ * Reachable only with `experimental.instrumentationProviders` on. With the flag
9
+ * off nothing discovers that directory, so these compile but never run.
10
+ */
11
+ import { type ContentOptions, type OtelIntegration } from "#tracing/otel-declaration.js";
12
+ export { isOtelDeclaration, isOtelIntegration, otel, otelIntegration, type ContentOptions, type OtelDeclaration, type OtelIntegration, type OtelIntegrationOptions, type OtelOptions, } from "#tracing/otel-declaration.js";
13
+ export type { SpanExporter, SpanProcessor } from "#compiled/@vercel/otel/index.js";
14
+ /**
15
+ * Vercel Agent Runs, enabled by default in production.
16
+ *
17
+ * Export it from `agent/instrumentation/agent-runs.ts` to configure content
18
+ * capture, or export `disableInstrumentation()` from that file to turn it off.
19
+ */
20
+ export declare function agentRuns(options?: ContentOptions): OtelIntegration;
21
+ /**
22
+ * The local trace spool `eve dev` reads, as a destination.
23
+ *
24
+ * Export it from `agent/instrumentation/local.ts` to keep it alongside a hosted
25
+ * backend, or export `disableInstrumentation()` from that file to turn it off.
26
+ * Omitting the file leaves eve's default in place.
27
+ *
28
+ * `EVE_TRACES_CONTENT=on` opts the default local spool into content capture.
29
+ * `off` overrides this destination and no other, so declining content locally
30
+ * leaves what a hosted backend receives alone.
31
+ */
32
+ export declare function localTraces(options?: ContentOptions): OtelIntegration;
@@ -0,0 +1 @@
1
+ import{agentRunsIntegration,isOtelDeclaration,isOtelIntegration,otel,otelIntegration,otelIntegration as otelIntegration$1}from"#tracing/otel-declaration.js";import{createLocalTracesProcessor,resolveLocalTracesContent}from"#tracing/local-traces.js";function agentRuns(t={}){return agentRunsIntegration(t)}function localTraces(e={}){return otelIntegration$1({...resolveLocalTracesContent(e),spanProcessors:[createLocalTracesProcessor()]})}export{agentRuns,isOtelDeclaration,isOtelIntegration,localTraces,otel,otelIntegration};
@@ -0,0 +1,117 @@
1
+ /**
2
+ * The provider contract authored under `agent/instrumentation/`.
3
+ *
4
+ * Reachable only with `experimental.instrumentationProviders` on. With the flag
5
+ * off nothing discovers that directory, so these types compile but never run.
6
+ */
7
+ import type { InstrumentationCapture, InstrumentationEvent } from "#harness/instrumentation/lifecycle.js";
8
+ import type { JsonValue } from "#public/types/json.js";
9
+ export type { JsonValue } from "#public/types/json.js";
10
+ export type { InstrumentationActionCompletedEvent, InstrumentationActionFailedEvent, InstrumentationActionKind, InstrumentationActionOutcome, InstrumentationActionOutput, InstrumentationActionStartedEvent, InstrumentationAttemptScope, InstrumentationCapture, InstrumentationChannelDeliveryInput, InstrumentationChannelDeliveryOutcome, InstrumentationChannelDeliveryRef, InstrumentationChannelDeliveryStartedEvent, InstrumentationChannelDeliveryTerminalEvent, InstrumentationContentPart, InstrumentationEvent, InstrumentationInputKind, InstrumentationInputOption, InstrumentationInputOutcome, InstrumentationInputRequest, InstrumentationInputRequestedEvent, InstrumentationInputResolvedEvent, InstrumentationInputResponse, InstrumentationModelCallCompletedEvent, InstrumentationModelCallFailedEvent, InstrumentationModelCallStartedEvent, InstrumentationModelRef, InstrumentationOperationRef, InstrumentationParentLineage, InstrumentationSessionFailedEvent, InstrumentationSessionSettledEvent, InstrumentationSessionStartedEvent, InstrumentationSessionTransitionEvent, InstrumentationStepAttemptMetadataEvent, InstrumentationStepAttemptCompletedEvent, InstrumentationStepAttemptFailedEvent, InstrumentationStepAttemptStartedEvent, InstrumentationStepAttemptTerminalEvent, InstrumentationToolCallCompletedEvent, InstrumentationToolCallFailedEvent, InstrumentationToolCallStartedEvent, InstrumentationToolOutput, InstrumentationTraceContext, InstrumentationTurnFailedEvent, InstrumentationTurnSettledEvent, InstrumentationTurnStartedEvent, InstrumentationTurnTerminalEvent, InstrumentationUsage, } from "#harness/instrumentation/lifecycle.js";
11
+ /**
12
+ * Marks a value as having come from `defineInstrumentation` or a built-in
13
+ * factory.
14
+ *
15
+ * It does not say which layout the value belongs to: a provider and a legacy
16
+ * config both carry `events` and `setup`, so no value-level check separates
17
+ * them. The layout decides — `agent/instrumentation.ts` is read as a config and
18
+ * `agent/instrumentation/*.ts` as providers, and the two are mutually exclusive
19
+ * builds. The brand's job is only to catch a default export that never went
20
+ * through eve at all.
21
+ */
22
+ export declare const PROVIDER: unique symbol;
23
+ /** Marks a slot the author turned off rather than configured. */
24
+ export declare const DISABLED: unique symbol;
25
+ /** Where the agent is running when `setup` fires. */
26
+ export type InstrumentationEnvironment = "development" | "preview" | "production";
27
+ /** The local eval run this server was started to serve. */
28
+ export interface EvaluationRef {
29
+ readonly runId: string;
30
+ }
31
+ /**
32
+ * Passed to {@link InstrumentationProvider.setup} once at server startup,
33
+ * before any event is published.
34
+ */
35
+ export interface ProviderSetupContext {
36
+ /** The agent name declared by `defineAgent`. */
37
+ readonly agentName: string;
38
+ /** Always supplied at runtime; optional for legacy setup-context compatibility. */
39
+ readonly environment?: InstrumentationEnvironment;
40
+ /** Present only when this server was started for a local `eve eval` run. */
41
+ readonly evaluation?: EvaluationRef;
42
+ /** The eve version running the agent. */
43
+ /** Always supplied at runtime; optional for legacy setup-context compatibility. */
44
+ readonly frameworkVersion?: string;
45
+ }
46
+ export interface ProviderState {
47
+ get(): JsonValue | undefined;
48
+ /** Stages a JSON value; `undefined` releases this operation's slot. */
49
+ set(value: JsonValue | undefined): void;
50
+ }
51
+ export interface ProviderContext {
52
+ readonly state: ProviderState;
53
+ }
54
+ /**
55
+ * One event handler.
56
+ *
57
+ * A handler can carry durable JSON state from a start to its terminal through
58
+ * `ctx.state`. eve scopes and releases that state by provider and operation.
59
+ */
60
+ export type Handler<TEvent> = (event: TEvent, ctx: ProviderContext) => void | PromiseLike<void>;
61
+ type EventForType<TEvent, TType> = TEvent extends {
62
+ readonly type: infer TEventType;
63
+ } ? TType extends TEventType ? TEvent & {
64
+ readonly type: TType;
65
+ } : never : never;
66
+ /**
67
+ * The events a provider may handle, one optional handler per event type.
68
+ *
69
+ * Derived from the event union rather than written out, so a new event reaches
70
+ * providers the moment the bus can publish it.
71
+ */
72
+ export type ProviderEvents = {
73
+ readonly [TType in InstrumentationEvent["type"]]?: Handler<EventForType<InstrumentationEvent, TType>>;
74
+ };
75
+ /**
76
+ * What an author writes for one file under `agent/instrumentation/`.
77
+ *
78
+ * Setup runs in slot order, but event handlers across authored providers run
79
+ * concurrently and are failure-isolated. Do not coordinate providers through
80
+ * completion order.
81
+ */
82
+ export interface ProviderDefinition {
83
+ /**
84
+ * How much of each event this provider is handed. Defaults to `"metadata"`:
85
+ * structure, identity, usage, and timing, but not what was said.
86
+ *
87
+ * `"content"` adds the prompt, the response, tool arguments, and tool
88
+ * results. Asking is what makes eve build the projection at all, so a
89
+ * directory in which nobody asks never serializes a prompt.
90
+ */
91
+ readonly capture?: InstrumentationCapture;
92
+ readonly events?: ProviderEvents;
93
+ /** Runs once at server startup, before any event is published. */
94
+ readonly setup?: (context: ProviderSetupContext) => void | PromiseLike<void>;
95
+ /** Drains anything buffered. eve calls this before a session goes idle. */
96
+ readonly flush?: () => void | PromiseLike<void>;
97
+ /** Releases resources when the process is going away. */
98
+ readonly shutdown?: () => void | PromiseLike<void>;
99
+ }
100
+ /** A {@link ProviderDefinition} that has been through `defineInstrumentation`. */
101
+ export type InstrumentationProvider = ProviderDefinition & {
102
+ readonly [PROVIDER]: true;
103
+ };
104
+ /** A slot the author turned off. eve registers nothing for it. */
105
+ export interface InstrumentationDisabled {
106
+ readonly [DISABLED]: true;
107
+ }
108
+ /**
109
+ * Turns off the slot the file it is exported from names.
110
+ *
111
+ * Export it as the default of `agent/instrumentation/local.ts` to stop eve
112
+ * spooling local traces, for instance. Omitting the file entirely leaves eve's
113
+ * default in place, which is why turning one off takes a value.
114
+ */
115
+ export declare function disableInstrumentation(): InstrumentationDisabled;
116
+ export declare function isInstrumentationProvider(value: unknown): value is InstrumentationProvider;
117
+ export declare function isInstrumentationDisabled(value: unknown): value is InstrumentationDisabled;
@@ -0,0 +1 @@
1
+ const PROVIDER=Symbol.for(`eve.instrumentation.provider`),DISABLED=Symbol.for(`eve.instrumentation.disabled`);function disableInstrumentation(){return{[DISABLED]:!0}}function isInstrumentationProvider(t){return typeof t==`object`&&!!t&&t[PROVIDER]===!0}function isInstrumentationDisabled(e){return typeof e==`object`&&!!e&&e[DISABLED]===!0}export{DISABLED,PROVIDER,disableInstrumentation,isInstrumentationDisabled,isInstrumentationProvider};
@@ -1,14 +1,14 @@
1
- import type { Approval } from "#public/definitions/approval.js";
1
+ import type { ApprovalPolicy } from "#public/definitions/approval.js";
2
2
  /**
3
3
  * Returns an `approval` callback that always requires user approval before
4
4
  * the tool executes.
5
5
  */
6
- export declare function always<TInput = unknown>(): Approval<TInput>;
6
+ export declare function always<TInput = unknown>(): ApprovalPolicy<TInput>;
7
7
  /**
8
8
  * Returns an `approval` callback that never requires user approval before
9
9
  * the tool executes.
10
10
  */
11
- export declare function never<TInput = unknown>(): Approval<TInput>;
11
+ export declare function never<TInput = unknown>(): ApprovalPolicy<TInput>;
12
12
  /**
13
13
  * Returns an `approval` callback that requires approval until the user
14
14
  * approves this tool once in the current session. A tool is recorded as
@@ -16,4 +16,4 @@ export declare function never<TInput = unknown>(): Approval<TInput>;
16
16
  * responding) leaves it unrecorded, so the next call prompts again. Keys off
17
17
  * the bare tool name, so it ignores compound approval keys.
18
18
  */
19
- export declare function once<TInput = unknown>(): Approval<TInput>;
19
+ export declare function once<TInput = unknown>(): ApprovalPolicy<TInput>;
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export { type DisabledToolSentinel, type ExperimentalWorkflowToolDefinition, type ExperimentalWorkflowToolInput, defineDynamic, defineTool, disableTool, experimental_workflow, isDisabledToolSentinel, isExperimentalWorkflowToolDefinition, type ToolAuthOptions, type ToolAuthProvider, type ToolDefinition, type ToolContext, type ToolModelOutput, type ToolModelOutputPart, } from "#public/definitions/tool.js";
5
5
  export { toolOutput, toolOutputPart } from "#public/tools/output-builders.js";
6
- export type { Approval, ApprovalContext, ApprovalStatus } from "#public/definitions/approval.js";
6
+ export type { Approval, ApprovalConfiguration, ApprovalContext, ApprovalPolicy, ApprovalRequest, ApprovalResponse, ApprovalResponseAuth, ApprovalResponseContext, ApprovalResponseDecision, ApprovalResponsePolicy, ApprovalResponseSession, ApprovalStatus, } from "#public/definitions/approval.js";
7
7
  export type { DynamicToolEntry, DynamicEvents, DynamicToolEvents, DynamicResolveContext, DynamicSentinel, DynamicToolSet, DynamicToolResult, } from "#shared/dynamic-tool-definition.js";
8
8
  export { type SessionContext } from "#public/definitions/callback-context.js";
9
9
  export { toolResultFrom, type MatchedConnectionResult, type MatchedToolResult, type ToolResultFromFn, } from "#public/tool-result-narrowing.js";
@@ -1,6 +1,6 @@
1
1
  import type { RuntimeActionResult } from "#runtime/actions/types.js";
2
2
  /** Returns results in pending-key order once every requested action has completed. */
3
- export declare function resolveRuntimeActionResultsForKeys(input: {
3
+ export declare function resolveRuntimeActionResultsForKeys<TResult extends RuntimeActionResult>(input: {
4
4
  readonly pendingKeys: readonly string[];
5
- readonly results: readonly RuntimeActionResult[];
6
- }): RuntimeActionResult[] | undefined;
5
+ readonly results: readonly TResult[];
6
+ }): TResult[] | undefined;
@@ -1,3 +1,4 @@
1
+ import type { ModelMessage } from "ai";
1
2
  import type { PreparedRuntimeTool } from "#runtime/sessions/turn.js";
2
3
  import type { ResolvedAgent, ResolvedAgentDefinition } from "#runtime/types.js";
3
4
  import type { WorkspaceRuntimeSpec } from "#runtime/workspace/types.js";
@@ -26,6 +27,7 @@ interface RuntimeTurnAgentBase {
26
27
  readonly availableSkills?: readonly AvailableSkillDescription[];
27
28
  readonly id: string;
28
29
  readonly instructions: readonly string[];
30
+ readonly initialMessages?: readonly ModelMessage[];
29
31
  /**
30
32
  * Optional model used only for compaction summaries.
31
33
  *
@@ -1 +1 @@
1
- import{AGENT_TOOL_NAME,isImplicitAgentToolAvailable}from"#runtime/framework-tools/agent.js";import{composeRuntimeBasePrompt}from"#runtime/prompt/compose.js";const BOOTSTRAP_RUNTIME_MODEL_ID=`eve-bootstrap-model`,BOOTSTRAP_RUNTIME_SYSTEM_PROMPT=`You are the eve bootstrap agent. Be concise, stay grounded in the current conversation, and do not assume tools are available unless the runtime provides them.`;function createResolvedRuntimeTurnAgent(n){let r=n.agent,i=r.config,a=n.id??i?.name;if(a===void 0)throw Error(`Expected a path-derived agent id while resolving agent resources.`);let o=n.tools.some(e=>e.kind===`subagent`||e.kind===`remote`),s=isImplicitAgentToolAvailable({disabledFrameworkTools:r.disabledFrameworkTools,hasAuthoredAgentTool:n.tools.some(t=>t.name===AGENT_TOOL_NAME),nodeId:n.nodeId}),c={availableSkills:r.skills.map(e=>({description:e.description,name:e.name})),id:a,instructions:composeRuntimeBasePrompt({connections:r.connections,instructions:r.instructions,persistentSubagentSessions:i?.experimental?.subagentPersistentSessions===!0,subagentsAvailable:o||s,toolsAvailable:n.tools.length>0||s,workspaceSpec:r.workspaceSpec}),compactionModel:i?.compaction?.model,nodeId:n.nodeId,outputSchema:i?.outputSchema,reasoning:i?.reasoning,tools:[...n.tools],workspaceSpec:r.workspaceSpec};return i===void 0?{...c,configResolver:!0}:i.dynamicModel===void 0?{...c,model:i.model}:{...c,dynamicModel:i.dynamicModel}}export{BOOTSTRAP_RUNTIME_MODEL_ID,BOOTSTRAP_RUNTIME_SYSTEM_PROMPT,createResolvedRuntimeTurnAgent};
1
+ import{AGENT_TOOL_NAME,isImplicitAgentToolAvailable}from"#runtime/framework-tools/agent.js";import{composeRuntimeBasePrompt}from"#runtime/prompt/compose.js";const BOOTSTRAP_RUNTIME_MODEL_ID=`eve-bootstrap-model`,BOOTSTRAP_RUNTIME_SYSTEM_PROMPT=`You are the eve bootstrap agent. Be concise, stay grounded in the current conversation, and do not assume tools are available unless the runtime provides them.`;function createResolvedRuntimeTurnAgent(n){let r=n.agent,i=r.config,a=n.id??i?.name;if(a===void 0)throw Error(`Expected a path-derived agent id while resolving agent resources.`);let o=n.tools.some(e=>e.kind===`subagent`||e.kind===`remote`),s=isImplicitAgentToolAvailable({disabledFrameworkTools:r.disabledFrameworkTools,hasAuthoredAgentTool:n.tools.some(t=>t.name===AGENT_TOOL_NAME),nodeId:n.nodeId}),c={availableSkills:r.skills.map(e=>({description:e.description,name:e.name})),id:a,initialMessages:r.instructions.filter(e=>e.role===`user`&&e.content.trim().length>0).map(e=>({content:e.content.trim(),role:`user`})),instructions:composeRuntimeBasePrompt({connections:r.connections,instructions:r.instructions,persistentSubagentSessions:i?.experimental?.subagentPersistentSessions===!0,subagentsAvailable:o||s,toolsAvailable:n.tools.length>0||s,workspaceSpec:r.workspaceSpec}),compactionModel:i?.compaction?.model,nodeId:n.nodeId,outputSchema:i?.outputSchema,reasoning:i?.reasoning,tools:[...n.tools],workspaceSpec:r.workspaceSpec};return i===void 0?{...c,configResolver:!0}:i.dynamicModel===void 0?{...c,model:i.model}:{...c,dynamicModel:i.dynamicModel}}export{BOOTSTRAP_RUNTIME_MODEL_ID,BOOTSTRAP_RUNTIME_SYSTEM_PROMPT,createResolvedRuntimeTurnAgent};
@@ -1 +1 @@
1
- import{EVE_ATTRIBUTE_VALUE_MAX_BYTES,normalizeEveAttributes,truncateForTag}from"#runtime/attributes/normalize.js";import"#internal/workflow/builtins.js";let WARNED_ABOUT_TAG_FAILURE=!1;async function setEveAttributes(e){let t=normalizeEveAttributes(e);if(Object.keys(t).length!==0)try{let{setAttributes:e}=await import(`#compiled/@workflow/core/index.js`);await e(t,{allowReservedAttributes:!0})}catch(e){WARNED_ABOUT_TAG_FAILURE||(WARNED_ABOUT_TAG_FAILURE=!0,console.warn(`[eve] setEveAttributes failed; suppressing further warnings this process.`,{keys:Object.keys(t),error:e.message}))}}export{EVE_ATTRIBUTE_VALUE_MAX_BYTES,setEveAttributes,truncateForTag};
1
+ import{EVE_ATTRIBUTE_VALUE_MAX_BYTES,normalizeEveAttributes,truncateForTag}from"#runtime/attributes/normalize.js";import"#internal/workflow/builtins.js";let WARNED_ABOUT_TAG_FAILURE=!1;async function setEveAttributes(e){let t=normalizeEveAttributes(e);if(Object.keys(t).length!==0)try{let{setAttributes:e}=await import(`#compiled/@workflow/core/index.js`);await e(t,{allowReservedAttributes:!0})}catch(e){if(isTerminalRunAttributeError(e))return;WARNED_ABOUT_TAG_FAILURE||(WARNED_ABOUT_TAG_FAILURE=!0,console.warn(`[eve] setEveAttributes failed; suppressing further warnings this process.`,{keys:Object.keys(t),error:e.message}))}}function isTerminalRunAttributeError(e){return e instanceof Error&&e.message.startsWith(`Cannot set attributes on run in terminal state`)}export{EVE_ATTRIBUTE_VALUE_MAX_BYTES,setEveAttributes,truncateForTag};
@@ -10,6 +10,7 @@
10
10
  * by principal routes through {@link principalKey}.
11
11
  */
12
12
  import { type AlsContext } from "#context/container.js";
13
+ import { type SessionAuthContext } from "#context/keys.js";
13
14
  import type { AuthorizationDefinition, ConnectionPrincipal } from "#runtime/connections/types.js";
14
15
  /**
15
16
  * Stable string key identifying one principal within a connection's
@@ -66,3 +67,5 @@ export declare function principalKey(principal: ConnectionPrincipal): string;
66
67
  * the definition shape beyond reading `principalType`.
67
68
  */
68
69
  export declare function resolveConnectionPrincipal(connectionName: string, authorization: AuthorizationDefinition, ctx?: AlsContext | undefined): ConnectionPrincipal;
70
+ /** Resolves a connection principal from an explicitly bound session identity. */
71
+ export declare function resolveConnectionPrincipalFromAuth(connectionName: string, authorization: AuthorizationDefinition, current: SessionAuthContext | null | undefined, ctx?: AlsContext): ConnectionPrincipal;
@@ -1 +1 @@
1
- import{AuthKey}from"#context/keys.js";import{contextStorage}from"#context/container.js";import{ConnectionAuthorizationFailedError}from"#public/connections/errors.js";function principalKey(e){return e.type===`app`?`app`:e.issuer===void 0?`user:${e.id}`:`user:${e.issuer}:${e.id}`}function resolveConnectionPrincipal(r,i,a=contextStorage.getStore()){if(i.principalType===`app`)return{type:`app`};let o=a?.get(AuthKey);if(o==null||o.principalType!==`user`)throw new ConnectionAuthorizationFailedError(r,{message:buildUserPrincipalRequiredMessage(r,i,a,o),reason:`principal_required`,retryable:!1});return i.vercelConnect!==void 0&&isVercelDevelopmentUser(o)?{attributes:o.attributes,id:o.subject??o.principalId,type:`user`}:{attributes:o.attributes,id:o.principalId,issuer:o.issuer??o.authenticator,type:`user`}}function isVercelDevelopmentUser(e){return e.authenticator===`oidc`&&e.issuer?.startsWith(`https://oidc.vercel.com/`)===!0&&e.attributes.environment===`development`&&e.subject===e.attributes.user_id}function buildUserPrincipalRequiredMessage(e,t,n,r){let i;return i=n===void 0?`it was invoked outside an eve context, so no authenticated user can be resolved.`:r==null?`the active session has no authenticated user.`:t.vercelConnect!==void 0&&r.authenticator===`local-dev`?`the local request fell back to local development access instead of authenticating a Vercel user. Ensure this directory is linked and the Vercel CLI can mint a Vercel OIDC token, then retry.`:`the active session is scoped to "${r.principalType}", not an authenticated user.`,`Connection "${e}" is user-scoped, but ${i} User-scoped connections require route auth that resolves an authenticated user. If this connection should use credentials shared by the agent instead, configure it as an app-scoped connection.`}export{principalKey,resolveConnectionPrincipal};
1
+ import{AuthKey}from"#context/keys.js";import{contextStorage}from"#context/container.js";import{ConnectionAuthorizationFailedError}from"#public/connections/errors.js";function principalKey(e){return e.type===`app`?`app`:e.issuer===void 0?`user:${e.id}`:`user:${e.issuer}:${e.id}`}function resolveConnectionPrincipal(n,r,i=contextStorage.getStore()){return resolveConnectionPrincipalFromAuth(n,r,i?.get(AuthKey),i)}function resolveConnectionPrincipalFromAuth(e,t,r,i){if(t.principalType===`app`)return{type:`app`};if(r==null||r.principalType!==`user`)throw new ConnectionAuthorizationFailedError(e,{message:buildUserPrincipalRequiredMessage(e,t,i,r),reason:`principal_required`,retryable:!1});return t.vercelConnect!==void 0&&isVercelDevelopmentUser(r)?{attributes:r.attributes,id:r.subject??r.principalId,type:`user`}:{attributes:r.attributes,id:r.principalId,issuer:r.issuer??r.authenticator,type:`user`}}function isVercelDevelopmentUser(e){return e.authenticator===`oidc`&&e.issuer?.startsWith(`https://oidc.vercel.com/`)===!0&&e.attributes.environment===`development`&&e.subject===e.attributes.user_id}function buildUserPrincipalRequiredMessage(e,t,n,r){let i;return i=n===void 0?`it was invoked outside an eve context, so no authenticated user can be resolved.`:r==null?`the active session has no authenticated user.`:t.vercelConnect!==void 0&&r.authenticator===`local-dev`?`the local request fell back to local development access instead of authenticating a Vercel user. Ensure this directory is linked and the Vercel CLI can mint a Vercel OIDC token, then retry.`:`the active session is scoped to "${r.principalType}", not an authenticated user.`,`Connection "${e}" is user-scoped, but ${i} User-scoped connections require route auth that resolves an authenticated user. If this connection should use credentials shared by the agent instead, configure it as an app-scoped connection.`}export{principalKey,resolveConnectionPrincipal,resolveConnectionPrincipalFromAuth};
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import type { ConnectionAuthorizationChallenge } from "#public/connections/errors.js";
13
13
  import { type AuthorizationSignal } from "#harness/authorization.js";
14
+ import type { SessionAuthContext } from "#context/keys.js";
14
15
  import { type AuthorizationDefinition, type ConnectionAuthorizationContext, type TokenResult } from "#runtime/connections/types.js";
15
16
  /**
16
17
  * Everything the scoped authorization helpers need to drive one
@@ -19,6 +20,7 @@ import { type AuthorizationDefinition, type ConnectionAuthorizationContext, type
19
20
  * {@link ConnectionAuthorizationContext} handed to every callback.
20
21
  */
21
22
  export interface ScopedAuthorization {
23
+ readonly boundResponder?: SessionAuthContext;
22
24
  readonly scope: string;
23
25
  readonly authorization: Readonly<AuthorizationDefinition>;
24
26
  readonly connection: ConnectionAuthorizationContext;
@@ -78,11 +80,7 @@ export declare function completeScopedAuthorization(input: ScopedAuthorization):
78
80
  * callers can fall through to rethrowing the original `Required` error.
79
81
  */
80
82
  export declare function startScopedAuthorization(input: ScopedAuthorization): Promise<AuthorizationSignal | undefined>;
81
- /**
82
- * Vercel Connect accepts local HTTP callback URLs only when their hostname is
83
- * literally `localhost`. Other authorization providers keep the framework's
84
- * original callback URL so their registered redirect URI remains unchanged.
85
- */
83
+ /** Normalizes callback URLs for providers with localhost requirements. */
86
84
  export declare function resolveAuthorizationCallbackUrl(input: {
87
85
  readonly authorization: Readonly<AuthorizationDefinition>;
88
86
  readonly callbackUrl: string;
@@ -1 +1 @@
1
- import{contextStorage,loadContext}from"#context/container.js";import{consumeAuthorizationResult,createAuthorizationAttempt,requestAuthorization}from"#harness/authorization.js";import{supportsInteractiveAuthorization}from"#runtime/connections/types.js";import{evictCachedToken,readCachedToken,writeCachedToken}from"#runtime/connections/authorization-tokens.js";import{principalKey,resolveConnectionPrincipal}from"#runtime/connections/principal.js";const LOCAL_HTTP_VERCEL_CONNECT_HOSTNAMES=new Set([`127.0.0.1`,`[::1]`]);async function resolveScopedToken(t){let{scope:n,authorization:r,connection:i}=t,a=contextStorage.getStore(),o=resolveConnectionPrincipal(n,r,a);if(a===void 0)return await r.getToken({connection:i,principal:o});let u=principalKey(o),d=readCachedToken(a,n,u);if(d!==void 0)return d;let f=await r.getToken({connection:i,principal:o});return writeCachedToken(a,n,u,f),f}async function evictScopedToken(t){let{scope:n,authorization:r,connection:i}=t,a=contextStorage.getStore();if(a===void 0)return;let s;try{s=resolveConnectionPrincipal(n,r,a),evictCachedToken(a,n,principalKey(s))}catch{return}try{await r.evict?.({connection:i,principal:s})}catch{}}async function completeScopedAuthorization(e){let{scope:r,authorization:i,connection:o}=e;if(!supportsInteractiveAuthorization(i))return!1;let s=consumeAuthorizationResult(r);if(s===void 0)return!1;let u=i,d=loadContext(),f=s.principal??resolveConnectionPrincipal(r,u,d),p=await u.completeAuthorization({callbackUrl:s.hookUrl,connection:o,principal:f,resume:s.resume,callback:s.callback});return writeCachedToken(d,r,principalKey(f),p),!0}async function startScopedAuthorization(e){let{scope:t,authorization:n,connection:o}=e;if(!supportsInteractiveAuthorization(n))return;let s=createAuthorizationAttempt(t);if(s===void 0)return;let c=n,l=resolveConnectionPrincipal(t,c),u=resolveAuthorizationCallbackUrl({authorization:n,callbackUrl:s.hookUrl}),{challenge:d,resume:f}=await c.startAuthorization({callbackUrl:u,connection:o,principal:l});return requestAuthorization([{attemptId:s.attemptId,challenge:stampChallengeDisplayName(d,n),hookUrl:u,name:t,principal:l,resume:f}])}function resolveAuthorizationCallbackUrl(e){if(e.authorization.vercelConnect===void 0)return e.callbackUrl;let t;try{t=new URL(e.callbackUrl)}catch{return e.callbackUrl}return t.protocol!==`http:`||!LOCAL_HTTP_VERCEL_CONNECT_HOSTNAMES.has(t.hostname)?e.callbackUrl:(t.hostname=`localhost`,t.toString())}function stampChallengeDisplayName(e,t){let n=t.displayName??e.displayName;return n===e.displayName?e:{...e,displayName:n}}export{completeScopedAuthorization,evictScopedToken,resolveAuthorizationCallbackUrl,resolveScopedToken,stampChallengeDisplayName,startScopedAuthorization};
1
+ import{contextStorage,loadContext}from"#context/container.js";import{consumeAuthorizationResult,createAuthorizationAttempt,requestAuthorization}from"#harness/authorization.js";import{supportsInteractiveAuthorization}from"#runtime/connections/types.js";import{evictCachedToken,readCachedToken,writeCachedToken}from"#runtime/connections/authorization-tokens.js";import{principalKey,resolveConnectionPrincipal,resolveConnectionPrincipalFromAuth}from"#runtime/connections/principal.js";const LOCAL_HTTP_VERCEL_CONNECT_HOSTNAMES=new Set([`127.0.0.1`,`[::1]`]);async function resolveScopedToken(t){let{scope:n,authorization:r,connection:i}=t,a=contextStorage.getStore(),o=resolveScopedPrincipal(t,a);if(a===void 0)return await r.getToken({connection:i,principal:o});let u=principalKey(o),d=readCachedToken(a,n,u);if(d!==void 0)return d;let f=await r.getToken({connection:i,principal:o});return writeCachedToken(a,n,u,f),f}async function evictScopedToken(t){let{scope:n,authorization:r,connection:i}=t,a=contextStorage.getStore();if(a===void 0)return;let s;try{s=resolveScopedPrincipal(t,a),evictCachedToken(a,n,principalKey(s))}catch{return}try{await r.evict?.({connection:i,principal:s})}catch{}}async function completeScopedAuthorization(e){let{scope:r,authorization:i,connection:o}=e;if(!supportsInteractiveAuthorization(i))return!1;let s=consumeAuthorizationResult(r);if(s===void 0)return!1;let u=i,d=loadContext(),f=s.principal??resolveScopedPrincipal(e,d),p=await u.completeAuthorization({callbackUrl:s.hookUrl,connection:o,principal:f,resume:s.resume,callback:s.callback});return writeCachedToken(d,r,principalKey(f),p),!0}async function startScopedAuthorization(e){let{scope:t,authorization:n,connection:o}=e;if(!supportsInteractiveAuthorization(n))return;let s=createAuthorizationAttempt(t);if(s===void 0)return;let c=n,l=resolveScopedPrincipal(e),u=resolveAuthorizationCallbackUrl({authorization:n,callbackUrl:s.hookUrl}),{challenge:d,resume:f}=await c.startAuthorization({callbackUrl:u,connection:o,principal:l});return requestAuthorization([{attemptId:s.attemptId,challenge:stampChallengeDisplayName(d,n),hookUrl:u,name:t,principal:l,resume:f}])}function resolveScopedPrincipal(e,t){return e.boundResponder===void 0?resolveConnectionPrincipal(e.scope,e.authorization,t):resolveConnectionPrincipalFromAuth(e.scope,e.authorization,e.boundResponder,t)}function resolveAuthorizationCallbackUrl(e){if(e.authorization.vercelConnect===void 0)return e.callbackUrl;let t;try{t=new URL(e.callbackUrl)}catch{return e.callbackUrl}return t.protocol!==`http:`||!LOCAL_HTTP_VERCEL_CONNECT_HOSTNAMES.has(t.hostname)?e.callbackUrl:(t.hostname=`localhost`,t.toString())}function stampChallengeDisplayName(e,t){let n=t.displayName??e.displayName;return n===e.displayName?e:{...e,displayName:n}}export{completeScopedAuthorization,evictScopedToken,resolveAuthorizationCallbackUrl,resolveScopedToken,stampChallengeDisplayName,startScopedAuthorization};
@@ -20,10 +20,15 @@ import type { ResolvedConnectionDefinition } from "#runtime/types.js";
20
20
  * `expiresAt` is an optional absolute expiration in **milliseconds since
21
21
  * the Unix epoch** ({@link Date.now}). Advisory: the runtime may refresh a
22
22
  * cached token before the next call based on it, but is not required to.
23
+ *
24
+ * `providerSubject` is the stable subject of the provider account represented
25
+ * by this credential. It is scoped to the provider and must not be compared
26
+ * across providers without provider context.
23
27
  */
24
28
  export interface TokenResult {
25
29
  readonly token: string;
26
30
  readonly expiresAt?: number;
31
+ readonly providerSubject?: string;
27
32
  }
28
33
  /**
29
34
  * Wire protocol a connection speaks.
@@ -6,7 +6,7 @@ import type { WorkspaceRuntimeSpec } from "#runtime/workspace/types.js";
6
6
  */
7
7
  interface ComposeRuntimeBasePromptInput {
8
8
  connections?: readonly ResolvedConnectionDefinition[];
9
- instructions?: ResolvedInstructionsDefinition;
9
+ instructions?: readonly ResolvedInstructionsDefinition[];
10
10
  /**
11
11
  * Whether the agent opted into `experimental.subagentPersistentSessions`.
12
12
  * Gates the agent-messaging prompt block that documents `agentId`
@@ -1,2 +1,4 @@
1
1
  import{formatAvailableSkillsSection}from"#execution/skills/instructions.js";import{createWorkspacePromptSection}from"#runtime/workspace/spec.js";import{formatConnectionsSection}from"#runtime/prompt/connections.js";function composeRuntimeBasePrompt(e){return[...createInstructionsPromptBlocks(e.instructions),...createWorkspacePromptBlocks(e.workspaceSpec),...e.toolsAvailable?[`Tool execution
2
- A single tool or subagent call runs as one serial action. If you call multiple independent tools or subagents in one response, eve treats that batch as parallel work. Only batch work that is independent and does not rely on another call in the same response.`]:[],...e.subagentsAvailable&&e.persistentSubagentSessions?["Agent messaging\nAgents you have already delegated to stay available after they answer. eve injects the current `<agents>` list into the conversation as a note labeled `[Agents]`; it is added automatically by the framework, not written by the user, and never requires a reply. The list is only a record of those existing agents — their `agentId`, name, and latest status. It does not limit which subagent tools you can call: your tool list is the source of truth, and any subagent tool can always be called without `agentId` to start a new agent, including when the `<agents>` list is empty or absent. Pass `agentId` to the same subagent tool only to continue one of those existing agents' sessions."]:[],...createConnectionsPromptBlocks(e.connections),...createSkillsPromptBlocks(e.skills)]}function createInstructionsPromptBlocks(e){if(e===void 0)return[];let t=e.markdown.trim();return t.length===0?[]:[`Instructions (${e.name})\n${t}`]}function createWorkspacePromptBlocks(e){if(e===void 0)return[];let n=createWorkspacePromptSection(e);return n===void 0?[]:[n]}function createConnectionsPromptBlocks(e){return!e||e.length===0?[]:[formatConnectionsSection(e)]}function createSkillsPromptBlocks(t){if(!t||t.length===0)return[];let n=formatAvailableSkillsSection(t);return n===null?[]:[n]}export{composeRuntimeBasePrompt};
2
+ A single tool or subagent call runs as one serial action. If you call multiple independent tools or subagents in one response, eve treats that batch as parallel work. Only batch work that is independent and does not rely on another call in the same response.`]:[],...e.subagentsAvailable&&e.persistentSubagentSessions?["Agent messaging\nAgents you have already delegated to stay available after they answer. eve injects the current `<agents>` list into the conversation as a note labeled `[Agents]`; it is added automatically by the framework, not written by the user, and never requires a reply. The list is only a record of those existing agents — their `agentId`, name, and latest status. It does not limit which subagent tools you can call: your tool list is the source of truth, and any subagent tool can always be called without `agentId` to start a new agent, including when the `<agents>` list is empty or absent. Pass `agentId` to the same subagent tool only to continue one of those existing agents' sessions."]:[],...createConnectionsPromptBlocks(e.connections),...createSkillsPromptBlocks(e.skills)]}function createInstructionsPromptBlocks(e){let t=(e??[]).filter(e=>e.role===`system`&&e.content.trim().length>0);if(t.length===0)return[];let n=t.length===1?t[0]:void 0;return[`Instructions (${n!==void 0&&!n.sourceId.startsWith(`ext:`)&&!n.sourceId.startsWith(`ext-override:`)?n.name:`instructions`})\n${t.map(e=>e.content).join(`
3
+
4
+ `).trim()}`]}function createWorkspacePromptBlocks(e){if(e===void 0)return[];let n=createWorkspacePromptSection(e);return n===void 0?[]:[n]}function createConnectionsPromptBlocks(e){return!e||e.length===0?[]:[formatConnectionsSection(e)]}function createSkillsPromptBlocks(t){if(!t||t.length===0)return[];let n=formatAvailableSkillsSection(t);return n===null?[]:[n]}export{composeRuntimeBasePrompt};
@@ -1 +1 @@
1
- import{ResolveAgentError,createResolvedModuleSourceRef}from"#runtime/resolve-helpers.js";import{resolveDynamicToolDefinition}from"#runtime/resolve-dynamic-tool.js";import{resolveChannelDefinition}from"#runtime/resolve-channel.js";import{resolveConnectionDefinition}from"#runtime/resolve-connection.js";import{resolveHookDefinition}from"#runtime/resolve-hook.js";import{resolveSandboxDefinition}from"#runtime/resolve-sandbox.js";import{resolveDynamicInstructionsDefinition}from"#runtime/resolve-dynamic-instructions.js";import{resolveDynamicSkillDefinition}from"#runtime/resolve-dynamic-skill.js";import{resolveToolDefinition}from"#runtime/resolve-tool.js";async function resolveAgent(e){let t=e.manifest.skills.map(e=>({...e,metadata:e.metadata===void 0?void 0:{...e.metadata}})),i=[],a=[];for(let t of e.manifest.channels){if(t.kind===`disabled`){a.push(t.name);continue}i.push(await resolveChannelDefinition(t,e.moduleMap,e.nodeId))}let o=await Promise.all(e.manifest.tools.map(t=>resolveToolDefinition(t,e.moduleMap,e.nodeId))),s=await Promise.all((e.manifest.dynamicInstructions??[]).map(t=>resolveDynamicInstructionsDefinition(t,e.moduleMap,e.nodeId))),c=await Promise.all((e.manifest.dynamicSkills??[]).map(t=>resolveDynamicSkillDefinition(t,e.moduleMap,e.nodeId))),l=await Promise.all(e.manifest.dynamicTools.map(t=>resolveDynamicToolDefinition(t,e.moduleMap,e.nodeId))),u=await Promise.all(e.manifest.hooks.map(t=>resolveHookDefinition(t,e.moduleMap,e.nodeId))),d=await Promise.all(e.manifest.connections.map(t=>resolveConnectionDefinition(t,e.moduleMap,e.nodeId))),f=e.manifest.sandbox===null?null:await resolveSandboxDefinition(e.manifest.sandbox,e.moduleMap,e.nodeId),p=createResolvedInstructionsDefinition(e.manifest.instructions),m=e.manifest.workspaceResourceRoot,h={channels:i,connections:d,disabledFrameworkChannels:a,disabledFrameworkTools:[...e.manifest.disabledFrameworkTools],workflowTool:e.manifest.workflowTool===void 0?void 0:{maxSubagents:e.manifest.workflowTool.maxSubagents},webSearchProvider:e.manifest.webSearchProvider,dynamicInstructionsResolvers:s,dynamicSkillResolvers:c,dynamicToolResolvers:l,hooks:u,metadata:{agentRoot:e.manifest.agentRoot,appRoot:e.manifest.appRoot,diagnosticsSummary:e.manifest.diagnosticsSummary},sandbox:f,workspaceResourceRoot:m,skills:t,tools:o,workspaceSpec:{rootEntries:[...m.rootEntries]}},g=p===void 0?h:{...h,instructions:p};return`config`in e.manifest?{...g,config:createResolvedAgentConfig(e.manifest)}:g}function createResolvedInstructionsDefinition(e){if(e!==void 0)return{name:e.name,logicalPath:e.logicalPath,markdown:e.markdown,sourceId:e.sourceId,sourceKind:e.sourceKind}}function createResolvedAgentConfig(e){let n={name:e.config.name};if(e.config.compaction!==void 0){let t={};e.config.compaction.model!==void 0&&(t.model=e.config.compaction.model.source===void 0?{contextWindowTokens:e.config.compaction.model.contextWindowTokens,id:e.config.compaction.model.id,maxOutputTokens:e.config.compaction.model.maxOutputTokens,providerOptions:e.config.compaction.model.providerOptions}:{contextWindowTokens:e.config.compaction.model.contextWindowTokens,id:e.config.compaction.model.id,maxOutputTokens:e.config.compaction.model.maxOutputTokens,providerOptions:e.config.compaction.model.providerOptions,source:{exportName:e.config.compaction.model.source.exportName,sourceKind:`module`,logicalPath:e.config.compaction.model.source.logicalPath,sourceId:e.config.compaction.model.source.sourceId}}),e.config.compaction.thresholdPercent!==void 0&&(t.thresholdPercent=e.config.compaction.thresholdPercent),n.compaction=t}if(e.config.experimental!==void 0&&(n.experimental={subagentPersistentSessions:e.config.experimental.subagentPersistentSessions,workflow:e.config.experimental.workflow===void 0?void 0:{world:e.config.experimental.workflow.world}}),e.config.outputSchema!==void 0&&(n.outputSchema=e.config.outputSchema),e.config.reasoning!==void 0&&(n.reasoning=e.config.reasoning),e.config.source!==void 0&&(n.source=createResolvedModuleSourceRef(e.config.source)),e.config.limits!==void 0&&(n.limits={maxInputTokensPerSession:e.config.limits.maxInputTokensPerSession,maxOutputTokensPerSession:e.config.limits.maxOutputTokensPerSession,sessionTimeoutMs:e.config.limits.sessionTimeoutMs}),e.config.dynamicModel!==void 0)return{...n,dynamicModel:{...createResolvedModuleSourceRef(e.config.dynamicModel),eventNames:[...e.config.dynamicModel.eventNames]}};let r=e.config.model;return{...n,model:r.source===void 0?{id:r.id,contextWindowTokens:r.contextWindowTokens,maxOutputTokens:r.maxOutputTokens,providerOptions:r.providerOptions}:{contextWindowTokens:r.contextWindowTokens,id:r.id,maxOutputTokens:r.maxOutputTokens,providerOptions:r.providerOptions,source:{exportName:r.source.exportName,sourceKind:`module`,logicalPath:r.source.logicalPath,sourceId:r.source.sourceId}}}}export{ResolveAgentError,resolveAgent};
1
+ import{ResolveAgentError,createResolvedModuleSourceRef}from"#runtime/resolve-helpers.js";import{resolveDynamicToolDefinition}from"#runtime/resolve-dynamic-tool.js";import{resolveChannelDefinition}from"#runtime/resolve-channel.js";import{resolveConnectionDefinition}from"#runtime/resolve-connection.js";import{resolveHookDefinition}from"#runtime/resolve-hook.js";import{resolveSandboxDefinition}from"#runtime/resolve-sandbox.js";import{resolveDynamicInstructionsDefinition}from"#runtime/resolve-dynamic-instructions.js";import{resolveDynamicSkillDefinition}from"#runtime/resolve-dynamic-skill.js";import{resolveToolDefinition}from"#runtime/resolve-tool.js";async function resolveAgent(e){let t=e.manifest.skills.map(e=>({...e,metadata:e.metadata===void 0?void 0:{...e.metadata}})),i=[],a=[];for(let t of e.manifest.channels){if(t.kind===`disabled`){a.push(t.name);continue}i.push(await resolveChannelDefinition(t,e.moduleMap,e.nodeId))}let o=await Promise.all(e.manifest.tools.map(t=>resolveToolDefinition(t,e.moduleMap,e.nodeId))),s=await Promise.all((e.manifest.dynamicInstructions??[]).map(t=>resolveDynamicInstructionsDefinition(t,e.moduleMap,e.nodeId))),c=await Promise.all((e.manifest.dynamicSkills??[]).map(t=>resolveDynamicSkillDefinition(t,e.moduleMap,e.nodeId))),l=await Promise.all(e.manifest.dynamicTools.map(t=>resolveDynamicToolDefinition(t,e.moduleMap,e.nodeId))),u=await Promise.all(e.manifest.hooks.map(t=>resolveHookDefinition(t,e.moduleMap,e.nodeId))),d=await Promise.all(e.manifest.connections.map(t=>resolveConnectionDefinition(t,e.moduleMap,e.nodeId))),f=e.manifest.sandbox===null?null:await resolveSandboxDefinition(e.manifest.sandbox,e.moduleMap,e.nodeId),p=e.manifest.instructions.map(createResolvedInstructionsDefinition),m=e.manifest.workspaceResourceRoot,h={channels:i,connections:d,disabledFrameworkChannels:a,disabledFrameworkTools:[...e.manifest.disabledFrameworkTools],workflowTool:e.manifest.workflowTool===void 0?void 0:{maxSubagents:e.manifest.workflowTool.maxSubagents},webSearchProvider:e.manifest.webSearchProvider,dynamicInstructionsResolvers:s,dynamicSkillResolvers:c,dynamicToolResolvers:l,hooks:u,instructions:p,metadata:{agentRoot:e.manifest.agentRoot,appRoot:e.manifest.appRoot,diagnosticsSummary:e.manifest.diagnosticsSummary},sandbox:f,workspaceResourceRoot:m,skills:t,tools:o,workspaceSpec:{rootEntries:[...m.rootEntries]}};return`config`in e.manifest?{...h,config:createResolvedAgentConfig(e.manifest)}:h}function createResolvedInstructionsDefinition(e){return{content:e.content,name:e.name,logicalPath:e.logicalPath,role:e.role,sourceId:e.sourceId,sourceKind:e.sourceKind}}function createResolvedAgentConfig(e){let n={name:e.config.name};if(e.config.compaction!==void 0){let t={};e.config.compaction.model!==void 0&&(t.model=e.config.compaction.model.source===void 0?{contextWindowTokens:e.config.compaction.model.contextWindowTokens,id:e.config.compaction.model.id,maxOutputTokens:e.config.compaction.model.maxOutputTokens,providerOptions:e.config.compaction.model.providerOptions}:{contextWindowTokens:e.config.compaction.model.contextWindowTokens,id:e.config.compaction.model.id,maxOutputTokens:e.config.compaction.model.maxOutputTokens,providerOptions:e.config.compaction.model.providerOptions,source:{exportName:e.config.compaction.model.source.exportName,sourceKind:`module`,logicalPath:e.config.compaction.model.source.logicalPath,sourceId:e.config.compaction.model.source.sourceId}}),e.config.compaction.thresholdPercent!==void 0&&(t.thresholdPercent=e.config.compaction.thresholdPercent),n.compaction=t}if(e.config.experimental!==void 0&&(n.experimental={instrumentationProviders:e.config.experimental.instrumentationProviders,subagentPersistentSessions:e.config.experimental.subagentPersistentSessions,workflow:e.config.experimental.workflow===void 0?void 0:{world:e.config.experimental.workflow.world}}),e.config.outputSchema!==void 0&&(n.outputSchema=e.config.outputSchema),e.config.reasoning!==void 0&&(n.reasoning=e.config.reasoning),e.config.source!==void 0&&(n.source=createResolvedModuleSourceRef(e.config.source)),e.config.limits!==void 0&&(n.limits={maxInputTokensPerSession:e.config.limits.maxInputTokensPerSession,maxOutputTokensPerSession:e.config.limits.maxOutputTokensPerSession,sessionTimeoutMs:e.config.limits.sessionTimeoutMs}),e.config.dynamicModel!==void 0)return{...n,dynamicModel:{...createResolvedModuleSourceRef(e.config.dynamicModel),eventNames:[...e.config.dynamicModel.eventNames]}};let r=e.config.model;return{...n,model:r.source===void 0?{id:r.id,contextWindowTokens:r.contextWindowTokens,maxOutputTokens:r.maxOutputTokens,providerOptions:r.providerOptions}:{contextWindowTokens:r.contextWindowTokens,id:r.id,maxOutputTokens:r.maxOutputTokens,providerOptions:r.providerOptions,source:{exportName:r.source.exportName,sourceKind:`module`,logicalPath:r.source.logicalPath,sourceId:r.source.sourceId}}}}export{ResolveAgentError,resolveAgent};
@@ -1 +1 @@
1
- import{expectFunction,expectObjectRecord}from"#internal/authored-module.js";import{toErrorMessage}from"#shared/errors.js";import{isToolSchema,toInputSchema,toOutputSchema}from"#shared/tool-schema.js";import{ResolveAgentError,loadResolvedModuleExport}from"#runtime/resolve-helpers.js";import{registerDefinitionSource,stampDefinitionKey}from"#public/tool-result-narrowing.js";async function resolveToolDefinition(a,o,s){try{let n=expectObjectRecord(await loadResolvedModuleExport({definition:a,kindLabel:`tool`,moduleMap:o,nodeId:s}),describe(a,`to return an object`)),i={kind:`tool`,logicalPath:a.logicalPath,name:a.name},c=`tool-source:${a.sourceId}`;stampDefinitionKey(n,c),registerDefinitionSource(c,i),registerDefinitionSource(`tool:${n.description}`,i);let l=expectFunction(n.execute,describe(a,`to provide an execute function`)),u=isToolSchema(n.inputSchema)?n.inputSchema:toInputSchema(a.inputSchema),d=isToolSchema(n.outputSchema)?n.outputSchema:toOutputSchema(a.outputSchema);return{description:a.description,execute:l,exportName:a.exportName,inputSchema:u,logicalPath:a.logicalPath,name:a.name,outputSchema:d,sourceId:a.sourceId,sourceKind:`module`,...extractOptionalHooks(n,a)}}catch(e){throw e instanceof ResolveAgentError?e:new ResolveAgentError(`Failed to attach the tool execute function from "${a.logicalPath}": ${toErrorMessage(e)}`,{logicalPath:a.logicalPath,sourceId:a.sourceId})}}function extractOptionalHooks(t,n){let r={};return t.approval!==void 0&&(r.approval=expectFunction(t.approval,describe(n,`to provide an approval function`))),t.toModelOutput!==void 0&&(r.toModelOutput=expectFunction(t.toModelOutput,describe(n,`to provide a toModelOutput function`))),r}function describe(e,t){return`Expected the tool export "${e.exportName??`default`}" from "${e.logicalPath}" ${t}.`}export{resolveToolDefinition};
1
+ import{expectFunction,expectObjectRecord}from"#internal/authored-module.js";import{toErrorMessage}from"#shared/errors.js";import{isToolSchema,toInputSchema,toOutputSchema}from"#shared/tool-schema.js";import{normalizeApproval}from"#internal/authored-definition/approval.js";import{ResolveAgentError,loadResolvedModuleExport}from"#runtime/resolve-helpers.js";import{registerDefinitionSource,stampDefinitionKey}from"#public/tool-result-narrowing.js";async function resolveToolDefinition(i,o,s){try{let n=expectObjectRecord(await loadResolvedModuleExport({definition:i,kindLabel:`tool`,moduleMap:o,nodeId:s}),describe(i,`to return an object`)),a={kind:`tool`,logicalPath:i.logicalPath,name:i.name},c=`tool-source:${i.sourceId}`;stampDefinitionKey(n,c),registerDefinitionSource(c,a),registerDefinitionSource(`tool:${n.description}`,a);let l=expectFunction(n.execute,describe(i,`to provide an execute function`)),u=isToolSchema(n.inputSchema)?n.inputSchema:toInputSchema(i.inputSchema),d=isToolSchema(n.outputSchema)?n.outputSchema:toOutputSchema(i.outputSchema);return{description:i.description,execute:l,exportName:i.exportName,inputSchema:u,logicalPath:i.logicalPath,name:i.name,outputSchema:d,sourceId:i.sourceId,sourceKind:`module`,...extractOptionalHooks(n,i)}}catch(e){throw e instanceof ResolveAgentError?e:new ResolveAgentError(`Failed to attach the tool execute function from "${i.logicalPath}": ${toErrorMessage(e)}`,{logicalPath:i.logicalPath,sourceId:i.sourceId})}}function extractOptionalHooks(t,n){let r={};return t.approval!==void 0&&(r.approval=normalizeApproval(t.approval,describe(n,`to provide a valid approval definition`))),t.toModelOutput!==void 0&&(r.toModelOutput=expectFunction(t.toModelOutput,describe(n,`to provide a toModelOutput function`))),r}function describe(e,t){return`Expected the tool export "${e.exportName??`default`}" from "${e.logicalPath}" ${t}.`}export{resolveToolDefinition};
@@ -36,12 +36,13 @@ export type ResolvedModuleSourceRef = Readonly<ModuleSourceRef>;
36
36
  * `instructions.{ts,...}`.
37
37
  *
38
38
  * Module-backed instructions sources are executed once at build time —
39
- * the resulting markdown is captured here. Runtime never re-evaluates
39
+ * the resulting content is captured here. Runtime never re-evaluates
40
40
  * the module.
41
41
  */
42
42
  export type ResolvedInstructionsDefinition = Readonly<SourceRef & {
43
+ content: string;
43
44
  name: string;
44
- markdown: string;
45
+ role: "system" | "user";
45
46
  } & (Omit<MarkdownSourceRef<undefined>, "definition"> | ModuleSourceRef)>;
46
47
  /**
47
48
  * Runtime-owned skill metadata resolved from markdown, TypeScript, or a skill
@@ -368,7 +369,7 @@ export interface ResolvedAgent {
368
369
  * `instructions.{ts,...}`, or `undefined` when the agent does not
369
370
  * declare one.
370
371
  */
371
- readonly instructions?: ResolvedInstructionsDefinition;
372
+ readonly instructions: readonly ResolvedInstructionsDefinition[];
372
373
  /**
373
374
  * Authored sandbox override for this agent, when one exists. `null`
374
375
  * means the agent uses the framework default sandbox unchanged.
@@ -10,5 +10,6 @@ export { detectDeployment, detectProjectResolution, projectProductionUrlFromReso
10
10
  export { runVercelEnvPull } from "./run-vercel-link.js";
11
11
  export { provisionSlackbot, reconcileSlackUid, type ProvisionSlackbotResult } from "./slackbot.js";
12
12
  export { runRemoteAuthFlow } from "../cli/dev/tui/remote-auth.js";
13
+ export { inspectVerifiedRemoteAgent, type InspectVerifiedRemoteAgentDeps, type VerifiedRemoteAgentInspection, } from "./verified-remote-agent.js";
13
14
  export { setupConnectionConnector, type SetupConnectionConnectorOptions, type SetupConnectionConnectorResult, } from "./connection-connector.js";
14
15
  export { linkProject, requireAuth, resolveProjectByNameOrId, resolveTeam, } from "./vercel-project.js";
@@ -1 +1 @@
1
- import{runRemoteAuthFlow}from"../cli/dev/tui/remote-auth.js";import{InteractionRequired}from"./ask-signals.js";import"./ask.js";import{runVercel}from"./primitives/run-vercel.js";import{detectDeployment,detectProjectResolution,projectProductionUrlFromResolution}from"./project-resolution.js";import{runVercelEnvPull}from"./run-vercel-link.js";import{createDefaultSetupState,requireProjectPath,snapshotSetupState}from"./state.js";import{getPackageManagerStrategy}from"./primitives/pm/index.js";import{linkProject,requireAuth,resolveProjectByNameOrId,resolveTeam}from"./vercel-project.js";import{createPromptCommandOutput}from"./cli/command-output.js";import"./cli/index.js";import{setupConnectionConnector}from"./connection-connector.js";import{WizardCancelledError}from"./step.js";import{runHeadless,runInteractive}from"./runner.js";import{HeadlessPromptError,createHeadlessPrompter,formatHeadlessEvent}from"./headless.js";import{createPrompter}from"./prompter.js";import{runPackageManagerInstall,runPnpmInstall,spawnPackageManager,spawnPnpm}from"./primitives/pm/run.js";import"./primitives/index.js";import{provisionSlackbot,reconcileSlackUid}from"./slackbot.js";export{HeadlessPromptError,InteractionRequired,WizardCancelledError,createDefaultSetupState,createHeadlessPrompter,createPromptCommandOutput,createPrompter,detectDeployment,detectProjectResolution,formatHeadlessEvent,getPackageManagerStrategy,linkProject,projectProductionUrlFromResolution,provisionSlackbot,reconcileSlackUid,requireAuth,requireProjectPath,resolveProjectByNameOrId,resolveTeam,runHeadless,runInteractive,runPackageManagerInstall,runPnpmInstall,runRemoteAuthFlow,runVercel,runVercelEnvPull,setupConnectionConnector,snapshotSetupState,spawnPackageManager,spawnPnpm};
1
+ import{runRemoteAuthFlow}from"../cli/dev/tui/remote-auth.js";import{InteractionRequired}from"./ask-signals.js";import"./ask.js";import{runVercel}from"./primitives/run-vercel.js";import{detectDeployment,detectProjectResolution,projectProductionUrlFromResolution}from"./project-resolution.js";import{runVercelEnvPull}from"./run-vercel-link.js";import{createDefaultSetupState,requireProjectPath,snapshotSetupState}from"./state.js";import{getPackageManagerStrategy}from"./primitives/pm/index.js";import{linkProject,requireAuth,resolveProjectByNameOrId,resolveTeam}from"./vercel-project.js";import{createPromptCommandOutput}from"./cli/command-output.js";import"./cli/index.js";import{setupConnectionConnector}from"./connection-connector.js";import{WizardCancelledError}from"./step.js";import{runHeadless,runInteractive}from"./runner.js";import{HeadlessPromptError,createHeadlessPrompter,formatHeadlessEvent}from"./headless.js";import{createPrompter}from"./prompter.js";import{runPackageManagerInstall,runPnpmInstall,spawnPackageManager,spawnPnpm}from"./primitives/pm/run.js";import"./primitives/index.js";import{provisionSlackbot,reconcileSlackUid}from"./slackbot.js";import{inspectVerifiedRemoteAgent}from"./verified-remote-agent.js";export{HeadlessPromptError,InteractionRequired,WizardCancelledError,createDefaultSetupState,createHeadlessPrompter,createPromptCommandOutput,createPrompter,detectDeployment,detectProjectResolution,formatHeadlessEvent,getPackageManagerStrategy,inspectVerifiedRemoteAgent,linkProject,projectProductionUrlFromResolution,provisionSlackbot,reconcileSlackUid,requireAuth,requireProjectPath,resolveProjectByNameOrId,resolveTeam,runHeadless,runInteractive,runPackageManagerInstall,runPnpmInstall,runRemoteAuthFlow,runVercel,runVercelEnvPull,setupConnectionConnector,snapshotSetupState,spawnPackageManager,spawnPnpm};
@@ -32,7 +32,7 @@ export interface ProjectIdentity {
32
32
  }
33
33
  /**
34
34
  * Resolves a linked project's human-readable name and team for the dashboard
35
- * status bar, from local `.vercel/project.json` plus the Vercel API. A
35
+ * status bar, from local Vercel link metadata plus the Vercel API. A
36
36
  * personal-account project (a non-`team_` org) carries no team, so `teamName`
37
37
  * is absent; the project name falls back to its id if the API call fails.
38
38
  *
@@ -54,8 +54,8 @@ export type ProjectResolution = {
54
54
  };
55
55
  export declare function projectResolutionFromDeployment(deployment: DeploymentInfo): ProjectResolution;
56
56
  /**
57
- * Side-effect-free fact gathering after a link: reads `.vercel/project.json`
58
- * to resolve the project. The on-disk link is the single source of truth.
57
+ * Side-effect-free fact gathering after a link: reads local Vercel link
58
+ * metadata to resolve the project. The on-disk link is the single source of truth.
59
59
  */
60
60
  export declare function detectProjectResolution(projectRoot: string, options?: VercelProjectOperationOptions): Promise<ProjectResolution>;
61
61
  export declare function mergeProjectResolution(current: ProjectResolution, next: ProjectResolution): ProjectResolution;