experimental-ash 0.27.0 → 0.28.1

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 (353) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/docs/internals/hooks.md +1 -1
  3. package/dist/docs/public/channels/README.md +50 -2
  4. package/dist/docs/public/channels/discord.md +15 -7
  5. package/dist/docs/public/channels/teams.md +121 -0
  6. package/dist/docs/public/channels/telegram.md +201 -0
  7. package/dist/docs/public/typescript-api.md +41 -1
  8. package/dist/src/channel/adapter.js +1 -1
  9. package/dist/src/channel/compiled-channel.js +1 -1
  10. package/dist/src/channel/http.js +1 -1
  11. package/dist/src/channel/schedule.js +1 -1
  12. package/dist/src/channel/send.js +1 -1
  13. package/dist/src/channel/session-callback.js +1 -1
  14. package/dist/src/channel/session.js +1 -1
  15. package/dist/src/cli/commands/channels.js +1 -1
  16. package/dist/src/cli/dev/environment.js +1 -1
  17. package/dist/src/cli/dev/input-requests.js +1 -1
  18. package/dist/src/cli/dev/repl.js +1 -1
  19. package/dist/src/cli/dev/terminal.js +1 -1
  20. package/dist/src/cli/dev/url.js +1 -1
  21. package/dist/src/compiler/artifacts.js +1 -1
  22. package/dist/src/compiler/manifest.js +1 -1
  23. package/dist/src/compiler/model-catalog.js +1 -1
  24. package/dist/src/compiler/module-map.js +1 -1
  25. package/dist/src/compiler/normalize-subagent.js +1 -1
  26. package/dist/src/compiler/remote-agent-node.js +1 -1
  27. package/dist/src/compiler/workspace-resources.js +1 -1
  28. package/dist/src/context/accessors.js +1 -1
  29. package/dist/src/context/container.js +1 -1
  30. package/dist/src/context/hook-lifecycle.d.ts +3 -3
  31. package/dist/src/context/hook-lifecycle.js +1 -1
  32. package/dist/src/context/key.js +1 -1
  33. package/dist/src/context/keys.d.ts +31 -10
  34. package/dist/src/context/keys.js +1 -1
  35. package/dist/src/context/node.js +1 -1
  36. package/dist/src/context/providers/connection.js +1 -1
  37. package/dist/src/context/providers/sandbox.js +1 -1
  38. package/dist/src/context/providers/session.js +1 -1
  39. package/dist/src/context/run-step.js +1 -1
  40. package/dist/src/context/serialize.js +1 -1
  41. package/dist/src/discover/connections.js +1 -1
  42. package/dist/src/discover/diagnostics.js +1 -1
  43. package/dist/src/discover/discover-subagent.js +1 -1
  44. package/dist/src/discover/filesystem.js +1 -1
  45. package/dist/src/discover/grammar.js +1 -1
  46. package/dist/src/discover/lib.js +1 -1
  47. package/dist/src/discover/manifest.js +1 -1
  48. package/dist/src/discover/sandbox.js +1 -1
  49. package/dist/src/discover/schedules.js +1 -1
  50. package/dist/src/discover/skills.js +1 -1
  51. package/dist/src/evals/runner/discover.js +1 -1
  52. package/dist/src/evals/runner/execute-suite.js +1 -1
  53. package/dist/src/evals/runner/reporters/braintrust.js +1 -1
  54. package/dist/src/evals/scores/index.js +1 -1
  55. package/dist/src/execution/await-authorization-orchestrator.js +1 -1
  56. package/dist/src/execution/connection-auth-steps.js +1 -1
  57. package/dist/src/execution/runtime-context.d.ts +1 -1
  58. package/dist/src/execution/runtime-context.js +1 -1
  59. package/dist/src/execution/sandbox/bindings/local.js +1 -1
  60. package/dist/src/execution/sandbox/bindings/vercel.js +1 -1
  61. package/dist/src/execution/sandbox/glob-tool.js +1 -1
  62. package/dist/src/execution/sandbox/grep-tool.js +1 -1
  63. package/dist/src/execution/sandbox/read-file-tool.js +1 -1
  64. package/dist/src/execution/sandbox/require-sandbox.js +1 -1
  65. package/dist/src/execution/sandbox/ripgrep-probe.js +1 -1
  66. package/dist/src/execution/sandbox/truncate-output.js +1 -1
  67. package/dist/src/execution/session-callback-step.js +1 -1
  68. package/dist/src/execution/session.js +1 -1
  69. package/dist/src/execution/subagent-adapter.js +1 -1
  70. package/dist/src/execution/tool-compaction.js +1 -1
  71. package/dist/src/execution/turn-workflow.js +1 -1
  72. package/dist/src/execution/web-fetch/html.js +1 -1
  73. package/dist/src/execution/web-fetch/tool.js +1 -1
  74. package/dist/src/execution/workflow-entry.js +1 -1
  75. package/dist/src/execution/workflow-runtime.js +1 -1
  76. package/dist/src/execution/workflow-steps.js +1 -1
  77. package/dist/src/harness/attachment-staging.js +1 -1
  78. package/dist/src/harness/compaction.js +2 -2
  79. package/dist/src/harness/emission.js +1 -1
  80. package/dist/src/harness/input-requests.js +1 -1
  81. package/dist/src/harness/instrumentation-config.js +1 -1
  82. package/dist/src/harness/model-call-error.js +1 -1
  83. package/dist/src/harness/otel-integration.js +1 -1
  84. package/dist/src/harness/prompt-cache.js +1 -1
  85. package/dist/src/harness/provider-tools.js +1 -1
  86. package/dist/src/harness/proxy-input-requests.js +1 -1
  87. package/dist/src/harness/runtime-actions.js +1 -1
  88. package/dist/src/harness/step-hooks.js +1 -1
  89. package/dist/src/harness/tool-loop.js +1 -1
  90. package/dist/src/harness/tool-result-pruning.js +1 -1
  91. package/dist/src/internal/application/cache-metadata.js +1 -1
  92. package/dist/src/internal/application/compiled-artifacts.js +1 -1
  93. package/dist/src/internal/application/import-specifier.js +1 -1
  94. package/dist/src/internal/application/package.js +1 -1
  95. package/dist/src/internal/attachments/refs.js +1 -1
  96. package/dist/src/internal/attachments/sandbox-refs.js +1 -1
  97. package/dist/src/internal/attachments/url-refs.js +1 -1
  98. package/dist/src/internal/authored-asset-import-plugin.js +1 -1
  99. package/dist/src/internal/authored-definition/connection.js +1 -1
  100. package/dist/src/internal/authored-module-loader.js +1 -1
  101. package/dist/src/internal/authored-package-tsconfig-paths.js +1 -1
  102. package/dist/src/internal/bundler/nitro-rolldown.js +1 -1
  103. package/dist/src/internal/helpers/markdown.js +2 -2
  104. package/dist/src/internal/json-schema.js +1 -1
  105. package/dist/src/internal/logging.js +1 -1
  106. package/dist/src/internal/nitro/host/channel-routes.js +1 -1
  107. package/dist/src/internal/nitro/host/compiled-sandbox-backend-prune-plugin.js +1 -1
  108. package/dist/src/internal/nitro/host/create-application-nitro.js +1 -1
  109. package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -1
  110. package/dist/src/internal/nitro/host/schedule-task-routes.js +1 -1
  111. package/dist/src/internal/nitro/host/server-external-packages.js +1 -1
  112. package/dist/src/internal/nitro/host/start-development-server.js +1 -1
  113. package/dist/src/internal/nitro/routes/index.js +3 -3
  114. package/dist/src/internal/nitro/routes/workflow-route-helpers.js +1 -1
  115. package/dist/src/internal/node-esm-compat-banner.js +1 -1
  116. package/dist/src/internal/package-name.js +1 -1
  117. package/dist/src/internal/vercel-agent-summary.js +1 -1
  118. package/dist/src/internal/workflow-bundle/ash-service-route-output.js +1 -1
  119. package/dist/src/internal/workflow-bundle/builder-support.js +1 -1
  120. package/dist/src/internal/workflow-bundle/builder.js +2 -2
  121. package/dist/src/internal/workflow-bundle/vercel-workflow-output.js +1 -1
  122. package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -1
  123. package/dist/src/internal/workflow-bundle/workflow-core-shim.js +1 -1
  124. package/dist/src/internal/workflow-bundle/workflow-transformer.js +1 -1
  125. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/ajv.js +1 -1
  126. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js +1 -1
  127. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js +2 -2
  128. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js +1 -1
  129. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js +1 -1
  130. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/index.js +1 -1
  131. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js +1 -1
  132. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js +1 -1
  133. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js +1 -1
  134. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js +1 -1
  135. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js +1 -1
  136. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js +1 -1
  137. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js +2 -2
  138. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js +1 -1
  139. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js +1 -1
  140. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js +1 -1
  141. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js +1 -1
  142. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/core.js +1 -1
  143. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js +1 -1
  144. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js +1 -1
  145. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +1 -1
  146. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +1 -1
  147. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +1 -1
  148. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +1 -1
  149. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +2 -2
  150. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js +1 -1
  151. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -1
  152. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js +1 -1
  153. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +1 -1
  154. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js +1 -1
  155. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +1 -1
  156. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +1 -1
  157. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +1 -1
  158. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +1 -1
  159. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +1 -1
  160. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +1 -1
  161. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js +1 -1
  162. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js +1 -1
  163. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js +1 -1
  164. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -1
  165. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft7.js +1 -1
  166. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js +1 -1
  167. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js +1 -1
  168. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js +1 -1
  169. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js +1 -1
  170. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +1 -1
  171. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +1 -1
  172. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +1 -1
  173. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +1 -1
  174. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +1 -1
  175. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +1 -1
  176. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js +1 -1
  177. package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +1 -1
  178. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/index.js +1 -1
  179. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/schemes.js +1 -1
  180. package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/utils.js +1 -1
  181. 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 -2
  182. 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 -1
  183. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/azure.js +1 -1
  184. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/client.js +2 -2
  185. 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 -1
  186. 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 -1
  187. 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 -1
  188. 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 -1
  189. 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 -1
  190. 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 -1
  191. 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 -1
  192. 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 -1
  193. 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 -1
  194. 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 -1
  195. 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 -1
  196. 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 -1
  197. 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 -1
  198. 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 +1 -1
  199. 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 -1
  200. 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 -1
  201. 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 -1
  202. 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 -1
  203. 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 -1
  204. 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 -1
  205. package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/version.js +1 -1
  206. 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 -1
  207. 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 -1
  208. 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 -1
  209. 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 -1
  210. 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 -1
  211. 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 -1
  212. 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 -1
  213. 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 -1
  214. 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 -1
  215. 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 -1
  216. 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 +1 -1
  217. 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 -1
  218. 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 -1
  219. 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 -1
  220. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +1 -1
  221. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +1 -1
  222. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +1 -1
  223. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +1 -1
  224. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +1 -1
  225. package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +1 -1
  226. package/dist/src/packages/ash-scaffold/src/channels.js +2 -2
  227. package/dist/src/packages/ash-scaffold/src/module-files.js +1 -1
  228. package/dist/src/protocol/message.js +1 -1
  229. package/dist/src/protocol/routes.js +1 -1
  230. package/dist/src/public/channels/ash.js +2 -2
  231. package/dist/src/public/channels/auth.js +1 -1
  232. package/dist/src/public/channels/discord/api.js +1 -1
  233. package/dist/src/public/channels/discord/defaults.js +1 -1
  234. package/dist/src/public/channels/discord/discordChannel.js +1 -1
  235. package/dist/src/public/channels/discord/hitl.js +1 -1
  236. package/dist/src/public/channels/discord/inbound.js +1 -1
  237. package/dist/src/public/channels/discord/verify.js +1 -1
  238. package/dist/src/public/channels/discord/verifyInbound.js +1 -1
  239. package/dist/src/public/channels/slack/api.js +1 -1
  240. package/dist/src/public/channels/slack/attachments.js +1 -1
  241. package/dist/src/public/channels/slack/constants.js +1 -1
  242. package/dist/src/public/channels/slack/defaults.js +2 -2
  243. package/dist/src/public/channels/slack/hitl.js +1 -1
  244. package/dist/src/public/channels/slack/interactions.js +1 -1
  245. package/dist/src/public/channels/slack/limits.js +1 -1
  246. package/dist/src/public/channels/slack/mrkdwn.js +1 -1
  247. package/dist/src/public/channels/slack/slackChannel.js +1 -1
  248. package/dist/src/public/channels/slack/verify.js +1 -1
  249. package/dist/src/public/channels/teams/api.d.ts +140 -0
  250. package/dist/src/public/channels/teams/api.js +4 -0
  251. package/dist/src/public/channels/teams/attachments.d.ts +25 -0
  252. package/dist/src/public/channels/teams/attachments.js +1 -0
  253. package/dist/src/public/channels/teams/defaults.d.ts +24 -0
  254. package/dist/src/public/channels/teams/defaults.js +3 -0
  255. package/dist/src/public/channels/teams/hitl.d.ts +36 -0
  256. package/dist/src/public/channels/teams/hitl.js +1 -0
  257. package/dist/src/public/channels/teams/inbound.d.ts +80 -0
  258. package/dist/src/public/channels/teams/inbound.js +3 -0
  259. package/dist/src/public/channels/teams/index.d.ts +8 -0
  260. package/dist/src/public/channels/teams/index.js +1 -0
  261. package/dist/src/public/channels/teams/limits.d.ts +8 -0
  262. package/dist/src/public/channels/teams/limits.js +1 -0
  263. package/dist/src/public/channels/teams/teamsChannel.d.ts +162 -0
  264. package/dist/src/public/channels/teams/teamsChannel.js +1 -0
  265. package/dist/src/public/channels/teams/verify.d.ts +43 -0
  266. package/dist/src/public/channels/teams/verify.js +1 -0
  267. package/dist/src/public/channels/telegram/api.d.ts +107 -0
  268. package/dist/src/public/channels/telegram/api.js +2 -0
  269. package/dist/src/public/channels/telegram/attachments.d.ts +23 -0
  270. package/dist/src/public/channels/telegram/attachments.js +1 -0
  271. package/dist/src/public/channels/telegram/defaults.d.ts +9 -0
  272. package/dist/src/public/channels/telegram/defaults.js +3 -0
  273. package/dist/src/public/channels/telegram/hitl.d.ts +44 -0
  274. package/dist/src/public/channels/telegram/hitl.js +1 -0
  275. package/dist/src/public/channels/telegram/inbound.d.ts +88 -0
  276. package/dist/src/public/channels/telegram/inbound.js +2 -0
  277. package/dist/src/public/channels/telegram/index.d.ts +8 -0
  278. package/dist/src/public/channels/telegram/index.js +1 -0
  279. package/dist/src/public/channels/telegram/telegramChannel.d.ts +126 -0
  280. package/dist/src/public/channels/telegram/telegramChannel.js +1 -0
  281. package/dist/src/public/channels/telegram/verify.d.ts +30 -0
  282. package/dist/src/public/channels/telegram/verify.js +1 -0
  283. package/dist/src/public/channels/twilio/defaults.js +1 -1
  284. package/dist/src/public/channels/twilio/inbound.js +1 -1
  285. package/dist/src/public/channels/twilio/twilioChannel.js +1 -1
  286. package/dist/src/public/channels/twilio/verify.js +1 -1
  287. package/dist/src/public/channels/upload-policy.js +1 -1
  288. package/dist/src/public/definitions/channel.js +1 -1
  289. package/dist/src/public/definitions/tool.js +1 -1
  290. package/dist/src/public/next/index.js +1 -1
  291. package/dist/src/public/next/server.js +1 -1
  292. package/dist/src/public/next/vercel-json.js +1 -1
  293. package/dist/src/public/tool-result-narrowing.js +1 -1
  294. package/dist/src/public/tools/defaults.js +1 -1
  295. package/dist/src/react/use-ash-agent.js +1 -1
  296. package/dist/src/runtime/actions/types.js +1 -1
  297. package/dist/src/runtime/agent/bootstrap-model-utils.js +1 -1
  298. package/dist/src/runtime/agent/bootstrap-model.js +1 -1
  299. package/dist/src/runtime/agent/bootstrap.js +1 -1
  300. package/dist/src/runtime/agent/mock-model-adapter.js +1 -1
  301. package/dist/src/runtime/channels/registry.js +1 -1
  302. package/dist/src/runtime/connections/authorization-tokens.js +1 -1
  303. package/dist/src/runtime/connections/callback-route.js +1 -1
  304. package/dist/src/runtime/connections/principal-context.js +1 -1
  305. package/dist/src/runtime/connections/principal.js +1 -1
  306. package/dist/src/runtime/framework-channels/index.js +1 -1
  307. package/dist/src/runtime/framework-tools/ask-question.js +1 -1
  308. package/dist/src/runtime/framework-tools/bash.js +1 -1
  309. package/dist/src/runtime/framework-tools/connection-search.js +1 -1
  310. package/dist/src/runtime/framework-tools/file-state.js +1 -1
  311. package/dist/src/runtime/framework-tools/glob.js +1 -1
  312. package/dist/src/runtime/framework-tools/grep.js +1 -1
  313. package/dist/src/runtime/framework-tools/index.js +1 -1
  314. package/dist/src/runtime/framework-tools/pending-connection-tool-calls.js +1 -1
  315. package/dist/src/runtime/framework-tools/read-file.js +1 -1
  316. package/dist/src/runtime/framework-tools/skill.js +1 -1
  317. package/dist/src/runtime/framework-tools/todo.js +2 -2
  318. package/dist/src/runtime/framework-tools/web-fetch.js +1 -1
  319. package/dist/src/runtime/framework-tools/web-search.js +1 -1
  320. package/dist/src/runtime/framework-tools/write-file.js +1 -1
  321. package/dist/src/runtime/governance/auth/jwt-ecdsa.js +1 -1
  322. package/dist/src/runtime/governance/auth/oidc.js +1 -1
  323. package/dist/src/runtime/governance/auth/token-claims.js +1 -1
  324. package/dist/src/runtime/graph.js +1 -1
  325. package/dist/src/runtime/input/types.js +1 -1
  326. package/dist/src/runtime/loaders/compile-metadata.js +1 -1
  327. package/dist/src/runtime/loaders/manifest.js +1 -1
  328. package/dist/src/runtime/loaders/module-map.js +1 -1
  329. package/dist/src/runtime/prompt/compose.js +2 -2
  330. package/dist/src/runtime/prompt/connections.js +1 -1
  331. package/dist/src/runtime/resolve-agent-graph.js +1 -1
  332. package/dist/src/runtime/resolve-hook.js +1 -1
  333. package/dist/src/runtime/sandbox/keys.js +1 -1
  334. package/dist/src/runtime/sandbox/registry.js +1 -1
  335. package/dist/src/runtime/schedules/register.js +1 -1
  336. package/dist/src/runtime/session-callback-route.js +1 -1
  337. package/dist/src/runtime/sessions/auth.js +1 -1
  338. package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -1
  339. package/dist/src/runtime/sessions/runtime-context-keys.d.ts +11 -0
  340. package/dist/src/runtime/sessions/runtime-context-keys.js +1 -0
  341. package/dist/src/runtime/sessions/runtime-session.js +1 -1
  342. package/dist/src/runtime/skills/fragment-context.js +1 -1
  343. package/dist/src/runtime/skills/sandbox-access.js +1 -1
  344. package/dist/src/runtime/subagents/registry.js +1 -1
  345. package/dist/src/runtime/workspace/types.js +1 -1
  346. package/dist/src/services/dev-client/request-headers.js +1 -1
  347. package/dist/src/services/dev-client/vercel-auth-error.js +1 -1
  348. package/dist/src/shared/json-schemas.js +1 -1
  349. package/dist/src/shared/json.js +1 -1
  350. package/dist/src/shared/skill-package.js +1 -1
  351. package/package.json +11 -1
  352. package/dist/src/context/seed-keys.d.ts +0 -39
  353. package/dist/src/context/seed-keys.js +0 -1
