eve 0.47.5 → 0.47.7

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 (450) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/NOTICE +72 -0
  3. package/dist/src/channel/adapter.js +1 -1
  4. package/dist/src/channel/session.js +1 -1
  5. package/dist/src/chunks/{use-eve-agent-DjYwFJF7.js → use-eve-agent-B5zw1dwj.js} +0 -1
  6. package/dist/src/chunks/{use-eve-agent-DkUB0Ok4.js → use-eve-agent-Dg5S44kG.js} +0 -1
  7. package/dist/src/cli/commands/registry-declared-setups.js +1 -1
  8. package/dist/src/cli/commands/registry-install-transaction.d.ts +23 -0
  9. package/dist/src/cli/commands/registry-install-transaction.js +1 -0
  10. package/dist/src/cli/commands/registry-package.js +1 -1
  11. package/dist/src/cli/commands/registry.js +1 -1
  12. package/dist/src/cli/commands/setup-headless.d.ts +6 -0
  13. package/dist/src/cli/commands/setup-headless.js +1 -1
  14. package/dist/src/cli/dev/run-interactive-ui.js +1 -1
  15. package/dist/src/cli/dev/tui/line-editor.d.ts +4 -0
  16. package/dist/src/cli/dev/tui/line-editor.js +3 -3
  17. package/dist/src/cli/dev/tui/runner.d.ts +2 -0
  18. package/dist/src/cli/dev/tui/runner.js +1 -1
  19. package/dist/src/cli/dev/tui/stream-format.d.ts +8 -0
  20. package/dist/src/cli/dev/tui/stream-format.js +2 -2
  21. package/dist/src/cli/dev/tui/subagent-pump.d.ts +3 -0
  22. package/dist/src/cli/dev/tui/subagent-pump.js +1 -1
  23. package/dist/src/cli/dev/tui/tui.js +1 -1
  24. package/dist/src/cli/dev/tui/vercel-trusted-sources.js +1 -1
  25. package/dist/src/cli/invoke/result.d.ts +1 -1
  26. package/dist/src/client/agent-info-schema.d.ts +0 -1
  27. package/dist/src/client/agent-info-schema.js +1 -1
  28. package/dist/src/compiled/.vendor-stamp.json +5 -5
  29. package/dist/src/compiled/@agentclientprotocol/sdk/index.js +29 -43
  30. package/dist/src/compiled/@ai-sdk/anthropic/index.js +4 -4
  31. package/dist/src/compiled/@ai-sdk/code-mode/LICENSE +13 -0
  32. package/dist/src/compiled/@ai-sdk/code-mode/_run.d.ts +1 -0
  33. package/dist/src/compiled/@ai-sdk/code-mode/index.d.ts +300 -0
  34. package/dist/src/compiled/@ai-sdk/code-mode/index.js +663 -0
  35. package/dist/src/compiled/@ai-sdk/google/index.js +6 -6
  36. package/dist/src/compiled/@ai-sdk/mcp/index.js +1 -1
  37. package/dist/src/compiled/@ai-sdk/openai/index.js +8 -8
  38. package/dist/src/compiled/@ai-sdk/provider/index.d.ts +6 -0
  39. package/dist/src/compiled/@ai-sdk/provider-utils/index.d.ts +50 -2
  40. package/dist/src/compiled/@modelcontextprotocol/server/index.js +36 -50
  41. package/dist/src/compiled/@photon-ai/chat-adapter-imessage/index.js +55 -55
  42. package/dist/src/compiled/@vercel/sandbox/index.js +3 -3
  43. package/dist/src/compiled/@vercel/sandbox-delete/index.js +3 -3
  44. package/dist/src/compiled/_chunks/client/errors-BLhNglBt.js +2 -0
  45. package/dist/src/compiled/_chunks/node/auth-BSKyPAEP.js +2 -0
  46. package/dist/src/compiled/_chunks/node/auth-YpKlwhP1.js +2 -0
  47. package/dist/src/compiled/_chunks/node/schemas-cFtr4EoN.js +50 -0
  48. package/dist/src/compiled/_chunks/node/xdg-app-paths-Buj3-Svl.js +1 -0
  49. package/dist/src/compiled/_chunks/workflow/dist-Cz-ffHKC.js +65 -0
  50. package/dist/src/compiled/zod/index.js +32 -45
  51. package/dist/src/compiled/zod-validation-error/index.js +1 -1
  52. package/dist/src/compiler/extension-compatibility.d.ts +2 -2
  53. package/dist/src/compiler/extension-compatibility.js +1 -1
  54. package/dist/src/compiler/manifest.d.ts +7 -17
  55. package/dist/src/compiler/manifest.js +1 -1
  56. package/dist/src/compiler/normalize-manifest.js +1 -1
  57. package/dist/src/compiler/normalize-tool.d.ts +0 -1
  58. package/dist/src/compiler/normalize-tool.js +1 -1
  59. package/dist/src/context/build-dynamic-tools.d.ts +2 -2
  60. package/dist/src/context/build-dynamic-tools.js +1 -1
  61. package/dist/src/context/container.d.ts +7 -0
  62. package/dist/src/context/container.js +1 -1
  63. package/dist/src/context/dynamic-tool-lifecycle.d.ts +16 -9
  64. package/dist/src/context/dynamic-tool-lifecycle.js +1 -1
  65. package/dist/src/context/dynamic-tool-metadata.d.ts +44 -0
  66. package/dist/src/context/dynamic-tool-metadata.js +1 -0
  67. package/dist/src/context/keys.d.ts +11 -14
  68. package/dist/src/context/keys.js +1 -1
  69. package/dist/src/eve-channel/index.js +1 -1
  70. package/dist/src/eve-channel/request.d.ts +0 -1
  71. package/dist/src/eve-channel/request.js +2 -2
  72. package/dist/src/execution/create-session-step.js +1 -1
  73. package/dist/src/execution/delegation-tool.d.ts +1 -2
  74. package/dist/src/execution/delegation-tool.js +1 -1
  75. package/dist/src/execution/dispatch-runtime-actions-shared.d.ts +8 -3
  76. package/dist/src/execution/dispatch-runtime-actions-shared.js +1 -1
  77. package/dist/src/execution/dispatch-runtime-actions-step.js +1 -1
  78. package/dist/src/execution/dispatch-workflow-runtime-actions-step.js +1 -1
  79. package/dist/src/execution/node-step.js +1 -1
  80. package/dist/src/execution/pending-turn-state.js +1 -1
  81. package/dist/src/execution/prepared-agent-action.d.ts +7 -0
  82. package/dist/src/execution/prepared-agent-action.js +1 -0
  83. package/dist/src/execution/subagent-start-local.d.ts +3 -0
  84. package/dist/src/execution/subagent-start-local.js +1 -1
  85. package/dist/src/execution/subagent-tool.d.ts +1 -0
  86. package/dist/src/execution/subagent-tool.js +1 -1
  87. package/dist/src/execution/tasks/child/update.d.ts +3 -2
  88. package/dist/src/execution/tasks/parent/control-shared.d.ts +5 -4
  89. package/dist/src/execution/tasks/parent/dispatch-task-step.js +1 -1
  90. package/dist/src/execution/tasks/parent/dispatch.d.ts +4 -3
  91. package/dist/src/execution/tasks/parent/dispatch.js +1 -1
  92. package/dist/src/execution/tools/subagent/local.d.ts +3 -4
  93. package/dist/src/execution/tools/subagent/local.js +1 -1
  94. package/dist/src/execution/tools/subagent/remote.d.ts +4 -1
  95. package/dist/src/execution/tools/subagent/remote.js +1 -1
  96. package/dist/src/execution/workflow-entry-finalization.d.ts +22 -0
  97. package/dist/src/execution/workflow-entry-finalization.js +1 -0
  98. package/dist/src/execution/workflow-entry.d.ts +1 -1
  99. package/dist/src/execution/workflow-entry.js +1 -1
  100. package/dist/src/execution/workflow-steps.js +1 -1
  101. package/dist/src/framework/sources/registry.js +1 -1
  102. package/dist/src/harness/advertised-tools.d.ts +3 -5
  103. package/dist/src/harness/advertised-tools.js +1 -1
  104. package/dist/src/harness/approval-delivery-coordinator.d.ts +6 -0
  105. package/dist/src/harness/approval-delivery-coordinator.js +1 -1
  106. package/dist/src/harness/background-tools.d.ts +2 -0
  107. package/dist/src/harness/execute-tool.d.ts +2 -28
  108. package/dist/src/harness/hitl/pending-input-resolution.js +1 -1
  109. package/dist/src/harness/input-extraction.d.ts +3 -0
  110. package/dist/src/harness/input-extraction.js +1 -1
  111. package/dist/src/harness/input-requests.js +1 -1
  112. package/dist/src/harness/messages.js +1 -1
  113. package/dist/src/harness/runtime-actions.d.ts +9 -3
  114. package/dist/src/harness/runtime-actions.js +1 -1
  115. package/dist/src/harness/stale-input-responses.d.ts +2 -1
  116. package/dist/src/harness/stale-input-responses.js +1 -1
  117. package/dist/src/harness/subagent-depth.d.ts +3 -4
  118. package/dist/src/harness/subagent-depth.js +1 -1
  119. package/dist/src/harness/tool-loop.js +2 -2
  120. package/dist/src/harness/tools.d.ts +0 -2
  121. package/dist/src/harness/tools.js +1 -1
  122. package/dist/src/harness/types.d.ts +6 -7
  123. package/dist/src/harness/workflow-interrupt-state.d.ts +6 -0
  124. package/dist/src/harness/workflow-interrupt-state.js +1 -1
  125. package/dist/src/harness/workflow-lifecycle.d.ts +15 -5
  126. package/dist/src/harness/workflow-lifecycle.js +1 -1
  127. package/dist/src/harness/workflow-runtime-action-state.d.ts +5 -5
  128. package/dist/src/harness/workflow-runtime-action-state.js +1 -1
  129. package/dist/src/harness/workflow-sandbox.d.ts +1 -2
  130. package/dist/src/harness/workflow-sandbox.js +2 -2
  131. package/dist/src/harness/workflow-subagent-limit.d.ts +7 -17
  132. package/dist/src/harness/workflow-subagent-limit.js +1 -1
  133. package/dist/src/instrumentation/ai-sdk-telemetry.d.ts +1 -0
  134. package/dist/src/instrumentation/ai-sdk-telemetry.js +1 -1
  135. package/dist/src/instrumentation/runtime.d.ts +3 -0
  136. package/dist/src/instrumentation/runtime.js +1 -1
  137. package/dist/src/internal/application/build-output-environment.d.ts +2 -0
  138. package/dist/src/internal/application/build-output-environment.js +1 -0
  139. package/dist/src/internal/application/package.js +1 -1
  140. package/dist/src/internal/application/paths.d.ts +1 -2
  141. package/dist/src/internal/application/paths.js +1 -1
  142. package/dist/src/internal/authored-definition/schema-backed.d.ts +6 -2
  143. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  144. package/dist/src/internal/client-context.d.ts +2 -0
  145. package/dist/src/internal/client-context.js +1 -0
  146. package/dist/src/internal/nitro/dev-client-address.d.ts +2 -0
  147. package/dist/src/internal/nitro/dev-client-address.js +1 -1
  148. package/dist/src/internal/nitro/host/dev-authored-source-watcher.d.ts +2 -2
  149. package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
  150. package/dist/src/internal/nitro/host/start-development-server.js +2 -2
  151. package/dist/src/internal/nitro/host/workflow-sandbox-runtime-plugin.js +1 -1
  152. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  153. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
  154. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/lib/schemas.js +1 -1
  155. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/aclaction.js +1 -1
  156. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/sdkvalidationerror.js +1 -1
  157. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectblock.js +1 -1
  158. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/models/updateprojectprojectsbranchmatcher.js +1 -1
  159. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/primitives.js +1 -1
  160. package/dist/src/node_modules/.pnpm/@vercel_sdk@1.28.8/node_modules/@vercel/sdk/esm/types/smartUnion.js +1 -1
  161. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/index.js +1 -0
  162. package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/ZodError.js +1 -1
  163. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v3/types.js +1 -0
  164. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/checks.js +1 -0
  165. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/deep-partial.js +1 -0
  166. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/errors.js +1 -0
  167. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/external.js +1 -0
  168. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/from-json-schema.js +1 -0
  169. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/in-out.js +1 -0
  170. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/iso.js +1 -0
  171. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/parse.js +1 -0
  172. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/classic/schemas.js +1 -0
  173. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/api.js +1 -0
  174. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/checks.js +1 -0
  175. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/compile.js +2 -0
  176. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/core.js +1 -0
  177. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/doc.js +3 -0
  178. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/errors.js +2 -0
  179. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/index.js +1 -0
  180. package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/core/json-schema-generator.js +1 -1
  181. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/json-schema-processors.js +1 -0
  182. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/memoizer.js +1 -0
  183. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/parse.js +1 -0
  184. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/regexes.js +1 -0
  185. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/schemas.js +46 -0
  186. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/to-json-schema.js +3 -0
  187. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/util.js +1 -0
  188. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/versions.js +1 -0
  189. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/core/visit.js +1 -0
  190. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ar.js +1 -0
  191. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/az.js +1 -0
  192. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/be.js +1 -0
  193. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/bg.js +1 -0
  194. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/bn.js +1 -0
  195. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ca.js +1 -0
  196. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ckb.js +1 -0
  197. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/cs.js +1 -0
  198. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/da.js +1 -0
  199. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/de.js +1 -0
  200. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/el.js +1 -0
  201. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/en.js +1 -0
  202. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/eo.js +1 -0
  203. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/es.js +1 -0
  204. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fa.js +1 -0
  205. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fi.js +1 -0
  206. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fr-CA.js +1 -0
  207. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/fr.js +1 -0
  208. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/gu.js +1 -0
  209. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/he.js +1 -0
  210. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hi.js +1 -0
  211. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hr.js +1 -0
  212. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hu.js +1 -0
  213. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/hy.js +1 -0
  214. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/id.js +1 -0
  215. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/index.js +1 -0
  216. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/is.js +1 -0
  217. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/it.js +1 -0
  218. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ja.js +1 -0
  219. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ka.js +1 -0
  220. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/km.js +1 -0
  221. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/kn.js +1 -0
  222. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ko.js +1 -0
  223. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/lt.js +1 -0
  224. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/mk.js +1 -0
  225. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ms.js +1 -0
  226. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ne.js +1 -0
  227. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/nl.js +1 -0
  228. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/nn.js +1 -0
  229. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/no.js +1 -0
  230. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ota.js +1 -0
  231. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pl.js +1 -0
  232. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ps.js +1 -0
  233. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pt-BR.js +1 -0
  234. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/pt.js +1 -0
  235. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ro.js +1 -0
  236. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ru.js +1 -0
  237. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sk.js +1 -0
  238. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sl.js +1 -0
  239. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/sv.js +1 -0
  240. package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/locales/ta.js +1 -1
  241. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/th.js +1 -0
  242. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/tk.js +1 -0
  243. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/tr.js +1 -0
  244. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/uk.js +1 -0
  245. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/ur.js +1 -0
  246. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/uz.js +1 -0
  247. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/vi.js +1 -0
  248. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/yo.js +1 -0
  249. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/zh-CN.js +1 -0
  250. package/dist/src/node_modules/.pnpm/zod@4.5.4/node_modules/zod/v4/locales/zh-TW.js +1 -0
  251. package/dist/src/packages/eve-catalog/src/index.js +1 -1
  252. package/dist/src/protocol/routes.d.ts +2 -2
  253. package/dist/src/public/local-dev.d.ts +9 -0
  254. package/dist/src/public/local-dev.js +1 -0
  255. package/dist/src/public/next/vercel-output-config.js +1 -1
  256. package/dist/src/runtime/actions/keys.d.ts +3 -0
  257. package/dist/src/runtime/actions/keys.js +1 -1
  258. package/dist/src/runtime/agent/bootstrap.js +1 -1
  259. package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
  260. package/dist/src/runtime/loaders/bundled-artifacts.js +1 -1
  261. package/dist/src/runtime/local-dev-capability.d.ts +55 -0
  262. package/dist/src/runtime/local-dev-capability.js +1 -0
  263. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  264. package/dist/src/runtime/resolve-agent.js +1 -1
  265. package/dist/src/runtime/resolve-tool.js +1 -1
  266. package/dist/src/runtime/sessions/runtime-session.d.ts +1 -0
  267. package/dist/src/runtime/sessions/runtime-session.js +1 -1
  268. package/dist/src/runtime/sessions/turn.d.ts +3 -0
  269. package/dist/src/runtime/subagents/registry.js +1 -1
  270. package/dist/src/runtime/tools/registry.d.ts +1 -0
  271. package/dist/src/runtime/tools/registry.js +1 -1
  272. package/dist/src/runtime/types.d.ts +2 -2
  273. package/dist/src/services/dev-client/client-options.d.ts +1 -0
  274. package/dist/src/services/dev-client/client-options.js +1 -1
  275. package/dist/src/services/dev-client/request-headers.js +1 -1
  276. package/dist/src/services/dev-client/runtime-artifacts.d.ts +2 -0
  277. package/dist/src/services/dev-client/runtime-artifacts.js +1 -1
  278. package/dist/src/setup/integrations/discord/api.js +1 -1
  279. package/dist/src/setup/integrations/discord/connect.js +1 -1
  280. package/dist/src/setup/integrations/github/connect.js +1 -1
  281. package/dist/src/setup/integrations/linear/connect.js +1 -1
  282. package/dist/src/setup/integrations/linq/connect.js +1 -1
  283. package/dist/src/setup/integrations/photon/connect.js +1 -1
  284. package/dist/src/setup/project-resolution.js +1 -1
  285. package/dist/src/setup/scaffold/create/add-to-project.js +1 -1
  286. package/dist/src/setup/scaffold/create/extension.js +1 -1
  287. package/dist/src/setup/scaffold/create/project.js +2 -2
  288. package/dist/src/setup/scaffold/create/web-template.d.ts +1 -1
  289. package/dist/src/setup/scaffold/create/web-template.js +1 -1
  290. package/dist/src/setup/scaffold/update/web-options.js +1 -1
  291. package/dist/src/setup/slack-connect.js +1 -1
  292. package/dist/src/setup/vercel-api-failure.js +1 -1
  293. package/dist/src/setup/vercel-deployment.js +1 -1
  294. package/dist/src/setup/vercel-project-api.js +1 -1
  295. package/dist/src/setup/vercel-project-framework.js +1 -1
  296. package/dist/src/setup/vercel-project.js +0 -0
  297. package/dist/src/shared/dispatch-action.d.ts +24 -0
  298. package/dist/src/shared/dispatch-action.js +1 -0
  299. package/dist/src/shared/input.js +1 -1
  300. package/dist/src/shared/workflow-sandbox.d.ts +11 -6
  301. package/dist/src/shared/workflow-sandbox.js +1 -1
  302. package/dist/src/svelte/index.js +1 -1
  303. package/dist/src/svelte/use-eve-agent.js +1 -1
  304. package/dist/src/tasks/json.js +1 -1
  305. package/dist/src/tools/behavior.d.ts +55 -0
  306. package/dist/src/tools/behavior.js +1 -0
  307. package/dist/src/tools/durable-callbacks.d.ts +1 -0
  308. package/dist/src/tools/framework/agent.d.ts +2 -11
  309. package/dist/src/tools/framework/agent.js +1 -1
  310. package/dist/src/tools/framework/ask-question.d.ts +2 -14
  311. package/dist/src/tools/framework/ask-question.js +1 -1
  312. package/dist/src/tools/framework/task-cancel.d.ts +2 -7
  313. package/dist/src/tools/framework/task-cancel.js +1 -1
  314. package/dist/src/tools/framework/task-contract.d.ts +0 -2
  315. package/dist/src/tools/framework/task-contract.js +1 -1
  316. package/dist/src/tools/framework/task-update.d.ts +2 -7
  317. package/dist/src/tools/framework/task-update.js +1 -1
  318. package/dist/src/tools/native-definition.d.ts +6 -0
  319. package/dist/src/tools/native-definition.js +1 -0
  320. package/dist/src/tools/provided/load-skill.js +1 -1
  321. package/dist/src/tracing/agent-approval-instrumentation.js +1 -1
  322. package/dist/src/tracing/agent-channel-delivery-instrumentation.js +1 -1
  323. package/dist/src/tracing/agent-otel-provider.js +1 -1
  324. package/dist/src/tracing/agent-tool-instrumentation.js +1 -1
  325. package/dist/src/tracing/install-instrumentation-runtime.js +1 -1
  326. package/dist/src/tracing/otel-registration.d.ts +2 -0
  327. package/dist/src/tracing/otel-registration.js +1 -1
  328. package/dist/src/vue/index.js +1 -1
  329. package/dist/src/vue/use-eve-agent.js +1 -1
  330. package/docs/reference/typescript-api.md +24 -0
  331. package/package.json +11 -5
  332. package/dist/src/compiled/_chunks/client/errors-C14fPFvs.js +0 -2
  333. package/dist/src/compiled/_chunks/node/auth-DpzFWvTn.js +0 -2
  334. package/dist/src/compiled/_chunks/node/auth-QgeX8nBM.js +0 -2
  335. package/dist/src/compiled/_chunks/node/compat-Dm2n85Mx.js +0 -1
  336. package/dist/src/compiled/_chunks/node/schemas-DtQwuPdM.js +0 -65
  337. package/dist/src/compiled/_chunks/node/xdg-app-paths-Bys8q02u.js +0 -1
  338. package/dist/src/compiled/_chunks/workflow/dist-eUxFublw.js +0 -77
  339. package/dist/src/compiled/experimental-ai-sdk-code-mode/LICENSE +0 -21
  340. package/dist/src/compiled/experimental-ai-sdk-code-mode/approval-continuation.d.ts +0 -71
  341. package/dist/src/compiled/experimental-ai-sdk-code-mode/approval.d.ts +0 -32
  342. package/dist/src/compiled/experimental-ai-sdk-code-mode/code-mode-tool.d.ts +0 -16
  343. package/dist/src/compiled/experimental-ai-sdk-code-mode/continuation-capability.d.ts +0 -44
  344. package/dist/src/compiled/experimental-ai-sdk-code-mode/errors.d.ts +0 -114
  345. package/dist/src/compiled/experimental-ai-sdk-code-mode/fetch-policy.d.ts +0 -21
  346. package/dist/src/compiled/experimental-ai-sdk-code-mode/host-interrupt.d.ts +0 -25
  347. package/dist/src/compiled/experimental-ai-sdk-code-mode/index.d.ts +0 -11
  348. package/dist/src/compiled/experimental-ai-sdk-code-mode/index.js +0 -419
  349. package/dist/src/compiled/experimental-ai-sdk-code-mode/interrupt-continuation.d.ts +0 -32
  350. package/dist/src/compiled/experimental-ai-sdk-code-mode/options.d.ts +0 -3
  351. package/dist/src/compiled/experimental-ai-sdk-code-mode/run-code-mode.d.ts +0 -12
  352. package/dist/src/compiled/experimental-ai-sdk-code-mode/runtime/guest-sources.d.ts +0 -3
  353. package/dist/src/compiled/experimental-ai-sdk-code-mode/runtime/manager.d.ts +0 -22
  354. package/dist/src/compiled/experimental-ai-sdk-code-mode/runtime/max-workers.d.ts +0 -20
  355. package/dist/src/compiled/experimental-ai-sdk-code-mode/runtime/protocol.d.ts +0 -60
  356. package/dist/src/compiled/experimental-ai-sdk-code-mode/runtime/worker-source.d.ts +0 -11
  357. package/dist/src/compiled/experimental-ai-sdk-code-mode/serialization.d.ts +0 -5
  358. package/dist/src/compiled/experimental-ai-sdk-code-mode/source-cache.d.ts +0 -11
  359. package/dist/src/compiled/experimental-ai-sdk-code-mode/telemetry.d.ts +0 -20
  360. package/dist/src/compiled/experimental-ai-sdk-code-mode/tool-invocation.d.ts +0 -24
  361. package/dist/src/compiled/experimental-ai-sdk-code-mode/tool-prompt.d.ts +0 -3
  362. package/dist/src/compiled/experimental-ai-sdk-code-mode/types.d.ts +0 -828
  363. package/dist/src/execution/tools/tasks.d.ts +0 -18
  364. package/dist/src/execution/tools/tasks.js +0 -1
  365. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/index.js +0 -1
  366. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v3/types.js +0 -1
  367. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/checks.js +0 -1
  368. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/errors.js +0 -1
  369. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/external.js +0 -1
  370. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/from-json-schema.js +0 -1
  371. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/iso.js +0 -1
  372. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/parse.js +0 -1
  373. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/classic/schemas.js +0 -1
  374. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/api.js +0 -1
  375. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/checks.js +0 -1
  376. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/core.js +0 -1
  377. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/doc.js +0 -3
  378. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/errors.js +0 -2
  379. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/index.js +0 -1
  380. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/json-schema-processors.js +0 -1
  381. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/parse.js +0 -1
  382. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/regexes.js +0 -1
  383. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/schemas.js +0 -60
  384. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/to-json-schema.js +0 -3
  385. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/util.js +0 -1
  386. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/core/versions.js +0 -1
  387. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ar.js +0 -1
  388. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/az.js +0 -1
  389. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/be.js +0 -1
  390. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/bg.js +0 -1
  391. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ca.js +0 -1
  392. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/cs.js +0 -1
  393. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/da.js +0 -1
  394. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/de.js +0 -1
  395. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/el.js +0 -1
  396. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/en.js +0 -1
  397. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/eo.js +0 -1
  398. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/es.js +0 -1
  399. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fa.js +0 -1
  400. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fi.js +0 -1
  401. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fr-CA.js +0 -1
  402. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/fr.js +0 -1
  403. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/he.js +0 -1
  404. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hr.js +0 -1
  405. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hu.js +0 -1
  406. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/hy.js +0 -1
  407. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/id.js +0 -1
  408. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/index.js +0 -1
  409. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/is.js +0 -1
  410. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/it.js +0 -1
  411. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ja.js +0 -1
  412. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ka.js +0 -1
  413. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/km.js +0 -1
  414. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ko.js +0 -1
  415. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/lt.js +0 -1
  416. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/mk.js +0 -1
  417. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ms.js +0 -1
  418. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/nl.js +0 -1
  419. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/no.js +0 -1
  420. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ota.js +0 -1
  421. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/pl.js +0 -1
  422. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ps.js +0 -1
  423. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/pt.js +0 -1
  424. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ro.js +0 -1
  425. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ru.js +0 -1
  426. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/sl.js +0 -1
  427. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/sv.js +0 -1
  428. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/th.js +0 -1
  429. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/tr.js +0 -1
  430. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/uk.js +0 -1
  431. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/ur.js +0 -1
  432. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/uz.js +0 -1
  433. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/vi.js +0 -1
  434. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/yo.js +0 -1
  435. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/zh-CN.js +0 -1
  436. package/dist/src/node_modules/.pnpm/zod@4.4.3/node_modules/zod/v4/locales/zh-TW.js +0 -1
  437. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/errors.js +0 -0
  438. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/external.js +0 -0
  439. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/helpers/errorUtil.js +0 -0
  440. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/helpers/parseUtil.js +0 -0
  441. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/helpers/typeAliases.js +0 -0
  442. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/helpers/util.js +0 -0
  443. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/index.js +0 -0
  444. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v3/locales/en.js +0 -0
  445. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/classic/coerce.js +0 -0
  446. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/classic/compat.js +0 -0
  447. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/core/json-schema.js +0 -0
  448. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/core/registries.js +0 -0
  449. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/locales/kh.js +0 -0
  450. /package/dist/src/node_modules/.pnpm/{zod@4.4.3 → zod@4.5.4}/node_modules/zod/v4/locales/ua.js +0 -0
