experimental-ash 0.25.2 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (765) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/bin/ash.d.ts +4 -4
  3. package/bin/ash.js +12 -8
  4. package/dist/docs/public/channels/README.md +26 -2
  5. package/dist/docs/public/channels/discord.md +159 -0
  6. package/dist/docs/public/channels/slack.md +14 -2
  7. package/dist/docs/public/subagents.md +38 -0
  8. package/dist/src/_virtual/_rolldown/runtime.js +1 -0
  9. package/dist/src/channel/adapter-context.js +1 -24
  10. package/dist/src/channel/adapter.js +1 -62
  11. package/dist/src/channel/compiled-channel.js +1 -6
  12. package/dist/src/channel/cross-channel-receive.js +2 -108
  13. package/dist/src/channel/http.js +1 -30
  14. package/dist/src/channel/receive-args.js +1 -1
  15. package/dist/src/channel/resolve-text.js +1 -59
  16. package/dist/src/channel/routes.js +1 -15
  17. package/dist/src/channel/schedule.js +1 -81
  18. package/dist/src/channel/send.js +1 -81
  19. package/dist/src/channel/session-callback.js +1 -65
  20. package/dist/src/channel/session.js +1 -58
  21. package/dist/src/channel/types.js +1 -1
  22. package/dist/src/cli/commands/channels.d.ts +15 -0
  23. package/dist/src/cli/commands/channels.js +3 -0
  24. package/dist/src/cli/commands/info.js +2 -2
  25. package/dist/src/cli/dev/environment.js +1 -1
  26. package/dist/src/cli/dev/input-requests.js +1 -1
  27. package/dist/src/cli/dev/input.js +1 -1
  28. package/dist/src/cli/dev/repl.js +2 -3
  29. package/dist/src/cli/dev/terminal.js +5 -5
  30. package/dist/src/cli/dev/url.js +1 -1
  31. package/dist/src/cli/run.js +2 -2
  32. package/dist/src/cli/ui/output.js +8 -8
  33. package/dist/src/client/client-error.js +1 -19
  34. package/dist/src/client/client.js +1 -128
  35. package/dist/src/client/index.js +1 -11
  36. package/dist/src/client/message-reducer-types.js +1 -1
  37. package/dist/src/client/message-reducer.js +1 -456
  38. package/dist/src/client/message-response.js +1 -55
  39. package/dist/src/client/ndjson.js +3 -62
  40. package/dist/src/client/open-stream.js +1 -45
  41. package/dist/src/client/reducer.js +1 -1
  42. package/dist/src/client/session-utils.js +1 -62
  43. package/dist/src/client/session.js +1 -206
  44. package/dist/src/client/types.js +1 -1
  45. package/dist/src/client/url.js +1 -34
  46. package/dist/src/compiled/.vendor-stamp.json +6 -1
  47. package/dist/src/compiled/@vercel/oidc/LICENSE +202 -0
  48. package/dist/src/compiled/@vercel/oidc/index.d.ts +21 -0
  49. package/dist/src/compiled/@vercel/oidc/index.js +2 -0
  50. package/dist/src/compiled/@vercel/oidc/package.json +7 -0
  51. package/dist/src/compiled/chokidar/LICENSE +21 -0
  52. package/dist/src/compiled/chokidar/index.d.ts +33 -0
  53. package/dist/src/compiled/chokidar/index.js +1 -0
  54. package/dist/src/compiled/chokidar/package.json +7 -0
  55. package/dist/src/compiled/commander/LICENSE +22 -0
  56. package/dist/src/compiled/commander/index.d.ts +1113 -0
  57. package/dist/src/{chunks/url-JdCGA634.js → compiled/commander/index.js} +10 -10
  58. package/dist/src/compiled/commander/package.json +7 -0
  59. package/dist/src/compiled/gray-matter/LICENSE +21 -0
  60. package/dist/src/compiled/gray-matter/index.d.ts +62 -0
  61. package/dist/src/{chunks/gray-matter-D-9jHwOT.js → compiled/gray-matter/index.js} +2 -2
  62. package/dist/src/compiled/gray-matter/package.json +7 -0
  63. package/dist/src/compiled/picocolors/LICENSE +15 -0
  64. package/dist/src/compiled/picocolors/index.d.ts +55 -0
  65. package/dist/src/compiled/picocolors/index.js +1 -0
  66. package/dist/src/compiled/picocolors/package.json +7 -0
  67. package/dist/src/compiler/artifacts.js +1 -147
  68. package/dist/src/compiler/compile-agent.js +3 -76
  69. package/dist/src/compiler/compile-from-memory.js +1 -59
  70. package/dist/src/compiler/manifest.js +1 -424
  71. package/dist/src/compiler/model-catalog.js +1 -224
  72. package/dist/src/compiler/module-map.js +5 -295
  73. package/dist/src/compiler/normalize-agent-config.js +1 -157
  74. package/dist/src/compiler/normalize-channel.js +1 -51
  75. package/dist/src/compiler/normalize-connection.js +1 -58
  76. package/dist/src/compiler/normalize-helpers.js +1 -23
  77. package/dist/src/compiler/normalize-hook.js +1 -19
  78. package/dist/src/compiler/normalize-instructions.js +1 -28
  79. package/dist/src/compiler/normalize-manifest.js +1 -79
  80. package/dist/src/compiler/normalize-sandbox.js +1 -20
  81. package/dist/src/compiler/normalize-schedule.js +1 -38
  82. package/dist/src/compiler/normalize-skill.js +1 -60
  83. package/dist/src/compiler/normalize-subagent.js +1 -174
  84. package/dist/src/compiler/normalize-tool.js +1 -40
  85. package/dist/src/compiler/remote-agent-node.js +1 -19
  86. package/dist/src/compiler/workspace-resources.js +1 -85
  87. package/dist/src/context/accessors.js +1 -93
  88. package/dist/src/context/container.js +1 -89
  89. package/dist/src/context/hook-lifecycle.js +1 -242
  90. package/dist/src/context/key.js +1 -39
  91. package/dist/src/context/keys.js +1 -43
  92. package/dist/src/context/node.js +1 -9
  93. package/dist/src/context/provider.js +1 -1
  94. package/dist/src/context/providers/connection.js +1 -17
  95. package/dist/src/context/providers/sandbox.js +1 -46
  96. package/dist/src/context/providers/session.js +1 -18
  97. package/dist/src/context/run-step.js +1 -51
  98. package/dist/src/context/seed-keys.js +1 -37
  99. package/dist/src/context/serialize.js +1 -44
  100. package/dist/src/discover/connections.js +1 -153
  101. package/dist/src/discover/diagnostics.js +1 -82
  102. package/dist/src/discover/discover-agent.js +1 -159
  103. package/dist/src/discover/discover-subagent.js +1 -223
  104. package/dist/src/discover/filesystem.js +1 -215
  105. package/dist/src/discover/grammar.js +1 -371
  106. package/dist/src/discover/lib.js +1 -34
  107. package/dist/src/discover/manifest.js +1 -136
  108. package/dist/src/discover/markdown.js +1 -17
  109. package/dist/src/discover/named-source-directory.js +1 -188
  110. package/dist/src/discover/project-source.js +1 -152
  111. package/dist/src/discover/project.js +1 -117
  112. package/dist/src/discover/sandbox.js +1 -220
  113. package/dist/src/discover/schedules.js +1 -41
  114. package/dist/src/discover/skills.js +1 -274
  115. package/dist/src/discover/slots.js +1 -68
  116. package/dist/src/evals/cli/eval.js +1 -1
  117. package/dist/src/evals/define-eval-suite.js +1 -1
  118. package/dist/src/evals/index.js +1 -1
  119. package/dist/src/evals/loaders/index.js +1 -1
  120. package/dist/src/evals/loaders/json.js +1 -1
  121. package/dist/src/evals/loaders/yaml.js +1 -1
  122. package/dist/src/evals/reporters/index.js +1 -1
  123. package/dist/src/evals/runner/artifacts.js +3 -3
  124. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  125. package/dist/src/evals/runner/discover.js +1 -1
  126. package/dist/src/evals/runner/execute-case.js +1 -1
  127. package/dist/src/evals/runner/execute-suite.js +1 -1
  128. package/dist/src/evals/runner/reporters/braintrust.js +2 -2
  129. package/dist/src/evals/runner/reporters/console.js +1 -1
  130. package/dist/src/evals/runner/resolve-git-metadata.js +1 -1
  131. package/dist/src/evals/scorers/autoevals-client.js +2 -2
  132. package/dist/src/evals/scorers/autoevals.js +1 -1
  133. package/dist/src/evals/scorers/json.js +1 -1
  134. package/dist/src/evals/scorers/run.js +1 -1
  135. package/dist/src/evals/scorers/sql.js +1 -1
  136. package/dist/src/evals/scorers/text.js +1 -1
  137. package/dist/src/evals/scores/index.js +1 -1
  138. package/dist/src/execution/authorization-challenge-defaults.js +1 -60
  139. package/dist/src/execution/await-authorization-orchestrator.js +1 -192
  140. package/dist/src/execution/await-authorization-splice.js +1 -66
  141. package/dist/src/execution/connection-auth-steps.js +1 -338
  142. package/dist/src/execution/node-step.js +1 -146
  143. package/dist/src/execution/remote-agent-dispatch.js +1 -79
  144. package/dist/src/execution/runtime-context.js +1 -26
  145. package/dist/src/execution/runtime-errors.js +1 -19
  146. package/dist/src/execution/sandbox/bash-tool.js +1 -42
  147. package/dist/src/execution/sandbox/bindings/local.js +1 -296
  148. package/dist/src/execution/sandbox/bindings/vercel.js +1 -363
  149. package/dist/src/execution/sandbox/ensure.js +1 -91
  150. package/dist/src/execution/sandbox/glob-tool.js +3 -146
  151. package/dist/src/execution/sandbox/grep-tool.js +3 -183
  152. package/dist/src/execution/sandbox/lazy-backend.js +1 -33
  153. package/dist/src/execution/sandbox/prewarm.js +1 -132
  154. package/dist/src/execution/sandbox/read-file-tool.js +3 -118
  155. package/dist/src/execution/sandbox/require-sandbox.js +1 -32
  156. package/dist/src/execution/sandbox/ripgrep-probe.js +1 -36
  157. package/dist/src/execution/sandbox/session.js +3 -158
  158. package/dist/src/execution/sandbox/shell-quote.js +1 -14
  159. package/dist/src/execution/sandbox/stream-utils.js +1 -22
  160. package/dist/src/execution/sandbox/truncate-output.js +3 -110
  161. package/dist/src/execution/sandbox/write-file-tool.js +1 -62
  162. package/dist/src/execution/session-callback-step.js +1 -72
  163. package/dist/src/execution/session.js +3 -94
  164. package/dist/src/execution/skills/instructions.js +2 -30
  165. package/dist/src/execution/skills/types.js +1 -1
  166. package/dist/src/execution/subagent-adapter.js +1 -94
  167. package/dist/src/execution/subagent-hitl-proxy.js +1 -81
  168. package/dist/src/execution/subagent-invocation.js +2 -16
  169. package/dist/src/execution/subagent-tool.js +1 -48
  170. package/dist/src/execution/tool-compaction.js +1 -54
  171. package/dist/src/execution/turn-workflow.js +1 -95
  172. package/dist/src/execution/web-fetch/html.js +7 -60
  173. package/dist/src/execution/web-fetch/tool.js +1 -90
  174. package/dist/src/execution/workflow-entry.js +1 -494
  175. package/dist/src/execution/workflow-errors.js +1 -54
  176. package/dist/src/execution/workflow-runtime.js +3 -161
  177. package/dist/src/execution/workflow-steps.js +1 -467
  178. package/dist/src/harness/action-result-helpers.js +1 -82
  179. package/dist/src/harness/attachment-staging.js +1 -303
  180. package/dist/src/harness/compaction.js +4 -221
  181. package/dist/src/harness/emission.js +1 -323
  182. package/dist/src/harness/execute-tool.js +1 -1
  183. package/dist/src/harness/input-extraction.js +1 -62
  184. package/dist/src/harness/input-requests.js +1 -306
  185. package/dist/src/harness/instrumentation-config.js +1 -42
  186. package/dist/src/harness/messages.js +1 -144
  187. package/dist/src/harness/model-call-error.js +1 -368
  188. package/dist/src/harness/otel-integration.js +1 -18
  189. package/dist/src/harness/prompt-cache.js +1 -137
  190. package/dist/src/harness/provider-tools.js +1 -137
  191. package/dist/src/harness/proxy-input-requests.js +1 -91
  192. package/dist/src/harness/runtime-actions.js +1 -321
  193. package/dist/src/harness/step-hooks.js +1 -192
  194. package/dist/src/harness/tool-loop.js +1 -877
  195. package/dist/src/harness/tool-result-pruning.js +1 -124
  196. package/dist/src/harness/tools.js +1 -98
  197. package/dist/src/harness/types.js +1 -1
  198. package/dist/src/index.js +1 -1
  199. package/dist/src/internal/application/cache-metadata.js +1 -42
  200. package/dist/src/internal/application/compiled-artifacts.js +4 -114
  201. package/dist/src/internal/application/import-specifier.js +1 -58
  202. package/dist/src/internal/application/package.js +1 -196
  203. package/dist/src/internal/application/paths.js +1 -117
  204. package/dist/src/internal/application/runtime-compiled-artifacts-source.js +1 -11
  205. package/dist/src/internal/attachments/data.js +1 -127
  206. package/dist/src/internal/attachments/errors.js +1 -26
  207. package/dist/src/internal/attachments/refs.js +1 -94
  208. package/dist/src/internal/attachments/sandbox-refs.js +1 -78
  209. package/dist/src/internal/attachments/url-refs.js +1 -20
  210. package/dist/src/internal/authored-asset-import-plugin.js +1 -141
  211. package/dist/src/internal/authored-definition/channel.js +1 -21
  212. package/dist/src/internal/authored-definition/connection.js +1 -148
  213. package/dist/src/internal/authored-definition/core.js +1 -180
  214. package/dist/src/internal/authored-definition/sandbox.js +1 -47
  215. package/dist/src/internal/authored-definition/schema-backed.js +1 -56
  216. package/dist/src/internal/authored-module-bundle.js +2 -19
  217. package/dist/src/internal/authored-module-loader.js +2 -263
  218. package/dist/src/internal/authored-module-map-loader.js +1 -53
  219. package/dist/src/internal/authored-module.js +1 -81
  220. package/dist/src/internal/authored-package-tsconfig-paths.js +1 -209
  221. package/dist/src/internal/bundler/nitro-rolldown.js +1 -42
  222. package/dist/src/internal/helpers/markdown.js +3 -174
  223. package/dist/src/internal/json-schema.js +1 -13
  224. package/dist/src/internal/logging.js +1 -226
  225. package/dist/src/internal/nitro/host/artifacts-config.js +1 -17
  226. package/dist/src/internal/nitro/host/build-application.js +1 -177
  227. package/dist/src/internal/nitro/host/build-vercel-agent-summary.js +1 -140
  228. package/dist/src/internal/nitro/host/channel-routes.js +2 -126
  229. package/dist/src/internal/nitro/host/compiled-sandbox-backend-prune-plugin.js +2 -28
  230. package/dist/src/internal/nitro/host/configure-nitro-routes.js +4 -272
  231. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -491
  232. package/dist/src/internal/nitro/host/cron-handler-route.js +1 -49
  233. package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -390
  234. package/dist/src/internal/nitro/host/nitro-bundler-config.js +1 -10
  235. package/dist/src/internal/nitro/host/nitro-routing-import-specifier-plugin.js +1 -28
  236. package/dist/src/internal/nitro/host/prepare-application-host.js +1 -32
  237. package/dist/src/internal/nitro/host/schedule-task-routes.js +2 -148
  238. package/dist/src/internal/nitro/host/server-external-packages.js +1 -107
  239. package/dist/src/internal/nitro/host/start-development-server.js +1 -223
  240. package/dist/src/internal/nitro/host/types.js +1 -1
  241. package/dist/src/internal/nitro/host/vercel-build-output-config.js +1 -14
  242. package/dist/src/internal/nitro/host/vercel-build-prewarm.js +1 -30
  243. package/dist/src/internal/nitro/host.js +1 -2
  244. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +2 -180
  245. package/dist/src/internal/nitro/routes/agent-info/load-agent-info-data.js +1 -46
  246. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -74
  247. package/dist/src/internal/nitro/routes/health.js +1 -17
  248. package/dist/src/internal/nitro/routes/index.js +2 -89
  249. package/dist/src/internal/nitro/routes/info.js +1 -50
  250. package/dist/src/internal/nitro/routes/runtime-artifacts.js +1 -24
  251. package/dist/src/internal/nitro/routes/runtime-stack.js +1 -23
  252. package/dist/src/internal/nitro/routes/schedule-task.js +1 -57
  253. package/dist/src/internal/nitro/routes/workflow-data.js +1 -141
  254. package/dist/src/internal/nitro/routes/workflow-route-helpers.js +1 -137
  255. package/dist/src/internal/nitro/routes/workflow-run-events.js +1 -41
  256. package/dist/src/internal/nitro/routes/workflow-run-steps.js +1 -41
  257. package/dist/src/internal/nitro/routes/workflow-run.js +1 -34
  258. package/dist/src/internal/nitro/routes/workflow-runs.js +1 -28
  259. package/dist/src/internal/node-esm-compat-banner.js +2 -65
  260. package/dist/src/internal/package-name.js +1 -8
  261. package/dist/src/internal/process/pnpm.d.ts +28 -0
  262. package/dist/src/internal/process/pnpm.js +1 -0
  263. package/dist/src/internal/runtime-model.js +1 -24
  264. package/dist/src/internal/runtime-registry.js +1 -93
  265. package/dist/src/internal/vercel-agent-summary.js +1 -72
  266. package/dist/src/internal/workflow/builtins.js +1 -18
  267. package/dist/src/internal/workflow/index.js +1 -9
  268. package/dist/src/internal/workflow-bundle/ash-service-route-output.js +3 -93
  269. package/dist/src/internal/workflow-bundle/builder-support.js +5 -372
  270. package/dist/src/internal/workflow-bundle/builder.js +5 -472
  271. package/dist/src/internal/workflow-bundle/nitro-step-entry.js +2 -132
  272. package/dist/src/internal/workflow-bundle/vercel-workflow-output.js +3 -494
  273. package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -292
  274. package/dist/src/internal/workflow-bundle/workflow-core-shim.js +1 -84
  275. package/dist/src/internal/workflow-bundle/workflow-transformer.js +5 -318
  276. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/ajv.js +1 -0
  277. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js +1 -0
  278. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js +2 -0
  279. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js +1 -0
  280. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js +1 -0
  281. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/index.js +1 -0
  282. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js +1 -0
  283. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js +1 -0
  284. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js +1 -0
  285. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js +1 -0
  286. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js +1 -0
  287. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js +1 -0
  288. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js +1 -0
  289. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js +4 -0
  290. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js +1 -0
  291. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js +1 -0
  292. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js +1 -0
  293. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js +1 -0
  294. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/core.js +1 -0
  295. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/data.js +1 -0
  296. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-draft-07.js +1 -0
  297. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js +1 -0
  298. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js +1 -0
  299. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js +1 -0
  300. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/validation_error.js +1 -0
  301. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +1 -0
  302. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +1 -0
  303. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +1 -0
  304. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +1 -0
  305. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +1 -0
  306. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +4 -0
  307. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js +1 -0
  308. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -0
  309. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js +1 -0
  310. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +1 -0
  311. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js +1 -0
  312. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +1 -0
  313. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +1 -0
  314. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +1 -0
  315. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +1 -0
  316. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +1 -0
  317. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +1 -0
  318. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js +1 -0
  319. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/id.js +1 -0
  320. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js +1 -0
  321. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js +1 -0
  322. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -0
  323. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/types.js +1 -0
  324. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft7.js +1 -0
  325. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js +1 -0
  326. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/index.js +1 -0
  327. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/metadata.js +1 -0
  328. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js +1 -0
  329. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js +1 -0
  330. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js +1 -0
  331. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +1 -0
  332. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +1 -0
  333. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +1 -0
  334. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +1 -0
  335. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +1 -0
  336. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +1 -0
  337. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js +1 -0
  338. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +1 -0
  339. package/dist/src/node_modules/.pnpm/autoevals@0.0.132_ws@8.21.0/node_modules/autoevals/jsdist/index.js +384 -0
  340. package/dist/src/node_modules/.pnpm/compute-cosine-similarity@1.1.0/node_modules/compute-cosine-similarity/lib/index.js +1 -0
  341. package/dist/src/node_modules/.pnpm/compute-dot@1.1.0/node_modules/compute-dot/lib/index.js +1 -0
  342. package/dist/src/node_modules/.pnpm/compute-l2norm@1.1.0/node_modules/compute-l2norm/lib/index.js +1 -0
  343. package/dist/src/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +1 -0
  344. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/index.js +1 -0
  345. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/schemes.js +1 -0
  346. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/utils.js +1 -0
  347. package/dist/src/node_modules/.pnpm/js-levenshtein@1.1.6/node_modules/js-levenshtein/index.js +1 -0
  348. package/dist/src/node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.js +32 -0
  349. package/dist/src/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +1 -0
  350. package/dist/src/node_modules/.pnpm/mustache@4.2.0/node_modules/mustache/mustache.js +4 -0
  351. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/_vendor/partial-json-parser/parser.js +2 -0
  352. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/auth/workload-identity-auth.js +1 -0
  353. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/azure.js +1 -0
  354. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/client.js +11 -0
  355. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/api-promise.js +1 -0
  356. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/error.js +1 -0
  357. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/pagination.js +1 -0
  358. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/resource.js +1 -0
  359. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/streaming.js +3 -0
  360. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/uploads.js +1 -0
  361. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/error.js +1 -0
  362. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/index.js +1 -0
  363. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/decoders/line.js +3 -0
  364. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/detect-platform.js +1 -0
  365. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/errors.js +1 -0
  366. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/headers.js +1 -0
  367. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/parse.js +1 -0
  368. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/qs/formats.js +1 -0
  369. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/qs/stringify.js +1 -0
  370. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/qs/utils.js +1 -0
  371. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/request-options.js +1 -0
  372. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/shims.js +1 -0
  373. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/to-file.js +1 -0
  374. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/tslib.js +1 -0
  375. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/uploads.js +1 -0
  376. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/base64.js +1 -0
  377. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/bytes.js +1 -0
  378. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/env.js +1 -0
  379. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/log.js +1 -0
  380. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/path.js +2 -0
  381. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/query.js +1 -0
  382. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/sleep.js +1 -0
  383. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/uuid.js +1 -0
  384. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/values.js +1 -0
  385. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils.js +1 -0
  386. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/AbstractChatCompletionRunner.js +1 -0
  387. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/AssistantStream.js +1 -0
  388. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/ChatCompletionRunner.js +1 -0
  389. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/ChatCompletionStream.js +1 -0
  390. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/ChatCompletionStreamingRunner.js +1 -0
  391. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/EventStream.js +1 -0
  392. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/ResponsesParser.js +1 -0
  393. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/RunnableFunction.js +1 -0
  394. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/Util.js +1 -0
  395. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/chatCompletionUtils.js +1 -0
  396. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/parser.js +1 -0
  397. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/responses/ResponseStream.js +1 -0
  398. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/admin.js +1 -0
  399. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/admin-api-keys.js +1 -0
  400. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/audit-logs.js +1 -0
  401. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/certificates.js +1 -0
  402. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/data-retention.js +1 -0
  403. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/groups/groups.js +1 -0
  404. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/groups/roles.js +1 -0
  405. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/groups/users.js +1 -0
  406. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/invites.js +1 -0
  407. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/organization.js +1 -0
  408. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/api-keys.js +1 -0
  409. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/certificates.js +1 -0
  410. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/data-retention.js +1 -0
  411. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/groups/groups.js +1 -0
  412. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/groups/roles.js +1 -0
  413. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.js +1 -0
  414. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/model-permissions.js +1 -0
  415. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/projects.js +1 -0
  416. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/rate-limits.js +1 -0
  417. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/roles.js +1 -0
  418. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/service-accounts.js +1 -0
  419. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/spend-alerts.js +1 -0
  420. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/users/roles.js +1 -0
  421. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/users/users.js +1 -0
  422. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/roles.js +1 -0
  423. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/spend-alerts.js +1 -0
  424. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/usage.js +1 -0
  425. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/users/roles.js +1 -0
  426. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/users/users.js +1 -0
  427. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/audio.js +1 -0
  428. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/speech.js +1 -0
  429. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/transcriptions.js +1 -0
  430. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/translations.js +1 -0
  431. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/batches.js +1 -0
  432. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/assistants.js +1 -0
  433. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/beta.js +1 -0
  434. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/chatkit/chatkit.js +1 -0
  435. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/chatkit/sessions.js +1 -0
  436. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/chatkit/threads.js +1 -0
  437. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/realtime/realtime.js +1 -0
  438. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/realtime/sessions.js +1 -0
  439. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/realtime/transcription-sessions.js +1 -0
  440. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/messages.js +1 -0
  441. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/runs/runs.js +1 -0
  442. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/runs/steps.js +1 -0
  443. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/threads.js +1 -0
  444. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/chat.js +1 -0
  445. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/completions/completions.js +1 -0
  446. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/completions/index.js +1 -0
  447. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/completions/messages.js +1 -0
  448. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/index.js +1 -0
  449. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/completions.js +1 -0
  450. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/containers/containers.js +1 -0
  451. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/containers/files/content.js +1 -0
  452. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/containers/files/files.js +1 -0
  453. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/conversations/conversations.js +1 -0
  454. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/conversations/items.js +1 -0
  455. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/embeddings.js +1 -0
  456. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/evals/evals.js +1 -0
  457. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/evals/runs/output-items.js +1 -0
  458. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/evals/runs/runs.js +1 -0
  459. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/files.js +1 -0
  460. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/alpha/alpha.js +1 -0
  461. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/alpha/graders.js +1 -0
  462. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.js +1 -0
  463. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/checkpoints/permissions.js +1 -0
  464. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/fine-tuning.js +1 -0
  465. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/jobs/checkpoints.js +1 -0
  466. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/jobs/jobs.js +1 -0
  467. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/methods.js +1 -0
  468. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/graders/grader-models.js +1 -0
  469. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/graders/graders.js +1 -0
  470. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/images.js +1 -0
  471. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/index.js +1 -0
  472. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/models.js +1 -0
  473. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/moderations.js +1 -0
  474. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/realtime/calls.js +1 -0
  475. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/realtime/client-secrets.js +1 -0
  476. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/realtime/realtime.js +1 -0
  477. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/responses/input-items.js +1 -0
  478. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/responses/input-tokens.js +1 -0
  479. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/responses/responses.js +1 -0
  480. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/shared.js +1 -0
  481. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/content.js +1 -0
  482. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/skills.js +1 -0
  483. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/versions/content.js +1 -0
  484. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/versions/versions.js +1 -0
  485. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/uploads/parts.js +1 -0
  486. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/uploads/uploads.js +1 -0
  487. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/vector-stores/file-batches.js +1 -0
  488. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/vector-stores/files.js +1 -0
  489. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/vector-stores/vector-stores.js +1 -0
  490. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/videos.js +1 -0
  491. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/webhooks/index.js +1 -0
  492. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/webhooks/webhooks.js +1 -0
  493. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/webhooks.js +1 -0
  494. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/streaming.js +1 -0
  495. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/version.js +1 -0
  496. package/dist/src/node_modules/.pnpm/validate.io-array@1.0.6/node_modules/validate.io-array/lib/index.js +1 -0
  497. package/dist/src/node_modules/.pnpm/validate.io-function@1.0.2/node_modules/validate.io-function/lib/index.js +1 -0
  498. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Options.js +1 -0
  499. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Refs.js +1 -0
  500. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +1 -0
  501. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +1 -0
  502. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/index.js +1 -0
  503. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseDef.js +1 -0
  504. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseTypes.js +1 -0
  505. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +1 -0
  506. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +1 -0
  507. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +1 -0
  508. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +1 -0
  509. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +1 -0
  510. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +1 -0
  511. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +1 -0
  512. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +1 -0
  513. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +1 -0
  514. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +1 -0
  515. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +1 -0
  516. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +1 -0
  517. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +1 -0
  518. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +1 -0
  519. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +1 -0
  520. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +1 -0
  521. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +1 -0
  522. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +1 -0
  523. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +1 -0
  524. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +1 -0
  525. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +1 -0
  526. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +1 -0
  527. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +1 -0
  528. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +1 -0
  529. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +1 -0
  530. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +3 -0
  531. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +1 -0
  532. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +1 -0
  533. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +1 -0
  534. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +1 -0
  535. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/selectParser.js +1 -0
  536. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +1 -0
  537. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.js +1 -0
  538. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +1 -0
  539. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +1 -0
  540. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.js +1 -0
  541. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +1 -0
  542. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +1 -0
  543. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  544. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +1 -0
  545. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.js +1 -0
  546. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +1 -0
  547. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +1 -0
  548. package/dist/src/packages/ash-scaffold/src/channels.js +7 -0
  549. package/dist/src/packages/ash-scaffold/src/files.js +1 -0
  550. package/dist/src/packages/ash-scaffold/src/index.js +1 -0
  551. package/dist/src/packages/ash-scaffold/src/module-files.js +1 -0
  552. package/dist/src/packages/ash-scaffold/src/package-json.js +1 -0
  553. package/dist/src/packages/ash-scaffold/src/project.js +1 -0
  554. package/dist/src/protocol/message.js +2 -501
  555. package/dist/src/protocol/routes.js +1 -85
  556. package/dist/src/public/agents/auth.js +1 -37
  557. package/dist/src/public/channels/ash.js +2 -346
  558. package/dist/src/public/channels/auth.js +1 -414
  559. package/dist/src/public/channels/discord/api.d.ts +99 -0
  560. package/dist/src/public/channels/discord/api.js +2 -0
  561. package/dist/src/public/channels/discord/defaults.d.ts +9 -0
  562. package/dist/src/public/channels/discord/defaults.js +3 -0
  563. package/dist/src/public/channels/discord/discordChannel.d.ts +132 -0
  564. package/dist/src/public/channels/discord/discordChannel.js +1 -0
  565. package/dist/src/public/channels/discord/hitl.d.ts +34 -0
  566. package/dist/src/public/channels/discord/hitl.js +1 -0
  567. package/dist/src/public/channels/discord/inbound.d.ts +97 -0
  568. package/dist/src/public/channels/discord/inbound.js +2 -0
  569. package/dist/src/public/channels/discord/index.d.ts +7 -0
  570. package/dist/src/public/channels/discord/index.js +1 -0
  571. package/dist/src/public/channels/discord/responses.d.ts +11 -0
  572. package/dist/src/public/channels/discord/responses.js +1 -0
  573. package/dist/src/public/channels/discord/verify.d.ts +38 -0
  574. package/dist/src/public/channels/discord/verify.js +1 -0
  575. package/dist/src/public/channels/discord/verifyInbound.d.ts +6 -0
  576. package/dist/src/public/channels/discord/verifyInbound.js +1 -0
  577. package/dist/src/public/channels/index.js +1 -1
  578. package/dist/src/public/channels/slack/api-encoding.js +1 -40
  579. package/dist/src/public/channels/slack/api.js +1 -333
  580. package/dist/src/public/channels/slack/attachments.js +1 -156
  581. package/dist/src/public/channels/slack/blocks.js +3 -266
  582. package/dist/src/public/channels/slack/connections.js +1 -70
  583. package/dist/src/public/channels/slack/constants.d.ts +7 -0
  584. package/dist/src/public/channels/slack/constants.js +1 -0
  585. package/dist/src/public/channels/slack/defaults.js +4 -211
  586. package/dist/src/public/channels/slack/hitl.js +1 -242
  587. package/dist/src/public/channels/slack/inbound.js +2 -149
  588. package/dist/src/public/channels/slack/index.js +1 -13
  589. package/dist/src/public/channels/slack/interactions.js +1 -315
  590. package/dist/src/public/channels/slack/limits.js +1 -75
  591. package/dist/src/public/channels/slack/mrkdwn.js +1 -89
  592. package/dist/src/public/channels/slack/slackChannel.js +1 -250
  593. package/dist/src/public/channels/slack/thread.js +1 -45
  594. package/dist/src/public/channels/slack/verify.js +1 -70
  595. package/dist/src/public/channels/twilio/api.js +1 -103
  596. package/dist/src/public/channels/twilio/defaults.js +3 -69
  597. package/dist/src/public/channels/twilio/inbound.js +2 -123
  598. package/dist/src/public/channels/twilio/index.js +1 -4
  599. package/dist/src/public/channels/twilio/twilioChannel.js +1 -316
  600. package/dist/src/public/channels/twilio/twiml.js +1 -58
  601. package/dist/src/public/channels/twilio/verify.js +1 -73
  602. package/dist/src/public/channels/upload-policy.js +1 -170
  603. package/dist/src/public/connections/errors.js +1 -53
  604. package/dist/src/public/connections/index.js +1 -6
  605. package/dist/src/public/context/index.js +1 -13
  606. package/dist/src/public/definitions/agent.js +1 -6
  607. package/dist/src/public/definitions/channel.js +1 -24
  608. package/dist/src/public/definitions/connections/mcp.js +1 -20
  609. package/dist/src/public/definitions/defineChannel.js +1 -74
  610. package/dist/src/public/definitions/hook.js +1 -11
  611. package/dist/src/public/definitions/instructions.js +1 -7
  612. package/dist/src/public/definitions/instrumentation.js +1 -13
  613. package/dist/src/public/definitions/remote-agent.js +1 -11
  614. package/dist/src/public/definitions/sandbox-backend.js +1 -13
  615. package/dist/src/public/definitions/sandbox.js +1 -6
  616. package/dist/src/public/definitions/schedule.js +1 -32
  617. package/dist/src/public/definitions/skill.js +1 -7
  618. package/dist/src/public/definitions/source.js +1 -1
  619. package/dist/src/public/definitions/state.js +1 -34
  620. package/dist/src/public/definitions/tool.js +1 -27
  621. package/dist/src/public/hooks/index.js +1 -9
  622. package/dist/src/public/index.js +1 -5
  623. package/dist/src/public/instructions/index.js +1 -4
  624. package/dist/src/public/instrumentation/index.js +1 -4
  625. package/dist/src/public/next/index.js +1 -148
  626. package/dist/src/public/next/server.js +1 -348
  627. package/dist/src/public/next/vercel-json.js +1 -77
  628. package/dist/src/public/sandbox/backends/default.js +1 -15
  629. package/dist/src/public/sandbox/backends/local.js +1 -18
  630. package/dist/src/public/sandbox/backends/vercel.js +1 -25
  631. package/dist/src/public/sandbox/index.js +1 -10
  632. package/dist/src/public/sandbox/local-sandbox.js +1 -1
  633. package/dist/src/public/sandbox/vercel-sandbox.js +1 -1
  634. package/dist/src/public/schedules/index.js +1 -4
  635. package/dist/src/public/skills/index.js +1 -5
  636. package/dist/src/public/tool-result-narrowing.js +1 -87
  637. package/dist/src/public/tools/approval/approval-helpers.js +1 -22
  638. package/dist/src/public/tools/approval/index.js +1 -4
  639. package/dist/src/public/tools/defaults.js +1 -70
  640. package/dist/src/public/tools/define-bash-tool.js +1 -14
  641. package/dist/src/public/tools/define-glob-tool.js +1 -21
  642. package/dist/src/public/tools/define-grep-tool.js +1 -21
  643. package/dist/src/public/tools/define-read-file-tool.js +1 -27
  644. package/dist/src/public/tools/define-write-file-tool.js +1 -21
  645. package/dist/src/public/tools/index.js +1 -10
  646. package/dist/src/public/tools/internal.js +1 -24
  647. package/dist/src/public/types/json.js +1 -13
  648. package/dist/src/react/index.js +1 -3
  649. package/dist/src/react/use-ash-agent.js +2 -348
  650. package/dist/src/runtime/actions/keys.js +1 -30
  651. package/dist/src/runtime/actions/types.js +1 -99
  652. package/dist/src/runtime/agent/bootstrap-model-utils.js +1 -148
  653. package/dist/src/runtime/agent/bootstrap-model.js +1 -36
  654. package/dist/src/runtime/agent/bootstrap.js +1 -49
  655. package/dist/src/runtime/agent/mock-model-adapter.js +7 -358
  656. package/dist/src/runtime/agent/resolve-model.js +1 -48
  657. package/dist/src/runtime/cache-key.js +1 -52
  658. package/dist/src/runtime/channels/registry.js +1 -133
  659. package/dist/src/runtime/compiled-artifacts-source.js +1 -42
  660. package/dist/src/runtime/connections/authorization-complete-page.js +2 -21
  661. package/dist/src/runtime/connections/authorization-tokens.js +1 -66
  662. package/dist/src/runtime/connections/callback-route.js +1 -139
  663. package/dist/src/runtime/connections/mcp-client.js +1 -307
  664. package/dist/src/runtime/connections/principal-context.js +1 -111
  665. package/dist/src/runtime/connections/principal.js +1 -106
  666. package/dist/src/runtime/connections/registry.js +1 -61
  667. package/dist/src/runtime/connections/types.js +1 -41
  668. package/dist/src/runtime/connections/validate-authorization.js +1 -92
  669. package/dist/src/runtime/framework-channels/index.js +1 -38
  670. package/dist/src/runtime/framework-tools/ask-question.js +1 -30
  671. package/dist/src/runtime/framework-tools/bash.js +1 -40
  672. package/dist/src/runtime/framework-tools/connection-search.js +1 -224
  673. package/dist/src/runtime/framework-tools/connection-tools.js +1 -103
  674. package/dist/src/runtime/framework-tools/file-state.js +1 -71
  675. package/dist/src/runtime/framework-tools/glob.js +2 -56
  676. package/dist/src/runtime/framework-tools/grep.js +2 -75
  677. package/dist/src/runtime/framework-tools/index.js +1 -52
  678. package/dist/src/runtime/framework-tools/pending-connection-tool-calls.js +1 -63
  679. package/dist/src/runtime/framework-tools/read-file.js +2 -64
  680. package/dist/src/runtime/framework-tools/skill.js +1 -47
  681. package/dist/src/runtime/framework-tools/todo.js +3 -122
  682. package/dist/src/runtime/framework-tools/web-fetch.js +2 -42
  683. package/dist/src/runtime/framework-tools/web-search.js +1 -15
  684. package/dist/src/runtime/framework-tools/write-file.js +2 -48
  685. package/dist/src/runtime/governance/auth/http-basic.js +1 -63
  686. package/dist/src/runtime/governance/auth/jwt-ecdsa.js +1 -69
  687. package/dist/src/runtime/governance/auth/jwt-hmac.js +1 -39
  688. package/dist/src/runtime/governance/auth/oidc.js +1 -126
  689. package/dist/src/runtime/governance/auth/token-claims.js +1 -84
  690. package/dist/src/runtime/governance/auth/types.js +1 -14
  691. package/dist/src/runtime/governance/network/ip-allow-list.js +1 -66
  692. package/dist/src/runtime/graph.js +1 -17
  693. package/dist/src/runtime/hooks/registry.js +1 -55
  694. package/dist/src/runtime/input/types.js +1 -63
  695. package/dist/src/runtime/loaders/artifact-paths.js +1 -26
  696. package/dist/src/runtime/loaders/bundled-artifacts.js +1 -21
  697. package/dist/src/runtime/loaders/compile-metadata.js +1 -92
  698. package/dist/src/runtime/loaders/manifest.js +1 -56
  699. package/dist/src/runtime/loaders/module-map.js +1 -64
  700. package/dist/src/runtime/prompt/compose.js +2 -47
  701. package/dist/src/runtime/prompt/connections.js +2 -23
  702. package/dist/src/runtime/resolve-agent-graph.js +1 -287
  703. package/dist/src/runtime/resolve-agent.js +1 -134
  704. package/dist/src/runtime/resolve-channel.js +1 -62
  705. package/dist/src/runtime/resolve-connection.js +1 -72
  706. package/dist/src/runtime/resolve-helpers.js +1 -58
  707. package/dist/src/runtime/resolve-hook.js +1 -67
  708. package/dist/src/runtime/resolve-sandbox.js +1 -65
  709. package/dist/src/runtime/resolve-tool.js +1 -110
  710. package/dist/src/runtime/sandbox/keys.js +1 -72
  711. package/dist/src/runtime/sandbox/registry.js +1 -42
  712. package/dist/src/runtime/schedules/register.js +1 -62
  713. package/dist/src/runtime/schedules/resolve-schedule.js +1 -66
  714. package/dist/src/runtime/session-callback-route.js +1 -87
  715. package/dist/src/runtime/sessions/auth.js +1 -18
  716. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -125
  717. package/dist/src/runtime/sessions/runtime-session.js +1 -50
  718. package/dist/src/runtime/sessions/turn.js +1 -1
  719. package/dist/src/runtime/skills/fragment-context.js +1 -4
  720. package/dist/src/runtime/skills/sandbox-access.js +1 -85
  721. package/dist/src/runtime/subagents/registry.js +1 -62
  722. package/dist/src/runtime/tools/registry.js +1 -40
  723. package/dist/src/runtime/types.js +1 -1
  724. package/dist/src/runtime/validation.js +1 -7
  725. package/dist/src/runtime/workspace/seed-files.js +1 -42
  726. package/dist/src/runtime/workspace/spec.js +2 -22
  727. package/dist/src/runtime/workspace/types.js +1 -9
  728. package/dist/src/sandbox/state.js +1 -1
  729. package/dist/src/services/dev-client/request-headers.js +1 -197
  730. package/dist/src/services/dev-client/stream.js +1 -7
  731. package/dist/src/services/dev-client/url.js +1 -25
  732. package/dist/src/services/dev-client/vercel-auth-error.js +2 -98
  733. package/dist/src/services/dev-client.js +1 -48
  734. package/dist/src/services/inspect-application.js +1 -45
  735. package/dist/src/shared/agent-definition.js +1 -1
  736. package/dist/src/shared/errors.js +1 -66
  737. package/dist/src/shared/guards.js +1 -35
  738. package/dist/src/shared/json-schemas.js +1 -41
  739. package/dist/src/shared/json.js +1 -80
  740. package/dist/src/shared/node.js +1 -1
  741. package/dist/src/shared/optional.js +1 -1
  742. package/dist/src/shared/run-mode.js +1 -1
  743. package/dist/src/shared/sandbox-backend.js +1 -1
  744. package/dist/src/shared/sandbox-definition.js +1 -1
  745. package/dist/src/shared/sandbox-session.js +1 -1
  746. package/dist/src/shared/skill-definition.js +1 -1
  747. package/dist/src/shared/skill-package.js +1 -100
  748. package/dist/src/shared/source-ref.js +1 -1
  749. package/dist/src/shared/tool-definition.js +1 -1
  750. package/package.json +12 -6
  751. package/dist/src/chunks/authored-module-loader-DcCfCiBm.js +0 -4
  752. package/dist/src/chunks/chunk-DSjMdhoD.js +0 -1
  753. package/dist/src/chunks/client-ZqNLLMZB.js +0 -4
  754. package/dist/src/chunks/compile-agent-C4OrJW6C.js +0 -5
  755. package/dist/src/chunks/dev-authored-source-watcher-PwAxalwl.js +0 -1
  756. package/dist/src/chunks/errors-HYWjHxV6.js +0 -1
  757. package/dist/src/chunks/guards-26p6sOw3.js +0 -1
  758. package/dist/src/chunks/host-F-DkwYJK.js +0 -70
  759. package/dist/src/chunks/input-requests-DJiy6dG9.js +0 -1
  760. package/dist/src/chunks/jsdist-BkeWZ7EZ.js +0 -443
  761. package/dist/src/chunks/paths-DnlVBqHu.js +0 -85
  762. package/dist/src/chunks/picocolors-aAkqW4On.js +0 -1
  763. package/dist/src/chunks/runtime-model-Dh0Nz64z.js +0 -1
  764. package/dist/src/chunks/token-YW4VSeBB.js +0 -1
  765. package/dist/src/chunks/types-BJSR0JNV.js +0 -1
