experimental-ash 0.26.0 → 0.28.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 (787) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/docs/public/channels/README.md +50 -2
  3. package/dist/docs/public/channels/discord.md +15 -7
  4. package/dist/docs/public/channels/teams.md +121 -0
  5. package/dist/docs/public/channels/telegram.md +201 -0
  6. package/dist/docs/public/subagents.md +38 -0
  7. package/dist/docs/public/typescript-api.md +41 -1
  8. package/dist/src/_virtual/_rolldown/runtime.js +1 -0
  9. package/dist/src/channel/adapter-context.js +1 -24
  10. package/dist/src/channel/adapter.js +1 -62
  11. package/dist/src/channel/compiled-channel.js +1 -6
  12. package/dist/src/channel/cross-channel-receive.js +2 -108
  13. package/dist/src/channel/http.js +1 -30
  14. package/dist/src/channel/receive-args.js +1 -1
  15. package/dist/src/channel/resolve-text.js +1 -59
  16. package/dist/src/channel/routes.js +1 -15
  17. package/dist/src/channel/schedule.js +1 -81
  18. package/dist/src/channel/send.js +1 -81
  19. package/dist/src/channel/session-callback.js +1 -65
  20. package/dist/src/channel/session.js +1 -58
  21. package/dist/src/channel/types.js +1 -1
  22. package/dist/src/cli/commands/channels.js +3 -9
  23. package/dist/src/cli/commands/info.js +2 -2
  24. package/dist/src/cli/dev/environment.js +1 -1
  25. package/dist/src/cli/dev/input-requests.js +1 -1
  26. package/dist/src/cli/dev/input.js +1 -1
  27. package/dist/src/cli/dev/repl.js +2 -3
  28. package/dist/src/cli/dev/terminal.js +5 -5
  29. package/dist/src/cli/dev/url.js +1 -1
  30. package/dist/src/cli/run.js +2 -2
  31. package/dist/src/cli/ui/output.js +8 -8
  32. package/dist/src/client/client-error.js +1 -19
  33. package/dist/src/client/client.js +1 -128
  34. package/dist/src/client/index.js +1 -11
  35. package/dist/src/client/message-reducer-types.js +1 -1
  36. package/dist/src/client/message-reducer.js +1 -456
  37. package/dist/src/client/message-response.js +1 -55
  38. package/dist/src/client/ndjson.js +3 -62
  39. package/dist/src/client/open-stream.js +1 -45
  40. package/dist/src/client/reducer.js +1 -1
  41. package/dist/src/client/session-utils.js +1 -62
  42. package/dist/src/client/session.js +1 -206
  43. package/dist/src/client/types.js +1 -1
  44. package/dist/src/client/url.js +1 -34
  45. package/dist/src/compiled/.vendor-stamp.json +6 -1
  46. package/dist/src/compiled/@vercel/oidc/LICENSE +202 -0
  47. package/dist/src/compiled/@vercel/oidc/index.d.ts +21 -0
  48. package/dist/src/compiled/@vercel/oidc/index.js +2 -0
  49. package/dist/src/compiled/@vercel/oidc/package.json +7 -0
  50. package/dist/src/compiled/chokidar/LICENSE +21 -0
  51. package/dist/src/compiled/chokidar/index.d.ts +33 -0
  52. package/dist/src/compiled/chokidar/index.js +1 -0
  53. package/dist/src/compiled/chokidar/package.json +7 -0
  54. package/dist/src/compiled/commander/LICENSE +22 -0
  55. package/dist/src/compiled/commander/index.d.ts +1113 -0
  56. package/dist/src/{chunks/url-JdCGA634.js → compiled/commander/index.js} +10 -10
  57. package/dist/src/compiled/commander/package.json +7 -0
  58. package/dist/src/compiled/gray-matter/LICENSE +21 -0
  59. package/dist/src/compiled/gray-matter/index.d.ts +62 -0
  60. package/dist/src/{chunks/gray-matter-D-9jHwOT.js → compiled/gray-matter/index.js} +2 -2
  61. package/dist/src/compiled/gray-matter/package.json +7 -0
  62. package/dist/src/compiled/picocolors/LICENSE +15 -0
  63. package/dist/src/compiled/picocolors/index.d.ts +55 -0
  64. package/dist/src/compiled/picocolors/index.js +1 -0
  65. package/dist/src/compiled/picocolors/package.json +7 -0
  66. package/dist/src/compiler/artifacts.js +1 -147
  67. package/dist/src/compiler/compile-agent.js +3 -76
  68. package/dist/src/compiler/compile-from-memory.js +1 -59
  69. package/dist/src/compiler/manifest.js +1 -424
  70. package/dist/src/compiler/model-catalog.js +1 -224
  71. package/dist/src/compiler/module-map.js +5 -295
  72. package/dist/src/compiler/normalize-agent-config.js +1 -157
  73. package/dist/src/compiler/normalize-channel.js +1 -51
  74. package/dist/src/compiler/normalize-connection.js +1 -58
  75. package/dist/src/compiler/normalize-helpers.js +1 -23
  76. package/dist/src/compiler/normalize-hook.js +1 -19
  77. package/dist/src/compiler/normalize-instructions.js +1 -28
  78. package/dist/src/compiler/normalize-manifest.js +1 -79
  79. package/dist/src/compiler/normalize-sandbox.js +1 -20
  80. package/dist/src/compiler/normalize-schedule.js +1 -38
  81. package/dist/src/compiler/normalize-skill.js +1 -60
  82. package/dist/src/compiler/normalize-subagent.js +1 -174
  83. package/dist/src/compiler/normalize-tool.js +1 -40
  84. package/dist/src/compiler/remote-agent-node.js +1 -19
  85. package/dist/src/compiler/workspace-resources.js +1 -85
  86. package/dist/src/context/accessors.js +1 -93
  87. package/dist/src/context/container.js +1 -89
  88. package/dist/src/context/hook-lifecycle.js +1 -242
  89. package/dist/src/context/key.js +1 -39
  90. package/dist/src/context/keys.js +1 -43
  91. package/dist/src/context/node.js +1 -9
  92. package/dist/src/context/provider.js +1 -1
  93. package/dist/src/context/providers/connection.js +1 -17
  94. package/dist/src/context/providers/sandbox.js +1 -46
  95. package/dist/src/context/providers/session.js +1 -18
  96. package/dist/src/context/run-step.js +1 -51
  97. package/dist/src/context/seed-keys.js +1 -37
  98. package/dist/src/context/serialize.js +1 -44
  99. package/dist/src/discover/connections.js +1 -153
  100. package/dist/src/discover/diagnostics.js +1 -82
  101. package/dist/src/discover/discover-agent.js +1 -159
  102. package/dist/src/discover/discover-subagent.js +1 -223
  103. package/dist/src/discover/filesystem.js +1 -215
  104. package/dist/src/discover/grammar.js +1 -371
  105. package/dist/src/discover/lib.js +1 -34
  106. package/dist/src/discover/manifest.js +1 -136
  107. package/dist/src/discover/markdown.js +1 -17
  108. package/dist/src/discover/named-source-directory.js +1 -188
  109. package/dist/src/discover/project-source.js +1 -152
  110. package/dist/src/discover/project.js +1 -117
  111. package/dist/src/discover/sandbox.js +1 -220
  112. package/dist/src/discover/schedules.js +1 -41
  113. package/dist/src/discover/skills.js +1 -274
  114. package/dist/src/discover/slots.js +1 -68
  115. package/dist/src/evals/cli/eval.js +1 -1
  116. package/dist/src/evals/define-eval-suite.js +1 -1
  117. package/dist/src/evals/index.js +1 -1
  118. package/dist/src/evals/loaders/index.js +1 -1
  119. package/dist/src/evals/loaders/json.js +1 -1
  120. package/dist/src/evals/loaders/yaml.js +1 -1
  121. package/dist/src/evals/reporters/index.js +1 -1
  122. package/dist/src/evals/runner/artifacts.js +3 -3
  123. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  124. package/dist/src/evals/runner/discover.js +1 -1
  125. package/dist/src/evals/runner/execute-case.js +1 -1
  126. package/dist/src/evals/runner/execute-suite.js +1 -1
  127. package/dist/src/evals/runner/reporters/braintrust.js +2 -2
  128. package/dist/src/evals/runner/reporters/console.js +1 -1
  129. package/dist/src/evals/runner/resolve-git-metadata.js +1 -1
  130. package/dist/src/evals/scorers/autoevals-client.js +2 -2
  131. package/dist/src/evals/scorers/autoevals.js +1 -1
  132. package/dist/src/evals/scorers/json.js +1 -1
  133. package/dist/src/evals/scorers/run.js +1 -1
  134. package/dist/src/evals/scorers/sql.js +1 -1
  135. package/dist/src/evals/scorers/text.js +1 -1
  136. package/dist/src/evals/scores/index.js +1 -1
  137. package/dist/src/execution/authorization-challenge-defaults.js +1 -60
  138. package/dist/src/execution/await-authorization-orchestrator.js +1 -192
  139. package/dist/src/execution/await-authorization-splice.js +1 -66
  140. package/dist/src/execution/connection-auth-steps.js +1 -338
  141. package/dist/src/execution/node-step.js +1 -146
  142. package/dist/src/execution/remote-agent-dispatch.js +1 -79
  143. package/dist/src/execution/runtime-context.js +1 -26
  144. package/dist/src/execution/runtime-errors.js +1 -19
  145. package/dist/src/execution/sandbox/bash-tool.js +1 -42
  146. package/dist/src/execution/sandbox/bindings/local.js +1 -296
  147. package/dist/src/execution/sandbox/bindings/vercel.js +1 -363
  148. package/dist/src/execution/sandbox/ensure.js +1 -91
  149. package/dist/src/execution/sandbox/glob-tool.js +3 -146
  150. package/dist/src/execution/sandbox/grep-tool.js +3 -183
  151. package/dist/src/execution/sandbox/lazy-backend.js +1 -33
  152. package/dist/src/execution/sandbox/prewarm.js +1 -132
  153. package/dist/src/execution/sandbox/read-file-tool.js +3 -118
  154. package/dist/src/execution/sandbox/require-sandbox.js +1 -32
  155. package/dist/src/execution/sandbox/ripgrep-probe.js +1 -36
  156. package/dist/src/execution/sandbox/session.js +3 -158
  157. package/dist/src/execution/sandbox/shell-quote.js +1 -14
  158. package/dist/src/execution/sandbox/stream-utils.js +1 -22
  159. package/dist/src/execution/sandbox/truncate-output.js +3 -110
  160. package/dist/src/execution/sandbox/write-file-tool.js +1 -62
  161. package/dist/src/execution/session-callback-step.js +1 -72
  162. package/dist/src/execution/session.js +3 -94
  163. package/dist/src/execution/skills/instructions.js +2 -30
  164. package/dist/src/execution/skills/types.js +1 -1
  165. package/dist/src/execution/subagent-adapter.js +1 -94
  166. package/dist/src/execution/subagent-hitl-proxy.js +1 -81
  167. package/dist/src/execution/subagent-invocation.js +2 -16
  168. package/dist/src/execution/subagent-tool.js +1 -48
  169. package/dist/src/execution/tool-compaction.js +1 -54
  170. package/dist/src/execution/turn-workflow.js +1 -95
  171. package/dist/src/execution/web-fetch/html.js +7 -60
  172. package/dist/src/execution/web-fetch/tool.js +1 -90
  173. package/dist/src/execution/workflow-entry.js +1 -494
  174. package/dist/src/execution/workflow-errors.js +1 -54
  175. package/dist/src/execution/workflow-runtime.js +3 -161
  176. package/dist/src/execution/workflow-steps.js +1 -467
  177. package/dist/src/harness/action-result-helpers.js +1 -82
  178. package/dist/src/harness/attachment-staging.js +1 -303
  179. package/dist/src/harness/compaction.js +4 -221
  180. package/dist/src/harness/emission.js +1 -323
  181. package/dist/src/harness/execute-tool.js +1 -1
  182. package/dist/src/harness/input-extraction.js +1 -62
  183. package/dist/src/harness/input-requests.js +1 -306
  184. package/dist/src/harness/instrumentation-config.js +1 -42
  185. package/dist/src/harness/messages.js +1 -144
  186. package/dist/src/harness/model-call-error.js +1 -368
  187. package/dist/src/harness/otel-integration.js +1 -18
  188. package/dist/src/harness/prompt-cache.js +1 -137
  189. package/dist/src/harness/provider-tools.js +1 -137
  190. package/dist/src/harness/proxy-input-requests.js +1 -91
  191. package/dist/src/harness/runtime-actions.js +1 -321
  192. package/dist/src/harness/step-hooks.js +1 -192
  193. package/dist/src/harness/tool-loop.js +1 -877
  194. package/dist/src/harness/tool-result-pruning.js +1 -124
  195. package/dist/src/harness/tools.js +1 -98
  196. package/dist/src/harness/types.js +1 -1
  197. package/dist/src/index.js +1 -1
  198. package/dist/src/internal/application/cache-metadata.js +1 -42
  199. package/dist/src/internal/application/compiled-artifacts.js +4 -114
  200. package/dist/src/internal/application/import-specifier.js +1 -58
  201. package/dist/src/internal/application/package.js +1 -196
  202. package/dist/src/internal/application/paths.js +1 -117
  203. package/dist/src/internal/application/runtime-compiled-artifacts-source.js +1 -11
  204. package/dist/src/internal/attachments/data.js +1 -127
  205. package/dist/src/internal/attachments/errors.js +1 -26
  206. package/dist/src/internal/attachments/refs.js +1 -94
  207. package/dist/src/internal/attachments/sandbox-refs.js +1 -78
  208. package/dist/src/internal/attachments/url-refs.js +1 -20
  209. package/dist/src/internal/authored-asset-import-plugin.js +1 -141
  210. package/dist/src/internal/authored-definition/channel.js +1 -21
  211. package/dist/src/internal/authored-definition/connection.js +1 -148
  212. package/dist/src/internal/authored-definition/core.js +1 -180
  213. package/dist/src/internal/authored-definition/sandbox.js +1 -47
  214. package/dist/src/internal/authored-definition/schema-backed.js +1 -56
  215. package/dist/src/internal/authored-module-bundle.js +2 -19
  216. package/dist/src/internal/authored-module-loader.js +2 -263
  217. package/dist/src/internal/authored-module-map-loader.js +1 -53
  218. package/dist/src/internal/authored-module.js +1 -81
  219. package/dist/src/internal/authored-package-tsconfig-paths.js +1 -209
  220. package/dist/src/internal/bundler/nitro-rolldown.js +1 -42
  221. package/dist/src/internal/helpers/markdown.js +3 -174
  222. package/dist/src/internal/json-schema.js +1 -13
  223. package/dist/src/internal/logging.js +1 -226
  224. package/dist/src/internal/nitro/host/artifacts-config.js +1 -17
  225. package/dist/src/internal/nitro/host/build-application.js +1 -177
  226. package/dist/src/internal/nitro/host/build-vercel-agent-summary.js +1 -140
  227. package/dist/src/internal/nitro/host/channel-routes.js +2 -126
  228. package/dist/src/internal/nitro/host/compiled-sandbox-backend-prune-plugin.js +2 -28
  229. package/dist/src/internal/nitro/host/configure-nitro-routes.js +4 -272
  230. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -491
  231. package/dist/src/internal/nitro/host/cron-handler-route.js +1 -49
  232. package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -390
  233. package/dist/src/internal/nitro/host/nitro-bundler-config.js +1 -10
  234. package/dist/src/internal/nitro/host/nitro-routing-import-specifier-plugin.js +1 -28
  235. package/dist/src/internal/nitro/host/prepare-application-host.js +1 -32
  236. package/dist/src/internal/nitro/host/schedule-task-routes.js +2 -148
  237. package/dist/src/internal/nitro/host/server-external-packages.js +1 -107
  238. package/dist/src/internal/nitro/host/start-development-server.js +1 -223
  239. package/dist/src/internal/nitro/host/types.js +1 -1
  240. package/dist/src/internal/nitro/host/vercel-build-output-config.js +1 -14
  241. package/dist/src/internal/nitro/host/vercel-build-prewarm.js +1 -30
  242. package/dist/src/internal/nitro/host.js +1 -2
  243. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +2 -180
  244. package/dist/src/internal/nitro/routes/agent-info/load-agent-info-data.js +1 -46
  245. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -74
  246. package/dist/src/internal/nitro/routes/health.js +1 -17
  247. package/dist/src/internal/nitro/routes/index.js +2 -89
  248. package/dist/src/internal/nitro/routes/info.js +1 -50
  249. package/dist/src/internal/nitro/routes/runtime-artifacts.js +1 -24
  250. package/dist/src/internal/nitro/routes/runtime-stack.js +1 -23
  251. package/dist/src/internal/nitro/routes/schedule-task.js +1 -57
  252. package/dist/src/internal/nitro/routes/workflow-data.js +1 -141
  253. package/dist/src/internal/nitro/routes/workflow-route-helpers.js +1 -137
  254. package/dist/src/internal/nitro/routes/workflow-run-events.js +1 -41
  255. package/dist/src/internal/nitro/routes/workflow-run-steps.js +1 -41
  256. package/dist/src/internal/nitro/routes/workflow-run.js +1 -34
  257. package/dist/src/internal/nitro/routes/workflow-runs.js +1 -28
  258. package/dist/src/internal/node-esm-compat-banner.js +2 -65
  259. package/dist/src/internal/package-name.js +1 -8
  260. package/dist/src/internal/process/pnpm.js +1 -50
  261. package/dist/src/internal/runtime-model.js +1 -24
  262. package/dist/src/internal/runtime-registry.js +1 -93
  263. package/dist/src/internal/vercel-agent-summary.js +1 -72
  264. package/dist/src/internal/workflow/builtins.js +1 -18
  265. package/dist/src/internal/workflow/index.js +1 -9
  266. package/dist/src/internal/workflow-bundle/ash-service-route-output.js +3 -93
  267. package/dist/src/internal/workflow-bundle/builder-support.js +5 -372
  268. package/dist/src/internal/workflow-bundle/builder.js +5 -472
  269. package/dist/src/internal/workflow-bundle/nitro-step-entry.js +2 -132
  270. package/dist/src/internal/workflow-bundle/vercel-workflow-output.js +3 -494
  271. package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -292
  272. package/dist/src/internal/workflow-bundle/workflow-core-shim.js +1 -84
  273. package/dist/src/internal/workflow-bundle/workflow-transformer.js +5 -318
  274. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/ajv.js +1 -0
  275. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js +1 -0
  276. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js +2 -0
  277. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js +1 -0
  278. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js +1 -0
  279. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/index.js +1 -0
  280. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js +1 -0
  281. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js +1 -0
  282. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js +1 -0
  283. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js +1 -0
  284. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js +1 -0
  285. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js +1 -0
  286. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js +1 -0
  287. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js +4 -0
  288. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js +1 -0
  289. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js +1 -0
  290. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js +1 -0
  291. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js +1 -0
  292. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/core.js +1 -0
  293. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/data.js +1 -0
  294. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-draft-07.js +1 -0
  295. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js +1 -0
  296. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js +1 -0
  297. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js +1 -0
  298. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/validation_error.js +1 -0
  299. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +1 -0
  300. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +1 -0
  301. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +1 -0
  302. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +1 -0
  303. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +1 -0
  304. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +4 -0
  305. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js +1 -0
  306. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -0
  307. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js +1 -0
  308. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +1 -0
  309. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js +1 -0
  310. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +1 -0
  311. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +1 -0
  312. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +1 -0
  313. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +1 -0
  314. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +1 -0
  315. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +1 -0
  316. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js +1 -0
  317. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/id.js +1 -0
  318. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js +1 -0
  319. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js +1 -0
  320. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -0
  321. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/types.js +1 -0
  322. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft7.js +1 -0
  323. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js +1 -0
  324. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/index.js +1 -0
  325. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/metadata.js +1 -0
  326. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js +1 -0
  327. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js +1 -0
  328. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js +1 -0
  329. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +1 -0
  330. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +1 -0
  331. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +1 -0
  332. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +1 -0
  333. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +1 -0
  334. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +1 -0
  335. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js +1 -0
  336. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +1 -0
  337. package/dist/src/node_modules/.pnpm/autoevals@0.0.132_ws@8.21.0/node_modules/autoevals/jsdist/index.js +384 -0
  338. package/dist/src/node_modules/.pnpm/compute-cosine-similarity@1.1.0/node_modules/compute-cosine-similarity/lib/index.js +1 -0
  339. package/dist/src/node_modules/.pnpm/compute-dot@1.1.0/node_modules/compute-dot/lib/index.js +1 -0
  340. package/dist/src/node_modules/.pnpm/compute-l2norm@1.1.0/node_modules/compute-l2norm/lib/index.js +1 -0
  341. package/dist/src/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +1 -0
  342. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/index.js +1 -0
  343. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/schemes.js +1 -0
  344. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/utils.js +1 -0
  345. package/dist/src/node_modules/.pnpm/js-levenshtein@1.1.6/node_modules/js-levenshtein/index.js +1 -0
  346. package/dist/src/node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.js +32 -0
  347. package/dist/src/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +1 -0
  348. package/dist/src/node_modules/.pnpm/mustache@4.2.0/node_modules/mustache/mustache.js +4 -0
  349. 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
  350. 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
  351. 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
  352. 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
  353. 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
  354. 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
  355. 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
  356. 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
  357. 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
  358. 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
  359. 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
  360. 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
  361. 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
  362. 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
  363. 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
  364. 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
  365. 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
  366. 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
  367. 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
  368. 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
  369. 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
  370. 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
  371. 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
  372. 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
  373. 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
  374. 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
  375. 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
  376. 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
  377. 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
  378. 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
  379. 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
  380. 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
  381. 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
  382. 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
  383. 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
  384. 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
  385. 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
  386. 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
  387. 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
  388. 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
  389. 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
  390. 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
  391. 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
  392. 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
  393. 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
  394. 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
  395. 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
  396. 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
  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/admin-api-keys.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/audit-logs.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/certificates.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/data-retention.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/groups/groups.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/groups/roles.js +1 -0
  403. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/groups/users.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/invites.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/organization.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/api-keys.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/certificates.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/data-retention.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/groups/groups.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/groups/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/hosted-tool-permissions.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/model-permissions.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/projects.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/rate-limits.js +1 -0
  415. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/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/projects/service-accounts.js +1 -0
  417. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/spend-alerts.js +1 -0
  418. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/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/projects/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/admin/organization/roles.js +1 -0
  421. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/spend-alerts.js +1 -0
  422. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/usage.js +1 -0
  423. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/users/roles.js +1 -0
  424. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/users/users.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/audio/audio.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/audio/speech.js +1 -0
  427. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/transcriptions.js +1 -0
  428. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/translations.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/batches.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/assistants.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/beta.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/chatkit/chatkit.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/chatkit/sessions.js +1 -0
  434. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/chatkit/threads.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/realtime/realtime.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/realtime/sessions.js +1 -0
  437. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/realtime/transcription-sessions.js +1 -0
  438. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/messages.js +1 -0
  439. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/runs/runs.js +1 -0
  440. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/runs/steps.js +1 -0
  441. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/threads.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/chat/chat.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/chat/completions/completions.js +1 -0
  444. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/completions/index.js +1 -0
  445. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/completions/messages.js +1 -0
  446. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/index.js +1 -0
  447. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/completions.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/containers/containers.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/containers/files/content.js +1 -0
  450. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/containers/files/files.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/conversations/conversations.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/conversations/items.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/embeddings.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/evals/evals.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/evals/runs/output-items.js +1 -0
  456. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/evals/runs/runs.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/files.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/alpha/alpha.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/alpha/graders.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/checkpoints/checkpoints.js +1 -0
  461. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/checkpoints/permissions.js +1 -0
  462. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/fine-tuning.js +1 -0
  463. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/jobs/checkpoints.js +1 -0
  464. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/jobs/jobs.js +1 -0
  465. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/methods.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/graders/grader-models.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/graders/graders.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/images.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/index.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/models.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/moderations.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/realtime/calls.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/realtime/client-secrets.js +1 -0
  474. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/realtime/realtime.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/responses/input-items.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/responses/input-tokens.js +1 -0
  477. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/responses/responses.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/shared.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/skills/content.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/skills/skills.js +1 -0
  481. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/versions/content.js +1 -0
  482. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/versions/versions.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/uploads/parts.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/uploads/uploads.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/vector-stores/file-batches.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/vector-stores/files.js +1 -0
  487. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/vector-stores/vector-stores.js +1 -0
  488. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/videos.js +1 -0
  489. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/webhooks/index.js +1 -0
  490. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/webhooks/webhooks.js +1 -0
  491. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/webhooks.js +1 -0
  492. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/streaming.js +1 -0
  493. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/version.js +1 -0
  494. package/dist/src/node_modules/.pnpm/validate.io-array@1.0.6/node_modules/validate.io-array/lib/index.js +1 -0
  495. package/dist/src/node_modules/.pnpm/validate.io-function@1.0.2/node_modules/validate.io-function/lib/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/Options.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/Refs.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/errorMessages.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/getRelativePath.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/index.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/parseDef.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/parseTypes.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/any.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/array.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/bigint.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/boolean.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/branded.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/catch.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/date.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/default.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/effects.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/enum.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/intersection.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/literal.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/map.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/nativeEnum.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/never.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/null.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/nullable.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/number.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/object.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/optional.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/pipeline.js +1 -0
  524. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/promise.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/readonly.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/record.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/set.js +1 -0
  528. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +3 -0
  529. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +1 -0
  530. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +1 -0
  531. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +1 -0
  532. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +1 -0
  533. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/selectParser.js +1 -0
  534. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +1 -0
  535. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.js +1 -0
  536. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +1 -0
  537. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +1 -0
  538. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.js +1 -0
  539. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +1 -0
  540. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +1 -0
  541. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  542. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +1 -0
  543. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.js +1 -0
  544. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +1 -0
  545. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +1 -0
  546. package/dist/src/packages/ash-scaffold/src/channels.js +7 -0
  547. package/dist/src/packages/ash-scaffold/src/files.js +1 -0
  548. package/dist/src/packages/ash-scaffold/src/index.js +1 -0
  549. package/dist/src/packages/ash-scaffold/src/module-files.js +1 -0
  550. package/dist/src/packages/ash-scaffold/src/package-json.js +1 -0
  551. package/dist/src/packages/ash-scaffold/src/project.js +1 -0
  552. package/dist/src/protocol/message.js +2 -501
  553. package/dist/src/protocol/routes.js +1 -85
  554. package/dist/src/public/agents/auth.js +1 -37
  555. package/dist/src/public/channels/ash.js +2 -346
  556. package/dist/src/public/channels/auth.js +1 -414
  557. package/dist/src/public/channels/discord/api.js +2 -167
  558. package/dist/src/public/channels/discord/defaults.js +3 -74
  559. package/dist/src/public/channels/discord/discordChannel.js +1 -402
  560. package/dist/src/public/channels/discord/hitl.js +1 -194
  561. package/dist/src/public/channels/discord/inbound.js +2 -238
  562. package/dist/src/public/channels/discord/index.js +1 -6
  563. package/dist/src/public/channels/discord/responses.js +1 -40
  564. package/dist/src/public/channels/discord/verify.js +1 -72
  565. package/dist/src/public/channels/discord/verifyInbound.js +1 -19
  566. package/dist/src/public/channels/index.js +1 -1
  567. package/dist/src/public/channels/slack/api-encoding.js +1 -40
  568. package/dist/src/public/channels/slack/api.js +1 -333
  569. package/dist/src/public/channels/slack/attachments.js +1 -156
  570. package/dist/src/public/channels/slack/blocks.js +3 -266
  571. package/dist/src/public/channels/slack/connections.js +1 -70
  572. package/dist/src/public/channels/slack/constants.js +1 -7
  573. package/dist/src/public/channels/slack/defaults.js +4 -211
  574. package/dist/src/public/channels/slack/hitl.js +1 -242
  575. package/dist/src/public/channels/slack/inbound.js +2 -149
  576. package/dist/src/public/channels/slack/index.js +1 -13
  577. package/dist/src/public/channels/slack/interactions.js +1 -315
  578. package/dist/src/public/channels/slack/limits.js +1 -75
  579. package/dist/src/public/channels/slack/mrkdwn.js +1 -89
  580. package/dist/src/public/channels/slack/slackChannel.js +1 -251
  581. package/dist/src/public/channels/slack/thread.js +1 -45
  582. package/dist/src/public/channels/slack/verify.js +1 -70
  583. package/dist/src/public/channels/teams/api.d.ts +140 -0
  584. package/dist/src/public/channels/teams/api.js +4 -0
  585. package/dist/src/public/channels/teams/attachments.d.ts +25 -0
  586. package/dist/src/public/channels/teams/attachments.js +1 -0
  587. package/dist/src/public/channels/teams/defaults.d.ts +24 -0
  588. package/dist/src/public/channels/teams/defaults.js +3 -0
  589. package/dist/src/public/channels/teams/hitl.d.ts +36 -0
  590. package/dist/src/public/channels/teams/hitl.js +1 -0
  591. package/dist/src/public/channels/teams/inbound.d.ts +80 -0
  592. package/dist/src/public/channels/teams/inbound.js +3 -0
  593. package/dist/src/public/channels/teams/index.d.ts +8 -0
  594. package/dist/src/public/channels/teams/index.js +1 -0
  595. package/dist/src/public/channels/teams/limits.d.ts +8 -0
  596. package/dist/src/public/channels/teams/limits.js +1 -0
  597. package/dist/src/public/channels/teams/teamsChannel.d.ts +162 -0
  598. package/dist/src/public/channels/teams/teamsChannel.js +1 -0
  599. package/dist/src/public/channels/teams/verify.d.ts +43 -0
  600. package/dist/src/public/channels/teams/verify.js +1 -0
  601. package/dist/src/public/channels/telegram/api.d.ts +107 -0
  602. package/dist/src/public/channels/telegram/api.js +2 -0
  603. package/dist/src/public/channels/telegram/attachments.d.ts +23 -0
  604. package/dist/src/public/channels/telegram/attachments.js +1 -0
  605. package/dist/src/public/channels/telegram/defaults.d.ts +9 -0
  606. package/dist/src/public/channels/telegram/defaults.js +3 -0
  607. package/dist/src/public/channels/telegram/hitl.d.ts +44 -0
  608. package/dist/src/public/channels/telegram/hitl.js +1 -0
  609. package/dist/src/public/channels/telegram/inbound.d.ts +88 -0
  610. package/dist/src/public/channels/telegram/inbound.js +2 -0
  611. package/dist/src/public/channels/telegram/index.d.ts +8 -0
  612. package/dist/src/public/channels/telegram/index.js +1 -0
  613. package/dist/src/public/channels/telegram/telegramChannel.d.ts +126 -0
  614. package/dist/src/public/channels/telegram/telegramChannel.js +1 -0
  615. package/dist/src/public/channels/telegram/verify.d.ts +30 -0
  616. package/dist/src/public/channels/telegram/verify.js +1 -0
  617. package/dist/src/public/channels/twilio/api.js +1 -103
  618. package/dist/src/public/channels/twilio/defaults.js +3 -69
  619. package/dist/src/public/channels/twilio/inbound.js +2 -123
  620. package/dist/src/public/channels/twilio/index.js +1 -4
  621. package/dist/src/public/channels/twilio/twilioChannel.js +1 -316
  622. package/dist/src/public/channels/twilio/twiml.js +1 -58
  623. package/dist/src/public/channels/twilio/verify.js +1 -73
  624. package/dist/src/public/channels/upload-policy.js +1 -170
  625. package/dist/src/public/connections/errors.js +1 -53
  626. package/dist/src/public/connections/index.js +1 -6
  627. package/dist/src/public/context/index.js +1 -13
  628. package/dist/src/public/definitions/agent.js +1 -6
  629. package/dist/src/public/definitions/channel.js +1 -24
  630. package/dist/src/public/definitions/connections/mcp.js +1 -20
  631. package/dist/src/public/definitions/defineChannel.js +1 -74
  632. package/dist/src/public/definitions/hook.js +1 -11
  633. package/dist/src/public/definitions/instructions.js +1 -7
  634. package/dist/src/public/definitions/instrumentation.js +1 -13
  635. package/dist/src/public/definitions/remote-agent.js +1 -11
  636. package/dist/src/public/definitions/sandbox-backend.js +1 -13
  637. package/dist/src/public/definitions/sandbox.js +1 -6
  638. package/dist/src/public/definitions/schedule.js +1 -32
  639. package/dist/src/public/definitions/skill.js +1 -7
  640. package/dist/src/public/definitions/source.js +1 -1
  641. package/dist/src/public/definitions/state.js +1 -34
  642. package/dist/src/public/definitions/tool.js +1 -27
  643. package/dist/src/public/hooks/index.js +1 -9
  644. package/dist/src/public/index.js +1 -5
  645. package/dist/src/public/instructions/index.js +1 -4
  646. package/dist/src/public/instrumentation/index.js +1 -4
  647. package/dist/src/public/next/index.js +1 -148
  648. package/dist/src/public/next/server.js +1 -348
  649. package/dist/src/public/next/vercel-json.js +1 -77
  650. package/dist/src/public/sandbox/backends/default.js +1 -15
  651. package/dist/src/public/sandbox/backends/local.js +1 -18
  652. package/dist/src/public/sandbox/backends/vercel.js +1 -25
  653. package/dist/src/public/sandbox/index.js +1 -10
  654. package/dist/src/public/sandbox/local-sandbox.js +1 -1
  655. package/dist/src/public/sandbox/vercel-sandbox.js +1 -1
  656. package/dist/src/public/schedules/index.js +1 -4
  657. package/dist/src/public/skills/index.js +1 -5
  658. package/dist/src/public/tool-result-narrowing.js +1 -87
  659. package/dist/src/public/tools/approval/approval-helpers.js +1 -22
  660. package/dist/src/public/tools/approval/index.js +1 -4
  661. package/dist/src/public/tools/defaults.js +1 -70
  662. package/dist/src/public/tools/define-bash-tool.js +1 -14
  663. package/dist/src/public/tools/define-glob-tool.js +1 -21
  664. package/dist/src/public/tools/define-grep-tool.js +1 -21
  665. package/dist/src/public/tools/define-read-file-tool.js +1 -27
  666. package/dist/src/public/tools/define-write-file-tool.js +1 -21
  667. package/dist/src/public/tools/index.js +1 -10
  668. package/dist/src/public/tools/internal.js +1 -24
  669. package/dist/src/public/types/json.js +1 -13
  670. package/dist/src/react/index.js +1 -3
  671. package/dist/src/react/use-ash-agent.js +2 -348
  672. package/dist/src/runtime/actions/keys.js +1 -30
  673. package/dist/src/runtime/actions/types.js +1 -99
  674. package/dist/src/runtime/agent/bootstrap-model-utils.js +1 -148
  675. package/dist/src/runtime/agent/bootstrap-model.js +1 -36
  676. package/dist/src/runtime/agent/bootstrap.js +1 -49
  677. package/dist/src/runtime/agent/mock-model-adapter.js +7 -358
  678. package/dist/src/runtime/agent/resolve-model.js +1 -48
  679. package/dist/src/runtime/cache-key.js +1 -52
  680. package/dist/src/runtime/channels/registry.js +1 -133
  681. package/dist/src/runtime/compiled-artifacts-source.js +1 -42
  682. package/dist/src/runtime/connections/authorization-complete-page.js +2 -21
  683. package/dist/src/runtime/connections/authorization-tokens.js +1 -66
  684. package/dist/src/runtime/connections/callback-route.js +1 -139
  685. package/dist/src/runtime/connections/mcp-client.js +1 -307
  686. package/dist/src/runtime/connections/principal-context.js +1 -111
  687. package/dist/src/runtime/connections/principal.js +1 -106
  688. package/dist/src/runtime/connections/registry.js +1 -61
  689. package/dist/src/runtime/connections/types.js +1 -41
  690. package/dist/src/runtime/connections/validate-authorization.js +1 -92
  691. package/dist/src/runtime/framework-channels/index.js +1 -38
  692. package/dist/src/runtime/framework-tools/ask-question.js +1 -30
  693. package/dist/src/runtime/framework-tools/bash.js +1 -40
  694. package/dist/src/runtime/framework-tools/connection-search.js +1 -224
  695. package/dist/src/runtime/framework-tools/connection-tools.js +1 -103
  696. package/dist/src/runtime/framework-tools/file-state.js +1 -71
  697. package/dist/src/runtime/framework-tools/glob.js +2 -56
  698. package/dist/src/runtime/framework-tools/grep.js +2 -75
  699. package/dist/src/runtime/framework-tools/index.js +1 -52
  700. package/dist/src/runtime/framework-tools/pending-connection-tool-calls.js +1 -63
  701. package/dist/src/runtime/framework-tools/read-file.js +2 -64
  702. package/dist/src/runtime/framework-tools/skill.js +1 -47
  703. package/dist/src/runtime/framework-tools/todo.js +3 -122
  704. package/dist/src/runtime/framework-tools/web-fetch.js +2 -42
  705. package/dist/src/runtime/framework-tools/web-search.js +1 -15
  706. package/dist/src/runtime/framework-tools/write-file.js +2 -48
  707. package/dist/src/runtime/governance/auth/http-basic.js +1 -63
  708. package/dist/src/runtime/governance/auth/jwt-ecdsa.js +1 -69
  709. package/dist/src/runtime/governance/auth/jwt-hmac.js +1 -39
  710. package/dist/src/runtime/governance/auth/oidc.js +1 -126
  711. package/dist/src/runtime/governance/auth/token-claims.js +1 -84
  712. package/dist/src/runtime/governance/auth/types.js +1 -14
  713. package/dist/src/runtime/governance/network/ip-allow-list.js +1 -66
  714. package/dist/src/runtime/graph.js +1 -17
  715. package/dist/src/runtime/hooks/registry.js +1 -55
  716. package/dist/src/runtime/input/types.js +1 -63
  717. package/dist/src/runtime/loaders/artifact-paths.js +1 -26
  718. package/dist/src/runtime/loaders/bundled-artifacts.js +1 -21
  719. package/dist/src/runtime/loaders/compile-metadata.js +1 -92
  720. package/dist/src/runtime/loaders/manifest.js +1 -56
  721. package/dist/src/runtime/loaders/module-map.js +1 -64
  722. package/dist/src/runtime/prompt/compose.js +2 -47
  723. package/dist/src/runtime/prompt/connections.js +2 -23
  724. package/dist/src/runtime/resolve-agent-graph.js +1 -287
  725. package/dist/src/runtime/resolve-agent.js +1 -134
  726. package/dist/src/runtime/resolve-channel.js +1 -62
  727. package/dist/src/runtime/resolve-connection.js +1 -72
  728. package/dist/src/runtime/resolve-helpers.js +1 -58
  729. package/dist/src/runtime/resolve-hook.js +1 -67
  730. package/dist/src/runtime/resolve-sandbox.js +1 -65
  731. package/dist/src/runtime/resolve-tool.js +1 -110
  732. package/dist/src/runtime/sandbox/keys.js +1 -72
  733. package/dist/src/runtime/sandbox/registry.js +1 -42
  734. package/dist/src/runtime/schedules/register.js +1 -62
  735. package/dist/src/runtime/schedules/resolve-schedule.js +1 -66
  736. package/dist/src/runtime/session-callback-route.js +1 -87
  737. package/dist/src/runtime/sessions/auth.js +1 -18
  738. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -125
  739. package/dist/src/runtime/sessions/runtime-session.js +1 -50
  740. package/dist/src/runtime/sessions/turn.js +1 -1
  741. package/dist/src/runtime/skills/fragment-context.js +1 -4
  742. package/dist/src/runtime/skills/sandbox-access.js +1 -85
  743. package/dist/src/runtime/subagents/registry.js +1 -62
  744. package/dist/src/runtime/tools/registry.js +1 -40
  745. package/dist/src/runtime/types.js +1 -1
  746. package/dist/src/runtime/validation.js +1 -7
  747. package/dist/src/runtime/workspace/seed-files.js +1 -42
  748. package/dist/src/runtime/workspace/spec.js +2 -22
  749. package/dist/src/runtime/workspace/types.js +1 -9
  750. package/dist/src/sandbox/state.js +1 -1
  751. package/dist/src/services/dev-client/request-headers.js +1 -197
  752. package/dist/src/services/dev-client/stream.js +1 -7
  753. package/dist/src/services/dev-client/url.js +1 -25
  754. package/dist/src/services/dev-client/vercel-auth-error.js +2 -98
  755. package/dist/src/services/dev-client.js +1 -48
  756. package/dist/src/services/inspect-application.js +1 -45
  757. package/dist/src/shared/agent-definition.js +1 -1
  758. package/dist/src/shared/errors.js +1 -66
  759. package/dist/src/shared/guards.js +1 -35
  760. package/dist/src/shared/json-schemas.js +1 -41
  761. package/dist/src/shared/json.js +1 -80
  762. package/dist/src/shared/node.js +1 -1
  763. package/dist/src/shared/optional.js +1 -1
  764. package/dist/src/shared/run-mode.js +1 -1
  765. package/dist/src/shared/sandbox-backend.js +1 -1
  766. package/dist/src/shared/sandbox-definition.js +1 -1
  767. package/dist/src/shared/sandbox-session.js +1 -1
  768. package/dist/src/shared/skill-definition.js +1 -1
  769. package/dist/src/shared/skill-package.js +1 -100
  770. package/dist/src/shared/source-ref.js +1 -1
  771. package/dist/src/shared/tool-definition.js +1 -1
  772. package/package.json +14 -4
  773. package/dist/src/chunks/authored-module-loader-DcCfCiBm.js +0 -4
  774. package/dist/src/chunks/chunk-DSjMdhoD.js +0 -1
  775. package/dist/src/chunks/client-ZqNLLMZB.js +0 -4
  776. package/dist/src/chunks/compile-agent-DrIyb818.js +0 -5
  777. package/dist/src/chunks/dev-authored-source-watcher-C1WUVv9F.js +0 -1
  778. package/dist/src/chunks/errors-HYWjHxV6.js +0 -1
  779. package/dist/src/chunks/guards-26p6sOw3.js +0 -1
  780. package/dist/src/chunks/host-CwAcCrg7.js +0 -70
  781. package/dist/src/chunks/input-requests-DJiy6dG9.js +0 -1
  782. package/dist/src/chunks/jsdist-BkeWZ7EZ.js +0 -443
  783. package/dist/src/chunks/paths-CWZN-XRX.js +0 -85
  784. package/dist/src/chunks/picocolors-aAkqW4On.js +0 -1
  785. package/dist/src/chunks/runtime-model-Dh0Nz64z.js +0 -1
  786. package/dist/src/chunks/token-YW4VSeBB.js +0 -1
  787. 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};