eve 0.83.3 → 0.84.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1595) hide show
  1. package/CHANGELOG.md +57 -0
  2. package/README.md +1 -5
  3. package/dist/src/_virtual/_rolldown/runtime.js +1 -1
  4. package/dist/src/acp/adapter.d.ts +8 -5
  5. package/dist/src/acp/adapter.js +1 -1
  6. package/dist/src/ai/decide.d.ts +3 -7
  7. package/dist/src/ai/decide.js +1 -1
  8. package/dist/src/ai/decision-adapter.d.ts +7 -0
  9. package/dist/src/ai/decision-adapter.js +1 -0
  10. package/dist/src/ai/decision-types.d.ts +86 -0
  11. package/dist/src/approval/definition.d.ts +5 -12
  12. package/dist/src/approval/evaluation.d.ts +48 -0
  13. package/dist/src/approval/evaluation.js +1 -0
  14. package/dist/src/approval/status.d.ts +14 -0
  15. package/dist/src/approval/status.js +1 -0
  16. package/dist/src/channel/adapter-context.d.ts +1 -3
  17. package/dist/src/channel/adapter-context.js +1 -1
  18. package/dist/src/channel/adapter.d.ts +34 -26
  19. package/dist/src/channel/adapter.js +1 -1
  20. package/dist/src/channel/audience.d.ts +0 -3
  21. package/dist/src/channel/audience.js +1 -1
  22. package/dist/src/channel/auth/definitions.d.ts +532 -0
  23. package/dist/src/channel/auth/definitions.js +1 -0
  24. package/dist/src/channel/auth/jwt-ecdsa.js +1 -1
  25. package/dist/src/channel/auth/jwt-hmac.js +1 -1
  26. package/dist/src/channel/auth/oidc.js +1 -1
  27. package/dist/src/channel/channel-address.d.ts +12 -10
  28. package/dist/src/channel/channel-address.js +1 -1
  29. package/dist/src/channel/channel-operations.d.ts +21 -22
  30. package/dist/src/channel/channel-operations.js +1 -1
  31. package/dist/src/channel/compiled-channel.d.ts +4 -4
  32. package/dist/src/channel/conversation-context.js +1 -1
  33. package/dist/src/channel/cors.d.ts +2 -2
  34. package/dist/src/channel/cors.js +1 -1
  35. package/dist/src/channel/cross-channel-receive.d.ts +7 -4
  36. package/dist/src/channel/cross-channel-receive.js +1 -1
  37. package/dist/src/channel/delivery-idempotency.d.ts +6 -0
  38. package/dist/src/channel/delivery-idempotency.js +1 -1
  39. package/dist/src/channel/delivery-metadata.d.ts +2 -2
  40. package/dist/src/channel/delivery.d.ts +8 -0
  41. package/dist/src/channel/delivery.js +1 -0
  42. package/dist/src/channel/interaction-prompts.d.ts +54 -0
  43. package/dist/src/channel/interaction-prompts.js +1 -0
  44. package/dist/src/channel/invoke-tool.d.ts +11 -18
  45. package/dist/src/channel/pending-authorization.d.ts +3 -14
  46. package/dist/src/channel/pending-authorization.js +1 -1
  47. package/dist/src/channel/prompt-queue.d.ts +11 -19
  48. package/dist/src/channel/prompt-queue.js +1 -1
  49. package/dist/src/channel/resolve-text.d.ts +11 -18
  50. package/dist/src/channel/resolve-text.js +2 -2
  51. package/dist/src/channel/resolved-prompt.d.ts +7 -5
  52. package/dist/src/channel/resolved-prompt.js +1 -1
  53. package/dist/src/channel/routes.d.ts +4 -4
  54. package/dist/src/channel/schedule.d.ts +2 -2
  55. package/dist/src/channel/schedule.js +1 -1
  56. package/dist/src/channel/send-input.d.ts +3 -3
  57. package/dist/src/channel/send-input.js +1 -1
  58. package/dist/src/channel/session-callback.js +1 -1
  59. package/dist/src/channel/session-not-active-error.d.ts +8 -12
  60. package/dist/src/channel/session-not-active-error.js +1 -1
  61. package/dist/src/channel/session.d.ts +33 -59
  62. package/dist/src/channel/session.js +1 -1
  63. package/dist/src/channel/sign-in.d.ts +61 -0
  64. package/dist/src/channel/sign-in.js +3 -0
  65. package/dist/src/channel/surface.d.ts +44 -0
  66. package/dist/src/channel/surface.js +1 -0
  67. package/dist/src/channel/task-card.d.ts +24 -114
  68. package/dist/src/channel/task-card.js +1 -1
  69. package/dist/src/channel/types.d.ts +118 -110
  70. package/dist/src/channel/types.js +1 -1
  71. package/dist/src/chunks/use-eve-agent-DMeP0JOF.js +5046 -0
  72. package/dist/src/chunks/use-eve-agent-DP5Rso9C.js +5093 -0
  73. package/dist/src/cli/commands/init.js +1 -1
  74. package/dist/src/cli/commands/logs-events.d.ts +2 -0
  75. package/dist/src/cli/commands/logs-events.js +2 -2
  76. package/dist/src/cli/dev/command.js +1 -1
  77. package/dist/src/cli/dev/remote-print.d.ts +8 -0
  78. package/dist/src/cli/dev/remote-print.js +1 -0
  79. package/dist/src/cli/dev/tui/conversation-view.d.ts +24 -19
  80. package/dist/src/cli/dev/tui/conversation-view.js +1 -1
  81. package/dist/src/cli/dev/tui/diagnostic-presentation.d.ts +0 -10
  82. package/dist/src/cli/dev/tui/diagnostic-presentation.js +2 -3
  83. package/dist/src/cli/dev/tui/errors.d.ts +9 -65
  84. package/dist/src/cli/dev/tui/errors.js +1 -1
  85. package/dist/src/cli/dev/tui/prompt-command-handler.js +1 -1
  86. package/dist/src/cli/dev/tui/runner.js +3 -3
  87. package/dist/src/cli/dev/tui/task-records.d.ts +3 -3
  88. package/dist/src/cli/dev/tui/task-records.js +1 -1
  89. package/dist/src/cli/dev/tui/terminal-renderer.js +10 -10
  90. package/dist/src/cli/dev/tui/terminal-tool-part.d.ts +2 -2
  91. package/dist/src/cli/dev/tui/terminal-tool-part.js +1 -1
  92. package/dist/src/cli/dev/tui/test/fake-eve-server.d.ts +3 -3
  93. package/dist/src/cli/dev/tui/test/fake-eve-server.js +1 -1
  94. package/dist/src/cli/dev/tui/tool-presentation.js +1 -1
  95. package/dist/src/cli/dev/tui/transcript-parts.d.ts +16 -16
  96. package/dist/src/cli/dev/tui/transcript-parts.js +3 -3
  97. package/dist/src/cli/dev/tui/transcript.d.ts +0 -4
  98. package/dist/src/cli/dev/tui/transcript.js +1 -1
  99. package/dist/src/cli/dev/tui/tui.js +1 -1
  100. package/dist/src/cli/run.d.ts +0 -2
  101. package/dist/src/cli/run.js +1 -1
  102. package/dist/src/cli/telemetry/index.js +1 -1
  103. package/dist/src/client/agent-base-url.d.ts +4 -0
  104. package/dist/src/client/agent-base-url.js +1 -0
  105. package/dist/src/client/agent-info-schema.d.ts +1 -923
  106. package/dist/src/client/agent-info-schema.js +1 -1
  107. package/dist/src/client/agent-info-types.d.ts +281 -0
  108. package/dist/src/client/agent-session.d.ts +19 -22
  109. package/dist/src/client/agent-session.js +1 -1
  110. package/dist/src/client/agent-stream-follower.d.ts +11 -20
  111. package/dist/src/client/agent-stream-follower.js +1 -1
  112. package/dist/src/client/client-error.d.ts +2 -1
  113. package/dist/src/client/client-error.js +1 -1
  114. package/dist/src/client/client.d.ts +1 -1
  115. package/dist/src/client/client.js +1 -1
  116. package/dist/src/client/conversation-client.d.ts +37 -28
  117. package/dist/src/client/conversation-client.js +1 -1
  118. package/dist/src/client/conversation-state.d.ts +70 -73
  119. package/dist/src/client/conversation-state.js +1 -1
  120. package/dist/src/client/conversation.d.ts +51 -0
  121. package/dist/src/client/conversation.js +1 -0
  122. package/dist/src/client/delivery-events.d.ts +3 -0
  123. package/dist/src/client/delivery-events.js +1 -0
  124. package/dist/src/client/delivery.d.ts +38 -0
  125. package/dist/src/client/delivery.js +1 -0
  126. package/dist/src/client/file-parts.d.ts +9 -4
  127. package/dist/src/client/file-parts.js +1 -1
  128. package/dist/src/client/health-schema.d.ts +1 -1
  129. package/dist/src/client/health-types.d.ts +6 -0
  130. package/dist/src/client/index.d.ts +17 -23
  131. package/dist/src/client/index.js +1 -1
  132. package/dist/src/client/message-types.d.ts +92 -0
  133. package/dist/src/client/message-types.js +1 -0
  134. package/dist/src/client/messages.d.ts +30 -0
  135. package/dist/src/client/messages.js +1 -0
  136. package/dist/src/client/ndjson.d.ts +6 -11
  137. package/dist/src/client/ndjson.js +3 -3
  138. package/dist/src/client/open-stream.d.ts +47 -20
  139. package/dist/src/client/open-stream.js +1 -1
  140. package/dist/src/client/optimistic-message-submissions.d.ts +10 -18
  141. package/dist/src/client/optimistic-message-submissions.js +1 -1
  142. package/dist/src/client/session-controls.d.ts +23 -26
  143. package/dist/src/client/session-controls.js +1 -1
  144. package/dist/src/client/session-event-stream.d.ts +5 -16
  145. package/dist/src/client/session-event-stream.js +1 -1
  146. package/dist/src/client/session-store-helpers.d.ts +8 -0
  147. package/dist/src/client/session-store-helpers.js +2 -0
  148. package/dist/src/client/session-store-state.d.ts +80 -0
  149. package/dist/src/client/session-store-state.js +1 -0
  150. package/dist/src/client/session-store.d.ts +48 -0
  151. package/dist/src/client/session-store.js +1 -0
  152. package/dist/src/client/session-utils.d.ts +45 -41
  153. package/dist/src/client/session-utils.js +2 -1
  154. package/dist/src/client/session.d.ts +32 -23
  155. package/dist/src/client/session.js +1 -1
  156. package/dist/src/client/sessions.d.ts +3 -2
  157. package/dist/src/client/sessions.js +1 -1
  158. package/dist/src/client/stream-version.d.ts +3 -1
  159. package/dist/src/client/stream-version.js +1 -1
  160. package/dist/src/client/transcript.d.ts +43 -0
  161. package/dist/src/client/transcript.js +2 -0
  162. package/dist/src/client/types.d.ts +23 -82
  163. package/dist/src/client/url.d.ts +3 -3
  164. package/dist/src/compiled/.vendor-stamp.json +2 -2
  165. package/dist/src/compiled/@ai-sdk/anthropic/index.d.ts +34 -34
  166. package/dist/src/compiled/@ai-sdk/google/index.d.ts +15 -15
  167. package/dist/src/compiled/@ai-sdk/openai/index.d.ts +38 -38
  168. package/dist/src/compiled/@chat-adapter/slack/fetch-QqNM_Ef3.d.ts +4 -0
  169. package/dist/src/compiled/@chat-adapter/slack/index.js +13 -13
  170. package/dist/src/compiled/@chat-adapter/twilio/types-BaIqtt65.d.ts +100 -0
  171. package/dist/src/compiled/@linqapp/chat-sdk-adapter/adapter.d.ts +129 -0
  172. package/dist/src/compiled/@linqapp/chat-sdk-adapter/message-parser.d.ts +14 -0
  173. package/dist/src/compiled/@linqapp/chat-sdk-adapter/text-decorations.d.ts +28 -0
  174. package/dist/src/compiled/@vercel/sandbox/api-client/api-client.d.ts +75 -0
  175. package/dist/src/compiled/@vercel/sandbox/api-client/validators.d.ts +4 -0
  176. package/dist/src/compiled/@vercel/sandbox/command.d.ts +78 -0
  177. package/dist/src/compiled/@vercel/sandbox/drive.d.ts +41 -1
  178. package/dist/src/compiled/@vercel/sandbox/index.js +13 -13
  179. package/dist/src/compiled/@vercel/sandbox/network-policy.d.ts +35 -4
  180. package/dist/src/compiled/@vercel/sandbox/sandbox.d.ts +18 -4
  181. package/dist/src/compiled/@vercel/sandbox/session.d.ts +29 -3
  182. package/dist/src/compiled/@vercel/sandbox/utils/pipe-stdin.d.ts +19 -0
  183. package/dist/src/compiled/@workflow/core/runtime/step-executor.d.ts +1 -1
  184. package/dist/src/compiled/@workflow/core/serialization/types.d.ts +1 -1
  185. package/dist/src/compiled/@workflow/core/serialization.d.ts +2 -2
  186. package/dist/src/compiled/@workflow/core/telemetry/semantic-conventions.d.ts +2 -2
  187. package/dist/src/compiled/_chunks/client/{core-CspsxXR-.js → core-BsvaaMUJ.js} +1 -1
  188. package/dist/src/compiled/_chunks/node/{auth-Dztlx9pE.js → auth-v5pS3mLo.js} +1 -1
  189. package/dist/src/compiled/_chunks/node/is-stream-DsuQX_bd.js +1 -0
  190. package/dist/src/compiled/_chunks/node/token-DHGH-jVc.js +1 -0
  191. package/dist/src/compiled/_chunks/node/token-util-BH2pw9Qm.js +25 -0
  192. package/dist/src/compiled/_chunks/node/token-util-CcvxNv76.js +1 -0
  193. package/dist/src/compiled/_chunks/node/version-C2PfNyEv.js +1 -0
  194. package/dist/src/compiled/semver/index.d.ts +2 -0
  195. package/dist/src/compiled/zod/index.js +1 -1
  196. package/dist/src/compiled/zod/v4/core.js +1 -1
  197. package/dist/src/compiled/zod-validation-error/index.js +1 -1
  198. package/dist/src/compiler/artifacts.d.ts +1 -0
  199. package/dist/src/compiler/artifacts.js +1 -1
  200. package/dist/src/compiler/development-extensions.js +1 -1
  201. package/dist/src/compiler/extension-compatibility.d.ts +19 -290
  202. package/dist/src/compiler/extension-compatibility.js +1 -1
  203. package/dist/src/compiler/manifest.d.ts +3 -11
  204. package/dist/src/compiler/manifest.js +1 -1
  205. package/dist/src/compiler/model-catalog.d.ts +8 -18
  206. package/dist/src/compiler/model-catalog.js +1 -1
  207. package/dist/src/compiler/normalize-agent-config.js +1 -1
  208. package/dist/src/compiler/normalize-connection.js +1 -1
  209. package/dist/src/compiler/normalize-hook.js +1 -1
  210. package/dist/src/compiler/normalize-instructions.js +1 -1
  211. package/dist/src/compiler/normalize-manifest-types.d.ts +3 -0
  212. package/dist/src/compiler/normalize-manifest.js +1 -1
  213. package/dist/src/compiler/normalize-memory.js +1 -1
  214. package/dist/src/compiler/normalize-schedule.js +1 -1
  215. package/dist/src/compiler/normalize-skill.js +1 -1
  216. package/dist/src/compiler/normalize-subagent.d.ts +0 -5
  217. package/dist/src/compiler/normalize-subagent.js +1 -1
  218. package/dist/src/compiler/normalize-tool.js +1 -1
  219. package/dist/src/compiler/remote-agent-node.d.ts +1 -6
  220. package/dist/src/compiler/source-graph.d.ts +0 -1
  221. package/dist/src/compiler/source-graph.js +1 -1
  222. package/dist/src/computer-use/extension/lib/computer-use-sandbox.js +1 -1
  223. package/dist/src/computer-use/extension/lib/sandbox.d.ts +1 -1
  224. package/dist/src/computer-use/extension/lib/sandbox.js +1 -1
  225. package/dist/src/computer-use/extension/tools/computer_use.js +1 -1
  226. package/dist/src/connections/errors.d.ts +3 -3
  227. package/dist/src/context/accessors.d.ts +0 -13
  228. package/dist/src/context/accessors.js +1 -1
  229. package/dist/src/context/container.d.ts +8 -11
  230. package/dist/src/context/container.js +1 -1
  231. package/dist/src/context/key-names.d.ts +1 -0
  232. package/dist/src/context/key-names.js +1 -1
  233. package/dist/src/context/keys.d.ts +20 -112
  234. package/dist/src/context/keys.js +1 -1
  235. package/dist/src/context/memory-tools.d.ts +4 -2
  236. package/dist/src/context/memory-tools.js +1 -1
  237. package/dist/src/context/providers/connection.js +1 -1
  238. package/dist/src/context/providers/session.js +1 -1
  239. package/dist/src/context/schedule-collection-tools.d.ts +2 -2
  240. package/dist/src/context/schedule-collection-tools.js +1 -1
  241. package/dist/src/context/session-context.d.ts +4 -2
  242. package/dist/src/discover/extensions.d.ts +2 -3
  243. package/dist/src/discover/extensions.js +1 -1
  244. package/dist/src/discover/manifest.js +1 -1
  245. package/dist/src/discover/skills.js +1 -1
  246. package/dist/src/dynamic/definition.d.ts +98 -108
  247. package/dist/src/dynamic/definition.js +1 -1
  248. package/dist/src/evals/assertions/collector.js +1 -1
  249. package/dist/src/evals/assertions/run.d.ts +12 -11
  250. package/dist/src/evals/assertions/run.js +2 -2
  251. package/dist/src/evals/assertions/scoped.js +1 -1
  252. package/dist/src/evals/cli/eval-client.js +1 -1
  253. package/dist/src/evals/cli/eval.js +2 -2
  254. package/dist/src/evals/context.js +1 -1
  255. package/dist/src/evals/expect/index.d.ts +0 -1
  256. package/dist/src/evals/index.d.ts +2 -5
  257. package/dist/src/evals/judge.js +1 -1
  258. package/dist/src/evals/match.d.ts +20 -17
  259. package/dist/src/evals/match.js +1 -1
  260. package/dist/src/evals/mock-model.d.ts +5 -1
  261. package/dist/src/evals/mock-model.js +1 -1
  262. package/dist/src/evals/output.d.ts +3 -0
  263. package/dist/src/evals/output.js +1 -0
  264. package/dist/src/evals/reported-tool-name.js +1 -1
  265. package/dist/src/evals/reporters/index.d.ts +4 -4
  266. package/dist/src/evals/reporters/index.js +1 -1
  267. package/dist/src/evals/runner/artifacts.js +1 -1
  268. package/dist/src/evals/runner/derive-run-facts.d.ts +8 -40
  269. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  270. package/dist/src/evals/runner/execute-eval.js +1 -1
  271. package/dist/src/evals/runner/execute-task.d.ts +3 -1
  272. package/dist/src/evals/runner/execute-task.js +1 -1
  273. package/dist/src/evals/runner/reporters/braintrust.d.ts +1 -1
  274. package/dist/src/evals/runner/reporters/braintrust.js +2 -2
  275. package/dist/src/evals/runner/reporters/console.d.ts +1 -1
  276. package/dist/src/evals/runner/reporters/console.js +1 -1
  277. package/dist/src/evals/runner/reporters/datadog.d.ts +1 -1
  278. package/dist/src/evals/runner/reporters/datadog.js +2 -2
  279. package/dist/src/evals/runner/reporters/junit.d.ts +1 -1
  280. package/dist/src/evals/runner/reporters/junit.js +2 -2
  281. package/dist/src/evals/runner/reporters/types.d.ts +2 -2
  282. package/dist/src/evals/runner/run-evals.d.ts +1 -1
  283. package/dist/src/evals/session-cleanup.d.ts +1 -1
  284. package/dist/src/evals/session-cleanup.js +1 -1
  285. package/dist/src/evals/session-content.d.ts +2 -2
  286. package/dist/src/evals/session-content.js +2 -1
  287. package/dist/src/evals/session-manager.d.ts +3 -6
  288. package/dist/src/evals/session-manager.js +1 -1
  289. package/dist/src/evals/session.d.ts +33 -24
  290. package/dist/src/evals/session.js +2 -2
  291. package/dist/src/evals/target.js +1 -1
  292. package/dist/src/evals/types.d.ts +115 -94
  293. package/dist/src/eve-channel/create-request.d.ts +3 -5
  294. package/dist/src/eve-channel/descendant-stream.d.ts +9 -0
  295. package/dist/src/eve-channel/descendant-stream.js +1 -0
  296. package/dist/src/eve-channel/index.d.ts +2 -2
  297. package/dist/src/eve-channel/index.js +1 -1
  298. package/dist/src/eve-channel/request.d.ts +8 -6
  299. package/dist/src/eve-channel/request.js +1 -3
  300. package/dist/src/eve-channel/stream-headers.d.ts +1 -1
  301. package/dist/src/eve-channel/stream-headers.js +1 -1
  302. package/dist/src/eve-channel/support.d.ts +25 -13
  303. package/dist/src/eve-channel/support.js +2 -2
  304. package/dist/src/eve-channel/types.d.ts +7 -30
  305. package/dist/src/execution/agent-sessions/message.d.ts +4 -0
  306. package/dist/src/execution/agent-sessions/message.js +1 -0
  307. package/dist/src/execution/agent-sessions/metadata.js +1 -1
  308. package/dist/src/execution/agent-sessions/remote-credentials.d.ts +19 -0
  309. package/dist/src/execution/agent-sessions/remote-credentials.js +1 -0
  310. package/dist/src/execution/agent-sessions/remote.d.ts +35 -13
  311. package/dist/src/execution/agent-sessions/remote.js +1 -1
  312. package/dist/src/execution/agent-sessions/requests.d.ts +6 -6
  313. package/dist/src/execution/agent-sessions/requests.js +1 -1
  314. package/dist/src/execution/agent-sessions/session.js +1 -1
  315. package/dist/src/execution/agent-sessions/steps.d.ts +26 -4
  316. package/dist/src/execution/agent-sessions/steps.js +1 -1
  317. package/dist/src/execution/agent-sessions/target.d.ts +2 -1
  318. package/dist/src/execution/agent-sessions/target.js +1 -1
  319. package/dist/src/execution/agent-sessions/usage.d.ts +0 -8
  320. package/dist/src/execution/agent-sessions/usage.js +1 -1
  321. package/dist/src/execution/cancelled-model-call-batch.d.ts +4 -2
  322. package/dist/src/execution/cancelled-model-call-batch.js +1 -1
  323. package/dist/src/execution/cancelled-turn-message.d.ts +2 -2
  324. package/dist/src/execution/cancelled-turn-message.js +1 -1
  325. package/dist/src/execution/catalog/connection-entry.js +1 -1
  326. package/dist/src/execution/catalog/search.js +1 -1
  327. package/dist/src/execution/catalog/skills.js +1 -1
  328. package/dist/src/execution/catalog/step-catalog.js +1 -1
  329. package/dist/src/execution/child-binding.d.ts +19 -0
  330. package/dist/src/execution/child-binding.js +1 -0
  331. package/dist/src/execution/close-session-stream-step.d.ts +9 -0
  332. package/dist/src/execution/close-session-stream-step.js +1 -0
  333. package/dist/src/execution/coordination-dispatch-shared.d.ts +13 -3
  334. package/dist/src/execution/coordination-dispatch-shared.js +1 -1
  335. package/dist/src/execution/coordination-dispatch-step.d.ts +9 -13
  336. package/dist/src/execution/coordination-dispatch-step.js +1 -1
  337. package/dist/src/execution/deliver-payloads.js +1 -1
  338. package/dist/src/execution/durable-session-store.d.ts +2 -5
  339. package/dist/src/execution/dynamic-workflow/tool.js +1 -1
  340. package/dist/src/execution/dynamic-workflow/workflow.js +1 -1
  341. package/dist/src/execution/failure-summary.d.ts +11 -0
  342. package/dist/src/execution/failure-summary.js +1 -0
  343. package/dist/src/execution/forward-session-input.d.ts +2 -2
  344. package/dist/src/execution/forward-session-input.js +1 -1
  345. package/dist/src/execution/invoke-tool.js +1 -1
  346. package/dist/src/execution/legacy-session/snapshot.d.ts +4 -1
  347. package/dist/src/execution/legacy-session/snapshot.js +1 -1
  348. package/dist/src/execution/model-call-batching.d.ts +3 -3
  349. package/dist/src/execution/model-call-batching.js +1 -1
  350. package/dist/src/execution/ndjson-stream.d.ts +1 -1
  351. package/dist/src/execution/node-step.d.ts +2 -8
  352. package/dist/src/execution/node-step.js +1 -1
  353. package/dist/src/execution/proxied-deliver-step.d.ts +8 -3
  354. package/dist/src/execution/proxied-deliver-step.js +1 -1
  355. package/dist/src/execution/public-destination.d.ts +34 -0
  356. package/dist/src/execution/public-destination.js +1 -0
  357. package/dist/src/execution/publish-session-events.d.ts +98 -36
  358. package/dist/src/execution/publish-session-events.js +1 -1
  359. package/dist/src/execution/runtime-context.js +1 -1
  360. package/dist/src/execution/sandbox/abort-bound-session.js +1 -1
  361. package/dist/src/execution/sandbox/bash.js +1 -1
  362. package/dist/src/execution/sandbox/bindings/docker-cli.d.ts +2 -0
  363. package/dist/src/execution/sandbox/bindings/docker-cli.js +1 -1
  364. package/dist/src/execution/sandbox/bindings/docker-connection.js +1 -1
  365. package/dist/src/execution/sandbox/bindings/docker.js +1 -1
  366. package/dist/src/execution/sandbox/bindings/eve-image.d.ts +0 -2
  367. package/dist/src/execution/sandbox/bindings/eve-image.js +1 -1
  368. package/dist/src/execution/sandbox/bindings/just-bash-runtime.js +1 -1
  369. package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
  370. package/dist/src/execution/sandbox/ensure.js +1 -1
  371. package/dist/src/{extensions/code/extension/lib → execution/sandbox}/grep-search.d.ts +3 -2
  372. package/dist/src/execution/sandbox/grep-search.js +6 -0
  373. package/dist/src/execution/sandbox/multiplexed-command.d.ts +11 -1
  374. package/dist/src/execution/sandbox/multiplexed-command.js +1 -1
  375. package/dist/src/execution/sandbox/read-file.d.ts +1 -1
  376. package/dist/src/execution/sandbox/session.js +1 -1
  377. package/dist/src/execution/sandbox/workspace-root.d.ts +31 -0
  378. package/dist/src/execution/sandbox/workspace-root.js +1 -0
  379. package/dist/src/execution/session/active-turn.d.ts +12 -6
  380. package/dist/src/execution/session/active-turn.js +1 -1
  381. package/dist/src/execution/session/admission.d.ts +7 -2
  382. package/dist/src/execution/session/admission.js +1 -1
  383. package/dist/src/execution/session/answer-caller.d.ts +4 -4
  384. package/dist/src/execution/session/answer-caller.js +1 -1
  385. package/dist/src/execution/session/checkpoint-migrations.d.ts +4 -6
  386. package/dist/src/execution/session/checkpoint-migrations.js +1 -1
  387. package/dist/src/execution/session/control-delivery.d.ts +4 -0
  388. package/dist/src/execution/session/control-delivery.js +1 -0
  389. package/dist/src/execution/session/delivery-facts.d.ts +27 -0
  390. package/dist/src/execution/session/delivery-facts.js +1 -0
  391. package/dist/src/execution/session/end-sandbox-step.js +1 -1
  392. package/dist/src/execution/session/entry.js +1 -1
  393. package/dist/src/execution/session/finalization.d.ts +4 -0
  394. package/dist/src/execution/session/finalization.js +1 -1
  395. package/dist/src/execution/session/handoff-state.js +1 -1
  396. package/dist/src/execution/session/handoff-steps.d.ts +0 -8
  397. package/dist/src/execution/session/handoff-steps.js +1 -1
  398. package/dist/src/execution/session/handoff.d.ts +4 -3
  399. package/dist/src/execution/session/handoff.js +1 -1
  400. package/dist/src/execution/session/input-queue.d.ts +8 -2
  401. package/dist/src/execution/session/input-queue.js +1 -1
  402. package/dist/src/execution/session/interrupted-step.d.ts +64 -0
  403. package/dist/src/execution/session/interrupted-step.js +3 -0
  404. package/dist/src/execution/session/next-input.d.ts +7 -1
  405. package/dist/src/execution/session/next-input.js +1 -1
  406. package/dist/src/execution/session/pending-turn-state.d.ts +32 -12
  407. package/dist/src/execution/session/pending-turn-state.js +1 -1
  408. package/dist/src/execution/session/prewarm-step.d.ts +1 -1
  409. package/dist/src/execution/session/prewarm-step.js +1 -1
  410. package/dist/src/execution/session/program.js +1 -1
  411. package/dist/src/execution/session/settle-control-delivery-step.d.ts +8 -0
  412. package/dist/src/execution/session/settle-control-delivery-step.js +1 -0
  413. package/dist/src/execution/session/settle-duplicate-delivery-step.d.ts +8 -0
  414. package/dist/src/execution/session/settle-duplicate-delivery-step.js +1 -0
  415. package/dist/src/execution/session/state-delta.d.ts +2 -12
  416. package/dist/src/execution/session/state-delta.js +1 -1
  417. package/dist/src/execution/session/step-decision-check.d.ts +9 -0
  418. package/dist/src/execution/session/step-decision-check.js +1 -0
  419. package/dist/src/execution/session/step-state-delta.d.ts +16 -0
  420. package/dist/src/execution/session/step-state-delta.js +1 -0
  421. package/dist/src/execution/session/task-tool-tracing-step.d.ts +0 -3
  422. package/dist/src/execution/session/task-tool-tracing-step.js +1 -1
  423. package/dist/src/execution/session/turn-event-handler.d.ts +6 -16
  424. package/dist/src/execution/session/turn-event-handler.js +1 -1
  425. package/dist/src/execution/session/turn-step-result.d.ts +7 -2
  426. package/dist/src/execution/session/turn-step-result.js +1 -1
  427. package/dist/src/execution/session/turn-step-types.d.ts +35 -33
  428. package/dist/src/execution/session/turn-step.js +1 -1
  429. package/dist/src/execution/session/turn.d.ts +19 -32
  430. package/dist/src/execution/session/turn.js +1 -1
  431. package/dist/src/execution/session-callback-request.d.ts +7 -1
  432. package/dist/src/execution/session-callback-request.js +1 -1
  433. package/dist/src/execution/session-event-stream.d.ts +37 -16
  434. package/dist/src/execution/session-event-stream.js +1 -1
  435. package/dist/src/execution/session-inbox/address.d.ts +1 -0
  436. package/dist/src/execution/session-inbox/end-stranded-session.d.ts +7 -1
  437. package/dist/src/execution/session-inbox/end-stranded-session.js +1 -1
  438. package/dist/src/execution/session-inbox/handle.d.ts +7 -0
  439. package/dist/src/execution/session-inbox/handle.js +1 -0
  440. package/dist/src/execution/session-inbox/inbox.js +1 -1
  441. package/dist/src/execution/session-inbox/owner.d.ts +9 -6
  442. package/dist/src/execution/session-inbox/owner.js +1 -1
  443. package/dist/src/execution/session-inbox/pre-v27.d.ts +5 -0
  444. package/dist/src/execution/session-inbox/pre-v27.js +1 -0
  445. package/dist/src/execution/session-inbox/protocol.js +1 -1
  446. package/dist/src/execution/session-inbox/resume.d.ts +1 -0
  447. package/dist/src/execution/session-inbox/resume.js +1 -1
  448. package/dist/src/execution/session-inbox/stranded-replay-guard.js +1 -1
  449. package/dist/src/execution/session-workflow-tool-run.js +1 -1
  450. package/dist/src/execution/session.d.ts +3 -14
  451. package/dist/src/execution/session.js +2 -2
  452. package/dist/src/execution/settle-cancelled-turn-step.d.ts +3 -0
  453. package/dist/src/execution/settle-cancelled-turn-step.js +1 -1
  454. package/dist/src/execution/stop-runs.d.ts +35 -0
  455. package/dist/src/execution/stop-runs.js +1 -0
  456. package/dist/src/execution/tasks/model-step.d.ts +5 -9
  457. package/dist/src/execution/tasks/model-step.js +1 -1
  458. package/dist/src/execution/tasks/render.d.ts +5 -2
  459. package/dist/src/execution/tasks/render.js +1 -1
  460. package/dist/src/execution/tasks/session.d.ts +6 -3
  461. package/dist/src/execution/tasks/session.js +1 -1
  462. package/dist/src/execution/tasks/start.d.ts +9 -6
  463. package/dist/src/execution/tasks/start.js +1 -1
  464. package/dist/src/execution/tasks/steps.d.ts +11 -6
  465. package/dist/src/execution/tasks/steps.js +1 -1
  466. package/dist/src/execution/tasks/table.d.ts +18 -5
  467. package/dist/src/execution/tasks/table.js +1 -1
  468. package/dist/src/execution/tasks/task-id-input.js +1 -1
  469. package/dist/src/execution/terminal-session-completion-step.d.ts +11 -1
  470. package/dist/src/execution/terminal-session-completion-step.js +1 -1
  471. package/dist/src/execution/terminal-session-failure-step.d.ts +6 -1
  472. package/dist/src/execution/terminal-session-failure-step.js +1 -1
  473. package/dist/src/execution/terminate-child-sessions-step.d.ts +5 -1
  474. package/dist/src/execution/terminate-child-sessions-step.js +1 -1
  475. package/dist/src/execution/tools/agent-router-workflow.js +1 -1
  476. package/dist/src/execution/tools/workflow/answer.d.ts +4 -5
  477. package/dist/src/execution/tools/workflow/answer.js +1 -1
  478. package/dist/src/execution/tools/workflow/apply-run-messages-step.d.ts +1 -1
  479. package/dist/src/execution/tools/workflow/apply-run-messages-step.js +1 -1
  480. package/dist/src/execution/tools/workflow/ask.d.ts +3 -3
  481. package/dist/src/execution/tools/workflow/body.js +1 -1
  482. package/dist/src/execution/tools/workflow/harness-definition.js +1 -1
  483. package/dist/src/execution/tools/workflow/messages.d.ts +25 -33
  484. package/dist/src/execution/tools/workflow/messages.js +1 -1
  485. package/dist/src/execution/tools/workflow/owner-inbox.d.ts +9 -5
  486. package/dist/src/execution/tools/workflow/owner-inbox.js +1 -1
  487. package/dist/src/execution/tools/workflow/owner.d.ts +3 -3
  488. package/dist/src/execution/tools/workflow/owner.js +1 -1
  489. package/dist/src/execution/tools/workflow/serve.js +1 -1
  490. package/dist/src/execution/tools/workflow/step.js +1 -1
  491. package/dist/src/execution/tools/workflow/withdraw-step.d.ts +2 -2
  492. package/dist/src/execution/tools/workflow/withdraw-step.js +1 -1
  493. package/dist/src/execution/v26-history.d.ts +28 -0
  494. package/dist/src/execution/v26-history.fixtures.d.ts +4 -0
  495. package/dist/src/execution/v26-history.fixtures.js +2 -0
  496. package/dist/src/execution/v26-history.js +1 -0
  497. package/dist/src/execution/web-fetch/request.js +1 -1
  498. package/dist/src/execution/workflow-errors.d.ts +5 -0
  499. package/dist/src/execution/workflow-errors.js +1 -1
  500. package/dist/src/execution/workflow-runtime.js +1 -1
  501. package/dist/src/extensions/code/extension/extension.d.ts +1 -11
  502. package/dist/src/extensions/code/extension/extension.js +1 -1
  503. package/dist/src/extensions/code/extension/lib/prwatch-github.d.ts +5 -1
  504. package/dist/src/extensions/code/extension/lib/prwatch-github.js +1 -1
  505. package/dist/src/extensions/code/extension/lib/repository-root.js +1 -1
  506. package/dist/src/extensions/code/extension/lib/sandbox.d.ts +0 -4
  507. package/dist/src/extensions/code/extension/lib/sandbox.js +2 -2
  508. package/dist/src/extensions/code/extension/lib/tooling.d.ts +1 -1
  509. package/dist/src/extensions/code/extension/lib/tooling.js +1 -1
  510. package/dist/src/extensions/code/extension/lib/workspace-root.d.ts +1 -31
  511. package/dist/src/extensions/code/extension/lib/workspace-root.js +1 -1
  512. package/dist/src/extensions/code/extension/subagents/worker/agent.d.ts +1 -1
  513. package/dist/src/extensions/code/extension/subagents/worker/agent.js +1 -1
  514. package/dist/src/extensions/code/extension/tools/apply_patch.js +2 -2
  515. package/dist/src/extensions/code/extension/tools/grep.d.ts +1 -28
  516. package/dist/src/extensions/code/extension/tools/grep.js +1 -1
  517. package/dist/src/extensions/code/sandbox.d.ts +1 -0
  518. package/dist/src/extensions/code/sandbox.js +1 -0
  519. package/dist/src/extensions/code/tools.d.ts +1 -5
  520. package/dist/src/extensions/code/tools.js +1 -1
  521. package/dist/src/extensions/git/extension/extension.d.ts +3 -3
  522. package/dist/src/extensions/git/extension/instructions/github.d.ts +1 -1
  523. package/dist/src/extensions/git/extension/instructions/github.js +1 -1
  524. package/dist/src/extensions/git/extension/lib/gh-tool.d.ts +2 -11
  525. package/dist/src/extensions/git/extension/lib/gh-tool.js +1 -1
  526. package/dist/src/extensions/git/extension/lib/github-shell.d.ts +13 -3
  527. package/dist/src/extensions/git/extension/lib/sandbox.d.ts +0 -4
  528. package/dist/src/extensions/git/extension/lib/sandbox.js +1 -1
  529. package/dist/src/extensions/git/extension/skills/pr.d.ts +1 -4
  530. package/dist/src/extensions/git/extension/skills/pr.js +1 -1
  531. package/dist/src/extensions/git/extension/tools/gh.d.ts +1 -26
  532. package/dist/src/extensions/git/extension/tools/gh.js +1 -1
  533. package/dist/src/framework/sources/modules/schedule-collection-wrapper.js +1 -1
  534. package/dist/src/harness/action-presentation.d.ts +3 -5
  535. package/dist/src/harness/action-presentation.js +1 -1
  536. package/dist/src/harness/action-result-helpers.d.ts +2 -8
  537. package/dist/src/harness/action-result-helpers.js +1 -1
  538. package/dist/src/harness/approval-outcome.d.ts +32 -0
  539. package/dist/src/harness/approval-outcome.js +1 -0
  540. package/dist/src/harness/attachment-staging.js +1 -1
  541. package/dist/src/harness/authorization.d.ts +2 -3
  542. package/dist/src/harness/authorization.js +1 -1
  543. package/dist/src/harness/call-executor.d.ts +118 -0
  544. package/dist/src/harness/call-executor.js +1 -0
  545. package/dist/src/harness/call-facts.d.ts +31 -0
  546. package/dist/src/harness/call-facts.js +1 -0
  547. package/dist/src/harness/call-outcome.d.ts +6 -0
  548. package/dist/src/harness/call-outcome.js +1 -0
  549. package/dist/src/harness/compaction/engine.d.ts +11 -0
  550. package/dist/src/harness/compaction/engine.js +2 -2
  551. package/dist/src/harness/compaction/step.d.ts +25 -5
  552. package/dist/src/harness/compaction/step.js +1 -1
  553. package/dist/src/harness/coordination.js +1 -1
  554. package/dist/src/harness/current-messages.d.ts +10 -0
  555. package/dist/src/harness/current-messages.js +1 -1
  556. package/dist/src/harness/emission.d.ts +9 -20
  557. package/dist/src/harness/emission.js +1 -1
  558. package/dist/src/harness/execute-call.d.ts +6 -23
  559. package/dist/src/harness/execute-call.js +1 -1
  560. package/dist/src/harness/execute-tool.d.ts +7 -3
  561. package/dist/src/harness/facts.d.ts +82 -0
  562. package/dist/src/harness/facts.js +1 -0
  563. package/dist/src/harness/finish-reason.d.ts +6 -1
  564. package/dist/src/harness/generation-steering.d.ts +4 -2
  565. package/dist/src/harness/generation-steering.js +1 -1
  566. package/dist/src/harness/hitl/approval-prompt.d.ts +3 -3
  567. package/dist/src/harness/hitl/approval-prompt.js +3 -3
  568. package/dist/src/harness/hitl/approvals.d.ts +66 -78
  569. package/dist/src/harness/hitl/approvals.js +2 -1
  570. package/dist/src/harness/hitl/approved-calls.d.ts +14 -36
  571. package/dist/src/harness/hitl/approved-calls.js +1 -1
  572. package/dist/src/harness/hitl/budget-request.d.ts +8 -46
  573. package/dist/src/harness/hitl/budget-request.js +1 -1
  574. package/dist/src/harness/hitl/budget.d.ts +9 -8
  575. package/dist/src/harness/hitl/budget.js +1 -1
  576. package/dist/src/harness/hitl/delivery.d.ts +16 -17
  577. package/dist/src/harness/hitl/delivery.js +1 -1
  578. package/dist/src/harness/hitl/index.d.ts +14 -19
  579. package/dist/src/harness/hitl/index.js +1 -1
  580. package/dist/src/harness/hitl/intake.d.ts +32 -43
  581. package/dist/src/harness/hitl/intake.js +1 -1
  582. package/dist/src/harness/hitl/relays.d.ts +7 -51
  583. package/dist/src/harness/hitl/relays.js +1 -1
  584. package/dist/src/harness/hitl/requests.d.ts +11 -53
  585. package/dist/src/harness/hitl/requests.js +1 -1
  586. package/dist/src/harness/hitl/responders.d.ts +50 -0
  587. package/dist/src/harness/hitl/responders.js +1 -0
  588. package/dist/src/harness/hitl/sign-ins.d.ts +7 -3
  589. package/dist/src/harness/hitl/sign-ins.js +1 -1
  590. package/dist/src/harness/hitl/stale-responses.d.ts +11 -11
  591. package/dist/src/harness/hitl/stale-responses.js +3 -3
  592. package/dist/src/harness/inline-tool-authorization.d.ts +8 -9
  593. package/dist/src/harness/inline-tool-authorization.js +1 -1
  594. package/dist/src/harness/interaction-facts.d.ts +36 -0
  595. package/dist/src/harness/interaction-facts.js +1 -0
  596. package/dist/src/harness/interaction-relay.d.ts +10 -0
  597. package/dist/src/harness/interaction-relay.js +1 -0
  598. package/dist/src/harness/interrupted-attempt.d.ts +19 -0
  599. package/dist/src/harness/interrupted-attempt.js +2 -0
  600. package/dist/src/harness/messages.d.ts +28 -15
  601. package/dist/src/harness/messages.js +1 -1
  602. package/dist/src/harness/model-call/call.d.ts +28 -12
  603. package/dist/src/harness/model-call/call.js +1 -1
  604. package/dist/src/harness/model-call/errors.js +1 -1
  605. package/dist/src/harness/model-call/failure.d.ts +4 -49
  606. package/dist/src/harness/model-call/failure.js +1 -1
  607. package/dist/src/harness/model-call/model.js +1 -1
  608. package/dist/src/harness/model-call/recovery.d.ts +4 -32
  609. package/dist/src/harness/model-call/recovery.js +1 -1
  610. package/dist/src/harness/model-call/request.d.ts +0 -1
  611. package/dist/src/harness/model-call/request.js +1 -1
  612. package/dist/src/harness/model-call/response.d.ts +22 -12
  613. package/dist/src/harness/model-call/response.js +1 -1
  614. package/dist/src/harness/model-call/retry.d.ts +23 -6
  615. package/dist/src/harness/model-call/retry.js +1 -1
  616. package/dist/src/harness/model-call/run.d.ts +4 -12
  617. package/dist/src/harness/model-call/run.js +1 -1
  618. package/dist/src/harness/model-call/tools.d.ts +0 -19
  619. package/dist/src/harness/model-call/tools.js +1 -1
  620. package/dist/src/harness/model-call/unique-call-ids.d.ts +13 -0
  621. package/dist/src/harness/model-call/unique-call-ids.js +1 -0
  622. package/dist/src/harness/model-call/usage.d.ts +7 -5
  623. package/dist/src/harness/model-call/usage.js +1 -1
  624. package/dist/src/harness/ordered-stream-emitter.d.ts +1 -0
  625. package/dist/src/harness/ordered-stream-emitter.js +1 -1
  626. package/dist/src/harness/provider-tool-history.js +1 -1
  627. package/dist/src/harness/publication.d.ts +4 -0
  628. package/dist/src/harness/publication.js +1 -0
  629. package/dist/src/harness/request-envelope.d.ts +0 -3
  630. package/dist/src/harness/request-envelope.js +1 -1
  631. package/dist/src/harness/running-work.d.ts +10 -0
  632. package/dist/src/harness/running-work.js +1 -0
  633. package/dist/src/harness/semantic-errors/rules/gateway.js +1 -1
  634. package/dist/src/harness/session-machine/cascade.d.ts +17 -0
  635. package/dist/src/harness/session-machine/cascade.js +1 -0
  636. package/dist/src/harness/session-machine/commit.d.ts +16 -16
  637. package/dist/src/harness/session-machine/commit.js +1 -1
  638. package/dist/src/harness/session-machine/current.d.ts +25 -17
  639. package/dist/src/harness/session-machine/current.js +1 -1
  640. package/dist/src/harness/session-machine/state.d.ts +43 -16
  641. package/dist/src/harness/session-machine/state.js +1 -1
  642. package/dist/src/harness/session-machine/suspended-steps.d.ts +22 -0
  643. package/dist/src/harness/session-machine/suspended-steps.js +1 -0
  644. package/dist/src/harness/session-machine/transitions.d.ts +144 -120
  645. package/dist/src/harness/session-machine/transitions.js +1 -1
  646. package/dist/src/harness/session-machine/view.d.ts +12 -8
  647. package/dist/src/harness/session-machine/view.js +1 -1
  648. package/dist/src/harness/session-machine/waiting.d.ts +16 -0
  649. package/dist/src/harness/session-machine/waiting.js +1 -0
  650. package/dist/src/harness/session-usage.d.ts +22 -0
  651. package/dist/src/harness/session-usage.js +1 -0
  652. package/dist/src/harness/step/after-model.d.ts +1 -4
  653. package/dist/src/harness/step/after-model.js +1 -1
  654. package/dist/src/harness/step/context.d.ts +21 -21
  655. package/dist/src/harness/step/context.js +1 -1
  656. package/dist/src/harness/step/intake.d.ts +7 -8
  657. package/dist/src/harness/step/intake.js +1 -1
  658. package/dist/src/harness/step/park.d.ts +19 -0
  659. package/dist/src/harness/step/park.js +1 -0
  660. package/dist/src/harness/step/prompt.d.ts +4 -5
  661. package/dist/src/harness/step/prompt.js +1 -1
  662. package/dist/src/harness/step-hooks.d.ts +24 -24
  663. package/dist/src/harness/step-hooks.js +1 -1
  664. package/dist/src/harness/stream-actions.d.ts +3 -9
  665. package/dist/src/harness/stream-actions.js +1 -1
  666. package/dist/src/harness/token-estimate.js +1 -1
  667. package/dist/src/harness/tool-history-repair.js +1 -1
  668. package/dist/src/harness/tool-loop.js +1 -1
  669. package/dist/src/harness/tools.d.ts +22 -38
  670. package/dist/src/harness/tools.js +1 -1
  671. package/dist/src/harness/types.d.ts +69 -67
  672. package/dist/src/harness/user-parts.d.ts +4 -0
  673. package/dist/src/harness/user-parts.js +1 -0
  674. package/dist/src/harness/workflow-tool-runs.d.ts +0 -1
  675. package/dist/src/harness/workflow-tool-runs.js +1 -1
  676. package/dist/src/instrumentation/ai-sdk-hook-bridge.d.ts +2 -2
  677. package/dist/src/instrumentation/ai-sdk-hook-bridge.js +1 -1
  678. package/dist/src/instrumentation/channel-delivery.d.ts +4 -23
  679. package/dist/src/instrumentation/channel-delivery.js +1 -1
  680. package/dist/src/instrumentation/content.d.ts +1 -7
  681. package/dist/src/instrumentation/content.js +1 -1
  682. package/dist/src/instrumentation/dispatch.js +1 -1
  683. package/dist/src/instrumentation/lifecycle.d.ts +135 -198
  684. package/dist/src/instrumentation/lifecycle.js +1 -1
  685. package/dist/src/instrumentation/memory.d.ts +4 -2
  686. package/dist/src/instrumentation/memory.js +1 -1
  687. package/dist/src/instrumentation/native-events.d.ts +17 -10
  688. package/dist/src/instrumentation/native-events.js +1 -1
  689. package/dist/src/instrumentation/prepare-trace-context.d.ts +3 -3
  690. package/dist/src/instrumentation/provider.d.ts +20 -28
  691. package/dist/src/instrumentation/providers.js +1 -1
  692. package/dist/src/instrumentation/runtime-context.d.ts +1 -0
  693. package/dist/src/instrumentation/runtime-context.js +1 -1
  694. package/dist/src/instrumentation/runtime.d.ts +9 -30
  695. package/dist/src/instrumentation/runtime.js +1 -1
  696. package/dist/src/instrumentation/scope.d.ts +6 -0
  697. package/dist/src/instrumentation/scope.js +1 -0
  698. package/dist/src/instrumentation/session-context.d.ts +1 -1
  699. package/dist/src/instrumentation/session-context.js +1 -1
  700. package/dist/src/instrumentation/session-init.js +1 -1
  701. package/dist/src/instrumentation/setup-context.d.ts +2 -2
  702. package/dist/src/instrumentation/setup-context.js +1 -1
  703. package/dist/src/instrumentation/state.d.ts +0 -21
  704. package/dist/src/instrumentation/state.js +1 -1
  705. package/dist/src/internal/application/compiled-artifacts.d.ts +2 -0
  706. package/dist/src/internal/application/compiled-artifacts.js +2 -2
  707. package/dist/src/internal/application/dev-environment.d.ts +8 -2
  708. package/dist/src/internal/application/dev-environment.js +1 -1
  709. package/dist/src/internal/application/optional-package-install.js +1 -1
  710. package/dist/src/internal/application/stamped-package-version.js +1 -1
  711. package/dist/src/internal/authored-definition/approval.d.ts +2 -4
  712. package/dist/src/internal/authored-definition/approval.js +1 -1
  713. package/dist/src/internal/authored-definition/connection.js +1 -1
  714. package/dist/src/internal/authored-definition/core.d.ts +1 -1
  715. package/dist/src/internal/authored-definition/core.js +1 -1
  716. package/dist/src/internal/authored-definition/memory.js +1 -1
  717. package/dist/src/internal/authored-definition/schema-backed.d.ts +0 -3
  718. package/dist/src/internal/authored-definition/schema-backed.js +1 -1
  719. package/dist/src/internal/authored-module-loader.d.ts +0 -1
  720. package/dist/src/internal/authored-module-loader.js +1 -1
  721. package/dist/src/internal/authored-package-boundary.js +1 -1
  722. package/dist/src/internal/git.d.ts +2 -0
  723. package/dist/src/internal/git.js +1 -0
  724. package/dist/src/internal/grep.d.ts +1 -0
  725. package/dist/src/internal/grep.js +1 -0
  726. package/dist/src/internal/helpers/markdown.js +1 -1
  727. package/dist/src/internal/invocation/agent-invocation.d.ts +16 -19
  728. package/dist/src/internal/invocation/metadata.d.ts +0 -2
  729. package/dist/src/internal/invocation/metadata.js +1 -1
  730. package/dist/src/internal/invocation/workflow-execution.d.ts +4 -4
  731. package/dist/src/internal/invocation/workflow-execution.js +1 -1
  732. package/dist/src/internal/legacy-events.d.ts +5 -0
  733. package/dist/src/internal/legacy-events.js +1 -0
  734. package/dist/src/internal/logging.d.ts +0 -12
  735. package/dist/src/internal/logging.js +1 -1
  736. package/dist/src/internal/mcp/protected-resource.js +1 -1
  737. package/dist/src/internal/mcp/published-tools.js +1 -1
  738. package/dist/src/internal/model-auth/api-key.js +1 -1
  739. package/dist/src/internal/model-auth/development-broker-client.js +1 -1
  740. package/dist/src/internal/model-auth/development-broker-server.js +1 -1
  741. package/dist/src/internal/model-auth/transport.js +1 -1
  742. package/dist/src/internal/model-catalog.d.ts +39 -16
  743. package/dist/src/internal/model-catalog.js +1 -1
  744. package/dist/src/internal/nitro/dev-runtime-artifacts.js +1 -1
  745. package/dist/src/internal/nitro/dev-runtime-generation-metadata.js +1 -1
  746. package/dist/src/internal/nitro/host/build-extension.js +2 -2
  747. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  748. package/dist/src/internal/nitro/host/dev-build-host.js +1 -1
  749. package/dist/src/internal/nitro/host/dev-host-fingerprint.js +1 -1
  750. package/dist/src/internal/nitro/host/dev-server-state.js +1 -1
  751. package/dist/src/internal/nitro/host/drained-nitro-dev-server.js +1 -1
  752. package/dist/src/internal/nitro/host/start-development-server.js +1 -1
  753. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +1 -1
  754. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -1
  755. package/dist/src/internal/nitro/routes/channel-route-context.d.ts +8 -1
  756. package/dist/src/internal/nitro/routes/info.js +1 -1
  757. package/dist/src/internal/nitro/routes/schedule-task.js +1 -1
  758. package/dist/src/internal/scaffold.d.ts +5 -0
  759. package/dist/src/internal/scaffold.js +1 -0
  760. package/dist/src/internal/workflow/cancel-expired-development-run.js +1 -1
  761. package/dist/src/internal/workflow/development-world-client.js +1 -1
  762. package/dist/src/internal/workflow/development-world-server.js +1 -1
  763. package/dist/src/internal/workflow/local-world-data-directory.js +1 -1
  764. package/dist/src/internal/workspace.d.ts +1 -0
  765. package/dist/src/internal/workspace.js +1 -0
  766. package/dist/src/models/auto.d.ts +27 -14
  767. package/dist/src/models/auto.js +2 -2
  768. package/dist/src/protocol/delivery.d.ts +12 -0
  769. package/dist/src/protocol/delivery.js +1 -0
  770. package/dist/src/protocol/descendant-observation.d.ts +12 -0
  771. package/dist/src/protocol/descendant-observation.js +1 -0
  772. package/dist/src/protocol/interaction-json.d.ts +66 -0
  773. package/dist/src/protocol/interaction-json.js +1 -0
  774. package/dist/src/protocol/interaction-options.d.ts +4 -0
  775. package/dist/src/protocol/interaction-options.js +1 -0
  776. package/dist/src/protocol/remote-agent-protocol.d.ts +28 -1
  777. package/dist/src/protocol/remote-agent-protocol.js +1 -1
  778. package/dist/src/protocol/routes.d.ts +3 -2
  779. package/dist/src/protocol/routes.js +1 -1
  780. package/dist/src/protocol/session-event.d.ts +22 -0
  781. package/dist/src/protocol/session-event.js +1 -0
  782. package/dist/src/protocol/session-events/authoring.d.ts +2 -0
  783. package/dist/src/protocol/session-events/authoring.js +1 -0
  784. package/dist/src/protocol/session-events/catalog.d.ts +50 -0
  785. package/dist/src/protocol/session-events/catalog.js +1 -0
  786. package/dist/src/protocol/session-events/checker.d.ts +23 -0
  787. package/dist/src/protocol/session-events/checker.js +1 -0
  788. package/dist/src/protocol/session-events/common.d.ts +105 -0
  789. package/dist/src/protocol/session-events/common.js +1 -0
  790. package/dist/src/protocol/session-events/envelope.d.ts +174 -0
  791. package/dist/src/protocol/session-events/envelope.js +1 -0
  792. package/dist/src/protocol/session-events/facts.d.ts +24 -0
  793. package/dist/src/protocol/session-events/facts.js +1 -0
  794. package/dist/src/protocol/session-events/families/call.d.ts +142 -0
  795. package/dist/src/protocol/session-events/families/call.js +1 -0
  796. package/dist/src/protocol/session-events/families/child.d.ts +51 -0
  797. package/dist/src/protocol/session-events/families/child.js +1 -0
  798. package/dist/src/protocol/session-events/families/content.d.ts +56 -0
  799. package/dist/src/protocol/session-events/families/content.js +1 -0
  800. package/dist/src/protocol/session-events/families/context.d.ts +55 -0
  801. package/dist/src/protocol/session-events/families/context.js +1 -0
  802. package/dist/src/protocol/session-events/families/delivery.d.ts +86 -0
  803. package/dist/src/protocol/session-events/families/delivery.js +1 -0
  804. package/dist/src/protocol/session-events/families/interaction.d.ts +163 -0
  805. package/dist/src/protocol/session-events/families/interaction.js +1 -0
  806. package/dist/src/protocol/session-events/families/model.d.ts +88 -0
  807. package/dist/src/protocol/session-events/families/model.js +1 -0
  808. package/dist/src/protocol/session-events/families/response.d.ts +66 -0
  809. package/dist/src/protocol/session-events/families/response.js +1 -0
  810. package/dist/src/protocol/session-events/families/session.d.ts +73 -0
  811. package/dist/src/protocol/session-events/families/session.js +1 -0
  812. package/dist/src/protocol/session-events/families/task.d.ts +46 -0
  813. package/dist/src/protocol/session-events/families/task.js +1 -0
  814. package/dist/src/protocol/session-events/families/turn.d.ts +68 -0
  815. package/dist/src/protocol/session-events/families/turn.js +1 -0
  816. package/dist/src/protocol/session-events/families/usage.d.ts +30 -0
  817. package/dist/src/protocol/session-events/families/usage.js +1 -0
  818. package/dist/src/protocol/session-events/guards.d.ts +11 -0
  819. package/dist/src/protocol/session-events/guards.js +1 -0
  820. package/dist/src/protocol/session-events/index.d.ts +16 -0
  821. package/dist/src/protocol/session-events/index.js +1 -0
  822. package/dist/src/protocol/session-events/json.d.ts +20 -0
  823. package/dist/src/protocol/session-events/json.js +1 -0
  824. package/dist/src/protocol/session-events/schemas.d.ts +320 -0
  825. package/dist/src/protocol/session-events/schemas.js +1 -0
  826. package/dist/src/protocol/session-http.d.ts +7 -0
  827. package/dist/src/protocol/session-http.js +1 -0
  828. package/dist/src/protocol/session-lines.d.ts +19 -0
  829. package/dist/src/protocol/session-lines.js +1 -0
  830. package/dist/src/protocol/session-projection/fold.d.ts +75 -0
  831. package/dist/src/protocol/session-projection/fold.js +1 -0
  832. package/dist/src/protocol/session-projection/index.d.ts +4 -0
  833. package/dist/src/protocol/session-projection/index.js +1 -0
  834. package/dist/src/protocol/session-projection/observations.d.ts +150 -0
  835. package/dist/src/protocol/session-projection/observations.js +1 -0
  836. package/dist/src/protocol/session-projection/public-view.d.ts +74 -0
  837. package/dist/src/protocol/session-projection/public-view.js +1 -0
  838. package/dist/src/protocol/session-projection/reader.d.ts +62 -0
  839. package/dist/src/protocol/session-projection/reader.js +1 -0
  840. package/dist/src/protocol/session-projection/request-status.d.ts +7 -0
  841. package/dist/src/protocol/session-projection/request-status.js +1 -0
  842. package/dist/src/protocol/session-projection/selectors.d.ts +169 -0
  843. package/dist/src/protocol/session-projection/selectors.js +2 -0
  844. package/dist/src/protocol/session-projection/session-view.d.ts +18 -0
  845. package/dist/src/protocol/session-projection/session-view.js +1 -0
  846. package/dist/src/protocol/session-projection/tables.d.ts +237 -0
  847. package/dist/src/protocol/session-projection/tables.js +1 -0
  848. package/dist/src/protocol/session-projection/tree.d.ts +72 -0
  849. package/dist/src/protocol/session-projection/tree.js +1 -0
  850. package/dist/src/protocol/session-projection.d.ts +38 -157
  851. package/dist/src/protocol/session-projection.js +1 -1
  852. package/dist/src/protocol/task-tools.d.ts +8 -6
  853. package/dist/src/protocol/task-tools.js +1 -1
  854. package/dist/src/protocol/v26-interactions.d.ts +11 -0
  855. package/dist/src/protocol/v26-interactions.js +1 -0
  856. package/dist/src/protocol/v26-lines.d.ts +5 -0
  857. package/dist/src/protocol/v26-lines.js +1 -0
  858. package/dist/src/public/agents/auth.d.ts +2 -2
  859. package/dist/src/public/agents/auth.js +1 -1
  860. package/dist/src/public/ai/index.d.ts +1 -0
  861. package/dist/src/public/channels/auth.d.ts +2 -532
  862. package/dist/src/public/channels/auth.js +1 -1
  863. package/dist/src/public/channels/chat-sdk/authorization.d.ts +5 -2
  864. package/dist/src/public/channels/chat-sdk/authorization.js +1 -3
  865. package/dist/src/public/channels/chat-sdk/chatSdkChannel.d.ts +10 -10
  866. package/dist/src/public/channels/chat-sdk/chatSdkChannel.js +1 -3
  867. package/dist/src/public/channels/chat-sdk/index.d.ts +1 -1
  868. package/dist/src/public/channels/chat-sdk/index.js +1 -1
  869. package/dist/src/public/channels/chat-sdk/input-actions.d.ts +4 -4
  870. package/dist/src/public/channels/chat-sdk/input-actions.js +3 -3
  871. package/dist/src/public/channels/chat-sdk/{messageToUserContent.d.ts → message-content.d.ts} +3 -3
  872. package/dist/src/public/channels/chat-sdk/message-content.js +1 -0
  873. package/dist/src/public/channels/discord/api.d.ts +8 -11
  874. package/dist/src/public/channels/discord/api.js +1 -1
  875. package/dist/src/public/channels/discord/attachments.d.ts +2 -2
  876. package/dist/src/public/channels/discord/authorization.d.ts +3 -13
  877. package/dist/src/public/channels/discord/authorization.js +2 -2
  878. package/dist/src/public/channels/discord/credentials.d.ts +11 -0
  879. package/dist/src/public/channels/discord/credentials.js +1 -0
  880. package/dist/src/public/channels/discord/defaults.d.ts +7 -1
  881. package/dist/src/public/channels/discord/defaults.js +1 -3
  882. package/dist/src/public/channels/discord/discordChannel.d.ts +36 -48
  883. package/dist/src/public/channels/discord/discordChannel.js +1 -1
  884. package/dist/src/public/channels/discord/hitl.d.ts +5 -4
  885. package/dist/src/public/channels/discord/hitl.js +1 -1
  886. package/dist/src/public/channels/discord/index.d.ts +4 -12
  887. package/dist/src/public/channels/discord/index.js +1 -1
  888. package/dist/src/public/channels/discord/messages.js +1 -1
  889. package/dist/src/public/channels/github/defaults.js +2 -4
  890. package/dist/src/public/channels/github/githubChannel.d.ts +23 -36
  891. package/dist/src/public/channels/github/githubChannel.js +1 -1
  892. package/dist/src/public/channels/github/index.d.ts +3 -2
  893. package/dist/src/public/channels/github/index.js +1 -1
  894. package/dist/src/public/channels/github/state.d.ts +2 -0
  895. package/dist/src/public/channels/imessage-tapbacks.d.ts +1 -1
  896. package/dist/src/public/channels/index.d.ts +16 -37
  897. package/dist/src/public/channels/index.js +1 -1
  898. package/dist/src/public/channels/linear/defaults.js +2 -4
  899. package/dist/src/public/channels/linear/hitl.d.ts +3 -3
  900. package/dist/src/public/channels/linear/hitl.js +2 -2
  901. package/dist/src/public/channels/linear/inbound-uploads.d.ts +3 -3
  902. package/dist/src/public/channels/linear/inbound-uploads.js +1 -1
  903. package/dist/src/public/channels/linear/inbound.d.ts +5 -3
  904. package/dist/src/public/channels/linear/inbound.js +1 -1
  905. package/dist/src/public/channels/linear/index.d.ts +4 -6
  906. package/dist/src/public/channels/linear/index.js +1 -1
  907. package/dist/src/public/channels/linear/linearChannel.d.ts +19 -30
  908. package/dist/src/public/channels/linear/linearChannel.js +1 -1
  909. package/dist/src/public/channels/linq/inboundContent.d.ts +2 -2
  910. package/dist/src/public/channels/linq/inboundContent.js +1 -1
  911. package/dist/src/public/channels/linq/index.d.ts +1 -1
  912. package/dist/src/public/channels/linq/linqChannel.d.ts +1 -2
  913. package/dist/src/public/channels/mcp.d.ts +2 -2
  914. package/dist/src/public/channels/mcp.js +1 -1
  915. package/dist/src/public/channels/photon/inboundContent.d.ts +2 -2
  916. package/dist/src/public/channels/photon/inboundContent.js +1 -1
  917. package/dist/src/public/channels/photon/index.d.ts +1 -1
  918. package/dist/src/public/channels/photon/photonIMessageChannel.d.ts +1 -2
  919. package/dist/src/public/channels/reply.d.ts +22 -0
  920. package/dist/src/public/channels/reply.js +3 -0
  921. package/dist/src/public/channels/slack/action-status.js +1 -1
  922. package/dist/src/public/channels/slack/{input-response.d.ts → answers.d.ts} +5 -5
  923. package/dist/src/public/channels/slack/answers.js +1 -0
  924. package/dist/src/public/channels/slack/api.d.ts +5 -2
  925. package/dist/src/public/channels/slack/api.js +1 -1
  926. package/dist/src/public/channels/slack/approval-cards.d.ts +15 -5
  927. package/dist/src/public/channels/slack/approval-cards.js +2 -2
  928. package/dist/src/public/channels/slack/attachments.d.ts +6 -6
  929. package/dist/src/public/channels/slack/attachments.js +1 -1
  930. package/dist/src/public/channels/slack/blocks.d.ts +1 -1
  931. package/dist/src/public/channels/slack/blocks.js +1 -1
  932. package/dist/src/public/channels/slack/cards.d.ts +576 -0
  933. package/dist/src/public/channels/slack/cards.js +1 -0
  934. package/dist/src/public/channels/slack/connections.d.ts +4 -22
  935. package/dist/src/public/channels/slack/connections.js +1 -1
  936. package/dist/src/public/channels/slack/defaults.d.ts +13 -2
  937. package/dist/src/public/channels/slack/defaults.js +5 -5
  938. package/dist/src/public/channels/slack/hitl.d.ts +20 -19
  939. package/dist/src/public/channels/slack/hitl.js +3 -3
  940. package/dist/src/public/channels/slack/index.d.ts +7 -16
  941. package/dist/src/public/channels/slack/index.js +1 -1
  942. package/dist/src/public/channels/slack/interaction-cards.js +1 -1
  943. package/dist/src/public/channels/slack/interactions.d.ts +2 -2
  944. package/dist/src/public/channels/slack/interactions.js +1 -1
  945. package/dist/src/public/channels/slack/limits.js +1 -1
  946. package/dist/src/public/channels/slack/private-approval-delivery.d.ts +3 -3
  947. package/dist/src/public/channels/slack/private-approval-delivery.js +1 -1
  948. package/dist/src/public/channels/slack/renderers.d.ts +21 -27
  949. package/dist/src/public/channels/slack/renderers.js +1 -1
  950. package/dist/src/public/channels/slack/reply-delivery.d.ts +4 -4
  951. package/dist/src/public/channels/slack/reply-delivery.js +1 -1
  952. package/dist/src/public/channels/slack/session-operations.d.ts +4 -4
  953. package/dist/src/public/channels/slack/sign-in-cancel.js +1 -1
  954. package/dist/src/public/channels/slack/slackChannel.d.ts +30 -37
  955. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  956. package/dist/src/public/channels/slack/task-card.d.ts +9 -9
  957. package/dist/src/public/channels/slack/task-card.js +1 -1
  958. package/dist/src/public/channels/teams/api.d.ts +3 -7
  959. package/dist/src/public/channels/teams/attachments.d.ts +4 -4
  960. package/dist/src/public/channels/teams/authorization.d.ts +5 -9
  961. package/dist/src/public/channels/teams/authorization.js +1 -1
  962. package/dist/src/public/channels/teams/credentials.d.ts +13 -0
  963. package/dist/src/public/channels/teams/credentials.js +1 -0
  964. package/dist/src/public/channels/teams/defaults.d.ts +2 -6
  965. package/dist/src/public/channels/teams/defaults.js +1 -3
  966. package/dist/src/public/channels/teams/hitl.d.ts +8 -7
  967. package/dist/src/public/channels/teams/hitl.js +1 -1
  968. package/dist/src/public/channels/teams/index.d.ts +6 -8
  969. package/dist/src/public/channels/teams/index.js +1 -1
  970. package/dist/src/public/channels/teams/teamsChannel.d.ts +25 -44
  971. package/dist/src/public/channels/teams/teamsChannel.js +1 -1
  972. package/dist/src/public/channels/telegram/api.d.ts +3 -4
  973. package/dist/src/public/channels/telegram/attachments.d.ts +5 -5
  974. package/dist/src/public/channels/telegram/authorization-callback.js +1 -1
  975. package/dist/src/public/channels/telegram/authorization.d.ts +4 -8
  976. package/dist/src/public/channels/telegram/authorization.js +2 -2
  977. package/dist/src/public/channels/telegram/credentials.d.ts +9 -0
  978. package/dist/src/public/channels/telegram/credentials.js +1 -0
  979. package/dist/src/public/channels/telegram/defaults.js +1 -3
  980. package/dist/src/public/channels/telegram/hitl.d.ts +22 -20
  981. package/dist/src/public/channels/telegram/hitl.js +2 -2
  982. package/dist/src/public/channels/telegram/index.d.ts +5 -7
  983. package/dist/src/public/channels/telegram/index.js +1 -1
  984. package/dist/src/public/channels/telegram/telegramChannel.d.ts +23 -36
  985. package/dist/src/public/channels/telegram/telegramChannel.js +1 -1
  986. package/dist/src/public/channels/text.d.ts +4 -0
  987. package/dist/src/public/channels/text.js +1 -0
  988. package/dist/src/public/channels/twilio/api.d.ts +8 -8
  989. package/dist/src/public/channels/twilio/api.js +1 -1
  990. package/dist/src/public/channels/twilio/credentials.d.ts +7 -0
  991. package/dist/src/public/channels/twilio/credentials.js +1 -0
  992. package/dist/src/public/channels/twilio/defaults.d.ts +0 -1
  993. package/dist/src/public/channels/twilio/defaults.js +1 -5
  994. package/dist/src/public/channels/twilio/inbound.d.ts +2 -2
  995. package/dist/src/public/channels/twilio/index.d.ts +4 -4
  996. package/dist/src/public/channels/twilio/index.js +1 -1
  997. package/dist/src/public/channels/twilio/twilioChannel.d.ts +24 -37
  998. package/dist/src/public/channels/twilio/twilioChannel.js +1 -1
  999. package/dist/src/public/channels/twilio/verify.d.ts +6 -4
  1000. package/dist/src/public/channels/undelivered-reply.d.ts +2 -2
  1001. package/dist/src/public/channels/upload-policy.d.ts +7 -7
  1002. package/dist/src/public/connections/index.d.ts +3 -5
  1003. package/dist/src/public/context/index.d.ts +3 -2
  1004. package/dist/src/public/definitions/agent.d.ts +18 -18
  1005. package/dist/src/public/definitions/agent.js +1 -1
  1006. package/dist/src/public/definitions/approval.d.ts +1 -1
  1007. package/dist/src/public/definitions/channel.d.ts +57 -60
  1008. package/dist/src/public/definitions/channel.js +1 -1
  1009. package/dist/src/public/definitions/connections/dynamic.d.ts +3 -15
  1010. package/dist/src/public/definitions/connections/dynamic.js +1 -1
  1011. package/dist/src/public/definitions/connections/events.d.ts +9 -9
  1012. package/dist/src/public/definitions/connections/mcp.d.ts +5 -3
  1013. package/dist/src/public/definitions/connections/openapi.d.ts +1 -1
  1014. package/dist/src/public/definitions/extension.d.ts +2 -4
  1015. package/dist/src/public/definitions/extension.js +1 -1
  1016. package/dist/src/public/definitions/hook.d.ts +63 -85
  1017. package/dist/src/public/definitions/hook.js +1 -1
  1018. package/dist/src/public/definitions/instructions.d.ts +3 -10
  1019. package/dist/src/public/definitions/instructions.js +1 -1
  1020. package/dist/src/public/definitions/model.d.ts +21 -0
  1021. package/dist/src/public/definitions/model.js +1 -0
  1022. package/dist/src/public/definitions/removed-event-keys.d.ts +2 -0
  1023. package/dist/src/public/definitions/removed-event-keys.js +1 -0
  1024. package/dist/src/public/definitions/sandbox.d.ts +1 -1
  1025. package/dist/src/public/definitions/schedule.d.ts +4 -4
  1026. package/dist/src/public/definitions/skill.d.ts +5 -0
  1027. package/dist/src/public/definitions/skill.js +1 -1
  1028. package/dist/src/public/events/index.d.ts +27 -0
  1029. package/dist/src/public/events/index.js +1 -0
  1030. package/dist/src/public/experimental/connections/index.d.ts +1 -0
  1031. package/dist/src/public/experimental/connections/index.js +1 -0
  1032. package/dist/src/public/experimental/schedules/client.js +1 -1
  1033. package/dist/src/public/hooks/index.d.ts +4 -3
  1034. package/dist/src/public/index.d.ts +3 -2
  1035. package/dist/src/public/instructions/index.d.ts +2 -2
  1036. package/dist/src/public/instrumentation/index.d.ts +9 -28
  1037. package/dist/src/public/instrumentation/index.js +1 -1
  1038. package/dist/src/public/instrumentation/otel.d.ts +1 -1
  1039. package/dist/src/public/instrumentation/otel.js +1 -1
  1040. package/dist/src/public/instrumentation/provider.d.ts +1 -1
  1041. package/dist/src/public/instrumentation/provider.js +1 -1
  1042. package/dist/src/public/local-dev.d.ts +3 -1
  1043. package/dist/src/public/memory/file/backend.d.ts +1 -1
  1044. package/dist/src/public/memory/file/backends/in-memory.js +1 -1
  1045. package/dist/src/public/memory/file/backends/vercel-blob.js +1 -1
  1046. package/dist/src/public/memory/file/provider.js +1 -1
  1047. package/dist/src/public/memory/index.d.ts +14 -20
  1048. package/dist/src/public/models/index.d.ts +3 -0
  1049. package/dist/src/public/models/index.js +1 -1
  1050. package/dist/src/public/models/openai/index.d.ts +0 -2
  1051. package/dist/src/public/models/openai/index.js +1 -1
  1052. package/dist/src/public/next/index.d.ts +5 -36
  1053. package/dist/src/public/next/index.js +1 -1
  1054. package/dist/src/public/nuxt/index.d.ts +1 -1
  1055. package/dist/src/public/nuxt/module.d.ts +5 -2
  1056. package/dist/src/public/nuxt/module.js +1 -1
  1057. package/dist/src/public/sandbox/index.d.ts +1 -1
  1058. package/dist/src/public/sandbox/vercel-sandbox.d.ts +52 -12
  1059. package/dist/src/public/sandbox/vercel.d.ts +1 -1
  1060. package/dist/src/public/schedules/subscription.d.ts +5 -8
  1061. package/dist/src/public/server/index.d.ts +2 -14
  1062. package/dist/src/public/server/index.js +1 -1
  1063. package/dist/src/public/sessions/index.d.ts +6 -0
  1064. package/dist/src/public/sessions/index.js +1 -0
  1065. package/dist/src/public/skills/index.d.ts +2 -2
  1066. package/dist/src/public/skills/index.js +1 -1
  1067. package/dist/src/public/sveltekit/routing.d.ts +0 -4
  1068. package/dist/src/public/sveltekit/routing.js +1 -1
  1069. package/dist/src/public/tools/approval/index.d.ts +1 -1
  1070. package/dist/src/public/tools/bash.d.ts +1 -1
  1071. package/dist/src/public/tools/bash.js +1 -1
  1072. package/dist/src/public/tools/glob.d.ts +1 -1
  1073. package/dist/src/public/tools/glob.js +1 -1
  1074. package/dist/src/public/tools/grep.d.ts +1 -1
  1075. package/dist/src/public/tools/grep.js +1 -1
  1076. package/dist/src/public/tools/index.d.ts +5 -9
  1077. package/dist/src/public/tools/index.js +1 -1
  1078. package/dist/src/public/tools/read-file.d.ts +1 -1
  1079. package/dist/src/public/tools/read-file.js +1 -1
  1080. package/dist/src/public/tools/result.d.ts +17 -9
  1081. package/dist/src/public/tools/result.js +1 -1
  1082. package/dist/src/public/tools/web-fetch.d.ts +1 -1
  1083. package/dist/src/public/tools/web-fetch.js +1 -1
  1084. package/dist/src/public/tools/web-search.d.ts +1 -3
  1085. package/dist/src/public/tools/web-search.js +1 -1
  1086. package/dist/src/public/tools/write-file.d.ts +1 -1
  1087. package/dist/src/public/tools/write-file.js +1 -1
  1088. package/dist/src/public/workflow-modules.d.ts +8 -2
  1089. package/dist/src/react/index.d.ts +4 -7
  1090. package/dist/src/react/index.js +1 -1
  1091. package/dist/src/react/use-eve-agent.d.ts +68 -50
  1092. package/dist/src/react/use-eve-agent.js +1 -1
  1093. package/dist/src/reactions/bundle.d.ts +4 -0
  1094. package/dist/src/reactions/bundle.js +1 -0
  1095. package/dist/src/reactions/frame.d.ts +13 -0
  1096. package/dist/src/reactions/frame.js +1 -0
  1097. package/dist/src/reactions/intents.d.ts +22 -0
  1098. package/dist/src/reactions/intents.js +1 -0
  1099. package/dist/src/reactions/kinds/connection.d.ts +18 -0
  1100. package/dist/src/reactions/kinds/connection.js +1 -0
  1101. package/dist/src/reactions/kinds/hook.d.ts +8 -0
  1102. package/dist/src/reactions/kinds/hook.js +1 -0
  1103. package/dist/src/reactions/kinds/instructions.d.ts +21 -0
  1104. package/dist/src/reactions/kinds/instructions.js +1 -0
  1105. package/dist/src/reactions/kinds/memory.d.ts +72 -0
  1106. package/dist/src/reactions/kinds/memory.js +1 -0
  1107. package/dist/src/reactions/kinds/model.d.ts +21 -0
  1108. package/dist/src/reactions/kinds/model.js +1 -0
  1109. package/dist/src/reactions/kinds/skill.d.ts +27 -0
  1110. package/dist/src/reactions/kinds/skill.js +1 -0
  1111. package/dist/src/reactions/kinds/subagent.d.ts +16 -0
  1112. package/dist/src/reactions/kinds/subagent.js +1 -0
  1113. package/dist/src/reactions/kinds/tool.d.ts +16 -0
  1114. package/dist/src/reactions/kinds/tool.js +1 -0
  1115. package/dist/src/reactions/policy.d.ts +13 -0
  1116. package/dist/src/reactions/policy.js +1 -0
  1117. package/dist/src/reactions/reaction.d.ts +83 -0
  1118. package/dist/src/reactions/reaction.js +1 -0
  1119. package/dist/src/reactions/records.d.ts +40 -0
  1120. package/dist/src/reactions/records.js +1 -0
  1121. package/dist/src/reactions/remote.d.ts +25 -0
  1122. package/dist/src/reactions/remote.js +1 -0
  1123. package/dist/src/reactions/runner.d.ts +45 -0
  1124. package/dist/src/reactions/runner.js +1 -0
  1125. package/dist/src/reactions/state.d.ts +102 -0
  1126. package/dist/src/reactions/state.js +1 -0
  1127. package/dist/src/reactions/turn.d.ts +12 -0
  1128. package/dist/src/reactions/turn.js +2 -0
  1129. package/dist/src/runtime/agent/bootstrap.d.ts +1 -3
  1130. package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
  1131. package/dist/src/runtime/agent/resolve-model.d.ts +3 -4
  1132. package/dist/src/runtime/agent/resolve-model.js +1 -1
  1133. package/dist/src/runtime/connections/principal.d.ts +2 -0
  1134. package/dist/src/runtime/connections/principal.js +1 -1
  1135. package/dist/src/runtime/connections/registry.d.ts +2 -2
  1136. package/dist/src/runtime/connections/registry.js +1 -1
  1137. package/dist/src/runtime/connections/scoped-authorization.d.ts +8 -1
  1138. package/dist/src/runtime/connections/scoped-authorization.js +1 -1
  1139. package/dist/src/runtime/graph.d.ts +0 -6
  1140. package/dist/src/runtime/loaders/artifact-paths.d.ts +1 -0
  1141. package/dist/src/runtime/loaders/artifact-paths.js +1 -1
  1142. package/dist/src/runtime/loaders/bundled-artifacts.d.ts +2 -0
  1143. package/dist/src/runtime/loaders/bundled-artifacts.js +1 -1
  1144. package/dist/src/runtime/loaders/model-metadata.d.ts +4 -0
  1145. package/dist/src/runtime/loaders/model-metadata.js +1 -0
  1146. package/dist/src/runtime/local-dev-capability.d.ts +2 -3
  1147. package/dist/src/runtime/local-dev-capability.js +1 -1
  1148. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  1149. package/dist/src/runtime/resolve-agent.js +1 -1
  1150. package/dist/src/runtime/resolve-connection.js +1 -1
  1151. package/dist/src/runtime/resolve-dynamic.d.ts +9 -0
  1152. package/dist/src/runtime/resolve-dynamic.js +1 -0
  1153. package/dist/src/runtime/resolve-hook.js +1 -1
  1154. package/dist/src/runtime/resolve-memory.js +1 -1
  1155. package/dist/src/runtime/resolve-tool.js +1 -1
  1156. package/dist/src/runtime/schedules/collection-client.js +1 -1
  1157. package/dist/src/runtime/schedules/dispatch-occurrence.js +1 -1
  1158. package/dist/src/runtime/sessions/compiled-agent-cache.d.ts +3 -2
  1159. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
  1160. package/dist/src/runtime/subagents/dynamic-agent-config.d.ts +2 -2
  1161. package/dist/src/runtime/subagents/dynamic-agent-config.js +1 -1
  1162. package/dist/src/runtime/subagents/dynamic-remote-agent-config.d.ts +16 -3
  1163. package/dist/src/runtime/subagents/dynamic-remote-agent-config.js +1 -1
  1164. package/dist/src/runtime/subagents/workflow.js +1 -1
  1165. package/dist/src/runtime/types.d.ts +22 -39
  1166. package/dist/src/sandbox/provider.d.ts +5 -3
  1167. package/dist/src/sandbox/providers/default.d.ts +4 -2
  1168. package/dist/src/sandbox/providers/default.js +1 -1
  1169. package/dist/src/self-modification/agent.d.ts +3 -3
  1170. package/dist/src/self-modification/agent.js +1 -1
  1171. package/dist/src/self-modification/config.d.ts +1 -1
  1172. package/dist/src/self-modification/config.js +1 -1
  1173. package/dist/src/self-modification/deployed-sandbox.js +1 -1
  1174. package/dist/src/self-modification/extension/extension.d.ts +1 -0
  1175. package/dist/src/self-modification/extension/local-only.d.ts +1 -1
  1176. package/dist/src/self-modification/extension/local-only.js +1 -1
  1177. package/dist/src/self-modification/extension/subagents/agent/agent.d.ts +15 -4
  1178. package/dist/src/self-modification/extension/subagents/agent/agent.js +1 -1
  1179. package/dist/src/self-modification/extension/subagents/agent/instructions.d.ts +1 -1
  1180. package/dist/src/self-modification/extension/subagents/agent/instructions.js +2 -2
  1181. package/dist/src/self-modification/extension/subagents/agent/sandbox.d.ts +2 -2
  1182. package/dist/src/self-modification/extension/subagents/agent/sandbox.js +1 -1
  1183. package/dist/src/self-modification/extension/subagents/agent/skills/trace_analysis.d.ts +3 -3
  1184. package/dist/src/self-modification/extension/subagents/agent/skills/trace_analysis.js +1 -1
  1185. package/dist/src/self-modification/extension/subagents/agent/tools/inspect_trace.d.ts +1 -1
  1186. package/dist/src/self-modification/extension/subagents/agent/tools/inspect_trace_spans.d.ts +1 -1
  1187. package/dist/src/self-modification/extension/subagents/agent/tools/registry_add.d.ts +1 -1
  1188. package/dist/src/self-modification/extension/subagents/agent/tools/search_traces.d.ts +1 -1
  1189. package/dist/src/self-modification/mode.d.ts +8 -0
  1190. package/dist/src/self-modification/mode.js +1 -1
  1191. package/dist/src/self-modification/remote/config.d.ts +3 -6
  1192. package/dist/src/self-modification/remote/extension.d.ts +1 -0
  1193. package/dist/src/self-modification/remote/production-registry-add.js +1 -1
  1194. package/dist/src/self-modification/remote/subagents/agent/agent.d.ts +6 -3
  1195. package/dist/src/self-modification/remote/subagents/agent/agent.js +1 -1
  1196. package/dist/src/self-modification/remote/subagents/agent/instructions.d.ts +1 -1
  1197. package/dist/src/self-modification/remote/subagents/agent/instructions.js +2 -2
  1198. package/dist/src/self-modification/remote/subagents/agent/tools/publish.d.ts +1 -3
  1199. package/dist/src/self-modification/remote/subagents/agent/tools/publish.js +1 -1
  1200. package/dist/src/self-modification/remote/subagents/agent/tools/registry_add.d.ts +1 -3
  1201. package/dist/src/self-modification/remote/subagents/agent/tools/registry_add.js +1 -1
  1202. package/dist/src/self-modification/scaffold.js +1 -1
  1203. package/dist/src/self-modification/setup.js +3 -6
  1204. package/dist/src/services/dev-client/client-options.js +1 -1
  1205. package/dist/src/services/dev-client.d.ts +4 -4
  1206. package/dist/src/services/dev-client.js +1 -1
  1207. package/dist/src/setup/flows/model-source-change.js +1 -1
  1208. package/dist/src/setup/integrations/self-modification/setup.d.ts +1 -4
  1209. package/dist/src/setup/integrations/self-modification/setup.js +1 -1
  1210. package/dist/src/setup/scaffold/create/project.js +1 -1
  1211. package/dist/src/setup/scaffold/create/web-template.d.ts +9 -18
  1212. package/dist/src/setup/scaffold/create/web-template.js +1015 -2537
  1213. package/dist/src/setup/verified-remote-agent.js +1 -1
  1214. package/dist/src/shared/action-label.d.ts +5 -3
  1215. package/dist/src/shared/action-label.js +1 -1
  1216. package/dist/src/shared/action-types.d.ts +5 -0
  1217. package/dist/src/shared/action-types.js +1 -1
  1218. package/dist/src/shared/agent-definition.d.ts +14 -10
  1219. package/dist/src/shared/answers-delivery-id.d.ts +1 -0
  1220. package/dist/src/shared/answers-delivery-id.js +1 -0
  1221. package/dist/src/shared/channel-context.d.ts +12 -0
  1222. package/dist/src/shared/channel-context.js +1 -0
  1223. package/dist/src/shared/channel-definition.d.ts +19 -26
  1224. package/dist/src/shared/channel-delivery.d.ts +16 -0
  1225. package/dist/src/shared/channel-delivery.js +1 -0
  1226. package/dist/src/shared/connection-events.d.ts +2 -2
  1227. package/dist/src/shared/connection-types.d.ts +7 -32
  1228. package/dist/src/shared/conversation-context.d.ts +4 -13
  1229. package/dist/src/shared/delivery.d.ts +38 -0
  1230. package/dist/src/shared/delivery.js +1 -0
  1231. package/dist/src/shared/history-message.d.ts +190 -0
  1232. package/dist/src/shared/history-message.js +1 -0
  1233. package/dist/src/shared/input.d.ts +23 -97
  1234. package/dist/src/shared/input.js +1 -1
  1235. package/dist/src/shared/instructions-definition.d.ts +2 -8
  1236. package/dist/src/shared/instrumentation-channel-kind.d.ts +1 -1
  1237. package/dist/src/shared/instrumentation-channel.d.ts +12 -0
  1238. package/dist/src/shared/instrumentation-channel.js +1 -0
  1239. package/dist/src/shared/json.d.ts +2 -18
  1240. package/dist/src/shared/memory-state.d.ts +4 -40
  1241. package/dist/src/shared/memory-state.js +1 -1
  1242. package/dist/src/shared/message-content.d.ts +19 -0
  1243. package/dist/src/shared/message-content.js +1 -0
  1244. package/dist/src/shared/network-address.d.ts +9 -0
  1245. package/dist/src/shared/network-address.js +1 -1
  1246. package/dist/src/shared/sandbox-environment.d.ts +2 -2
  1247. package/dist/src/shared/sandbox-provider.d.ts +1 -1
  1248. package/dist/src/shared/sandbox-session.d.ts +64 -85
  1249. package/dist/src/shared/schedule-definition.d.ts +5 -5
  1250. package/dist/src/shared/serialized-observability-state.d.ts +0 -2
  1251. package/dist/src/shared/serialized-observability-state.js +1 -1
  1252. package/dist/src/shared/session-history.d.ts +2 -2
  1253. package/dist/src/shared/session.d.ts +22 -0
  1254. package/dist/src/shared/session.js +1 -0
  1255. package/dist/src/shared/skill-definition.d.ts +1 -1
  1256. package/dist/src/shared/skill-package.d.ts +2 -2
  1257. package/dist/src/shared/skill-package.js +1 -1
  1258. package/dist/src/shared/token-usage-math.d.ts +5 -0
  1259. package/dist/src/shared/token-usage-math.js +1 -0
  1260. package/dist/src/shared/token-usage.d.ts +0 -2
  1261. package/dist/src/shared/token-usage.js +1 -1
  1262. package/dist/src/shared/validate-authorization.js +1 -1
  1263. package/dist/src/shared/wait-with-signal.d.ts +2 -0
  1264. package/dist/src/shared/wait-with-signal.js +1 -0
  1265. package/dist/src/subagents/adapter.d.ts +3 -5
  1266. package/dist/src/subagents/adapter.js +1 -1
  1267. package/dist/src/subagents/callback-route.js +1 -1
  1268. package/dist/src/subagents/event-proxy-step.d.ts +6 -9
  1269. package/dist/src/subagents/event-proxy-step.js +1 -1
  1270. package/dist/src/subagents/hitl-proxy.d.ts +11 -23
  1271. package/dist/src/subagents/hitl-proxy.js +1 -1
  1272. package/dist/src/subagents/invocation.d.ts +8 -8
  1273. package/dist/src/subagents/invocation.js +2 -2
  1274. package/dist/src/subagents/parent-notification.d.ts +5 -0
  1275. package/dist/src/subagents/parent-notification.js +1 -1
  1276. package/dist/src/subagents/protocol-two-callback.d.ts +27 -0
  1277. package/dist/src/subagents/protocol-two-callback.js +1 -0
  1278. package/dist/src/svelte/index.d.ts +3 -6
  1279. package/dist/src/svelte/index.js +2 -39
  1280. package/dist/src/svelte/use-eve-agent.d.ts +67 -56
  1281. package/dist/src/svelte/use-eve-agent.js +1 -1
  1282. package/dist/src/tool-stubs/rules.js +1 -1
  1283. package/dist/src/tools/approval/policies.d.ts +4 -16
  1284. package/dist/src/tools/approval/policies.js +1 -1
  1285. package/dist/src/tools/auth.d.ts +3 -3
  1286. package/dist/src/tools/definition.d.ts +13 -35
  1287. package/dist/src/tools/definition.js +1 -1
  1288. package/dist/src/tools/dynamic.d.ts +13 -72
  1289. package/dist/src/tools/dynamic.js +1 -1
  1290. package/dist/src/tools/framework/agent.js +1 -1
  1291. package/dist/src/tools/provided/ask-question-workflow.d.ts +3 -3
  1292. package/dist/src/tools/provided/ask-question-workflow.js +1 -1
  1293. package/dist/src/tools/provided/ask-question.d.ts +2 -2
  1294. package/dist/src/tools/provided/ask-question.js +1 -1
  1295. package/dist/src/tools/provided/grep.d.ts +2 -15
  1296. package/dist/src/tools/provided/grep.js +1 -2
  1297. package/dist/src/tools/provided/no-reply.d.ts +2 -2
  1298. package/dist/src/tools/provided/no-reply.js +1 -1
  1299. package/dist/src/tools/provided/sleep-workflow.js +1 -1
  1300. package/dist/src/tools/provided/sleep.d.ts +2 -2
  1301. package/dist/src/tools/provided/sleep.js +1 -1
  1302. package/dist/src/tools/provided/workflow.js +1 -1
  1303. package/dist/src/tools/workflow-definition.d.ts +17 -15
  1304. package/dist/src/tracing/eve/agent-approval-instrumentation.d.ts +1 -1
  1305. package/dist/src/tracing/eve/agent-approval-instrumentation.js +1 -1
  1306. package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.d.ts +2 -2
  1307. package/dist/src/tracing/eve/agent-channel-delivery-instrumentation.js +1 -1
  1308. package/dist/src/tracing/eve/agent-invocation-coordinator.d.ts +2 -2
  1309. package/dist/src/tracing/eve/agent-otel-provider.js +1 -1
  1310. package/dist/src/tracing/eve/agent-tool-instrumentation.d.ts +6 -7
  1311. package/dist/src/tracing/eve/agent-tool-instrumentation.js +1 -1
  1312. package/dist/src/tracing/eve/agent-trace-context-store.d.ts +3 -3
  1313. package/dist/src/tracing/eve/agent-trace-state.d.ts +1 -6
  1314. package/dist/src/tracing/eve/delegation.d.ts +4 -4
  1315. package/dist/src/tracing/eve/install-instrumentation-runtime.js +1 -1
  1316. package/dist/src/tracing/eve/invoke-tool-span.d.ts +3 -2
  1317. package/dist/src/tracing/eve/invoke-tool-span.js +1 -1
  1318. package/dist/src/tracing/eve/otel-declaration.d.ts +9 -10
  1319. package/dist/src/tracing/eve/otel-declaration.js +1 -1
  1320. package/dist/src/tracing/eve/policy.d.ts +2 -2
  1321. package/dist/src/tracing/eve/policy.js +1 -1
  1322. package/dist/src/tracing/eve/session.d.ts +4 -3
  1323. package/dist/src/tracing/eve/session.js +1 -1
  1324. package/dist/src/vue/index.d.ts +3 -6
  1325. package/dist/src/vue/index.js +2 -39
  1326. package/dist/src/vue/use-eve-agent.d.ts +70 -59
  1327. package/dist/src/vue/use-eve-agent.js +1 -1
  1328. package/docs/agent-config.md +41 -44
  1329. package/docs/channels/chat-sdk.mdx +19 -13
  1330. package/docs/channels/custom.mdx +106 -85
  1331. package/docs/channels/discord.mdx +12 -12
  1332. package/docs/channels/eve.mdx +48 -15
  1333. package/docs/channels/github.mdx +2 -2
  1334. package/docs/channels/linear.mdx +8 -8
  1335. package/docs/channels/linq.mdx +1 -1
  1336. package/docs/channels/mcp.mdx +2 -2
  1337. package/docs/channels/overview.mdx +11 -1
  1338. package/docs/channels/photon.mdx +1 -1
  1339. package/docs/channels/slack.mdx +64 -57
  1340. package/docs/channels/teams.mdx +4 -4
  1341. package/docs/channels/telegram.mdx +1 -1
  1342. package/docs/channels/twilio.mdx +2 -2
  1343. package/docs/code-extension.mdx +19 -7
  1344. package/docs/concepts/built-in-tools.md +21 -9
  1345. package/docs/concepts/context-control.md +5 -8
  1346. package/docs/concepts/default-harness.md +13 -8
  1347. package/docs/concepts/execution-model-and-durability.mdx +119 -12
  1348. package/docs/concepts/meta.json +1 -0
  1349. package/docs/concepts/sessions-runs-and-streaming.md +244 -138
  1350. package/docs/concepts/state.md +1 -1
  1351. package/docs/concepts/upgrade-to-v27-events.md +128 -0
  1352. package/docs/connections/mcp.mdx +38 -34
  1353. package/docs/connections/openapi.mdx +23 -2
  1354. package/docs/connections/overview.mdx +66 -57
  1355. package/docs/evals/assertions.mdx +30 -24
  1356. package/docs/evals/cases.mdx +19 -24
  1357. package/docs/evals/judge.mdx +15 -2
  1358. package/docs/evals/overview.mdx +7 -7
  1359. package/docs/evals/reporters.mdx +15 -11
  1360. package/docs/evals/targets.mdx +5 -3
  1361. package/docs/evals/tool-stubs.mdx +2 -2
  1362. package/docs/extensions.md +6 -3
  1363. package/docs/guides/client/continuations.mdx +10 -10
  1364. package/docs/guides/client/messages.mdx +50 -48
  1365. package/docs/guides/client/output-schema.mdx +13 -13
  1366. package/docs/guides/client/overview.mdx +35 -13
  1367. package/docs/guides/client/streaming.mdx +160 -123
  1368. package/docs/guides/decide.md +15 -9
  1369. package/docs/guides/deployment/self-hosting.md +5 -40
  1370. package/docs/guides/dynamic-capabilities.md +151 -406
  1371. package/docs/guides/frontend/nextjs.mdx +1 -1
  1372. package/docs/guides/frontend/nuxt.mdx +2 -2
  1373. package/docs/guides/frontend/overview.mdx +257 -181
  1374. package/docs/guides/frontend/sveltekit.mdx +4 -4
  1375. package/docs/guides/frontend/tanstack.mdx +5 -5
  1376. package/docs/guides/frontend/use-eve-agent-svelte.mdx +30 -38
  1377. package/docs/guides/frontend/use-eve-agent-vue.mdx +35 -36
  1378. package/docs/guides/hooks.md +67 -55
  1379. package/docs/guides/instrumentation/instrumentation.mdx +33 -27
  1380. package/docs/guides/instrumentation/otel.mdx +4 -2
  1381. package/docs/guides/remote-agents.md +116 -50
  1382. package/docs/guides/self-modification.md +11 -7
  1383. package/docs/instructions.mdx +4 -6
  1384. package/docs/memory/custom-provider.md +63 -56
  1385. package/docs/memory/file.md +1 -1
  1386. package/docs/memory/overview.mdx +10 -18
  1387. package/docs/patterns/durable-cross-channel-notifications.md +4 -3
  1388. package/docs/patterns/multi-tenant-approvals.md +3 -3
  1389. package/docs/patterns/multi-tenant-auth.md +3 -3
  1390. package/docs/patterns/multi-tenant-memory.md +6 -7
  1391. package/docs/patterns/voice-notes.md +1 -1
  1392. package/docs/reference/cli.md +9 -25
  1393. package/docs/reference/typescript-api.md +85 -60
  1394. package/docs/sandbox/custom-providers.mdx +13 -14
  1395. package/docs/sandbox/default.mdx +1 -1
  1396. package/docs/sandbox/docker.mdx +10 -0
  1397. package/docs/sandbox/index.mdx +5 -1
  1398. package/docs/sandbox/vercel.mdx +6 -6
  1399. package/docs/schedules.mdx +4 -4
  1400. package/docs/skills.mdx +6 -6
  1401. package/docs/subagents/index.mdx +25 -34
  1402. package/docs/tools/human-in-the-loop.md +42 -34
  1403. package/docs/tools/overview.mdx +14 -12
  1404. package/docs/tools/tasks-upgrade.md +13 -1
  1405. package/docs/tools/tasks.md +58 -89
  1406. package/docs/tools/workflows.mdx +48 -33
  1407. package/docs/tutorial/guard-the-spend.mdx +1 -1
  1408. package/docs/tutorial/run-analysis.mdx +15 -12
  1409. package/docs/tutorial/team-playbooks.mdx +19 -23
  1410. package/package.json +147 -96
  1411. package/dist/src/chunks/use-eve-agent-BE2_zd5q.js +0 -4968
  1412. package/dist/src/chunks/use-eve-agent-e8a5vcFO.js +0 -4926
  1413. package/dist/src/cli/invoke/command.d.ts +0 -19
  1414. package/dist/src/cli/invoke/command.js +0 -1
  1415. package/dist/src/cli/invoke/invoke.d.ts +0 -27
  1416. package/dist/src/cli/invoke/invoke.js +0 -1
  1417. package/dist/src/cli/invoke/result.d.ts +0 -137
  1418. package/dist/src/cli/invoke/result.js +0 -1
  1419. package/dist/src/client/agent-host.d.ts +0 -4
  1420. package/dist/src/client/agent-host.js +0 -1
  1421. package/dist/src/client/authorization-message-parts.d.ts +0 -4
  1422. package/dist/src/client/authorization-message-parts.js +0 -1
  1423. package/dist/src/client/conversation-projection.d.ts +0 -4
  1424. package/dist/src/client/conversation-projection.js +0 -1
  1425. package/dist/src/client/conversation-reducer.d.ts +0 -29
  1426. package/dist/src/client/conversation-reducer.js +0 -1
  1427. package/dist/src/client/eve-agent-projection.d.ts +0 -28
  1428. package/dist/src/client/eve-agent-projection.js +0 -1
  1429. package/dist/src/client/eve-agent-store-helpers.d.ts +0 -34
  1430. package/dist/src/client/eve-agent-store-helpers.js +0 -2
  1431. package/dist/src/client/eve-agent-store-state.d.ts +0 -96
  1432. package/dist/src/client/eve-agent-store.d.ts +0 -45
  1433. package/dist/src/client/eve-agent-store.js +0 -1
  1434. package/dist/src/client/message-action-parts.d.ts +0 -37
  1435. package/dist/src/client/message-action-parts.js +0 -1
  1436. package/dist/src/client/message-reducer-primitives.d.ts +0 -6
  1437. package/dist/src/client/message-reducer-primitives.js +0 -1
  1438. package/dist/src/client/message-reducer-types.d.ts +0 -244
  1439. package/dist/src/client/message-reducer.d.ts +0 -14
  1440. package/dist/src/client/message-reducer.js +0 -1
  1441. package/dist/src/client/message-response.d.ts +0 -74
  1442. package/dist/src/client/message-response.js +0 -1
  1443. package/dist/src/client/message-run-parts.d.ts +0 -22
  1444. package/dist/src/client/message-run-parts.js +0 -1
  1445. package/dist/src/client/output-schema.d.ts +0 -5
  1446. package/dist/src/client/output-schema.js +0 -1
  1447. package/dist/src/client/reducer.d.ts +0 -67
  1448. package/dist/src/client/session-turn-dispatch.d.ts +0 -15
  1449. package/dist/src/client/session-turn-dispatch.js +0 -1
  1450. package/dist/src/client/tool-call-state.d.ts +0 -23
  1451. package/dist/src/client/tool-call-state.js +0 -1
  1452. package/dist/src/client/tool-part-state.d.ts +0 -7
  1453. package/dist/src/client/tool-part-state.js +0 -1
  1454. package/dist/src/client/transcript-reducer.d.ts +0 -49
  1455. package/dist/src/client/transcript-reducer.js +0 -2
  1456. package/dist/src/compiled/_chunks/node/token-Bedbhv5z.js +0 -1
  1457. package/dist/src/compiled/_chunks/node/token-util-DpJNusVS.js +0 -1
  1458. package/dist/src/compiled/_chunks/node/token-util-DwHQ2a3c.js +0 -1
  1459. package/dist/src/compiled/_chunks/node/version-C__MqbLM.js +0 -1
  1460. package/dist/src/context/build-dynamic-tools.d.ts +0 -10
  1461. package/dist/src/context/build-dynamic-tools.js +0 -1
  1462. package/dist/src/context/dynamic-connection-lifecycle.d.ts +0 -15
  1463. package/dist/src/context/dynamic-connection-lifecycle.js +0 -1
  1464. package/dist/src/context/dynamic-instruction-lifecycle.d.ts +0 -31
  1465. package/dist/src/context/dynamic-instruction-lifecycle.js +0 -1
  1466. package/dist/src/context/dynamic-model-lifecycle.d.ts +0 -19
  1467. package/dist/src/context/dynamic-model-lifecycle.js +0 -1
  1468. package/dist/src/context/dynamic-resolve-context.d.ts +0 -12
  1469. package/dist/src/context/dynamic-resolve-context.js +0 -1
  1470. package/dist/src/context/dynamic-skill-lifecycle.d.ts +0 -15
  1471. package/dist/src/context/dynamic-skill-lifecycle.js +0 -1
  1472. package/dist/src/context/dynamic-subagent-lifecycle.d.ts +0 -27
  1473. package/dist/src/context/dynamic-subagent-lifecycle.js +0 -1
  1474. package/dist/src/context/dynamic-tool-lifecycle.d.ts +0 -46
  1475. package/dist/src/context/dynamic-tool-lifecycle.js +0 -1
  1476. package/dist/src/context/dynamic-tool-metadata.d.ts +0 -47
  1477. package/dist/src/context/dynamic-tool-metadata.js +0 -1
  1478. package/dist/src/context/effective-model.d.ts +0 -5
  1479. package/dist/src/context/effective-model.js +0 -1
  1480. package/dist/src/context/hook-lifecycle.d.ts +0 -15
  1481. package/dist/src/context/hook-lifecycle.js +0 -1
  1482. package/dist/src/context/memory-event-lifecycle.d.ts +0 -15
  1483. package/dist/src/context/memory-event-lifecycle.js +0 -1
  1484. package/dist/src/context/memory-lifecycle.d.ts +0 -47
  1485. package/dist/src/context/memory-lifecycle.js +0 -1
  1486. package/dist/src/context/serialized-dynamic-model-selection.d.ts +0 -2
  1487. package/dist/src/context/serialized-dynamic-model-selection.js +0 -1
  1488. package/dist/src/execution/cancel-descendant-turns-step.d.ts +0 -6
  1489. package/dist/src/execution/cancel-descendant-turns-step.js +0 -1
  1490. package/dist/src/execution/dynamic-connection-recovery.d.ts +0 -14
  1491. package/dist/src/execution/dynamic-connection-recovery.js +0 -1
  1492. package/dist/src/execution/dynamic-connections.d.ts +0 -12
  1493. package/dist/src/execution/dynamic-connections.js +0 -1
  1494. package/dist/src/execution/history-view.d.ts +0 -10
  1495. package/dist/src/execution/history-view.js +0 -1
  1496. package/dist/src/execution/legacy-remote-agent/protocol.d.ts +0 -49
  1497. package/dist/src/execution/legacy-remote-agent/protocol.js +0 -1
  1498. package/dist/src/execution/runtime-errors.d.ts +0 -13
  1499. package/dist/src/execution/runtime-errors.js +0 -1
  1500. package/dist/src/execution/sandbox/grep-tool.d.ts +0 -26
  1501. package/dist/src/execution/sandbox/grep-tool.js +0 -3
  1502. package/dist/src/execution/session/turn-waiting-step.d.ts +0 -4
  1503. package/dist/src/execution/session/turn-waiting-step.js +0 -1
  1504. package/dist/src/execution/tools/workflow/cancel.d.ts +0 -13
  1505. package/dist/src/execution/tools/workflow/cancel.js +0 -1
  1506. package/dist/src/execution/workflow-trace-context.d.ts +0 -8
  1507. package/dist/src/execution/workflow-trace-context.js +0 -1
  1508. package/dist/src/extensions/code/extension/instructions/github.d.ts +0 -3
  1509. package/dist/src/extensions/code/extension/instructions/github.js +0 -1
  1510. package/dist/src/extensions/code/extension/lib/github-compat.d.ts +0 -28
  1511. package/dist/src/extensions/code/extension/lib/github-compat.js +0 -1
  1512. package/dist/src/extensions/code/extension/lib/grep-search.js +0 -6
  1513. package/dist/src/extensions/code/extension/skills/pr.d.ts +0 -6
  1514. package/dist/src/extensions/code/extension/skills/pr.js +0 -1
  1515. package/dist/src/extensions/code/extension/tools/gh.d.ts +0 -28
  1516. package/dist/src/extensions/code/extension/tools/gh.js +0 -1
  1517. package/dist/src/harness/approval-recheck.d.ts +0 -7
  1518. package/dist/src/harness/approval-recheck.js +0 -1
  1519. package/dist/src/harness/authorization-event-fields.d.ts +0 -16
  1520. package/dist/src/harness/authorization-event-fields.js +0 -1
  1521. package/dist/src/harness/hitl/candidates.d.ts +0 -139
  1522. package/dist/src/harness/hitl/candidates.js +0 -1
  1523. package/dist/src/harness/hitl/coordinator.d.ts +0 -35
  1524. package/dist/src/harness/hitl/coordinator.js +0 -1
  1525. package/dist/src/harness/input-extraction.d.ts +0 -13
  1526. package/dist/src/harness/input-extraction.js +0 -1
  1527. package/dist/src/harness/input-request-class.d.ts +0 -3
  1528. package/dist/src/harness/input-request-class.js +0 -1
  1529. package/dist/src/harness/input-request-resolution.d.ts +0 -39
  1530. package/dist/src/harness/input-request-resolution.js +0 -1
  1531. package/dist/src/harness/open-input-request.d.ts +0 -8
  1532. package/dist/src/harness/open-input-request.js +0 -1
  1533. package/dist/src/harness/session-machine/events.d.ts +0 -6
  1534. package/dist/src/harness/session-machine/events.js +0 -1
  1535. package/dist/src/harness/session-machine/resolver-events.d.ts +0 -12
  1536. package/dist/src/harness/session-machine/resolver-events.js +0 -1
  1537. package/dist/src/harness/tool-call-action.d.ts +0 -9
  1538. package/dist/src/harness/tool-call-action.js +0 -1
  1539. package/dist/src/harness/tool-interrupts.d.ts +0 -22
  1540. package/dist/src/harness/tool-interrupts.js +0 -1
  1541. package/dist/src/harness/tool-presentation.d.ts +0 -5
  1542. package/dist/src/harness/tool-presentation.js +0 -1
  1543. package/dist/src/harness/turn-tag-state.d.ts +0 -115
  1544. package/dist/src/harness/turn-tag-state.js +0 -1
  1545. package/dist/src/internal/dynamic-tool-rebind.d.ts +0 -3
  1546. package/dist/src/internal/dynamic-tool-rebind.js +0 -1
  1547. package/dist/src/internal/nitro/host/extension-capability-requirements.d.ts +0 -14
  1548. package/dist/src/internal/nitro/host/extension-capability-requirements.js +0 -1
  1549. package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.d.ts +0 -12
  1550. package/dist/src/internal/workflow-bundle/dynamic-capability-transform-plugin.js +0 -1
  1551. package/dist/src/internal/workflow-bundle/dynamic-remote-agent-transform.d.ts +0 -7
  1552. package/dist/src/internal/workflow-bundle/dynamic-remote-agent-transform.js +0 -3
  1553. package/dist/src/internal/workflow-bundle/dynamic-tool-ast-references.d.ts +0 -79
  1554. package/dist/src/internal/workflow-bundle/dynamic-tool-ast-references.js +0 -1
  1555. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.d.ts +0 -14
  1556. package/dist/src/internal/workflow-bundle/dynamic-tool-transform.js +0 -3
  1557. package/dist/src/protocol/event-dedupe.d.ts +0 -26
  1558. package/dist/src/protocol/event-dedupe.js +0 -1
  1559. package/dist/src/protocol/event-id.d.ts +0 -10
  1560. package/dist/src/protocol/event-id.js +0 -1
  1561. package/dist/src/protocol/message-version.d.ts +0 -53
  1562. package/dist/src/protocol/message-version.js +0 -1
  1563. package/dist/src/protocol/message.d.ts +0 -1198
  1564. package/dist/src/protocol/message.js +0 -2
  1565. package/dist/src/public/channels/chat-sdk/messageToUserContent.js +0 -1
  1566. package/dist/src/public/channels/slack/input-response.js +0 -1
  1567. package/dist/src/runtime/agent/model-catalog.d.ts +0 -10
  1568. package/dist/src/runtime/agent/model-catalog.js +0 -1
  1569. package/dist/src/runtime/hooks/registry.d.ts +0 -34
  1570. package/dist/src/runtime/hooks/registry.js +0 -1
  1571. package/dist/src/runtime/resolve-dynamic-connection.d.ts +0 -5
  1572. package/dist/src/runtime/resolve-dynamic-connection.js +0 -1
  1573. package/dist/src/runtime/resolve-dynamic-instructions.d.ts +0 -4
  1574. package/dist/src/runtime/resolve-dynamic-instructions.js +0 -1
  1575. package/dist/src/runtime/resolve-dynamic-skill.d.ts +0 -8
  1576. package/dist/src/runtime/resolve-dynamic-skill.js +0 -1
  1577. package/dist/src/runtime/resolve-dynamic-subagent.d.ts +0 -9
  1578. package/dist/src/runtime/resolve-dynamic-subagent.js +0 -1
  1579. package/dist/src/runtime/resolve-dynamic-tool.d.ts +0 -12
  1580. package/dist/src/runtime/resolve-dynamic-tool.js +0 -1
  1581. package/dist/src/self-modification/migration.d.ts +0 -9
  1582. package/dist/src/self-modification/migration.js +0 -28
  1583. package/dist/src/shared/history-view.d.ts +0 -22
  1584. package/dist/src/shared/history-view.js +0 -1
  1585. package/dist/src/shared/package-version.d.ts +0 -2
  1586. package/dist/src/shared/package-version.js +0 -1
  1587. package/dist/src/tools/durable-callbacks.d.ts +0 -118
  1588. package/dist/src/tools/durable-callbacks.js +0 -1
  1589. package/dist/src/tools/durable-schema.d.ts +0 -16
  1590. package/dist/src/tools/durable-schema.js +0 -1
  1591. /package/dist/src/{client/eve-agent-store-state.js → ai/decision-types.js} +0 -0
  1592. /package/dist/src/client/{message-reducer-types.js → agent-info-types.js} +0 -0
  1593. /package/dist/src/client/{reducer.js → health-types.js} +0 -0
  1594. /package/dist/src/{shared → protocol/session-projection}/display-name.d.ts +0 -0
  1595. /package/dist/src/{shared → protocol/session-projection}/display-name.js +0 -0