@@ -1,42 +1 @@
1
- /**
2
- * Creates the bundled compiled-artifact source.
3
- */
4
- export function createBundledRuntimeCompiledArtifactsSource() {
5
- return {
6
- kind: "bundled",
7
- };
8
- }
9
- /**
10
- * Creates the disk-backed compiled-artifact source for one authored app root.
11
- */
12
- export function createDiskRuntimeCompiledArtifactsSource(appRoot, options = {}) {
13
- if (options.moduleMapLoaderPath !== undefined) {
14
- return {
15
- appRoot,
16
- kind: "disk",
17
- moduleMapLoaderPath: options.moduleMapLoaderPath,
18
- };
19
- }
20
- return {
21
- appRoot,
22
- kind: "disk",
23
- };
24
- }
25
- /**
26
- * Returns the disk-backed app root when one exists for the artifact source.
27
- */
28
- export function getRuntimeCompiledArtifactsAppRoot(source) {
29
- return source.kind === "disk" ? source.appRoot : undefined;
30
- }
31
- /**
32
- * Returns the stable cache key for one runtime artifact source.
33
- */
34
- export function getRuntimeCompiledArtifactsCacheKey(source) {
35
- if (source.kind !== "disk") {
36
- return "bundled";
37
- }
38
- if (source.moduleMapLoaderPath !== undefined) {
39
- return `disk:${source.appRoot}:authored-source:${source.moduleMapLoaderPath}`;
40
- }
41
- return `disk:${source.appRoot}`;
42
- }
1
+ function createBundledRuntimeCompiledArtifactsSource(){return{kind:`bundled`}}function createDiskRuntimeCompiledArtifactsSource(e,t={}){return t.moduleMapLoaderPath===void 0?{appRoot:e,kind:`disk`}:{appRoot:e,kind:`disk`,moduleMapLoaderPath:t.moduleMapLoaderPath}}function getRuntimeCompiledArtifactsAppRoot(e){return e.kind===`disk`?e.appRoot:void 0}function getRuntimeCompiledArtifactsCacheKey(e){return e.kind===`disk`?e.moduleMapLoaderPath===void 0?`disk:${e.appRoot}`:`disk:${e.appRoot}:authored-source:${e.moduleMapLoaderPath}`:`bundled`}export{createBundledRuntimeCompiledArtifactsSource,createDiskRuntimeCompiledArtifactsSource,getRuntimeCompiledArtifactsAppRoot,getRuntimeCompiledArtifactsCacheKey};
@@ -1,15 +1,4 @@
1
- /**
2
- * Renders the static HTML landing page that the user's browser sees
3
- * after an OAuth IdP redirects back to the framework's connection
4
- * callback route.
5
- *
6
- * The framework would otherwise respond with an empty `202 Accepted`
7
- * body, which looks broken. This helper is intentionally self-contained:
8
- * no external assets, no script, so it renders identically regardless
9
- * of where the runtime serves the callback from.
10
- */
11
- export function buildAuthorizationCompletePage() {
12
- const html = `<!doctype html>
1
+ function buildAuthorizationCompletePage(){return new Response(`<!doctype html>
13
2
  <html lang="en">
14
3
  <head>
15
4
  <meta charset="utf-8" />
@@ -61,12 +50,4 @@ export function buildAuthorizationCompletePage() {
61
50
  <p>You can close this tab and return to your app.</p>
62
51
  </main>
63
52
  </body>
64
- </html>`;
65
- return new Response(html, {
66
- headers: {
67
- "cache-control": "no-store",
68
- "content-type": "text/html; charset=utf-8",
69
- },
70
- status: 200,
71
- });
72
- }
53
+ </html>`,{headers:{"cache-control":`no-store`,"content-type":`text/html; charset=utf-8`},status:200})}export{buildAuthorizationCompletePage};
@@ -1,66 +1 @@
1
- /**
2
- * Per-step cache of resolved connection authorization tokens.
3
- *
4
- * Keyed by `(connectionName, principalKey)` so two users on the same
5
- * session never share a user-scoped token. Stored as a virtual
6
- * context value and wiped between workflow steps, so bearer tokens
7
- * are never serialized into the durable step payload. Cross-step
8
- * reuse is delegated to the upstream authorization provider (for
9
- * example Connect's server-side cache), which owns the refresh grant.
10
- *
11
- * TODO(ash): once a server-derivable session key is available, promote
12
- * this back to durable context via an AEAD codec so cross-step reuse
13
- * is possible without exposing plaintext bearers in the WDK payload.
14
- */
15
- import { ContextKey } from "#context/key.js";
16
- /**
17
- * Virtual context key mapping connection name to a per-principal
18
- * {@link TokenResult} cache.
19
- *
20
- * The principal sub-key is produced by
21
- * {@link principalKey} so identical string keys (for example
22
- * `"user:${issuer}:${id}"`) collide only when the resolved principal
23
- * genuinely matches.
24
- */
25
- export const ConnectionAuthorizationTokensKey = new ContextKey("ash.connectionAuthorizationTokens");
26
- /**
27
- * Returns the cached {@link TokenResult} for
28
- * `(connectionName, principalKey)` when the entry is still valid
29
- * (not expired). Expired entries are treated as a cache miss so
30
- * callers re-run the authorization flow.
31
- */
32
- export function readCachedToken(ctx, connectionName, principalKey) {
33
- const entry = ctx.get(ConnectionAuthorizationTokensKey)?.[connectionName]?.[principalKey];
34
- if (entry === undefined)
35
- return undefined;
36
- if (entry.expiresAt !== undefined && entry.expiresAt <= Date.now()) {
37
- return undefined;
38
- }
39
- return entry;
40
- }
41
- /**
42
- * Persists a freshly resolved {@link TokenResult} on the cache under
43
- * `(connectionName, principalKey)`. Existing entries for other
44
- * principals on the same connection are left in place.
45
- *
46
- * Writes to the virtual context slot so the bearer is never serialized
47
- * into the durable step payload. See the module docblock.
48
- */
49
- export function writeCachedToken(ctx, connectionName, principalKey, token) {
50
- const existing = ctx.get(ConnectionAuthorizationTokensKey) ?? {};
51
- const perConnection = existing[connectionName] ?? {};
52
- asContainer(ctx).setVirtualContext(ConnectionAuthorizationTokensKey, {
53
- ...existing,
54
- [connectionName]: { ...perConnection, [principalKey]: token },
55
- });
56
- }
57
- /**
58
- * Runtime installs `ContextContainer` as the concrete `AshContext`;
59
- * we reach through the interface here because `setVirtualContext` is
60
- * intentionally runtime-only and not exposed on the public
61
- * {@link AshContext} surface. Mirrors the pattern in
62
- * `principal-context.ts`.
63
- */
64
- function asContainer(ctx) {
65
- return ctx;
66
- }
1
+ import{ContextKey}from"#context/key.js";var ConnectionAuthorizationTokensKey=new ContextKey(`ash.connectionAuthorizationTokens`);function readCachedToken(e,t,n){let r=e.get(ConnectionAuthorizationTokensKey)?.[t]?.[n];if(r!==void 0&&!(r.expiresAt!==void 0&&r.expiresAt<=Date.now()))return r}function writeCachedToken(e,t,n,r){let i=e.get(ConnectionAuthorizationTokensKey)??{},a=i[t]??{};asContainer(e).setVirtualContext(ConnectionAuthorizationTokensKey,{...i,[t]:{...a,[n]:r}})}function asContainer(e){return e}export{ConnectionAuthorizationTokensKey,readCachedToken,writeCachedToken};
@@ -1,139 +1 @@
1
- /**
2
- * Framework-shipped callback route used by in-turn interactive
3
- * connection authorization.
4
- *
5
- * The route at {@link ASH_CONNECTION_CALLBACK_ROUTE_PATTERN} is the
6
- * redirect target the workflow body hands to the IdP via
7
- * `startAuthorization`. When the IdP redirects the user's browser back
8
- * with the OAuth `code`/`state` (or whatever payload the protocol
9
- * carries), this handler:
10
- *
11
- * 1. Projects the inbound request into a JSON-serializable
12
- * {@link AuthorizationCallbackRequest} (the same shape
13
- * `completeAuthorization` already accepts).
14
- * 2. Calls `resumeHook(token, payload)` to wake the suspended workflow.
15
- * 3. Renders the standard "Authorization complete" landing page so the
16
- * user sees a friendly UI instead of an empty `202 Accepted`.
17
- *
18
- * Owning this route in the framework - instead of routing the IdP at the
19
- * workflow runtime's raw `/.well-known/workflow/v1/webhook/:token` -
20
- * keeps the public surface namespaced under Ash and lets the framework
21
- * decide delivery policy (auth, throttling, logging) for connection
22
- * callbacks without leaking generic workflow primitives to the public
23
- * internet.
24
- */
25
- import { resumeHook } from "#compiled/@workflow/core/runtime.js";
26
- import { ASH_CONNECTION_CALLBACK_ROUTE_PATTERN } from "#protocol/routes.js";
27
- import { buildAuthorizationCompletePage } from "#runtime/connections/authorization-complete-page.js";
28
- /**
29
- * Logical name prefix of the framework-shipped connection callback
30
- * channel. The trailing method segment (`get` or `post`) keeps each
31
- * `(method, urlPath)` pair distinct in the channel registry.
32
- */
33
- export const HTTP_CONNECTION_CALLBACK_CHANNEL_NAME_PREFIX = "ash/v1/connections/callback";
34
- /**
35
- * HTTP methods accepted by the connection callback route.
36
- *
37
- * Most OAuth IdPs redirect back over `GET` (authorization code in the
38
- * query string). Some `form_post` response modes deliver the callback
39
- * over `POST` instead, so the framework registers both. Both
40
- * methods route through the same handler.
41
- */
42
- const HANDLED_METHODS = ["GET", "POST"];
43
- /**
44
- * Returns the framework-shipped channel definitions that mount the
45
- * connection callback route at {@link ASH_CONNECTION_CALLBACK_ROUTE_PATTERN}.
46
- *
47
- * Returns one definition per accepted HTTP method (see
48
- * {@link HANDLED_METHODS}). The framework channel resolver mounts each
49
- * `(method, urlPath)` pair as a separate Nitro route; sharing one URL
50
- * pattern across multiple methods is not supported by the channel
51
- * model.
52
- */
53
- export function getConnectionCallbackChannelDefinitions() {
54
- return HANDLED_METHODS.map((method) => buildCallbackChannelDefinition(method));
55
- }
56
- /**
57
- * Returns the set of logical channel names registered by the connection
58
- * callback route. Used by `getAllFrameworkChannelNames` so authors who
59
- * `disableRoute()` one of these names get a useful diagnostic instead
60
- * of a silent no-op.
61
- */
62
- export function getConnectionCallbackChannelNames() {
63
- return new Set(HANDLED_METHODS.map(channelNameForMethod));
64
- }
65
- function buildCallbackChannelDefinition(method) {
66
- const name = channelNameForMethod(method);
67
- return {
68
- name,
69
- method,
70
- urlPath: ASH_CONNECTION_CALLBACK_ROUTE_PATTERN,
71
- fetch: handleConnectionCallbackRequest,
72
- logicalPath: `framework://channels/${name}`,
73
- sourceId: `ash:framework:connection-callback-${method.toLowerCase()}`,
74
- sourceKind: "module",
75
- };
76
- }
77
- function channelNameForMethod(method) {
78
- return `${HTTP_CONNECTION_CALLBACK_CHANNEL_NAME_PREFIX}/${method.toLowerCase()}`;
79
- }
80
- /**
81
- * Inbound handler for the connection callback route. Exported for test
82
- * coverage; the framework channel resolver wires it into Nitro via
83
- * {@link getConnectionCallbackChannelDefinitions}.
84
- */
85
- export async function handleConnectionCallbackRequest(request, ctx) {
86
- const name = ctx.params.name;
87
- const token = ctx.params.token;
88
- if (typeof name !== "string" || name.length === 0) {
89
- return Response.json({ error: "Missing connection name.", ok: false }, { status: 400 });
90
- }
91
- if (typeof token !== "string" || token.length === 0) {
92
- return Response.json({ error: "Missing callback token.", ok: false }, { status: 400 });
93
- }
94
- // `resumeHook` consumes the body if we hand it the live `Request`,
95
- // so project the request into the JSON-serializable shape that
96
- // matches what `completeAuthorization` expects.
97
- const callback = await projectAuthorizationCallback(request);
98
- try {
99
- await resumeHook(token, callback);
100
- }
101
- catch {
102
- // The most likely failure here is "no hook is currently registered
103
- // for this token", e.g. the workflow already completed,
104
- // disposed the hook, or the user replayed an expired callback URL.
105
- // Surface a 404 rather than a 500 so IdP-side retries don't loop
106
- // and operator dashboards don't page on a benign "user clicked
107
- // stale link" event.
108
- return Response.json({ error: "Connection callback not pending.", ok: false }, { status: 404 });
109
- }
110
- return buildAuthorizationCompletePage();
111
- }
112
- /**
113
- * Projects the live callback `Request` into the JSON-serializable
114
- * {@link AuthorizationCallbackRequest} shape used as the hook payload.
115
- * Body text is captured for non-GET/HEAD methods; reading the body here
116
- * consumes it on the source request, but the framework no longer reads
117
- * the request after dispatching to `resumeHook`.
118
- */
119
- async function projectAuthorizationCallback(request) {
120
- const headers = {};
121
- request.headers.forEach((value, key) => {
122
- headers[key] = value;
123
- });
124
- let body = "";
125
- if (request.method !== "GET" && request.method !== "HEAD") {
126
- try {
127
- body = await request.text();
128
- }
129
- catch {
130
- body = "";
131
- }
132
- }
133
- return {
134
- body,
135
- headers,
136
- method: request.method,
137
- url: request.url,
138
- };
139
- }
1
+ import{ASH_CONNECTION_CALLBACK_ROUTE_PATTERN}from"#protocol/routes.js";import{resumeHook}from"#compiled/@workflow/core/runtime.js";import{buildAuthorizationCompletePage}from"#runtime/connections/authorization-complete-page.js";var HTTP_CONNECTION_CALLBACK_CHANNEL_NAME_PREFIX=`ash/v1/connections/callback`,HANDLED_METHODS=[`GET`,`POST`];function getConnectionCallbackChannelDefinitions(){return HANDLED_METHODS.map(e=>buildCallbackChannelDefinition(e))}function getConnectionCallbackChannelNames(){return new Set(HANDLED_METHODS.map(channelNameForMethod))}function buildCallbackChannelDefinition(t){let n=channelNameForMethod(t);return{name:n,method:t,urlPath:ASH_CONNECTION_CALLBACK_ROUTE_PATTERN,fetch:handleConnectionCallbackRequest,logicalPath:`framework://channels/${n}`,sourceId:`ash:framework:connection-callback-${t.toLowerCase()}`,sourceKind:`module`}}function channelNameForMethod(e){return`${HTTP_CONNECTION_CALLBACK_CHANNEL_NAME_PREFIX}/${e.toLowerCase()}`}async function handleConnectionCallbackRequest(e,r){let i=r.params.name,a=r.params.token;if(typeof i!=`string`||i.length===0)return Response.json({error:`Missing connection name.`,ok:!1},{status:400});if(typeof a!=`string`||a.length===0)return Response.json({error:`Missing callback token.`,ok:!1},{status:400});let o=await projectAuthorizationCallback(e);try{await resumeHook(a,o)}catch{return Response.json({error:`Connection callback not pending.`,ok:!1},{status:404})}return buildAuthorizationCompletePage()}async function projectAuthorizationCallback(e){let t={};e.headers.forEach((e,n)=>{t[n]=e});let n=``;if(e.method!==`GET`&&e.method!==`HEAD`)try{n=await e.text()}catch{n=``}return{body:n,headers:t,method:e.method,url:e.url}}export{HTTP_CONNECTION_CALLBACK_CHANNEL_NAME_PREFIX,getConnectionCallbackChannelDefinitions,getConnectionCallbackChannelNames,handleConnectionCallbackRequest};
@@ -1,307 +1 @@
1
- import { createMCPClient } from "#compiled/@ai-sdk/mcp/index.js";
2
- import { contextStorage } from "#context/container.js";
3
- import { readCachedToken, writeCachedToken } from "#runtime/connections/authorization-tokens.js";
4
- import { principalKey, resolveConnectionPrincipal } from "#runtime/connections/principal.js";
5
- import { isObject } from "#shared/guards.js";
6
- /**
7
- * Wraps one `MCPClient` from `@ai-sdk/mcp` for a single connection.
8
- *
9
- * Created lazily per-connection per-session. Caches tool metadata after
10
- * the first `getToolMetadata()` call.
11
- */
12
- export class McpConnectionClient {
13
- #clientPromise;
14
- #client;
15
- #toolsPromise;
16
- #tools;
17
- #connection;
18
- constructor(connection) {
19
- this.#connection = connection;
20
- }
21
- /**
22
- * Connects to the MCP server, trying Streamable HTTP first and
23
- * falling back to SSE for transport-compatibility failures.
24
- *
25
- * Concurrent callers share the same connection promise to avoid
26
- * duplicate connections.
27
- */
28
- async connect() {
29
- if (this.#client !== undefined) {
30
- return this.#client;
31
- }
32
- if (this.#clientPromise !== undefined) {
33
- return this.#clientPromise;
34
- }
35
- this.#clientPromise = this.#createClient();
36
- try {
37
- this.#client = await this.#clientPromise;
38
- return this.#client;
39
- }
40
- catch (error) {
41
- this.#clientPromise = undefined;
42
- throw error;
43
- }
44
- }
45
- async #createClient() {
46
- const headers = await resolveHeaders(this.#connection);
47
- const url = this.#connection.url;
48
- try {
49
- return await createMCPClient({
50
- transport: { type: "http", url, headers },
51
- });
52
- }
53
- catch (error) {
54
- if (!isMcpHttpFallbackRetryableError(error)) {
55
- throw error;
56
- }
57
- return await createMCPClient({
58
- transport: { type: "sse", url, headers },
59
- });
60
- }
61
- }
62
- /**
63
- * Returns cached tool metadata for all tools this connection exposes,
64
- * after applying any configured tool filter.
65
- *
66
- * The first call fetches tools from the server via `listTools()` and
67
- * creates the AI SDK tool set in parallel. Subsequent calls return
68
- * the cached result. Concurrent callers share the same in-flight
69
- * promise.
70
- */
71
- async getToolMetadata() {
72
- const cache = await this.#ensureTools();
73
- return cache.metadata;
74
- }
75
- /**
76
- * Returns the AI SDK `ToolSet` produced by `@ai-sdk/mcp`'s
77
- * `toolsFromDefinitions()`. Each entry is a full SDK `Tool` with
78
- * `inputSchema`, `description`, and `execute` already set.
79
- */
80
- async getTools() {
81
- const cache = await this.#ensureTools();
82
- return cache.tools;
83
- }
84
- /**
85
- * Executes a named tool through the AI SDK's tool executor, which
86
- * handles the JSON-RPC `tools/call` internally.
87
- */
88
- async executeTool(toolName, args) {
89
- const { tools } = await this.#ensureTools();
90
- const sdkTool = tools[toolName];
91
- if (sdkTool?.execute === undefined) {
92
- throw new Error(`Tool "${toolName}" not found in connection "${this.#connection.connectionName}".`);
93
- }
94
- return sdkTool.execute(args, {});
95
- }
96
- async #ensureTools() {
97
- if (this.#tools !== undefined) {
98
- return this.#tools;
99
- }
100
- if (this.#toolsPromise !== undefined) {
101
- return this.#toolsPromise;
102
- }
103
- this.#toolsPromise = this.#fetchTools();
104
- try {
105
- this.#tools = await this.#toolsPromise;
106
- return this.#tools;
107
- }
108
- catch (error) {
109
- this.#toolsPromise = undefined;
110
- throw error;
111
- }
112
- }
113
- async #fetchTools() {
114
- const client = await this.connect();
115
- const listResult = await client.listTools();
116
- const filter = this.#connection.tools;
117
- const filteredTools = filter !== undefined
118
- ? listResult.tools.filter((t) => passesToolFilter(t.name, filter))
119
- : listResult.tools;
120
- // `toolsFromDefinitions` returns `McpToolSet<"automatic">`, whose
121
- // elements are `Tool<unknown, CallToolResult>`. The AI SDK's
122
- // `ToolSet` constraint only admits `Tool<any | never, any | never>`,
123
- // so a single-hop cast is required — the runtime shape is identical.
124
- const tools = client.toolsFromDefinitions({ tools: filteredTools });
125
- const metadata = filteredTools.map((t) => ({
126
- annotations: t.annotations,
127
- description: t.description ?? "",
128
- inputSchema: (t.inputSchema ?? {}),
129
- name: t.name,
130
- }));
131
- return { metadata, tools };
132
- }
133
- async close() {
134
- if (this.#client !== undefined) {
135
- await this.#client.close();
136
- this.#client = undefined;
137
- }
138
- this.#clientPromise = undefined;
139
- this.#toolsPromise = undefined;
140
- this.#tools = undefined;
141
- }
142
- }
143
- /**
144
- * Decides whether an error thrown while creating a streamable HTTP MCP
145
- * client should trigger a fallback attempt against the legacy SSE
146
- * transport.
147
- *
148
- * Per the MCP backwards-compatibility rules, clients should fall back
149
- * to SSE when the streamable HTTP probe returns `400 Bad Request`,
150
- * `404 Not Found`, or `405 Method Not Allowed`. All other failures
151
- * (auth errors, network errors, server errors) should propagate so the
152
- * caller sees the real problem instead of a misleading SSE failure.
153
- *
154
- * See: https://modelcontextprotocol.io/specification/2025-11-25/basic/transports#backwards-compatibility
155
- */
156
- function isMcpHttpFallbackRetryableError(error) {
157
- const status = readHttpStatus(error);
158
- return status === 400 || status === 404 || status === 405;
159
- }
160
- function readHttpStatus(error) {
161
- for (const candidate of walkErrorChain(error)) {
162
- if (!isObject(candidate)) {
163
- continue;
164
- }
165
- const status = readStatusField(candidate);
166
- if (status !== undefined) {
167
- return status;
168
- }
169
- const response = candidate.response;
170
- if (isObject(response)) {
171
- const responseStatus = readStatusField(response);
172
- if (responseStatus !== undefined) {
173
- return responseStatus;
174
- }
175
- }
176
- if (typeof candidate.message === "string") {
177
- const match = /\bHTTP\s+(\d{3})\b/u.exec(candidate.message);
178
- if (match?.[1] !== undefined) {
179
- return Number(match[1]);
180
- }
181
- }
182
- }
183
- return undefined;
184
- }
185
- function readStatusField(value) {
186
- if (typeof value.status === "number") {
187
- return value.status;
188
- }
189
- if (typeof value.statusCode === "number") {
190
- return value.statusCode;
191
- }
192
- return undefined;
193
- }
194
- function* walkErrorChain(error) {
195
- let current = error;
196
- const seen = new Set();
197
- while (current !== undefined && current !== null && !seen.has(current)) {
198
- seen.add(current);
199
- yield current;
200
- if (!isObject(current) || !("cause" in current)) {
201
- return;
202
- }
203
- current = current.cause;
204
- }
205
- }
206
- /**
207
- * Returns `true` when a tool name passes the configured filter.
208
- */
209
- export function passesToolFilter(toolName, filter) {
210
- if (filter === undefined) {
211
- return true;
212
- }
213
- if ("allow" in filter) {
214
- return filter.allow.includes(toolName);
215
- }
216
- return !filter.block.includes(toolName);
217
- }
218
- /**
219
- * Merges `authorization` (Bearer token) and `headers` into one
220
- * flat `Record<string, string>` for the transport layer.
221
- *
222
- * Resolves the {@link ConnectionPrincipal} from the active session
223
- * (or an orchestrator-installed override) and invokes
224
- * `authorization.getToken({ principal })` to produce the bearer.
225
- * `getToken` may throw {@link ConnectionAuthorizationRequiredError};
226
- * callers (`connection_search`, wrapped connection tools) catch it
227
- * and it propagates as-is from here.
228
- */
229
- export async function resolveHeaders(connection) {
230
- const merged = {};
231
- if (connection.authorization !== undefined) {
232
- const result = await resolveToken(connection);
233
- merged.Authorization = `Bearer ${result.token}`;
234
- }
235
- if (connection.headers !== undefined) {
236
- const resolved = await resolveHeadersDefinition(connection.headers);
237
- for (const [key, value] of Object.entries(resolved)) {
238
- if (connection.authorization !== undefined && key.toLowerCase() === "authorization") {
239
- throw new Error(`Connection "${connection.connectionName}" headers must not include an "Authorization" key when "authorization" is also provided.`);
240
- }
241
- merged[key] = value;
242
- }
243
- }
244
- return merged;
245
- }
246
- /**
247
- * Resolves a connection's bearer token, consulting the per-session
248
- * authorization-token cache before invoking the authored `getToken`.
249
- *
250
- * Returning a cached token lets interactive-OAuth flows that have
251
- * completed their webhook dance stay authorized for the rest of the
252
- * session without re-hitting the IdP (whose initial `getToken` would
253
- * still throw `Required` until the grant propagates).
254
- *
255
- * The cache is keyed by `(connectionName, principalKey(principal))`
256
- * so concurrent users on one session never alias onto each other's
257
- * bearer. Principal resolution is delegated to
258
- * {@link resolveConnectionPrincipal}, which is the single source of
259
- * truth for the "app vs user, override vs session, context vs no
260
- * context" decision tree. Outside a runtime scope the cache is
261
- * unavailable, but `getToken` still runs with a framework-resolved
262
- * principal so ad-hoc CLI and unit-test use of `"app"`-typed
263
- * connections keeps working; `"user"`-typed connections without a
264
- * context fail fast with `reason: "principal_required"`.
265
- */
266
- async function resolveToken(connection) {
267
- if (connection.authorization === undefined) {
268
- throw new Error(`Connection "${connection.connectionName}" does not define authorization.`);
269
- }
270
- // Reading `contextStorage.getStore()` directly keeps this the only
271
- // place in the runtime that tolerates a missing context; authored
272
- // code must use `loadContext()` so misuse fails loudly.
273
- const ctx = contextStorage.getStore();
274
- const principal = resolveConnectionPrincipal(connection.connectionName, connection.authorization, ctx);
275
- const authContext = { url: connection.url };
276
- if (ctx === undefined) {
277
- // No context → no per-session cache. Still invoke the authored
278
- // `getToken` so `"app"`-typed connections resolve normally for
279
- // ad-hoc use; `"user"`-typed connections will already have
280
- // thrown above inside `resolveConnectionPrincipal`.
281
- return await connection.authorization.getToken({ principal, connection: authContext });
282
- }
283
- const key = principalKey(principal);
284
- const cached = readCachedToken(ctx, connection.connectionName, key);
285
- if (cached !== undefined)
286
- return cached;
287
- const result = await connection.authorization.getToken({ principal, connection: authContext });
288
- writeCachedToken(ctx, connection.connectionName, key, result);
289
- return result;
290
- }
291
- async function resolveHeadersDefinition(headers) {
292
- if (typeof headers === "function") {
293
- return await headers();
294
- }
295
- const result = {};
296
- const entries = Object.entries(headers);
297
- for (const [key, value] of entries) {
298
- result[key] = await resolveHeaderValue(value);
299
- }
300
- return result;
301
- }
302
- async function resolveHeaderValue(value) {
303
- if (typeof value === "function") {
304
- return await value();
305
- }
306
- return await value;
307
- }
1
+ import{isObject}from"#shared/guards.js";import{contextStorage}from"#context/container.js";import{readCachedToken,writeCachedToken}from"#runtime/connections/authorization-tokens.js";import{principalKey,resolveConnectionPrincipal}from"#runtime/connections/principal.js";import{createMCPClient}from"#compiled/@ai-sdk/mcp/index.js";var McpConnectionClient=class{#e;#t;#n;#r;#i;constructor(e){this.#i=e}async connect(){if(this.#t!==void 0)return this.#t;if(this.#e!==void 0)return this.#e;this.#e=this.#a();try{return this.#t=await this.#e,this.#t}catch(e){throw this.#e=void 0,e}}async#a(){let e=await resolveHeaders(this.#i),t=this.#i.url;try{return await createMCPClient({transport:{type:`http`,url:t,headers:e}})}catch(n){if(!isMcpHttpFallbackRetryableError(n))throw n;return await createMCPClient({transport:{type:`sse`,url:t,headers:e}})}}async getToolMetadata(){return(await this.#o()).metadata}async getTools(){return(await this.#o()).tools}async executeTool(e,t){let{tools:n}=await this.#o(),r=n[e];if(r?.execute===void 0)throw Error(`Tool "${e}" not found in connection "${this.#i.connectionName}".`);return r.execute(t,{})}async#o(){if(this.#r!==void 0)return this.#r;if(this.#n!==void 0)return this.#n;this.#n=this.#s();try{return this.#r=await this.#n,this.#r}catch(e){throw this.#n=void 0,e}}async#s(){let e=await this.connect(),t=await e.listTools(),n=this.#i.tools,r=n===void 0?t.tools:t.tools.filter(e=>passesToolFilter(e.name,n)),i=e.toolsFromDefinitions({tools:r});return{metadata:r.map(e=>({annotations:e.annotations,description:e.description??``,inputSchema:e.inputSchema??{},name:e.name})),tools:i}}async close(){this.#t!==void 0&&(await this.#t.close(),this.#t=void 0),this.#e=void 0,this.#n=void 0,this.#r=void 0}};function isMcpHttpFallbackRetryableError(e){let t=readHttpStatus(e);return t===400||t===404||t===405}function readHttpStatus(t){for(let n of walkErrorChain(t)){if(!isObject(n))continue;let t=readStatusField(n);if(t!==void 0)return t;let r=n.response;if(isObject(r)){let e=readStatusField(r);if(e!==void 0)return e}if(typeof n.message==`string`){let e=/\bHTTP\s+(\d{3})\b/u.exec(n.message);if(e?.[1]!==void 0)return Number(e[1])}}}function readStatusField(e){if(typeof e.status==`number`)return e.status;if(typeof e.statusCode==`number`)return e.statusCode}function*walkErrorChain(t){let n=t,r=new Set;for(;n!=null&&!r.has(n);){if(r.add(n),yield n,!isObject(n)||!(`cause`in n))return;n=n.cause}}function passesToolFilter(e,t){return t===void 0?!0:`allow`in t?t.allow.includes(e):!t.block.includes(e)}async function resolveHeaders(e){let t={};if(e.authorization!==void 0&&(t.Authorization=`Bearer ${(await resolveToken(e)).token}`),e.headers!==void 0){let n=await resolveHeadersDefinition(e.headers);for(let[r,i]of Object.entries(n)){if(e.authorization!==void 0&&r.toLowerCase()===`authorization`)throw Error(`Connection "${e.connectionName}" headers must not include an "Authorization" key when "authorization" is also provided.`);t[r]=i}}return t}async function resolveToken(e){if(e.authorization===void 0)throw Error(`Connection "${e.connectionName}" does not define authorization.`);let a=contextStorage.getStore(),o=resolveConnectionPrincipal(e.connectionName,e.authorization,a),s={url:e.url};if(a===void 0)return await e.authorization.getToken({principal:o,connection:s});let c=principalKey(o),l=readCachedToken(a,e.connectionName,c);if(l!==void 0)return l;let u=await e.authorization.getToken({principal:o,connection:s});return writeCachedToken(a,e.connectionName,c,u),u}async function resolveHeadersDefinition(e){if(typeof e==`function`)return await e();let t={},n=Object.entries(e);for(let[e,r]of n)t[e]=await resolveHeaderValue(r);return t}async function resolveHeaderValue(e){return typeof e==`function`?await e():await e}export{McpConnectionClient,passesToolFilter,resolveHeaders};