experimental-ash 0.26.0 → 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 (748) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/docs/public/subagents.md +38 -0
  3. package/dist/src/_virtual/_rolldown/runtime.js +1 -0
  4. package/dist/src/channel/adapter-context.js +1 -24
  5. package/dist/src/channel/adapter.js +1 -62
  6. package/dist/src/channel/compiled-channel.js +1 -6
  7. package/dist/src/channel/cross-channel-receive.js +2 -108
  8. package/dist/src/channel/http.js +1 -30
  9. package/dist/src/channel/receive-args.js +1 -1
  10. package/dist/src/channel/resolve-text.js +1 -59
  11. package/dist/src/channel/routes.js +1 -15
  12. package/dist/src/channel/schedule.js +1 -81
  13. package/dist/src/channel/send.js +1 -81
  14. package/dist/src/channel/session-callback.js +1 -65
  15. package/dist/src/channel/session.js +1 -58
  16. package/dist/src/channel/types.js +1 -1
  17. package/dist/src/cli/commands/channels.js +3 -9
  18. package/dist/src/cli/commands/info.js +2 -2
  19. package/dist/src/cli/dev/environment.js +1 -1
  20. package/dist/src/cli/dev/input-requests.js +1 -1
  21. package/dist/src/cli/dev/input.js +1 -1
  22. package/dist/src/cli/dev/repl.js +2 -3
  23. package/dist/src/cli/dev/terminal.js +5 -5
  24. package/dist/src/cli/dev/url.js +1 -1
  25. package/dist/src/cli/run.js +2 -2
  26. package/dist/src/cli/ui/output.js +8 -8
  27. package/dist/src/client/client-error.js +1 -19
  28. package/dist/src/client/client.js +1 -128
  29. package/dist/src/client/index.js +1 -11
  30. package/dist/src/client/message-reducer-types.js +1 -1
  31. package/dist/src/client/message-reducer.js +1 -456
  32. package/dist/src/client/message-response.js +1 -55
  33. package/dist/src/client/ndjson.js +3 -62
  34. package/dist/src/client/open-stream.js +1 -45
  35. package/dist/src/client/reducer.js +1 -1
  36. package/dist/src/client/session-utils.js +1 -62
  37. package/dist/src/client/session.js +1 -206
  38. package/dist/src/client/types.js +1 -1
  39. package/dist/src/client/url.js +1 -34
  40. package/dist/src/compiled/.vendor-stamp.json +6 -1
  41. package/dist/src/compiled/@vercel/oidc/LICENSE +202 -0
  42. package/dist/src/compiled/@vercel/oidc/index.d.ts +21 -0
  43. package/dist/src/compiled/@vercel/oidc/index.js +2 -0
  44. package/dist/src/compiled/@vercel/oidc/package.json +7 -0
  45. package/dist/src/compiled/chokidar/LICENSE +21 -0
  46. package/dist/src/compiled/chokidar/index.d.ts +33 -0
  47. package/dist/src/compiled/chokidar/index.js +1 -0
  48. package/dist/src/compiled/chokidar/package.json +7 -0
  49. package/dist/src/compiled/commander/LICENSE +22 -0
  50. package/dist/src/compiled/commander/index.d.ts +1113 -0
  51. package/dist/src/{chunks/url-JdCGA634.js → compiled/commander/index.js} +10 -10
  52. package/dist/src/compiled/commander/package.json +7 -0
  53. package/dist/src/compiled/gray-matter/LICENSE +21 -0
  54. package/dist/src/compiled/gray-matter/index.d.ts +62 -0
  55. package/dist/src/{chunks/gray-matter-D-9jHwOT.js → compiled/gray-matter/index.js} +2 -2
  56. package/dist/src/compiled/gray-matter/package.json +7 -0
  57. package/dist/src/compiled/picocolors/LICENSE +15 -0
  58. package/dist/src/compiled/picocolors/index.d.ts +55 -0
  59. package/dist/src/compiled/picocolors/index.js +1 -0
  60. package/dist/src/compiled/picocolors/package.json +7 -0
  61. package/dist/src/compiler/artifacts.js +1 -147
  62. package/dist/src/compiler/compile-agent.js +3 -76
  63. package/dist/src/compiler/compile-from-memory.js +1 -59
  64. package/dist/src/compiler/manifest.js +1 -424
  65. package/dist/src/compiler/model-catalog.js +1 -224
  66. package/dist/src/compiler/module-map.js +5 -295
  67. package/dist/src/compiler/normalize-agent-config.js +1 -157
  68. package/dist/src/compiler/normalize-channel.js +1 -51
  69. package/dist/src/compiler/normalize-connection.js +1 -58
  70. package/dist/src/compiler/normalize-helpers.js +1 -23
  71. package/dist/src/compiler/normalize-hook.js +1 -19
  72. package/dist/src/compiler/normalize-instructions.js +1 -28
  73. package/dist/src/compiler/normalize-manifest.js +1 -79
  74. package/dist/src/compiler/normalize-sandbox.js +1 -20
  75. package/dist/src/compiler/normalize-schedule.js +1 -38
  76. package/dist/src/compiler/normalize-skill.js +1 -60
  77. package/dist/src/compiler/normalize-subagent.js +1 -174
  78. package/dist/src/compiler/normalize-tool.js +1 -40
  79. package/dist/src/compiler/remote-agent-node.js +1 -19
  80. package/dist/src/compiler/workspace-resources.js +1 -85
  81. package/dist/src/context/accessors.js +1 -93
  82. package/dist/src/context/container.js +1 -89
  83. package/dist/src/context/hook-lifecycle.js +1 -242
  84. package/dist/src/context/key.js +1 -39
  85. package/dist/src/context/keys.js +1 -43
  86. package/dist/src/context/node.js +1 -9
  87. package/dist/src/context/provider.js +1 -1
  88. package/dist/src/context/providers/connection.js +1 -17
  89. package/dist/src/context/providers/sandbox.js +1 -46
  90. package/dist/src/context/providers/session.js +1 -18
  91. package/dist/src/context/run-step.js +1 -51
  92. package/dist/src/context/seed-keys.js +1 -37
  93. package/dist/src/context/serialize.js +1 -44
  94. package/dist/src/discover/connections.js +1 -153
  95. package/dist/src/discover/diagnostics.js +1 -82
  96. package/dist/src/discover/discover-agent.js +1 -159
  97. package/dist/src/discover/discover-subagent.js +1 -223
  98. package/dist/src/discover/filesystem.js +1 -215
  99. package/dist/src/discover/grammar.js +1 -371
  100. package/dist/src/discover/lib.js +1 -34
  101. package/dist/src/discover/manifest.js +1 -136
  102. package/dist/src/discover/markdown.js +1 -17
  103. package/dist/src/discover/named-source-directory.js +1 -188
  104. package/dist/src/discover/project-source.js +1 -152
  105. package/dist/src/discover/project.js +1 -117
  106. package/dist/src/discover/sandbox.js +1 -220
  107. package/dist/src/discover/schedules.js +1 -41
  108. package/dist/src/discover/skills.js +1 -274
  109. package/dist/src/discover/slots.js +1 -68
  110. package/dist/src/evals/cli/eval.js +1 -1
  111. package/dist/src/evals/define-eval-suite.js +1 -1
  112. package/dist/src/evals/index.js +1 -1
  113. package/dist/src/evals/loaders/index.js +1 -1
  114. package/dist/src/evals/loaders/json.js +1 -1
  115. package/dist/src/evals/loaders/yaml.js +1 -1
  116. package/dist/src/evals/reporters/index.js +1 -1
  117. package/dist/src/evals/runner/artifacts.js +3 -3
  118. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  119. package/dist/src/evals/runner/discover.js +1 -1
  120. package/dist/src/evals/runner/execute-case.js +1 -1
  121. package/dist/src/evals/runner/execute-suite.js +1 -1
  122. package/dist/src/evals/runner/reporters/braintrust.js +2 -2
  123. package/dist/src/evals/runner/reporters/console.js +1 -1
  124. package/dist/src/evals/runner/resolve-git-metadata.js +1 -1
  125. package/dist/src/evals/scorers/autoevals-client.js +2 -2
  126. package/dist/src/evals/scorers/autoevals.js +1 -1
  127. package/dist/src/evals/scorers/json.js +1 -1
  128. package/dist/src/evals/scorers/run.js +1 -1
  129. package/dist/src/evals/scorers/sql.js +1 -1
  130. package/dist/src/evals/scorers/text.js +1 -1
  131. package/dist/src/evals/scores/index.js +1 -1
  132. package/dist/src/execution/authorization-challenge-defaults.js +1 -60
  133. package/dist/src/execution/await-authorization-orchestrator.js +1 -192
  134. package/dist/src/execution/await-authorization-splice.js +1 -66
  135. package/dist/src/execution/connection-auth-steps.js +1 -338
  136. package/dist/src/execution/node-step.js +1 -146
  137. package/dist/src/execution/remote-agent-dispatch.js +1 -79
  138. package/dist/src/execution/runtime-context.js +1 -26
  139. package/dist/src/execution/runtime-errors.js +1 -19
  140. package/dist/src/execution/sandbox/bash-tool.js +1 -42
  141. package/dist/src/execution/sandbox/bindings/local.js +1 -296
  142. package/dist/src/execution/sandbox/bindings/vercel.js +1 -363
  143. package/dist/src/execution/sandbox/ensure.js +1 -91
  144. package/dist/src/execution/sandbox/glob-tool.js +3 -146
  145. package/dist/src/execution/sandbox/grep-tool.js +3 -183
  146. package/dist/src/execution/sandbox/lazy-backend.js +1 -33
  147. package/dist/src/execution/sandbox/prewarm.js +1 -132
  148. package/dist/src/execution/sandbox/read-file-tool.js +3 -118
  149. package/dist/src/execution/sandbox/require-sandbox.js +1 -32
  150. package/dist/src/execution/sandbox/ripgrep-probe.js +1 -36
  151. package/dist/src/execution/sandbox/session.js +3 -158
  152. package/dist/src/execution/sandbox/shell-quote.js +1 -14
  153. package/dist/src/execution/sandbox/stream-utils.js +1 -22
  154. package/dist/src/execution/sandbox/truncate-output.js +3 -110
  155. package/dist/src/execution/sandbox/write-file-tool.js +1 -62
  156. package/dist/src/execution/session-callback-step.js +1 -72
  157. package/dist/src/execution/session.js +3 -94
  158. package/dist/src/execution/skills/instructions.js +2 -30
  159. package/dist/src/execution/skills/types.js +1 -1
  160. package/dist/src/execution/subagent-adapter.js +1 -94
  161. package/dist/src/execution/subagent-hitl-proxy.js +1 -81
  162. package/dist/src/execution/subagent-invocation.js +2 -16
  163. package/dist/src/execution/subagent-tool.js +1 -48
  164. package/dist/src/execution/tool-compaction.js +1 -54
  165. package/dist/src/execution/turn-workflow.js +1 -95
  166. package/dist/src/execution/web-fetch/html.js +7 -60
  167. package/dist/src/execution/web-fetch/tool.js +1 -90
  168. package/dist/src/execution/workflow-entry.js +1 -494
  169. package/dist/src/execution/workflow-errors.js +1 -54
  170. package/dist/src/execution/workflow-runtime.js +3 -161
  171. package/dist/src/execution/workflow-steps.js +1 -467
  172. package/dist/src/harness/action-result-helpers.js +1 -82
  173. package/dist/src/harness/attachment-staging.js +1 -303
  174. package/dist/src/harness/compaction.js +4 -221
  175. package/dist/src/harness/emission.js +1 -323
  176. package/dist/src/harness/execute-tool.js +1 -1
  177. package/dist/src/harness/input-extraction.js +1 -62
  178. package/dist/src/harness/input-requests.js +1 -306
  179. package/dist/src/harness/instrumentation-config.js +1 -42
  180. package/dist/src/harness/messages.js +1 -144
  181. package/dist/src/harness/model-call-error.js +1 -368
  182. package/dist/src/harness/otel-integration.js +1 -18
  183. package/dist/src/harness/prompt-cache.js +1 -137
  184. package/dist/src/harness/provider-tools.js +1 -137
  185. package/dist/src/harness/proxy-input-requests.js +1 -91
  186. package/dist/src/harness/runtime-actions.js +1 -321
  187. package/dist/src/harness/step-hooks.js +1 -192
  188. package/dist/src/harness/tool-loop.js +1 -877
  189. package/dist/src/harness/tool-result-pruning.js +1 -124
  190. package/dist/src/harness/tools.js +1 -98
  191. package/dist/src/harness/types.js +1 -1
  192. package/dist/src/index.js +1 -1
  193. package/dist/src/internal/application/cache-metadata.js +1 -42
  194. package/dist/src/internal/application/compiled-artifacts.js +4 -114
  195. package/dist/src/internal/application/import-specifier.js +1 -58
  196. package/dist/src/internal/application/package.js +1 -196
  197. package/dist/src/internal/application/paths.js +1 -117
  198. package/dist/src/internal/application/runtime-compiled-artifacts-source.js +1 -11
  199. package/dist/src/internal/attachments/data.js +1 -127
  200. package/dist/src/internal/attachments/errors.js +1 -26
  201. package/dist/src/internal/attachments/refs.js +1 -94
  202. package/dist/src/internal/attachments/sandbox-refs.js +1 -78
  203. package/dist/src/internal/attachments/url-refs.js +1 -20
  204. package/dist/src/internal/authored-asset-import-plugin.js +1 -141
  205. package/dist/src/internal/authored-definition/channel.js +1 -21
  206. package/dist/src/internal/authored-definition/connection.js +1 -148
  207. package/dist/src/internal/authored-definition/core.js +1 -180
  208. package/dist/src/internal/authored-definition/sandbox.js +1 -47
  209. package/dist/src/internal/authored-definition/schema-backed.js +1 -56
  210. package/dist/src/internal/authored-module-bundle.js +2 -19
  211. package/dist/src/internal/authored-module-loader.js +2 -263
  212. package/dist/src/internal/authored-module-map-loader.js +1 -53
  213. package/dist/src/internal/authored-module.js +1 -81
  214. package/dist/src/internal/authored-package-tsconfig-paths.js +1 -209
  215. package/dist/src/internal/bundler/nitro-rolldown.js +1 -42
  216. package/dist/src/internal/helpers/markdown.js +3 -174
  217. package/dist/src/internal/json-schema.js +1 -13
  218. package/dist/src/internal/logging.js +1 -226
  219. package/dist/src/internal/nitro/host/artifacts-config.js +1 -17
  220. package/dist/src/internal/nitro/host/build-application.js +1 -177
  221. package/dist/src/internal/nitro/host/build-vercel-agent-summary.js +1 -140
  222. package/dist/src/internal/nitro/host/channel-routes.js +2 -126
  223. package/dist/src/internal/nitro/host/compiled-sandbox-backend-prune-plugin.js +2 -28
  224. package/dist/src/internal/nitro/host/configure-nitro-routes.js +4 -272
  225. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -491
  226. package/dist/src/internal/nitro/host/cron-handler-route.js +1 -49
  227. package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -390
  228. package/dist/src/internal/nitro/host/nitro-bundler-config.js +1 -10
  229. package/dist/src/internal/nitro/host/nitro-routing-import-specifier-plugin.js +1 -28
  230. package/dist/src/internal/nitro/host/prepare-application-host.js +1 -32
  231. package/dist/src/internal/nitro/host/schedule-task-routes.js +2 -148
  232. package/dist/src/internal/nitro/host/server-external-packages.js +1 -107
  233. package/dist/src/internal/nitro/host/start-development-server.js +1 -223
  234. package/dist/src/internal/nitro/host/types.js +1 -1
  235. package/dist/src/internal/nitro/host/vercel-build-output-config.js +1 -14
  236. package/dist/src/internal/nitro/host/vercel-build-prewarm.js +1 -30
  237. package/dist/src/internal/nitro/host.js +1 -2
  238. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +2 -180
  239. package/dist/src/internal/nitro/routes/agent-info/load-agent-info-data.js +1 -46
  240. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -74
  241. package/dist/src/internal/nitro/routes/health.js +1 -17
  242. package/dist/src/internal/nitro/routes/index.js +2 -89
  243. package/dist/src/internal/nitro/routes/info.js +1 -50
  244. package/dist/src/internal/nitro/routes/runtime-artifacts.js +1 -24
  245. package/dist/src/internal/nitro/routes/runtime-stack.js +1 -23
  246. package/dist/src/internal/nitro/routes/schedule-task.js +1 -57
  247. package/dist/src/internal/nitro/routes/workflow-data.js +1 -141
  248. package/dist/src/internal/nitro/routes/workflow-route-helpers.js +1 -137
  249. package/dist/src/internal/nitro/routes/workflow-run-events.js +1 -41
  250. package/dist/src/internal/nitro/routes/workflow-run-steps.js +1 -41
  251. package/dist/src/internal/nitro/routes/workflow-run.js +1 -34
  252. package/dist/src/internal/nitro/routes/workflow-runs.js +1 -28
  253. package/dist/src/internal/node-esm-compat-banner.js +2 -65
  254. package/dist/src/internal/package-name.js +1 -8
  255. package/dist/src/internal/process/pnpm.js +1 -50
  256. package/dist/src/internal/runtime-model.js +1 -24
  257. package/dist/src/internal/runtime-registry.js +1 -93
  258. package/dist/src/internal/vercel-agent-summary.js +1 -72
  259. package/dist/src/internal/workflow/builtins.js +1 -18
  260. package/dist/src/internal/workflow/index.js +1 -9
  261. package/dist/src/internal/workflow-bundle/ash-service-route-output.js +3 -93
  262. package/dist/src/internal/workflow-bundle/builder-support.js +5 -372
  263. package/dist/src/internal/workflow-bundle/builder.js +5 -472
  264. package/dist/src/internal/workflow-bundle/nitro-step-entry.js +2 -132
  265. package/dist/src/internal/workflow-bundle/vercel-workflow-output.js +3 -494
  266. package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -292
  267. package/dist/src/internal/workflow-bundle/workflow-core-shim.js +1 -84
  268. package/dist/src/internal/workflow-bundle/workflow-transformer.js +5 -318
  269. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/ajv.js +1 -0
  270. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js +1 -0
  271. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js +2 -0
  272. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js +1 -0
  273. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js +1 -0
  274. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/index.js +1 -0
  275. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js +1 -0
  276. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js +1 -0
  277. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js +1 -0
  278. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js +1 -0
  279. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js +1 -0
  280. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js +1 -0
  281. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js +1 -0
  282. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js +4 -0
  283. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js +1 -0
  284. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js +1 -0
  285. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js +1 -0
  286. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js +1 -0
  287. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/core.js +1 -0
  288. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/data.js +1 -0
  289. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-draft-07.js +1 -0
  290. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js +1 -0
  291. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js +1 -0
  292. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js +1 -0
  293. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/validation_error.js +1 -0
  294. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +1 -0
  295. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +1 -0
  296. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +1 -0
  297. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +1 -0
  298. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +1 -0
  299. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +4 -0
  300. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js +1 -0
  301. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -0
  302. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js +1 -0
  303. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +1 -0
  304. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js +1 -0
  305. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +1 -0
  306. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +1 -0
  307. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +1 -0
  308. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +1 -0
  309. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +1 -0
  310. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +1 -0
  311. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js +1 -0
  312. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/id.js +1 -0
  313. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js +1 -0
  314. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js +1 -0
  315. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -0
  316. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/types.js +1 -0
  317. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft7.js +1 -0
  318. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js +1 -0
  319. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/index.js +1 -0
  320. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/metadata.js +1 -0
  321. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js +1 -0
  322. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js +1 -0
  323. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js +1 -0
  324. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +1 -0
  325. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +1 -0
  326. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +1 -0
  327. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +1 -0
  328. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +1 -0
  329. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +1 -0
  330. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js +1 -0
  331. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +1 -0
  332. package/dist/src/node_modules/.pnpm/autoevals@0.0.132_ws@8.21.0/node_modules/autoevals/jsdist/index.js +384 -0
  333. package/dist/src/node_modules/.pnpm/compute-cosine-similarity@1.1.0/node_modules/compute-cosine-similarity/lib/index.js +1 -0
  334. package/dist/src/node_modules/.pnpm/compute-dot@1.1.0/node_modules/compute-dot/lib/index.js +1 -0
  335. package/dist/src/node_modules/.pnpm/compute-l2norm@1.1.0/node_modules/compute-l2norm/lib/index.js +1 -0
  336. package/dist/src/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +1 -0
  337. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/index.js +1 -0
  338. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/schemes.js +1 -0
  339. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/utils.js +1 -0
  340. package/dist/src/node_modules/.pnpm/js-levenshtein@1.1.6/node_modules/js-levenshtein/index.js +1 -0
  341. package/dist/src/node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.js +32 -0
  342. package/dist/src/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +1 -0
  343. package/dist/src/node_modules/.pnpm/mustache@4.2.0/node_modules/mustache/mustache.js +4 -0
  344. 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
  345. 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
  346. 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
  347. 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
  348. 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
  349. 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
  350. 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
  351. 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
  352. 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
  353. 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
  354. 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
  355. 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
  356. 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
  357. 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
  358. 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
  359. 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
  360. 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
  361. 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
  362. 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
  363. 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
  364. 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
  365. 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
  366. 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
  367. 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
  368. 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
  369. 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
  370. 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
  371. 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
  372. 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
  373. 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
  374. 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
  375. 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
  376. 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
  377. 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
  378. 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
  379. 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
  380. 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
  381. 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
  382. 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
  383. 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
  384. 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
  385. 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
  386. 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
  387. 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
  388. 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
  389. 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
  390. 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
  391. 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
  392. 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
  393. 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
  394. 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
  395. 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
  396. 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
  397. 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
  398. 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
  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/invites.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/organization.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/projects/api-keys.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/projects/certificates.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/projects/data-retention.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/projects/groups/groups.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/projects/groups/roles.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/projects/hosted-tool-permissions.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/projects/model-permissions.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/projects.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/rate-limits.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/roles.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/service-accounts.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/spend-alerts.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/users/roles.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/users/users.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/roles.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/spend-alerts.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/usage.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/users/roles.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/users/users.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/audio/audio.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/audio/speech.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/audio/transcriptions.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/audio/translations.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/batches.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/beta/assistants.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/beta/beta.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/beta/chatkit/chatkit.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/beta/chatkit/sessions.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/beta/chatkit/threads.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/beta/realtime/realtime.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/beta/realtime/sessions.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/realtime/transcription-sessions.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/threads/messages.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/threads/runs/runs.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/threads/runs/steps.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/threads/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/chat/chat.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/chat/completions/completions.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/chat/completions/index.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/chat/completions/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/chat/index.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/completions.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/containers/containers.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/containers/files/content.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/containers/files/files.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/conversations/conversations.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/conversations/items.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/embeddings.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/evals/evals.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/evals/runs/output-items.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/evals/runs/runs.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/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/fine-tuning/alpha/alpha.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/fine-tuning/alpha/graders.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/fine-tuning/checkpoints/checkpoints.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/fine-tuning/checkpoints/permissions.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/fine-tuning/fine-tuning.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/fine-tuning/jobs/checkpoints.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/fine-tuning/jobs/jobs.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/methods.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/graders/grader-models.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/graders/graders.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/images.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/index.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/models.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/moderations.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/realtime/calls.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/realtime/client-secrets.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/realtime/realtime.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/responses/input-items.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/responses/input-tokens.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/responses/responses.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/shared.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/skills/content.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/skills/skills.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/skills/versions/content.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/skills/versions/versions.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/uploads/parts.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/uploads/uploads.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/vector-stores/file-batches.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/vector-stores/files.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/vector-stores/vector-stores.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/videos.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/webhooks/index.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/webhooks/webhooks.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/webhooks.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/streaming.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/version.js +1 -0
  489. package/dist/src/node_modules/.pnpm/validate.io-array@1.0.6/node_modules/validate.io-array/lib/index.js +1 -0
  490. package/dist/src/node_modules/.pnpm/validate.io-function@1.0.2/node_modules/validate.io-function/lib/index.js +1 -0
  491. 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
  492. 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
  493. 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
  494. 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
  495. 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
  496. 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
  497. 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
  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/parsers/any.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/parsers/array.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/parsers/bigint.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/parsers/boolean.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/parsers/branded.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/parsers/catch.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/parsers/date.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/default.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/effects.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/enum.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/intersection.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/literal.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/map.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/nativeEnum.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/never.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/null.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/nullable.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/number.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/object.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/optional.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/pipeline.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/promise.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/readonly.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/record.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/set.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/string.js +3 -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/tuple.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/undefined.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/union.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/unknown.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/selectParser.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/zodToJsonSchema.js +1 -0
  530. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.js +1 -0
  531. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +1 -0
  532. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +1 -0
  533. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.js +1 -0
  534. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +1 -0
  535. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +1 -0
  536. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  537. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +1 -0
  538. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.js +1 -0
  539. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +1 -0
  540. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +1 -0
  541. package/dist/src/packages/ash-scaffold/src/channels.js +7 -0
  542. package/dist/src/packages/ash-scaffold/src/files.js +1 -0
  543. package/dist/src/packages/ash-scaffold/src/index.js +1 -0
  544. package/dist/src/packages/ash-scaffold/src/module-files.js +1 -0
  545. package/dist/src/packages/ash-scaffold/src/package-json.js +1 -0
  546. package/dist/src/packages/ash-scaffold/src/project.js +1 -0
  547. package/dist/src/protocol/message.js +2 -501
  548. package/dist/src/protocol/routes.js +1 -85
  549. package/dist/src/public/agents/auth.js +1 -37
  550. package/dist/src/public/channels/ash.js +2 -346
  551. package/dist/src/public/channels/auth.js +1 -414
  552. package/dist/src/public/channels/discord/api.js +2 -167
  553. package/dist/src/public/channels/discord/defaults.js +3 -74
  554. package/dist/src/public/channels/discord/discordChannel.js +1 -402
  555. package/dist/src/public/channels/discord/hitl.js +1 -194
  556. package/dist/src/public/channels/discord/inbound.js +2 -238
  557. package/dist/src/public/channels/discord/index.js +1 -6
  558. package/dist/src/public/channels/discord/responses.js +1 -40
  559. package/dist/src/public/channels/discord/verify.js +1 -72
  560. package/dist/src/public/channels/discord/verifyInbound.js +1 -19
  561. package/dist/src/public/channels/index.js +1 -1
  562. package/dist/src/public/channels/slack/api-encoding.js +1 -40
  563. package/dist/src/public/channels/slack/api.js +1 -333
  564. package/dist/src/public/channels/slack/attachments.js +1 -156
  565. package/dist/src/public/channels/slack/blocks.js +3 -266
  566. package/dist/src/public/channels/slack/connections.js +1 -70
  567. package/dist/src/public/channels/slack/constants.js +1 -7
  568. package/dist/src/public/channels/slack/defaults.js +4 -211
  569. package/dist/src/public/channels/slack/hitl.js +1 -242
  570. package/dist/src/public/channels/slack/inbound.js +2 -149
  571. package/dist/src/public/channels/slack/index.js +1 -13
  572. package/dist/src/public/channels/slack/interactions.js +1 -315
  573. package/dist/src/public/channels/slack/limits.js +1 -75
  574. package/dist/src/public/channels/slack/mrkdwn.js +1 -89
  575. package/dist/src/public/channels/slack/slackChannel.js +1 -251
  576. package/dist/src/public/channels/slack/thread.js +1 -45
  577. package/dist/src/public/channels/slack/verify.js +1 -70
  578. package/dist/src/public/channels/twilio/api.js +1 -103
  579. package/dist/src/public/channels/twilio/defaults.js +3 -69
  580. package/dist/src/public/channels/twilio/inbound.js +2 -123
  581. package/dist/src/public/channels/twilio/index.js +1 -4
  582. package/dist/src/public/channels/twilio/twilioChannel.js +1 -316
  583. package/dist/src/public/channels/twilio/twiml.js +1 -58
  584. package/dist/src/public/channels/twilio/verify.js +1 -73
  585. package/dist/src/public/channels/upload-policy.js +1 -170
  586. package/dist/src/public/connections/errors.js +1 -53
  587. package/dist/src/public/connections/index.js +1 -6
  588. package/dist/src/public/context/index.js +1 -13
  589. package/dist/src/public/definitions/agent.js +1 -6
  590. package/dist/src/public/definitions/channel.js +1 -24
  591. package/dist/src/public/definitions/connections/mcp.js +1 -20
  592. package/dist/src/public/definitions/defineChannel.js +1 -74
  593. package/dist/src/public/definitions/hook.js +1 -11
  594. package/dist/src/public/definitions/instructions.js +1 -7
  595. package/dist/src/public/definitions/instrumentation.js +1 -13
  596. package/dist/src/public/definitions/remote-agent.js +1 -11
  597. package/dist/src/public/definitions/sandbox-backend.js +1 -13
  598. package/dist/src/public/definitions/sandbox.js +1 -6
  599. package/dist/src/public/definitions/schedule.js +1 -32
  600. package/dist/src/public/definitions/skill.js +1 -7
  601. package/dist/src/public/definitions/source.js +1 -1
  602. package/dist/src/public/definitions/state.js +1 -34
  603. package/dist/src/public/definitions/tool.js +1 -27
  604. package/dist/src/public/hooks/index.js +1 -9
  605. package/dist/src/public/index.js +1 -5
  606. package/dist/src/public/instructions/index.js +1 -4
  607. package/dist/src/public/instrumentation/index.js +1 -4
  608. package/dist/src/public/next/index.js +1 -148
  609. package/dist/src/public/next/server.js +1 -348
  610. package/dist/src/public/next/vercel-json.js +1 -77
  611. package/dist/src/public/sandbox/backends/default.js +1 -15
  612. package/dist/src/public/sandbox/backends/local.js +1 -18
  613. package/dist/src/public/sandbox/backends/vercel.js +1 -25
  614. package/dist/src/public/sandbox/index.js +1 -10
  615. package/dist/src/public/sandbox/local-sandbox.js +1 -1
  616. package/dist/src/public/sandbox/vercel-sandbox.js +1 -1
  617. package/dist/src/public/schedules/index.js +1 -4
  618. package/dist/src/public/skills/index.js +1 -5
  619. package/dist/src/public/tool-result-narrowing.js +1 -87
  620. package/dist/src/public/tools/approval/approval-helpers.js +1 -22
  621. package/dist/src/public/tools/approval/index.js +1 -4
  622. package/dist/src/public/tools/defaults.js +1 -70
  623. package/dist/src/public/tools/define-bash-tool.js +1 -14
  624. package/dist/src/public/tools/define-glob-tool.js +1 -21
  625. package/dist/src/public/tools/define-grep-tool.js +1 -21
  626. package/dist/src/public/tools/define-read-file-tool.js +1 -27
  627. package/dist/src/public/tools/define-write-file-tool.js +1 -21
  628. package/dist/src/public/tools/index.js +1 -10
  629. package/dist/src/public/tools/internal.js +1 -24
  630. package/dist/src/public/types/json.js +1 -13
  631. package/dist/src/react/index.js +1 -3
  632. package/dist/src/react/use-ash-agent.js +2 -348
  633. package/dist/src/runtime/actions/keys.js +1 -30
  634. package/dist/src/runtime/actions/types.js +1 -99
  635. package/dist/src/runtime/agent/bootstrap-model-utils.js +1 -148
  636. package/dist/src/runtime/agent/bootstrap-model.js +1 -36
  637. package/dist/src/runtime/agent/bootstrap.js +1 -49
  638. package/dist/src/runtime/agent/mock-model-adapter.js +7 -358
  639. package/dist/src/runtime/agent/resolve-model.js +1 -48
  640. package/dist/src/runtime/cache-key.js +1 -52
  641. package/dist/src/runtime/channels/registry.js +1 -133
  642. package/dist/src/runtime/compiled-artifacts-source.js +1 -42
  643. package/dist/src/runtime/connections/authorization-complete-page.js +2 -21
  644. package/dist/src/runtime/connections/authorization-tokens.js +1 -66
  645. package/dist/src/runtime/connections/callback-route.js +1 -139
  646. package/dist/src/runtime/connections/mcp-client.js +1 -307
  647. package/dist/src/runtime/connections/principal-context.js +1 -111
  648. package/dist/src/runtime/connections/principal.js +1 -106
  649. package/dist/src/runtime/connections/registry.js +1 -61
  650. package/dist/src/runtime/connections/types.js +1 -41
  651. package/dist/src/runtime/connections/validate-authorization.js +1 -92
  652. package/dist/src/runtime/framework-channels/index.js +1 -38
  653. package/dist/src/runtime/framework-tools/ask-question.js +1 -30
  654. package/dist/src/runtime/framework-tools/bash.js +1 -40
  655. package/dist/src/runtime/framework-tools/connection-search.js +1 -224
  656. package/dist/src/runtime/framework-tools/connection-tools.js +1 -103
  657. package/dist/src/runtime/framework-tools/file-state.js +1 -71
  658. package/dist/src/runtime/framework-tools/glob.js +2 -56
  659. package/dist/src/runtime/framework-tools/grep.js +2 -75
  660. package/dist/src/runtime/framework-tools/index.js +1 -52
  661. package/dist/src/runtime/framework-tools/pending-connection-tool-calls.js +1 -63
  662. package/dist/src/runtime/framework-tools/read-file.js +2 -64
  663. package/dist/src/runtime/framework-tools/skill.js +1 -47
  664. package/dist/src/runtime/framework-tools/todo.js +3 -122
  665. package/dist/src/runtime/framework-tools/web-fetch.js +2 -42
  666. package/dist/src/runtime/framework-tools/web-search.js +1 -15
  667. package/dist/src/runtime/framework-tools/write-file.js +2 -48
  668. package/dist/src/runtime/governance/auth/http-basic.js +1 -63
  669. package/dist/src/runtime/governance/auth/jwt-ecdsa.js +1 -69
  670. package/dist/src/runtime/governance/auth/jwt-hmac.js +1 -39
  671. package/dist/src/runtime/governance/auth/oidc.js +1 -126
  672. package/dist/src/runtime/governance/auth/token-claims.js +1 -84
  673. package/dist/src/runtime/governance/auth/types.js +1 -14
  674. package/dist/src/runtime/governance/network/ip-allow-list.js +1 -66
  675. package/dist/src/runtime/graph.js +1 -17
  676. package/dist/src/runtime/hooks/registry.js +1 -55
  677. package/dist/src/runtime/input/types.js +1 -63
  678. package/dist/src/runtime/loaders/artifact-paths.js +1 -26
  679. package/dist/src/runtime/loaders/bundled-artifacts.js +1 -21
  680. package/dist/src/runtime/loaders/compile-metadata.js +1 -92
  681. package/dist/src/runtime/loaders/manifest.js +1 -56
  682. package/dist/src/runtime/loaders/module-map.js +1 -64
  683. package/dist/src/runtime/prompt/compose.js +2 -47
  684. package/dist/src/runtime/prompt/connections.js +2 -23
  685. package/dist/src/runtime/resolve-agent-graph.js +1 -287
  686. package/dist/src/runtime/resolve-agent.js +1 -134
  687. package/dist/src/runtime/resolve-channel.js +1 -62
  688. package/dist/src/runtime/resolve-connection.js +1 -72
  689. package/dist/src/runtime/resolve-helpers.js +1 -58
  690. package/dist/src/runtime/resolve-hook.js +1 -67
  691. package/dist/src/runtime/resolve-sandbox.js +1 -65
  692. package/dist/src/runtime/resolve-tool.js +1 -110
  693. package/dist/src/runtime/sandbox/keys.js +1 -72
  694. package/dist/src/runtime/sandbox/registry.js +1 -42
  695. package/dist/src/runtime/schedules/register.js +1 -62
  696. package/dist/src/runtime/schedules/resolve-schedule.js +1 -66
  697. package/dist/src/runtime/session-callback-route.js +1 -87
  698. package/dist/src/runtime/sessions/auth.js +1 -18
  699. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -125
  700. package/dist/src/runtime/sessions/runtime-session.js +1 -50
  701. package/dist/src/runtime/sessions/turn.js +1 -1
  702. package/dist/src/runtime/skills/fragment-context.js +1 -4
  703. package/dist/src/runtime/skills/sandbox-access.js +1 -85
  704. package/dist/src/runtime/subagents/registry.js +1 -62
  705. package/dist/src/runtime/tools/registry.js +1 -40
  706. package/dist/src/runtime/types.js +1 -1
  707. package/dist/src/runtime/validation.js +1 -7
  708. package/dist/src/runtime/workspace/seed-files.js +1 -42
  709. package/dist/src/runtime/workspace/spec.js +2 -22
  710. package/dist/src/runtime/workspace/types.js +1 -9
  711. package/dist/src/sandbox/state.js +1 -1
  712. package/dist/src/services/dev-client/request-headers.js +1 -197
  713. package/dist/src/services/dev-client/stream.js +1 -7
  714. package/dist/src/services/dev-client/url.js +1 -25
  715. package/dist/src/services/dev-client/vercel-auth-error.js +2 -98
  716. package/dist/src/services/dev-client.js +1 -48
  717. package/dist/src/services/inspect-application.js +1 -45
  718. package/dist/src/shared/agent-definition.js +1 -1
  719. package/dist/src/shared/errors.js +1 -66
  720. package/dist/src/shared/guards.js +1 -35
  721. package/dist/src/shared/json-schemas.js +1 -41
  722. package/dist/src/shared/json.js +1 -80
  723. package/dist/src/shared/node.js +1 -1
  724. package/dist/src/shared/optional.js +1 -1
  725. package/dist/src/shared/run-mode.js +1 -1
  726. package/dist/src/shared/sandbox-backend.js +1 -1
  727. package/dist/src/shared/sandbox-definition.js +1 -1
  728. package/dist/src/shared/sandbox-session.js +1 -1
  729. package/dist/src/shared/skill-definition.js +1 -1
  730. package/dist/src/shared/skill-package.js +1 -100
  731. package/dist/src/shared/source-ref.js +1 -1
  732. package/dist/src/shared/tool-definition.js +1 -1
  733. package/package.json +4 -4
  734. package/dist/src/chunks/authored-module-loader-DcCfCiBm.js +0 -4
  735. package/dist/src/chunks/chunk-DSjMdhoD.js +0 -1
  736. package/dist/src/chunks/client-ZqNLLMZB.js +0 -4
  737. package/dist/src/chunks/compile-agent-DrIyb818.js +0 -5
  738. package/dist/src/chunks/dev-authored-source-watcher-C1WUVv9F.js +0 -1
  739. package/dist/src/chunks/errors-HYWjHxV6.js +0 -1
  740. package/dist/src/chunks/guards-26p6sOw3.js +0 -1
  741. package/dist/src/chunks/host-CwAcCrg7.js +0 -70
  742. package/dist/src/chunks/input-requests-DJiy6dG9.js +0 -1
  743. package/dist/src/chunks/jsdist-BkeWZ7EZ.js +0 -443
  744. package/dist/src/chunks/paths-CWZN-XRX.js +0 -85
  745. package/dist/src/chunks/picocolors-aAkqW4On.js +0 -1
  746. package/dist/src/chunks/runtime-model-Dh0Nz64z.js +0 -1
  747. package/dist/src/chunks/token-YW4VSeBB.js +0 -1
  748. package/dist/src/chunks/types-BJSR0JNV.js +0 -1