@@ -17,6 +17,7 @@ export declare function ensureOtelIntegration(): void;
17
17
  * these forward or they stop receiving events.
18
18
  */
19
19
  export declare function getRegisteredTelemetryIntegrations(options?: {
20
+ readonly excludeEveOtelIntegration?: boolean;
20
21
  readonly sanitizeEveOtelErrors?: boolean;
21
22
  }): readonly Telemetry[];
22
23
  /** @internal */
@@ -1 +1 @@
1
- import{createLogger}from"#internal/logging.js";import{registerTelemetry}from"ai";import{OpenTelemetry}from"#compiled/@ai-sdk/otel/index.js";const log=createLogger(`harness.ai-sdk-telemetry`);let registered=!1,eveOtelIntegration,errorSafeEveOtelIntegration,warnedMissingEveOtelIntegration=!1;function ensureOtelIntegration(){registered||(registered=!0,eveOtelIntegration=new OpenTelemetry({runtimeContext:!0}),errorSafeEveOtelIntegration=telemetryWithoutErrorContent(eveOtelIntegration),registerTelemetry(eveOtelIntegration))}function getRegisteredTelemetryIntegrations(e){let t=globalThis.AI_SDK_TELEMETRY_INTEGRATIONS??[];if(e?.sanitizeEveOtelErrors!==!0)return t;let n=!1,r=t.map(e=>e!==eveOtelIntegration||errorSafeEveOtelIntegration===void 0?e:(n=!0,errorSafeEveOtelIntegration));return!n&&!warnedMissingEveOtelIntegration&&(warnedMissingEveOtelIntegration=!0,log.warn(`could not sanitize eve's AI SDK OpenTelemetry integration`,{reason:eveOtelIntegration===void 0?`eve OpenTelemetry integration was not registered`:`registered integration identity did not match`})),r}function telemetryWithoutErrorContent(e){let genericError=()=>Error(`AI SDK operation failed`);return new Proxy(e,{get(e,t){if(t===`onError`&&e.onError!==void 0)return t=>e.onError(typeof t==`object`&&t?{...t,error:genericError()}:genericError());if(t===`onToolExecutionEnd`&&e.onToolExecutionEnd!==void 0)return t=>e.onToolExecutionEnd(t.toolOutput.type===`tool-error`?{...t,toolOutput:{...t.toolOutput,error:genericError()}}:t);let n=Reflect.get(e,t);return typeof n==`function`?n.bind(e):n}})}export{ensureOtelIntegration,getRegisteredTelemetryIntegrations,telemetryWithoutErrorContent};
1
+ import{createLogger}from"#internal/logging.js";import{registerTelemetry}from"ai";import{OpenTelemetry}from"#compiled/@ai-sdk/otel/index.js";const log=createLogger(`harness.ai-sdk-telemetry`);let registered=!1,eveOtelIntegration,errorSafeEveOtelIntegration,warnedMissingEveOtelIntegration=!1;function ensureOtelIntegration(){registered||(registered=!0,eveOtelIntegration=new OpenTelemetry({runtimeContext:!0}),errorSafeEveOtelIntegration=telemetryWithoutErrorContent(eveOtelIntegration),registerTelemetry(eveOtelIntegration))}function getRegisteredTelemetryIntegrations(e){let t=globalThis.AI_SDK_TELEMETRY_INTEGRATIONS??[],n=e?.excludeEveOtelIntegration===!0?t.filter(e=>e!==eveOtelIntegration):t;if(e?.sanitizeEveOtelErrors!==!0)return n;let r=!1,i=n.map(e=>e!==eveOtelIntegration||errorSafeEveOtelIntegration===void 0?e:(r=!0,errorSafeEveOtelIntegration));return!r&&e.excludeEveOtelIntegration!==!0&&!warnedMissingEveOtelIntegration&&(warnedMissingEveOtelIntegration=!0,log.warn(`could not sanitize eve's AI SDK OpenTelemetry integration`,{reason:eveOtelIntegration===void 0?`eve OpenTelemetry integration was not registered`:`registered integration identity did not match`})),i}function telemetryWithoutErrorContent(e){let genericError=()=>Error(`AI SDK operation failed`);return new Proxy(e,{get(e,t){if(t===`onError`&&e.onError!==void 0)return t=>e.onError(typeof t==`object`&&t?{...t,error:genericError()}:genericError());if(t===`onToolExecutionEnd`&&e.onToolExecutionEnd!==void 0)return t=>e.onToolExecutionEnd(t.toolOutput.type===`tool-error`?{...t,toolOutput:{...t.toolOutput,error:genericError()}}:t);let n=Reflect.get(e,t);return typeof n==`function`?n.bind(e):n}})}export{ensureOtelIntegration,getRegisteredTelemetryIntegrations,telemetryWithoutErrorContent};
@@ -54,11 +54,14 @@ export interface InstrumentationRuntime {
54
54
  readonly hooks: InstrumentationHooks;
55
55
  readonly idGenerator?: AgentSpanIdGenerator;
56
56
  readonly instrumentationProviders?: boolean;
57
+ readonly ownsAgentSpans?: boolean;
57
58
  readonly prepareSessionTrace?: (event: InstrumentationSessionStartedEvent) => Promise<InstrumentationTraceSeed>;
58
59
  readonly prepareTurnTrace?: (event: InstrumentationTurnStartedEvent) => Promise<InstrumentationTraceSeed>;
59
60
  otelSettings: OtelHarnessSettings | undefined;
60
61
  readonly runtimeContextResolvers?: readonly RuntimeContextResolver[];
61
62
  readonly runInContext: InstrumentationContextRunner;
63
+ /** Whether the installed OTel sampler would record a trace with this id. */
64
+ readonly samplesTrace?: (traceId: string) => boolean;
62
65
  readonly shutdown: () => Promise<void>;
63
66
  stepStartedRuntimeContextResolver?: InstrumentationEvents["step.started"];
64
67
  }
