experimental-ash 0.25.2 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/bin/ash.d.ts +4 -4
- package/bin/ash.js +12 -8
- package/dist/docs/public/channels/README.md +26 -2
- package/dist/docs/public/channels/discord.md +159 -0
- package/dist/docs/public/channels/slack.md +14 -2
- package/dist/docs/public/subagents.md +38 -0
- package/dist/src/_virtual/_rolldown/runtime.js +1 -0
- package/dist/src/channel/adapter-context.js +1 -24
- package/dist/src/channel/adapter.js +1 -62
- package/dist/src/channel/compiled-channel.js +1 -6
- package/dist/src/channel/cross-channel-receive.js +2 -108
- package/dist/src/channel/http.js +1 -30
- package/dist/src/channel/receive-args.js +1 -1
- package/dist/src/channel/resolve-text.js +1 -59
- package/dist/src/channel/routes.js +1 -15
- package/dist/src/channel/schedule.js +1 -81
- package/dist/src/channel/send.js +1 -81
- package/dist/src/channel/session-callback.js +1 -65
- package/dist/src/channel/session.js +1 -58
- package/dist/src/channel/types.js +1 -1
- package/dist/src/cli/commands/channels.d.ts +15 -0
- package/dist/src/cli/commands/channels.js +3 -0
- package/dist/src/cli/commands/info.js +2 -2
- package/dist/src/cli/dev/environment.js +1 -1
- package/dist/src/cli/dev/input-requests.js +1 -1
- package/dist/src/cli/dev/input.js +1 -1
- package/dist/src/cli/dev/repl.js +2 -3
- package/dist/src/cli/dev/terminal.js +5 -5
- package/dist/src/cli/dev/url.js +1 -1
- package/dist/src/cli/run.js +2 -2
- package/dist/src/cli/ui/output.js +8 -8
- package/dist/src/client/client-error.js +1 -19
- package/dist/src/client/client.js +1 -128
- package/dist/src/client/index.js +1 -11
- package/dist/src/client/message-reducer-types.js +1 -1
- package/dist/src/client/message-reducer.js +1 -456
- package/dist/src/client/message-response.js +1 -55
- package/dist/src/client/ndjson.js +3 -62
- package/dist/src/client/open-stream.js +1 -45
- package/dist/src/client/reducer.js +1 -1
- package/dist/src/client/session-utils.js +1 -62
- package/dist/src/client/session.js +1 -206
- package/dist/src/client/types.js +1 -1
- package/dist/src/client/url.js +1 -34
- package/dist/src/compiled/.vendor-stamp.json +6 -1
- package/dist/src/compiled/@vercel/oidc/LICENSE +202 -0
- package/dist/src/compiled/@vercel/oidc/index.d.ts +21 -0
- package/dist/src/compiled/@vercel/oidc/index.js +2 -0
- package/dist/src/compiled/@vercel/oidc/package.json +7 -0
- package/dist/src/compiled/chokidar/LICENSE +21 -0
- package/dist/src/compiled/chokidar/index.d.ts +33 -0
- package/dist/src/compiled/chokidar/index.js +1 -0
- package/dist/src/compiled/chokidar/package.json +7 -0
- package/dist/src/compiled/commander/LICENSE +22 -0
- package/dist/src/compiled/commander/index.d.ts +1113 -0
- package/dist/src/{chunks/url-JdCGA634.js → compiled/commander/index.js} +10 -10
- package/dist/src/compiled/commander/package.json +7 -0
- package/dist/src/compiled/gray-matter/LICENSE +21 -0
- package/dist/src/compiled/gray-matter/index.d.ts +62 -0
- package/dist/src/{chunks/gray-matter-D-9jHwOT.js → compiled/gray-matter/index.js} +2 -2
- package/dist/src/compiled/gray-matter/package.json +7 -0
- package/dist/src/compiled/picocolors/LICENSE +15 -0
- package/dist/src/compiled/picocolors/index.d.ts +55 -0
- package/dist/src/compiled/picocolors/index.js +1 -0
- package/dist/src/compiled/picocolors/package.json +7 -0
- package/dist/src/compiler/artifacts.js +1 -147
- package/dist/src/compiler/compile-agent.js +3 -76
- package/dist/src/compiler/compile-from-memory.js +1 -59
- package/dist/src/compiler/manifest.js +1 -424
- package/dist/src/compiler/model-catalog.js +1 -224
- package/dist/src/compiler/module-map.js +5 -295
- package/dist/src/compiler/normalize-agent-config.js +1 -157
- package/dist/src/compiler/normalize-channel.js +1 -51
- package/dist/src/compiler/normalize-connection.js +1 -58
- package/dist/src/compiler/normalize-helpers.js +1 -23
- package/dist/src/compiler/normalize-hook.js +1 -19
- package/dist/src/compiler/normalize-instructions.js +1 -28
- package/dist/src/compiler/normalize-manifest.js +1 -79
- package/dist/src/compiler/normalize-sandbox.js +1 -20
- package/dist/src/compiler/normalize-schedule.js +1 -38
- package/dist/src/compiler/normalize-skill.js +1 -60
- package/dist/src/compiler/normalize-subagent.js +1 -174
- package/dist/src/compiler/normalize-tool.js +1 -40
- package/dist/src/compiler/remote-agent-node.js +1 -19
- package/dist/src/compiler/workspace-resources.js +1 -85
- package/dist/src/context/accessors.js +1 -93
- package/dist/src/context/container.js +1 -89
- package/dist/src/context/hook-lifecycle.js +1 -242
- package/dist/src/context/key.js +1 -39
- package/dist/src/context/keys.js +1 -43
- package/dist/src/context/node.js +1 -9
- package/dist/src/context/provider.js +1 -1
- package/dist/src/context/providers/connection.js +1 -17
- package/dist/src/context/providers/sandbox.js +1 -46
- package/dist/src/context/providers/session.js +1 -18
- package/dist/src/context/run-step.js +1 -51
- package/dist/src/context/seed-keys.js +1 -37
- package/dist/src/context/serialize.js +1 -44
- package/dist/src/discover/connections.js +1 -153
- package/dist/src/discover/diagnostics.js +1 -82
- package/dist/src/discover/discover-agent.js +1 -159
- package/dist/src/discover/discover-subagent.js +1 -223
- package/dist/src/discover/filesystem.js +1 -215
- package/dist/src/discover/grammar.js +1 -371
- package/dist/src/discover/lib.js +1 -34
- package/dist/src/discover/manifest.js +1 -136
- package/dist/src/discover/markdown.js +1 -17
- package/dist/src/discover/named-source-directory.js +1 -188
- package/dist/src/discover/project-source.js +1 -152
- package/dist/src/discover/project.js +1 -117
- package/dist/src/discover/sandbox.js +1 -220
- package/dist/src/discover/schedules.js +1 -41
- package/dist/src/discover/skills.js +1 -274
- package/dist/src/discover/slots.js +1 -68
- package/dist/src/evals/cli/eval.js +1 -1
- package/dist/src/evals/define-eval-suite.js +1 -1
- package/dist/src/evals/index.js +1 -1
- package/dist/src/evals/loaders/index.js +1 -1
- package/dist/src/evals/loaders/json.js +1 -1
- package/dist/src/evals/loaders/yaml.js +1 -1
- package/dist/src/evals/reporters/index.js +1 -1
- package/dist/src/evals/runner/artifacts.js +3 -3
- package/dist/src/evals/runner/derive-run-facts.js +1 -1
- package/dist/src/evals/runner/discover.js +1 -1
- package/dist/src/evals/runner/execute-case.js +1 -1
- package/dist/src/evals/runner/execute-suite.js +1 -1
- package/dist/src/evals/runner/reporters/braintrust.js +2 -2
- package/dist/src/evals/runner/reporters/console.js +1 -1
- package/dist/src/evals/runner/resolve-git-metadata.js +1 -1
- package/dist/src/evals/scorers/autoevals-client.js +2 -2
- package/dist/src/evals/scorers/autoevals.js +1 -1
- package/dist/src/evals/scorers/json.js +1 -1
- package/dist/src/evals/scorers/run.js +1 -1
- package/dist/src/evals/scorers/sql.js +1 -1
- package/dist/src/evals/scorers/text.js +1 -1
- package/dist/src/evals/scores/index.js +1 -1
- package/dist/src/execution/authorization-challenge-defaults.js +1 -60
- package/dist/src/execution/await-authorization-orchestrator.js +1 -192
- package/dist/src/execution/await-authorization-splice.js +1 -66
- package/dist/src/execution/connection-auth-steps.js +1 -338
- package/dist/src/execution/node-step.js +1 -146
- package/dist/src/execution/remote-agent-dispatch.js +1 -79
- package/dist/src/execution/runtime-context.js +1 -26
- package/dist/src/execution/runtime-errors.js +1 -19
- package/dist/src/execution/sandbox/bash-tool.js +1 -42
- package/dist/src/execution/sandbox/bindings/local.js +1 -296
- package/dist/src/execution/sandbox/bindings/vercel.js +1 -363
- package/dist/src/execution/sandbox/ensure.js +1 -91
- package/dist/src/execution/sandbox/glob-tool.js +3 -146
- package/dist/src/execution/sandbox/grep-tool.js +3 -183
- package/dist/src/execution/sandbox/lazy-backend.js +1 -33
- package/dist/src/execution/sandbox/prewarm.js +1 -132
- package/dist/src/execution/sandbox/read-file-tool.js +3 -118
- package/dist/src/execution/sandbox/require-sandbox.js +1 -32
- package/dist/src/execution/sandbox/ripgrep-probe.js +1 -36
- package/dist/src/execution/sandbox/session.js +3 -158
- package/dist/src/execution/sandbox/shell-quote.js +1 -14
- package/dist/src/execution/sandbox/stream-utils.js +1 -22
- package/dist/src/execution/sandbox/truncate-output.js +3 -110
- package/dist/src/execution/sandbox/write-file-tool.js +1 -62
- package/dist/src/execution/session-callback-step.js +1 -72
- package/dist/src/execution/session.js +3 -94
- package/dist/src/execution/skills/instructions.js +2 -30
- package/dist/src/execution/skills/types.js +1 -1
- package/dist/src/execution/subagent-adapter.js +1 -94
- package/dist/src/execution/subagent-hitl-proxy.js +1 -81
- package/dist/src/execution/subagent-invocation.js +2 -16
- package/dist/src/execution/subagent-tool.js +1 -48
- package/dist/src/execution/tool-compaction.js +1 -54
- package/dist/src/execution/turn-workflow.js +1 -95
- package/dist/src/execution/web-fetch/html.js +7 -60
- package/dist/src/execution/web-fetch/tool.js +1 -90
- package/dist/src/execution/workflow-entry.js +1 -494
- package/dist/src/execution/workflow-errors.js +1 -54
- package/dist/src/execution/workflow-runtime.js +3 -161
- package/dist/src/execution/workflow-steps.js +1 -467
- package/dist/src/harness/action-result-helpers.js +1 -82
- package/dist/src/harness/attachment-staging.js +1 -303
- package/dist/src/harness/compaction.js +4 -221
- package/dist/src/harness/emission.js +1 -323
- package/dist/src/harness/execute-tool.js +1 -1
- package/dist/src/harness/input-extraction.js +1 -62
- package/dist/src/harness/input-requests.js +1 -306
- package/dist/src/harness/instrumentation-config.js +1 -42
- package/dist/src/harness/messages.js +1 -144
- package/dist/src/harness/model-call-error.js +1 -368
- package/dist/src/harness/otel-integration.js +1 -18
- package/dist/src/harness/prompt-cache.js +1 -137
- package/dist/src/harness/provider-tools.js +1 -137
- package/dist/src/harness/proxy-input-requests.js +1 -91
- package/dist/src/harness/runtime-actions.js +1 -321
- package/dist/src/harness/step-hooks.js +1 -192
- package/dist/src/harness/tool-loop.js +1 -877
- package/dist/src/harness/tool-result-pruning.js +1 -124
- package/dist/src/harness/tools.js +1 -98
- package/dist/src/harness/types.js +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/internal/application/cache-metadata.js +1 -42
- package/dist/src/internal/application/compiled-artifacts.js +4 -114
- package/dist/src/internal/application/import-specifier.js +1 -58
- package/dist/src/internal/application/package.js +1 -196
- package/dist/src/internal/application/paths.js +1 -117
- package/dist/src/internal/application/runtime-compiled-artifacts-source.js +1 -11
- package/dist/src/internal/attachments/data.js +1 -127
- package/dist/src/internal/attachments/errors.js +1 -26
- package/dist/src/internal/attachments/refs.js +1 -94
- package/dist/src/internal/attachments/sandbox-refs.js +1 -78
- package/dist/src/internal/attachments/url-refs.js +1 -20
- package/dist/src/internal/authored-asset-import-plugin.js +1 -141
- package/dist/src/internal/authored-definition/channel.js +1 -21
- package/dist/src/internal/authored-definition/connection.js +1 -148
- package/dist/src/internal/authored-definition/core.js +1 -180
- package/dist/src/internal/authored-definition/sandbox.js +1 -47
- package/dist/src/internal/authored-definition/schema-backed.js +1 -56
- package/dist/src/internal/authored-module-bundle.js +2 -19
- package/dist/src/internal/authored-module-loader.js +2 -263
- package/dist/src/internal/authored-module-map-loader.js +1 -53
- package/dist/src/internal/authored-module.js +1 -81
- package/dist/src/internal/authored-package-tsconfig-paths.js +1 -209
- package/dist/src/internal/bundler/nitro-rolldown.js +1 -42
- package/dist/src/internal/helpers/markdown.js +3 -174
- package/dist/src/internal/json-schema.js +1 -13
- package/dist/src/internal/logging.js +1 -226
- package/dist/src/internal/nitro/host/artifacts-config.js +1 -17
- package/dist/src/internal/nitro/host/build-application.js +1 -177
- package/dist/src/internal/nitro/host/build-vercel-agent-summary.js +1 -140
- package/dist/src/internal/nitro/host/channel-routes.js +2 -126
- package/dist/src/internal/nitro/host/compiled-sandbox-backend-prune-plugin.js +2 -28
- package/dist/src/internal/nitro/host/configure-nitro-routes.js +4 -272
- package/dist/src/internal/nitro/host/create-application-nitro.js +1 -491
- package/dist/src/internal/nitro/host/cron-handler-route.js +1 -49
- package/dist/src/internal/nitro/host/dev-authored-source-watcher.js +1 -390
- package/dist/src/internal/nitro/host/nitro-bundler-config.js +1 -10
- package/dist/src/internal/nitro/host/nitro-routing-import-specifier-plugin.js +1 -28
- package/dist/src/internal/nitro/host/prepare-application-host.js +1 -32
- package/dist/src/internal/nitro/host/schedule-task-routes.js +2 -148
- package/dist/src/internal/nitro/host/server-external-packages.js +1 -107
- package/dist/src/internal/nitro/host/start-development-server.js +1 -223
- package/dist/src/internal/nitro/host/types.js +1 -1
- package/dist/src/internal/nitro/host/vercel-build-output-config.js +1 -14
- package/dist/src/internal/nitro/host/vercel-build-prewarm.js +1 -30
- package/dist/src/internal/nitro/host.js +1 -2
- package/dist/src/internal/nitro/routes/agent-info/build-agent-info-response.js +2 -180
- package/dist/src/internal/nitro/routes/agent-info/load-agent-info-data.js +1 -46
- package/dist/src/internal/nitro/routes/channel-dispatch.js +1 -74
- package/dist/src/internal/nitro/routes/health.js +1 -17
- package/dist/src/internal/nitro/routes/index.js +2 -89
- package/dist/src/internal/nitro/routes/info.js +1 -50
- package/dist/src/internal/nitro/routes/runtime-artifacts.js +1 -24
- package/dist/src/internal/nitro/routes/runtime-stack.js +1 -23
- package/dist/src/internal/nitro/routes/schedule-task.js +1 -57
- package/dist/src/internal/nitro/routes/workflow-data.js +1 -141
- package/dist/src/internal/nitro/routes/workflow-route-helpers.js +1 -137
- package/dist/src/internal/nitro/routes/workflow-run-events.js +1 -41
- package/dist/src/internal/nitro/routes/workflow-run-steps.js +1 -41
- package/dist/src/internal/nitro/routes/workflow-run.js +1 -34
- package/dist/src/internal/nitro/routes/workflow-runs.js +1 -28
- package/dist/src/internal/node-esm-compat-banner.js +2 -65
- package/dist/src/internal/package-name.js +1 -8
- package/dist/src/internal/process/pnpm.d.ts +28 -0
- package/dist/src/internal/process/pnpm.js +1 -0
- package/dist/src/internal/runtime-model.js +1 -24
- package/dist/src/internal/runtime-registry.js +1 -93
- package/dist/src/internal/vercel-agent-summary.js +1 -72
- package/dist/src/internal/workflow/builtins.js +1 -18
- package/dist/src/internal/workflow/index.js +1 -9
- package/dist/src/internal/workflow-bundle/ash-service-route-output.js +3 -93
- package/dist/src/internal/workflow-bundle/builder-support.js +5 -372
- package/dist/src/internal/workflow-bundle/builder.js +5 -472
- package/dist/src/internal/workflow-bundle/nitro-step-entry.js +2 -132
- package/dist/src/internal/workflow-bundle/vercel-workflow-output.js +3 -494
- package/dist/src/internal/workflow-bundle/workflow-builders.js +1 -292
- package/dist/src/internal/workflow-bundle/workflow-core-shim.js +1 -84
- package/dist/src/internal/workflow-bundle/workflow-transformer.js +5 -318
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/ajv.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/code.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/index.js +2 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/codegen/scope.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/errors.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/index.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/names.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/ref_error.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/resolve.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/rules.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/util.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/applicability.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/boolSchema.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/dataType.js +4 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/defaults.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/index.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/keyword.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/compile/validate/subschema.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/core.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/data.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/refs/json-schema-draft-07.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/equal.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/ucs2length.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/uri.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/runtime/validation_error.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/allOf.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/contains.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +4 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/if.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/index.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/items2020.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/not.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/properties.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/code.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/id.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/index.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/core/ref.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/index.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/discriminator/types.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/draft7.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/format.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/format/index.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/metadata.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/const.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/enum.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/index.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitItems.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitLength.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/pattern.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/required.js +1 -0
- package/dist/src/node_modules/.pnpm/ajv@8.20.0/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +1 -0
- package/dist/src/node_modules/.pnpm/autoevals@0.0.132_ws@8.21.0/node_modules/autoevals/jsdist/index.js +384 -0
- package/dist/src/node_modules/.pnpm/compute-cosine-similarity@1.1.0/node_modules/compute-cosine-similarity/lib/index.js +1 -0
- package/dist/src/node_modules/.pnpm/compute-dot@1.1.0/node_modules/compute-dot/lib/index.js +1 -0
- package/dist/src/node_modules/.pnpm/compute-l2norm@1.1.0/node_modules/compute-l2norm/lib/index.js +1 -0
- package/dist/src/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +1 -0
- package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/index.js +1 -0
- package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/schemes.js +1 -0
- package/dist/src/node_modules/.pnpm/fast-uri@3.1.2/node_modules/fast-uri/lib/utils.js +1 -0
- package/dist/src/node_modules/.pnpm/js-levenshtein@1.1.6/node_modules/js-levenshtein/index.js +1 -0
- package/dist/src/node_modules/.pnpm/js-yaml@4.1.1/node_modules/js-yaml/dist/js-yaml.js +32 -0
- package/dist/src/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +1 -0
- package/dist/src/node_modules/.pnpm/mustache@4.2.0/node_modules/mustache/mustache.js +4 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/_vendor/partial-json-parser/parser.js +2 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/auth/workload-identity-auth.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/azure.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/client.js +11 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/api-promise.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/error.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/pagination.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/resource.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/streaming.js +3 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/core/uploads.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/error.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/index.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/decoders/line.js +3 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/detect-platform.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/errors.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/headers.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/parse.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/qs/formats.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/qs/stringify.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/qs/utils.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/request-options.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/shims.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/to-file.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/tslib.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/uploads.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/base64.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/bytes.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/env.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/log.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/path.js +2 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/query.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/sleep.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/uuid.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils/values.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/internal/utils.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/AbstractChatCompletionRunner.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/AssistantStream.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/ChatCompletionRunner.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/ChatCompletionStream.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/ChatCompletionStreamingRunner.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/EventStream.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/ResponsesParser.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/RunnableFunction.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/Util.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/chatCompletionUtils.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/parser.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/lib/responses/ResponseStream.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/admin.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/admin-api-keys.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/audit-logs.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/certificates.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/data-retention.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/groups/groups.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/groups/roles.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/groups/users.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/invites.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/organization.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/api-keys.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/certificates.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/data-retention.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/groups/groups.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/groups/roles.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/hosted-tool-permissions.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/model-permissions.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/projects.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/rate-limits.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/roles.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/service-accounts.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/spend-alerts.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/users/roles.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/projects/users/users.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/roles.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/spend-alerts.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/usage.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/users/roles.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/admin/organization/users/users.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/audio.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/speech.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/transcriptions.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/audio/translations.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/batches.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/assistants.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/beta.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/chatkit/chatkit.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/chatkit/sessions.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/chatkit/threads.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/realtime/realtime.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/realtime/sessions.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/realtime/transcription-sessions.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/messages.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/runs/runs.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/runs/steps.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/beta/threads/threads.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/chat.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/completions/completions.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/completions/index.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/completions/messages.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/chat/index.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/completions.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/containers/containers.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/containers/files/content.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/containers/files/files.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/conversations/conversations.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/conversations/items.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/embeddings.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/evals/evals.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/evals/runs/output-items.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/evals/runs/runs.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/files.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/alpha/alpha.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/alpha/graders.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/checkpoints/checkpoints.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/checkpoints/permissions.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/fine-tuning.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/jobs/checkpoints.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/jobs/jobs.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/fine-tuning/methods.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/graders/grader-models.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/graders/graders.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/images.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/index.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/models.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/moderations.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/realtime/calls.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/realtime/client-secrets.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/realtime/realtime.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/responses/input-items.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/responses/input-tokens.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/responses/responses.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/shared.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/content.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/skills.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/versions/content.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/skills/versions/versions.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/uploads/parts.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/uploads/uploads.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/vector-stores/file-batches.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/vector-stores/files.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/vector-stores/vector-stores.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/videos.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/webhooks/index.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/webhooks/webhooks.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/resources/webhooks.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/streaming.js +1 -0
- package/dist/src/node_modules/.pnpm/openai@6.39.0_ws@8.21.0_zod@3.25.76/node_modules/openai/version.js +1 -0
- package/dist/src/node_modules/.pnpm/validate.io-array@1.0.6/node_modules/validate.io-array/lib/index.js +1 -0
- package/dist/src/node_modules/.pnpm/validate.io-function@1.0.2/node_modules/validate.io-function/lib/index.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Options.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/Refs.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/errorMessages.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/getRelativePath.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/index.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseDef.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parseTypes.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/any.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/array.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/branded.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/catch.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/date.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/default.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/effects.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/enum.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/literal.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/map.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/never.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/null.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/number.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/object.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/optional.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/promise.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/record.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/set.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/string.js +3 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/union.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/selectParser.js +1 -0
- package/dist/src/node_modules/.pnpm/zod-to-json-schema@3.25.2_zod@3.25.76/node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js +1 -0
- package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/index.js +1 -0
- package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/ZodError.js +1 -0
- package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/errors.js +1 -0
- package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/external.js +1 -0
- package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/errorUtil.js +1 -0
- package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js +1 -0
- package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/util.js +1 -0
- package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/index.js +1 -0
- package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/locales/en.js +1 -0
- package/dist/src/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js +1 -0
- package/dist/src/packages/ash-scaffold/src/channels.js +7 -0
- package/dist/src/packages/ash-scaffold/src/files.js +1 -0
- package/dist/src/packages/ash-scaffold/src/index.js +1 -0
- package/dist/src/packages/ash-scaffold/src/module-files.js +1 -0
- package/dist/src/packages/ash-scaffold/src/package-json.js +1 -0
- package/dist/src/packages/ash-scaffold/src/project.js +1 -0
- package/dist/src/protocol/message.js +2 -501
- package/dist/src/protocol/routes.js +1 -85
- package/dist/src/public/agents/auth.js +1 -37
- package/dist/src/public/channels/ash.js +2 -346
- package/dist/src/public/channels/auth.js +1 -414
- package/dist/src/public/channels/discord/api.d.ts +99 -0
- package/dist/src/public/channels/discord/api.js +2 -0
- package/dist/src/public/channels/discord/defaults.d.ts +9 -0
- package/dist/src/public/channels/discord/defaults.js +3 -0
- package/dist/src/public/channels/discord/discordChannel.d.ts +132 -0
- package/dist/src/public/channels/discord/discordChannel.js +1 -0
- package/dist/src/public/channels/discord/hitl.d.ts +34 -0
- package/dist/src/public/channels/discord/hitl.js +1 -0
- package/dist/src/public/channels/discord/inbound.d.ts +97 -0
- package/dist/src/public/channels/discord/inbound.js +2 -0
- package/dist/src/public/channels/discord/index.d.ts +7 -0
- package/dist/src/public/channels/discord/index.js +1 -0
- package/dist/src/public/channels/discord/responses.d.ts +11 -0
- package/dist/src/public/channels/discord/responses.js +1 -0
- package/dist/src/public/channels/discord/verify.d.ts +38 -0
- package/dist/src/public/channels/discord/verify.js +1 -0
- package/dist/src/public/channels/discord/verifyInbound.d.ts +6 -0
- package/dist/src/public/channels/discord/verifyInbound.js +1 -0
- package/dist/src/public/channels/index.js +1 -1
- package/dist/src/public/channels/slack/api-encoding.js +1 -40
- package/dist/src/public/channels/slack/api.js +1 -333
- package/dist/src/public/channels/slack/attachments.js +1 -156
- package/dist/src/public/channels/slack/blocks.js +3 -266
- package/dist/src/public/channels/slack/connections.js +1 -70
- package/dist/src/public/channels/slack/constants.d.ts +7 -0
- package/dist/src/public/channels/slack/constants.js +1 -0
- package/dist/src/public/channels/slack/defaults.js +4 -211
- package/dist/src/public/channels/slack/hitl.js +1 -242
- package/dist/src/public/channels/slack/inbound.js +2 -149
- package/dist/src/public/channels/slack/index.js +1 -13
- package/dist/src/public/channels/slack/interactions.js +1 -315
- package/dist/src/public/channels/slack/limits.js +1 -75
- package/dist/src/public/channels/slack/mrkdwn.js +1 -89
- package/dist/src/public/channels/slack/slackChannel.js +1 -250
- package/dist/src/public/channels/slack/thread.js +1 -45
- package/dist/src/public/channels/slack/verify.js +1 -70
- package/dist/src/public/channels/twilio/api.js +1 -103
- package/dist/src/public/channels/twilio/defaults.js +3 -69
- package/dist/src/public/channels/twilio/inbound.js +2 -123
- package/dist/src/public/channels/twilio/index.js +1 -4
- package/dist/src/public/channels/twilio/twilioChannel.js +1 -316
- package/dist/src/public/channels/twilio/twiml.js +1 -58
- package/dist/src/public/channels/twilio/verify.js +1 -73
- package/dist/src/public/channels/upload-policy.js +1 -170
- package/dist/src/public/connections/errors.js +1 -53
- package/dist/src/public/connections/index.js +1 -6
- package/dist/src/public/context/index.js +1 -13
- package/dist/src/public/definitions/agent.js +1 -6
- package/dist/src/public/definitions/channel.js +1 -24
- package/dist/src/public/definitions/connections/mcp.js +1 -20
- package/dist/src/public/definitions/defineChannel.js +1 -74
- package/dist/src/public/definitions/hook.js +1 -11
- package/dist/src/public/definitions/instructions.js +1 -7
- package/dist/src/public/definitions/instrumentation.js +1 -13
- package/dist/src/public/definitions/remote-agent.js +1 -11
- package/dist/src/public/definitions/sandbox-backend.js +1 -13
- package/dist/src/public/definitions/sandbox.js +1 -6
- package/dist/src/public/definitions/schedule.js +1 -32
- package/dist/src/public/definitions/skill.js +1 -7
- package/dist/src/public/definitions/source.js +1 -1
- package/dist/src/public/definitions/state.js +1 -34
- package/dist/src/public/definitions/tool.js +1 -27
- package/dist/src/public/hooks/index.js +1 -9
- package/dist/src/public/index.js +1 -5
- package/dist/src/public/instructions/index.js +1 -4
- package/dist/src/public/instrumentation/index.js +1 -4
- package/dist/src/public/next/index.js +1 -148
- package/dist/src/public/next/server.js +1 -348
- package/dist/src/public/next/vercel-json.js +1 -77
- package/dist/src/public/sandbox/backends/default.js +1 -15
- package/dist/src/public/sandbox/backends/local.js +1 -18
- package/dist/src/public/sandbox/backends/vercel.js +1 -25
- package/dist/src/public/sandbox/index.js +1 -10
- package/dist/src/public/sandbox/local-sandbox.js +1 -1
- package/dist/src/public/sandbox/vercel-sandbox.js +1 -1
- package/dist/src/public/schedules/index.js +1 -4
- package/dist/src/public/skills/index.js +1 -5
- package/dist/src/public/tool-result-narrowing.js +1 -87
- package/dist/src/public/tools/approval/approval-helpers.js +1 -22
- package/dist/src/public/tools/approval/index.js +1 -4
- package/dist/src/public/tools/defaults.js +1 -70
- package/dist/src/public/tools/define-bash-tool.js +1 -14
- package/dist/src/public/tools/define-glob-tool.js +1 -21
- package/dist/src/public/tools/define-grep-tool.js +1 -21
- package/dist/src/public/tools/define-read-file-tool.js +1 -27
- package/dist/src/public/tools/define-write-file-tool.js +1 -21
- package/dist/src/public/tools/index.js +1 -10
- package/dist/src/public/tools/internal.js +1 -24
- package/dist/src/public/types/json.js +1 -13
- package/dist/src/react/index.js +1 -3
- package/dist/src/react/use-ash-agent.js +2 -348
- package/dist/src/runtime/actions/keys.js +1 -30
- package/dist/src/runtime/actions/types.js +1 -99
- package/dist/src/runtime/agent/bootstrap-model-utils.js +1 -148
- package/dist/src/runtime/agent/bootstrap-model.js +1 -36
- package/dist/src/runtime/agent/bootstrap.js +1 -49
- package/dist/src/runtime/agent/mock-model-adapter.js +7 -358
- package/dist/src/runtime/agent/resolve-model.js +1 -48
- package/dist/src/runtime/cache-key.js +1 -52
- package/dist/src/runtime/channels/registry.js +1 -133
- package/dist/src/runtime/compiled-artifacts-source.js +1 -42
- package/dist/src/runtime/connections/authorization-complete-page.js +2 -21
- package/dist/src/runtime/connections/authorization-tokens.js +1 -66
- package/dist/src/runtime/connections/callback-route.js +1 -139
- package/dist/src/runtime/connections/mcp-client.js +1 -307
- package/dist/src/runtime/connections/principal-context.js +1 -111
- package/dist/src/runtime/connections/principal.js +1 -106
- package/dist/src/runtime/connections/registry.js +1 -61
- package/dist/src/runtime/connections/types.js +1 -41
- package/dist/src/runtime/connections/validate-authorization.js +1 -92
- package/dist/src/runtime/framework-channels/index.js +1 -38
- package/dist/src/runtime/framework-tools/ask-question.js +1 -30
- package/dist/src/runtime/framework-tools/bash.js +1 -40
- package/dist/src/runtime/framework-tools/connection-search.js +1 -224
- package/dist/src/runtime/framework-tools/connection-tools.js +1 -103
- package/dist/src/runtime/framework-tools/file-state.js +1 -71
- package/dist/src/runtime/framework-tools/glob.js +2 -56
- package/dist/src/runtime/framework-tools/grep.js +2 -75
- package/dist/src/runtime/framework-tools/index.js +1 -52
- package/dist/src/runtime/framework-tools/pending-connection-tool-calls.js +1 -63
- package/dist/src/runtime/framework-tools/read-file.js +2 -64
- package/dist/src/runtime/framework-tools/skill.js +1 -47
- package/dist/src/runtime/framework-tools/todo.js +3 -122
- package/dist/src/runtime/framework-tools/web-fetch.js +2 -42
- package/dist/src/runtime/framework-tools/web-search.js +1 -15
- package/dist/src/runtime/framework-tools/write-file.js +2 -48
- package/dist/src/runtime/governance/auth/http-basic.js +1 -63
- package/dist/src/runtime/governance/auth/jwt-ecdsa.js +1 -69
- package/dist/src/runtime/governance/auth/jwt-hmac.js +1 -39
- package/dist/src/runtime/governance/auth/oidc.js +1 -126
- package/dist/src/runtime/governance/auth/token-claims.js +1 -84
- package/dist/src/runtime/governance/auth/types.js +1 -14
- package/dist/src/runtime/governance/network/ip-allow-list.js +1 -66
- package/dist/src/runtime/graph.js +1 -17
- package/dist/src/runtime/hooks/registry.js +1 -55
- package/dist/src/runtime/input/types.js +1 -63
- package/dist/src/runtime/loaders/artifact-paths.js +1 -26
- package/dist/src/runtime/loaders/bundled-artifacts.js +1 -21
- package/dist/src/runtime/loaders/compile-metadata.js +1 -92
- package/dist/src/runtime/loaders/manifest.js +1 -56
- package/dist/src/runtime/loaders/module-map.js +1 -64
- package/dist/src/runtime/prompt/compose.js +2 -47
- package/dist/src/runtime/prompt/connections.js +2 -23
- package/dist/src/runtime/resolve-agent-graph.js +1 -287
- package/dist/src/runtime/resolve-agent.js +1 -134
- package/dist/src/runtime/resolve-channel.js +1 -62
- package/dist/src/runtime/resolve-connection.js +1 -72
- package/dist/src/runtime/resolve-helpers.js +1 -58
- package/dist/src/runtime/resolve-hook.js +1 -67
- package/dist/src/runtime/resolve-sandbox.js +1 -65
- package/dist/src/runtime/resolve-tool.js +1 -110
- package/dist/src/runtime/sandbox/keys.js +1 -72
- package/dist/src/runtime/sandbox/registry.js +1 -42
- package/dist/src/runtime/schedules/register.js +1 -62
- package/dist/src/runtime/schedules/resolve-schedule.js +1 -66
- package/dist/src/runtime/session-callback-route.js +1 -87
- package/dist/src/runtime/sessions/auth.js +1 -18
- package/dist/src/runtime/sessions/compiled-agent-cache.js +1 -125
- package/dist/src/runtime/sessions/runtime-session.js +1 -50
- package/dist/src/runtime/sessions/turn.js +1 -1
- package/dist/src/runtime/skills/fragment-context.js +1 -4
- package/dist/src/runtime/skills/sandbox-access.js +1 -85
- package/dist/src/runtime/subagents/registry.js +1 -62
- package/dist/src/runtime/tools/registry.js +1 -40
- package/dist/src/runtime/types.js +1 -1
- package/dist/src/runtime/validation.js +1 -7
- package/dist/src/runtime/workspace/seed-files.js +1 -42
- package/dist/src/runtime/workspace/spec.js +2 -22
- package/dist/src/runtime/workspace/types.js +1 -9
- package/dist/src/sandbox/state.js +1 -1
- package/dist/src/services/dev-client/request-headers.js +1 -197
- package/dist/src/services/dev-client/stream.js +1 -7
- package/dist/src/services/dev-client/url.js +1 -25
- package/dist/src/services/dev-client/vercel-auth-error.js +2 -98
- package/dist/src/services/dev-client.js +1 -48
- package/dist/src/services/inspect-application.js +1 -45
- package/dist/src/shared/agent-definition.js +1 -1
- package/dist/src/shared/errors.js +1 -66
- package/dist/src/shared/guards.js +1 -35
- package/dist/src/shared/json-schemas.js +1 -41
- package/dist/src/shared/json.js +1 -80
- package/dist/src/shared/node.js +1 -1
- package/dist/src/shared/optional.js +1 -1
- package/dist/src/shared/run-mode.js +1 -1
- package/dist/src/shared/sandbox-backend.js +1 -1
- package/dist/src/shared/sandbox-definition.js +1 -1
- package/dist/src/shared/sandbox-session.js +1 -1
- package/dist/src/shared/skill-definition.js +1 -1
- package/dist/src/shared/skill-package.js +1 -100
- package/dist/src/shared/source-ref.js +1 -1
- package/dist/src/shared/tool-definition.js +1 -1
- package/package.json +12 -6
- package/dist/src/chunks/authored-module-loader-DcCfCiBm.js +0 -4
- package/dist/src/chunks/chunk-DSjMdhoD.js +0 -1
- package/dist/src/chunks/client-ZqNLLMZB.js +0 -4
- package/dist/src/chunks/compile-agent-C4OrJW6C.js +0 -5
- package/dist/src/chunks/dev-authored-source-watcher-PwAxalwl.js +0 -1
- package/dist/src/chunks/errors-HYWjHxV6.js +0 -1
- package/dist/src/chunks/guards-26p6sOw3.js +0 -1
- package/dist/src/chunks/host-F-DkwYJK.js +0 -70
- package/dist/src/chunks/input-requests-DJiy6dG9.js +0 -1
- package/dist/src/chunks/jsdist-BkeWZ7EZ.js +0 -443
- package/dist/src/chunks/paths-DnlVBqHu.js +0 -85
- package/dist/src/chunks/picocolors-aAkqW4On.js +0 -1
- package/dist/src/chunks/runtime-model-Dh0Nz64z.js +0 -1
- package/dist/src/chunks/token-YW4VSeBB.js +0 -1
- package/dist/src/chunks/types-BJSR0JNV.js +0 -1
|
@@ -1,148 +1 @@
|
|
|
1
|
-
import { isAbsolute, resolve }
|
|
2
|
-
import { ASH_ROUTE_PREFIX } from "#protocol/routes.js";
|
|
3
|
-
import { resolveAshDestinationPrefix } from "./server.js";
|
|
4
|
-
import { ensureAshVercelJson } from "./vercel-json.js";
|
|
5
|
-
/**
|
|
6
|
-
* Private route namespace used when a Vercel deployment hosts Ash as a
|
|
7
|
-
* separate experimental service behind the Next.js app.
|
|
8
|
-
*/
|
|
9
|
-
export const ASH_NEXT_SERVICE_PREFIX = "/_ash_internal/ash";
|
|
10
|
-
const ASH_NEXT_PRODUCTION_ORIGIN_ENV = "ASH_NEXT_PRODUCTION_ORIGIN";
|
|
11
|
-
const ASH_NEXT_PRODUCTION_PORT_ENV = "ASH_NEXT_PRODUCTION_PORT";
|
|
12
|
-
const DEFAULT_ASH_BUILD_COMMAND = "ash build";
|
|
13
|
-
const DEFAULT_ASH_NEXT_PRODUCTION_PORT = 4274;
|
|
14
|
-
const ASH_PROXY_REWRITE_SOURCES = [`${ASH_ROUTE_PREFIX}/:path+`];
|
|
15
|
-
function resolveApplicationRoot(appPath) {
|
|
16
|
-
if (appPath === undefined || appPath.length === 0) {
|
|
17
|
-
return process.cwd();
|
|
18
|
-
}
|
|
19
|
-
return isAbsolute(appPath) ? appPath : resolve(process.cwd(), appPath);
|
|
20
|
-
}
|
|
21
|
-
function normalizeRoutePrefix(prefix) {
|
|
22
|
-
const prefixed = prefix.startsWith("/") ? prefix : `/${prefix}`;
|
|
23
|
-
const normalized = prefixed.replace(/\/+$/, "");
|
|
24
|
-
if (normalized.length === 0) {
|
|
25
|
-
throw new Error("Ash Next.js service prefix cannot resolve to the root route.");
|
|
26
|
-
}
|
|
27
|
-
return normalized;
|
|
28
|
-
}
|
|
29
|
-
function joinRoutePrefix(prefix, path) {
|
|
30
|
-
return `${prefix.replace(/\/+$/, "")}/${path.replace(/^\/+/, "")}`;
|
|
31
|
-
}
|
|
32
|
-
function normalizeOrigin(origin) {
|
|
33
|
-
return new URL(origin.trim()).origin;
|
|
34
|
-
}
|
|
35
|
-
function readLocalProductionPort() {
|
|
36
|
-
const configuredPort = process.env[ASH_NEXT_PRODUCTION_PORT_ENV];
|
|
37
|
-
if (configuredPort === undefined || configuredPort.trim().length === 0) {
|
|
38
|
-
return DEFAULT_ASH_NEXT_PRODUCTION_PORT;
|
|
39
|
-
}
|
|
40
|
-
const port = Number.parseInt(configuredPort, 10);
|
|
41
|
-
if (String(port) !== configuredPort.trim() || port < 1 || port > 65_535) {
|
|
42
|
-
throw new Error(`${ASH_NEXT_PRODUCTION_PORT_ENV} must be an integer between 1 and 65535.`);
|
|
43
|
-
}
|
|
44
|
-
return port;
|
|
45
|
-
}
|
|
46
|
-
function resolveProductionDestination(servicePrefix) {
|
|
47
|
-
if (process.env.VERCEL) {
|
|
48
|
-
return {
|
|
49
|
-
destinationPrefix: servicePrefix,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
const configuredOrigin = process.env[ASH_NEXT_PRODUCTION_ORIGIN_ENV];
|
|
53
|
-
if (configuredOrigin !== undefined && configuredOrigin.trim().length > 0) {
|
|
54
|
-
return {
|
|
55
|
-
destinationPrefix: joinRoutePrefix(normalizeOrigin(configuredOrigin), servicePrefix),
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
const localServerOrigin = `http://127.0.0.1:${String(readLocalProductionPort())}`;
|
|
59
|
-
return {
|
|
60
|
-
destinationPrefix: localServerOrigin,
|
|
61
|
-
localServerOrigin,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
function createAshRewriteRules(destinationPrefix) {
|
|
65
|
-
return ASH_PROXY_REWRITE_SOURCES.map((source) => {
|
|
66
|
-
const rule = {
|
|
67
|
-
destination: joinRoutePrefix(destinationPrefix, source),
|
|
68
|
-
source,
|
|
69
|
-
};
|
|
70
|
-
return rule;
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
async function resolveExistingRewrites(rewrites) {
|
|
74
|
-
return await rewrites?.();
|
|
75
|
-
}
|
|
76
|
-
function mergeRewriteRules(existing, ashRules) {
|
|
77
|
-
if (existing === undefined) {
|
|
78
|
-
return {
|
|
79
|
-
beforeFiles: ashRules,
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
if (!isRewriteSections(existing)) {
|
|
83
|
-
return {
|
|
84
|
-
afterFiles: existing,
|
|
85
|
-
beforeFiles: ashRules,
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
return {
|
|
89
|
-
...existing,
|
|
90
|
-
beforeFiles: [...ashRules, ...(existing.beforeFiles ?? [])],
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
function isRewriteSections(rewrites) {
|
|
94
|
-
return !Array.isArray(rewrites);
|
|
95
|
-
}
|
|
96
|
-
async function resolveNextConfig(configOrFunction, phase, context) {
|
|
97
|
-
return typeof configOrFunction === "function"
|
|
98
|
-
? await configOrFunction(phase, context)
|
|
99
|
-
: configOrFunction;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Wraps a Next.js config so same-origin Ash endpoints proxy to a separate Ash
|
|
103
|
-
* service.
|
|
104
|
-
*
|
|
105
|
-
* In development, `withAsh` starts `ash dev --no-repl --port 0` for the Ash
|
|
106
|
-
* app and rewrites Ash protocol endpoints to that local URL. In production on
|
|
107
|
-
* Vercel, it rewrites to the private Ash service prefix configured in
|
|
108
|
-
* `vercel.json`. Outside Vercel production, it serves an existing
|
|
109
|
-
* `.output/server/index.mjs` Ash build on a stable local port when present;
|
|
110
|
-
* otherwise set `ASH_NEXT_PRODUCTION_ORIGIN` to the origin that serves the Ash
|
|
111
|
-
* service namespace.
|
|
112
|
-
*/
|
|
113
|
-
export function withAsh(configOrFunction, options = {}) {
|
|
114
|
-
const nextRoot = process.cwd();
|
|
115
|
-
const appRoot = resolveApplicationRoot(options.ashRoot);
|
|
116
|
-
const servicePrefixInput = normalizeRoutePrefix(options.servicePrefix ?? ASH_NEXT_SERVICE_PREFIX);
|
|
117
|
-
const shouldConfigureVercelJson = options.configureVercelJson !== false;
|
|
118
|
-
return async function ashNextConfig(phase, context) {
|
|
119
|
-
const nextConfig = await resolveNextConfig(configOrFunction, phase, context);
|
|
120
|
-
const existingRewrites = nextConfig.rewrites;
|
|
121
|
-
const configuredVercel = shouldConfigureVercelJson
|
|
122
|
-
? await ensureAshVercelJson({
|
|
123
|
-
appRoot,
|
|
124
|
-
ashBuildCommand: options.ashBuildCommand ?? DEFAULT_ASH_BUILD_COMMAND,
|
|
125
|
-
nextRoot,
|
|
126
|
-
servicePrefix: servicePrefixInput,
|
|
127
|
-
})
|
|
128
|
-
: {
|
|
129
|
-
servicePrefix: servicePrefixInput,
|
|
130
|
-
};
|
|
131
|
-
const productionDestination = resolveProductionDestination(configuredVercel.servicePrefix);
|
|
132
|
-
return {
|
|
133
|
-
...nextConfig,
|
|
134
|
-
async rewrites() {
|
|
135
|
-
const [existing, destinationPrefix] = await Promise.all([
|
|
136
|
-
resolveExistingRewrites(existingRewrites),
|
|
137
|
-
resolveAshDestinationPrefix({
|
|
138
|
-
appRoot,
|
|
139
|
-
phase,
|
|
140
|
-
productionDestinationPrefix: productionDestination.destinationPrefix,
|
|
141
|
-
productionServerOrigin: productionDestination.localServerOrigin,
|
|
142
|
-
}),
|
|
143
|
-
]);
|
|
144
|
-
return mergeRewriteRules(existing, createAshRewriteRules(destinationPrefix));
|
|
145
|
-
},
|
|
146
|
-
};
|
|
147
|
-
};
|
|
148
|
-
}
|
|
1
|
+
import{resolveAshDestinationPrefix}from"./server.js";import{ensureAshVercelJson}from"./vercel-json.js";import{ASH_ROUTE_PREFIX}from"#protocol/routes.js";import{isAbsolute,resolve}from"node:path";var ASH_NEXT_SERVICE_PREFIX=`/_ash_internal/ash`,ASH_NEXT_PRODUCTION_ORIGIN_ENV=`ASH_NEXT_PRODUCTION_ORIGIN`,ASH_NEXT_PRODUCTION_PORT_ENV=`ASH_NEXT_PRODUCTION_PORT`,DEFAULT_ASH_BUILD_COMMAND=`ash build`,DEFAULT_ASH_NEXT_PRODUCTION_PORT=4274,ASH_PROXY_REWRITE_SOURCES=[`${ASH_ROUTE_PREFIX}/:path+`];function resolveApplicationRoot(e){return e===void 0||e.length===0?process.cwd():isAbsolute(e)?e:resolve(process.cwd(),e)}function normalizeRoutePrefix(e){let t=(e.startsWith(`/`)?e:`/${e}`).replace(/\/+$/,``);if(t.length===0)throw Error(`Ash Next.js service prefix cannot resolve to the root route.`);return t}function joinRoutePrefix(e,t){return`${e.replace(/\/+$/,``)}/${t.replace(/^\/+/,``)}`}function normalizeOrigin(e){return new URL(e.trim()).origin}function readLocalProductionPort(){let e=process.env[ASH_NEXT_PRODUCTION_PORT_ENV];if(e===void 0||e.trim().length===0)return DEFAULT_ASH_NEXT_PRODUCTION_PORT;let t=Number.parseInt(e,10);if(String(t)!==e.trim()||t<1||t>65535)throw Error(`${ASH_NEXT_PRODUCTION_PORT_ENV} must be an integer between 1 and 65535.`);return t}function resolveProductionDestination(e){if(process.env.VERCEL)return{destinationPrefix:e};let t=process.env[ASH_NEXT_PRODUCTION_ORIGIN_ENV];if(t!==void 0&&t.trim().length>0)return{destinationPrefix:joinRoutePrefix(normalizeOrigin(t),e)};let n=`http://127.0.0.1:${String(readLocalProductionPort())}`;return{destinationPrefix:n,localServerOrigin:n}}function createAshRewriteRules(e){return ASH_PROXY_REWRITE_SOURCES.map(t=>({destination:joinRoutePrefix(e,t),source:t}))}async function resolveExistingRewrites(e){return await e?.()}function mergeRewriteRules(e,t){return e===void 0?{beforeFiles:t}:isRewriteSections(e)?{...e,beforeFiles:[...t,...e.beforeFiles??[]]}:{afterFiles:e,beforeFiles:t}}function isRewriteSections(e){return!Array.isArray(e)}async function resolveNextConfig(e,t,n){return typeof e==`function`?await e(t,n):e}function withAsh(n,r={}){let i=process.cwd(),a=resolveApplicationRoot(r.ashRoot),o=normalizeRoutePrefix(r.servicePrefix??`/_ash_internal/ash`),s=r.configureVercelJson!==!1;return async function(c,l){let u=await resolveNextConfig(n,c,l),d=u.rewrites,f=resolveProductionDestination((s?await ensureAshVercelJson({appRoot:a,ashBuildCommand:r.ashBuildCommand??DEFAULT_ASH_BUILD_COMMAND,nextRoot:i,servicePrefix:o}):{servicePrefix:o}).servicePrefix);return{...u,async rewrites(){let[t,n]=await Promise.all([resolveExistingRewrites(d),resolveAshDestinationPrefix({appRoot:a,phase:c,productionDestinationPrefix:f.destinationPrefix,productionServerOrigin:f.localServerOrigin})]);return mergeRewriteRules(t,createAshRewriteRules(n))}}}}export{ASH_NEXT_SERVICE_PREFIX,withAsh};
|
|
@@ -1,348 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { existsSync } from "node:fs";
|
|
3
|
-
import { mkdir, open, readFile, rm, stat, writeFile } from "node:fs/promises";
|
|
4
|
-
import { join } from "node:path";
|
|
5
|
-
import { resolvePackageRoot } from "#internal/application/package.js";
|
|
6
|
-
import { ASH_ROUTE_PREFIX } from "#protocol/routes.js";
|
|
7
|
-
const ASH_BASE_URL_ENV = "ASH_BASE_URL";
|
|
8
|
-
const DEFAULT_SERVER_READY_TIMEOUT_MS = 30_000;
|
|
9
|
-
const DEV_SERVER_REGISTRY_TIMEOUT_MS = 30_000;
|
|
10
|
-
const DEV_SERVER_REGISTRY_POLL_MS = 100;
|
|
11
|
-
const DEV_SERVER_STALE_LOCK_MS = 30_000;
|
|
12
|
-
const ASH_CACHE_DIRECTORY_NAME = ".ash";
|
|
13
|
-
const ASH_NEXT_DEV_SERVER_FILE_NAME = "next-dev-server.json";
|
|
14
|
-
const ASH_NEXT_DEV_SERVER_LOCK_FILE_NAME = "next-dev-server.lock";
|
|
15
|
-
const LOCAL_SERVER_URL_PATTERN = /https?:\/\/(?:\[[^\]\s]+\]|[^\s/:[\]]+)(?::\d+)?/;
|
|
16
|
-
const NEXT_PHASE_PRODUCTION_BUILD = "phase-production-build";
|
|
17
|
-
const globalStateSymbol = Symbol.for("experimental-ash.next.state");
|
|
18
|
-
function getGlobalState() {
|
|
19
|
-
const globalWithState = globalThis;
|
|
20
|
-
globalWithState[globalStateSymbol] ??= {
|
|
21
|
-
servers: new Map(),
|
|
22
|
-
};
|
|
23
|
-
return globalWithState[globalStateSymbol];
|
|
24
|
-
}
|
|
25
|
-
function joinRoutePrefix(prefix, path) {
|
|
26
|
-
return `${prefix.replace(/\/+$/, "")}/${path.replace(/^\/+/, "")}`;
|
|
27
|
-
}
|
|
28
|
-
function normalizeOrigin(origin) {
|
|
29
|
-
return new URL(origin).origin;
|
|
30
|
-
}
|
|
31
|
-
function readAshBaseUrlEnvironment() {
|
|
32
|
-
const configuredUrl = process.env[ASH_BASE_URL_ENV];
|
|
33
|
-
if (configuredUrl === undefined || configuredUrl.trim().length === 0) {
|
|
34
|
-
return undefined;
|
|
35
|
-
}
|
|
36
|
-
return normalizeOrigin(configuredUrl);
|
|
37
|
-
}
|
|
38
|
-
function isNodeErrorWithCode(error, code) {
|
|
39
|
-
return error instanceof Error && "code" in error && error.code === code;
|
|
40
|
-
}
|
|
41
|
-
function delay(ms) {
|
|
42
|
-
return new Promise((resolvePromise) => setTimeout(resolvePromise, ms));
|
|
43
|
-
}
|
|
44
|
-
function isRecord(value) {
|
|
45
|
-
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
46
|
-
}
|
|
47
|
-
function resolveAshCacheDirectory(appRoot) {
|
|
48
|
-
return join(appRoot, ASH_CACHE_DIRECTORY_NAME);
|
|
49
|
-
}
|
|
50
|
-
function resolveAshDevServerRegistryPath(appRoot) {
|
|
51
|
-
return join(resolveAshCacheDirectory(appRoot), ASH_NEXT_DEV_SERVER_FILE_NAME);
|
|
52
|
-
}
|
|
53
|
-
function resolveAshDevServerLockPath(appRoot) {
|
|
54
|
-
return join(resolveAshCacheDirectory(appRoot), ASH_NEXT_DEV_SERVER_LOCK_FILE_NAME);
|
|
55
|
-
}
|
|
56
|
-
function normalizeDevServerRegistry(value) {
|
|
57
|
-
if (!isRecord(value)) {
|
|
58
|
-
return undefined;
|
|
59
|
-
}
|
|
60
|
-
if (typeof value.appRoot !== "string" ||
|
|
61
|
-
typeof value.origin !== "string" ||
|
|
62
|
-
typeof value.updatedAt !== "string") {
|
|
63
|
-
return undefined;
|
|
64
|
-
}
|
|
65
|
-
if (value.pid !== null && typeof value.pid !== "number") {
|
|
66
|
-
return undefined;
|
|
67
|
-
}
|
|
68
|
-
try {
|
|
69
|
-
return {
|
|
70
|
-
appRoot: value.appRoot,
|
|
71
|
-
origin: normalizeOrigin(value.origin),
|
|
72
|
-
pid: value.pid,
|
|
73
|
-
updatedAt: value.updatedAt,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
catch {
|
|
77
|
-
return undefined;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
async function isAshServerHealthy(origin) {
|
|
81
|
-
const controller = new AbortController();
|
|
82
|
-
const timeout = setTimeout(() => {
|
|
83
|
-
controller.abort();
|
|
84
|
-
}, 1_000);
|
|
85
|
-
try {
|
|
86
|
-
const response = await fetch(joinRoutePrefix(origin, `${ASH_ROUTE_PREFIX}/health`), {
|
|
87
|
-
signal: controller.signal,
|
|
88
|
-
});
|
|
89
|
-
return response.ok;
|
|
90
|
-
}
|
|
91
|
-
catch {
|
|
92
|
-
return false;
|
|
93
|
-
}
|
|
94
|
-
finally {
|
|
95
|
-
clearTimeout(timeout);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
async function readUsableAshDevServerRegistry(appRoot) {
|
|
99
|
-
try {
|
|
100
|
-
const registry = normalizeDevServerRegistry(JSON.parse(await readFile(resolveAshDevServerRegistryPath(appRoot), "utf8")));
|
|
101
|
-
if (registry === undefined || registry.appRoot !== appRoot) {
|
|
102
|
-
return undefined;
|
|
103
|
-
}
|
|
104
|
-
if (!(await isAshServerHealthy(registry.origin))) {
|
|
105
|
-
return undefined;
|
|
106
|
-
}
|
|
107
|
-
process.env[ASH_BASE_URL_ENV] = registry.origin;
|
|
108
|
-
return registry.origin;
|
|
109
|
-
}
|
|
110
|
-
catch (error) {
|
|
111
|
-
if (isNodeErrorWithCode(error, "ENOENT")) {
|
|
112
|
-
return undefined;
|
|
113
|
-
}
|
|
114
|
-
throw error;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
async function writeAshDevServerRegistry(appRoot, handle) {
|
|
118
|
-
await mkdir(resolveAshCacheDirectory(appRoot), {
|
|
119
|
-
recursive: true,
|
|
120
|
-
});
|
|
121
|
-
await writeFile(resolveAshDevServerRegistryPath(appRoot), `${JSON.stringify({
|
|
122
|
-
appRoot,
|
|
123
|
-
origin: handle.origin,
|
|
124
|
-
pid: handle.process?.pid ?? null,
|
|
125
|
-
updatedAt: new Date().toISOString(),
|
|
126
|
-
}, null, 2)}\n`);
|
|
127
|
-
}
|
|
128
|
-
async function removeStaleAshDevServerLock(lockPath) {
|
|
129
|
-
try {
|
|
130
|
-
const lockStat = await stat(lockPath);
|
|
131
|
-
if (Date.now() - lockStat.mtimeMs > DEV_SERVER_STALE_LOCK_MS) {
|
|
132
|
-
await rm(lockPath, {
|
|
133
|
-
force: true,
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
catch (error) {
|
|
138
|
-
if (!isNodeErrorWithCode(error, "ENOENT")) {
|
|
139
|
-
throw error;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
async function acquireAshDevServerLock(appRoot) {
|
|
144
|
-
const cacheDirectory = resolveAshCacheDirectory(appRoot);
|
|
145
|
-
const lockPath = resolveAshDevServerLockPath(appRoot);
|
|
146
|
-
const deadline = Date.now() + DEV_SERVER_REGISTRY_TIMEOUT_MS;
|
|
147
|
-
await mkdir(cacheDirectory, {
|
|
148
|
-
recursive: true,
|
|
149
|
-
});
|
|
150
|
-
while (true) {
|
|
151
|
-
try {
|
|
152
|
-
const lockFile = await open(lockPath, "wx");
|
|
153
|
-
await lockFile.writeFile(`${String(process.pid)}\n`);
|
|
154
|
-
await lockFile.close();
|
|
155
|
-
return async () => {
|
|
156
|
-
await rm(lockPath, {
|
|
157
|
-
force: true,
|
|
158
|
-
});
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
catch (error) {
|
|
162
|
-
if (!isNodeErrorWithCode(error, "EEXIST")) {
|
|
163
|
-
throw error;
|
|
164
|
-
}
|
|
165
|
-
const registeredOrigin = await readUsableAshDevServerRegistry(appRoot);
|
|
166
|
-
if (registeredOrigin !== undefined) {
|
|
167
|
-
return async () => { };
|
|
168
|
-
}
|
|
169
|
-
await removeStaleAshDevServerLock(lockPath);
|
|
170
|
-
if (Date.now() > deadline) {
|
|
171
|
-
throw new Error(`Timed out after ${DEV_SERVER_REGISTRY_TIMEOUT_MS}ms waiting for another Next.js process to start Ash.`);
|
|
172
|
-
}
|
|
173
|
-
await delay(DEV_SERVER_REGISTRY_POLL_MS);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
function createAshBinaryPath() {
|
|
178
|
-
return join(resolvePackageRoot(), "bin", "ash.js");
|
|
179
|
-
}
|
|
180
|
-
function normalizeParsedOrigin(urlText) {
|
|
181
|
-
const url = new URL(urlText);
|
|
182
|
-
return url.origin;
|
|
183
|
-
}
|
|
184
|
-
function startServerProcess(input) {
|
|
185
|
-
return new Promise((resolvePromise, reject) => {
|
|
186
|
-
const child = spawn(input.command, input.args, {
|
|
187
|
-
cwd: input.cwd,
|
|
188
|
-
env: {
|
|
189
|
-
...process.env,
|
|
190
|
-
...input.env,
|
|
191
|
-
},
|
|
192
|
-
stdio: ["ignore", "pipe", "pipe"],
|
|
193
|
-
});
|
|
194
|
-
const timeout = setTimeout(() => {
|
|
195
|
-
child.kill();
|
|
196
|
-
reject(new Error(`Timed out after ${input.timeoutMs ?? DEFAULT_SERVER_READY_TIMEOUT_MS}ms waiting for Ash to print its server URL.`));
|
|
197
|
-
}, input.timeoutMs ?? DEFAULT_SERVER_READY_TIMEOUT_MS);
|
|
198
|
-
const cleanup = () => {
|
|
199
|
-
clearTimeout(timeout);
|
|
200
|
-
child.off("error", handleError);
|
|
201
|
-
child.off("exit", handleEarlyExit);
|
|
202
|
-
};
|
|
203
|
-
const handleError = (error) => {
|
|
204
|
-
cleanup();
|
|
205
|
-
reject(error);
|
|
206
|
-
};
|
|
207
|
-
const handleEarlyExit = (code, signal) => {
|
|
208
|
-
cleanup();
|
|
209
|
-
reject(new Error(`Ash server process exited before printing its server URL (code ${String(code)}, signal ${String(signal)}).`));
|
|
210
|
-
};
|
|
211
|
-
const handleOutput = (chunk) => {
|
|
212
|
-
const match = LOCAL_SERVER_URL_PATTERN.exec(chunk.toString("utf8"));
|
|
213
|
-
if (match === null) {
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
cleanup();
|
|
217
|
-
resolvePromise({
|
|
218
|
-
origin: normalizeParsedOrigin(match[0]),
|
|
219
|
-
process: child,
|
|
220
|
-
});
|
|
221
|
-
};
|
|
222
|
-
const handleStdout = (chunk) => {
|
|
223
|
-
process.stdout.write(chunk);
|
|
224
|
-
handleOutput(chunk);
|
|
225
|
-
};
|
|
226
|
-
const handleStderr = (chunk) => {
|
|
227
|
-
process.stderr.write(chunk);
|
|
228
|
-
handleOutput(chunk);
|
|
229
|
-
};
|
|
230
|
-
child.once("error", handleError);
|
|
231
|
-
child.once("exit", handleEarlyExit);
|
|
232
|
-
child.stdout.on("data", handleStdout);
|
|
233
|
-
child.stderr.on("data", handleStderr);
|
|
234
|
-
});
|
|
235
|
-
}
|
|
236
|
-
function installProcessShutdown(handle) {
|
|
237
|
-
const childProcess = handle.process;
|
|
238
|
-
if (childProcess === undefined) {
|
|
239
|
-
return handle;
|
|
240
|
-
}
|
|
241
|
-
const close = () => {
|
|
242
|
-
if (!childProcess.killed) {
|
|
243
|
-
childProcess.kill();
|
|
244
|
-
}
|
|
245
|
-
};
|
|
246
|
-
process.once("beforeExit", close);
|
|
247
|
-
process.once("exit", close);
|
|
248
|
-
return handle;
|
|
249
|
-
}
|
|
250
|
-
function startAshDevServer(appRoot) {
|
|
251
|
-
return startServerProcess({
|
|
252
|
-
args: [createAshBinaryPath(), "dev", "--no-repl", "--port", "0"],
|
|
253
|
-
command: process.execPath,
|
|
254
|
-
cwd: appRoot,
|
|
255
|
-
}).then((handle) => {
|
|
256
|
-
process.env[ASH_BASE_URL_ENV] = handle.origin;
|
|
257
|
-
return installProcessShutdown(handle);
|
|
258
|
-
});
|
|
259
|
-
}
|
|
260
|
-
function startAshProductionServer(input) {
|
|
261
|
-
const parsedOrigin = new URL(input.origin);
|
|
262
|
-
const port = parsedOrigin.port;
|
|
263
|
-
const serverEntry = join(input.appRoot, ".output", "server", "index.mjs");
|
|
264
|
-
if (!existsSync(serverEntry)) {
|
|
265
|
-
return undefined;
|
|
266
|
-
}
|
|
267
|
-
return startServerProcess({
|
|
268
|
-
args: [serverEntry],
|
|
269
|
-
command: process.execPath,
|
|
270
|
-
cwd: input.appRoot,
|
|
271
|
-
env: {
|
|
272
|
-
HOST: parsedOrigin.hostname,
|
|
273
|
-
NITRO_HOST: parsedOrigin.hostname,
|
|
274
|
-
NITRO_PORT: port,
|
|
275
|
-
PORT: port,
|
|
276
|
-
},
|
|
277
|
-
}).then(installProcessShutdown);
|
|
278
|
-
}
|
|
279
|
-
async function resolveSharedAshDevServer(appRoot) {
|
|
280
|
-
const registeredOrigin = await readUsableAshDevServerRegistry(appRoot);
|
|
281
|
-
if (registeredOrigin !== undefined) {
|
|
282
|
-
return {
|
|
283
|
-
origin: registeredOrigin,
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
const releaseLock = await acquireAshDevServerLock(appRoot);
|
|
287
|
-
try {
|
|
288
|
-
const lockedRegisteredOrigin = await readUsableAshDevServerRegistry(appRoot);
|
|
289
|
-
if (lockedRegisteredOrigin !== undefined) {
|
|
290
|
-
return {
|
|
291
|
-
origin: lockedRegisteredOrigin,
|
|
292
|
-
};
|
|
293
|
-
}
|
|
294
|
-
const handle = await startAshDevServer(appRoot);
|
|
295
|
-
await writeAshDevServerRegistry(appRoot, handle);
|
|
296
|
-
return handle;
|
|
297
|
-
}
|
|
298
|
-
finally {
|
|
299
|
-
await releaseLock();
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
export async function resolveAshDestinationPrefix(input) {
|
|
303
|
-
const state = getGlobalState();
|
|
304
|
-
if (process.env.NODE_ENV === "production") {
|
|
305
|
-
if (input.phase === NEXT_PHASE_PRODUCTION_BUILD) {
|
|
306
|
-
return input.productionDestinationPrefix;
|
|
307
|
-
}
|
|
308
|
-
const key = `production:${input.appRoot}`;
|
|
309
|
-
let productionServer = state.servers.get(key);
|
|
310
|
-
if (productionServer === undefined) {
|
|
311
|
-
productionServer =
|
|
312
|
-
process.env.VERCEL || input.productionServerOrigin === undefined
|
|
313
|
-
? undefined
|
|
314
|
-
: startAshProductionServer({
|
|
315
|
-
appRoot: input.appRoot,
|
|
316
|
-
origin: input.productionServerOrigin,
|
|
317
|
-
});
|
|
318
|
-
if (productionServer !== undefined) {
|
|
319
|
-
productionServer = productionServer.catch((error) => {
|
|
320
|
-
state.servers.delete(key);
|
|
321
|
-
throw error;
|
|
322
|
-
});
|
|
323
|
-
state.servers.set(key, productionServer);
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
if (productionServer !== undefined) {
|
|
327
|
-
return (await productionServer).origin;
|
|
328
|
-
}
|
|
329
|
-
return input.productionDestinationPrefix;
|
|
330
|
-
}
|
|
331
|
-
const configuredAshBaseUrl = readAshBaseUrlEnvironment();
|
|
332
|
-
if (configuredAshBaseUrl !== undefined) {
|
|
333
|
-
return configuredAshBaseUrl;
|
|
334
|
-
}
|
|
335
|
-
if (process.env.NODE_ENV !== "development") {
|
|
336
|
-
return input.productionDestinationPrefix;
|
|
337
|
-
}
|
|
338
|
-
const key = `dev:${input.appRoot}`;
|
|
339
|
-
let server = state.servers.get(key);
|
|
340
|
-
if (server === undefined) {
|
|
341
|
-
server = resolveSharedAshDevServer(input.appRoot).catch((error) => {
|
|
342
|
-
state.servers.delete(key);
|
|
343
|
-
throw error;
|
|
344
|
-
});
|
|
345
|
-
state.servers.set(key, server);
|
|
346
|
-
}
|
|
347
|
-
return (await server).origin;
|
|
348
|
-
}
|
|
1
|
+
import{ASH_ROUTE_PREFIX}from"#protocol/routes.js";import{join}from"node:path";import{mkdir,open,readFile,rm,stat,writeFile}from"node:fs/promises";import{existsSync}from"node:fs";import{resolvePackageRoot}from"#internal/application/package.js";import{spawn}from"node:child_process";var ASH_BASE_URL_ENV=`ASH_BASE_URL`,DEFAULT_SERVER_READY_TIMEOUT_MS=3e4,DEV_SERVER_REGISTRY_TIMEOUT_MS=3e4,DEV_SERVER_REGISTRY_POLL_MS=100,DEV_SERVER_STALE_LOCK_MS=3e4,ASH_CACHE_DIRECTORY_NAME=`.ash`,ASH_NEXT_DEV_SERVER_FILE_NAME=`next-dev-server.json`,ASH_NEXT_DEV_SERVER_LOCK_FILE_NAME=`next-dev-server.lock`,LOCAL_SERVER_URL_PATTERN=/https?:\/\/(?:\[[^\]\s]+\]|[^\s/:[\]]+)(?::\d+)?/,NEXT_PHASE_PRODUCTION_BUILD=`phase-production-build`,globalStateSymbol=Symbol.for(`experimental-ash.next.state`);function getGlobalState(){let e=globalThis;return e[globalStateSymbol]??={servers:new Map},e[globalStateSymbol]}function joinRoutePrefix(e,t){return`${e.replace(/\/+$/,``)}/${t.replace(/^\/+/,``)}`}function normalizeOrigin(e){return new URL(e).origin}function readAshBaseUrlEnvironment(){let e=process.env[ASH_BASE_URL_ENV];if(!(e===void 0||e.trim().length===0))return normalizeOrigin(e)}function isNodeErrorWithCode(e,t){return e instanceof Error&&`code`in e&&e.code===t}function delay(e){return new Promise(t=>setTimeout(t,e))}function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function resolveAshCacheDirectory(e){return join(e,ASH_CACHE_DIRECTORY_NAME)}function resolveAshDevServerRegistryPath(e){return join(resolveAshCacheDirectory(e),ASH_NEXT_DEV_SERVER_FILE_NAME)}function resolveAshDevServerLockPath(e){return join(resolveAshCacheDirectory(e),ASH_NEXT_DEV_SERVER_LOCK_FILE_NAME)}function normalizeDevServerRegistry(e){if(isRecord(e)&&!(typeof e.appRoot!=`string`||typeof e.origin!=`string`||typeof e.updatedAt!=`string`)&&!(e.pid!==null&&typeof e.pid!=`number`))try{return{appRoot:e.appRoot,origin:normalizeOrigin(e.origin),pid:e.pid,updatedAt:e.updatedAt}}catch{return}}async function isAshServerHealthy(t){let n=new AbortController,r=setTimeout(()=>{n.abort()},1e3);try{return(await fetch(joinRoutePrefix(t,`${ASH_ROUTE_PREFIX}/health`),{signal:n.signal})).ok}catch{return!1}finally{clearTimeout(r)}}async function readUsableAshDevServerRegistry(e){try{let t=normalizeDevServerRegistry(JSON.parse(await readFile(resolveAshDevServerRegistryPath(e),`utf8`)));return t===void 0||t.appRoot!==e||!await isAshServerHealthy(t.origin)?void 0:(process.env[ASH_BASE_URL_ENV]=t.origin,t.origin)}catch(e){if(isNodeErrorWithCode(e,`ENOENT`))return;throw e}}async function writeAshDevServerRegistry(e,t){await mkdir(resolveAshCacheDirectory(e),{recursive:!0}),await writeFile(resolveAshDevServerRegistryPath(e),`${JSON.stringify({appRoot:e,origin:t.origin,pid:t.process?.pid??null,updatedAt:new Date().toISOString()},null,2)}\n`)}async function removeStaleAshDevServerLock(e){try{let t=await stat(e);Date.now()-t.mtimeMs>DEV_SERVER_STALE_LOCK_MS&&await rm(e,{force:!0})}catch(e){if(!isNodeErrorWithCode(e,`ENOENT`))throw e}}async function acquireAshDevServerLock(e){let t=resolveAshCacheDirectory(e),i=resolveAshDevServerLockPath(e),a=Date.now()+DEV_SERVER_REGISTRY_TIMEOUT_MS;for(await mkdir(t,{recursive:!0});;)try{let e=await open(i,`wx`);return await e.writeFile(`${String(process.pid)}\n`),await e.close(),async()=>{await rm(i,{force:!0})}}catch(t){if(!isNodeErrorWithCode(t,`EEXIST`))throw t;if(await readUsableAshDevServerRegistry(e)!==void 0)return async()=>{};if(await removeStaleAshDevServerLock(i),Date.now()>a)throw Error(`Timed out after ${DEV_SERVER_REGISTRY_TIMEOUT_MS}ms waiting for another Next.js process to start Ash.`);await delay(DEV_SERVER_REGISTRY_POLL_MS)}}function createAshBinaryPath(){return join(resolvePackageRoot(),`bin`,`ash.js`)}function normalizeParsedOrigin(e){return new URL(e).origin}function startServerProcess(e){return new Promise((t,n)=>{let r=spawn(e.command,e.args,{cwd:e.cwd,env:{...process.env,...e.env},stdio:[`ignore`,`pipe`,`pipe`]}),i=setTimeout(()=>{r.kill(),n(Error(`Timed out after ${e.timeoutMs??DEFAULT_SERVER_READY_TIMEOUT_MS}ms waiting for Ash to print its server URL.`))},e.timeoutMs??DEFAULT_SERVER_READY_TIMEOUT_MS),cleanup=()=>{clearTimeout(i),r.off(`error`,handleError),r.off(`exit`,handleEarlyExit)},handleError=e=>{cleanup(),n(e)},handleEarlyExit=(e,t)=>{cleanup(),n(Error(`Ash server process exited before printing its server URL (code ${String(e)}, signal ${String(t)}).`))},handleOutput=e=>{let n=LOCAL_SERVER_URL_PATTERN.exec(e.toString(`utf8`));n!==null&&(cleanup(),t({origin:normalizeParsedOrigin(n[0]),process:r}))};r.once(`error`,handleError),r.once(`exit`,handleEarlyExit),r.stdout.on(`data`,e=>{process.stdout.write(e),handleOutput(e)}),r.stderr.on(`data`,e=>{process.stderr.write(e),handleOutput(e)})})}function installProcessShutdown(e){let t=e.process;if(t===void 0)return e;let close=()=>{t.killed||t.kill()};return process.once(`beforeExit`,close),process.once(`exit`,close),e}function startAshDevServer(e){return startServerProcess({args:[createAshBinaryPath(),`dev`,`--no-repl`,`--port`,`0`],command:process.execPath,cwd:e}).then(e=>(process.env[ASH_BASE_URL_ENV]=e.origin,installProcessShutdown(e)))}function startAshProductionServer(e){let n=new URL(e.origin),r=n.port,i=join(e.appRoot,`.output`,`server`,`index.mjs`);if(existsSync(i))return startServerProcess({args:[i],command:process.execPath,cwd:e.appRoot,env:{HOST:n.hostname,NITRO_HOST:n.hostname,NITRO_PORT:r,PORT:r}}).then(installProcessShutdown)}async function resolveSharedAshDevServer(e){let t=await readUsableAshDevServerRegistry(e);if(t!==void 0)return{origin:t};let n=await acquireAshDevServerLock(e);try{let t=await readUsableAshDevServerRegistry(e);if(t!==void 0)return{origin:t};let n=await startAshDevServer(e);return await writeAshDevServerRegistry(e,n),n}finally{await n()}}async function resolveAshDestinationPrefix(e){let t=getGlobalState();if(process.env.NODE_ENV===`production`){if(e.phase===NEXT_PHASE_PRODUCTION_BUILD)return e.productionDestinationPrefix;let n=`production:${e.appRoot}`,r=t.servers.get(n);return r===void 0&&(r=process.env.VERCEL||e.productionServerOrigin===void 0?void 0:startAshProductionServer({appRoot:e.appRoot,origin:e.productionServerOrigin}),r!==void 0&&(r=r.catch(e=>{throw t.servers.delete(n),e}),t.servers.set(n,r))),r===void 0?e.productionDestinationPrefix:(await r).origin}let n=readAshBaseUrlEnvironment();if(n!==void 0)return n;if(process.env.NODE_ENV!==`development`)return e.productionDestinationPrefix;let r=`dev:${e.appRoot}`,i=t.servers.get(r);return i===void 0&&(i=resolveSharedAshDevServer(e.appRoot).catch(e=>{throw t.servers.delete(r),e}),t.servers.set(r,i)),(await i).origin}export{resolveAshDestinationPrefix};
|
|
@@ -1,77 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { join, relative } from "node:path";
|
|
3
|
-
const VERCEL_JSON_FILE_NAME = "vercel.json";
|
|
4
|
-
const VERCEL_JSON_SCHEMA = "https://openapi.vercel.sh/vercel.json";
|
|
5
|
-
function isRecord(value) {
|
|
6
|
-
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
7
|
-
}
|
|
8
|
-
function resolveRelativeEntrypoint(fromRoot, toRoot) {
|
|
9
|
-
const relativePath = relative(fromRoot, toRoot);
|
|
10
|
-
if (relativePath.length === 0) {
|
|
11
|
-
return ".";
|
|
12
|
-
}
|
|
13
|
-
return relativePath.replaceAll("\\", "/");
|
|
14
|
-
}
|
|
15
|
-
function normalizeVercelJsonConfig(value) {
|
|
16
|
-
if (!isRecord(value)) {
|
|
17
|
-
throw new Error(`${VERCEL_JSON_FILE_NAME} must contain a JSON object.`);
|
|
18
|
-
}
|
|
19
|
-
const experimentalServices = value.experimentalServices;
|
|
20
|
-
if (experimentalServices !== undefined && !isRecord(experimentalServices)) {
|
|
21
|
-
throw new Error(`${VERCEL_JSON_FILE_NAME} experimentalServices must be a JSON object.`);
|
|
22
|
-
}
|
|
23
|
-
return value;
|
|
24
|
-
}
|
|
25
|
-
async function readVercelJsonConfig(path) {
|
|
26
|
-
try {
|
|
27
|
-
return normalizeVercelJsonConfig(JSON.parse(await readFile(path, "utf8")));
|
|
28
|
-
}
|
|
29
|
-
catch (error) {
|
|
30
|
-
if (error instanceof Error && "code" in error && error.code === "ENOENT") {
|
|
31
|
-
return {};
|
|
32
|
-
}
|
|
33
|
-
throw error;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
function findServiceByFramework(services, framework) {
|
|
37
|
-
return Object.values(services).find((service) => service.framework === framework);
|
|
38
|
-
}
|
|
39
|
-
export async function ensureAshVercelJson(input) {
|
|
40
|
-
const vercelJsonPath = join(input.nextRoot, VERCEL_JSON_FILE_NAME);
|
|
41
|
-
const existingConfig = await readVercelJsonConfig(vercelJsonPath);
|
|
42
|
-
const nextEntrypoint = ".";
|
|
43
|
-
const ashEntrypoint = resolveRelativeEntrypoint(input.nextRoot, input.appRoot);
|
|
44
|
-
const existingServices = existingConfig.experimentalServices ?? {};
|
|
45
|
-
const configuredAshService = findServiceByFramework(existingServices, "ash");
|
|
46
|
-
const configuredNextService = findServiceByFramework(existingServices, "nextjs");
|
|
47
|
-
const servicePrefix = configuredAshService?.routePrefix ?? input.servicePrefix;
|
|
48
|
-
const experimentalServices = {
|
|
49
|
-
...existingServices,
|
|
50
|
-
};
|
|
51
|
-
if (configuredNextService === undefined) {
|
|
52
|
-
experimentalServices.web = {
|
|
53
|
-
entrypoint: nextEntrypoint,
|
|
54
|
-
framework: "nextjs",
|
|
55
|
-
routePrefix: "/",
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
|
-
if (configuredAshService === undefined) {
|
|
59
|
-
experimentalServices.ash = {
|
|
60
|
-
buildCommand: input.ashBuildCommand,
|
|
61
|
-
entrypoint: ashEntrypoint,
|
|
62
|
-
framework: "ash",
|
|
63
|
-
routePrefix: servicePrefix,
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
const vercelConfig = {
|
|
67
|
-
...existingConfig,
|
|
68
|
-
$schema: existingConfig.$schema ?? VERCEL_JSON_SCHEMA,
|
|
69
|
-
experimentalServices,
|
|
70
|
-
};
|
|
71
|
-
if (JSON.stringify(existingConfig) !== JSON.stringify(vercelConfig)) {
|
|
72
|
-
await writeFile(vercelJsonPath, `${JSON.stringify(vercelConfig, null, 2)}\n`);
|
|
73
|
-
}
|
|
74
|
-
return {
|
|
75
|
-
servicePrefix,
|
|
76
|
-
};
|
|
77
|
-
}
|
|
1
|
+
import{join,relative}from"node:path";import{readFile,writeFile}from"node:fs/promises";var VERCEL_JSON_FILE_NAME=`vercel.json`,VERCEL_JSON_SCHEMA=`https://openapi.vercel.sh/vercel.json`;function isRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function resolveRelativeEntrypoint(e,n){let r=relative(e,n);return r.length===0?`.`:r.replaceAll(`\\`,`/`)}function normalizeVercelJsonConfig(e){if(!isRecord(e))throw Error(`${VERCEL_JSON_FILE_NAME} must contain a JSON object.`);let t=e.experimentalServices;if(t!==void 0&&!isRecord(t))throw Error(`${VERCEL_JSON_FILE_NAME} experimentalServices must be a JSON object.`);return e}async function readVercelJsonConfig(e){try{return normalizeVercelJsonConfig(JSON.parse(await readFile(e,`utf8`)))}catch(e){if(e instanceof Error&&`code`in e&&e.code===`ENOENT`)return{};throw e}}function findServiceByFramework(e,t){return Object.values(e).find(e=>e.framework===t)}async function ensureAshVercelJson(t){let n=join(t.nextRoot,VERCEL_JSON_FILE_NAME),i=await readVercelJsonConfig(n),a=resolveRelativeEntrypoint(t.nextRoot,t.appRoot),o=i.experimentalServices??{},s=findServiceByFramework(o,`ash`),c=findServiceByFramework(o,`nextjs`),l=s?.routePrefix??t.servicePrefix,u={...o};c===void 0&&(u.web={entrypoint:`.`,framework:`nextjs`,routePrefix:`/`}),s===void 0&&(u.ash={buildCommand:t.ashBuildCommand,entrypoint:a,framework:`ash`,routePrefix:l});let d={...i,$schema:i.$schema??VERCEL_JSON_SCHEMA,experimentalServices:u};return JSON.stringify(i)!==JSON.stringify(d)&&await writeFile(n,`${JSON.stringify(d,null,2)}\n`),{servicePrefix:l}}export{ensureAshVercelJson};
|
|
@@ -1,15 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { localBackend } from "#public/sandbox/backends/local.js";
|
|
3
|
-
import { vercelBackend } from "#public/sandbox/backends/vercel.js";
|
|
4
|
-
/**
|
|
5
|
-
* Constructs an env-aware sandbox backend that delegates to
|
|
6
|
-
* {@link vercelBackend} on hosted Vercel (where `process.env.VERCEL`
|
|
7
|
-
* is truthy) and to {@link localBackend} everywhere else.
|
|
8
|
-
*
|
|
9
|
-
* Optionally accepts a keyed options bag (`{ local, vercel }`) so each
|
|
10
|
-
* inner backend receives its own typed create options without forcing
|
|
11
|
-
* authors to pin to one backend up front.
|
|
12
|
-
*/
|
|
13
|
-
export function defaultBackend(opts) {
|
|
14
|
-
return lazyBackend(() => process.env.VERCEL ? vercelBackend(opts?.vercel) : localBackend(opts?.local));
|
|
15
|
-
}
|
|
1
|
+
import{lazyBackend}from"#execution/sandbox/lazy-backend.js";import{localBackend}from"#public/sandbox/backends/local.js";import{vercelBackend}from"#public/sandbox/backends/vercel.js";function defaultBackend(e){return lazyBackend(()=>process.env.VERCEL?vercelBackend(e?.vercel):localBackend(e?.local))}export{defaultBackend};
|
|
@@ -1,18 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
/**
|
|
3
|
-
* Constructs the built-in local sandbox backend.
|
|
4
|
-
*
|
|
5
|
-
* The local backend runs the workspace under `just-bash` against an
|
|
6
|
-
* in-memory filesystem and persists snapshots into `.ash/sandbox-cache/`
|
|
7
|
-
* under the application root. It is the default backend on developer
|
|
8
|
-
* machines (`pnpm ash dev`).
|
|
9
|
-
*
|
|
10
|
-
* Accepts an `opts` parameter for parity with other backends, but
|
|
11
|
-
* `LocalSandboxCreateOptions` is empty today — `just-bash` does not
|
|
12
|
-
* currently expose any configuration worth surfacing. New options would
|
|
13
|
-
* be added by widening `LocalSandboxCreateOptions` and routing them
|
|
14
|
-
* into the binding without changing this signature.
|
|
15
|
-
*/
|
|
16
|
-
export function localBackend(opts) {
|
|
17
|
-
return createLocalSandboxBackend({ createOptions: opts });
|
|
18
|
-
}
|
|
1
|
+
import{createLocalSandboxBackend}from"#execution/sandbox/bindings/local.js";function localBackend(e){return createLocalSandboxBackend({createOptions:e})}export{localBackend};
|
|
@@ -1,25 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
/**
|
|
3
|
-
* Constructs the built-in Vercel sandbox backend.
|
|
4
|
-
*
|
|
5
|
-
* The optional `opts` parameter is forwarded to the Vercel SDK's
|
|
6
|
-
* `Sandbox.create(...)` for every fresh sandbox the framework creates
|
|
7
|
-
* (template at prewarm, session at first-time create). On resume
|
|
8
|
-
* (`Sandbox.get`), no create happens, so opts are not re-applied.
|
|
9
|
-
*
|
|
10
|
-
* `opts.source`, if supplied, is used only on the template create —
|
|
11
|
-
* the author's snapshot, git revision, or tarball becomes the base
|
|
12
|
-
* layer of the template. Bootstrap, seed files, and framework setup
|
|
13
|
-
* still run on top, and every session derives from the resulting
|
|
14
|
-
* Ash-owned snapshot. `source` is stripped from session creates so the
|
|
15
|
-
* framework's snapshot always wins.
|
|
16
|
-
*
|
|
17
|
-
* `bootstrap({ use })` applies its options to the template via
|
|
18
|
-
* `sandbox.update(...)`; those settings persist into the snapshot.
|
|
19
|
-
* `onSession({ use })` applies its options to the live session via the
|
|
20
|
-
* SDK's `update` under the hood — overriding any overlapping field
|
|
21
|
-
* from `opts`.
|
|
22
|
-
*/
|
|
23
|
-
export function vercelBackend(opts) {
|
|
24
|
-
return createVercelSandboxBackend({ createOptions: opts });
|
|
25
|
-
}
|
|
1
|
+
import{createVercelSandboxBackend}from"#execution/sandbox/bindings/vercel.js";function vercelBackend(e){return createVercelSandboxBackend({createOptions:e})}export{vercelBackend};
|
|
@@ -1,10 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* Sandbox authoring helpers for `agent/sandbox.ts` (or
|
|
3
|
-
* `agent/sandbox/sandbox.ts` when paired with a `workspace/` folder).
|
|
4
|
-
*/
|
|
5
|
-
export { getSandbox } from "#context/accessors.js";
|
|
6
|
-
export { defineSandbox, } from "#public/definitions/sandbox.js";
|
|
7
|
-
export { SandboxTemplateNotProvisionedError } from "#public/definitions/sandbox-backend.js";
|
|
8
|
-
export { defaultBackend } from "#public/sandbox/backends/default.js";
|
|
9
|
-
export { localBackend } from "#public/sandbox/backends/local.js";
|
|
10
|
-
export { vercelBackend } from "#public/sandbox/backends/vercel.js";
|
|
1
|
+
import{SandboxTemplateNotProvisionedError}from"#public/definitions/sandbox-backend.js";import{getSandbox}from"#context/accessors.js";import{localBackend}from"#public/sandbox/backends/local.js";import{vercelBackend}from"#public/sandbox/backends/vercel.js";import{defineSandbox}from"#public/definitions/sandbox.js";import{defaultBackend}from"#public/sandbox/backends/default.js";export{SandboxTemplateNotProvisionedError,defaultBackend,defineSandbox,getSandbox,localBackend,vercelBackend};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export{};
|