@@ -24,7 +24,7 @@ export declare const ROOT_COMPILED_AGENT_NODE_ID = "__root__";
24
24
  /**
25
25
  * Current compiled manifest schema version.
26
26
  */
27
- export declare const COMPILED_AGENT_MANIFEST_VERSION = 54;
27
+ export declare const COMPILED_AGENT_MANIFEST_VERSION = 55;
28
28
  /**
29
29
  * Active compiled channel entry — backed by an authored `Channel` module.
30
30
  */
@@ -91,9 +91,7 @@ export type CompiledRuntimeModelReference = InternalAgentModelDefinition & {
91
91
  /**
92
92
  * Dynamic model resolver source preserved in the compiled manifest.
93
93
  */
94
- export type CompiledDynamicModelDefinition = ModuleSourceRef & {
95
- readonly eventNames: readonly string[];
96
- };
94
+ export type CompiledDynamicModelDefinition = ModuleSourceRef;
97
95
  /**
98
96
  * Normalized authored compaction configuration preserved in the compiled
99
97
  * manifest.
@@ -157,7 +155,6 @@ export type CompiledWorkspaceResourceRoot = z.infer<typeof compiledWorkspaceReso
157
155
  export type CompiledConnectionDefinition = z.infer<typeof compiledConnectionDefinitionSchema>;
158
156
  /** Dynamic connection resolver source preserved for runtime evaluation. */
159
157
  export interface CompiledDynamicConnectionDefinition extends ModuleSourceRef {
160
- readonly eventNames: readonly string[];
161
158
  /** Map results from extensions receive this mount namespace. */
162
159
  readonly extensionNamespace?: string;
163
160
  readonly slug: string;
@@ -183,8 +180,6 @@ export type CompiledToolDefinition = InternalToolDefinition & ModuleSourceRef &
183
180
  */
184
181
  export interface CompiledDynamicToolDefinition extends ModuleSourceRef {
185
182
  readonly slug: string;
186
- readonly eventNames: readonly string[];
187
- readonly rebindMissingCallbacks?: boolean;
188
183
  /**
189
184
  * Mount namespace when this resolver comes from an extension. The runtime
190
185
  * prefixes the names of tools the resolver produces (`forecast` →
@@ -196,7 +191,6 @@ export interface CompiledDynamicToolDefinition extends ModuleSourceRef {
196
191
  export interface CompiledMemoryDefinition extends ModuleSourceRef {
197
192
  readonly description?: string;
198
193
  readonly slot: string;
199
- readonly visibility: "scope" | "session";
200
194
  }
201
195
  /**
202
196
  * Compiled dynamic skill resolver entry. Mirrors
@@ -205,7 +199,6 @@ export interface CompiledMemoryDefinition extends ModuleSourceRef {
205
199
  */
206
200
  export interface CompiledDynamicSkillDefinition extends ModuleSourceRef {
207
201
  readonly slug: string;
208
- readonly eventNames: readonly string[];
209
202
  /**
210
203
  * Mount namespace when this resolver comes from an extension. Names of skills
211
204
  * a map resolver produces are prefixed with `${extensionNamespace}__`.
@@ -218,7 +211,6 @@ export interface CompiledDynamicSkillDefinition extends ModuleSourceRef {
218
211
  */
219
212
  export interface CompiledDynamicInstructionsDefinition extends ModuleSourceRef {
220
213
  readonly slug: string;
221
- readonly eventNames: readonly string[];
222
214
  }
223
215
  /**
224
216
  * Normalized authored hook entry preserved in the compiled manifest.
@@ -802,7 +794,7 @@ export declare const compiledAgentManifestSchema: z.ZodObject<{
802
794
  maxSubagents: z.ZodNumber;
803
795
  }, z.core.$strict>>;
804
796
  }, z.core.$strict>>;
805
- version: z.ZodLiteral<54>;
797
+ version: z.ZodLiteral<55>;
806
798
  workspaceResourceRoot: z.ZodObject<{
807
799
  contentHash: z.ZodOptional<z.ZodString>;
808
800
  logicalPath: z.ZodString;
@@ -1 +1 @@
1
- import{z}from"#compiled/zod/index.js";import{mountIdSchema}from"#shared/extension-mount.js";import{discoverDiagnosticsSummarySchema}from"#discover/diagnostics.js";import{compiledRemoteAgentNodeSchema}from"#compiler/remote-agent-node.js";import{jsonObjectSchema}from"#shared/json-schemas.js";import{WEB_SEARCH_FALLBACK_PROVIDERS,WEB_SEARCH_PROVIDERS}from"#shared/web-search.js";import{AGENT_WORKFLOW_RETENTION_VALUES,ANTHROPIC_PROMPT_CACHE_TTLS}from"#shared/agent-definition.js";import{validateCompiledAgentManifest,validateCompiledAgentResources}from"#compiler/validate-artifact.js";const COMPILED_AGENT_MANIFEST_KIND=`eve-agent-compiled-manifest`,ROOT_COMPILED_AGENT_NODE_ID=`__root__`,COMPILED_AGENT_MANIFEST_VERSION=54,agentSourceOwnerSchema=z.discriminatedUnion(`kind`,[z.object({kind:z.literal(`application`)}).strict(),z.object({feature:z.string().min(1),kind:z.literal(`framework`)}).strict(),z.object({kind:z.literal(`extension`),mountId:mountIdSchema,namespace:z.string().min(1),packageName:z.string().min(1)}).strict()]),moduleSourceRefSchema=z.object({exportName:z.string().optional(),sourceKind:z.literal(`module`),logicalPath:z.string(),sourceId:z.string()}).strict(),filesystemModuleBackingSchema=z.object({externalDependencies:z.array(z.string()).readonly(),extensionScope:z.object({namespace:z.string(),sourceRoot:z.string()}).strict().optional(),mountId:z.string().optional(),kind:z.literal(`filesystem`),sourcePath:z.string()}).strict(),programmaticModuleBackingSchema=z.object({dependencies:z.record(z.string(),z.string()).readonly().optional(),kind:z.literal(`programmatic`),mountId:z.string().optional(),moduleId:z.string(),parameters:jsonObjectSchema.optional(),registryId:z.string(),revision:z.string(),semanticRevision:z.string().optional()}).strict(),resourceSourceBackingSchema=z.object({kind:z.literal(`resource`),sourcePath:z.string()}).strict(),agentModuleBackingSchema=z.discriminatedUnion(`kind`,[filesystemModuleBackingSchema,programmaticModuleBackingSchema]),compiledModuleBindingSchema=z.object({backing:agentModuleBackingSchema,logicalPath:z.string(),owner:agentSourceOwnerSchema,usage:z.object({compile:z.boolean(),runtimeEntry:z.boolean()}).strict()}).strict(),agentSourceDescriptorSchema=z.object({backing:z.discriminatedUnion(`kind`,[filesystemModuleBackingSchema,programmaticModuleBackingSchema,resourceSourceBackingSchema]),form:z.enum([`derived`,`direct`]),layer:z.enum([`framework-default`,`extension-package`,`extension-override`,`application`]),logicalPath:z.string(),owner:agentSourceOwnerSchema,sourceId:z.string()}).strict(),agentSourceCompositionSchema=z.object({entries:z.array(z.discriminatedUnion(`kind`,[z.object({kind:z.literal(`shadowed`),source:agentSourceDescriptorSchema,winnerSourceId:z.string()}).strict(),z.object({kind:z.literal(`disabled`),source:agentSourceDescriptorSchema}).strict()])).readonly()}).strict(),compiledDynamicModelDefinitionSchema=z.object({eventNames:z.array(z.string()).readonly(),exportName:z.string().optional(),sourceKind:z.literal(`module`),logicalPath:z.string(),sourceId:z.string()}).strict(),channelMethodSchema=z.union([z.literal(`GET`),z.literal(`HEAD`),z.literal(`POST`),z.literal(`PUT`),z.literal(`PATCH`),z.literal(`DELETE`),z.literal(`OPTIONS`),z.literal(`WEBSOCKET`)]),compiledChannelCorsSchema=z.object({origin:z.union([z.literal(`*`),z.literal(`null`),z.array(z.string())]).optional(),methods:z.union([z.literal(`*`),z.array(z.string())]).optional(),allowHeaders:z.union([z.literal(`*`),z.array(z.string())]).optional(),exposeHeaders:z.union([z.literal(`*`),z.array(z.string())]).optional(),credentials:z.boolean().optional(),maxAge:z.union([z.string(),z.literal(!1)]).optional(),preflight:z.object({statusCode:z.number().int().min(100).max(599).optional()}).strict().optional()}).strict(),compiledVercelConnectMetadataSchema=z.object({connector:z.string(),requirement:z.object({method:z.string().optional(),reference:z.string(),service:z.string(),subjectTypes:z.array(z.enum([`app`,`user`])).readonly()}).strict().optional()}).strict(),compiledChannelDefinitionSchema=z.object({kind:z.literal(`channel`),name:z.string(),logicalPath:z.string(),method:channelMethodSchema,urlPath:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`),exportName:z.string().optional(),adapterKind:z.string().optional(),cors:compiledChannelCorsSchema.optional(),manifest:jsonObjectSchema.optional(),vercelConnect:compiledVercelConnectMetadataSchema.optional()}).strict(),compiledChannelPreflightDefinitionSchema=z.object({cors:compiledChannelCorsSchema,method:z.literal(`OPTIONS`),sourceIds:z.array(z.string()).readonly(),urlPath:z.string()}).strict(),compiledShadowedChannelRouteSchema=z.object({method:channelMethodSchema,source:agentSourceDescriptorSchema,urlPath:z.string(),winnerSourceId:z.string()}).strict(),compiledChannelRoutePlanSchema=z.object({effective:z.array(compiledChannelDefinitionSchema).readonly(),preflight:z.array(compiledChannelPreflightDefinitionSchema).readonly(),shadowed:z.array(compiledShadowedChannelRouteSchema).readonly()}).strict(),modelRoutingSchema=z.union([z.object({kind:z.literal(`gateway`),target:z.string(),byok:z.string().optional()}).strict(),z.object({kind:z.literal(`external`),provider:z.string()}).strict()]),compiledRuntimeModelReferenceSchema=z.object({contextWindowTokens:z.number().int().positive().optional(),id:z.string(),maxOutputTokens:z.number().int().positive().optional(),source:moduleSourceRefSchema.optional(),sourceField:z.literal(`compaction.model`).optional(),promptCache:z.object({anthropic:z.object({ttl:z.literal(ANTHROPIC_PROMPT_CACHE_TTLS).optional()}).strict().optional()}).strict().optional(),providerOptions:z.record(z.string(),jsonObjectSchema).optional(),routing:modelRoutingSchema}).strict(),compiledAgentBuildDefinitionSchema=z.object({externalDependencies:z.array(z.string()).optional()}).strict(),compiledAgentWorkflowWorldDefinitionSchema=z.string(),compiledAgentWorkflowDefinitionSchema=z.object({modelCallsPerStep:z.number().int().positive().optional(),retention:z.literal(AGENT_WORKFLOW_RETENTION_VALUES).optional(),world:compiledAgentWorkflowWorldDefinitionSchema.optional()}).strict(),compiledAgentCompactionDefinitionSchema=z.object({model:compiledRuntimeModelReferenceSchema.optional(),thresholdPercent:z.number().finite().min(0).max(1).optional()}).strict(),sessionTimeoutSchema=z.union([z.number().int().positive(),z.literal(!1)]),compiledAgentLimitsDefinitionSchema=z.object({sessionTimeoutMs:sessionTimeoutSchema.optional(),sessionUsage:z.literal(!0).optional()}).strict(),compiledAgentConfigBaseFields={build:compiledAgentBuildDefinitionSchema.optional(),compaction:compiledAgentCompactionDefinitionSchema.optional(),defaultTools:z.boolean().optional(),description:z.string().optional(),experimental:z.object({workflow:compiledAgentWorkflowDefinitionSchema.optional()}).strict().optional(),name:z.string(),reasoning:z.enum([`provider-default`,`none`,`minimal`,`low`,`medium`,`high`,`xhigh`]).optional(),source:moduleSourceRefSchema,tool:z.union([z.boolean(),z.literal(`deferred`)]).optional(),limits:compiledAgentLimitsDefinitionSchema.optional()},compiledAgentConfigSchema=z.union([z.object({...compiledAgentConfigBaseFields,model:compiledRuntimeModelReferenceSchema}).strict(),z.object({...compiledAgentConfigBaseFields,dynamicModel:compiledDynamicModelDefinitionSchema}).strict()]),compiledInstructionsBaseFields={content:z.string(),name:z.string(),logicalPath:z.string(),role:z.enum([`system`,`user`]),sourceId:z.string()},compiledInstructionsSchema=z.discriminatedUnion(`sourceKind`,[z.object({...compiledInstructionsBaseFields,owner:agentSourceOwnerSchema,sourceKind:z.literal(`markdown`)}).strict(),z.object({...compiledInstructionsBaseFields,sourceKind:z.literal(`module`)}).strict()]),compiledSkillBaseFields={name:z.string(),deferred:z.boolean().optional(),description:z.string(),license:z.string().optional(),markdown:z.string(),metadata:z.record(z.string(),z.string()).optional(),sourceId:z.string(),logicalPath:z.string()},compiledSkillSourceSchema=z.discriminatedUnion(`sourceKind`,[z.object({...compiledSkillBaseFields,owner:agentSourceOwnerSchema,sourceKind:z.literal(`markdown`)}).strict(),z.object({...compiledSkillBaseFields,sourceKind:z.literal(`module`),exportName:z.string().optional()}).strict(),z.object({...compiledSkillBaseFields,owner:agentSourceOwnerSchema,sourceKind:z.literal(`skill-package`),skillId:z.string(),skillFilePath:z.string(),rootPath:z.string(),assetsPath:z.string().optional(),referencesPath:z.string().optional(),scriptsPath:z.string().optional()}).strict()]),compiledScheduleBaseFields={cron:z.string(),hasRun:z.boolean(),name:z.string(),logicalPath:z.string(),markdown:z.string().optional(),sourceId:z.string()},compiledScheduleDefinitionSchema=z.discriminatedUnion(`sourceKind`,[z.object({...compiledScheduleBaseFields,owner:agentSourceOwnerSchema,sourceKind:z.literal(`markdown`)}).strict(),z.object({...compiledScheduleBaseFields,sourceKind:z.literal(`module`)}).strict()]),compiledScheduleCollectionDefinitionSchema=z.object({description:z.string().optional(),logicalPath:z.string(),name:z.string(),providerKind:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`),tools:z.union([z.boolean(),z.literal(`deferred`)]).optional()}).strict(),compiledSandboxDefinitionSchema=z.object({providerName:z.string().optional(),environmentExportName:z.string().optional(),inheritsParent:z.boolean().optional(),exportName:z.string().optional(),logicalPath:z.string(),revisionHash:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledSandboxWorkspaceSchema=z.object({logicalPath:z.string(),rootEntries:z.array(z.string()).readonly(),sourceId:z.string(),sourcePath:z.string()}).strict(),compiledWorkspaceResourceRootSchema=z.object({contentHash:z.string().optional(),logicalPath:z.string(),rootEntries:z.array(z.string()).readonly()}).strict(),compiledConnectionDefinitionSchema=z.object({experimental_events:z.literal(!0).optional(),connectionName:z.string(),description:z.string(),exportName:z.string().optional(),logicalPath:z.string(),protocol:z.enum([`mcp`,`openapi`]).default(`mcp`),sourceId:z.string(),sourceKind:z.literal(`module`),url:z.string(),vercelConnect:compiledVercelConnectMetadataSchema.optional()}).strict(),compiledDynamicConnectionDefinitionSchema=z.object({eventNames:z.array(z.string()).readonly(),exportName:z.string().optional(),extensionNamespace:z.string().optional(),logicalPath:z.string(),slug:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledToolBehaviorSchema=z.object({availability:z.array(z.literal(`root-session`)).readonly(),handling:z.discriminatedUnion(`kind`,[z.object({action:z.literal(`self-agent`),kind:z.literal(`dispatch`)}).strict(),z.object({fallback:z.enum(WEB_SEARCH_FALLBACK_PROVIDERS).optional(),kind:z.literal(`provider-tool`),provider:z.enum(WEB_SEARCH_PROVIDERS)}).strict(),z.object({entryPoint:z.enum([`execute`,`task`,`serve`]),kind:z.literal(`workflow-tool`),workflowId:z.string()}).strict()]).optional(),shape:z.object({suspend:z.enum([`none`,`workflow`])}).strict().optional()}).strict(),compiledToolDefinitionSchema=z.object({availableInSubagents:z.boolean().optional(),behavior:compiledToolBehaviorSchema.optional(),deferred:z.boolean().optional(),description:z.string(),exportName:z.string().optional(),hasExecute:z.boolean(),hasModelOutputProjection:z.boolean(),inputSchema:jsonObjectSchema.nullable(),logicalPath:z.string(),modelInputSchema:jsonObjectSchema.optional(),name:z.string(),outputSchema:jsonObjectSchema.optional(),requiresApproval:z.boolean(),sourceId:z.string(),sourceKind:z.literal(`module`),workflowProgram:z.object({maxSubagents:z.number().int().positive()}).strict().optional()}).strict(),compiledDynamicToolDefinitionSchema=z.object({eventNames:z.array(z.string()).readonly(),exportName:z.string().optional(),extensionNamespace:z.string().optional(),logicalPath:z.string(),rebindMissingCallbacks:z.boolean().optional(),slug:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledMemoryDefinitionSchema=z.object({description:z.string().optional(),exportName:z.string().optional(),logicalPath:z.string(),slot:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`),visibility:z.enum([`scope`,`session`])}).strict(),compiledDynamicSkillDefinitionSchema=z.object({eventNames:z.array(z.string()).readonly(),exportName:z.string().optional(),extensionNamespace:z.string().optional(),logicalPath:z.string(),slug:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledDynamicInstructionsDefinitionSchema=z.object({eventNames:z.array(z.string()).readonly(),exportName:z.string().optional(),logicalPath:z.string(),slug:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledHookDefinitionSchema=z.object({eventNames:z.array(z.string()).readonly(),exportName:z.string().optional(),logicalPath:z.string(),slug:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledExtensionMountSchema=z.object({externalDependencies:z.array(z.string()).readonly(),namespace:z.string(),packageName:z.string(),specifier:z.string(),mountId:mountIdSchema,sourceRoot:z.string(),mountSourceId:z.string(),mountSourcePath:z.string(),mountLogicalPath:z.string(),programmaticImport:z.object({specifier:z.string(),entryPath:z.string(),config:jsonObjectSchema}).strict().optional()}).strict(),compiledAgentResourceFields={agentRoot:z.string(),appRoot:z.string(),bindings:z.record(z.string(),compiledModuleBindingSchema),channelRoutes:compiledChannelRoutePlanSchema,connections:z.array(compiledConnectionDefinitionSchema),dynamicConnections:z.array(compiledDynamicConnectionDefinitionSchema).default([]),diagnosticsSummary:discoverDiagnosticsSummarySchema,sourceComposition:agentSourceCompositionSchema,dynamicInstructions:z.array(compiledDynamicInstructionsDefinitionSchema).default([]),dynamicSkills:z.array(compiledDynamicSkillDefinitionSchema).default([]),dynamicTools:z.array(compiledDynamicToolDefinitionSchema).default([]),extensionMounts:z.array(compiledExtensionMountSchema).default([]),hooks:z.array(compiledHookDefinitionSchema),memories:z.array(compiledMemoryDefinitionSchema).default([]),sandbox:compiledSandboxDefinitionSchema,sandboxWorkspaces:z.array(compiledSandboxWorkspaceSchema),schedules:z.array(compiledScheduleDefinitionSchema),scheduleCollections:z.array(compiledScheduleCollectionDefinitionSchema).default([]),remoteAgents:z.array(compiledRemoteAgentNodeSchema),skills:z.array(compiledSkillSourceSchema).readonly(),instructions:z.array(compiledInstructionsSchema).readonly().default([]),tools:z.array(compiledToolDefinitionSchema),workspaceResourceRoot:compiledWorkspaceResourceRootSchema},compiledAgentResourcesSchema=z.object(compiledAgentResourceFields).strict(),compiledAgentNodeManifestSchema=z.object({...compiledAgentResourceFields,config:compiledAgentConfigSchema}).strict(),compiledSubagentNodeBaseFields={backing:resourceSourceBackingSchema,entryPath:z.string(),logicalPath:z.string(),name:z.string(),nodeId:z.string(),owner:agentSourceOwnerSchema,parentNodeId:z.string(),rootPath:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`),exportName:z.string().optional()},compiledDynamicSubagentDefinitionSchema=z.object({build:compiledAgentBuildDefinitionSchema.optional(),eventNames:z.array(z.string()).readonly(),exportName:z.string().optional(),logicalPath:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledSubagentNodeSchema=z.union([z.object({...compiledSubagentNodeBaseFields,agent:compiledAgentNodeManifestSchema,description:z.string()}).strict(),z.object({...compiledSubagentNodeBaseFields,agent:compiledAgentResourcesSchema,configResolver:compiledDynamicSubagentDefinitionSchema}).strict()]),compiledAgentManifestSchema=z.object({agentRoot:z.string(),appRoot:z.string(),bindings:z.record(z.string(),compiledModuleBindingSchema),extensionMounts:z.array(compiledExtensionMountSchema).default([]),channelRoutes:compiledChannelRoutePlanSchema,config:compiledAgentConfigSchema,connections:z.array(compiledConnectionDefinitionSchema),dynamicConnections:z.array(compiledDynamicConnectionDefinitionSchema).default([]),diagnosticsSummary:discoverDiagnosticsSummarySchema,sourceComposition:agentSourceCompositionSchema,dynamicInstructions:z.array(compiledDynamicInstructionsDefinitionSchema).default([]),dynamicSkills:z.array(compiledDynamicSkillDefinitionSchema).default([]),dynamicTools:z.array(compiledDynamicToolDefinitionSchema).default([]),hooks:z.array(compiledHookDefinitionSchema),memories:z.array(compiledMemoryDefinitionSchema).default([]),kind:z.literal(COMPILED_AGENT_MANIFEST_KIND),remoteAgents:z.array(compiledRemoteAgentNodeSchema),sandbox:compiledSandboxDefinitionSchema,sandboxWorkspaces:z.array(compiledSandboxWorkspaceSchema),schedules:z.array(compiledScheduleDefinitionSchema),scheduleCollections:z.array(compiledScheduleCollectionDefinitionSchema).default([]),skills:z.array(compiledSkillSourceSchema).readonly(),subagents:z.array(compiledSubagentNodeSchema),instructions:z.array(compiledInstructionsSchema).readonly().default([]),tools:z.array(compiledToolDefinitionSchema),version:z.literal(54),workspaceResourceRoot:compiledWorkspaceResourceRootSchema}).strict();function createCompiledAgentResources(e){return{agentRoot:e.agentRoot,appRoot:e.appRoot,bindings:{...e.bindings},channelRoutes:{effective:[...e.channelRoutes.effective],preflight:[...e.channelRoutes.preflight],shadowed:[...e.channelRoutes.shadowed]},connections:[...e.connections??[]],dynamicConnections:[...e.dynamicConnections??[]],diagnosticsSummary:e.diagnosticsSummary??{errors:0,warnings:0},sourceComposition:{entries:[...e.sourceComposition.entries]},dynamicInstructions:[...e.dynamicInstructions??[]],dynamicSkills:[...e.dynamicSkills??[]],dynamicTools:[...e.dynamicTools??[]],extensionMounts:[...e.extensionMounts??[]],hooks:[...e.hooks??[]],memories:[...e.memories??[]],instructions:[...e.instructions??[]],remoteAgents:[...e.remoteAgents??[]],sandbox:e.sandbox,sandboxWorkspaces:[...e.sandboxWorkspaces??[]],schedules:[...e.schedules??[]],scheduleCollections:[...e.scheduleCollections??[]],skills:[...e.skills??[]],tools:[...e.tools??[]],workspaceResourceRoot:e.workspaceResourceRoot??{logicalPath:``,rootEntries:deriveResourceRootEntries({sandboxWorkspaces:e.sandboxWorkspaces,skills:e.skills})}}}function createCompiledAgentNodeManifest(e){let t={...createCompiledAgentResources(e),config:cloneCompiledAgentDefinition(e.config)};return validateCompiledAgentResources(t,{allowUnknownResourceWinners:!0}),t}function cloneCompiledAgentDefinition(e){let t={build:e.build===void 0?void 0:{externalDependencies:e.build.externalDependencies===void 0?void 0:[...e.build.externalDependencies]},compaction:{model:e.compaction?.model===void 0?void 0:cloneCompiledRuntimeModelReference(e.compaction.model),thresholdPercent:e.compaction?.thresholdPercent},defaultTools:e.defaultTools,description:e.description,experimental:e.experimental===void 0?void 0:{workflow:e.experimental.workflow===void 0?void 0:{modelCallsPerStep:e.experimental.workflow.modelCallsPerStep,retention:e.experimental.workflow.retention,world:e.experimental.workflow.world}},name:e.name,reasoning:e.reasoning,limits:e.limits===void 0?void 0:{sessionTimeoutMs:e.limits.sessionTimeoutMs,sessionUsage:e.limits.sessionUsage},source:{...e.source},tool:e.tool};return e.dynamicModel===void 0?{...t,model:cloneCompiledRuntimeModelReference(e.model)}:{...t,dynamicModel:{...e.dynamicModel}}}function deriveResourceRootEntries(e){let t=new Set;for(let n of e.sandboxWorkspaces??[])for(let e of n.rootEntries)t.add(e);return[...t].sort((e,t)=>e.localeCompare(t))}function createCompiledSubagentNodeId(e,t){return e===`__root__`?t:`${e}::${t}`}function createCompiledAgentManifest(e){let t={...createCompiledAgentNodeManifest(e),kind:COMPILED_AGENT_MANIFEST_KIND,extensionMounts:[...e.extensionMounts??[]],subagents:[...e.subagents??[]],version:54};return validateCompiledAgentManifest(t),t}function cloneCompiledRuntimeModelReference(e){let t={id:e.id,routing:cloneModelRouting(e.routing)};return e.contextWindowTokens!==void 0&&(t.contextWindowTokens=e.contextWindowTokens),e.maxOutputTokens!==void 0&&(t.maxOutputTokens=e.maxOutputTokens),e.providerOptions!==void 0&&(t.providerOptions={...e.providerOptions}),e.promptCache!==void 0&&(t.promptCache=structuredClone(e.promptCache)),e.source!==void 0&&(t.source={...e.source}),e.sourceField!==void 0&&(t.sourceField=e.sourceField),t}function cloneModelRouting(e){return e.kind===`external`?{kind:`external`,provider:e.provider}:e.byok===void 0?{kind:`gateway`,target:e.target}:{kind:`gateway`,target:e.target,byok:e.byok}}export{COMPILED_AGENT_MANIFEST_KIND,COMPILED_AGENT_MANIFEST_VERSION,ROOT_COMPILED_AGENT_NODE_ID,compiledAgentManifestSchema,createCompiledAgentManifest,createCompiledAgentNodeManifest,createCompiledAgentResources,createCompiledSubagentNodeId,deriveResourceRootEntries};
1
+ import{z}from"#compiled/zod/index.js";import{mountIdSchema}from"#shared/extension-mount.js";import{discoverDiagnosticsSummarySchema}from"#discover/diagnostics.js";import{compiledRemoteAgentNodeSchema}from"#compiler/remote-agent-node.js";import{jsonObjectSchema}from"#shared/json-schemas.js";import{WEB_SEARCH_FALLBACK_PROVIDERS,WEB_SEARCH_PROVIDERS}from"#shared/web-search.js";import{AGENT_WORKFLOW_RETENTION_VALUES,ANTHROPIC_PROMPT_CACHE_TTLS}from"#shared/agent-definition.js";import{validateCompiledAgentManifest,validateCompiledAgentResources}from"#compiler/validate-artifact.js";const COMPILED_AGENT_MANIFEST_KIND=`eve-agent-compiled-manifest`,ROOT_COMPILED_AGENT_NODE_ID=`__root__`,COMPILED_AGENT_MANIFEST_VERSION=55,agentSourceOwnerSchema=z.discriminatedUnion(`kind`,[z.object({kind:z.literal(`application`)}).strict(),z.object({feature:z.string().min(1),kind:z.literal(`framework`)}).strict(),z.object({kind:z.literal(`extension`),mountId:mountIdSchema,namespace:z.string().min(1),packageName:z.string().min(1)}).strict()]),moduleSourceRefSchema=z.object({exportName:z.string().optional(),sourceKind:z.literal(`module`),logicalPath:z.string(),sourceId:z.string()}).strict(),filesystemModuleBackingSchema=z.object({externalDependencies:z.array(z.string()).readonly(),extensionScope:z.object({namespace:z.string(),sourceRoot:z.string()}).strict().optional(),mountId:z.string().optional(),kind:z.literal(`filesystem`),sourcePath:z.string()}).strict(),programmaticModuleBackingSchema=z.object({dependencies:z.record(z.string(),z.string()).readonly().optional(),kind:z.literal(`programmatic`),mountId:z.string().optional(),moduleId:z.string(),parameters:jsonObjectSchema.optional(),registryId:z.string(),revision:z.string(),semanticRevision:z.string().optional()}).strict(),resourceSourceBackingSchema=z.object({kind:z.literal(`resource`),sourcePath:z.string()}).strict(),agentModuleBackingSchema=z.discriminatedUnion(`kind`,[filesystemModuleBackingSchema,programmaticModuleBackingSchema]),compiledModuleBindingSchema=z.object({backing:agentModuleBackingSchema,logicalPath:z.string(),owner:agentSourceOwnerSchema,usage:z.object({compile:z.boolean(),runtimeEntry:z.boolean()}).strict()}).strict(),agentSourceDescriptorSchema=z.object({backing:z.discriminatedUnion(`kind`,[filesystemModuleBackingSchema,programmaticModuleBackingSchema,resourceSourceBackingSchema]),form:z.enum([`derived`,`direct`]),layer:z.enum([`framework-default`,`extension-package`,`extension-override`,`application`]),logicalPath:z.string(),owner:agentSourceOwnerSchema,sourceId:z.string()}).strict(),agentSourceCompositionSchema=z.object({entries:z.array(z.discriminatedUnion(`kind`,[z.object({kind:z.literal(`shadowed`),source:agentSourceDescriptorSchema,winnerSourceId:z.string()}).strict(),z.object({kind:z.literal(`disabled`),source:agentSourceDescriptorSchema}).strict()])).readonly()}).strict(),compiledDynamicModelDefinitionSchema=z.object({exportName:z.string().optional(),sourceKind:z.literal(`module`),logicalPath:z.string(),sourceId:z.string()}).strict(),channelMethodSchema=z.union([z.literal(`GET`),z.literal(`HEAD`),z.literal(`POST`),z.literal(`PUT`),z.literal(`PATCH`),z.literal(`DELETE`),z.literal(`OPTIONS`),z.literal(`WEBSOCKET`)]),compiledChannelCorsSchema=z.object({origin:z.union([z.literal(`*`),z.literal(`null`),z.array(z.string())]).optional(),methods:z.union([z.literal(`*`),z.array(z.string())]).optional(),allowHeaders:z.union([z.literal(`*`),z.array(z.string())]).optional(),exposeHeaders:z.union([z.literal(`*`),z.array(z.string())]).optional(),credentials:z.boolean().optional(),maxAge:z.union([z.string(),z.literal(!1)]).optional(),preflight:z.object({statusCode:z.number().int().min(100).max(599).optional()}).strict().optional()}).strict(),compiledVercelConnectMetadataSchema=z.object({connector:z.string(),requirement:z.object({method:z.string().optional(),reference:z.string(),service:z.string(),subjectTypes:z.array(z.enum([`app`,`user`])).readonly()}).strict().optional()}).strict(),compiledChannelDefinitionSchema=z.object({kind:z.literal(`channel`),name:z.string(),logicalPath:z.string(),method:channelMethodSchema,urlPath:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`),exportName:z.string().optional(),adapterKind:z.string().optional(),cors:compiledChannelCorsSchema.optional(),manifest:jsonObjectSchema.optional(),vercelConnect:compiledVercelConnectMetadataSchema.optional()}).strict(),compiledChannelPreflightDefinitionSchema=z.object({cors:compiledChannelCorsSchema,method:z.literal(`OPTIONS`),sourceIds:z.array(z.string()).readonly(),urlPath:z.string()}).strict(),compiledShadowedChannelRouteSchema=z.object({method:channelMethodSchema,source:agentSourceDescriptorSchema,urlPath:z.string(),winnerSourceId:z.string()}).strict(),compiledChannelRoutePlanSchema=z.object({effective:z.array(compiledChannelDefinitionSchema).readonly(),preflight:z.array(compiledChannelPreflightDefinitionSchema).readonly(),shadowed:z.array(compiledShadowedChannelRouteSchema).readonly()}).strict(),modelRoutingSchema=z.union([z.object({kind:z.literal(`gateway`),target:z.string(),byok:z.string().optional()}).strict(),z.object({kind:z.literal(`external`),provider:z.string()}).strict()]),compiledRuntimeModelReferenceSchema=z.object({contextWindowTokens:z.number().int().positive().optional(),id:z.string(),source:moduleSourceRefSchema.optional(),sourceField:z.literal(`compaction.model`).optional(),promptCache:z.object({anthropic:z.object({ttl:z.literal(ANTHROPIC_PROMPT_CACHE_TTLS).optional()}).strict().optional()}).strict().optional(),providerOptions:z.record(z.string(),jsonObjectSchema).optional(),routing:modelRoutingSchema}).strict(),compiledAgentBuildDefinitionSchema=z.object({externalDependencies:z.array(z.string()).optional()}).strict(),compiledAgentWorkflowWorldDefinitionSchema=z.string(),compiledAgentWorkflowDefinitionSchema=z.object({modelCallsPerStep:z.number().int().positive().optional(),retention:z.literal(AGENT_WORKFLOW_RETENTION_VALUES).optional(),world:compiledAgentWorkflowWorldDefinitionSchema.optional()}).strict(),compiledAgentCompactionDefinitionSchema=z.object({model:compiledRuntimeModelReferenceSchema.optional(),thresholdPercent:z.number().finite().min(0).max(1).optional()}).strict(),sessionTimeoutSchema=z.union([z.number().int().positive(),z.literal(!1)]),compiledAgentLimitsDefinitionSchema=z.object({sessionTimeoutMs:sessionTimeoutSchema.optional(),sessionUsage:z.literal(!0).optional()}).strict(),compiledAgentConfigBaseFields={build:compiledAgentBuildDefinitionSchema.optional(),compaction:compiledAgentCompactionDefinitionSchema.optional(),defaultTools:z.boolean().optional(),description:z.string().optional(),experimental:z.object({workflow:compiledAgentWorkflowDefinitionSchema.optional()}).strict().optional(),name:z.string(),reasoning:z.enum([`provider-default`,`none`,`minimal`,`low`,`medium`,`high`,`xhigh`]).optional(),source:moduleSourceRefSchema,tool:z.union([z.boolean(),z.literal(`deferred`)]).optional(),limits:compiledAgentLimitsDefinitionSchema.optional()},compiledAgentConfigSchema=z.union([z.object({...compiledAgentConfigBaseFields,model:compiledRuntimeModelReferenceSchema}).strict(),z.object({...compiledAgentConfigBaseFields,dynamicModel:compiledDynamicModelDefinitionSchema}).strict()]),compiledInstructionsBaseFields={content:z.string(),name:z.string(),logicalPath:z.string(),role:z.enum([`system`,`user`]),sourceId:z.string()},compiledInstructionsSchema=z.discriminatedUnion(`sourceKind`,[z.object({...compiledInstructionsBaseFields,owner:agentSourceOwnerSchema,sourceKind:z.literal(`markdown`)}).strict(),z.object({...compiledInstructionsBaseFields,sourceKind:z.literal(`module`)}).strict()]),compiledSkillBaseFields={name:z.string(),deferred:z.boolean().optional(),description:z.string(),license:z.string().optional(),content:z.string(),metadata:z.record(z.string(),z.string()).optional(),sourceId:z.string(),logicalPath:z.string()},compiledSkillSourceSchema=z.discriminatedUnion(`sourceKind`,[z.object({...compiledSkillBaseFields,owner:agentSourceOwnerSchema,sourceKind:z.literal(`markdown`)}).strict(),z.object({...compiledSkillBaseFields,sourceKind:z.literal(`module`),exportName:z.string().optional()}).strict(),z.object({...compiledSkillBaseFields,owner:agentSourceOwnerSchema,sourceKind:z.literal(`skill-package`),skillId:z.string(),skillFilePath:z.string(),rootPath:z.string(),assetsPath:z.string().optional(),referencesPath:z.string().optional(),scriptsPath:z.string().optional()}).strict()]),compiledScheduleBaseFields={cron:z.string(),hasRun:z.boolean(),name:z.string(),logicalPath:z.string(),markdown:z.string().optional(),sourceId:z.string()},compiledScheduleDefinitionSchema=z.discriminatedUnion(`sourceKind`,[z.object({...compiledScheduleBaseFields,owner:agentSourceOwnerSchema,sourceKind:z.literal(`markdown`)}).strict(),z.object({...compiledScheduleBaseFields,sourceKind:z.literal(`module`)}).strict()]),compiledScheduleCollectionDefinitionSchema=z.object({description:z.string().optional(),logicalPath:z.string(),name:z.string(),providerKind:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`),tools:z.union([z.boolean(),z.literal(`deferred`)]).optional()}).strict(),compiledSandboxDefinitionSchema=z.object({providerName:z.string().optional(),environmentExportName:z.string().optional(),inheritsParent:z.boolean().optional(),exportName:z.string().optional(),logicalPath:z.string(),revisionHash:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledSandboxWorkspaceSchema=z.object({logicalPath:z.string(),rootEntries:z.array(z.string()).readonly(),sourceId:z.string(),sourcePath:z.string()}).strict(),compiledWorkspaceResourceRootSchema=z.object({contentHash:z.string().optional(),logicalPath:z.string(),rootEntries:z.array(z.string()).readonly()}).strict(),compiledConnectionDefinitionSchema=z.object({experimental_events:z.literal(!0).optional(),connectionName:z.string(),description:z.string(),exportName:z.string().optional(),logicalPath:z.string(),protocol:z.enum([`mcp`,`openapi`]).default(`mcp`),sourceId:z.string(),sourceKind:z.literal(`module`),url:z.string(),vercelConnect:compiledVercelConnectMetadataSchema.optional()}).strict(),compiledDynamicConnectionDefinitionSchema=z.object({exportName:z.string().optional(),extensionNamespace:z.string().optional(),logicalPath:z.string(),slug:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledToolBehaviorSchema=z.object({availability:z.array(z.literal(`root-session`)).readonly(),handling:z.discriminatedUnion(`kind`,[z.object({action:z.literal(`self-agent`),kind:z.literal(`dispatch`)}).strict(),z.object({fallback:z.enum(WEB_SEARCH_FALLBACK_PROVIDERS).optional(),kind:z.literal(`provider-tool`),provider:z.enum(WEB_SEARCH_PROVIDERS)}).strict(),z.object({entryPoint:z.enum([`execute`,`task`,`serve`]),kind:z.literal(`workflow-tool`),workflowId:z.string()}).strict()]).optional(),shape:z.object({suspend:z.enum([`none`,`workflow`])}).strict().optional()}).strict(),compiledToolDefinitionSchema=z.object({availableInSubagents:z.boolean().optional(),behavior:compiledToolBehaviorSchema.optional(),deferred:z.boolean().optional(),description:z.string(),exportName:z.string().optional(),hasExecute:z.boolean(),hasModelOutputProjection:z.boolean(),inputSchema:jsonObjectSchema.nullable(),logicalPath:z.string(),modelInputSchema:jsonObjectSchema.optional(),name:z.string(),outputSchema:jsonObjectSchema.optional(),requiresApproval:z.boolean(),sourceId:z.string(),sourceKind:z.literal(`module`),workflowProgram:z.object({maxSubagents:z.number().int().positive()}).strict().optional()}).strict(),compiledDynamicToolDefinitionSchema=z.object({exportName:z.string().optional(),extensionNamespace:z.string().optional(),logicalPath:z.string(),slug:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledMemoryDefinitionSchema=z.object({description:z.string().optional(),exportName:z.string().optional(),logicalPath:z.string(),slot:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledDynamicSkillDefinitionSchema=z.object({exportName:z.string().optional(),extensionNamespace:z.string().optional(),logicalPath:z.string(),slug:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledDynamicInstructionsDefinitionSchema=z.object({exportName:z.string().optional(),logicalPath:z.string(),slug:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledHookDefinitionSchema=z.object({eventNames:z.array(z.string()).readonly(),exportName:z.string().optional(),logicalPath:z.string(),slug:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledExtensionMountSchema=z.object({externalDependencies:z.array(z.string()).readonly(),namespace:z.string(),packageName:z.string(),specifier:z.string(),mountId:mountIdSchema,sourceRoot:z.string(),mountSourceId:z.string(),mountSourcePath:z.string(),mountLogicalPath:z.string(),programmaticImport:z.object({specifier:z.string(),entryPath:z.string(),config:jsonObjectSchema}).strict().optional()}).strict(),compiledAgentResourceFields={agentRoot:z.string(),appRoot:z.string(),bindings:z.record(z.string(),compiledModuleBindingSchema),channelRoutes:compiledChannelRoutePlanSchema,connections:z.array(compiledConnectionDefinitionSchema),dynamicConnections:z.array(compiledDynamicConnectionDefinitionSchema).default([]),diagnosticsSummary:discoverDiagnosticsSummarySchema,sourceComposition:agentSourceCompositionSchema,dynamicInstructions:z.array(compiledDynamicInstructionsDefinitionSchema).default([]),dynamicSkills:z.array(compiledDynamicSkillDefinitionSchema).default([]),dynamicTools:z.array(compiledDynamicToolDefinitionSchema).default([]),extensionMounts:z.array(compiledExtensionMountSchema).default([]),hooks:z.array(compiledHookDefinitionSchema),memories:z.array(compiledMemoryDefinitionSchema).default([]),sandbox:compiledSandboxDefinitionSchema,sandboxWorkspaces:z.array(compiledSandboxWorkspaceSchema),schedules:z.array(compiledScheduleDefinitionSchema),scheduleCollections:z.array(compiledScheduleCollectionDefinitionSchema).default([]),remoteAgents:z.array(compiledRemoteAgentNodeSchema),skills:z.array(compiledSkillSourceSchema).readonly(),instructions:z.array(compiledInstructionsSchema).readonly().default([]),tools:z.array(compiledToolDefinitionSchema),workspaceResourceRoot:compiledWorkspaceResourceRootSchema},compiledAgentResourcesSchema=z.object(compiledAgentResourceFields).strict(),compiledAgentNodeManifestSchema=z.object({...compiledAgentResourceFields,config:compiledAgentConfigSchema}).strict(),compiledSubagentNodeBaseFields={backing:resourceSourceBackingSchema,entryPath:z.string(),logicalPath:z.string(),name:z.string(),nodeId:z.string(),owner:agentSourceOwnerSchema,parentNodeId:z.string(),rootPath:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`),exportName:z.string().optional()},compiledDynamicSubagentDefinitionSchema=z.object({exportName:z.string().optional(),logicalPath:z.string(),sourceId:z.string(),sourceKind:z.literal(`module`)}).strict(),compiledSubagentNodeSchema=z.union([z.object({...compiledSubagentNodeBaseFields,agent:compiledAgentNodeManifestSchema,description:z.string()}).strict(),z.object({...compiledSubagentNodeBaseFields,agent:compiledAgentResourcesSchema,configResolver:compiledDynamicSubagentDefinitionSchema}).strict()]),compiledAgentManifestSchema=z.object({agentRoot:z.string(),appRoot:z.string(),bindings:z.record(z.string(),compiledModuleBindingSchema),extensionMounts:z.array(compiledExtensionMountSchema).default([]),channelRoutes:compiledChannelRoutePlanSchema,config:compiledAgentConfigSchema,connections:z.array(compiledConnectionDefinitionSchema),dynamicConnections:z.array(compiledDynamicConnectionDefinitionSchema).default([]),diagnosticsSummary:discoverDiagnosticsSummarySchema,sourceComposition:agentSourceCompositionSchema,dynamicInstructions:z.array(compiledDynamicInstructionsDefinitionSchema).default([]),dynamicSkills:z.array(compiledDynamicSkillDefinitionSchema).default([]),dynamicTools:z.array(compiledDynamicToolDefinitionSchema).default([]),hooks:z.array(compiledHookDefinitionSchema),memories:z.array(compiledMemoryDefinitionSchema).default([]),kind:z.literal(COMPILED_AGENT_MANIFEST_KIND),remoteAgents:z.array(compiledRemoteAgentNodeSchema),sandbox:compiledSandboxDefinitionSchema,sandboxWorkspaces:z.array(compiledSandboxWorkspaceSchema),schedules:z.array(compiledScheduleDefinitionSchema),scheduleCollections:z.array(compiledScheduleCollectionDefinitionSchema).default([]),skills:z.array(compiledSkillSourceSchema).readonly(),subagents:z.array(compiledSubagentNodeSchema),instructions:z.array(compiledInstructionsSchema).readonly().default([]),tools:z.array(compiledToolDefinitionSchema),version:z.literal(55),workspaceResourceRoot:compiledWorkspaceResourceRootSchema}).strict();function createCompiledAgentResources(e){return{agentRoot:e.agentRoot,appRoot:e.appRoot,bindings:{...e.bindings},channelRoutes:{effective:[...e.channelRoutes.effective],preflight:[...e.channelRoutes.preflight],shadowed:[...e.channelRoutes.shadowed]},connections:[...e.connections??[]],dynamicConnections:[...e.dynamicConnections??[]],diagnosticsSummary:e.diagnosticsSummary??{errors:0,warnings:0},sourceComposition:{entries:[...e.sourceComposition.entries]},dynamicInstructions:[...e.dynamicInstructions??[]],dynamicSkills:[...e.dynamicSkills??[]],dynamicTools:[...e.dynamicTools??[]],extensionMounts:[...e.extensionMounts??[]],hooks:[...e.hooks??[]],memories:[...e.memories??[]],instructions:[...e.instructions??[]],remoteAgents:[...e.remoteAgents??[]],sandbox:e.sandbox,sandboxWorkspaces:[...e.sandboxWorkspaces??[]],schedules:[...e.schedules??[]],scheduleCollections:[...e.scheduleCollections??[]],skills:[...e.skills??[]],tools:[...e.tools??[]],workspaceResourceRoot:e.workspaceResourceRoot??{logicalPath:``,rootEntries:deriveResourceRootEntries({sandboxWorkspaces:e.sandboxWorkspaces,skills:e.skills})}}}function createCompiledAgentNodeManifest(e){let t={...createCompiledAgentResources(e),config:cloneCompiledAgentDefinition(e.config)};return validateCompiledAgentResources(t,{allowUnknownResourceWinners:!0}),t}function cloneCompiledAgentDefinition(e){let t={build:e.build===void 0?void 0:{externalDependencies:e.build.externalDependencies===void 0?void 0:[...e.build.externalDependencies]},compaction:{model:e.compaction?.model===void 0?void 0:cloneCompiledRuntimeModelReference(e.compaction.model),thresholdPercent:e.compaction?.thresholdPercent},defaultTools:e.defaultTools,description:e.description,experimental:e.experimental===void 0?void 0:{workflow:e.experimental.workflow===void 0?void 0:{modelCallsPerStep:e.experimental.workflow.modelCallsPerStep,retention:e.experimental.workflow.retention,world:e.experimental.workflow.world}},name:e.name,reasoning:e.reasoning,limits:e.limits===void 0?void 0:{sessionTimeoutMs:e.limits.sessionTimeoutMs,sessionUsage:e.limits.sessionUsage},source:{...e.source},tool:e.tool};return e.dynamicModel===void 0?{...t,model:cloneCompiledRuntimeModelReference(e.model)}:{...t,dynamicModel:{...e.dynamicModel}}}function deriveResourceRootEntries(e){let t=new Set;for(let n of e.sandboxWorkspaces??[])for(let e of n.rootEntries)t.add(e);return[...t].sort((e,t)=>e.localeCompare(t))}function createCompiledSubagentNodeId(e,t){return e===`__root__`?t:`${e}::${t}`}function createCompiledAgentManifest(e){let t={...createCompiledAgentNodeManifest(e),kind:COMPILED_AGENT_MANIFEST_KIND,extensionMounts:[...e.extensionMounts??[]],subagents:[...e.subagents??[]],version:55};return validateCompiledAgentManifest(t),t}function cloneCompiledRuntimeModelReference(e){let t={id:e.id,routing:cloneModelRouting(e.routing)};return e.contextWindowTokens!==void 0&&(t.contextWindowTokens=e.contextWindowTokens),e.providerOptions!==void 0&&(t.providerOptions={...e.providerOptions}),e.promptCache!==void 0&&(t.promptCache=structuredClone(e.promptCache)),e.source!==void 0&&(t.source={...e.source}),e.sourceField!==void 0&&(t.sourceField=e.sourceField),t}function cloneModelRouting(e){return e.kind===`external`?{kind:`external`,provider:e.provider}:e.byok===void 0?{kind:`gateway`,target:e.target}:{kind:`gateway`,target:e.target,byok:e.byok}}export{COMPILED_AGENT_MANIFEST_KIND,COMPILED_AGENT_MANIFEST_VERSION,ROOT_COMPILED_AGENT_NODE_ID,compiledAgentManifestSchema,createCompiledAgentManifest,createCompiledAgentNodeManifest,createCompiledAgentResources,createCompiledSubagentNodeId,deriveResourceRootEntries};
@@ -1,24 +1,14 @@
1
- import { z } from "#compiled/zod/index.js";
2
- export { catalogModelProviderSchema, catalogModelSchema, modelCatalogResponseSchema, } from "#internal/model-catalog.js";
3
- export type { CatalogModelProvider, CatalogModel } from "#internal/model-catalog.js";
1
+ import { type ModelCatalogEntry, type ModelMetadata } from "#internal/model-catalog.js";
4
2
  /**
5
- * Stable runtime model limits that eve can embed in compiled artifacts without
6
- * resolving provider metadata at runtime.
7
- */
8
- export type CompiledRuntimeModelLimits = z.infer<typeof compiledRuntimeModelLimitsSchema>;
9
- declare const compiledRuntimeModelLimitsSchema: z.ZodObject<{
10
- contextWindowTokens: z.ZodNumber;
11
- maxOutputTokens: z.ZodOptional<z.ZodNumber>;
12
- }, z.core.$strict>;
13
- /**
14
- * Loader that resolves compile-time model limits for one application build.
3
+ * Build-time reader of the AI Gateway model catalog. A build reads the catalog through a
4
+ * short-lived disk cache, resolves its static models from it, and bakes the snapshot that
5
+ * runtime model selections use into the compiled artifacts.
15
6
  */
16
7
  export interface CompiledRuntimeModelCatalogLoader {
17
- getModelLimits(modelId: string): Promise<CompiledRuntimeModelLimits | null>;
18
- getByProviderModelId(provider: string, providerModelId: string): Promise<{
19
- slug: string;
20
- limits: CompiledRuntimeModelLimits;
21
- } | null>;
8
+ getModelLimits(modelId: string): Promise<ModelCatalogEntry | null>;
9
+ getByProviderModelId(provider: string, providerModelId: string): Promise<ModelCatalogEntry | null>;
10
+ /** The snapshot this build ships; empty, with `fetchedAt: null`, when the catalog is unavailable. */
11
+ loadModelMetadata(): Promise<ModelMetadata>;
22
12
  }
23
13
  /**
24
14
  * Resolves the app-local cache path used for AI Gateway model metadata during
@@ -1 +1 @@
1
- import{mkdir,readFile,writeFile}from"node:fs/promises";import{z}from"#compiled/zod/index.js";import{join}from"node:path";import{AI_GATEWAY_MODELS_CATALOG_URL,vercelGatewayFetch}from"#internal/gateway.js";import{catalogModelProviderSchema,catalogModelSchema,catalogModelSchema as catalogModelSchema$1,findCatalogModelByProviderModelId,findCatalogModelBySlug,modelCatalogLimitsFromProvider,modelCatalogResponseSchema,modelCatalogResponseSchema as modelCatalogResponseSchema$1,normalizeCatalogModelId}from"#internal/model-catalog.js";const COMPILED_RUNTIME_MODEL_CATALOG_CACHE_KIND=`eve-model-catalog-cache`;z.object({contextWindowTokens:z.number().int().positive(),maxOutputTokens:z.number().int().positive().optional()}).strict();const compiledRuntimeModelCatalogCacheSchema=z.object({fetchedAt:z.string(),kind:z.literal(COMPILED_RUNTIME_MODEL_CATALOG_CACHE_KIND),models:z.array(catalogModelSchema$1),providerAliases:z.record(z.string(),z.string()),version:z.literal(2)}).strict(),builtInCompiledRuntimeModelLimitsById=new Map([[`anthropic/claude-opus-4.7`,{contextWindowTokens:2e5,maxOutputTokens:32e3}],[`openai/gpt-5.4`,{contextWindowTokens:4e5,maxOutputTokens:128e3}],[`openai/gpt-5.4-mini`,{contextWindowTokens:4e5,maxOutputTokens:128e3}]]);function resolveCompiledRuntimeModelCatalogCachePath(e){return join(e,`.eve`,`cache`,`model-catalog.json`)}function createCompiledRuntimeModelCatalogLoader(e){let t=null,n=null,r=null,getCachedCatalog=async()=>(t??=readModelCatalogCache(e),await t),getFetchedCatalog=async()=>{if(n!==null)throw n;if(r!==null)return await r;r=fetchAndPersistModelCatalog(e).then(e=>(t=Promise.resolve(e),e));try{return await r}catch(e){throw n=e,e}},resolveModelsFromCacheOrFetch=async e=>{let t=await getCachedCatalog();if(e?.forceRefresh!==!0&&t!==null&&isCacheFresh(t))return t;try{return await getFetchedCatalog()}catch(e){if(t!==null)return t;throw e}};return{async getModelLimits(e){let t=builtInCompiledRuntimeModelLimitsById.get(e)??builtInCompiledRuntimeModelLimitsById.get(normalizeCatalogModelId(e));if(t!==void 0)return t;let n=await resolveModelsFromCacheOrFetch();if(n===null)return null;let r=findCatalogModelBySlug(n.models,e);if(r===void 0){if(n=await resolveModelsFromCacheOrFetch({forceRefresh:!0}),n===null)return null;r=findCatalogModelBySlug(n.models,e)}if(r!==void 0)for(let e of r.providers){let t=modelCatalogLimitsFromProvider(e);if(t!==null)return t}return null},async getByProviderModelId(e,t){let n=await resolveModelsFromCacheOrFetch();if(n===null)return null;let r=findCatalogModelByProviderModelId({models:n.models,provider:e,providerAliases:n.providerAliases,providerModelId:t});if(r===null){if(n=await resolveModelsFromCacheOrFetch({forceRefresh:!0}),n===null)return null;r=findCatalogModelByProviderModelId({models:n.models,provider:e,providerAliases:n.providerAliases,providerModelId:t})}if(r!==null){let e=modelCatalogLimitsFromProvider(r.provider);if(e!==null)return{slug:r.model.slug,limits:e}}return null}}}async function fetchAndPersistModelCatalog(e){let t=await vercelGatewayFetch(AI_GATEWAY_MODELS_CATALOG_URL);if(!t.ok)throw Error(`AI Gateway model catalog request failed with HTTP ${t.status} ${t.statusText}.`);let n=modelCatalogResponseSchema$1.safeParse(await t.json());if(!n.success)throw Error(`AI Gateway model catalog response did not match the expected schema.`);let r={fetchedAt:new Date().toISOString(),kind:COMPILED_RUNTIME_MODEL_CATALOG_CACHE_KIND,models:n.data.models,providerAliases:n.data.providerAliases,version:2};try{let t=resolveCompiledRuntimeModelCatalogCachePath(e);await mkdir(join(e,`.eve`,`cache`),{recursive:!0}),await writeFile(t,`${JSON.stringify(r,null,2)}\n`,`utf8`)}catch{}return r}async function readModelCatalogCache(e){try{let t=await readFile(resolveCompiledRuntimeModelCatalogCachePath(e),`utf8`),n=compiledRuntimeModelCatalogCacheSchema.safeParse(JSON.parse(t));return n.success?n.data:null}catch(e){return e instanceof Error&&`code`in e&&typeof e.code==`string`&&e.code,null}}function isCacheFresh(e){let t=Date.parse(e.fetchedAt);return Number.isFinite(t)?Date.now()-t<=3e5:!1}export{catalogModelProviderSchema,catalogModelSchema,createCompiledRuntimeModelCatalogLoader,modelCatalogResponseSchema,resolveCompiledRuntimeModelCatalogCachePath};
1
+ import{mkdir,readFile,writeFile}from"node:fs/promises";import{z}from"#compiled/zod/index.js";import{join}from"node:path";import{AI_GATEWAY_MODELS_CATALOG_URL,vercelGatewayFetch}from"#internal/gateway.js";import{catalogModelSchema,createModelMetadata,lookupCatalogModelByProviderModelId,lookupCatalogModelBySlug,modelCatalogResponseSchema}from"#internal/model-catalog.js";const MODEL_CATALOG_CACHE_KIND=`eve-model-catalog-cache`,modelCatalogCacheSchema=z.object({fetchedAt:z.string(),kind:z.literal(MODEL_CATALOG_CACHE_KIND),models:z.array(catalogModelSchema),providerAliases:z.record(z.string(),z.string()),version:z.literal(2)}).strict();function resolveCompiledRuntimeModelCatalogCachePath(e){return join(e,`.eve`,`cache`,`model-catalog.json`)}function createCompiledRuntimeModelCatalogLoader(e){let t=null,n=null,r=null,getCachedCatalog=async()=>(t??=readModelCatalogCache(e),await t),getFetchedCatalog=async()=>{if(n!==null)throw n;if(r!==null)return await r;r=fetchAndPersistModelCatalog(e).then(e=>(t=Promise.resolve(e),e));try{return await r}catch(e){throw n=e,e}},resolveCatalog=async e=>{let t=await getCachedCatalog();if(e?.forceRefresh!==!0&&t!==null&&isCacheFresh(t))return t;try{return await getFetchedCatalog()}catch(e){if(t!==null)return t;throw e}},lookup=async e=>e(await resolveCatalog())??e(await resolveCatalog({forceRefresh:!0}));return{getModelLimits:async e=>await lookup(t=>lookupCatalogModelBySlug(t,e)),getByProviderModelId:async(e,t)=>await lookup(n=>lookupCatalogModelByProviderModelId(n,e,t)),async loadModelMetadata(){try{let e=await resolveCatalog();return createModelMetadata({catalog:e,fetchedAt:e.fetchedAt})}catch{return createModelMetadata(null)}}}}async function fetchAndPersistModelCatalog(e){let t=await vercelGatewayFetch(AI_GATEWAY_MODELS_CATALOG_URL,{signal:AbortSignal.timeout(15e3)});if(!t.ok)throw Error(`AI Gateway model catalog request failed with HTTP ${t.status} ${t.statusText}.`);let n=modelCatalogResponseSchema.safeParse(await t.json());if(!n.success)throw Error(`AI Gateway model catalog response did not match the expected schema.`);let r={fetchedAt:new Date().toISOString(),kind:MODEL_CATALOG_CACHE_KIND,models:n.data.models,providerAliases:n.data.providerAliases,version:2};try{let t=resolveCompiledRuntimeModelCatalogCachePath(e);await mkdir(join(e,`.eve`,`cache`),{recursive:!0}),await writeFile(t,`${JSON.stringify(r,null,2)}\n`,`utf8`)}catch{}return r}async function readModelCatalogCache(e){try{let t=await readFile(resolveCompiledRuntimeModelCatalogCachePath(e),`utf8`),n=modelCatalogCacheSchema.safeParse(JSON.parse(t));return n.success?n.data:null}catch{return null}}function isCacheFresh(e){let t=Date.parse(e.fetchedAt);return Number.isFinite(t)?Date.now()-t<=3e5:!1}export{createCompiledRuntimeModelCatalogLoader,resolveCompiledRuntimeModelCatalogCachePath};
@@ -1 +1 @@
1
- import{isAbsolute,relative,resolve}from"node:path";import{normalizeLogicalPath}from"#discover/filesystem.js";import{toErrorMessage}from"#shared/errors.js";import{parseJsonObject}from"#shared/json.js";import{isDynamicModelDefinition}from"#shared/agent-definition.js";import{createCompiledBindingNamespaceLoader}from"#compiler/load-binding-namespace.js";import{normalizeAgentDefinition}from"#internal/authored-definition/core.js";import{formatLanguageModelGatewayId}from"#internal/runtime-model.js";import{classifyModelRouting}from"#internal/classify-model-routing.js";import{isMockModel}from"#internal/mock-model-identity.js";import{isChatGptModelRouting}from"#shared/chatgpt-model.js";import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";async function compileAgentConfig(e,t,n){let r=n.source,i=formatAgentConfigModulePath(e,r,n.binding),a=normalizeAgentDefinition(Object.hasOwn(n,`definition`)?n.definition:await loadModuleBackedDefinition({binding:n.binding,displayPath:i,kind:`agent config`,loadNamespace:createCompiledBindingNamespaceLoader({appRoot:e.appRoot,bindings:{[r.sourceId]:n.binding},registries:t.registries}),source:r}),`Expected the agent config export "${r.exportName??`default`}" from "${i}" to match the public eve shape.`),o=isDynamicModelDefinition(a.model)?a.model:void 0,s=o===void 0?await normalizeAuthoredModelReference({modelCatalog:t.modelCatalog,purpose:`the primary compaction trigger model`,contextWindowTokens:a.modelContextWindowTokens,promptCache:a.modelOptions?.promptCache,providerOptions:a.modelOptions?.providerOptions,source:r,sourcePath:i,value:a.model}):void 0,c={},l={compaction:c,name:e.agentId,source:{...r}};a.defaultTools!==void 0&&(l.defaultTools=a.defaultTools),a.description!==void 0&&(l.description=a.description);let u;o!==void 0&&(u={eventNames:Object.keys(o.events),exportName:r.exportName,sourceKind:`module`,logicalPath:r.logicalPath,sourceId:r.sourceId});let d=normalizeExperimentalDefinition(a.experimental);if(d!==void 0&&(l.experimental=d),a.build!==void 0&&(l.build={externalDependencies:a.build.externalDependencies===void 0?void 0:[...a.build.externalDependencies]}),a.reasoning!==void 0&&(l.reasoning=a.reasoning),a.tool!==void 0&&(l.tool=a.tool),a.limits!==void 0&&(l.limits={sessionTimeoutMs:a.limits.sessionTimeoutMs,sessionUsage:a.limits.sessionUsage!==void 0||void 0}),a.compaction?.model!==void 0&&(c.model=await normalizeAuthoredModelReference({modelCatalog:t.modelCatalog,purpose:`the compaction summary model`,contextWindowTokens:a.compaction.modelContextWindowTokens,providerOptions:a.modelOptions?.providerOptions,source:r,sourceField:`compaction.model`,sourcePath:i,value:a.compaction.model})),a.compaction?.thresholdPercent!==void 0&&(c.thresholdPercent=a.compaction.thresholdPercent),u!==void 0)return{...l,dynamicModel:u};if(s===void 0)throw Error(`Expected a static agent model to compile to a concrete model reference.`);return{...l,model:s}}function normalizeExperimentalDefinition(e){if(e===void 0)return;let t={};return e.workflow!==void 0&&(t.workflow={modelCallsPerStep:e.workflow.modelCallsPerStep,retention:e.workflow.retention,world:e.workflow.world}),t}async function normalizeAuthoredModelReference(e){if(typeof e.value==`string`){let t=classifyModelRouting(e.value,e.providerOptions);return rejectGatewayPromptCache(e,t),await withCompiledRuntimeModelLimits({id:formatLanguageModelGatewayId(e.value),providerOptions:parseProviderOptionsRecord(e.providerOptions),routing:t},e)}let t=e.source;if(t===void 0)throw Error(`Expected ${e.purpose} to provide a valid AI SDK language model reference.`);let n=e.value,r=n.specificationVersion;if(r!==`v2`&&r!==`v3`&&r!==`v4`||typeof n.provider!=`string`||typeof n.modelId!=`string`||typeof n.doGenerate!=`function`||typeof n.doStream!=`function`)throw Error(`Expected the authored agent config export "${t.exportName??`default`}" from "${e.sourcePath??t.logicalPath}" to provide a valid AI SDK language model.`);let i=classifyModelRouting(n,e.providerOptions);rejectGatewayPromptCache(e,i);let a={id:formatLanguageModelGatewayId(n),source:{exportName:t.exportName,sourceKind:`module`,logicalPath:t.logicalPath,sourceId:t.sourceId},providerOptions:parseProviderOptionsRecord(e.providerOptions),routing:i};if(e.sourceField!==void 0&&(a.sourceField=e.sourceField),e.promptCache!==void 0&&(a.promptCache=e.promptCache),e.contextWindowTokens===void 0){if(isChatGptModelRouting(a.routing))return{...a,contextWindowTokens:2e5};if(isMockModel(n))return{...a,contextWindowTokens:1e6};try{let t=await e.modelCatalog.getByProviderModelId(n.provider,n.modelId);if(t)return{...a,id:t.slug,contextWindowTokens:t.limits.contextWindowTokens,maxOutputTokens:t.limits.maxOutputTokens}}catch{}}return await withCompiledRuntimeModelLimits(a,e)}function rejectGatewayPromptCache(e,t){if(e.promptCache!==void 0&&t.kind===`gateway`)throw Error(`${e.sourcePath??`agent.ts`}: modelOptions.promptCache applies only to models eve calls directly, but "${formatLanguageModelGatewayId(e.value)}" routes through AI Gateway, which manages its own prompt caching. Remove promptCache, or configure Gateway caching with providerOptions.gateway.caching.`)}function formatAgentConfigModulePath(e,t,n){return n.backing.kind===`programmatic`?t.logicalPath:normalizeLogicalPath(relative(resolveTopLevelAgentRoot(e),n.backing.sourcePath))}function resolveTopLevelAgentRoot(e){let t=resolve(e.appRoot),n=resolve(t,`agent`);return isPathInsideOrEqual(n,resolve(e.agentRoot))?n:t}function isPathInsideOrEqual(e,t){let n=relative(e,t);return n===``||!n.startsWith(`..`)&&!isAbsolute(n)}async function withCompiledRuntimeModelLimits(e,t){if(t.contextWindowTokens!==void 0)return{...e,contextWindowTokens:t.contextWindowTokens};let n;try{n=await t.modelCatalog.getModelLimits(e.id)}catch(n){throw Error(`Failed to load AI Gateway model metadata for ${t.purpose} "${e.id}". ${toErrorMessage(n)}`)}if(n===null)throw Error(`Cannot compile agent compaction because ${t.purpose} "${e.id}" does not have known AI Gateway context window metadata.`);return{...e,contextWindowTokens:n.contextWindowTokens,maxOutputTokens:n.maxOutputTokens}}function parseProviderOptionsRecord(e){if(e===void 0)return;let t={};for(let[n,r]of Object.entries(e))t[n]=parseJsonObject(r);return t}export{compileAgentConfig};
1
+ import{isAbsolute,relative,resolve}from"node:path";import{normalizeLogicalPath}from"#discover/filesystem.js";import{toErrorMessage}from"#shared/errors.js";import{parseJsonObject}from"#shared/json.js";import{isDynamicModelDefinition}from"#shared/agent-definition.js";import{createCompiledBindingNamespaceLoader}from"#compiler/load-binding-namespace.js";import{normalizeAgentDefinition}from"#internal/authored-definition/core.js";import{formatLanguageModelGatewayId}from"#internal/runtime-model.js";import{classifyModelRouting}from"#internal/classify-model-routing.js";import{isMockModel}from"#internal/mock-model-identity.js";import{isChatGptModelRouting}from"#shared/chatgpt-model.js";import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";async function compileAgentConfig(e,t,n){let r=n.source,i=formatAgentConfigModulePath(e,r,n.binding),a=normalizeAgentDefinition(Object.hasOwn(n,`definition`)?n.definition:await loadModuleBackedDefinition({binding:n.binding,displayPath:i,kind:`agent config`,loadNamespace:createCompiledBindingNamespaceLoader({appRoot:e.appRoot,bindings:{[r.sourceId]:n.binding},registries:t.registries}),source:r}),`Expected the agent config export "${r.exportName??`default`}" from "${i}" to match the public eve shape.`),o=isDynamicModelDefinition(a.model)?a.model:void 0,s=o===void 0?await normalizeAuthoredModelReference({modelCatalog:t.modelCatalog,purpose:`the primary compaction trigger model`,contextWindowTokens:a.modelContextWindowTokens,promptCache:a.modelOptions?.promptCache,providerOptions:a.modelOptions?.providerOptions,source:r,sourcePath:i,value:a.model}):void 0,c={},l={compaction:c,name:e.agentId,source:{...r}};a.defaultTools!==void 0&&(l.defaultTools=a.defaultTools),a.description!==void 0&&(l.description=a.description);let u;o!==void 0&&(u={exportName:r.exportName,sourceKind:`module`,logicalPath:r.logicalPath,sourceId:r.sourceId});let d=normalizeExperimentalDefinition(a.experimental);if(d!==void 0&&(l.experimental=d),a.build!==void 0&&(l.build={externalDependencies:a.build.externalDependencies===void 0?void 0:[...a.build.externalDependencies]}),a.reasoning!==void 0&&(l.reasoning=a.reasoning),a.tool!==void 0&&(l.tool=a.tool),a.limits!==void 0&&(l.limits={sessionTimeoutMs:a.limits.sessionTimeoutMs,sessionUsage:a.limits.sessionUsage!==void 0||void 0}),a.compaction?.model!==void 0&&(c.model=await normalizeAuthoredModelReference({modelCatalog:t.modelCatalog,purpose:`the compaction summary model`,contextWindowTokens:a.compaction.modelContextWindowTokens,providerOptions:a.modelOptions?.providerOptions,source:r,sourceField:`compaction.model`,sourcePath:i,value:a.compaction.model})),a.compaction?.thresholdPercent!==void 0&&(c.thresholdPercent=a.compaction.thresholdPercent),u!==void 0)return{...l,dynamicModel:u};if(s===void 0)throw Error(`Expected a static agent model to compile to a concrete model reference.`);return{...l,model:s}}function normalizeExperimentalDefinition(e){if(e===void 0)return;let t={};return e.workflow!==void 0&&(t.workflow={modelCallsPerStep:e.workflow.modelCallsPerStep,retention:e.workflow.retention,world:e.workflow.world}),t}async function normalizeAuthoredModelReference(e){if(typeof e.value==`string`){let t=classifyModelRouting(e.value,e.providerOptions);return rejectGatewayPromptCache(e,t),await withCompiledRuntimeModelLimits({id:formatLanguageModelGatewayId(e.value),providerOptions:parseProviderOptionsRecord(e.providerOptions),routing:t},e)}let t=e.source;if(t===void 0)throw Error(`Expected ${e.purpose} to provide a valid AI SDK language model reference.`);let n=e.value,r=n.specificationVersion;if(r!==`v2`&&r!==`v3`&&r!==`v4`||typeof n.provider!=`string`||typeof n.modelId!=`string`||typeof n.doGenerate!=`function`||typeof n.doStream!=`function`)throw Error(`Expected the authored agent config export "${t.exportName??`default`}" from "${e.sourcePath??t.logicalPath}" to provide a valid AI SDK language model.`);let i=classifyModelRouting(n,e.providerOptions);rejectGatewayPromptCache(e,i);let a={id:formatLanguageModelGatewayId(n),source:{exportName:t.exportName,sourceKind:`module`,logicalPath:t.logicalPath,sourceId:t.sourceId},providerOptions:parseProviderOptionsRecord(e.providerOptions),routing:i};if(e.sourceField!==void 0&&(a.sourceField=e.sourceField),e.promptCache!==void 0&&(a.promptCache=e.promptCache),e.contextWindowTokens===void 0){if(isChatGptModelRouting(a.routing))return{...a,contextWindowTokens:2e5};if(isMockModel(n))return{...a,contextWindowTokens:1e6};try{let t=await e.modelCatalog.getByProviderModelId(n.provider,n.modelId);if(t)return{...a,id:t.slug,contextWindowTokens:t.contextWindowTokens}}catch{}}return await withCompiledRuntimeModelLimits(a,e)}function rejectGatewayPromptCache(e,t){if(e.promptCache!==void 0&&t.kind===`gateway`)throw Error(`${e.sourcePath??`agent.ts`}: modelOptions.promptCache applies only to models eve calls directly, but "${formatLanguageModelGatewayId(e.value)}" routes through AI Gateway, which manages its own prompt caching. Remove promptCache, or configure Gateway caching with providerOptions.gateway.caching.`)}function formatAgentConfigModulePath(e,t,n){return n.backing.kind===`programmatic`?t.logicalPath:normalizeLogicalPath(relative(resolveTopLevelAgentRoot(e),n.backing.sourcePath))}function resolveTopLevelAgentRoot(e){let t=resolve(e.appRoot),n=resolve(t,`agent`);return isPathInsideOrEqual(n,resolve(e.agentRoot))?n:t}function isPathInsideOrEqual(e,t){let n=relative(e,t);return n===``||!n.startsWith(`..`)&&!isAbsolute(n)}async function withCompiledRuntimeModelLimits(e,t){if(t.contextWindowTokens!==void 0)return{...e,contextWindowTokens:t.contextWindowTokens};let n=await t.modelCatalog.getModelLimits(e.id).catch(n=>{throw Error(`Failed to load AI Gateway model metadata for ${t.purpose} "${e.id}". ${toErrorMessage(n)}`)});if(n===null)throw Error(`Cannot compile agent compaction because ${t.purpose} "${e.id}" does not have known AI Gateway context window metadata.`);return{...e,contextWindowTokens:n.contextWindowTokens}}function parseProviderOptionsRecord(e){if(e===void 0)return;let t={};for(let[n,r]of Object.entries(e))t[n]=parseJsonObject(r);return t}export{compileAgentConfig};
@@ -1 +1 @@
1
- import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";import{extractVercelConnectMetadata}from"#shared/vercel-connect-metadata.js";import{eveNamespaceReservation}from"#protocol/runtime-tools.js";import{normalizeMcpClientConnectionDefinition,normalizeOpenApiConnectionDefinition}from"#internal/authored-definition/connection.js";import{readConnectionProtocol}from"#public/definitions/connections/protocol.js";import{ALLOWED_DYNAMIC_CONNECTION_EVENTS,assertResolverOnlyDynamicSentinel,isDynamicSentinel}from"#dynamic/definition.js";async function compileConnectionDefinition(e,t,n){let r=await loadModuleBackedDefinition({binding:n.binding,kind:`connection`,loadNamespace:n.loadNamespace,source:t}),i=`Expected the connection export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`;if(isDynamicSentinel(r)){assertResolverOnlyDynamicSentinel(r,i);let e=Object.keys(r.events),n=e.find(e=>!ALLOWED_DYNAMIC_CONNECTION_EVENTS.has(e));if(n!==void 0)throw Error(`${i} Dynamic connections support only "session.started" and "turn.started" handlers. Unsupported event: "${n}".`);return{kind:`dynamic-connection`,definition:{eventNames:e,exportName:t.exportName,logicalPath:t.logicalPath,slug:t.connectionName,sourceId:t.sourceId,sourceKind:`module`}}}let a=eveNamespaceReservation(t.connectionName);if(a!==void 0)throw Error(`Connection "${t.logicalPath}" uses the reserved name "${t.connectionName}". Rename its path; ${a}.`);let o=readConnectionProtocol(r),s={connectionName:t.connectionName,exportName:t.exportName,logicalPath:t.logicalPath,sourceId:t.sourceId,sourceKind:`module`},c,l;if(o===`openapi`){let e=normalizeOpenApiConnectionDefinition(r,i);c={...s,description:e.description,protocol:`openapi`,url:e.baseUrl??``},l=e.auth}else{let e=normalizeMcpClientConnectionDefinition(r,i);c={...s,description:e.description,protocol:`mcp`,...e.experimental_events===void 0?{}:{experimental_events:!0},url:e.url},l=e.auth}let u=extractVercelConnectMetadata(typeof l!=`object`||!l?void 0:l.vercelConnect);return u!==void 0&&(c.vercelConnect=u),{definition:c,kind:`connection`}}export{compileConnectionDefinition};
1
+ import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";import{extractVercelConnectMetadata}from"#shared/vercel-connect-metadata.js";import{eveNamespaceReservation}from"#protocol/runtime-tools.js";import{normalizeMcpClientConnectionDefinition,normalizeOpenApiConnectionDefinition}from"#internal/authored-definition/connection.js";import{readConnectionProtocol}from"#public/definitions/connections/protocol.js";import{assertDynamicSentinelKeys,isDynamicSentinel}from"#dynamic/definition.js";async function compileConnectionDefinition(e,t,n){let r=await loadModuleBackedDefinition({binding:n.binding,kind:`connection`,loadNamespace:n.loadNamespace,source:t}),i=`Expected the connection export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`;if(isDynamicSentinel(r))return assertDynamicSentinelKeys(r,i),{kind:`dynamic-connection`,definition:{exportName:t.exportName,logicalPath:t.logicalPath,slug:t.connectionName,sourceId:t.sourceId,sourceKind:`module`}};let a=eveNamespaceReservation(t.connectionName);if(a!==void 0)throw Error(`Connection "${t.logicalPath}" uses the reserved name "${t.connectionName}". Rename its path; ${a}.`);let o=readConnectionProtocol(r),s={connectionName:t.connectionName,exportName:t.exportName,logicalPath:t.logicalPath,sourceId:t.sourceId,sourceKind:`module`},c,l;if(o===`openapi`){let e=normalizeOpenApiConnectionDefinition(r,i);c={...s,description:e.description,protocol:`openapi`,url:e.baseUrl??``},l=e.auth}else{let e=normalizeMcpClientConnectionDefinition(r,i);c={...s,description:e.description,protocol:`mcp`,...e.experimental?.events===void 0?{}:{experimental_events:!0},url:e.url},l=e.auth}let u=extractVercelConnectMetadata(typeof l!=`object`||!l?void 0:l.vercelConnect);return u!==void 0&&(c.vercelConnect=u),{definition:c,kind:`connection`}}export{compileConnectionDefinition};
@@ -1 +1 @@
1
- import{expectFunction,expectObjectRecord}from"#internal/authored-module.js";import{stripLogicalPathExtension}from"#discover/filesystem.js";import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";async function compileHookEntry(e,t){let n=expectObjectRecord(await loadModuleBackedDefinition({binding:t.binding,kind:`hook`,loadNamespace:t.loadNamespace,source:e}),`Expected the hook export "${e.exportName??`default`}" from "${e.logicalPath}" to return an object.`),r=n.events===void 0?{}:expectObjectRecord(n.events,`Expected the hook export "${e.exportName??`default`}" from "${e.logicalPath}" to expose events as an object.`);return{eventNames:Object.entries(r).flatMap(([t,n])=>n===void 0?[]:(expectFunction(n,`Expected the hook export "${e.exportName??`default`}" from "${e.logicalPath}" to provide a function for events.${t}.`),[t])),exportName:e.exportName,logicalPath:e.logicalPath,slug:stripLogicalPathExtension(e.logicalPath).replace(/^hooks\//,``),sourceId:e.sourceId,sourceKind:`module`}}export{compileHookEntry};
1
+ import{expectFunction,expectObjectRecord}from"#internal/authored-module.js";import{stripLogicalPathExtension}from"#discover/filesystem.js";import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";import{assertHookForm}from"#public/definitions/hook.js";async function compileHookEntry(e,t){let n=expectObjectRecord(await loadModuleBackedDefinition({binding:t.binding,kind:`hook`,loadNamespace:t.loadNamespace,source:e}),`Expected the hook export "${e.exportName??`default`}" from "${e.logicalPath}" to return an object.`);assertHookForm(n,`The hook export "${e.exportName??`default`}" from "${e.logicalPath}"`);let r=n.events===void 0?{}:expectObjectRecord(n.events,`Expected the hook export "${e.exportName??`default`}" from "${e.logicalPath}" to expose events as an object.`);return{eventNames:Object.entries(r).flatMap(([t,n])=>n===void 0?[]:(expectFunction(n,`Expected the hook export "${e.exportName??`default`}" from "${e.logicalPath}" to provide a function for events.${t}.`),[t])),exportName:e.exportName,logicalPath:e.logicalPath,slug:stripLogicalPathExtension(e.logicalPath).replace(/^hooks\//,``),sourceId:e.sourceId,sourceKind:`module`}}export{compileHookEntry};
@@ -1 +1 @@
1
- import{stripLogicalPathExtension}from"#discover/filesystem.js";import{normalizeInstructionsDefinition}from"#internal/authored-definition/core.js";import{loadModuleBackedDefinition,requireModuleBackedDefinitionLoadOptions}from"#compiler/normalize-helpers.js";import{ALLOWED_DYNAMIC_INSTRUCTION_EVENTS,assertResolverOnlyDynamicSentinel,isDynamicSentinel}from"#dynamic/definition.js";async function compileInstructionsEntry(e,t,n){if(t.sourceKind===`markdown`){let e=normalizeInstructionsDefinition(t.definition,`Expected the compiled instructions definition at "${t.logicalPath}" to match the public eve shape.`);return{kind:`instructions`,definition:{name:stripLogicalPathExtension(t.logicalPath),logicalPath:t.logicalPath,owner:n.owner,content:e.content,role:e.role,sourceId:t.sourceId,sourceKind:t.sourceKind}}}let r=requireModuleBackedDefinitionLoadOptions(n,t.logicalPath),i=await loadModuleBackedDefinition({binding:r.binding,kind:`instructions`,loadNamespace:r.loadNamespace,source:t});if(isDynamicSentinel(i)){assertResolverOnlyDynamicSentinel(i,`Expected the instructions export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`);let e=Object.keys(i.events),n=e.find(e=>!ALLOWED_DYNAMIC_INSTRUCTION_EVENTS.has(e));if(n!==void 0)throw Error(`Expected the instructions export "${t.exportName??`default`}" from "${t.logicalPath}" to use only "session.started" or "turn.started" events. Unsupported event: "${n}".`);let r=stripLogicalPathExtension(t.logicalPath).replace(/^instructions\//,``);return{kind:`dynamic-instructions`,definition:{eventNames:e,exportName:t.exportName,logicalPath:t.logicalPath,slug:r,sourceId:t.sourceId,sourceKind:`module`}}}let a=normalizeInstructionsDefinition(i,`Expected the instructions export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`);return{kind:`instructions`,definition:{name:stripLogicalPathExtension(t.logicalPath),logicalPath:t.logicalPath,content:a.content,role:a.role,sourceId:t.sourceId,sourceKind:t.sourceKind}}}export{compileInstructionsEntry};
1
+ import{stripLogicalPathExtension}from"#discover/filesystem.js";import{normalizeInstructionsDefinition}from"#internal/authored-definition/core.js";import{loadModuleBackedDefinition,requireModuleBackedDefinitionLoadOptions}from"#compiler/normalize-helpers.js";import{assertDynamicSentinelKeys,isDynamicSentinel}from"#dynamic/definition.js";async function compileInstructionsEntry(e,t,n){if(t.sourceKind===`markdown`){let e=normalizeInstructionsDefinition(t.definition,`Expected the compiled instructions definition at "${t.logicalPath}" to match the public eve shape.`);return{kind:`instructions`,definition:{name:stripLogicalPathExtension(t.logicalPath),logicalPath:t.logicalPath,owner:n.owner,content:e.content,role:e.role,sourceId:t.sourceId,sourceKind:t.sourceKind}}}let r=requireModuleBackedDefinitionLoadOptions(n,t.logicalPath),i=await loadModuleBackedDefinition({binding:r.binding,kind:`instructions`,loadNamespace:r.loadNamespace,source:t});if(isDynamicSentinel(i)){let e=`Expected the instructions export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`;assertDynamicSentinelKeys(i,e);let n=stripLogicalPathExtension(t.logicalPath).replace(/^instructions\//,``);return{kind:`dynamic-instructions`,definition:{exportName:t.exportName,logicalPath:t.logicalPath,slug:n,sourceId:t.sourceId,sourceKind:`module`}}}let a=normalizeInstructionsDefinition(i,`Expected the instructions export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`);return{kind:`instructions`,definition:{name:stripLogicalPathExtension(t.logicalPath),logicalPath:t.logicalPath,content:a.content,role:a.role,sourceId:t.sourceId,sourceKind:t.sourceKind}}}export{compileInstructionsEntry};
@@ -1,10 +1,13 @@
1
1
  import type { CompilerDiagnostic } from "#compiler/diagnostics.js";
2
2
  import type { AgentModuleCandidate, AgentSourceLayer, AgentSourceOwner, AgentSourceRegistry } from "#compiler/source-graph.js";
3
3
  import type { DevelopmentExtensionSelection } from "#compiler/development-extensions.js";
4
+ import type { CompiledRuntimeModelCatalogLoader } from "#compiler/model-catalog.js";
4
5
  import type { AgentSourceManifest } from "#discover/manifest.js";
5
6
  export interface CompileAgentManifestOptions {
6
7
  readonly developmentExtensions?: DevelopmentExtensionSelection;
7
8
  readonly diagnostics?: CompilerDiagnostic[];
9
+ /** Shared with the caller that also writes this build's model metadata snapshot. */
10
+ readonly modelCatalog?: CompiledRuntimeModelCatalogLoader;
8
11
  readonly sourceRegistries?: readonly AgentSourceRegistry[];
9
12
  }
10
13
  export interface NodeCompileInput {
@@ -1 +1 @@
1
- import{randomUUID}from"node:crypto";import{noDevelopmentExtensions,prepareDevelopmentExtensions}from"#compiler/development-extensions.js";import{ROOT_COMPILED_AGENT_NODE_ID,createCompiledAgentManifest,createCompiledAgentNodeManifest,createCompiledAgentResources,createCompiledSubagentNodeId}from"#compiler/manifest.js";import{summarizeCompilerDiagnostics}from"#compiler/diagnostics.js";import{composeAgentModuleCandidates,createAgentModuleBinding,createProgrammaticModuleCandidates,disableComposedCandidate,isAgentModuleCandidate}from"#compiler/source-graph.js";import{compileMemoryDefinition}from"#compiler/normalize-memory.js";import{frameworkAgentSourceRegistry}from"#framework/sources/registry.js";import{bindingMountId}from"#compiler/extension-mount-bindings.js";import{assertApplicationOverlayCanApplyToAllNodes,assertNonExtensionSpecialTool,assertRootOnlyConfig,assertUniqueBy,assertUniqueRegistryIds,collectSelectedSourceIds,compileChannelRoutes,compileExtensionMounts,createCompiledRemoteAgent,createExtensionCompileMounts,expectSubagentDescription,loadSelectedNodeConfig,mergeExternalDependencies,withDiagnosticsSummary,withExtensionNamespace}from"#compiler/normalize-manifest-helpers.js";import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";import{assertRemoteAgentDefinitionHasNoLocalPackageEntries,normalizeSubagentConfig}from"#compiler/normalize-subagent.js";import{NodeModuleEvaluationContext,markConfigRuntimeEntries}from"#compiler/module-lifecycle.js";import{assertStaticConnectionOwnership}from"#compiler/connection-ownership.js";import{createAuthoredModuleGraph}from"#internal/authored-module-graph.js";import{pruneAuthoredModuleCache}from"#internal/authored-module-cache.js";import{createCompiledRuntimeModelCatalogLoader}from"#compiler/model-catalog.js";import{compileAgentConfig}from"#compiler/normalize-agent-config.js";import{compileChannelDefinition}from"#compiler/normalize-channel.js";import{compileConnectionDefinition}from"#compiler/normalize-connection.js";import{applyAgentToolPolicy,applyDefaultToolPolicy,canDisableToolWithoutSelectedSource}from"#compiler/default-tool-policy.js";import{resolveWorkspaceSubagentDefinition}from"#compiler/resolve-workspace-subagent.js";import{workspaceSubagentName}from"#public/definitions/workspace-agent.js";import{compileHookEntry}from"#compiler/normalize-hook.js";import{compileInstructionsEntry}from"#compiler/normalize-instructions.js";import{createMemoryWrapperCandidates}from"#compiler/memory-wrapper-candidates.js";import{compileSandboxDefinition}from"#compiler/normalize-sandbox.js";import{compileScheduleDefinition}from"#compiler/normalize-schedule.js";import{compileScheduleCollectionDefinition}from"#compiler/normalize-schedule-collection.js";import{isScheduleCollectionDefinition}from"#shared/schedule-collection-definition.js";import{createScheduleCollectionWrapperCandidates}from"#compiler/schedule-collection-wrapper-candidates.js";import{assertSkillNameAvailable,compileSkillSource}from"#compiler/normalize-skill.js";import{compileToolEntry}from"#compiler/normalize-tool.js";import{finalizeNodeSourceState}from"#compiler/node-source-state.js";import{listApplicationModulePaths,projectAgentSources,projectSelectedSources}from"#compiler/project-sources.js";async function compileAgentManifest(e,t={}){let n=[frameworkAgentSourceRegistry,...t.sourceRegistries??[]];assertUniqueRegistryIds(n);let r={modelCatalog:createCompiledRuntimeModelCatalogLoader(e.appRoot),registries:n},i=t.diagnostics??[],a=await prepareDevelopmentExtensions({diagnostics:i,manifest:e,nodeId:ROOT_COMPILED_AGENT_NODE_ID,selection:t.developmentExtensions??noDevelopmentExtensions()}),o=await new AgentGraphCompiler(r,n,i,createAuthoredModuleGraph(listApplicationModulePaths(a.manifest),{appRoot:e.appRoot})).compileStaticNode({developmentExtensionCandidates:a.candidates,inheritedExternalDependencies:[],isRoot:!0,layer:`application`,manifest:a.manifest,nodeId:ROOT_COMPILED_AGENT_NODE_ID,nodePath:``,owner:{kind:`application`}}),s=summarizeCompilerDiagnostics(i),c=withDiagnosticsSummary(o.descendants,s),l=createCompiledAgentManifest({...o.manifest,diagnosticsSummary:s,subagents:c});return pruneAuthoredModuleCache(),l}var AgentGraphCompiler=class{context;registries;diagnostics;mounts=new Map;evaluationId=randomUUID();moduleGraph;constructor(e,t,n,r){this.context=e,this.registries=t,this.diagnostics=n,this.moduleGraph=r}async compileStaticNode(e){let t=await this.createPhaseOneNodeSourceState(e,e.inheritedExternalDependencies),n=await compileAgentConfig(e.manifest,this.context,{binding:t.selectedConfig.binding,definition:t.selectedConfig.definition,source:t.selectedConfig.source});assertRootOnlyConfig(n,e.isRoot,e.manifest.agentId),applyAgentToolPolicy(t,n),applyDefaultToolPolicy(t,n);let r=mergeExternalDependencies(e.inheritedExternalDependencies,n.build?.externalDependencies,e.manifest.resolvedExtensions.flatMap(e=>e.externalDependencies));r.length>0&&(n={...n,build:{...n.build,externalDependencies:r}});let i=finalizeNodeSourceState(t,r);markConfigRuntimeEntries(n,i.evaluation);let a=await this.compileResources(e,i),o=await this.compileChildren(e,i,r),s=createCompiledAgentNodeManifest({...a,config:n,remoteAgents:o.remoteAgents});return{descendants:o.nodes,manifest:s}}async compileChildren(e,t,n){let r=[],i=[],a=collectSelectedSourceIds(t.composed),o=t.projected.subagents.filter(e=>a.has(e.candidate.sourceId));for(let t of o){let a=t.source,o=createCompiledSubagentNodeId(e.nodeId,a.sourceId),s={extensionScope:t.extensionScope??e.extensionScope,mountId:t.mountId,inheritedExternalDependencies:n,isRoot:!1,layer:t.candidate.layer,manifest:a.manifest,nodeId:o,nodePath:t.nodePath,owner:t.owner,parentNodeId:e.nodeId},c=await this.createPhaseOneNodeSourceState(s,n),l=normalizeSubagentConfig(c.selectedConfig.definition,`Expected the subagent config export "${c.selectedConfig.source.exportName??`default`}" from "${a.entryPath}" to match the public eve shape.`);if(l.kind===`remote`){let n=workspaceSubagentName(c.selectedConfig.definition),r=n===void 0?l:await resolveWorkspaceSubagentDefinition({definition:l,name:n,registries:this.registries,source:a});assertRemoteAgentDefinitionHasNoLocalPackageEntries(a);let s=c.selectedConfig.source.sourceId;c.evaluation.setBindings({[s]:c.selectedConfig.binding}),c.evaluation.requireRuntimeEntry(s);let u=c.evaluation.finalizeBindings()[s];if(u===void 0)throw Error(`Remote subagent "${o}" has no finalized config binding.`);i.push(createCompiledRemoteAgent({binding:u,definition:r,nodeId:o,owner:t.owner,parentNodeId:e.nodeId,source:a,sourceRef:c.selectedConfig.source}));continue}let u,d;l.kind===`local`?(u=await compileAgentConfig(a.manifest,this.context,{binding:c.selectedConfig.binding,definition:l.definition,source:c.selectedConfig.source}),assertRootOnlyConfig(u,!1,a.manifest.agentId),applyAgentToolPolicy(c,u),applyDefaultToolPolicy(c,u)):d=l.build?.externalDependencies;let f=mergeExternalDependencies(n,u?.build?.externalDependencies,d,a.manifest.resolvedExtensions.flatMap(e=>e.externalDependencies));u!==void 0&&f.length>0&&(u={...u,build:{...u.build,externalDependencies:f}});let p=finalizeNodeSourceState(c,f);u===void 0?p.evaluation.requireRuntimeEntry(c.selectedConfig.source.sourceId):markConfigRuntimeEntries(u,p.evaluation);let m=await this.compileResources(s,p),h=await this.compileChildren(s,p,f),g={backing:t.candidate.backing,entryPath:a.entryPath,logicalPath:a.logicalPath,name:a.subagentId,nodeId:o,owner:t.owner,parentNodeId:e.nodeId,rootPath:a.rootPath,sourceId:a.sourceId,sourceKind:`module`},_;_=u===void 0?{...g,agent:createCompiledAgentResources({...m,remoteAgents:h.remoteAgents}),configResolver:{build:l.kind===`dynamic`?l.build:void 0,eventNames:l.kind===`dynamic`?l.eventNames:[],exportName:c.selectedConfig.source.exportName,logicalPath:c.selectedConfig.source.logicalPath,sourceId:c.selectedConfig.source.sourceId,sourceKind:`module`}}:{...g,agent:createCompiledAgentNodeManifest({...m,config:u,remoteAgents:h.remoteAgents}),description:expectSubagentDescription(u,a)},r.push(_,...h.nodes)}return{nodes:r,remoteAgents:i}}composeNodeSources(e,t){let n=projectAgentSources({externalDependencies:t,extensionScope:e.extensionScope,mountId:e.mountId,layer:e.layer,manifest:e.manifest,nodeId:e.nodeId,nodePath:e.nodePath,owner:e.owner}),r=[],i=[];for(let t of this.registries){let n=t===frameworkAgentSourceRegistry;for(let a of t.registrations){if(a.applyTo===`root`&&!e.isRoot)continue;!n&&a.applyTo===`all-local-nodes`&&assertApplicationOverlayCanApplyToAllNodes(a.source.modules.map(e=>e.logicalPath));let t=createProgrammaticModuleCandidates({layer:n?`framework-default`:`application`,nodeId:e.nodeId,owner:n?{feature:a.source.id,kind:`framework`}:{kind:`application`},registration:a});(n?r:i).push(...t)}}let a=[...r,...e.developmentExtensionCandidates??[],...n.candidates,...createMemoryWrapperCandidates([...n.candidates,...i]),...createScheduleCollectionWrapperCandidates([...n.candidates,...i],e.manifest.agentId),...i],o=composeAgentModuleCandidates(a),s=projectSelectedSources({candidates:o.selected.values(),resources:n.resources});return{composed:o,orderedCandidates:a,projected:n,sourcesBySourceId:new Map(s.map(e=>[e.candidate.sourceId,e])),subagentsBySourceId:new Map(n.subagents.map(e=>[e.candidate.sourceId,e]))}}async createPhaseOneNodeSourceState(e,t){let n=this.composeNodeSources(e,t),{mounts:r,sourceIds:i}=createExtensionCompileMounts(e.manifest,e.nodePath);for(let[e,t]of r)this.mounts.set(e,t);let a=new NodeModuleEvaluationContext(this.registries,e=>i.get(bindingMountId(e)??``),this.mounts,this.evaluationId,e.manifest.appRoot,this.moduleGraph);return a.setBindings(Object.fromEntries([...n.composed.selected.values()].filter(isAgentModuleCandidate).map(e=>[e.sourceId,createAgentModuleBinding(e)]))),{evaluation:a,graph:n,selectedConfig:await loadSelectedNodeConfig(n,a)}}async compileResources(e,t){let n=[],r=[],i=[],a=[],o=[],s=[],c=[],l=[],u=[],d=[],f=[],p=[],m=[],h,g=collectSelectedSourceIds(t.composed),_=t.evaluation.loadNamespace;for(let v of t.orderedCandidates){if(!g.has(v.sourceId))continue;let y=t.sourcesBySourceId.get(v.sourceId);if(y===void 0)continue;let b=t.bindings[v.sourceId],x={binding:b,loadNamespace:_,owner:v.owner};switch(y.kind){case`config`:case`extension`:break;case`channel`:{let n=await compileChannelDefinition(e.manifest.agentRoot,y.source,{binding:b,loadNamespace:_});n.kind===`disabled`?(t.composed=disableComposedCandidate({candidate:v,composed:t.composed}),delete t.bindings[v.sourceId],g.delete(v.sourceId)):m.push(...n.definitions);break}case`connection`:{let n=await compileConnectionDefinition(e.manifest.agentRoot,y.source,{binding:b,loadNamespace:_});if(n.kind===`connection`){if(n.definition.experimental_events===!0&&e.nodeId!==ROOT_COMPILED_AGENT_NODE_ID)throw Error(`experimental_events currently requires a root-agent connection.`);c.push(n.definition)}else l.push(withExtensionNamespace(n.definition,v.owner));t.evaluation.requireRuntimeEntry(v.sourceId);break}case`hook`:d.push(await compileHookEntry(y.source,{binding:b,loadNamespace:_})),t.evaluation.requireRuntimeEntry(v.sourceId);break;case`instructions`:{let n=await compileInstructionsEntry(e.manifest.agentRoot,y.source,x);n.kind===`instructions`?o.push(n.definition):(s.push(n.definition),t.evaluation.requireRuntimeEntry(v.sourceId));break}case`memory`:u.push(await compileMemoryDefinition(y.source,{binding:b,loadNamespace:_})),t.evaluation.requireRuntimeEntry(v.sourceId);break;case`sandbox`:h=await compileSandboxDefinition(e.manifest.agentRoot,y.source,{binding:b,loadNamespace:_}),h.inheritsParent||t.evaluation.requireRuntimeEntry(v.sourceId);break;case`schedule`:{let n=y.source.sourceKind===`module`?await loadModuleBackedDefinition({binding:b,loadNamespace:_,kind:`schedule`,source:y.source}):y.source.definition;if(isScheduleCollectionDefinition(n)){p.push(compileScheduleCollectionDefinition(y.source,n)),t.evaluation.requireRuntimeEntry(v.sourceId);break}let r=compileScheduleDefinition(e.manifest.agentRoot,y.source,n,x.owner);f.push(r),r.sourceKind===`module`&&r.hasRun&&t.evaluation.requireRuntimeEntry(v.sourceId);break}case`skill`:{let n=await compileSkillSource(e.manifest.agentRoot,y.source,x);n.kind===`skill`?(assertSkillNameAvailable(n.definition),i.push(n.definition)):(a.push(withExtensionNamespace(n.definition,v.owner)),t.evaluation.requireRuntimeEntry(v.sourceId));break}case`tool`:{let i=await compileToolEntry(e.manifest.agentRoot,y.source,{binding:b,loadNamespace:_});i.kind===`disabled`?(t.composed=disableComposedCandidate({allowUnmatched:canDisableToolWithoutSelectedSource(t,i.name),candidate:v,composed:t.composed}),delete t.bindings[v.sourceId],g.delete(v.sourceId)):i.kind===`tool`?(n.push(i.definition),i.definition.hasExecute&&t.evaluation.requireRuntimeEntry(v.sourceId)):i.kind===`dynamic-tool`?(r.push(withExtensionNamespace(i.definition,v.owner)),t.evaluation.requireRuntimeEntry(v.sourceId)):(assertNonExtensionSpecialTool(v,`Web search`),n.push(i.definition));break}}}if(h===void 0)throw Error(`Agent node "${e.nodeId}" has no selected sandbox source.`);assertUniqueBy(n,e=>e.name,`tool name`),assertUniqueBy(r,e=>e.slug,`dynamic tool slug`),assertUniqueBy(c,e=>e.connectionName,`connection name`),assertUniqueBy(l,e=>e.slug,`dynamic connection slug`),assertUniqueBy(i,e=>e.name,`skill name`),assertStaticConnectionOwnership({connectionNames:c.map(e=>e.connectionName),subagentNames:t.projected.subagents.filter(e=>g.has(e.candidate.sourceId)).map(e=>e.source.subagentId),toolNames:n.map(e=>e.name)});let v=compileChannelRoutes(t,m,this.diagnostics,e.nodeId),y=compileExtensionMounts(e.manifest,t.composed,e.nodePath);for(let e of y)t.evaluation.requireRuntimeEntry(e.mountSourceId);let b=t.evaluation.finalizeBindings();return createCompiledAgentResources({agentRoot:e.manifest.agentRoot,appRoot:e.manifest.appRoot,bindings:b,channelRoutes:v,connections:c,diagnosticsSummary:summarizeCompilerDiagnostics(this.diagnostics),dynamicConnections:l,dynamicInstructions:s,dynamicSkills:a,dynamicTools:r,extensionMounts:y,hooks:d,memories:u,instructions:o,sandbox:h,sandboxWorkspaces:e.manifest.sandboxWorkspaces.map(e=>({logicalPath:e.logicalPath,rootEntries:[...e.rootEntries],sourceId:e.sourceId,sourcePath:e.sourcePath})),schedules:f,scheduleCollections:p,skills:i,sourceComposition:t.composed.composition,tools:n})}};export{compileAgentManifest};
1
+ import{randomUUID}from"node:crypto";import{noDevelopmentExtensions,prepareDevelopmentExtensions}from"#compiler/development-extensions.js";import{ROOT_COMPILED_AGENT_NODE_ID,createCompiledAgentManifest,createCompiledAgentNodeManifest,createCompiledAgentResources,createCompiledSubagentNodeId}from"#compiler/manifest.js";import{summarizeCompilerDiagnostics}from"#compiler/diagnostics.js";import{createCompiledRuntimeModelCatalogLoader}from"#compiler/model-catalog.js";import{composeAgentModuleCandidates,createAgentModuleBinding,createProgrammaticModuleCandidates,disableComposedCandidate,isAgentModuleCandidate}from"#compiler/source-graph.js";import{compileMemoryDefinition}from"#compiler/normalize-memory.js";import{frameworkAgentSourceRegistry}from"#framework/sources/registry.js";import{bindingMountId}from"#compiler/extension-mount-bindings.js";import{assertApplicationOverlayCanApplyToAllNodes,assertNonExtensionSpecialTool,assertRootOnlyConfig,assertUniqueBy,assertUniqueRegistryIds,collectSelectedSourceIds,compileChannelRoutes,compileExtensionMounts,createCompiledRemoteAgent,createExtensionCompileMounts,expectSubagentDescription,loadSelectedNodeConfig,mergeExternalDependencies,withDiagnosticsSummary,withExtensionNamespace}from"#compiler/normalize-manifest-helpers.js";import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";import{assertRemoteAgentDefinitionHasNoLocalPackageEntries,normalizeSubagentConfig}from"#compiler/normalize-subagent.js";import{NodeModuleEvaluationContext,markConfigRuntimeEntries}from"#compiler/module-lifecycle.js";import{assertStaticConnectionOwnership}from"#compiler/connection-ownership.js";import{createAuthoredModuleGraph}from"#internal/authored-module-graph.js";import{pruneAuthoredModuleCache}from"#internal/authored-module-cache.js";import{compileAgentConfig}from"#compiler/normalize-agent-config.js";import{compileChannelDefinition}from"#compiler/normalize-channel.js";import{compileConnectionDefinition}from"#compiler/normalize-connection.js";import{applyAgentToolPolicy,applyDefaultToolPolicy,canDisableToolWithoutSelectedSource}from"#compiler/default-tool-policy.js";import{resolveWorkspaceSubagentDefinition}from"#compiler/resolve-workspace-subagent.js";import{workspaceSubagentName}from"#public/definitions/workspace-agent.js";import{compileHookEntry}from"#compiler/normalize-hook.js";import{compileInstructionsEntry}from"#compiler/normalize-instructions.js";import{createMemoryWrapperCandidates}from"#compiler/memory-wrapper-candidates.js";import{compileSandboxDefinition}from"#compiler/normalize-sandbox.js";import{compileScheduleDefinition}from"#compiler/normalize-schedule.js";import{compileScheduleCollectionDefinition}from"#compiler/normalize-schedule-collection.js";import{isScheduleCollectionDefinition}from"#shared/schedule-collection-definition.js";import{createScheduleCollectionWrapperCandidates}from"#compiler/schedule-collection-wrapper-candidates.js";import{assertSkillNameAvailable,compileSkillSource}from"#compiler/normalize-skill.js";import{compileToolEntry}from"#compiler/normalize-tool.js";import{finalizeNodeSourceState}from"#compiler/node-source-state.js";import{listApplicationModulePaths,projectAgentSources,projectSelectedSources}from"#compiler/project-sources.js";async function compileAgentManifest(e,t={}){let n=[frameworkAgentSourceRegistry,...t.sourceRegistries??[]];assertUniqueRegistryIds(n);let r={modelCatalog:t.modelCatalog??createCompiledRuntimeModelCatalogLoader(e.appRoot),registries:n},i=t.diagnostics??[],a=await prepareDevelopmentExtensions({diagnostics:i,manifest:e,nodeId:ROOT_COMPILED_AGENT_NODE_ID,selection:t.developmentExtensions??noDevelopmentExtensions()}),o=await new AgentGraphCompiler(r,n,i,createAuthoredModuleGraph(listApplicationModulePaths(a.manifest),{appRoot:e.appRoot})).compileStaticNode({developmentExtensionCandidates:a.candidates,inheritedExternalDependencies:[],isRoot:!0,layer:`application`,manifest:a.manifest,nodeId:ROOT_COMPILED_AGENT_NODE_ID,nodePath:``,owner:{kind:`application`}}),s=summarizeCompilerDiagnostics(i),c=withDiagnosticsSummary(o.descendants,s),l=createCompiledAgentManifest({...o.manifest,diagnosticsSummary:s,subagents:c});return pruneAuthoredModuleCache(),l}var AgentGraphCompiler=class{context;registries;diagnostics;mounts=new Map;evaluationId=randomUUID();moduleGraph;constructor(e,t,n,r){this.context=e,this.registries=t,this.diagnostics=n,this.moduleGraph=r}async compileStaticNode(e){let t=await this.createPhaseOneNodeSourceState(e,e.inheritedExternalDependencies),n=await compileAgentConfig(e.manifest,this.context,{binding:t.selectedConfig.binding,definition:t.selectedConfig.definition,source:t.selectedConfig.source});assertRootOnlyConfig(n,e.isRoot,e.manifest.agentId),applyAgentToolPolicy(t,n),applyDefaultToolPolicy(t,n);let r=mergeExternalDependencies(e.inheritedExternalDependencies,n.build?.externalDependencies,e.manifest.resolvedExtensions.flatMap(e=>e.externalDependencies));r.length>0&&(n={...n,build:{...n.build,externalDependencies:r}});let i=finalizeNodeSourceState(t,r);markConfigRuntimeEntries(n,i.evaluation);let a=await this.compileResources(e,i),o=await this.compileChildren(e,i,r),s=createCompiledAgentNodeManifest({...a,config:n,remoteAgents:o.remoteAgents});return{descendants:o.nodes,manifest:s}}async compileChildren(e,t,n){let r=[],i=[],a=collectSelectedSourceIds(t.composed),o=t.projected.subagents.filter(e=>a.has(e.candidate.sourceId));for(let t of o){let a=t.source,o=createCompiledSubagentNodeId(e.nodeId,a.sourceId),s={extensionScope:t.extensionScope??e.extensionScope,mountId:t.mountId,inheritedExternalDependencies:n,isRoot:!1,layer:t.candidate.layer,manifest:a.manifest,nodeId:o,nodePath:t.nodePath,owner:t.owner,parentNodeId:e.nodeId},c=await this.createPhaseOneNodeSourceState(s,n),l=normalizeSubagentConfig(c.selectedConfig.definition,`Expected the subagent config export "${c.selectedConfig.source.exportName??`default`}" from "${a.entryPath}" to match the public eve shape.`);if(l.kind===`remote`){let n=workspaceSubagentName(c.selectedConfig.definition),r=n===void 0?l:await resolveWorkspaceSubagentDefinition({definition:l,name:n,registries:this.registries,source:a});assertRemoteAgentDefinitionHasNoLocalPackageEntries(a);let s=c.selectedConfig.source.sourceId;c.evaluation.setBindings({[s]:c.selectedConfig.binding}),c.evaluation.requireRuntimeEntry(s);let u=c.evaluation.finalizeBindings()[s];if(u===void 0)throw Error(`Remote subagent "${o}" has no finalized config binding.`);i.push(createCompiledRemoteAgent({binding:u,definition:r,nodeId:o,owner:t.owner,parentNodeId:e.nodeId,source:a,sourceRef:c.selectedConfig.source}));continue}let u;l.kind===`local`&&(u=await compileAgentConfig(a.manifest,this.context,{binding:c.selectedConfig.binding,definition:l.definition,source:c.selectedConfig.source}),assertRootOnlyConfig(u,!1,a.manifest.agentId),applyAgentToolPolicy(c,u),applyDefaultToolPolicy(c,u));let d=mergeExternalDependencies(n,u?.build?.externalDependencies,a.manifest.resolvedExtensions.flatMap(e=>e.externalDependencies));u!==void 0&&d.length>0&&(u={...u,build:{...u.build,externalDependencies:d}});let f=finalizeNodeSourceState(c,d);u===void 0?f.evaluation.requireRuntimeEntry(c.selectedConfig.source.sourceId):markConfigRuntimeEntries(u,f.evaluation);let p=await this.compileResources(s,f),m=await this.compileChildren(s,f,d),h={backing:t.candidate.backing,entryPath:a.entryPath,logicalPath:a.logicalPath,name:a.subagentId,nodeId:o,owner:t.owner,parentNodeId:e.nodeId,rootPath:a.rootPath,sourceId:a.sourceId,sourceKind:`module`},g;g=u===void 0?{...h,agent:createCompiledAgentResources({...p,remoteAgents:m.remoteAgents}),configResolver:{exportName:c.selectedConfig.source.exportName,logicalPath:c.selectedConfig.source.logicalPath,sourceId:c.selectedConfig.source.sourceId,sourceKind:`module`}}:{...h,agent:createCompiledAgentNodeManifest({...p,config:u,remoteAgents:m.remoteAgents}),description:expectSubagentDescription(u,a)},r.push(g,...m.nodes)}return{nodes:r,remoteAgents:i}}composeNodeSources(e,t){let n=projectAgentSources({externalDependencies:t,extensionScope:e.extensionScope,mountId:e.mountId,layer:e.layer,manifest:e.manifest,nodeId:e.nodeId,nodePath:e.nodePath,owner:e.owner}),r=[],i=[];for(let t of this.registries){let n=t===frameworkAgentSourceRegistry;for(let a of t.registrations){if(a.applyTo===`root`&&!e.isRoot)continue;!n&&a.applyTo===`all-local-nodes`&&assertApplicationOverlayCanApplyToAllNodes(a.source.modules.map(e=>e.logicalPath));let t=createProgrammaticModuleCandidates({layer:n?`framework-default`:`application`,nodeId:e.nodeId,owner:n?{feature:a.source.id,kind:`framework`}:{kind:`application`},registration:a});(n?r:i).push(...t)}}let a=[...r,...e.developmentExtensionCandidates??[],...n.candidates,...createMemoryWrapperCandidates([...n.candidates,...i]),...createScheduleCollectionWrapperCandidates([...n.candidates,...i],e.manifest.agentId),...i],o=composeAgentModuleCandidates(a),s=projectSelectedSources({candidates:o.selected.values(),resources:n.resources});return{composed:o,orderedCandidates:a,projected:n,sourcesBySourceId:new Map(s.map(e=>[e.candidate.sourceId,e])),subagentsBySourceId:new Map(n.subagents.map(e=>[e.candidate.sourceId,e]))}}async createPhaseOneNodeSourceState(e,t){let n=this.composeNodeSources(e,t),{mounts:r,sourceIds:i}=createExtensionCompileMounts(e.manifest,e.nodePath);for(let[e,t]of r)this.mounts.set(e,t);let a=new NodeModuleEvaluationContext(this.registries,e=>i.get(bindingMountId(e)??``),this.mounts,this.evaluationId,e.manifest.appRoot,this.moduleGraph);return a.setBindings(Object.fromEntries([...n.composed.selected.values()].filter(isAgentModuleCandidate).map(e=>[e.sourceId,createAgentModuleBinding(e)]))),{evaluation:a,graph:n,selectedConfig:await loadSelectedNodeConfig(n,a)}}async compileResources(e,t){let n=[],r=[],i=[],a=[],o=[],s=[],c=[],l=[],u=[],d=[],f=[],p=[],m=[],h,g=collectSelectedSourceIds(t.composed),_=t.evaluation.loadNamespace;for(let v of t.orderedCandidates){if(!g.has(v.sourceId))continue;let y=t.sourcesBySourceId.get(v.sourceId);if(y===void 0)continue;let b=t.bindings[v.sourceId],x={binding:b,loadNamespace:_,owner:v.owner};switch(y.kind){case`config`:case`extension`:break;case`channel`:{let n=await compileChannelDefinition(e.manifest.agentRoot,y.source,{binding:b,loadNamespace:_});n.kind===`disabled`?(t.composed=disableComposedCandidate({candidate:v,composed:t.composed}),delete t.bindings[v.sourceId],g.delete(v.sourceId)):m.push(...n.definitions);break}case`connection`:{let n=await compileConnectionDefinition(e.manifest.agentRoot,y.source,{binding:b,loadNamespace:_});if(n.kind===`connection`){if(n.definition.experimental_events===!0&&e.nodeId!==ROOT_COMPILED_AGENT_NODE_ID)throw Error(`experimental_events currently requires a root-agent connection.`);c.push(n.definition)}else l.push(withExtensionNamespace(n.definition,v.owner));t.evaluation.requireRuntimeEntry(v.sourceId);break}case`hook`:d.push(await compileHookEntry(y.source,{binding:b,loadNamespace:_})),t.evaluation.requireRuntimeEntry(v.sourceId);break;case`instructions`:{let n=await compileInstructionsEntry(e.manifest.agentRoot,y.source,x);n.kind===`instructions`?o.push(n.definition):(s.push(n.definition),t.evaluation.requireRuntimeEntry(v.sourceId));break}case`memory`:u.push(await compileMemoryDefinition(y.source,{binding:b,loadNamespace:_})),t.evaluation.requireRuntimeEntry(v.sourceId);break;case`sandbox`:h=await compileSandboxDefinition(e.manifest.agentRoot,y.source,{binding:b,loadNamespace:_}),h.inheritsParent||t.evaluation.requireRuntimeEntry(v.sourceId);break;case`schedule`:{let n=y.source.sourceKind===`module`?await loadModuleBackedDefinition({binding:b,loadNamespace:_,kind:`schedule`,source:y.source}):y.source.definition;if(isScheduleCollectionDefinition(n)){p.push(compileScheduleCollectionDefinition(y.source,n)),t.evaluation.requireRuntimeEntry(v.sourceId);break}let r=compileScheduleDefinition(e.manifest.agentRoot,y.source,n,x.owner);f.push(r),r.sourceKind===`module`&&r.hasRun&&t.evaluation.requireRuntimeEntry(v.sourceId);break}case`skill`:{let n=await compileSkillSource(e.manifest.agentRoot,y.source,x);n.kind===`skill`?(assertSkillNameAvailable(n.definition),i.push(n.definition)):(a.push(withExtensionNamespace(n.definition,v.owner)),t.evaluation.requireRuntimeEntry(v.sourceId));break}case`tool`:{let i=await compileToolEntry(e.manifest.agentRoot,y.source,{binding:b,loadNamespace:_});i.kind===`disabled`?(t.composed=disableComposedCandidate({allowUnmatched:canDisableToolWithoutSelectedSource(t,i.name),candidate:v,composed:t.composed}),delete t.bindings[v.sourceId],g.delete(v.sourceId)):i.kind===`tool`?(n.push(i.definition),i.definition.hasExecute&&t.evaluation.requireRuntimeEntry(v.sourceId)):i.kind===`dynamic-tool`?(r.push(withExtensionNamespace(i.definition,v.owner)),t.evaluation.requireRuntimeEntry(v.sourceId)):(assertNonExtensionSpecialTool(v,`Web search`),n.push(i.definition));break}}}if(h===void 0)throw Error(`Agent node "${e.nodeId}" has no selected sandbox source.`);assertUniqueBy(n,e=>e.name,`tool name`),assertUniqueBy(r,e=>e.slug,`dynamic tool slug`),assertUniqueBy(c,e=>e.connectionName,`connection name`),assertUniqueBy(l,e=>e.slug,`dynamic connection slug`),assertUniqueBy(i,e=>e.name,`skill name`),assertStaticConnectionOwnership({connectionNames:c.map(e=>e.connectionName),subagentNames:t.projected.subagents.filter(e=>g.has(e.candidate.sourceId)).map(e=>e.source.subagentId),toolNames:n.map(e=>e.name)});let v=compileChannelRoutes(t,m,this.diagnostics,e.nodeId),y=compileExtensionMounts(e.manifest,t.composed,e.nodePath);for(let e of y)t.evaluation.requireRuntimeEntry(e.mountSourceId);let b=t.evaluation.finalizeBindings();return createCompiledAgentResources({agentRoot:e.manifest.agentRoot,appRoot:e.manifest.appRoot,bindings:b,channelRoutes:v,connections:c,diagnosticsSummary:summarizeCompilerDiagnostics(this.diagnostics),dynamicConnections:l,dynamicInstructions:s,dynamicSkills:a,dynamicTools:r,extensionMounts:y,hooks:d,memories:u,instructions:o,sandbox:h,sandboxWorkspaces:e.manifest.sandboxWorkspaces.map(e=>({logicalPath:e.logicalPath,rootEntries:[...e.rootEntries],sourceId:e.sourceId,sourcePath:e.sourcePath})),schedules:f,scheduleCollections:p,skills:i,sourceComposition:t.composed.composition,tools:n})}};export{compileAgentManifest};
@@ -1 +1 @@
1
- import{stripLogicalPathExtension}from"#discover/filesystem.js";import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";import{normalizeMemoryDefinition}from"#internal/authored-definition/memory.js";async function compileMemoryDefinition(e,t){let n=normalizeMemoryDefinition(await loadModuleBackedDefinition({binding:t.binding,kind:`memory`,loadNamespace:t.loadNamespace,source:e}),`Expected the memory export "${e.exportName??`default`}" from "${e.logicalPath}" to be created with defineMemory().`);return{description:n.description,exportName:e.exportName,logicalPath:e.logicalPath,slot:deriveMemorySlot(e.logicalPath),sourceId:e.sourceId,sourceKind:`module`,visibility:n.visibility??`scope`}}function deriveMemorySlot(e){let t=stripLogicalPathExtension(e);return t===`memory`?`memory`:t.slice(7)}export{compileMemoryDefinition,deriveMemorySlot};
1
+ import{stripLogicalPathExtension}from"#discover/filesystem.js";import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";import{normalizeMemoryDefinition}from"#internal/authored-definition/memory.js";async function compileMemoryDefinition(e,t){return{description:normalizeMemoryDefinition(await loadModuleBackedDefinition({binding:t.binding,kind:`memory`,loadNamespace:t.loadNamespace,source:e}),`Expected the memory export "${e.exportName??`default`}" from "${e.logicalPath}" to be created with defineMemory().`).description,exportName:e.exportName,logicalPath:e.logicalPath,slot:deriveMemorySlot(e.logicalPath),sourceId:e.sourceId,sourceKind:`module`}}function deriveMemorySlot(e){let t=stripLogicalPathExtension(e);return t===`memory`?`memory`:t.slice(7)}export{compileMemoryDefinition,deriveMemorySlot};
@@ -1 +1 @@
1
- import{stripLogicalPathExtension}from"#discover/filesystem.js";import{normalizeScheduleDefinition}from"#internal/authored-definition/core.js";import{readWorkflowFunctionId}from"#internal/workflow/reference.js";import{workflowCallbackErrorMessage}from"#shared/workflow-tool-context.js";function compileScheduleDefinition(e,t,n,r){let i=normalizeScheduleDefinition(n,t.sourceKind===`markdown`?`Expected the compiled schedule definition at "${t.logicalPath}" to match the public eve shape.`:`Expected the schedule export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`);if(readWorkflowFunctionId(i.run)!==void 0)throw Error(`${t.logicalPath}: ${workflowCallbackErrorMessage(`schedule`)}`);let a={cron:i.cron,hasRun:i.run!==void 0,logicalPath:t.logicalPath,name:deriveScheduleName(t.logicalPath),sourceId:t.sourceId,sourceKind:t.sourceKind},o=i.markdown===void 0?a:{...a,markdown:i.markdown.trim()};return t.sourceKind===`module`?{...o,sourceKind:`module`}:{...o,owner:r,sourceKind:`markdown`}}function deriveScheduleName(e){return stripLogicalPathExtension(e).replace(/^schedules\//,``)}export{compileScheduleDefinition};
1
+ import{stripLogicalPathExtension}from"#discover/filesystem.js";import{normalizeScheduleDefinition}from"#internal/authored-definition/core.js";import{readWorkflowFunctionId}from"#internal/workflow/reference.js";import{workflowCallbackErrorMessage}from"#shared/workflow-tool-context.js";function compileScheduleDefinition(e,t,n,r){let i=normalizeScheduleDefinition(n,t.sourceKind===`markdown`?`Expected the compiled schedule definition at "${t.logicalPath}" to match the public eve shape.`:`Expected the schedule export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`);if(readWorkflowFunctionId(i.run)!==void 0)throw Error(`${t.logicalPath}: ${workflowCallbackErrorMessage(`schedule`)}`);let a={cron:i.cron,hasRun:i.run!==void 0,logicalPath:t.logicalPath,name:deriveScheduleName(t.logicalPath),sourceId:t.sourceId,sourceKind:t.sourceKind},o=i.content===void 0?a:{...a,markdown:i.content.trim()};return t.sourceKind===`module`?{...o,sourceKind:`module`}:{...o,owner:r,sourceKind:`markdown`}}function deriveScheduleName(e){return stripLogicalPathExtension(e).replace(/^schedules\//,``)}export{compileScheduleDefinition};
@@ -1 +1 @@
1
- import{stripLogicalPathExtension}from"#discover/filesystem.js";import{normalizeSkillDefinition}from"#internal/authored-definition/core.js";import{loadModuleBackedDefinition,requireModuleBackedDefinitionLoadOptions}from"#compiler/normalize-helpers.js";import{eveNamespaceReservation}from"#protocol/runtime-tools.js";import{assertResolverOnlyDynamicSentinel,isDynamicSentinel}from"#dynamic/definition.js";function assertSkillNameAvailable(e){let t=eveNamespaceReservation(e.name);if(t!==void 0)throw Error(`Skill "${e.logicalPath}" uses the reserved name "${e.name}". Rename its path; ${t}.`)}async function compileSkillSource(e,t,n){if(t.sourceKind===`skill-package`)return{kind:`skill`,definition:compileSkillPackageSource(t,n.owner)};if(t.sourceKind===`markdown`){let e=normalizeSkillDefinition(t.definition,`Expected the compiled skill definition at "${t.logicalPath}" to match the public eve shape.`);return{kind:`skill`,definition:{deferred:e.deferred,description:e.description,files:e.files,license:e.license,logicalPath:t.logicalPath,owner:n.owner,markdown:e.markdown,metadata:e.metadata===void 0?void 0:{...e.metadata},name:stripLogicalPathExtension(t.logicalPath).replace(/^skills\//,``),sourceId:t.sourceId,sourceKind:t.sourceKind}}}let r=requireModuleBackedDefinitionLoadOptions(n,t.logicalPath),i=await loadModuleBackedDefinition({binding:r.binding,kind:`skill`,loadNamespace:r.loadNamespace,source:t});if(isDynamicSentinel(i)){assertResolverOnlyDynamicSentinel(i,`Expected the skill export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`);let e=stripLogicalPathExtension(t.logicalPath).replace(/^skills\//,``);return{kind:`dynamic-skill`,definition:{eventNames:Object.keys(i.events),exportName:t.exportName,logicalPath:t.logicalPath,slug:e,sourceId:t.sourceId,sourceKind:`module`}}}let a=normalizeSkillDefinition(i,`Expected the skill export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`);return{kind:`skill`,definition:{deferred:a.deferred,description:a.description,files:a.files,license:a.license,logicalPath:t.logicalPath,markdown:a.markdown,metadata:a.metadata===void 0?void 0:{...a.metadata},name:stripLogicalPathExtension(t.logicalPath).replace(/^skills\//,``),sourceId:t.sourceId,sourceKind:t.sourceKind}}}function compileSkillPackageSource(e,t){return{assetsPath:e.assetsPath,deferred:e.deferred,description:e.description,license:e.license,logicalPath:e.logicalPath,owner:t,markdown:e.markdown,metadata:e.metadata===void 0?void 0:{...e.metadata},name:e.name,referencesPath:e.referencesPath,rootPath:e.rootPath,scriptsPath:e.scriptsPath,skillId:e.skillId,skillFilePath:e.skillFilePath,sourceId:e.sourceId,sourceKind:`skill-package`}}export{assertSkillNameAvailable,compileSkillSource};
1
+ import{stripLogicalPathExtension}from"#discover/filesystem.js";import{normalizeSkillDefinition}from"#internal/authored-definition/core.js";import{loadModuleBackedDefinition,requireModuleBackedDefinitionLoadOptions}from"#compiler/normalize-helpers.js";import{eveNamespaceReservation}from"#protocol/runtime-tools.js";import{assertDynamicSentinelKeys,isDynamicSentinel}from"#dynamic/definition.js";function assertSkillNameAvailable(e){let t=eveNamespaceReservation(e.name);if(t!==void 0)throw Error(`Skill "${e.logicalPath}" uses the reserved name "${e.name}". Rename its path; ${t}.`)}async function compileSkillSource(e,t,n){if(t.sourceKind===`skill-package`)return{kind:`skill`,definition:compileSkillPackageSource(t,n.owner)};if(t.sourceKind===`markdown`){let e=normalizeSkillDefinition(t.definition,`Expected the compiled skill definition at "${t.logicalPath}" to match the public eve shape.`);return{kind:`skill`,definition:{deferred:e.deferred,description:e.description,files:e.files,license:e.license,logicalPath:t.logicalPath,owner:n.owner,content:e.content,metadata:e.metadata===void 0?void 0:{...e.metadata},name:stripLogicalPathExtension(t.logicalPath).replace(/^skills\//,``),sourceId:t.sourceId,sourceKind:t.sourceKind}}}let r=requireModuleBackedDefinitionLoadOptions(n,t.logicalPath),i=await loadModuleBackedDefinition({binding:r.binding,kind:`skill`,loadNamespace:r.loadNamespace,source:t});if(isDynamicSentinel(i)){let e=`Expected the skill export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`;assertDynamicSentinelKeys(i,e);let n=stripLogicalPathExtension(t.logicalPath).replace(/^skills\//,``);return{kind:`dynamic-skill`,definition:{exportName:t.exportName,logicalPath:t.logicalPath,slug:n,sourceId:t.sourceId,sourceKind:`module`}}}let a=normalizeSkillDefinition(i,`Expected the skill export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`);return{kind:`skill`,definition:{deferred:a.deferred,description:a.description,files:a.files,license:a.license,logicalPath:t.logicalPath,content:a.content,metadata:a.metadata===void 0?void 0:{...a.metadata},name:stripLogicalPathExtension(t.logicalPath).replace(/^skills\//,``),sourceId:t.sourceId,sourceKind:t.sourceKind}}}function compileSkillPackageSource(e,t){return{assetsPath:e.assetsPath,deferred:e.deferred,description:e.description,license:e.license,logicalPath:e.logicalPath,owner:t,content:e.content,metadata:e.metadata===void 0?void 0:{...e.metadata},name:e.name,referencesPath:e.referencesPath,rootPath:e.rootPath,scriptsPath:e.scriptsPath,skillId:e.skillId,skillFilePath:e.skillFilePath,sourceId:e.sourceId,sourceKind:`skill-package`}}export{assertSkillNameAvailable,compileSkillSource};
@@ -1,14 +1,9 @@
1
- import { type DynamicToolEventName } from "#dynamic/definition.js";
2
1
  import type { LocalSubagentSourceRef } from "#discover/manifest.js";
3
2
  import type { AgentToolExposure } from "#shared/agent-definition.js";
4
3
  export type NormalizedSubagentConfig = {
5
4
  readonly kind: "local";
6
5
  readonly definition: unknown;
7
6
  } | {
8
- readonly build?: {
9
- readonly externalDependencies?: readonly string[];
10
- };
11
- readonly eventNames: readonly DynamicToolEventName[];
12
7
  readonly kind: "dynamic";
13
8
  } | {
14
9
  readonly description: string;
@@ -1 +1 @@
1
- import{expectAgentToolExposure,expectBoolean,expectFunction,expectObjectRecord,expectOnlyKnownKeys,expectString}from"#internal/authored-module.js";import{EVE_SESSION_ROUTE_PATH}from"#protocol/routes.js";import{isDynamicSentinel}from"#dynamic/definition.js";const ALLOWED_DYNAMIC_SUBAGENT_EVENTS=new Set([`session.started`,`turn.started`]);function normalizeSubagentConfig(e,t){if(isDynamicSentinel(e)){let n=expectObjectRecord(e,t);expectOnlyKnownKeys(n,[`build`,`events`,`kind`],t);let r=expectObjectRecord(n.events,t),i=[];for(let[e,n]of Object.entries(r)){if(!ALLOWED_DYNAMIC_SUBAGENT_EVENTS.has(e))throw Error(`${t} Dynamic subagents support only "session.started" and "turn.started" handlers.`);expectFunction(n,t),i.push(e)}let a=n.build===void 0?void 0:normalizeDynamicSubagentBuild(n.build,t);return a===void 0?{eventNames:i,kind:`dynamic`}:{build:a,eventNames:i,kind:`dynamic`}}if(typeof e==`object`&&e&&e.kind===`remote`){let n=expectObjectRecord(e,t);return expectOnlyKnownKeys(n,[`auth`,`description`,`forwardPrincipal`,`headers`,`kind`,`path`,`tool`,`url`],t),n.forwardPrincipal!==void 0&&expectBoolean(n.forwardPrincipal,`${t} Expected "forwardPrincipal" to be a boolean.`),{description:expectString(n.description,t),kind:`remote`,path:n.path===void 0?EVE_SESSION_ROUTE_PATH:expectString(n.path,t),tool:n.tool===void 0?void 0:expectAgentToolExposure(n.tool,t),url:typeof n.url==`function`?void 0:expectString(n.url,t)}}return{definition:e,kind:`local`}}function assertRemoteAgentDefinitionHasNoLocalPackageEntries(e){let t=e.manifest,n=[t.connections.length>0?`connections/`:void 0,t.hooks.length>0?`hooks/`:void 0,t.instructions.length>0?`instructions`:void 0,t.lib.length>0?`lib/`:void 0,t.sandbox===null?void 0:`sandbox/`,t.sandboxWorkspaces.length>0?`sandbox/workspace/`:void 0,t.schedules.length>0?`schedules/`:void 0,t.skills.length>0?`skills/`:void 0,t.subagents.length>0?`subagents/`:void 0,t.tools.length>0?`tools/`:void 0].filter(e=>e!==void 0);if(n.length>0)throw Error(`Remote subagent definition "${e.logicalPath}" cannot include local package entries. Remove unsupported entries: ${n.join(`, `)}.`)}function normalizeDynamicSubagentBuild(e,t){let n=expectObjectRecord(e,t);if(expectOnlyKnownKeys(n,[`externalDependencies`],t),n.externalDependencies===void 0)return{};if(!Array.isArray(n.externalDependencies))throw Error(t);return{externalDependencies:n.externalDependencies.map(e=>expectString(e,t))}}export{assertRemoteAgentDefinitionHasNoLocalPackageEntries,normalizeSubagentConfig};
1
+ import{expectAgentToolExposure,expectBoolean,expectObjectRecord,expectOnlyKnownKeys,expectString}from"#internal/authored-module.js";import{EVE_SESSION_ROUTE_PATH}from"#protocol/routes.js";import{assertDynamicSentinelKeys,isDynamicSentinel}from"#dynamic/definition.js";function normalizeSubagentConfig(e,t){if(isDynamicSentinel(e))return assertDynamicSentinelKeys(e,t),{kind:`dynamic`};if(typeof e==`object`&&e&&e.kind===`remote`){let n=expectObjectRecord(e,t);return expectOnlyKnownKeys(n,[`auth`,`description`,`forwardPrincipal`,`headers`,`kind`,`path`,`tool`,`url`],t),n.forwardPrincipal!==void 0&&expectBoolean(n.forwardPrincipal,`${t} Expected "forwardPrincipal" to be a boolean.`),{description:expectString(n.description,t),kind:`remote`,path:n.path===void 0?EVE_SESSION_ROUTE_PATH:expectString(n.path,t),tool:n.tool===void 0?void 0:expectAgentToolExposure(n.tool,t),url:typeof n.url==`function`?void 0:expectString(n.url,t)}}return{definition:e,kind:`local`}}function assertRemoteAgentDefinitionHasNoLocalPackageEntries(e){let t=e.manifest,n=[t.connections.length>0?`connections/`:void 0,t.hooks.length>0?`hooks/`:void 0,t.instructions.length>0?`instructions`:void 0,t.lib.length>0?`lib/`:void 0,t.sandbox===null?void 0:`sandbox/`,t.sandboxWorkspaces.length>0?`sandbox/workspace/`:void 0,t.schedules.length>0?`schedules/`:void 0,t.skills.length>0?`skills/`:void 0,t.subagents.length>0?`subagents/`:void 0,t.tools.length>0?`tools/`:void 0].filter(e=>e!==void 0);if(n.length>0)throw Error(`Remote subagent definition "${e.logicalPath}" cannot include local package entries. Remove unsupported entries: ${n.join(`, `)}.`)}export{assertRemoteAgentDefinitionHasNoLocalPackageEntries,normalizeSubagentConfig};
@@ -1 +1 @@
1
- import{stripLogicalPathExtension}from"#discover/filesystem.js";import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";import{eveNamespaceReservation}from"#protocol/runtime-tools.js";import{normalizeToolDefinition}from"#internal/authored-definition/schema-backed.js";async function compileToolEntry(e,t,n){let r=normalizeToolDefinition(await loadModuleBackedDefinition({binding:n.binding,kind:`tool`,loadNamespace:n.loadNamespace,source:t}),`Expected the tool export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`),i=stripLogicalPathExtension(t.logicalPath).replace(/^tools\//,``).replaceAll(`/`,`-`),a=eveNamespaceReservation(i);if(a!==void 0)throw Error(`Tool "${t.logicalPath}" uses the reserved name "${i}". Rename its path; ${a}.`);if(r.kind===`disabled`)return{kind:`disabled`,name:i};if(r.kind===`web-search-tool`){if(i!==`web_search`)throw Error(`The webSearch() definition must be exported from "tools/web_search.ts", not "${t.logicalPath}".`);return{definition:{behavior:{availability:[],handling:{kind:`provider-tool`,...r.selection}},description:`Search the web for real-time information. Use this to find up-to-date information about current events, recent developments, or topics that may have changed since the knowledge cutoff.`,exportName:t.exportName,hasExecute:!1,hasModelOutputProjection:!1,inputSchema:null,logicalPath:t.logicalPath,name:i,sourceId:t.sourceId,sourceKind:`module`,requiresApproval:!1},kind:`web-search-tool`}}if(r.kind===`dynamic-tool`)return{kind:`dynamic-tool`,definition:{eventNames:[...r.eventNames],exportName:t.exportName,logicalPath:t.logicalPath,rebindMissingCallbacks:r.rebindMissingCallbacks||void 0,slug:i,sourceId:t.sourceId,sourceKind:`module`}};let{workflow:o}=r.definition,s={suspend:o===void 0?`none`:`workflow`};return{kind:`tool`,definition:{availableInSubagents:r.definition.availableInSubagents,deferred:r.definition.deferred,behavior:o===void 0?r.definition.behavior===void 0?{availability:[],shape:s}:{...r.definition.behavior,shape:s}:{availability:[],handling:{kind:`workflow-tool`,...o},shape:s},description:r.definition.description,exportName:t.exportName,hasExecute:r.definition.hasExecute,hasModelOutputProjection:r.definition.hasModelOutputProjection,inputSchema:r.definition.inputSchema??null,logicalPath:t.logicalPath,modelInputSchema:r.definition.modelInputSchema,name:i,outputSchema:r.definition.outputSchema,requiresApproval:r.definition.hasApproval,sourceId:t.sourceId,sourceKind:`module`,workflowProgram:r.definition.workflowProgram}}}export{compileToolEntry};
1
+ import{stripLogicalPathExtension}from"#discover/filesystem.js";import{loadModuleBackedDefinition}from"#compiler/normalize-helpers.js";import{eveNamespaceReservation}from"#protocol/runtime-tools.js";import{normalizeToolDefinition}from"#internal/authored-definition/schema-backed.js";async function compileToolEntry(e,t,n){let r=normalizeToolDefinition(await loadModuleBackedDefinition({binding:n.binding,kind:`tool`,loadNamespace:n.loadNamespace,source:t}),`Expected the tool export "${t.exportName??`default`}" from "${t.logicalPath}" to match the public eve shape.`),i=stripLogicalPathExtension(t.logicalPath).replace(/^tools\//,``).replaceAll(`/`,`-`),a=eveNamespaceReservation(i);if(a!==void 0)throw Error(`Tool "${t.logicalPath}" uses the reserved name "${i}". Rename its path; ${a}.`);if(r.kind===`disabled`)return{kind:`disabled`,name:i};if(r.kind===`web-search-tool`){if(i!==`web_search`)throw Error(`The webSearch() definition must be exported from "tools/web_search.ts", not "${t.logicalPath}".`);return{definition:{behavior:{availability:[],handling:{kind:`provider-tool`,...r.selection}},description:`Search the web for real-time information. Use this to find up-to-date information about current events, recent developments, or topics that may have changed since the knowledge cutoff.`,exportName:t.exportName,hasExecute:!1,hasModelOutputProjection:!1,inputSchema:null,logicalPath:t.logicalPath,name:i,sourceId:t.sourceId,sourceKind:`module`,requiresApproval:!1},kind:`web-search-tool`}}if(r.kind===`dynamic-tool`)return{kind:`dynamic-tool`,definition:{exportName:t.exportName,logicalPath:t.logicalPath,slug:i,sourceId:t.sourceId,sourceKind:`module`}};let{workflow:o}=r.definition,s={suspend:o===void 0?`none`:`workflow`};return{kind:`tool`,definition:{availableInSubagents:r.definition.availableInSubagents,deferred:r.definition.deferred,behavior:o===void 0?r.definition.behavior===void 0?{availability:[],shape:s}:{...r.definition.behavior,shape:s}:{availability:[],handling:{kind:`workflow-tool`,...o},shape:s},description:r.definition.description,exportName:t.exportName,hasExecute:r.definition.hasExecute,hasModelOutputProjection:r.definition.hasModelOutputProjection,inputSchema:r.definition.inputSchema??null,logicalPath:t.logicalPath,modelInputSchema:r.definition.modelInputSchema,name:i,outputSchema:r.definition.outputSchema,requiresApproval:r.definition.hasApproval,sourceId:t.sourceId,sourceKind:`module`,workflowProgram:r.definition.workflowProgram}}}export{compileToolEntry};
@@ -3,12 +3,7 @@ import type { Node } from "#shared/node.js";
3
3
  import type { ModuleSourceRef } from "#shared/source-ref.js";
4
4
  import type { AgentSourceOwner, CompiledModuleBinding } from "#compiler/source-graph.js";
5
5
  import type { AgentToolExposure } from "#shared/agent-definition.js";
6
- export interface CompiledDynamicSubagentDefinition extends Readonly<ModuleSourceRef> {
7
- readonly build?: {
8
- readonly externalDependencies?: readonly string[];
9
- };
10
- readonly eventNames: readonly string[];
11
- }
6
+ export type CompiledDynamicSubagentDefinition = Readonly<ModuleSourceRef>;
12
7
  /**
13
8
  * Remote subagent entry owned by one compiled agent node manifest. Like
14
9
  * channels, remote subagents are node-local manifest entries rather than a
@@ -83,7 +83,6 @@ export interface AgentModuleCandidate {
83
83
  readonly owner: AgentSourceOwner;
84
84
  readonly sourceId: string;
85
85
  }
86
- export declare function bindingMountId(binding: AgentModuleBinding): string | undefined;
87
86
  export interface AgentModuleBinding {
88
87
  readonly backing: AgentModuleBacking;
89
88
  readonly logicalPath: string;
@@ -1 +1 @@
1
- import{posix}from"node:path";import{normalizeLogicalPath,stripLogicalPathExtension}from"#discover/filesystem.js";import{parseJsonObject}from"#shared/json.js";import{validateProgrammaticLogicalPath,validateProgrammaticLogicalPath as validateProgrammaticLogicalPath$1,validateProgrammaticLogicalPathInternal}from"#compiler/source-graph-paths.js";function memoizeModuleNamespaceFactories(e){return Object.freeze(Object.fromEntries(Object.entries(e).map(([e,t])=>{if(typeof t!=`function`)return[e,t];let n;return[e,new Proxy(t,{apply(e,t,r){return r.length>0?Reflect.apply(e,t,r):(n??=Promise.resolve().then(()=>Reflect.apply(e,t,r)),n)}})]})))}var ImmutableProgrammaticSourceMap=class{#e;constructor(e){this.#e=new Map(e),Object.freeze(this)}get size(){return this.#e.size}get[Symbol.toStringTag](){return`ImmutableProgrammaticSourceMap`}[Symbol.iterator](){return this.#e[Symbol.iterator]()}entries(){return this.#e.entries()}forEach(e,t){this.#e.forEach((n,r)=>e.call(t,n,r,this))}get(e){return this.#e.get(e)}has(e){return this.#e.has(e)}keys(){return this.#e.keys()}values(){return this.#e.values()}};function extensionMountId(e,t){return posix.join(e,`extensions`,t)}function bindingMountId(e){return e.backing.kind===`filesystem`&&e.backing.mountId!==void 0?e.backing.mountId:e.owner.kind===`extension`?e.owner.mountId:void 0}function isAgentModuleCandidate(e){return e.backing.kind!==`resource`}const LAYER_PRECEDENCE={"framework-default":0,"extension-package":1,"extension-override":2,application:3},FORM_PRECEDENCE={derived:0,direct:1},registeredProgrammaticTemplates=new WeakSet;function defineProgrammaticAgentSource(e){return defineProgrammaticAgentSourceInternal(e,!1)}function defineProgrammaticAgentSourceInternal(e,t){let n=expectNonEmpty(e.id,`Programmatic agent source id`),r=expectNonEmpty(e.revision,`Programmatic agent source "${n}" revision`),i=new Set,a=e.modules.map(e=>{let r=validateProgrammaticLogicalPathInternal(e.logicalPath,t);if(i.has(r))throw Error(`Programmatic agent source "${n}" declares "${r}" more than once.`);i.add(r);let a=e.semanticRevision===void 0?void 0:expectNonEmpty(e.semanticRevision,`Programmatic module "${n}:${r}" semanticRevision`);return Object.freeze({exportName:e.exportName,loadNamespace:e.loadNamespace,logicalPath:r,semanticRevision:a})});return Object.freeze({id:n,modules:Object.freeze(a),revision:r})}function defineProgrammaticExtensionMountDeclaration(e){return defineProgrammaticAgentSourceInternal(e,!0)}function createAgentSourceRegistry(e,t={}){let n=new Map,r=new Map,addSource=(e,t=!1)=>{let r=defineProgrammaticAgentSourceInternal(e,t);if(n.has(r.id))throw Error(`Programmatic agent source id "${r.id}" is registered more than once.`);return n.set(r.id,r),r},i=e.map(e=>{let t=addSource(e.source);return Object.freeze({applyTo:e.applyTo,source:t})});for(let e of t.extensionDeclarations??[])addSource(e,!0);for(let e of t.templates??[]){let t=addSource(e);if(t.modules.length!==1)throw Error(`Programmatic template source "${t.id}" must register exactly one module.`);let n=Object.freeze({module:t.modules[0],source:t});registeredProgrammaticTemplates.add(n),r.set(t.id,n)}return Object.freeze({registrations:Object.freeze(i),sources:new ImmutableProgrammaticSourceMap(n),templates:new ImmutableProgrammaticSourceMap(r)})}function createProgrammaticModuleCandidates(e){return e.registration.source.modules.map(t=>{let n=`${e.registration.source.id}:${t.logicalPath}`;return Object.freeze({backing:Object.freeze({kind:`programmatic`,moduleId:t.logicalPath,registryId:e.registration.source.id,revision:e.registration.source.revision,semanticRevision:t.semanticRevision}),exportName:t.exportName,form:`direct`,layer:e.layer,logicalPath:t.logicalPath,nodeId:e.nodeId,owner:e.owner,sourceId:n})})}function instantiateProgrammaticTemplate(e){if(!registeredProgrammaticTemplates.has(e.template))throw Error(`Derived programmatic modules require a registered template.`);let t=validateProgrammaticLogicalPath$1(e.logicalPath),n=expectNonEmpty(e.anchor.sourceId,`Derived programmatic module anchor source id`),r=`${e.template.source.id}:${t}:from:${n}`;if(!Object.values(e.dependencies).some(e=>e.sourceId===n))throw Error(`Derived programmatic module "${r}" must include its anchor source as a dependency.`);let i=Object.freeze(Object.fromEntries(Object.entries(e.dependencies).sort(([e],[t])=>e.localeCompare(t)).map(([t,n])=>{if(expectNonEmpty(t,`Derived programmatic module dependency alias`),n.nodeId!==e.anchor.nodeId)throw Error(`Derived programmatic module "${r}" cannot depend on source "${n.sourceId}" from another node.`);return[t,n.sourceId]}))),a=Object.freeze(parseJsonObject(e.parameters??{}));return Object.freeze({backing:Object.freeze({dependencies:i,kind:`programmatic`,moduleId:e.template.module.logicalPath,parameters:a,registryId:e.template.source.id,revision:e.template.source.revision,semanticRevision:e.template.module.semanticRevision}),exportName:e.template.module.exportName,form:`derived`,layer:e.anchor.layer,logicalPath:t,nodeId:e.anchor.nodeId,owner:e.owner,sourceId:r})}function composeAgentModuleCandidates(e){let t=new Map,n=new Set;for(let r of e){if(n.has(r.sourceId))throw Error(`Agent source id "${r.sourceId}" is declared more than once in node "${r.nodeId}".`);n.add(r.sourceId);let e=canonicalSourceSlot(r.logicalPath),i=t.get(e)??[];i.push(r),t.set(e,i)}let r=new Map,i=[];for(let[e,n]of[...t].sort(([e],[t])=>e.localeCompare(t))){let t=new Set;for(let r of n){let n=`${r.layer}:${r.form}`;if(t.has(n))throw Error(`Agent source slot "${e}" has more than one ${r.layer} ${r.form} candidate.`);t.add(n)}let a=[...n].sort((e,t)=>LAYER_PRECEDENCE[t.layer]-LAYER_PRECEDENCE[e.layer]||FORM_PRECEDENCE[t.form]-FORM_PRECEDENCE[e.form]),o=a[0];r.set(e,o);for(let e of a.slice(1))i.push({kind:`shadowed`,source:describeAgentSourceCandidate(e),winnerSourceId:o.sourceId})}return validateSelectedCandidateDependencies(r),{composition:{entries:Object.freeze(i)},selected:r}}function disableComposedCandidate(e){let t=canonicalSourceSlot(e.candidate.logicalPath),n=new Map(e.composed.selected);if(n.get(t)?.sourceId!==e.candidate.sourceId)throw Error(`Only the selected source for "${t}" can disable that slot.`);if(!e.composed.composition.entries.some(t=>t.kind===`shadowed`&&t.winnerSourceId===e.candidate.sourceId)&&e.allowUnmatched!==!0)throw Error(`Source "${e.candidate.logicalPath}" disables a slot with no lower-precedence source.`);return n.delete(t),{composition:{entries:Object.freeze([...e.composed.composition.entries,{kind:`disabled`,source:describeAgentSourceCandidate(e.candidate)}])},selected:n}}function createAgentModuleBinding(e){return Object.freeze({backing:e.backing,logicalPath:e.logicalPath,owner:e.owner})}async function loadProgrammaticModuleNamespace(e){let t=e.registries.map(t=>t.sources.get(e.backing.registryId)).filter(e=>e!==void 0);if(t.length!==1)throw Error(`Expected exactly one registered programmatic source "${e.backing.registryId}", found ${t.length}.`);let n=t[0];if(n.revision!==e.backing.revision)throw Error(`Programmatic source "${n.id}" revision mismatch: artifact requires "${e.backing.revision}", registry provides "${n.revision}".`);let r=n.modules.find(t=>t.logicalPath===e.backing.moduleId);if(r===void 0)throw Error(`Programmatic source "${n.id}" does not register module "${e.backing.moduleId}".`);if(r.semanticRevision!==e.backing.semanticRevision)throw Error(`Programmatic module "${n.id}:${r.logicalPath}" semantic revision does not match the compiled binding.`);let i=Object.fromEntries(Object.entries(e.backing.dependencies??{}).map(([t,i])=>{let a=e.dependencyNamespaces?.[t];if(a===void 0)throw Error(`Programmatic module "${n.id}:${r.logicalPath}" requires unresolved binding "${i}" as dependency "${t}".`);return[t,a]})),a=await r.loadNamespace({dependencies:Object.freeze(i),parameters:Object.freeze(e.backing.parameters??{})});if(typeof a!=`object`||!a)throw Error(`Programmatic module "${n.id}:${r.logicalPath}" loader must return a module namespace object.`);return a}function canonicalSourceSlot(e){let t=normalizeLogicalPath(e);if(t.length===0||t===`.`||t.startsWith(`../`)||t.includes(`/../`)||posix.normalize(t)!==t)throw Error(`Agent source logical path "${e}" is invalid.`);let n=stripLogicalPathExtension(t),r=n.match(/^connections\/([^/]+)\/connection$/);if(r!==null)return`connections/${r[1]}`;if(n===`sandbox/sandbox`)return`sandbox`;let i=n.match(/^skills\/([^/]+)\/SKILL$/);return i===null?n:`skills/${i[1]}`}function describeAgentSourceCandidate(e){return Object.freeze({backing:e.backing,form:e.form,layer:e.layer,logicalPath:e.logicalPath,owner:e.owner,sourceId:e.sourceId})}function validateSelectedCandidateDependencies(e){let t=new Set([...e.values()].map(e=>e.sourceId));for(let n of e.values())if(n.backing.kind===`programmatic`){for(let e of Object.values(n.backing.dependencies??{}))if(!t.has(e))throw Error(`Derived programmatic source "${n.sourceId}" depends on unselected source "${e}".`)}}function expectNonEmpty(e,t){if(e.trim().length===0)throw Error(`${t} must be non-empty.`);return e}export{bindingMountId,canonicalSourceSlot,composeAgentModuleCandidates,createAgentModuleBinding,createAgentSourceRegistry,createProgrammaticModuleCandidates,defineProgrammaticAgentSource,defineProgrammaticExtensionMountDeclaration,describeAgentSourceCandidate,disableComposedCandidate,extensionMountId,instantiateProgrammaticTemplate,isAgentModuleCandidate,loadProgrammaticModuleNamespace,memoizeModuleNamespaceFactories,validateProgrammaticLogicalPath};
1
+ import{posix}from"node:path";import{normalizeLogicalPath,stripLogicalPathExtension}from"#discover/filesystem.js";import{parseJsonObject}from"#shared/json.js";import{validateProgrammaticLogicalPath,validateProgrammaticLogicalPath as validateProgrammaticLogicalPath$1,validateProgrammaticLogicalPathInternal}from"#compiler/source-graph-paths.js";function memoizeModuleNamespaceFactories(e){return Object.freeze(Object.fromEntries(Object.entries(e).map(([e,t])=>{if(typeof t!=`function`)return[e,t];let n;return[e,new Proxy(t,{apply(e,t,r){return r.length>0?Reflect.apply(e,t,r):(n??=Promise.resolve().then(()=>Reflect.apply(e,t,r)),n)}})]})))}var ImmutableProgrammaticSourceMap=class{#e;constructor(e){this.#e=new Map(e),Object.freeze(this)}get size(){return this.#e.size}get[Symbol.toStringTag](){return`ImmutableProgrammaticSourceMap`}[Symbol.iterator](){return this.#e[Symbol.iterator]()}entries(){return this.#e.entries()}forEach(e,t){this.#e.forEach((n,r)=>e.call(t,n,r,this))}get(e){return this.#e.get(e)}has(e){return this.#e.has(e)}keys(){return this.#e.keys()}values(){return this.#e.values()}};function extensionMountId(e,t){return posix.join(e,`extensions`,t)}function isAgentModuleCandidate(e){return e.backing.kind!==`resource`}const LAYER_PRECEDENCE={"framework-default":0,"extension-package":1,"extension-override":2,application:3},FORM_PRECEDENCE={derived:0,direct:1},registeredProgrammaticTemplates=new WeakSet;function defineProgrammaticAgentSource(e){return defineProgrammaticAgentSourceInternal(e,!1)}function defineProgrammaticAgentSourceInternal(e,t){let n=expectNonEmpty(e.id,`Programmatic agent source id`),r=expectNonEmpty(e.revision,`Programmatic agent source "${n}" revision`),i=new Set,a=e.modules.map(e=>{let r=validateProgrammaticLogicalPathInternal(e.logicalPath,t);if(i.has(r))throw Error(`Programmatic agent source "${n}" declares "${r}" more than once.`);i.add(r);let a=e.semanticRevision===void 0?void 0:expectNonEmpty(e.semanticRevision,`Programmatic module "${n}:${r}" semanticRevision`);return Object.freeze({exportName:e.exportName,loadNamespace:e.loadNamespace,logicalPath:r,semanticRevision:a})});return Object.freeze({id:n,modules:Object.freeze(a),revision:r})}function defineProgrammaticExtensionMountDeclaration(e){return defineProgrammaticAgentSourceInternal(e,!0)}function createAgentSourceRegistry(e,t={}){let n=new Map,r=new Map,addSource=(e,t=!1)=>{let r=defineProgrammaticAgentSourceInternal(e,t);if(n.has(r.id))throw Error(`Programmatic agent source id "${r.id}" is registered more than once.`);return n.set(r.id,r),r},i=e.map(e=>{let t=addSource(e.source);return Object.freeze({applyTo:e.applyTo,source:t})});for(let e of t.extensionDeclarations??[])addSource(e,!0);for(let e of t.templates??[]){let t=addSource(e);if(t.modules.length!==1)throw Error(`Programmatic template source "${t.id}" must register exactly one module.`);let n=Object.freeze({module:t.modules[0],source:t});registeredProgrammaticTemplates.add(n),r.set(t.id,n)}return Object.freeze({registrations:Object.freeze(i),sources:new ImmutableProgrammaticSourceMap(n),templates:new ImmutableProgrammaticSourceMap(r)})}function createProgrammaticModuleCandidates(e){return e.registration.source.modules.map(t=>{let n=`${e.registration.source.id}:${t.logicalPath}`;return Object.freeze({backing:Object.freeze({kind:`programmatic`,moduleId:t.logicalPath,registryId:e.registration.source.id,revision:e.registration.source.revision,semanticRevision:t.semanticRevision}),exportName:t.exportName,form:`direct`,layer:e.layer,logicalPath:t.logicalPath,nodeId:e.nodeId,owner:e.owner,sourceId:n})})}function instantiateProgrammaticTemplate(e){if(!registeredProgrammaticTemplates.has(e.template))throw Error(`Derived programmatic modules require a registered template.`);let t=validateProgrammaticLogicalPath$1(e.logicalPath),n=expectNonEmpty(e.anchor.sourceId,`Derived programmatic module anchor source id`),r=`${e.template.source.id}:${t}:from:${n}`;if(!Object.values(e.dependencies).some(e=>e.sourceId===n))throw Error(`Derived programmatic module "${r}" must include its anchor source as a dependency.`);let i=Object.freeze(Object.fromEntries(Object.entries(e.dependencies).sort(([e],[t])=>e.localeCompare(t)).map(([t,n])=>{if(expectNonEmpty(t,`Derived programmatic module dependency alias`),n.nodeId!==e.anchor.nodeId)throw Error(`Derived programmatic module "${r}" cannot depend on source "${n.sourceId}" from another node.`);return[t,n.sourceId]}))),a=Object.freeze(parseJsonObject(e.parameters??{}));return Object.freeze({backing:Object.freeze({dependencies:i,kind:`programmatic`,moduleId:e.template.module.logicalPath,parameters:a,registryId:e.template.source.id,revision:e.template.source.revision,semanticRevision:e.template.module.semanticRevision}),exportName:e.template.module.exportName,form:`derived`,layer:e.anchor.layer,logicalPath:t,nodeId:e.anchor.nodeId,owner:e.owner,sourceId:r})}function composeAgentModuleCandidates(e){let t=new Map,n=new Set;for(let r of e){if(n.has(r.sourceId))throw Error(`Agent source id "${r.sourceId}" is declared more than once in node "${r.nodeId}".`);n.add(r.sourceId);let e=canonicalSourceSlot(r.logicalPath),i=t.get(e)??[];i.push(r),t.set(e,i)}let r=new Map,i=[];for(let[e,n]of[...t].sort(([e],[t])=>e.localeCompare(t))){let t=new Set;for(let r of n){let n=`${r.layer}:${r.form}`;if(t.has(n))throw Error(`Agent source slot "${e}" has more than one ${r.layer} ${r.form} candidate.`);t.add(n)}let a=[...n].sort((e,t)=>LAYER_PRECEDENCE[t.layer]-LAYER_PRECEDENCE[e.layer]||FORM_PRECEDENCE[t.form]-FORM_PRECEDENCE[e.form]),o=a[0];r.set(e,o);for(let e of a.slice(1))i.push({kind:`shadowed`,source:describeAgentSourceCandidate(e),winnerSourceId:o.sourceId})}return validateSelectedCandidateDependencies(r),{composition:{entries:Object.freeze(i)},selected:r}}function disableComposedCandidate(e){let t=canonicalSourceSlot(e.candidate.logicalPath),n=new Map(e.composed.selected);if(n.get(t)?.sourceId!==e.candidate.sourceId)throw Error(`Only the selected source for "${t}" can disable that slot.`);if(!e.composed.composition.entries.some(t=>t.kind===`shadowed`&&t.winnerSourceId===e.candidate.sourceId)&&e.allowUnmatched!==!0)throw Error(`Source "${e.candidate.logicalPath}" disables a slot with no lower-precedence source.`);return n.delete(t),{composition:{entries:Object.freeze([...e.composed.composition.entries,{kind:`disabled`,source:describeAgentSourceCandidate(e.candidate)}])},selected:n}}function createAgentModuleBinding(e){return Object.freeze({backing:e.backing,logicalPath:e.logicalPath,owner:e.owner})}async function loadProgrammaticModuleNamespace(e){let t=e.registries.map(t=>t.sources.get(e.backing.registryId)).filter(e=>e!==void 0);if(t.length!==1)throw Error(`Expected exactly one registered programmatic source "${e.backing.registryId}", found ${t.length}.`);let n=t[0];if(n.revision!==e.backing.revision)throw Error(`Programmatic source "${n.id}" revision mismatch: artifact requires "${e.backing.revision}", registry provides "${n.revision}".`);let r=n.modules.find(t=>t.logicalPath===e.backing.moduleId);if(r===void 0)throw Error(`Programmatic source "${n.id}" does not register module "${e.backing.moduleId}".`);if(r.semanticRevision!==e.backing.semanticRevision)throw Error(`Programmatic module "${n.id}:${r.logicalPath}" semantic revision does not match the compiled binding.`);let i=Object.fromEntries(Object.entries(e.backing.dependencies??{}).map(([t,i])=>{let a=e.dependencyNamespaces?.[t];if(a===void 0)throw Error(`Programmatic module "${n.id}:${r.logicalPath}" requires unresolved binding "${i}" as dependency "${t}".`);return[t,a]})),a=await r.loadNamespace({dependencies:Object.freeze(i),parameters:Object.freeze(e.backing.parameters??{})});if(typeof a!=`object`||!a)throw Error(`Programmatic module "${n.id}:${r.logicalPath}" loader must return a module namespace object.`);return a}function canonicalSourceSlot(e){let t=normalizeLogicalPath(e);if(t.length===0||t===`.`||t.startsWith(`../`)||t.includes(`/../`)||posix.normalize(t)!==t)throw Error(`Agent source logical path "${e}" is invalid.`);let n=stripLogicalPathExtension(t),r=n.match(/^connections\/([^/]+)\/connection$/);if(r!==null)return`connections/${r[1]}`;if(n===`sandbox/sandbox`)return`sandbox`;let i=n.match(/^skills\/([^/]+)\/SKILL$/);return i===null?n:`skills/${i[1]}`}function describeAgentSourceCandidate(e){return Object.freeze({backing:e.backing,form:e.form,layer:e.layer,logicalPath:e.logicalPath,owner:e.owner,sourceId:e.sourceId})}function validateSelectedCandidateDependencies(e){let t=new Set([...e.values()].map(e=>e.sourceId));for(let n of e.values())if(n.backing.kind===`programmatic`){for(let e of Object.values(n.backing.dependencies??{}))if(!t.has(e))throw Error(`Derived programmatic source "${n.sourceId}" depends on unselected source "${e}".`)}}function expectNonEmpty(e,t){if(e.trim().length===0)throw Error(`${t} must be non-empty.`);return e}export{canonicalSourceSlot,composeAgentModuleCandidates,createAgentModuleBinding,createAgentSourceRegistry,createProgrammaticModuleCandidates,defineProgrammaticAgentSource,defineProgrammaticExtensionMountDeclaration,describeAgentSourceCandidate,disableComposedCandidate,extensionMountId,instantiateProgrammaticTemplate,isAgentModuleCandidate,loadProgrammaticModuleNamespace,memoizeModuleNamespaceFactories,validateProgrammaticLogicalPath};
@@ -1,5 +1,5 @@
1
1
  import{commandFailureDetail}from"./command-failure.js";import{COMPUTER_USE_DRIVER_SOURCES}from"./computer-use-driver-source.js";import{shellQuote}from"./shell.js";import{computerUseDisplayCommand,computerUseDriverStartCommand,computerUsePaths,computerUseReadyCommand}from"./computer-use.js";const COMPUTER_USE_REVALIDATION_KEY=`computer-use:0.12.5:2026-09-17.1`;async function installComputerUse(e){let t=computerUsePaths(e),n=e.resolvePath(`.eve-code/install-computer-use.sh`);await e.run({command:`mkdir -p ${shellQuote(t.driverRoot)}`}),await Promise.all([...Object.entries(COMPUTER_USE_DRIVER_SOURCES).map(([n,r])=>e.writeTextFile({path:`${t.driverRoot}/${n}`,content:r})),e.writeTextFile({path:n,content:computerUseInstallScript(e)})]);let r=await e.run({command:[`set -e`,`if [ "$(id -u)" = 0 ]; then`,` bash ${shellQuote(n)}`,`elif command -v sudo >/dev/null 2>&1; then`,` sudo -n bash ${shellQuote(n)}`,`else`,` echo 'computer-use requires an apt-based sandbox image with root or passwordless sudo' >&2`,` exit 1`,`fi`].join(`
2
- `)});if(r.exitCode!==0)throw Error(`computer-use installation failed (exit ${r.exitCode}): ${commandFailureDetail(r)}`)}async function startComputerUse(e){let t={TERM:`xterm-256color`},n=await e.run({command:computerUseDisplayCommand(e),env:t});if(n.exitCode!==0)throw Error(`computer-use display startup failed (exit ${n.exitCode}): ${commandFailureDetail(n)}`);let r=await e.run({command:computerUseDriverStartCommand(e),env:t});if(r.exitCode!==0)throw Error(`computer-use driver startup failed (exit ${r.exitCode}): ${commandFailureDetail(r)}`)}async function ensureComputerUse(e,t){(await e.run({command:computerUseReadyCommand(e),abortSignal:t})).exitCode!==0&&await startComputerUse(e)}function computerUseInstallScript(e){let t=computerUsePaths(e);return`#!/usr/bin/env bash
2
+ `)});if(r.exitCode!==0)throw Error(`computer-use installation failed (exit ${r.exitCode}): ${commandFailureDetail(r)}`)}async function startComputerUse(e){let t={TERM:`xterm-256color`},n=await e.run({command:computerUseDisplayCommand(e),env:t});if(n.exitCode!==0)throw Error(`computer-use display startup failed (exit ${n.exitCode}): ${commandFailureDetail(n)}`);let r=await e.run({command:computerUseDriverStartCommand(e),env:t});if(r.exitCode!==0)throw Error(`computer-use driver startup failed (exit ${r.exitCode}): ${commandFailureDetail(r)}`)}async function ensureComputerUse(e,t){(await e.run({command:computerUseReadyCommand(e),signal:t})).exitCode!==0&&await startComputerUse(e)}function computerUseInstallScript(e){let t=computerUsePaths(e);return`#!/usr/bin/env bash
3
3
  set -euo pipefail
4
4
 
5
5
  command -v apt-get >/dev/null || {
@@ -1 +1 @@
1
- export { COMPUTER_USE_REVALIDATION_KEY, installComputerUse, startComputerUse, } from "./computer-use-sandbox.ts";
1
+ export { installComputerUse, startComputerUse } from "./computer-use-sandbox.ts";
@@ -1 +1 @@
1
- import{COMPUTER_USE_REVALIDATION_KEY,installComputerUse,startComputerUse}from"./computer-use-sandbox.js";export{COMPUTER_USE_REVALIDATION_KEY,installComputerUse,startComputerUse};
1
+ import{installComputerUse,startComputerUse}from"./computer-use-sandbox.js";export{installComputerUse,startComputerUse};