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,368 +1 @@
1
- import { isObject } from "#shared/guards.js";
2
- const RESPONSE_BODY_SNIPPET_LIMIT = 1_000;
3
- const GATEWAY_MODEL_REQUEST_REJECTED_MESSAGE = "AI Gateway rejected the model request before the agent produced a response.";
4
- /**
5
- * Anchored regex for the upstream "unsupported tool" rejection message
6
- * that AI Gateway returns when a fallback provider cannot serve a
7
- * provider-specific tool (e.g. Bedrock rejecting `web_search_20250305`).
8
- *
9
- * The phrasing comes from the gateway's own provider attempt projection
10
- * and is stable across the Bedrock and Vertex Anthropic backends. We
11
- * anchor the match on the literal `tool type` prefix to avoid sweeping
12
- * in unrelated "not supported" errors.
13
- */
14
- const UNSUPPORTED_TOOL_TYPE_REGEX = /tool type ['"]([\w.-]+)['"] is not supported/i;
15
- /**
16
- * Returns a concise actionable summary for known terminal configuration
17
- * errors raised during a model call. Returns `null` for everything else
18
- * so the caller falls back to the raw SDK message.
19
- */
20
- export function summarizeKnownModelCallConfigError(error) {
21
- const rawName = readErrorName(error);
22
- const rawMessage = readErrorMessage(error);
23
- if (rawName === "GatewayAuthenticationError" || /AI Gateway authentication/i.test(rawMessage)) {
24
- // The upstream `GatewayAuthenticationError` builds one of three
25
- // contextual messages depending on which credential was offered
26
- // (api-key, oidc, neither). Surface a remediation that matches the
27
- // one that actually failed — collapsing all three into a single
28
- // "set AI_GATEWAY_API_KEY" hint misleads users whose shell already
29
- // exports a stale `AI_GATEWAY_API_KEY` that shadows the OIDC fallback.
30
- if (/Invalid API key/i.test(rawMessage)) {
31
- return {
32
- name: "AI Gateway authentication failed",
33
- message: "AI Gateway rejected the provided API key. Update or unset `AI_GATEWAY_API_KEY` (check your shell profile if you did not set it for this project) — manage keys at https://vercel.com/dashboard/ai/api-keys. Unsetting it falls back to OIDC via `vercel link` + `vercel env pull`.",
34
- };
35
- }
36
- if (/Invalid OIDC token/i.test(rawMessage)) {
37
- return {
38
- name: "AI Gateway authentication failed",
39
- message: "AI Gateway rejected the OIDC token. Run `vercel env pull` to refresh `VERCEL_OIDC_TOKEN` in `.env.local`, or set `AI_GATEWAY_API_KEY` — create a key at https://vercel.com/dashboard/ai/api-keys.",
40
- };
41
- }
42
- return {
43
- name: "AI Gateway authentication failed",
44
- message: "AI Gateway received no credentials. Run `vercel link` + `vercel env pull` to populate `VERCEL_OIDC_TOKEN`, or set `AI_GATEWAY_API_KEY` — create a key at https://vercel.com/dashboard/ai/api-keys.",
45
- };
46
- }
47
- if (rawName === "LoadAPIKeyError" || /API key is missing/i.test(rawMessage)) {
48
- return {
49
- name: "Model provider API key missing",
50
- message: "The model provider could not load an API key. Export the provider's API key environment variable (for example `AI_GATEWAY_API_KEY` or `OPENAI_API_KEY`) and try again.",
51
- };
52
- }
53
- return null;
54
- }
55
- /**
56
- * Returns a concise summary for known model-call request failures that are not
57
- * configuration errors. These failures happen before the agent can produce a
58
- * response, so the user-facing message should avoid implying a bad tool call.
59
- */
60
- export function summarizeKnownModelCallRequestError(error) {
61
- const signals = readModelCallErrorSignals(error);
62
- if (signals.statusCode === 400 && isGatewayErrorSignal(signals)) {
63
- return {
64
- name: "AI Gateway model request rejected",
65
- message: GATEWAY_MODEL_REQUEST_REJECTED_MESSAGE,
66
- };
67
- }
68
- return null;
69
- }
70
- /**
71
- * Returns the distinct upstream tool types referenced by any
72
- * "tool type 'X' is not supported" rejection in an AI Gateway error's
73
- * provider attempt list.
74
- *
75
- * Walks the cause chain to find the gateway error and inspects both the
76
- * structured `data` field and the raw `responseBody` JSON. Returns an
77
- * empty array for errors that are not of this shape.
78
- *
79
- * Used by the harness recovery path to identify which framework tools
80
- * to drop before retrying the failing step. Detection is by string
81
- * match on the upstream tool type — see
82
- * {@link resolveFrameworkToolFromUpstreamType} for the mapping back to
83
- * framework tool names.
84
- */
85
- export function extractUnsupportedProviderToolTypes(error) {
86
- const found = new Set();
87
- for (const candidate of walkCauseChain(error)) {
88
- collectUnsupportedToolTypesFromValue(readObjectField(candidate, "data"), found);
89
- const responseBody = readStringField(candidate, "responseBody");
90
- if (responseBody !== undefined) {
91
- try {
92
- collectUnsupportedToolTypesFromValue(JSON.parse(responseBody), found);
93
- }
94
- catch {
95
- // The response body may be truncated mid-JSON when the upstream
96
- // includes a large request snapshot. Fall back to a raw string
97
- // scan so we still surface the tool name when the regex match
98
- // lies before the truncation boundary.
99
- const match = UNSUPPORTED_TOOL_TYPE_REGEX.exec(responseBody);
100
- if (match?.[1] !== undefined) {
101
- found.add(match[1]);
102
- }
103
- }
104
- }
105
- }
106
- return [...found];
107
- }
108
- function collectUnsupportedToolTypesFromValue(value, out) {
109
- if (value === null || value === undefined)
110
- return;
111
- if (typeof value === "string") {
112
- const match = UNSUPPORTED_TOOL_TYPE_REGEX.exec(value);
113
- if (match?.[1] !== undefined) {
114
- out.add(match[1]);
115
- }
116
- return;
117
- }
118
- if (Array.isArray(value)) {
119
- for (const entry of value) {
120
- collectUnsupportedToolTypesFromValue(entry, out);
121
- }
122
- return;
123
- }
124
- if (isObject(value)) {
125
- for (const entry of Object.values(value)) {
126
- collectUnsupportedToolTypesFromValue(entry, out);
127
- }
128
- }
129
- }
130
- /**
131
- * Extracts compact, structured diagnostics from AI SDK / AI Gateway model-call
132
- * errors. The full SDK error can include very large request bodies (especially
133
- * tool schemas), so this shape lifts the important upstream response fields into
134
- * `step.failed.details` before any inspector output gets truncated.
135
- */
136
- export function extractModelCallErrorDetails(error) {
137
- const signals = readModelCallErrorSignals(error);
138
- const details = {};
139
- appendJsonField(details, "gatewayName", signals.gatewayName);
140
- appendJsonField(details, "gatewayType", signals.gatewayType);
141
- appendJsonField(details, "statusCode", signals.statusCode);
142
- appendJsonField(details, "generationId", signals.generationId);
143
- appendJsonField(details, "upstreamStatusCode", signals.upstreamStatusCode);
144
- appendJsonField(details, "upstreamType", signals.upstreamType);
145
- appendJsonField(details, "upstreamMessage", signals.upstreamMessage);
146
- appendJsonField(details, "responseBodySnippet", signals.responseBodySnippet);
147
- return details;
148
- }
149
- function readErrorName(error) {
150
- if (error instanceof Error) {
151
- return error.name;
152
- }
153
- if (isObject(error) && typeof error.name === "string") {
154
- return error.name;
155
- }
156
- return undefined;
157
- }
158
- function readErrorMessage(error) {
159
- if (error instanceof Error) {
160
- return error.message;
161
- }
162
- if (isObject(error) && typeof error.message === "string") {
163
- return error.message;
164
- }
165
- return "";
166
- }
167
- /**
168
- * Classifies a model-call failure into the runtime's recovery policy.
169
- */
170
- export function classifyModelCallError(error) {
171
- // `APICallError` exposes `isRetryable`, populated by provider
172
- // adapters that already know what's transient on their side. We
173
- // read it via duck typing so the check survives a minor-version
174
- // bump of `@ai-sdk/provider`.
175
- if (hasRetryableFlag(error)) {
176
- return "retry";
177
- }
178
- if (summarizeKnownModelCallConfigError(error) !== null) {
179
- return "terminal";
180
- }
181
- const signals = readModelCallErrorSignals(error);
182
- if (isRetryableGatewayType(signals.gatewayType) || isRetryableGatewayType(signals.upstreamType)) {
183
- return "retry";
184
- }
185
- if (isTerminalGatewayType(signals.gatewayType) ||
186
- isTerminalGatewayType(signals.upstreamType) ||
187
- signals.gatewayName === "GatewayInvalidRequestError") {
188
- return "terminal";
189
- }
190
- const status = signals.statusCode;
191
- if (status !== undefined) {
192
- // 408/409/429 and 5xx are retryable server conditions. Non-retryable
193
- // 4xx responses usually point to a structural problem (invalid key,
194
- // context exceeded, malformed prompt) that repeating the same request
195
- // will not fix.
196
- if (status === 408 || status === 409 || status === 429 || status >= 500)
197
- return "retry";
198
- if (isAmbiguousGatewayInternalBadRequest(signals))
199
- return "recoverable";
200
- if (status >= 400 && status < 500)
201
- return "terminal";
202
- }
203
- if (isLikelyNetworkError(error)) {
204
- return "retry";
205
- }
206
- return "recoverable";
207
- }
208
- function hasRetryableFlag(error) {
209
- for (const candidate of walkCauseChain(error)) {
210
- if (isObject(candidate) && candidate.isRetryable === true) {
211
- return true;
212
- }
213
- }
214
- return false;
215
- }
216
- function isLikelyNetworkError(error) {
217
- if (!(error instanceof Error))
218
- return false;
219
- const message = error.message.toLowerCase();
220
- if (message.includes("econnreset") ||
221
- message.includes("etimedout") ||
222
- message.includes("eai_again") ||
223
- message.includes("socket hang up") ||
224
- message.includes("network") ||
225
- message.includes("fetch failed")) {
226
- return true;
227
- }
228
- if (error.cause !== undefined && error.cause !== error) {
229
- return isLikelyNetworkError(error.cause);
230
- }
231
- return false;
232
- }
233
- function readModelCallErrorSignals(error) {
234
- const gatewayError = findGatewayError(error);
235
- const upstreamError = findUpstreamApiCallError(error);
236
- const responseBody = readStringField(upstreamError, "responseBody");
237
- const upstreamBody = readGatewayErrorBody(upstreamError);
238
- return {
239
- gatewayName: readErrorName(gatewayError),
240
- gatewayType: readStringField(gatewayError, "type"),
241
- generationId: readStringField(gatewayError, "generationId") ?? upstreamBody?.generationId,
242
- responseBodySnippet: responseBody === undefined
243
- ? undefined
244
- : truncateSnippet(responseBody, RESPONSE_BODY_SNIPPET_LIMIT),
245
- statusCode: readStatusCode(gatewayError) ?? readStatusCode(upstreamError) ?? findStatusCode(error),
246
- upstreamMessage: upstreamBody?.message,
247
- upstreamStatusCode: readStatusCode(upstreamError),
248
- upstreamType: upstreamBody?.type,
249
- };
250
- }
251
- function findGatewayError(error) {
252
- for (const candidate of walkCauseChain(error)) {
253
- const name = readErrorName(candidate);
254
- const type = readStringField(candidate, "type");
255
- if (name?.startsWith("Gateway") || type?.endsWith("_error") || type === "rate_limit_exceeded") {
256
- return candidate;
257
- }
258
- }
259
- return undefined;
260
- }
261
- function findUpstreamApiCallError(error) {
262
- for (const candidate of walkCauseChain(error)) {
263
- const name = readErrorName(candidate);
264
- if (name === "AI_APICallError" ||
265
- readStringField(candidate, "responseBody") !== undefined ||
266
- readObjectField(candidate, "data") !== undefined ||
267
- readObjectField(candidate, "requestBodyValues") !== undefined) {
268
- return candidate;
269
- }
270
- }
271
- return undefined;
272
- }
273
- function readGatewayErrorBody(error) {
274
- const dataBody = readGatewayErrorBodyFromValue(readObjectField(error, "data"));
275
- if (dataBody !== undefined) {
276
- return dataBody;
277
- }
278
- const responseBody = readStringField(error, "responseBody");
279
- if (responseBody === undefined) {
280
- return undefined;
281
- }
282
- try {
283
- return readGatewayErrorBodyFromValue(JSON.parse(responseBody));
284
- }
285
- catch {
286
- return undefined;
287
- }
288
- }
289
- function readGatewayErrorBodyFromValue(value) {
290
- if (!isObject(value))
291
- return undefined;
292
- const error = readObjectField(value, "error");
293
- if (error === undefined)
294
- return undefined;
295
- const generationId = readStringField(value, "generationId");
296
- const message = readStringField(error, "message");
297
- const type = readStringField(error, "type");
298
- return message === undefined && type === undefined && generationId === undefined
299
- ? undefined
300
- : { generationId, message, type };
301
- }
302
- function readStatusCode(error) {
303
- if (!isObject(error))
304
- return undefined;
305
- return typeof error.statusCode === "number" ? error.statusCode : undefined;
306
- }
307
- function findStatusCode(error) {
308
- for (const candidate of walkCauseChain(error)) {
309
- const statusCode = readStatusCode(candidate);
310
- if (statusCode !== undefined) {
311
- return statusCode;
312
- }
313
- }
314
- return undefined;
315
- }
316
- function readStringField(value, key) {
317
- if (!isObject(value))
318
- return undefined;
319
- const field = value[key];
320
- return typeof field === "string" && field.length > 0 ? field : undefined;
321
- }
322
- function readObjectField(value, key) {
323
- if (!isObject(value))
324
- return undefined;
325
- const field = value[key];
326
- return isObject(field) ? field : undefined;
327
- }
328
- function isRetryableGatewayType(type) {
329
- return type === "rate_limit_exceeded" || type === "timeout_error";
330
- }
331
- function isTerminalGatewayType(type) {
332
- return (type === "authentication_error" ||
333
- type === "invalid_request_error" ||
334
- type === "model_not_found");
335
- }
336
- function isGatewayErrorSignal(signals) {
337
- return signals.gatewayName !== undefined || signals.gatewayType !== undefined;
338
- }
339
- function isAmbiguousGatewayInternalBadRequest(signals) {
340
- return (signals.statusCode === 400 &&
341
- (signals.gatewayName === "GatewayInternalServerError" ||
342
- signals.gatewayType === "internal_server_error") &&
343
- (signals.upstreamType === undefined || signals.upstreamType === "internal_server_error"));
344
- }
345
- function* walkCauseChain(error) {
346
- const seen = new Set();
347
- let current = error;
348
- while (isObject(current) && !seen.has(current)) {
349
- seen.add(current);
350
- yield current;
351
- current = current.cause;
352
- }
353
- }
354
- function appendJsonField(target, key, value) {
355
- if (typeof value === "string" && value.length > 0) {
356
- target[key] = value;
357
- return;
358
- }
359
- if (typeof value === "number" && Number.isFinite(value)) {
360
- target[key] = value;
361
- }
362
- }
363
- function truncateSnippet(value, maxLength) {
364
- if (value.length <= maxLength) {
365
- return value;
366
- }
367
- return `${value.slice(0, maxLength)}...<truncated>`;
368
- }
1
+ import{isObject}from"#shared/guards.js";var RESPONSE_BODY_SNIPPET_LIMIT=1e3,GATEWAY_MODEL_REQUEST_REJECTED_MESSAGE=`AI Gateway rejected the model request before the agent produced a response.`,UNSUPPORTED_TOOL_TYPE_REGEX=/tool type ['"]([\w.-]+)['"] is not supported/i;function summarizeKnownModelCallConfigError(e){let t=readErrorName(e),n=readErrorMessage(e);return t===`GatewayAuthenticationError`||/AI Gateway authentication/i.test(n)?/Invalid API key/i.test(n)?{name:`AI Gateway authentication failed`,message:"AI Gateway rejected the provided API key. Update or unset `AI_GATEWAY_API_KEY` (check your shell profile if you did not set it for this project) — manage keys at https://vercel.com/dashboard/ai/api-keys. Unsetting it falls back to OIDC via `vercel link` + `vercel env pull`."}:/Invalid OIDC token/i.test(n)?{name:`AI Gateway authentication failed`,message:"AI Gateway rejected the OIDC token. Run `vercel env pull` to refresh `VERCEL_OIDC_TOKEN` in `.env.local`, or set `AI_GATEWAY_API_KEY` — create a key at https://vercel.com/dashboard/ai/api-keys."}:{name:`AI Gateway authentication failed`,message:"AI Gateway received no credentials. Run `vercel link` + `vercel env pull` to populate `VERCEL_OIDC_TOKEN`, or set `AI_GATEWAY_API_KEY` — create a key at https://vercel.com/dashboard/ai/api-keys."}:t===`LoadAPIKeyError`||/API key is missing/i.test(n)?{name:`Model provider API key missing`,message:"The model provider could not load an API key. Export the provider's API key environment variable (for example `AI_GATEWAY_API_KEY` or `OPENAI_API_KEY`) and try again."}:null}function summarizeKnownModelCallRequestError(e){let t=readModelCallErrorSignals(e);return t.statusCode===400&&isGatewayErrorSignal(t)?{name:`AI Gateway model request rejected`,message:GATEWAY_MODEL_REQUEST_REJECTED_MESSAGE}:null}function extractUnsupportedProviderToolTypes(e){let t=new Set;for(let n of walkCauseChain(e)){collectUnsupportedToolTypesFromValue(readObjectField(n,`data`),t);let e=readStringField(n,`responseBody`);if(e!==void 0)try{collectUnsupportedToolTypesFromValue(JSON.parse(e),t)}catch{let n=UNSUPPORTED_TOOL_TYPE_REGEX.exec(e);n?.[1]!==void 0&&t.add(n[1])}}return[...t]}function collectUnsupportedToolTypesFromValue(t,n){if(t!=null){if(typeof t==`string`){let e=UNSUPPORTED_TOOL_TYPE_REGEX.exec(t);e?.[1]!==void 0&&n.add(e[1]);return}if(Array.isArray(t)){for(let e of t)collectUnsupportedToolTypesFromValue(e,n);return}if(isObject(t))for(let e of Object.values(t))collectUnsupportedToolTypesFromValue(e,n)}}function extractModelCallErrorDetails(e){let t=readModelCallErrorSignals(e),n={};return appendJsonField(n,`gatewayName`,t.gatewayName),appendJsonField(n,`gatewayType`,t.gatewayType),appendJsonField(n,`statusCode`,t.statusCode),appendJsonField(n,`generationId`,t.generationId),appendJsonField(n,`upstreamStatusCode`,t.upstreamStatusCode),appendJsonField(n,`upstreamType`,t.upstreamType),appendJsonField(n,`upstreamMessage`,t.upstreamMessage),appendJsonField(n,`responseBodySnippet`,t.responseBodySnippet),n}function readErrorName(t){if(t instanceof Error||isObject(t)&&typeof t.name==`string`)return t.name}function readErrorMessage(t){return t instanceof Error||isObject(t)&&typeof t.message==`string`?t.message:``}function classifyModelCallError(e){if(hasRetryableFlag(e))return`retry`;if(summarizeKnownModelCallConfigError(e)!==null)return`terminal`;let t=readModelCallErrorSignals(e);if(isRetryableGatewayType(t.gatewayType)||isRetryableGatewayType(t.upstreamType))return`retry`;if(isTerminalGatewayType(t.gatewayType)||isTerminalGatewayType(t.upstreamType)||t.gatewayName===`GatewayInvalidRequestError`)return`terminal`;let n=t.statusCode;if(n!==void 0){if(n===408||n===409||n===429||n>=500)return`retry`;if(isAmbiguousGatewayInternalBadRequest(t))return`recoverable`;if(n>=400&&n<500)return`terminal`}return isLikelyNetworkError(e)?`retry`:`recoverable`}function hasRetryableFlag(t){for(let n of walkCauseChain(t))if(isObject(n)&&n.isRetryable===!0)return!0;return!1}function isLikelyNetworkError(e){if(!(e instanceof Error))return!1;let t=e.message.toLowerCase();return t.includes(`econnreset`)||t.includes(`etimedout`)||t.includes(`eai_again`)||t.includes(`socket hang up`)||t.includes(`network`)||t.includes(`fetch failed`)?!0:e.cause!==void 0&&e.cause!==e?isLikelyNetworkError(e.cause):!1}function readModelCallErrorSignals(e){let n=findGatewayError(e),r=findUpstreamApiCallError(e),i=readStringField(r,`responseBody`),a=readGatewayErrorBody(r);return{gatewayName:readErrorName(n),gatewayType:readStringField(n,`type`),generationId:readStringField(n,`generationId`)??a?.generationId,responseBodySnippet:i===void 0?void 0:truncateSnippet(i,RESPONSE_BODY_SNIPPET_LIMIT),statusCode:readStatusCode(n)??readStatusCode(r)??findStatusCode(e),upstreamMessage:a?.message,upstreamStatusCode:readStatusCode(r),upstreamType:a?.type}}function findGatewayError(e){for(let t of walkCauseChain(e)){let e=readErrorName(t),n=readStringField(t,`type`);if(e?.startsWith(`Gateway`)||n?.endsWith(`_error`)||n===`rate_limit_exceeded`)return t}}function findUpstreamApiCallError(e){for(let t of walkCauseChain(e))if(readErrorName(t)===`AI_APICallError`||readStringField(t,`responseBody`)!==void 0||readObjectField(t,`data`)!==void 0||readObjectField(t,`requestBodyValues`)!==void 0)return t}function readGatewayErrorBody(e){let t=readGatewayErrorBodyFromValue(readObjectField(e,`data`));if(t!==void 0)return t;let n=readStringField(e,`responseBody`);if(n!==void 0)try{return readGatewayErrorBodyFromValue(JSON.parse(n))}catch{return}}function readGatewayErrorBodyFromValue(t){if(!isObject(t))return;let n=readObjectField(t,`error`);if(n===void 0)return;let r=readStringField(t,`generationId`),i=readStringField(n,`message`),a=readStringField(n,`type`);return i===void 0&&a===void 0&&r===void 0?void 0:{generationId:r,message:i,type:a}}function readStatusCode(t){if(isObject(t))return typeof t.statusCode==`number`?t.statusCode:void 0}function findStatusCode(e){for(let t of walkCauseChain(e)){let e=readStatusCode(t);if(e!==void 0)return e}}function readStringField(t,n){if(!isObject(t))return;let r=t[n];return typeof r==`string`&&r.length>0?r:void 0}function readObjectField(t,n){if(!isObject(t))return;let r=t[n];return isObject(r)?r:void 0}function isRetryableGatewayType(e){return e===`rate_limit_exceeded`||e===`timeout_error`}function isTerminalGatewayType(e){return e===`authentication_error`||e===`invalid_request_error`||e===`model_not_found`}function isGatewayErrorSignal(e){return e.gatewayName!==void 0||e.gatewayType!==void 0}function isAmbiguousGatewayInternalBadRequest(e){return e.statusCode===400&&(e.gatewayName===`GatewayInternalServerError`||e.gatewayType===`internal_server_error`)&&(e.upstreamType===void 0||e.upstreamType===`internal_server_error`)}function*walkCauseChain(t){let n=new Set,r=t;for(;isObject(r)&&!n.has(r);)n.add(r),yield r,r=r.cause}function appendJsonField(e,t,n){if(typeof n==`string`&&n.length>0){e[t]=n;return}typeof n==`number`&&Number.isFinite(n)&&(e[t]=n)}function truncateSnippet(e,t){return e.length<=t?e:`${e.slice(0,t)}...<truncated>`}export{classifyModelCallError,extractModelCallErrorDetails,extractUnsupportedProviderToolTypes,summarizeKnownModelCallConfigError,summarizeKnownModelCallRequestError};
@@ -1,18 +1 @@
1
- import { OpenTelemetry } from "#compiled/@ai-sdk/otel/index.js";
2
- import { registerTelemetry } from "ai";
3
- let registered = false;
4
- /**
5
- * Registers the AI SDK OpenTelemetry integration once so that model
6
- * calls emit OTel spans. Safe to call multiple times — only the first
7
- * call has an effect.
8
- *
9
- * In AI SDK v7 the built-in OTel tracing was moved to `@ai-sdk/otel`
10
- * and must be registered explicitly.
11
- */
12
- export function ensureOtelIntegration() {
13
- if (registered) {
14
- return;
15
- }
16
- registered = true;
17
- registerTelemetry(new OpenTelemetry());
18
- }
1
+ import{registerTelemetry}from"ai";import{OpenTelemetry}from"#compiled/@ai-sdk/otel/index.js";var registered=!1;function ensureOtelIntegration(){registered||(registered=!0,registerTelemetry(new OpenTelemetry))}export{ensureOtelIntegration};
@@ -1,137 +1 @@
1
- /**
2
- * Shared frozen marker. All direct-Anthropic breakpoints in the harness share
3
- * this instance to avoid allocating per-message.
4
- */
5
- const ANTHROPIC_CACHE_MARKER = Object.freeze({
6
- anthropic: Object.freeze({
7
- cacheControl: Object.freeze({ type: "ephemeral" }),
8
- }),
9
- });
10
- /**
11
- * Detects which prompt caching path applies to a resolved model.
12
- *
13
- * Runs once per harness step right after `resolveModel()`.
14
- */
15
- export function detectPromptCachePath(model) {
16
- if (typeof model === "string") {
17
- return { kind: "gateway-auto" };
18
- }
19
- const providerName = typeof model.provider === "string" ? model.provider.toLowerCase() : "";
20
- if (providerName.includes("anthropic")) {
21
- return { kind: "anthropic-direct" };
22
- }
23
- return { kind: "none" };
24
- }
25
- /**
26
- * Returns the shared Anthropic cache marker used on the `anthropic-direct`
27
- * path. Exposed for unit tests and for the harness wiring layer.
28
- */
29
- export function getAnthropicCacheMarker() {
30
- return ANTHROPIC_CACHE_MARKER;
31
- }
32
- /**
33
- * Returns a new `providerOptions` object with
34
- * `gateway.caching = "auto"` merged into the existing `gateway` sub-object.
35
- *
36
- * Preserves any existing author-provided `gateway` keys (such as
37
- * `order: ["anthropic", "bedrock"]` load balancing), and leaves an
38
- * explicit author override on `gateway.caching` untouched so callers can
39
- * opt out by setting `providerOptions.gateway.caching` to `false` or
40
- * another value.
41
- */
42
- export function mergeGatewayAutoCaching(base) {
43
- const baseGateway = base?.gateway !== undefined && typeof base.gateway === "object" && base.gateway !== null
44
- ? base.gateway
45
- : undefined;
46
- const mergedGateway = {
47
- ...baseGateway,
48
- caching: baseGateway?.caching ?? "auto",
49
- };
50
- return {
51
- ...base,
52
- gateway: mergedGateway,
53
- };
54
- }
55
- /**
56
- * Returns a new ToolSet where the last tool entry carries the Anthropic
57
- * cache marker on `providerOptions`. Used on the `anthropic-direct` path
58
- * to place a stable breakpoint at the end of the tools block, caching the
59
- * full tool definitions across every turn.
60
- *
61
- * No-op when `tools` has no entries. Preserves existing `providerOptions`
62
- * on tools (merges the cache marker in via spread).
63
- */
64
- export function applyLastToolCacheBreakpoint(tools, marker) {
65
- const entries = Object.entries(tools);
66
- if (entries.length === 0) {
67
- return tools;
68
- }
69
- const result = {};
70
- for (let i = 0; i < entries.length; i++) {
71
- const [name, tool] = entries[i];
72
- if (i === entries.length - 1) {
73
- const existingProviderOptions = tool.providerOptions !== undefined && typeof tool.providerOptions === "object"
74
- ? tool.providerOptions
75
- : undefined;
76
- result[name] = {
77
- ...tool,
78
- providerOptions: {
79
- ...existingProviderOptions,
80
- ...marker,
81
- },
82
- };
83
- }
84
- else {
85
- result[name] = tool;
86
- }
87
- }
88
- return result;
89
- }
90
- /**
91
- * Walks backward through `messages` and attaches the Anthropic cache marker
92
- * to the most recent `assistant` and most recent `user` message. Returns a
93
- * new array; does not mutate the input.
94
- *
95
- * This implements the "automatic cache advancement" pattern: each turn the
96
- * breakpoints move forward, and the prior turn's breakpoints still warm the
97
- * cache prefix, so the new breakpoints just extend the cached region.
98
- *
99
- * Tool-result messages (`role: "tool"`) are intentionally skipped — the
100
- * adjacent assistant message's cache marker already covers the prefix
101
- * through any preceding tool results.
102
- */
103
- export function applyConversationCacheControl(messages, marker) {
104
- if (messages.length === 0) {
105
- return [...messages];
106
- }
107
- const out = [...messages];
108
- let foundAssistant = false;
109
- let foundUser = false;
110
- for (let i = out.length - 1; i >= 0 && (!foundAssistant || !foundUser); i--) {
111
- const message = out[i];
112
- if (message === undefined) {
113
- continue;
114
- }
115
- if (!foundAssistant && message.role === "assistant") {
116
- out[i] = {
117
- ...message,
118
- providerOptions: {
119
- ...message.providerOptions,
120
- ...marker,
121
- },
122
- };
123
- foundAssistant = true;
124
- }
125
- else if (!foundUser && message.role === "user") {
126
- out[i] = {
127
- ...message,
128
- providerOptions: {
129
- ...message.providerOptions,
130
- ...marker,
131
- },
132
- };
133
- foundUser = true;
134
- }
135
- }
136
- return out;
137
- }
1
+ var ANTHROPIC_CACHE_MARKER=Object.freeze({anthropic:Object.freeze({cacheControl:Object.freeze({type:`ephemeral`})})});function detectPromptCachePath(e){return typeof e==`string`?{kind:`gateway-auto`}:(typeof e.provider==`string`?e.provider.toLowerCase():``).includes(`anthropic`)?{kind:`anthropic-direct`}:{kind:`none`}}function getAnthropicCacheMarker(){return ANTHROPIC_CACHE_MARKER}function mergeGatewayAutoCaching(e){let t=e?.gateway!==void 0&&typeof e.gateway==`object`&&e.gateway!==null?e.gateway:void 0,n={...t,caching:t?.caching??`auto`};return{...e,gateway:n}}function applyLastToolCacheBreakpoint(e,t){let n=Object.entries(e);if(n.length===0)return e;let r={};for(let e=0;e<n.length;e++){let[i,a]=n[e];if(e===n.length-1){let e=a.providerOptions!==void 0&&typeof a.providerOptions==`object`?a.providerOptions:void 0;r[i]={...a,providerOptions:{...e,...t}}}else r[i]=a}return r}function applyConversationCacheControl(e,t){if(e.length===0)return[...e];let n=[...e],r=!1,i=!1;for(let e=n.length-1;e>=0&&(!r||!i);e--){let a=n[e];a!==void 0&&(!r&&a.role===`assistant`?(n[e]={...a,providerOptions:{...a.providerOptions,...t}},r=!0):!i&&a.role===`user`&&(n[e]={...a,providerOptions:{...a.providerOptions,...t}},i=!0))}return n}export{applyConversationCacheControl,applyLastToolCacheBreakpoint,detectPromptCachePath,getAnthropicCacheMarker,mergeGatewayAutoCaching};
@@ -1,137 +1 @@
1
- import { WEB_SEARCH_TOOL_DEFINITION } from "#runtime/framework-tools/web-search.js";
2
- import { isObject } from "#shared/guards.js";
3
- /**
4
- * Maps an upstream provider tool type (the literal `type` string the AI SDK
5
- * sends to the provider) back to the framework tool name that injected it.
6
- *
7
- * Used when the AI Gateway routes a request to a fallback provider that
8
- * does not support a provider-specific tool — the upstream error references
9
- * the provider-specific type (e.g. `web_search_20250305`), but the harness
10
- * needs to drop the framework tool by its public name (`web_search`).
11
- *
12
- * Adding a new provider tool requires adding the corresponding mapping
13
- * entry here alongside its {@link resolveWebSearchProviderTool} switch
14
- * arm so detection stays in lockstep with injection.
15
- */
16
- const UPSTREAM_TOOL_TYPE_TO_FRAMEWORK_NAME = {
17
- // Anthropic's stable web search tool. The Bedrock and Vertex
18
- // Anthropic backends reject this type because they only host the
19
- // older Claude Messages surface.
20
- web_search_20250305: WEB_SEARCH_TOOL_DEFINITION.name,
21
- };
22
- /**
23
- * Returns the framework tool name that produced an upstream provider tool
24
- * `type`, or `null` when the type is not one we know how to remove.
25
- *
26
- * Used by the harness recovery path to decide which tools to drop when a
27
- * gateway fallback provider rejects a tool. Unknown types fall through to
28
- * the existing terminal/recoverable handling.
29
- */
30
- export function resolveFrameworkToolFromUpstreamType(type) {
31
- return UPSTREAM_TOOL_TYPE_TO_FRAMEWORK_NAME[type] ?? null;
32
- }
33
- /**
34
- * Maps a {@link WebSearchBackend} to the gateway provider slug used in
35
- * `providerOptions.gateway.only` to pin routing to that provider.
36
- *
37
- * Returns `null` for the `"gateway"` backend (Perplexity via AI Gateway),
38
- * which is served by the gateway directly and does not need pinning.
39
- */
40
- export function resolveGatewayPinForWebSearchBackend(backend) {
41
- switch (backend) {
42
- case "anthropic":
43
- return "anthropic";
44
- case "openai":
45
- return "openai";
46
- case "google":
47
- return "google";
48
- case "gateway":
49
- return null;
50
- }
51
- }
52
- /**
53
- * Returns a new `providerOptions` object with
54
- * `gateway.only = [provider]` merged into the existing `gateway`
55
- * sub-object so the AI Gateway only attempts the given provider.
56
- *
57
- * Used by the harness to pin routing when a provider-specific tool
58
- * (e.g. Anthropic's `web_search_20250305`) is in the per-step toolset,
59
- * so a transient primary outage produces a clean retryable 503 instead
60
- * of a fallback-to-incompatible-provider 400.
61
- *
62
- * Author overrides win — if `base.gateway.only` or `base.gateway.order`
63
- * is already set, the input is returned unchanged so explicit routing
64
- * preferences are never silently overwritten.
65
- */
66
- export function mergeGatewayProviderPin(base, provider) {
67
- const baseGateway = isObject(base?.gateway)
68
- ? base.gateway
69
- : undefined;
70
- if (baseGateway?.only !== undefined || baseGateway?.order !== undefined) {
71
- return { ...base };
72
- }
73
- const mergedGateway = {
74
- ...baseGateway,
75
- only: [provider],
76
- };
77
- return {
78
- ...base,
79
- gateway: mergedGateway,
80
- };
81
- }
82
- /**
83
- * Determines the web search backend for a model reference.
84
- *
85
- * - OpenAI models (gateway or BYO): native OpenAI search
86
- * - Anthropic models (gateway or BYO): native Anthropic search
87
- * - Direct/BYO Google models: native Google search grounding
88
- * - Other models on AI Gateway (including `google/...`): Perplexity search via gateway
89
- * - Other BYO models: not available (returns `null`)
90
- */
91
- export function resolveWebSearchBackend(modelRef) {
92
- const providerId = modelRef.id.split("/")[0] ?? "";
93
- if (providerId === "openai" || providerId.startsWith("openai.")) {
94
- return "openai";
95
- }
96
- if (providerId === "anthropic" || providerId.startsWith("anthropic.")) {
97
- return "anthropic";
98
- }
99
- if (providerId.startsWith("google.")) {
100
- return "google";
101
- }
102
- if (modelRef.source === undefined) {
103
- return "gateway";
104
- }
105
- return null;
106
- }
107
- /**
108
- * Constructs the AI SDK provider tool for web search based on the resolved
109
- * backend. Called once per harness step when web search is enabled.
110
- *
111
- * Dynamic imports keep unused provider SDKs out of the bundle — only the
112
- * provider matching the current model is loaded.
113
- */
114
- export async function resolveWebSearchProviderTool(backend) {
115
- switch (backend) {
116
- case "openai": {
117
- const { openai } = await import("#compiled/@ai-sdk/openai/index.js");
118
- return openai.tools.webSearch({});
119
- }
120
- case "anthropic": {
121
- const { anthropic } = await import("#compiled/@ai-sdk/anthropic/index.js");
122
- // `webSearch_20260209()` in @ai-sdk/anthropic@3.0.68 adds the
123
- // `code-execution-web-tools-2026-02-09` beta header, which Anthropic
124
- // currently rejects. Keep Anthropic web search working by using the
125
- // stable tool version until the upstream helper is fixed.
126
- return anthropic.tools.webSearch_20250305();
127
- }
128
- case "google": {
129
- const { google } = await import("#compiled/@ai-sdk/google/index.js");
130
- return google.tools.googleSearch({});
131
- }
132
- case "gateway": {
133
- const { gateway } = await import("ai");
134
- return gateway.tools.perplexitySearch();
135
- }
136
- }
137
- }
1
+ import{isObject}from"#shared/guards.js";import{WEB_SEARCH_TOOL_DEFINITION}from"#runtime/framework-tools/web-search.js";var UPSTREAM_TOOL_TYPE_TO_FRAMEWORK_NAME={web_search_20250305:WEB_SEARCH_TOOL_DEFINITION.name};function resolveFrameworkToolFromUpstreamType(e){return UPSTREAM_TOOL_TYPE_TO_FRAMEWORK_NAME[e]??null}function resolveGatewayPinForWebSearchBackend(e){switch(e){case`anthropic`:return`anthropic`;case`openai`:return`openai`;case`google`:return`google`;case`gateway`:return null}}function mergeGatewayProviderPin(t,n){let r=isObject(t?.gateway)?t.gateway:void 0;if(r?.only!==void 0||r?.order!==void 0)return{...t};let i={...r,only:[n]};return{...t,gateway:i}}function resolveWebSearchBackend(e){let t=e.id.split(`/`)[0]??``;return t===`openai`||t.startsWith(`openai.`)?`openai`:t===`anthropic`||t.startsWith(`anthropic.`)?`anthropic`:t.startsWith(`google.`)?`google`:e.source===void 0?`gateway`:null}async function resolveWebSearchProviderTool(e){switch(e){case`openai`:{let{openai:e}=await import(`#compiled/@ai-sdk/openai/index.js`);return e.tools.webSearch({})}case`anthropic`:{let{anthropic:e}=await import(`#compiled/@ai-sdk/anthropic/index.js`);return e.tools.webSearch_20250305()}case`google`:{let{google:e}=await import(`#compiled/@ai-sdk/google/index.js`);return e.tools.googleSearch({})}case`gateway`:{let{gateway:e}=await import(`ai`);return e.tools.perplexitySearch()}}}export{mergeGatewayProviderPin,resolveFrameworkToolFromUpstreamType,resolveGatewayPinForWebSearchBackend,resolveWebSearchBackend,resolveWebSearchProviderTool};