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,82 +1 @@
1
- /**
2
- * Coerces an arbitrary value to a JSON-safe {@link JsonValue} without
3
- * premature stringification.
4
- *
5
- * - Strings, numbers, booleans, and `null` pass through as primitives.
6
- * - `Error` instances surface only their message (no stack leak).
7
- * - Plain objects and arrays pass through structurally.
8
- * - Non-JSON-representable values (functions, symbols, BigInts) fall
9
- * back to `String(value)`.
10
- */
11
- function toJsonValue(value) {
12
- if (value === null ||
13
- typeof value === "string" ||
14
- typeof value === "number" ||
15
- typeof value === "boolean") {
16
- return value;
17
- }
18
- if (value instanceof Error) {
19
- return value.message;
20
- }
21
- if (typeof value === "object") {
22
- return value;
23
- }
24
- return String(value);
25
- }
26
- /**
27
- * Builds a `RuntimeToolResultActionResult` from one AI SDK
28
- * {@link TypedToolResult}. Used for tool results captured on the AI SDK
29
- * step result and for `tool-result` parts that arrive on the stream.
30
- */
31
- export function createRuntimeToolResultFromStepResult(toolResult) {
32
- return {
33
- callId: toolResult.toolCallId,
34
- kind: "tool-result",
35
- output: toJsonValue(toolResult.output),
36
- toolName: toolResult.toolName,
37
- };
38
- }
39
- /**
40
- * Builds a `RuntimeToolResultActionResult` from one tool-result message
41
- * part as it appears on `step.response.messages`. Used as a fallback when
42
- * the result is missing from `step.toolResults` (some providers — notably
43
- * after `tool-output-denied` chunks — surface the result only on the
44
- * response messages array).
45
- */
46
- export function createRuntimeToolResultFromMessagePart(part) {
47
- const result = {
48
- callId: part.toolCallId,
49
- kind: "tool-result",
50
- output: toolResultOutputToJsonValue(part.output),
51
- toolName: part.toolName,
52
- };
53
- if (isToolResultError(part.output)) {
54
- return {
55
- ...result,
56
- isError: true,
57
- };
58
- }
59
- return result;
60
- }
61
- function toolResultOutputToJsonValue(output) {
62
- switch (output.type) {
63
- case "text":
64
- case "error-text":
65
- return output.value;
66
- case "json":
67
- case "error-json":
68
- return toJsonValue(output.value);
69
- case "execution-denied":
70
- return {
71
- code: "TOOL_EXECUTION_DENIED",
72
- message: output.reason ?? "Tool execution was denied.",
73
- };
74
- case "content":
75
- return toJsonValue(output.value);
76
- }
77
- }
78
- function isToolResultError(output) {
79
- return (output.type === "error-json" ||
80
- output.type === "error-text" ||
81
- output.type === "execution-denied");
82
- }
1
+ function toJsonValue(e){return e===null||typeof e==`string`||typeof e==`number`||typeof e==`boolean`?e:e instanceof Error?e.message:typeof e==`object`?e:String(e)}function createRuntimeToolResultFromStepResult(e){return{callId:e.toolCallId,kind:`tool-result`,output:toJsonValue(e.output),toolName:e.toolName}}function createRuntimeToolResultFromMessagePart(e){let t={callId:e.toolCallId,kind:`tool-result`,output:toolResultOutputToJsonValue(e.output),toolName:e.toolName};return isToolResultError(e.output)?{...t,isError:!0}:t}function toolResultOutputToJsonValue(e){switch(e.type){case`text`:case`error-text`:return e.value;case`json`:case`error-json`:return toJsonValue(e.value);case`execution-denied`:return{code:`TOOL_EXECUTION_DENIED`,message:e.reason??`Tool execution was denied.`};case`content`:return toJsonValue(e.value)}}function isToolResultError(e){return e.type===`error-json`||e.type===`error-text`||e.type===`execution-denied`}export{createRuntimeToolResultFromMessagePart,createRuntimeToolResultFromStepResult};
@@ -1,303 +1 @@
1
- import { createHash } from "node:crypto";
2
- import { basename } from "node:path";
3
- import { buildAdapterContext } from "#channel/adapter-context.js";
4
- import { getAdapterKind } from "#channel/adapter.js";
5
- import { buildSessionHandle } from "#channel/session.js";
6
- import { loadContext } from "#context/container.js";
7
- import { ChannelKey, SandboxKey } from "#context/keys.js";
8
- import { fileDataToBytes } from "#internal/attachments/data.js";
9
- import { AshAttachmentError } from "#internal/attachments/errors.js";
10
- import { deserializeUrlFilePart, isSerializedUrlFilePart } from "#internal/attachments/url-refs.js";
11
- import { decodeSandboxRef, encodeSandboxRef, isSandboxRefUrl, } from "#internal/attachments/sandbox-refs.js";
12
- import { toErrorMessage } from "#shared/errors.js";
13
- /**
14
- * Sandbox directory where inbound file attachments are staged before the
15
- * model call. Authored canonical path — {@link SandboxSession.writeFile}
16
- * translates to the backend-native location.
17
- */
18
- export const ATTACHMENTS_ROOT = "/workspace/attachments";
19
- const UNSAFE_FILENAME_CHARS = /[^\w.-]+/g;
20
- const SHA_PREFIX_LENGTH = 16;
21
- const DEFAULT_MEDIA_TYPE = "application/octet-stream";
22
- /**
23
- * Upper bound, in bytes, on image payloads that hydrate as inline bytes
24
- * on the model call. Larger images are substituted for a text reference
25
- * pointing at the staged sandbox path so the agent can read the file
26
- * through its normal filesystem tools (`read_file`, `bash`, etc.).
27
- */
28
- const HYDRATE_IMAGE_INLINE_MAX_BYTES = 3 * 1024 * 1024;
29
- /**
30
- * Upper bound, in bytes, on PDF payloads that hydrate as inline bytes.
31
- * Matches provider-side caps for native document understanding.
32
- */
33
- const HYDRATE_PDF_INLINE_MAX_BYTES = 20 * 1024 * 1024;
34
- const PDF_MEDIA_TYPE = "application/pdf";
35
- const IMAGE_MEDIA_TYPE_PREFIX = "image/";
36
- /**
37
- * Writes inbound `FilePart` bytes into the sandbox and rewrites each
38
- * staged part to a compact `ash-sandbox:` ref.
39
- *
40
- * Remote HTTP URLs pass through for provider-side fetches; existing
41
- * `ash-sandbox:` refs pass through so staging is idempotent.
42
- */
43
- export async function stageAttachmentsForAdapter(content, sandbox, adapterCtx) {
44
- if (typeof content === "string") {
45
- return content;
46
- }
47
- const reconstituted = reconstitueFilePartUrls(content);
48
- return Promise.all(reconstituted.map(async (part) => {
49
- if (part.type === "file") {
50
- return stageFilePart(part, sandbox, adapterCtx);
51
- }
52
- return part;
53
- }));
54
- }
55
- /**
56
- * Context-bound variant of {@link stageAttachmentsForAdapter}. Returns
57
- * the input unchanged when there is no active sandbox or no file parts.
58
- */
59
- export async function stageAttachmentsToSandbox(message) {
60
- if (typeof message === "string") {
61
- return message;
62
- }
63
- if (!Array.isArray(message)) {
64
- return message;
65
- }
66
- if (!hasFileParts(message)) {
67
- return message;
68
- }
69
- const container = loadContext();
70
- const sandboxAccess = container.get(SandboxKey);
71
- if (sandboxAccess === undefined) {
72
- return message;
73
- }
74
- const sandbox = await sandboxAccess.get();
75
- if (sandbox === null) {
76
- return message;
77
- }
78
- // Build the adapter context once up front. When an adapter is bound,
79
- // use the same helper the runtime uses for `deliver` and event
80
- // handlers so the Slack (and other) `createAdapterContext` override
81
- // runs. When no adapter is bound, build a minimal accessor-only ctx
82
- // so inline FileParts still stage cleanly — a ref on the message will
83
- // raise `missing-adapter` inside the resolver dispatch.
84
- const adapter = container.get(ChannelKey);
85
- const adapterCtx = adapter
86
- ? buildAdapterContext(adapter, container)
87
- : {
88
- ctx: container,
89
- state: {},
90
- session: buildSessionHandle(container),
91
- };
92
- return stageAttachmentsForAdapter(message, sandbox, adapterCtx);
93
- }
94
- /**
95
- * Hydrates `ash-sandbox:` file refs for a single model call.
96
- *
97
- * Small images and PDFs are inlined as bytes; larger or unsupported files
98
- * become text references to their sandbox path. The returned messages must
99
- * not be written back to session history, which stays ref-only across steps.
100
- */
101
- export async function hydrateSandboxAttachments(messages) {
102
- if (!messagesContainSandboxRef(messages)) {
103
- return messages;
104
- }
105
- const sandboxAccess = loadContext().get(SandboxKey);
106
- if (sandboxAccess === undefined) {
107
- throw new Error("Cannot hydrate sandbox-ref FilePart: no SandboxKey is bound on the active Ash context. " +
108
- "Hydration must run inside a step scope with the framework sandbox provider installed.");
109
- }
110
- const sandbox = await sandboxAccess.get();
111
- if (sandbox === null) {
112
- throw new Error("Cannot hydrate sandbox-ref FilePart: SandboxKey is bound but no active sandbox session is available.");
113
- }
114
- return Promise.all(messages.map(async (message) => {
115
- if (!messageContainsSandboxRef(message)) {
116
- return message;
117
- }
118
- const content = await hydrateMessageContent(message.content, sandbox);
119
- return { ...message, content };
120
- }));
121
- }
122
- function hasFileParts(content) {
123
- for (const part of content) {
124
- if (part.type === "file") {
125
- return true;
126
- }
127
- }
128
- return false;
129
- }
130
- function messagesContainSandboxRef(messages) {
131
- for (const message of messages) {
132
- if (messageContainsSandboxRef(message)) {
133
- return true;
134
- }
135
- }
136
- return false;
137
- }
138
- function messageContainsSandboxRef(message) {
139
- const content = message.content;
140
- if (!Array.isArray(content)) {
141
- return false;
142
- }
143
- for (const part of content) {
144
- if (isSandboxRefFilePart(part)) {
145
- return true;
146
- }
147
- }
148
- return false;
149
- }
150
- /**
151
- * Narrows a `UserContent` / `ModelMessage.content` element to a
152
- * {@link FilePart} whose `data` is an `ash-sandbox:` ref URL.
153
- *
154
- * Safe on arbitrary input shapes — returns `false` for strings,
155
- * `null`, non-object values, non-file parts, and file parts whose
156
- * `data` is not a sandbox ref. Centralises the structural check used
157
- * by the staging and hydration passes so the two stay in lockstep.
158
- */
159
- function isSandboxRefFilePart(part) {
160
- return (part !== null &&
161
- typeof part === "object" &&
162
- part.type === "file" &&
163
- isSandboxRefUrl(part.data));
164
- }
165
- async function hydrateMessageContent(content, sandbox) {
166
- if (!Array.isArray(content)) {
167
- return content;
168
- }
169
- return Promise.all(content.map(async (part) => {
170
- if (!isSandboxRefFilePart(part)) {
171
- return part;
172
- }
173
- const filePart = part;
174
- const ref = decodeSandboxRef(filePart.data);
175
- if (!shouldInlineSandboxRefAsBytes(ref)) {
176
- return renderSandboxRefAsTextPart(ref);
177
- }
178
- const bytes = await sandbox.readBinaryFile({ path: ref.path });
179
- if (bytes === null) {
180
- throw new Error(`Sandbox-ref FilePart references missing file: "${ref.path}". ` +
181
- "The staging pipeline invariant (every ash-sandbox: ref has bytes on disk) was violated.");
182
- }
183
- return { ...filePart, data: bytes, mediaType: ref.mediaType };
184
- }));
185
- }
186
- /**
187
- * Decides whether a sandbox-resident attachment should flow to the
188
- * model as inline bytes at the hydration step, or be substituted for a
189
- * text reference pointing at the staged sandbox path.
190
- *
191
- * Keep this decision narrow: only the shapes every major provider
192
- * supports natively qualify for byte inlining. Everything else — raw
193
- * documents, archives, source code, oversized images/PDFs — reaches
194
- * the model as a text reference so the agent's filesystem tools do
195
- * the reading.
196
- */
197
- function shouldInlineSandboxRefAsBytes(ref) {
198
- if (ref.mediaType.startsWith(IMAGE_MEDIA_TYPE_PREFIX)) {
199
- return ref.size <= HYDRATE_IMAGE_INLINE_MAX_BYTES;
200
- }
201
- if (ref.mediaType === PDF_MEDIA_TYPE) {
202
- return ref.size <= HYDRATE_PDF_INLINE_MAX_BYTES;
203
- }
204
- return false;
205
- }
206
- /**
207
- * Renders a sandbox-resident attachment as a {@link TextPart} the model
208
- * can use to reach the payload through filesystem tools.
209
- *
210
- * Matches the text shape produced by the compaction summarizer for
211
- * `FilePart`s so the model sees one consistent surface for "there is a
212
- * file at this path" regardless of whether the reference came from the
213
- * current turn's hydration or a summarized older turn.
214
- */
215
- function renderSandboxRefAsTextPart(ref) {
216
- return { text: `Attached file ${ref.path} (${ref.mediaType})`, type: "text" };
217
- }
218
- async function stageFilePart(part, sandbox, adapterCtx) {
219
- if (isSandboxRefUrl(part.data)) {
220
- return part;
221
- }
222
- // URL objects (including reconstituted ones) → try fetchFile
223
- if (part.data instanceof URL && part.data.protocol !== "data:") {
224
- const resolved = await tryFetchFile(part.data.href, adapterCtx);
225
- if (resolved === null) {
226
- return part;
227
- }
228
- return stageResolvedBytes(part, resolved, sandbox);
229
- }
230
- // Inline data (Buffer, base64, data URL) → stage directly
231
- const bytes = await fileDataToBytes(part.data);
232
- if (bytes === null) {
233
- return part;
234
- }
235
- return stageResolvedBytes(part, { bytes }, sandbox);
236
- }
237
- async function stageResolvedBytes(part, resolved, sandbox) {
238
- const bytes = resolved.bytes;
239
- const sha = sha256Prefix(bytes);
240
- const mediaType = resolved.mediaType ?? part.mediaType ?? DEFAULT_MEDIA_TYPE;
241
- const name = safeFilename(resolved.filename ?? part.filename, sha);
242
- const authored = `${ATTACHMENTS_ROOT}/${sha}/${name}`;
243
- await sandbox.writeBinaryFile({ content: bytes, path: authored });
244
- const resolvedPath = sandbox.resolvePath(authored);
245
- return {
246
- ...part,
247
- data: encodeSandboxRef({ mediaType, path: resolvedPath, size: bytes.byteLength }),
248
- filename: resolvedPath,
249
- mediaType,
250
- };
251
- }
252
- async function tryFetchFile(url, adapterCtx) {
253
- const adapter = adapterCtx.ctx.get(ChannelKey);
254
- if (adapter?.fetchFile === undefined) {
255
- return null;
256
- }
257
- const adapterKind = getAdapterKind(adapter);
258
- try {
259
- const result = await adapter.fetchFile(url);
260
- if (result === null) {
261
- return null;
262
- }
263
- return Buffer.isBuffer(result) ? { bytes: result } : result;
264
- }
265
- catch (cause) {
266
- if (cause instanceof AshAttachmentError) {
267
- throw cause;
268
- }
269
- throw new AshAttachmentError({
270
- adapterKind,
271
- cause,
272
- kind: "resolver-threw",
273
- message: `fetchFile for adapter kind="${adapterKind}" threw: ${toErrorMessage(cause)}`,
274
- });
275
- }
276
- }
277
- /**
278
- * Reconstitutes `URL` objects from `ash-url:` serialized strings in
279
- * `FilePart.data`. Before the queue boundary, `send()` serializes
280
- * `URL` objects as `ash-url:{href}` strings. This pass restores them
281
- * so the staging pipeline can use `instanceof URL`.
282
- */
283
- function reconstitueFilePartUrls(content) {
284
- let changed = false;
285
- const result = content.map((part) => {
286
- if (part.type === "file" && isSerializedUrlFilePart(part.data)) {
287
- changed = true;
288
- return { ...part, data: deserializeUrlFilePart(part.data) };
289
- }
290
- return part;
291
- });
292
- return changed ? result : content;
293
- }
294
- function sha256Prefix(bytes) {
295
- return createHash("sha256").update(bytes).digest("hex").slice(0, SHA_PREFIX_LENGTH);
296
- }
297
- function safeFilename(provided, sha) {
298
- if (provided === undefined) {
299
- return `file-${sha}`;
300
- }
301
- const base = basename(provided).replace(UNSAFE_FILENAME_CHARS, "_");
302
- return base.length > 0 ? base : `file-${sha}`;
303
- }
1
+ import{buildSessionHandle}from"#channel/session.js";import{deserializeUrlFilePart,isSerializedUrlFilePart}from"#internal/attachments/url-refs.js";import{toErrorMessage}from"#shared/errors.js";import{basename}from"node:path";import{createHash}from"node:crypto";import{loadContext}from"#context/container.js";import{ChannelKey,SandboxKey}from"#context/keys.js";import{getAdapterKind}from"#channel/adapter.js";import{buildAdapterContext}from"#channel/adapter-context.js";import{fileDataToBytes}from"#internal/attachments/data.js";import{AshAttachmentError}from"#internal/attachments/errors.js";import{decodeSandboxRef,encodeSandboxRef,isSandboxRefUrl}from"#internal/attachments/sandbox-refs.js";var ATTACHMENTS_ROOT=`/workspace/attachments`,UNSAFE_FILENAME_CHARS=/[^\w.-]+/g,SHA_PREFIX_LENGTH=16,DEFAULT_MEDIA_TYPE=`application/octet-stream`,HYDRATE_IMAGE_INLINE_MAX_BYTES=3*1024*1024,HYDRATE_PDF_INLINE_MAX_BYTES=20*1024*1024,PDF_MEDIA_TYPE=`application/pdf`,IMAGE_MEDIA_TYPE_PREFIX=`image/`;async function stageAttachmentsForAdapter(e,t,n){if(typeof e==`string`)return e;let r=reconstitueFilePartUrls(e);return Promise.all(r.map(async e=>e.type===`file`?stageFilePart(e,t,n):e))}async function stageAttachmentsToSandbox(t){if(typeof t==`string`||!Array.isArray(t)||!hasFileParts(t))return t;let n=loadContext(),r=n.get(SandboxKey);if(r===void 0)return t;let i=await r.get();if(i===null)return t;let a=n.get(ChannelKey);return stageAttachmentsForAdapter(t,i,a?buildAdapterContext(a,n):{ctx:n,state:{},session:buildSessionHandle(n)})}async function hydrateSandboxAttachments(e){if(!messagesContainSandboxRef(e))return e;let t=loadContext().get(SandboxKey);if(t===void 0)throw Error(`Cannot hydrate sandbox-ref FilePart: no SandboxKey is bound on the active Ash context. Hydration must run inside a step scope with the framework sandbox provider installed.`);let n=await t.get();if(n===null)throw Error(`Cannot hydrate sandbox-ref FilePart: SandboxKey is bound but no active sandbox session is available.`);return Promise.all(e.map(async e=>{if(!messageContainsSandboxRef(e))return e;let t=await hydrateMessageContent(e.content,n);return{...e,content:t}}))}function hasFileParts(e){for(let t of e)if(t.type===`file`)return!0;return!1}function messagesContainSandboxRef(e){for(let t of e)if(messageContainsSandboxRef(t))return!0;return!1}function messageContainsSandboxRef(e){let t=e.content;if(!Array.isArray(t))return!1;for(let e of t)if(isSandboxRefFilePart(e))return!0;return!1}function isSandboxRefFilePart(e){return typeof e==`object`&&!!e&&e.type===`file`&&isSandboxRefUrl(e.data)}async function hydrateMessageContent(e,t){return Array.isArray(e)?Promise.all(e.map(async e=>{if(!isSandboxRefFilePart(e))return e;let n=e,r=decodeSandboxRef(n.data);if(!shouldInlineSandboxRefAsBytes(r))return renderSandboxRefAsTextPart(r);let i=await t.readBinaryFile({path:r.path});if(i===null)throw Error(`Sandbox-ref FilePart references missing file: "${r.path}". The staging pipeline invariant (every ash-sandbox: ref has bytes on disk) was violated.`);return{...n,data:i,mediaType:r.mediaType}})):e}function shouldInlineSandboxRefAsBytes(e){return e.mediaType.startsWith(IMAGE_MEDIA_TYPE_PREFIX)?e.size<=HYDRATE_IMAGE_INLINE_MAX_BYTES:e.mediaType===PDF_MEDIA_TYPE?e.size<=HYDRATE_PDF_INLINE_MAX_BYTES:!1}function renderSandboxRefAsTextPart(e){return{text:`Attached file ${e.path} (${e.mediaType})`,type:`text`}}async function stageFilePart(e,t,n){if(isSandboxRefUrl(e.data))return e;if(e.data instanceof URL&&e.data.protocol!==`data:`){let r=await tryFetchFile(e.data.href,n);return r===null?e:stageResolvedBytes(e,r,t)}let r=await fileDataToBytes(e.data);return r===null?e:stageResolvedBytes(e,{bytes:r},t)}async function stageResolvedBytes(e,t,n){let r=t.bytes,i=sha256Prefix(r),a=t.mediaType??e.mediaType??DEFAULT_MEDIA_TYPE,o=`${ATTACHMENTS_ROOT}/${i}/${safeFilename(t.filename??e.filename,i)}`;await n.writeBinaryFile({content:r,path:o});let s=n.resolvePath(o);return{...e,data:encodeSandboxRef({mediaType:a,path:s,size:r.byteLength}),filename:s,mediaType:a}}async function tryFetchFile(e,t){let n=t.ctx.get(ChannelKey);if(n?.fetchFile===void 0)return null;let i=getAdapterKind(n);try{let t=await n.fetchFile(e);return t===null?null:Buffer.isBuffer(t)?{bytes:t}:t}catch(e){throw e instanceof AshAttachmentError?e:new AshAttachmentError({adapterKind:i,cause:e,kind:`resolver-threw`,message:`fetchFile for adapter kind="${i}" threw: ${toErrorMessage(e)}`})}}function reconstitueFilePartUrls(e){let r=!1,i=e.map(e=>e.type===`file`&&isSerializedUrlFilePart(e.data)?(r=!0,{...e,data:deserializeUrlFilePart(e.data)}):e);return r?i:e}function sha256Prefix(e){return createHash(`sha256`).update(e).digest(`hex`).slice(0,SHA_PREFIX_LENGTH)}function safeFilename(e,t){if(e===void 0)return`file-${t}`;let n=basename(e).replace(UNSAFE_FILENAME_CHARS,`_`);return n.length>0?n:`file-${t}`}export{ATTACHMENTS_ROOT,hydrateSandboxAttachments,stageAttachmentsForAdapter,stageAttachmentsToSandbox};
@@ -1,221 +1,4 @@
1
- import { generateText } from "ai";
2
- const COMPACTION_SYSTEM_PROMPT = [
3
- "You are a conversation summarizer.",
4
- "Write a concise but useful summary for continuing the work.",
5
- "Preserve the goal, important instructions, technical decisions, discoveries, open work, and relevant tool results.",
6
- "Use the same language as the conversation.",
7
- "Prefer short labeled sections such as Goal, Instructions, Discoveries, Accomplished, and Next steps when helpful.",
8
- "Do not answer questions or invent facts.",
9
- ].join(" ");
10
- const COMPACTION_SUMMARY_RESERVE_TOKENS = 2_048;
11
- const COMPACTION_TEXT_LIMIT = 280;
12
- const COMPACTION_COLLECTION_LIMIT = 3;
13
- /**
14
- * Rough token estimate: serialized JSON length / 4. Good enough for
15
- * deciding whether compaction is needed; the real token count comes back
16
- * from the model each step via {@link CompactionConfig.lastKnownInputTokens}.
17
- *
18
- * Accepts any JSON-serializable value so the reactive pruning system can
19
- * apply the same heuristic to individual tool-result parts — keeping
20
- * every layer of context management on one consistent token ruler.
21
- */
22
- export function estimateTokens(value) {
23
- return JSON.stringify(value).length / 4;
24
- }
25
- /**
26
- * Best available input-token count: the model-reported count from the last
27
- * step, plus a rough character-based estimate of whatever messages have been
28
- * appended since.
29
- */
30
- export function getInputTokenCount(messages, config) {
31
- const prior = config.lastKnownInputTokens;
32
- const priorCount = config.lastKnownPromptMessageCount;
33
- if (prior === undefined ||
34
- priorCount === undefined ||
35
- !Number.isInteger(priorCount) ||
36
- priorCount < 0 ||
37
- priorCount > messages.length) {
38
- return estimateTokens(messages);
39
- }
40
- return prior + estimateTokens(messages.slice(priorCount));
41
- }
42
- /**
43
- * Returns true when the message history exceeds the compaction threshold.
44
- */
45
- export function shouldCompact(messages, config) {
46
- return getInputTokenCount(messages, config) > config.threshold;
47
- }
48
- /**
49
- * Resolves the model used to summarize older context during compaction.
50
- *
51
- * Reuses the active turn model when compaction should summarize with the same
52
- * reference, and resolves the authored compaction model only when configured.
53
- */
54
- export async function resolveCompactionModel(input) {
55
- const reference = input.compactionModelReference ?? input.modelReference;
56
- const model = reference === input.modelReference ? input.model : await input.resolveModel(reference);
57
- return {
58
- model,
59
- providerOptions: reference.providerOptions,
60
- };
61
- }
62
- /**
63
- * Compacts messages by summarizing older history and keeping only the most
64
- * recent messages.
65
- */
66
- export async function compactMessages(messages, model, config, providerOptions, telemetry, headers) {
67
- let keep = selectRecentWindowSize(messages, config);
68
- while (true) {
69
- const { older, recent } = splitMessagesForCompaction(messages, keep);
70
- if (older.length === 0) {
71
- return recent;
72
- }
73
- const prunedOlder = older.map((message) => ({
74
- content: summarizeCompactionMessageContent(message),
75
- role: message.role,
76
- }));
77
- const result = await generateText({
78
- headers,
79
- model,
80
- prompt: formatCompactionPrompt(prunedOlder),
81
- providerOptions,
82
- system: COMPACTION_SYSTEM_PROMPT,
83
- telemetry: telemetry ? { ...telemetry, functionId: "ash.compaction" } : undefined,
84
- temperature: 0,
85
- });
86
- const compacted = [
87
- { content: `Previous context: ${result.text}`, role: "system" },
88
- ...recent,
89
- ];
90
- if (estimateTokens(compacted) <= config.threshold || keep === 0) {
91
- return compacted;
92
- }
93
- keep -= 1;
94
- }
95
- }
96
- function selectRecentWindowSize(messages, config) {
97
- const maxKeep = Math.min(config.recentWindowSize, Math.max(messages.length - 1, 0));
98
- const reserve = resolveCompactionSummaryReserve(config);
99
- let keep = 0;
100
- let recentTokens = 0;
101
- for (let index = messages.length - 1; index >= 0 && keep < maxKeep; index -= 1) {
102
- const message = messages[index];
103
- if (message === undefined) {
104
- continue;
105
- }
106
- const messageTokens = estimateTokens([message]);
107
- if (recentTokens + messageTokens + reserve > config.threshold) {
108
- break;
109
- }
110
- recentTokens += messageTokens;
111
- keep += 1;
112
- }
113
- return keep;
114
- }
115
- function resolveCompactionSummaryReserve(config) {
116
- return Math.min(COMPACTION_SUMMARY_RESERVE_TOKENS, Math.max(64, Math.floor(config.threshold / 4)));
117
- }
118
- function splitMessagesForCompaction(messages, keep) {
119
- if (keep <= 0) {
120
- return {
121
- older: [...messages],
122
- recent: [],
123
- };
124
- }
125
- return {
126
- older: messages.slice(0, -keep),
127
- recent: messages.slice(-keep),
128
- };
129
- }
130
- function formatCompactionPrompt(messages) {
131
- const sections = messages
132
- .filter((message) => message.content.trim().length > 0)
133
- .map((message) => `### ${message.role}\n${message.content.trim()}`);
134
- if (sections.length === 0) {
135
- return "Summarize the conversation so far.";
136
- }
137
- return ["Conversation transcript:", ...sections].join("\n\n");
138
- }
139
- function summarizeCompactionMessageContent(message) {
140
- if (typeof message.content === "string") {
141
- return summarizeText(message.content);
142
- }
143
- return message.content
144
- .map((part) => summarizeCompactionContentPart(part))
145
- .filter((summary) => summary.length > 0)
146
- .join("\n")
147
- .trim();
148
- }
149
- function summarizeCompactionContentPart(part) {
150
- switch (part.type) {
151
- case "text":
152
- return summarizeText(part.text);
153
- case "reasoning":
154
- return "";
155
- case "file":
156
- return part.filename
157
- ? `Attached file ${part.filename} (${part.mediaType})`
158
- : `Attached file attachment (${part.mediaType})`;
159
- case "tool-call":
160
- return summarizeToolCallPart(part);
161
- case "tool-result":
162
- return summarizeToolResultPart(part);
163
- default:
164
- return "";
165
- }
166
- }
167
- function summarizeToolCallPart(part) {
168
- const input = part.input !== undefined ? summarizeCompactValue(part.input) : "";
169
- return input ? `Called ${part.toolName} with ${input}` : `Called ${part.toolName}`;
170
- }
171
- function summarizeToolResultPart(part) {
172
- const output = part.output !== undefined ? summarizeCompactValue(part.output) : "";
173
- const status = part.isError ? "errored" : "returned";
174
- return output ? `Tool ${part.toolName} ${status} ${output}` : `Tool ${part.toolName} ${status}`;
175
- }
176
- function summarizeCompactValue(value, depth = 0) {
177
- if (value === null)
178
- return "null";
179
- if (value === undefined)
180
- return "";
181
- if (typeof value === "string")
182
- return summarizeText(value);
183
- if (typeof value === "number" || typeof value === "boolean" || typeof value === "bigint") {
184
- return String(value);
185
- }
186
- if (Array.isArray(value)) {
187
- if (value.length === 0) {
188
- return "array(0)";
189
- }
190
- if (depth >= 2) {
191
- return `array(${value.length})`;
192
- }
193
- const entries = value
194
- .slice(0, COMPACTION_COLLECTION_LIMIT)
195
- .map((item) => summarizeCompactValue(item, depth + 1));
196
- const suffix = value.length > COMPACTION_COLLECTION_LIMIT ? ", …" : "";
197
- return `array(${value.length}: ${entries.join(", ")}${suffix})`;
198
- }
199
- if (typeof value === "object") {
200
- const entries = Object.entries(value);
201
- if (entries.length === 0) {
202
- return "object(0)";
203
- }
204
- if (depth >= 2) {
205
- return `object(${entries.length} keys)`;
206
- }
207
- const rendered = entries
208
- .slice(0, COMPACTION_COLLECTION_LIMIT)
209
- .map(([key, nested]) => `${key}=${summarizeCompactValue(nested, depth + 1)}`);
210
- const suffix = entries.length > COMPACTION_COLLECTION_LIMIT ? ", …" : "";
211
- return `object(${rendered.join(", ")}${suffix})`;
212
- }
213
- return "";
214
- }
215
- function summarizeText(value) {
216
- const normalized = value.replace(/\s+/g, " ").trim();
217
- if (normalized.length <= COMPACTION_TEXT_LIMIT) {
218
- return normalized;
219
- }
220
- return `${normalized.slice(0, COMPACTION_TEXT_LIMIT).trimEnd()}…`;
221
- }
1
+ import{generateText}from"ai";var COMPACTION_SYSTEM_PROMPT=[`You are a conversation summarizer.`,`Write a concise but useful summary for continuing the work.`,`Preserve the goal, important instructions, technical decisions, discoveries, open work, and relevant tool results.`,`Use the same language as the conversation.`,`Prefer short labeled sections such as Goal, Instructions, Discoveries, Accomplished, and Next steps when helpful.`,`Do not answer questions or invent facts.`].join(` `),COMPACTION_SUMMARY_RESERVE_TOKENS=2048,COMPACTION_TEXT_LIMIT=280,COMPACTION_COLLECTION_LIMIT=3;function estimateTokens(e){return JSON.stringify(e).length/4}function getInputTokenCount(e,t){let n=t.lastKnownInputTokens,r=t.lastKnownPromptMessageCount;return n===void 0||r===void 0||!Number.isInteger(r)||r<0||r>e.length?estimateTokens(e):n+estimateTokens(e.slice(r))}function shouldCompact(e,t){return getInputTokenCount(e,t)>t.threshold}async function resolveCompactionModel(e){let t=e.compactionModelReference??e.modelReference;return{model:t===e.modelReference?e.model:await e.resolveModel(t),providerOptions:t.providerOptions}}async function compactMessages(n,r,i,a,o,s){let c=selectRecentWindowSize(n,i);for(;;){let{older:l,recent:u}=splitMessagesForCompaction(n,c);if(l.length===0)return u;let d=[{content:`Previous context: ${(await generateText({headers:s,model:r,prompt:formatCompactionPrompt(l.map(e=>({content:summarizeCompactionMessageContent(e),role:e.role}))),providerOptions:a,system:COMPACTION_SYSTEM_PROMPT,telemetry:o?{...o,functionId:`ash.compaction`}:void 0,temperature:0})).text}`,role:`system`},...u];if(estimateTokens(d)<=i.threshold||c===0)return d;--c}}function selectRecentWindowSize(e,t){let n=Math.min(t.recentWindowSize,Math.max(e.length-1,0)),r=resolveCompactionSummaryReserve(t),i=0,a=0;for(let o=e.length-1;o>=0&&i<n;--o){let n=e[o];if(n===void 0)continue;let s=estimateTokens([n]);if(a+s+r>t.threshold)break;a+=s,i+=1}return i}function resolveCompactionSummaryReserve(e){return Math.min(COMPACTION_SUMMARY_RESERVE_TOKENS,Math.max(64,Math.floor(e.threshold/4)))}function splitMessagesForCompaction(e,t){return t<=0?{older:[...e],recent:[]}:{older:e.slice(0,-t),recent:e.slice(-t)}}function formatCompactionPrompt(e){let t=e.filter(e=>e.content.trim().length>0).map(e=>`### ${e.role}\n${e.content.trim()}`);return t.length===0?`Summarize the conversation so far.`:[`Conversation transcript:`,...t].join(`
2
+
3
+ `)}function summarizeCompactionMessageContent(e){return typeof e.content==`string`?summarizeText(e.content):e.content.map(e=>summarizeCompactionContentPart(e)).filter(e=>e.length>0).join(`
4
+ `).trim()}function summarizeCompactionContentPart(e){switch(e.type){case`text`:return summarizeText(e.text);case`reasoning`:return``;case`file`:return e.filename?`Attached file ${e.filename} (${e.mediaType})`:`Attached file attachment (${e.mediaType})`;case`tool-call`:return summarizeToolCallPart(e);case`tool-result`:return summarizeToolResultPart(e);default:return``}}function summarizeToolCallPart(e){let t=e.input===void 0?``:summarizeCompactValue(e.input);return t?`Called ${e.toolName} with ${t}`:`Called ${e.toolName}`}function summarizeToolResultPart(e){let t=e.output===void 0?``:summarizeCompactValue(e.output),n=e.isError?`errored`:`returned`;return t?`Tool ${e.toolName} ${n} ${t}`:`Tool ${e.toolName} ${n}`}function summarizeCompactValue(e,t=0){if(e===null)return`null`;if(e===void 0)return``;if(typeof e==`string`)return summarizeText(e);if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`)return String(e);if(Array.isArray(e)){if(e.length===0)return`array(0)`;if(t>=2)return`array(${e.length})`;let n=e.slice(0,COMPACTION_COLLECTION_LIMIT).map(e=>summarizeCompactValue(e,t+1)),r=e.length>COMPACTION_COLLECTION_LIMIT?`, …`:``;return`array(${e.length}: ${n.join(`, `)}${r})`}if(typeof e==`object`){let n=Object.entries(e);if(n.length===0)return`object(0)`;if(t>=2)return`object(${n.length} keys)`;let r=n.slice(0,COMPACTION_COLLECTION_LIMIT).map(([e,n])=>`${e}=${summarizeCompactValue(n,t+1)}`),a=n.length>COMPACTION_COLLECTION_LIMIT?`, …`:``;return`object(${r.join(`, `)}${a})`}return``}function summarizeText(e){let t=e.replace(/\s+/g,` `).trim();return t.length<=COMPACTION_TEXT_LIMIT?t:`${t.slice(0,COMPACTION_TEXT_LIMIT).trimEnd()}…`}export{compactMessages,estimateTokens,getInputTokenCount,resolveCompactionModel,shouldCompact};