@@ -1 +1 @@
1
- import{recordErrorOnSpan}from"#internal/logging.js";import{normalizeChannelAudience}from"#shared/channel-audience.js";import{contextStorage}from"#context/container.js";import{ChannelInstrumentationKey,OtelTraceEnabledKey,ParentSessionKey,ParentTraceContextKey,SessionTraceSeedKey}from"#context/keys.js";import{ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{readSessionTraceDecision}from"#tracing/agent-trace-context-store.js";import{applyAudienceCeiling,shouldCaptureInstrumentationContent}from"#shared/instrumentation-content.js";import{isSampledTrace,resolveTracePolicy,resolveTracePolicyDecision}from"#tracing/sampled-trace.js";import{context,trace}from"#compiled/@opentelemetry/api/index.js";import{attemptIdempotencyKey}from"#instrumentation/lifecycle.js";import{instrumentChannelDelivery}from"#instrumentation/channel-delivery.js";import{buildTelemetryRuntimeContext,snapshotInstrumentationRuntimeContext}from"#instrumentation/runtime-context.js";import{ensureOtelIntegration,getRegisteredTelemetryIntegrations}from"#instrumentation/ai-sdk-telemetry.js";import{createAiSdkHookBridge}from"#instrumentation/ai-sdk-hook-bridge.js";import{createInstrumentationHandleEvent,publishInputResolutions}from"#instrumentation/native-events.js";import{prepareTurnTraceContext}from"#instrumentation/prepare-trace-context.js";import{resolveParentLineage}from"#instrumentation/parent-lineage.js";const INSTRUMENTATION_RUNTIME_KEY=Symbol.for(`eve.instrumentation-runtime`),TURN_TRACE_STATE_KEY=`eve.harness.turnTrace`;function bindInstrumentationRuntime(i,l,u){if(i===void 0)return;let d=i.hooks,readSessionContext=()=>{let e=contextStorage.getStore()??l;return{channel:e.get(ChannelKey),context:e,instrumentation:e.get(ChannelInstrumentationKey),parent:e.get(ParentSessionKey),parentTraceContext:e.get(ParentTraceContextKey),traceSeed:e.get(SessionTraceSeedKey)}},bindHooks=e=>{let n=e.instrumentation;return d.forTrace?.({agentName:u.agentName,audience:normalizeChannelAudience(n?.metadata.audience),channelType:n?.channelType})??d},captureExecutionRuntime=()=>{let e=i.otelSettings;return e!==void 0&&ensureOtelIntegration(),{otelSettings:e,runtimeContextResolvers:i.runtimeContextResolvers,stepStartedRuntimeContextResolver:i.stepStartedRuntimeContextResolver,tracer:e===void 0?void 0:trace.getTracer(`eve`)}},preparePreamble=(e,n)=>{let r=n.instrumentation,a=normalizeChannelAudience(r?.metadata.audience);return prepareTurnTraceContext({...e,agentName:u.agentName,channelAudience:a,channelType:r?.channelType,instrumentation:i,parentLineage:resolveParentLineage(n.parent,n.channel),parentTraceContext:n.parentTraceContext,rootSessionId:n.parent?.rootSessionId??u.rootSessionId,sessionId:u.sessionId,traceSeed:n.traceSeed})};return{createCancellationHandleEvent:e=>{let t=readSessionContext();return createInstrumentationHandleEvent({agentName:u.agentName,channelKind:t.instrumentation?.kind,handleEvent:e.handleEvent,hooks:bindHooks(t),sessionId:u.sessionId,turnId:e.turnId})},flush:i.forceFlush,instrumentChannelDelivery:e=>instrumentChannelDelivery({...e,hooks:d,policyAgentName:u.agentName}),prepareExecution:()=>{let n=captureExecutionRuntime();return{runStep:async(r,a)=>{let o=readSessionContext(),s=bindHooks(o),c=n.otelSettings,l=resolveStepInstrumentationDecision(c,u.agentName,o.instrumentation,o.traceSeed,readSessionTraceDecision(o.context,u.sessionId)),d=n.tracer,f={"eve.environment":r.environment,"eve.session.id":r.session.sessionId,"eve.version":r.eveVersion},p=c?.functionId??u.agentName;p&&(f[`ai.telemetry.functionId`]=p);let m=d!==void 0&&l?.action!==`drop`&&r.hasInput?d.startSpan(`ai.eve.turn`,{attributes:f}):void 0,h=m?.spanContext(),g=h===void 0?r.session:{...r.session,state:{...r.session.state,[TURN_TRACE_STATE_KEY]:{spanId:h.spanId,traceFlags:h.traceFlags,traceId:h.traceId}}},_=m===void 0?void 0:trace.setSpan(context.active(),m);if(_===void 0&&d!==void 0){let e=r.session.state?.[TURN_TRACE_STATE_KEY];e!==void 0&&(_=trace.setSpan(context.active(),trace.wrapSpanContext({...e,isRemote:!0})))}let v=readSessionContext(),y=snapshotInstrumentationRuntimeContext(v.context),b=v.instrumentation,x=normalizeChannelAudience(b?.metadata.audience),S=shouldCaptureInstrumentationContent(x),C=l===void 0?void 0:applyAudienceCeiling(l,x),w=l?.action===`drop`,T={recordInputs:!w&&(C?.action===`record`?C.recordInputs:S)&&(c?.recordInputs??!1),recordOutputs:!w&&(C?.action===`record`?C.recordOutputs:S)&&(c?.recordOutputs??!1)},telemetry=e=>{if(c===void 0&&e.bridgeIntegration===void 0)return;let t={};for(let n of Object.keys(e.runtimeContext??{}))t[n]=!0;let n=c!==void 0&&!(T.recordInputs&&T.recordOutputs),integrations=()=>getRegisteredTelemetryIntegrations({sanitizeEveOtelErrors:n});return{functionId:c?.functionId??u.agentName,includeRuntimeContext:t,integrations:e.bridgeIntegration===void 0?n?[...integrations()]:void 0:[e.bridgeIntegration,...integrations()],isEnabled:!0,recordInputs:T.recordInputs,recordOutputs:T.recordOutputs}},run=()=>a({createHandleEvent:e=>createInstrumentationHandleEvent({...e,agentName:u.agentName,channelAudience:x,channelKind:b?.kind,hooks:s,parentLineage:resolveParentLineage(v.parent,v.channel),parentTraceContext:v.parentTraceContext,rootSessionId:v.parent?.rootSessionId,sessionId:u.sessionId}),prepareAttempt:e=>{let t={attemptId:`${u.sessionId}:${e.turnId}:${e.stepIndex}:${e.attemptIndex}`,attemptIndex:e.attemptIndex,channelAudience:x,functionId:c?.functionId??u.agentName,rootSessionId:v.parent?.rootSessionId??u.sessionId,sessionId:u.sessionId,stepIndex:e.stepIndex,turnId:e.turnId},n=createAiSdkHookBridge(t,s,i.runInContext,e.runtimeContext);return{complete:()=>s.publish({idempotencyKey:attemptIdempotencyKey(t),scope:t,type:`step.attempt.completed`}),fail:e=>s.publish({error:e,idempotencyKey:attemptIdempotencyKey(t),scope:t,type:`step.attempt.failed`}),scope:t,telemetry:telemetry({bridgeIntegration:n,runtimeContext:e.runtimeContext})}},preparePreamble:e=>preparePreamble(e,v),publishInputResolutions:e=>publishInputResolutions({...e,hooks:s}),recordError:t=>{m!==void 0&&recordErrorOnSpan(m,t)},resolveRuntimeContext:e=>{let r=normalizeChannelAudience(y.channel?.metadata.audience);return buildTelemetryRuntimeContext({...e,capturesContent:shouldCaptureInstrumentationContent(r),context:y,providerResolvers:n.runtimeContextResolvers,stepStartedResolver:n.stepStartedRuntimeContextResolver})},session:g,setTurnId:e=>m?.setAttribute(`eve.turn.id`,e),telemetry:()=>telemetry({}),traceContext:h===void 0||!isValidSpanContext(h)?void 0:{spanId:h.spanId,traceFlags:h.traceFlags,traceId:h.traceId}});try{return _===void 0?await run():await context.with(_,run)}finally{m?.end(),m=void 0}}}},preparePreamble:e=>preparePreamble(e,readSessionContext())}}function bindSessionInstrumentation(e){return bindInstrumentationRuntime(getInstrumentationRuntime(),e.ctx,{agentName:e.agentName,rootSessionId:e.rootSessionId,sessionId:e.sessionId})}function initializeSessionInstrumentation(e){let n=getInstrumentationRuntime(),a=e.ctx.get(ChannelInstrumentationKey),o=normalizeChannelAudience(a?.metadata.audience),c=allocateSessionTraceSeed({agentName:e.agentName,audience:o,channelType:a?.channelType,parentTraceContext:e.parentTraceContext,runtime:n});c!==void 0&&e.ctx.set(SessionTraceSeedKey,c),e.ctx.set(OtelTraceEnabledKey,n?.prepareSessionTrace!==void 0)}function allocateSessionTraceSeed(e){if(e.parentTraceContext!==void 0)return{decision:e.parentTraceContext.decision??resolveTracePolicyDecision(isSampledTrace(e.parentTraceContext),e.audience),spanId:e.parentTraceContext.spanId,traceFlags:e.parentTraceContext.traceFlags,traceId:e.parentTraceContext.traceId};if(e.runtime?.prepareSessionTrace===void 0||e.runtime.idGenerator===void 0)return;let t=resolveTracePolicy(e.runtime.otelSettings?.tracePolicy,{agentName:e.agentName,audience:e.audience,channelType:e.channelType});return{decision:t,spanId:e.runtime.idGenerator.allocateSpanId(),traceFlags:+(t.action===`record`),traceId:e.runtime.idGenerator.generateTraceId()}}function resolveStepInstrumentationDecision(e,n,r,i,a){if(e===void 0)return;if(i?.decision!==void 0)return i.decision;if(a!==void 0)return a;let o=normalizeChannelAudience(r?.metadata.audience);return i===void 0?resolveTracePolicy(e.tracePolicy,{agentName:n,audience:o,channelType:r?.channelType}):resolveTracePolicyDecision(isSampledTrace(i),o)}function isValidSpanContext(e){return/^[0-9a-f]{32}$/u.test(e.traceId)&&e.traceId!==`00000000000000000000000000000000`&&/^[0-9a-f]{16}$/u.test(e.spanId)&&e.spanId!==`0000000000000000`}const globalRuntime=globalThis;function registerInstrumentationRuntime(e){let t=globalRuntime[INSTRUMENTATION_RUNTIME_KEY];return t===void 0?(globalRuntime[INSTRUMENTATION_RUNTIME_KEY]=e,e):(t.otelSettings=e.otelSettings,t)}function getInstrumentationRuntime(){return globalRuntime[INSTRUMENTATION_RUNTIME_KEY]}export{bindInstrumentationRuntime,bindSessionInstrumentation,getInstrumentationRuntime,initializeSessionInstrumentation,registerInstrumentationRuntime};
1
+ import{recordErrorOnSpan}from"#internal/logging.js";import{normalizeChannelAudience}from"#shared/channel-audience.js";import{contextStorage}from"#context/container.js";import{ChannelInstrumentationKey,OtelTraceEnabledKey,ParentSessionKey,ParentTraceContextKey,SessionTraceSeedKey}from"#context/keys.js";import{ChannelKey}from"#runtime/sessions/runtime-context-keys.js";import{readSessionTraceDecision}from"#tracing/agent-trace-context-store.js";import{applyAudienceCeiling,shouldCaptureInstrumentationContent}from"#shared/instrumentation-content.js";import{isSampledTrace,resolveTracePolicy,resolveTracePolicyDecision}from"#tracing/sampled-trace.js";import{context,trace}from"#compiled/@opentelemetry/api/index.js";import{attemptIdempotencyKey}from"#instrumentation/lifecycle.js";import{instrumentChannelDelivery}from"#instrumentation/channel-delivery.js";import{buildTelemetryRuntimeContext,snapshotInstrumentationRuntimeContext}from"#instrumentation/runtime-context.js";import{ensureOtelIntegration,getRegisteredTelemetryIntegrations}from"#instrumentation/ai-sdk-telemetry.js";import{createAiSdkHookBridge}from"#instrumentation/ai-sdk-hook-bridge.js";import{createInstrumentationHandleEvent,publishInputResolutions}from"#instrumentation/native-events.js";import{prepareTurnTraceContext}from"#instrumentation/prepare-trace-context.js";import{resolveParentLineage}from"#instrumentation/parent-lineage.js";const INSTRUMENTATION_RUNTIME_KEY=Symbol.for(`eve.instrumentation-runtime`),TURN_TRACE_STATE_KEY=`eve.harness.turnTrace`;function bindInstrumentationRuntime(i,l,u){if(i===void 0)return;let d=i.hooks,readSessionContext=()=>{let e=contextStorage.getStore()??l;return{channel:e.get(ChannelKey),context:e,instrumentation:e.get(ChannelInstrumentationKey),parent:e.get(ParentSessionKey),parentTraceContext:e.get(ParentTraceContextKey),traceSeed:e.get(SessionTraceSeedKey)}},bindHooks=e=>{let n=e.instrumentation;return d.forTrace?.({agentName:u.agentName,audience:normalizeChannelAudience(n?.metadata.audience),channelType:n?.channelType})??d},captureExecutionRuntime=()=>{let e=i.otelSettings,t=i.ownsAgentSpans===!0;return e!==void 0&&!t&&ensureOtelIntegration(),{ownsAgentSpans:t,otelSettings:e,runtimeContextResolvers:i.runtimeContextResolvers,stepStartedRuntimeContextResolver:i.stepStartedRuntimeContextResolver,tracer:e===void 0?void 0:trace.getTracer(`eve`)}},preparePreamble=(e,n)=>{let r=n.instrumentation,a=normalizeChannelAudience(r?.metadata.audience);return prepareTurnTraceContext({...e,agentName:u.agentName,channelAudience:a,channelType:r?.channelType,instrumentation:i,parentLineage:resolveParentLineage(n.parent,n.channel),parentTraceContext:n.parentTraceContext,rootSessionId:n.parent?.rootSessionId??u.rootSessionId,sessionId:u.sessionId,traceSeed:n.traceSeed})};return{createCancellationHandleEvent:e=>{let t=readSessionContext();return createInstrumentationHandleEvent({agentName:u.agentName,channelKind:t.instrumentation?.kind,handleEvent:e.handleEvent,hooks:bindHooks(t),sessionId:u.sessionId,turnId:e.turnId})},flush:i.forceFlush,instrumentChannelDelivery:e=>instrumentChannelDelivery({...e,hooks:d,policyAgentName:u.agentName}),prepareExecution:()=>{let n=captureExecutionRuntime();return{runStep:async(r,a)=>{let o=readSessionContext(),s=bindHooks(o),c=n.otelSettings,l=resolveStepInstrumentationDecision(c,u.agentName,o.instrumentation,o.traceSeed,readSessionTraceDecision(o.context,u.sessionId)),d=n.tracer,f={"eve.environment":r.environment,"eve.session.id":r.session.sessionId,"eve.version":r.eveVersion},p=c?.functionId??u.agentName;p&&(f[`ai.telemetry.functionId`]=p);let m=d!==void 0&&!n.ownsAgentSpans&&l?.action!==`drop`&&r.hasInput?d.startSpan(`ai.eve.turn`,{attributes:f}):void 0,h=m?.spanContext(),g=h===void 0?r.session:{...r.session,state:{...r.session.state,[TURN_TRACE_STATE_KEY]:{spanId:h.spanId,traceFlags:h.traceFlags,traceId:h.traceId}}},_=m===void 0?void 0:trace.setSpan(context.active(),m);if(_===void 0&&d!==void 0){let e=r.session.state?.[TURN_TRACE_STATE_KEY];e!==void 0&&(_=trace.setSpan(context.active(),trace.wrapSpanContext({...e,isRemote:!0})))}let v=readSessionContext(),y=snapshotInstrumentationRuntimeContext(v.context),b=v.instrumentation,x=normalizeChannelAudience(b?.metadata.audience),S=shouldCaptureInstrumentationContent(x),C=l===void 0?void 0:applyAudienceCeiling(l,x),w=l?.action===`drop`,T={recordInputs:!w&&(C?.action===`record`?C.recordInputs:S)&&(c?.recordInputs??!1),recordOutputs:!w&&(C?.action===`record`?C.recordOutputs:S)&&(c?.recordOutputs??!1)},telemetry=e=>{if(c===void 0&&e.bridgeIntegration===void 0)return;let t={};for(let n of Object.keys(e.runtimeContext??{}))t[n]=!0;let r=c!==void 0&&!(T.recordInputs&&T.recordOutputs),integrations=()=>getRegisteredTelemetryIntegrations({...n.ownsAgentSpans?{excludeEveOtelIntegration:!0}:void 0,sanitizeEveOtelErrors:r});return{functionId:c?.functionId??u.agentName,includeRuntimeContext:t,integrations:e.bridgeIntegration===void 0?r?[...integrations()]:void 0:[e.bridgeIntegration,...integrations()],isEnabled:!0,recordInputs:T.recordInputs,recordOutputs:T.recordOutputs}},run=()=>a({createHandleEvent:e=>createInstrumentationHandleEvent({...e,agentName:u.agentName,channelAudience:x,channelKind:b?.kind,hooks:s,parentLineage:resolveParentLineage(v.parent,v.channel),parentTraceContext:v.parentTraceContext,rootSessionId:v.parent?.rootSessionId,sessionId:u.sessionId}),prepareAttempt:e=>{let t={attemptId:`${u.sessionId}:${e.turnId}:${e.stepIndex}:${e.attemptIndex}`,attemptIndex:e.attemptIndex,channelAudience:x,functionId:c?.functionId??u.agentName,rootSessionId:v.parent?.rootSessionId??u.sessionId,sessionId:u.sessionId,stepIndex:e.stepIndex,turnId:e.turnId},n=createAiSdkHookBridge(t,s,i.runInContext,e.runtimeContext);return{complete:()=>s.publish({idempotencyKey:attemptIdempotencyKey(t),scope:t,type:`step.attempt.completed`}),fail:e=>s.publish({error:e,idempotencyKey:attemptIdempotencyKey(t),scope:t,type:`step.attempt.failed`}),scope:t,telemetry:telemetry({bridgeIntegration:n,runtimeContext:e.runtimeContext})}},preparePreamble:e=>preparePreamble(e,v),publishInputResolutions:e=>publishInputResolutions({...e,hooks:s}),recordError:t=>{m!==void 0&&recordErrorOnSpan(m,t)},resolveRuntimeContext:e=>{let r=normalizeChannelAudience(y.channel?.metadata.audience);return buildTelemetryRuntimeContext({...e,capturesContent:shouldCaptureInstrumentationContent(r),context:y,providerResolvers:n.runtimeContextResolvers,stepStartedResolver:n.stepStartedRuntimeContextResolver})},session:g,setTurnId:e=>m?.setAttribute(`eve.turn.id`,e),telemetry:()=>telemetry({}),traceContext:h===void 0||!isValidSpanContext(h)?void 0:{spanId:h.spanId,traceFlags:h.traceFlags,traceId:h.traceId}});try{return _===void 0?await run():await context.with(_,run)}finally{m?.end(),m=void 0}}}},preparePreamble:e=>preparePreamble(e,readSessionContext())}}function bindSessionInstrumentation(e){return bindInstrumentationRuntime(getInstrumentationRuntime(),e.ctx,{agentName:e.agentName,rootSessionId:e.rootSessionId,sessionId:e.sessionId})}function initializeSessionInstrumentation(e){let n=getInstrumentationRuntime(),a=e.ctx.get(ChannelInstrumentationKey),o=normalizeChannelAudience(a?.metadata.audience),c=allocateSessionTraceSeed({agentName:e.agentName,audience:o,channelType:a?.channelType,parentTraceContext:e.parentTraceContext,runtime:n});c!==void 0&&e.ctx.set(SessionTraceSeedKey,c),e.ctx.set(OtelTraceEnabledKey,n?.prepareSessionTrace!==void 0)}function allocateSessionTraceSeed(e){if(e.parentTraceContext!==void 0)return{decision:e.parentTraceContext.decision??resolveTracePolicyDecision(isSampledTrace(e.parentTraceContext),e.audience),spanId:e.parentTraceContext.spanId,traceFlags:e.parentTraceContext.traceFlags,traceId:e.parentTraceContext.traceId};if(e.runtime?.prepareSessionTrace===void 0||e.runtime.idGenerator===void 0)return;let t=resolveTracePolicy(e.runtime.otelSettings?.tracePolicy,{agentName:e.agentName,audience:e.audience,channelType:e.channelType}),n=e.runtime.idGenerator.generateTraceId(),r=t.action===`record`&&(e.runtime.samplesTrace?.(n)??!0);return{decision:t,spanId:e.runtime.idGenerator.allocateSpanId(),traceFlags:+!!r,traceId:n}}function resolveStepInstrumentationDecision(e,n,r,i,a){if(e===void 0)return;if(i?.decision!==void 0)return i.decision;if(a!==void 0)return a;let o=normalizeChannelAudience(r?.metadata.audience);return i===void 0?resolveTracePolicy(e.tracePolicy,{agentName:n,audience:o,channelType:r?.channelType}):resolveTracePolicyDecision(isSampledTrace(i),o)}function isValidSpanContext(e){return/^[0-9a-f]{32}$/u.test(e.traceId)&&e.traceId!==`00000000000000000000000000000000`&&/^[0-9a-f]{16}$/u.test(e.spanId)&&e.spanId!==`0000000000000000`}const globalRuntime=globalThis;function registerInstrumentationRuntime(e){let t=globalRuntime[INSTRUMENTATION_RUNTIME_KEY];return t===void 0?(globalRuntime[INSTRUMENTATION_RUNTIME_KEY]=e,e):(t.otelSettings=e.otelSettings,t)}function getInstrumentationRuntime(){return globalRuntime[INSTRUMENTATION_RUNTIME_KEY]}export{bindInstrumentationRuntime,bindSessionInstrumentation,getInstrumentationRuntime,initializeSessionInstrumentation,registerInstrumentationRuntime};
@@ -0,0 +1,2 @@
1
+ export declare const EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY_ENV = "EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY";
2
+ export declare const EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY_ENV = "EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY";
@@ -0,0 +1 @@
1
+ const EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY_ENV=`EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY`,EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY_ENV=`EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY`;export{EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY_ENV,EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY_ENV};
@@ -1 +1 @@
1
- import{createRequire}from"node:module";import{basename,dirname,join}from"node:path";import{existsSync,readFileSync,realpathSync}from"node:fs";import{fileURLToPath}from"node:url";import{EVE_PACKAGE_NAME}from"#internal/package-name.js";let cachedPackageInfo,cachedPackageLocation;const BUNDLED_FALLBACK_PACKAGE_VERSION=`0.47.5`,WORKFLOW_MODULE_ALIASES={"workflow/errors":`src/compiled/@workflow/errors/index.js`,"workflow/internal/private":`src/compiled/@workflow/core/private.js`};function resolveFallbackPackageVersion(){return BUNDLED_FALLBACK_PACKAGE_VERSION.startsWith(`__`)?`0.0.0`:BUNDLED_FALLBACK_PACKAGE_VERSION}const FALLBACK_PACKAGE_INFO={name:EVE_PACKAGE_NAME,version:resolveFallbackPackageVersion()};function resolveCurrentModulePath(){return typeof __filename==`string`?__filename:resolveCurrentModulePathFromStack()}function resolveCurrentModulePathFromStack(){let e=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let e=Error().stack?.[0]?.getFileName();if(typeof e!=`string`||e.length===0)throw Error(`Failed to resolve the current module path from the stack trace.`);return e.startsWith(`file:`)?fileURLToPath(e):e}finally{Error.prepareStackTrace=e}}const require=createRequire(resolveCurrentModulePath());function tryResolveVerifiedPackageRoot(e){try{let t=realpathSync.native(e);return tryReadInstalledPackageInfo(t,EVE_PACKAGE_NAME)===void 0?void 0:dirname(t)}catch{return}}function findNearestVerifiedPackageRoot(e){let t=e;for(;;){let e=tryResolveVerifiedPackageRoot(join(t,`package.json`));if(e!==void 0)return e;let i=dirname(t);if(i===t)return;t=i}}function tryResolveDirectBuildLocation(e){let i=dirname(e);for(;;){if(basename(i)===`dist`){let e=tryResolveVerifiedPackageRoot(join(dirname(i),`package.json`));if(e!==void 0)return{packageBuildRoot:i,packageRoot:e}}let e=dirname(i);if(e===i)return;i=e}}function isSourceCheckout(e){return existsSync(join(e,`src`,`internal`,`application`,`package.ts`))}function tryCreatePackageLocation(e){if(isSourceCheckout(e))return{packageBuildRoot:null,packageRoot:e};let t=join(e,`dist`);if(existsSync(t))return{packageBuildRoot:t,packageRoot:e}}function resolveSelfPackageJsonPath(t){return createRequire(t).resolve(`${EVE_PACKAGE_NAME}/package.json`)}function resolvePackageLocationFromModulePath(e,t=resolveSelfPackageJsonPath){let r=realpathSync.native(e),i=tryResolveDirectBuildLocation(r);if(i!==void 0)return i;let a=findNearestVerifiedPackageRoot(dirname(r));if(a!==void 0&&isSourceCheckout(a))return{packageBuildRoot:null,packageRoot:a};try{let e=tryResolveVerifiedPackageRoot(t(r)),n=e===void 0?void 0:tryCreatePackageLocation(e);if(n!==void 0)return n}catch{}let o=a===void 0?void 0:tryCreatePackageLocation(a);if(o!==void 0)return o;throw Error(`Failed to resolve the eve package root from "${e}".`)}function resolvePackageLocation(){return cachedPackageLocation??=resolvePackageLocationFromModulePath(resolveCurrentModulePath()),cachedPackageLocation}function resolvePackageBuildRoot(){return resolvePackageLocation().packageBuildRoot}function resolvePackageRoot(){return resolvePackageLocation().packageRoot}function tryResolvePackageRoot(){try{return resolvePackageRoot()}catch{return}}function rewriteSourceFilePathForBuild(e){return e.replace(/\.[cm]?tsx?$/,`.js`)}function resolvePackageSourceFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),e):join(t,rewriteSourceFilePathForBuild(e))}function resolvePackageSourceDirectoryPath(e){let t=resolvePackageBuildRoot();return join(t===null?resolvePackageRoot():t,e)}function resolvePackageDependencyPath(e){return require.resolve(e)}function resolvePackageCompiledFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),`.generated`,`compiled`,e.replace(/^src\/compiled\//,``)):join(t,e)}function normalizeInstalledPackageInfo(e){let t=e;if(!(typeof t.name!=`string`||typeof t.version!=`string`))return{name:t.name,version:t.version}}function tryReadInstalledPackageInfo(e,t){let n=normalizeInstalledPackageInfo(JSON.parse(readFileSync(e,`utf8`)));if(n?.name===t)return n}function resolveInstalledPackageInfo(){if(cachedPackageInfo)return cachedPackageInfo;let e=tryResolvePackageRoot(),t=e===void 0?void 0:tryReadInstalledPackageInfo(join(e,`package.json`),EVE_PACKAGE_NAME);if(t)return cachedPackageInfo=t,cachedPackageInfo;try{let e=tryReadInstalledPackageInfo(require.resolve(`${EVE_PACKAGE_NAME}/package.json`),EVE_PACKAGE_NAME);if(e)return cachedPackageInfo=e,cachedPackageInfo}catch{}return cachedPackageInfo={...FALLBACK_PACKAGE_INFO},cachedPackageInfo}function readWorkflowVersionFromManifest(e){let t=e;for(let e of[t.devDependencies,t.dependencies,t.peerDependencies]){let t=e?.[`@workflow/core`];if(typeof t==`string`&&t.trim().length>0)return t}}function resolveExpectedWorkflowVersion(){let e=tryResolvePackageRoot();if(e!==void 0)try{return readWorkflowVersionFromManifest(JSON.parse(readFileSync(join(e,`package.json`),`utf8`)))}catch{}try{return readWorkflowVersionFromManifest(JSON.parse(readFileSync(require.resolve(`${EVE_PACKAGE_NAME}/package.json`),`utf8`)))}catch{return}}function resolveWorkflowModulePath(e){if(e===`workflow`)return resolvePackageSourceFilePath(`src/internal/workflow/index.ts`);if(e===`workflow/api`||e===`workflow/runtime`)return resolvePackageSourceFilePath(`src/internal/workflow/runtime.ts`);if(e===`workflow/internal/builtins`)return resolvePackageSourceFilePath(`src/internal/workflow/builtins.ts`);let t=WORKFLOW_MODULE_ALIASES[e];return t===void 0?require.resolve(e):resolvePackageCompiledFilePath(t)}export{resolveExpectedWorkflowVersion,resolveInstalledPackageInfo,resolvePackageCompiledFilePath,resolvePackageDependencyPath,resolvePackageLocationFromModulePath,resolvePackageRoot,resolvePackageSourceDirectoryPath,resolvePackageSourceFilePath,resolveWorkflowModulePath};
1
+ import{createRequire}from"node:module";import{basename,dirname,join}from"node:path";import{existsSync,readFileSync,realpathSync}from"node:fs";import{fileURLToPath}from"node:url";import{EVE_PACKAGE_NAME}from"#internal/package-name.js";let cachedPackageInfo,cachedPackageLocation;const BUNDLED_FALLBACK_PACKAGE_VERSION=`0.47.7`,WORKFLOW_MODULE_ALIASES={"workflow/errors":`src/compiled/@workflow/errors/index.js`,"workflow/internal/private":`src/compiled/@workflow/core/private.js`};function resolveFallbackPackageVersion(){return BUNDLED_FALLBACK_PACKAGE_VERSION.startsWith(`__`)?`0.0.0`:BUNDLED_FALLBACK_PACKAGE_VERSION}const FALLBACK_PACKAGE_INFO={name:EVE_PACKAGE_NAME,version:resolveFallbackPackageVersion()};function resolveCurrentModulePath(){return typeof __filename==`string`?__filename:resolveCurrentModulePathFromStack()}function resolveCurrentModulePathFromStack(){let e=Error.prepareStackTrace;try{Error.prepareStackTrace=(e,t)=>t;let e=Error().stack?.[0]?.getFileName();if(typeof e!=`string`||e.length===0)throw Error(`Failed to resolve the current module path from the stack trace.`);return e.startsWith(`file:`)?fileURLToPath(e):e}finally{Error.prepareStackTrace=e}}const require=createRequire(resolveCurrentModulePath());function tryResolveVerifiedPackageRoot(e){try{let t=realpathSync.native(e);return tryReadInstalledPackageInfo(t,EVE_PACKAGE_NAME)===void 0?void 0:dirname(t)}catch{return}}function findNearestVerifiedPackageRoot(e){let t=e;for(;;){let e=tryResolveVerifiedPackageRoot(join(t,`package.json`));if(e!==void 0)return e;let i=dirname(t);if(i===t)return;t=i}}function tryResolveDirectBuildLocation(e){let i=dirname(e);for(;;){if(basename(i)===`dist`){let e=tryResolveVerifiedPackageRoot(join(dirname(i),`package.json`));if(e!==void 0)return{packageBuildRoot:i,packageRoot:e}}let e=dirname(i);if(e===i)return;i=e}}function isSourceCheckout(e){return existsSync(join(e,`src`,`internal`,`application`,`package.ts`))}function tryCreatePackageLocation(e){if(isSourceCheckout(e))return{packageBuildRoot:null,packageRoot:e};let t=join(e,`dist`);if(existsSync(t))return{packageBuildRoot:t,packageRoot:e}}function resolveSelfPackageJsonPath(t){return createRequire(t).resolve(`${EVE_PACKAGE_NAME}/package.json`)}function resolvePackageLocationFromModulePath(e,t=resolveSelfPackageJsonPath){let r=realpathSync.native(e),i=tryResolveDirectBuildLocation(r);if(i!==void 0)return i;let a=findNearestVerifiedPackageRoot(dirname(r));if(a!==void 0&&isSourceCheckout(a))return{packageBuildRoot:null,packageRoot:a};try{let e=tryResolveVerifiedPackageRoot(t(r)),n=e===void 0?void 0:tryCreatePackageLocation(e);if(n!==void 0)return n}catch{}let o=a===void 0?void 0:tryCreatePackageLocation(a);if(o!==void 0)return o;throw Error(`Failed to resolve the eve package root from "${e}".`)}function resolvePackageLocation(){return cachedPackageLocation??=resolvePackageLocationFromModulePath(resolveCurrentModulePath()),cachedPackageLocation}function resolvePackageBuildRoot(){return resolvePackageLocation().packageBuildRoot}function resolvePackageRoot(){return resolvePackageLocation().packageRoot}function tryResolvePackageRoot(){try{return resolvePackageRoot()}catch{return}}function rewriteSourceFilePathForBuild(e){return e.replace(/\.[cm]?tsx?$/,`.js`)}function resolvePackageSourceFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),e):join(t,rewriteSourceFilePathForBuild(e))}function resolvePackageSourceDirectoryPath(e){let t=resolvePackageBuildRoot();return join(t===null?resolvePackageRoot():t,e)}function resolvePackageDependencyPath(e){return require.resolve(e)}function resolvePackageCompiledFilePath(e){let t=resolvePackageBuildRoot();return t===null?join(resolvePackageRoot(),`.generated`,`compiled`,e.replace(/^src\/compiled\//,``)):join(t,e)}function normalizeInstalledPackageInfo(e){let t=e;if(!(typeof t.name!=`string`||typeof t.version!=`string`))return{name:t.name,version:t.version}}function tryReadInstalledPackageInfo(e,t){let n=normalizeInstalledPackageInfo(JSON.parse(readFileSync(e,`utf8`)));if(n?.name===t)return n}function resolveInstalledPackageInfo(){if(cachedPackageInfo)return cachedPackageInfo;let e=tryResolvePackageRoot(),t=e===void 0?void 0:tryReadInstalledPackageInfo(join(e,`package.json`),EVE_PACKAGE_NAME);if(t)return cachedPackageInfo=t,cachedPackageInfo;try{let e=tryReadInstalledPackageInfo(require.resolve(`${EVE_PACKAGE_NAME}/package.json`),EVE_PACKAGE_NAME);if(e)return cachedPackageInfo=e,cachedPackageInfo}catch{}return cachedPackageInfo={...FALLBACK_PACKAGE_INFO},cachedPackageInfo}function readWorkflowVersionFromManifest(e){let t=e;for(let e of[t.devDependencies,t.dependencies,t.peerDependencies]){let t=e?.[`@workflow/core`];if(typeof t==`string`&&t.trim().length>0)return t}}function resolveExpectedWorkflowVersion(){let e=tryResolvePackageRoot();if(e!==void 0)try{return readWorkflowVersionFromManifest(JSON.parse(readFileSync(join(e,`package.json`),`utf8`)))}catch{}try{return readWorkflowVersionFromManifest(JSON.parse(readFileSync(require.resolve(`${EVE_PACKAGE_NAME}/package.json`),`utf8`)))}catch{return}}function resolveWorkflowModulePath(e){if(e===`workflow`)return resolvePackageSourceFilePath(`src/internal/workflow/index.ts`);if(e===`workflow/api`||e===`workflow/runtime`)return resolvePackageSourceFilePath(`src/internal/workflow/runtime.ts`);if(e===`workflow/internal/builtins`)return resolvePackageSourceFilePath(`src/internal/workflow/builtins.ts`);let t=WORKFLOW_MODULE_ALIASES[e];return t===void 0?require.resolve(e):resolvePackageCompiledFilePath(t)}export{resolveExpectedWorkflowVersion,resolveInstalledPackageInfo,resolvePackageCompiledFilePath,resolvePackageDependencyPath,resolvePackageLocationFromModulePath,resolvePackageRoot,resolvePackageSourceDirectoryPath,resolvePackageSourceFilePath,resolveWorkflowModulePath};
@@ -1,5 +1,4 @@
1
- export declare const EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY_ENV = "EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY";
2
- export declare const EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY_ENV = "EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY";
1
+ export { EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY_ENV, EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY_ENV, } from "#internal/application/build-output-environment.js";
3
2
  export interface ApplicationInfo {
4
3
  appRoot: string;
5
4
  outputDir: string;
@@ -1 +1 @@
1
- import{createHash}from"node:crypto";import{join,resolve}from"node:path";import{resolveInstalledPackageInfo,resolvePackageRoot,resolvePackageSourceDirectoryPath}from"#internal/application/package.js";import{existsSync,readFileSync,readdirSync,rmSync}from"node:fs";import{workflowEntryReference}from"#execution/workflow-runtime.js";const EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY_ENV=`EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY`,EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY_ENV=`EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY`;function resolveApplicationRoot(e=process.cwd()){return resolve(e)}function getWorkflowBuildCacheKey(t){return createHash(`sha256`).update(t).digest(`hex`).slice(0,12)}function isVercelBuildEnvironment(){return!!process.env.VERCEL}function resolveNitroBuildDirectory(e){return join(e,`.eve`,`nitro`)}function resolveApplicationHostArtifactsDirectory(e){return join(e,`.eve`,`host`)}function resolveWorkflowBuildDirectory(e){let n=join(resolvePackageRoot(),`.eve`,`workflow-cache`);return pruneStaleWorkflowCacheSiblings(n),join(n,getWorkflowBuildCacheKey(e))}function pruneStaleWorkflowCacheSiblings(e){if(!existsSync(e))return;let n=resolveInstalledPackageInfo().version,i;try{i=readdirSync(e)}catch{return}for(let r of i){let i=join(e,r),a=join(i,`eve-cache.json`);if(existsSync(a))try{let e=JSON.parse(readFileSync(a,`utf8`));typeof e.eveVersion==`string`&&e.eveVersion!==n&&rmSync(i,{force:!0,recursive:!0})}catch{}}}function resolveSandboxCacheDirectory(e){return join(e,`.eve`,`sandbox-cache`)}function resolveOutputDirectory(e){return isVercelBuildEnvironment()?join(e,`.vercel`,`output`):join(e,`.output`)}function getApplicationInfo(e){return{appRoot:e,outputDir:resolveOutputDirectory(e),workflowId:workflowEntryReference.workflowId,workflowBuildDir:resolveWorkflowBuildDirectory(e),workflowSourceDir:resolvePackageSourceDirectoryPath(`src/execution`)}}export{EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY_ENV,EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY_ENV,getApplicationInfo,isVercelBuildEnvironment,resolveApplicationHostArtifactsDirectory,resolveApplicationRoot,resolveNitroBuildDirectory,resolveOutputDirectory,resolveSandboxCacheDirectory,resolveWorkflowBuildDirectory};
1
+ import{createHash}from"node:crypto";import{join,resolve}from"node:path";import{resolveInstalledPackageInfo,resolvePackageRoot,resolvePackageSourceDirectoryPath}from"#internal/application/package.js";import{existsSync,readFileSync,readdirSync,rmSync}from"node:fs";import{workflowEntryReference}from"#execution/workflow-runtime.js";import{EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY_ENV,EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY_ENV}from"#internal/application/build-output-environment.js";function resolveApplicationRoot(e=process.cwd()){return resolve(e)}function getWorkflowBuildCacheKey(t){return createHash(`sha256`).update(t).digest(`hex`).slice(0,12)}function isVercelBuildEnvironment(){return!!process.env.VERCEL}function resolveNitroBuildDirectory(e){return join(e,`.eve`,`nitro`)}function resolveApplicationHostArtifactsDirectory(e){return join(e,`.eve`,`host`)}function resolveWorkflowBuildDirectory(e){let n=join(resolvePackageRoot(),`.eve`,`workflow-cache`);return pruneStaleWorkflowCacheSiblings(n),join(n,getWorkflowBuildCacheKey(e))}function pruneStaleWorkflowCacheSiblings(e){if(!existsSync(e))return;let n=resolveInstalledPackageInfo().version,i;try{i=readdirSync(e)}catch{return}for(let r of i){let i=join(e,r),a=join(i,`eve-cache.json`);if(existsSync(a))try{let e=JSON.parse(readFileSync(a,`utf8`));typeof e.eveVersion==`string`&&e.eveVersion!==n&&rmSync(i,{force:!0,recursive:!0})}catch{}}}function resolveSandboxCacheDirectory(e){return join(e,`.eve`,`sandbox-cache`)}function resolveOutputDirectory(e){return isVercelBuildEnvironment()?join(e,`.vercel`,`output`):join(e,`.output`)}function getApplicationInfo(e){return{appRoot:e,outputDir:resolveOutputDirectory(e),workflowId:workflowEntryReference.workflowId,workflowBuildDir:resolveWorkflowBuildDirectory(e),workflowSourceDir:resolvePackageSourceDirectoryPath(`src/execution`)}}export{EVE_INTERNAL_BUILD_OUTPUT_DIRECTORY_ENV,EVE_INTERNAL_HOST_BUILD_OUTPUT_DIRECTORY_ENV,getApplicationInfo,isVercelBuildEnvironment,resolveApplicationHostArtifactsDirectory,resolveApplicationRoot,resolveNitroBuildDirectory,resolveOutputDirectory,resolveSandboxCacheDirectory,resolveWorkflowBuildDirectory};
@@ -1,4 +1,5 @@
1
- import type { InternalToolDefinitionWithExecuteFn } from "#tools/definition.js";
1
+ import type { InternalToolDefinition, ToolExecuteFn } from "#tools/definition.js";
2
+ import { type CompiledToolBehavior } from "#tools/behavior.js";
2
3
  import { type DynamicToolEventName } from "#dynamic/definition.js";
3
4
  /**
4
5
  * Canonical normalized shape of one authored tool default export.
@@ -6,8 +7,11 @@ import { type DynamicToolEventName } from "#dynamic/definition.js";
6
7
  * Identity is path-derived — the compiler stamps the filename slug onto
7
8
  * the compiled entry. This shape never carries an authored `name`.
8
9
  */
9
- type NormalizedAuthoredTool = Readonly<Omit<InternalToolDefinitionWithExecuteFn, "name"> & {
10
+ type NormalizedAuthoredTool = Readonly<Omit<InternalToolDefinition, "name"> & {
11
+ readonly behavior?: CompiledToolBehavior;
12
+ readonly execute?: ToolExecuteFn;
10
13
  readonly hasApproval: boolean;
14
+ readonly hasExecute: boolean;
11
15
  readonly hasModelOutputProjection: boolean;
12
16
  }>;
13
17
  /**
@@ -1 +1 @@
1
- import{expectFunction,expectObjectRecord,expectOnlyKnownKeys,expectPositiveInteger,expectString}from"#internal/authored-module.js";import{serializeInputSchema,serializeOutputSchema}from"#tools/schema.js";import{isDisabledToolSentinel}from"#tools/definition.js";import{assertResolverOnlyDynamicSentinel,isDynamicSentinel}from"#dynamic/definition.js";import{shouldRebindDynamicCallbacks}from"#internal/dynamic-tool-rebind.js";import{normalizeApproval}from"#internal/authored-definition/approval.js";import{isExperimentalWorkflowToolDefinition}from"#tools/workflow.js";import{isWebSearchToolDefinition}from"#tools/provided/web-search.js";function normalizeToolDefinition(n,r){if(isDynamicSentinel(n))return assertResolverOnlyDynamicSentinel(n,r),{kind:`dynamic-tool`,eventNames:Object.keys(n.events),rebindMissingCallbacks:shouldRebindDynamicCallbacks(n)};if(isDisabledToolSentinel(n))return{kind:`disabled`};if(isExperimentalWorkflowToolDefinition(n)){let e=expectObjectRecord(n,r);return expectOnlyKnownKeys(e,[`kind`,`maxSubagents`],r),{kind:`workflow-tool`,maxSubagents:e.maxSubagents===void 0?void 0:expectPositiveInteger(e.maxSubagents,r)}}if(isWebSearchToolDefinition(n)){let e=expectObjectRecord(n,r);expectOnlyKnownKeys(e,[`kind`,`provider`],r);let t=expectString(e.provider,r);if(t!==`exa`&&t!==`parallel`)throw Error(`${r} Expected "provider" to be one of: exa, parallel.`);return{kind:`web-search-tool`,provider:t}}let i=expectObjectRecord(n,r);expectOnlyKnownKeys(i,[`auth`,`description`,`execute`,`execution`,`inputSchema`,`approval`,`outputSchema`,`toModelOutput`],r);let a=i.inputSchema===void 0?null:serializeInputSchema(i.inputSchema),o=serializeOutputSchema(i.outputSchema),s={description:expectString(i.description,r),execute:expectFunction(i.execute,r),hasApproval:i.approval!==void 0,hasModelOutputProjection:i.toModelOutput!==void 0,inputSchema:a};if(i.execution!==void 0){let e=expectString(i.execution,r);if(e!==`background`)throw Error(`${r} Expected "execution" to be "background".`);s.execution=e}return o!==void 0&&(s.outputSchema=o),i.approval!==void 0&&normalizeApproval(i.approval,r),i.toModelOutput!==void 0&&expectFunction(i.toModelOutput,r),i.auth!==void 0&&expectFunction(expectObjectRecord(i.auth,r).getToken,r),{kind:`tool`,definition:s}}export{normalizeToolDefinition};
1
+ import{expectFunction,expectObjectRecord,expectOnlyKnownKeys,expectPositiveInteger,expectString}from"#internal/authored-module.js";import{serializeInputSchema,serializeOutputSchema}from"#tools/schema.js";import{isDisabledToolSentinel}from"#tools/definition.js";import{assertResolverOnlyDynamicSentinel,isDynamicSentinel}from"#dynamic/definition.js";import{shouldRebindDynamicCallbacks}from"#internal/dynamic-tool-rebind.js";import{normalizeApproval}from"#internal/authored-definition/approval.js";import{isExperimentalWorkflowToolDefinition}from"#tools/workflow.js";import{isWebSearchToolDefinition}from"#tools/provided/web-search.js";import{readToolBehavior}from"#tools/behavior.js";function normalizeToolDefinition(n,r){if(isDynamicSentinel(n))return assertResolverOnlyDynamicSentinel(n,r),{kind:`dynamic-tool`,eventNames:Object.keys(n.events),rebindMissingCallbacks:shouldRebindDynamicCallbacks(n)};if(isDisabledToolSentinel(n))return{kind:`disabled`};if(isExperimentalWorkflowToolDefinition(n)){let e=expectObjectRecord(n,r);return expectOnlyKnownKeys(e,[`kind`,`maxSubagents`],r),{kind:`workflow-tool`,maxSubagents:e.maxSubagents===void 0?void 0:expectPositiveInteger(e.maxSubagents,r)}}if(isWebSearchToolDefinition(n)){let e=expectObjectRecord(n,r);expectOnlyKnownKeys(e,[`kind`,`provider`],r);let t=expectString(e.provider,r);if(t!==`exa`&&t!==`parallel`)throw Error(`${r} Expected "provider" to be one of: exa, parallel.`);return{kind:`web-search-tool`,provider:t}}let i=expectObjectRecord(n,r);expectOnlyKnownKeys(i,[`auth`,`description`,`execute`,`execution`,`inputSchema`,`approval`,`outputSchema`,`toModelOutput`],r);let a=i.inputSchema===void 0?null:serializeInputSchema(i.inputSchema),o=serializeOutputSchema(i.outputSchema),s=readToolBehavior(n),c=i.execute!==void 0;!c&&s?.handling?.kind!==`dispatch`&&s?.handling?.kind!==`request-input`&&expectFunction(i.execute,r);let l={description:expectString(i.description,r),hasApproval:i.approval!==void 0,hasExecute:c,hasModelOutputProjection:i.toModelOutput!==void 0,inputSchema:a};if(s!==void 0&&(l.behavior=s),c&&(l.execute=expectFunction(i.execute,r)),i.execution!==void 0){if(!c)throw Error(`${r} Execute-less native tools cannot use background execution.`);let e=expectString(i.execution,r);if(e!==`background`)throw Error(`${r} Expected "execution" to be "background".`);l.execution=e}return o!==void 0&&(l.outputSchema=o),i.approval!==void 0&&normalizeApproval(i.approval,r),i.toModelOutput!==void 0&&expectFunction(i.toModelOutput,r),i.auth!==void 0&&expectFunction(expectObjectRecord(i.auth,r).getToken,r),{kind:`tool`,definition:l}}export{normalizeToolDefinition};
@@ -0,0 +1,2 @@
1
+ export declare function attachClientContext<T extends object>(target: T, context: readonly string[] | undefined): T;
2
+ export declare function readClientContext(target: object | undefined): readonly string[] | undefined;
@@ -0,0 +1 @@
1
+ const clientContextKey=`__eveClientContext`;function attachClientContext(e,t){return t!==void 0&&(e[clientContextKey]=t),e}function readClientContext(e){return e?.[clientContextKey]}export{attachClientContext,readClientContext};
@@ -15,6 +15,8 @@ export declare function stampDevelopmentClientAddress(headers: Headers | Incomin
15
15
  * proxied dev topology is the parent's loopback hop.
16
16
  */
17
17
  export declare function readTrustedDevelopmentClientAddress(headers: Headers, secret: string | undefined): string | undefined;
18
+ /** Verifies parent-stamped client provenance carried beyond the original request. */
19
+ export declare function isTrustedDevelopmentClientAddress(address: string, signature: string, secret: string | undefined): boolean;
18
20
  /**
19
21
  * Constant-time string comparison over fixed-length digests, so neither the
20
22
  * length nor the content of a secret comparison leaks through timing.
@@ -1 +1 @@
1
- import{createHash,createHmac,timingSafeEqual}from"node:crypto";const DEVELOPMENT_CLIENT_ADDRESS_HEADER=`x-eve-dev-client-address`,DEVELOPMENT_CLIENT_ADDRESS_SIGNATURE_HEADER=`x-eve-dev-client-address-signature`;function stampDevelopmentClientAddress(e,t,n){deleteHeader(e,DEVELOPMENT_CLIENT_ADDRESS_HEADER),deleteHeader(e,DEVELOPMENT_CLIENT_ADDRESS_SIGNATURE_HEADER),!(t===void 0||t.length===0||n===void 0||n.length===0)&&(setHeader(e,DEVELOPMENT_CLIENT_ADDRESS_HEADER,t),setHeader(e,DEVELOPMENT_CLIENT_ADDRESS_SIGNATURE_HEADER,signClientAddress(t,n)))}function readTrustedDevelopmentClientAddress(e,t){let n=e.get(DEVELOPMENT_CLIENT_ADDRESS_HEADER),i=e.get(DEVELOPMENT_CLIENT_ADDRESS_SIGNATURE_HEADER);if(!(n===null||i===null||t===void 0||t.length===0||!timingSafeEqualStrings(i,signClientAddress(n,t))))return n}function timingSafeEqualStrings(t,r){return timingSafeEqual(createHash(`sha256`).update(t).digest(),createHash(`sha256`).update(r).digest())}function signClientAddress(e,n){return createHmac(`sha256`,n).update(e).digest(`base64url`)}function deleteHeader(e,t){if(e instanceof Headers){e.delete(t);return}delete e[t]}function setHeader(e,t,n){if(e instanceof Headers){e.set(t,n);return}e[t]=n}export{DEVELOPMENT_CLIENT_ADDRESS_HEADER,DEVELOPMENT_CLIENT_ADDRESS_SIGNATURE_HEADER,readTrustedDevelopmentClientAddress,stampDevelopmentClientAddress,timingSafeEqualStrings};
1
+ import{createHash,createHmac,timingSafeEqual}from"node:crypto";const DEVELOPMENT_CLIENT_ADDRESS_HEADER=`x-eve-dev-client-address`,DEVELOPMENT_CLIENT_ADDRESS_SIGNATURE_HEADER=`x-eve-dev-client-address-signature`;function stampDevelopmentClientAddress(e,t,n){deleteHeader(e,DEVELOPMENT_CLIENT_ADDRESS_HEADER),deleteHeader(e,DEVELOPMENT_CLIENT_ADDRESS_SIGNATURE_HEADER),!(t===void 0||t.length===0||n===void 0||n.length===0)&&(setHeader(e,DEVELOPMENT_CLIENT_ADDRESS_HEADER,t),setHeader(e,DEVELOPMENT_CLIENT_ADDRESS_SIGNATURE_HEADER,signClientAddress(t,n)))}function readTrustedDevelopmentClientAddress(e,t){let n=e.get(DEVELOPMENT_CLIENT_ADDRESS_HEADER),i=e.get(DEVELOPMENT_CLIENT_ADDRESS_SIGNATURE_HEADER);return n!==null&&i!==null&&isTrustedDevelopmentClientAddress(n,i,t)?n:void 0}function isTrustedDevelopmentClientAddress(e,t,n){return e.length>0&&t.length>0&&n!==void 0&&n.length>0&&timingSafeEqualStrings(t,signClientAddress(e,n))}function timingSafeEqualStrings(t,r){return timingSafeEqual(createHash(`sha256`).update(t).digest(),createHash(`sha256`).update(r).digest())}function signClientAddress(e,n){return createHmac(`sha256`,n).update(e).digest(`base64url`)}function deleteHeader(e,t){if(e instanceof Headers){e.delete(t);return}delete e[t]}function setHeader(e,t,n){if(e instanceof Headers){e.set(t,n);return}e[t]=n}export{DEVELOPMENT_CLIENT_ADDRESS_HEADER,DEVELOPMENT_CLIENT_ADDRESS_SIGNATURE_HEADER,isTrustedDevelopmentClientAddress,readTrustedDevelopmentClientAddress,stampDevelopmentClientAddress,timingSafeEqualStrings};
@@ -7,8 +7,8 @@ export interface AuthoredSourceWatcherHandle {
7
7
  close(): Promise<void>;
8
8
  flush(): Promise<void>;
9
9
  rebuild(): Promise<void>;
10
- suspend(): Promise<void>;
11
- resume(options?: {
10
+ suspend(leaseId: string): Promise<void>;
11
+ resume(leaseId: string, options?: {
12
12
  silent?: boolean;
13
13
  }): Promise<void>;
14
14
  }
@@ -1 +1 @@
1
- import{getDevelopmentEnvironmentFilePaths}from"#cli/dev/environment.js";import{dirname,join,normalize,resolve,sep}from"node:path";import{existsSync}from"node:fs";import{providerSettingsPath}from"#setup/provider-settings.js";import{toErrorMessage}from"#shared/errors.js";import{AUTHORED_ARTIFACTS_UPDATED_LOG_LINE,STRUCTURAL_RELOAD_LOG_LINE,formatChangeDetectedLogLine}from"#internal/nitro/host/dev-watcher-log.js";import{resolveDevelopmentSourceSnapshotWatchPaths}from"#internal/nitro/dev-runtime-source-snapshot.js";import{resolveTsConfigDependencyPaths}from"#internal/application/tsconfig-dependencies.js";import{watch as watch$1}from"#compiled/chokidar/index.js";const WATCHED_LOCKFILE_NAMES=[`pnpm-lock.yaml`,`package-lock.json`,`yarn.lock`,`bun.lock`,`bun.lockb`],WATCH_ROOT_MARKER_NAMES=[`.git`,`pnpm-workspace.yaml`],WATCHER_IGNORED_DIRECTORY_NAMES=new Set([`.devtools`,`.generated`,`.eve`,`.git`,`.next`,`.output`,`.turbo`,`.vercel`,`build`,`dist`,`node_modules`]);async function startAuthoredSourceWatcher(e){let t=e.preparedHost,n=!1,r=Promise.resolve(),i,a=!1,o=0,s=new Map,c=new Set,l=await resolveAuthoredWatchPaths(t),u=createWatchPathMap(l),d=watch$1(l,{awaitWriteFinish:{pollInterval:50,stabilityThreshold:160},followSymlinks:!1,ignoreInitial:!0,ignored:e=>shouldIgnoreWatcherPath(e,t.appRoot,t.workspaceExtensions)}),f=waitForWatcherReady(d),rebuild=async(i,a=!1)=>{n||o>0||(r=r.then(async()=>{if(n)return;let r=[...s.values()];if(!i&&r.length===0)return;let o=[...c];s.clear(),c.clear();let l=t;!a&&r.length>0&&console.log(formatChangeDetectedLogLine(l.appRoot,r));try{let n=await e.coordinator.rebuild({changedPaths:o});t=n.host,a||(n.kind===`structural`?console.log(STRUCTURAL_RELOAD_LOG_LINE):console.log(AUTHORED_ARTIFACTS_UPDATED_LOG_LINE)),u=syncWatcherPaths({nextWatchPaths:await resolveAuthoredWatchPaths(t),previousWatchPathsByKey:u,watcher:d})}catch(e){console.error(`[eve:dev] rebuild failed: ${toErrorMessage(e)}`)}}).catch(e=>{console.error(`[eve:dev] rebuild queue error: ${toErrorMessage(e)}`)}),await r)},flush=async()=>{i!==void 0&&(clearTimeout(i),i=void 0),await rebuild(!1)},forceRebuild=async(e=!1)=>{i!==void 0&&(clearTimeout(i),i=void 0),await rebuild(!0,e)};return d.on(`all`,(e,t)=>{n||!a||e===`addDir`||e===`unlinkDir`||(s.set(`${e}:${t}`,{event:e,path:t}),c.add(t),i!==void 0&&clearTimeout(i),i=setTimeout(()=>{i=void 0,flush()},120))}),await f,a=!0,{async close(){n=!0,i!==void 0&&(clearTimeout(i),i=void 0),await d.close(),await r},flush,rebuild:forceRebuild,async suspend(){o+=1,i!==void 0&&(clearTimeout(i),i=void 0),await r},async resume(e){o!==0&&(--o,o===0&&await forceRebuild(e?.silent))}}}async function waitForWatcherReady(e){await new Promise((t,n)=>{e.on(`ready`,()=>{t()}),e.on(`error`,e=>{n(e)})})}async function resolveAuthoredWatchPaths(t){let r=new Set([t.compileResult.project.agentRoot,join(t.appRoot,`package.json`),join(t.appRoot,`jsconfig.json`),join(t.appRoot,`tsconfig.json`),join(t.appRoot,`tsconfig.*.json`),providerSettingsPath(t.appRoot)]),i=await resolveTsConfigWatchPaths(t.appRoot),a=await resolveDevelopmentSourceSnapshotWatchPaths(t.appRoot);for(let e of t.workspaceExtensions){r.add(e.config.sourceRoot);for(let t of e.buildConfigPaths)r.add(t)}for(let n of getDevelopmentEnvironmentFilePaths(t.appRoot))r.add(n);for(let e of a)r.add(e);for(let e of i)r.add(e);for(let e of resolveLockfileSearchDirectories(t.appRoot))for(let t of WATCHED_LOCKFILE_NAMES)r.add(join(e,t));return[...r].sort((e,t)=>e.localeCompare(t))}function createWatchPathMap(e){let t=new Map;for(let n of e)t.set(toWatchPathKey(n),n);return t}function syncWatcherPaths(e){let t=createWatchPathMap(e.nextWatchPaths),n=[],r=[];for(let[r,i]of t)e.previousWatchPathsByKey.has(r)||n.push(i);for(let[n,i]of e.previousWatchPathsByKey)t.has(n)||r.push(i);return n.length>0&&e.watcher.add(n),r.length>0&&e.watcher.unwatch(r),t}function toWatchPathKey(e){return normalize(resolve(e))}function resolveLockfileSearchDirectories(e){let n=resolve(e),r=[n],a=n;for(;;){if(hasWatchRootMarker(a))return r;let e=dirname(a);if(e===a)return[n];a=e,r.push(a)}}function hasWatchRootMarker(e){return WATCH_ROOT_MARKER_NAMES.some(t=>existsSync(join(e,t)))}async function resolveTsConfigWatchPaths(e){return await resolveTsConfigDependencyPaths(e)}function shouldIgnoreWatcherPath(e,t,n){let i=normalize(e),o=i.split(sep).filter(Boolean);return i!==normalize(providerSettingsPath(t))&&o.some(e=>WATCHER_IGNORED_DIRECTORY_NAMES.has(e))||n.some(t=>isPathInsideOrEqual(e,t.config.outDir))}function isPathInsideOrEqual(e,t){let n=resolve(e),r=resolve(t);return n===r||n.startsWith(`${r}${sep}`)}export{startAuthoredSourceWatcher};
1
+ import{getDevelopmentEnvironmentFilePaths}from"#cli/dev/environment.js";import{dirname,join,normalize,resolve,sep}from"node:path";import{existsSync}from"node:fs";import{providerSettingsPath}from"#setup/provider-settings.js";import{toErrorMessage}from"#shared/errors.js";import{AUTHORED_ARTIFACTS_UPDATED_LOG_LINE,STRUCTURAL_RELOAD_LOG_LINE,formatChangeDetectedLogLine}from"#internal/nitro/host/dev-watcher-log.js";import{resolveDevelopmentSourceSnapshotWatchPaths}from"#internal/nitro/dev-runtime-source-snapshot.js";import{resolveTsConfigDependencyPaths}from"#internal/application/tsconfig-dependencies.js";import{watch as watch$1}from"#compiled/chokidar/index.js";const WATCHED_LOCKFILE_NAMES=[`pnpm-lock.yaml`,`package-lock.json`,`yarn.lock`,`bun.lock`,`bun.lockb`],WATCH_ROOT_MARKER_NAMES=[`.git`,`pnpm-workspace.yaml`],WATCHER_IGNORED_DIRECTORY_NAMES=new Set([`.devtools`,`.generated`,`.eve`,`.git`,`.next`,`.output`,`.turbo`,`.vercel`,`build`,`dist`,`node_modules`]);async function startAuthoredSourceWatcher(e){let t=e.preparedHost,n=!1,r=Promise.resolve(),i,a=!1,o=new Set,s=new Map,c=new Set,l=await resolveAuthoredWatchPaths(t),u=createWatchPathMap(l),d=watch$1(l,{awaitWriteFinish:{pollInterval:50,stabilityThreshold:160},followSymlinks:!1,ignoreInitial:!0,ignored:e=>shouldIgnoreWatcherPath(e,t.appRoot,t.workspaceExtensions)}),f=waitForWatcherReady(d),rebuild=async(i,a=!1)=>{n||o.size>0||(r=r.then(async()=>{if(n)return;let r=[...s.values()];if(!i&&r.length===0)return;let o=[...c];s.clear(),c.clear();let l=t;!a&&r.length>0&&console.log(formatChangeDetectedLogLine(l.appRoot,r));try{let n=await e.coordinator.rebuild({changedPaths:o});t=n.host,a||(n.kind===`structural`?console.log(STRUCTURAL_RELOAD_LOG_LINE):console.log(AUTHORED_ARTIFACTS_UPDATED_LOG_LINE)),u=syncWatcherPaths({nextWatchPaths:await resolveAuthoredWatchPaths(t),previousWatchPathsByKey:u,watcher:d})}catch(e){console.error(`[eve:dev] rebuild failed: ${toErrorMessage(e)}`)}}).catch(e=>{console.error(`[eve:dev] rebuild queue error: ${toErrorMessage(e)}`)}),await r)},flush=async()=>{i!==void 0&&(clearTimeout(i),i=void 0),await rebuild(!1)},forceRebuild=async(e=!1)=>{i!==void 0&&(clearTimeout(i),i=void 0),await rebuild(!0,e)};return d.on(`all`,(e,t)=>{n||!a||e===`addDir`||e===`unlinkDir`||(s.set(`${e}:${t}`,{event:e,path:t}),c.add(t),i!==void 0&&clearTimeout(i),i=setTimeout(()=>{i=void 0,flush()},120))}),await f,a=!0,{async close(){n=!0,i!==void 0&&(clearTimeout(i),i=void 0),await d.close(),await r},flush,rebuild:forceRebuild,async suspend(e){o.has(e)||(o.add(e),i!==void 0&&(clearTimeout(i),i=void 0),await r)},async resume(e,t){o.delete(e)&&o.size===0&&await forceRebuild(t?.silent)}}}async function waitForWatcherReady(e){await new Promise((t,n)=>{e.on(`ready`,()=>{t()}),e.on(`error`,e=>{n(e)})})}async function resolveAuthoredWatchPaths(t){let r=new Set([t.compileResult.project.agentRoot,join(t.appRoot,`package.json`),join(t.appRoot,`jsconfig.json`),join(t.appRoot,`tsconfig.json`),join(t.appRoot,`tsconfig.*.json`),providerSettingsPath(t.appRoot)]),i=await resolveTsConfigWatchPaths(t.appRoot),a=await resolveDevelopmentSourceSnapshotWatchPaths(t.appRoot);for(let e of t.workspaceExtensions){r.add(e.config.sourceRoot);for(let t of e.buildConfigPaths)r.add(t)}for(let n of getDevelopmentEnvironmentFilePaths(t.appRoot))r.add(n);for(let e of a)r.add(e);for(let e of i)r.add(e);for(let e of resolveLockfileSearchDirectories(t.appRoot))for(let t of WATCHED_LOCKFILE_NAMES)r.add(join(e,t));return[...r].sort((e,t)=>e.localeCompare(t))}function createWatchPathMap(e){let t=new Map;for(let n of e)t.set(toWatchPathKey(n),n);return t}function syncWatcherPaths(e){let t=createWatchPathMap(e.nextWatchPaths),n=[],r=[];for(let[r,i]of t)e.previousWatchPathsByKey.has(r)||n.push(i);for(let[n,i]of e.previousWatchPathsByKey)t.has(n)||r.push(i);return n.length>0&&e.watcher.add(n),r.length>0&&e.watcher.unwatch(r),t}function toWatchPathKey(e){return normalize(resolve(e))}function resolveLockfileSearchDirectories(e){let n=resolve(e),r=[n],a=n;for(;;){if(hasWatchRootMarker(a))return r;let e=dirname(a);if(e===a)return[n];a=e,r.push(a)}}function hasWatchRootMarker(e){return WATCH_ROOT_MARKER_NAMES.some(t=>existsSync(join(e,t)))}async function resolveTsConfigWatchPaths(e){return await resolveTsConfigDependencyPaths(e)}function shouldIgnoreWatcherPath(e,t,n){let i=normalize(e),o=i.split(sep).filter(Boolean);return i!==normalize(providerSettingsPath(t))&&o.some(e=>WATCHER_IGNORED_DIRECTORY_NAMES.has(e))||n.some(t=>isPathInsideOrEqual(e,t.config.outDir))}function isPathInsideOrEqual(e,t){let n=resolve(e),r=resolve(t);return n===r||n.startsWith(`${r}${sep}`)}export{startAuthoredSourceWatcher};
@@ -1,2 +1,2 @@
1
- import{randomBytes}from"node:crypto";import{EVE_DEV_RUNTIME_ARTIFACTS_REBUILD_ROUTE_PATH,EVE_DEV_RUNTIME_ARTIFACTS_RESUME_ROUTE_PATH,EVE_DEV_RUNTIME_ARTIFACTS_ROUTE_PATH,EVE_DEV_RUNTIME_ARTIFACTS_SUSPEND_ROUTE_PATH}from"#protocol/routes.js";import{isLoopbackServerUrl}from"#shared/network-address.js";import{loadDevelopmentEnvironmentFiles}from"#cli/dev/environment.js";import{resolveDiscoveryProject}from"#discover/project.js";import{eveDevArguments}from"#setup/primitives/index.js";import{detectPackageManager}from"#setup/package-manager.js";import{EVE_DEVELOPMENT_SANDBOX_RUN_ID_ENV,createDevelopmentSandboxRunId}from"#execution/sandbox/development-run.js";import{pruneLocalSandboxTemplatesInBackground,stopDevelopmentSandboxResources}from"#execution/sandbox/bindings/local.js";import{EVE_DEV_ENV_FLAG}from"#internal/application/optional-package-install.js";import{devBootPhase}from"#internal/dev-boot-progress.js";import{readDevelopmentRuntimeArtifactsRevision}from"#services/dev-client/runtime-artifacts.js";import{toErrorMessage}from"#shared/errors.js";import{startDevelopmentSandboxPrewarmInBackground}from"#execution/sandbox/development-prewarm.js";import{createDevelopmentApplicationNitro}from"#internal/nitro/host/create-application-nitro.js";import{prepareDevelopmentApplicationHost}from"#internal/nitro/host/prepare-application-host.js";import{createDevelopmentNitroArtifactsConfig}from"#internal/nitro/host/artifacts-config.js";import{buildDevelopmentHostCandidate}from"#internal/nitro/host/dev-host-candidate.js";import{removeDevelopmentHostWorkspace}from"#internal/nitro/host/dev-host-workspace.js";import{DrainedNitroDevServer}from"#internal/nitro/host/drained-nitro-dev-server.js";import{activateDevelopmentGeneration,discardDevelopmentGeneration}from"#internal/nitro/development-generation.js";import{resolveNitroCompiledArtifactsSource}from"#internal/nitro/routes/runtime-artifacts.js";import{DEFAULT_DEVELOPMENT_SERVER_HOST,normalizeDevelopmentServerClientUrl}from"#internal/nitro/host/dev-server-url.js";import{createDevelopmentAuthoredRebuildCoordinator}from"#internal/nitro/host/dev-authored-rebuild-coordinator.js";import{DevelopmentServerState}from"#internal/nitro/host/dev-server-state.js";import{handleDevRuntimeArtifactsRequest}from"#internal/nitro/routes/dev-runtime-artifacts.js";import{DEFAULT_DEVELOPMENT_SERVER_PORT,MAX_DEVELOPMENT_SERVER_PORT_ATTEMPTS}from"#internal/nitro/host/ports.js";import{createDevelopmentWorkflowWorld,installWorkflowLocalQueueEnvironment,installWorkflowTransportEnvironment}from"#internal/nitro/host/dev-workflow-world-setup.js";const MAX_ALLOWED_DEVELOPMENT_SERVER_PORT=65535,PORT_ENV=`PORT`;async function isActiveDevelopmentServerForApp(e){try{let t=await new DevelopmentServerState(await resolveDiscoveryProject(e.appRoot)).read();return t===void 0||!isLoopbackServerUrl(t)||!await isDevelopmentServerReady(t)?!1:new URL(t).origin===new URL(normalizeDevelopmentServerClientUrl(e.serverUrl)).origin}catch{return!1}}async function isDevelopmentServerReady(e){return await readDevelopmentRuntimeArtifactsRevision({serverUrl:e,timeoutMs:1e3})!==void 0}function isAddressInUseError(e){return e instanceof Error&&`code`in e&&e.code===`EADDRINUSE`}function resolveDevelopmentServerPort(e){let t=typeof e==`string`?Number(e):e??DEFAULT_DEVELOPMENT_SERVER_PORT;if(!Number.isInteger(t)||t<0||t>MAX_ALLOWED_DEVELOPMENT_SERVER_PORT)throw Error(`Invalid development server port "${String(e)}". Expected an integer between 0 and ${MAX_ALLOWED_DEVELOPMENT_SERVER_PORT}.`);return t}function readEnvironmentPort(){let e=process.env[PORT_ENV];if(e===void 0||e.trim()===``)return;let t=Number(e);if(!Number.isInteger(t)||t<0||t>MAX_ALLOWED_DEVELOPMENT_SERVER_PORT)throw Error(`Invalid ${PORT_ENV} environment variable "${e}". Expected an integer between 0 and ${MAX_ALLOWED_DEVELOPMENT_SERVER_PORT}.`);return t}async function detectDevelopmentCommandPackageManager(e){try{return(await detectPackageManager(e)).kind}catch{return`pnpm`}}async function formatDevelopmentServerConnectCommand(e,t){let n=await detectDevelopmentCommandPackageManager(e);return[n,...eveDevArguments(n),t].join(` `)}async function createDevelopmentServerAlreadyRunningError(e,t){let n=await formatDevelopmentServerConnectCommand(e,t);return Error([`A dev server is already running for this eve agent.`,`To connect to the existing instance, run: ${n}`].join(`
2
- `))}function resolveDevelopmentServerPorts(e){let t=resolveDevelopmentServerPort(e.port);if(t===0||!e.retryOnAddressInUse)return[t];let n=[];for(let e=0;e<MAX_DEVELOPMENT_SERVER_PORT_ATTEMPTS;e+=1){let r=t+e;if(r>65535)break;n.push(r)}return n}function addDevelopmentControlHandler(e){e.devServer.setControlHandler(async a=>{let o=await e.workflowWorld?.handleRequest(a);if(o!==void 0)return o;let s=new URL(a.url);if(s.pathname===EVE_DEV_RUNTIME_ARTIFACTS_ROUTE_PATH&&a.method===`GET`)return handleDevRuntimeArtifactsRequest({appRoot:e.appRoot});let c=s.pathname===EVE_DEV_RUNTIME_ARTIFACTS_SUSPEND_ROUTE_PATH&&a.method===`POST`,l=s.pathname===EVE_DEV_RUNTIME_ARTIFACTS_RESUME_ROUTE_PATH&&a.method===`POST`,u=s.pathname===EVE_DEV_RUNTIME_ARTIFACTS_REBUILD_ROUTE_PATH&&(a.method===`GET`||a.method===`POST`);if(!c&&!l&&!u)return;let d=e.getWatcher();return d===void 0?Response.json({error:`The development server is still starting.`},{status:503}):c?(await d.suspend(),Response.json({suspended:!0})):l?(await d.resume({silent:s.searchParams.get(`silent`)===`1`}),handleDevRuntimeArtifactsRequest({appRoot:e.appRoot})):(s.searchParams.get(`force`)===`1`?await d.rebuild():await d.flush(),handleDevRuntimeArtifactsRequest({appRoot:e.appRoot}))})}async function closeDevelopmentServerResources(e){let t=[],attempt=async e=>{try{return await e(),!0}catch(e){return t.push(e),!1}},n=e.authoredSourceWatcher;n!==void 0&&await attempt(()=>n.close());let r=e.workflowWorld;r!==void 0&&await attempt(()=>r.close());let i=e.devServer,a=i===void 0||await attempt(()=>i.close()),o=e.nitro;return o!==void 0&&await attempt(()=>o.close()),await attempt(()=>stopDevelopmentSandboxResources({appRoot:e.appRoot,devRunId:e.developmentSandboxRunId,log:e=>console.warn(`[eve:dev] ${e}`)})),{errors:t,listenerClosed:a}}function createDevelopmentServerCleanupError(e){if(e.length!==0){if(e.length===1){let t=e[0];return t instanceof Error?t:Error(`Failed to close the development server: ${toErrorMessage(t)}`,{cause:t})}return AggregateError(e,`Multiple development-server resources failed to close.`)}}function createDevelopmentServerStartupCleanupError(e,t){return AggregateError([e,...t],`${toErrorMessage(e)} Cleanup also failed.`,{cause:e})}async function listenForDevelopmentServer(e){let t=resolveDevelopmentServerPorts({port:e.port,retryOnAddressInUse:e.retryOnAddressInUse}),n;for(let r of t){let t=e.devServer.listen({hostname:e.host,port:r});try{return await t.ready(),t}catch(r){if(n=r,await t.close().catch(()=>{}),!isAddressInUseError(r)||!e.retryOnAddressInUse)throw r}}throw Error(`Failed to start Nitro dev server after ${t.length} attempts. Tried ports ${t.join(`, `)}.`,{cause:n})}async function startNitroDevelopmentServer(t,n){process.env[EVE_DEV_ENV_FLAG]??=`1`;let r=await resolveDiscoveryProject(t);loadDevelopmentEnvironmentFiles(r.appRoot);let i=readEnvironmentPort(),c=n.port??i,l=n.host!==void 0||n.port!==void 0||i!==void 0,f=new DevelopmentServerState(r),m=await f.read();if(m!==void 0&&isLoopbackServerUrl(m)&&await isDevelopmentServerReady(m)){if(n.existing===`attach-if-unconfigured`&&!l)return{handle:{kind:`existing`,appRoot:r.appRoot,url:m},close:void 0};throw await createDevelopmentServerAlreadyRunningError(r.appRoot,m)}let h=process.env[EVE_DEVELOPMENT_SANDBOX_RUN_ID_ENV],v=createDevelopmentSandboxRunId();process.env[EVE_DEVELOPMENT_SANDBOX_RUN_ID_ENV]=v;let y,b,x,S,C,w,T,E=!1,D=!1;try{let t=await devBootPhase(`compiling agent`,()=>prepareDevelopmentApplicationHost(r.appRoot),n.onBootProgress);T=t;let i=resolveNitroCompiledArtifactsSource(createDevelopmentNitroArtifactsConfig({appRoot:t.appRoot,configuredWorld:t.compileResult.manifest.config.experimental?.workflow?.world}));pruneLocalSandboxTemplatesInBackground(t.appRoot);let a=await devBootPhase(`creating dev server`,()=>createDevelopmentApplicationNitro(t),n.onBootProgress);y=a,b=new DrainedNitroDevServer(a.logger);let o=b,s=randomBytes(32).toString(`base64url`);o.setClientAddressSecret(s),S=installWorkflowTransportEnvironment(r.appRoot,s),C=createDevelopmentWorkflowWorld({appRoot:r.appRoot,preparedHost:t,transportSecret:s}),addDevelopmentControlHandler({appRoot:r.appRoot,devServer:o,getWatcher:()=>w,workflowWorld:C});let l=n.host??a.options.devServer.hostname??DEFAULT_DEVELOPMENT_SERVER_HOST,u=c===void 0,d=await devBootPhase(`binding port`,()=>listenForDevelopmentServer({devServer:o,host:l,port:c,retryOnAddressInUse:u}),n.onBootProgress);if(!d.url)throw Error(`Nitro dev server did not expose a URL.`);let p=normalizeDevelopmentServerClientUrl(d.url);x=installWorkflowLocalQueueEnvironment(p),await devBootPhase(`building dev bundle`,async()=>{let e=await buildDevelopmentHostCandidate({host:t,nitro:a});y=void 0;let n=t.workspace;D=!0,await o.replaceWorker({dispose:async()=>await removeDevelopmentHostWorkspace(n),entry:e.entry,workerData:e.workerData}),await activateDevelopmentGeneration({appRoot:t.appRoot,generation:t.generation}),E=!0},n.onBootProgress),await C?.start(),startDevelopmentSandboxPrewarmInBackground({appRoot:t.appRoot,compiledArtifactsSource:i});let m=await createDevelopmentAuthoredRebuildCoordinator({devServer:o,initialHost:t});w=await devBootPhase(`starting file watcher`,async()=>{let{startAuthoredSourceWatcher:e}=await import(`#internal/nitro/host/dev-authored-source-watcher.js`);return e({coordinator:m,preparedHost:t})},n.onBootProgress),await f.write(p);let g=x;if(g===void 0)throw Error(`Workflow local queue environment was not initialized.`);let _=w,O=b,k=C,A=S,j;return{handle:{kind:`started`,appRoot:r.appRoot,url:p},close:()=>(j??=(async()=>{let e=await closeDevelopmentServerResources({appRoot:r.appRoot,authoredSourceWatcher:_,devServer:O,developmentSandboxRunId:v,nitro:void 0,workflowWorld:k});e.listenerClosed&&await f.remove().catch(()=>{});try{let t=createDevelopmentServerCleanupError(e.errors);if(t!==void 0)throw t}finally{g(),A?.(),restoreDevelopmentSandboxRunId(h)}})(),j)}}catch(e){let t=await closeDevelopmentServerResources({appRoot:r.appRoot,authoredSourceWatcher:w,devServer:b,developmentSandboxRunId:v,nitro:y,workflowWorld:C}),n=[...t.errors];throw T!==void 0&&!E&&await discardDevelopmentGeneration(T.generation).catch(e=>{n.push(e)}),T!==void 0&&!D&&await removeDevelopmentHostWorkspace(T.workspace).catch(e=>{n.push(e)}),x?.(),S?.(),t.listenerClosed&&await f.remove().catch(()=>{}),restoreDevelopmentSandboxRunId(h),n.length>0?createDevelopmentServerStartupCleanupError(e,n):e}}function createDevelopmentServer(e,t={}){let n,r;return{start(){if(n!==void 0)throw Error(`DevelopmentServer.start() was already called.`);return n=startNitroDevelopmentServer(e,t).then(({handle:e,close:t})=>(r=t,e)),n},async close(){n!==void 0&&(await n.catch(()=>void 0),await r?.())}}}function restoreDevelopmentSandboxRunId(e){if(e===void 0){delete process.env[EVE_DEVELOPMENT_SANDBOX_RUN_ID_ENV];return}process.env[EVE_DEVELOPMENT_SANDBOX_RUN_ID_ENV]=e}export{createDevelopmentServer,isActiveDevelopmentServerForApp,normalizeDevelopmentServerClientUrl};
1
+ import{randomBytes}from"node:crypto";import{EVE_DEV_RUNTIME_ARTIFACTS_REBUILD_ROUTE_PATH,EVE_DEV_RUNTIME_ARTIFACTS_RESUME_ROUTE_PATH,EVE_DEV_RUNTIME_ARTIFACTS_ROUTE_PATH,EVE_DEV_RUNTIME_ARTIFACTS_SUSPEND_ROUTE_PATH}from"#protocol/routes.js";import{isLoopbackServerUrl}from"#shared/network-address.js";import{loadDevelopmentEnvironmentFiles}from"#cli/dev/environment.js";import{resolveDiscoveryProject}from"#discover/project.js";import{eveDevArguments}from"#setup/primitives/index.js";import{detectPackageManager}from"#setup/package-manager.js";import{EVE_DEVELOPMENT_SANDBOX_RUN_ID_ENV,createDevelopmentSandboxRunId}from"#execution/sandbox/development-run.js";import{pruneLocalSandboxTemplatesInBackground,stopDevelopmentSandboxResources}from"#execution/sandbox/bindings/local.js";import{EVE_DEV_ENV_FLAG}from"#internal/application/optional-package-install.js";import{devBootPhase}from"#internal/dev-boot-progress.js";import{readDevelopmentRuntimeArtifactsRevision}from"#services/dev-client/runtime-artifacts.js";import{toErrorMessage}from"#shared/errors.js";import{startDevelopmentSandboxPrewarmInBackground}from"#execution/sandbox/development-prewarm.js";import{createDevelopmentApplicationNitro}from"#internal/nitro/host/create-application-nitro.js";import{prepareDevelopmentApplicationHost}from"#internal/nitro/host/prepare-application-host.js";import{createDevelopmentNitroArtifactsConfig}from"#internal/nitro/host/artifacts-config.js";import{buildDevelopmentHostCandidate}from"#internal/nitro/host/dev-host-candidate.js";import{removeDevelopmentHostWorkspace}from"#internal/nitro/host/dev-host-workspace.js";import{DrainedNitroDevServer}from"#internal/nitro/host/drained-nitro-dev-server.js";import{activateDevelopmentGeneration,discardDevelopmentGeneration}from"#internal/nitro/development-generation.js";import{resolveNitroCompiledArtifactsSource}from"#internal/nitro/routes/runtime-artifacts.js";import{DEFAULT_DEVELOPMENT_SERVER_HOST,normalizeDevelopmentServerClientUrl}from"#internal/nitro/host/dev-server-url.js";import{createDevelopmentAuthoredRebuildCoordinator}from"#internal/nitro/host/dev-authored-rebuild-coordinator.js";import{DevelopmentServerState}from"#internal/nitro/host/dev-server-state.js";import{handleDevRuntimeArtifactsRequest}from"#internal/nitro/routes/dev-runtime-artifacts.js";import{DEFAULT_DEVELOPMENT_SERVER_PORT,MAX_DEVELOPMENT_SERVER_PORT_ATTEMPTS}from"#internal/nitro/host/ports.js";import{installLocalDevCapabilityEnvironment}from"#runtime/local-dev-capability.js";import{createDevelopmentWorkflowWorld,installWorkflowLocalQueueEnvironment,installWorkflowTransportEnvironment}from"#internal/nitro/host/dev-workflow-world-setup.js";const MAX_ALLOWED_DEVELOPMENT_SERVER_PORT=65535,PORT_ENV=`PORT`;async function isActiveDevelopmentServerForApp(e){try{let t=await new DevelopmentServerState(await resolveDiscoveryProject(e.appRoot)).read();return t===void 0||!isLoopbackServerUrl(t)||!await isDevelopmentServerReady(t)?!1:new URL(t).origin===new URL(normalizeDevelopmentServerClientUrl(e.serverUrl)).origin}catch{return!1}}async function isDevelopmentServerReady(e){return await readDevelopmentRuntimeArtifactsRevision({serverUrl:e,timeoutMs:1e3})!==void 0}function isAddressInUseError(e){return e instanceof Error&&`code`in e&&e.code===`EADDRINUSE`}function resolveDevelopmentServerPort(e){let t=typeof e==`string`?Number(e):e??DEFAULT_DEVELOPMENT_SERVER_PORT;if(!Number.isInteger(t)||t<0||t>MAX_ALLOWED_DEVELOPMENT_SERVER_PORT)throw Error(`Invalid development server port "${String(e)}". Expected an integer between 0 and ${MAX_ALLOWED_DEVELOPMENT_SERVER_PORT}.`);return t}function readEnvironmentPort(){let e=process.env[PORT_ENV];if(e===void 0||e.trim()===``)return;let t=Number(e);if(!Number.isInteger(t)||t<0||t>MAX_ALLOWED_DEVELOPMENT_SERVER_PORT)throw Error(`Invalid ${PORT_ENV} environment variable "${e}". Expected an integer between 0 and ${MAX_ALLOWED_DEVELOPMENT_SERVER_PORT}.`);return t}async function detectDevelopmentCommandPackageManager(e){try{return(await detectPackageManager(e)).kind}catch{return`pnpm`}}async function formatDevelopmentServerConnectCommand(e,t){let n=await detectDevelopmentCommandPackageManager(e);return[n,...eveDevArguments(n),t].join(` `)}async function createDevelopmentServerAlreadyRunningError(e,t){let n=await formatDevelopmentServerConnectCommand(e,t);return Error([`A dev server is already running for this eve agent.`,`To connect to the existing instance, run: ${n}`].join(`
2
+ `))}function resolveDevelopmentServerPorts(e){let t=resolveDevelopmentServerPort(e.port);if(t===0||!e.retryOnAddressInUse)return[t];let n=[];for(let e=0;e<MAX_DEVELOPMENT_SERVER_PORT_ATTEMPTS;e+=1){let r=t+e;if(r>65535)break;n.push(r)}return n}function addDevelopmentControlHandler(e){e.devServer.setControlHandler(async a=>{let o=await e.workflowWorld?.handleRequest(a);if(o!==void 0)return o;let s=new URL(a.url);if(s.pathname===EVE_DEV_RUNTIME_ARTIFACTS_ROUTE_PATH&&a.method===`GET`)return handleDevRuntimeArtifactsRequest({appRoot:e.appRoot});let c=s.pathname===EVE_DEV_RUNTIME_ARTIFACTS_SUSPEND_ROUTE_PATH&&a.method===`POST`,l=s.pathname===EVE_DEV_RUNTIME_ARTIFACTS_RESUME_ROUTE_PATH&&a.method===`POST`,u=s.pathname===EVE_DEV_RUNTIME_ARTIFACTS_REBUILD_ROUTE_PATH&&(a.method===`GET`||a.method===`POST`);if(!c&&!l&&!u)return;let d=e.getWatcher();if(d===void 0)return Response.json({error:`The development server is still starting.`},{status:503});let f=s.searchParams.get(`lease`);return(c||l)&&(f===null||f.length===0)?Response.json({error:`A suspension lease is required.`},{status:400}):c?(await d.suspend(f),Response.json({suspended:!0})):l?(await d.resume(f,{silent:s.searchParams.get(`silent`)===`1`}),handleDevRuntimeArtifactsRequest({appRoot:e.appRoot})):(s.searchParams.get(`force`)===`1`?await d.rebuild():await d.flush(),handleDevRuntimeArtifactsRequest({appRoot:e.appRoot}))})}async function closeDevelopmentServerResources(e){let t=[],attempt=async e=>{try{return await e(),!0}catch(e){return t.push(e),!1}},n=e.authoredSourceWatcher;n!==void 0&&await attempt(()=>n.close());let r=e.workflowWorld;r!==void 0&&await attempt(()=>r.close());let i=e.devServer,a=i===void 0||await attempt(()=>i.close()),o=e.nitro;return o!==void 0&&await attempt(()=>o.close()),await attempt(()=>stopDevelopmentSandboxResources({appRoot:e.appRoot,devRunId:e.developmentSandboxRunId,log:e=>console.warn(`[eve:dev] ${e}`)})),{errors:t,listenerClosed:a}}function createDevelopmentServerCleanupError(e){if(e.length!==0){if(e.length===1){let t=e[0];return t instanceof Error?t:Error(`Failed to close the development server: ${toErrorMessage(t)}`,{cause:t})}return AggregateError(e,`Multiple development-server resources failed to close.`)}}function createDevelopmentServerStartupCleanupError(e,t){return AggregateError([e,...t],`${toErrorMessage(e)} Cleanup also failed.`,{cause:e})}async function listenForDevelopmentServer(e){let t=resolveDevelopmentServerPorts({port:e.port,retryOnAddressInUse:e.retryOnAddressInUse}),n;for(let r of t){let t=e.devServer.listen({hostname:e.host,port:r});try{return await t.ready(),t}catch(r){if(n=r,await t.close().catch(()=>{}),!isAddressInUseError(r)||!e.retryOnAddressInUse)throw r}}throw Error(`Failed to start Nitro dev server after ${t.length} attempts. Tried ports ${t.join(`, `)}.`,{cause:n})}async function startNitroDevelopmentServer(t,n){process.env[EVE_DEV_ENV_FLAG]??=`1`;let r=await resolveDiscoveryProject(t);loadDevelopmentEnvironmentFiles(r.appRoot);let i=readEnvironmentPort(),c=n.port??i,l=n.host!==void 0||n.port!==void 0||i!==void 0,p=new DevelopmentServerState(r),h=await p.read();if(h!==void 0&&isLoopbackServerUrl(h)&&await isDevelopmentServerReady(h)){if(n.existing===`attach-if-unconfigured`&&!l)return{handle:{kind:`existing`,appRoot:r.appRoot,url:h},close:void 0};throw await createDevelopmentServerAlreadyRunningError(r.appRoot,h)}let g=process.env[EVE_DEVELOPMENT_SANDBOX_RUN_ID_ENV],y=createDevelopmentSandboxRunId();process.env[EVE_DEVELOPMENT_SANDBOX_RUN_ID_ENV]=y;let b,x,S,C,w,T,E,D,O=!1,k=!1;try{let t=await devBootPhase(`compiling agent`,()=>prepareDevelopmentApplicationHost(r.appRoot),n.onBootProgress);D=t;let i=resolveNitroCompiledArtifactsSource(createDevelopmentNitroArtifactsConfig({appRoot:t.appRoot,configuredWorld:t.compileResult.manifest.config.experimental?.workflow?.world}));pruneLocalSandboxTemplatesInBackground(t.appRoot);let a=await devBootPhase(`creating dev server`,()=>createDevelopmentApplicationNitro(t),n.onBootProgress);b=a,x=new DrainedNitroDevServer(a.logger);let o=x,s=randomBytes(32).toString(`base64url`);o.setClientAddressSecret(s),w=installWorkflowTransportEnvironment(r.appRoot,s),T=createDevelopmentWorkflowWorld({appRoot:r.appRoot,preparedHost:t,transportSecret:s}),addDevelopmentControlHandler({appRoot:r.appRoot,devServer:o,getWatcher:()=>E,workflowWorld:T});let l=n.host??a.options.devServer.hostname??DEFAULT_DEVELOPMENT_SERVER_HOST,u=c===void 0,d=await devBootPhase(`binding port`,()=>listenForDevelopmentServer({devServer:o,host:l,port:c,retryOnAddressInUse:u}),n.onBootProgress);if(!d.url)throw Error(`Nitro dev server did not expose a URL.`);let m=normalizeDevelopmentServerClientUrl(d.url);C=installWorkflowLocalQueueEnvironment(m),S=installLocalDevCapabilityEnvironment({appRoot:r.appRoot,serverUrl:m}),await devBootPhase(`building dev bundle`,async()=>{let e=await buildDevelopmentHostCandidate({host:t,nitro:a});b=void 0;let n=t.workspace;k=!0,await o.replaceWorker({dispose:async()=>await removeDevelopmentHostWorkspace(n),entry:e.entry,workerData:e.workerData}),await activateDevelopmentGeneration({appRoot:t.appRoot,generation:t.generation}),O=!0},n.onBootProgress),await T?.start(),startDevelopmentSandboxPrewarmInBackground({appRoot:t.appRoot,compiledArtifactsSource:i});let h=await createDevelopmentAuthoredRebuildCoordinator({devServer:o,initialHost:t});E=await devBootPhase(`starting file watcher`,async()=>{let{startAuthoredSourceWatcher:e}=await import(`#internal/nitro/host/dev-authored-source-watcher.js`);return e({coordinator:h,preparedHost:t})},n.onBootProgress),await p.write(m);let _=C;if(_===void 0)throw Error(`Workflow local queue environment was not initialized.`);let v=E,A=x,j=T,M=w,N=S,P;return{handle:{kind:`started`,appRoot:r.appRoot,url:m},close:()=>(P??=(async()=>{let e=await closeDevelopmentServerResources({appRoot:r.appRoot,authoredSourceWatcher:v,devServer:A,developmentSandboxRunId:y,nitro:void 0,workflowWorld:j});e.listenerClosed&&await p.remove().catch(()=>{});try{let t=createDevelopmentServerCleanupError(e.errors);if(t!==void 0)throw t}finally{_(),M?.(),N?.(),restoreDevelopmentSandboxRunId(g)}})(),P)}}catch(e){let t=await closeDevelopmentServerResources({appRoot:r.appRoot,authoredSourceWatcher:E,devServer:x,developmentSandboxRunId:y,nitro:b,workflowWorld:T}),n=[...t.errors];throw D!==void 0&&!O&&await discardDevelopmentGeneration(D.generation).catch(e=>{n.push(e)}),D!==void 0&&!k&&await removeDevelopmentHostWorkspace(D.workspace).catch(e=>{n.push(e)}),C?.(),w?.(),S?.(),t.listenerClosed&&await p.remove().catch(()=>{}),restoreDevelopmentSandboxRunId(g),n.length>0?createDevelopmentServerStartupCleanupError(e,n):e}}function createDevelopmentServer(e,t={}){let n,r;return{start(){if(n!==void 0)throw Error(`DevelopmentServer.start() was already called.`);return n=startNitroDevelopmentServer(e,t).then(({handle:e,close:t})=>(r=t,e)),n},async close(){n!==void 0&&(await n.catch(()=>void 0),await r?.())}}}function restoreDevelopmentSandboxRunId(e){if(e===void 0){delete process.env[EVE_DEVELOPMENT_SANDBOX_RUN_ID_ENV];return}process.env[EVE_DEVELOPMENT_SANDBOX_RUN_ID_ENV]=e}export{createDevelopmentServer,isActiveDevelopmentServerForApp,normalizeDevelopmentServerClientUrl};
@@ -1 +1 @@
1
- import{installWorkflowSandboxModule}from"#shared/workflow-sandbox.js";import{continueCodeModeInterrupt,createCodeModeTool,getCodeModeInterrupt,requestCodeModeInterrupt,unwrapCodeModeResult}from"#compiled/experimental-ai-sdk-code-mode/index.js";installWorkflowSandboxModule({continueCodeModeInterrupt,createCodeModeTool,getCodeModeInterrupt,requestCodeModeInterrupt,unwrapCodeModeResult});function installWorkflowSandboxRuntimePlugin(){}export{installWorkflowSandboxRuntimePlugin as default};
1
+ import{installWorkflowSandboxModule}from"#shared/workflow-sandbox.js";import{experimental_continueCodeModeInterrupt,experimental_createCodeModeTool,experimental_getCodeModeInterrupt,experimental_requestCodeModeInterrupt,experimental_unwrapCodeModeResult}from"#compiled/@ai-sdk/code-mode/index.js";installWorkflowSandboxModule({continueCodeModeInterrupt:experimental_continueCodeModeInterrupt,createCodeModeTool:experimental_createCodeModeTool,getCodeModeInterrupt:experimental_getCodeModeInterrupt,requestCodeModeInterrupt:experimental_requestCodeModeInterrupt,unwrapCodeModeResult:experimental_unwrapCodeModeResult});function installWorkflowSandboxRuntimePlugin(){}export{installWorkflowSandboxRuntimePlugin as default};
@@ -1 +1 @@
1
- import{resolveModelEndpointStatus}from"#internal/resolve-model-endpoint-status.js";import{ROOT_COMPILED_AGENT_NODE_ID}from"#compiler/manifest.js";import{WORKFLOW_TOOL_NAME}from"#shared/workflow-sandbox.js";function toChatGptEndpoint(e){if(e===void 0)return;let t={state:e.kind};return e.kind===`ready`&&e.accountLabel!==void 0?{...t,accountLabel:e.accountLabel}:t}function buildAgentInfoResponse(r,i){let{manifest:a}=r,o=toModuleSource(a,a.config.source);if(o.binding===void 0)throw Error(`Compiled config source "${a.config.source.sourceId}" has no binding.`);let s=collectCompositionDiagnostics(a),c=collectRemoteAgents(a);return{agent:{agentRoot:a.agentRoot,appRoot:a.appRoot,config:{...o,binding:o.binding},description:a.config.description,model:a.config.dynamicModel===void 0?{contextWindowTokens:a.config.model.contextWindowTokens,endpoint:resolveModelEndpointStatus(a.config.model.routing,i.gatewayCredentials,toChatGptEndpoint(i.chatgptAuth)),id:a.config.model.id,providerOptions:a.config.model.providerOptions,reasoning:a.config.reasoning,routing:a.config.model.routing,source:a.config.model.source===void 0?void 0:toModuleSource(a,a.config.model.source)}:{reasoning:a.config.reasoning,routing:{kind:`dynamic`,resolver:renderDynamicResolver(a,{...a.config.dynamicModel,slug:`model`})}},name:a.config.name,nodeId:ROOT_COMPILED_AGENT_NODE_ID,outputSchema:a.config.outputSchema},capabilities:{devRoutes:i.mode===`development`},channels:{routes:a.channelRoutes.effective.map(e=>({...toModuleSource(a,e),adapterKind:e.adapterKind,method:e.method,name:e.name,urlPath:e.urlPath})),shadowed:[...a.channelRoutes.shadowed]},composition:s,connections:a.connections.map(e=>({...toModuleSource(a,e),connectionName:e.connectionName,description:e.description,hasApproval:!1,hasAuthorization:e.vercelConnect!==void 0,hasHeaders:!1,protocol:e.protocol,url:e.url})),diagnostics:{discoveryErrors:a.diagnosticsSummary.errors,discoveryWarnings:a.diagnosticsSummary.warnings},hooks:a.hooks.map(e=>({...toModuleSource(a,e),eventNames:[...e.eventNames],slug:e.slug})),instructions:{dynamic:a.dynamicInstructions.map(e=>renderDynamicResolver(a,e)),static:a.instructions.map(e=>({...toOwnedSource(a,e),content:e.content,name:e.name,role:e.role}))},instrumentation:a.instrumentation===void 0?void 0:toModuleSource(a,a.instrumentation),kernelEffects:projectPreparedKernelEffects(a),kind:`eve-agent-info`,memories:a.memories.map(e=>({...toModuleSource(a,e),description:e.description,slot:e.slot,visibility:e.visibility})),mode:i.mode,remoteAgents:{entries:c,total:c.length},sandbox:{...toModuleSource(a,a.sandbox),backendKind:a.sandbox.backendName,description:a.sandbox.description,hasBootstrap:!1,hasOnSession:!1,revalidationKey:a.sandbox.revalidationKey,sourceHash:a.sandbox.sourceHash},schedules:a.schedules.map(e=>({...toOwnedSource(a,e),cron:e.cron,hasRun:e.hasRun,markdown:e.markdown,name:e.name})),skills:{dynamic:a.dynamicSkills.map(e=>renderDynamicResolver(a,e)),static:a.skills.map(e=>({...toOwnedSource(a,e),description:e.description,license:e.license,markdown:e.markdown,metadata:e.metadata,name:e.name}))},subagents:{local:a.subagents.map(e=>{let t={...toOwnedSource(a,e),description:e.description,entryPath:e.entryPath,name:e.name,nodeId:e.nodeId,parentNodeId:e.parentNodeId,rootPath:e.rootPath,summary:summarizeNode(e.agent)};return e.configResolver===void 0?t:{...t,configResolver:renderDynamicResolver(e.agent,{...e.configResolver,slug:`config`})}}),total:a.subagents.length},tools:{dynamic:a.dynamicTools.map(e=>renderDynamicResolver(a,e)),static:a.tools.map(e=>({...toModuleSource(a,e),description:e.description,hasAuth:!1,hasExecute:e.hasExecute,hasModelOutputProjection:e.hasModelOutputProjection,hasOutputSchema:e.outputSchema!==void 0,inputSchema:e.inputSchema,name:e.name,outputSchema:e.outputSchema,requiresApproval:e.requiresApproval}))},version:4,workflow:a.workflowTool===void 0?{enabled:!1,toolName:WORKFLOW_TOOL_NAME}:{enabled:!0,source:toModuleSource(a,a.workflowTool),toolName:WORKFLOW_TOOL_NAME},workspace:{resourceRoot:a.workspaceResourceRoot,rootEntries:[...a.workspaceResourceRoot.rootEntries]}}}function toModuleSource(e,t){let n=e.bindings[t.sourceId];if(n===void 0)throw Error(`Compiled source "${t.sourceId}" has no binding.`);return sourceProjection(t,n.owner,n)}function toOwnedSource(e,t){let n=e.bindings[t.sourceId],r=n?.owner??t.owner;if(r===void 0)throw Error(`Compiled source "${t.sourceId}" has no owner.`);return sourceProjection(t,r,n)}function sourceProjection(e,t,n){let r={logicalPath:e.logicalPath,owner:t,sourceId:e.sourceId,sourceKind:toAgentInfoSourceKind(e.sourceKind)},i=n===void 0?void 0:{backing:n.backing,logicalPath:n.logicalPath,owner:n.owner};return n!==void 0&&e.exportName!==void 0?{...r,binding:i,exportName:e.exportName}:n===void 0?e.exportName===void 0?r:{...r,exportName:e.exportName}:{...r,binding:i}}function toAgentInfoSourceKind(e){switch(e){case`markdown`:case`module`:case`skill-package`:return e;default:throw Error(`Unsupported compiled source kind "${e}".`)}}function renderDynamicResolver(e,t){return{...toModuleSource(e,t),eventNames:[...t.eventNames],slug:t.slug}}function summarizeNode(e){return{channels:e.channelRoutes.effective.length,connections:e.connections.length,hooks:e.hooks.length,instructions:e.instructions.length,memories:e.memories.length,schedules:e.schedules.length,skills:e.skills.length,tools:e.tools.length}}function collectRemoteAgents(e){return[e,...e.subagents.map(e=>e.agent)].flatMap(e=>e.remoteAgents.map(e=>({...sourceProjection(e,e.owner,e.binding),description:e.description,name:e.name,nodeId:e.nodeId,parentNodeId:e.parentNodeId,url:e.url})))}function collectCompositionDiagnostics(e){let t=[e,...e.subagents.map(e=>e.agent)].flatMap(e=>e.sourceComposition.entries).map(e=>{let t={kind:e.kind,logicalPath:e.source.logicalPath,owner:e.source.owner,sourceId:e.source.sourceId};return e.kind===`shadowed`?{...t,winnerSourceId:e.winnerSourceId}:t});return{disabled:t.filter(e=>e.kind===`disabled`),shadowed:t.filter(e=>e.kind===`shadowed`)}}const KERNEL_EFFECT_BY_SLOT={"tools/agent":{action:`subagent-call`,audience:[`root-session`],kind:`dispatch`},"tools/ask_question":{audience:[`requires-request-input`],kind:`request-input`},"tools/task_cancel":{action:`task-cancel`,audience:[`root-session`],kind:`dispatch`},"tools/task_update":{action:`task-update`,audience:[`delegated-task-child`],kind:`dispatch`},"tools/web_search":{audience:[],kind:`provider-tool`}};function projectPreparedKernelEffects(e){return e.tools.flatMap(t=>{let n=e.bindings[t.sourceId],i=t.logicalPath.replace(/\.(?:[cm]?[jt]sx?)$/,``),a=KERNEL_EFFECT_BY_SLOT[i],o=i===`tools/web_search`&&e.webSearchProvider!==void 0;return n?.owner.kind!==`framework`&&!o||a===void 0?[]:[{...a,sourceId:t.sourceId}]})}export{buildAgentInfoResponse};
1
+ import{resolveModelEndpointStatus}from"#internal/resolve-model-endpoint-status.js";import{ROOT_COMPILED_AGENT_NODE_ID}from"#compiler/manifest.js";import{WORKFLOW_TOOL_NAME}from"#shared/workflow-sandbox.js";function toChatGptEndpoint(e){if(e===void 0)return;let t={state:e.kind};return e.kind===`ready`&&e.accountLabel!==void 0?{...t,accountLabel:e.accountLabel}:t}function buildAgentInfoResponse(r,i){let{manifest:a}=r,o=toModuleSource(a,a.config.source);if(o.binding===void 0)throw Error(`Compiled config source "${a.config.source.sourceId}" has no binding.`);let s=collectCompositionDiagnostics(a),c=collectRemoteAgents(a);return{agent:{agentRoot:a.agentRoot,appRoot:a.appRoot,config:{...o,binding:o.binding},description:a.config.description,model:a.config.dynamicModel===void 0?{contextWindowTokens:a.config.model.contextWindowTokens,endpoint:resolveModelEndpointStatus(a.config.model.routing,i.gatewayCredentials,toChatGptEndpoint(i.chatgptAuth)),id:a.config.model.id,providerOptions:a.config.model.providerOptions,reasoning:a.config.reasoning,routing:a.config.model.routing,source:a.config.model.source===void 0?void 0:toModuleSource(a,a.config.model.source)}:{reasoning:a.config.reasoning,routing:{kind:`dynamic`,resolver:renderDynamicResolver(a,{...a.config.dynamicModel,slug:`model`})}},name:a.config.name,nodeId:ROOT_COMPILED_AGENT_NODE_ID,outputSchema:a.config.outputSchema},capabilities:{devRoutes:i.mode===`development`},channels:{routes:a.channelRoutes.effective.map(e=>({...toModuleSource(a,e),adapterKind:e.adapterKind,method:e.method,name:e.name,urlPath:e.urlPath})),shadowed:[...a.channelRoutes.shadowed]},composition:s,connections:a.connections.map(e=>({...toModuleSource(a,e),connectionName:e.connectionName,description:e.description,hasApproval:!1,hasAuthorization:e.vercelConnect!==void 0,hasHeaders:!1,protocol:e.protocol,url:e.url})),diagnostics:{discoveryErrors:a.diagnosticsSummary.errors,discoveryWarnings:a.diagnosticsSummary.warnings},hooks:a.hooks.map(e=>({...toModuleSource(a,e),eventNames:[...e.eventNames],slug:e.slug})),instructions:{dynamic:a.dynamicInstructions.map(e=>renderDynamicResolver(a,e)),static:a.instructions.map(e=>({...toOwnedSource(a,e),content:e.content,name:e.name,role:e.role}))},instrumentation:a.instrumentation===void 0?void 0:toModuleSource(a,a.instrumentation),kernelEffects:projectPreparedKernelEffects(a),kind:`eve-agent-info`,memories:a.memories.map(e=>({...toModuleSource(a,e),description:e.description,slot:e.slot,visibility:e.visibility})),mode:i.mode,remoteAgents:{entries:c,total:c.length},sandbox:{...toModuleSource(a,a.sandbox),backendKind:a.sandbox.backendName,description:a.sandbox.description,hasBootstrap:!1,hasOnSession:!1,revalidationKey:a.sandbox.revalidationKey,sourceHash:a.sandbox.sourceHash},schedules:a.schedules.map(e=>({...toOwnedSource(a,e),cron:e.cron,hasRun:e.hasRun,markdown:e.markdown,name:e.name})),skills:{dynamic:a.dynamicSkills.map(e=>renderDynamicResolver(a,e)),static:a.skills.map(e=>({...toOwnedSource(a,e),description:e.description,license:e.license,markdown:e.markdown,metadata:e.metadata,name:e.name}))},subagents:{local:a.subagents.map(e=>{let t={...toOwnedSource(a,e),description:e.description,entryPath:e.entryPath,name:e.name,nodeId:e.nodeId,parentNodeId:e.parentNodeId,rootPath:e.rootPath,summary:summarizeNode(e.agent)};return e.configResolver===void 0?t:{...t,configResolver:renderDynamicResolver(e.agent,{...e.configResolver,slug:`config`})}}),total:a.subagents.length},tools:{dynamic:a.dynamicTools.map(e=>renderDynamicResolver(a,e)),static:a.tools.map(e=>({...toModuleSource(a,e),description:e.description,hasAuth:!1,hasExecute:e.hasExecute,hasModelOutputProjection:e.hasModelOutputProjection,hasOutputSchema:e.outputSchema!==void 0,inputSchema:e.inputSchema,name:e.name,outputSchema:e.outputSchema,requiresApproval:e.requiresApproval}))},version:4,workflow:a.workflowTool===void 0?{enabled:!1,toolName:WORKFLOW_TOOL_NAME}:{enabled:!0,source:toModuleSource(a,a.workflowTool),toolName:WORKFLOW_TOOL_NAME},workspace:{resourceRoot:a.workspaceResourceRoot,rootEntries:[...a.workspaceResourceRoot.rootEntries]}}}function toModuleSource(e,t){let n=e.bindings[t.sourceId];if(n===void 0)throw Error(`Compiled source "${t.sourceId}" has no binding.`);return sourceProjection(t,n.owner,n)}function toOwnedSource(e,t){let n=e.bindings[t.sourceId],r=n?.owner??t.owner;if(r===void 0)throw Error(`Compiled source "${t.sourceId}" has no owner.`);return sourceProjection(t,r,n)}function sourceProjection(e,t,n){let r={logicalPath:e.logicalPath,owner:t,sourceId:e.sourceId,sourceKind:toAgentInfoSourceKind(e.sourceKind)},i=n===void 0?void 0:{backing:n.backing,logicalPath:n.logicalPath,owner:n.owner};return n!==void 0&&e.exportName!==void 0?{...r,binding:i,exportName:e.exportName}:n===void 0?e.exportName===void 0?r:{...r,exportName:e.exportName}:{...r,binding:i}}function toAgentInfoSourceKind(e){switch(e){case`markdown`:case`module`:case`skill-package`:return e;default:throw Error(`Unsupported compiled source kind "${e}".`)}}function renderDynamicResolver(e,t){return{...toModuleSource(e,t),eventNames:[...t.eventNames],slug:t.slug}}function summarizeNode(e){return{channels:e.channelRoutes.effective.length,connections:e.connections.length,hooks:e.hooks.length,instructions:e.instructions.length,memories:e.memories.length,schedules:e.schedules.length,skills:e.skills.length,tools:e.tools.length}}function collectRemoteAgents(e){return[e,...e.subagents.map(e=>e.agent)].flatMap(e=>e.remoteAgents.map(e=>({...sourceProjection(e,e.owner,e.binding),description:e.description,name:e.name,nodeId:e.nodeId,parentNodeId:e.parentNodeId,url:e.url})))}function collectCompositionDiagnostics(e){let t=[e,...e.subagents.map(e=>e.agent)].flatMap(e=>e.sourceComposition.entries).map(e=>{let t={kind:e.kind,logicalPath:e.source.logicalPath,owner:e.source.owner,sourceId:e.source.sourceId};return e.kind===`shadowed`?{...t,winnerSourceId:e.winnerSourceId}:t});return{disabled:t.filter(e=>e.kind===`disabled`),shadowed:t.filter(e=>e.kind===`shadowed`)}}function projectPreparedKernelEffects(e){let t=[];for(let n of e.tools){let e=n.behavior,r=e?.handling;if(!(e===void 0||r===void 0))switch(r.kind){case`dispatch`:t.push({action:r.action===`self-agent`?`subagent-call`:r.action,audience:[...e.availability],kind:`dispatch`,sourceId:n.sourceId});break;case`provider-tool`:t.push({audience:[...e.availability],kind:`provider-tool`,sourceId:n.sourceId});break;case`request-input`:t.push({audience:[...e.availability],kind:`request-input`,sourceId:n.sourceId});break;default:throw Error(`Unsupported compiled tool handling: ${String(r)}`)}}return t}export{buildAgentInfoResponse};
@@ -1 +1 @@
1
- import{createAttachSessionFn}from"#channel/session.js";import{createLogger,logError}from"#internal/logging.js";import{createChannelDeliveryMetadata}from"#channel/delivery-metadata.js";import{createChannelOperations}from"#channel/channel-operations.js";import{getChannelInstrumentationKind}from"#channel/compiled-channel.js";import{createCrossChannelToFn,toCrossChannelTargets}from"#channel/cross-channel-receive.js";import{attachAgentInfoRouteResponse,attachHomeRouteMetadata,attachRemoteAgentStreamHeadersResolver,attachRouteChannelName,attachRouteSessionCreator}from"#internal/nitro/routes/channel-route-context.js";import{DEVELOPMENT_WORKFLOW_SECRET_ENV}from"#internal/workflow/development-world-protocol.js";import{readTrustedDevelopmentClientAddress}from"#internal/nitro/dev-client-address.js";import{traceChannelRequest}from"#internal/nitro/routes/channel-request-instrumentation.js";import{resolveNitroChannelRuntimeBundle}from"#internal/nitro/routes/runtime-stack.js";import{readVercelProjectLink}from"#internal/vercel/project-link.js";import{withVercelOidcProjectResolver}from"#channel/auth/vercel-oidc-project.js";const log=createLogger(`channel.dispatch`);async function dispatchChannelRequest(e,t,r){return await traceChannelRequest({request:e.req,routeKey:t},async i=>{let o=await resolveNitroChannelRuntimeBundle(r),s=o.channels.find(e=>`${e.method.toUpperCase()} ${e.urlPath}`===t);if(s===void 0)return Response.json({error:`No matching channel for this request.`,ok:!1},{status:404});i?.setAttribute(`eve.channel.name`,s.name);let c=getChannelInstrumentationKind(s.definition)??s.adapter?.kind;c!==void 0&&i?.setAttribute(`eve.channel.kind`,c);let l=buildRouteArgs(e,o,s.name,c??`channel`,r,i),u;try{u=await withDevelopmentVercelOidcContext(r,e.req,async()=>{if(s.handler)return await s.handler(e.req,l.args);let t={waitUntil:l.args.waitUntil,params:l.args.params,requestIp:l.args.requestIp};return await s.fetch(e.req,t)})}catch(r){let i=logError(log,`channel handler threw`,r,{routeKey:t,channel:s.name});return flushBackgroundTasks(e,l.backgroundTasks,t,s.name),Response.json({error:`Channel handler failed.`,errorId:i,ok:!1},{status:500})}return flushBackgroundTasks(e,l.backgroundTasks,t,s.name),u})}async function dispatchChannelWebSocketRequest(e,t,r){let i=await resolveNitroChannelRuntimeBundle(r),o=i.channels.find(e=>`${e.method.toUpperCase()} ${e.urlPath}`===t);if(o===void 0||o.websocket===void 0)return rejectWebSocketUpgrade({error:`No matching websocket channel for this request.`,ok:!1},404);let s=o.websocket,c=getChannelInstrumentationKind(o.definition)??o.adapter?.kind??`channel`,l=buildRouteArgs(e,i,o.name,c,r,void 0);try{let n=await withDevelopmentVercelOidcContext(r,e.req,async()=>await s(e.req,l.args));return flushBackgroundTasks(e,l.backgroundTasks,t,o.name),n}catch(r){let i=logError(log,`channel websocket handler threw`,r,{routeKey:t,channel:o.name});return flushBackgroundTasks(e,l.backgroundTasks,t,o.name),rejectWebSocketUpgrade({error:`Channel websocket handler failed.`,errorId:i,ok:!1},500)}}async function withDevelopmentVercelOidcContext(e,t,n){return e.kind===`development`?await withVercelOidcProjectResolver({request:t,resolveCurrentProject:async()=>{let t=await readVercelProjectLink(e.appRoot);return t===void 0?void 0:{environment:`development`,projectId:t.projectId}}},n):await n()}function buildRouteArgs(t,n,a,d,f,p){let m=readVercelRequestId(t.req.headers),h=extractRequestIp(t,f),g=[],_=t.context.params??{},v={};for(let[e,t]of Object.entries(_))v[e]=decodeURIComponent(t);let waitUntil=e=>{g.push(e)},y=n.channels.find(e=>e.name===a),b=y?.adapter??{kind:`channel`},x=p?.spanContext(),S={channelKind:d,channelName:a,requestId:m,requestTraceContext:x===void 0?void 0:{spanId:x.spanId,traceFlags:x.traceFlags,traceId:x.traceId}},C=createChannelOperations({adapter:b,channelName:a,metadata:S,runtime:n.runtime,turnPolicy:y?.turnPolicy}),w=createAttachSessionFn(n.runtime,{...S,turnPolicy:y?.turnPolicy}),T=createCrossChannelToFn(n.runtime,toCrossChannelTargets(n.channels)),E=attachRouteSessionCreator(attachHomeRouteMetadata(attachRouteChannelName(attachAgentInfoRouteResponse({attachSession:w,...C,params:v,requestIp:h,to:T,waitUntil},async()=>{let{handleAgentInfoRequest:e}=await import(`#internal/nitro/routes/info.js`);return await e(f)}),a),{agentName:n.agentName}),async e=>await n.runtime.createSession({...e,adapter:b,channelName:a,continuationToken:e.continuationToken===void 0?void 0:`${a}:${e.continuationToken}`,delivery:createChannelDeliveryMetadata(S),requestId:m}));return n.resolveRemoteAgentStreamHeaders!==void 0&&attachRemoteAgentStreamHeadersResolver(E,n.resolveRemoteAgentStreamHeaders),{args:E,backgroundTasks:g}}function readVercelRequestId(e){let t=e.get(`x-vercel-id`)?.trim();return t===``?void 0:t}function rejectWebSocketUpgrade(e,t){return{upgrade(){throw Response.json(e,{status:t})}}}function flushBackgroundTasks(e,t,r,i){t.length!==0&&e.waitUntil(Promise.allSettled(t).then(e=>{for(let t of e)t.status===`rejected`&&logError(log,`channel background task failed`,t.reason,{routeKey:r,channel:i})}))}function extractRequestIp(e,t){if(t.kind===`development`){let t=readTrustedDevelopmentClientAddress(e.req.headers,process.env[DEVELOPMENT_WORKFLOW_SECRET_ENV]);if(t!==void 0)return t}return extractSocketIp(e)}function extractSocketIp(e){let t=e.req.ip;return typeof t==`string`&&t.length>0?t:null}export{dispatchChannelRequest,dispatchChannelWebSocketRequest};
1
+ import{createAttachSessionFn}from"#channel/session.js";import{createLogger,logError}from"#internal/logging.js";import{createChannelDeliveryMetadata}from"#channel/delivery-metadata.js";import{createChannelOperations}from"#channel/channel-operations.js";import{getChannelInstrumentationKind}from"#channel/compiled-channel.js";import{createCrossChannelToFn,toCrossChannelTargets}from"#channel/cross-channel-receive.js";import{attachAgentInfoRouteResponse,attachHomeRouteMetadata,attachRemoteAgentStreamHeadersResolver,attachRouteChannelName,attachRouteSessionCreator}from"#internal/nitro/routes/channel-route-context.js";import{DEVELOPMENT_WORKFLOW_SECRET_ENV}from"#internal/workflow/development-world-protocol.js";import{readTrustedDevelopmentClientAddress}from"#internal/nitro/dev-client-address.js";import{withLocalDevRequestScope}from"#runtime/local-dev-capability.js";import{traceChannelRequest}from"#internal/nitro/routes/channel-request-instrumentation.js";import{resolveNitroChannelRuntimeBundle}from"#internal/nitro/routes/runtime-stack.js";import{readVercelProjectLink}from"#internal/vercel/project-link.js";import{withVercelOidcProjectResolver}from"#channel/auth/vercel-oidc-project.js";const log=createLogger(`channel.dispatch`);async function dispatchChannelRequest(e,t,r){return await traceChannelRequest({request:e.req,routeKey:t},async i=>{let o=await resolveNitroChannelRuntimeBundle(r),s=o.channels.find(e=>`${e.method.toUpperCase()} ${e.urlPath}`===t);if(s===void 0)return Response.json({error:`No matching channel for this request.`,ok:!1},{status:404});i?.setAttribute(`eve.channel.name`,s.name);let c=getChannelInstrumentationKind(s.definition)??s.adapter?.kind;c!==void 0&&i?.setAttribute(`eve.channel.kind`,c);let l=buildRouteArgs(e,o,s.name,c??`channel`,r,i),u;try{u=await withDevelopmentVercelOidcContext(r,e.req,async()=>{if(s.handler)return await s.handler(e.req,l.args);let t={waitUntil:l.args.waitUntil,params:l.args.params,requestIp:l.args.requestIp};return await s.fetch(e.req,t)})}catch(r){let i=logError(log,`channel handler threw`,r,{routeKey:t,channel:s.name});return flushBackgroundTasks(e,l.backgroundTasks,t,s.name),Response.json({error:`Channel handler failed.`,errorId:i,ok:!1},{status:500})}return flushBackgroundTasks(e,l.backgroundTasks,t,s.name),u})}async function dispatchChannelWebSocketRequest(e,t,r){let i=await resolveNitroChannelRuntimeBundle(r),o=i.channels.find(e=>`${e.method.toUpperCase()} ${e.urlPath}`===t);if(o===void 0||o.websocket===void 0)return rejectWebSocketUpgrade({error:`No matching websocket channel for this request.`,ok:!1},404);let s=o.websocket,c=getChannelInstrumentationKind(o.definition)??o.adapter?.kind??`channel`,l=buildRouteArgs(e,i,o.name,c,r,void 0);try{let n=await withDevelopmentVercelOidcContext(r,e.req,async()=>await s(e.req,l.args));return flushBackgroundTasks(e,l.backgroundTasks,t,o.name),n}catch(r){let i=logError(log,`channel websocket handler threw`,r,{routeKey:t,channel:o.name});return flushBackgroundTasks(e,l.backgroundTasks,t,o.name),rejectWebSocketUpgrade({error:`Channel websocket handler failed.`,errorId:i,ok:!1},500)}}async function withDevelopmentVercelOidcContext(e,t,n){return e.kind===`development`?await withLocalDevRequestScope(t,async()=>await withVercelOidcProjectResolver({request:t,resolveCurrentProject:async()=>{let t=await readVercelProjectLink(e.appRoot);return t===void 0?void 0:{environment:`development`,projectId:t.projectId}}},n)):await n()}function buildRouteArgs(t,n,a,d,f,p){let m=readVercelRequestId(t.req.headers),h=extractRequestIp(t,f),g=[],_=t.context.params??{},v={};for(let[e,t]of Object.entries(_))v[e]=decodeURIComponent(t);let waitUntil=e=>{g.push(e)},y=n.channels.find(e=>e.name===a),b=y?.adapter??{kind:`channel`},x=p?.spanContext(),S={channelKind:d,channelName:a,requestId:m,requestTraceContext:x===void 0?void 0:{spanId:x.spanId,traceFlags:x.traceFlags,traceId:x.traceId}},C=createChannelOperations({adapter:b,channelName:a,metadata:S,runtime:n.runtime,turnPolicy:y?.turnPolicy}),w=createAttachSessionFn(n.runtime,{...S,turnPolicy:y?.turnPolicy}),T=createCrossChannelToFn(n.runtime,toCrossChannelTargets(n.channels)),E=attachRouteSessionCreator(attachHomeRouteMetadata(attachRouteChannelName(attachAgentInfoRouteResponse({attachSession:w,...C,params:v,requestIp:h,to:T,waitUntil},async()=>{let{handleAgentInfoRequest:e}=await import(`#internal/nitro/routes/info.js`);return await e(f)}),a),{agentName:n.agentName}),async e=>await n.runtime.createSession({...e,adapter:b,channelName:a,continuationToken:e.continuationToken===void 0?void 0:`${a}:${e.continuationToken}`,delivery:createChannelDeliveryMetadata(S),requestId:m}));return n.resolveRemoteAgentStreamHeaders!==void 0&&attachRemoteAgentStreamHeadersResolver(E,n.resolveRemoteAgentStreamHeaders),{args:E,backgroundTasks:g}}function readVercelRequestId(e){let t=e.get(`x-vercel-id`)?.trim();return t===``?void 0:t}function rejectWebSocketUpgrade(e,t){return{upgrade(){throw Response.json(e,{status:t})}}}function flushBackgroundTasks(e,t,r,i){t.length!==0&&e.waitUntil(Promise.allSettled(t).then(e=>{for(let t of e)t.status===`rejected`&&logError(log,`channel background task failed`,t.reason,{routeKey:r,channel:i})}))}function extractRequestIp(e,t){if(t.kind===`development`){let t=readTrustedDevelopmentClientAddress(e.req.headers,process.env[DEVELOPMENT_WORKFLOW_SECRET_ENV]);if(t!==void 0)return t}return extractSocketIp(e)}function extractSocketIp(e){let t=e.req.ip;return typeof t==`string`&&t.length>0?t:null}export{dispatchChannelRequest,dispatchChannelWebSocketRequest};
@@ -1 +1 @@
1
- import"../../../../../../zod@4.4.3/node_modules/zod/v3/ZodError.js";import"../../../../../../zod@4.4.3/node_modules/zod/v3/index.js";import{SDKValidationError}from"../models/sdkvalidationerror.js";import{ERR,OK}from"../types/fp.js";function safeParse(t,n,r){try{return OK(n(t))}catch(e){return ERR(new SDKValidationError(r,e,t))}}export{safeParse};
1
+ import"../../../../../../zod@4.5.4/node_modules/zod/v3/ZodError.js";import"../../../../../../zod@4.5.4/node_modules/zod/v3/index.js";import{SDKValidationError}from"../models/sdkvalidationerror.js";import{ERR,OK}from"../types/fp.js";function safeParse(t,n,r){try{return OK(n(t))}catch(e){return ERR(new SDKValidationError(r,e,t))}}export{safeParse};
@@ -1 +1 @@
1
- import{nativeEnum as nativeEnumType}from"../../../../../../zod@4.4.3/node_modules/zod/v3/types.js";import"../../../../../../zod@4.4.3/node_modules/zod/v3/index.js";const ACLAction={Create:`create`,Delete:`delete`,List:`list`,Read:`read`,Update:`update`},ACLAction$inboundSchema=nativeEnumType(ACLAction);export{ACLAction,ACLAction$inboundSchema};
1
+ import{nativeEnum as nativeEnumType}from"../../../../../../zod@4.5.4/node_modules/zod/v3/types.js";import"../../../../../../zod@4.5.4/node_modules/zod/v3/index.js";const ACLAction={Create:`create`,Delete:`delete`,List:`list`,Read:`read`,Update:`update`},ACLAction$inboundSchema=nativeEnumType(ACLAction);export{ACLAction,ACLAction$inboundSchema};
@@ -1 +1 @@
1
- import{ZodError}from"../../../../../../zod@4.4.3/node_modules/zod/v3/ZodError.js";import"../../../../../../zod@4.4.3/node_modules/zod/v3/index.js";var SDKValidationError=class extends Error{rawValue;rawMessage;static[Symbol.hasInstance](e){return!(!(e instanceof Error)||!(`rawValue`in e)||!(`rawMessage`in e)||!(`pretty`in e)||typeof e.pretty!=`function`)}constructor(e,t,n){super(`${e}: ${t}`),this.name=`SDKValidationError`,this.cause=t,this.rawValue=n,this.rawMessage=e}pretty(){return this.cause instanceof ZodError?`${this.rawMessage}\n${formatZodError(this.cause)}`:this.toString()}};function formatZodError(e,t=0){let n=` `.repeat(t);n=t>0?`│${n}`:n,n+=` `.repeat(t);let r=``,append=e=>r+=`\n${n}${e}`,i=e.issues.length,a=i===1?`${i} issue found`:`${i} issues found`;i&&append(`┌ ${a}:`);for(let n of e.issues){let e=n.path.join(`.`);switch(e=e?`<root>.${e}`:`<root>`,append(`│ • [${e}]: ${n.message} (${n.code})`),n.code){case`invalid_literal`:case`invalid_type`:append(`│ Want: ${n.expected}`),append(`│ Got: ${n.received}`);break;case`unrecognized_keys`:append(`│ Keys: ${n.keys.join(`, `)}`);break;case`invalid_enum_value`:append(`│ Allowed: ${n.options.join(`, `)}`),append(`│ Got: ${n.received}`);break;case`invalid_union_discriminator`:append(`│ Allowed: ${n.options.join(`, `)}`);break;case`invalid_union`:{let e=n.unionErrors.length;append(`│ ✖︎ Attemped to deserialize into one of ${e} union members:`),n.unionErrors.forEach((n,r)=>{append(`│ ✖︎ Member ${r+1} of ${e}`),append(`${formatZodError(n,t+1)}`)})}}}return e.issues.length&&append(`└─*`),r.slice(1)}export{SDKValidationError,formatZodError};
1
+ import{ZodError}from"../../../../../../zod@4.5.4/node_modules/zod/v3/ZodError.js";import"../../../../../../zod@4.5.4/node_modules/zod/v3/index.js";var SDKValidationError=class extends Error{rawValue;rawMessage;static[Symbol.hasInstance](e){return!(!(e instanceof Error)||!(`rawValue`in e)||!(`rawMessage`in e)||!(`pretty`in e)||typeof e.pretty!=`function`)}constructor(e,t,n){super(`${e}: ${t}`),this.name=`SDKValidationError`,this.cause=t,this.rawValue=n,this.rawMessage=e}pretty(){return this.cause instanceof ZodError?`${this.rawMessage}\n${formatZodError(this.cause)}`:this.toString()}};function formatZodError(e,t=0){let n=` `.repeat(t);n=t>0?`│${n}`:n,n+=` `.repeat(t);let r=``,append=e=>r+=`\n${n}${e}`,i=e.issues.length,a=i===1?`${i} issue found`:`${i} issues found`;i&&append(`┌ ${a}:`);for(let n of e.issues){let e=n.path.join(`.`);switch(e=e?`<root>.${e}`:`<root>`,append(`│ • [${e}]: ${n.message} (${n.code})`),n.code){case`invalid_literal`:case`invalid_type`:append(`│ Want: ${n.expected}`),append(`│ Got: ${n.received}`);break;case`unrecognized_keys`:append(`│ Keys: ${n.keys.join(`, `)}`);break;case`invalid_enum_value`:append(`│ Allowed: ${n.options.join(`, `)}`),append(`│ Got: ${n.received}`);break;case`invalid_union_discriminator`:append(`│ Allowed: ${n.options.join(`, `)}`);break;case`invalid_union`:{let e=n.unionErrors.length;append(`│ ✖︎ Attemped to deserialize into one of ${e} union members:`),n.unionErrors.forEach((n,r)=>{append(`│ ✖︎ Member ${r+1} of ${e}`),append(`${formatZodError(n,t+1)}`)})}}}return e.issues.length&&append(`└─*`),r.slice(1)}export{SDKValidationError,formatZodError};