experimental-ash 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (748) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/docs/public/subagents.md +38 -0
  3. package/dist/src/_virtual/_rolldown/runtime.js +1 -0
  4. package/dist/src/channel/adapter-context.js +1 -24
  5. package/dist/src/channel/adapter.js +1 -62
  6. package/dist/src/channel/compiled-channel.js +1 -6
  7. package/dist/src/channel/cross-channel-receive.js +2 -108
  8. package/dist/src/channel/http.js +1 -30
  9. package/dist/src/channel/receive-args.js +1 -1
  10. package/dist/src/channel/resolve-text.js +1 -59
  11. package/dist/src/channel/routes.js +1 -15
  12. package/dist/src/channel/schedule.js +1 -81
  13. package/dist/src/channel/send.js +1 -81
  14. package/dist/src/channel/session-callback.js +1 -65
  15. package/dist/src/channel/session.js +1 -58
  16. package/dist/src/channel/types.js +1 -1
  17. package/dist/src/cli/commands/channels.js +3 -9
  18. package/dist/src/cli/commands/info.js +2 -2
  19. package/dist/src/cli/dev/environment.js +1 -1
  20. package/dist/src/cli/dev/input-requests.js +1 -1
  21. package/dist/src/cli/dev/input.js +1 -1
  22. package/dist/src/cli/dev/repl.js +2 -3
  23. package/dist/src/cli/dev/terminal.js +5 -5
  24. package/dist/src/cli/dev/url.js +1 -1
  25. package/dist/src/cli/run.js +2 -2
  26. package/dist/src/cli/ui/output.js +8 -8
  27. package/dist/src/client/client-error.js +1 -19
  28. package/dist/src/client/client.js +1 -128
  29. package/dist/src/client/index.js +1 -11
  30. package/dist/src/client/message-reducer-types.js +1 -1
  31. package/dist/src/client/message-reducer.js +1 -456
  32. package/dist/src/client/message-response.js +1 -55
  33. package/dist/src/client/ndjson.js +3 -62
  34. package/dist/src/client/open-stream.js +1 -45
  35. package/dist/src/client/reducer.js +1 -1
  36. package/dist/src/client/session-utils.js +1 -62
  37. package/dist/src/client/session.js +1 -206
  38. package/dist/src/client/types.js +1 -1
  39. package/dist/src/client/url.js +1 -34
  40. package/dist/src/compiled/.vendor-stamp.json +6 -1
  41. package/dist/src/compiled/@vercel/oidc/LICENSE +202 -0
  42. package/dist/src/compiled/@vercel/oidc/index.d.ts +21 -0
  43. package/dist/src/compiled/@vercel/oidc/index.js +2 -0
  44. package/dist/src/compiled/@vercel/oidc/package.json +7 -0
  45. package/dist/src/compiled/chokidar/LICENSE +21 -0
  46. package/dist/src/compiled/chokidar/index.d.ts +33 -0
  47. package/dist/src/compiled/chokidar/index.js +1 -0
  48. package/dist/src/compiled/chokidar/package.json +7 -0
  49. package/dist/src/compiled/commander/LICENSE +22 -0
  50. package/dist/src/compiled/commander/index.d.ts +1113 -0
  51. package/dist/src/{chunks/url-JdCGA634.js → compiled/commander/index.js} +10 -10
  52. package/dist/src/compiled/commander/package.json +7 -0
  53. package/dist/src/compiled/gray-matter/LICENSE +21 -0
  54. package/dist/src/compiled/gray-matter/index.d.ts +62 -0
  55. package/dist/src/{chunks/gray-matter-D-9jHwOT.js → compiled/gray-matter/index.js} +2 -2
  56. package/dist/src/compiled/gray-matter/package.json +7 -0
  57. package/dist/src/compiled/picocolors/LICENSE +15 -0
  58. package/dist/src/compiled/picocolors/index.d.ts +55 -0
  59. package/dist/src/compiled/picocolors/index.js +1 -0
  60. package/dist/src/compiled/picocolors/package.json +7 -0
  61. package/dist/src/compiler/artifacts.js +1 -147
  62. package/dist/src/compiler/compile-agent.js +3 -76
  63. package/dist/src/compiler/compile-from-memory.js +1 -59
  64. package/dist/src/compiler/manifest.js +1 -424
  65. package/dist/src/compiler/model-catalog.js +1 -224
  66. package/dist/src/compiler/module-map.js +5 -295
  67. package/dist/src/compiler/normalize-agent-config.js +1 -157
  68. package/dist/src/compiler/normalize-channel.js +1 -51
  69. package/dist/src/compiler/normalize-connection.js +1 -58
  70. package/dist/src/compiler/normalize-helpers.js +1 -23
  71. package/dist/src/compiler/normalize-hook.js +1 -19
  72. package/dist/src/compiler/normalize-instructions.js +1 -28
  73. package/dist/src/compiler/normalize-manifest.js +1 -79
  74. package/dist/src/compiler/normalize-sandbox.js +1 -20
  75. package/dist/src/compiler/normalize-schedule.js +1 -38
  76. package/dist/src/compiler/normalize-skill.js +1 -60
  77. package/dist/src/compiler/normalize-subagent.js +1 -174
  78. package/dist/src/compiler/normalize-tool.js +1 -40
  79. package/dist/src/compiler/remote-agent-node.js +1 -19
  80. package/dist/src/compiler/workspace-resources.js +1 -85
  81. package/dist/src/context/accessors.js +1 -93
  82. package/dist/src/context/container.js +1 -89
  83. package/dist/src/context/hook-lifecycle.js +1 -242
  84. package/dist/src/context/key.js +1 -39
  85. package/dist/src/context/keys.js +1 -43
  86. package/dist/src/context/node.js +1 -9
  87. package/dist/src/context/provider.js +1 -1
  88. package/dist/src/context/providers/connection.js +1 -17
  89. package/dist/src/context/providers/sandbox.js +1 -46
  90. package/dist/src/context/providers/session.js +1 -18
  91. package/dist/src/context/run-step.js +1 -51
  92. package/dist/src/context/seed-keys.js +1 -37
  93. package/dist/src/context/serialize.js +1 -44
  94. package/dist/src/discover/connections.js +1 -153
  95. package/dist/src/discover/diagnostics.js +1 -82
  96. package/dist/src/discover/discover-agent.js +1 -159
  97. package/dist/src/discover/discover-subagent.js +1 -223
  98. package/dist/src/discover/filesystem.js +1 -215
  99. package/dist/src/discover/grammar.js +1 -371
  100. package/dist/src/discover/lib.js +1 -34
  101. package/dist/src/discover/manifest.js +1 -136
  102. package/dist/src/discover/markdown.js +1 -17
  103. package/dist/src/discover/named-source-directory.js +1 -188
  104. package/dist/src/discover/project-source.js +1 -152
  105. package/dist/src/discover/project.js +1 -117
  106. package/dist/src/discover/sandbox.js +1 -220
  107. package/dist/src/discover/schedules.js +1 -41
  108. package/dist/src/discover/skills.js +1 -274
  109. package/dist/src/discover/slots.js +1 -68
  110. package/dist/src/evals/cli/eval.js +1 -1
  111. package/dist/src/evals/define-eval-suite.js +1 -1
  112. package/dist/src/evals/index.js +1 -1
  113. package/dist/src/evals/loaders/index.js +1 -1
  114. package/dist/src/evals/loaders/json.js +1 -1
  115. package/dist/src/evals/loaders/yaml.js +1 -1
  116. package/dist/src/evals/reporters/index.js +1 -1
  117. package/dist/src/evals/runner/artifacts.js +3 -3
  118. package/dist/src/evals/runner/derive-run-facts.js +1 -1
  119. package/dist/src/evals/runner/discover.js +1 -1
  120. package/dist/src/evals/runner/execute-case.js +1 -1
  121. package/dist/src/evals/runner/execute-suite.js +1 -1
  122. package/dist/src/evals/runner/reporters/braintrust.js +2 -2
  123. package/dist/src/evals/runner/reporters/console.js +1 -1
  124. package/dist/src/evals/runner/resolve-git-metadata.js +1 -1
  125. package/dist/src/evals/scorers/autoevals-client.js +2 -2
  126. package/dist/src/evals/scorers/autoevals.js +1 -1
  127. package/dist/src/evals/scorers/json.js +1 -1
  128. package/dist/src/evals/scorers/run.js +1 -1
  129. package/dist/src/evals/scorers/sql.js +1 -1
  130. package/dist/src/evals/scorers/text.js +1 -1
  131. package/dist/src/evals/scores/index.js +1 -1
  132. package/dist/src/execution/authorization-challenge-defaults.js +1 -60
  133. package/dist/src/execution/await-authorization-orchestrator.js +1 -192
  134. package/dist/src/execution/await-authorization-splice.js +1 -66
  135. package/dist/src/execution/connection-auth-steps.js +1 -338
  136. package/dist/src/execution/node-step.js +1 -146
  137. package/dist/src/execution/remote-agent-dispatch.js +1 -79
  138. package/dist/src/execution/runtime-context.js +1 -26
  139. package/dist/src/execution/runtime-errors.js +1 -19
  140. package/dist/src/execution/sandbox/bash-tool.js +1 -42
  141. package/dist/src/execution/sandbox/bindings/local.js +1 -296
  142. package/dist/src/execution/sandbox/bindings/vercel.js +1 -363
  143. package/dist/src/execution/sandbox/ensure.js +1 -91
  144. package/dist/src/execution/sandbox/glob-tool.js +3 -146
  145. package/dist/src/execution/sandbox/grep-tool.js +3 -183
  146. package/dist/src/execution/sandbox/lazy-backend.js +1 -33
  147. package/dist/src/execution/sandbox/prewarm.js +1 -132
  148. package/dist/src/execution/sandbox/read-file-tool.js +3 -118
  149. package/dist/src/execution/sandbox/require-sandbox.js +1 -32
  150. package/dist/src/execution/sandbox/ripgrep-probe.js +1 -36
  151. package/dist/src/execution/sandbox/session.js +3 -158
  152. package/dist/src/execution/sandbox/shell-quote.js +1 -14
  153. package/dist/src/execution/sandbox/stream-utils.js +1 -22
  154. package/dist/src/execution/sandbox/truncate-output.js +3 -110
  155. package/dist/src/execution/sandbox/write-file-tool.js +1 -62
  156. package/dist/src/execution/session-callback-step.js +1 -72
  157. package/dist/src/execution/session.js +3 -94
  158. package/dist/src/execution/skills/instructions.js +2 -30
  159. package/dist/src/execution/skills/types.js +1 -1
  160. package/dist/src/execution/subagent-adapter.js +1 -94
  161. package/dist/src/execution/subagent-hitl-proxy.js +1 -81
  162. package/dist/src/execution/subagent-invocation.js +2 -16
  163. package/dist/src/execution/subagent-tool.js +1 -48
  164. package/dist/src/execution/tool-compaction.js +1 -54
  165. package/dist/src/execution/turn-workflow.js +1 -95
  166. package/dist/src/execution/web-fetch/html.js +7 -60
  167. package/dist/src/execution/web-fetch/tool.js +1 -90
  168. package/dist/src/execution/workflow-entry.js +1 -494
  169. package/dist/src/execution/workflow-errors.js +1 -54
  170. package/dist/src/execution/workflow-runtime.js +3 -161
  171. package/dist/src/execution/workflow-steps.js +1 -467
  172. package/dist/src/harness/action-result-helpers.js +1 -82
  173. package/dist/src/harness/attachment-staging.js +1 -303
  174. package/dist/src/harness/compaction.js +4 -221
  175. package/dist/src/harness/emission.js +1 -323
  176. package/dist/src/harness/execute-tool.js +1 -1
  177. package/dist/src/harness/input-extraction.js +1 -62
  178. package/dist/src/harness/input-requests.js +1 -306
  179. package/dist/src/harness/instrumentation-config.js +1 -42
  180. package/dist/src/harness/messages.js +1 -144
  181. package/dist/src/harness/model-call-error.js +1 -368
  182. package/dist/src/harness/otel-integration.js +1 -18
  183. package/dist/src/harness/prompt-cache.js +1 -137
  184. package/dist/src/harness/provider-tools.js +1 -137
  185. package/dist/src/harness/proxy-input-requests.js +1 -91
  186. package/dist/src/harness/runtime-actions.js +1 -321
  187. package/dist/src/harness/step-hooks.js +1 -192
  188. package/dist/src/harness/tool-loop.js +1 -877
  189. package/dist/src/harness/tool-result-pruning.js +1 -124
  190. package/dist/src/harness/tools.js +1 -98
  191. package/dist/src/harness/types.js +1 -1
  192. package/dist/src/index.js +1 -1
  193. package/dist/src/internal/application/cache-metadata.js +1 -42
  194. package/dist/src/internal/application/compiled-artifacts.js +4 -114
  195. package/dist/src/internal/application/import-specifier.js +1 -58
  196. package/dist/src/internal/application/package.js +1 -196
  197. package/dist/src/internal/application/paths.js +1 -117
  198. package/dist/src/internal/application/runtime-compiled-artifacts-source.js +1 -11
  199. package/dist/src/internal/attachments/data.js +1 -127
  200. package/dist/src/internal/attachments/errors.js +1 -26
  201. package/dist/src/internal/attachments/refs.js +1 -94
  202. package/dist/src/internal/attachments/sandbox-refs.js +1 -78
  203. package/dist/src/internal/attachments/url-refs.js +1 -20
  204. package/dist/src/internal/authored-asset-import-plugin.js +1 -141
  205. package/dist/src/internal/authored-definition/channel.js +1 -21
  206. package/dist/src/internal/authored-definition/connection.js +1 -148
  207. package/dist/src/internal/authored-definition/core.js +1 -180
  208. package/dist/src/internal/authored-definition/sandbox.js +1 -47
  209. package/dist/src/internal/authored-definition/schema-backed.js +1 -56
  210. package/dist/src/internal/authored-module-bundle.js +2 -19
  211. package/dist/src/internal/authored-module-loader.js +2 -263
  212. package/dist/src/internal/authored-module-map-loader.js +1 -53
  213. package/dist/src/internal/authored-module.js +1 -81
  214. package/dist/src/internal/authored-package-tsconfig-paths.js +1 -209
  215. package/dist/src/internal/bundler/nitro-rolldown.js +1 -42
  216. package/dist/src/internal/helpers/markdown.js +3 -174
  217. package/dist/src/internal/json-schema.js +1 -13
  218. package/dist/src/internal/logging.js +1 -226
  219. package/dist/src/internal/nitro/host/artifacts-config.js +1 -17
  220. package/dist/src/internal/nitro/host/build-application.js +1 -177
  221. package/dist/src/internal/nitro/host/build-vercel-agent-summary.js +1 -140
  222. package/dist/src/internal/nitro/host/channel-routes.js +2 -126
  223. package/dist/src/internal/nitro/host/compiled-sandbox-backend-prune-plugin.js +2 -28
  224. package/dist/src/internal/nitro/host/configure-nitro-routes.js +4 -272
  225. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -491
  226. package/dist/src/internal/nitro/host/cron-handler-route.js +1 -49
  227. package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -390
  228. package/dist/src/internal/nitro/host/nitro-bundler-config.js +1 -10
  229. package/dist/src/internal/nitro/host/nitro-routing-import-specifier-plugin.js +1 -28
  230. package/dist/src/internal/nitro/host/prepare-application-host.js +1 -32
  231. package/dist/src/internal/nitro/host/schedule-task-routes.js +2 -148
  232. package/dist/src/internal/nitro/host/server-external-packages.js +1 -107
  233. package/dist/src/internal/nitro/host/start-development-server.js +1 -223
  234. package/dist/src/internal/nitro/host/types.js +1 -1
  235. package/dist/src/internal/nitro/host/vercel-build-output-config.js +1 -14
  236. package/dist/src/internal/nitro/host/vercel-build-prewarm.js +1 -30
  237. package/dist/src/internal/nitro/host.js +1 -2
  238. package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +2 -180
  239. package/dist/src/internal/nitro/routes/agent-info/load-agent-info-data.js +1 -46
  240. package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -74
  241. package/dist/src/internal/nitro/routes/health.js +1 -17
  242. package/dist/src/internal/nitro/routes/index.js +2 -89
  243. package/dist/src/internal/nitro/routes/info.js +1 -50
  244. package/dist/src/internal/nitro/routes/runtime-artifacts.js +1 -24
  245. package/dist/src/internal/nitro/routes/runtime-stack.js +1 -23
  246. package/dist/src/internal/nitro/routes/schedule-task.js +1 -57
  247. package/dist/src/internal/nitro/routes/workflow-data.js +1 -141
  248. package/dist/src/internal/nitro/routes/workflow-route-helpers.js +1 -137
  249. package/dist/src/internal/nitro/routes/workflow-run-events.js +1 -41
  250. package/dist/src/internal/nitro/routes/workflow-run-steps.js +1 -41
  251. package/dist/src/internal/nitro/routes/workflow-run.js +1 -34
  252. package/dist/src/internal/nitro/routes/workflow-runs.js +1 -28
  253. package/dist/src/internal/node-esm-compat-banner.js +2 -65
  254. package/dist/src/internal/package-name.js +1 -8
  255. package/dist/src/internal/process/pnpm.js +1 -50
  256. package/dist/src/internal/runtime-model.js +1 -24
  257. package/dist/src/internal/runtime-registry.js +1 -93
  258. package/dist/src/internal/vercel-agent-summary.js +1 -72
  259. package/dist/src/internal/workflow/builtins.js +1 -18
  260. package/dist/src/internal/workflow/index.js +1 -9
  261. package/dist/src/internal/workflow-bundle/ash-service-route-output.js +3 -93
  262. package/dist/src/internal/workflow-bundle/builder-support.js +5 -372
  263. package/dist/src/internal/workflow-bundle/builder.js +5 -472
  264. package/dist/src/internal/workflow-bundle/nitro-step-entry.js +2 -132
  265. package/dist/src/internal/workflow-bundle/vercel-workflow-output.js +3 -494
  266. package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -292
  267. package/dist/src/internal/workflow-bundle/workflow-core-shim.js +1 -84
  268. package/dist/src/internal/workflow-bundle/workflow-transformer.js +5 -318
  269. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/ajv.js +1 -0
  270. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js +1 -0
  271. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js +2 -0
  272. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js +1 -0
  273. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js +1 -0
  274. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/index.js +1 -0
  275. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js +1 -0
  276. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js +1 -0
  277. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js +1 -0
  278. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js +1 -0
  279. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js +1 -0
  280. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js +1 -0
  281. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js +1 -0
  282. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js +4 -0
  283. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js +1 -0
  284. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js +1 -0
  285. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js +1 -0
  286. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js +1 -0
  287. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/core.js +1 -0
  288. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/data.js +1 -0
  289. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-draft-07.js +1 -0
  290. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js +1 -0
  291. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js +1 -0
  292. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js +1 -0
  293. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/validation_error.js +1 -0
  294. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +1 -0
  295. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +1 -0
  296. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +1 -0
  297. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +1 -0
  298. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +1 -0
  299. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +4 -0
  300. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js +1 -0
  301. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -0
  302. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js +1 -0
  303. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +1 -0
  304. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js +1 -0
  305. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +1 -0
  306. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +1 -0
  307. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +1 -0
  308. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +1 -0
  309. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +1 -0
  310. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +1 -0
  311. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js +1 -0
  312. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/id.js +1 -0
  313. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js +1 -0
  314. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js +1 -0
  315. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -0
  316. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/types.js +1 -0
  317. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft7.js +1 -0
  318. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js +1 -0
  319. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/index.js +1 -0
  320. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/metadata.js +1 -0
  321. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js +1 -0
  322. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js +1 -0
  323. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js +1 -0
  324. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +1 -0
  325. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +1 -0
  326. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +1 -0
  327. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +1 -0
  328. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +1 -0
  329. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +1 -0
  330. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js +1 -0
  331. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +1 -0
  332. package/dist/src/node_modules/.pnpm/autoevals@0.0.132_ws@8.21.0/node_modules/autoevals/jsdist/index.js +384 -0
  333. package/dist/src/node_modules/.pnpm/compute-cosine-similarity@1.1.0/node_modules/compute-cosine-similarity/lib/index.js +1 -0
  334. package/dist/src/node_modules/.pnpm/compute-dot@1.1.0/node_modules/compute-dot/lib/index.js +1 -0
  335. package/dist/src/node_modules/.pnpm/compute-l2norm@1.1.0/node_modules/compute-l2norm/lib/index.js +1 -0
  336. package/dist/src/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +1 -0
  337. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/index.js +1 -0
  338. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/schemes.js +1 -0
  339. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/utils.js +1 -0
  340. package/dist/src/node_modules/.pnpm/js-levenshtein@1.1.6/node_modules/js-levenshtein/index.js +1 -0
  341. package/dist/src/node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.js +32 -0
  342. package/dist/src/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +1 -0
  343. package/dist/src/node_modules/.pnpm/mustache@4.2.0/node_modules/mustache/mustache.js +4 -0
  344. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/_vendor/partial-json-parser/parser.js +2 -0
  345. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/auth/workload-identity-auth.js +1 -0
  346. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/azure.js +1 -0
  347. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/client.js +11 -0
  348. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/api-promise.js +1 -0
  349. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/error.js +1 -0
  350. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/pagination.js +1 -0
  351. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/resource.js +1 -0
  352. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/streaming.js +3 -0
  353. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/uploads.js +1 -0
  354. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/error.js +1 -0
  355. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/index.js +1 -0
  356. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/decoders/line.js +3 -0
  357. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/detect-platform.js +1 -0
  358. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/errors.js +1 -0
  359. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/headers.js +1 -0
  360. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/parse.js +1 -0
  361. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/qs/formats.js +1 -0
  362. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/qs/stringify.js +1 -0
  363. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/qs/utils.js +1 -0
  364. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/request-options.js +1 -0
  365. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/shims.js +1 -0
  366. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/to-file.js +1 -0
  367. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/tslib.js +1 -0
  368. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/uploads.js +1 -0
  369. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/base64.js +1 -0
  370. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/bytes.js +1 -0
  371. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/env.js +1 -0
  372. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/log.js +1 -0
  373. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/path.js +2 -0
  374. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/query.js +1 -0
  375. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/sleep.js +1 -0
  376. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/uuid.js +1 -0
  377. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/values.js +1 -0
  378. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils.js +1 -0
  379. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/AbstractChatCompletionRunner.js +1 -0
  380. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/AssistantStream.js +1 -0
  381. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/ChatCompletionRunner.js +1 -0
  382. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/ChatCompletionStream.js +1 -0
  383. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/ChatCompletionStreamingRunner.js +1 -0
  384. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/EventStream.js +1 -0
  385. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/ResponsesParser.js +1 -0
  386. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/RunnableFunction.js +1 -0
  387. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/Util.js +1 -0
  388. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/chatCompletionUtils.js +1 -0
  389. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/parser.js +1 -0
  390. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/responses/ResponseStream.js +1 -0
  391. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/admin.js +1 -0
  392. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/admin-api-keys.js +1 -0
  393. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/audit-logs.js +1 -0
  394. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/certificates.js +1 -0
  395. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/data-retention.js +1 -0
  396. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/groups/groups.js +1 -0
  397. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/groups/roles.js +1 -0
  398. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/groups/users.js +1 -0
  399. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/invites.js +1 -0
  400. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/organization.js +1 -0
  401. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/api-keys.js +1 -0
  402. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/certificates.js +1 -0
  403. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/data-retention.js +1 -0
  404. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/groups/groups.js +1 -0
  405. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/groups/roles.js +1 -0
  406. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.js +1 -0
  407. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/model-permissions.js +1 -0
  408. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/projects.js +1 -0
  409. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/rate-limits.js +1 -0
  410. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/roles.js +1 -0
  411. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/service-accounts.js +1 -0
  412. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/spend-alerts.js +1 -0
  413. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/users/roles.js +1 -0
  414. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/users/users.js +1 -0
  415. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/roles.js +1 -0
  416. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/spend-alerts.js +1 -0
  417. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/usage.js +1 -0
  418. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/users/roles.js +1 -0
  419. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/users/users.js +1 -0
  420. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/audio.js +1 -0
  421. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/speech.js +1 -0
  422. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/transcriptions.js +1 -0
  423. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/translations.js +1 -0
  424. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/batches.js +1 -0
  425. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/assistants.js +1 -0
  426. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/beta.js +1 -0
  427. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/chatkit/chatkit.js +1 -0
  428. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/chatkit/sessions.js +1 -0
  429. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/chatkit/threads.js +1 -0
  430. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/realtime/realtime.js +1 -0
  431. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/realtime/sessions.js +1 -0
  432. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/realtime/transcription-sessions.js +1 -0
  433. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/messages.js +1 -0
  434. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/runs/runs.js +1 -0
  435. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/runs/steps.js +1 -0
  436. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/threads.js +1 -0
  437. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/chat.js +1 -0
  438. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/completions/completions.js +1 -0
  439. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/completions/index.js +1 -0
  440. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/completions/messages.js +1 -0
  441. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/index.js +1 -0
  442. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/completions.js +1 -0
  443. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/containers/containers.js +1 -0
  444. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/containers/files/content.js +1 -0
  445. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/containers/files/files.js +1 -0
  446. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/conversations/conversations.js +1 -0
  447. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/conversations/items.js +1 -0
  448. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/embeddings.js +1 -0
  449. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/evals/evals.js +1 -0
  450. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/evals/runs/output-items.js +1 -0
  451. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/evals/runs/runs.js +1 -0
  452. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/files.js +1 -0
  453. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/alpha/alpha.js +1 -0
  454. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/alpha/graders.js +1 -0
  455. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.js +1 -0
  456. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/checkpoints/permissions.js +1 -0
  457. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/fine-tuning.js +1 -0
  458. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/jobs/checkpoints.js +1 -0
  459. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/jobs/jobs.js +1 -0
  460. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/methods.js +1 -0
  461. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/graders/grader-models.js +1 -0
  462. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/graders/graders.js +1 -0
  463. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/images.js +1 -0
  464. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/index.js +1 -0
  465. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/models.js +1 -0
  466. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/moderations.js +1 -0
  467. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/realtime/calls.js +1 -0
  468. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/realtime/client-secrets.js +1 -0
  469. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/realtime/realtime.js +1 -0
  470. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/responses/input-items.js +1 -0
  471. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/responses/input-tokens.js +1 -0
  472. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/responses/responses.js +1 -0
  473. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/shared.js +1 -0
  474. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/content.js +1 -0
  475. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/skills.js +1 -0
  476. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/versions/content.js +1 -0
  477. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/versions/versions.js +1 -0
  478. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/uploads/parts.js +1 -0
  479. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/uploads/uploads.js +1 -0
  480. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/vector-stores/file-batches.js +1 -0
  481. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/vector-stores/files.js +1 -0
  482. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/vector-stores/vector-stores.js +1 -0
  483. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/videos.js +1 -0
  484. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/webhooks/index.js +1 -0
  485. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/webhooks/webhooks.js +1 -0
  486. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/webhooks.js +1 -0
  487. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/streaming.js +1 -0
  488. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/version.js +1 -0
  489. package/dist/src/node_modules/.pnpm/validate.io-array@1.0.6/node_modules/validate.io-array/lib/index.js +1 -0
  490. package/dist/src/node_modules/.pnpm/validate.io-function@1.0.2/node_modules/validate.io-function/lib/index.js +1 -0
  491. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Options.js +1 -0
  492. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Refs.js +1 -0
  493. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +1 -0
  494. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +1 -0
  495. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/index.js +1 -0
  496. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseDef.js +1 -0
  497. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseTypes.js +1 -0
  498. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +1 -0
  499. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +1 -0
  500. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +1 -0
  501. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +1 -0
  502. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +1 -0
  503. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +1 -0
  504. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +1 -0
  505. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +1 -0
  506. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +1 -0
  507. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +1 -0
  508. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +1 -0
  509. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +1 -0
  510. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +1 -0
  511. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +1 -0
  512. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +1 -0
  513. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +1 -0
  514. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +1 -0
  515. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +1 -0
  516. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +1 -0
  517. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +1 -0
  518. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +1 -0
  519. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +1 -0
  520. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +1 -0
  521. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +1 -0
  522. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +1 -0
  523. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +3 -0
  524. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +1 -0
  525. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +1 -0
  526. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +1 -0
  527. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +1 -0
  528. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/selectParser.js +1 -0
  529. package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +1 -0
  530. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.js +1 -0
  531. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +1 -0
  532. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +1 -0
  533. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.js +1 -0
  534. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +1 -0
  535. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +1 -0
  536. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  537. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +1 -0
  538. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.js +1 -0
  539. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +1 -0
  540. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +1 -0
  541. package/dist/src/packages/ash-scaffold/src/channels.js +7 -0
  542. package/dist/src/packages/ash-scaffold/src/files.js +1 -0
  543. package/dist/src/packages/ash-scaffold/src/index.js +1 -0
  544. package/dist/src/packages/ash-scaffold/src/module-files.js +1 -0
  545. package/dist/src/packages/ash-scaffold/src/package-json.js +1 -0
  546. package/dist/src/packages/ash-scaffold/src/project.js +1 -0
  547. package/dist/src/protocol/message.js +2 -501
  548. package/dist/src/protocol/routes.js +1 -85
  549. package/dist/src/public/agents/auth.js +1 -37
  550. package/dist/src/public/channels/ash.js +2 -346
  551. package/dist/src/public/channels/auth.js +1 -414
  552. package/dist/src/public/channels/discord/api.js +2 -167
  553. package/dist/src/public/channels/discord/defaults.js +3 -74
  554. package/dist/src/public/channels/discord/discordChannel.js +1 -402
  555. package/dist/src/public/channels/discord/hitl.js +1 -194
  556. package/dist/src/public/channels/discord/inbound.js +2 -238
  557. package/dist/src/public/channels/discord/index.js +1 -6
  558. package/dist/src/public/channels/discord/responses.js +1 -40
  559. package/dist/src/public/channels/discord/verify.js +1 -72
  560. package/dist/src/public/channels/discord/verifyInbound.js +1 -19
  561. package/dist/src/public/channels/index.js +1 -1
  562. package/dist/src/public/channels/slack/api-encoding.js +1 -40
  563. package/dist/src/public/channels/slack/api.js +1 -333
  564. package/dist/src/public/channels/slack/attachments.js +1 -156
  565. package/dist/src/public/channels/slack/blocks.js +3 -266
  566. package/dist/src/public/channels/slack/connections.js +1 -70
  567. package/dist/src/public/channels/slack/constants.js +1 -7
  568. package/dist/src/public/channels/slack/defaults.js +4 -211
  569. package/dist/src/public/channels/slack/hitl.js +1 -242
  570. package/dist/src/public/channels/slack/inbound.js +2 -149
  571. package/dist/src/public/channels/slack/index.js +1 -13
  572. package/dist/src/public/channels/slack/interactions.js +1 -315
  573. package/dist/src/public/channels/slack/limits.js +1 -75
  574. package/dist/src/public/channels/slack/mrkdwn.js +1 -89
  575. package/dist/src/public/channels/slack/slackChannel.js +1 -251
  576. package/dist/src/public/channels/slack/thread.js +1 -45
  577. package/dist/src/public/channels/slack/verify.js +1 -70
  578. package/dist/src/public/channels/twilio/api.js +1 -103
  579. package/dist/src/public/channels/twilio/defaults.js +3 -69
  580. package/dist/src/public/channels/twilio/inbound.js +2 -123
  581. package/dist/src/public/channels/twilio/index.js +1 -4
  582. package/dist/src/public/channels/twilio/twilioChannel.js +1 -316
  583. package/dist/src/public/channels/twilio/twiml.js +1 -58
  584. package/dist/src/public/channels/twilio/verify.js +1 -73
  585. package/dist/src/public/channels/upload-policy.js +1 -170
  586. package/dist/src/public/connections/errors.js +1 -53
  587. package/dist/src/public/connections/index.js +1 -6
  588. package/dist/src/public/context/index.js +1 -13
  589. package/dist/src/public/definitions/agent.js +1 -6
  590. package/dist/src/public/definitions/channel.js +1 -24
  591. package/dist/src/public/definitions/connections/mcp.js +1 -20
  592. package/dist/src/public/definitions/defineChannel.js +1 -74
  593. package/dist/src/public/definitions/hook.js +1 -11
  594. package/dist/src/public/definitions/instructions.js +1 -7
  595. package/dist/src/public/definitions/instrumentation.js +1 -13
  596. package/dist/src/public/definitions/remote-agent.js +1 -11
  597. package/dist/src/public/definitions/sandbox-backend.js +1 -13
  598. package/dist/src/public/definitions/sandbox.js +1 -6
  599. package/dist/src/public/definitions/schedule.js +1 -32
  600. package/dist/src/public/definitions/skill.js +1 -7
  601. package/dist/src/public/definitions/source.js +1 -1
  602. package/dist/src/public/definitions/state.js +1 -34
  603. package/dist/src/public/definitions/tool.js +1 -27
  604. package/dist/src/public/hooks/index.js +1 -9
  605. package/dist/src/public/index.js +1 -5
  606. package/dist/src/public/instructions/index.js +1 -4
  607. package/dist/src/public/instrumentation/index.js +1 -4
  608. package/dist/src/public/next/index.js +1 -148
  609. package/dist/src/public/next/server.js +1 -348
  610. package/dist/src/public/next/vercel-json.js +1 -77
  611. package/dist/src/public/sandbox/backends/default.js +1 -15
  612. package/dist/src/public/sandbox/backends/local.js +1 -18
  613. package/dist/src/public/sandbox/backends/vercel.js +1 -25
  614. package/dist/src/public/sandbox/index.js +1 -10
  615. package/dist/src/public/sandbox/local-sandbox.js +1 -1
  616. package/dist/src/public/sandbox/vercel-sandbox.js +1 -1
  617. package/dist/src/public/schedules/index.js +1 -4
  618. package/dist/src/public/skills/index.js +1 -5
  619. package/dist/src/public/tool-result-narrowing.js +1 -87
  620. package/dist/src/public/tools/approval/approval-helpers.js +1 -22
  621. package/dist/src/public/tools/approval/index.js +1 -4
  622. package/dist/src/public/tools/defaults.js +1 -70
  623. package/dist/src/public/tools/define-bash-tool.js +1 -14
  624. package/dist/src/public/tools/define-glob-tool.js +1 -21
  625. package/dist/src/public/tools/define-grep-tool.js +1 -21
  626. package/dist/src/public/tools/define-read-file-tool.js +1 -27
  627. package/dist/src/public/tools/define-write-file-tool.js +1 -21
  628. package/dist/src/public/tools/index.js +1 -10
  629. package/dist/src/public/tools/internal.js +1 -24
  630. package/dist/src/public/types/json.js +1 -13
  631. package/dist/src/react/index.js +1 -3
  632. package/dist/src/react/use-ash-agent.js +2 -348
  633. package/dist/src/runtime/actions/keys.js +1 -30
  634. package/dist/src/runtime/actions/types.js +1 -99
  635. package/dist/src/runtime/agent/bootstrap-model-utils.js +1 -148
  636. package/dist/src/runtime/agent/bootstrap-model.js +1 -36
  637. package/dist/src/runtime/agent/bootstrap.js +1 -49
  638. package/dist/src/runtime/agent/mock-model-adapter.js +7 -358
  639. package/dist/src/runtime/agent/resolve-model.js +1 -48
  640. package/dist/src/runtime/cache-key.js +1 -52
  641. package/dist/src/runtime/channels/registry.js +1 -133
  642. package/dist/src/runtime/compiled-artifacts-source.js +1 -42
  643. package/dist/src/runtime/connections/authorization-complete-page.js +2 -21
  644. package/dist/src/runtime/connections/authorization-tokens.js +1 -66
  645. package/dist/src/runtime/connections/callback-route.js +1 -139
  646. package/dist/src/runtime/connections/mcp-client.js +1 -307
  647. package/dist/src/runtime/connections/principal-context.js +1 -111
  648. package/dist/src/runtime/connections/principal.js +1 -106
  649. package/dist/src/runtime/connections/registry.js +1 -61
  650. package/dist/src/runtime/connections/types.js +1 -41
  651. package/dist/src/runtime/connections/validate-authorization.js +1 -92
  652. package/dist/src/runtime/framework-channels/index.js +1 -38
  653. package/dist/src/runtime/framework-tools/ask-question.js +1 -30
  654. package/dist/src/runtime/framework-tools/bash.js +1 -40
  655. package/dist/src/runtime/framework-tools/connection-search.js +1 -224
  656. package/dist/src/runtime/framework-tools/connection-tools.js +1 -103
  657. package/dist/src/runtime/framework-tools/file-state.js +1 -71
  658. package/dist/src/runtime/framework-tools/glob.js +2 -56
  659. package/dist/src/runtime/framework-tools/grep.js +2 -75
  660. package/dist/src/runtime/framework-tools/index.js +1 -52
  661. package/dist/src/runtime/framework-tools/pending-connection-tool-calls.js +1 -63
  662. package/dist/src/runtime/framework-tools/read-file.js +2 -64
  663. package/dist/src/runtime/framework-tools/skill.js +1 -47
  664. package/dist/src/runtime/framework-tools/todo.js +3 -122
  665. package/dist/src/runtime/framework-tools/web-fetch.js +2 -42
  666. package/dist/src/runtime/framework-tools/web-search.js +1 -15
  667. package/dist/src/runtime/framework-tools/write-file.js +2 -48
  668. package/dist/src/runtime/governance/auth/http-basic.js +1 -63
  669. package/dist/src/runtime/governance/auth/jwt-ecdsa.js +1 -69
  670. package/dist/src/runtime/governance/auth/jwt-hmac.js +1 -39
  671. package/dist/src/runtime/governance/auth/oidc.js +1 -126
  672. package/dist/src/runtime/governance/auth/token-claims.js +1 -84
  673. package/dist/src/runtime/governance/auth/types.js +1 -14
  674. package/dist/src/runtime/governance/network/ip-allow-list.js +1 -66
  675. package/dist/src/runtime/graph.js +1 -17
  676. package/dist/src/runtime/hooks/registry.js +1 -55
  677. package/dist/src/runtime/input/types.js +1 -63
  678. package/dist/src/runtime/loaders/artifact-paths.js +1 -26
  679. package/dist/src/runtime/loaders/bundled-artifacts.js +1 -21
  680. package/dist/src/runtime/loaders/compile-metadata.js +1 -92
  681. package/dist/src/runtime/loaders/manifest.js +1 -56
  682. package/dist/src/runtime/loaders/module-map.js +1 -64
  683. package/dist/src/runtime/prompt/compose.js +2 -47
  684. package/dist/src/runtime/prompt/connections.js +2 -23
  685. package/dist/src/runtime/resolve-agent-graph.js +1 -287
  686. package/dist/src/runtime/resolve-agent.js +1 -134
  687. package/dist/src/runtime/resolve-channel.js +1 -62
  688. package/dist/src/runtime/resolve-connection.js +1 -72
  689. package/dist/src/runtime/resolve-helpers.js +1 -58
  690. package/dist/src/runtime/resolve-hook.js +1 -67
  691. package/dist/src/runtime/resolve-sandbox.js +1 -65
  692. package/dist/src/runtime/resolve-tool.js +1 -110
  693. package/dist/src/runtime/sandbox/keys.js +1 -72
  694. package/dist/src/runtime/sandbox/registry.js +1 -42
  695. package/dist/src/runtime/schedules/register.js +1 -62
  696. package/dist/src/runtime/schedules/resolve-schedule.js +1 -66
  697. package/dist/src/runtime/session-callback-route.js +1 -87
  698. package/dist/src/runtime/sessions/auth.js +1 -18
  699. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -125
  700. package/dist/src/runtime/sessions/runtime-session.js +1 -50
  701. package/dist/src/runtime/sessions/turn.js +1 -1
  702. package/dist/src/runtime/skills/fragment-context.js +1 -4
  703. package/dist/src/runtime/skills/sandbox-access.js +1 -85
  704. package/dist/src/runtime/subagents/registry.js +1 -62
  705. package/dist/src/runtime/tools/registry.js +1 -40
  706. package/dist/src/runtime/types.js +1 -1
  707. package/dist/src/runtime/validation.js +1 -7
  708. package/dist/src/runtime/workspace/seed-files.js +1 -42
  709. package/dist/src/runtime/workspace/spec.js +2 -22
  710. package/dist/src/runtime/workspace/types.js +1 -9
  711. package/dist/src/sandbox/state.js +1 -1
  712. package/dist/src/services/dev-client/request-headers.js +1 -197
  713. package/dist/src/services/dev-client/stream.js +1 -7
  714. package/dist/src/services/dev-client/url.js +1 -25
  715. package/dist/src/services/dev-client/vercel-auth-error.js +2 -98
  716. package/dist/src/services/dev-client.js +1 -48
  717. package/dist/src/services/inspect-application.js +1 -45
  718. package/dist/src/shared/agent-definition.js +1 -1
  719. package/dist/src/shared/errors.js +1 -66
  720. package/dist/src/shared/guards.js +1 -35
  721. package/dist/src/shared/json-schemas.js +1 -41
  722. package/dist/src/shared/json.js +1 -80
  723. package/dist/src/shared/node.js +1 -1
  724. package/dist/src/shared/optional.js +1 -1
  725. package/dist/src/shared/run-mode.js +1 -1
  726. package/dist/src/shared/sandbox-backend.js +1 -1
  727. package/dist/src/shared/sandbox-definition.js +1 -1
  728. package/dist/src/shared/sandbox-session.js +1 -1
  729. package/dist/src/shared/skill-definition.js +1 -1
  730. package/dist/src/shared/skill-package.js +1 -100
  731. package/dist/src/shared/source-ref.js +1 -1
  732. package/dist/src/shared/tool-definition.js +1 -1
  733. package/package.json +4 -4
  734. package/dist/src/chunks/authored-module-loader-DcCfCiBm.js +0 -4
  735. package/dist/src/chunks/chunk-DSjMdhoD.js +0 -1
  736. package/dist/src/chunks/client-ZqNLLMZB.js +0 -4
  737. package/dist/src/chunks/compile-agent-DrIyb818.js +0 -5
  738. package/dist/src/chunks/dev-authored-source-watcher-C1WUVv9F.js +0 -1
  739. package/dist/src/chunks/errors-HYWjHxV6.js +0 -1
  740. package/dist/src/chunks/guards-26p6sOw3.js +0 -1
  741. package/dist/src/chunks/host-CwAcCrg7.js +0 -70
  742. package/dist/src/chunks/input-requests-DJiy6dG9.js +0 -1
  743. package/dist/src/chunks/jsdist-BkeWZ7EZ.js +0 -443
  744. package/dist/src/chunks/paths-CWZN-XRX.js +0 -85
  745. package/dist/src/chunks/picocolors-aAkqW4On.js +0 -1
  746. package/dist/src/chunks/runtime-model-Dh0Nz64z.js +0 -1
  747. package/dist/src/chunks/token-YW4VSeBB.js +0 -1
  748. package/dist/src/chunks/types-BJSR0JNV.js +0 -1