@@ -1,2 +1,2 @@
1
- import{stringifyEsmImportSpecifier}from"#internal/application/import-specifier.js";import{ASH_SCHEDULE_TASK_NAME_PREFIX}from"#runtime/schedules/register.js";var ASH_SCHEDULE_TASK_VIRTUAL_ID_PREFIX=`#ash-schedule-task/`;function registerScheduleTaskHandlers(e,t){if(t.registrations.length!==0){e.options.experimental.tasks=!0;for(let n of t.registrations)addScheduleTaskVirtualHandler(e,{artifactsConfig:t.artifactsConfig,dispatchModulePath:t.dispatchModulePath,registration:n})}}function syncScheduleTaskHandlers(e,t){let n=!areScheduleRegistrationsEqual(t.previous,t.next);return removeScheduleTaskHandlers(e),registerScheduleTaskHandlers(e,{artifactsConfig:t.artifactsConfig,dispatchModulePath:t.dispatchModulePath,registrations:t.next}),n}function removeScheduleTaskHandlers(e){for(let n of Object.keys(e.options.tasks))n.startsWith(ASH_SCHEDULE_TASK_NAME_PREFIX)&&delete e.options.tasks[n];for(let t of Object.keys(e.options.virtual))t.startsWith(ASH_SCHEDULE_TASK_VIRTUAL_ID_PREFIX)&&delete e.options.virtual[t];for(let[n,r]of Object.entries(e.options.scheduledTasks)){let i=normalizeScheduledTasks(r).filter(e=>!e.startsWith(ASH_SCHEDULE_TASK_NAME_PREFIX));if(i.length===0){delete e.options.scheduledTasks[n];continue}if(i.length===1){let[t]=i;t!==void 0&&(e.options.scheduledTasks[n]=t);continue}e.options.scheduledTasks[n]=i}}function addScheduleTaskVirtualHandler(t,r){let i=`${ASH_SCHEDULE_TASK_VIRTUAL_ID_PREFIX}${r.registration.taskName}`,a=stringifyEsmImportSpecifier(r.dispatchModulePath);t.options.tasks[r.registration.taskName]={description:r.registration.description,handler:i},t.options.virtual[i]=[`import { dispatchScheduleTask } from ${a};`,`const config = ${JSON.stringify(r.artifactsConfig)};`,`export default {`,` meta: { description: ${JSON.stringify(r.registration.description)} },`,` async run(event) {`,` return { result: await dispatchScheduleTask(event.name, config) };`,` },`,`};`].join(`
1
+ import{stringifyEsmImportSpecifier}from"#internal/application/import-specifier.js";import{ASH_SCHEDULE_TASK_NAME_PREFIX}from"#runtime/schedules/register.js";const ASH_SCHEDULE_TASK_VIRTUAL_ID_PREFIX=`#ash-schedule-task/`;function registerScheduleTaskHandlers(e,t){if(t.registrations.length!==0){e.options.experimental.tasks=!0;for(let n of t.registrations)addScheduleTaskVirtualHandler(e,{artifactsConfig:t.artifactsConfig,dispatchModulePath:t.dispatchModulePath,registration:n})}}function syncScheduleTaskHandlers(e,t){let n=!areScheduleRegistrationsEqual(t.previous,t.next);return removeScheduleTaskHandlers(e),registerScheduleTaskHandlers(e,{artifactsConfig:t.artifactsConfig,dispatchModulePath:t.dispatchModulePath,registrations:t.next}),n}function removeScheduleTaskHandlers(e){for(let n of Object.keys(e.options.tasks))n.startsWith(ASH_SCHEDULE_TASK_NAME_PREFIX)&&delete e.options.tasks[n];for(let t of Object.keys(e.options.virtual))t.startsWith(ASH_SCHEDULE_TASK_VIRTUAL_ID_PREFIX)&&delete e.options.virtual[t];for(let[n,r]of Object.entries(e.options.scheduledTasks)){let i=normalizeScheduledTasks(r).filter(e=>!e.startsWith(ASH_SCHEDULE_TASK_NAME_PREFIX));if(i.length===0){delete e.options.scheduledTasks[n];continue}if(i.length===1){let[t]=i;t!==void 0&&(e.options.scheduledTasks[n]=t);continue}e.options.scheduledTasks[n]=i}}function addScheduleTaskVirtualHandler(t,r){let i=`${ASH_SCHEDULE_TASK_VIRTUAL_ID_PREFIX}${r.registration.taskName}`,a=stringifyEsmImportSpecifier(r.dispatchModulePath);t.options.tasks[r.registration.taskName]={description:r.registration.description,handler:i},t.options.virtual[i]=[`import { dispatchScheduleTask } from ${a};`,`const config = ${JSON.stringify(r.artifactsConfig)};`,`export default {`,` meta: { description: ${JSON.stringify(r.registration.description)} },`,` async run(event) {`,` return { result: await dispatchScheduleTask(event.name, config) };`,` },`,`};`].join(`
2
2
  `),appendScheduledTask(t,r.registration.cron,r.registration.taskName)}function appendScheduledTask(e,t,n){let r=e.options.scheduledTasks[t];if(r===void 0){e.options.scheduledTasks[t]=n;return}if(typeof r==`string`){e.options.scheduledTasks[t]=[r,n];return}r.includes(n)||r.push(n)}function normalizeScheduledTasks(e){return typeof e==`string`?[e]:[...e]}function areScheduleRegistrationsEqual(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1){let r=e[n],i=t[n];if(r===void 0||i===void 0||r.cron!==i.cron||r.description!==i.description||r.logicalPath!==i.logicalPath||r.scheduleId!==i.scheduleId||r.sourceId!==i.sourceId||r.taskName!==i.taskName)return!1}return!0}export{registerScheduleTaskHandlers,removeScheduleTaskHandlers,syncScheduleTaskHandlers};
@@ -1 +1 @@
1
- var SERVER_EXTERNAL_PACKAGES=`@alinea/generated.@appsignal/nodejs.@aws-sdk/client-s3.@aws-sdk/s3-presigned-post.@blockfrost/blockfrost-js.@highlight-run/node.@huggingface/transformers.@jpg-store/lucid-cardano.@libsql/client.@mikro-orm/core.@mikro-orm/knex.@node-rs/argon2.@node-rs/bcrypt.@prisma/client.@react-pdf/renderer.@sentry/profiling-node.@sparticuz/chromium.@sparticuz/chromium-min.@statsig/statsig-node-core.@swc/core.@xenova/transformers.@zenstackhq/runtime.argon2.autoprefixer.aws-crt.bcrypt.better-sqlite3.canvas.chromadb-default-embed.config.cpu-features.cypress.dd-trace.eslint.express.firebase-admin.htmlrewriter.import-in-the-middle.isolated-vm.jest.jsdom.keyv.libsql.mdx-bundler.mongodb.mongoose.newrelic.next-mdx-remote.next-seo.node-cron.node-pty.node-web-audio-api.onnxruntime-node.oslo.pg.pino.pino-pretty.pino-roll.playwright.playwright-core.postcss.prettier.prisma.puppeteer.puppeteer-core.ravendb.require-in-the-middle.rimraf.sharp.shiki.sqlite3.thread-stream.ts-morph.ts-node.typescript.vscode-oniguruma.webpack.websocket.zeromq`.split(`.`);export{SERVER_EXTERNAL_PACKAGES};
1
+ const SERVER_EXTERNAL_PACKAGES=`@alinea/generated.@appsignal/nodejs.@aws-sdk/client-s3.@aws-sdk/s3-presigned-post.@blockfrost/blockfrost-js.@highlight-run/node.@huggingface/transformers.@jpg-store/lucid-cardano.@libsql/client.@mikro-orm/core.@mikro-orm/knex.@node-rs/argon2.@node-rs/bcrypt.@prisma/client.@react-pdf/renderer.@sentry/profiling-node.@sparticuz/chromium.@sparticuz/chromium-min.@statsig/statsig-node-core.@swc/core.@xenova/transformers.@zenstackhq/runtime.argon2.autoprefixer.aws-crt.bcrypt.better-sqlite3.canvas.chromadb-default-embed.config.cpu-features.cypress.dd-trace.eslint.express.firebase-admin.htmlrewriter.import-in-the-middle.isolated-vm.jest.jsdom.keyv.libsql.mdx-bundler.mongodb.mongoose.newrelic.next-mdx-remote.next-seo.node-cron.node-pty.node-web-audio-api.onnxruntime-node.oslo.pg.pino.pino-pretty.pino-roll.playwright.playwright-core.postcss.prettier.prisma.puppeteer.puppeteer-core.ravendb.require-in-the-middle.rimraf.sharp.shiki.sqlite3.thread-stream.ts-morph.ts-node.typescript.vscode-oniguruma.webpack.websocket.zeromq`.split(`.`);export{SERVER_EXTERNAL_PACKAGES};
@@ -1 +1 @@
1
- import{loadDevelopmentEnvironmentFiles}from"#cli/dev/environment.js";import{build,createDevServer,prepare}from"nitro/builder";import{createApplicationNitro}from"#internal/nitro/host/create-application-nitro.js";import{prepareApplicationHost}from"#internal/nitro/host/prepare-application-host.js";import{prewarmAppSandboxes}from"#execution/sandbox/prewarm.js";var DEFAULT_DEVELOPMENT_SERVER_PORT=3e3,MAX_ALLOWED_DEVELOPMENT_SERVER_PORT=65535,MAX_DEVELOPMENT_SERVER_PORT_ATTEMPTS=10,WORKFLOW_LOCAL_BASE_URL_ENV=`WORKFLOW_LOCAL_BASE_URL`,PORT_ENV=`PORT`,WILDCARD_LISTEN_HOSTNAMES=new Set([`[::]`,`::`,`0.0.0.0`]),DEVELOPMENT_LOOPBACK_HOSTNAME=`127.0.0.1`;function normalizeDevelopmentServerClientUrl(e){let t=new URL(e);return WILDCARD_LISTEN_HOSTNAMES.has(t.hostname)?(t.hostname=DEVELOPMENT_LOOPBACK_HOSTNAME,t.toString()):e}function isAddressInUseError(e){return e instanceof Error&&`code`in e&&e.code===`EADDRINUSE`}function resolveDevelopmentServerPort(e){let t=typeof e==`string`?Number(e):e??DEFAULT_DEVELOPMENT_SERVER_PORT;if(!Number.isInteger(t)||t<0||t>MAX_ALLOWED_DEVELOPMENT_SERVER_PORT)throw Error(`Invalid development server port "${String(e)}". Expected an integer between 0 and ${MAX_ALLOWED_DEVELOPMENT_SERVER_PORT}.`);return t}function readEnvironmentPort(){let e=process.env[PORT_ENV];if(e===void 0||e.trim()===``)return;let t=Number(e);if(!Number.isInteger(t)||t<0||t>MAX_ALLOWED_DEVELOPMENT_SERVER_PORT)throw Error(`Invalid ${PORT_ENV} environment variable "${e}". Expected an integer between 0 and ${MAX_ALLOWED_DEVELOPMENT_SERVER_PORT}.`);return t}function resolveDevelopmentServerPorts(e){let t=resolveDevelopmentServerPort(e.port);if(t===0||!e.retryOnAddressInUse)return[t];let n=[];for(let e=0;e<MAX_DEVELOPMENT_SERVER_PORT_ATTEMPTS;e+=1){let r=t+e;if(r>65535)break;n.push(r)}return n}function installWorkflowLocalQueueEnvironment(e){let t=process.env[WORKFLOW_LOCAL_BASE_URL_ENV],n=process.env[PORT_ENV],r=new URL(normalizeDevelopmentServerClientUrl(e));return process.env[WORKFLOW_LOCAL_BASE_URL_ENV]=r.origin,r.port&&(process.env[PORT_ENV]=r.port),()=>{t===void 0?delete process.env[WORKFLOW_LOCAL_BASE_URL_ENV]:process.env[WORKFLOW_LOCAL_BASE_URL_ENV]=t,n===void 0?delete process.env[PORT_ENV]:process.env[PORT_ENV]=n}}function attachTemporarySocketErrorHandler(e){let onSocketError=()=>{};return e.once(`error`,onSocketError),()=>{e.off(`error`,onSocketError)}}function guardDevelopmentServerWebSocketUpgrades(e){let t=e.upgrade.bind(e);e.upgrade=async(e,n,r)=>{let i=attachTemporarySocketErrorHandler(n);try{await t(e,n,r)}catch{n.destroyed||n.destroy()}finally{i()}}}async function listenForDevelopmentServer(e){let t=resolveDevelopmentServerPorts({port:e.port,retryOnAddressInUse:e.retryOnAddressInUse}),n;for(let r of t){let t=e.devServer.listen({hostname:e.host,port:r,silent:!0});try{return await t.ready(),t}catch(r){if(n=r,await t.close().catch(()=>{}),!isAddressInUseError(r)||!e.retryOnAddressInUse)throw r}}throw Error(`Failed to start Nitro dev server after ${t.length} attempts. Tried ports ${t.join(`, `)}.`,{cause:n})}async function startDevelopmentServer(o,s={}){let c=s.schedules===!0;loadDevelopmentEnvironmentFiles(o);let l=await prepareApplicationHost(o);await prewarmAppSandboxes({appRoot:l.appRoot,log:e=>console.log(e)});let u=await createApplicationNitro(l,!0,{schedules:c}),d=createDevServer(u);guardDevelopmentServerWebSocketUpgrades(d);let f=s.host??u.options.devServer.hostname,p=s.port??readEnvironmentPort(),m=p??u.options.devServer.port,h=p===void 0,g;try{let e=await listenForDevelopmentServer({devServer:d,host:f,port:m,retryOnAddressInUse:h});if(!e.url)throw Error(`Nitro dev server did not expose a URL.`);g=installWorkflowLocalQueueEnvironment(e.url),await prepare(u),await build(u);let{startAuthoredSourceWatcher:n}=await import(`#internal/nitro/host/dev-authored-source-watcher.js`),i=await n({nitro:u,preparedHost:l,schedulesEnabled:c}),a=g;if(a===void 0)throw Error(`Workflow local queue environment was not initialized.`);return{async close(){try{await i.close(),await d.close(),await u.close()}finally{a()}},url:normalizeDevelopmentServerClientUrl(e.url)}}catch(e){throw g?.(),await d.close().catch(()=>{}),await u.close().catch(()=>{}),e}}export{normalizeDevelopmentServerClientUrl,startDevelopmentServer};
1
+ import{loadDevelopmentEnvironmentFiles}from"#cli/dev/environment.js";import{build,createDevServer,prepare}from"nitro/builder";import{createApplicationNitro}from"#internal/nitro/host/create-application-nitro.js";import{prepareApplicationHost}from"#internal/nitro/host/prepare-application-host.js";import{prewarmAppSandboxes}from"#execution/sandbox/prewarm.js";const MAX_ALLOWED_DEVELOPMENT_SERVER_PORT=65535,WORKFLOW_LOCAL_BASE_URL_ENV=`WORKFLOW_LOCAL_BASE_URL`,PORT_ENV=`PORT`,WILDCARD_LISTEN_HOSTNAMES=new Set([`[::]`,`::`,`0.0.0.0`]);function normalizeDevelopmentServerClientUrl(e){let t=new URL(e);return WILDCARD_LISTEN_HOSTNAMES.has(t.hostname)?(t.hostname=`127.0.0.1`,t.toString()):e}function isAddressInUseError(e){return e instanceof Error&&`code`in e&&e.code===`EADDRINUSE`}function resolveDevelopmentServerPort(e){let t=typeof e==`string`?Number(e):e??3e3;if(!Number.isInteger(t)||t<0||t>MAX_ALLOWED_DEVELOPMENT_SERVER_PORT)throw Error(`Invalid development server port "${String(e)}". Expected an integer between 0 and ${MAX_ALLOWED_DEVELOPMENT_SERVER_PORT}.`);return t}function readEnvironmentPort(){let e=process.env[PORT_ENV];if(e===void 0||e.trim()===``)return;let t=Number(e);if(!Number.isInteger(t)||t<0||t>MAX_ALLOWED_DEVELOPMENT_SERVER_PORT)throw Error(`Invalid ${PORT_ENV} environment variable "${e}". Expected an integer between 0 and ${MAX_ALLOWED_DEVELOPMENT_SERVER_PORT}.`);return t}function resolveDevelopmentServerPorts(e){let t=resolveDevelopmentServerPort(e.port);if(t===0||!e.retryOnAddressInUse)return[t];let n=[];for(let e=0;e<10;e+=1){let r=t+e;if(r>65535)break;n.push(r)}return n}function installWorkflowLocalQueueEnvironment(e){let t=process.env[WORKFLOW_LOCAL_BASE_URL_ENV],n=process.env[PORT_ENV],r=new URL(normalizeDevelopmentServerClientUrl(e));return process.env[WORKFLOW_LOCAL_BASE_URL_ENV]=r.origin,r.port&&(process.env[PORT_ENV]=r.port),()=>{t===void 0?delete process.env[WORKFLOW_LOCAL_BASE_URL_ENV]:process.env[WORKFLOW_LOCAL_BASE_URL_ENV]=t,n===void 0?delete process.env[PORT_ENV]:process.env[PORT_ENV]=n}}function attachTemporarySocketErrorHandler(e){let onSocketError=()=>{};return e.once(`error`,onSocketError),()=>{e.off(`error`,onSocketError)}}function guardDevelopmentServerWebSocketUpgrades(e){let t=e.upgrade.bind(e);e.upgrade=async(e,n,r)=>{let i=attachTemporarySocketErrorHandler(n);try{await t(e,n,r)}catch{n.destroyed||n.destroy()}finally{i()}}}async function listenForDevelopmentServer(e){let t=resolveDevelopmentServerPorts({port:e.port,retryOnAddressInUse:e.retryOnAddressInUse}),n;for(let r of t){let t=e.devServer.listen({hostname:e.host,port:r,silent:!0});try{return await t.ready(),t}catch(r){if(n=r,await t.close().catch(()=>{}),!isAddressInUseError(r)||!e.retryOnAddressInUse)throw r}}throw Error(`Failed to start Nitro dev server after ${t.length} attempts. Tried ports ${t.join(`, `)}.`,{cause:n})}async function startDevelopmentServer(o,s={}){let c=s.schedules===!0;loadDevelopmentEnvironmentFiles(o);let l=await prepareApplicationHost(o);await prewarmAppSandboxes({appRoot:l.appRoot,log:e=>console.log(e)});let u=await createApplicationNitro(l,!0,{schedules:c}),d=createDevServer(u);guardDevelopmentServerWebSocketUpgrades(d);let f=s.host??u.options.devServer.hostname,p=s.port??readEnvironmentPort(),m=p??u.options.devServer.port,h=p===void 0,g;try{let e=await listenForDevelopmentServer({devServer:d,host:f,port:m,retryOnAddressInUse:h});if(!e.url)throw Error(`Nitro dev server did not expose a URL.`);g=installWorkflowLocalQueueEnvironment(e.url),await prepare(u),await build(u);let{startAuthoredSourceWatcher:n}=await import(`#internal/nitro/host/dev-authored-source-watcher.js`),i=await n({nitro:u,preparedHost:l,schedulesEnabled:c}),a=g;if(a===void 0)throw Error(`Workflow local queue environment was not initialized.`);return{async close(){try{await i.close(),await d.close(),await u.close()}finally{a()}},url:normalizeDevelopmentServerClientUrl(e.url)}}catch(e){throw g?.(),await d.close().catch(()=>{}),await u.close().catch(()=>{}),e}}export{normalizeDevelopmentServerClientUrl,startDevelopmentServer};
@@ -1,4 +1,4 @@
1
- var ASH_DOCS_URL=`https://ash.labs.vercel.dev/`,DEPLOYMENT_URL_PLACEHOLDER=`{{DEPLOYMENT_URL}}`,HOME_PAGE_HTML_TEMPLATE=`<!doctype html>
1
+ const DEPLOYMENT_URL_PLACEHOLDER=`{{DEPLOYMENT_URL}}`,HOME_PAGE_HTML_TEMPLATE=`<!doctype html>
2
2
  <html lang="en">
3
3
  <head>
4
4
  <meta charset="utf-8">
@@ -140,7 +140,7 @@ var ASH_DOCS_URL=`https://ash.labs.vercel.dev/`,DEPLOYMENT_URL_PLACEHOLDER=`{{DE
140
140
  running
141
141
  </span>
142
142
  <h1 class="mono">ash</h1>
143
- <p class="lede">The agent is up and accepting messages. <a href="${ASH_DOCS_URL}">Read the docs<span class="lede-arrow" aria-hidden="true">&nbsp;&rarr;</span></a></p>
143
+ <p class="lede">The agent is up and accepting messages. <a href="https://ash.labs.vercel.dev/">Read the docs<span class="lede-arrow" aria-hidden="true">&nbsp;&rarr;</span></a></p>
144
144
  <div class="terminal mono" role="group" aria-label="Send a message from your terminal">
145
145
  <span class="terminal-prompt" aria-hidden="true">$</span>
146
146
  <span class="terminal-cmd">ash dev ${DEPLOYMENT_URL_PLACEHOLDER}</span>
@@ -148,4 +148,4 @@ var ASH_DOCS_URL=`https://ash.labs.vercel.dev/`,DEPLOYMENT_URL_PLACEHOLDER=`{{DE
148
148
  </main>
149
149
  </body>
150
150
  </html>
151
- `;function escapeHtml(e){return e.replaceAll(`&`,`&amp;`).replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`).replaceAll(`"`,`&quot;`).replaceAll(`'`,`&#39;`)}function pickFirstForwardedValue(e){if(e===null)return;let t=e.split(`,`)[0]?.trim();if(!(t===void 0||t.length===0))return t}function resolveDeploymentUrl(e){let t=e.headers,n=new URL(e.url),r=pickFirstForwardedValue(t.get(`x-forwarded-host`)),i=pickFirstForwardedValue(t.get(`x-forwarded-proto`)),a=r??t.get(`host`)??n.host;return`${i??n.protocol.replace(/:$/,``)}://${a}`}function buildHomePageResponse(e){let r=resolveDeploymentUrl(e),i=HOME_PAGE_HTML_TEMPLATE.replace(DEPLOYMENT_URL_PLACEHOLDER,escapeHtml(r));return new Response(i,{headers:{"cache-control":`no-store`,"content-type":`text/html; charset=utf-8`}})}function handleHomePageRequest(e){return buildHomePageResponse(e.req)}export{buildHomePageResponse,handleHomePageRequest as default};
151
+ `;function escapeHtml(e){return e.replaceAll(`&`,`&amp;`).replaceAll(`<`,`&lt;`).replaceAll(`>`,`&gt;`).replaceAll(`"`,`&quot;`).replaceAll(`'`,`&#39;`)}function pickFirstForwardedValue(e){if(e===null)return;let t=e.split(`,`)[0]?.trim();if(!(t===void 0||t.length===0))return t}function resolveDeploymentUrl(e){let t=e.headers,n=new URL(e.url),r=pickFirstForwardedValue(t.get(`x-forwarded-host`)),i=pickFirstForwardedValue(t.get(`x-forwarded-proto`)),a=r??t.get(`host`)??n.host;return`${i??n.protocol.replace(/:$/,``)}://${a}`}function buildHomePageResponse(n){let r=resolveDeploymentUrl(n),i=HOME_PAGE_HTML_TEMPLATE.replace(DEPLOYMENT_URL_PLACEHOLDER,escapeHtml(r));return new Response(i,{headers:{"cache-control":`no-store`,"content-type":`text/html; charset=utf-8`}})}function handleHomePageRequest(e){return buildHomePageResponse(e.req)}export{buildHomePageResponse,handleHomePageRequest as default};
@@ -1 +1 @@
1
- import{ASH_ROUTE_PREFIX}from"#protocol/routes.js";var WORKFLOW_RUNS_API_ROUTE_PATH=`${ASH_ROUTE_PREFIX}/runs`,WORKFLOW_RUN_ROUTE_PATTERN=`${ASH_ROUTE_PREFIX}/runs/:runId`,WORKFLOW_RUN_STEPS_ROUTE_PATTERN=`${ASH_ROUTE_PREFIX}/runs/:runId/steps`,WORKFLOW_RUN_EVENTS_ROUTE_PATTERN=`${ASH_ROUTE_PREFIX}/runs/:runId/events`,MAX_PAGE_LIMIT=1e3,WORKFLOW_RUN_STATUSES=[`pending`,`running`,`completed`,`failed`,`cancelled`];function createWorkflowApiResponse(e,t){return new Response(JSON.stringify(e),{headers:{"cache-control":`no-store`,"content-type":`application/json; charset=utf-8`},status:t})}function createWorkflowApiSuccessResponse(e){return createWorkflowApiResponse({ok:!0,...e},200)}function createWorkflowApiBadRequestResponse(e){return createWorkflowApiResponse({error:e,ok:!1},400)}function createWorkflowApiNotFoundResponse(e){return createWorkflowApiResponse({error:e,ok:!1},404)}function createWorkflowApiInternalErrorResponse(){return createWorkflowApiResponse({error:`Failed to load workflow data.`,ok:!1},500)}function isWorkflowRunStatus(e){return WORKFLOW_RUN_STATUSES.some(t=>t===e)}function parsePaginationFromSearchParams(e){let t={},n=e.get(`cursor`);typeof n==`string`&&n.length>0&&(t.cursor=n);let r=e.get(`limit`);if(r!==null){let e=Number.parseInt(r,10);if(!Number.isSafeInteger(e)||e<1||e>MAX_PAGE_LIMIT)return createWorkflowApiBadRequestResponse(`Expected "limit" to be an integer between 1 and ${MAX_PAGE_LIMIT}.`);t.limit=e}let i=e.get(`sortOrder`);if(i!==null){if(i!==`asc`&&i!==`desc`)return createWorkflowApiBadRequestResponse(`Expected "sortOrder" to be "asc" or "desc".`);t.sortOrder=i}return t}function parsePaginationQuery(e){let t=new URL(e.url).searchParams;return parsePaginationFromSearchParams(t)}function parseWorkflowRunsQuery(e){let t=new URL(e.url).searchParams,n=parsePaginationFromSearchParams(t);if(n instanceof Response)return n;let r={cursor:n.cursor,limit:n.limit,sortOrder:n.sortOrder},i=t.get(`status`);if(i!==null){if(!isWorkflowRunStatus(i))return createWorkflowApiBadRequestResponse(`Expected "status" to be one of: ${WORKFLOW_RUN_STATUSES.join(`, `)}.`);r.status=i}let a=t.get(`workflowName`);return typeof a==`string`&&a.length>0&&(r.workflowName=a),r}function resolveRunIdFromNitroEvent(e){let t=e.context?.params?.runId;if(typeof t==`string`&&t.length>0)return t;let n=new URL(e.req.url).pathname.match(/^\/ash\/v1\/runs\/([^/]+)(?:\/.*)?$/);if(n===null)return null;let r=n[1];if(typeof r!=`string`||r.length===0)return null;try{return decodeURIComponent(r)}catch{return null}}export{WORKFLOW_RUNS_API_ROUTE_PATH,WORKFLOW_RUN_EVENTS_ROUTE_PATTERN,WORKFLOW_RUN_ROUTE_PATTERN,WORKFLOW_RUN_STEPS_ROUTE_PATTERN,createWorkflowApiBadRequestResponse,createWorkflowApiInternalErrorResponse,createWorkflowApiNotFoundResponse,createWorkflowApiSuccessResponse,parsePaginationQuery,parseWorkflowRunsQuery,resolveRunIdFromNitroEvent};
1
+ import{ASH_ROUTE_PREFIX}from"#protocol/routes.js";const WORKFLOW_RUNS_API_ROUTE_PATH=`${ASH_ROUTE_PREFIX}/runs`,WORKFLOW_RUN_ROUTE_PATTERN=`${ASH_ROUTE_PREFIX}/runs/:runId`,WORKFLOW_RUN_STEPS_ROUTE_PATTERN=`${ASH_ROUTE_PREFIX}/runs/:runId/steps`,WORKFLOW_RUN_EVENTS_ROUTE_PATTERN=`${ASH_ROUTE_PREFIX}/runs/:runId/events`,MAX_PAGE_LIMIT=1e3,WORKFLOW_RUN_STATUSES=[`pending`,`running`,`completed`,`failed`,`cancelled`];function createWorkflowApiResponse(e,t){return new Response(JSON.stringify(e),{headers:{"cache-control":`no-store`,"content-type":`application/json; charset=utf-8`},status:t})}function createWorkflowApiSuccessResponse(e){return createWorkflowApiResponse({ok:!0,...e},200)}function createWorkflowApiBadRequestResponse(e){return createWorkflowApiResponse({error:e,ok:!1},400)}function createWorkflowApiNotFoundResponse(e){return createWorkflowApiResponse({error:e,ok:!1},404)}function createWorkflowApiInternalErrorResponse(){return createWorkflowApiResponse({error:`Failed to load workflow data.`,ok:!1},500)}function isWorkflowRunStatus(e){return WORKFLOW_RUN_STATUSES.some(t=>t===e)}function parsePaginationFromSearchParams(e){let t={},n=e.get(`cursor`);typeof n==`string`&&n.length>0&&(t.cursor=n);let r=e.get(`limit`);if(r!==null){let e=Number.parseInt(r,10);if(!Number.isSafeInteger(e)||e<1||e>MAX_PAGE_LIMIT)return createWorkflowApiBadRequestResponse(`Expected "limit" to be an integer between 1 and ${MAX_PAGE_LIMIT}.`);t.limit=e}let i=e.get(`sortOrder`);if(i!==null){if(i!==`asc`&&i!==`desc`)return createWorkflowApiBadRequestResponse(`Expected "sortOrder" to be "asc" or "desc".`);t.sortOrder=i}return t}function parsePaginationQuery(e){let t=new URL(e.url).searchParams;return parsePaginationFromSearchParams(t)}function parseWorkflowRunsQuery(e){let t=new URL(e.url).searchParams,n=parsePaginationFromSearchParams(t);if(n instanceof Response)return n;let r={cursor:n.cursor,limit:n.limit,sortOrder:n.sortOrder},i=t.get(`status`);if(i!==null){if(!isWorkflowRunStatus(i))return createWorkflowApiBadRequestResponse(`Expected "status" to be one of: ${WORKFLOW_RUN_STATUSES.join(`, `)}.`);r.status=i}let a=t.get(`workflowName`);return typeof a==`string`&&a.length>0&&(r.workflowName=a),r}function resolveRunIdFromNitroEvent(e){let t=e.context?.params?.runId;if(typeof t==`string`&&t.length>0)return t;let n=new URL(e.req.url).pathname.match(/^\/ash\/v1\/runs\/([^/]+)(?:\/.*)?$/);if(n===null)return null;let r=n[1];if(typeof r!=`string`||r.length===0)return null;try{return decodeURIComponent(r)}catch{return null}}export{WORKFLOW_RUNS_API_ROUTE_PATH,WORKFLOW_RUN_EVENTS_ROUTE_PATTERN,WORKFLOW_RUN_ROUTE_PATTERN,WORKFLOW_RUN_STEPS_ROUTE_PATTERN,createWorkflowApiBadRequestResponse,createWorkflowApiInternalErrorResponse,createWorkflowApiNotFoundResponse,createWorkflowApiSuccessResponse,parsePaginationQuery,parseWorkflowRunsQuery,resolveRunIdFromNitroEvent};
@@ -1,2 +1,2 @@
1
- var BANNER_LINES=[{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}],REQUIRE_LINE={importLine:`import { createRequire as __ashCreateRequire } from "node:module";`,declarationLine:`const require = __ashCreateRequire(import.meta.url);`,bindingPattern:/^(?:const|let|var)\s+require\b/m};function buildNodeEsmCompatBanner(n,r={}){let i=[...BANNER_LINES];r.includeRequire===!0&&i.push(REQUIRE_LINE);let a=[],o=[];for(let e of i)e.bindingPattern.test(n)||(a.push(e.importLine),o.push(e.declarationLine));return o.length===0?``:[...a,...o].join(`
1
+ const BANNER_LINES=[{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}],REQUIRE_LINE={importLine:`import { createRequire as __ashCreateRequire } from "node:module";`,declarationLine:`const require = __ashCreateRequire(import.meta.url);`,bindingPattern:/^(?:const|let|var)\s+require\b/m};function buildNodeEsmCompatBanner(n,r={}){let i=[...BANNER_LINES];r.includeRequire===!0&&i.push(REQUIRE_LINE);let a=[],o=[];for(let e of i)e.bindingPattern.test(n)||(a.push(e.importLine),o.push(e.declarationLine));return o.length===0?``:[...a,...o].join(`
2
2
  `)}function createNodeEsmCompatBannerPlugin(e={}){return{name:`ash-node-esm-compat-banner`,renderChunk(t){let n=buildNodeEsmCompatBanner(t,e);return n===``?null:{code:`${n}\n${t}`}}}}export{buildNodeEsmCompatBanner,createNodeEsmCompatBannerPlugin};
@@ -1 +1 @@
1
- var ASH_PACKAGE_NAME=`experimental-ash`;export{ASH_PACKAGE_NAME};
1
+ const ASH_PACKAGE_NAME=`experimental-ash`;export{ASH_PACKAGE_NAME};
@@ -1 +1 @@
1
- var VERCEL_ASH_AGENT_SUMMARY_KIND=`vercel-ash-agent-summary`,VERCEL_ASH_AGENT_SUMMARY_VERSION=2,VERCEL_ASH_AGENT_SUMMARY_OUTPUT_PATH=`.ash/agent-summary.json`;function normalizeChannelKindForDisplay(e){if(typeof e!=`string`||e.length===0)return`unknown`;let t=e.toLowerCase();return t===`slack`||t.includes(`slack`)?`slack`:t===`http`?`http`:t.includes(`webhook`)?`webhook`:`unknown`}export{VERCEL_ASH_AGENT_SUMMARY_KIND,VERCEL_ASH_AGENT_SUMMARY_OUTPUT_PATH,VERCEL_ASH_AGENT_SUMMARY_VERSION,normalizeChannelKindForDisplay};
1
+ const VERCEL_ASH_AGENT_SUMMARY_KIND=`vercel-ash-agent-summary`,VERCEL_ASH_AGENT_SUMMARY_VERSION=2,VERCEL_ASH_AGENT_SUMMARY_OUTPUT_PATH=`.ash/agent-summary.json`;function normalizeChannelKindForDisplay(e){if(typeof e!=`string`||e.length===0)return`unknown`;let t=e.toLowerCase();return t===`slack`||t.includes(`slack`)?`slack`:t===`http`?`http`:t.includes(`webhook`)?`webhook`:`unknown`}export{VERCEL_ASH_AGENT_SUMMARY_KIND,VERCEL_ASH_AGENT_SUMMARY_OUTPUT_PATH,VERCEL_ASH_AGENT_SUMMARY_VERSION,normalizeChannelKindForDisplay};
@@ -1,4 +1,4 @@
1
- import{join}from"node:path";import{readFile,writeFile}from"node:fs/promises";var ASH_SHARED_SERVER_FUNCTION_PATH=`ash/__server.func`,ASH_SHARED_SERVER_ROUTE_DESTINATION=`/ash/__server`,ASH_SERVICE_ROUTE_PREFIX_WRAPPER=`index.__ash_service_route_prefix.mjs`,ASH_VERCEL_FUNCTION_PREFIXES=[`ash/`,`.well-known/workflow/`];function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function isAshVercelFunctionPath(e){return ASH_VERCEL_FUNCTION_PREFIXES.some(t=>e.startsWith(t))}function normalizeAshVercelRoutes(e,t){return e.filter(isAshVercelRoute).map(e=>normalizeAshVercelRoute(e,t))}function isAshVercelRoute(e){if(!isRecord(e)||`handle`in e)return!0;let t=typeof e.src==`string`?e.src:``,n=typeof e.dest==`string`?e.dest:``;return isAshVercelRoutePath(t)||isAshVercelRoutePath(n)}function isAshVercelRoutePath(e){return e.includes(`/ash/v1`)||e.includes(`/.well-known/workflow/`)}function isAshProtocolRoutePath(e){return e.includes(`/ash/v1`)}function normalizeAshVercelRoute(e,t){if(!isRecord(e)||`handle`in e||typeof e.src!=`string`)return e;let n=isAshProtocolRoutePath(e.src)||typeof e.dest==`string`&&isAshProtocolRoutePath(e.dest),r={...e,src:prefixAshVercelRoutePath(e.src,t)};return n&&(r.dest=ASH_SHARED_SERVER_ROUTE_DESTINATION),r}function prefixAshVercelRoutePath(e,t){if(t===void 0||t===`/`||!isAshVercelRoutePath(e)||e.includes(t))return e;let n=t.endsWith(`/`)?t.slice(0,-1):t,r=n.replaceAll(`/`,`\\/`);return e.includes(r)?e:e.startsWith(`^(?:/`)?`^(?:${n}${e.slice(4)}`:e.startsWith(`^/`)?`^${n}${e.slice(1)}`:e.startsWith(`/`)?`${n}${e}`:e}async function applyAshServiceRoutePrefixWrapper(r,i){let a=join(r,`.vc-config.json`),o=join(r,ASH_SERVICE_ROUTE_PREFIX_WRAPPER),s=JSON.parse(await readFile(a,`utf8`)),c=isRecord(s)?s:{};await writeFile(o,createAshServiceRoutePrefixWrapper(i)),await writeFile(a,`${JSON.stringify({...c,handler:ASH_SERVICE_ROUTE_PREFIX_WRAPPER},null,2)}\n`)}function createAshServiceRoutePrefixWrapper(e){return`
1
+ import{join}from"node:path";import{readFile,writeFile}from"node:fs/promises";const ASH_SHARED_SERVER_FUNCTION_PATH=`ash/__server.func`,ASH_SERVICE_ROUTE_PREFIX_WRAPPER=`index.__ash_service_route_prefix.mjs`,ASH_VERCEL_FUNCTION_PREFIXES=[`ash/`,`.well-known/workflow/`];function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function isAshVercelFunctionPath(e){return ASH_VERCEL_FUNCTION_PREFIXES.some(t=>e.startsWith(t))}function normalizeAshVercelRoutes(e,t){return e.filter(isAshVercelRoute).map(e=>normalizeAshVercelRoute(e,t))}function isAshVercelRoute(e){if(!isRecord(e)||`handle`in e)return!0;let t=typeof e.src==`string`?e.src:``,n=typeof e.dest==`string`?e.dest:``;return isAshVercelRoutePath(t)||isAshVercelRoutePath(n)}function isAshVercelRoutePath(e){return e.includes(`/ash/v1`)||e.includes(`/.well-known/workflow/`)}function isAshProtocolRoutePath(e){return e.includes(`/ash/v1`)}function normalizeAshVercelRoute(e,t){if(!isRecord(e)||`handle`in e||typeof e.src!=`string`)return e;let n=isAshProtocolRoutePath(e.src)||typeof e.dest==`string`&&isAshProtocolRoutePath(e.dest),r={...e,src:prefixAshVercelRoutePath(e.src,t)};return n&&(r.dest=`/ash/__server`),r}function prefixAshVercelRoutePath(e,t){if(t===void 0||t===`/`||!isAshVercelRoutePath(e)||e.includes(t))return e;let n=t.endsWith(`/`)?t.slice(0,-1):t,r=n.replaceAll(`/`,`\\/`);return e.includes(r)?e:e.startsWith(`^(?:/`)?`^(?:${n}${e.slice(4)}`:e.startsWith(`^/`)?`^${n}${e.slice(1)}`:e.startsWith(`/`)?`${n}${e}`:e}async function applyAshServiceRoutePrefixWrapper(r,i){let a=join(r,`.vc-config.json`),o=join(r,ASH_SERVICE_ROUTE_PREFIX_WRAPPER),s=JSON.parse(await readFile(a,`utf8`)),c=isRecord(s)?s:{};await writeFile(o,createAshServiceRoutePrefixWrapper(i)),await writeFile(a,`${JSON.stringify({...c,handler:ASH_SERVICE_ROUTE_PREFIX_WRAPPER},null,2)}\n`)}function createAshServiceRoutePrefixWrapper(e){return`
2
2
  import { Server } from "node:http";
3
3
 
4
4
  const SERVICE_PREFIX = ${JSON.stringify(normalizeServiceRoutePrefix(e))};
@@ -1,4 +1,4 @@
1
- import{builtinModules}from"node:module";import{dirname,join,relative,resolve}from"node:path";import{mkdir,readFile,readdir,rename,writeFile}from"node:fs/promises";import{existsSync}from"node:fs";import{resolveWorkflowModulePath}from"#internal/application/package.js";import{buildWithNitroRolldown,getSingleRolldownChunk}from"#internal/bundler/nitro-rolldown.js";import{applyWorkflowTransform,getImportPath}from"#internal/workflow-bundle/workflow-builders.js";var WORKFLOW_VIRTUAL_ENTRY_ID=`\0ash-workflow-entry`,PSEUDO_PACKAGES=new Set([`server-only`,`client-only`,`next/dist/compiled/server-only`,`next/dist/compiled/client-only`]),NODE_BUILTIN_MODULES=new Set([...builtinModules,...builtinModules.map(e=>`node:${e}`)]),WORKFLOW_INPUT_EXTENSIONS=new Set([`.ts`,`.tsx`,`.mts`,`.cts`,`.js`,`.jsx`,`.mjs`,`.cjs`]),IGNORED_INPUT_DIRECTORIES=new Set([`node_modules`,`.git`,`.next`,`.nuxt`,`.output`,`.vercel`,`.workflow-data`,`.workflow-vitest`,`.well-known`,`.svelte-kit`,`.turbo`,`.cache`,`.yarn`,`.pnpm-store`]);async function collectWorkflowInputFiles(e){let t=[];async function visit(e){let r;try{r=await readdir(e,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}for(let i of r){if(i.isDirectory()){IGNORED_INPUT_DIRECTORIES.has(i.name)||await visit(join(e,i.name));continue}if(!i.isFile())continue;let r=i.name.match(/\.[^.]+$/)?.[0];r!==void 0&&WORKFLOW_INPUT_EXTENSIONS.has(r)&&t.push(join(e,i.name))}}return await visit(e),t}function createWorkflowImport(e,t){let{importPath:n,isPackage:r}=getImportPath(e,t);return r?`import ${JSON.stringify(n)};`:`import ${JSON.stringify(toRelativeImportSpecifier(t,e))};`}function createWorkflowVirtualEntryPlugin(e){return{name:`ash-workflow-virtual-entry`,resolveId(e){if(e===`\0ash-workflow-entry`)return{id:e}},load(t){if(t===`\0ash-workflow-entry`)return{code:e,moduleSideEffects:!0,moduleType:`js`}}}}function createWorkflowPseudoPackagePlugin(){return{name:`ash-workflow-pseudo-packages`,resolveId(e){if(PSEUDO_PACKAGES.has(e))return{id:`\0ash-workflow-pseudo-package:${e}`}},load(e){if(e.startsWith(`\0ash-workflow-pseudo-package:`))return{code:``,moduleType:`js`}}}}function createWorkflowRuntimeAliasPlugin(){return{name:`ash-workflow-runtime-aliases`,resolveId(e){if(!(e!==`workflow`&&!e.startsWith(`workflow/`)))return resolveWorkflowModulePath(e)}}}function createAshPackageImportsPlugin(e,t={}){return{name:`ash-package-imports`,resolveId(r){let i=r.match(/^#compiled\/(.+)$/)?.[1];if(i!==void 0)return t.workflowCondition===!0&&i===`@workflow/core/index.js`?resolveFirstExistingPath([join(e,`src`,`internal`,`workflow-bundle`,`workflow-core-shim.ts`),join(e,`dist`,`src`,`internal`,`workflow-bundle`,`workflow-core-shim.js`)]):resolveFirstExistingPath([join(e,`.generated`,`compiled`,i),join(e,`dist`,`src`,`compiled`,i)]);let a=r.match(/^#(.+)\.js$/)?.[1];if(a!==void 0)return resolveFirstExistingPath([`.ts`,`.tsx`,`.mts`,`.cts`,`.js`,`.jsx`,`.mjs`,`.cjs`].flatMap(t=>[join(e,`src`,`${a}${t}`),join(e,`dist`,`src`,`${a}${t}`)]))}}}function createWorkflowTransformPlugin(e){let t=new Set(e.sideEffectFiles?.map(e=>e.replaceAll(`\\`,`/`))??[]);return{name:`ash-workflow-transform`,async load(n){if(!isJavaScriptLikePath(n))return;let r=await readFile(n,`utf8`),i=await applyWorkflowTransform(createManifestRelativeFilepath(e.workingDir,n),r.replace(/require\(\s*(['"])server-only\1\s*\)/g,`void 0`).replace(/require\(\s*(['"])client-only\1\s*\)/g,`void 0`),e.mode??`workflow`,n,e.projectRoot);return mergeWorkflowManifest(e.manifest,i.workflowManifest),{code:i.code,map:null,moduleSideEffects:t.has(n.replaceAll(`\\`,`/`))||void 0}}}}async function bundleWorkflowStepRegistrations(e){let t=[...e.discoveredEntries.discoveredSteps].sort(),n=new Set(t),r=[...e.discoveredEntries.discoveredSerdeFiles].sort().filter(e=>!n.has(e)),i={},a=[createWorkflowImport(e.builtinsPath,e.workingDir),...t.map(t=>createWorkflowImport(t,e.workingDir)),...r.map(t=>createWorkflowImport(t,e.workingDir)),`export const __steps_registered = true;`].join(`
1
+ import{builtinModules}from"node:module";import{dirname,join,relative,resolve}from"node:path";import{mkdir,readFile,readdir,rename,writeFile}from"node:fs/promises";import{existsSync}from"node:fs";import{resolveWorkflowModulePath}from"#internal/application/package.js";import{buildWithNitroRolldown,getSingleRolldownChunk}from"#internal/bundler/nitro-rolldown.js";import{applyWorkflowTransform,getImportPath}from"#internal/workflow-bundle/workflow-builders.js";const WORKFLOW_VIRTUAL_ENTRY_ID=`\0ash-workflow-entry`,PSEUDO_PACKAGES=new Set([`server-only`,`client-only`,`next/dist/compiled/server-only`,`next/dist/compiled/client-only`]),NODE_BUILTIN_MODULES=new Set([...builtinModules,...builtinModules.map(e=>`node:${e}`)]),WORKFLOW_INPUT_EXTENSIONS=new Set([`.ts`,`.tsx`,`.mts`,`.cts`,`.js`,`.jsx`,`.mjs`,`.cjs`]),IGNORED_INPUT_DIRECTORIES=new Set([`node_modules`,`.git`,`.next`,`.nuxt`,`.output`,`.vercel`,`.workflow-data`,`.workflow-vitest`,`.well-known`,`.svelte-kit`,`.turbo`,`.cache`,`.yarn`,`.pnpm-store`]);async function collectWorkflowInputFiles(e){let t=[];async function visit(e){let r;try{r=await readdir(e,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}for(let i of r){if(i.isDirectory()){IGNORED_INPUT_DIRECTORIES.has(i.name)||await visit(join(e,i.name));continue}if(!i.isFile())continue;let r=i.name.match(/\.[^.]+$/)?.[0];r!==void 0&&WORKFLOW_INPUT_EXTENSIONS.has(r)&&t.push(join(e,i.name))}}return await visit(e),t}function createWorkflowImport(e,t){let{importPath:n,isPackage:r}=getImportPath(e,t);return r?`import ${JSON.stringify(n)};`:`import ${JSON.stringify(toRelativeImportSpecifier(t,e))};`}function createWorkflowVirtualEntryPlugin(e){return{name:`ash-workflow-virtual-entry`,resolveId(e){if(e===`\0ash-workflow-entry`)return{id:e}},load(t){if(t===`\0ash-workflow-entry`)return{code:e,moduleSideEffects:!0,moduleType:`js`}}}}function createWorkflowPseudoPackagePlugin(){return{name:`ash-workflow-pseudo-packages`,resolveId(e){if(PSEUDO_PACKAGES.has(e))return{id:`\0ash-workflow-pseudo-package:${e}`}},load(e){if(e.startsWith(`\0ash-workflow-pseudo-package:`))return{code:``,moduleType:`js`}}}}function createWorkflowRuntimeAliasPlugin(){return{name:`ash-workflow-runtime-aliases`,resolveId(e){if(!(e!==`workflow`&&!e.startsWith(`workflow/`)))return resolveWorkflowModulePath(e)}}}function createAshPackageImportsPlugin(e,t={}){return{name:`ash-package-imports`,resolveId(r){let i=r.match(/^#compiled\/(.+)$/)?.[1];if(i!==void 0)return t.workflowCondition===!0&&i===`@workflow/core/index.js`?resolveFirstExistingPath([join(e,`src`,`internal`,`workflow-bundle`,`workflow-core-shim.ts`),join(e,`dist`,`src`,`internal`,`workflow-bundle`,`workflow-core-shim.js`)]):resolveFirstExistingPath([join(e,`.generated`,`compiled`,i),join(e,`dist`,`src`,`compiled`,i)]);let a=r.match(/^#(.+)\.js$/)?.[1];if(a!==void 0)return resolveFirstExistingPath([`.ts`,`.tsx`,`.mts`,`.cts`,`.js`,`.jsx`,`.mjs`,`.cjs`].flatMap(t=>[join(e,`src`,`${a}${t}`),join(e,`dist`,`src`,`${a}${t}`)]))}}}function createWorkflowTransformPlugin(e){let t=new Set(e.sideEffectFiles?.map(e=>e.replaceAll(`\\`,`/`))??[]);return{name:`ash-workflow-transform`,async load(n){if(!isJavaScriptLikePath(n))return;let r=await readFile(n,`utf8`),i=await applyWorkflowTransform(createManifestRelativeFilepath(e.workingDir,n),r.replace(/require\(\s*(['"])server-only\1\s*\)/g,`void 0`).replace(/require\(\s*(['"])client-only\1\s*\)/g,`void 0`),e.mode??`workflow`,n,e.projectRoot);return mergeWorkflowManifest(e.manifest,i.workflowManifest),{code:i.code,map:null,moduleSideEffects:t.has(n.replaceAll(`\\`,`/`))||void 0}}}}async function bundleWorkflowStepRegistrations(e){let t=[...e.discoveredEntries.discoveredSteps].sort(),n=new Set(t),r=[...e.discoveredEntries.discoveredSerdeFiles].sort().filter(e=>!n.has(e)),i={},a=[createWorkflowImport(e.builtinsPath,e.workingDir),...t.map(t=>createWorkflowImport(t,e.workingDir)),...r.map(t=>createWorkflowImport(t,e.workingDir)),`export const __steps_registered = true;`].join(`
2
2
  `),o=getSingleRolldownChunk(await buildWithNitroRolldown({cwd:e.workingDir,input:WORKFLOW_VIRTUAL_ENTRY_ID,platform:`node`,plugins:[createWorkflowVirtualEntryPlugin(a),createWorkflowPseudoPackagePlugin(),createWorkflowRuntimeAliasPlugin(),createAshPackageImportsPlugin(e.workingDir),createWorkflowTransformPlugin({manifest:i,mode:`step`,projectRoot:e.projectRoot,sideEffectFiles:[...t,...r],workingDir:e.workingDir})],resolve:{conditionNames:[`ash-source`,`node`,`import`,`default`],extensions:[`.ts`,`.tsx`,`.mts`,`.cts`,`.js`,`.jsx`,`.mjs`,`.cjs`],mainFields:[`module`,`main`]},tsconfig:e.tsconfigPath??!1,write:!1,output:{codeSplitting:!1,comments:!1,format:`esm`,sourcemap:`inline`}}),`step registrations bundle for "${e.outfile}"`);await writeWorkflowBundleAtomically(e.outfile,o.code)}function createWorkflowNodeBuiltinGuardPlugin(){return{name:`ash-workflow-node-builtins`,resolveId(e){let t=e.startsWith(`node:`)?e.slice(5):e;if(!(!NODE_BUILTIN_MODULES.has(e)&&!NODE_BUILTIN_MODULES.has(t)))throw Error(`Workflow bundle cannot import Node.js builtin "${e}". Move Node.js APIs behind a "use step" function.`)}}}async function bundleFinalWorkflowOutput(e){let t=`// biome-ignore-all lint: generated file
3
3
  /* eslint-disable */
4
4
  import { workflowEntrypoint } from 'workflow/runtime';
@@ -1,5 +1,5 @@
1
- import{dirname,join,relative,resolve}from"node:path";import{cp,mkdir,readFile,rm,writeFile}from"node:fs/promises";import{resolvePackageSourceDirectoryPath,resolveWorkflowModulePath}from"#internal/application/package.js";import{normalizeEsmImportSpecifier}from"#internal/application/import-specifier.js";import{Buffer}from"node:buffer";import{buildWithNitroRolldown,getSingleRolldownChunk}from"#internal/bundler/nitro-rolldown.js";import{prepareAshVersionedCacheDirectory,writeAshVersionedCacheMetadata}from"#internal/application/cache-metadata.js";import{WORKFLOW_BUILDER_DEFERRED_PACKAGES,WORKFLOW_STEP_EXTERNAL_PACKAGES,copyNitroFunctionDirectory,createWorkflowFunctionEnvironment,retargetNitroFunctionDirectoryToWorkflowRoute}from"#internal/workflow-bundle/vercel-workflow-output.js";import{WORKFLOW_QUEUE_TRIGGER,detectWorkflowPatterns}from"#internal/workflow-bundle/workflow-builders.js";import{WORKFLOW_VIRTUAL_ENTRY_ID,atomicWriteFile,bundleFinalWorkflowOutput,collectWorkflowInputFiles,convertClassesManifest,convertStepsManifest,convertWorkflowsManifest,createAshPackageImportsPlugin,createWorkflowImport,createWorkflowPseudoPackagePlugin,createWorkflowTransformPlugin,createWorkflowVirtualEntryPlugin}from"#internal/workflow-bundle/builder-support.js";import{writeNitroStepEntrypoint}from"#internal/workflow-bundle/nitro-step-entry.js";var workflowBundleBuildLocks=new Map,WorkflowBundleBuilder=class{#e;#t;config;#n=new WeakMap;constructor(e){this.config={buildTarget:`standalone`,dirs:[resolvePackageSourceDirectoryPath(`src/execution`)],externalPackages:[...WORKFLOW_STEP_EXTERNAL_PACKAGES,...WORKFLOW_BUILDER_DEFERRED_PACKAGES],projectRoot:e.appRoot,watch:e.watch,workingDir:e.rootDir},this.#e=e.compiledArtifactsBootstrapPath,this.#t=e.outDir}async build(e={}){let t=(workflowBundleBuildLocks.get(this.#t)??Promise.resolve()).then(()=>this.#r(e));workflowBundleBuildLocks.set(this.#t,t.catch(()=>{})),await t}async#r(n){await prepareAshVersionedCacheDirectory(this.#t);let r=await this.#i();if(r.length===0)throw Error(`Expected the execution workflow source file under "${resolvePackageSourceDirectoryPath(`src/execution`)}".`);let i=await this.findTsConfigPath();await mkdir(this.#t,{recursive:!0});let o=await this.discoverEntries(r,this.#t,i),s=join(this.#t,`workflows.mjs`),{manifest:c}=await this.createWorkflowsBundle({discoveredEntries:o,keepInterimBundleContext:!1,outfile:s,bundleFinalOutput:!1,format:`esm`,inputFiles:r,tsconfigPath:i}),d=join(this.#t,`steps.mjs`),f=await writeNitroStepEntrypoint({builtinsPath:resolveWorkflowModulePath(`workflow/internal/builtins`),discoveredEntries:o,outfile:d,preferAbsoluteFileImports:!0,projectRoot:this.config.projectRoot??this.config.workingDir,workingDir:this.config.workingDir}),p=n.nitroStepOutfile;p!==void 0&&p!==d&&await writeNitroStepEntrypoint({builtinsPath:resolveWorkflowModulePath(`workflow/internal/builtins`),discoveredEntries:o,outfile:p,preferAbsoluteFileImports:!0,projectRoot:this.config.projectRoot??this.config.workingDir,workingDir:this.config.workingDir}),await addStepRegistrationsImport(s,d),await rewriteWorkflowRuntimeImports(s),await rewriteWorkflowCodeLiteral(s);let m=n.nitroWorkflowOutfile;m!==void 0&&m!==s&&(await mkdir(dirname(m),{recursive:!0}),await mirrorFileBypassingUnlink(s,m),p!==void 0&&(await addStepRegistrationsImport(m,p),await rewriteWorkflowRuntimeImports(m),await rewriteWorkflowCodeLiteral(m))),await this.createManifest({workflowBundlePath:join(this.#t,`workflows.mjs`),manifestDir:this.#t,manifest:{steps:{...f.steps,...c.steps},workflows:{...f.workflows,...c.workflows},classes:{...f.classes,...c.classes}}}),await writeAshVersionedCacheMetadata(this.#t)}get transformProjectRoot(){return this.config.projectRoot??this.config.workingDir}async findTsConfigPath(){let n=this.config.workingDir;for(;;){for(let e of[`tsconfig.json`,`jsconfig.json`]){let r=join(n,e);try{return await readFile(r),r}catch(e){if(!(e instanceof Error&&`code`in e&&e.code===`ENOENT`))throw e}}let r=dirname(n);if(r===n)return;n=r}}async getInputFiles(){let e=this.config.dirs.map(e=>resolve(this.config.workingDir,e));return(await Promise.all(e.map(e=>collectWorkflowInputFiles(e)))).flat()}async discoverEntries(e,t,n){let r=this.#n.get(e);if(r!==void 0)return r;let i={discoveredSerdeFiles:[],discoveredSteps:[],discoveredWorkflows:[]};for(let t of e){let e=detectWorkflowPatterns(await readFile(t,`utf8`));e.hasUseStep&&i.discoveredSteps.push(t),e.hasUseWorkflow&&i.discoveredWorkflows.push(t),e.hasSerde&&i.discoveredSerdeFiles.push(t)}return this.#n.set(e,i),i}async createWorkflowsBundle({bundleFinalOutput:t=!0,discoveredEntries:n,format:r=`cjs`,inputFiles:i,keepInterimBundleContext:a=this.config.watch,outfile:o,tsconfigPath:s}){let c=n??await this.discoverEntries(i,dirname(o),s),l=[...c.discoveredWorkflows].sort(),u=new Set(l),d=[...c.discoveredSerdeFiles].sort().filter(e=>!u.has(e)),f={},h=[...l.map(e=>createWorkflowImport(e,this.config.workingDir)),...d.map(e=>createWorkflowImport(e,this.config.workingDir))].join(`
2
- `);return await bundleFinalWorkflowOutput({bundleFinalOutput:t,code:getSingleRolldownChunk(await buildWithNitroRolldown({cwd:this.config.workingDir,input:WORKFLOW_VIRTUAL_ENTRY_ID,platform:`neutral`,plugins:[createWorkflowVirtualEntryPlugin(h),createWorkflowPseudoPackagePlugin(),createAshPackageImportsPlugin(this.config.workingDir,{workflowCondition:!0}),createWorkflowTransformPlugin({manifest:f,projectRoot:this.transformProjectRoot,sideEffectFiles:[...l,...d],workingDir:this.config.workingDir})],resolve:{conditionNames:[`ash-source`,`workflow`,`node`,`import`,`default`],extensions:[`.ts`,`.tsx`,`.mts`,`.cts`,`.js`,`.jsx`,`.mjs`,`.cjs`],mainFields:[`module`,`main`]},tsconfig:s??!1,write:!1,output:{banner:`globalThis.__private_workflows = new Map();`,codeSplitting:!1,comments:!1,format:`cjs`,sourcemap:`inline`}}),`intermediate workflow bundle for "${o}"`).code,format:r,outfile:o,workingDir:this.config.workingDir}),a?{bundleFinal:async e=>{await bundleFinalWorkflowOutput({bundleFinalOutput:t,code:e,format:r,outfile:o,workingDir:this.config.workingDir})},interimBundleCtx:void 0,manifest:f}:{manifest:f}}async createManifest({manifest:e,manifestDir:n}){let r={version:`1.0.0`,steps:convertStepsManifest(e.steps),workflows:convertWorkflowsManifest(e.workflows),classes:convertClassesManifest(e.classes)},i=JSON.stringify(r,null,2);return await mkdir(n,{recursive:!0}),await writeFile(join(n,`manifest.json`),i),i}async buildVercelOutput(e){await this.build();let n=join(this.#t,`vercel-build-output`,`functions`,`.well-known`,`workflow`,`v1`),r=join(n,`flow.func`),o=join(e.outputDir,`functions`,`.well-known`,`workflow`,`v1`),c=join(e.flowNitroOutputDir,`functions`,`__server.func`),l=join(e.flowNitroOutputDir,`functions`,`.well-known`,`workflow`,`v1`,`flow.func`),u=join(o,`flow.func`),d=join(o,`step.func`),f=join(o,`webhook`,`[token].func`);await copyNitroFunctionDirectory({fallbackPath:c,sourcePath:l,targetPath:r}),await Promise.all([this.#a(r,{experimentalTriggers:Array.from([WORKFLOW_QUEUE_TRIGGER]),maxDuration:`max`,runtime:e.runtime??null,shouldAddHelpers:!1}),cp(join(this.#t,`manifest.json`),join(n,`manifest.json`))]),await retargetNitroFunctionDirectoryToWorkflowRoute({functionDirectoryPath:r,workflowRoutePath:`/.well-known/workflow/v1/flow`}),await Promise.all([rm(u,{force:!0,recursive:!0}),rm(d,{force:!0,recursive:!0}),rm(f,{force:!0,recursive:!0})]),await mkdir(o,{recursive:!0}),await Promise.all([cp(r,u,{recursive:!0}),cp(join(n,`manifest.json`),join(o,`manifest.json`))])}async#i(){return[...await this.getInputFiles(),this.#e]}async#a(e,n){let r=join(e,`.vc-config.json`),i=await this.#o(r),a={...i};a.environment=createWorkflowFunctionEnvironment(i.environment),n.runtime!==null&&(a.runtime=n.runtime),n.maxDuration!==void 0&&(a.maxDuration=n.maxDuration),n.shouldAddHelpers!==void 0&&(a.shouldAddHelpers=n.shouldAddHelpers),n.shouldAddSourcemapSupport!==void 0&&(a.shouldAddSourcemapSupport=n.shouldAddSourcemapSupport),n.experimentalTriggers!==void 0&&(a.experimentalTriggers=[...n.experimentalTriggers]),await writeFile(r,`${JSON.stringify(a,null,2)}\n`)}async#o(e){try{let t=JSON.parse(await readFile(e,`utf8`));if(typeof t==`object`&&t)return t}catch{}return{}}};async function addStepRegistrationsImport(t,n){let r=await readTextFileIfPresent(t);if(r===null||r.includes(`__ashWorkflowStepsRegistered`))return;let i=createRelativeImportSpecifier(dirname(t),n),a=[`import { __steps_registered as __ashWorkflowStepsRegistered } from ${JSON.stringify(i)};`,`void __ashWorkflowStepsRegistered;`,``].join(`
1
+ import{dirname,join,relative,resolve}from"node:path";import{cp,mkdir,readFile,rm,writeFile}from"node:fs/promises";import{resolvePackageSourceDirectoryPath,resolveWorkflowModulePath}from"#internal/application/package.js";import{normalizeEsmImportSpecifier}from"#internal/application/import-specifier.js";import{buildWithNitroRolldown,getSingleRolldownChunk}from"#internal/bundler/nitro-rolldown.js";import{prepareAshVersionedCacheDirectory,writeAshVersionedCacheMetadata}from"#internal/application/cache-metadata.js";import{WORKFLOW_BUILDER_DEFERRED_PACKAGES,WORKFLOW_STEP_EXTERNAL_PACKAGES,copyNitroFunctionDirectory,createWorkflowFunctionEnvironment,retargetNitroFunctionDirectoryToWorkflowRoute}from"#internal/workflow-bundle/vercel-workflow-output.js";import{WORKFLOW_QUEUE_TRIGGER,detectWorkflowPatterns}from"#internal/workflow-bundle/workflow-builders.js";import{Buffer}from"node:buffer";import{WORKFLOW_VIRTUAL_ENTRY_ID,atomicWriteFile,bundleFinalWorkflowOutput,collectWorkflowInputFiles,convertClassesManifest,convertStepsManifest,convertWorkflowsManifest,createAshPackageImportsPlugin,createWorkflowImport,createWorkflowPseudoPackagePlugin,createWorkflowTransformPlugin,createWorkflowVirtualEntryPlugin}from"#internal/workflow-bundle/builder-support.js";import{writeNitroStepEntrypoint}from"#internal/workflow-bundle/nitro-step-entry.js";const workflowBundleBuildLocks=new Map;var WorkflowBundleBuilder=class{#e;#t;config;#n=new WeakMap;constructor(e){this.config={buildTarget:`standalone`,dirs:[resolvePackageSourceDirectoryPath(`src/execution`)],externalPackages:[...WORKFLOW_STEP_EXTERNAL_PACKAGES,...WORKFLOW_BUILDER_DEFERRED_PACKAGES],projectRoot:e.appRoot,watch:e.watch,workingDir:e.rootDir},this.#e=e.compiledArtifactsBootstrapPath,this.#t=e.outDir}async build(e={}){let t=(workflowBundleBuildLocks.get(this.#t)??Promise.resolve()).then(()=>this.#r(e));workflowBundleBuildLocks.set(this.#t,t.catch(()=>{})),await t}async#r(n){await prepareAshVersionedCacheDirectory(this.#t);let r=await this.#i();if(r.length===0)throw Error(`Expected the execution workflow source file under "${resolvePackageSourceDirectoryPath(`src/execution`)}".`);let i=await this.findTsConfigPath();await mkdir(this.#t,{recursive:!0});let o=await this.discoverEntries(r,this.#t,i),s=join(this.#t,`workflows.mjs`),{manifest:c}=await this.createWorkflowsBundle({discoveredEntries:o,keepInterimBundleContext:!1,outfile:s,bundleFinalOutput:!1,format:`esm`,inputFiles:r,tsconfigPath:i}),d=join(this.#t,`steps.mjs`),f=await writeNitroStepEntrypoint({builtinsPath:resolveWorkflowModulePath(`workflow/internal/builtins`),discoveredEntries:o,outfile:d,preferAbsoluteFileImports:!0,projectRoot:this.config.projectRoot??this.config.workingDir,workingDir:this.config.workingDir}),p=n.nitroStepOutfile;p!==void 0&&p!==d&&await writeNitroStepEntrypoint({builtinsPath:resolveWorkflowModulePath(`workflow/internal/builtins`),discoveredEntries:o,outfile:p,preferAbsoluteFileImports:!0,projectRoot:this.config.projectRoot??this.config.workingDir,workingDir:this.config.workingDir}),await addStepRegistrationsImport(s,d),await rewriteWorkflowRuntimeImports(s),await rewriteWorkflowCodeLiteral(s);let g=n.nitroWorkflowOutfile;g!==void 0&&g!==s&&(await mkdir(dirname(g),{recursive:!0}),await mirrorFileBypassingUnlink(s,g),p!==void 0&&(await addStepRegistrationsImport(g,p),await rewriteWorkflowRuntimeImports(g),await rewriteWorkflowCodeLiteral(g))),await this.createManifest({workflowBundlePath:join(this.#t,`workflows.mjs`),manifestDir:this.#t,manifest:{steps:{...f.steps,...c.steps},workflows:{...f.workflows,...c.workflows},classes:{...f.classes,...c.classes}}}),await writeAshVersionedCacheMetadata(this.#t)}get transformProjectRoot(){return this.config.projectRoot??this.config.workingDir}async findTsConfigPath(){let n=this.config.workingDir;for(;;){for(let e of[`tsconfig.json`,`jsconfig.json`]){let r=join(n,e);try{return await readFile(r),r}catch(e){if(!(e instanceof Error&&`code`in e&&e.code===`ENOENT`))throw e}}let r=dirname(n);if(r===n)return;n=r}}async getInputFiles(){let e=this.config.dirs.map(e=>resolve(this.config.workingDir,e));return(await Promise.all(e.map(e=>collectWorkflowInputFiles(e)))).flat()}async discoverEntries(e,t,n){let r=this.#n.get(e);if(r!==void 0)return r;let i={discoveredSerdeFiles:[],discoveredSteps:[],discoveredWorkflows:[]};for(let t of e){let e=detectWorkflowPatterns(await readFile(t,`utf8`));e.hasUseStep&&i.discoveredSteps.push(t),e.hasUseWorkflow&&i.discoveredWorkflows.push(t),e.hasSerde&&i.discoveredSerdeFiles.push(t)}return this.#n.set(e,i),i}async createWorkflowsBundle({bundleFinalOutput:t=!0,discoveredEntries:n,format:r=`cjs`,inputFiles:i,keepInterimBundleContext:a=this.config.watch,outfile:o,tsconfigPath:s}){let c=n??await this.discoverEntries(i,dirname(o),s),l=[...c.discoveredWorkflows].sort(),u=new Set(l),d=[...c.discoveredSerdeFiles].sort().filter(e=>!u.has(e)),m={},h=[...l.map(e=>createWorkflowImport(e,this.config.workingDir)),...d.map(e=>createWorkflowImport(e,this.config.workingDir))].join(`
2
+ `);return await bundleFinalWorkflowOutput({bundleFinalOutput:t,code:getSingleRolldownChunk(await buildWithNitroRolldown({cwd:this.config.workingDir,input:WORKFLOW_VIRTUAL_ENTRY_ID,platform:`neutral`,plugins:[createWorkflowVirtualEntryPlugin(h),createWorkflowPseudoPackagePlugin(),createAshPackageImportsPlugin(this.config.workingDir,{workflowCondition:!0}),createWorkflowTransformPlugin({manifest:m,projectRoot:this.transformProjectRoot,sideEffectFiles:[...l,...d],workingDir:this.config.workingDir})],resolve:{conditionNames:[`ash-source`,`workflow`,`node`,`import`,`default`],extensions:[`.ts`,`.tsx`,`.mts`,`.cts`,`.js`,`.jsx`,`.mjs`,`.cjs`],mainFields:[`module`,`main`]},tsconfig:s??!1,write:!1,output:{banner:`globalThis.__private_workflows = new Map();`,codeSplitting:!1,comments:!1,format:`cjs`,sourcemap:`inline`}}),`intermediate workflow bundle for "${o}"`).code,format:r,outfile:o,workingDir:this.config.workingDir}),a?{bundleFinal:async e=>{await bundleFinalWorkflowOutput({bundleFinalOutput:t,code:e,format:r,outfile:o,workingDir:this.config.workingDir})},interimBundleCtx:void 0,manifest:m}:{manifest:m}}async createManifest({manifest:e,manifestDir:n}){let r={version:`1.0.0`,steps:convertStepsManifest(e.steps),workflows:convertWorkflowsManifest(e.workflows),classes:convertClassesManifest(e.classes)},i=JSON.stringify(r,null,2);return await mkdir(n,{recursive:!0}),await writeFile(join(n,`manifest.json`),i),i}async buildVercelOutput(e){await this.build();let n=join(this.#t,`vercel-build-output`,`functions`,`.well-known`,`workflow`,`v1`),r=join(n,`flow.func`),o=join(e.outputDir,`functions`,`.well-known`,`workflow`,`v1`),c=join(e.flowNitroOutputDir,`functions`,`__server.func`),l=join(e.flowNitroOutputDir,`functions`,`.well-known`,`workflow`,`v1`,`flow.func`),u=join(o,`flow.func`),d=join(o,`step.func`),f=join(o,`webhook`,`[token].func`);await copyNitroFunctionDirectory({fallbackPath:c,sourcePath:l,targetPath:r}),await Promise.all([this.#a(r,{experimentalTriggers:Array.from([WORKFLOW_QUEUE_TRIGGER]),maxDuration:`max`,runtime:e.runtime??null,shouldAddHelpers:!1}),cp(join(this.#t,`manifest.json`),join(n,`manifest.json`))]),await retargetNitroFunctionDirectoryToWorkflowRoute({functionDirectoryPath:r,workflowRoutePath:`/.well-known/workflow/v1/flow`}),await Promise.all([rm(u,{force:!0,recursive:!0}),rm(d,{force:!0,recursive:!0}),rm(f,{force:!0,recursive:!0})]),await mkdir(o,{recursive:!0}),await Promise.all([cp(r,u,{recursive:!0}),cp(join(n,`manifest.json`),join(o,`manifest.json`))])}async#i(){return[...await this.getInputFiles(),this.#e]}async#a(e,n){let r=join(e,`.vc-config.json`),i=await this.#o(r),a={...i};a.environment=createWorkflowFunctionEnvironment(i.environment),n.runtime!==null&&(a.runtime=n.runtime),n.maxDuration!==void 0&&(a.maxDuration=n.maxDuration),n.shouldAddHelpers!==void 0&&(a.shouldAddHelpers=n.shouldAddHelpers),n.shouldAddSourcemapSupport!==void 0&&(a.shouldAddSourcemapSupport=n.shouldAddSourcemapSupport),n.experimentalTriggers!==void 0&&(a.experimentalTriggers=[...n.experimentalTriggers]),await writeFile(r,`${JSON.stringify(a,null,2)}\n`)}async#o(e){try{let t=JSON.parse(await readFile(e,`utf8`));if(typeof t==`object`&&t)return t}catch{}return{}}};async function addStepRegistrationsImport(t,n){let r=await readTextFileIfPresent(t);if(r===null||r.includes(`__ashWorkflowStepsRegistered`))return;let i=createRelativeImportSpecifier(dirname(t),n),a=[`import { __steps_registered as __ashWorkflowStepsRegistered } from ${JSON.stringify(i)};`,`void __ashWorkflowStepsRegistered;`,``].join(`
3
3
  `),o=r.match(/^import\s.+?;\n/m);if(o===null||o.index===void 0){await atomicWriteFile(t,`${a}${r}`);return}let s=o.index+o[0].length;await atomicWriteFile(t,`${r.slice(0,s)}${a}${r.slice(s)}`)}async function rewriteWorkflowRuntimeImports(e){let t=await readTextFileIfPresent(e);if(t===null)return;let n=t;for(let e of[`workflow`,`workflow/api`,`workflow/internal/builtins`,`workflow/internal/private`,`workflow/runtime`]){let t=normalizeImportSpecifierPath(resolveWorkflowModulePath(e));n=replaceStringLiteralSpecifier(n,e,t)}n!==t&&await atomicWriteFile(e,n)}async function rewriteWorkflowCodeLiteral(e){let t=await readTextFileIfPresent(e);if(t===null)return;let n=t.indexOf(`const workflowCode = `),r=t.lastIndexOf(`;
4
4
 
5
5
  export const POST = workflowEntrypoint(workflowCode);`);if(n===-1||r===-1||r<=n)return;let i=n+21,a=t.slice(i,r);if(!a.trimStart().startsWith("`"))return;let o=decodeWorkflowCodeTemplateLiteral(a,e),s=`${t.slice(0,i)}${encodeWorkflowCodeLiteral(o)}${t.slice(r)}`;s!==t&&await atomicWriteFile(e,s)}function encodeWorkflowCodeLiteral(e){let t=Buffer.from(e,`utf8`).toString(`base64`).match(/.{1,16384}/g)??[``];return`Buffer.from(${JSON.stringify(t)}.join(""), "base64").toString("utf8")`}function decodeWorkflowCodeTemplateLiteral(e,t){let n=e.trim();if(!n.startsWith("`")||!n.endsWith("`"))throw Error(`Expected generated workflow code literal in "${t}" to be a template.`);let r=n.slice(1,-1),i=``;for(let e=0;e<r.length;e+=1){let t=r[e];if(t!==`\\`){i+=t;continue}let n=r[e+1];if(n===`\\`||n==="`"||n===`$`){i+=n,e+=1;continue}i+=t}return i}function replaceStringLiteralSpecifier(e,t,n){return e.replaceAll(JSON.stringify(t),JSON.stringify(n)).replaceAll(`'${t}'`,JSON.stringify(n))}function normalizeImportSpecifierPath(e){return normalizeEsmImportSpecifier(e)}function createRelativeImportSpecifier(e,t){let r=relative(e,t).replaceAll(`\\`,`/`);return r.startsWith(`.`)?r:`./${r}`}async function readTextFileIfPresent(e){try{return await readFile(e,`utf8`)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}}async function readBinaryFileIfPresent(e){try{return await readFile(e)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}}async function mirrorFileBypassingUnlink(e,t){let n=await readFile(e),r=await readBinaryFileIfPresent(t);r!==null&&r.equals(n)||await atomicWriteFile(t,n)}export{WorkflowBundleBuilder};
@@ -1,3 +1,3 @@
1
- import{basename,dirname,extname,join,relative}from"node:path";import{cp,mkdir,readFile,readdir,realpath,rename,rm,symlink,writeFile}from"node:fs/promises";import{buildWithNitroRolldown,getSingleRolldownChunk}from"#internal/bundler/nitro-rolldown.js";import{ASH_SHARED_SERVER_FUNCTION_PATH,applyAshServiceRoutePrefixWrapper,isAshVercelFunctionPath,normalizeAshVercelRoutes}from"#internal/workflow-bundle/ash-service-route-output.js";var WORKFLOW_STEP_EXTERNAL_PACKAGES=[`@mongodb-js/zstd`,`node-liblzma`],WORKFLOW_BUILDER_DEFERRED_PACKAGES=[`@chat-adapter/slack`,`chat`],WORKFLOW_FUNCTION_NODE_OPTIONS=`--experimental-require-module`;function createWorkflowFunctionEnvironment(e){let t={};return isRecord(e)&&Object.assign(t,e),t.NODE_OPTIONS=WORKFLOW_FUNCTION_NODE_OPTIONS,t}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}async function prepareVercelFunctionDirectory(e){await rm(e,{force:!0,recursive:!0}),await mkdir(e,{recursive:!0})}async function resolveNitroFunctionDirectory(e){try{return await realpath(e.sourcePath)}catch{return await realpath(e.fallbackPath)}}async function copyNitroFunctionDirectory(e){let t=await resolveNitroFunctionDirectory({fallbackPath:e.fallbackPath,sourcePath:e.sourcePath});await prepareVercelFunctionDirectory(e.targetPath),await cp(t,e.targetPath,{dereference:!0,recursive:!0})}async function normalizeAshVercelFunctionOutput(e,t={}){let n=join(e,`functions`),i=await prepareSharedAshServerFunction(n);i!==null&&(t.servicePrefix!==void 0&&await applyAshServiceRoutePrefixWrapper(i,t.servicePrefix),await repointAshFunctionSymlinksInDirectory(n,i)),await pruneNonAshFunctionEntries(n,n),await pruneNonAshVercelRoutes(e,t.servicePrefix)}async function prepareSharedAshServerFunction(e){let n=join(e,`__server.func`),i=join(e,ASH_SHARED_SERVER_FUNCTION_PATH),s;try{s=await realpath(n)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}let c=`${i}.ash-staging`;return await mkdir(dirname(i),{recursive:!0}),await rm(c,{force:!0,recursive:!0}),await cp(s,c,{dereference:!0,recursive:!0}),await rm(i,{force:!0,recursive:!0}),await rename(c,i),i}async function repointAshFunctionSymlinksInDirectory(e,t,n=e){let a;try{a=await readdir(e,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}await Promise.all(a.map(async a=>{let o=join(e,a.name),s=normalizeVercelOutputPath(relative(n,o));if(a.isSymbolicLink()){a.name.endsWith(`.func`)&&isAshVercelFunctionPath(s)&&await repointFunctionSymlink(o,t);return}a.isDirectory()&&!a.name.endsWith(`.func`)&&await repointAshFunctionSymlinksInDirectory(o,t,n)}))}async function repointFunctionSymlink(e,n){await rm(e,{force:!0,recursive:!0}),await symlink(normalizeVercelOutputPath(relative(dirname(e),n)),e,`dir`)}async function pruneNonAshFunctionEntries(e,t){let n;try{n=await readdir(t,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}await Promise.all(n.map(async n=>{let a=join(t,n.name),o=normalizeVercelOutputPath(relative(e,a));if(n.name.endsWith(`.func`)){isAshVercelFunctionPath(o)||await rm(a,{force:!0,recursive:!0});return}n.isDirectory()&&await pruneNonAshFunctionEntries(e,a)}))}async function pruneNonAshVercelRoutes(e,t){let n=join(e,`config.json`),i;try{i=JSON.parse(await readFile(n,`utf8`))}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}!isRecord(i)||!Array.isArray(i.routes)||(i.routes=normalizeAshVercelRoutes(i.routes,t),await writeFile(n,`${JSON.stringify(i,null,2)}\n`))}function normalizeVercelOutputPath(e){return e.replaceAll(`\\`,`/`)}async function emitBundledWorkflowFunctionDirectory(e){await prepareVercelFunctionDirectory(e.targetPath);let n=await emitBundledWorkflowPluginModules({build:buildWithNitroRolldown,pluginPaths:e.pluginPaths??[],targetPath:e.targetPath}),i=join(dirname(e.bundlePath),`__ash_workflow_function_entry.js`),a=getSingleRolldownChunk(await buildWithNitroRolldown({cwd:dirname(e.bundlePath),input:i,platform:`node`,plugins:[createVirtualModulePlugin({id:i,moduleType:`js`,source:createWorkflowFunctionEntrypointSource({bundlePath:e.bundlePath,pluginModulePaths:n})})],write:!1,output:{codeSplitting:!1,comments:!1,format:`cjs`,sourcemap:!1}}),`Vercel workflow function for "${e.bundlePath}"`);await Promise.all([writeFile(join(e.targetPath,`index.js`),a.code),writeFile(join(e.targetPath,`package.json`),`${JSON.stringify({type:`commonjs`},null,2)}\n`),writeFile(join(e.targetPath,`.vc-config.json`),`${JSON.stringify({environment:createWorkflowFunctionEnvironment(),handler:`index.js`,launcherType:`Nodejs`,supportsResponseStreaming:!0},null,2)}\n`)])}async function emitBundledWorkflowPluginModules(e){return await Promise.all(e.pluginPaths.map(async(t,n)=>{let i=getSingleRolldownChunk(await e.build({input:t,platform:`node`,write:!1,output:{codeSplitting:!1,comments:!1,format:`esm`,sourcemap:!1}}),`workflow plugin for "${t}"`),a=`__ash_workflow_plugin_${n}.mjs`;return await writeFile(join(e.targetPath,a),i.code),`./${a}`}))}function createVirtualModulePlugin(e){return{name:`ash-virtual-module`,resolveId(t){return t===e.id?e.id:void 0},load(t){return t===e.id?{code:e.source,moduleType:e.moduleType}:void 0}}}function toRelativeImportPath(e){let t=relative(e.fromDirectoryPath,e.toFilePath).replaceAll(`\\`,`/`);return t.startsWith(`.`)?t:`./${t}`}function normalizeImportSpecifierPath(e){return e.replaceAll(`\\`,`/`)}function createWorkflowFunctionEntrypointSource(t){let n=t.pluginModulePaths.map(e=>normalizeImportSpecifierPath(e)),r=n.length>0;return[`const { POST } = require(${JSON.stringify(`./${basename(t.bundlePath)}`)});`,...r?[`const workflowPluginModulePaths = ${JSON.stringify(n)};`,``,`let workflowPluginPromise;`,``,`async function loadWorkflowPlugins() {`,` if (workflowPluginPromise == null) {`,` workflowPluginPromise = (async () => {`,` for (const pluginPath of workflowPluginModulePaths) {`,` await import(pluginPath);`,` }`,` })();`,` }`,` return await workflowPluginPromise;`,`}`]:[],``,`const DEFAULT_WORKFLOW_REQUEST_ORIGIN = "https://workflow.invalid";`,``,`function getHeader(headers, name) {`,` if (headers === null || headers === undefined) {`,` return undefined;`,` }`,` if (typeof headers.get === "function") {`,` const value = headers.get(name);`,` return typeof value === "string" && value.length > 0 ? value : undefined;`,` }`,` if (typeof headers !== "object") {`,` return undefined;`,` }`,` const record = headers;`,` const lowerName = name.toLowerCase();`,` for (const [key, value] of Object.entries(record)) {`,` if (key.toLowerCase() !== lowerName || value === undefined) {`,` continue;`,` }`,` if (Array.isArray(value)) {`,` return value.find((item) => typeof item === "string" && item.length > 0);`,` }`,` return typeof value === "string" && value.length > 0 ? value : undefined;`,` }`,` return undefined;`,`}`,``,`function createHeaders(headers) {`,` const normalized = new Headers();`,` if (headers === null || headers === undefined) {`,` return normalized;`,` }`,` if (headers instanceof Headers) {`,` return headers;`,` }`,` if (typeof headers.forEach === "function" && typeof headers.entries === "function") {`,` for (const [key, value] of headers.entries()) {`,` normalized.append(key, value);`,` }`,` return normalized;`,` }`,` for (const [key, value] of Object.entries(headers)) {`,` if (value === undefined) {`,` continue;`,` }`,` if (Array.isArray(value)) {`,` for (const item of value) {`,` normalized.append(key, String(item));`,` }`,` continue;`,` }`,` normalized.set(key, String(value));`,` }`,` return normalized;`,`}`,``,`function toAbsoluteWorkflowUrl(request) {`,` const url = typeof request?.url === "string" ? request.url : "/";`,` if (/^https?:\\/\\//.test(url)) {`,` return url;`,` }`,` const host = getHeader(request?.headers, "x-forwarded-host") ?? getHeader(request?.headers, "host");`,` const protocolHeader = getHeader(request?.headers, "x-forwarded-proto");`,` const protocol = protocolHeader === "http" || protocolHeader === "https" ? protocolHeader : "https";`,` const origin = typeof host === "string" && host.length > 0 ? protocol + "://" + host : DEFAULT_WORKFLOW_REQUEST_ORIGIN;`,` return new URL(url, origin).toString();`,`}`,``,`function normalizeWorkflowRequest(request) {`,` if (request instanceof Request) {`,` if (/^https?:\\/\\//.test(request.url)) {`,` return request;`,` }`,` return new Request(toAbsoluteWorkflowUrl(request), request);`,` }`,` const method = typeof request?.method === "string" ? request.method : "GET";`,` const headers = createHeaders(request?.headers);`,` const init = {`,` headers,`,` method,`,` };`,` if (method !== "GET" && method !== "HEAD") {`,` const body = request?.body ?? (request !== null && typeof request === "object" && typeof request.pipe === "function" ? request : undefined);`,` if (body !== undefined) {`,` init.body = body;`,` init.duplex = "half";`,` }`,` }`,` return new Request(toAbsoluteWorkflowUrl(request), init);`,`}`,``,`module.exports = async function handleWorkflowFunctionRequest(requestContext) {`,` const request =`,` requestContext !== null && typeof requestContext === "object" && "req" in requestContext`,` ? requestContext.req`,` : requestContext;`,...r?[` await loadWorkflowPlugins();`]:[],` return await POST(normalizeWorkflowRequest(request));`,`};`,``].join(`
1
+ import{basename,dirname,extname,join,relative}from"node:path";import{cp,mkdir,readFile,readdir,realpath,rename,rm,symlink,writeFile}from"node:fs/promises";import{buildWithNitroRolldown,getSingleRolldownChunk}from"#internal/bundler/nitro-rolldown.js";import{ASH_SHARED_SERVER_FUNCTION_PATH,applyAshServiceRoutePrefixWrapper,isAshVercelFunctionPath,normalizeAshVercelRoutes}from"#internal/workflow-bundle/ash-service-route-output.js";const WORKFLOW_STEP_EXTERNAL_PACKAGES=[`@mongodb-js/zstd`,`node-liblzma`],WORKFLOW_BUILDER_DEFERRED_PACKAGES=[`@chat-adapter/slack`,`chat`];function createWorkflowFunctionEnvironment(e){let t={};return isRecord(e)&&Object.assign(t,e),t.NODE_OPTIONS=`--experimental-require-module`,t}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}async function prepareVercelFunctionDirectory(e){await rm(e,{force:!0,recursive:!0}),await mkdir(e,{recursive:!0})}async function resolveNitroFunctionDirectory(e){try{return await realpath(e.sourcePath)}catch{return await realpath(e.fallbackPath)}}async function copyNitroFunctionDirectory(e){let t=await resolveNitroFunctionDirectory({fallbackPath:e.fallbackPath,sourcePath:e.sourcePath});await prepareVercelFunctionDirectory(e.targetPath),await cp(t,e.targetPath,{dereference:!0,recursive:!0})}async function normalizeAshVercelFunctionOutput(e,t={}){let n=join(e,`functions`),i=await prepareSharedAshServerFunction(n);i!==null&&(t.servicePrefix!==void 0&&await applyAshServiceRoutePrefixWrapper(i,t.servicePrefix),await repointAshFunctionSymlinksInDirectory(n,i)),await pruneNonAshFunctionEntries(n,n),await pruneNonAshVercelRoutes(e,t.servicePrefix)}async function prepareSharedAshServerFunction(e){let n=join(e,`__server.func`),i=join(e,ASH_SHARED_SERVER_FUNCTION_PATH),s;try{s=await realpath(n)}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return null;throw e}let c=`${i}.ash-staging`;return await mkdir(dirname(i),{recursive:!0}),await rm(c,{force:!0,recursive:!0}),await cp(s,c,{dereference:!0,recursive:!0}),await rm(i,{force:!0,recursive:!0}),await rename(c,i),i}async function repointAshFunctionSymlinksInDirectory(e,t,n=e){let a;try{a=await readdir(e,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}await Promise.all(a.map(async a=>{let o=join(e,a.name),s=normalizeVercelOutputPath(relative(n,o));if(a.isSymbolicLink()){a.name.endsWith(`.func`)&&isAshVercelFunctionPath(s)&&await repointFunctionSymlink(o,t);return}a.isDirectory()&&!a.name.endsWith(`.func`)&&await repointAshFunctionSymlinksInDirectory(o,t,n)}))}async function repointFunctionSymlink(e,n){await rm(e,{force:!0,recursive:!0}),await symlink(normalizeVercelOutputPath(relative(dirname(e),n)),e,`dir`)}async function pruneNonAshFunctionEntries(e,t){let n;try{n=await readdir(t,{withFileTypes:!0})}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}await Promise.all(n.map(async n=>{let a=join(t,n.name),o=normalizeVercelOutputPath(relative(e,a));if(n.name.endsWith(`.func`)){isAshVercelFunctionPath(o)||await rm(a,{force:!0,recursive:!0});return}n.isDirectory()&&await pruneNonAshFunctionEntries(e,a)}))}async function pruneNonAshVercelRoutes(e,t){let n=join(e,`config.json`),i;try{i=JSON.parse(await readFile(n,`utf8`))}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return;throw e}!isRecord(i)||!Array.isArray(i.routes)||(i.routes=normalizeAshVercelRoutes(i.routes,t),await writeFile(n,`${JSON.stringify(i,null,2)}\n`))}function normalizeVercelOutputPath(e){return e.replaceAll(`\\`,`/`)}async function emitBundledWorkflowFunctionDirectory(e){await prepareVercelFunctionDirectory(e.targetPath);let n=await emitBundledWorkflowPluginModules({build:buildWithNitroRolldown,pluginPaths:e.pluginPaths??[],targetPath:e.targetPath}),i=join(dirname(e.bundlePath),`__ash_workflow_function_entry.js`),a=getSingleRolldownChunk(await buildWithNitroRolldown({cwd:dirname(e.bundlePath),input:i,platform:`node`,plugins:[createVirtualModulePlugin({id:i,moduleType:`js`,source:createWorkflowFunctionEntrypointSource({bundlePath:e.bundlePath,pluginModulePaths:n})})],write:!1,output:{codeSplitting:!1,comments:!1,format:`cjs`,sourcemap:!1}}),`Vercel workflow function for "${e.bundlePath}"`);await Promise.all([writeFile(join(e.targetPath,`index.js`),a.code),writeFile(join(e.targetPath,`package.json`),`${JSON.stringify({type:`commonjs`},null,2)}\n`),writeFile(join(e.targetPath,`.vc-config.json`),`${JSON.stringify({environment:createWorkflowFunctionEnvironment(),handler:`index.js`,launcherType:`Nodejs`,supportsResponseStreaming:!0},null,2)}\n`)])}async function emitBundledWorkflowPluginModules(e){return await Promise.all(e.pluginPaths.map(async(t,n)=>{let i=getSingleRolldownChunk(await e.build({input:t,platform:`node`,write:!1,output:{codeSplitting:!1,comments:!1,format:`esm`,sourcemap:!1}}),`workflow plugin for "${t}"`),a=`__ash_workflow_plugin_${n}.mjs`;return await writeFile(join(e.targetPath,a),i.code),`./${a}`}))}function createVirtualModulePlugin(e){return{name:`ash-virtual-module`,resolveId(t){return t===e.id?e.id:void 0},load(t){return t===e.id?{code:e.source,moduleType:e.moduleType}:void 0}}}function toRelativeImportPath(e){let t=relative(e.fromDirectoryPath,e.toFilePath).replaceAll(`\\`,`/`);return t.startsWith(`.`)?t:`./${t}`}function normalizeImportSpecifierPath(e){return e.replaceAll(`\\`,`/`)}function createWorkflowFunctionEntrypointSource(t){let n=t.pluginModulePaths.map(e=>normalizeImportSpecifierPath(e)),r=n.length>0;return[`const { POST } = require(${JSON.stringify(`./${basename(t.bundlePath)}`)});`,...r?[`const workflowPluginModulePaths = ${JSON.stringify(n)};`,``,`let workflowPluginPromise;`,``,`async function loadWorkflowPlugins() {`,` if (workflowPluginPromise == null) {`,` workflowPluginPromise = (async () => {`,` for (const pluginPath of workflowPluginModulePaths) {`,` await import(pluginPath);`,` }`,` })();`,` }`,` return await workflowPluginPromise;`,`}`]:[],``,`const DEFAULT_WORKFLOW_REQUEST_ORIGIN = "https://workflow.invalid";`,``,`function getHeader(headers, name) {`,` if (headers === null || headers === undefined) {`,` return undefined;`,` }`,` if (typeof headers.get === "function") {`,` const value = headers.get(name);`,` return typeof value === "string" && value.length > 0 ? value : undefined;`,` }`,` if (typeof headers !== "object") {`,` return undefined;`,` }`,` const record = headers;`,` const lowerName = name.toLowerCase();`,` for (const [key, value] of Object.entries(record)) {`,` if (key.toLowerCase() !== lowerName || value === undefined) {`,` continue;`,` }`,` if (Array.isArray(value)) {`,` return value.find((item) => typeof item === "string" && item.length > 0);`,` }`,` return typeof value === "string" && value.length > 0 ? value : undefined;`,` }`,` return undefined;`,`}`,``,`function createHeaders(headers) {`,` const normalized = new Headers();`,` if (headers === null || headers === undefined) {`,` return normalized;`,` }`,` if (headers instanceof Headers) {`,` return headers;`,` }`,` if (typeof headers.forEach === "function" && typeof headers.entries === "function") {`,` for (const [key, value] of headers.entries()) {`,` normalized.append(key, value);`,` }`,` return normalized;`,` }`,` for (const [key, value] of Object.entries(headers)) {`,` if (value === undefined) {`,` continue;`,` }`,` if (Array.isArray(value)) {`,` for (const item of value) {`,` normalized.append(key, String(item));`,` }`,` continue;`,` }`,` normalized.set(key, String(value));`,` }`,` return normalized;`,`}`,``,`function toAbsoluteWorkflowUrl(request) {`,` const url = typeof request?.url === "string" ? request.url : "/";`,` if (/^https?:\\/\\//.test(url)) {`,` return url;`,` }`,` const host = getHeader(request?.headers, "x-forwarded-host") ?? getHeader(request?.headers, "host");`,` const protocolHeader = getHeader(request?.headers, "x-forwarded-proto");`,` const protocol = protocolHeader === "http" || protocolHeader === "https" ? protocolHeader : "https";`,` const origin = typeof host === "string" && host.length > 0 ? protocol + "://" + host : DEFAULT_WORKFLOW_REQUEST_ORIGIN;`,` return new URL(url, origin).toString();`,`}`,``,`function normalizeWorkflowRequest(request) {`,` if (request instanceof Request) {`,` if (/^https?:\\/\\//.test(request.url)) {`,` return request;`,` }`,` return new Request(toAbsoluteWorkflowUrl(request), request);`,` }`,` const method = typeof request?.method === "string" ? request.method : "GET";`,` const headers = createHeaders(request?.headers);`,` const init = {`,` headers,`,` method,`,` };`,` if (method !== "GET" && method !== "HEAD") {`,` const body = request?.body ?? (request !== null && typeof request === "object" && typeof request.pipe === "function" ? request : undefined);`,` if (body !== undefined) {`,` init.body = body;`,` init.duplex = "half";`,` }`,` }`,` return new Request(toAbsoluteWorkflowUrl(request), init);`,`}`,``,`module.exports = async function handleWorkflowFunctionRequest(requestContext) {`,` const request =`,` requestContext !== null && typeof requestContext === "object" && "req" in requestContext`,` ? requestContext.req`,` : requestContext;`,...r?[` await loadWorkflowPlugins();`]:[],` return await POST(normalizeWorkflowRequest(request));`,`};`,``].join(`
2
2
  `)}function createRoutedNitroEntrypoint(e){return[`import nitroHandler from ${JSON.stringify(e.delegateImportPath)};`,``,`function invokeNitroHandler(request, context) {`,` if (typeof nitroHandler === "function") {`,` return nitroHandler(request, context);`,` }`,``,` if (nitroHandler !== null && typeof nitroHandler === "object" && "fetch" in nitroHandler) {`,` const fetch = nitroHandler.fetch;`,` if (typeof fetch === "function") {`,` return fetch.call(nitroHandler, request, context);`,` }`,` }`,``,` throw new TypeError("Expected Nitro handler to export a function or an object with fetch(request, context).");`,`}`,``,`const workflowRoutePath = ${JSON.stringify(e.workflowRoutePath)};`,``,`function rewriteRequestToWorkflowRoute(request) {`,` const sourceUrl = new URL(request.url);`,` const routedUrl = new URL(workflowRoutePath, sourceUrl);`,` routedUrl.search = sourceUrl.search;`,` return new Request(routedUrl, request);`,`}`,``,`export default {`,` fetch(request, context) {`,` return invokeNitroHandler(rewriteRequestToWorkflowRoute(request), context);`,` },`,`};`,``].join(`
3
3
  `)}async function readVercelHandlerPath(e){try{let t=JSON.parse(await readFile(join(e,`.vc-config.json`),`utf8`));if(typeof t.handler==`string`&&t.handler.length>0)return t.handler}catch{}return`index.mjs`}async function retargetNitroFunctionDirectoryToWorkflowRoute(e){let i=await readVercelHandlerPath(e.functionDirectoryPath),a=join(e.functionDirectoryPath,i),o=dirname(a),s=extname(i),c=join(o,`__ash_nitro_handler__${s.length>0?s:`.mjs`}`),l=toRelativeImportPath({fromDirectoryPath:o,toFilePath:c});await rename(a,c),await writeFile(a,createRoutedNitroEntrypoint({delegateImportPath:l,workflowRoutePath:e.workflowRoutePath}))}export{WORKFLOW_BUILDER_DEFERRED_PACKAGES,WORKFLOW_STEP_EXTERNAL_PACKAGES,copyNitroFunctionDirectory,createWorkflowFunctionEnvironment,emitBundledWorkflowFunctionDirectory,normalizeAshVercelFunctionOutput,prepareVercelFunctionDirectory,retargetNitroFunctionDirectoryToWorkflowRoute};
@@ -1 +1 @@
1
- import{transformWorkflowDirectives}from"./workflow-transformer.js";import{dirname,isAbsolute,join,relative,resolve,sep}from"node:path";import{readFile}from"node:fs/promises";import{existsSync,readFileSync}from"node:fs";import{STABLE_WORKFLOW_NAMES}from"#execution/workflow-runtime.js";var WORKFLOW_QUEUE_TRIGGER={type:`queue/v2beta`,topic:`__wkf_workflow_*`,consumer:`default`,retryAfterSeconds:5,initialDelaySeconds:0},packageJsonCache=new Map,projectDepsCache=new Map;async function applyWorkflowTransform(t,i,a,o,s,c=STABLE_WORKFLOW_NAMES){let l=s??process.cwd(),{moduleSpecifier:u,stableModuleSpecifier:d}=resolveModuleSpecifier(o===void 0?isAbsolute(t)?t:join(l,t):o,l);return transformWorkflowDirectives({filename:t,mode:a,moduleSpecifier:u,source:i,stableModuleSpecifier:d,stableWorkflowNames:c})}function detectWorkflowPatterns(e){return{hasSerde:e.includes(`workflow.serde`)||e.includes(`@serde`)||e.includes(`workflowSerde`)||e.includes(`__workflow_serde`),hasUseStep:/["']use step["']/.test(e),hasUseWorkflow:/["']use workflow["']/.test(e)}}function getImportPath(e,t){let n=isInNodeModules(e),r=!n&&isWorkspacePackage(e,t);if(n||r){let n=findPackageJson(e);if(n!==null){let i=getProjectDependencies(t).has(n.name);if(!(r||i))return{importPath:toRelativeImportPath(e,t),isPackage:!1};let a=resolveExportSubpath(e,n);return a?{importPath:`${n.name}${a}`,isPackage:!0}:isRootEntrypointFile(e,n)?{importPath:n.name,isPackage:!0}:{importPath:toRelativeImportPath(e,t),isPackage:!1}}}return{importPath:toRelativeImportPath(e,t),isPackage:!1}}function resolveModuleSpecifier(e,t){let n=isInNodeModules(e),r=!n&&isWorkspacePackage(e,t);if(!n&&!r)return{moduleSpecifier:void 0,stableModuleSpecifier:void 0};let i=findPackageJson(e);if(i===null)return{moduleSpecifier:void 0,stableModuleSpecifier:void 0};let a=resolveExportSubpath(e,i),o=a?`${i.name}${a}`:i.name;return{moduleSpecifier:`${o}@${i.version}`,stableModuleSpecifier:o}}function findPackageJson(e){let n=dirname(e),i=[];for(;n!==dirname(n);){let e=packageJsonCache.get(n);if(e!==void 0){for(let t of i)packageJsonCache.set(t,e);return e}i.push(n);let a=join(n,`package.json`);if(existsSync(a))try{let e=JSON.parse(readFileSync(a,`utf8`));if(typeof e.name==`string`&&typeof e.version==`string`){let t={dir:n,exports:e.exports,main:e.main,module:e.module,name:e.name,version:e.version};packageJsonCache.set(n,t);for(let e of i)packageJsonCache.set(e,t);return t}}catch{}n=dirname(n)}for(let e of i)packageJsonCache.set(e,null);return null}function resolveExportSubpath(e,t){if(t.exports===null||typeof t.exports!=`object`||Array.isArray(t.exports))return``;let n=e.replace(/\\/g,`/`),r=t.dir.replace(/\\/g,`/`),i=n.startsWith(`${r}/`)?`./${n.substring(r.length+1)}`:null;if(i===null)return``;for(let[e,n]of Object.entries(t.exports)){let t=resolveExportTarget(n);if(t!==null&&normalizeExportPath(t)===i)return e===`.`?``:e.substring(1)}return``}function resolveExportTarget(e){if(typeof e==`string`)return e;if(Array.isArray(e)){for(let t of e){let e=resolveExportTarget(t);if(e!==null)return e}return null}if(typeof e==`object`&&e)for(let t of[`workflow`,`default`,`require`,`import`,`node`]){let n=e[t],r=resolveExportTarget(n);if(r!==null)return r}return null}function normalizeExportPath(e){return e.startsWith(`./`)?e:`./${e}`}function isInNodeModules(e){return e.split(sep).join(`/`).includes(`/node_modules/`)}function getProjectDependencies(e){let t=projectDepsCache.get(e);if(t!==void 0)return t;let n=new Set,i=join(e,`package.json`);if(existsSync(i))try{let e=JSON.parse(readFileSync(i,`utf8`));for(let t of[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`]){let r=e[t];if(typeof r==`object`&&r&&!Array.isArray(r))for(let e of Object.keys(r))n.add(e)}}catch{}return projectDepsCache.set(e,n),n}function isWorkspacePackage(e,t){if(isInNodeModules(e))return!1;let n=findPackageJson(e);return n===null||resolve(n.dir)===resolve(t)?!1:getProjectDependencies(t).has(n.name)}function toRelativeImportPath(e,t){let n=t.replace(/\\/g,`/`),r=e.replace(/\\/g,`/`),a=r.startsWith(`${n}/`)?r.substring(n.length+1):relative(t,e).replace(/\\/g,`/`);return a.startsWith(`.`)||(a=`./${a}`),a}function hasRootExport(e){if(typeof e==`string`||Array.isArray(e))return!0;if(typeof e!=`object`||!e)return!1;let t=Object.keys(e);return t.length>0&&t.every(e=>!e.startsWith(`.`))?!0:`.`in e}function normalizePackageTargetPath(e){let t=e.replace(/\\/g,`/`);return t.startsWith(`./`)?t.substring(2):t.startsWith(`/`)?t.substring(1):t}function isRootEntrypointFile(e,t){let n=e.replace(/\\/g,`/`),r=t.dir.replace(/\\/g,`/`);if(!n.startsWith(`${r}/`))return!1;let i=n.substring(r.length+1);if(t.exports!==void 0){let e;if(t.exports!==null&&typeof t.exports==`object`&&`.`in t.exports)e=t.exports[`.`];else if(hasRootExport(t.exports))e=t.exports;else return!1;let n=resolveExportTarget(e);return n!==null&&normalizePackageTargetPath(n)===i}return[t.module,t.main,`index.js`,`index.mjs`,`index.cjs`,`index.ts`,`index.mts`,`index.cts`].flatMap(e=>typeof e==`string`?[normalizePackageTargetPath(e)]:[]).includes(i)}async function readSourceFile(e){return await readFile(e,`utf8`)}export{WORKFLOW_QUEUE_TRIGGER,applyWorkflowTransform,detectWorkflowPatterns,getImportPath,readSourceFile};
1
+ import{transformWorkflowDirectives}from"./workflow-transformer.js";import{dirname,isAbsolute,join,relative,resolve,sep}from"node:path";import{readFile}from"node:fs/promises";import{existsSync,readFileSync}from"node:fs";import{STABLE_WORKFLOW_NAMES}from"#execution/workflow-runtime.js";const WORKFLOW_QUEUE_TRIGGER={type:`queue/v2beta`,topic:`__wkf_workflow_*`,consumer:`default`,retryAfterSeconds:5,initialDelaySeconds:0},packageJsonCache=new Map,projectDepsCache=new Map;async function applyWorkflowTransform(t,i,a,o,s,c=STABLE_WORKFLOW_NAMES){let l=s??process.cwd(),{moduleSpecifier:u,stableModuleSpecifier:d}=resolveModuleSpecifier(o===void 0?isAbsolute(t)?t:join(l,t):o,l);return transformWorkflowDirectives({filename:t,mode:a,moduleSpecifier:u,source:i,stableModuleSpecifier:d,stableWorkflowNames:c})}function detectWorkflowPatterns(e){return{hasSerde:e.includes(`workflow.serde`)||e.includes(`@serde`)||e.includes(`workflowSerde`)||e.includes(`__workflow_serde`),hasUseStep:/["']use step["']/.test(e),hasUseWorkflow:/["']use workflow["']/.test(e)}}function getImportPath(e,t){let n=isInNodeModules(e),r=!n&&isWorkspacePackage(e,t);if(n||r){let n=findPackageJson(e);if(n!==null){let i=getProjectDependencies(t).has(n.name);if(!(r||i))return{importPath:toRelativeImportPath(e,t),isPackage:!1};let a=resolveExportSubpath(e,n);return a?{importPath:`${n.name}${a}`,isPackage:!0}:isRootEntrypointFile(e,n)?{importPath:n.name,isPackage:!0}:{importPath:toRelativeImportPath(e,t),isPackage:!1}}}return{importPath:toRelativeImportPath(e,t),isPackage:!1}}function resolveModuleSpecifier(e,t){let n=isInNodeModules(e),r=!n&&isWorkspacePackage(e,t);if(!n&&!r)return{moduleSpecifier:void 0,stableModuleSpecifier:void 0};let i=findPackageJson(e);if(i===null)return{moduleSpecifier:void 0,stableModuleSpecifier:void 0};let a=resolveExportSubpath(e,i),o=a?`${i.name}${a}`:i.name;return{moduleSpecifier:`${o}@${i.version}`,stableModuleSpecifier:o}}function findPackageJson(e){let n=dirname(e),i=[];for(;n!==dirname(n);){let e=packageJsonCache.get(n);if(e!==void 0){for(let t of i)packageJsonCache.set(t,e);return e}i.push(n);let a=join(n,`package.json`);if(existsSync(a))try{let e=JSON.parse(readFileSync(a,`utf8`));if(typeof e.name==`string`&&typeof e.version==`string`){let t={dir:n,exports:e.exports,main:e.main,module:e.module,name:e.name,version:e.version};packageJsonCache.set(n,t);for(let e of i)packageJsonCache.set(e,t);return t}}catch{}n=dirname(n)}for(let e of i)packageJsonCache.set(e,null);return null}function resolveExportSubpath(e,t){if(t.exports===null||typeof t.exports!=`object`||Array.isArray(t.exports))return``;let n=e.replace(/\\/g,`/`),r=t.dir.replace(/\\/g,`/`),i=n.startsWith(`${r}/`)?`./${n.substring(r.length+1)}`:null;if(i===null)return``;for(let[e,n]of Object.entries(t.exports)){let t=resolveExportTarget(n);if(t!==null&&normalizeExportPath(t)===i)return e===`.`?``:e.substring(1)}return``}function resolveExportTarget(e){if(typeof e==`string`)return e;if(Array.isArray(e)){for(let t of e){let e=resolveExportTarget(t);if(e!==null)return e}return null}if(typeof e==`object`&&e)for(let t of[`workflow`,`default`,`require`,`import`,`node`]){let n=e[t],r=resolveExportTarget(n);if(r!==null)return r}return null}function normalizeExportPath(e){return e.startsWith(`./`)?e:`./${e}`}function isInNodeModules(e){return e.split(sep).join(`/`).includes(`/node_modules/`)}function getProjectDependencies(e){let t=projectDepsCache.get(e);if(t!==void 0)return t;let n=new Set,i=join(e,`package.json`);if(existsSync(i))try{let e=JSON.parse(readFileSync(i,`utf8`));for(let t of[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`]){let r=e[t];if(typeof r==`object`&&r&&!Array.isArray(r))for(let e of Object.keys(r))n.add(e)}}catch{}return projectDepsCache.set(e,n),n}function isWorkspacePackage(e,t){if(isInNodeModules(e))return!1;let n=findPackageJson(e);return n===null||resolve(n.dir)===resolve(t)?!1:getProjectDependencies(t).has(n.name)}function toRelativeImportPath(e,t){let n=t.replace(/\\/g,`/`),r=e.replace(/\\/g,`/`),a=r.startsWith(`${n}/`)?r.substring(n.length+1):relative(t,e).replace(/\\/g,`/`);return a.startsWith(`.`)||(a=`./${a}`),a}function hasRootExport(e){if(typeof e==`string`||Array.isArray(e))return!0;if(typeof e!=`object`||!e)return!1;let t=Object.keys(e);return t.length>0&&t.every(e=>!e.startsWith(`.`))?!0:`.`in e}function normalizePackageTargetPath(e){let t=e.replace(/\\/g,`/`);return t.startsWith(`./`)?t.substring(2):t.startsWith(`/`)?t.substring(1):t}function isRootEntrypointFile(e,t){let n=e.replace(/\\/g,`/`),r=t.dir.replace(/\\/g,`/`);if(!n.startsWith(`${r}/`))return!1;let i=n.substring(r.length+1);if(t.exports!==void 0){let e;if(t.exports!==null&&typeof t.exports==`object`&&`.`in t.exports)e=t.exports[`.`];else if(hasRootExport(t.exports))e=t.exports;else return!1;let n=resolveExportTarget(e);return n!==null&&normalizePackageTargetPath(n)===i}return[t.module,t.main,`index.js`,`index.mjs`,`index.cjs`,`index.ts`,`index.mts`,`index.cts`].flatMap(e=>typeof e==`string`?[normalizePackageTargetPath(e)]:[]).includes(i)}async function readSourceFile(e){return await readFile(e,`utf8`)}export{WORKFLOW_QUEUE_TRIGGER,applyWorkflowTransform,detectWorkflowPatterns,getImportPath,readSourceFile};
@@ -1 +1 @@
1
- var WORKFLOW_CONTEXT_SYMBOL=Symbol.for(`WORKFLOW_CONTEXT`),WORKFLOW_CREATE_HOOK=Symbol.for(`WORKFLOW_CREATE_HOOK`),WORKFLOW_GET_STREAM_ID=Symbol.for(`WORKFLOW_GET_STREAM_ID`),STREAM_NAME_SYMBOL=Symbol.for(`WORKFLOW_STREAM_NAME`),workflowGlobal=globalThis,RetryableError=class extends Error{},FatalError=class extends Error{};function createHook(e){let n=workflowGlobal[WORKFLOW_CREATE_HOOK];if(n===void 0)throw Error("`createHook()` can only be called inside a workflow function");return n(e)}function getWorkflowMetadata(){let t=workflowGlobal[WORKFLOW_CONTEXT_SYMBOL];if(t===void 0)throw Error("`getWorkflowMetadata()` can only be called inside a workflow or step function");return t}function getWritable(e={}){let t=workflowGlobal[WORKFLOW_GET_STREAM_ID];if(t===void 0)throw Error("`getWritable()` can only be called inside a workflow function");let r=t(e.namespace);return Object.create(globalThis.WritableStream.prototype,{[STREAM_NAME_SYMBOL]:{value:r,writable:!1}})}function createWebhook(e){let t=createHook(e),n=getWorkflowMetadata();return t.url=`${typeof n.url==`string`?n.url:``}/.well-known/workflow/v1/webhook/${encodeURIComponent(t.token)}`,t}function defineHook(){return{create:createHook,resume(){throw Error("`defineHook().resume()` can only be called from external contexts.")}}}function sleep(){throw Error("`sleep()` is not available in Ash workflow body bundles")}function resumeHook(){throw Error("`resumeHook()` can only be called from outside a workflow function")}function getStepMetadata(){throw Error("`getStepMetadata()` can only be called inside a step function")}export{FatalError,RetryableError,createHook,createWebhook,defineHook,getStepMetadata,getWorkflowMetadata,getWritable,resumeHook,sleep};
1
+ const WORKFLOW_CONTEXT_SYMBOL=Symbol.for(`WORKFLOW_CONTEXT`),WORKFLOW_CREATE_HOOK=Symbol.for(`WORKFLOW_CREATE_HOOK`),WORKFLOW_GET_STREAM_ID=Symbol.for(`WORKFLOW_GET_STREAM_ID`),STREAM_NAME_SYMBOL=Symbol.for(`WORKFLOW_STREAM_NAME`),workflowGlobal=globalThis;var RetryableError=class extends Error{},FatalError=class extends Error{};function createHook(e){let n=workflowGlobal[WORKFLOW_CREATE_HOOK];if(n===void 0)throw Error("`createHook()` can only be called inside a workflow function");return n(e)}function getWorkflowMetadata(){let t=workflowGlobal[WORKFLOW_CONTEXT_SYMBOL];if(t===void 0)throw Error("`getWorkflowMetadata()` can only be called inside a workflow or step function");return t}function getWritable(e={}){let t=workflowGlobal[WORKFLOW_GET_STREAM_ID];if(t===void 0)throw Error("`getWritable()` can only be called inside a workflow function");let r=t(e.namespace);return Object.create(globalThis.WritableStream.prototype,{[STREAM_NAME_SYMBOL]:{value:r,writable:!1}})}function createWebhook(e){let t=createHook(e),n=getWorkflowMetadata();return t.url=`${typeof n.url==`string`?n.url:``}/.well-known/workflow/v1/webhook/${encodeURIComponent(t.token)}`,t}function defineHook(){return{create:createHook,resume(){throw Error("`defineHook().resume()` can only be called from external contexts.")}}}function sleep(){throw Error("`sleep()` is not available in Ash workflow body bundles")}function resumeHook(){throw Error("`resumeHook()` can only be called from outside a workflow function")}function getStepMetadata(){throw Error("`getStepMetadata()` can only be called inside a step function")}export{FatalError,RetryableError,createHook,createWebhook,defineHook,getStepMetadata,getWorkflowMetadata,getWritable,resumeHook,sleep};
@@ -1,4 +1,4 @@
1
- import{loadNitroRolldownParseAst}from"#internal/bundler/nitro-rolldown.js";var BUILTIN_STEP_NAMES=new Set([`__builtin_response_array_buffer`,`__builtin_response_json`,`__builtin_response_text`]);async function transformWorkflowDirectives(e){if(e.mode===!1)return{code:e.source,workflowManifest:{}};let t=await parseWorkflowSource(e.filename,e.source),n=findDirectiveFunctions(t);if(n.length===0)return{code:e.source,workflowManifest:{}};let r=e.moduleSpecifier??`./${stripJavaScriptExtension(e.filename)}`,i=e.stableModuleSpecifier??r,a={},o=[],s=[],c=!1;for(let t of n){if(t.directive===`use step`){let n=createStepId(r,t.name);a.steps??={};let i=a.steps[e.filename]??={};if(i[t.name]={stepId:n},e.mode===`workflow`){let e=t.exportPrefix.length>0?`export `:``;o.push({end:t.rangeEnd,start:t.rangeStart,text:`${e}var ${t.name} = globalThis[Symbol.for("WORKFLOW_USE_STEP")](${JSON.stringify(n)});`})}else o.push({end:t.directiveEnd,start:t.directiveStart,text:``}),e.mode===`step`?(c=!0,s.push(`registerStepFunction(${JSON.stringify(n)}, ${t.name});`)):s.push(`${t.name}.stepId = ${JSON.stringify(n)};`);continue}let n=`workflow//${e.stableWorkflowNames?.has(t.name)===!0?i:r}//${t.name}`;a.workflows??={};let l=a.workflows[e.filename]??={};l[t.name]={workflowId:n},e.mode===`workflow`?(o.push({end:t.directiveEnd,start:t.directiveStart,text:``}),s.push(`${t.name}.workflowId = ${JSON.stringify(n)};`),s.push(`globalThis.__private_workflows.set(${JSON.stringify(n)}, ${t.name});`)):(o.push({end:t.directiveEnd,start:t.directiveStart,text:`throw new Error(${JSON.stringify(`You attempted to execute workflow ${t.name} function directly. To start a workflow, use start(${t.name}) from workflow/api`)});`}),s.push(`${t.name}.workflowId = ${JSON.stringify(n)};`))}let l=`/**__internal_workflows${JSON.stringify(a)}*/;`,u=n.some(e=>e.directive===`use workflow`);if(e.mode===`workflow`&&!u)return{code:`${l}\n${createWorkflowStepProxySource(e.source,t,n,r)}`,workflowManifest:a};let d=applySourceReplacements(e.source,o),f=e.mode===`workflow`?await stripUnusedValueImports(e.filename,d):d;return{code:`${c?`import { registerStepFunction } from "workflow/internal/private";\n${l}\n`:`${l}\n`}${f}${s.length>0?`\n${s.join(`
1
+ import{loadNitroRolldownParseAst}from"#internal/bundler/nitro-rolldown.js";const BUILTIN_STEP_NAMES=new Set([`__builtin_response_array_buffer`,`__builtin_response_json`,`__builtin_response_text`]);async function transformWorkflowDirectives(e){if(e.mode===!1)return{code:e.source,workflowManifest:{}};let t=await parseWorkflowSource(e.filename,e.source),n=findDirectiveFunctions(t);if(n.length===0)return{code:e.source,workflowManifest:{}};let r=e.moduleSpecifier??`./${stripJavaScriptExtension(e.filename)}`,i=e.stableModuleSpecifier??r,a={},o=[],s=[],c=!1;for(let t of n){if(t.directive===`use step`){let n=createStepId(r,t.name);a.steps??={};let i=a.steps[e.filename]??={};if(i[t.name]={stepId:n},e.mode===`workflow`){let e=t.exportPrefix.length>0?`export `:``;o.push({end:t.rangeEnd,start:t.rangeStart,text:`${e}var ${t.name} = globalThis[Symbol.for("WORKFLOW_USE_STEP")](${JSON.stringify(n)});`})}else o.push({end:t.directiveEnd,start:t.directiveStart,text:``}),e.mode===`step`?(c=!0,s.push(`registerStepFunction(${JSON.stringify(n)}, ${t.name});`)):s.push(`${t.name}.stepId = ${JSON.stringify(n)};`);continue}let n=`workflow//${e.stableWorkflowNames?.has(t.name)===!0?i:r}//${t.name}`;a.workflows??={};let l=a.workflows[e.filename]??={};l[t.name]={workflowId:n},e.mode===`workflow`?(o.push({end:t.directiveEnd,start:t.directiveStart,text:``}),s.push(`${t.name}.workflowId = ${JSON.stringify(n)};`),s.push(`globalThis.__private_workflows.set(${JSON.stringify(n)}, ${t.name});`)):(o.push({end:t.directiveEnd,start:t.directiveStart,text:`throw new Error(${JSON.stringify(`You attempted to execute workflow ${t.name} function directly. To start a workflow, use start(${t.name}) from workflow/api`)});`}),s.push(`${t.name}.workflowId = ${JSON.stringify(n)};`))}let l=`/**__internal_workflows${JSON.stringify(a)}*/;`,u=n.some(e=>e.directive===`use workflow`);if(e.mode===`workflow`&&!u)return{code:`${l}\n${createWorkflowStepProxySource(e.source,t,n,r)}`,workflowManifest:a};let d=applySourceReplacements(e.source,o),f=e.mode===`workflow`?await stripUnusedValueImports(e.filename,d):d;return{code:`${c?`import { registerStepFunction } from "workflow/internal/private";\n${l}\n`:`${l}\n`}${f}${s.length>0?`\n${s.join(`
2
2
  `)}\n`:``}`,workflowManifest:a}}async function parseWorkflowSource(t,n){let{parseAst:r}=await loadNitroRolldownParseAst();return r(n,{astType:`ts`,lang:inferParserLanguage(t),range:!0,sourceType:`module`},t)}function createWorkflowStepProxySource(e,t,n,r){let i=findExportedLiteralValueDeclarations(e,t),a=n.filter(e=>e.directive===`use step`).map(e=>{let t=e.exported?`export `:``,n=createStepId(r,e.name);return`${t}var ${e.name} = globalThis[Symbol.for("WORKFLOW_USE_STEP")](${JSON.stringify(n)});`}),o=[...i,...a];return o.length>0?`${o.join(`
3
3
  `)}\n`:``}function findDirectiveFunctions(e){let t=[],n=collectLocalNamesReExportedAtModuleLevel(e);for(let r of e.body??[]){let e=readTopLevelFunctionDeclaration(r);if(e===null)continue;let i=e.fn,a=i.id?.name,o=readBlockStatements(i.body);if(i.async!==!0||a===void 0||o===void 0)continue;let s=readFunctionDirective(o[0]);s!==null&&t.push({directive:s.value,directiveEnd:s.end,directiveStart:s.start,exportPrefix:e.exported?`export `:``,exported:e.exported||n.has(a),name:a,rangeEnd:e.end,rangeStart:e.start})}return t}function collectLocalNamesReExportedAtModuleLevel(e){let t=new Set;for(let n of e.body??[])if(n.type===`ExportNamedDeclaration`&&!(n.source!==void 0&&n.source!==null)&&!(n.declaration!==void 0&&n.declaration!==null))for(let e of n.specifiers??[]){let n=e.local?.name;n!==void 0&&t.add(n)}return t}function readTopLevelFunctionDeclaration(e){return e.type===`FunctionDeclaration`?readFunctionDeclarationRange(e,!1,e):e.type!==`ExportNamedDeclaration`||e.declaration?.type!==`FunctionDeclaration`?null:readFunctionDeclarationRange(e.declaration,!0,e)}function readFunctionDeclarationRange(e,t,n){return e.start===void 0||e.end===void 0||n.start===void 0||n.end===void 0?null:{end:n.end,exported:t,fn:e,start:n.start}}function readBlockStatements(e){return e===void 0||Array.isArray(e)?e:e.body}function readFunctionDirective(e){let t=e?.directive??(e?.type===`ExpressionStatement`&&e.expression?.type===`Literal`?e.expression.value:void 0);return t!==`use workflow`&&t!==`use step`||e?.start===void 0||e.end===void 0?null:{end:e.end,start:e.start,value:t}}function applySourceReplacements(e,t){let n=``,r=0;for(let i of[...t].sort((e,t)=>e.start-t.start))n+=e.slice(r,i.start),n+=i.text,r=i.end;return n+e.slice(r)}async function stripUnusedValueImports(e,t){let n=await parseWorkflowSource(e,t),r=collectReferencedIdentifiers(n),i=[];for(let e of n.body??[]){if(e.type!==`ImportDeclaration`||e.start===void 0||e.end===void 0)continue;let n=readValueImportBindings(e);n.length>0&&n.every(e=>!r.has(e))&&i.push({end:extendRemovalEnd(t,e.end),start:e.start,text:``})}return i.length>0?applySourceReplacements(t,i):t}function findExportedLiteralValueDeclarations(e,t){let n=[],r=collectLocalReExportAliases(t);for(let i of t.body??[]){if(i.type===`ExportNamedDeclaration`&&i.declaration?.type===`VariableDeclaration`&&i.declaration.kind===`const`&&i.start!==void 0&&i.end!==void 0&&(i.declaration.declarations??[]).every(isLiteralValueDeclarator)){n.push(e.slice(i.start,i.end).trim());continue}if(i.type===`VariableDeclaration`&&(i.kind===`const`||i.kind===`var`||i.kind===`let`))for(let t of i.declarations??[]){if(!isLiteralValueDeclarator(t)||t.start===void 0||t.end===void 0)continue;let a=t.id?.name;if(a===void 0)continue;let o=r.get(a);if(o===void 0||o.length===0)continue;let s=e.slice(t.start,t.end).trim(),c=o.map(e=>e===a?a:`${a} as ${e}`);n.push(`${i.kind} ${s};\nexport { ${c.join(`, `)} };`)}}return n}function collectLocalReExportAliases(e){let t=new Map;for(let n of e.body??[])if(n.type===`ExportNamedDeclaration`&&!(n.source!==void 0&&n.source!==null)&&!(n.declaration!==void 0&&n.declaration!==null))for(let e of n.specifiers??[]){let n=e.local?.name,r=e.exported?.name??n;if(n!==void 0&&r!==void 0){let e=t.get(n)??[];e.push(r),t.set(n,e)}}return t}function isLiteralValueDeclarator(e){return isLiteralValueExpression(e.init)}function isLiteralValueExpression(e){return e==null?!1:e.type===`Literal`?e.value===null||typeof e.value==`boolean`||typeof e.value==`number`||typeof e.value==`string`:e.type===`TemplateLiteral`&&(e.expressions??[]).length===0?!0:e.type===`TSAsExpression`||e.type===`TSSatisfiesExpression`||e.type===`TSNonNullExpression`||e.type===`TSTypeAssertion`?isLiteralValueExpression(e.expression):e.type===`UnaryExpression`&&e.argument?.type===`Literal`?typeof e.argument.value==`number`:!1}function readValueImportBindings(e){return e.importKind===`type`?[]:(e.specifiers??[]).filter(e=>e.importKind!==`type`).map(e=>e.local?.name).filter(e=>e!==void 0)}function collectReferencedIdentifiers(e){let t=new Set;return visitAstNode(e,e=>{e.type===`Identifier`&&typeof e.name==`string`&&t.add(e.name)}),t}function visitAstNode(e,t){if(!(e.type===`ImportDeclaration`||e.type?.startsWith(`TS`))){t(e);for(let n of Object.values(e))if(Array.isArray(n))for(let e of n)isAstNode(e)&&visitAstNode(e,t);else isAstNode(n)&&visitAstNode(n,t)}}function isAstNode(e){return typeof e==`object`&&!!e&&typeof e.type==`string`}function extendRemovalEnd(e,t){let n=t;for(;n<e.length&&(e[n]===` `||e[n]===` `);)n+=1;return e[n]===`\r`&&e[n+1]===`
4
4
  `?n+2:e[n]===`
@@ -1 +1 @@
1
- import{__commonJSMin}from"../../../../../../_virtual/_rolldown/runtime.js";import{require_codegen}from"./compile/codegen/index.js";import{require_validate}from"./compile/validate/index.js";import{require_validation_error}from"./runtime/validation_error.js";import{require_ref_error}from"./compile/ref_error.js";import{require_core}from"./core.js";import{require_draft7}from"./vocabularies/draft7.js";import{require_discriminator}from"./vocabularies/discriminator/index.js";import{require_json_schema_draft_07}from"./refs/json-schema-draft-07.js";var require_ajv=__commonJSMin(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MissingRefError=e.ValidationError=e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=e.Ajv=void 0;var n=require_core(),r=require_draft7(),i=require_discriminator(),a=require_json_schema_draft_07(),o=[`/properties`],s=`http://json-schema.org/draft-07/schema`,Ajv=class extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(a,o):a;this.addMetaSchema(e,s,!1),this.refs[`http://json-schema.org/schema`]=s}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(s)?s:void 0)}};e.Ajv=Ajv,t.exports=e=Ajv,t.exports.Ajv=Ajv,Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ajv;var c=require_validate();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var l=require_codegen();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var u=require_validation_error();Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return u.default}});var d=require_ref_error();Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return d.default}})}));export default require_ajv();export{require_ajv};
1
+ import{__commonJSMin}from"../../../../../../_virtual/_rolldown/runtime.js";import{require_codegen}from"./compile/codegen/index.js";import{require_validate}from"./compile/validate/index.js";import{require_validation_error}from"./runtime/validation_error.js";import{require_ref_error}from"./compile/ref_error.js";import{require_core}from"./core.js";import{require_draft7}from"./vocabularies/draft7.js";import{require_discriminator}from"./vocabularies/discriminator/index.js";import{require_json_schema_draft_07}from"./refs/json-schema-draft-07.js";var require_ajv=__commonJSMin(((e,t)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.MissingRefError=e.ValidationError=e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=e.Ajv=void 0;let n=require_core(),r=require_draft7(),i=require_discriminator(),a=require_json_schema_draft_07(),o=[`/properties`],s=`http://json-schema.org/draft-07/schema`;var Ajv=class extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(a,o):a;this.addMetaSchema(e,s,!1),this.refs[`http://json-schema.org/schema`]=s}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(s)?s:void 0)}};e.Ajv=Ajv,t.exports=e=Ajv,t.exports.Ajv=Ajv,Object.defineProperty(e,"__esModule",{value:!0}),e.default=Ajv;var c=require_validate();Object.defineProperty(e,"KeywordCxt",{enumerable:!0,get:function(){return c.KeywordCxt}});var l=require_codegen();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return l._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return l.str}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return l.stringify}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return l.nil}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return l.Name}}),Object.defineProperty(e,"CodeGen",{enumerable:!0,get:function(){return l.CodeGen}});var u=require_validation_error();Object.defineProperty(e,"ValidationError",{enumerable:!0,get:function(){return u.default}});var d=require_ref_error();Object.defineProperty(e,"MissingRefError",{enumerable:!0,get:function(){return d.default}})}));export default require_ajv();export{require_ajv};
@@ -1 +1 @@
1
- import{__commonJSMin}from"../../../../../../../../_virtual/_rolldown/runtime.js";var require_code=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;var _CodeOrName=class{};e._CodeOrName=_CodeOrName,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Name=class extends _CodeOrName{constructor(t){if(super(),!e.IDENTIFIER.test(t))throw Error(`CodeGen: name must be a valid identifier`);this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};e.Name=Name;var _Code=class extends _CodeOrName{constructor(e){super(),this._items=typeof e==`string`?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===``||e===`""`}get str(){return this._str??=this._items.reduce((e,t)=>`${e}${t}`,``)}get names(){return this._names??=this._items.reduce((e,t)=>(t instanceof Name&&(e[t.str]=(e[t.str]||0)+1),e),{})}};e._Code=_Code,e.nil=new _Code(``);function _(e,...t){let n=[e[0]],r=0;for(;r<t.length;)addCodeArg(n,t[r]),n.push(e[++r]);return new _Code(n)}e._=_;var t=new _Code(`+`);function str(e,...n){let r=[safeStringify(e[0])],i=0;for(;i<n.length;)r.push(t),addCodeArg(r,n[i]),r.push(t,safeStringify(e[++i]));return optimize(r),new _Code(r)}e.str=str;function addCodeArg(e,t){t instanceof _Code?e.push(...t._items):t instanceof Name?e.push(t):e.push(interpolate(t))}e.addCodeArg=addCodeArg;function optimize(e){let n=1;for(;n<e.length-1;){if(e[n]===t){let t=mergeExprItems(e[n-1],e[n+1]);if(t!==void 0){e.splice(n-1,3,t);continue}e[n++]=`+`}n++}}function mergeExprItems(e,t){if(t===`""`)return e;if(e===`""`)return t;if(typeof e==`string`)return t instanceof Name||e[e.length-1]!==`"`?void 0:typeof t==`string`?t[0]===`"`?e.slice(0,-1)+t.slice(1):void 0:`${e.slice(0,-1)}${t}"`;if(typeof t==`string`&&t[0]===`"`&&!(e instanceof Name))return`"${e}${t.slice(1)}`}function strConcat(e,t){return t.emptyStr()?e:e.emptyStr()?t:str`${e}${t}`}e.strConcat=strConcat;function interpolate(e){return typeof e==`number`||typeof e==`boolean`||e===null?e:safeStringify(Array.isArray(e)?e.join(`,`):e)}function stringify(e){return new _Code(safeStringify(e))}e.stringify=stringify;function safeStringify(e){return JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}e.safeStringify=safeStringify;function getProperty(t){return typeof t==`string`&&e.IDENTIFIER.test(t)?new _Code(`.${t}`):_`[${t}]`}e.getProperty=getProperty;function getEsmExportName(t){if(typeof t==`string`&&e.IDENTIFIER.test(t))return new _Code(`${t}`);throw Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}e.getEsmExportName=getEsmExportName;function regexpCode(e){return new _Code(e.toString())}e.regexpCode=regexpCode}));export default require_code();export{require_code};
1
+ import{__commonJSMin}from"../../../../../../../../_virtual/_rolldown/runtime.js";var require_code=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;var _CodeOrName=class{};e._CodeOrName=_CodeOrName,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var Name=class extends _CodeOrName{constructor(t){if(super(),!e.IDENTIFIER.test(t))throw Error(`CodeGen: name must be a valid identifier`);this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};e.Name=Name;var _Code=class extends _CodeOrName{constructor(e){super(),this._items=typeof e==`string`?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===``||e===`""`}get str(){return this._str??=this._items.reduce((e,t)=>`${e}${t}`,``)}get names(){return this._names??=this._items.reduce((e,t)=>(t instanceof Name&&(e[t.str]=(e[t.str]||0)+1),e),{})}};e._Code=_Code,e.nil=new _Code(``);function _(e,...t){let n=[e[0]],r=0;for(;r<t.length;)addCodeArg(n,t[r]),n.push(e[++r]);return new _Code(n)}e._=_;let t=new _Code(`+`);function str(e,...n){let r=[safeStringify(e[0])],i=0;for(;i<n.length;)r.push(t),addCodeArg(r,n[i]),r.push(t,safeStringify(e[++i]));return optimize(r),new _Code(r)}e.str=str;function addCodeArg(e,t){t instanceof _Code?e.push(...t._items):t instanceof Name?e.push(t):e.push(interpolate(t))}e.addCodeArg=addCodeArg;function optimize(e){let n=1;for(;n<e.length-1;){if(e[n]===t){let t=mergeExprItems(e[n-1],e[n+1]);if(t!==void 0){e.splice(n-1,3,t);continue}e[n++]=`+`}n++}}function mergeExprItems(e,t){if(t===`""`)return e;if(e===`""`)return t;if(typeof e==`string`)return t instanceof Name||e[e.length-1]!==`"`?void 0:typeof t==`string`?t[0]===`"`?e.slice(0,-1)+t.slice(1):void 0:`${e.slice(0,-1)}${t}"`;if(typeof t==`string`&&t[0]===`"`&&!(e instanceof Name))return`"${e}${t.slice(1)}`}function strConcat(e,t){return t.emptyStr()?e:e.emptyStr()?t:str`${e}${t}`}e.strConcat=strConcat;function interpolate(e){return typeof e==`number`||typeof e==`boolean`||e===null?e:safeStringify(Array.isArray(e)?e.join(`,`):e)}function stringify(e){return new _Code(safeStringify(e))}e.stringify=stringify;function safeStringify(e){return JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}e.safeStringify=safeStringify;function getProperty(t){return typeof t==`string`&&e.IDENTIFIER.test(t)?new _Code(`.${t}`):_`[${t}]`}e.getProperty=getProperty;function getEsmExportName(t){if(typeof t==`string`&&e.IDENTIFIER.test(t))return new _Code(`${t}`);throw Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}e.getEsmExportName=getEsmExportName;function regexpCode(e){return new _Code(e.toString())}e.regexpCode=regexpCode}));export default require_code();export{require_code};
@@ -1,2 +1,2 @@
1
- import{__commonJSMin}from"../../../../../../../../_virtual/_rolldown/runtime.js";import{require_code}from"./code.js";import{require_scope}from"./scope.js";var require_codegen=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;var r=require_code(),i=require_scope(),a=require_code();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return a._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return a.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return a.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return a.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return a.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return a.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return a.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return a.Name}});var o=require_scope();Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),e.operators={GT:new r._Code(`>`),GTE:new r._Code(`>=`),LT:new r._Code(`<`),LTE:new r._Code(`<=`),EQ:new r._Code(`===`),NEQ:new r._Code(`!==`),NOT:new r._Code(`!`),OR:new r._Code(`||`),AND:new r._Code(`&&`),ADD:new r._Code(`+`)};var Node=class{optimizeNodes(){return this}optimizeNames(e,t){return this}},Def=class extends Node{constructor(e,t,n){super(),this.varKind=e,this.name=t,this.rhs=n}render({es5:e,_n:t}){let n=e?i.varKinds.var:this.varKind,r=this.rhs===void 0?``:` = ${this.rhs}`;return`${n} ${this.name}${r};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&=optimizeExpr(this.rhs,e,t),this}get names(){return this.rhs instanceof r._CodeOrName?this.rhs.names:{}}},Assign=class extends Node{constructor(e,t,n){super(),this.lhs=e,this.rhs=t,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof r.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=optimizeExpr(this.rhs,e,t),this}get names(){return addExprNames(this.lhs instanceof r.Name?{}:{...this.lhs.names},this.rhs)}},AssignOp=class extends Assign{constructor(e,t,n,r){super(e,n,r),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Label=class extends Node{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Break=class extends Node{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:``};`+e}},Throw=class extends Node{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},AnyCode=class extends Node{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=optimizeExpr(this.code,e,t),this}get names(){return this.code instanceof r._CodeOrName?this.code.names:{}}},ParentNode=class extends Node{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((t,n)=>t+n.render(e),``)}optimizeNodes(){let{nodes:e}=this,t=e.length;for(;t--;){let n=e[t].optimizeNodes();Array.isArray(n)?e.splice(t,1,...n):n?e[t]=n:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){let{nodes:n}=this,r=n.length;for(;r--;){let i=n[r];i.optimizeNames(e,t)||(subtractNames(e,i.names),n.splice(r,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>addNames(e,t.names),{})}},BlockNode=class extends ParentNode{render(e){return`{`+e._n+super.render(e)+`}`+e._n}},Root=class extends ParentNode{},Else=class extends BlockNode{};Else.kind=`else`;var s=class If extends BlockNode{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+=`else `+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let t=this.else;if(t){let e=t.optimizeNodes();t=this.else=Array.isArray(e)?new Else(e):e}if(t)return e===!1?t instanceof If?t:t.nodes:this.nodes.length?this:new If(not(e),t instanceof If?[t]:t.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,t){if(this.else=this.else?.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=optimizeExpr(this.condition,e,t),this}get names(){let e=super.names;return addExprNames(e,this.condition),this.else&&addNames(e,this.else.names),e}};s.kind=`if`;var For=class extends BlockNode{};For.kind=`for`;var ForLoop=class extends For{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=optimizeExpr(this.iteration,e,t),this}get names(){return addNames(super.names,this.iteration.names)}},ForRange=class extends For{constructor(e,t,n,r){super(),this.varKind=e,this.name=t,this.from=n,this.to=r}render(e){let t=e.es5?i.varKinds.var:this.varKind,{name:n,from:r,to:a}=this;return`for(${t} ${n}=${r}; ${n}<${a}; ${n}++)`+super.render(e)}get names(){return addExprNames(addExprNames(super.names,this.from),this.to)}},ForIter=class extends For{constructor(e,t,n,r){super(),this.loop=e,this.varKind=t,this.name=n,this.iterable=r}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=optimizeExpr(this.iterable,e,t),this}get names(){return addNames(super.names,this.iterable.names)}},Func=class extends BlockNode{constructor(e,t,n){super(),this.name=e,this.args=t,this.async=n}render(e){return`${this.async?`async `:``}function ${this.name}(${this.args})`+super.render(e)}};Func.kind=`func`;var Return=class extends ParentNode{render(e){return`return `+super.render(e)}};Return.kind=`return`;var Try=class extends BlockNode{render(e){let t=`try`+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){return super.optimizeNodes(),this.catch?.optimizeNodes(),this.finally?.optimizeNodes(),this}optimizeNames(e,t){return super.optimizeNames(e,t),this.catch?.optimizeNames(e,t),this.finally?.optimizeNames(e,t),this}get names(){let e=super.names;return this.catch&&addNames(e,this.catch.names),this.finally&&addNames(e,this.finally.names),e}},Catch=class extends BlockNode{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Catch.kind=`catch`;var Finally=class extends BlockNode{render(e){return`finally`+super.render(e)}};Finally.kind=`finally`,e.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?`
2
- `:``},this._extScope=e,this._scope=new i.Scope({parent:e}),this._nodes=[new Root]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let n=this._extScope.value(e,t);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,n,r){let i=this._scope.toName(t);return n!==void 0&&r&&(this._constants[i.str]=n),this._leafNode(new Def(e,i,n)),i}const(e,t,n){return this._def(i.varKinds.const,e,t,n)}let(e,t,n){return this._def(i.varKinds.let,e,t,n)}var(e,t,n){return this._def(i.varKinds.var,e,t,n)}assign(e,t,n){return this._leafNode(new Assign(e,t,n))}add(t,n){return this._leafNode(new AssignOp(t,e.operators.ADD,n))}code(e){return typeof e==`function`?e():e!==r.nil&&this._leafNode(new AnyCode(e)),this}object(...e){let t=[`{`];for(let[n,i]of e)t.length>1&&t.push(`,`),t.push(n),(n!==i||this.opts.es5)&&(t.push(`:`),(0,r.addCodeArg)(t,i));return t.push(`}`),new r._Code(t)}if(e,t,n){if(this._blockNode(new s(e)),t&&n)this.code(t).else().code(n).endIf();else if(t)this.code(t).endIf();else if(n)throw Error(`CodeGen: "else" body without "then" body`);return this}elseIf(e){return this._elseNode(new s(e))}else(){return this._elseNode(new Else)}endIf(){return this._endBlockNode(s,Else)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new ForLoop(e),t)}forRange(e,t,n,r,a=this.opts.es5?i.varKinds.var:i.varKinds.let){let o=this._scope.toName(e);return this._for(new ForRange(a,o,t,n),()=>r(o))}forOf(e,t,n,a=i.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let e=t instanceof r.Name?t:this.var(`_arr`,t);return this.forRange(`_i`,0,(0,r._)`${e}.length`,t=>{this.var(o,(0,r._)`${e}[${t}]`),n(o)})}return this._for(new ForIter(`of`,a,o,t),()=>n(o))}forIn(e,t,n,a=this.opts.es5?i.varKinds.var:i.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,r._)`Object.keys(${t})`,n);let o=this._scope.toName(e);return this._for(new ForIter(`in`,a,o,t),()=>n(o))}endFor(){return this._endBlockNode(For)}label(e){return this._leafNode(new Label(e))}break(e){return this._leafNode(new Break(e))}return(e){let t=new Return;if(this._blockNode(t),this.code(e),t.nodes.length!==1)throw Error(`CodeGen: "return" should have one node`);return this._endBlockNode(Return)}try(e,t,n){if(!t&&!n)throw Error(`CodeGen: "try" without "catch" and "finally"`);let r=new Try;if(this._blockNode(r),this.code(e),t){let e=this.name(`e`);this._currNode=r.catch=new Catch(e),t(e)}return n&&(this._currNode=r.finally=new Finally,this.code(n)),this._endBlockNode(Catch,Finally)}throw(e){return this._leafNode(new Throw(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){let t=this._blockStarts.pop();if(t===void 0)throw Error(`CodeGen: not in self-balancing block`);let n=this._nodes.length-t;if(n<0||e!==void 0&&n!==e)throw Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=r.nil,n,i){return this._blockNode(new Func(e,t,n)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(Func)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){let n=this._currNode;if(n instanceof e||t&&n instanceof t)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){let t=this._currNode;if(!(t instanceof s))throw Error(`CodeGen: "else" without "if"`);return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let t=this._nodes;t[t.length-1]=e}};function addNames(e,t){for(let n in t)e[n]=(e[n]||0)+(t[n]||0);return e}function addExprNames(e,t){return t instanceof r._CodeOrName?addNames(e,t.names):e}function optimizeExpr(e,t,n){if(e instanceof r.Name)return replaceName(e);if(!canOptimize(e))return e;return new r._Code(e._items.reduce((e,t)=>(t instanceof r.Name&&(t=replaceName(t)),t instanceof r._Code?e.push(...t._items):e.push(t),e),[]));function replaceName(e){let r=n[e.str];return r===void 0||t[e.str]!==1?e:(delete t[e.str],r)}function canOptimize(e){return e instanceof r._Code&&e._items.some(e=>e instanceof r.Name&&t[e.str]===1&&n[e.str]!==void 0)}}function subtractNames(e,t){for(let n in t)e[n]=(e[n]||0)-(t[n]||0)}function not(e){return typeof e==`boolean`||typeof e==`number`||e===null?!e:(0,r._)`!${par(e)}`}e.not=not;var c=mappend(e.operators.AND);function and(...e){return e.reduce(c)}e.and=and;var l=mappend(e.operators.OR);function or(...e){return e.reduce(l)}e.or=or;function mappend(e){return(t,n)=>t===r.nil?n:n===r.nil?t:(0,r._)`${par(t)} ${e} ${par(n)}`}function par(e){return e instanceof r.Name?e:(0,r._)`(${e})`}}));export default require_codegen();export{require_codegen};
1
+ import{__commonJSMin}from"../../../../../../../../_virtual/_rolldown/runtime.js";import{require_code}from"./code.js";import{require_scope}from"./scope.js";var require_codegen=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;let r=require_code(),i=require_scope();var a=require_code();Object.defineProperty(e,"_",{enumerable:!0,get:function(){return a._}}),Object.defineProperty(e,"str",{enumerable:!0,get:function(){return a.str}}),Object.defineProperty(e,"strConcat",{enumerable:!0,get:function(){return a.strConcat}}),Object.defineProperty(e,"nil",{enumerable:!0,get:function(){return a.nil}}),Object.defineProperty(e,"getProperty",{enumerable:!0,get:function(){return a.getProperty}}),Object.defineProperty(e,"stringify",{enumerable:!0,get:function(){return a.stringify}}),Object.defineProperty(e,"regexpCode",{enumerable:!0,get:function(){return a.regexpCode}}),Object.defineProperty(e,"Name",{enumerable:!0,get:function(){return a.Name}});var o=require_scope();Object.defineProperty(e,"Scope",{enumerable:!0,get:function(){return o.Scope}}),Object.defineProperty(e,"ValueScope",{enumerable:!0,get:function(){return o.ValueScope}}),Object.defineProperty(e,"ValueScopeName",{enumerable:!0,get:function(){return o.ValueScopeName}}),Object.defineProperty(e,"varKinds",{enumerable:!0,get:function(){return o.varKinds}}),e.operators={GT:new r._Code(`>`),GTE:new r._Code(`>=`),LT:new r._Code(`<`),LTE:new r._Code(`<=`),EQ:new r._Code(`===`),NEQ:new r._Code(`!==`),NOT:new r._Code(`!`),OR:new r._Code(`||`),AND:new r._Code(`&&`),ADD:new r._Code(`+`)};var Node=class{optimizeNodes(){return this}optimizeNames(e,t){return this}},Def=class extends Node{constructor(e,t,n){super(),this.varKind=e,this.name=t,this.rhs=n}render({es5:e,_n:t}){let n=e?i.varKinds.var:this.varKind,r=this.rhs===void 0?``:` = ${this.rhs}`;return`${n} ${this.name}${r};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&=optimizeExpr(this.rhs,e,t),this}get names(){return this.rhs instanceof r._CodeOrName?this.rhs.names:{}}},Assign=class extends Node{constructor(e,t,n){super(),this.lhs=e,this.rhs=t,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,t){if(!(this.lhs instanceof r.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=optimizeExpr(this.rhs,e,t),this}get names(){return addExprNames(this.lhs instanceof r.Name?{}:{...this.lhs.names},this.rhs)}},AssignOp=class extends Assign{constructor(e,t,n,r){super(e,n,r),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},Label=class extends Node{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},Break=class extends Node{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:``};`+e}},Throw=class extends Node{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},AnyCode=class extends Node{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=optimizeExpr(this.code,e,t),this}get names(){return this.code instanceof r._CodeOrName?this.code.names:{}}},ParentNode=class extends Node{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((t,n)=>t+n.render(e),``)}optimizeNodes(){let{nodes:e}=this,t=e.length;for(;t--;){let n=e[t].optimizeNodes();Array.isArray(n)?e.splice(t,1,...n):n?e[t]=n:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){let{nodes:n}=this,r=n.length;for(;r--;){let i=n[r];i.optimizeNames(e,t)||(subtractNames(e,i.names),n.splice(r,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>addNames(e,t.names),{})}},BlockNode=class extends ParentNode{render(e){return`{`+e._n+super.render(e)+`}`+e._n}},Root=class extends ParentNode{},Else=class extends BlockNode{};Else.kind=`else`;var s=class If extends BlockNode{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+=`else `+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();let e=this.condition;if(e===!0)return this.nodes;let t=this.else;if(t){let e=t.optimizeNodes();t=this.else=Array.isArray(e)?new Else(e):e}if(t)return e===!1?t instanceof If?t:t.nodes:this.nodes.length?this:new If(not(e),t instanceof If?[t]:t.nodes);if(!(e===!1||!this.nodes.length))return this}optimizeNames(e,t){if(this.else=this.else?.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=optimizeExpr(this.condition,e,t),this}get names(){let e=super.names;return addExprNames(e,this.condition),this.else&&addNames(e,this.else.names),e}};s.kind=`if`;var For=class extends BlockNode{};For.kind=`for`;var ForLoop=class extends For{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=optimizeExpr(this.iteration,e,t),this}get names(){return addNames(super.names,this.iteration.names)}},ForRange=class extends For{constructor(e,t,n,r){super(),this.varKind=e,this.name=t,this.from=n,this.to=r}render(e){let t=e.es5?i.varKinds.var:this.varKind,{name:n,from:r,to:a}=this;return`for(${t} ${n}=${r}; ${n}<${a}; ${n}++)`+super.render(e)}get names(){return addExprNames(addExprNames(super.names,this.from),this.to)}},ForIter=class extends For{constructor(e,t,n,r){super(),this.loop=e,this.varKind=t,this.name=n,this.iterable=r}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=optimizeExpr(this.iterable,e,t),this}get names(){return addNames(super.names,this.iterable.names)}},Func=class extends BlockNode{constructor(e,t,n){super(),this.name=e,this.args=t,this.async=n}render(e){return`${this.async?`async `:``}function ${this.name}(${this.args})`+super.render(e)}};Func.kind=`func`;var Return=class extends ParentNode{render(e){return`return `+super.render(e)}};Return.kind=`return`;var Try=class extends BlockNode{render(e){let t=`try`+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){return super.optimizeNodes(),this.catch?.optimizeNodes(),this.finally?.optimizeNodes(),this}optimizeNames(e,t){return super.optimizeNames(e,t),this.catch?.optimizeNames(e,t),this.finally?.optimizeNames(e,t),this}get names(){let e=super.names;return this.catch&&addNames(e,this.catch.names),this.finally&&addNames(e,this.finally.names),e}},Catch=class extends BlockNode{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};Catch.kind=`catch`;var Finally=class extends BlockNode{render(e){return`finally`+super.render(e)}};Finally.kind=`finally`,e.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?`
2
+ `:``},this._extScope=e,this._scope=new i.Scope({parent:e}),this._nodes=[new Root]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let n=this._extScope.value(e,t);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,n,r){let i=this._scope.toName(t);return n!==void 0&&r&&(this._constants[i.str]=n),this._leafNode(new Def(e,i,n)),i}const(e,t,n){return this._def(i.varKinds.const,e,t,n)}let(e,t,n){return this._def(i.varKinds.let,e,t,n)}var(e,t,n){return this._def(i.varKinds.var,e,t,n)}assign(e,t,n){return this._leafNode(new Assign(e,t,n))}add(t,n){return this._leafNode(new AssignOp(t,e.operators.ADD,n))}code(e){return typeof e==`function`?e():e!==r.nil&&this._leafNode(new AnyCode(e)),this}object(...e){let t=[`{`];for(let[n,i]of e)t.length>1&&t.push(`,`),t.push(n),(n!==i||this.opts.es5)&&(t.push(`:`),(0,r.addCodeArg)(t,i));return t.push(`}`),new r._Code(t)}if(e,t,n){if(this._blockNode(new s(e)),t&&n)this.code(t).else().code(n).endIf();else if(t)this.code(t).endIf();else if(n)throw Error(`CodeGen: "else" body without "then" body`);return this}elseIf(e){return this._elseNode(new s(e))}else(){return this._elseNode(new Else)}endIf(){return this._endBlockNode(s,Else)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new ForLoop(e),t)}forRange(e,t,n,r,a=this.opts.es5?i.varKinds.var:i.varKinds.let){let o=this._scope.toName(e);return this._for(new ForRange(a,o,t,n),()=>r(o))}forOf(e,t,n,a=i.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let e=t instanceof r.Name?t:this.var(`_arr`,t);return this.forRange(`_i`,0,(0,r._)`${e}.length`,t=>{this.var(o,(0,r._)`${e}[${t}]`),n(o)})}return this._for(new ForIter(`of`,a,o,t),()=>n(o))}forIn(e,t,n,a=this.opts.es5?i.varKinds.var:i.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,r._)`Object.keys(${t})`,n);let o=this._scope.toName(e);return this._for(new ForIter(`in`,a,o,t),()=>n(o))}endFor(){return this._endBlockNode(For)}label(e){return this._leafNode(new Label(e))}break(e){return this._leafNode(new Break(e))}return(e){let t=new Return;if(this._blockNode(t),this.code(e),t.nodes.length!==1)throw Error(`CodeGen: "return" should have one node`);return this._endBlockNode(Return)}try(e,t,n){if(!t&&!n)throw Error(`CodeGen: "try" without "catch" and "finally"`);let r=new Try;if(this._blockNode(r),this.code(e),t){let e=this.name(`e`);this._currNode=r.catch=new Catch(e),t(e)}return n&&(this._currNode=r.finally=new Finally,this.code(n)),this._endBlockNode(Catch,Finally)}throw(e){return this._leafNode(new Throw(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){let t=this._blockStarts.pop();if(t===void 0)throw Error(`CodeGen: not in self-balancing block`);let n=this._nodes.length-t;if(n<0||e!==void 0&&n!==e)throw Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=t,this}func(e,t=r.nil,n,i){return this._blockNode(new Func(e,t,n)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(Func)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){let n=this._currNode;if(n instanceof e||t&&n instanceof t)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){let t=this._currNode;if(!(t instanceof s))throw Error(`CodeGen: "else" without "if"`);return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let t=this._nodes;t[t.length-1]=e}};function addNames(e,t){for(let n in t)e[n]=(e[n]||0)+(t[n]||0);return e}function addExprNames(e,t){return t instanceof r._CodeOrName?addNames(e,t.names):e}function optimizeExpr(e,t,n){if(e instanceof r.Name)return replaceName(e);if(!canOptimize(e))return e;return new r._Code(e._items.reduce((e,t)=>(t instanceof r.Name&&(t=replaceName(t)),t instanceof r._Code?e.push(...t._items):e.push(t),e),[]));function replaceName(e){let r=n[e.str];return r===void 0||t[e.str]!==1?e:(delete t[e.str],r)}function canOptimize(e){return e instanceof r._Code&&e._items.some(e=>e instanceof r.Name&&t[e.str]===1&&n[e.str]!==void 0)}}function subtractNames(e,t){for(let n in t)e[n]=(e[n]||0)-(t[n]||0)}function not(e){return typeof e==`boolean`||typeof e==`number`||e===null?!e:(0,r._)`!${par(e)}`}e.not=not;let c=mappend(e.operators.AND);function and(...e){return e.reduce(c)}e.and=and;let l=mappend(e.operators.OR);function or(...e){return e.reduce(l)}e.or=or;function mappend(e){return(t,n)=>t===r.nil?n:n===r.nil?t:(0,r._)`${par(t)} ${e} ${par(n)}`}function par(e){return e instanceof r.Name?e:(0,r._)`(${e})`}}));export default require_codegen();export{require_codegen};
@@ -1 +1 @@
1
- import{__commonJSMin}from"../../../../../../../../_virtual/_rolldown/runtime.js";import{require_code}from"./code.js";var require_scope=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;var n=require_code(),ValueError=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},r;(function(e){e[e.Started=0]=`Started`,e[e.Completed=1]=`Completed`})(r||(e.UsedValueState=r={})),e.varKinds={const:new n.Name(`const`),let:new n.Name(`let`),var:new n.Name(`var`)};var Scope=class{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof n.Name?e:this.name(e)}name(e){return new n.Name(this._newName(e))}_newName(e){let t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){if((this._parent?._prefixes)?.has(e)||this._prefixes&&!this._prefixes.has(e))throw Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};e.Scope=Scope;var ValueScopeName=class extends n.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:r}){this.value=e,this.scopePath=(0,n._)`.${new n.Name(t)}[${r}]`}};e.ValueScopeName=ValueScopeName;var i=(0,n._)`\n`;e.ValueScope=class extends Scope{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?i:n.nil}}get(){return this._scope}name(e){return new ValueScopeName(e,this._newName(e))}value(e,t){if(t.ref===void 0)throw Error(`CodeGen: ref must be passed in value`);let n=this.toName(e),{prefix:r}=n,i=t.key??t.ref,a=this._values[r];if(a){let e=a.get(i);if(e)return e}else a=this._values[r]=new Map;a.set(i,n);let o=this._scope[r]||(this._scope[r]=[]),s=o.length;return o[s]=t.ref,n.setValue(t,{property:r,itemIndex:s}),n}getValue(e,t){let n=this._values[e];if(n)return n.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,t=>{if(t.scopePath===void 0)throw Error(`CodeGen: name "${t}" has no value`);return(0,n._)`${e}${t.scopePath}`})}scopeCode(e=this._values,t,n){return this._reduceValues(e,e=>{if(e.value===void 0)throw Error(`CodeGen: name "${e}" has no value`);return e.value.code},t,n)}_reduceValues(t,i,a={},o){let s=n.nil;for(let c in t){let l=t[c];if(!l)continue;let u=a[c]=a[c]||new Map;l.forEach(t=>{if(u.has(t))return;u.set(t,r.Started);let a=i(t);if(a){let r=this.opts.es5?e.varKinds.var:e.varKinds.const;s=(0,n._)`${s}${r} ${t} = ${a};${this.opts._n}`}else if(a=o?.(t))s=(0,n._)`${s}${a}${this.opts._n}`;else throw new ValueError(t);u.set(t,r.Completed)})}return s}}}));export default require_scope();export{require_scope};
1
+ import{__commonJSMin}from"../../../../../../../../_virtual/_rolldown/runtime.js";import{require_code}from"./code.js";var require_scope=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;let n=require_code();var ValueError=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},r;(function(e){e[e.Started=0]=`Started`,e[e.Completed=1]=`Completed`})(r||(e.UsedValueState=r={})),e.varKinds={const:new n.Name(`const`),let:new n.Name(`let`),var:new n.Name(`var`)};var Scope=class{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof n.Name?e:this.name(e)}name(e){return new n.Name(this._newName(e))}_newName(e){let t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){if((this._parent?._prefixes)?.has(e)||this._prefixes&&!this._prefixes.has(e))throw Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};e.Scope=Scope;var ValueScopeName=class extends n.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:t,itemIndex:r}){this.value=e,this.scopePath=(0,n._)`.${new n.Name(t)}[${r}]`}};e.ValueScopeName=ValueScopeName;let i=(0,n._)`\n`;e.ValueScope=class extends Scope{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?i:n.nil}}get(){return this._scope}name(e){return new ValueScopeName(e,this._newName(e))}value(e,t){if(t.ref===void 0)throw Error(`CodeGen: ref must be passed in value`);let n=this.toName(e),{prefix:r}=n,i=t.key??t.ref,a=this._values[r];if(a){let e=a.get(i);if(e)return e}else a=this._values[r]=new Map;a.set(i,n);let o=this._scope[r]||(this._scope[r]=[]),s=o.length;return o[s]=t.ref,n.setValue(t,{property:r,itemIndex:s}),n}getValue(e,t){let n=this._values[e];if(n)return n.get(t)}scopeRefs(e,t=this._values){return this._reduceValues(t,t=>{if(t.scopePath===void 0)throw Error(`CodeGen: name "${t}" has no value`);return(0,n._)`${e}${t.scopePath}`})}scopeCode(e=this._values,t,n){return this._reduceValues(e,e=>{if(e.value===void 0)throw Error(`CodeGen: name "${e}" has no value`);return e.value.code},t,n)}_reduceValues(t,i,a={},o){let s=n.nil;for(let c in t){let l=t[c];if(!l)continue;let u=a[c]=a[c]||new Map;l.forEach(t=>{if(u.has(t))return;u.set(t,r.Started);let a=i(t);if(a){let r=this.opts.es5?e.varKinds.var:e.varKinds.const;s=(0,n._)`${s}${r} ${t} = ${a};${this.opts._n}`}else if(a=o?.(t))s=(0,n._)`${s}${a}${this.opts._n}`;else throw new ValueError(t);u.set(t,r.Completed)})}return s}}}));export default require_scope();export{require_scope};
@@ -1 +1 @@
1
- import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";import{require_codegen}from"./codegen/index.js";import{require_util}from"./util.js";import{require_names}from"./names.js";var require_errors=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;var i=require_codegen(),a=require_util(),o=require_names();e.keywordError={message:({keyword:e})=>(0,i.str)`must pass "${e}" keyword validation`},e.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,i.str)`"${e}" keyword must be ${t} ($data)`:(0,i.str)`"${e}" keyword is invalid ($data)`};function reportError(t,n=e.keywordError,r,a){let{it:o}=t,{gen:s,compositeRule:c,allErrors:l}=o,u=errorObjectCode(t,n,r);a??(c||l)?addError(s,u):returnErrors(o,(0,i._)`[${u}]`)}e.reportError=reportError;function reportExtraError(t,n=e.keywordError,r){let{it:i}=t,{gen:a,compositeRule:s,allErrors:c}=i;addError(a,errorObjectCode(t,n,r)),s||c||returnErrors(i,o.default.vErrors)}e.reportExtraError=reportExtraError;function resetErrorsCount(e,t){e.assign(o.default.errors,t),e.if((0,i._)`${o.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,i._)`${o.default.vErrors}.length`,t),()=>e.assign(o.default.vErrors,null)))}e.resetErrorsCount=resetErrorsCount;function extendErrors({gen:e,keyword:t,schemaValue:n,data:r,errsCount:a,it:s}){if(a===void 0)throw Error(`ajv implementation error`);let c=e.name(`err`);e.forRange(`i`,a,o.default.errors,a=>{e.const(c,(0,i._)`${o.default.vErrors}[${a}]`),e.if((0,i._)`${c}.instancePath === undefined`,()=>e.assign((0,i._)`${c}.instancePath`,(0,i.strConcat)(o.default.instancePath,s.errorPath))),e.assign((0,i._)`${c}.schemaPath`,(0,i.str)`${s.errSchemaPath}/${t}`),s.opts.verbose&&(e.assign((0,i._)`${c}.schema`,n),e.assign((0,i._)`${c}.data`,r))})}e.extendErrors=extendErrors;function addError(e,t){let n=e.const(`err`,t);e.if((0,i._)`${o.default.vErrors} === null`,()=>e.assign(o.default.vErrors,(0,i._)`[${n}]`),(0,i._)`${o.default.vErrors}.push(${n})`),e.code((0,i._)`${o.default.errors}++`)}function returnErrors(e,t){let{gen:n,validateName:r,schemaEnv:a}=e;a.$async?n.throw((0,i._)`new ${e.ValidationError}(${t})`):(n.assign((0,i._)`${r}.errors`,t),n.return(!1))}var s={keyword:new i.Name(`keyword`),schemaPath:new i.Name(`schemaPath`),params:new i.Name(`params`),propertyName:new i.Name(`propertyName`),message:new i.Name(`message`),schema:new i.Name(`schema`),parentSchema:new i.Name(`parentSchema`)};function errorObjectCode(e,t,n){let{createErrors:r}=e.it;return r===!1?(0,i._)`{}`:errorObject(e,t,n)}function errorObject(e,t,n={}){let{gen:r,it:i}=e,a=[errorInstancePath(i,n),errorSchemaPath(e,n)];return extraErrorProps(e,t,a),r.object(...a)}function errorInstancePath({errorPath:e},{instancePath:t}){let n=t?(0,i.str)`${e}${(0,a.getErrorPath)(t,a.Type.Str)}`:e;return[o.default.instancePath,(0,i.strConcat)(o.default.instancePath,n)]}function errorSchemaPath({keyword:e,it:{errSchemaPath:t}},{schemaPath:n,parentSchema:r}){let o=r?t:(0,i.str)`${t}/${e}`;return n&&(o=(0,i.str)`${o}${(0,a.getErrorPath)(n,a.Type.Str)}`),[s.schemaPath,o]}function extraErrorProps(e,{params:t,message:n},r){let{keyword:a,data:c,schemaValue:l,it:u}=e,{opts:d,propertyName:f,topSchemaRef:p,schemaPath:m}=u;r.push([s.keyword,a],[s.params,typeof t==`function`?t(e):t||(0,i._)`{}`]),d.messages&&r.push([s.message,typeof n==`function`?n(e):n]),d.verbose&&r.push([s.schema,l],[s.parentSchema,(0,i._)`${p}${m}`],[o.default.data,c]),f&&r.push([s.propertyName,f])}}));export default require_errors();export{require_errors};
1
+ import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";import{require_codegen}from"./codegen/index.js";import{require_util}from"./util.js";import{require_names}from"./names.js";var require_errors=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;let i=require_codegen(),a=require_util(),o=require_names();e.keywordError={message:({keyword:e})=>(0,i.str)`must pass "${e}" keyword validation`},e.keyword$DataError={message:({keyword:e,schemaType:t})=>t?(0,i.str)`"${e}" keyword must be ${t} ($data)`:(0,i.str)`"${e}" keyword is invalid ($data)`};function reportError(t,n=e.keywordError,r,a){let{it:o}=t,{gen:s,compositeRule:c,allErrors:l}=o,u=errorObjectCode(t,n,r);a??(c||l)?addError(s,u):returnErrors(o,(0,i._)`[${u}]`)}e.reportError=reportError;function reportExtraError(t,n=e.keywordError,r){let{it:i}=t,{gen:a,compositeRule:s,allErrors:c}=i;addError(a,errorObjectCode(t,n,r)),s||c||returnErrors(i,o.default.vErrors)}e.reportExtraError=reportExtraError;function resetErrorsCount(e,t){e.assign(o.default.errors,t),e.if((0,i._)`${o.default.vErrors} !== null`,()=>e.if(t,()=>e.assign((0,i._)`${o.default.vErrors}.length`,t),()=>e.assign(o.default.vErrors,null)))}e.resetErrorsCount=resetErrorsCount;function extendErrors({gen:e,keyword:t,schemaValue:n,data:r,errsCount:a,it:s}){if(a===void 0)throw Error(`ajv implementation error`);let c=e.name(`err`);e.forRange(`i`,a,o.default.errors,a=>{e.const(c,(0,i._)`${o.default.vErrors}[${a}]`),e.if((0,i._)`${c}.instancePath === undefined`,()=>e.assign((0,i._)`${c}.instancePath`,(0,i.strConcat)(o.default.instancePath,s.errorPath))),e.assign((0,i._)`${c}.schemaPath`,(0,i.str)`${s.errSchemaPath}/${t}`),s.opts.verbose&&(e.assign((0,i._)`${c}.schema`,n),e.assign((0,i._)`${c}.data`,r))})}e.extendErrors=extendErrors;function addError(e,t){let n=e.const(`err`,t);e.if((0,i._)`${o.default.vErrors} === null`,()=>e.assign(o.default.vErrors,(0,i._)`[${n}]`),(0,i._)`${o.default.vErrors}.push(${n})`),e.code((0,i._)`${o.default.errors}++`)}function returnErrors(e,t){let{gen:n,validateName:r,schemaEnv:a}=e;a.$async?n.throw((0,i._)`new ${e.ValidationError}(${t})`):(n.assign((0,i._)`${r}.errors`,t),n.return(!1))}let s={keyword:new i.Name(`keyword`),schemaPath:new i.Name(`schemaPath`),params:new i.Name(`params`),propertyName:new i.Name(`propertyName`),message:new i.Name(`message`),schema:new i.Name(`schema`),parentSchema:new i.Name(`parentSchema`)};function errorObjectCode(e,t,n){let{createErrors:r}=e.it;return r===!1?(0,i._)`{}`:errorObject(e,t,n)}function errorObject(e,t,n={}){let{gen:r,it:i}=e,a=[errorInstancePath(i,n),errorSchemaPath(e,n)];return extraErrorProps(e,t,a),r.object(...a)}function errorInstancePath({errorPath:e},{instancePath:t}){let n=t?(0,i.str)`${e}${(0,a.getErrorPath)(t,a.Type.Str)}`:e;return[o.default.instancePath,(0,i.strConcat)(o.default.instancePath,n)]}function errorSchemaPath({keyword:e,it:{errSchemaPath:t}},{schemaPath:n,parentSchema:r}){let o=r?t:(0,i.str)`${t}/${e}`;return n&&(o=(0,i.str)`${o}${(0,a.getErrorPath)(n,a.Type.Str)}`),[s.schemaPath,o]}function extraErrorProps(e,{params:t,message:n},r){let{keyword:a,data:c,schemaValue:l,it:u}=e,{opts:d,propertyName:f,topSchemaRef:p,schemaPath:m}=u;r.push([s.keyword,a],[s.params,typeof t==`function`?t(e):t||(0,i._)`{}`]),d.messages&&r.push([s.message,typeof n==`function`?n(e):n]),d.verbose&&r.push([s.schema,l],[s.parentSchema,(0,i._)`${p}${m}`],[o.default.data,c]),f&&r.push([s.propertyName,f])}}));export default require_errors();export{require_errors};
@@ -1 +1 @@
1
- import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";import{require_codegen}from"./codegen/index.js";import{require_util}from"./util.js";import{require_names}from"./names.js";import{require_resolve}from"./resolve.js";import{require_validate}from"./validate/index.js";import{require_validation_error}from"../runtime/validation_error.js";var require_compile=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.resolveSchema=e.getCompilingSchema=e.resolveRef=e.compileSchema=e.SchemaEnv=void 0;var s=require_codegen(),c=require_validation_error(),l=require_names(),u=require_resolve(),d=require_util(),f=require_validate(),SchemaEnv=class{constructor(e){this.refs={},this.dynamicAnchors={};let t;typeof e.schema==`object`&&(t=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=e.baseId??(0,u.normalizeId)(t?.[e.schemaId||`$id`]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=t?.$async,this.refs={}}};e.SchemaEnv=SchemaEnv;function compileSchema(e){let t=getCompilingSchema.call(this,e);if(t)return t;let n=(0,u.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:r,lines:i}=this.opts.code,{ownProperties:a}=this.opts,o=new s.CodeGen(this.scope,{es5:r,lines:i,ownProperties:a}),d;e.$async&&(d=o.scopeValue(`Error`,{ref:c.default,code:(0,s._)`require("ajv/dist/runtime/validation_error").default`}));let p=o.scopeName(`validate`);e.validateName=p;let m={gen:o,allErrors:this.opts.allErrors,data:l.default.data,parentData:l.default.parentData,parentDataProperty:l.default.parentDataProperty,dataNames:[l.default.data],dataPathArr:[s.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue(`schema`,this.opts.code.source===!0?{ref:e.schema,code:(0,s.stringify)(e.schema)}:{ref:e.schema}),validateName:p,ValidationError:d,schema:e.schema,schemaEnv:e,rootId:n,baseId:e.baseId||n,schemaPath:s.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?``:`#`),errorPath:(0,s._)`""`,opts:this.opts,self:this},h;try{this._compilations.add(e),(0,f.validateFunctionCode)(m),o.optimize(this.opts.code.optimize);let t=o.toString();h=`${o.scopeRefs(l.default.scope)}return ${t}`,this.opts.code.process&&(h=this.opts.code.process(h,e));let n=Function(`${l.default.self}`,`${l.default.scope}`,h)(this,this.scope.get());if(this.scope.value(p,{ref:n}),n.errors=null,n.schema=e.schema,n.schemaEnv=e,e.$async&&(n.$async=!0),this.opts.code.source===!0&&(n.source={validateName:p,validateCode:t,scopeValues:o._values}),this.opts.unevaluated){let{props:e,items:t}=m;n.evaluated={props:e instanceof s.Name?void 0:e,items:t instanceof s.Name?void 0:t,dynamicProps:e instanceof s.Name,dynamicItems:t instanceof s.Name},n.source&&(n.source.evaluated=(0,s.stringify)(n.evaluated))}return e.validate=n,e}catch(t){throw delete e.validate,delete e.validateName,h&&this.logger.error(`Error compiling schema, function code:`,h),t}finally{this._compilations.delete(e)}}e.compileSchema=compileSchema;function resolveRef(e,t,n){n=(0,u.resolveUrl)(this.opts.uriResolver,t,n);let r=e.refs[n];if(r)return r;let i=resolve.call(this,e,n);if(i===void 0){let r=e.localRefs?.[n],{schemaId:a}=this.opts;r&&(i=new SchemaEnv({schema:r,schemaId:a,root:e,baseId:t}))}if(i!==void 0)return e.refs[n]=inlineOrCompile.call(this,i)}e.resolveRef=resolveRef;function inlineOrCompile(e){return(0,u.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:compileSchema.call(this,e)}function getCompilingSchema(e){for(let t of this._compilations)if(sameSchemaEnv(t,e))return t}e.getCompilingSchema=getCompilingSchema;function sameSchemaEnv(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function resolve(e,t){let n;for(;typeof(n=this.refs[t])==`string`;)t=n;return n||this.schemas[t]||resolveSchema.call(this,e,t)}function resolveSchema(e,t){let n=this.opts.uriResolver.parse(t),r=(0,u._getFullPath)(this.opts.uriResolver,n),i=(0,u.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&r===i)return getJsonPointer.call(this,n,e);let a=(0,u.normalizeId)(r),o=this.refs[a]||this.schemas[a];if(typeof o==`string`){let t=resolveSchema.call(this,e,o);return typeof t?.schema==`object`?getJsonPointer.call(this,n,t):void 0}if(typeof o?.schema==`object`){if(o.validate||compileSchema.call(this,o),a===(0,u.normalizeId)(t)){let{schema:t}=o,{schemaId:n}=this.opts,r=t[n];return r&&(i=(0,u.resolveUrl)(this.opts.uriResolver,i,r)),new SchemaEnv({schema:t,schemaId:n,root:e,baseId:i})}return getJsonPointer.call(this,n,o)}}e.resolveSchema=resolveSchema;var p=new Set([`properties`,`patternProperties`,`enum`,`dependencies`,`definitions`]);function getJsonPointer(e,{baseId:t,schema:n,root:r}){if(e.fragment?.[0]!==`/`)return;for(let r of e.fragment.slice(1).split(`/`)){if(typeof n==`boolean`)return;let e=n[(0,d.unescapeFragment)(r)];if(e===void 0)return;n=e;let i=typeof n==`object`&&n[this.opts.schemaId];!p.has(r)&&i&&(t=(0,u.resolveUrl)(this.opts.uriResolver,t,i))}let i;if(typeof n!=`boolean`&&n.$ref&&!(0,d.schemaHasRulesButRef)(n,this.RULES)){let e=(0,u.resolveUrl)(this.opts.uriResolver,t,n.$ref);i=resolveSchema.call(this,r,e)}let{schemaId:a}=this.opts;if(i||=new SchemaEnv({schema:n,schemaId:a,root:r,baseId:t}),i.schema!==i.root.schema)return i}}));export default require_compile();export{require_compile};
1
+ import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";import{require_codegen}from"./codegen/index.js";import{require_util}from"./util.js";import{require_names}from"./names.js";import{require_resolve}from"./resolve.js";import{require_validate}from"./validate/index.js";import{require_validation_error}from"../runtime/validation_error.js";var require_compile=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.resolveSchema=e.getCompilingSchema=e.resolveRef=e.compileSchema=e.SchemaEnv=void 0;let s=require_codegen(),c=require_validation_error(),l=require_names(),u=require_resolve(),d=require_util(),f=require_validate();var SchemaEnv=class{constructor(e){this.refs={},this.dynamicAnchors={};let t;typeof e.schema==`object`&&(t=e.schema),this.schema=e.schema,this.schemaId=e.schemaId,this.root=e.root||this,this.baseId=e.baseId??(0,u.normalizeId)(t?.[e.schemaId||`$id`]),this.schemaPath=e.schemaPath,this.localRefs=e.localRefs,this.meta=e.meta,this.$async=t?.$async,this.refs={}}};e.SchemaEnv=SchemaEnv;function compileSchema(e){let t=getCompilingSchema.call(this,e);if(t)return t;let n=(0,u.getFullPath)(this.opts.uriResolver,e.root.baseId),{es5:r,lines:i}=this.opts.code,{ownProperties:a}=this.opts,o=new s.CodeGen(this.scope,{es5:r,lines:i,ownProperties:a}),d;e.$async&&(d=o.scopeValue(`Error`,{ref:c.default,code:(0,s._)`require("ajv/dist/runtime/validation_error").default`}));let p=o.scopeName(`validate`);e.validateName=p;let m={gen:o,allErrors:this.opts.allErrors,data:l.default.data,parentData:l.default.parentData,parentDataProperty:l.default.parentDataProperty,dataNames:[l.default.data],dataPathArr:[s.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:o.scopeValue(`schema`,this.opts.code.source===!0?{ref:e.schema,code:(0,s.stringify)(e.schema)}:{ref:e.schema}),validateName:p,ValidationError:d,schema:e.schema,schemaEnv:e,rootId:n,baseId:e.baseId||n,schemaPath:s.nil,errSchemaPath:e.schemaPath||(this.opts.jtd?``:`#`),errorPath:(0,s._)`""`,opts:this.opts,self:this},h;try{this._compilations.add(e),(0,f.validateFunctionCode)(m),o.optimize(this.opts.code.optimize);let t=o.toString();h=`${o.scopeRefs(l.default.scope)}return ${t}`,this.opts.code.process&&(h=this.opts.code.process(h,e));let n=Function(`${l.default.self}`,`${l.default.scope}`,h)(this,this.scope.get());if(this.scope.value(p,{ref:n}),n.errors=null,n.schema=e.schema,n.schemaEnv=e,e.$async&&(n.$async=!0),this.opts.code.source===!0&&(n.source={validateName:p,validateCode:t,scopeValues:o._values}),this.opts.unevaluated){let{props:e,items:t}=m;n.evaluated={props:e instanceof s.Name?void 0:e,items:t instanceof s.Name?void 0:t,dynamicProps:e instanceof s.Name,dynamicItems:t instanceof s.Name},n.source&&(n.source.evaluated=(0,s.stringify)(n.evaluated))}return e.validate=n,e}catch(t){throw delete e.validate,delete e.validateName,h&&this.logger.error(`Error compiling schema, function code:`,h),t}finally{this._compilations.delete(e)}}e.compileSchema=compileSchema;function resolveRef(e,t,n){n=(0,u.resolveUrl)(this.opts.uriResolver,t,n);let r=e.refs[n];if(r)return r;let i=resolve.call(this,e,n);if(i===void 0){let r=e.localRefs?.[n],{schemaId:a}=this.opts;r&&(i=new SchemaEnv({schema:r,schemaId:a,root:e,baseId:t}))}if(i!==void 0)return e.refs[n]=inlineOrCompile.call(this,i)}e.resolveRef=resolveRef;function inlineOrCompile(e){return(0,u.inlineRef)(e.schema,this.opts.inlineRefs)?e.schema:e.validate?e:compileSchema.call(this,e)}function getCompilingSchema(e){for(let t of this._compilations)if(sameSchemaEnv(t,e))return t}e.getCompilingSchema=getCompilingSchema;function sameSchemaEnv(e,t){return e.schema===t.schema&&e.root===t.root&&e.baseId===t.baseId}function resolve(e,t){let n;for(;typeof(n=this.refs[t])==`string`;)t=n;return n||this.schemas[t]||resolveSchema.call(this,e,t)}function resolveSchema(e,t){let n=this.opts.uriResolver.parse(t),r=(0,u._getFullPath)(this.opts.uriResolver,n),i=(0,u.getFullPath)(this.opts.uriResolver,e.baseId,void 0);if(Object.keys(e.schema).length>0&&r===i)return getJsonPointer.call(this,n,e);let a=(0,u.normalizeId)(r),o=this.refs[a]||this.schemas[a];if(typeof o==`string`){let t=resolveSchema.call(this,e,o);return typeof t?.schema==`object`?getJsonPointer.call(this,n,t):void 0}if(typeof o?.schema==`object`){if(o.validate||compileSchema.call(this,o),a===(0,u.normalizeId)(t)){let{schema:t}=o,{schemaId:n}=this.opts,r=t[n];return r&&(i=(0,u.resolveUrl)(this.opts.uriResolver,i,r)),new SchemaEnv({schema:t,schemaId:n,root:e,baseId:i})}return getJsonPointer.call(this,n,o)}}e.resolveSchema=resolveSchema;let p=new Set([`properties`,`patternProperties`,`enum`,`dependencies`,`definitions`]);function getJsonPointer(e,{baseId:t,schema:n,root:r}){if(e.fragment?.[0]!==`/`)return;for(let r of e.fragment.slice(1).split(`/`)){if(typeof n==`boolean`)return;let e=n[(0,d.unescapeFragment)(r)];if(e===void 0)return;n=e;let i=typeof n==`object`&&n[this.opts.schemaId];!p.has(r)&&i&&(t=(0,u.resolveUrl)(this.opts.uriResolver,t,i))}let i;if(typeof n!=`boolean`&&n.$ref&&!(0,d.schemaHasRulesButRef)(n,this.RULES)){let e=(0,u.resolveUrl)(this.opts.uriResolver,t,n.$ref);i=resolveSchema.call(this,r,e)}let{schemaId:a}=this.opts;if(i||=new SchemaEnv({schema:n,schemaId:a,root:r,baseId:t}),i.schema!==i.root.schema)return i}}));export default require_compile();export{require_compile};
@@ -1 +1 @@
1
- import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";import{require_codegen}from"./codegen/index.js";var require_names=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=require_codegen();e.default={data:new t.Name(`data`),valCxt:new t.Name(`valCxt`),instancePath:new t.Name(`instancePath`),parentData:new t.Name(`parentData`),parentDataProperty:new t.Name(`parentDataProperty`),rootData:new t.Name(`rootData`),dynamicAnchors:new t.Name(`dynamicAnchors`),vErrors:new t.Name(`vErrors`),errors:new t.Name(`errors`),this:new t.Name(`this`),self:new t.Name(`self`),scope:new t.Name(`scope`),json:new t.Name(`json`),jsonPos:new t.Name(`jsonPos`),jsonLen:new t.Name(`jsonLen`),jsonPart:new t.Name(`jsonPart`)}}));export default require_names();export{require_names};
1
+ import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";import{require_codegen}from"./codegen/index.js";var require_names=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0});let t=require_codegen();e.default={data:new t.Name(`data`),valCxt:new t.Name(`valCxt`),instancePath:new t.Name(`instancePath`),parentData:new t.Name(`parentData`),parentDataProperty:new t.Name(`parentDataProperty`),rootData:new t.Name(`rootData`),dynamicAnchors:new t.Name(`dynamicAnchors`),vErrors:new t.Name(`vErrors`),errors:new t.Name(`errors`),this:new t.Name(`this`),self:new t.Name(`self`),scope:new t.Name(`scope`),json:new t.Name(`json`),jsonPos:new t.Name(`jsonPos`),jsonLen:new t.Name(`jsonLen`),jsonPart:new t.Name(`jsonPart`)}}));export default require_names();export{require_names};
@@ -1 +1 @@
1
- import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";import{require_resolve}from"./resolve.js";var require_ref_error=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0});var n=require_resolve();e.default=class extends Error{constructor(e,t,r,i){super(i||`can't resolve reference ${r} from id ${t}`),this.missingRef=(0,n.resolveUrl)(e,t,r),this.missingSchema=(0,n.normalizeId)((0,n.getFullPath)(e,this.missingRef))}}}));export default require_ref_error();export{require_ref_error};
1
+ import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";import{require_resolve}from"./resolve.js";var require_ref_error=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0});let n=require_resolve();e.default=class extends Error{constructor(e,t,r,i){super(i||`can't resolve reference ${r} from id ${t}`),this.missingRef=(0,n.resolveUrl)(e,t,r),this.missingSchema=(0,n.normalizeId)((0,n.getFullPath)(e,this.missingRef))}}}));export default require_ref_error();export{require_ref_error};
@@ -1 +1 @@
1
- import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";import{require_util}from"./util.js";import{require_fast_deep_equal}from"../../../../../fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js";import{require_json_schema_traverse}from"../../../../../json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js";var require_resolve=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getSchemaRefs=e.resolveUrl=e.normalizeId=e._getFullPath=e.getFullPath=e.inlineRef=void 0;var i=require_util(),a=require_fast_deep_equal(),o=require_json_schema_traverse(),s=new Set([`type`,`format`,`pattern`,`maxLength`,`minLength`,`maxProperties`,`minProperties`,`maxItems`,`minItems`,`maximum`,`minimum`,`uniqueItems`,`multipleOf`,`required`,`enum`,`const`]);function inlineRef(e,t=!0){return typeof e==`boolean`?!0:t===!0?!hasRef(e):t?countKeys(e)<=t:!1}e.inlineRef=inlineRef;var c=new Set([`$ref`,`$recursiveRef`,`$recursiveAnchor`,`$dynamicRef`,`$dynamicAnchor`]);function hasRef(e){for(let t in e){if(c.has(t))return!0;let n=e[t];if(Array.isArray(n)&&n.some(hasRef)||typeof n==`object`&&hasRef(n))return!0}return!1}function countKeys(e){let t=0;for(let n in e)if(n===`$ref`||(t++,!s.has(n)&&(typeof e[n]==`object`&&(0,i.eachItem)(e[n],e=>t+=countKeys(e)),t===1/0)))return 1/0;return t}function getFullPath(e,t=``,n){return n!==!1&&(t=normalizeId(t)),_getFullPath(e,e.parse(t))}e.getFullPath=getFullPath;function _getFullPath(e,t){return e.serialize(t).split(`#`)[0]+`#`}e._getFullPath=_getFullPath;var l=/#\/?$/;function normalizeId(e){return e?e.replace(l,``):``}e.normalizeId=normalizeId;function resolveUrl(e,t,n){return n=normalizeId(n),e.resolve(t,n)}e.resolveUrl=resolveUrl;var u=/^[a-z_][-a-z0-9._]*$/i;function getSchemaRefs(e,t){if(typeof e==`boolean`)return{};let{schemaId:n,uriResolver:r}=this.opts,i=normalizeId(e[n]||t),s={"":i},c=getFullPath(r,i,!1),l={},d=new Set;return o(e,{allKeys:!0},(e,t,r,i)=>{if(i===void 0)return;let a=c+t,o=s[i];typeof e[n]==`string`&&(o=addRef.call(this,e[n])),addAnchor.call(this,e.$anchor),addAnchor.call(this,e.$dynamicAnchor),s[t]=o;function addRef(t){let n=this.opts.uriResolver.resolve;if(t=normalizeId(o?n(o,t):t),d.has(t))throw ambiguos(t);d.add(t);let r=this.refs[t];return typeof r==`string`&&(r=this.refs[r]),typeof r==`object`?checkAmbiguosRef(e,r.schema,t):t!==normalizeId(a)&&(t[0]===`#`?(checkAmbiguosRef(e,l[t],t),l[t]=e):this.refs[t]=a),t}function addAnchor(e){if(typeof e==`string`){if(!u.test(e))throw Error(`invalid anchor "${e}"`);addRef.call(this,`#${e}`)}}}),l;function checkAmbiguosRef(e,t,n){if(t!==void 0&&!a(e,t))throw ambiguos(n)}function ambiguos(e){return Error(`reference "${e}" resolves to more than one schema`)}}e.getSchemaRefs=getSchemaRefs}));export default require_resolve();export{require_resolve};
1
+ import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";import{require_util}from"./util.js";import{require_fast_deep_equal}from"../../../../../fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js";import{require_json_schema_traverse}from"../../../../../json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js";var require_resolve=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getSchemaRefs=e.resolveUrl=e.normalizeId=e._getFullPath=e.getFullPath=e.inlineRef=void 0;let i=require_util(),a=require_fast_deep_equal(),o=require_json_schema_traverse(),s=new Set([`type`,`format`,`pattern`,`maxLength`,`minLength`,`maxProperties`,`minProperties`,`maxItems`,`minItems`,`maximum`,`minimum`,`uniqueItems`,`multipleOf`,`required`,`enum`,`const`]);function inlineRef(e,t=!0){return typeof e==`boolean`?!0:t===!0?!hasRef(e):t?countKeys(e)<=t:!1}e.inlineRef=inlineRef;let c=new Set([`$ref`,`$recursiveRef`,`$recursiveAnchor`,`$dynamicRef`,`$dynamicAnchor`]);function hasRef(e){for(let t in e){if(c.has(t))return!0;let n=e[t];if(Array.isArray(n)&&n.some(hasRef)||typeof n==`object`&&hasRef(n))return!0}return!1}function countKeys(e){let t=0;for(let n in e)if(n===`$ref`||(t++,!s.has(n)&&(typeof e[n]==`object`&&(0,i.eachItem)(e[n],e=>t+=countKeys(e)),t===1/0)))return 1/0;return t}function getFullPath(e,t=``,n){return n!==!1&&(t=normalizeId(t)),_getFullPath(e,e.parse(t))}e.getFullPath=getFullPath;function _getFullPath(e,t){return e.serialize(t).split(`#`)[0]+`#`}e._getFullPath=_getFullPath;let l=/#\/?$/;function normalizeId(e){return e?e.replace(l,``):``}e.normalizeId=normalizeId;function resolveUrl(e,t,n){return n=normalizeId(n),e.resolve(t,n)}e.resolveUrl=resolveUrl;let u=/^[a-z_][-a-z0-9._]*$/i;function getSchemaRefs(e,t){if(typeof e==`boolean`)return{};let{schemaId:n,uriResolver:r}=this.opts,i=normalizeId(e[n]||t),s={"":i},c=getFullPath(r,i,!1),l={},d=new Set;return o(e,{allKeys:!0},(e,t,r,i)=>{if(i===void 0)return;let a=c+t,o=s[i];typeof e[n]==`string`&&(o=addRef.call(this,e[n])),addAnchor.call(this,e.$anchor),addAnchor.call(this,e.$dynamicAnchor),s[t]=o;function addRef(t){let n=this.opts.uriResolver.resolve;if(t=normalizeId(o?n(o,t):t),d.has(t))throw ambiguos(t);d.add(t);let r=this.refs[t];return typeof r==`string`&&(r=this.refs[r]),typeof r==`object`?checkAmbiguosRef(e,r.schema,t):t!==normalizeId(a)&&(t[0]===`#`?(checkAmbiguosRef(e,l[t],t),l[t]=e):this.refs[t]=a),t}function addAnchor(e){if(typeof e==`string`){if(!u.test(e))throw Error(`invalid anchor "${e}"`);addRef.call(this,`#${e}`)}}}),l;function checkAmbiguosRef(e,t,n){if(t!==void 0&&!a(e,t))throw ambiguos(n)}function ambiguos(e){return Error(`reference "${e}" resolves to more than one schema`)}}e.getSchemaRefs=getSchemaRefs}));export default require_resolve();export{require_resolve};
@@ -1 +1 @@
1
- import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";var require_rules=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getRules=e.isJSONType=void 0;var t=new Set([`string`,`number`,`integer`,`boolean`,`null`,`object`,`array`]);function isJSONType(e){return typeof e==`string`&&t.has(e)}e.isJSONType=isJSONType;function getRules(){let e={number:{type:`number`,rules:[]},string:{type:`string`,rules:[]},array:{type:`array`,rules:[]},object:{type:`object`,rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}e.getRules=getRules}));export default require_rules();export{require_rules};
1
+ import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";var require_rules=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.getRules=e.isJSONType=void 0;let t=new Set([`string`,`number`,`integer`,`boolean`,`null`,`object`,`array`]);function isJSONType(e){return typeof e==`string`&&t.has(e)}e.isJSONType=isJSONType;function getRules(){let e={number:{type:`number`,rules:[]},string:{type:`string`,rules:[]},array:{type:`array`,rules:[]},object:{type:`object`,rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}e.getRules=getRules}));export default require_rules();export{require_rules};
@@ -1 +1 @@
1
- import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";import{require_code}from"./codegen/code.js";import{require_codegen}from"./codegen/index.js";var require_util=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;var r=require_codegen(),i=require_code();function toHash(e){let t={};for(let n of e)t[n]=!0;return t}e.toHash=toHash;function alwaysValidSchema(e,t){return typeof t==`boolean`?t:Object.keys(t).length===0?!0:(checkUnknownRules(e,t),!schemaHasRules(t,e.self.RULES.all))}e.alwaysValidSchema=alwaysValidSchema;function checkUnknownRules(e,t=e.schema){let{opts:n,self:r}=e;if(!n.strictSchema||typeof t==`boolean`)return;let i=r.RULES.keywords;for(let n in t)i[n]||checkStrictMode(e,`unknown keyword: "${n}"`)}e.checkUnknownRules=checkUnknownRules;function schemaHasRules(e,t){if(typeof e==`boolean`)return!e;for(let n in e)if(t[n])return!0;return!1}e.schemaHasRules=schemaHasRules;function schemaHasRulesButRef(e,t){if(typeof e==`boolean`)return!e;for(let n in e)if(n!==`$ref`&&t.all[n])return!0;return!1}e.schemaHasRulesButRef=schemaHasRulesButRef;function schemaRefOrVal({topSchemaRef:e,schemaPath:t},n,i,a){if(!a){if(typeof n==`number`||typeof n==`boolean`)return n;if(typeof n==`string`)return(0,r._)`${n}`}return(0,r._)`${e}${t}${(0,r.getProperty)(i)}`}e.schemaRefOrVal=schemaRefOrVal;function unescapeFragment(e){return unescapeJsonPointer(decodeURIComponent(e))}e.unescapeFragment=unescapeFragment;function escapeFragment(e){return encodeURIComponent(escapeJsonPointer(e))}e.escapeFragment=escapeFragment;function escapeJsonPointer(e){return typeof e==`number`?`${e}`:e.replace(/~/g,`~0`).replace(/\//g,`~1`)}e.escapeJsonPointer=escapeJsonPointer;function unescapeJsonPointer(e){return e.replace(/~1/g,`/`).replace(/~0/g,`~`)}e.unescapeJsonPointer=unescapeJsonPointer;function eachItem(e,t){if(Array.isArray(e))for(let n of e)t(n);else t(e)}e.eachItem=eachItem;function makeMergeEvaluated({mergeNames:e,mergeToName:t,mergeValues:n,resultToName:i}){return(a,o,s,c)=>{let l=s===void 0?o:s instanceof r.Name?(o instanceof r.Name?e(a,o,s):t(a,o,s),s):o instanceof r.Name?(t(a,s,o),o):n(o,s);return c===r.Name&&!(l instanceof r.Name)?i(a,l):l}}e.mergeEvaluated={props:makeMergeEvaluated({mergeNames:(e,t,n)=>e.if((0,r._)`${n} !== true && ${t} !== undefined`,()=>{e.if((0,r._)`${t} === true`,()=>e.assign(n,!0),()=>e.assign(n,(0,r._)`${n} || {}`).code((0,r._)`Object.assign(${n}, ${t})`))}),mergeToName:(e,t,n)=>e.if((0,r._)`${n} !== true`,()=>{t===!0?e.assign(n,!0):(e.assign(n,(0,r._)`${n} || {}`),setEvaluated(e,n,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:evaluatedPropsToName}),items:makeMergeEvaluated({mergeNames:(e,t,n)=>e.if((0,r._)`${n} !== true && ${t} !== undefined`,()=>e.assign(n,(0,r._)`${t} === true ? true : ${n} > ${t} ? ${n} : ${t}`)),mergeToName:(e,t,n)=>e.if((0,r._)`${n} !== true`,()=>e.assign(n,t===!0?!0:(0,r._)`${n} > ${t} ? ${n} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var(`items`,t)})};function evaluatedPropsToName(e,t){if(t===!0)return e.var(`props`,!0);let n=e.var(`props`,(0,r._)`{}`);return t!==void 0&&setEvaluated(e,n,t),n}e.evaluatedPropsToName=evaluatedPropsToName;function setEvaluated(e,t,n){Object.keys(n).forEach(n=>e.assign((0,r._)`${t}${(0,r.getProperty)(n)}`,!0))}e.setEvaluated=setEvaluated;var a={};function useFunc(e,t){return e.scopeValue(`func`,{ref:t,code:a[t.code]||(a[t.code]=new i._Code(t.code))})}e.useFunc=useFunc;var o;(function(e){e[e.Num=0]=`Num`,e[e.Str=1]=`Str`})(o||(e.Type=o={}));function getErrorPath(e,t,n){if(e instanceof r.Name){let i=t===o.Num;return n?i?(0,r._)`"[" + ${e} + "]"`:(0,r._)`"['" + ${e} + "']"`:i?(0,r._)`"/" + ${e}`:(0,r._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return n?(0,r.getProperty)(e).toString():`/`+escapeJsonPointer(e)}e.getErrorPath=getErrorPath;function checkStrictMode(e,t,n=e.opts.strictSchema){if(n){if(t=`strict mode: ${t}`,n===!0)throw Error(t);e.self.logger.warn(t)}}e.checkStrictMode=checkStrictMode}));export default require_util();export{require_util};
1
+ import{__commonJSMin}from"../../../../../../../_virtual/_rolldown/runtime.js";import{require_code}from"./codegen/code.js";import{require_codegen}from"./codegen/index.js";var require_util=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;let r=require_codegen(),i=require_code();function toHash(e){let t={};for(let n of e)t[n]=!0;return t}e.toHash=toHash;function alwaysValidSchema(e,t){return typeof t==`boolean`?t:Object.keys(t).length===0?!0:(checkUnknownRules(e,t),!schemaHasRules(t,e.self.RULES.all))}e.alwaysValidSchema=alwaysValidSchema;function checkUnknownRules(e,t=e.schema){let{opts:n,self:r}=e;if(!n.strictSchema||typeof t==`boolean`)return;let i=r.RULES.keywords;for(let n in t)i[n]||checkStrictMode(e,`unknown keyword: "${n}"`)}e.checkUnknownRules=checkUnknownRules;function schemaHasRules(e,t){if(typeof e==`boolean`)return!e;for(let n in e)if(t[n])return!0;return!1}e.schemaHasRules=schemaHasRules;function schemaHasRulesButRef(e,t){if(typeof e==`boolean`)return!e;for(let n in e)if(n!==`$ref`&&t.all[n])return!0;return!1}e.schemaHasRulesButRef=schemaHasRulesButRef;function schemaRefOrVal({topSchemaRef:e,schemaPath:t},n,i,a){if(!a){if(typeof n==`number`||typeof n==`boolean`)return n;if(typeof n==`string`)return(0,r._)`${n}`}return(0,r._)`${e}${t}${(0,r.getProperty)(i)}`}e.schemaRefOrVal=schemaRefOrVal;function unescapeFragment(e){return unescapeJsonPointer(decodeURIComponent(e))}e.unescapeFragment=unescapeFragment;function escapeFragment(e){return encodeURIComponent(escapeJsonPointer(e))}e.escapeFragment=escapeFragment;function escapeJsonPointer(e){return typeof e==`number`?`${e}`:e.replace(/~/g,`~0`).replace(/\//g,`~1`)}e.escapeJsonPointer=escapeJsonPointer;function unescapeJsonPointer(e){return e.replace(/~1/g,`/`).replace(/~0/g,`~`)}e.unescapeJsonPointer=unescapeJsonPointer;function eachItem(e,t){if(Array.isArray(e))for(let n of e)t(n);else t(e)}e.eachItem=eachItem;function makeMergeEvaluated({mergeNames:e,mergeToName:t,mergeValues:n,resultToName:i}){return(a,o,s,c)=>{let l=s===void 0?o:s instanceof r.Name?(o instanceof r.Name?e(a,o,s):t(a,o,s),s):o instanceof r.Name?(t(a,s,o),o):n(o,s);return c===r.Name&&!(l instanceof r.Name)?i(a,l):l}}e.mergeEvaluated={props:makeMergeEvaluated({mergeNames:(e,t,n)=>e.if((0,r._)`${n} !== true && ${t} !== undefined`,()=>{e.if((0,r._)`${t} === true`,()=>e.assign(n,!0),()=>e.assign(n,(0,r._)`${n} || {}`).code((0,r._)`Object.assign(${n}, ${t})`))}),mergeToName:(e,t,n)=>e.if((0,r._)`${n} !== true`,()=>{t===!0?e.assign(n,!0):(e.assign(n,(0,r._)`${n} || {}`),setEvaluated(e,n,t))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:evaluatedPropsToName}),items:makeMergeEvaluated({mergeNames:(e,t,n)=>e.if((0,r._)`${n} !== true && ${t} !== undefined`,()=>e.assign(n,(0,r._)`${t} === true ? true : ${n} > ${t} ? ${n} : ${t}`)),mergeToName:(e,t,n)=>e.if((0,r._)`${n} !== true`,()=>e.assign(n,t===!0?!0:(0,r._)`${n} > ${t} ? ${n} : ${t}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var(`items`,t)})};function evaluatedPropsToName(e,t){if(t===!0)return e.var(`props`,!0);let n=e.var(`props`,(0,r._)`{}`);return t!==void 0&&setEvaluated(e,n,t),n}e.evaluatedPropsToName=evaluatedPropsToName;function setEvaluated(e,t,n){Object.keys(n).forEach(n=>e.assign((0,r._)`${t}${(0,r.getProperty)(n)}`,!0))}e.setEvaluated=setEvaluated;let a={};function useFunc(e,t){return e.scopeValue(`func`,{ref:t,code:a[t.code]||(a[t.code]=new i._Code(t.code))})}e.useFunc=useFunc;var o;(function(e){e[e.Num=0]=`Num`,e[e.Str=1]=`Str`})(o||(e.Type=o={}));function getErrorPath(e,t,n){if(e instanceof r.Name){let i=t===o.Num;return n?i?(0,r._)`"[" + ${e} + "]"`:(0,r._)`"['" + ${e} + "']"`:i?(0,r._)`"/" + ${e}`:(0,r._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return n?(0,r.getProperty)(e).toString():`/`+escapeJsonPointer(e)}e.getErrorPath=getErrorPath;function checkStrictMode(e,t,n=e.opts.strictSchema){if(n){if(t=`strict mode: ${t}`,n===!0)throw Error(t);e.self.logger.warn(t)}}e.checkStrictMode=checkStrictMode}));export default require_util();export{require_util};
@@ -1 +1 @@
1
- import{__commonJSMin}from"../../../../../../../../_virtual/_rolldown/runtime.js";import{require_codegen}from"../codegen/index.js";import{require_names}from"../names.js";import{require_errors}from"../errors.js";var require_boolSchema=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.boolOrEmptySchema=e.topBoolOrEmptySchema=void 0;var i=require_errors(),a=require_codegen(),o=require_names(),s={message:`boolean schema is false`};function topBoolOrEmptySchema(e){let{gen:t,schema:n,validateName:r}=e;n===!1?falseSchemaError(e,!1):typeof n==`object`&&n.$async===!0?t.return(o.default.data):(t.assign((0,a._)`${r}.errors`,null),t.return(!0))}e.topBoolOrEmptySchema=topBoolOrEmptySchema;function boolOrEmptySchema(e,t){let{gen:n,schema:r}=e;r===!1?(n.var(t,!1),falseSchemaError(e)):n.var(t,!0)}e.boolOrEmptySchema=boolOrEmptySchema;function falseSchemaError(e,t){let{gen:n,data:r}=e,a={gen:n,keyword:`false schema`,data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,i.reportError)(a,s,void 0,t)}}));export default require_boolSchema();export{require_boolSchema};
1
+ import{__commonJSMin}from"../../../../../../../../_virtual/_rolldown/runtime.js";import{require_codegen}from"../codegen/index.js";import{require_names}from"../names.js";import{require_errors}from"../errors.js";var require_boolSchema=__commonJSMin((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.boolOrEmptySchema=e.topBoolOrEmptySchema=void 0;let i=require_errors(),a=require_codegen(),o=require_names(),s={message:`boolean schema is false`};function topBoolOrEmptySchema(e){let{gen:t,schema:n,validateName:r}=e;n===!1?falseSchemaError(e,!1):typeof n==`object`&&n.$async===!0?t.return(o.default.data):(t.assign((0,a._)`${r}.errors`,null),t.return(!0))}e.topBoolOrEmptySchema=topBoolOrEmptySchema;function boolOrEmptySchema(e,t){let{gen:n,schema:r}=e;r===!1?(n.var(t,!1),falseSchemaError(e)):n.var(t,!0)}e.boolOrEmptySchema=boolOrEmptySchema;function falseSchemaError(e,t){let{gen:n,data:r}=e,a={gen:n,keyword:`false schema`,data:r,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,i.reportError)(a,s,void 0,t)}}));export default require_boolSchema();export{require_boolSchema};