@@ -1 +1 @@
1
- import{isAbsolute as e,resolve as t}from"node:path";import{readFile as n}from"node:fs/promises";async function r(r){let i=await n(e(r)?r:t(process.cwd(),r),`utf-8`);return JSON.parse(i)}export{r as loadJson};
1
+ import{isAbsolute,resolve}from"node:path";import{readFile}from"node:fs/promises";async function loadJson(e){let t=await readFile(isAbsolute(e)?e:resolve(process.cwd(),e),`utf-8`);return JSON.parse(t)}export{loadJson};
@@ -1 +1 @@
1
- import{i as e}from"../../chunks/chunk-DSjMdhoD.js";import{t}from"../../chunks/gray-matter-D-9jHwOT.js";import{isAbsolute as n,resolve as r}from"node:path";import{readFile as i}from"node:fs/promises";var a=e(t(),1);async function o(e){let t=await i(n(e)?e:r(process.cwd(),e),`utf-8`);return(0,a.default)(t.trimStart().startsWith(`---`)?t:`---\n${t}\n---`).data??{}}export{o as loadYaml};
1
+ import{isAbsolute,resolve}from"node:path";import{readFile}from"node:fs/promises";import matter from"#compiled/gray-matter/index.js";async function loadYaml(e){let t=await readFile(isAbsolute(e)?e:resolve(process.cwd(),e),`utf-8`);return matter(t.trimStart().startsWith(`---`)?t:`---\n${t}\n---`).data??{}}export{loadYaml};
@@ -1 +1 @@
1
- import{Braintrust as e}from"../runner/reporters/braintrust.js";export{e as Braintrust};
1
+ import{Braintrust}from"#evals/runner/reporters/braintrust.js";export{Braintrust};
@@ -1,3 +1,3 @@
1
- import{join as e}from"node:path";import{mkdir as t,writeFile as n}from"node:fs/promises";function r(t,n){return e(t,`.ash`,`evals`,`${new Date().toISOString().replace(/[:.]/g,`-`).slice(0,19)}-${n}`)}async function i(r,i){let l=e(r,`cases`);await t(l,{recursive:!0}),await n(e(r,`summary.json`),JSON.stringify(a(i),null,2));let u=i.cases.map(e=>JSON.stringify(o(e))).join(`
2
- `);await n(e(r,`results.jsonl`),`${u}\n`),await Promise.all(i.cases.map(async t=>{let r=c(t.case.id);await n(e(l,`${r}.json`),JSON.stringify(s(t),null,2));let i=t.result.events.map(e=>JSON.stringify(e)).join(`
3
- `);await n(e(l,`${r}.events.ndjson`),`${i}\n`)}))}function a(e){return{suite:e.suite,target:e.target,startedAt:e.startedAt,completedAt:e.completedAt,passed:e.passed,errored:e.errored,totalCases:e.cases.length,cases:e.cases.map(e=>({id:e.case.id,status:e.result.status,scores:e.scores.map(e=>({name:e.name,score:e.score})),error:e.error}))}}function o(e){return{caseId:e.case.id,status:e.result.status,output:e.result.output,scores:e.scores.map(e=>({name:e.name,score:e.score})),error:e.error}}function s(e){return{case:{id:e.case.id,input:e.case.input,expected:e.case.expected,tags:e.case.tags,metadata:e.case.metadata},result:{output:e.result.output,finalMessage:e.result.finalMessage,sessionId:e.result.sessionId,status:e.result.status,derived:e.result.derived},scores:e.scores,error:e.error}}function c(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`)}export{r as resolveArtifactDirectory,i as writeArtifacts};
1
+ import{join}from"node:path";import{mkdir,writeFile}from"node:fs/promises";function resolveArtifactDirectory(t,n){return join(t,`.ash`,`evals`,`${new Date().toISOString().replace(/[:.]/g,`-`).slice(0,19)}-${n}`)}async function writeArtifacts(r,i){let a=join(r,`cases`);await mkdir(a,{recursive:!0}),await writeFile(join(r,`summary.json`),JSON.stringify(buildSummaryArtifact(i),null,2));let o=i.cases.map(e=>JSON.stringify(buildCaseResultLine(e))).join(`
2
+ `);await writeFile(join(r,`results.jsonl`),`${o}\n`),await Promise.all(i.cases.map(async t=>{let r=sanitizeFileName(t.case.id);await writeFile(join(a,`${r}.json`),JSON.stringify(buildCaseArtifact(t),null,2));let i=t.result.events.map(e=>JSON.stringify(e)).join(`
3
+ `);await writeFile(join(a,`${r}.events.ndjson`),`${i}\n`)}))}function buildSummaryArtifact(e){return{suite:e.suite,target:e.target,startedAt:e.startedAt,completedAt:e.completedAt,passed:e.passed,errored:e.errored,totalCases:e.cases.length,cases:e.cases.map(e=>({id:e.case.id,status:e.result.status,scores:e.scores.map(e=>({name:e.name,score:e.score})),error:e.error}))}}function buildCaseResultLine(e){return{caseId:e.case.id,status:e.result.status,output:e.result.output,scores:e.scores.map(e=>({name:e.name,score:e.score})),error:e.error}}function buildCaseArtifact(e){return{case:{id:e.case.id,input:e.case.input,expected:e.case.expected,tags:e.case.tags,metadata:e.case.metadata},result:{output:e.result.output,finalMessage:e.result.finalMessage,sessionId:e.result.sessionId,status:e.result.status,derived:e.result.derived},scores:e.scores,error:e.error}}function sanitizeFileName(e){return e.replace(/[^a-zA-Z0-9_-]/g,`_`)}export{resolveArtifactDirectory,writeArtifacts};
@@ -1 +1 @@
1
- function e(e){let n=[],r=[],i=0,a=0,o;for(let t of e)switch(t.type){case`actions.requested`:for(let e of t.data.actions)`toolName`in e&&typeof e.toolName==`string`&&n.push(e.toolName);break;case`subagent.called`:r.push(t.data.name);break;case`subagent.started`:r.push(t.data.subagentName);break;case`message.completed`:t.data.finishReason!==`tool-calls`&&(i+=1);break;case`reasoning.completed`:a+=1;break;case`session.failed`:o=t.data.code;break}return{toolCalls:n,toolCallCount:n.length,subagentCalls:t(r),subagentCallCount:r.length,messageCount:i,reasoningBlockCount:a,failureCode:o}}function t(e){return[...new Set(e)]}export{e as deriveRunFacts};
1
+ function deriveRunFacts(e){let t=[],n=[],r=0,i=0,a;for(let o of e)switch(o.type){case`actions.requested`:for(let e of o.data.actions)`toolName`in e&&typeof e.toolName==`string`&&t.push(e.toolName);break;case`subagent.called`:n.push(o.data.name);break;case`subagent.started`:n.push(o.data.subagentName);break;case`message.completed`:o.data.finishReason!==`tool-calls`&&(r+=1);break;case`reasoning.completed`:i+=1;break;case`session.failed`:a=o.data.code;break}return{toolCalls:t,toolCallCount:t.length,subagentCalls:deduplicateStrings(n),subagentCallCount:n.length,messageCount:r,reasoningBlockCount:i,failureCode:a}}function deduplicateStrings(e){return[...new Set(e)]}export{deriveRunFacts};
@@ -1 +1 @@
1
- import{t as e}from"../../chunks/authored-module-loader-DcCfCiBm.js";import{join as t,relative as n}from"node:path";import{readdir as r}from"node:fs/promises";const i=`.eval.ts`;async function a(e){let r=t(e,`evals`),i=[];try{await u(r,i)}catch(e){if(d(e))return[];throw e}return i.sort((e,t)=>n(r,e).localeCompare(n(r,t))),i}function o(e,r){let a=n(t(e,`evals`),r).split(/[\\/]/u).join(`/`);return a.endsWith(i)?a.slice(0,-8):a}async function s(t,n){let r=(await e(n)).default;if(!l(r))throw Error(`Suite file "${n}" does not export a valid AshEvalSuite as its default export. Use defineEvalSuite() to create the suite.`);return{...r,id:o(t,n)}}async function c(e,t){let n=await a(e);if(n.length===0)return[];let r=[];for(let i of n){let n=await s(e,i);(t===void 0||t.length===0||t.includes(n.id))&&r.push(n)}return r}function l(e){return typeof e==`object`&&!!e&&`_tag`in e&&e._tag===`AshEvalSuite`}async function u(e,n){let a=await r(e,{withFileTypes:!0});for(let r of a){let a=t(e,r.name);r.isDirectory()?await u(a,n):r.isFile()&&r.name.endsWith(i)&&n.push(a)}}function d(e){return typeof e==`object`&&!!e&&`code`in e&&e.code===`ENOENT`}export{c as discoverAndImportSuites,a as discoverSuiteFiles,s as importSuiteFile};
1
+ import{join,relative}from"node:path";import{readdir}from"node:fs/promises";import{loadAuthoredModuleNamespace}from"#internal/authored-module-loader.js";var EVAL_SUITE_GLOB_SUFFIX=`.eval.ts`;async function discoverSuiteFiles(n){let r=join(n,`evals`),i=[];try{await collectSuiteFiles(r,i)}catch(e){if(isNoEntryError(e))return[];throw e}return i.sort((e,n)=>relative(r,e).localeCompare(relative(r,n))),i}function deriveSuiteId(n,r){let a=relative(join(n,`evals`),r).split(/[\\/]/u).join(`/`);return a.endsWith(EVAL_SUITE_GLOB_SUFFIX)?a.slice(0,-EVAL_SUITE_GLOB_SUFFIX.length):a}async function importSuiteFile(e,t){let n=(await loadAuthoredModuleNamespace(t)).default;if(!isAshEvalSuiteDefinition(n))throw Error(`Suite file "${t}" does not export a valid AshEvalSuite as its default export. Use defineEvalSuite() to create the suite.`);return{...n,id:deriveSuiteId(e,t)}}async function discoverAndImportSuites(e,t){let n=await discoverSuiteFiles(e);if(n.length===0)return[];let r=[];for(let i of n){let n=await importSuiteFile(e,i);(t===void 0||t.length===0||t.includes(n.id))&&r.push(n)}return r}function isAshEvalSuiteDefinition(e){return typeof e==`object`&&!!e&&`_tag`in e&&e._tag===`AshEvalSuite`}async function collectSuiteFiles(t,r){let a=await readdir(t,{withFileTypes:!0});for(let n of a){let a=join(t,n.name);n.isDirectory()?await collectSuiteFiles(a,r):n.isFile()&&n.name.endsWith(EVAL_SUITE_GLOB_SUFFIX)&&r.push(a)}}function isNoEntryError(e){return typeof e==`object`&&!!e&&`code`in e&&e.code===`ENOENT`}export{discoverAndImportSuites,discoverSuiteFiles,importSuiteFile};
@@ -1 +1 @@
1
- import{deriveRunFacts as e}from"./derive-run-facts.js";async function t(t){let{client:a,testCase:o,task:s,timeoutMs:c}=t,l=a.session(),u=n(o,s),d=c===void 0?void 0:AbortSignal.timeout(c),f=[],p;for(let e of u)p=await(await l.sendMessage(e,{signal:d})).result(),f.push(...p.events);if(!p)return i();let m=p.message??null,h=e(f),g=r(f),_={output:m,finalMessage:m,sessionId:p.sessionId,status:p.status,events:f,derived:h,runtimeIdentity:g};return s?.parseOutput!==void 0&&(_.output=s.parseOutput(_)),_}function n(e,t){return t?.messages===void 0?t?.prompt===void 0?[typeof e.input==`string`?e.input:JSON.stringify(e.input)]:[t.prompt(e)]:t.messages(e)}function r(e){for(let t of e)if(t.type===`session.started`&&t.data.runtime!==void 0)return t.data.runtime}function i(){return{output:null,finalMessage:null,status:`failed`,events:[],derived:{toolCalls:[],toolCallCount:0,subagentCalls:[],subagentCallCount:0,messageCount:0,reasoningBlockCount:0}}}export{t as executeCase};
1
+ import{deriveRunFacts}from"#evals/runner/derive-run-facts.js";async function executeCase(t){let{client:n,testCase:r,task:i,timeoutMs:a}=t,o=n.session(),s=resolveMessages(r,i),c=a===void 0?void 0:AbortSignal.timeout(a),l=[],u;for(let e of s)u=await(await o.sendMessage(e,{signal:c})).result(),l.push(...u.events);if(!u)return createEmptyResult();let d=u.message??null,f=deriveRunFacts(l),p=extractRuntimeIdentity(l),m={output:d,finalMessage:d,sessionId:u.sessionId,status:u.status,events:l,derived:f,runtimeIdentity:p};return i?.parseOutput!==void 0&&(m.output=i.parseOutput(m)),m}function resolveMessages(e,t){return t?.messages===void 0?t?.prompt===void 0?[typeof e.input==`string`?e.input:JSON.stringify(e.input)]:[t.prompt(e)]:t.messages(e)}function extractRuntimeIdentity(e){for(let t of e)if(t.type===`session.started`&&t.data.runtime!==void 0)return t.data.runtime}function createEmptyResult(){return{output:null,finalMessage:null,status:`failed`,events:[],derived:{toolCalls:[],toolCallCount:0,subagentCalls:[],subagentCallCount:0,messageCount:0,reasoningBlockCount:0}}}export{executeCase};
@@ -1 +1 @@
1
- import{t as e}from"../../chunks/errors-HYWjHxV6.js";import{resolveArtifactDirectory as t,writeArtifacts as n}from"./artifacts.js";import{executeCase as r}from"./execute-case.js";async function i(e){let{suite:r,target:i,reporters:o,appRoot:c,client:l}=e,u=new Date().toISOString();for(let e of o)await e.onSuiteStart(r,i);let d=await r.load(),f=r.maxConcurrency??8,p=[],m=[...d],h=new Set;for(;m.length>0||h.size>0;){for(;m.length>0&&h.size<f;){let e=m.shift();if(e===void 0)break;let t=(async()=>{let t=await a(r,e,l);p.push(t);for(let e of o)await e.onCaseComplete(t)})().finally(()=>{h.delete(t)});h.add(t)}h.size>0&&await Promise.race(h)}let g=new Date().toISOString(),_={suite:r.id,target:i,cases:p,startedAt:u,completedAt:g,passed:p.filter(e=>!e.error&&e.scores.every(e=>s(e,r.thresholds))).length,errored:p.filter(e=>e.error!==void 0).length};await n(t(c,r.id),_);for(let e of o)await e.onSuiteComplete(_);return _}async function a(t,n,i){let a,s;try{a=await r({client:i,testCase:n,task:t.task,timeoutMs:t.timeoutMs})}catch(t){s=e(t),a={output:null,finalMessage:null,status:`failed`,events:[],derived:{toolCalls:[],toolCallCount:0,subagentCalls:[],subagentCallCount:0,messageCount:0,reasoningBlockCount:0}}}let c=await o(t,n,a);return{case:n,result:a,scores:c,error:s}}async function o(e,t,n){let r={input:typeof t.input==`string`?t.input:JSON.stringify(t.input),output:String(n.output??``),expected:t.expected===void 0?void 0:String(t.expected),model:e.model,modelOptions:e.modelOptions,case:t,result:n},i=[];for(let t of e.scores){let e=await t(r);e!==null&&i.push(e)}return i}function s(e,t){if(e.score===null)return!0;let n=t?.[e.name]??1;return e.score>=n}export{i as executeSuite};
1
+ import{toErrorMessage}from"#shared/errors.js";import{resolveArtifactDirectory,writeArtifacts}from"#evals/runner/artifacts.js";import{executeCase}from"#evals/runner/execute-case.js";var DEFAULT_MAX_CONCURRENCY=8;async function executeSuite(e){let{suite:r,target:a,reporters:o,appRoot:s,client:c}=e,l=new Date().toISOString();for(let e of o)await e.onSuiteStart(r,a);let u=await r.load(),d=r.maxConcurrency??DEFAULT_MAX_CONCURRENCY,f=[],p=[...u],m=new Set;for(;p.length>0||m.size>0;){for(;p.length>0&&m.size<d;){let e=p.shift();if(e===void 0)break;let t=(async()=>{let t=await executeSingleCase(r,e,c);f.push(t);for(let e of o)await e.onCaseComplete(t)})().finally(()=>{m.delete(t)});m.add(t)}m.size>0&&await Promise.race(m)}let h=new Date().toISOString(),g={suite:r.id,target:a,cases:f,startedAt:l,completedAt:h,passed:f.filter(e=>!e.error&&e.scores.every(e=>meetsThreshold(e,r.thresholds))).length,errored:f.filter(e=>e.error!==void 0).length};await writeArtifacts(resolveArtifactDirectory(s,r.id),g);for(let e of o)await e.onSuiteComplete(g);return g}async function executeSingleCase(t,n,i){let a,o;try{a=await executeCase({client:i,testCase:n,task:t.task,timeoutMs:t.timeoutMs})}catch(t){o=toErrorMessage(t),a={output:null,finalMessage:null,status:`failed`,events:[],derived:{toolCalls:[],toolCallCount:0,subagentCalls:[],subagentCallCount:0,messageCount:0,reasoningBlockCount:0}}}let s=await runScorers(t,n,a);return{case:n,result:a,scores:s,error:o}}async function runScorers(e,t,n){let r={input:typeof t.input==`string`?t.input:JSON.stringify(t.input),output:String(n.output??``),expected:t.expected===void 0?void 0:String(t.expected),model:e.model,modelOptions:e.modelOptions,case:t,result:n},i=[];for(let t of e.scores){let e=await t(r);e!==null&&i.push(e)}return i}function meetsThreshold(e,t){if(e.score===null)return!0;let n=t?.[e.name]??1;return e.score>=n}export{executeSuite};
@@ -1,2 +1,2 @@
1
- import{resolveLocalGitMetadata as e}from"../resolve-git-metadata.js";function t(e={}){return new n(e)}var n=class{#e;#t;#n;#r;constructor(e){this.#e=e}async onSuiteStart(t,n){let o=await r();this.#t=o;let s=e(process.cwd());this.#r=t.metadata;let c=i(t,n),l=a(t,n);this.#n=await o.init({project:this.#e.projectName??t.id,projectId:this.#e.projectId,experiment:this.#e.experimentName,baseExperiment:this.#e.baseExperimentName,baseExperimentId:this.#e.baseExperimentId,update:this.#e.update,tags:c,metadata:l,noExitFlush:!0,setCurrent:!1,repoInfo:s.sha?{commit:s.sha,branch:s.branch}:null})}onCaseComplete(e){if(!this.#n)return;let t={};for(let n of e.scores)n.score!==null&&(t[n.name]=n.score);let n={...this.#r,...e.case.metadata,ashSessionId:e.result.sessionId,ashStatus:e.result.status,ashToolCalls:e.result.derived.toolCalls,ashSubagentCalls:e.result.derived.subagentCalls};e.result.derived.failureCode&&(n.ashFailureCode=e.result.derived.failureCode);let r={toolCallCount:e.result.derived.toolCallCount,subagentCallCount:e.result.derived.subagentCallCount,messageCount:e.result.derived.messageCount,reasoningBlockCount:e.result.derived.reasoningBlockCount};this.#n.log({id:e.case.id,input:e.case.input,output:e.result.output,expected:e.case.expected,error:e.error??void 0,scores:t,metadata:n,metrics:r,tags:e.case.tags?[...e.case.tags]:void 0})}async onSuiteComplete(e){if(this.#n)try{this.#t&&await this.#t.flush();let e=await this.#n.summarize();e.experimentUrl&&console.log(`Braintrust experiment: ${e.experimentUrl}\n\n`)}finally{await this.#n.close(),this.#n=void 0,this.#t=void 0}}};async function r(){try{return await import(`braintrust`)}catch{throw Error([`The 'braintrust' package is required for Braintrust reporting but was not found.`,``,`Install it with:`,` npm install braintrust`].join(`
2
- `))}}function i(e,t){let n=[`ash`,`suite:${e.id}`,`target:${t.kind}`];return Array.isArray(e.tags)&&n.push(...e.tags),n}function a(e,t){return{ashSuiteId:e.id,ashTargetKind:t.kind,ashTargetUrl:t.url,ashTimestamp:new Date().toISOString()}}export{t as Braintrust};
1
+ import{resolveLocalGitMetadata}from"#evals/runner/resolve-git-metadata.js";function Braintrust(e={}){return new BraintrustReporter(e)}var BraintrustReporter=class{#e;#t;#n;#r;constructor(e){this.#e=e}async onSuiteStart(t,n){let r=await loadBraintrustSdk();this.#t=r;let i=resolveLocalGitMetadata(process.cwd());this.#r=t.metadata;let a=resolveTags(t,n),o=resolveExperimentMetadata(t,n);this.#n=await r.init({project:this.#e.projectName??t.id,projectId:this.#e.projectId,experiment:this.#e.experimentName,baseExperiment:this.#e.baseExperimentName,baseExperimentId:this.#e.baseExperimentId,update:this.#e.update,tags:a,metadata:o,noExitFlush:!0,setCurrent:!1,repoInfo:i.sha?{commit:i.sha,branch:i.branch}:null})}onCaseComplete(e){if(!this.#n)return;let t={};for(let n of e.scores)n.score!==null&&(t[n.name]=n.score);let n={...this.#r,...e.case.metadata,ashSessionId:e.result.sessionId,ashStatus:e.result.status,ashToolCalls:e.result.derived.toolCalls,ashSubagentCalls:e.result.derived.subagentCalls};e.result.derived.failureCode&&(n.ashFailureCode=e.result.derived.failureCode);let r={toolCallCount:e.result.derived.toolCallCount,subagentCallCount:e.result.derived.subagentCallCount,messageCount:e.result.derived.messageCount,reasoningBlockCount:e.result.derived.reasoningBlockCount};this.#n.log({id:e.case.id,input:e.case.input,output:e.result.output,expected:e.case.expected,error:e.error??void 0,scores:t,metadata:n,metrics:r,tags:e.case.tags?[...e.case.tags]:void 0})}async onSuiteComplete(e){if(this.#n)try{this.#t&&await this.#t.flush();let e=await this.#n.summarize();e.experimentUrl&&console.log(`Braintrust experiment: ${e.experimentUrl}\n\n`)}finally{await this.#n.close(),this.#n=void 0,this.#t=void 0}}},BRAINTRUST_PACKAGE=`braintrust`;async function loadBraintrustSdk(){try{return await import(BRAINTRUST_PACKAGE)}catch{throw Error([`The 'braintrust' package is required for Braintrust reporting but was not found.`,``,`Install it with:`,` npm install braintrust`].join(`
2
+ `))}}function resolveTags(e,t){let n=[`ash`,`suite:${e.id}`,`target:${t.kind}`];return Array.isArray(e.tags)&&n.push(...e.tags),n}function resolveExperimentMetadata(e,t){return{ashSuiteId:e.id,ashTargetKind:t.kind,ashTargetUrl:t.url,ashTimestamp:new Date().toISOString()}}export{Braintrust};
@@ -1 +1 @@
1
- import{i as e}from"../../../chunks/chunk-DSjMdhoD.js";import{t}from"../../../chunks/picocolors-aAkqW4On.js";var n=e(t(),1),r=class{#e;#t;#n;constructor(e){this.#e=e?.log??console.log,this.#t=n.default.createColors(e?.color??!!process.stdout.isTTY)}onSuiteStart(e,t){this.#n=e.thresholds,this.#e(``),this.#e(`${this.#t.bold(this.#t.cyan(`EVAL`))} ${this.#t.bold(e.id)}`),this.#e(`${this.#t.dim(`target`)} ${t.kind===`local`?this.#t.green(t.url):this.#t.blue(t.url)}`),this.#e(``)}onCaseComplete(e){let{case:t,scores:n,error:r}=e,i=n.every(e=>{if(e.score===null)return!0;let t=this.#n?.[e.name]??1;return e.score>=t}),a=r?this.#t.red(`✗`):i?this.#t.green(`✓`):this.#t.yellow(`○`),o=n.map(e=>this.#r(e.name,e.score)).join(` `),s=[a,this.#t.dim(t.id),o].filter(Boolean).join(` `);this.#e(s),r&&this.#e(` ${this.#t.red(r)}`)}onSuiteComplete(e){this.#e(``);let{passed:t,errored:n,cases:r}=e,o=r.length,s=[];t>0&&s.push(this.#t.green(`${t} passed`)),n>0&&s.push(this.#t.red(`${n} errored`));let c=o-t-n;c>0&&s.push(this.#t.yellow(`${c} scored`)),this.#e(`${this.#t.bold(`Results:`)} ${s.join(`, `)} ${this.#t.dim(`(${o} total)`)}`);let l=this.#i(r);if(l.length>0){this.#e(``);for(let{name:e,avg:t,count:n}of l){let r=this.#r(e,t);this.#e(` ${r} ${this.#t.dim(`(${n} cases)`)}`)}}let u=i(e.startedAt,e.completedAt);this.#e(``),this.#e(this.#t.dim(`Completed in ${a(u)}`)),this.#e(``)}#r(e,t){if(t===null)return this.#t.dim(`${e}: n/a`);let n=`${e}: ${Math.round(t*100)}%`;return t===1?this.#t.green(n):t===0?this.#t.red(n):this.#t.yellow(n)}#i(e){let t=new Map;for(let n of e)for(let e of n.scores){if(e.score===null)continue;let n=t.get(e.name);n?(n.sum+=e.score,n.count+=1):t.set(e.name,{sum:e.score,count:1})}return[...t.entries()].map(([e,{sum:t,count:n}])=>({name:e,avg:t/n,count:n}))}};function i(e,t){return new Date(t).getTime()-new Date(e).getTime()}function a(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${(e%6e4/1e3).toFixed(0)}s`}export{r as ConsoleReporter};
1
+ import picocolors from"#compiled/picocolors/index.js";var ConsoleReporter=class{#e;#t;#n;constructor(t){this.#e=t?.log??console.log,this.#t=picocolors.createColors(t?.color??!!process.stdout.isTTY)}onSuiteStart(e,t){this.#n=e.thresholds,this.#e(``),this.#e(`${this.#t.bold(this.#t.cyan(`EVAL`))} ${this.#t.bold(e.id)}`),this.#e(`${this.#t.dim(`target`)} ${t.kind===`local`?this.#t.green(t.url):this.#t.blue(t.url)}`),this.#e(``)}onCaseComplete(e){let{case:t,scores:n,error:r}=e,i=n.every(e=>{if(e.score===null)return!0;let t=this.#n?.[e.name]??1;return e.score>=t}),a=r?this.#t.red(`✗`):i?this.#t.green(`✓`):this.#t.yellow(`○`),o=n.map(e=>this.#r(e.name,e.score)).join(` `),s=[a,this.#t.dim(t.id),o].filter(Boolean).join(` `);this.#e(s),r&&this.#e(` ${this.#t.red(r)}`)}onSuiteComplete(e){this.#e(``);let{passed:t,errored:n,cases:r}=e,i=r.length,a=[];t>0&&a.push(this.#t.green(`${t} passed`)),n>0&&a.push(this.#t.red(`${n} errored`));let o=i-t-n;o>0&&a.push(this.#t.yellow(`${o} scored`)),this.#e(`${this.#t.bold(`Results:`)} ${a.join(`, `)} ${this.#t.dim(`(${i} total)`)}`);let s=this.#i(r);if(s.length>0){this.#e(``);for(let{name:e,avg:t,count:n}of s){let r=this.#r(e,t);this.#e(` ${r} ${this.#t.dim(`(${n} cases)`)}`)}}let c=computeDurationMs(e.startedAt,e.completedAt);this.#e(``),this.#e(this.#t.dim(`Completed in ${formatDuration(c)}`)),this.#e(``)}#r(e,t){if(t===null)return this.#t.dim(`${e}: n/a`);let n=`${e}: ${Math.round(t*100)}%`;return t===1?this.#t.green(n):t===0?this.#t.red(n):this.#t.yellow(n)}#i(e){let t=new Map;for(let n of e)for(let e of n.scores){if(e.score===null)continue;let n=t.get(e.name);n?(n.sum+=e.score,n.count+=1):t.set(e.name,{sum:e.score,count:1})}return[...t.entries()].map(([e,{sum:t,count:n}])=>({name:e,avg:t/n,count:n}))}};function computeDurationMs(e,t){return new Date(t).getTime()-new Date(e).getTime()}function formatDuration(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m ${(e%6e4/1e3).toFixed(0)}s`}export{ConsoleReporter};
@@ -1 +1 @@
1
- import{execSync as e}from"node:child_process";function t(e){let t=n(`git rev-parse HEAD`,e);return{branch:n(`git branch --show-current`,e)||void 0,sha:t||void 0}}function n(t,n){try{return e(t,{cwd:n,encoding:`utf8`,stdio:[`pipe`,`pipe`,`pipe`],timeout:5e3}).trim()}catch{return}}export{t as resolveLocalGitMetadata};
1
+ import{execSync}from"node:child_process";function resolveLocalGitMetadata(e){let t=execGitCommand(`git rev-parse HEAD`,e);return{branch:execGitCommand(`git branch --show-current`,e)||void 0,sha:t||void 0}}function execGitCommand(t,n){try{return execSync(t,{cwd:n,encoding:`utf8`,stdio:[`pipe`,`pipe`,`pipe`],timeout:5e3}).trim()}catch{return}}export{resolveLocalGitMetadata};
@@ -1,2 +1,2 @@
1
- import"../../chunks/jsdist-BkeWZ7EZ.js";import{generateText as e,jsonSchema as t}from"ai";function n(e){return{chat:{completions:{create:t=>r(t,e)}}}}async function r(t,n){let r=o(t.tools),a=await e({model:n.languageModel,messages:i(t.messages??[]),tools:Object.keys(r).length>0?r:void 0,toolChoice:s(t.tool_choice),providerOptions:n.providerOptions}),c=a.toolCalls.map(e=>({id:e.toolCallId,type:`function`,function:{name:e.toolName,arguments:JSON.stringify(e.input??{})}}));return{choices:[{index:0,finish_reason:c.length>0?`tool_calls`:`stop`,message:{role:`assistant`,content:a.text||null,tool_calls:c.length>0?c:void 0}}]}}function i(e){return e.map(e=>{let t=a(e.content);switch(e.role){case`assistant`:return{role:`assistant`,content:t};case`developer`:case`system`:return{role:`system`,content:t};default:return{role:`user`,content:t}}})}function a(e){return e==null?``:typeof e==`string`?e:e.map(e=>e.text??``).filter(Boolean).join(`
2
- `)}function o(e){let n={};for(let r of e??[])r.type!==`function`||r.function?.name===void 0||(n[r.function.name]={description:r.function.description,inputSchema:t(r.function.parameters??{})});return n}function s(e){if(e!==void 0)return typeof e==`string`?e:{type:`tool`,toolName:e.function.name}}export{n as createAutoevalsClient};
1
+ import"../../node_modules/.pnpm/autoevals@0.0.132_ws@8.21.0/node_modules/autoevals/jsdist/index.js";import{generateText,jsonSchema}from"ai";function createAutoevalsClient(e){return{chat:{completions:{create:t=>createChatCompletion(t,e)}}}}async function createChatCompletion(t,n){let r=convertTools(t.tools),i=await generateText({model:n.languageModel,messages:convertMessages(t.messages??[]),tools:Object.keys(r).length>0?r:void 0,toolChoice:convertToolChoice(t.tool_choice),providerOptions:n.providerOptions}),a=i.toolCalls.map(e=>({id:e.toolCallId,type:`function`,function:{name:e.toolName,arguments:JSON.stringify(e.input??{})}}));return{choices:[{index:0,finish_reason:a.length>0?`tool_calls`:`stop`,message:{role:`assistant`,content:i.text||null,tool_calls:a.length>0?a:void 0}}]}}function convertMessages(e){return e.map(e=>{let t=contentToText(e.content);switch(e.role){case`assistant`:return{role:`assistant`,content:t};case`developer`:case`system`:return{role:`system`,content:t};default:return{role:`user`,content:t}}})}function contentToText(e){return e==null?``:typeof e==`string`?e:e.map(e=>e.text??``).filter(Boolean).join(`
2
+ `)}function convertTools(e){let n={};for(let r of e??[])r.type!==`function`||r.function?.name===void 0||(n[r.function.name]={description:r.function.description,inputSchema:jsonSchema(r.function.parameters??{})});return n}function convertToolChoice(e){if(e!==void 0)return typeof e==`string`?e:{type:`tool`,toolName:e.function.name}}export{createAutoevalsClient};
@@ -1 +1 @@
1
- import{n as e}from"../../chunks/chunk-DSjMdhoD.js";import{t}from"../../chunks/runtime-model-Dh0Nz64z.js";import{a as n,i as r,n as i,t as a}from"../../chunks/jsdist-BkeWZ7EZ.js";import{createAutoevalsClient as o}from"./autoevals-client.js";import"ai";var s=e({closedQA:()=>d,factuality:()=>c,sql:()=>u,summary:()=>l});function c(e={}){return f(i,e)}function l(e={}){return f(n,e)}function u(e={}){return f(r,e)}function d(e){return async n=>{let r=e.model??n.model;return m(await a({input:n.input,output:n.output,criteria:e.criteria,model:t(r),client:o({languageModel:r,providerOptions:p(n,e.modelOptions)})}))}}function f(e,n){return async r=>{let i=n.model??r.model;return m(await e({input:r.input,output:r.output,expected:r.expected,model:t(i),client:o({languageModel:i,providerOptions:p(r,n.modelOptions)})}))}}function p(e,t){let n=e.modelOptions?.providerOptions,r=t?.providerOptions;if(!(n===void 0&&r===void 0))return{...n,...r}}function m(e){return{name:e.name,score:e.score,metadata:e.metadata}}export{d as closedQA,c as factuality,u as sql,l as summary,s as t};
1
+ import{ClosedQA,Factuality,Sql,Summary}from"../../node_modules/.pnpm/autoevals@0.0.132_ws@8.21.0/node_modules/autoevals/jsdist/index.js";import{formatLanguageModelGatewayId}from"#internal/runtime-model.js";import"ai";import{createAutoevalsClient}from"#evals/scorers/autoevals-client.js";function factuality(e={}){return languageScorer(Factuality,e)}function summary(e={}){return languageScorer(Summary,e)}function sql(e={}){return languageScorer(Sql,e)}function closedQA(t){return async n=>{let r=t.model??n.model;return toScorerResult(await ClosedQA({input:n.input,output:n.output,criteria:t.criteria,model:formatLanguageModelGatewayId(r),client:createAutoevalsClient({languageModel:r,providerOptions:mergeProviderOptions(n,t.modelOptions)})}))}}function languageScorer(e,t){return async n=>{let r=t.model??n.model;return toScorerResult(await e({input:n.input,output:n.output,expected:n.expected,model:formatLanguageModelGatewayId(r),client:createAutoevalsClient({languageModel:r,providerOptions:mergeProviderOptions(n,t.modelOptions)})}))}}function mergeProviderOptions(e,t){let n=e.modelOptions?.providerOptions,r=t?.providerOptions;if(!(n===void 0&&r===void 0))return{...n,...r}}function toScorerResult(e){return{name:e.name,score:e.score,metadata:e.metadata}}export{closedQA,factuality,sql,summary};
@@ -1 +1 @@
1
- import{n as e}from"../../chunks/chunk-DSjMdhoD.js";var t=e({deepEqual:()=>n});function n(){return({case:e,result:t})=>e.expected===void 0?null:{name:`json.deepEqual`,score:+(r(t.output)===r(e.expected))}}function r(e){return JSON.stringify(e,(e,t)=>{if(typeof t==`object`&&t&&!Array.isArray(t)){let e={};for(let n of Object.keys(t).sort())e[n]=t[n];return e}return t})}export{n as deepEqual,t};
1
+ function deepEqual(){return({case:e,result:t})=>e.expected===void 0?null:{name:`json.deepEqual`,score:+(stableStringify(t.output)===stableStringify(e.expected))}}function stableStringify(e){return JSON.stringify(e,(e,t)=>{if(typeof t==`object`&&t&&!Array.isArray(t)){let e={};for(let n of Object.keys(t).sort())e[n]=t[n];return e}return t})}export{deepEqual};
@@ -1 +1 @@
1
- import{n as e}from"../../chunks/chunk-DSjMdhoD.js";var t=e({didNotFail:()=>n,maxToolCalls:()=>a,usedNoTools:()=>i,usedTool:()=>r});function n(){return({result:e})=>({name:`run.didNotFail`,score:e.status===`failed`?0:1})}function r(e){return({result:t})=>{let n=+!!t.derived.toolCalls.includes(e);return{name:`run.usedTool(${e})`,score:n,metadata:{expectedTool:e,actualToolCalls:t.derived.toolCalls}}}}function i(){return({result:e})=>({name:`run.usedNoTools`,score:+(e.derived.toolCallCount===0),metadata:{toolCallCount:e.derived.toolCallCount}})}function a(e){return({result:t})=>{let n=+(t.derived.toolCallCount<=e);return{name:`run.maxToolCalls(${e})`,score:n,metadata:{maxAllowed:e,actualToolCallCount:t.derived.toolCallCount}}}}export{n as didNotFail,a as maxToolCalls,t,i as usedNoTools,r as usedTool};
1
+ function didNotFail(){return({result:e})=>({name:`run.didNotFail`,score:e.status===`failed`?0:1})}function usedTool(e){return({result:t})=>{let n=+!!t.derived.toolCalls.includes(e);return{name:`run.usedTool(${e})`,score:n,metadata:{expectedTool:e,actualToolCalls:t.derived.toolCalls}}}}function usedNoTools(){return({result:e})=>({name:`run.usedNoTools`,score:+(e.derived.toolCallCount===0),metadata:{toolCallCount:e.derived.toolCallCount}})}function maxToolCalls(e){return({result:t})=>{let n=+(t.derived.toolCallCount<=e);return{name:`run.maxToolCalls(${e})`,score:n,metadata:{maxAllowed:e,actualToolCallCount:t.derived.toolCallCount}}}}export{didNotFail,maxToolCalls,usedNoTools,usedTool};
@@ -1 +1 @@
1
- import{n as e}from"../../chunks/chunk-DSjMdhoD.js";var t=e({exactNormalized:()=>n});function n(){return({output:e,expected:t})=>{if(t===void 0)return null;let n=r(e),i=r(t);return{name:`sql.exactNormalized`,score:+(n===i),metadata:{normalizedOutput:n,normalizedExpected:i}}}}function r(e){return e.toLowerCase().replace(/\s+/g,` `).trim().replace(/;+$/,``)}export{n as exactNormalized,t};
1
+ function exactNormalized(){return({output:e,expected:t})=>{if(t===void 0)return null;let n=normalizeSql(e),r=normalizeSql(t);return{name:`sql.exactNormalized`,score:+(n===r),metadata:{normalizedOutput:n,normalizedExpected:r}}}}function normalizeSql(e){return e.toLowerCase().replace(/\s+/g,` `).trim().replace(/;+$/,``)}export{exactNormalized};
@@ -1 +1 @@
1
- import{n as e}from"../../chunks/chunk-DSjMdhoD.js";import{r as t}from"../../chunks/jsdist-BkeWZ7EZ.js";var n=e({exact:()=>r,includes:()=>i,levenshtein:()=>a});function r(){return({output:e,expected:t})=>t===void 0?null:{name:`text.exact`,score:+(e===t)}}function i(){return({output:e,expected:t})=>t===void 0?null:{name:`text.includes`,score:+!!e.includes(t)}}function a(){return async({output:e,expected:n})=>n===void 0?null:{name:`text.levenshtein`,score:(await t({output:e,expected:n})).score}}export{r as exact,i as includes,a as levenshtein,n as t};
1
+ import{Levenshtein}from"../../node_modules/.pnpm/autoevals@0.0.132_ws@8.21.0/node_modules/autoevals/jsdist/index.js";function exact(){return({output:e,expected:t})=>t===void 0?null:{name:`text.exact`,score:+(e===t)}}function includes(){return({output:e,expected:t})=>t===void 0?null:{name:`text.includes`,score:+!!e.includes(t)}}function levenshtein(){return async({output:t,expected:n})=>n===void 0?null:{name:`text.levenshtein`,score:(await Levenshtein({output:t,expected:n})).score}}export{exact,includes,levenshtein};
@@ -1 +1 @@
1
- import{t as e}from"../scorers/autoevals.js";import{t}from"../scorers/json.js";import{t as n}from"../scorers/run.js";import{t as r}from"../scorers/sql.js";import{t as i}from"../scorers/text.js";const a=i,o=t,s=r,c=n,l=e;export{l as Autoevals,o as Json,c as Run,s as Sql,a as Text};
1
+ import*as JsonScorers from"#evals/scorers/json.js";import*as RunScorers from"#evals/scorers/run.js";import*as SqlScorers from"#evals/scorers/sql.js";import*as TextScorers from"#evals/scorers/text.js";import*as AutoevalsScorers from"#evals/scorers/autoevals.js";var Text=TextScorers,Json=JsonScorers,Sql=SqlScorers,Run=RunScorers,Autoevals=AutoevalsScorers;export{Autoevals,Json,Run,Sql,Text};
@@ -1,60 +1 @@
1
- /**
2
- * Pure helpers that fill in sensible defaults on the
3
- * `ConnectionAuthorizationChallenge` returned by an authored
4
- * `startAuthorization` callback.
5
- *
6
- * Kept standalone so the orchestrator can stay focused on durable-step
7
- * plumbing and so the defaulting rules can be unit-tested without a
8
- * workflow runtime.
9
- */
10
- /**
11
- * Fills in a default `instructions` string when the authored
12
- * challenge didn't supply one.
13
- *
14
- * Most authors only return `{ url }` from `startAuthorization` — the
15
- * verbatim IdP consent URL is enough to drive the flow. The UI that
16
- * renders `connection.authorization_required` still wants a short
17
- * call to action next to the button, so the runtime synthesizes one
18
- * from the connection's filesystem-derived name (`"linear"`,
19
- * `"notion"`) rather than making every connection author repeat the
20
- * same boilerplate.
21
- *
22
- * The short `connectionName` is used deliberately — not the rich
23
- * `description` field, which is written for the model and can be a
24
- * full sentence. A description like `"Linear workspace — issues,
25
- * projects, cycles, and comments."` would splice into
26
- * `"Authorize Linear workspace — issues, projects, cycles, and
27
- * comments. in your browser to continue."`, which reads poorly.
28
- * `connectionName` is short and token-like by construction
29
- * (AGENTS.md rule 21), so it splices cleanly.
30
- *
31
- * The first character is upper-cased so the default reads as prose
32
- * (`"Authorize Notion…"`, not `"Authorize notion…"`). This is a
33
- * best-effort cosmetic pass — it will not magically produce
34
- * `GitHub`, `AWS`, or `npm`. Connections that want exact brand
35
- * casing should set `challenge.instructions` explicitly (directly or
36
- * via a Connect helper's `instructions` option).
37
- *
38
- * Connections that want a custom prompt (localization, brand-specific
39
- * wording) set `challenge.instructions` explicitly and it passes
40
- * through untouched.
41
- */
42
- export function withDefaultAuthorizationInstructions(challenge, connectionName) {
43
- if (challenge.instructions !== undefined)
44
- return challenge;
45
- return {
46
- ...challenge,
47
- instructions: `Authorize ${capitalizeFirst(connectionName)} in your browser to continue.`,
48
- };
49
- }
50
- /**
51
- * Upper-cases the first character of an ASCII connection name, leaving
52
- * the rest untouched. Connection names are filesystem-derived and
53
- * expected to be ASCII per AGENTS.md rule 21, so locale-aware case
54
- * mapping is unnecessary.
55
- */
56
- function capitalizeFirst(value) {
57
- if (value.length === 0)
58
- return value;
59
- return value.charAt(0).toUpperCase() + value.slice(1);
60
- }
1
+ function withDefaultAuthorizationInstructions(e,t){return e.instructions===void 0?{...e,instructions:`Authorize ${capitalizeFirst(t)} in your browser to continue.`}:e}function capitalizeFirst(e){return e.length===0?e:e.charAt(0).toUpperCase()+e.slice(1)}export{withDefaultAuthorizationInstructions};
@@ -1,192 +1 @@
1
- /**
2
- * Workflow-body orchestrator for the interactive OAuth
3
- * await-authorization-and-splice flow.
4
- *
5
- * The workflow body owns hook creation and waiting; model-facing side
6
- * effects stay inside durable steps.
7
- */
8
- import { createHook, getWorkflowMetadata } from "#compiled/@workflow/core/index.js";
9
- import { getHarnessEmissionState } from "#harness/emission.js";
10
- import { createAshConnectionCallbackRoutePath } from "#protocol/routes.js";
11
- import { completeAuthorizationForConnectionStep, emitConnectionAuthorizationPendingStep, resolvePendingToolCallsStep, startAuthorizationForConnectionStep, } from "#execution/connection-auth-steps.js";
12
- /**
13
- * Orchestrates one await-authorization-and-splice cycle for all
14
- * interactive-authorization connections that have pending tool calls.
15
- * Connections that only implement `getToken` are ignored here — they
16
- * surface via `drainPendingConnectionAuthorizations` on the harness
17
- * step boundary and rely on out-of-band auth.
18
- *
19
- * Error behaviour: one connection's failure does not block the
20
- * others. Connections that fail `startAuthorization` or
21
- * `completeAuthorization` surface a structured error result on the
22
- * spliced tool call rather than an exception in the workflow body.
23
- */
24
- export async function awaitAuthorizationAndResolve(input) {
25
- const emissionState = getHarnessEmissionState(input.session);
26
- const connectionNames = uniqueConnectionNames(input.pendingToolCalls);
27
- if (connectionNames.length === 0) {
28
- return {
29
- serializedContext: input.serializedContext,
30
- session: input.session,
31
- };
32
- }
33
- // Mint hooks up front so their tokens, and therefore the framework
34
- // callback URLs we hand to the IdP, are stable across replays.
35
- // `createHook` is a workflow-body API; calling it here (rather than
36
- // inside a step) is what makes the token deterministic.
37
- //
38
- // The framework owns the public callback URL: instead of redirecting
39
- // the IdP at Workflow's raw
40
- // `/.well-known/workflow/v1/webhook/:token` endpoint, we build a
41
- // namespaced Ash route at
42
- // `/ash/v1/connections/:name/callback/:token`. The
43
- // matching framework route handler projects the inbound request and
44
- // resumes this hook via `resumeHook(token, payload)`. Owning the
45
- // callback in Ash lets the framework decide delivery policy (auth,
46
- // throttling, logging) without leaking generic workflow primitives.
47
- const callbackBaseUrl = trimTrailingSlash(getWorkflowMetadata().url);
48
- const hooks = connectionNames.map((name) => {
49
- const hook = createHook();
50
- return {
51
- connectionName: name,
52
- hook,
53
- webhookUrl: `${callbackBaseUrl}${createAshConnectionCallbackRoutePath(name, hook.token)}`,
54
- };
55
- });
56
- // Run every `startAuthorization` inside its own durable step,
57
- // parallelised across connections. Each step emits the matching
58
- // `connection.authorization_required` event before returning.
59
- const startResults = await Promise.all(hooks.map(async ({ connectionName, hook, webhookUrl }) => ({
60
- connectionName,
61
- hook,
62
- webhookUrl,
63
- start: await startAuthorizationForConnectionStep({
64
- connectionName,
65
- emissionState,
66
- parentWritable: input.parentWritable,
67
- serializedContext: input.serializedContext,
68
- webhookUrl,
69
- }),
70
- })));
71
- const successfulStarts = startResults.flatMap((r) => r.start.ok
72
- ? [
73
- {
74
- connectionName: r.connectionName,
75
- hook: r.hook,
76
- principal: r.start.principal,
77
- // Forward the start step's post-emit serialized ctx so the
78
- // matching `completeAuthorization` step's emit sees the
79
- // channel-state writes (e.g. tracked Slack message ts) the
80
- // `connection.authorization_required` handler made.
81
- serializedContext: r.start.serializedContext,
82
- state: r.start.state,
83
- webhookUrl: r.webhookUrl,
84
- },
85
- ]
86
- : []);
87
- // Announce that the turn is now waiting on webhook callbacks.
88
- // Emission skipped when every `startAuthorization` failed.
89
- if (successfulStarts.length > 0) {
90
- await emitConnectionAuthorizationPendingStep({
91
- connectionNames: successfulStarts.map((s) => s.connectionName),
92
- emissionState,
93
- parentWritable: input.parentWritable,
94
- serializedContext: input.serializedContext,
95
- });
96
- }
97
- // Suspend the workflow until each hook is resumed by the framework
98
- // callback route, then run `completeAuthorization` inside a durable
99
- // step per connection. `hook.dispose()` runs in a `finally` so a
100
- // throw inside `awaitHookRequest` or the step does not leak the
101
- // hook.
102
- const completeResults = await Promise.all(successfulStarts.map(async ({ connectionName, hook, principal, serializedContext, state, webhookUrl }) => {
103
- try {
104
- const request = await awaitHookRequest(hook);
105
- const complete = await completeAuthorizationForConnectionStep({
106
- connectionName,
107
- emissionState,
108
- parentWritable: input.parentWritable,
109
- principal,
110
- request,
111
- serializedContext,
112
- state,
113
- webhookUrl,
114
- });
115
- return { complete, connectionName, principal };
116
- }
117
- finally {
118
- hook.dispose();
119
- }
120
- }));
121
- const tokens = {};
122
- const principals = {};
123
- const failedConnections = {};
124
- const resolvedConnectionNames = [];
125
- // `startAuthorization` failures are terminal for the current cycle —
126
- // the author's callback threw and there is no authorization state to
127
- // complete. Surface them as non-retryable.
128
- for (const r of startResults) {
129
- if (!r.start.ok) {
130
- failedConnections[r.connectionName] = {
131
- reason: r.start.reason,
132
- retryable: false,
133
- };
134
- }
135
- }
136
- for (const r of completeResults) {
137
- if (r.complete.ok) {
138
- tokens[r.connectionName] = r.complete.token;
139
- principals[r.connectionName] = r.principal;
140
- resolvedConnectionNames.push(r.connectionName);
141
- }
142
- else {
143
- failedConnections[r.connectionName] = {
144
- reason: r.complete.reason,
145
- retryable: r.complete.retryable,
146
- };
147
- }
148
- }
149
- return resolvePendingToolCallsStep({
150
- failedConnections,
151
- parentWritable: input.parentWritable,
152
- pendingCalls: input.pendingToolCalls,
153
- principals,
154
- resolvedConnectionNames,
155
- serializedContext: input.serializedContext,
156
- session: input.session,
157
- tokens,
158
- });
159
- }
160
- function uniqueConnectionNames(pendingCalls) {
161
- const seen = new Set();
162
- for (const call of pendingCalls) {
163
- const names = call.kind === "connection-execute" ? [call.connectionName] : call.connectionNames;
164
- for (const name of names) {
165
- seen.add(name);
166
- }
167
- }
168
- return [...seen];
169
- }
170
- /**
171
- * Awaits the first payload delivered to `hook` via `resumeHook`, using
172
- * its async iterator. Using the iterator (rather than `await hook`
173
- * directly) lets us return early once we have the request we need
174
- * without relying on the `Thenable` surface that resolves to only the
175
- * first payload.
176
- *
177
- * The framework callback route projects the inbound IdP request into
178
- * an {@link AuthorizationCallbackRequest} before resuming, so this
179
- * function returns that JSON-serializable shape directly; no further
180
- * projection is needed.
181
- */
182
- async function awaitHookRequest(hook) {
183
- const iterator = hook[Symbol.asyncIterator]();
184
- const next = await iterator.next();
185
- if (next.done === true || next.value === undefined) {
186
- throw new Error("Connection callback hook closed before delivering a request.");
187
- }
188
- return next.value;
189
- }
190
- function trimTrailingSlash(value) {
191
- return value.endsWith("/") ? value.slice(0, -1) : value;
192
- }
1
+ import{createAshConnectionCallbackRoutePath}from"#protocol/routes.js";import{createHook,getWorkflowMetadata}from"#compiled/@workflow/core/index.js";import{getHarnessEmissionState}from"#harness/emission.js";import{completeAuthorizationForConnectionStep,emitConnectionAuthorizationPendingStep,resolvePendingToolCallsStep,startAuthorizationForConnectionStep}from"#execution/connection-auth-steps.js";async function awaitAuthorizationAndResolve(s){let c=getHarnessEmissionState(s.session),l=uniqueConnectionNames(s.pendingToolCalls);if(l.length===0)return{serializedContext:s.serializedContext,session:s.session};let u=trimTrailingSlash(getWorkflowMetadata().url),d=l.map(n=>{let r=createHook();return{connectionName:n,hook:r,webhookUrl:`${u}${createAshConnectionCallbackRoutePath(n,r.token)}`}}),f=await Promise.all(d.map(async({connectionName:e,hook:t,webhookUrl:n})=>({connectionName:e,hook:t,webhookUrl:n,start:await startAuthorizationForConnectionStep({connectionName:e,emissionState:c,parentWritable:s.parentWritable,serializedContext:s.serializedContext,webhookUrl:n})}))),p=f.flatMap(e=>e.start.ok?[{connectionName:e.connectionName,hook:e.hook,principal:e.start.principal,serializedContext:e.start.serializedContext,state:e.start.state,webhookUrl:e.webhookUrl}]:[]);p.length>0&&await emitConnectionAuthorizationPendingStep({connectionNames:p.map(e=>e.connectionName),emissionState:c,parentWritable:s.parentWritable,serializedContext:s.serializedContext});let m=await Promise.all(p.map(async({connectionName:e,hook:t,principal:n,serializedContext:r,state:i,webhookUrl:a})=>{try{let o=await awaitHookRequest(t);return{complete:await completeAuthorizationForConnectionStep({connectionName:e,emissionState:c,parentWritable:s.parentWritable,principal:n,request:o,serializedContext:r,state:i,webhookUrl:a}),connectionName:e,principal:n}}finally{t.dispose()}})),h={},g={},_={},v=[];for(let e of f)e.start.ok||(_[e.connectionName]={reason:e.start.reason,retryable:!1});for(let e of m)e.complete.ok?(h[e.connectionName]=e.complete.token,g[e.connectionName]=e.principal,v.push(e.connectionName)):_[e.connectionName]={reason:e.complete.reason,retryable:e.complete.retryable};return resolvePendingToolCallsStep({failedConnections:_,parentWritable:s.parentWritable,pendingCalls:s.pendingToolCalls,principals:g,resolvedConnectionNames:v,serializedContext:s.serializedContext,session:s.session,tokens:h})}function uniqueConnectionNames(e){let t=new Set;for(let n of e){let e=n.kind===`connection-execute`?[n.connectionName]:n.connectionNames;for(let n of e)t.add(n)}return[...t]}async function awaitHookRequest(e){let t=await e[Symbol.asyncIterator]().next();if(t.done===!0||t.value===void 0)throw Error(`Connection callback hook closed before delivering a request.`);return t.value}function trimTrailingSlash(e){return e.endsWith(`/`)?e.slice(0,-1):e}export{awaitAuthorizationAndResolve};
@@ -1,66 +1 @@
1
- /**
2
- * Splices real tool results over {@link CONNECTION_AUTHORIZATION_PLACEHOLDER}
3
- * outputs in the session history after an interactive authorization
4
- * flow completes.
5
- */
6
- import { isConnectionAuthorizationPlaceholder } from "#runtime/framework-tools/pending-connection-tool-calls.js";
7
- /**
8
- * Produces a new {@link HarnessSession} whose history has had every
9
- * placeholder tool-result output replaced with the corresponding entry
10
- * in `resolutions`.
11
- *
12
- * Tool-result entries whose `toolCallId` is not present in
13
- * `resolutions`, or whose current output is not a placeholder, are
14
- * left untouched. The original history array and messages are not
15
- * mutated — all modified messages are cloned.
16
- */
17
- export function splicePendingToolResults(session, resolutions) {
18
- if (Object.keys(resolutions).length === 0) {
19
- return session;
20
- }
21
- let mutated = false;
22
- const nextHistory = session.history.map((message) => {
23
- if (message.role !== "tool")
24
- return message;
25
- if (typeof message.content === "string")
26
- return message;
27
- if (!Array.isArray(message.content))
28
- return message;
29
- let messageChanged = false;
30
- const nextContent = message.content.map((part) => {
31
- if (!isToolResultPartLike(part))
32
- return part;
33
- const resolution = resolutions[part.toolCallId];
34
- if (resolution === undefined)
35
- return part;
36
- if (!isPlaceholderOutput(part.output))
37
- return part;
38
- messageChanged = true;
39
- return { ...part, output: toJsonOutput(resolution) };
40
- });
41
- if (!messageChanged)
42
- return message;
43
- mutated = true;
44
- return { ...message, content: nextContent };
45
- });
46
- if (!mutated)
47
- return session;
48
- return { ...session, history: nextHistory };
49
- }
50
- function isToolResultPartLike(part) {
51
- if (typeof part !== "object" || part === null)
52
- return false;
53
- const p = part;
54
- return p.type === "tool-result" && typeof p.toolCallId === "string" && p.output !== undefined;
55
- }
56
- function isPlaceholderOutput(output) {
57
- if (typeof output !== "object" || output === null)
58
- return false;
59
- const typed = output;
60
- if (typed.type !== "json")
61
- return false;
62
- return isConnectionAuthorizationPlaceholder(typed.value);
63
- }
64
- function toJsonOutput(value) {
65
- return { type: "json", value };
66
- }
1
+ import{isConnectionAuthorizationPlaceholder}from"#runtime/framework-tools/pending-connection-tool-calls.js";function splicePendingToolResults(e,t){if(Object.keys(t).length===0)return e;let n=!1,r=e.history.map(e=>{if(e.role!==`tool`||typeof e.content==`string`||!Array.isArray(e.content))return e;let r=!1,i=e.content.map(e=>{if(!isToolResultPartLike(e))return e;let n=t[e.toolCallId];return n===void 0||!isPlaceholderOutput(e.output)?e:(r=!0,{...e,output:toJsonOutput(n)})});return r?(n=!0,{...e,content:i}):e});return n?{...e,history:r}:e}function isToolResultPartLike(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.type===`tool-result`&&typeof t.toolCallId==`string`&&t.output!==void 0}function isPlaceholderOutput(t){if(typeof t!=`object`||!t)return!1;let n=t;return n.type===`json`?isConnectionAuthorizationPlaceholder(n.value):!1}function toJsonOutput(e){return{type:`json`,value:e}}export{splicePendingToolResults};