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,80 +1 @@
1
- const INVALID_JSON_VALUE_CANDIDATE = Symbol("invalid-json-value-candidate");
2
- const JSON_VALUE_ERROR_MESSAGE = "Expected a JSON-serializable value.";
3
- const JSON_OBJECT_ERROR_MESSAGE = "Expected a JSON-serializable object.";
4
- /**
5
- * Returns the normalized JSON value for one runtime payload.
6
- *
7
- * Object properties whose value is `undefined` are treated as omitted so
8
- * callers can pass normal JavaScript option bags without tripping the JSON
9
- * boundary on absent optional fields. Lossy JavaScript values such as `Date`,
10
- * `Map`, `Set`, `NaN`, and cyclic structures are rejected.
11
- */
12
- export function parseJsonValue(value) {
13
- const normalized = normalizeJsonValueCandidate(value);
14
- if (normalized === INVALID_JSON_VALUE_CANDIDATE) {
15
- throw new TypeError(JSON_VALUE_ERROR_MESSAGE);
16
- }
17
- return normalized;
18
- }
19
- /**
20
- * Returns the normalized JSON object for one runtime payload.
21
- *
22
- * Top-level arrays and primitives are rejected. Object properties whose
23
- * value is `undefined` are treated as omitted.
24
- */
25
- export function parseJsonObject(value) {
26
- const normalized = parseJsonValue(value);
27
- if (!isJsonObjectValue(normalized)) {
28
- throw new TypeError(JSON_OBJECT_ERROR_MESSAGE);
29
- }
30
- return normalized;
31
- }
32
- function normalizeJsonValueCandidate(value, seen = new WeakSet()) {
33
- if (value === null || typeof value === "boolean" || typeof value === "string") {
34
- return value;
35
- }
36
- if (typeof value === "number") {
37
- return Number.isFinite(value) ? value : INVALID_JSON_VALUE_CANDIDATE;
38
- }
39
- if (Array.isArray(value)) {
40
- const normalizedItems = [];
41
- for (const item of value) {
42
- const normalizedItem = normalizeJsonValueCandidate(item, seen);
43
- if (normalizedItem === INVALID_JSON_VALUE_CANDIDATE) {
44
- return INVALID_JSON_VALUE_CANDIDATE;
45
- }
46
- normalizedItems.push(normalizedItem);
47
- }
48
- return normalizedItems;
49
- }
50
- if (typeof value !== "object" || value === undefined) {
51
- return INVALID_JSON_VALUE_CANDIDATE;
52
- }
53
- if (!isPlainObject(value)) {
54
- return INVALID_JSON_VALUE_CANDIDATE;
55
- }
56
- if (seen.has(value)) {
57
- return INVALID_JSON_VALUE_CANDIDATE;
58
- }
59
- seen.add(value);
60
- const normalized = {};
61
- for (const [key, entry] of Object.entries(value)) {
62
- if (entry === undefined) {
63
- continue;
64
- }
65
- const normalizedEntry = normalizeJsonValueCandidate(entry, seen);
66
- if (normalizedEntry === INVALID_JSON_VALUE_CANDIDATE) {
67
- return INVALID_JSON_VALUE_CANDIDATE;
68
- }
69
- normalized[key] = normalizedEntry;
70
- }
71
- seen.delete(value);
72
- return normalized;
73
- }
74
- function isJsonObjectValue(value) {
75
- return value !== null && !Array.isArray(value) && typeof value === "object";
76
- }
77
- function isPlainObject(value) {
78
- const prototype = Object.getPrototypeOf(value);
79
- return prototype === null || prototype === Object.prototype;
80
- }
1
+ var INVALID_JSON_VALUE_CANDIDATE=Symbol(`invalid-json-value-candidate`),JSON_VALUE_ERROR_MESSAGE=`Expected a JSON-serializable value.`,JSON_OBJECT_ERROR_MESSAGE=`Expected a JSON-serializable object.`;function parseJsonValue(n){let r=normalizeJsonValueCandidate(n);if(r===INVALID_JSON_VALUE_CANDIDATE)throw TypeError(JSON_VALUE_ERROR_MESSAGE);return r}function parseJsonObject(e){let t=parseJsonValue(e);if(!isJsonObjectValue(t))throw TypeError(JSON_OBJECT_ERROR_MESSAGE);return t}function normalizeJsonValueCandidate(t,n=new WeakSet){if(t===null||typeof t==`boolean`||typeof t==`string`)return t;if(typeof t==`number`)return Number.isFinite(t)?t:INVALID_JSON_VALUE_CANDIDATE;if(Array.isArray(t)){let r=[];for(let i of t){let t=normalizeJsonValueCandidate(i,n);if(t===INVALID_JSON_VALUE_CANDIDATE)return INVALID_JSON_VALUE_CANDIDATE;r.push(t)}return r}if(typeof t!=`object`||t===void 0||!isPlainObject(t)||n.has(t))return INVALID_JSON_VALUE_CANDIDATE;n.add(t);let r={};for(let[i,a]of Object.entries(t)){if(a===void 0)continue;let t=normalizeJsonValueCandidate(a,n);if(t===INVALID_JSON_VALUE_CANDIDATE)return INVALID_JSON_VALUE_CANDIDATE;r[i]=t}return n.delete(t),r}function isJsonObjectValue(e){return e!==null&&!Array.isArray(e)&&typeof e==`object`}function isPlainObject(e){let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}export{parseJsonObject,parseJsonValue};
@@ -1 +1 @@
1
- export {};
1
+ export{};
@@ -1 +1 @@
1
- export {};
1
+ export{};
@@ -1 +1 @@
1
- export {};
1
+ export{};
@@ -1 +1 @@
1
- export {};
1
+ export{};
@@ -1 +1 @@
1
- export {};
1
+ export{};
@@ -1 +1 @@
1
- export {};
1
+ export{};
@@ -1 +1 @@
1
- export {};
1
+ export{};
@@ -1,100 +1 @@
1
- import { Buffer } from "node:buffer";
2
- import { mkdir, writeFile } from "node:fs/promises";
3
- import { dirname, join } from "node:path";
4
- const WORKSPACE_ROOT = "/workspace";
5
- /**
6
- * Normalizes one named skill package into the concrete files Ash writes to
7
- * workspace resources or the live sandbox.
8
- */
9
- export function normalizeSkillPackage(input) {
10
- assertSafeSkillPackageName(input.name);
11
- const files = [
12
- {
13
- content: Buffer.from(input.markdown, "utf8"),
14
- relativePath: "SKILL.md",
15
- },
16
- ];
17
- for (const [relativePath, content] of Object.entries(input.files ?? {})) {
18
- assertSafeSkillPackageFilePath(relativePath);
19
- files.push({
20
- content: contentToBuffer(content),
21
- relativePath,
22
- });
23
- }
24
- files.sort((left, right) => comparePaths(left.relativePath, right.relativePath));
25
- return {
26
- description: input.description,
27
- files,
28
- license: input.license,
29
- markdown: input.markdown,
30
- metadata: input.metadata === undefined ? undefined : { ...input.metadata },
31
- name: input.name,
32
- };
33
- }
34
- /**
35
- * Writes a normalized package under a compiled workspace resource node root.
36
- *
37
- * For a `rootPath` of `.ash/compile/workspace-resources/__root__` and a skill
38
- * named `research`, files land under `skills/research/`.
39
- */
40
- export async function writeSkillPackageDirectory(input) {
41
- for (const file of input.skill.files) {
42
- const filePath = join(input.rootPath, "skills", input.skill.name, file.relativePath);
43
- await mkdir(dirname(filePath), { recursive: true });
44
- await writeFile(filePath, file.content);
45
- }
46
- }
47
- /**
48
- * Writes a normalized package into the live sandbox under
49
- * `/workspace/skills/<name>/`.
50
- */
51
- export async function writeSkillPackageToSandbox(input) {
52
- for (const file of input.skill.files) {
53
- await input.sandbox.writeBinaryFile({
54
- content: file.content,
55
- path: `${WORKSPACE_ROOT}/skills/${input.skill.name}/${file.relativePath}`,
56
- });
57
- }
58
- }
59
- /**
60
- * Validates a runtime-contributed skill name before it becomes one path
61
- * segment under `/workspace/skills`.
62
- */
63
- export function assertSafeSkillPackageName(name) {
64
- if (name.length === 0 ||
65
- name.trim() !== name ||
66
- name.startsWith(".") ||
67
- name.includes("/") ||
68
- name.includes("\\") ||
69
- name.includes("..") ||
70
- /^[A-Za-z]:/.test(name)) {
71
- throw new Error('Expected skill name to be a non-empty safe path segment without whitespace, separators, "." prefix, or "..".');
72
- }
73
- }
74
- function assertSafeSkillPackageFilePath(relativePath) {
75
- if (relativePath === "SKILL.md") {
76
- throw new Error('Skill package files must not include "SKILL.md"; Ash generates it.');
77
- }
78
- if (relativePath.length === 0 ||
79
- relativePath.startsWith("/") ||
80
- relativePath.includes("\\") ||
81
- /^[A-Za-z]:/.test(relativePath) ||
82
- relativePath
83
- .split("/")
84
- .some((segment) => segment.length === 0 || segment === "." || segment === "..")) {
85
- throw new Error("Expected skill package file paths to be relative POSIX paths.");
86
- }
87
- }
88
- function contentToBuffer(content) {
89
- if (typeof content === "string") {
90
- return Buffer.from(content, "utf8");
91
- }
92
- return Buffer.from(content);
93
- }
94
- function comparePaths(left, right) {
95
- if (left < right)
96
- return -1;
97
- if (left > right)
98
- return 1;
99
- return 0;
100
- }
1
+ import{dirname,join}from"node:path";import{mkdir,writeFile}from"node:fs/promises";import{Buffer}from"node:buffer";var WORKSPACE_ROOT=`/workspace`;function normalizeSkillPackage(e){assertSafeSkillPackageName(e.name);let t=[{content:Buffer.from(e.markdown,`utf8`),relativePath:`SKILL.md`}];for(let[n,r]of Object.entries(e.files??{}))assertSafeSkillPackageFilePath(n),t.push({content:contentToBuffer(r),relativePath:n});return t.sort((e,t)=>comparePaths(e.relativePath,t.relativePath)),{description:e.description,files:t,license:e.license,markdown:e.markdown,metadata:e.metadata===void 0?void 0:{...e.metadata},name:e.name}}async function writeSkillPackageDirectory(i){for(let a of i.skill.files){let o=join(i.rootPath,`skills`,i.skill.name,a.relativePath);await mkdir(dirname(o),{recursive:!0}),await writeFile(o,a.content)}}async function writeSkillPackageToSandbox(e){for(let t of e.skill.files)await e.sandbox.writeBinaryFile({content:t.content,path:`${WORKSPACE_ROOT}/skills/${e.skill.name}/${t.relativePath}`})}function assertSafeSkillPackageName(e){if(e.length===0||e.trim()!==e||e.startsWith(`.`)||e.includes(`/`)||e.includes(`\\`)||e.includes(`..`)||/^[A-Za-z]:/.test(e))throw Error(`Expected skill name to be a non-empty safe path segment without whitespace, separators, "." prefix, or "..".`)}function assertSafeSkillPackageFilePath(e){if(e===`SKILL.md`)throw Error(`Skill package files must not include "SKILL.md"; Ash generates it.`);if(e.length===0||e.startsWith(`/`)||e.includes(`\\`)||/^[A-Za-z]:/.test(e)||e.split(`/`).some(e=>e.length===0||e===`.`||e===`..`))throw Error(`Expected skill package file paths to be relative POSIX paths.`)}function contentToBuffer(e){return typeof e==`string`?Buffer.from(e,`utf8`):Buffer.from(e)}function comparePaths(e,t){return e<t?-1:+(e>t)}export{assertSafeSkillPackageName,normalizeSkillPackage,writeSkillPackageDirectory,writeSkillPackageToSandbox};
@@ -1 +1 @@
1
- export {};
1
+ export{};
@@ -1 +1 @@
1
- export {};
1
+ export{};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "experimental-ash",
3
- "version": "0.26.0",
3
+ "version": "0.27.0",
4
4
  "bin": {
5
5
  "ash": "./bin/ash.js",
6
6
  "experimental-ash": "./bin/ash.js"
@@ -228,9 +228,9 @@
228
228
  "clean": "node -e \"fs.rmSync('dist', { recursive: true, force: true })\"",
229
229
  "build": "pnpm run build:js && node ./scripts/copy-docs.mjs && node ./scripts/stamp-version-tokens.mjs",
230
230
  "build:compiled": "node ./scripts/vendor-compiled.mjs",
231
- "build:js": "pnpm run build:compiled && pnpm run clean && tsgo -p tsconfig.build.json && node ./scripts/copy-compiled-assets.mjs && node ./scripts/bundle-js.mjs",
232
- "build:types": "pnpm run build:compiled && tsgo -p tsconfig.build.json --emitDeclarationOnly",
233
- "dev": "pnpm run build:compiled && tsgo -p tsconfig.build.json --watch --preserveWatchOutput",
231
+ "build:js": "pnpm run build:compiled && pnpm run clean && pnpm run build:types && node ./scripts/copy-compiled-assets.mjs && node ./scripts/build-rolldown.mjs",
232
+ "build:types": "pnpm run build:compiled && tsgo -p tsconfig.build.json",
233
+ "dev": "pnpm run build:compiled && tsgo -p tsconfig.dev.json --watch --preserveWatchOutput",
234
234
  "test": "pnpm run test:unit && pnpm run test:integration",
235
235
  "test:e2e": "vitest run --config vitest.e2e.config.ts",
236
236
  "test:integration": "pnpm run build:js && vitest run --config vitest.integration.config.ts",
@@ -1,4 +0,0 @@
1
- import{createRequire as e}from"node:module";import{dirname as t,extname as n,isAbsolute as r,join as i,resolve as a,sep as o}from"node:path";import{readFile as s,stat as c}from"node:fs/promises";import{createHash as l}from"node:crypto";import{existsSync as u,mkdirSync as ee,writeFileSync as d}from"node:fs";import{pathToFileURL as f}from"node:url";import{parse as p}from"#compiled/jsonc-parser/index.js";function m(e,t){return e[t.exportName??`default`]}async function h(e){return typeof e==`function`?await e():e}function g(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(t);return e}function _(e,t){if(typeof e!=`string`)throw Error(t);return e}function te(e,t){if(typeof e!=`function`)throw Error(t);return e}function ne(e,t){let n=g(e,t),r={};for(let[e,i]of Object.entries(n))r[e]=g(i,t);return r}function v(e,t,n){let r=new Set(t);for(let t of Object.keys(e))if(!r.has(t))throw Error(`${n} Unknown key "${t}".`)}function y(e,t,n){let r=e[t];if(r===void 0)return;let i=g(r,n),a={};for(let[e,t]of Object.entries(i))a[e]=_(t,n);return a}const b=[`.ts`,`.tsx`,`.mts`,`.cts`,`.js`,`.jsx`,`.mjs`,`.cjs`,`.json`];function x(){return{name:`ash-authored-asset-import`,resolveId(e,n){if(!C(e)||n===void 0)return;let{path:i,suffix:o}=w(e);return`${r(i)?i:a(t(n),i)}${o}`},async load(e){let{path:t,suffix:n}=w(e);if(!C(t))return;if(n===`?raw`){let e=await S(t);return e===void 0?void 0:{code:`export default ${JSON.stringify(e)};`,moduleType:`js`}}let r=await re(t);if(r!==void 0)return{code:`export default ${JSON.stringify(r)};`,moduleType:`js`}}}}async function S(e){try{return await s(e,`utf8`)}catch(e){if(T(e))return;throw e}}function C(e){if(e.startsWith(`\0`)||e.startsWith(`node:`)||e.startsWith(`data:`)||e.startsWith(`file:`))return!1;let{path:t}=w(e);if(!t.startsWith(`.`)&&!t.startsWith(`/`)&&!/^[A-Za-z]:[\\/]/.test(t))return!1;let r=n(t);return r.length>0&&r!==`.node`&&!b.includes(r)}function w(e){let t=e.indexOf(`?`),n=e.indexOf(`#`),r=t===-1?n:n===-1?t:Math.min(t,n);return r===-1?{path:e,suffix:``}:{path:e.slice(0,r),suffix:e.slice(r)}}async function re(e){try{let t=await s(e);return`data:${ie(e)};base64,${t.toString(`base64`)}`}catch(e){if(T(e))return;throw e}}function T(e){return typeof e==`object`&&!!e&&`code`in e&&(e.code===`ENOENT`||e.code===`ENOTDIR`)}function ie(e){switch(n(e).toLowerCase()){case`.css`:return`text/css`;case`.csv`:return`text/csv`;case`.gif`:return`image/gif`;case`.html`:return`text/html`;case`.jpg`:case`.jpeg`:return`image/jpeg`;case`.png`:return`image/png`;case`.svg`:return`image/svg+xml`;case`.txt`:return`text/plain`;case`.wasm`:return`application/wasm`;case`.webp`:return`image/webp`;default:return`application/octet-stream`}}function ae(e,t){let n=t instanceof Error?t.message:String(t),r=[];return(/\.node(?:\b|["'?])/i.test(n)||/native addon|native module|invalid utf-?8|Could not load .*\.node/i.test(n))&&r.push(`If this comes from a native Node package, keep that package external with agent build.externalDependencies so Vercel/Nitro traces it instead of bundling it.`),/Unexpected character|No loader is configured|Could not load|Unknown file extension/i.test(n)&&r.push(`If this comes from an asset import, Ash only supports assets that Rolldown can emit for a Node ESM bundle; otherwise load the file through fs/import.meta.url or externalize the package.`),Error([`Failed to bundle authored module "${e}".`,n,...r.map(e=>`Hint: ${e}`)].join(`
2
- `))}const E=new Map,D=new Map;function oe(e){return{name:`ash-package-tsconfig-paths`,async resolveId(t,n,r){if(n===void 0||!R(t))return;let i=a(n);if(B(i,e.appPackageRoot))return;let o=await P(i);if(o===void 0||B(o,e.appPackageRoot))return;let s=await se(o);if(s!==void 0)for(let i of A(t,s)){let t=await this.resolve(i,n,{kind:r.kind,skipSelf:!0});if(t!==null)return t;let a=await M(i,e.extensions);if(a!==void 0)return{id:a}}}}}function se(e){let t=E.get(e);if(t!==void 0)return t;let n=O(e);return E.set(e,n),n}async function O(e){let n=await k(e);if(n===void 0)return;let r=[],i=p(n.source,r,{allowTrailingComma:!0});if(r.length>0||!z(i))return;let o=i.compilerOptions;if(!z(o)||!z(o.paths))return;let s=t(n.path),c=typeof o.baseUrl==`string`?a(s,o.baseUrl):s,l=Object.entries(o.paths).flatMap(([e,t])=>!Array.isArray(t)||!t.every(e=>typeof e==`string`)?[]:[{pattern:e,targets:t}]).sort((e,t)=>t.pattern.length-e.pattern.length);if(l.length!==0)return{baseDirectory:c,entries:l}}async function k(e){for(let t of[`tsconfig.json`,`jsconfig.json`]){let n=i(e,t);try{return{path:n,source:await s(n,`utf8`)}}catch(e){if(!L(e))throw e}}}function A(e,t){let n=[];for(let r of t.entries){let i=j(e,r.pattern);if(i!==void 0)for(let e of r.targets){let r=e.includes(`*`)?e.replaceAll(`*`,i):e;n.push(a(t.baseDirectory,r))}}return n}function j(e,t){let n=t.indexOf(`*`);if(n===-1)return e===t?``:void 0;let r=t.slice(0,n),i=t.slice(n+1);if(!(!e.startsWith(r)||!e.endsWith(i)))return e.slice(r.length,e.length-i.length)}async function M(e,t){if(await N(e))return e;for(let n of t){let t=`${e}${n}`;if(await N(t))return t}for(let n of t){let t=i(e,`index${n}`);if(await N(t))return t}}async function N(e){try{return(await c(e)).isFile()}catch{return!1}}function P(e){let n=t(e),r=D.get(n);if(r!==void 0)return r;let i=F(n);return D.set(n,i),i}async function F(e){let n=e;for(;;){if(await I(i(n,`package.json`)))return n;let e=t(n);if(e===n)return;n=e}}async function I(e){try{return await c(e),!0}catch{return!1}}function L(e){return typeof e==`object`&&!!e&&`code`in e&&(e.code===`ENOENT`||e.code===`ENOTDIR`)}function R(e){return e.startsWith(`.`)||e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e)?!1:!/^(?:node|data|file):/.test(e)}function z(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function B(e,t){let n=a(e),r=a(t);return n===r||n.startsWith(`${r}${o}`)}let V,H;function U(){return V??=(async()=>await import(f(e(e(import.meta.url).resolve(`nitro/package.json`)).resolve(`rolldown`)).href))(),V}function W(){return H??=(async()=>await import(f(e(e(import.meta.url).resolve(`nitro/package.json`)).resolve(`rolldown/parseAst`)).href))(),H}async function G(e){let{build:t}=await U();return await t(e)}function K(e,t){let n=e.output.filter(e=>e.type===`chunk`),r=n[0];if(r===void 0||n.length!==1)throw Error(`Expected one bundled ${t}.`);return r}const ce=[{importLine:`import { fileURLToPath as __ashFileURLToPath } from "node:url";`,declarationLine:`const __filename = __ashFileURLToPath(import.meta.url);`,bindingPattern:/^(?:const|let|var)\s+__filename\b/m},{importLine:`import { dirname as __ashDirname } from "node:path";`,declarationLine:`const __dirname = __ashDirname(__filename);`,bindingPattern:/^(?:const|let|var)\s+__dirname\b/m}],le={importLine:`import { createRequire as __ashCreateRequire } from "node:module";`,declarationLine:`const require = __ashCreateRequire(import.meta.url);`,bindingPattern:/^(?:const|let|var)\s+require\b/m};function ue(e,t={}){let n=[...ce];t.includeRequire===!0&&n.push(le);let r=[],i=[];for(let t of n)t.bindingPattern.test(e)||(r.push(t.importLine),i.push(t.declarationLine));return i.length===0?``:[...r,...i].join(`
3
- `)}function q(e={}){return{name:`ash-node-esm-compat-banner`,renderChunk(t){let n=ue(t,e);return n===``?null:{code:`${n}\n${t}`}}}}const de=/\.[cm]?[jt]sx?$/,fe=i(`node_modules`,`.cache`,`experimental-ash`,`authored-modules`),J=[`.ts`,`.tsx`,`.mts`,`.cts`,`.js`,`.jsx`,`.mjs`,`.cjs`,`.json`],Y=`__ashChannelModuleCache__`,X=`ash-cached-channel:`;function pe(){return globalThis[Y]}const Z=new Map;function me(e){let t=a(e),n=Z.get(t);if(n!==void 0)return n;let r=(async()=>{try{return await he(e)}finally{Z.delete(t)}})();return Z.set(t,r),r}async function he(e){return g(de.test(e)?await ge(e):await import(Q(e)),`Expected "${e}" to export a module namespace object.`)}function Q(e){let t=e.replaceAll(`\\`,`/`);return/^[A-Za-z]:\//.test(t)?`file:///${encodeURI(t)}`:t.startsWith(`/`)?`file://${encodeURI(t)}`:t}async function ge(e){let t=pe(),n=Se(e),r=xe(n),o=t&&t.size>0?{name:`ash-channel-identity`,async resolveId(e,n,r){if(!/channels[/\\]/.test(e)||r.kind!==`import-statement`)return;let i=await this.resolve(e,n,{kind:r.kind,skipSelf:!0});if(i===null||typeof i.id!=`string`)return;let o=a(i.id);if(t.has(o))return{id:`${X}${o}`}},load(e){if(!e.startsWith(X))return;let t=e.slice(19);return{code:[`const cache = globalThis["${Y}"];`,`export default cache.get(${JSON.stringify(t)});`].join(`
4
- `),moduleType:`js`}}}:null,s=[x(),oe({appPackageRoot:n,extensions:J}),q({includeRequire:!0}),$(n),o].filter(e=>e!==null),c;try{c=K(await G({cwd:n,input:e,platform:`node`,plugins:s,resolve:{extensions:[...J]},tsconfig:r,write:!1,output:{comments:!1,format:`esm`,sourcemap:`inline`}}),`authored module for "${e}"`)}catch(t){throw ae(e,t)}let f=l(`sha1`).update(e).update(`\0`).update(c.code).digest(`hex`),p=i(n,fe),m=i(p,`${f}.mjs`);return u(m)||(ee(p,{recursive:!0}),d(m,c.code)),await import(`${Q(m)}?v=${f}`)}function $(e){return{name:`ash-package-boundary`,async resolveId(t,n,r){if(!_e(t))return;if(ve(t))return{external:!0,id:t};let i=n===void 0||n.startsWith(`\0`)||n.startsWith(X)?void 0:a(n);if(i!==void 0&&be(i,e)){let e=await this.resolve(t,n,{kind:r.kind,skipSelf:!0});if(e===null||typeof e.id!=`string`||ye(e.id))return{external:!0,id:t}}}}}function _e(e){return e.startsWith(`.`)||e.startsWith(`/`)||/^[A-Za-z]:[\\/]/.test(e)||/^(?:node|data|file):/.test(e)||e.startsWith(`@/`)?!1:!e.startsWith(X)}function ve(e){return e===`experimental-ash`||e.startsWith(`experimental-ash/`)}function ye(e){return e.replaceAll(`\\`,`/`).includes(`/node_modules/`)}function be(e,t){let n=a(e),r=a(t);return n===r||n.startsWith(`${r}${o}`)}function xe(e){for(let t of[`tsconfig.json`,`jsconfig.json`]){let n=i(e,t);if(u(n))return n}return!1}function Se(e){let n=t(e);for(;;){if(u(i(n,`package.json`)))return n;let r=t(n);if(r===n)throw Error(`Failed to resolve the authored package root for "${e}".`);n=r}}export{W as a,v as c,m as d,y as f,K as i,ne as l,q as n,te as o,h as p,G as r,g as s,me as t,_ as u};
@@ -1 +0,0 @@
1
- import{createRequire as e}from"node:module";var t=Object.create,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.getPrototypeOf,o=Object.prototype.hasOwnProperty,s=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),c=(e,t)=>{let r={};for(var i in e)n(r,i,{get:e[i],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:`Module`}),r},l=(e,t,a,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!o.call(e,d)&&d!==a&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},u=(e,r,i)=>(i=e==null?{}:t(a(e)),l(r||!e||!e.__esModule?n(i,`default`,{value:e,enumerable:!0}):i,e)),d=e(import.meta.url);export{u as i,c as n,d as r,s as t};
@@ -1,4 +0,0 @@
1
- import{i as e,r as t,t as n}from"./chunk-DSjMdhoD.js";import{c as r,f as i,g as a,p as o,v as s,y as c}from"./types-BJSR0JNV.js";var l=class extends Error{status;body;constructor(e,t){super(t||`Server returned ${e}.`),this.name=`ClientError`,this.status=e,this.body=t}};function u(e){if(e instanceof DOMException)return e.name===`AbortError`;if(!(e instanceof Error))return!1;let t=`code`in e&&typeof e.code==`string`?e.code:void 0;return e.name===`AbortError`||e.message===`terminated`||t===`UND_ERR_SOCKET`||/abort|cancel|disconnect|premature close|socket|terminated/i.test(e.message)}async function*d(e){let t=e.getReader(),n=new TextDecoder,r=``;try{for(;;){let e=await t.read();if(e.done){r+=n.decode();break}e.value&&(r+=n.decode(e.value,{stream:!0}));let i=r.indexOf(`
2
- `);for(;i!==-1;){let e=r.slice(0,i).trim();r=r.slice(i+1),e.length>0&&(yield JSON.parse(e)),i=r.indexOf(`
3
- `)}}let e=r.trim();e.length>0&&(yield JSON.parse(e))}finally{t.releaseLock()}}function f(e,t,n){let r=t.startsWith(`/`)?t:`/${t}`,i=h(n);if(p(e)){let t=new URL(e);return t.pathname=`${m(t.pathname)}${r}`,t.search=i,t.hash=``,t.toString()}return`${m(e)}${r}${i}`}function p(e){return/^[a-z][a-z\d+\-.]*:/i.test(e)}function m(e){return e===`/`?``:e.endsWith(`/`)?e.slice(0,-1):e}function h(e){return!e||Object.keys(e).length===0?``:`?${new URLSearchParams(e).toString()}`}async function*g(e){let t=e.startIndex,n=e.maxReconnectAttempts;for(;;){let r=f(e.host,c(e.sessionId),t>0?{startIndex:String(t)}:void 0),i=await e.resolveHeaders(),a=await fetch(r,{headers:i,signal:e.signal??null});if(!a.ok){let e=await a.text();throw new l(a.status,e)}if(!a.body)throw new l(a.status,`Response body is null.`);let o=!1;try{for await(let e of d(a.body))t+=1,yield e}catch(e){if(!u(e))throw e;o=!0}if(!o||n<=0)return;--n}}var _=n(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{SYMBOL_FOR_REQ_CONTEXT:()=>u,getContext:()=>d}),t.exports=c(l);let u=Symbol.for(`@vercel/request-context`);function d(){return globalThis[u]?.get?.()??{}}})),v=n(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{VercelOidcTokenError:()=>u}),t.exports=c(l);var u=class extends Error{constructor(e,t){super(e),this.name=`VercelOidcTokenError`,this.cause=t}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}}})),y=n(((t,n)=>{var r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},l=e=>c(r({},`__esModule`,{value:!0}),e),u={};s(u,{getVercelOidcToken:()=>p,getVercelOidcTokenSync:()=>m}),n.exports=l(u);var d=_(),f=v();async function p(t){let n=``,r;try{n=m()}catch(e){r=e}try{let[{getTokenPayload:r,isExpired:i},{refreshToken:a}]=await Promise.all([await Promise.resolve().then(()=>e(w())),await import(`./token-YW4VSeBB.js`).then(t=>e(t.default))]);(!n||i(r(n),t?.expirationBufferMs))&&(await a(t),n=m())}catch(e){let t=r instanceof Error?r.message:``;throw e instanceof Error&&(t=`${t}
4
- ${e.message}`),t?new f.VercelOidcTokenError(t):e}return n}function m(){let e=(0,d.getContext)().headers?.[`x-vercel-oidc-token`]??process.env.VERCEL_OIDC_TOKEN;if(!e)throw Error(`The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?`);return e}})),b=n(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{AccessTokenMissingError:()=>u,RefreshAccessTokenFailedError:()=>d}),t.exports=c(l);var u=class extends Error{constructor(){super(`No authentication found. Please log in with the Vercel CLI (vercel login).`),this.name=`AccessTokenMissingError`}},d=class extends Error{constructor(e){super(`Failed to refresh authentication token.`,{cause:e}),this.name=`RefreshAccessTokenFailedError`}}})),x=n(((e,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{findRootDir:()=>y,getUserDataDir:()=>b}),n.exports=f(p);var m=d(t(`path`)),h=d(t(`fs`)),g=d(t(`os`)),_=v();function y(){try{let e=process.cwd();for(;e!==m.default.dirname(e);){let t=m.default.join(e,`.vercel`);if(h.default.existsSync(t))return e;e=m.default.dirname(e)}}catch{throw new _.VercelOidcTokenError(`Token refresh only supported in node server environments`)}return null}function b(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(g.default.platform()){case`darwin`:return m.default.join(g.default.homedir(),`Library/Application Support`);case`linux`:return m.default.join(g.default.homedir(),`.local/share`);case`win32`:return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}})),S=n(((e,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{isValidAccessToken:()=>b,readAuthConfig:()=>v,writeAuthConfig:()=>y}),n.exports=f(p);var m=d(t(`fs`)),h=d(t(`path`)),g=w();function _(){let e=(0,g.getVercelDataDir)();if(!e)throw Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return h.join(e,`auth.json`)}function v(){try{let e=_();if(!m.existsSync(e))return null;let t=m.readFileSync(e,`utf8`);return t?JSON.parse(t):null}catch{return null}}function y(e){let t=_(),n=h.dirname(t);m.existsSync(n)||m.mkdirSync(n,{mode:504,recursive:!0}),m.writeFileSync(t,JSON.stringify(e,null,2),{mode:384})}function b(e,t=0){if(!e.token)return!1;if(typeof e.expiresAt!=`number`)return!0;let n=Math.floor(Date.now()/1e3),r=t/1e3;return e.expiresAt>=n+r}})),C=n(((e,n)=>{var r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,s=(e,t)=>{for(var n in t)r(e,n,{get:t[n],enumerable:!0})},c=(e,t,n,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of a(t))!o.call(e,c)&&c!==n&&r(e,c,{get:()=>t[c],enumerable:!(s=i(t,c))||s.enumerable});return e},l=e=>c(r({},`__esModule`,{value:!0}),e),u={};s(u,{processTokenResponse:()=>g,refreshTokenRequest:()=>h}),n.exports=l(u);var d=t(`os`);let f=`@vercel/oidc node-${process.version} ${(0,d.platform)()} (${(0,d.arch)()}) ${(0,d.hostname)()}`,p=null;async function m(){if(p)return p;let e=await fetch(`https://vercel.com/.well-known/openid-configuration`,{headers:{"user-agent":f}});if(!e.ok)throw Error(`Failed to discover OAuth endpoints`);let t=await e.json();if(!t||typeof t.token_endpoint!=`string`)throw Error(`Invalid OAuth discovery response`);let n=t.token_endpoint;return p=n,n}async function h(e){let t=await m();return await fetch(t,{method:`POST`,headers:{"Content-Type":`application/x-www-form-urlencoded`,"user-agent":f},body:new URLSearchParams({client_id:`cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp`,grant_type:`refresh_token`,...e})})}async function g(e){let t=await e.json();if(!e.ok){let e=typeof t==`object`&&t&&`error`in t?String(t.error):`Token refresh failed`;return[Error(e)]}return typeof t!=`object`||!t?[Error(`Invalid token response`)]:typeof t.access_token==`string`?t.token_type===`Bearer`?typeof t.expires_in==`number`?[null,t]:[Error(`Missing expires_in in response`)]:[Error(`Invalid token_type in response`)]:[Error(`Missing access_token in response`)]}})),w=n(((e,n)=>{var r=Object.create,i=Object.defineProperty,a=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,s=Object.getPrototypeOf,c=Object.prototype.hasOwnProperty,l=(e,t)=>{for(var n in t)i(e,n,{get:t[n],enumerable:!0})},u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let s of o(t))!c.call(e,s)&&s!==n&&i(e,s,{get:()=>t[s],enumerable:!(r=a(t,s))||r.enumerable});return e},d=(e,t,n)=>(n=e==null?{}:r(s(e)),u(t||!e||!e.__esModule?i(n,`default`,{value:e,enumerable:!0}):n,e)),f=e=>u(i({},`__esModule`,{value:!0}),e),p={};l(p,{assertVercelOidcTokenResponse:()=>k,findProjectInfo:()=>A,getTokenPayload:()=>N,getVercelDataDir:()=>E,getVercelOidcToken:()=>O,getVercelToken:()=>D,isExpired:()=>P,loadToken:()=>M,saveToken:()=>j}),n.exports=f(p);var m=d(t(`path`)),h=d(t(`fs`)),g=v(),_=x(),y=S(),w=C(),T=b();function E(){let e=(0,_.getUserDataDir)();return e?m.join(e,`com.vercel.cli`):null}async function D(e){let t=(0,y.readAuthConfig)();if(!t?.token)throw new T.AccessTokenMissingError;if((0,y.isValidAccessToken)(t,e?.expirationBufferMs))return t.token;if(!t.refreshToken)throw(0,y.writeAuthConfig)({}),new T.RefreshAccessTokenFailedError(`No refresh token available`);try{let e=await(0,w.refreshTokenRequest)({refresh_token:t.refreshToken}),[n,r]=await(0,w.processTokenResponse)(e);if(n||!r)throw(0,y.writeAuthConfig)({}),new T.RefreshAccessTokenFailedError(n);let i={token:r.access_token,expiresAt:Math.floor(Date.now()/1e3)+r.expires_in};return r.refresh_token&&(i.refreshToken=r.refresh_token),(0,y.writeAuthConfig)(i),i.token}catch(e){throw(0,y.writeAuthConfig)({}),e instanceof T.AccessTokenMissingError||e instanceof T.RefreshAccessTokenFailedError?e:new T.RefreshAccessTokenFailedError(e)}}async function O(e,t,n){let r=`https://api.vercel.com/v1/projects/${t}/token?source=vercel-oidc-refresh${n?`&teamId=${n}`:``}`,i=await fetch(r,{method:`POST`,headers:{Authorization:`Bearer ${e}`}});if(!i.ok)throw new g.VercelOidcTokenError(`Failed to refresh OIDC token: ${i.statusText}`);let a=await i.json();return k(a),a}function k(e){if(!e||typeof e!=`object`)throw TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!(`token`in e)||typeof e.token!=`string`)throw TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function A(){let e=(0,_.findRootDir)();if(!e)throw new g.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let t=m.join(e,`.vercel`,`project.json`);if(!h.existsSync(t))throw new g.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let n=JSON.parse(h.readFileSync(t,`utf8`));if(typeof n.projectId!=`string`&&typeof n.orgId!=`string`)throw TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:n.projectId,teamId:n.orgId}}function j(e,t){let n=(0,_.getUserDataDir)();if(!n)throw new g.VercelOidcTokenError(`Unable to find user data directory. Please reach out to Vercel support.`);let r=m.join(n,`com.vercel.token`,`${t}.json`),i=JSON.stringify(e);h.mkdirSync(m.dirname(r),{mode:504,recursive:!0}),h.writeFileSync(r,i),h.chmodSync(r,432)}function M(e){let t=(0,_.getUserDataDir)();if(!t)throw new g.VercelOidcTokenError(`Unable to find user data directory. Please reach out to Vercel support.`);let n=m.join(t,`com.vercel.token`,`${e}.json`);if(!h.existsSync(n))return null;let r=JSON.parse(h.readFileSync(n,`utf8`));return k(r),r}function N(e){let t=e.split(`.`);if(t.length!==3)throw new g.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let n=t[1].replace(/-/g,`+`).replace(/_/g,`/`),r=n.padEnd(n.length+(4-n.length%4)%4,`=`);return JSON.parse(Buffer.from(r,`base64`).toString(`utf8`))}function P(e,t=0){return e.exp*1e3<Date.now()+t}})),T=n(((e,t)=>{var n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,o=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:!0})},s=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(let c of i(t))!a.call(e,c)&&c!==o&&n(e,c,{get:()=>t[c],enumerable:!(s=r(t,c))||s.enumerable});return e},c=e=>s(n({},`__esModule`,{value:!0}),e),l={};o(l,{AccessTokenMissingError:()=>f.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>f.RefreshAccessTokenFailedError,getContext:()=>d.getContext,getVercelOidcToken:()=>u.getVercelOidcToken,getVercelOidcTokenSync:()=>u.getVercelOidcTokenSync,getVercelToken:()=>p.getVercelToken}),t.exports=c(l);var u=y(),d=_(),f=b(),p=w()})),E=T();const D=`${a}/`,O=new Set([`localhost`,`127.0.0.1`,`0.0.0.0`,`::1`,`[::1]`]);function k(e){return O.has(e.hostname)}function A(e){try{return k(new URL(e))}catch{return!1}}async function j(){try{let e=(await(0,E.getVercelOidcToken)()).trim();if(e.length>0)return e}catch{}return process.env.VERCEL_OIDC_TOKEN?.trim()??``}const M=`x-vercel-protection-bypass`,N=`x-vercel-trusted-oidc-idp-token`;function P(e){return e.pathname.endsWith(`/ash/v1`)||e.pathname.includes(D)}async function F(e){let t=I(e),n=await R(t,e.resourceUrl);return n!==null&&L(t,n),t}function I(e){let t=new Headers(V(e.headers)),n=process.env.VERCEL_AUTOMATION_BYPASS_SECRET?.trim();return n&&P(e.resourceUrl)&&t.set(M,n),t}function L(e,t){e.has(`authorization`)||e.set(`authorization`,`Bearer ${t}`),e.set(N,t)}async function R(e,t){return z(t)?e.get(`x-vercel-oidc-token`)?.trim()||await B():null}function z(e){return!(!P(e)||k(e))}async function B(){let e=await j();return e.length>0?e:null}function V(e){if(e!==void 0)return e instanceof Headers?e:Array.isArray(e)?e.map(([e,t])=>[e,t]):e}async function H(e){let t={},n=process.env.VERCEL_AUTOMATION_BYPASS_SECRET?.trim();if(n&&(t[M]=n),!A(e.serverUrl)){let e=await j();e.length>0&&(t[N]=e)}return t}function U(){return{streamIndex:0}}function W(e){let t=q(e.events),n=e.session.streamIndex+e.events.length;return t?.type===`session.waiting`?{continuationToken:e.continuationToken??e.session.continuationToken,sessionId:e.sessionId,streamIndex:n}:U()}function G(e){let t;for(let n of e)J(n)&&(t=n.data.message??void 0);return t}function K(e){let t=q(e);return t?.type===`session.waiting`?`waiting`:t?.type===`session.failed`?`failed`:`completed`}function q(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n!==void 0&&r(n))return n}}function J(e){return e.type===`message.completed`&&e.data.finishReason!==`tool-calls`}var Y=class{continuationToken;sessionId;#e=!1;#t;constructor(e){this.continuationToken=e.continuationToken,this.sessionId=e.sessionId,this.#t=e.createStream}async result(){let e=[];for await(let t of this)e.push(t);return{events:e,message:G(e),sessionId:this.sessionId,status:K(e)}}[Symbol.asyncIterator](){if(this.#e)throw Error(`MessageResponse has already been consumed.`);return this.#e=!0,this.#t()}},X=class{#e;#t;constructor(e,t){this.#e=e,this.#t=t}get state(){return this.#t}async sendMessage(e,t){return this.send({message:e},t)}async send(e,t){let n=this.#t,{continuationToken:r,sessionId:i}=await this.#n(e,n,t);return new Y({continuationToken:r,createStream:()=>this.#r(i,r,n,t),sessionId:i})}openStream(e){let t=this.#t.sessionId;if(!t)throw Error(`Session has no session ID. Send a message first.`);return g({host:this.#e.host,maxReconnectAttempts:this.#e.maxReconnectAttempts,resolveHeaders:()=>this.#e.resolveHeaders(),sessionId:t,signal:e?.signal,startIndex:e?.startIndex??this.#t.streamIndex})}async#n(e,t,n){let r=t.sessionId?s(t.sessionId):i,a=f(this.#e.host,r),o=await this.#e.resolveHeaders(n?.headers);o.set(`content-type`,`application/json`);let c=Z({input:e,session:t});if(c===null)throw Error(`Session.send requires a non-empty message, inputResponses, or both.`);let u=await fetch(a,{body:JSON.stringify(c),headers:o,method:`POST`,signal:n?.signal??null});if(!u.ok){let e=await u.text();throw new l(u.status,e)}let d=await u.json(),p=(typeof d.sessionId==`string`?d.sessionId:void 0)??u.headers.get(`x-ash-session-id`)?.trim()??t.sessionId;if(!p)throw Error(`Message route did not return a session id.`);return{continuationToken:typeof d.continuationToken==`string`?d.continuationToken:void 0,sessionId:p}}async*#r(e,t,n,i){let a=[];try{let t=n.sessionId===e?n.streamIndex:0,o=this.#e.maxReconnectAttempts;for(;;){let n=await this.#i(e,t,i?.signal),s=!1;try{for await(let e of d(n))if(a.push(e),t+=1,yield e,r(e)){s=!0;break}}catch(e){if(!u(e))throw e}if(s||o<=0)break;--o}}finally{this.#t=W({continuationToken:t,events:a,sessionId:e,session:n})}}async#i(e,t,n){let r=f(this.#e.host,c(e),t>0?{startIndex:String(t)}:void 0),i=await this.#e.resolveHeaders(),a=await fetch(r,{headers:i,signal:n??null});if(!a.ok){let e=await a.text();throw new l(a.status,e)}if(!a.body)throw new l(a.status,`Response body is null.`);return a.body}};function Z(e){let t={};return e.input.message!==void 0&&(t.message=e.input.message),e.input.inputResponses!==void 0&&e.input.inputResponses.length>0&&(t.inputResponses=e.input.inputResponses),e.input.clientContext!==void 0&&(t.clientContext=e.input.clientContext),e.session.continuationToken!==void 0&&(t.continuationToken=e.session.continuationToken),Object.keys(t).length===0||e.session.continuationToken===void 0&&t.message===void 0||e.session.continuationToken!==void 0&&t.message===void 0&&t.inputResponses===void 0?null:t}var Q=class{#e;#t;#n;#r;constructor(e){this.#n=e.host,this.#e=e.auth,this.#t=e.headers,this.#r=e.maxReconnectAttempts??3}async health(){let e=f(this.#n,o),t=await this.#i(),n=await fetch(e,{headers:t});if(!n.ok){let e=await n.text();throw new l(n.status,e)}return await n.json()}session(e){let t;return t=typeof e==`string`?{continuationToken:e,streamIndex:0}:e||U(),new X({host:this.#n,maxReconnectAttempts:this.#r,resolveHeaders:e=>this.#i(e)},t)}async#i(e){let t=new Headers,n=await ee(this.#t);for(let[e,r]of Object.entries(n))t.set(e,r);if(e)for(let[n,r]of Object.entries(e))t.set(n,r);let r=await this.#a();return r&&t.set(`authorization`,r),t}async#a(){let e=this.#e;if(e){if(`bearer`in e){let t=(await $(e.bearer)).trim();return t.length===0?void 0:`Bearer ${t}`}if(`basic`in e){let t=await $(e.basic.password);return`Basic ${te(e.basic.username,t)}`}}}};async function $(e){return typeof e==`function`?e():e}async function ee(e){return e===void 0?{}:typeof e==`function`?await e():e}function te(e,t){let n=new TextEncoder().encode(`${e}:${t}`),r=Array.from(n,e=>String.fromCodePoint(e)).join(``);return btoa(r)}export{H as a,w as c,l as d,A as i,v as l,M as n,j as o,F as r,T as s,Q as t,g as u};
@@ -1,5 +0,0 @@
1
- import{i as e}from"./chunk-DSjMdhoD.js";import{$ as t,B as n,F as r,G as i,H as a,I as o,J as s,K as c,L as l,N as u,P as d,Q as f,R as p,U as m,V as h,W as g,X as _,Y as v,Z as y,et as b,q as x,tt as ee,y as te,z as ne}from"./paths-CWZN-XRX.js";import{t as re}from"./gray-matter-D-9jHwOT.js";import{n as S}from"./guards-26p6sOw3.js";import{t as ie}from"./errors-HYWjHxV6.js";import{basename as ae,dirname as C,join as w,relative as T,resolve as E}from"node:path";import{readFile as oe,readdir as se,stat as ce}from"node:fs/promises";var le=e(re(),1);function ue(e){return e}function de(e){return e}function fe(e){return e}const pe=/^---\r?\n[\s\S]*?\r?\n---(?:\r?\n|$)/;function D(e){if(!le.default.test(e))return{hasFrontmatter:!1,frontmatter:{},markdown:e};let t;try{t=(0,le.default)(e)}catch(t){throw ge(e)&&!_e(e)?Error(`Markdown frontmatter is missing a closing delimiter.`):t}if(!S(t.data))throw Error(`Markdown frontmatter must parse to an object.`);return{hasFrontmatter:!0,frontmatter:t.data,markdown:ve(t.content)}}function me(e){return fe(ne({markdown:e},`Expected authored instructions markdown to match the public Ash shape.`))}function he(e){let t=D(e);if(!t.hasFrontmatter)throw Error(`Schedule markdown must start with YAML frontmatter declaring "cron".`);if(`run`in t.frontmatter)throw Error('Markdown-form schedules do not support the "run" frontmatter key. Use a TypeScript schedule (`<name>.ts`) to author a handler.');return ue(n({...t.frontmatter,markdown:t.markdown},`Expected authored schedule markdown to match the public Ash shape.`))}function O(e,t={}){let n=D(e),r=t.slug;if(r===void 0&&!n.hasFrontmatter)throw Error(`Skill markdown must start with YAML frontmatter.`);let i=xe(n.frontmatter),a=k(i.description,`description`),o=r===void 0?Se(i.description,`description`):a??t.description??we(n.markdown,r),s={...i,description:o,markdown:n.markdown};return ye(s,i),de(h(s,`Expected authored skill markdown to match the public Ash shape.`))}function ge(e){return e.startsWith(`---
2
- `)||e.startsWith(`---\r
3
- `)}function _e(e){return pe.test(e)}function ve(e){return e.replace(/^\r?\n/u,``)}function ye(e,t){let n=k(t.license,`license`);n!==void 0&&(e.license=n);let r=Ce(t.metadata,`metadata`);r!==void 0&&(e.metadata=r)}const be=[`name`];function xe(e){let t={...e};for(let e of be)delete t[e];return t}function k(e,t){if(e!=null){if(typeof e!=`string`)throw Error(`Expected "${t}" frontmatter to be a string.`);return e}}function Se(e,t){let n=k(e,t);if(n===void 0)throw Error(`Missing required "${t}" frontmatter.`);return n}function Ce(e,t){if(e==null)return;if(!S(e))throw Error(`Expected "${t}" frontmatter to be an object.`);let n=Object.entries(e).map(([e,n])=>{if(typeof n!=`string`)throw Error(`Expected "${t}.${e}" frontmatter to be a string.`);return[e,n]});return Object.fromEntries(n)}function we(e,t){let n=e.split(/\r?\n/u).map(e=>e.trim()).find(e=>e!==``&&!e.startsWith("```"));return n===void 0?`Instructions for the ${t} skill.`:n.replace(/^[#>*\-\s]+/u,``).trim()||`Instructions for the ${t} skill.`}async function A(e){let t=v(e.logicalPath);return{definition:e.lower(await e.source.readTextFile(e.sourcePath),{name:_(t)}),sourceKind:`markdown`,logicalPath:t,sourceId:l(t)}}function j(e,t){let n={moduleFileNames:[]};for(let r of e)if(r.isFile()){if(t.markdownFileName!==void 0&&r.name===t.markdownFileName){n.markdownFileName=r.name;continue}t.moduleBaseName!==void 0&&x(r.name)===t.moduleBaseName&&n.moduleFileNames.push(r.name)}return n.moduleFileNames.sort((e,t)=>e.localeCompare(t)),n}function M(e,t){let n=new Map;for(let r of e){if(!r.isFile())continue;let e=t.allowMarkdown?Te(r.name):null,i=t.allowModules?x(r.name):null,a=e??i;if(a===null)continue;let o=n.get(a);if(o===void 0&&(o={moduleFileNames:[],slotName:a},n.set(a,o)),e!==null){o.markdownFileName=r.name;continue}i!==null&&o.moduleFileNames.push(r.name)}return[...n.values()].map(e=>(e.moduleFileNames.sort((e,t)=>e.localeCompare(t)),e)).sort((e,t)=>e.slotName.localeCompare(t.slotName))}function Te(e){return!e.endsWith(`.md`)||e.length<=3?null:e.slice(0,-3)}async function N(e){let t=w(e.rootPath,e.directoryName),n=e.rootEntries.find(t=>t.name===e.directoryName);if(n===void 0)return{diagnostics:[],sources:[]};if(!n.isDirectory())return{diagnostics:[f({code:e.invalidDirectoryCode,message:e.invalidDirectoryMessage,sourcePath:t})],sources:[]};let r=[],i=[];return await P({allowMarkdown:e.allowMarkdown===!0,diagnostics:r,markdownLowerer:e.allowMarkdown===!0?e.markdownLowerer:void 0,projectSource:e.source,recursive:e.recursive,relativeDirectory:e.directoryName,rootDirectoryPath:t,sources:i,subdirectoryRelative:``,unsupportedEntryCode:e.unsupportedEntryCode,unsupportedEntryMessage:e.unsupportedEntryMessage,unsupportedFileCode:e.unsupportedFileCode,unsupportedFileMessage:e.unsupportedFileMessage,validateSegment:e.validateSegment}),{diagnostics:r,sources:i}}async function P(e){let t=e.subdirectoryRelative===``?e.rootDirectoryPath:w(e.rootDirectoryPath,e.subdirectoryRelative),n=await R(e.projectSource,t);e.recursive&&await Ee(e,n,t),(e.unsupportedFileCode!==void 0||e.unsupportedEntryCode!==void 0)&&De(e,n,t),await Oe(e,n,t)}async function Ee(e,t,n){for(let r of t){if(!r.isDirectory())continue;let t=w(n,r.name);if(e.validateSegment!==void 0){let n=e.validateSegment(r.name,t);if(n!==null){e.diagnostics.push(n);continue}}await P({allowMarkdown:e.allowMarkdown,diagnostics:e.diagnostics,markdownLowerer:e.markdownLowerer,projectSource:e.projectSource,recursive:e.recursive,relativeDirectory:e.relativeDirectory,rootDirectoryPath:e.rootDirectoryPath,sources:e.sources,subdirectoryRelative:e.subdirectoryRelative===``?r.name:w(e.subdirectoryRelative,r.name),unsupportedEntryCode:e.unsupportedEntryCode,unsupportedEntryMessage:e.unsupportedEntryMessage,unsupportedFileCode:e.unsupportedFileCode,unsupportedFileMessage:e.unsupportedFileMessage,validateSegment:e.validateSegment})}}function De(e,t,n){for(let r of t){let t=c(r),i=w(n,r.name);if(t===`directory`)continue;if(t===`other`){e.unsupportedEntryCode!==void 0&&e.diagnostics.push(f({code:e.unsupportedEntryCode,message:e.unsupportedEntryMessage?.(i,e.relativeDirectory)??`Expected "${i}" to be a regular file or directory within "${e.relativeDirectory}/".`,sourcePath:i}));continue}if(e.unsupportedFileCode===void 0)continue;let a=x(r.name)!==null,o=e.allowMarkdown&&r.name.endsWith(`.md`);a||o||e.diagnostics.push(f({code:e.unsupportedFileCode,message:e.unsupportedFileMessage?.(i,e.relativeDirectory)??`Expected "${i}" to be a supported authored source within "${e.relativeDirectory}/".`,sourcePath:i}))}}async function Oe(e,t,n){for(let r of M(t,{allowMarkdown:e.allowMarkdown,allowModules:!0})){let t=e.subdirectoryRelative===``?r.slotName:w(e.subdirectoryRelative,r.slotName),i=v(w(e.relativeDirectory,t));if(e.validateSegment!==void 0){let t=r.markdownFileName??r.moduleFileNames[0]??r.slotName,i=e.validateSegment(r.slotName,w(n,t));if(i!==null){e.diagnostics.push(i);continue}}if(r.markdownFileName!==void 0&&r.moduleFileNames.length>0){e.diagnostics.push(K(n,i,[r.markdownFileName,...r.moduleFileNames]));continue}if(r.moduleFileNames.length>1){e.diagnostics.push(q(n,i,r.moduleFileNames));continue}if(r.markdownFileName!==void 0){let t=e.subdirectoryRelative===``?r.markdownFileName:w(e.subdirectoryRelative,r.markdownFileName),n=v(w(e.relativeDirectory,t));if(e.markdownLowerer===void 0)continue;let i=await A({logicalPath:n,lower:e.markdownLowerer,source:e.projectSource,sourcePath:w(e.rootDirectoryPath,t)});e.sources.push(i);continue}let[a]=r.moduleFileNames;if(a===void 0)continue;let s=e.subdirectoryRelative===``?a:w(e.subdirectoryRelative,a);e.sources.push(o({logicalPath:v(w(e.relativeDirectory,s))}))}}const F=`discover/module-slot-collision`,I=`discover/tools-directory-invalid`,L=`discover/hooks-directory-invalid`,ke=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/,Ae=/^[a-z][a-z0-9-]{0,63}$/,je=/^(\.?[a-z][a-z0-9-]{0,63}|\[[a-zA-Z][a-zA-Z0-9_]{0,63}\])$/,Me=/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/;async function R(e,t){let n=[...await e.readDirectory(t)];return n.sort((e,t)=>e.name.localeCompare(t.name)),n}async function z(e){let n=await B({markdownFileName:`instructions.md`,moduleBaseName:`instructions`,rootEntries:e.rootEntries,rootPath:e.rootPath,slotLabel:`instructions`,source:e.source});if(n.diagnostics.length>0||n.source!==void 0)return{diagnostics:n.diagnostics,instructions:n.source};let r=await B({markdownFileName:`system.md`,moduleBaseName:`system`,rootEntries:e.rootEntries,rootPath:e.rootPath,slotLabel:`system`,source:e.source});if(r.source!==void 0){let n=r.source.sourceKind===`markdown`?`system.md`:r.source.logicalPath;return{diagnostics:[t({code:`discover/deprecated-system-slot`,message:`The "${n}" slot is deprecated. Rename it to "${n.replace(/^system/,`instructions`)}" — the runtime still loads the legacy slot for now, but support will be removed in a future release.`,sourcePath:w(e.rootPath,n)}),...r.diagnostics],instructions:r.source}}return r.diagnostics.length>0?{diagnostics:r.diagnostics}:e.required===!1?{diagnostics:[]}:{diagnostics:[f({code:`discover/required-instructions-missing`,message:`Expected one authored instructions prompt source at "instructions.md", "instructions.ts", "instructions.cts", "instructions.mts", "instructions.js", "instructions.cjs", or "instructions.mjs".`,sourcePath:e.rootPath})]}}async function B(e){let t=j(e.rootEntries,{markdownFileName:e.markdownFileName,moduleBaseName:e.moduleBaseName});if(t.markdownFileName!==void 0&&t.moduleFileNames.length>0)return{diagnostics:[K(e.rootPath,e.slotLabel,[t.markdownFileName,...t.moduleFileNames])]};if(t.moduleFileNames.length>1)return{diagnostics:[q(e.rootPath,e.slotLabel,t.moduleFileNames)]};if(t.markdownFileName!==void 0)return{diagnostics:[],source:await A({logicalPath:e.markdownFileName,lower:me,source:e.source,sourcePath:w(e.rootPath,t.markdownFileName)})};let[n]=t.moduleFileNames;return n===void 0?{diagnostics:[]}:{diagnostics:[],source:o({logicalPath:n})}}function V(e){let t=j(e.rootEntries,{moduleBaseName:e.slotName});if(t.moduleFileNames.length>1)return{diagnostics:[q(e.rootPath,e.slotName,t.moduleFileNames)]};let[n]=t.moduleFileNames;return n===void 0?e.missingDiagnostic===void 0?{diagnostics:[]}:{diagnostics:[f({code:e.missingDiagnostic.code,message:e.missingDiagnostic.message,sourcePath:e.rootPath})]}:{diagnostics:[],module:o({logicalPath:n})}}function H(e,t){return ke.test(e)?null:f({code:`discover/tool-name-invalid`,message:`Tool filename "${e}" is not a legal tool name. Expected ASCII letters, digits, underscores, and dashes only, starting with a letter, up to 64 characters.`,sourcePath:t})}function U(e,t){return Ae.test(e)?null:f({code:`discover/connection-name-invalid`,message:`Connection filename "${e}" is not a legal connection name. Expected lowercase ASCII letters, digits, and dashes only, starting with a letter, up to 64 characters.`,sourcePath:t})}function Ne(e,t){return je.test(e)?null:f({code:`discover/channel-name-invalid`,message:`Channel path segment "${e}" is not a legal channel name. Expected lowercase kebab-case (\`my-channel\`), optionally with a leading dot (\`.well-known\`), or a path parameter form (\`[sessionId]\`).`,sourcePath:t})}function W(e,t){return Me.test(e)?null:f({code:`discover/hook-name-invalid`,message:`Hook path segment "${e}" is not a legal hook name. Expected ASCII letters, digits, underscores, and dashes only, starting with a letter, up to 64 characters.`,sourcePath:t})}function G(e){return e.rootEntries.flatMap(n=>!n.isDirectory()||e.classifyEntry(n.name,c(n))!==`unknown`?[]:[t({code:`discover/unsupported-directory`,message:e.createUnsupportedDirectoryMessage(n.name),sourcePath:w(e.rootPath,n.name)})])}function K(e,t,n){return f({code:`discover/slot-collision`,message:`Found conflicting authored sources for "${t}": ${J(n)}.`,sourcePath:e})}function q(e,t,n){return f({code:F,message:`Found multiple authored module sources for "${t}": ${J(n)}.`,sourcePath:e})}function J(e){return e.map(e=>`"${e}"`).join(`, `)}async function Pe(e){let t=`connections`,n=w(e.rootPath,t),r=e.rootEntries.find(e=>e.name===t);if(r===void 0)return{connections:[],diagnostics:[]};if(!r.isDirectory())return{connections:[],diagnostics:[f({code:`discover/connections-directory-invalid`,message:`Expected "${n}" to be a directory of authored connections.`,sourcePath:n})]};let i=await R(e.source,n),a=[],o=[],s=new Set;for(let e of M(i,{allowMarkdown:!1,allowModules:!0})){let r=v(w(t,e.slotName));if(e.moduleFileNames.length>1){s.add(e.slotName),o.push(q(n,r,e.moduleFileNames));continue}let[i]=e.moduleFileNames;if(i===void 0)continue;s.add(e.slotName);let c=U(e.slotName,w(n,i));if(c!==null){o.push(c);continue}a.push(d({connectionName:e.slotName,logicalPath:w(t,i)}))}for(let r of i){if(!r.isDirectory())continue;let i=r.name,c=w(n,i);if(s.has(i)){o.push(f({code:`discover/connection-file-folder-collision`,message:`Connection "${i}" is defined twice. Found both file-form "connections/${i}.ts" and folder-form "connections/${i}/". Use one form, not both.`,sourcePath:c}));let e=a.findIndex(e=>e.connectionName===i);e!==-1&&a.splice(e,1);continue}let l=U(i,c);if(l!==null){o.push(l);continue}let u=Fe(await R(e.source,c));if(u.length>1){o.push(f({code:F,message:`Found multiple connection definition modules inside "${v(w(t,i))}": `+u.map(e=>`"${e}"`).join(`, `),sourcePath:c}));continue}let[p]=u;if(p===void 0){o.push(f({code:`discover/connection-folder-empty`,message:`Connection folder "connections/${i}/" contains no "connection.ts" definition. Add "connections/${i}/connection.ts" or use the file form "connections/${i}.ts".`,sourcePath:c}));continue}a.push(d({connectionName:i,logicalPath:w(t,i,p)}))}return{connections:a,diagnostics:o}}function Fe(e){let t=e.filter(e=>e.isFile()),n=[];for(let e of M(t,{allowMarkdown:!1,allowModules:!0}))e.slotName===`connection`&&n.push(...e.moduleFileNames);return n}const Ie=`discover/lib-entry-unsupported`;async function Le(e){let t=await N({directoryName:`lib`,invalidDirectoryCode:`discover/lib-directory-invalid`,invalidDirectoryMessage:`Expected "${e.agentRoot}/lib" to be a directory of authored helper modules.`,recursive:!0,rootEntries:e.rootEntries,rootPath:e.agentRoot,source:e.source,unsupportedEntryCode:Ie,unsupportedEntryMessage:e=>`Expected "${e}" to be a supported authored module within "lib/".`,unsupportedFileCode:Ie,unsupportedFileMessage:e=>`Expected "${e}" to be a supported authored module within "lib/".`});return{diagnostics:t.diagnostics,lib:t.sources}}function Y(){return{kind:`disk`,async readDirectory(e){return await se(e,{withFileTypes:!0})},async readTextFile(e){return await oe(e,`utf8`)},async stat(e){try{let t=await ce(e);return t.isDirectory()?`directory`:t.isFile()?`file`:`other`}catch{return`missing`}}}}const X=`sandbox`,Z=`workspace`,Re=`sandbox`;async function ze(e){let t=[],n=e.rootEntries.find(e=>e.name===X);if(n===void 0)return Be({diagnostics:t,rootEntries:e.rootEntries,rootPath:e.rootPath});let r=w(e.rootPath,X);if(!n.isDirectory())return t.push(f({code:`discover/sandbox-directory-invalid`,message:`Expected "${r}" to be the sandbox folder.`,sourcePath:r})),{diagnostics:t,sandbox:null,sandboxWorkspace:null};let i=await R(e.source,r),a=Ve(i),s=i.find(e=>e.name===Z&&e.isDirectory());if(a.length>1)return t.push(f({code:F,message:`Found multiple sandbox definition modules inside "${v(X)}": `+a.map(e=>`"${e}"`).join(`, `),sourcePath:r})),{diagnostics:t,sandbox:null,sandboxWorkspace:null};let[c]=a,u=c!==void 0,d=s!==void 0;if(!u&&!d)return t.push(f({code:`discover/sandbox-folder-empty`,message:`Sandbox folder "sandbox/" contains neither a "sandbox.<ext>" definition nor a "workspace/" subdirectory. Add one or the other, or remove the folder.`,sourcePath:r})),{diagnostics:t,sandbox:null,sandboxWorkspace:null};let p=null;u&&(p=o({logicalPath:w(X,c)}));let m=null;if(d){let n=w(r,Z),i=v(w(X,Z)),a=await Ue(e.source,n);a===null?m={logicalPath:i,rootEntries:await He(e.source,n),sourceId:l(i),sourcePath:n}:t.push(a)}return{diagnostics:t,sandbox:p,sandboxWorkspace:m}}function Be(e){let t=j(e.rootEntries,{moduleBaseName:Re});if(t.moduleFileNames.length>1)return e.diagnostics.push(f({code:F,message:`Found multiple top-level sandbox definition modules: `+t.moduleFileNames.map(e=>`"${e}"`).join(`, `),sourcePath:e.rootPath})),{diagnostics:e.diagnostics,sandbox:null,sandboxWorkspace:null};let[n]=t.moduleFileNames;return n===void 0?{diagnostics:e.diagnostics,sandbox:null,sandboxWorkspace:null}:{diagnostics:e.diagnostics,sandbox:o({logicalPath:n}),sandboxWorkspace:null}}function Ve(e){let t=e.filter(e=>e.isFile()),n=[];for(let e of M(t,{allowMarkdown:!1,allowModules:!0}))e.slotName===Re&&n.push(...e.moduleFileNames);return n}async function He(e,t){let n=await R(e,t),r=[];for(let e of n){if(e.isDirectory()){r.push(`${e.name}/`);continue}e.isFile()&&r.push(e.name)}return r}async function Ue(e,t){return(await R(e,t)).find(e=>e.name===`skills`)===void 0?null:f({code:`discover/sandbox-workspace-skills-reserved`,message:`"sandbox/workspace/skills/" is reserved for the framework skill discovery. Move skill files under "agent/skills/" instead, or rename the subtree.`,sourcePath:w(t,`skills`)})}const We=`discover/skill-frontmatter-invalid`;async function Ge(e){let t=e.source??Y(),n=E(e.agentRoot),r=E(e.skillsDirectoryPath??w(n,`skills`)),i=v(e.skillsLogicalPath??T(n,r)),a=await t.stat(r);if(a===`missing`)return{diagnostics:[],skills:[]};if(a!==`directory`)return{diagnostics:[f({code:`discover/skills-directory-invalid`,message:`Expected "${r}" to be a directory of authored skills.`,sourcePath:r})],skills:[]};let o=[],s=new Set,l=new Map,u=await R(t,r);for(let e of u){let n=await Ke({entryName:e.name,entryType:c(e),skillsDirectoryPath:r,skillsLogicalPath:i,source:t});if(o.push(...n.diagnostics),n.skill===null||n.skillId===null||s.has(n.skillId))continue;let a=l.get(n.skillId);if(a!==void 0){o.push(f({code:`discover/skill-collision`,message:`Found conflicting authored skill sources for "${n.skillId}": "${a.logicalPath}" and "${n.logicalPath}".`,sourcePath:w(r,n.skillId)})),s.add(n.skillId),l.delete(n.skillId);continue}l.set(n.skillId,{logicalPath:n.logicalPath,skill:n.skill})}return{diagnostics:o,skills:[...l.values()].map(e=>e.skill)}}async function Ke(e){let t=w(e.skillsDirectoryPath,e.entryName);switch(i(e.entryName,e.entryType)){case`skill-package-directory`:return qe({logicalSkillsPath:e.skillsLogicalPath,skillId:e.entryName,skillRootPath:t,source:e.source});case`flat-skill-markdown`:return Je({logicalSkillsPath:e.skillsLogicalPath,skillFileName:e.entryName,skillFilePath:t,source:e.source});case`flat-skill-module`:return Ye({logicalSkillsPath:e.skillsLogicalPath,skillFileName:e.entryName});default:return{diagnostics:[f({code:`discover/skill-entry-not-directory`,message:`Expected "${t}" to be a skill directory containing SKILL.md or a flat ".md", ".ts", ".cts", ".mts", ".js", ".cjs", or ".mjs" skill file.`,sourcePath:t})],logicalPath:v(w(e.skillsLogicalPath,e.entryName)),skill:null,skillId:null}}}async function qe(e){let t=w(e.skillRootPath,`SKILL.md`),n=v(w(e.logicalSkillsPath,e.skillId,`SKILL.md`));if(await e.source.stat(t)!==`file`)return{diagnostics:[f({code:`discover/skill-markdown-missing`,message:`Expected "${t}" to exist for the "${e.skillId}" skill.`,sourcePath:e.skillRootPath})],logicalPath:n,skill:null,skillId:null};let r;try{r=O(await e.source.readTextFile(t))}catch(e){return{diagnostics:[f({code:We,message:Ze(t,e),sourcePath:t})],logicalPath:n,skill:null,skillId:null}}let i=await Xe(e.source,e.skillRootPath),a={description:r.description,logicalPath:n,markdown:r.markdown,name:e.skillId,rootPath:e.skillRootPath,skillFilePath:t,skillId:e.skillId,sourceId:l(n)};return i.assetsPath!==void 0&&(a.assetsPath=i.assetsPath),r.license!==void 0&&(a.license=r.license),r.metadata!==void 0&&(a.metadata=r.metadata),i.referencesPath!==void 0&&(a.referencesPath=i.referencesPath),i.scriptsPath!==void 0&&(a.scriptsPath=i.scriptsPath),{diagnostics:[],logicalPath:n,skill:p(a),skillId:e.skillId}}async function Je(e){let t=Qe(e.skillFileName),n=v(w(e.logicalSkillsPath,e.skillFileName)),r;try{r=O(await e.source.readTextFile(e.skillFilePath),{slug:t})}catch(t){return{diagnostics:[f({code:We,message:Ze(e.skillFilePath,t),sourcePath:e.skillFilePath})],logicalPath:n,skill:null,skillId:null}}return{diagnostics:[],logicalPath:n,skill:{definition:r,sourceKind:`markdown`,logicalPath:n,sourceId:l(n)},skillId:t}}async function Ye(e){let t=x(e.skillFileName),n=v(w(e.logicalSkillsPath,e.skillFileName));return t===null?{diagnostics:[],logicalPath:n,skill:null,skillId:null}:{diagnostics:[],logicalPath:n,skill:o({logicalPath:n}),skillId:t}}async function Xe(e,t){let n=await e.readDirectory(t),r={};for(let e of n)if(e.isDirectory())switch(g(e.name,c(e))){case`skill-assets-directory`:r.assetsPath=w(t,e.name);break;case`skill-references-directory`:r.referencesPath=w(t,e.name);break;case`skill-scripts-directory`:r.scriptsPath=w(t,e.name);break;default:break}return r}function Ze(e,t){return`Invalid authored skill frontmatter in "${e}": ${ie(t)}`}function Qe(e){return e.endsWith(`.md`)?e.slice(0,-3):e}async function Q(e){let t=e.source??Y(),n=E(e.agentRoot),r=E(e.subagentsDirectoryPath??w(n,`subagents`)),i=v(e.subagentsLogicalPath??T(n,r)),a=await t.stat(r);if(a===`missing`)return{diagnostics:[],subagents:[]};if(a!==`directory`)return{diagnostics:[f({code:`discover/subagents-directory-invalid`,message:`Expected "${r}" to be a directory of authored subagents.`,sourcePath:r})],subagents:[]};let o=await R(t,r),s=[],c=[];for(let a of o){if(a.isFile()){let t=x(a.name);if(t===null)continue;c.push($e({agentRoot:n,appRoot:e.appRoot,subagentId:t,subagentLogicalPath:w(i,a.name),subagentPath:w(r,a.name)}));continue}if(!a.isDirectory())continue;let o=await et({appRoot:e.appRoot,source:t,subagentId:a.name,subagentLogicalPath:w(i,a.name),subagentRoot:w(r,a.name)});s.push(...o.diagnostics),c.push(o.subagent)}return{diagnostics:s,subagents:c}}function $e(e){let t=o({logicalPath:e.subagentLogicalPath}),n=u({agentId:e.subagentId,agentRoot:e.agentRoot,appRoot:e.appRoot,configModule:t});return r({entryPath:e.subagentPath,logicalPath:e.subagentLogicalPath,manifest:n,rootPath:e.agentRoot,subagentId:e.subagentId})}async function et(e){let t=[],n=await R(e.source,e.subagentRoot);t.push(...G({classifyEntry:m,createUnsupportedDirectoryMessage(e){return`Ignoring unsupported directory "${e}/" in the local subagent root.`},rootEntries:n,rootPath:e.subagentRoot}));let i=await z({required:!1,rootEntries:n,rootPath:e.subagentRoot,source:e.source});t.push(...i.diagnostics);let a=V({missingDiagnostic:{code:`discover/required-subagent-config-module-missing`,message:`Expected one authored subagent config module at "agent.ts", "agent.cts", "agent.mts", "agent.js", "agent.cjs", or "agent.mjs".`},rootEntries:n,rootPath:e.subagentRoot,slotName:`agent`});t.push(...a.diagnostics);let o=await Pe({rootEntries:n,rootPath:e.subagentRoot,source:e.source});t.push(...o.diagnostics);let s=await ze({rootEntries:n,rootPath:e.subagentRoot,source:e.source});t.push(...s.diagnostics);let c=await N({directoryName:`tools`,invalidDirectoryCode:I,invalidDirectoryMessage:`Expected "${w(e.subagentRoot,`tools`)}" to be a directory of authored tools.`,recursive:!0,rootEntries:n,rootPath:e.subagentRoot,source:e.source,validateSegment:H});t.push(...c.diagnostics);let l=await N({directoryName:`hooks`,invalidDirectoryCode:L,invalidDirectoryMessage:`Expected "${w(e.subagentRoot,`hooks`)}" to be a directory of authored hooks.`,recursive:!0,rootEntries:n,rootPath:e.subagentRoot,source:e.source,validateSegment:W});t.push(...l.diagnostics);let d=await Le({agentRoot:e.subagentRoot,rootEntries:n,source:e.source});t.push(...d.diagnostics),t.push(...tt(e.subagentRoot,n));let f=await Ge({agentRoot:e.subagentRoot,source:e.source});t.push(...f.diagnostics);let p=await Q({agentRoot:e.subagentRoot,appRoot:e.appRoot,source:e.source});t.push(...p.diagnostics);let h={agentRoot:e.subagentRoot,appRoot:e.appRoot,connections:o.connections,diagnostics:t,hooks:l.sources,lib:d.lib,instructions:i.instructions,sandbox:s.sandbox,sandboxWorkspaces:s.sandboxWorkspace===null?[]:[s.sandboxWorkspace],skills:f.skills,tools:c.sources,subagents:p.subagents};a.module!==void 0&&(h.configModule=a.module);let g=u(h);return{diagnostics:t,subagent:r({entryPath:e.subagentRoot,logicalPath:e.subagentLogicalPath,manifest:g,rootPath:e.subagentRoot,subagentId:e.subagentId})}}function tt(e,t){return t.flatMap(t=>m(t.name,c(t))===`invalid-schedules-directory`?[f({code:`discover/local-subagent-schedules-invalid`,message:`Local subagent packages cannot define schedules at "${w(e,t.name)}".`,sourcePath:w(e,t.name)})]:[])}async function nt(e){let t=await N({allowMarkdown:!0,directoryName:`schedules`,invalidDirectoryCode:`discover/schedules-directory-invalid`,invalidDirectoryMessage:`Expected "${w(e.agentRoot,`schedules`)}" to be a directory of authored schedules.`,markdownLowerer:e=>he(e),recursive:!0,rootEntries:e.rootEntries,rootPath:e.agentRoot,source:e.source,unsupportedFileCode:`discover/schedule-file-unsupported`,unsupportedFileMessage:e=>`Expected "${e}" to be a TypeScript or markdown schedule file within "schedules/".`});return{diagnostics:t.diagnostics,schedules:t.sources}}async function rt(e){let t=e.source??Y(),n=E(e.appRoot),r=E(e.agentRoot),i=[],o=await it(t,n),s=await R(t,r);i.push(...G({classifyEntry:a,createUnsupportedDirectoryMessage(e){return`Ignoring unsupported directory "${e}/" in the agent root.`},rootEntries:s,rootPath:r}));let c=await z({rootEntries:s,rootPath:r,source:t});i.push(...c.diagnostics);let l=V({rootEntries:s,rootPath:r,slotName:`agent`});i.push(...l.diagnostics);let d=await N({directoryName:`channels`,invalidDirectoryCode:`discover/channels-directory-invalid`,invalidDirectoryMessage:`Expected "${w(r,`channels`)}" to be a directory of authored channels.`,recursive:!0,rootEntries:s,rootPath:r,source:t,validateSegment:Ne});i.push(...d.diagnostics);let f=await Le({agentRoot:r,rootEntries:s,source:t});i.push(...f.diagnostics);let p=await nt({agentRoot:r,rootEntries:s,source:t});i.push(...p.diagnostics);let m=await Pe({rootEntries:s,rootPath:r,source:t});i.push(...m.diagnostics);let h=await ze({rootEntries:s,rootPath:r,source:t});i.push(...h.diagnostics);let g=await N({directoryName:`tools`,invalidDirectoryCode:I,invalidDirectoryMessage:`Expected "${w(r,`tools`)}" to be a directory of authored tools.`,recursive:!0,rootEntries:s,rootPath:r,source:t,validateSegment:H});i.push(...g.diagnostics);let _=await N({directoryName:`hooks`,invalidDirectoryCode:L,invalidDirectoryMessage:`Expected "${w(r,`hooks`)}" to be a directory of authored hooks.`,recursive:!0,rootEntries:s,rootPath:r,source:t,validateSegment:W});i.push(..._.diagnostics);let v=await Ge({agentRoot:r,source:t});i.push(...v.diagnostics);let y=await Q({agentRoot:r,appRoot:n,source:t});i.push(...y.diagnostics);let b={agentRoot:r,appRoot:n,channels:d.sources,connections:m.connections,packageName:o,diagnostics:i,hooks:_.sources,lib:f.lib,instructions:c.instructions,sandbox:h.sandbox,sandboxWorkspaces:h.sandboxWorkspace===null?[]:[h.sandboxWorkspace],schedules:p.schedules,skills:v.skills,tools:g.sources,subagents:y.subagents};return l.module!==void 0&&(b.configModule=l.module),{diagnostics:i,manifest:u(b)}}async function it(e,t){try{let n=w(t,`package.json`),r=JSON.parse(await e.readTextFile(n)).name;if(typeof r!=`string`||r.length===0)return;let i=r.lastIndexOf(`/`);return i===-1?r:r.slice(i+1)}catch{return}}var at=class extends Error{diagnostic;constructor(e){super(e.message),this.name=`DiscoveryProjectResolutionError`,this.diagnostic=e}};async function ot(e=process.cwd(),t={}){let n=t.source??Y(),r=await st(n,e),i=r;for(;;){let e=await ct(n,i);if(e!==null)return e;let t=await lt(n,i);if(t!==null)return t;if(await ut(n,i))return{agentRoot:i,appRoot:i,layout:`flat`};let r=C(i);if(r===i)break;i=r}throw new at(f({code:y,message:`Could not resolve an Ash agent root from "${r}".`,sourcePath:r}))}async function st(e,t){let n=E(t);return await e.stat(n)===`directory`?n:C(n)}async function ct(e,t){if(ae(t)!==`agent`)return null;let n=C(t);return await dt(e,n)?{agentRoot:t,appRoot:n,layout:`nested`}:null}async function lt(e,t){if(!await dt(e,t))return null;let n=w(t,`agent`);return await pt(e,n)?{agentRoot:n,appRoot:t,layout:`nested`}:null}async function ut(e,t){let n=await ft(e,t);return Array.from(n.entries()).some(([e,t])=>{let n=a(e,t);return n!==`unknown`&&n!==`lib-directory`})}async function dt(e,t){let n=await ft(e,t);return Array.from(n.entries()).some(([e,t])=>s(e,t))}async function ft(e,t){if(await e.stat(t)!==`directory`)return new Map;let n=await e.readDirectory(t);return new Map(n.map(e=>[e.name,c(e)]))}async function pt(e,t){return await e.stat(t)===`directory`}var $=class extends Error{result;constructor(e){super(gt({diagnostics:e.diagnostics,diagnosticsPath:e.paths.diagnosticsPath})),this.name=`CompileAgentError`,this.result=e}};async function mt(e={}){let t=e.source??Y(),n=await ot(e.startPath,{source:t}),r=await rt({...n,source:t}),i=await te({appRoot:n.appRoot,diagnostics:r.diagnostics,manifest:r.manifest}),a={diagnostics:r.diagnostics,manifest:i.compiledManifest,metadata:i.metadata,paths:i.paths,project:n};if(b(r.diagnostics))throw new $(a);return ht(r.diagnostics),a}function ht(e){let t=e.filter(e=>e.severity===`warning`);if(t.length!==0)for(let e of t)console.warn(`Warning [${e.code}]: ${e.message}\n source: ${e.sourcePath}`)}function gt(e){let t=ee(e.diagnostics),n=[`Discovery failed with ${t.errors} error(s) and ${t.warnings} warning(s).`];if(e.diagnosticsPath!==void 0&&n.push(`Diagnostics artifact: ${e.diagnosticsPath}`),e.diagnostics.length===0)return n.join(`
4
- `);n.push(`Discovery diagnostics:`);for(let t of e.diagnostics)n.push(`- ${_t(t.severity)}: ${t.message}`),n.push(` source: ${t.sourcePath}`);return n.join(`
5
- `)}function _t(e){return e===`error`?`Error`:`Warning`}export{mt as n,at as r,$ as t};
@@ -1 +0,0 @@
1
- import{A as e,s as t}from"./paths-CWZN-XRX.js";import{t as n}from"./errors-HYWjHxV6.js";import{getDevelopmentEnvironmentFilePaths as r,loadDevelopmentEnvironmentFiles as i}from"../cli/dev/environment.js";import{a,c as o,i as s,o as c,r as l,s as u}from"./host-CwAcCrg7.js";import{createRequire as d}from"node:module";import*as f from"node:path";import{dirname as p,isAbsolute as m,join as h,relative as g,resolve as _,sep as v}from"node:path";import{lstat as y,open as b,readFile as x,readdir as S,realpath as C,stat as w}from"node:fs/promises";import{existsSync as ee,stat as te,unwatchFile as T,watch as ne,watchFile as re}from"node:fs";import{parse as ie}from"#compiled/jsonc-parser/index.js";import{EventEmitter as ae}from"node:events";import{Readable as oe}from"node:stream";import{type as se}from"node:os";const E={FILE_TYPE:`files`,DIR_TYPE:`directories`,FILE_DIR_TYPE:`files_directories`,EVERYTHING_TYPE:`all`},D={root:`.`,fileFilter:e=>!0,directoryFilter:e=>!0,type:E.FILE_TYPE,lstat:!1,depth:2147483648,alwaysStat:!1,highWaterMark:4096};Object.freeze(D);const O=`READDIRP_RECURSIVE_ERROR`,ce=new Set([`ENOENT`,`EPERM`,`EACCES`,`ELOOP`,O]),k=[E.DIR_TYPE,E.EVERYTHING_TYPE,E.FILE_DIR_TYPE,E.FILE_TYPE],le=new Set([E.DIR_TYPE,E.EVERYTHING_TYPE,E.FILE_DIR_TYPE]),ue=new Set([E.EVERYTHING_TYPE,E.FILE_DIR_TYPE,E.FILE_TYPE]),de=e=>ce.has(e.code),fe=process.platform===`win32`,pe=e=>!0,A=e=>{if(e===void 0)return pe;if(typeof e==`function`)return e;if(typeof e==`string`){let t=e.trim();return e=>e.basename===t}if(Array.isArray(e)){let t=e.map(e=>e.trim());return e=>t.some(t=>e.basename===t)}return pe};var me=class extends oe{parents;reading;parent;_stat;_maxDepth;_wantsDir;_wantsFile;_wantsEverything;_root;_isDirent;_statsProp;_rdOptions;_fileFilter;_directoryFilter;constructor(e={}){super({objectMode:!0,autoDestroy:!0,highWaterMark:e.highWaterMark});let t={...D,...e},{root:n,type:r}=t;this._fileFilter=A(t.fileFilter),this._directoryFilter=A(t.directoryFilter);let i=t.lstat?y:w;fe?this._stat=e=>i(e,{bigint:!0}):this._stat=i,this._maxDepth=t.depth!=null&&Number.isSafeInteger(t.depth)?t.depth:D.depth,this._wantsDir=r?le.has(r):!1,this._wantsFile=r?ue.has(r):!1,this._wantsEverything=r===E.EVERYTHING_TYPE,this._root=_(n),this._isDirent=!t.alwaysStat,this._statsProp=this._isDirent?`dirent`:`stats`,this._rdOptions={encoding:`utf8`,withFileTypes:this._isDirent},this.parents=[this._exploreDir(n,1)],this.reading=!1,this.parent=void 0}async _read(e){if(!this.reading){this.reading=!0;try{for(;!this.destroyed&&e>0;){let t=this.parent,n=t&&t.files;if(n&&n.length>0){let{path:r,depth:i}=t,a=n.splice(0,e).map(e=>this._formatEntry(e,r)),o=await Promise.all(a);for(let t of o){if(!t)continue;if(this.destroyed)return;let n=await this._getEntryType(t);n===`directory`&&this._directoryFilter(t)?(i<=this._maxDepth&&this.parents.push(this._exploreDir(t.fullPath,i+1)),this._wantsDir&&(this.push(t),e--)):(n===`file`||this._includeAsFile(t))&&this._fileFilter(t)&&this._wantsFile&&(this.push(t),e--)}}else{let e=this.parents.pop();if(!e){this.push(null);break}if(this.parent=await e,this.destroyed)return}}}catch(e){this.destroy(e)}finally{this.reading=!1}}}async _exploreDir(e,t){let n;try{n=await S(e,this._rdOptions)}catch(e){this._onError(e)}return{files:n,depth:t,path:e}}async _formatEntry(e,t){let n,r=this._isDirent?e.name:e;try{let i=_(h(t,r));n={path:g(this._root,i),fullPath:i,basename:r},n[this._statsProp]=this._isDirent?e:await this._stat(i)}catch(e){this._onError(e);return}return n}_onError(e){de(e)&&!this.destroyed?this.emit(`warn`,e):this.destroy(e)}async _getEntryType(e){if(!e&&this._statsProp in e)return``;let t=e[this._statsProp];if(t.isFile())return`file`;if(t.isDirectory())return`directory`;if(t&&t.isSymbolicLink()){let t=e.fullPath;try{let e=await C(t),n=await y(e);if(n.isFile())return`file`;if(n.isDirectory()){let n=e.length;if(t.startsWith(e)&&t.substr(n,1)===v){let n=Error(`Circular symlink detected: "${t}" points to "${e}"`);return n.code=O,this._onError(n)}return`directory`}}catch(e){return this._onError(e),``}}}_includeAsFile(e){let t=e&&e[this._statsProp];return t&&this._wantsEverything&&!t.isDirectory()}};function he(e,t={}){let n=t.entryType||t.type;if(n===`both`&&(n=E.FILE_DIR_TYPE),n&&(t.type=n),!e)throw Error(`readdirp: root argument is required. Usage: readdirp(root, options)`);if(typeof e!=`string`)throw TypeError(`readdirp: root argument must be a string. Usage: readdirp(root, options)`);if(n&&!k.includes(n))throw Error(`readdirp: Invalid type passed. Use one of ${k.join(`, `)}`);return t.root=e,new me(t)}const j=()=>{},M=process.platform,N=M===`win32`,ge=M===`darwin`,_e=M===`linux`,ve=M===`freebsd`,ye=se()===`OS400`,P={ALL:`all`,READY:`ready`,ADD:`add`,CHANGE:`change`,ADD_DIR:`addDir`,UNLINK:`unlink`,UNLINK_DIR:`unlinkDir`,RAW:`raw`,ERROR:`error`},F=P,be={lstat:y,stat:w},I=`listeners`,L=`errHandlers`,R=`rawEmitters`,xe=[I,L,R],Se=new Set(`3dm.3ds.3g2.3gp.7z.a.aac.adp.afdesign.afphoto.afpub.ai.aif.aiff.alz.ape.apk.appimage.ar.arj.asf.au.avi.bak.baml.bh.bin.bk.bmp.btif.bz2.bzip2.cab.caf.cgm.class.cmx.cpio.cr2.cur.dat.dcm.deb.dex.djvu.dll.dmg.dng.doc.docm.docx.dot.dotm.dra.DS_Store.dsk.dts.dtshd.dvb.dwg.dxf.ecelp4800.ecelp7470.ecelp9600.egg.eol.eot.epub.exe.f4v.fbs.fh.fla.flac.flatpak.fli.flv.fpx.fst.fvt.g3.gh.gif.graffle.gz.gzip.h261.h263.h264.icns.ico.ief.img.ipa.iso.jar.jpeg.jpg.jpgv.jpm.jxr.key.ktx.lha.lib.lvp.lz.lzh.lzma.lzo.m3u.m4a.m4v.mar.mdi.mht.mid.midi.mj2.mka.mkv.mmr.mng.mobi.mov.movie.mp3.mp4.mp4a.mpeg.mpg.mpga.mxu.nef.npx.numbers.nupkg.o.odp.ods.odt.oga.ogg.ogv.otf.ott.pages.pbm.pcx.pdb.pdf.pea.pgm.pic.png.pnm.pot.potm.potx.ppa.ppam.ppm.pps.ppsm.ppsx.ppt.pptm.pptx.psd.pya.pyc.pyo.pyv.qt.rar.ras.raw.resources.rgb.rip.rlc.rmf.rmvb.rpm.rtf.rz.s3m.s7z.scpt.sgi.shar.snap.sil.sketch.slk.smv.snk.so.stl.suo.sub.swf.tar.tbz.tbz2.tga.tgz.thmx.tif.tiff.tlz.ttc.ttf.txz.udf.uvh.uvi.uvm.uvp.uvs.uvu.viv.vob.war.wav.wax.wbmp.wdp.weba.webm.webp.whl.wim.wm.wma.wmv.wmx.woff.woff2.wrm.wvx.xbm.xif.xla.xlam.xls.xlsb.xlsm.xlsx.xlt.xltm.xltx.xm.xmind.xpi.xpm.xwd.xz.z.zip.zipx`.split(`.`)),Ce=e=>Se.has(f.extname(e).slice(1).toLowerCase()),z=(e,t)=>{e instanceof Set?e.forEach(t):t(e)},B=(e,t,n)=>{let r=e[t];r instanceof Set||(e[t]=r=new Set([r])),r.add(n)},we=e=>t=>{let n=e[t];n instanceof Set?n.clear():delete e[t]},V=(e,t,n)=>{let r=e[t];r instanceof Set?r.delete(n):r===n&&delete e[t]},H=e=>e instanceof Set?e.size===0:!e,U=new Map;function W(e,t,n,r,i){let a=(t,r)=>{n(e),i(t,r,{watchedPath:e}),r&&e!==r&&G(f.resolve(e,r),I,f.join(e,r))};try{return ne(e,{persistent:t.persistent},a)}catch(e){r(e);return}}const G=(e,t,n,r,i)=>{let a=U.get(e);a&&z(a[t],e=>{e(n,r,i)})},Te=(e,t,n,r)=>{let{listener:i,errHandler:a,rawEmitter:o}=r,s=U.get(t),c;if(!n.persistent)return c=W(e,n,i,a,o),c?c.close.bind(c):void 0;if(s)B(s,I,i),B(s,L,a),B(s,R,o);else{if(c=W(e,n,G.bind(null,t,I),a,G.bind(null,t,R)),!c)return;c.on(F.ERROR,async n=>{let r=G.bind(null,t,L);if(s&&(s.watcherUnusable=!0),N&&n.code===`EPERM`)try{await(await b(e,`r`)).close(),r(n)}catch{}else r(n)}),s={listeners:i,errHandlers:a,rawEmitters:o,watcher:c},U.set(t,s)}return()=>{V(s,I,i),V(s,L,a),V(s,R,o),H(s.listeners)&&(s.watcher.close(),U.delete(t),xe.forEach(we(s)),s.watcher=void 0,Object.freeze(s))}},K=new Map,Ee=(e,t,n,r)=>{let{listener:i,rawEmitter:a}=r,o=K.get(t),s=o&&o.options;return s&&(s.persistent<n.persistent||s.interval>n.interval)&&(T(t),o=void 0),o?(B(o,I,i),B(o,R,a)):(o={listeners:i,rawEmitters:a,options:n,watcher:re(t,n,(n,r)=>{z(o.rawEmitters,e=>{e(F.CHANGE,t,{curr:n,prev:r})});let i=n.mtimeMs;(n.size!==r.size||i>r.mtimeMs||i===0)&&z(o.listeners,t=>t(e,n))})},K.set(t,o)),()=>{V(o,I,i),V(o,R,a),H(o.listeners)&&(K.delete(t),T(t),o.options=o.watcher=void 0,Object.freeze(o))}};var De=class{fsw;_boundHandleError;constructor(e){this.fsw=e,this._boundHandleError=t=>e._handleError(t)}_watchWithNodeFs(e,t){let n=this.fsw.options,r=f.dirname(e),i=f.basename(e);this.fsw._getWatchedDir(r).add(i);let a=f.resolve(e),o={persistent:n.persistent};t||=j;let s;return n.usePolling?(o.interval=n.interval!==n.binaryInterval&&Ce(i)?n.binaryInterval:n.interval,s=Ee(e,a,o,{listener:t,rawEmitter:this.fsw._emitRaw})):s=Te(e,a,o,{listener:t,errHandler:this._boundHandleError,rawEmitter:this.fsw._emitRaw}),s}_handleFile(e,t,n){if(this.fsw.closed)return;let r=f.dirname(e),i=f.basename(e),a=this.fsw._getWatchedDir(r),o=t;if(a.has(i))return;let s=async(t,n)=>{if(this.fsw._throttle(`watch`,e,5)){if(!n||n.mtimeMs===0)try{let n=await w(e);if(this.fsw.closed)return;let r=n.atimeMs,i=n.mtimeMs;if((!r||r<=i||i!==o.mtimeMs)&&this.fsw._emit(F.CHANGE,e,n),(ge||_e||ve)&&o.ino!==n.ino){this.fsw._closeFile(t),o=n;let r=this._watchWithNodeFs(e,s);r&&this.fsw._addPathCloser(t,r)}else o=n}catch{this.fsw._remove(r,i)}else if(a.has(i)){let t=n.atimeMs,r=n.mtimeMs;(!t||t<=r||r!==o.mtimeMs)&&this.fsw._emit(F.CHANGE,e,n),o=n}}},c=this._watchWithNodeFs(e,s);if(!(n&&this.fsw.options.ignoreInitial)&&this.fsw._isntIgnored(e)){if(!this.fsw._throttle(F.ADD,e,0))return;this.fsw._emit(F.ADD,e,t)}return c}async _handleSymlink(e,t,n,r){if(this.fsw.closed)return;let i=e.fullPath,a=this.fsw._getWatchedDir(t);if(!this.fsw.options.followSymlinks){this.fsw._incrReadyCount();let t;try{t=await C(n)}catch{return this.fsw._emitReady(),!0}return this.fsw.closed?void 0:(a.has(r)?this.fsw._symlinkPaths.get(i)!==t&&(this.fsw._symlinkPaths.set(i,t),this.fsw._emit(F.CHANGE,n,e.stats)):(a.add(r),this.fsw._symlinkPaths.set(i,t),this.fsw._emit(F.ADD,n,e.stats)),this.fsw._emitReady(),!0)}if(this.fsw._symlinkPaths.has(i))return!0;this.fsw._symlinkPaths.set(i,!0)}_handleRead(e,t,n,r,i,a,o){e=f.join(e,``);let s=r?`${e}:${r}`:e;if(o=this.fsw._throttle(`readdir`,s,1e3),!o)return;let c=this.fsw._getWatchedDir(n.path),l=new Set,u=this.fsw._readdirp(e,{fileFilter:e=>n.filterPath(e),directoryFilter:e=>n.filterDir(e)});if(u)return u.on(`data`,async o=>{if(this.fsw.closed){u=void 0;return}let s=o.path,d=f.join(e,s);if(l.add(s),!(o.stats.isSymbolicLink()&&await this._handleSymlink(o,e,d,s))){if(this.fsw.closed){u=void 0;return}(s===r||!r&&!c.has(s))&&(this.fsw._incrReadyCount(),d=f.join(i,f.relative(i,d)),this._addToNodeFs(d,t,n,a+1))}}).on(F.ERROR,this._boundHandleError),new Promise((t,s)=>{if(!u)return s();u.once(`end`,()=>{if(this.fsw.closed){u=void 0;return}let s=o?o.clear():!1;t(void 0),c.getChildren().filter(t=>t!==e&&!l.has(t)).forEach(t=>{this.fsw._remove(e,t)}),u=void 0,s&&this._handleRead(e,!1,n,r,i,a,o)})})}async _handleDir(e,t,n,r,i,a,o){let s=this.fsw._getWatchedDir(f.dirname(e)),c=s.has(f.basename(e));!(n&&this.fsw.options.ignoreInitial)&&!i&&!c&&this.fsw._emit(F.ADD_DIR,e,t),s.add(f.basename(e)),this.fsw._getWatchedDir(e);let l,u=this.fsw.options.depth;if((u==null||r<=u)&&!this.fsw._symlinkPaths.has(o)){if(!i&&(await this._handleRead(e,n,a,i,e,r,void 0),this.fsw.closed))return;l=this._watchWithNodeFs(e,(t,n)=>{n&&n.mtimeMs===0||this._handleRead(t,!1,a,i,e,r,void 0)})}return l}async _addToNodeFs(e,t,n,r,i){let a=this.fsw._emitReady;if(this.fsw._isIgnored(e)||this.fsw.closed)return a(),!1;let o=this.fsw._getWatchHelpers(e);n&&(o.filterPath=e=>n.filterPath(e),o.filterDir=e=>n.filterDir(e));try{let n=await be[o.statMethod](o.watchPath);if(this.fsw.closed)return;if(this.fsw._isIgnored(o.watchPath,n))return a(),!1;let s=this.fsw.options.followSymlinks,c;if(n.isDirectory()){let a=f.resolve(e),l=s?await C(e):e;if(this.fsw.closed||(c=await this._handleDir(o.watchPath,n,t,r,i,o,l),this.fsw.closed))return;a!==l&&l!==void 0&&this.fsw._symlinkPaths.set(a,l)}else if(n.isSymbolicLink()){let i=s?await C(e):e;if(this.fsw.closed)return;let a=f.dirname(o.watchPath);if(this.fsw._getWatchedDir(a).add(o.watchPath),this.fsw._emit(F.ADD,o.watchPath,n),c=await this._handleDir(a,n,t,r,e,o,i),this.fsw.closed)return;i!==void 0&&this.fsw._symlinkPaths.set(f.resolve(e),i)}else c=this._handleFile(o.watchPath,n,t);return a(),c&&this.fsw._addPathCloser(e,c),!1}catch(t){if(this.fsw._handleError(t))return a(),e}}};const Oe=/\\/g,q=/\/\//g,ke=/\..*\.(sw[px])$|~$|\.subl.*\.tmp/,Ae=/^\.[/\\]/;function J(e){return Array.isArray(e)?e:[e]}const Y=e=>typeof e==`object`&&!!e&&!(e instanceof RegExp);function je(e){return typeof e==`function`?e:typeof e==`string`?t=>e===t:e instanceof RegExp?t=>e.test(t):typeof e==`object`&&e?t=>{if(e.path===t)return!0;if(e.recursive){let n=f.relative(e.path,t);return n?!n.startsWith(`..`)&&!f.isAbsolute(n):!1}return!1}:()=>!1}function Me(e){if(typeof e!=`string`)throw Error(`string expected`);e=f.normalize(e),e=e.replace(/\\/g,`/`);let t=!1;return e.startsWith(`//`)&&(t=!0),e=e.replace(q,`/`),t&&(e=`/`+e),e}function X(e,t,n){let r=Me(t);for(let t=0;t<e.length;t++){let i=e[t];if(i(r,n))return!0}return!1}function Ne(e,t){if(e==null)throw TypeError(`anymatch: specify first argument`);let n=J(e).map(e=>je(e));return t==null?(e,t)=>X(n,e,t):X(n,t)}const Z=e=>{let t=J(e).flat();if(!t.every(e=>typeof e==`string`))throw TypeError(`Non-string provided as watch path: ${t}`);return t.map(Pe)},Q=e=>{let t=e.replace(Oe,`/`),n=!1;return t.startsWith(`//`)&&(n=!0),t=t.replace(q,`/`),n&&(t=`/`+t),t},Pe=e=>Q(f.normalize(Q(e))),Fe=(e=``)=>t=>typeof t==`string`?Pe(f.isAbsolute(t)?t:f.join(e,t)):t,Ie=(e,t)=>f.isAbsolute(e)?e:f.join(t,e),Le=Object.freeze(new Set);var Re=class{path;_removeWatcher;items;constructor(e,t){this.path=e,this._removeWatcher=t,this.items=new Set}add(e){let{items:t}=this;t&&e!==`.`&&e!==`..`&&t.add(e)}async remove(e){let{items:t}=this;if(!t||(t.delete(e),t.size>0))return;let n=this.path;try{await S(n)}catch{this._removeWatcher&&this._removeWatcher(f.dirname(n),f.basename(n))}}has(e){let{items:t}=this;if(t)return t.has(e)}getChildren(){let{items:e}=this;return e?[...e.values()]:[]}dispose(){this.items.clear(),this.path=``,this._removeWatcher=j,this.items=Le,Object.freeze(this)}},ze=class{fsw;path;watchPath;fullWatchPath;dirParts;followSymlinks;statMethod;constructor(e,t,n){this.fsw=n;let r=e;this.path=e=e.replace(Ae,``),this.watchPath=r,this.fullWatchPath=f.resolve(r),this.dirParts=[],this.dirParts.forEach(e=>{e.length>1&&e.pop()}),this.followSymlinks=t,this.statMethod=t?`stat`:`lstat`}entryPath(e){return f.join(this.watchPath,f.relative(this.watchPath,e.fullPath))}filterPath(e){let{stats:t}=e;if(t&&t.isSymbolicLink())return this.filterDir(e);let n=this.entryPath(e);return this.fsw._isntIgnored(n,t)&&this.fsw._hasReadPermissions(t)}filterDir(e){return this.fsw._isntIgnored(this.entryPath(e),e.stats)}},Be=class extends ae{closed;options;_closers;_ignoredPaths;_throttled;_streams;_symlinkPaths;_watched;_pendingWrites;_pendingUnlinks;_readyCount;_emitReady;_closePromise;_userIgnored;_readyEmitted;_emitRaw;_boundRemove;_nodeFsHandler;constructor(e={}){super(),this.closed=!1,this._closers=new Map,this._ignoredPaths=new Set,this._throttled=new Map,this._streams=new Set,this._symlinkPaths=new Map,this._watched=new Map,this._pendingWrites=new Map,this._pendingUnlinks=new Map,this._readyCount=0,this._readyEmitted=!1;let t=e.awaitWriteFinish,n={stabilityThreshold:2e3,pollInterval:100},r={persistent:!0,ignoreInitial:!1,ignorePermissionErrors:!1,interval:100,binaryInterval:300,followSymlinks:!0,usePolling:!1,atomic:!0,...e,ignored:e.ignored?J(e.ignored):J([]),awaitWriteFinish:t===!0?n:typeof t==`object`?{...n,...t}:!1};ye&&(r.usePolling=!0),r.atomic===void 0&&(r.atomic=!r.usePolling);let i=process.env.CHOKIDAR_USEPOLLING;if(i!==void 0){let e=i.toLowerCase();e===`false`||e===`0`?r.usePolling=!1:e===`true`||e===`1`?r.usePolling=!0:r.usePolling=!!e}let a=process.env.CHOKIDAR_INTERVAL;a&&(r.interval=Number.parseInt(a,10));let o=0;this._emitReady=()=>{o++,o>=this._readyCount&&(this._emitReady=j,this._readyEmitted=!0,process.nextTick(()=>this.emit(P.READY)))},this._emitRaw=(...e)=>this.emit(P.RAW,...e),this._boundRemove=this._remove.bind(this),this.options=r,this._nodeFsHandler=new De(this),Object.freeze(r)}_addIgnoredPath(e){if(Y(e)){for(let t of this._ignoredPaths)if(Y(t)&&t.path===e.path&&t.recursive===e.recursive)return}this._ignoredPaths.add(e)}_removeIgnoredPath(e){if(this._ignoredPaths.delete(e),typeof e==`string`)for(let t of this._ignoredPaths)Y(t)&&t.path===e&&this._ignoredPaths.delete(t)}add(e,t,n){let{cwd:r}=this.options;this.closed=!1,this._closePromise=void 0;let i=Z(e);return r&&(i=i.map(e=>Ie(e,r))),i.forEach(e=>{this._removeIgnoredPath(e)}),this._userIgnored=void 0,this._readyCount||=0,this._readyCount+=i.length,Promise.all(i.map(async e=>{let r=await this._nodeFsHandler._addToNodeFs(e,!n,void 0,0,t);return r&&this._emitReady(),r})).then(e=>{this.closed||e.forEach(e=>{e&&this.add(f.dirname(e),f.basename(t||e))})}),this}unwatch(e){if(this.closed)return this;let t=Z(e),{cwd:n}=this.options;return t.forEach(e=>{!f.isAbsolute(e)&&!this._closers.has(e)&&(n&&(e=f.join(n,e)),e=f.resolve(e)),this._closePath(e),this._addIgnoredPath(e),this._watched.has(e)&&this._addIgnoredPath({path:e,recursive:!0}),this._userIgnored=void 0}),this}close(){if(this._closePromise)return this._closePromise;this.closed=!0,this.removeAllListeners();let e=[];return this._closers.forEach(t=>t.forEach(t=>{let n=t();n instanceof Promise&&e.push(n)})),this._streams.forEach(e=>e.destroy()),this._userIgnored=void 0,this._readyCount=0,this._readyEmitted=!1,this._watched.forEach(e=>e.dispose()),this._closers.clear(),this._watched.clear(),this._streams.clear(),this._symlinkPaths.clear(),this._throttled.clear(),this._closePromise=e.length?Promise.all(e).then(()=>void 0):Promise.resolve(),this._closePromise}getWatched(){let e={};return this._watched.forEach((t,n)=>{let r=(this.options.cwd?f.relative(this.options.cwd,n):n)||`.`;e[r]=t.getChildren().sort()}),e}emitWithAll(e,t){this.emit(e,...t),e!==P.ERROR&&this.emit(P.ALL,e,...t)}async _emit(e,t,n){if(this.closed)return;let r=this.options;N&&(t=f.normalize(t)),r.cwd&&(t=f.relative(r.cwd,t));let i=[t];n!=null&&i.push(n);let a=r.awaitWriteFinish,o;if(a&&(o=this._pendingWrites.get(t)))return o.lastChange=new Date,this;if(r.atomic){if(e===P.UNLINK)return this._pendingUnlinks.set(t,[e,...i]),setTimeout(()=>{this._pendingUnlinks.forEach((e,t)=>{this.emit(...e),this.emit(P.ALL,...e),this._pendingUnlinks.delete(t)})},typeof r.atomic==`number`?r.atomic:100),this;e===P.ADD&&this._pendingUnlinks.has(t)&&(e=P.CHANGE,this._pendingUnlinks.delete(t))}if(a&&(e===P.ADD||e===P.CHANGE)&&this._readyEmitted)return this._awaitWriteFinish(t,a.stabilityThreshold,e,(t,n)=>{t?(e=P.ERROR,i[0]=t,this.emitWithAll(e,i)):n&&(i.length>1?i[1]=n:i.push(n),this.emitWithAll(e,i))}),this;if(e===P.CHANGE&&!this._throttle(P.CHANGE,t,50))return this;if(r.alwaysStat&&n===void 0&&(e===P.ADD||e===P.ADD_DIR||e===P.CHANGE)){let e=r.cwd?f.join(r.cwd,t):t,n;try{n=await w(e)}catch{}if(!n||this.closed)return;i.push(n)}return this.emitWithAll(e,i),this}_handleError(e){let t=e&&e.code;return e&&t!==`ENOENT`&&t!==`ENOTDIR`&&(!this.options.ignorePermissionErrors||t!==`EPERM`&&t!==`EACCES`)&&this.emit(P.ERROR,e),e||this.closed}_throttle(e,t,n){this._throttled.has(e)||this._throttled.set(e,new Map);let r=this._throttled.get(e);if(!r)throw Error(`invalid throttle`);let i=r.get(t);if(i)return i.count++,!1;let a,o=()=>{let e=r.get(t),n=e?e.count:0;return r.delete(t),clearTimeout(a),e&&clearTimeout(e.timeoutObject),n};a=setTimeout(o,n);let s={timeoutObject:a,clear:o,count:0};return r.set(t,s),s}_incrReadyCount(){return this._readyCount++}_awaitWriteFinish(e,t,n,r){let i=this.options.awaitWriteFinish;if(typeof i!=`object`)return;let a=i.pollInterval,o,s=e;this.options.cwd&&!f.isAbsolute(e)&&(s=f.join(this.options.cwd,e));let c=new Date,l=this._pendingWrites;function u(n){te(s,(i,s)=>{if(i||!l.has(e)){i&&i.code!==`ENOENT`&&r(i);return}let c=Number(new Date);n&&s.size!==n.size&&(l.get(e).lastChange=c),c-l.get(e).lastChange>=t?(l.delete(e),r(void 0,s)):o=setTimeout(u,a,s)})}l.has(e)||(l.set(e,{lastChange:c,cancelWait:()=>(l.delete(e),clearTimeout(o),n)}),o=setTimeout(u,a))}_isIgnored(e,t){if(this.options.atomic&&ke.test(e))return!0;if(!this._userIgnored){let{cwd:e}=this.options,t=(this.options.ignored||[]).map(Fe(e)),n=[...[...this._ignoredPaths].map(Fe(e)),...t];this._userIgnored=Ne(n,void 0)}return this._userIgnored(e,t)}_isntIgnored(e,t){return!this._isIgnored(e,t)}_getWatchHelpers(e){return new ze(e,this.options.followSymlinks,this)}_getWatchedDir(e){let t=f.resolve(e);return this._watched.has(t)||this._watched.set(t,new Re(t,this._boundRemove)),this._watched.get(t)}_hasReadPermissions(e){return this.options.ignorePermissionErrors?!0:!!(Number(e.mode)&256)}_remove(e,t,n){let r=f.join(e,t),i=f.resolve(r);if(n??=this._watched.has(r)||this._watched.has(i),!this._throttle(`remove`,r,100))return;!n&&this._watched.size===1&&this.add(e,t,!0),this._getWatchedDir(r).getChildren().forEach(e=>this._remove(r,e));let a=this._getWatchedDir(e),o=a.has(t);a.remove(t),this._symlinkPaths.has(i)&&this._symlinkPaths.delete(i);let s=r;if(this.options.cwd&&(s=f.relative(this.options.cwd,r)),this.options.awaitWriteFinish&&this._pendingWrites.has(s)&&this._pendingWrites.get(s).cancelWait()===P.ADD)return;this._watched.delete(r),this._watched.delete(i);let c=n?P.UNLINK_DIR:P.UNLINK;o&&!this._isIgnored(r)&&this._emit(c,r),this._closePath(r)}_closePath(e){this._closeFile(e);let t=f.dirname(e);this._getWatchedDir(t).remove(f.basename(e))}_closeFile(e){let t=this._closers.get(e);t&&(t.forEach(e=>e()),this._closers.delete(e))}_addPathCloser(e,t){if(!t)return;let n=this._closers.get(e);n||(n=[],this._closers.set(e,n)),n.push(t)}_readdirp(e,t){if(this.closed)return;let n=he(e,{type:P.ALL,alwaysStat:!0,lstat:!0,...t,depth:0});return this._streams.add(n),n.once(`close`,()=>{n=void 0}),n.once(`end`,()=>{n&&=(this._streams.delete(n),void 0)}),n}};function Ve(e,t={}){let n=new Be(t);return n.add(e),n}const He=[`pnpm-lock.yaml`,`package-lock.json`,`yarn.lock`,`bun.lock`,`bun.lockb`],Ue=[`.git`,`pnpm-workspace.yaml`],We=[`**/.ash/**`,`**/.git/**`,`**/.output/**`,`**/.turbo/**`,`**/.vercel/**`,`**/.workflow-data/**`,`**/node_modules/**`];async function Ge(r){let d=r.schedulesEnabled!==!1,f=r.preparedHost,p=!1,m=Promise.resolve(),h,g=new Set,_=new Set,v=await qe(f),y=Je(v),b=Ve(v,{awaitWriteFinish:{pollInterval:50,stabilityThreshold:160},followSymlinks:!1,ignoreInitial:!0,ignored:We}),x=Ke(b),S=()=>{p||(m=m.then(async()=>{if(p)return;let m=g.size,h=[..._];g.clear(),_.clear();let v=f,x=Xe(v.appRoot,h);console.log(`[ash:dev] change detected (${m} event${m===1?``:`s`}), rebuilding authored artifacts...`);try{x&&i(v.appRoot);let n=await s(v.appRoot);await l({appRoot:n.appRoot,log:e=>console.log(e)});let p=o({appRoot:n.appRoot,dev:r.nitro.options.dev===!0}),m=u(r.nitro,{artifactsConfig:p,next:c(n),previous:c(v)}),h=a(r.nitro,{artifactsConfig:p,dispatchModulePath:e(`src/internal/nitro/routes/schedule-task.ts`),next:d?n.scheduleRegistrations:[],previous:d?v.scheduleRegistrations:[]});t(),f=n,m||h||x?(console.log(`[ash:dev] structural change detected, reloading Nitro worker...`),await r.nitro.hooks.callHook(`rollup:reload`)):console.log(`[ash:dev] authored artifacts updated.`),y=Ye({nextWatchPaths:await qe(n),previousWatchPathsByKey:y,watcher:b})}catch(e){console.error(`[ash:dev] rebuild failed: ${n(e)}`)}}).catch(e=>{console.error(`[ash:dev] rebuild queue error: ${n(e)}`)}))};return b.on(`all`,(e,t)=>{p||(g.add(`${e}:${t}`),_.add(t),h!==void 0&&clearTimeout(h),h=setTimeout(()=>{h=void 0,S()},120))}),await x,{async close(){p=!0,h!==void 0&&(clearTimeout(h),h=void 0),await b.close(),await m}}}async function Ke(e){await new Promise((t,n)=>{e.on(`ready`,()=>{t()}),e.on(`error`,e=>{n(e)})})}async function qe(e){let t=new Set([e.compileResult.project.agentRoot,h(e.appRoot,`package.json`),h(e.appRoot,`jsconfig.json`),h(e.appRoot,`tsconfig.json`),h(e.appRoot,`tsconfig.*.json`)]),n=await $e(e.appRoot);for(let n of r(e.appRoot))t.add(n);for(let e of n)t.add(e);for(let n of Ze(e.appRoot))for(let e of He)t.add(h(n,e));return[...t].sort((e,t)=>e.localeCompare(t))}function Je(e){let t=new Map;for(let n of e)t.set($(n),n);return t}function Ye(e){let t=Je(e.nextWatchPaths),n=[],r=[];for(let[r,i]of t)e.previousWatchPathsByKey.has(r)||n.push(i);for(let[n,i]of e.previousWatchPathsByKey)t.has(n)||r.push(i);return n.length>0&&e.watcher.add(n),r.length>0&&e.watcher.unwatch(r),t}function $(e){return e.replaceAll(`\\`,`/`)}function Xe(e,t){let n=new Set(r(e).map(e=>$(_(e))));return t.some(e=>n.has($(_(e))))}function Ze(e){let t=[],n=_(e);for(;t.push(n),!Qe(n);){let e=p(n);if(e===n)break;n=e}return t}function Qe(e){return Ue.some(t=>ee(h(e,t)))}async function $e(e){let t=await et(e),n=new Set,r=new Set;for(let e of t)await tt({configPath:e,resolvedConfigPaths:n,visitingConfigPaths:r});return[...n].sort((e,t)=>e.localeCompare(t))}async function et(e){let t=new Set([h(e,`tsconfig.json`),h(e,`jsconfig.json`)]);try{let n=await S(e,{withFileTypes:!0});for(let r of n)r.isFile()&&/^tsconfig\..+\.json$/i.test(r.name)&&t.add(h(e,r.name))}catch{}return[...t]}async function tt(e){let t=_(e.configPath);if(e.resolvedConfigPaths.has(t)||e.visitingConfigPaths.has(t))return;let n=await nt(t);if(n!==void 0){e.resolvedConfigPaths.add(t),e.visitingConfigPaths.add(t);try{let r=rt(n);for(let n of r)for(let r of it({configPath:t,extendsSpecifier:n}))await tt({configPath:r,resolvedConfigPaths:e.resolvedConfigPaths,visitingConfigPaths:e.visitingConfigPaths})}finally{e.visitingConfigPaths.delete(t)}}}async function nt(e){try{return await x(e,`utf8`)}catch{return}}function rt(e){let t=[],n=ie(e,t,{allowTrailingComma:!0});if(t.length>0||typeof n!=`object`||!n||Array.isArray(n))return[];let r=n.extends;return typeof r==`string`?r.length>0?[r]:[]:Array.isArray(r)?r.filter(e=>typeof e==`string`&&e.length>0):[]}function it(e){let t=new Set;if(st(e.extendsSpecifier))for(let n of at({configPath:e.configPath,extendsSpecifier:e.extendsSpecifier}))t.add(n);else for(let n of ot({configPath:e.configPath,extendsSpecifier:e.extendsSpecifier}))t.add(n);return[...t]}function at(e){let t=_(p(e.configPath),e.extendsSpecifier),n=new Set;return n.add(t),t.endsWith(`.json`)||(n.add(`${t}.json`),n.add(h(t,`tsconfig.json`))),[...n]}function ot(e){let t=new Set([e.extendsSpecifier]);e.extendsSpecifier.endsWith(`.json`)||(t.add(`${e.extendsSpecifier}.json`),t.add(`${e.extendsSpecifier}/tsconfig.json`));let n=new Set,r=d(e.configPath);for(let e of t)try{n.add(r.resolve(e))}catch{}return[...n]}function st(e){return e.startsWith(`.`)||m(e)?!0:/^[A-Za-z]:[\\/]/.test(e)}export{Ge as startAuthoredSourceWatcher};
@@ -1 +0,0 @@
1
- import{n as e}from"./guards-26p6sOw3.js";function t(t){return t instanceof Error?t.message:typeof t==`string`?t:t==null?String(t):e(t)?typeof t.message==`string`&&t.message.length>0?t.message:n(t):String(t)}function n(e){try{return JSON.stringify(e)??String(e)}catch{return String(e)}}export{t};
@@ -1 +0,0 @@
1
- function e(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function t(e){return typeof e==`string`&&e.length>0}export{e as n,t};