@@ -1,183 +1,3 @@
1
- import { normalizeModelPath } from "#runtime/framework-tools/file-state.js";
2
- import { requireSandboxSession, validateAbsoluteFilePath, } from "#execution/sandbox/require-sandbox.js";
3
- import { ripgrepIsAvailable } from "#execution/sandbox/ripgrep-probe.js";
4
- import { shellQuote } from "#execution/sandbox/shell-quote.js";
5
- import { capLineLength, MAX_OUTPUT_BYTES } from "#execution/sandbox/truncate-output.js";
6
- // ---------------------------------------------------------------------------
7
- // Constants
8
- // ---------------------------------------------------------------------------
9
- const DEFAULT_GREP_LIMIT = 100;
10
- const MAX_GREP_LIMIT = 1000;
11
- const DEFAULT_PATH = "/workspace";
12
- // ---------------------------------------------------------------------------
13
- // Executor
14
- // ---------------------------------------------------------------------------
15
- /**
16
- * Searches file contents for a pattern inside the sandbox.
17
- */
18
- export async function executeGrepOnSandbox(args) {
19
- const effectivePath = args.path ?? DEFAULT_PATH;
20
- validateAbsoluteFilePath(effectivePath);
21
- const normalizedPath = normalizeModelPath(effectivePath);
22
- const effectiveLimit = Math.min(Math.max(1, args.limit ?? DEFAULT_GREP_LIMIT), MAX_GREP_LIMIT);
23
- const contextLines = args.context !== undefined && args.context > 0 ? args.context : 0;
24
- const sandbox = await requireSandboxSession();
25
- const command = (await ripgrepIsAvailable(sandbox))
26
- ? buildRipgrepCommand({
27
- contextLines,
28
- effectiveLimit,
29
- glob: args.glob,
30
- ignoreCase: args.ignoreCase ?? false,
31
- literal: args.literal ?? false,
32
- normalizedPath,
33
- pattern: args.pattern,
34
- })
35
- : buildPosixGrepCommand({
36
- contextLines,
37
- effectiveLimit,
38
- glob: args.glob,
39
- ignoreCase: args.ignoreCase ?? false,
40
- literal: args.literal ?? false,
41
- normalizedPath,
42
- pattern: args.pattern,
43
- });
44
- const result = await sandbox.runCommand({ command });
45
- // Both ripgrep and POSIX grep use the same conventional exit codes:
46
- // 0 — one or more matches were found
47
- // 1 — no matches found (legitimate empty result)
48
- // 2 — error occurred (e.g. regex compile failure, IO error)
49
- // Any other exit code (e.g. 127 from bash when the tool is missing)
50
- // indicates a real failure. Surface these as structured errors
51
- // rather than silently pretending the search returned zero matches.
52
- if (result.exitCode !== 0 && result.exitCode !== 1) {
53
- throw buildGrepExecutionError(command, result.exitCode, result.stderr);
54
- }
55
- const stdout = result.stdout;
56
- if (stdout.trim().length === 0) {
57
- return {
58
- content: "No matches found",
59
- matchCount: 0,
60
- path: normalizedPath,
61
- truncated: false,
62
- };
63
- }
64
- return processOutput({ effectiveLimit, normalizedPath, stdout });
65
- }
66
- /**
67
- * Builds the ripgrep form of the grep command. Preferred whenever
68
- * `rg` is on PATH — ripgrep respects `.gitignore` out of the box,
69
- * handles hidden-file semantics cleanly, and is substantially faster
70
- * than GNU grep on large repositories.
71
- *
72
- * `--no-messages` is intentionally *not* passed — we want ripgrep's
73
- * error messages to flow through stderr so callers can distinguish a
74
- * real failure (missing binary, unreadable path) from a legitimate
75
- * empty result.
76
- */
77
- function buildRipgrepCommand(input) {
78
- const parts = ["rg", "--line-number", "--color=never", "--hidden", "--glob '!.git/*'"];
79
- if (input.ignoreCase) {
80
- parts.push("--ignore-case");
81
- }
82
- if (input.literal) {
83
- parts.push("--fixed-strings");
84
- }
85
- if (input.glob !== undefined) {
86
- parts.push(`--glob ${shellQuote(input.glob)}`);
87
- }
88
- if (input.contextLines > 0) {
89
- parts.push(`--context ${input.contextLines}`);
90
- }
91
- // `--max-count` limits matches per file; we use it to bound total output.
92
- parts.push(`--max-count ${input.effectiveLimit}`);
93
- parts.push("--");
94
- parts.push(shellQuote(input.pattern));
95
- parts.push(shellQuote(input.normalizedPath));
96
- return parts.join(" ");
97
- }
98
- /**
99
- * Builds the POSIX fallback form of the grep command using `grep -rn`.
100
- */
101
- function buildPosixGrepCommand(input) {
102
- const parts = ["grep", "-r", "-n", "--color=never", "--exclude-dir=.git"];
103
- if (input.ignoreCase) {
104
- parts.push("-i");
105
- }
106
- if (input.literal) {
107
- parts.push("-F");
108
- }
109
- else {
110
- // Default to ERE so the pattern semantics line up with ripgrep's
111
- // default (which uses a Rust regex dialect close to ERE).
112
- parts.push("-E");
113
- }
114
- if (input.glob !== undefined) {
115
- parts.push(`--include=${shellQuote(input.glob)}`);
116
- }
117
- if (input.contextLines > 0) {
118
- parts.push(`-C ${input.contextLines}`);
119
- }
120
- // `-m` limits matches per file, analogous to ripgrep's `--max-count`.
121
- parts.push(`-m ${input.effectiveLimit}`);
122
- parts.push("--");
123
- parts.push(shellQuote(input.pattern));
124
- parts.push(shellQuote(input.normalizedPath));
125
- return parts.join(" ");
126
- }
127
- function processOutput(input) {
128
- // Process output: truncate long lines, cap total bytes.
129
- const rawLines = input.stdout.split("\n");
130
- const outputLines = [];
131
- let outputBytes = 0;
132
- let matchCount = 0;
133
- let truncatedByBytes = false;
134
- for (const rawLine of rawLines) {
135
- // Skip empty trailing line from split.
136
- if (rawLine.length === 0 && rawLines.indexOf(rawLine) === rawLines.length - 1) {
137
- continue;
138
- }
139
- // Count match lines (not context separators like `--`).
140
- if (rawLine !== "--" && rawLine.length > 0) {
141
- // Match lines from both rg and POSIX grep have format `file:linenum:text`.
142
- // Context lines use `file-linenum-text` (rg) or `file-linenum-text` (grep).
143
- const isMatchLine = /^.+:\d+:/.test(rawLine);
144
- if (isMatchLine) {
145
- matchCount++;
146
- }
147
- }
148
- const line = capLineLength(rawLine);
149
- const lineBytes = Buffer.byteLength(line, "utf8") + 1; // +1 for \n
150
- if (outputBytes + lineBytes > MAX_OUTPUT_BYTES && outputLines.length > 0) {
151
- truncatedByBytes = true;
152
- break;
153
- }
154
- outputLines.push(line);
155
- outputBytes += lineBytes;
156
- }
157
- const truncated = truncatedByBytes || matchCount >= input.effectiveLimit;
158
- let content = outputLines.join("\n");
159
- if (truncated) {
160
- const notices = [];
161
- if (matchCount >= input.effectiveLimit) {
162
- notices.push(`Match limit reached (${input.effectiveLimit}). Use a larger limit or more specific pattern.`);
163
- }
164
- if (truncatedByBytes) {
165
- notices.push("Output truncated due to size. Use a more specific path or pattern.");
166
- }
167
- content += `\n\n[${notices.join(" ")}]`;
168
- }
169
- return {
170
- content,
171
- matchCount,
172
- path: input.normalizedPath,
173
- truncated,
174
- };
175
- }
176
- // ---------------------------------------------------------------------------
177
- // Error helpers
178
- // ---------------------------------------------------------------------------
179
- function buildGrepExecutionError(command, exitCode, stderr) {
180
- const trimmed = stderr.trim();
181
- const detail = trimmed.length > 0 ? trimmed : "no stderr output";
182
- return new Error(`grep failed (exit ${exitCode}): ${detail}\nCommand: ${command}`);
183
- }
1
+ import{requireSandboxSession,validateAbsoluteFilePath}from"#execution/sandbox/require-sandbox.js";import{MAX_OUTPUT_BYTES,capLineLength}from"#execution/sandbox/truncate-output.js";import{shellQuote}from"#execution/sandbox/shell-quote.js";import{normalizeModelPath}from"#runtime/framework-tools/file-state.js";import{ripgrepIsAvailable}from"#execution/sandbox/ripgrep-probe.js";var DEFAULT_GREP_LIMIT=100,MAX_GREP_LIMIT=1e3,DEFAULT_PATH=`/workspace`;async function executeGrepOnSandbox(n){let r=n.path??DEFAULT_PATH;validateAbsoluteFilePath(r);let i=normalizeModelPath(r),u=Math.min(Math.max(1,n.limit??DEFAULT_GREP_LIMIT),MAX_GREP_LIMIT),d=n.context!==void 0&&n.context>0?n.context:0,f=await requireSandboxSession(),p=await ripgrepIsAvailable(f)?buildRipgrepCommand({contextLines:d,effectiveLimit:u,glob:n.glob,ignoreCase:n.ignoreCase??!1,literal:n.literal??!1,normalizedPath:i,pattern:n.pattern}):buildPosixGrepCommand({contextLines:d,effectiveLimit:u,glob:n.glob,ignoreCase:n.ignoreCase??!1,literal:n.literal??!1,normalizedPath:i,pattern:n.pattern}),m=await f.runCommand({command:p});if(m.exitCode!==0&&m.exitCode!==1)throw buildGrepExecutionError(p,m.exitCode,m.stderr);let h=m.stdout;return h.trim().length===0?{content:`No matches found`,matchCount:0,path:i,truncated:!1}:processOutput({effectiveLimit:u,normalizedPath:i,stdout:h})}function buildRipgrepCommand(e){let t=[`rg`,`--line-number`,`--color=never`,`--hidden`,`--glob '!.git/*'`];return e.ignoreCase&&t.push(`--ignore-case`),e.literal&&t.push(`--fixed-strings`),e.glob!==void 0&&t.push(`--glob ${shellQuote(e.glob)}`),e.contextLines>0&&t.push(`--context ${e.contextLines}`),t.push(`--max-count ${e.effectiveLimit}`),t.push(`--`),t.push(shellQuote(e.pattern)),t.push(shellQuote(e.normalizedPath)),t.join(` `)}function buildPosixGrepCommand(e){let t=[`grep`,`-r`,`-n`,`--color=never`,`--exclude-dir=.git`];return e.ignoreCase&&t.push(`-i`),e.literal?t.push(`-F`):t.push(`-E`),e.glob!==void 0&&t.push(`--include=${shellQuote(e.glob)}`),e.contextLines>0&&t.push(`-C ${e.contextLines}`),t.push(`-m ${e.effectiveLimit}`),t.push(`--`),t.push(shellQuote(e.pattern)),t.push(shellQuote(e.normalizedPath)),t.join(` `)}function processOutput(e){let t=e.stdout.split(`
2
+ `),i=[],a=0,o=0,s=!1;for(let e of t){if(e.length===0&&t.indexOf(e)===t.length-1)continue;e!==`--`&&e.length>0&&/^.+:\d+:/.test(e)&&o++;let c=capLineLength(e),l=Buffer.byteLength(c,`utf8`)+1;if(a+l>MAX_OUTPUT_BYTES&&i.length>0){s=!0;break}i.push(c),a+=l}let c=s||o>=e.effectiveLimit,l=i.join(`
3
+ `);if(c){let t=[];o>=e.effectiveLimit&&t.push(`Match limit reached (${e.effectiveLimit}). Use a larger limit or more specific pattern.`),s&&t.push(`Output truncated due to size. Use a more specific path or pattern.`),l+=`\n\n[${t.join(` `)}]`}return{content:l,matchCount:o,path:e.normalizedPath,truncated:c}}function buildGrepExecutionError(e,t,n){let r=n.trim(),i=r.length>0?r:`no stderr output`;return Error(`grep failed (exit ${t}): ${i}\nCommand: ${e}`)}export{executeGrepOnSandbox};
@@ -1,33 +1 @@
1
- /**
2
- * Wraps a backend-producing function in a `SandboxBackend` proxy that
3
- * invokes the function exactly once, on first access to any of `.name`,
4
- * `.create`, or `.prewarm`. Subsequent accesses return the same cached
5
- * underlying backend.
6
- *
7
- * Used by `defaultBackend()` for env-conditional selection, and by the
8
- * authored-definition normalizer when an author passes a callback to
9
- * `SandboxDefinition.backend` (e.g. `backend: () => vercelBackend({...})`)
10
- * so the factory runs at first use rather than at module load — while
11
- * still preserving backend-internal state (such as the Vercel backend's
12
- * prewarmed-templates map) across every framework call.
13
- */
14
- export function lazyBackend(factory) {
15
- let resolved;
16
- function resolve() {
17
- if (resolved === undefined) {
18
- resolved = factory();
19
- }
20
- return resolved;
21
- }
22
- return {
23
- get name() {
24
- return resolve().name;
25
- },
26
- create(input) {
27
- return resolve().create(input);
28
- },
29
- async prewarm(input) {
30
- await resolve().prewarm(input);
31
- },
32
- };
33
- }
1
+ function lazyBackend(e){let t;function resolve(){return t===void 0&&(t=e()),t}return{get name(){return resolve().name},create(e){return resolve().create(e)},async prewarm(e){await resolve().prewarm(e)}}}export{lazyBackend};
@@ -1,132 +1 @@
1
- import { loadCompiledModuleMapFromAuthoredSource } from "#internal/authored-module-map-loader.js";
2
- import { createAuthoredSourceRuntimeCompiledArtifactsSource } from "#internal/application/runtime-compiled-artifacts-source.js";
3
- import { ROOT_RUNTIME_AGENT_NODE_ID } from "#runtime/graph.js";
4
- import { loadCompiledManifest } from "#runtime/loaders/manifest.js";
5
- import { resolveRuntimeCompilerArtifactPaths } from "#runtime/loaders/artifact-paths.js";
6
- import { resolveRuntimeAgentGraph } from "#runtime/resolve-agent-graph.js";
7
- import { createRuntimeSandboxTemplateKey } from "#runtime/sandbox/keys.js";
8
- import { materializeWorkspaceDirectory } from "#runtime/workspace/seed-files.js";
9
- import { toErrorMessage } from "#shared/errors.js";
10
- /**
11
- * Prewarms every backend sandbox template required by one compiled
12
- * runtime graph.
13
- *
14
- * Iterates every registered sandbox and invokes `backend.prewarm(...)`
15
- * for each backend template.
16
- */
17
- export async function prewarmSandboxes(input) {
18
- const targets = await collectPrewarmTargets(input);
19
- if (targets.length === 0) {
20
- return;
21
- }
22
- input.log?.(`Ash: initializing ${targets.length} sandbox ${pluralize(targets.length, "template")}...`);
23
- const dispatch = input.dispatch ??
24
- (async ({ backend, input: prewarmInput }) => {
25
- await backend.prewarm(prewarmInput);
26
- });
27
- await Promise.all(targets.map(async ({ backend, label, input: prewarmInput }) => {
28
- input.log?.(`Ash: initializing sandbox template "${label}"...`);
29
- try {
30
- await dispatch({ backend, input: prewarmInput });
31
- }
32
- catch (error) {
33
- input.log?.(`Ash: failed to initialize sandbox template "${label}" on backend "${backend.name}": ${toErrorMessage(error)}`);
34
- throw error;
35
- }
36
- input.log?.(`Ash: sandbox template "${label}" initialized.`);
37
- }));
38
- input.log?.(`Ash: initialized ${targets.length} sandbox ${pluralize(targets.length, "template")}.`);
39
- }
40
- /**
41
- * Loads the compiled runtime graph for one authored app root and
42
- * prewarms every backend's sandbox templates required by that graph.
43
- *
44
- * Hydrates the module map directly from authored source so callers
45
- * don't need a pre-existing `module-map.mjs` import in Node's cache.
46
- * Shared entrypoint for `ash dev` startup, the dev watcher, and the
47
- * Vercel build hook.
48
- */
49
- export async function prewarmAppSandboxes(input) {
50
- const compiledArtifactsSource = createAuthoredSourceRuntimeCompiledArtifactsSource(input.appRoot);
51
- const graph = await (input.loadAgentGraph ?? loadGraphFromArtifacts)({
52
- compiledArtifactsSource,
53
- });
54
- await prewarmSandboxes({
55
- compiledArtifactsSource,
56
- dispatch: input.dispatch,
57
- graph,
58
- log: input.log,
59
- });
60
- }
61
- async function collectPrewarmTargets(input) {
62
- const compileDirectoryPath = resolveRuntimeCompilerArtifactPaths(input.compiledArtifactsSource.appRoot).compileDirectoryPath;
63
- const runtimeContext = { appRoot: input.compiledArtifactsSource.appRoot };
64
- const targets = await Promise.all(collectNodeSandboxes(input.graph).map(async ({ definition, nodeId, workspaceResourceRoot }) => {
65
- const templateKey = await createRuntimeSandboxTemplateKey({
66
- backendName: definition.backend.name,
67
- compiledArtifactsSource: input.compiledArtifactsSource,
68
- nodeId,
69
- sourceId: definition.sourceId,
70
- });
71
- return {
72
- backend: definition.backend,
73
- label: formatLabel(nodeId),
74
- input: {
75
- bootstrap: definition.bootstrap,
76
- seedFiles: await loadResourceRootSeedFiles({
77
- compileDirectoryPath,
78
- workspaceResourceRoot,
79
- }),
80
- runtimeContext,
81
- templateKey,
82
- },
83
- };
84
- }));
85
- // Template keys factor in nodeId (see runtime/sandbox/keys.ts), so each
86
- // node already produces a distinct templateKey; no dedup is needed.
87
- return [...targets].sort((left, right) => left.label.localeCompare(right.label));
88
- }
89
- /**
90
- * Resolves the per-node compiled workspace resource root to an absolute
91
- * disk path under `.ash/compile/` and materializes its contents into the
92
- * `{path, content}` shape consumed by sandbox backends.
93
- *
94
- * Returns an empty array when the resource root descriptor advertises no
95
- * root entries (the materializer would emit no files anyway).
96
- */
97
- async function loadResourceRootSeedFiles(input) {
98
- if (input.workspaceResourceRoot.rootEntries.length === 0) {
99
- return [];
100
- }
101
- const materialized = await materializeWorkspaceDirectory(`${input.compileDirectoryPath}/${input.workspaceResourceRoot.logicalPath}`);
102
- return materialized.map((file) => ({
103
- content: file.content,
104
- path: file.path,
105
- }));
106
- }
107
- async function loadGraphFromArtifacts(input) {
108
- const [manifest, moduleMap] = await Promise.all([
109
- loadCompiledManifest({
110
- compiledArtifactsSource: input.compiledArtifactsSource,
111
- }),
112
- loadCompiledModuleMapFromAuthoredSource({
113
- compiledArtifactsSource: input.compiledArtifactsSource,
114
- }),
115
- ]);
116
- return await resolveRuntimeAgentGraph({
117
- manifest,
118
- moduleMap,
119
- });
120
- }
121
- function collectNodeSandboxes(graph) {
122
- return [...graph.nodesByNodeId.entries()].flatMap(([nodeId, node]) => {
123
- const registered = node.sandboxRegistry.sandbox;
124
- return registered === null ? [] : [{ ...registered, nodeId }];
125
- });
126
- }
127
- function pluralize(count, singular) {
128
- return count === 1 ? singular : `${singular}s`;
129
- }
130
- function formatLabel(nodeId) {
131
- return nodeId === ROOT_RUNTIME_AGENT_NODE_ID ? "root" : nodeId;
132
- }
1
+ import{toErrorMessage}from"#shared/errors.js";import{createRuntimeSandboxTemplateKey}from"#runtime/sandbox/keys.js";import{loadCompiledModuleMapFromAuthoredSource}from"#internal/authored-module-map-loader.js";import{createAuthoredSourceRuntimeCompiledArtifactsSource}from"#internal/application/runtime-compiled-artifacts-source.js";import{ROOT_RUNTIME_AGENT_NODE_ID}from"#runtime/graph.js";import{loadCompiledManifest}from"#runtime/loaders/manifest.js";import{resolveRuntimeCompilerArtifactPaths}from"#runtime/loaders/artifact-paths.js";import{resolveRuntimeAgentGraph}from"#runtime/resolve-agent-graph.js";import{materializeWorkspaceDirectory}from"#runtime/workspace/seed-files.js";async function prewarmSandboxes(t){let n=await collectPrewarmTargets(t);if(n.length===0)return;t.log?.(`Ash: initializing ${n.length} sandbox ${pluralize(n.length,`template`)}...`);let r=t.dispatch??(async({backend:e,input:t})=>{await e.prewarm(t)});await Promise.all(n.map(async({backend:n,label:i,input:a})=>{t.log?.(`Ash: initializing sandbox template "${i}"...`);try{await r({backend:n,input:a})}catch(r){throw t.log?.(`Ash: failed to initialize sandbox template "${i}" on backend "${n.name}": ${toErrorMessage(r)}`),r}t.log?.(`Ash: sandbox template "${i}" initialized.`)})),t.log?.(`Ash: initialized ${n.length} sandbox ${pluralize(n.length,`template`)}.`)}async function prewarmAppSandboxes(e){let t=createAuthoredSourceRuntimeCompiledArtifactsSource(e.appRoot),n=await(e.loadAgentGraph??loadGraphFromArtifacts)({compiledArtifactsSource:t});await prewarmSandboxes({compiledArtifactsSource:t,dispatch:e.dispatch,graph:n,log:e.log})}async function collectPrewarmTargets(e){let n=resolveRuntimeCompilerArtifactPaths(e.compiledArtifactsSource.appRoot).compileDirectoryPath,r={appRoot:e.compiledArtifactsSource.appRoot};return[...await Promise.all(collectNodeSandboxes(e.graph).map(async({definition:i,nodeId:a,workspaceResourceRoot:o})=>{let s=await createRuntimeSandboxTemplateKey({backendName:i.backend.name,compiledArtifactsSource:e.compiledArtifactsSource,nodeId:a,sourceId:i.sourceId});return{backend:i.backend,label:formatLabel(a),input:{bootstrap:i.bootstrap,seedFiles:await loadResourceRootSeedFiles({compileDirectoryPath:n,workspaceResourceRoot:o}),runtimeContext:r,templateKey:s}}}))].sort((e,t)=>e.label.localeCompare(t.label))}async function loadResourceRootSeedFiles(e){return e.workspaceResourceRoot.rootEntries.length===0?[]:(await materializeWorkspaceDirectory(`${e.compileDirectoryPath}/${e.workspaceResourceRoot.logicalPath}`)).map(e=>({content:e.content,path:e.path}))}async function loadGraphFromArtifacts(e){let[t,r]=await Promise.all([loadCompiledManifest({compiledArtifactsSource:e.compiledArtifactsSource}),loadCompiledModuleMapFromAuthoredSource({compiledArtifactsSource:e.compiledArtifactsSource})]);return await resolveRuntimeAgentGraph({manifest:t,moduleMap:r})}function collectNodeSandboxes(e){return[...e.nodesByNodeId.entries()].flatMap(([e,t])=>{let n=t.sandboxRegistry.sandbox;return n===null?[]:[{...n,nodeId:e}]})}function pluralize(e,t){return e===1?t:`${t}s`}function formatLabel(e){return e===ROOT_RUNTIME_AGENT_NODE_ID?`root`:e}export{prewarmAppSandboxes,prewarmSandboxes};
@@ -1,118 +1,3 @@
1
- import { loadContext } from "#context/container.js";
2
- import { buildReadFileTargetKey, createReadFileStamp, normalizeModelPath, setReadFileStamp, } from "#runtime/framework-tools/file-state.js";
3
- import { requireSandboxSession, validateAbsoluteFilePath, } from "#execution/sandbox/require-sandbox.js";
4
- import { capLineLength, MAX_OUTPUT_BYTES } from "#execution/sandbox/truncate-output.js";
5
- // ---------------------------------------------------------------------------
6
- // Constants
7
- // ---------------------------------------------------------------------------
8
- const DEFAULT_OFFSET = 1;
9
- const DEFAULT_LIMIT = 2000;
10
- // ---------------------------------------------------------------------------
11
- // Executor
12
- // ---------------------------------------------------------------------------
13
- /**
14
- * Reads one text file from the sandbox, applies output shaping
15
- * (offset, limit, line numbering, truncation), and persists a full-file
16
- * stamp into durable read-file state for stale-write detection.
17
- *
18
- * Used by the framework `read_file` tool and by author tools constructed
19
- * via `defineReadFileTool`.
20
- */
21
- export async function executeReadFileOnSandbox(args) {
22
- const { filePath, offset, limit } = args;
23
- validateAbsoluteFilePath(filePath);
24
- const sandbox = await requireSandboxSession();
25
- const normalizedPath = normalizeModelPath(filePath);
26
- // ── Validate offset / limit ─────────────────────────────────────────
27
- const effectiveOffset = offset ?? DEFAULT_OFFSET;
28
- const effectiveLimit = limit ?? DEFAULT_LIMIT;
29
- if (effectiveOffset < 1) {
30
- throw new Error(`offset must be >= 1. Received: ${effectiveOffset}.`);
31
- }
32
- // ── Read full file for fingerprinting ───────────────────────────────
33
- const rawContent = await sandbox.readTextFile({ path: filePath });
34
- if (rawContent === null) {
35
- throw new Error(`File not found: ${filePath}. Verify the path exists and is accessible in the sandbox.`);
36
- }
37
- // ── Reject non-text (NUL bytes) ─────────────────────────────────────
38
- if (rawContent.includes("\0")) {
39
- throw new Error(`File "${filePath}" contains NUL bytes and appears to be a binary file. ` +
40
- "read_file only supports text files.");
41
- }
42
- // ── Split into lines ────────────────────────────────────────────────
43
- // Uses a simple newline split (not the ending-preserving variant in
44
- // session.ts) because the model-facing output re-joins with plain `\n`
45
- // and prepends line numbers — original endings are not preserved.
46
- const allLines = rawContent.split("\n");
47
- // Trailing newline produces an empty last element — preserve the line
48
- // count the way the user expects (a file ending with \n has N lines).
49
- const totalLines = allLines.length > 0 && allLines[allLines.length - 1] === ""
50
- ? allLines.length - 1
51
- : allLines.length;
52
- // ── Handle empty file ───────────────────────────────────────────────
53
- if (totalLines === 0) {
54
- if (effectiveOffset > 1) {
55
- throw new Error(`offset ${effectiveOffset} is past the end of the file (0 lines). ` +
56
- "Use the default offset to read an empty file.");
57
- }
58
- return {
59
- content: "",
60
- path: normalizedPath,
61
- totalLines: 0,
62
- truncated: false,
63
- };
64
- }
65
- // ── Validate offset against file length ─────────────────────────────
66
- if (effectiveOffset > totalLines) {
67
- throw new Error(`offset ${effectiveOffset} is past the end of the file (${totalLines} lines).`);
68
- }
69
- // ── Persist full-file stamp ─────────────────────────────────────────
70
- // Placed after all validation that can throw so a failed read_file call
71
- // (e.g. offset past end) never records a stamp, preserving the
72
- // read-before-write guarantee in write_file.
73
- const stamp = createReadFileStamp({
74
- content: rawContent,
75
- filePath: normalizedPath,
76
- });
77
- const targetKey = buildReadFileTargetKey(normalizedPath);
78
- setReadFileStamp(loadContext(), targetKey, stamp);
79
- // ── Apply offset and limit ──────────────────────────────────────────
80
- const startIndex = effectiveOffset - 1;
81
- const endIndex = Math.min(startIndex + effectiveLimit, totalLines);
82
- const selectedLines = allLines.slice(startIndex, endIndex);
83
- // ── Number and truncate lines, cap at MAX_OUTPUT_BYTES ──────────────
84
- const outputLines = [];
85
- let outputBytes = 0;
86
- let truncatedByBytes = false;
87
- for (let i = 0; i < selectedLines.length; i++) {
88
- const lineNumber = effectiveOffset + i;
89
- const line = capLineLength(selectedLines[i] ?? "");
90
- const numbered = `${lineNumber}: ${line}`;
91
- const lineBytes = Buffer.byteLength(numbered, "utf8") + 1; // +1 for \n
92
- if (outputBytes + lineBytes > MAX_OUTPUT_BYTES && outputLines.length > 0) {
93
- truncatedByBytes = true;
94
- break;
95
- }
96
- outputLines.push(numbered);
97
- outputBytes += lineBytes;
98
- }
99
- const content = outputLines.join("\n");
100
- const linesReturned = outputLines.length;
101
- const lastLineReturned = effectiveOffset + linesReturned - 1;
102
- const isTruncated = lastLineReturned < totalLines || truncatedByBytes;
103
- if (isTruncated) {
104
- return {
105
- content,
106
- nextOffset: lastLineReturned + 1,
107
- path: normalizedPath,
108
- totalLines,
109
- truncated: true,
110
- };
111
- }
112
- return {
113
- content,
114
- path: normalizedPath,
115
- totalLines,
116
- truncated: false,
117
- };
118
- }
1
+ import{loadContext}from"#context/container.js";import{requireSandboxSession,validateAbsoluteFilePath}from"#execution/sandbox/require-sandbox.js";import{MAX_OUTPUT_BYTES,capLineLength}from"#execution/sandbox/truncate-output.js";import{buildReadFileTargetKey,createReadFileStamp,normalizeModelPath,setReadFileStamp}from"#runtime/framework-tools/file-state.js";var DEFAULT_OFFSET=1,DEFAULT_LIMIT=2e3;async function executeReadFileOnSandbox(r){let{filePath:i,offset:a,limit:o}=r;validateAbsoluteFilePath(i);let s=await requireSandboxSession(),c=normalizeModelPath(i),l=a??DEFAULT_OFFSET,u=o??DEFAULT_LIMIT;if(l<1)throw Error(`offset must be >= 1. Received: ${l}.`);let d=await s.readTextFile({path:i});if(d===null)throw Error(`File not found: ${i}. Verify the path exists and is accessible in the sandbox.`);if(d.includes(`\0`))throw Error(`File "${i}" contains NUL bytes and appears to be a binary file. read_file only supports text files.`);let f=d.split(`
2
+ `),p=f.length>0&&f[f.length-1]===``?f.length-1:f.length;if(p===0){if(l>1)throw Error(`offset ${l} is past the end of the file (0 lines). Use the default offset to read an empty file.`);return{content:``,path:c,totalLines:0,truncated:!1}}if(l>p)throw Error(`offset ${l} is past the end of the file (${p} lines).`);let m=createReadFileStamp({content:d,filePath:c}),h=buildReadFileTargetKey(c);setReadFileStamp(loadContext(),h,m);let g=l-1,_=Math.min(g+u,p),v=f.slice(g,_),y=[],b=0,x=!1;for(let e=0;e<v.length;e++){let t=`${l+e}: ${capLineLength(v[e]??``)}`,n=Buffer.byteLength(t,`utf8`)+1;if(b+n>MAX_OUTPUT_BYTES&&y.length>0){x=!0;break}y.push(t),b+=n}let S=y.join(`
3
+ `),C=l+y.length-1;return C<p||x?{content:S,nextOffset:C+1,path:c,totalLines:p,truncated:!0}:{content:S,path:c,totalLines:p,truncated:!1}}export{executeReadFileOnSandbox};
@@ -1,32 +1 @@
1
- import { loadContext } from "#context/container.js";
2
- import { SandboxKey } from "#context/keys.js";
3
- /**
4
- * Resolves the active sandbox session from the runtime context.
5
- *
6
- * Shared preamble for every sandbox-backed tool executor (`bash`,
7
- * `read_file`, `write_file`, `glob`, `grep`). Centralizes the context
8
- * lookup, null checks, and error messages so each executor does not
9
- * duplicate them.
10
- */
11
- export async function requireSandboxSession() {
12
- const sandboxAccess = loadContext().get(SandboxKey);
13
- if (sandboxAccess === undefined) {
14
- throw new Error("This tool requires sandbox access on the runtime context. " +
15
- "Ensure the step is running inside a managed runtime context with sandbox support.");
16
- }
17
- const sandbox = await sandboxAccess.get();
18
- if (sandbox === null) {
19
- throw new Error("The sandbox is not available in the current runtime context.");
20
- }
21
- return sandbox;
22
- }
23
- /**
24
- * Validates that a model-supplied file path is absolute. Throws a
25
- * descriptive error when the path does not start with `/`.
26
- */
27
- export function validateAbsoluteFilePath(filePath) {
28
- if (!filePath.startsWith("/")) {
29
- throw new Error(`filePath must be an absolute path. Received: "${filePath}". ` +
30
- "Use an absolute path such as /workspace/foo.ts.");
31
- }
32
- }
1
+ import{loadContext}from"#context/container.js";import{SandboxKey}from"#context/keys.js";async function requireSandboxSession(){let t=loadContext().get(SandboxKey);if(t===void 0)throw Error(`This tool requires sandbox access on the runtime context. Ensure the step is running inside a managed runtime context with sandbox support.`);let n=await t.get();if(n===null)throw Error(`The sandbox is not available in the current runtime context.`);return n}function validateAbsoluteFilePath(e){if(!e.startsWith(`/`))throw Error(`filePath must be an absolute path. Received: "${e}". Use an absolute path such as /workspace/foo.ts.`)}export{requireSandboxSession,validateAbsoluteFilePath};
@@ -1,36 +1 @@
1
- /**
2
- * Memoizes the result of probing for `rg` (ripgrep) once per sandbox
3
- * session. The probe runs exactly one `command -v rg` per distinct
4
- * session object, regardless of how many grep/glob tool calls happen.
5
- */
6
- const probes = new Map();
7
- /**
8
- * Returns `true` when `rg` is on PATH in the given sandbox session,
9
- * `false` otherwise. Result is cached per session.
10
- *
11
- * Framework `grep` and `glob` tools call this to decide whether to use
12
- * ripgrep or the POSIX `grep`/`find` fallback.
13
- */
14
- export async function ripgrepIsAvailable(session) {
15
- const existing = probes.get(session.id);
16
- if (existing !== undefined) {
17
- return existing;
18
- }
19
- const pending = runProbe(session);
20
- probes.set(session.id, pending);
21
- try {
22
- return await pending;
23
- }
24
- catch {
25
- // If the probe itself threw, treat rg as unavailable and clear the
26
- // cache so a later call can retry. A failed probe usually means the
27
- // sandbox session is in a bad state; letting the next call retry is
28
- // safer than permanently marking rg as missing.
29
- probes.delete(session.id);
30
- return false;
31
- }
32
- }
33
- async function runProbe(session) {
34
- const result = await session.runCommand({ command: "command -v rg >/dev/null 2>&1" });
35
- return result.exitCode === 0;
36
- }
1
+ var probes=new Map;async function ripgrepIsAvailable(t){let n=probes.get(t.id);if(n!==void 0)return n;let r=runProbe(t);probes.set(t.id,r);try{return await r}catch{return probes.delete(t.id),!1}}async function runProbe(e){return(await e.runCommand({command:`command -v rg >/dev/null 2>&1`})).exitCode===0}export{ripgrepIsAvailable};