@farthershore/cli 0.3.8 → 0.3.10
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/dist/commands/apply.js +11 -0
- package/dist/commands/billing.js +46 -6
- package/dist/commands/feature.js +30 -1
- package/dist/commands/login.js +16 -1
- package/dist/commands/meter.js +30 -3
- package/dist/commands/plan.js +50 -1
- package/dist/commands/product.js +40 -4
- package/dist/commands/transition.js +18 -1
- package/dist/commands/validate.js +11 -1
- package/dist/index.js +29 -2
- package/node_modules/@farther-shore/shared-types/README.md +63 -0
- package/node_modules/@farther-shore/shared-types/dist/admin.d.ts +26 -0
- package/node_modules/@farther-shore/shared-types/dist/admin.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/admin.js +10 -0
- package/node_modules/@farther-shore/shared-types/dist/admin.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/analytics.d.ts +229 -0
- package/node_modules/@farther-shore/shared-types/dist/analytics.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/analytics.js +101 -0
- package/node_modules/@farther-shore/shared-types/dist/analytics.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/api.d.ts +16 -0
- package/node_modules/@farther-shore/shared-types/dist/api.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/api.js +5 -0
- package/node_modules/@farther-shore/shared-types/dist/api.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/auth/permissions.d.ts +63 -0
- package/node_modules/@farther-shore/shared-types/dist/auth/permissions.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/auth/permissions.js +143 -0
- package/node_modules/@farther-shore/shared-types/dist/auth/permissions.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/base.d.ts +18 -0
- package/node_modules/@farther-shore/shared-types/dist/base.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/base.js +6 -0
- package/node_modules/@farther-shore/shared-types/dist/base.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/billing.d.ts +58 -0
- package/node_modules/@farther-shore/shared-types/dist/billing.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/billing.js +9 -0
- package/node_modules/@farther-shore/shared-types/dist/billing.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/builder-context.d.ts +33 -0
- package/node_modules/@farther-shore/shared-types/dist/builder-context.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/builder-context.js +6 -0
- package/node_modules/@farther-shore/shared-types/dist/builder-context.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/consumer.d.ts +162 -0
- package/node_modules/@farther-shore/shared-types/dist/consumer.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/consumer.js +37 -0
- package/node_modules/@farther-shore/shared-types/dist/consumer.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/dlq.d.ts +47 -0
- package/node_modules/@farther-shore/shared-types/dist/dlq.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/dlq.js +86 -0
- package/node_modules/@farther-shore/shared-types/dist/dlq.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/edge-kv-keys.d.ts +254 -0
- package/node_modules/@farther-shore/shared-types/dist/edge-kv-keys.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/edge-kv-keys.js +134 -0
- package/node_modules/@farther-shore/shared-types/dist/edge-kv-keys.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/entitlements.d.ts +86 -0
- package/node_modules/@farther-shore/shared-types/dist/entitlements.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/entitlements.js +30 -0
- package/node_modules/@farther-shore/shared-types/dist/entitlements.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/enums.d.ts +36 -0
- package/node_modules/@farther-shore/shared-types/dist/enums.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/enums.js +5 -0
- package/node_modules/@farther-shore/shared-types/dist/enums.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/format.d.ts +8 -0
- package/node_modules/@farther-shore/shared-types/dist/format.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/format.js +14 -0
- package/node_modules/@farther-shore/shared-types/dist/format.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/index.d.ts +24 -0
- package/node_modules/@farther-shore/shared-types/dist/index.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/index.js +24 -0
- package/node_modules/@farther-shore/shared-types/dist/index.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/limits.d.ts +24 -0
- package/node_modules/@farther-shore/shared-types/dist/limits.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/limits.js +5 -0
- package/node_modules/@farther-shore/shared-types/dist/limits.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/logger.d.ts +67 -0
- package/node_modules/@farther-shore/shared-types/dist/logger.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/logger.js +252 -0
- package/node_modules/@farther-shore/shared-types/dist/logger.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/metering.d.ts +18 -0
- package/node_modules/@farther-shore/shared-types/dist/metering.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/metering.js +5 -0
- package/node_modules/@farther-shore/shared-types/dist/metering.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/index.d.ts +4 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/index.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/index.js +18 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/index.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/limits-schema.d.ts +80 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/limits-schema.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/limits-schema.js +50 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/limits-schema.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/projections.d.ts +42 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/projections.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/projections.js +18 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/projections.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/spec.d.ts +2387 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/spec.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/spec.js +513 -0
- package/node_modules/@farther-shore/shared-types/dist/plans/spec.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/portal.d.ts +204 -0
- package/node_modules/@farther-shore/shared-types/dist/portal.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/portal.js +20 -0
- package/node_modules/@farther-shore/shared-types/dist/portal.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/pricing-model.d.ts +92 -0
- package/node_modules/@farther-shore/shared-types/dist/pricing-model.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/pricing-model.js +11 -0
- package/node_modules/@farther-shore/shared-types/dist/pricing-model.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/projections.d.ts +80 -0
- package/node_modules/@farther-shore/shared-types/dist/projections.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/projections.js +6 -0
- package/node_modules/@farther-shore/shared-types/dist/projections.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/scope-matcher.d.ts +49 -0
- package/node_modules/@farther-shore/shared-types/dist/scope-matcher.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/scope-matcher.js +159 -0
- package/node_modules/@farther-shore/shared-types/dist/scope-matcher.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/service-auth.d.ts +70 -0
- package/node_modules/@farther-shore/shared-types/dist/service-auth.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/service-auth.js +253 -0
- package/node_modules/@farther-shore/shared-types/dist/service-auth.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/web-ui.d.ts +239 -0
- package/node_modules/@farther-shore/shared-types/dist/web-ui.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/web-ui.js +6 -0
- package/node_modules/@farther-shore/shared-types/dist/web-ui.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/webhooks/events.d.ts +48 -0
- package/node_modules/@farther-shore/shared-types/dist/webhooks/events.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/webhooks/events.js +68 -0
- package/node_modules/@farther-shore/shared-types/dist/webhooks/events.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/webhooks/migration.d.ts +8 -0
- package/node_modules/@farther-shore/shared-types/dist/webhooks/migration.d.ts.map +1 -0
- package/node_modules/@farther-shore/shared-types/dist/webhooks/migration.js +21 -0
- package/node_modules/@farther-shore/shared-types/dist/webhooks/migration.js.map +1 -0
- package/node_modules/@farther-shore/shared-types/package.json +156 -0
- package/node_modules/@pinojs/redact/.github/dependabot.yml +13 -0
- package/node_modules/@pinojs/redact/.github/workflows/ci.yml +48 -0
- package/node_modules/@pinojs/redact/.github/workflows/publish-release.yml +43 -0
- package/node_modules/@pinojs/redact/LICENSE +21 -0
- package/node_modules/@pinojs/redact/README.md +350 -0
- package/node_modules/@pinojs/redact/benchmarks/basic.js +184 -0
- package/node_modules/@pinojs/redact/eslint.config.js +1 -0
- package/node_modules/@pinojs/redact/index.d.ts +52 -0
- package/node_modules/@pinojs/redact/index.js +529 -0
- package/node_modules/@pinojs/redact/index.test-d.ts +22 -0
- package/node_modules/@pinojs/redact/package.json +37 -0
- package/node_modules/@pinojs/redact/scripts/sync-version.mjs +20 -0
- package/node_modules/@pinojs/redact/test/actual-redact-comparison.test.js +211 -0
- package/node_modules/@pinojs/redact/test/index.test.js +824 -0
- package/node_modules/@pinojs/redact/test/integration.test.js +390 -0
- package/node_modules/@pinojs/redact/test/multiple-wildcards.test.js +227 -0
- package/node_modules/@pinojs/redact/test/prototype-pollution.test.js +223 -0
- package/node_modules/@pinojs/redact/test/selective-clone.test.js +115 -0
- package/node_modules/@pinojs/redact/tsconfig.json +19 -0
- package/node_modules/atomic-sleep/.travis.yml +11 -0
- package/node_modules/atomic-sleep/LICENSE +22 -0
- package/node_modules/atomic-sleep/index.js +38 -0
- package/node_modules/atomic-sleep/package.json +37 -0
- package/node_modules/atomic-sleep/readme.md +58 -0
- package/node_modules/atomic-sleep/test.js +47 -0
- package/node_modules/on-exit-leak-free/.github/dependabot.yml +12 -0
- package/node_modules/on-exit-leak-free/.github/workflows/ci.yml +46 -0
- package/node_modules/on-exit-leak-free/LICENSE +21 -0
- package/node_modules/on-exit-leak-free/README.md +54 -0
- package/node_modules/on-exit-leak-free/index.js +108 -0
- package/node_modules/on-exit-leak-free/package.json +37 -0
- package/node_modules/on-exit-leak-free/test/base.test.js +30 -0
- package/node_modules/on-exit-leak-free/test/event-emitter-leak.test.js +23 -0
- package/node_modules/on-exit-leak-free/test/fixtures/beforeExit.js +33 -0
- package/node_modules/on-exit-leak-free/test/fixtures/close.js +21 -0
- package/node_modules/on-exit-leak-free/test/fixtures/gc-not-close.js +24 -0
- package/node_modules/on-exit-leak-free/test/fixtures/unregister.js +24 -0
- package/node_modules/pino/.nojekyll +0 -0
- package/node_modules/pino/.prettierignore +1 -0
- package/node_modules/pino/CNAME +1 -0
- package/node_modules/pino/CONTRIBUTING.md +30 -0
- package/node_modules/pino/LICENSE +21 -0
- package/node_modules/pino/README.md +177 -0
- package/node_modules/pino/SECURITY.md +87 -0
- package/node_modules/pino/benchmarks/basic.bench.js +95 -0
- package/node_modules/pino/benchmarks/child-child.bench.js +52 -0
- package/node_modules/pino/benchmarks/child-creation.bench.js +73 -0
- package/node_modules/pino/benchmarks/child.bench.js +62 -0
- package/node_modules/pino/benchmarks/deep-object.bench.js +88 -0
- package/node_modules/pino/benchmarks/formatters.bench.js +50 -0
- package/node_modules/pino/benchmarks/internal/custom-levels.js +67 -0
- package/node_modules/pino/benchmarks/internal/just-pino-heavy.bench.js +76 -0
- package/node_modules/pino/benchmarks/internal/just-pino.bench.js +182 -0
- package/node_modules/pino/benchmarks/internal/parent-vs-child.bench.js +75 -0
- package/node_modules/pino/benchmarks/internal/redact.bench.js +86 -0
- package/node_modules/pino/benchmarks/long-string.bench.js +81 -0
- package/node_modules/pino/benchmarks/multi-arg.bench.js +193 -0
- package/node_modules/pino/benchmarks/multistream.js +98 -0
- package/node_modules/pino/benchmarks/object.bench.js +82 -0
- package/node_modules/pino/benchmarks/utils/generate-benchmark-doc.js +36 -0
- package/node_modules/pino/benchmarks/utils/runbench.js +138 -0
- package/node_modules/pino/benchmarks/utils/wrap-log-level.js +55 -0
- package/node_modules/pino/bin.js +6 -0
- package/node_modules/pino/browser.js +547 -0
- package/node_modules/pino/build/sync-version.js +25 -0
- package/node_modules/pino/docs/api.md +1593 -0
- package/node_modules/pino/docs/asynchronous.md +40 -0
- package/node_modules/pino/docs/benchmarks.md +55 -0
- package/node_modules/pino/docs/browser.md +278 -0
- package/node_modules/pino/docs/bundling.md +40 -0
- package/node_modules/pino/docs/child-loggers.md +95 -0
- package/node_modules/pino/docs/diagnostics.md +16 -0
- package/node_modules/pino/docs/ecosystem.md +86 -0
- package/node_modules/pino/docs/help.md +345 -0
- package/node_modules/pino/docs/lts.md +64 -0
- package/node_modules/pino/docs/pretty.md +35 -0
- package/node_modules/pino/docs/redaction.md +135 -0
- package/node_modules/pino/docs/transports.md +1376 -0
- package/node_modules/pino/docs/web.md +309 -0
- package/node_modules/pino/eslint.config.js +28 -0
- package/node_modules/pino/examples/basic.js +43 -0
- package/node_modules/pino/examples/transport.js +68 -0
- package/node_modules/pino/favicon.ico +0 -0
- package/node_modules/pino/file.js +12 -0
- package/node_modules/pino/inc-version.sh +42 -0
- package/node_modules/pino/index.html +55 -0
- package/node_modules/pino/lib/caller.js +30 -0
- package/node_modules/pino/lib/constants.js +28 -0
- package/node_modules/pino/lib/deprecations.js +8 -0
- package/node_modules/pino/lib/levels.js +241 -0
- package/node_modules/pino/lib/meta.js +3 -0
- package/node_modules/pino/lib/multistream.js +203 -0
- package/node_modules/pino/lib/proto.js +256 -0
- package/node_modules/pino/lib/redaction.js +114 -0
- package/node_modules/pino/lib/symbols.js +74 -0
- package/node_modules/pino/lib/time.js +39 -0
- package/node_modules/pino/lib/tools.js +427 -0
- package/node_modules/pino/lib/transport-stream.js +56 -0
- package/node_modules/pino/lib/transport.js +289 -0
- package/node_modules/pino/lib/worker.js +194 -0
- package/node_modules/pino/package.json +120 -0
- package/node_modules/pino/pino.d.ts +908 -0
- package/node_modules/pino/pino.js +234 -0
- package/node_modules/pino/test/basic.test.js +886 -0
- package/node_modules/pino/test/broken-pipe.test.js +59 -0
- package/node_modules/pino/test/browser-child.test.js +132 -0
- package/node_modules/pino/test/browser-disabled.test.js +87 -0
- package/node_modules/pino/test/browser-early-console-freeze.test.js +12 -0
- package/node_modules/pino/test/browser-is-level-enabled.test.js +101 -0
- package/node_modules/pino/test/browser-levels.test.js +241 -0
- package/node_modules/pino/test/browser-serializers.test.js +352 -0
- package/node_modules/pino/test/browser-timestamp.test.js +88 -0
- package/node_modules/pino/test/browser-transmit.test.js +417 -0
- package/node_modules/pino/test/browser.test.js +698 -0
- package/node_modules/pino/test/complex-objects.test.js +36 -0
- package/node_modules/pino/test/crlf.test.js +34 -0
- package/node_modules/pino/test/custom-levels.test.js +267 -0
- package/node_modules/pino/test/diagnostics.test.js +107 -0
- package/node_modules/pino/test/error-key.test.js +37 -0
- package/node_modules/pino/test/error.test.js +403 -0
- package/node_modules/pino/test/escaping.test.js +93 -0
- package/node_modules/pino/test/esm/esm.mjs +14 -0
- package/node_modules/pino/test/esm/index.test.js +21 -0
- package/node_modules/pino/test/esm/named-exports.mjs +29 -0
- package/node_modules/pino/test/exit.test.js +79 -0
- package/node_modules/pino/test/fixtures/broken-pipe/basic.js +9 -0
- package/node_modules/pino/test/fixtures/broken-pipe/destination.js +10 -0
- package/node_modules/pino/test/fixtures/broken-pipe/syncfalse.js +12 -0
- package/node_modules/pino/test/fixtures/console-transport.js +13 -0
- package/node_modules/pino/test/fixtures/crashing-transport.js +13 -0
- package/node_modules/pino/test/fixtures/default-exit.js +8 -0
- package/node_modules/pino/test/fixtures/destination-exit.js +8 -0
- package/node_modules/pino/test/fixtures/eval/index.js +13 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/14-files.js +3 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/2-files.js +3 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file1.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file10.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file11.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file12.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file13.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file14.js +11 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file2.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file3.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file4.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file5.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file6.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file7.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file8.js +5 -0
- package/node_modules/pino/test/fixtures/eval/node_modules/file9.js +5 -0
- package/node_modules/pino/test/fixtures/noop-transport.js +10 -0
- package/node_modules/pino/test/fixtures/pretty/null-prototype.js +8 -0
- package/node_modules/pino/test/fixtures/stdout-hack-protection.js +11 -0
- package/node_modules/pino/test/fixtures/syncfalse-child.js +6 -0
- package/node_modules/pino/test/fixtures/syncfalse-exit.js +9 -0
- package/node_modules/pino/test/fixtures/syncfalse-flush-exit.js +10 -0
- package/node_modules/pino/test/fixtures/syncfalse.js +6 -0
- package/node_modules/pino/test/fixtures/syntax-error-esm.mjs +2 -0
- package/node_modules/pino/test/fixtures/to-file-transport-with-transform.js +20 -0
- package/node_modules/pino/test/fixtures/to-file-transport.js +13 -0
- package/node_modules/pino/test/fixtures/to-file-transport.mjs +8 -0
- package/node_modules/pino/test/fixtures/transport/index.js +12 -0
- package/node_modules/pino/test/fixtures/transport/package.json +5 -0
- package/node_modules/pino/test/fixtures/transport-exit-immediately-with-async-dest.js +16 -0
- package/node_modules/pino/test/fixtures/transport-exit-immediately.js +11 -0
- package/node_modules/pino/test/fixtures/transport-exit-on-ready.js +12 -0
- package/node_modules/pino/test/fixtures/transport-invalid-node-options.js +26 -0
- package/node_modules/pino/test/fixtures/transport-main.js +9 -0
- package/node_modules/pino/test/fixtures/transport-many-lines.js +29 -0
- package/node_modules/pino/test/fixtures/transport-preload-main.mjs +13 -0
- package/node_modules/pino/test/fixtures/transport-preload.mjs +13 -0
- package/node_modules/pino/test/fixtures/transport-string-stdout.js +9 -0
- package/node_modules/pino/test/fixtures/transport-transform.js +21 -0
- package/node_modules/pino/test/fixtures/transport-uses-pino-config.js +33 -0
- package/node_modules/pino/test/fixtures/transport-with-on-exit.js +12 -0
- package/node_modules/pino/test/fixtures/transport-worker-data.js +19 -0
- package/node_modules/pino/test/fixtures/transport-worker-name.js +24 -0
- package/node_modules/pino/test/fixtures/transport-worker.js +15 -0
- package/node_modules/pino/test/fixtures/transport-wrong-export-type.js +3 -0
- package/node_modules/pino/test/fixtures/ts/to-file-transport-native.mts +15 -0
- package/node_modules/pino/test/fixtures/ts/to-file-transport-with-transform.ts +18 -0
- package/node_modules/pino/test/fixtures/ts/to-file-transport.ts +11 -0
- package/node_modules/pino/test/fixtures/ts/transpile.cjs +36 -0
- package/node_modules/pino/test/fixtures/ts/transport-exit-immediately-with-async-dest.ts +15 -0
- package/node_modules/pino/test/fixtures/ts/transport-exit-immediately.ts +10 -0
- package/node_modules/pino/test/fixtures/ts/transport-exit-on-ready.ts +11 -0
- package/node_modules/pino/test/fixtures/ts/transport-main.ts +8 -0
- package/node_modules/pino/test/fixtures/ts/transport-string-stdout.ts +8 -0
- package/node_modules/pino/test/fixtures/ts/transport-worker.ts +14 -0
- package/node_modules/pino/test/formatters.test.js +364 -0
- package/node_modules/pino/test/helper.d.ts +4 -0
- package/node_modules/pino/test/helper.js +155 -0
- package/node_modules/pino/test/hooks.test.js +114 -0
- package/node_modules/pino/test/http.test.js +214 -0
- package/node_modules/pino/test/internals/version.test.js +17 -0
- package/node_modules/pino/test/is-level-enabled.test.js +179 -0
- package/node_modules/pino/test/jest/basic.spec.js +10 -0
- package/node_modules/pino/test/levels.test.js +810 -0
- package/node_modules/pino/test/metadata.test.js +120 -0
- package/node_modules/pino/test/mixin-merge-strategy.test.js +57 -0
- package/node_modules/pino/test/mixin.test.js +241 -0
- package/node_modules/pino/test/multistream.test.js +729 -0
- package/node_modules/pino/test/redact.test.js +893 -0
- package/node_modules/pino/test/serializers.test.js +257 -0
- package/node_modules/pino/test/stdout-protection.test.js +41 -0
- package/node_modules/pino/test/syncfalse.test.js +186 -0
- package/node_modules/pino/test/timestamp-nano.test.js +37 -0
- package/node_modules/pino/test/timestamp.test.js +124 -0
- package/node_modules/pino/test/transport/big.test.js +42 -0
- package/node_modules/pino/test/transport/bundlers-support.test.js +99 -0
- package/node_modules/pino/test/transport/caller.test.js +24 -0
- package/node_modules/pino/test/transport/core.test.js +733 -0
- package/node_modules/pino/test/transport/core.transpiled.test.ts +114 -0
- package/node_modules/pino/test/transport/crash.test.js +36 -0
- package/node_modules/pino/test/transport/module-link.test.js +241 -0
- package/node_modules/pino/test/transport/native-type-stripping.test.mjs +151 -0
- package/node_modules/pino/test/transport/node-options.test.js +116 -0
- package/node_modules/pino/test/transport/pipeline.test.js +137 -0
- package/node_modules/pino/test/transport/preload.test.js +54 -0
- package/node_modules/pino/test/transport/repl.test.js +15 -0
- package/node_modules/pino/test/transport/sync-false.test.js +67 -0
- package/node_modules/pino/test/transport/sync-true.test.js +57 -0
- package/node_modules/pino/test/transport/targets.test.js +48 -0
- package/node_modules/pino/test/transport/uses-pino-config.test.js +166 -0
- package/node_modules/pino/test/transport-stream.test.js +40 -0
- package/node_modules/pino/test/types/pino-import.test-d.cts +30 -0
- package/node_modules/pino/test/types/pino-multistream.test-d.ts +28 -0
- package/node_modules/pino/test/types/pino-top-export.test-d.ts +34 -0
- package/node_modules/pino/test/types/pino-transport.test-d.ts +156 -0
- package/node_modules/pino/test/types/pino-type-only.test-d.ts +75 -0
- package/node_modules/pino/test/types/pino.test-d.ts +683 -0
- package/node_modules/pino/test/types/pino.ts +91 -0
- package/node_modules/pino/tsconfig.json +14 -0
- package/node_modules/pino-abstract-transport/.github/dependabot.yml +13 -0
- package/node_modules/pino-abstract-transport/.github/workflows/ci.yml +80 -0
- package/node_modules/pino-abstract-transport/.husky/pre-commit +4 -0
- package/node_modules/pino-abstract-transport/LICENSE +21 -0
- package/node_modules/pino-abstract-transport/README.md +171 -0
- package/node_modules/pino-abstract-transport/index.d.ts +122 -0
- package/node_modules/pino-abstract-transport/index.js +128 -0
- package/node_modules/pino-abstract-transport/package.json +41 -0
- package/node_modules/pino-abstract-transport/test/base.test.js +473 -0
- package/node_modules/pino-abstract-transport/test/fixtures/transport-async-iteration.js +22 -0
- package/node_modules/pino-abstract-transport/test/fixtures/transport-on-data.js +22 -0
- package/node_modules/pino-abstract-transport/test/fixtures/transport-transform.js +24 -0
- package/node_modules/pino-abstract-transport/test/fixtures/worker-pipeline.js +15 -0
- package/node_modules/pino-abstract-transport/test/match.js +24 -0
- package/node_modules/pino-abstract-transport/test/types/index.test-d.ts +31 -0
- package/node_modules/pino-abstract-transport/test/worker.test.js +372 -0
- package/node_modules/pino-std-serializers/.editorconfig +13 -0
- package/node_modules/pino-std-serializers/.github/dependabot.yml +13 -0
- package/node_modules/pino-std-serializers/.github/workflows/ci.yml +81 -0
- package/node_modules/pino-std-serializers/LICENSE +7 -0
- package/node_modules/pino-std-serializers/Readme.md +182 -0
- package/node_modules/pino-std-serializers/eslint.config.js +7 -0
- package/node_modules/pino-std-serializers/index.d.ts +145 -0
- package/node_modules/pino-std-serializers/index.js +36 -0
- package/node_modules/pino-std-serializers/lib/err-helpers.js +118 -0
- package/node_modules/pino-std-serializers/lib/err-proto.js +48 -0
- package/node_modules/pino-std-serializers/lib/err-with-cause.js +48 -0
- package/node_modules/pino-std-serializers/lib/err.js +45 -0
- package/node_modules/pino-std-serializers/lib/req.js +100 -0
- package/node_modules/pino-std-serializers/lib/res.js +47 -0
- package/node_modules/pino-std-serializers/package.json +42 -0
- package/node_modules/pino-std-serializers/test/err-with-cause.test.js +187 -0
- package/node_modules/pino-std-serializers/test/err.test.js +200 -0
- package/node_modules/pino-std-serializers/test/req.test.js +477 -0
- package/node_modules/pino-std-serializers/test/res.test.js +120 -0
- package/node_modules/pino-std-serializers/test/types/index.test-d.ts +71 -0
- package/node_modules/pino-std-serializers/tsconfig.json +13 -0
- package/node_modules/process-warning/.gitattributes +2 -0
- package/node_modules/process-warning/.github/dependabot.yml +13 -0
- package/node_modules/process-warning/.github/workflows/ci.yml +22 -0
- package/node_modules/process-warning/LICENSE +21 -0
- package/node_modules/process-warning/README.md +118 -0
- package/node_modules/process-warning/benchmarks/warn.js +25 -0
- package/node_modules/process-warning/eslint.config.js +6 -0
- package/node_modules/process-warning/examples/example.js +11 -0
- package/node_modules/process-warning/index.js +124 -0
- package/node_modules/process-warning/package.json +73 -0
- package/node_modules/process-warning/test/emit-interpolated-string.test.js +34 -0
- package/node_modules/process-warning/test/emit-once-only.test.js +33 -0
- package/node_modules/process-warning/test/emit-reset.test.js +40 -0
- package/node_modules/process-warning/test/emit-set.test.js +35 -0
- package/node_modules/process-warning/test/emit-unlimited.test.js +42 -0
- package/node_modules/process-warning/test/index.test.js +99 -0
- package/node_modules/process-warning/test/issue-88.test.js +38 -0
- package/node_modules/process-warning/test/jest.test.js +24 -0
- package/node_modules/process-warning/test/no-warnings.test.js +80 -0
- package/node_modules/process-warning/test/promise.js +10 -0
- package/node_modules/process-warning/types/index.d.ts +37 -0
- package/node_modules/process-warning/types/index.test-d.ts +36 -0
- package/node_modules/quick-format-unescaped/.github/workflows/ci.yml +21 -0
- package/node_modules/quick-format-unescaped/LICENSE +21 -0
- package/node_modules/quick-format-unescaped/benchmark.js +24 -0
- package/node_modules/quick-format-unescaped/index.js +109 -0
- package/node_modules/quick-format-unescaped/package.json +29 -0
- package/node_modules/quick-format-unescaped/readme.md +66 -0
- package/node_modules/quick-format-unescaped/test/index.js +136 -0
- package/node_modules/real-require/LICENSE.md +21 -0
- package/node_modules/real-require/README.md +51 -0
- package/node_modules/real-require/package.json +49 -0
- package/node_modules/real-require/src/index.js +14 -0
- package/node_modules/safe-stable-stringify/LICENSE +21 -0
- package/node_modules/safe-stable-stringify/esm/package.json +4 -0
- package/node_modules/safe-stable-stringify/esm/wrapper.d.ts +4 -0
- package/node_modules/safe-stable-stringify/esm/wrapper.js +6 -0
- package/node_modules/safe-stable-stringify/index.d.ts +22 -0
- package/node_modules/safe-stable-stringify/index.js +625 -0
- package/node_modules/safe-stable-stringify/package.json +65 -0
- package/node_modules/safe-stable-stringify/readme.md +179 -0
- package/node_modules/sonic-boom/.eslintignore +2 -0
- package/node_modules/sonic-boom/.taprc +3 -0
- package/node_modules/sonic-boom/LICENSE +21 -0
- package/node_modules/sonic-boom/README.md +153 -0
- package/node_modules/sonic-boom/bench.js +98 -0
- package/node_modules/sonic-boom/check.js +18 -0
- package/node_modules/sonic-boom/example.js +8 -0
- package/node_modules/sonic-boom/fixtures/firehose.js +22 -0
- package/node_modules/sonic-boom/index.js +733 -0
- package/node_modules/sonic-boom/package.json +52 -0
- package/node_modules/sonic-boom/test/destroy.test.js +49 -0
- package/node_modules/sonic-boom/test/end.test.js +98 -0
- package/node_modules/sonic-boom/test/flush-sync.test.js +140 -0
- package/node_modules/sonic-boom/test/flush.test.js +419 -0
- package/node_modules/sonic-boom/test/fsync.test.js +63 -0
- package/node_modules/sonic-boom/test/helper.js +42 -0
- package/node_modules/sonic-boom/test/minlength.test.js +35 -0
- package/node_modules/sonic-boom/test/mode.test.js +116 -0
- package/node_modules/sonic-boom/test/periodicflush.test.js +61 -0
- package/node_modules/sonic-boom/test/reopen.test.js +239 -0
- package/node_modules/sonic-boom/test/retry.test.js +414 -0
- package/node_modules/sonic-boom/test/sync.test.js +261 -0
- package/node_modules/sonic-boom/test/write.test.js +515 -0
- package/node_modules/sonic-boom/types/index.d.ts +63 -0
- package/node_modules/sonic-boom/types/tests/test.ts +4 -0
- package/node_modules/split2/LICENSE +13 -0
- package/node_modules/split2/README.md +85 -0
- package/node_modules/split2/bench.js +27 -0
- package/node_modules/split2/index.js +141 -0
- package/node_modules/split2/package.json +39 -0
- package/node_modules/split2/test.js +409 -0
- package/node_modules/thread-stream/.github/dependabot.yml +13 -0
- package/node_modules/thread-stream/.github/workflows/ci.yml +74 -0
- package/node_modules/thread-stream/.husky/pre-commit +4 -0
- package/node_modules/thread-stream/CLAUDE.md +53 -0
- package/node_modules/thread-stream/LICENSE +21 -0
- package/node_modules/thread-stream/README.md +135 -0
- package/node_modules/thread-stream/bench.js +85 -0
- package/node_modules/thread-stream/eslint.config.js +10 -0
- package/node_modules/thread-stream/index.d.ts +92 -0
- package/node_modules/thread-stream/index.js +541 -0
- package/node_modules/thread-stream/lib/indexes.js +9 -0
- package/node_modules/thread-stream/lib/wait.js +68 -0
- package/node_modules/thread-stream/lib/worker.js +179 -0
- package/node_modules/thread-stream/package.json +52 -0
- package/node_modules/thread-stream/test/base.test.js +259 -0
- package/node_modules/thread-stream/test/bench.test.js +38 -0
- package/node_modules/thread-stream/test/bundlers.test.js +59 -0
- package/node_modules/thread-stream/test/close-on-gc.js +37 -0
- package/node_modules/thread-stream/test/commonjs-fallback.test.js +75 -0
- package/node_modules/thread-stream/test/context.test.js +21 -0
- package/node_modules/thread-stream/test/create-and-exit.js +16 -0
- package/node_modules/thread-stream/test/custom-worker.js +9 -0
- package/node_modules/thread-stream/test/dir with spaces/test-package.zip +0 -0
- package/node_modules/thread-stream/test/emit-event.js +22 -0
- package/node_modules/thread-stream/test/end.test.js +56 -0
- package/node_modules/thread-stream/test/error.js +14 -0
- package/node_modules/thread-stream/test/esm.test.mjs +46 -0
- package/node_modules/thread-stream/test/event.test.js +24 -0
- package/node_modules/thread-stream/test/exit.js +14 -0
- package/node_modules/thread-stream/test/get-context.js +22 -0
- package/node_modules/thread-stream/test/helper.d.ts +1 -0
- package/node_modules/thread-stream/test/helper.js +26 -0
- package/node_modules/thread-stream/test/indexes.test.js +11 -0
- package/node_modules/thread-stream/test/multibyte-chars.test.mjs +75 -0
- package/node_modules/thread-stream/test/on-message.js +18 -0
- package/node_modules/thread-stream/test/pkg/index.js +37 -0
- package/node_modules/thread-stream/test/pkg/pkg.config.json +14 -0
- package/node_modules/thread-stream/test/pkg/pkg.test.js +45 -0
- package/node_modules/thread-stream/test/port.js +16 -0
- package/node_modules/thread-stream/test/post-message.test.js +23 -0
- package/node_modules/thread-stream/test/string-limit-2.test.js +35 -0
- package/node_modules/thread-stream/test/string-limit.test.js +37 -0
- package/node_modules/thread-stream/test/syntax-error.mjs +2 -0
- package/node_modules/thread-stream/test/thread-management.test.js +138 -0
- package/node_modules/thread-stream/test/to-file-on-destroy.js +23 -0
- package/node_modules/thread-stream/test/to-file-on-final.js +24 -0
- package/node_modules/thread-stream/test/to-file.js +12 -0
- package/node_modules/thread-stream/test/to-file.mjs +8 -0
- package/node_modules/thread-stream/test/to-next.js +9 -0
- package/node_modules/thread-stream/test/transpiled.test.js +29 -0
- package/node_modules/thread-stream/test/ts/to-file.ts +10 -0
- package/node_modules/thread-stream/test/ts/transpile.sh +19 -0
- package/node_modules/thread-stream/test/ts-commonjs-default-export.zip +0 -0
- package/node_modules/thread-stream/test/ts-native.test.mjs +35 -0
- package/node_modules/thread-stream/test/ts-node-fallback.test.js +35 -0
- package/node_modules/thread-stream/test/uncaughtException.js +21 -0
- package/node_modules/thread-stream/test/unhandledRejection.js +21 -0
- package/node_modules/thread-stream/test/yarnrc.yml +7 -0
- package/node_modules/thread-stream/tsconfig.json +8 -0
- package/node_modules/zod/LICENSE +21 -0
- package/node_modules/zod/README.md +208 -0
- package/node_modules/zod/index.cjs +33 -0
- package/node_modules/zod/index.d.cts +4 -0
- package/node_modules/zod/index.d.ts +4 -0
- package/node_modules/zod/index.js +4 -0
- package/node_modules/zod/locales/index.cjs +17 -0
- package/node_modules/zod/locales/index.d.cts +1 -0
- package/node_modules/zod/locales/index.d.ts +1 -0
- package/node_modules/zod/locales/index.js +1 -0
- package/node_modules/zod/locales/package.json +6 -0
- package/node_modules/zod/mini/index.cjs +32 -0
- package/node_modules/zod/mini/index.d.cts +3 -0
- package/node_modules/zod/mini/index.d.ts +3 -0
- package/node_modules/zod/mini/index.js +3 -0
- package/node_modules/zod/mini/package.json +6 -0
- package/node_modules/zod/package.json +135 -0
- package/node_modules/zod/src/index.ts +4 -0
- package/node_modules/zod/src/locales/index.ts +1 -0
- package/node_modules/zod/src/mini/index.ts +3 -0
- package/node_modules/zod/src/v3/ZodError.ts +330 -0
- package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
- package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
- package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
- package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
- package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
- package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
- package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
- package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
- package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
- package/node_modules/zod/src/v3/errors.ts +13 -0
- package/node_modules/zod/src/v3/external.ts +6 -0
- package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
- package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
- package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
- package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
- package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
- package/node_modules/zod/src/v3/helpers/util.ts +224 -0
- package/node_modules/zod/src/v3/index.ts +4 -0
- package/node_modules/zod/src/v3/locales/en.ts +124 -0
- package/node_modules/zod/src/v3/standard-schema.ts +113 -0
- package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
- package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
- package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
- package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
- package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
- package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
- package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
- package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
- package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
- package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
- package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
- package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
- package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
- package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
- package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
- package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
- package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
- package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
- package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
- package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
- package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
- package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
- package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
- package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
- package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
- package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
- package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
- package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
- package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
- package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
- package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
- package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
- package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
- package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
- package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
- package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
- package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
- package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
- package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
- package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
- package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
- package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
- package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
- package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
- package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
- package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
- package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
- package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
- package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
- package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
- package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
- package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
- package/node_modules/zod/src/v3/types.ts +5138 -0
- package/node_modules/zod/src/v4/classic/checks.ts +32 -0
- package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
- package/node_modules/zod/src/v4/classic/compat.ts +70 -0
- package/node_modules/zod/src/v4/classic/errors.ts +82 -0
- package/node_modules/zod/src/v4/classic/external.ts +51 -0
- package/node_modules/zod/src/v4/classic/from-json-schema.ts +643 -0
- package/node_modules/zod/src/v4/classic/index.ts +5 -0
- package/node_modules/zod/src/v4/classic/iso.ts +90 -0
- package/node_modules/zod/src/v4/classic/parse.ts +82 -0
- package/node_modules/zod/src/v4/classic/schemas.ts +2409 -0
- package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
- package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
- package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +210 -0
- package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
- package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
- package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
- package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/catch.test.ts +276 -0
- package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
- package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
- package/node_modules/zod/src/v4/classic/tests/codec.test.ts +562 -0
- package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
- package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
- package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
- package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
- package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
- package/node_modules/zod/src/v4/classic/tests/default.test.ts +365 -0
- package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
- package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
- package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +661 -0
- package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
- package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +595 -0
- package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
- package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
- package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
- package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
- package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +734 -0
- package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
- package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
- package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
- package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
- package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
- package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
- package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
- package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
- package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
- package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
- package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
- package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
- package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
- package/node_modules/zod/src/v4/classic/tests/number.test.ts +270 -0
- package/node_modules/zod/src/v4/classic/tests/object.test.ts +640 -0
- package/node_modules/zod/src/v4/classic/tests/optional.test.ts +223 -0
- package/node_modules/zod/src/v4/classic/tests/partial.test.ts +427 -0
- package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
- package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
- package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
- package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +282 -0
- package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
- package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
- package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
- package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
- package/node_modules/zod/src/v4/classic/tests/record.test.ts +632 -0
- package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +582 -0
- package/node_modules/zod/src/v4/classic/tests/refine.test.ts +570 -0
- package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
- package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
- package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
- package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
- package/node_modules/zod/src/v4/classic/tests/string.test.ts +1175 -0
- package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
- package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
- package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +2990 -0
- package/node_modules/zod/src/v4/classic/tests/transform.test.ts +361 -0
- package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +183 -0
- package/node_modules/zod/src/v4/classic/tests/union.test.ts +219 -0
- package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
- package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
- package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
- package/node_modules/zod/src/v4/core/api.ts +1798 -0
- package/node_modules/zod/src/v4/core/checks.ts +1293 -0
- package/node_modules/zod/src/v4/core/config.ts +15 -0
- package/node_modules/zod/src/v4/core/core.ts +138 -0
- package/node_modules/zod/src/v4/core/doc.ts +44 -0
- package/node_modules/zod/src/v4/core/errors.ts +448 -0
- package/node_modules/zod/src/v4/core/index.ts +16 -0
- package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
- package/node_modules/zod/src/v4/core/json-schema-processors.ts +667 -0
- package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
- package/node_modules/zod/src/v4/core/parse.ts +195 -0
- package/node_modules/zod/src/v4/core/regexes.ts +183 -0
- package/node_modules/zod/src/v4/core/registries.ts +105 -0
- package/node_modules/zod/src/v4/core/schemas.ts +4538 -0
- package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
- package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
- package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
- package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
- package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
- package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
- package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
- package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
- package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
- package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +83 -0
- package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +67 -0
- package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
- package/node_modules/zod/src/v4/core/to-json-schema.ts +613 -0
- package/node_modules/zod/src/v4/core/util.ts +966 -0
- package/node_modules/zod/src/v4/core/versions.ts +5 -0
- package/node_modules/zod/src/v4/core/zsf.ts +323 -0
- package/node_modules/zod/src/v4/index.ts +4 -0
- package/node_modules/zod/src/v4/locales/ar.ts +115 -0
- package/node_modules/zod/src/v4/locales/az.ts +111 -0
- package/node_modules/zod/src/v4/locales/be.ts +176 -0
- package/node_modules/zod/src/v4/locales/bg.ts +128 -0
- package/node_modules/zod/src/v4/locales/ca.ts +116 -0
- package/node_modules/zod/src/v4/locales/cs.ts +118 -0
- package/node_modules/zod/src/v4/locales/da.ts +123 -0
- package/node_modules/zod/src/v4/locales/de.ts +116 -0
- package/node_modules/zod/src/v4/locales/en.ts +119 -0
- package/node_modules/zod/src/v4/locales/eo.ts +118 -0
- package/node_modules/zod/src/v4/locales/es.ts +141 -0
- package/node_modules/zod/src/v4/locales/fa.ts +126 -0
- package/node_modules/zod/src/v4/locales/fi.ts +121 -0
- package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
- package/node_modules/zod/src/v4/locales/fr.ts +116 -0
- package/node_modules/zod/src/v4/locales/he.ts +246 -0
- package/node_modules/zod/src/v4/locales/hu.ts +117 -0
- package/node_modules/zod/src/v4/locales/hy.ts +164 -0
- package/node_modules/zod/src/v4/locales/id.ts +115 -0
- package/node_modules/zod/src/v4/locales/index.ts +49 -0
- package/node_modules/zod/src/v4/locales/is.ts +119 -0
- package/node_modules/zod/src/v4/locales/it.ts +116 -0
- package/node_modules/zod/src/v4/locales/ja.ts +114 -0
- package/node_modules/zod/src/v4/locales/ka.ts +123 -0
- package/node_modules/zod/src/v4/locales/kh.ts +7 -0
- package/node_modules/zod/src/v4/locales/km.ts +119 -0
- package/node_modules/zod/src/v4/locales/ko.ts +121 -0
- package/node_modules/zod/src/v4/locales/lt.ts +239 -0
- package/node_modules/zod/src/v4/locales/mk.ts +118 -0
- package/node_modules/zod/src/v4/locales/ms.ts +115 -0
- package/node_modules/zod/src/v4/locales/nl.ts +121 -0
- package/node_modules/zod/src/v4/locales/no.ts +116 -0
- package/node_modules/zod/src/v4/locales/ota.ts +117 -0
- package/node_modules/zod/src/v4/locales/pl.ts +118 -0
- package/node_modules/zod/src/v4/locales/ps.ts +126 -0
- package/node_modules/zod/src/v4/locales/pt.ts +116 -0
- package/node_modules/zod/src/v4/locales/ru.ts +176 -0
- package/node_modules/zod/src/v4/locales/sl.ts +118 -0
- package/node_modules/zod/src/v4/locales/sv.ts +119 -0
- package/node_modules/zod/src/v4/locales/ta.ts +118 -0
- package/node_modules/zod/src/v4/locales/th.ts +119 -0
- package/node_modules/zod/src/v4/locales/tr.ts +111 -0
- package/node_modules/zod/src/v4/locales/ua.ts +7 -0
- package/node_modules/zod/src/v4/locales/uk.ts +117 -0
- package/node_modules/zod/src/v4/locales/ur.ts +119 -0
- package/node_modules/zod/src/v4/locales/uz.ts +116 -0
- package/node_modules/zod/src/v4/locales/vi.ts +117 -0
- package/node_modules/zod/src/v4/locales/yo.ts +124 -0
- package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
- package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
- package/node_modules/zod/src/v4/mini/checks.ts +32 -0
- package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
- package/node_modules/zod/src/v4/mini/external.ts +40 -0
- package/node_modules/zod/src/v4/mini/index.ts +3 -0
- package/node_modules/zod/src/v4/mini/iso.ts +66 -0
- package/node_modules/zod/src/v4/mini/parse.ts +14 -0
- package/node_modules/zod/src/v4/mini/schemas.ts +1916 -0
- package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
- package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
- package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
- package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
- package/node_modules/zod/src/v4/mini/tests/codec.test.ts +529 -0
- package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
- package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
- package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
- package/node_modules/zod/src/v4/mini/tests/index.test.ts +963 -0
- package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
- package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
- package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
- package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +275 -0
- package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
- package/node_modules/zod/src/v4/mini/tests/string.test.ts +347 -0
- package/node_modules/zod/src/v4-mini/index.ts +3 -0
- package/node_modules/zod/v3/ZodError.cjs +138 -0
- package/node_modules/zod/v3/ZodError.d.cts +164 -0
- package/node_modules/zod/v3/ZodError.d.ts +164 -0
- package/node_modules/zod/v3/ZodError.js +133 -0
- package/node_modules/zod/v3/errors.cjs +17 -0
- package/node_modules/zod/v3/errors.d.cts +5 -0
- package/node_modules/zod/v3/errors.d.ts +5 -0
- package/node_modules/zod/v3/errors.js +9 -0
- package/node_modules/zod/v3/external.cjs +22 -0
- package/node_modules/zod/v3/external.d.cts +6 -0
- package/node_modules/zod/v3/external.d.ts +6 -0
- package/node_modules/zod/v3/external.js +6 -0
- package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
- package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
- package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
- package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
- package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
- package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
- package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
- package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
- package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
- package/node_modules/zod/v3/helpers/util.cjs +137 -0
- package/node_modules/zod/v3/helpers/util.d.cts +85 -0
- package/node_modules/zod/v3/helpers/util.d.ts +85 -0
- package/node_modules/zod/v3/helpers/util.js +133 -0
- package/node_modules/zod/v3/index.cjs +33 -0
- package/node_modules/zod/v3/index.d.cts +4 -0
- package/node_modules/zod/v3/index.d.ts +4 -0
- package/node_modules/zod/v3/index.js +4 -0
- package/node_modules/zod/v3/locales/en.cjs +112 -0
- package/node_modules/zod/v3/locales/en.d.cts +3 -0
- package/node_modules/zod/v3/locales/en.d.ts +3 -0
- package/node_modules/zod/v3/locales/en.js +109 -0
- package/node_modules/zod/v3/package.json +6 -0
- package/node_modules/zod/v3/standard-schema.cjs +2 -0
- package/node_modules/zod/v3/standard-schema.d.cts +102 -0
- package/node_modules/zod/v3/standard-schema.d.ts +102 -0
- package/node_modules/zod/v3/standard-schema.js +1 -0
- package/node_modules/zod/v3/types.cjs +3777 -0
- package/node_modules/zod/v3/types.d.cts +1034 -0
- package/node_modules/zod/v3/types.d.ts +1034 -0
- package/node_modules/zod/v3/types.js +3695 -0
- package/node_modules/zod/v4/classic/checks.cjs +33 -0
- package/node_modules/zod/v4/classic/checks.d.cts +1 -0
- package/node_modules/zod/v4/classic/checks.d.ts +1 -0
- package/node_modules/zod/v4/classic/checks.js +1 -0
- package/node_modules/zod/v4/classic/coerce.cjs +47 -0
- package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
- package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
- package/node_modules/zod/v4/classic/coerce.js +17 -0
- package/node_modules/zod/v4/classic/compat.cjs +61 -0
- package/node_modules/zod/v4/classic/compat.d.cts +50 -0
- package/node_modules/zod/v4/classic/compat.d.ts +50 -0
- package/node_modules/zod/v4/classic/compat.js +31 -0
- package/node_modules/zod/v4/classic/errors.cjs +74 -0
- package/node_modules/zod/v4/classic/errors.d.cts +30 -0
- package/node_modules/zod/v4/classic/errors.d.ts +30 -0
- package/node_modules/zod/v4/classic/errors.js +48 -0
- package/node_modules/zod/v4/classic/external.cjs +73 -0
- package/node_modules/zod/v4/classic/external.d.cts +15 -0
- package/node_modules/zod/v4/classic/external.d.ts +15 -0
- package/node_modules/zod/v4/classic/external.js +20 -0
- package/node_modules/zod/v4/classic/from-json-schema.cjs +610 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
- package/node_modules/zod/v4/classic/from-json-schema.js +584 -0
- package/node_modules/zod/v4/classic/index.cjs +33 -0
- package/node_modules/zod/v4/classic/index.d.cts +4 -0
- package/node_modules/zod/v4/classic/index.d.ts +4 -0
- package/node_modules/zod/v4/classic/index.js +4 -0
- package/node_modules/zod/v4/classic/iso.cjs +60 -0
- package/node_modules/zod/v4/classic/iso.d.cts +22 -0
- package/node_modules/zod/v4/classic/iso.d.ts +22 -0
- package/node_modules/zod/v4/classic/iso.js +30 -0
- package/node_modules/zod/v4/classic/package.json +6 -0
- package/node_modules/zod/v4/classic/parse.cjs +41 -0
- package/node_modules/zod/v4/classic/parse.d.cts +31 -0
- package/node_modules/zod/v4/classic/parse.d.ts +31 -0
- package/node_modules/zod/v4/classic/parse.js +15 -0
- package/node_modules/zod/v4/classic/schemas.cjs +1272 -0
- package/node_modules/zod/v4/classic/schemas.d.cts +739 -0
- package/node_modules/zod/v4/classic/schemas.d.ts +739 -0
- package/node_modules/zod/v4/classic/schemas.js +1157 -0
- package/node_modules/zod/v4/core/api.cjs +1222 -0
- package/node_modules/zod/v4/core/api.d.cts +304 -0
- package/node_modules/zod/v4/core/api.d.ts +304 -0
- package/node_modules/zod/v4/core/api.js +1082 -0
- package/node_modules/zod/v4/core/checks.cjs +601 -0
- package/node_modules/zod/v4/core/checks.d.cts +278 -0
- package/node_modules/zod/v4/core/checks.d.ts +278 -0
- package/node_modules/zod/v4/core/checks.js +575 -0
- package/node_modules/zod/v4/core/core.cjs +83 -0
- package/node_modules/zod/v4/core/core.d.cts +70 -0
- package/node_modules/zod/v4/core/core.d.ts +70 -0
- package/node_modules/zod/v4/core/core.js +76 -0
- package/node_modules/zod/v4/core/doc.cjs +39 -0
- package/node_modules/zod/v4/core/doc.d.cts +14 -0
- package/node_modules/zod/v4/core/doc.d.ts +14 -0
- package/node_modules/zod/v4/core/doc.js +35 -0
- package/node_modules/zod/v4/core/errors.cjs +213 -0
- package/node_modules/zod/v4/core/errors.d.cts +220 -0
- package/node_modules/zod/v4/core/errors.d.ts +220 -0
- package/node_modules/zod/v4/core/errors.js +182 -0
- package/node_modules/zod/v4/core/index.cjs +47 -0
- package/node_modules/zod/v4/core/index.d.cts +16 -0
- package/node_modules/zod/v4/core/index.d.ts +16 -0
- package/node_modules/zod/v4/core/index.js +16 -0
- package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
- package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
- package/node_modules/zod/v4/core/json-schema-processors.cjs +648 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
- package/node_modules/zod/v4/core/json-schema-processors.js +605 -0
- package/node_modules/zod/v4/core/json-schema.cjs +2 -0
- package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
- package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
- package/node_modules/zod/v4/core/json-schema.js +1 -0
- package/node_modules/zod/v4/core/package.json +6 -0
- package/node_modules/zod/v4/core/parse.cjs +131 -0
- package/node_modules/zod/v4/core/parse.d.cts +49 -0
- package/node_modules/zod/v4/core/parse.d.ts +49 -0
- package/node_modules/zod/v4/core/parse.js +93 -0
- package/node_modules/zod/v4/core/regexes.cjs +166 -0
- package/node_modules/zod/v4/core/regexes.d.cts +79 -0
- package/node_modules/zod/v4/core/regexes.d.ts +79 -0
- package/node_modules/zod/v4/core/regexes.js +133 -0
- package/node_modules/zod/v4/core/registries.cjs +56 -0
- package/node_modules/zod/v4/core/registries.d.cts +35 -0
- package/node_modules/zod/v4/core/registries.d.ts +35 -0
- package/node_modules/zod/v4/core/registries.js +51 -0
- package/node_modules/zod/v4/core/schemas.cjs +2124 -0
- package/node_modules/zod/v4/core/schemas.d.cts +1146 -0
- package/node_modules/zod/v4/core/schemas.d.ts +1146 -0
- package/node_modules/zod/v4/core/schemas.js +2093 -0
- package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
- package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
- package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
- package/node_modules/zod/v4/core/standard-schema.js +1 -0
- package/node_modules/zod/v4/core/to-json-schema.cjs +446 -0
- package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
- package/node_modules/zod/v4/core/to-json-schema.js +437 -0
- package/node_modules/zod/v4/core/util.cjs +710 -0
- package/node_modules/zod/v4/core/util.d.cts +199 -0
- package/node_modules/zod/v4/core/util.d.ts +199 -0
- package/node_modules/zod/v4/core/util.js +651 -0
- package/node_modules/zod/v4/core/versions.cjs +8 -0
- package/node_modules/zod/v4/core/versions.d.cts +5 -0
- package/node_modules/zod/v4/core/versions.d.ts +5 -0
- package/node_modules/zod/v4/core/versions.js +5 -0
- package/node_modules/zod/v4/index.cjs +22 -0
- package/node_modules/zod/v4/index.d.cts +3 -0
- package/node_modules/zod/v4/index.d.ts +3 -0
- package/node_modules/zod/v4/index.js +3 -0
- package/node_modules/zod/v4/locales/ar.cjs +133 -0
- package/node_modules/zod/v4/locales/ar.d.cts +5 -0
- package/node_modules/zod/v4/locales/ar.d.ts +4 -0
- package/node_modules/zod/v4/locales/ar.js +106 -0
- package/node_modules/zod/v4/locales/az.cjs +132 -0
- package/node_modules/zod/v4/locales/az.d.cts +5 -0
- package/node_modules/zod/v4/locales/az.d.ts +4 -0
- package/node_modules/zod/v4/locales/az.js +105 -0
- package/node_modules/zod/v4/locales/be.cjs +183 -0
- package/node_modules/zod/v4/locales/be.d.cts +5 -0
- package/node_modules/zod/v4/locales/be.d.ts +4 -0
- package/node_modules/zod/v4/locales/be.js +156 -0
- package/node_modules/zod/v4/locales/bg.cjs +147 -0
- package/node_modules/zod/v4/locales/bg.d.cts +5 -0
- package/node_modules/zod/v4/locales/bg.d.ts +4 -0
- package/node_modules/zod/v4/locales/bg.js +120 -0
- package/node_modules/zod/v4/locales/ca.cjs +134 -0
- package/node_modules/zod/v4/locales/ca.d.cts +5 -0
- package/node_modules/zod/v4/locales/ca.d.ts +4 -0
- package/node_modules/zod/v4/locales/ca.js +107 -0
- package/node_modules/zod/v4/locales/cs.cjs +138 -0
- package/node_modules/zod/v4/locales/cs.d.cts +5 -0
- package/node_modules/zod/v4/locales/cs.d.ts +4 -0
- package/node_modules/zod/v4/locales/cs.js +111 -0
- package/node_modules/zod/v4/locales/da.cjs +142 -0
- package/node_modules/zod/v4/locales/da.d.cts +5 -0
- package/node_modules/zod/v4/locales/da.d.ts +4 -0
- package/node_modules/zod/v4/locales/da.js +115 -0
- package/node_modules/zod/v4/locales/de.cjs +135 -0
- package/node_modules/zod/v4/locales/de.d.cts +5 -0
- package/node_modules/zod/v4/locales/de.d.ts +4 -0
- package/node_modules/zod/v4/locales/de.js +108 -0
- package/node_modules/zod/v4/locales/en.cjs +136 -0
- package/node_modules/zod/v4/locales/en.d.cts +5 -0
- package/node_modules/zod/v4/locales/en.d.ts +4 -0
- package/node_modules/zod/v4/locales/en.js +109 -0
- package/node_modules/zod/v4/locales/eo.cjs +136 -0
- package/node_modules/zod/v4/locales/eo.d.cts +5 -0
- package/node_modules/zod/v4/locales/eo.d.ts +4 -0
- package/node_modules/zod/v4/locales/eo.js +109 -0
- package/node_modules/zod/v4/locales/es.cjs +159 -0
- package/node_modules/zod/v4/locales/es.d.cts +5 -0
- package/node_modules/zod/v4/locales/es.d.ts +4 -0
- package/node_modules/zod/v4/locales/es.js +132 -0
- package/node_modules/zod/v4/locales/fa.cjs +141 -0
- package/node_modules/zod/v4/locales/fa.d.cts +5 -0
- package/node_modules/zod/v4/locales/fa.d.ts +4 -0
- package/node_modules/zod/v4/locales/fa.js +114 -0
- package/node_modules/zod/v4/locales/fi.cjs +139 -0
- package/node_modules/zod/v4/locales/fi.d.cts +5 -0
- package/node_modules/zod/v4/locales/fi.d.ts +4 -0
- package/node_modules/zod/v4/locales/fi.js +112 -0
- package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
- package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr-CA.js +107 -0
- package/node_modules/zod/v4/locales/fr.cjs +135 -0
- package/node_modules/zod/v4/locales/fr.d.cts +5 -0
- package/node_modules/zod/v4/locales/fr.d.ts +4 -0
- package/node_modules/zod/v4/locales/fr.js +108 -0
- package/node_modules/zod/v4/locales/he.cjs +241 -0
- package/node_modules/zod/v4/locales/he.d.cts +5 -0
- package/node_modules/zod/v4/locales/he.d.ts +4 -0
- package/node_modules/zod/v4/locales/he.js +214 -0
- package/node_modules/zod/v4/locales/hu.cjs +135 -0
- package/node_modules/zod/v4/locales/hu.d.cts +5 -0
- package/node_modules/zod/v4/locales/hu.d.ts +4 -0
- package/node_modules/zod/v4/locales/hu.js +108 -0
- package/node_modules/zod/v4/locales/hy.cjs +174 -0
- package/node_modules/zod/v4/locales/hy.d.cts +5 -0
- package/node_modules/zod/v4/locales/hy.d.ts +4 -0
- package/node_modules/zod/v4/locales/hy.js +147 -0
- package/node_modules/zod/v4/locales/id.cjs +133 -0
- package/node_modules/zod/v4/locales/id.d.cts +5 -0
- package/node_modules/zod/v4/locales/id.d.ts +4 -0
- package/node_modules/zod/v4/locales/id.js +106 -0
- package/node_modules/zod/v4/locales/index.cjs +104 -0
- package/node_modules/zod/v4/locales/index.d.cts +49 -0
- package/node_modules/zod/v4/locales/index.d.ts +49 -0
- package/node_modules/zod/v4/locales/index.js +49 -0
- package/node_modules/zod/v4/locales/is.cjs +136 -0
- package/node_modules/zod/v4/locales/is.d.cts +5 -0
- package/node_modules/zod/v4/locales/is.d.ts +4 -0
- package/node_modules/zod/v4/locales/is.js +109 -0
- package/node_modules/zod/v4/locales/it.cjs +135 -0
- package/node_modules/zod/v4/locales/it.d.cts +5 -0
- package/node_modules/zod/v4/locales/it.d.ts +4 -0
- package/node_modules/zod/v4/locales/it.js +108 -0
- package/node_modules/zod/v4/locales/ja.cjs +134 -0
- package/node_modules/zod/v4/locales/ja.d.cts +5 -0
- package/node_modules/zod/v4/locales/ja.d.ts +4 -0
- package/node_modules/zod/v4/locales/ja.js +107 -0
- package/node_modules/zod/v4/locales/ka.cjs +139 -0
- package/node_modules/zod/v4/locales/ka.d.cts +5 -0
- package/node_modules/zod/v4/locales/ka.d.ts +4 -0
- package/node_modules/zod/v4/locales/ka.js +112 -0
- package/node_modules/zod/v4/locales/kh.cjs +12 -0
- package/node_modules/zod/v4/locales/kh.d.cts +5 -0
- package/node_modules/zod/v4/locales/kh.d.ts +5 -0
- package/node_modules/zod/v4/locales/kh.js +5 -0
- package/node_modules/zod/v4/locales/km.cjs +137 -0
- package/node_modules/zod/v4/locales/km.d.cts +5 -0
- package/node_modules/zod/v4/locales/km.d.ts +4 -0
- package/node_modules/zod/v4/locales/km.js +110 -0
- package/node_modules/zod/v4/locales/ko.cjs +138 -0
- package/node_modules/zod/v4/locales/ko.d.cts +5 -0
- package/node_modules/zod/v4/locales/ko.d.ts +4 -0
- package/node_modules/zod/v4/locales/ko.js +111 -0
- package/node_modules/zod/v4/locales/lt.cjs +230 -0
- package/node_modules/zod/v4/locales/lt.d.cts +5 -0
- package/node_modules/zod/v4/locales/lt.d.ts +4 -0
- package/node_modules/zod/v4/locales/lt.js +203 -0
- package/node_modules/zod/v4/locales/mk.cjs +136 -0
- package/node_modules/zod/v4/locales/mk.d.cts +5 -0
- package/node_modules/zod/v4/locales/mk.d.ts +4 -0
- package/node_modules/zod/v4/locales/mk.js +109 -0
- package/node_modules/zod/v4/locales/ms.cjs +134 -0
- package/node_modules/zod/v4/locales/ms.d.cts +5 -0
- package/node_modules/zod/v4/locales/ms.d.ts +4 -0
- package/node_modules/zod/v4/locales/ms.js +107 -0
- package/node_modules/zod/v4/locales/nl.cjs +137 -0
- package/node_modules/zod/v4/locales/nl.d.cts +5 -0
- package/node_modules/zod/v4/locales/nl.d.ts +4 -0
- package/node_modules/zod/v4/locales/nl.js +110 -0
- package/node_modules/zod/v4/locales/no.cjs +135 -0
- package/node_modules/zod/v4/locales/no.d.cts +5 -0
- package/node_modules/zod/v4/locales/no.d.ts +4 -0
- package/node_modules/zod/v4/locales/no.js +108 -0
- package/node_modules/zod/v4/locales/ota.cjs +136 -0
- package/node_modules/zod/v4/locales/ota.d.cts +5 -0
- package/node_modules/zod/v4/locales/ota.d.ts +4 -0
- package/node_modules/zod/v4/locales/ota.js +109 -0
- package/node_modules/zod/v4/locales/package.json +6 -0
- package/node_modules/zod/v4/locales/pl.cjs +136 -0
- package/node_modules/zod/v4/locales/pl.d.cts +5 -0
- package/node_modules/zod/v4/locales/pl.d.ts +4 -0
- package/node_modules/zod/v4/locales/pl.js +109 -0
- package/node_modules/zod/v4/locales/ps.cjs +141 -0
- package/node_modules/zod/v4/locales/ps.d.cts +5 -0
- package/node_modules/zod/v4/locales/ps.d.ts +4 -0
- package/node_modules/zod/v4/locales/ps.js +114 -0
- package/node_modules/zod/v4/locales/pt.cjs +135 -0
- package/node_modules/zod/v4/locales/pt.d.cts +5 -0
- package/node_modules/zod/v4/locales/pt.d.ts +4 -0
- package/node_modules/zod/v4/locales/pt.js +108 -0
- package/node_modules/zod/v4/locales/ru.cjs +183 -0
- package/node_modules/zod/v4/locales/ru.d.cts +5 -0
- package/node_modules/zod/v4/locales/ru.d.ts +4 -0
- package/node_modules/zod/v4/locales/ru.js +156 -0
- package/node_modules/zod/v4/locales/sl.cjs +136 -0
- package/node_modules/zod/v4/locales/sl.d.cts +5 -0
- package/node_modules/zod/v4/locales/sl.d.ts +4 -0
- package/node_modules/zod/v4/locales/sl.js +109 -0
- package/node_modules/zod/v4/locales/sv.cjs +137 -0
- package/node_modules/zod/v4/locales/sv.d.cts +5 -0
- package/node_modules/zod/v4/locales/sv.d.ts +4 -0
- package/node_modules/zod/v4/locales/sv.js +110 -0
- package/node_modules/zod/v4/locales/ta.cjs +137 -0
- package/node_modules/zod/v4/locales/ta.d.cts +5 -0
- package/node_modules/zod/v4/locales/ta.d.ts +4 -0
- package/node_modules/zod/v4/locales/ta.js +110 -0
- package/node_modules/zod/v4/locales/th.cjs +137 -0
- package/node_modules/zod/v4/locales/th.d.cts +5 -0
- package/node_modules/zod/v4/locales/th.d.ts +4 -0
- package/node_modules/zod/v4/locales/th.js +110 -0
- package/node_modules/zod/v4/locales/tr.cjs +132 -0
- package/node_modules/zod/v4/locales/tr.d.cts +5 -0
- package/node_modules/zod/v4/locales/tr.d.ts +4 -0
- package/node_modules/zod/v4/locales/tr.js +105 -0
- package/node_modules/zod/v4/locales/ua.cjs +12 -0
- package/node_modules/zod/v4/locales/ua.d.cts +5 -0
- package/node_modules/zod/v4/locales/ua.d.ts +5 -0
- package/node_modules/zod/v4/locales/ua.js +5 -0
- package/node_modules/zod/v4/locales/uk.cjs +135 -0
- package/node_modules/zod/v4/locales/uk.d.cts +5 -0
- package/node_modules/zod/v4/locales/uk.d.ts +4 -0
- package/node_modules/zod/v4/locales/uk.js +108 -0
- package/node_modules/zod/v4/locales/ur.cjs +137 -0
- package/node_modules/zod/v4/locales/ur.d.cts +5 -0
- package/node_modules/zod/v4/locales/ur.d.ts +4 -0
- package/node_modules/zod/v4/locales/ur.js +110 -0
- package/node_modules/zod/v4/locales/uz.cjs +136 -0
- package/node_modules/zod/v4/locales/uz.d.cts +5 -0
- package/node_modules/zod/v4/locales/uz.d.ts +4 -0
- package/node_modules/zod/v4/locales/uz.js +109 -0
- package/node_modules/zod/v4/locales/vi.cjs +135 -0
- package/node_modules/zod/v4/locales/vi.d.cts +5 -0
- package/node_modules/zod/v4/locales/vi.d.ts +4 -0
- package/node_modules/zod/v4/locales/vi.js +108 -0
- package/node_modules/zod/v4/locales/yo.cjs +134 -0
- package/node_modules/zod/v4/locales/yo.d.cts +5 -0
- package/node_modules/zod/v4/locales/yo.d.ts +4 -0
- package/node_modules/zod/v4/locales/yo.js +107 -0
- package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
- package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-CN.js +109 -0
- package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
- package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
- package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
- package/node_modules/zod/v4/locales/zh-TW.js +107 -0
- package/node_modules/zod/v4/mini/checks.cjs +34 -0
- package/node_modules/zod/v4/mini/checks.d.cts +1 -0
- package/node_modules/zod/v4/mini/checks.d.ts +1 -0
- package/node_modules/zod/v4/mini/checks.js +1 -0
- package/node_modules/zod/v4/mini/coerce.cjs +52 -0
- package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
- package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
- package/node_modules/zod/v4/mini/coerce.js +22 -0
- package/node_modules/zod/v4/mini/external.cjs +63 -0
- package/node_modules/zod/v4/mini/external.d.cts +12 -0
- package/node_modules/zod/v4/mini/external.d.ts +12 -0
- package/node_modules/zod/v4/mini/external.js +14 -0
- package/node_modules/zod/v4/mini/index.cjs +32 -0
- package/node_modules/zod/v4/mini/index.d.cts +3 -0
- package/node_modules/zod/v4/mini/index.d.ts +3 -0
- package/node_modules/zod/v4/mini/index.js +3 -0
- package/node_modules/zod/v4/mini/iso.cjs +64 -0
- package/node_modules/zod/v4/mini/iso.d.cts +22 -0
- package/node_modules/zod/v4/mini/iso.d.ts +22 -0
- package/node_modules/zod/v4/mini/iso.js +34 -0
- package/node_modules/zod/v4/mini/package.json +6 -0
- package/node_modules/zod/v4/mini/parse.cjs +16 -0
- package/node_modules/zod/v4/mini/parse.d.cts +1 -0
- package/node_modules/zod/v4/mini/parse.d.ts +1 -0
- package/node_modules/zod/v4/mini/parse.js +1 -0
- package/node_modules/zod/v4/mini/schemas.cjs +1046 -0
- package/node_modules/zod/v4/mini/schemas.d.cts +427 -0
- package/node_modules/zod/v4/mini/schemas.d.ts +427 -0
- package/node_modules/zod/v4/mini/schemas.js +925 -0
- package/node_modules/zod/v4/package.json +6 -0
- package/node_modules/zod/v4-mini/index.cjs +32 -0
- package/node_modules/zod/v4-mini/index.d.cts +3 -0
- package/node_modules/zod/v4-mini/index.d.ts +3 -0
- package/node_modules/zod/v4-mini/index.js +3 -0
- package/node_modules/zod/v4-mini/package.json +6 -0
- package/package.json +4 -1
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Incremented whenever a key format or artifact envelope shape changes.
|
|
3
|
+
* Writers stamp this version on every record; readers inspect it and can
|
|
4
|
+
* log / fall back / refuse on mismatch.
|
|
5
|
+
*/
|
|
6
|
+
export declare const KV_KEY_SCHEMA_VERSION = 1;
|
|
7
|
+
export declare const kvKeys: {
|
|
8
|
+
/** Tenant routing key — "which product does this subdomain belong to?" */
|
|
9
|
+
readonly subdomain: (slug: string) => string;
|
|
10
|
+
/**
|
|
11
|
+
* Per-product config record. Env-scoped when `environmentId` is set —
|
|
12
|
+
* the gateway looks up the env-scoped key first and falls back to the
|
|
13
|
+
* production key when it misses.
|
|
14
|
+
*/
|
|
15
|
+
readonly product: (productId: string, environmentId?: string | null) => string;
|
|
16
|
+
/** Per-plan config record. Shared across envs — plan IDs are globally unique. */
|
|
17
|
+
readonly plan: (planId: string) => string;
|
|
18
|
+
/**
|
|
19
|
+
* Credential record keyed by the hash of the presented API key. The
|
|
20
|
+
* gateway hashes inbound keys and looks up this record to resolve the
|
|
21
|
+
* caller's subject. Never key by the raw API key.
|
|
22
|
+
*/
|
|
23
|
+
readonly credential: (keyHash: string) => string;
|
|
24
|
+
/**
|
|
25
|
+
* Compiled entitlement record.
|
|
26
|
+
*
|
|
27
|
+
* v0.14.0 — keyed by `compiledPlanId` (immutable CompiledPlan pointer).
|
|
28
|
+
* All subscribers on the same CompiledPlan share one KV entry.
|
|
29
|
+
*
|
|
30
|
+
* Prior to v0.14.0 this was keyed by `subjectKey`. Writers must call
|
|
31
|
+
* the builder with the new argument name; readers that still receive a
|
|
32
|
+
* subject-keyed record should fall back gracefully (treated as cache
|
|
33
|
+
* miss and re-read from DB).
|
|
34
|
+
*/
|
|
35
|
+
readonly entitlement: (compiledPlanId: string) => string;
|
|
36
|
+
/** Shard policy record. One per product; env shares the production policy. */
|
|
37
|
+
readonly shardPolicy: (productId: string) => string;
|
|
38
|
+
/**
|
|
39
|
+
* Per-subscriber lifecycle state overlay.
|
|
40
|
+
*
|
|
41
|
+
* One entry per (subjectKey, environmentId). The gateway reads this on
|
|
42
|
+
* every request to resolve:
|
|
43
|
+
* - which CompiledPlan's entitlement is currently active for the sub
|
|
44
|
+
* (`activeCompiledPlanId` → fetch `entitlement:<that>`)
|
|
45
|
+
* - the enforcement mode (STRICT | GRACE | TRACK_ONLY)
|
|
46
|
+
* - per-subscriber overrides (spend cap, reduced grace limits, …)
|
|
47
|
+
* - whether a transition is scheduled (so it can pre-cache the next
|
|
48
|
+
* entitlement)
|
|
49
|
+
*
|
|
50
|
+
* Together with `entitlement:<compiledPlanId>` (shared across subs on
|
|
51
|
+
* the same plan version) + `subscription_state:<subjectKey>` (per-sub
|
|
52
|
+
* overlay), the gateway has everything it needs to make a per-request
|
|
53
|
+
* enforcement decision without recompiling entitlements per subscriber.
|
|
54
|
+
*/
|
|
55
|
+
readonly subscriptionState: (subjectKey: string, environmentId?: string | null) => string;
|
|
56
|
+
/**
|
|
57
|
+
* Per-lineage atomic snapshot — the xDS pattern for long-horizon API
|
|
58
|
+
* versioning (Phase A8a).
|
|
59
|
+
*
|
|
60
|
+
* Single-key bundle of every CompiledPlan currently serving a lineage:
|
|
61
|
+
* the ACTIVE head + the optional LEGACY_STABLE secondary head + every
|
|
62
|
+
* EXPERIMENTAL variant. The gateway prefers this key over the
|
|
63
|
+
* per-CompiledPlan `entitlement:<id>` keys so it can read the full
|
|
64
|
+
* "current entitlement set for lineage L" with one round-trip and zero
|
|
65
|
+
* possibility of torn state.
|
|
66
|
+
*
|
|
67
|
+
* Atomicity: writes are last-writer-wins on a single Cloudflare KV
|
|
68
|
+
* key. Two concurrent compiles on the same lineage produce a
|
|
69
|
+
* deterministic resolution — the later `publishedAt` wins; the
|
|
70
|
+
* `reconcileEdgeKvKeys` cron heals drift.
|
|
71
|
+
*
|
|
72
|
+
* Backward compat: gateway falls back to per-CP key
|
|
73
|
+
* (`entitlement:<compiledPlanId>`) when the snapshot is missing.
|
|
74
|
+
* Writers dual-publish during the rollout; eventual consistency on
|
|
75
|
+
* the snapshot is fine.
|
|
76
|
+
*/
|
|
77
|
+
readonly lineageSnapshot: (lineageId: string) => string;
|
|
78
|
+
/**
|
|
79
|
+
* Per-lineage tombstone (Phase A8c). Written briefly when a CP is
|
|
80
|
+
* removed from the snapshot mid-flight (e.g. variant rollback) so
|
|
81
|
+
* late readers in the gateway's 2-second cache window see a clear
|
|
82
|
+
* "this lineage's experimental set is shrinking" signal instead of
|
|
83
|
+
* "key not found." Cleared on next successful publish; cron sweeps
|
|
84
|
+
* after 24h.
|
|
85
|
+
*/
|
|
86
|
+
readonly lineageTombstone: (lineageId: string) => string;
|
|
87
|
+
};
|
|
88
|
+
export type KvKeyBuilder = typeof kvKeys;
|
|
89
|
+
/**
|
|
90
|
+
* What the gateway reads + applies on every request, layered on top of
|
|
91
|
+
* the shared `entitlement:<compiledPlanId>` record.
|
|
92
|
+
*
|
|
93
|
+
* Written by core's `subscription-state-publisher` whenever the
|
|
94
|
+
* subscription's lifecycle / scheduledTransition / overrides change.
|
|
95
|
+
* Read by the gateway worker on every request after credential lookup.
|
|
96
|
+
*/
|
|
97
|
+
export type EdgeSubscriptionState = {
|
|
98
|
+
/** Internal Subscription.id — for diagnostics / cross-ref into core. */
|
|
99
|
+
subscriptionId: string;
|
|
100
|
+
/** SubscriptionPeriod.id of the currently-active period (Phase 6 stub —
|
|
101
|
+
* may be undefined until SubscriptionPeriod is fully wired). */
|
|
102
|
+
activePeriodId?: string;
|
|
103
|
+
/** Points at `entitlement:<compiledPlanId>`. The gateway fetches that
|
|
104
|
+
* separately; this overlay just routes to the right one. */
|
|
105
|
+
activeCompiledPlanId: string;
|
|
106
|
+
/** Enforcement mode for this subscriber RIGHT NOW.
|
|
107
|
+
* STRICT — hard limits, BLOCK on overage
|
|
108
|
+
* GRACE — limits soft (track) until gracePeriodEndsAt
|
|
109
|
+
* TRACK_ONLY — log everything, never block (trial prep, dunning) */
|
|
110
|
+
enforcementMode: "STRICT" | "GRACE" | "TRACK_ONLY";
|
|
111
|
+
/** Set when enforcementMode = GRACE. ISO 8601 string. Gateway compares
|
|
112
|
+
* against now; expired grace self-heals to STRICT on the next
|
|
113
|
+
* request. Absent when enforcementMode != GRACE. */
|
|
114
|
+
gracePeriodEndsAt?: string;
|
|
115
|
+
/** Per-subscriber overrides applied AFTER the base entitlement loads. */
|
|
116
|
+
overrides?: {
|
|
117
|
+
/** Hard cap on monthly consumer spend. Compiled into a dollars/month
|
|
118
|
+
* enforce-mode rule even if the plan otherwise lets overage through. */
|
|
119
|
+
maxMonthlySpendCents?: number;
|
|
120
|
+
/** Reduced limits during grace, e.g. {requests: 100} drops the
|
|
121
|
+
* requests-per-minute cap to 100 instead of the plan's 1000. */
|
|
122
|
+
limitOverrides?: Record<string, number>;
|
|
123
|
+
/** Per-subscriber feature-gate overrides — flip individual flags
|
|
124
|
+
* without rebuilding the CompiledPlan. */
|
|
125
|
+
featureGateOverrides?: Record<string, boolean>;
|
|
126
|
+
};
|
|
127
|
+
/** Heads-up to the gateway about an upcoming transition. Lets it
|
|
128
|
+
* pre-warm the next entitlement record so the cutover is hot. */
|
|
129
|
+
scheduledTransition?: {
|
|
130
|
+
kind: string;
|
|
131
|
+
timing: string;
|
|
132
|
+
scheduledFor: string;
|
|
133
|
+
toCompiledPlanId: string | null;
|
|
134
|
+
};
|
|
135
|
+
/** Monotonic generation counter — bumped on every state change so
|
|
136
|
+
* caches downstream of the gateway can detect staleness. */
|
|
137
|
+
generation: number;
|
|
138
|
+
/** When this overlay was last written. */
|
|
139
|
+
updatedAt: string;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* One member of a lineage's experimental rollout. The gateway uses these
|
|
143
|
+
* to bucket new subscribers (sticky-assigned via SHA-256 hash) without
|
|
144
|
+
* re-querying core. Mirrors `CompiledPlan.{rolloutPercent, assignmentSeed,
|
|
145
|
+
* prorationOnRollback}` from Phase A1 schema.
|
|
146
|
+
*/
|
|
147
|
+
export type LineageSnapshotExperimentalMember = {
|
|
148
|
+
compiledPlanId: string;
|
|
149
|
+
rolloutPercent: number;
|
|
150
|
+
assignmentSeed: string;
|
|
151
|
+
prorationOnRollback: "NONE" | "PRORATE" | "CREDIT";
|
|
152
|
+
/** SHA-256 of the entitlement payload — lets the gateway detect a
|
|
153
|
+
* bypass / KV inconsistency without refetching the per-CP key. */
|
|
154
|
+
entitlementHash: string;
|
|
155
|
+
};
|
|
156
|
+
/**
|
|
157
|
+
* One member of a lineage's stable head. There are at most two: the
|
|
158
|
+
* `ACTIVE` head (always present) and the optional `LEGACY_STABLE` head
|
|
159
|
+
* (the grandfathered cohort).
|
|
160
|
+
*/
|
|
161
|
+
export type LineageSnapshotStableMember = {
|
|
162
|
+
compiledPlanId: string;
|
|
163
|
+
/** SHA-256 of the entitlement payload. */
|
|
164
|
+
entitlementHash: string;
|
|
165
|
+
};
|
|
166
|
+
/**
|
|
167
|
+
* Atomic snapshot of every CompiledPlan currently serving a lineage.
|
|
168
|
+
* The gateway reads ONE key (`lineage:<lineageId>:current`) and has the
|
|
169
|
+
* full set — no torn state where ACTIVE is updated but LEGACY_STABLE
|
|
170
|
+
* still on the previous content.
|
|
171
|
+
*
|
|
172
|
+
* Signature: HMAC-SHA256 over `{ lineageId, publishedAt, active,
|
|
173
|
+
* secondaryActive?, experimental[] }` (everything except the signature
|
|
174
|
+
* field itself), using the same signing secret as
|
|
175
|
+
* `entitlement-compiler.ts`. Gateway verifies; mismatch → log + treat
|
|
176
|
+
* as miss + fall back to per-CP key.
|
|
177
|
+
*/
|
|
178
|
+
export type EdgeLineageSnapshot = {
|
|
179
|
+
/** Internal PlanLineage.id — stable across compiles. */
|
|
180
|
+
lineageId: string;
|
|
181
|
+
/** ISO 8601. Last-writer-wins tiebreaker for concurrent compiles. */
|
|
182
|
+
publishedAt: string;
|
|
183
|
+
/** The current ACTIVE head — non-null at all times for any lineage
|
|
184
|
+
* that has subscribers. */
|
|
185
|
+
active: LineageSnapshotStableMember;
|
|
186
|
+
/** The LEGACY_STABLE head, if YAML declared `legacy: true` on a peer
|
|
187
|
+
* plan. */
|
|
188
|
+
secondaryActive?: LineageSnapshotStableMember;
|
|
189
|
+
/** Every EXPERIMENTAL variant currently in this lineage. Empty when
|
|
190
|
+
* no variants are running. */
|
|
191
|
+
experimental: LineageSnapshotExperimentalMember[];
|
|
192
|
+
/** HMAC signature over the snapshot fields (excluding `signature`). */
|
|
193
|
+
signature: string;
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* Tombstone payload for a temporarily-shrinking lineage. Written when
|
|
197
|
+
* a CP is being removed from the snapshot AND the new snapshot hasn't
|
|
198
|
+
* landed yet (KV consistency window). Cleared on next successful
|
|
199
|
+
* publish; cron sweeps after 24h.
|
|
200
|
+
*/
|
|
201
|
+
export type EdgeLineageTombstone = {
|
|
202
|
+
/** Same id as `EdgeLineageSnapshot.lineageId`. */
|
|
203
|
+
lineageId: string;
|
|
204
|
+
/** When the tombstone was written. */
|
|
205
|
+
archivedAt: string;
|
|
206
|
+
/** Set of compiledPlanIds being removed from the snapshot. */
|
|
207
|
+
removedCompiledPlanIds: string[];
|
|
208
|
+
};
|
|
209
|
+
/**
|
|
210
|
+
* Tombstone payload written to `ent:<compiledPlanId>` when a
|
|
211
|
+
* CompiledPlan transitions to ARCHIVED but the key isn't yet eligible
|
|
212
|
+
* for hard-delete (within the 7-day retention window).
|
|
213
|
+
*
|
|
214
|
+
* Late readers in the gateway's 2-second cache window get a clear
|
|
215
|
+
* "this CP is archived" signal instead of a "key not found" miss
|
|
216
|
+
* (which the gateway would otherwise treat as an unknown CP).
|
|
217
|
+
*
|
|
218
|
+
* The reconcileEdgeKvKeys cron promotes tombstones past the retention
|
|
219
|
+
* window into hard deletes. The envelope's `kind: "ARCHIVED"`
|
|
220
|
+
* discriminator distinguishes it from a live `CompiledEntitlement`
|
|
221
|
+
* payload — gateway readers branch on it.
|
|
222
|
+
*/
|
|
223
|
+
export type EdgeEntitlementTombstone = {
|
|
224
|
+
kind: "ARCHIVED";
|
|
225
|
+
compiledPlanId: string;
|
|
226
|
+
/** When the tombstone was written. */
|
|
227
|
+
archivedAt: string;
|
|
228
|
+
/** Optional pointer to the lineage's current ACTIVE head; lets the
|
|
229
|
+
* gateway emit a useful 410 Gone with redirect hint. */
|
|
230
|
+
lineageActiveCompiledPlanId?: string;
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* Every artifact written to KV is wrapped in an envelope that records the
|
|
234
|
+
* schema version it was written with. Readers unwrap on load; if the
|
|
235
|
+
* version has advanced the reader can branch or fall back.
|
|
236
|
+
*/
|
|
237
|
+
export type EdgeArtifactEnvelope<T> = {
|
|
238
|
+
version: number;
|
|
239
|
+
payload: T;
|
|
240
|
+
};
|
|
241
|
+
/** Wrap a payload for write. Stamps the current schema version. */
|
|
242
|
+
export declare function wrapEnvelope<T>(payload: T): EdgeArtifactEnvelope<T>;
|
|
243
|
+
/**
|
|
244
|
+
* Unwrap a record from KV. Tolerates three shapes:
|
|
245
|
+
* 1. `{ version, payload }` — modern envelope. Returned as-is.
|
|
246
|
+
* 2. Raw payload object — legacy writes that pre-date versioning.
|
|
247
|
+
* Returned as `{ version: 0, payload: raw }` so readers can detect
|
|
248
|
+
* the legacy case and migrate in place if desired.
|
|
249
|
+
* 3. `null` / non-object — treated as a miss.
|
|
250
|
+
*
|
|
251
|
+
* Does NOT throw on version mismatch. Callers inspect `version` and decide.
|
|
252
|
+
*/
|
|
253
|
+
export declare function readEnvelope<T>(raw: unknown): EdgeArtifactEnvelope<T> | null;
|
|
254
|
+
//# sourceMappingURL=edge-kv-keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-kv-keys.d.ts","sourceRoot":"","sources":["../src/edge-kv-keys.ts"],"names":[],"mappings":"AAeA;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,IAAI,CAAC;AAEvC,eAAO,MAAM,MAAM;IACjB,0EAA0E;+BACxD,MAAM;IAExB;;;;OAIG;kCACkB,MAAM,kBAAkB,MAAM,GAAG,IAAI;IAK1D,iFAAiF;4BAClE,MAAM;IAErB;;;;OAIG;mCACmB,MAAM;IAE5B;;;;;;;;;;OAUG;2CAC2B,MAAM;IAEpC,8EAA8E;sCACrD,MAAM;IAE/B;;;;;;;;;;;;;;;;OAgBG;6CAC6B,MAAM,kBAAkB,MAAM,GAAG,IAAI;IAKrE;;;;;;;;;;;;;;;;;;;;OAoBG;0CAC0B,MAAM;IAEnC;;;;;;;OAOG;2CAC2B,MAAM;CAC5B,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,OAAO,MAAM,CAAC;AAOzC;;;;;;;GAOG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAC;IACvB;qEACiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;iEAC6D;IAC7D,oBAAoB,EAAE,MAAM,CAAC;IAC7B;;;2EAGuE;IACvE,eAAe,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IACnD;;yDAEqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yEAAyE;IACzE,SAAS,CAAC,EAAE;QACV;iFACyE;QACzE,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B;yEACiE;QACjE,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC;mDAC2C;QAC3C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChD,CAAC;IACF;sEACkE;IAClE,mBAAmB,CAAC,EAAE;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC,CAAC;IACF;iEAC6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAMF;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnD;uEACmE;IACnE,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,2BAA2B,GAAG;IACxC,cAAc,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB;gCAC4B;IAC5B,MAAM,EAAE,2BAA2B,CAAC;IACpC;gBACY;IACZ,eAAe,CAAC,EAAE,2BAA2B,CAAC;IAC9C;mCAC+B;IAC/B,YAAY,EAAE,iCAAiC,EAAE,CAAC;IAClD,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,sBAAsB,EAAE,MAAM,EAAE,CAAC;CAClC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB;6DACyD;IACzD,2BAA2B,CAAC,EAAE,MAAM,CAAC;CACtC,CAAC;AAMF;;;;GAIG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,IAAI;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAEnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,GAAG,EAAE,OAAO,GACX,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAI,CAahC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
// Canonical edge-KV key builders + versioned artifact envelope.
|
|
2
|
+
//
|
|
3
|
+
// Single source of truth for the key formats that the gateway (reader) and
|
|
4
|
+
// core (writer) must agree on. If the format changes, bump
|
|
5
|
+
// `KV_KEY_SCHEMA_VERSION` here and both ends pick it up atomically when
|
|
6
|
+
// they rebuild against the new shared-types release.
|
|
7
|
+
//
|
|
8
|
+
// Gateway reads these keys; core writes them. Every KV key ever put into
|
|
9
|
+
// the product/plan/credential/entitlement/shard/subdomain namespace must
|
|
10
|
+
// go through one of the `kvKeys.*` builders.
|
|
11
|
+
//
|
|
12
|
+
// Envelope (Phase 4.2): every artifact is wrapped with a `version` field
|
|
13
|
+
// so schema changes have a migration lane. Legacy unwrapped values are
|
|
14
|
+
// tolerated by `readEnvelope` as `{ version: 0, payload: raw }`.
|
|
15
|
+
/**
|
|
16
|
+
* Incremented whenever a key format or artifact envelope shape changes.
|
|
17
|
+
* Writers stamp this version on every record; readers inspect it and can
|
|
18
|
+
* log / fall back / refuse on mismatch.
|
|
19
|
+
*/
|
|
20
|
+
export const KV_KEY_SCHEMA_VERSION = 1;
|
|
21
|
+
export const kvKeys = {
|
|
22
|
+
/** Tenant routing key — "which product does this subdomain belong to?" */
|
|
23
|
+
subdomain: (slug) => `subdomain:${slug.toLowerCase()}`,
|
|
24
|
+
/**
|
|
25
|
+
* Per-product config record. Env-scoped when `environmentId` is set —
|
|
26
|
+
* the gateway looks up the env-scoped key first and falls back to the
|
|
27
|
+
* production key when it misses.
|
|
28
|
+
*/
|
|
29
|
+
product: (productId, environmentId) => environmentId
|
|
30
|
+
? `product:${productId}:env:${environmentId}`
|
|
31
|
+
: `product:${productId}`,
|
|
32
|
+
/** Per-plan config record. Shared across envs — plan IDs are globally unique. */
|
|
33
|
+
plan: (planId) => `plan:${planId}`,
|
|
34
|
+
/**
|
|
35
|
+
* Credential record keyed by the hash of the presented API key. The
|
|
36
|
+
* gateway hashes inbound keys and looks up this record to resolve the
|
|
37
|
+
* caller's subject. Never key by the raw API key.
|
|
38
|
+
*/
|
|
39
|
+
credential: (keyHash) => `cred:${keyHash}`,
|
|
40
|
+
/**
|
|
41
|
+
* Compiled entitlement record.
|
|
42
|
+
*
|
|
43
|
+
* v0.14.0 — keyed by `compiledPlanId` (immutable CompiledPlan pointer).
|
|
44
|
+
* All subscribers on the same CompiledPlan share one KV entry.
|
|
45
|
+
*
|
|
46
|
+
* Prior to v0.14.0 this was keyed by `subjectKey`. Writers must call
|
|
47
|
+
* the builder with the new argument name; readers that still receive a
|
|
48
|
+
* subject-keyed record should fall back gracefully (treated as cache
|
|
49
|
+
* miss and re-read from DB).
|
|
50
|
+
*/
|
|
51
|
+
entitlement: (compiledPlanId) => `ent:${compiledPlanId}`,
|
|
52
|
+
/** Shard policy record. One per product; env shares the production policy. */
|
|
53
|
+
shardPolicy: (productId) => `shard:${productId}`,
|
|
54
|
+
/**
|
|
55
|
+
* Per-subscriber lifecycle state overlay.
|
|
56
|
+
*
|
|
57
|
+
* One entry per (subjectKey, environmentId). The gateway reads this on
|
|
58
|
+
* every request to resolve:
|
|
59
|
+
* - which CompiledPlan's entitlement is currently active for the sub
|
|
60
|
+
* (`activeCompiledPlanId` → fetch `entitlement:<that>`)
|
|
61
|
+
* - the enforcement mode (STRICT | GRACE | TRACK_ONLY)
|
|
62
|
+
* - per-subscriber overrides (spend cap, reduced grace limits, …)
|
|
63
|
+
* - whether a transition is scheduled (so it can pre-cache the next
|
|
64
|
+
* entitlement)
|
|
65
|
+
*
|
|
66
|
+
* Together with `entitlement:<compiledPlanId>` (shared across subs on
|
|
67
|
+
* the same plan version) + `subscription_state:<subjectKey>` (per-sub
|
|
68
|
+
* overlay), the gateway has everything it needs to make a per-request
|
|
69
|
+
* enforcement decision without recompiling entitlements per subscriber.
|
|
70
|
+
*/
|
|
71
|
+
subscriptionState: (subjectKey, environmentId) => environmentId
|
|
72
|
+
? `substate:${environmentId}:${subjectKey}`
|
|
73
|
+
: `substate:${subjectKey}`,
|
|
74
|
+
/**
|
|
75
|
+
* Per-lineage atomic snapshot — the xDS pattern for long-horizon API
|
|
76
|
+
* versioning (Phase A8a).
|
|
77
|
+
*
|
|
78
|
+
* Single-key bundle of every CompiledPlan currently serving a lineage:
|
|
79
|
+
* the ACTIVE head + the optional LEGACY_STABLE secondary head + every
|
|
80
|
+
* EXPERIMENTAL variant. The gateway prefers this key over the
|
|
81
|
+
* per-CompiledPlan `entitlement:<id>` keys so it can read the full
|
|
82
|
+
* "current entitlement set for lineage L" with one round-trip and zero
|
|
83
|
+
* possibility of torn state.
|
|
84
|
+
*
|
|
85
|
+
* Atomicity: writes are last-writer-wins on a single Cloudflare KV
|
|
86
|
+
* key. Two concurrent compiles on the same lineage produce a
|
|
87
|
+
* deterministic resolution — the later `publishedAt` wins; the
|
|
88
|
+
* `reconcileEdgeKvKeys` cron heals drift.
|
|
89
|
+
*
|
|
90
|
+
* Backward compat: gateway falls back to per-CP key
|
|
91
|
+
* (`entitlement:<compiledPlanId>`) when the snapshot is missing.
|
|
92
|
+
* Writers dual-publish during the rollout; eventual consistency on
|
|
93
|
+
* the snapshot is fine.
|
|
94
|
+
*/
|
|
95
|
+
lineageSnapshot: (lineageId) => `lineage:${lineageId}:current`,
|
|
96
|
+
/**
|
|
97
|
+
* Per-lineage tombstone (Phase A8c). Written briefly when a CP is
|
|
98
|
+
* removed from the snapshot mid-flight (e.g. variant rollback) so
|
|
99
|
+
* late readers in the gateway's 2-second cache window see a clear
|
|
100
|
+
* "this lineage's experimental set is shrinking" signal instead of
|
|
101
|
+
* "key not found." Cleared on next successful publish; cron sweeps
|
|
102
|
+
* after 24h.
|
|
103
|
+
*/
|
|
104
|
+
lineageTombstone: (lineageId) => `lineage:${lineageId}:tombstone`,
|
|
105
|
+
};
|
|
106
|
+
/** Wrap a payload for write. Stamps the current schema version. */
|
|
107
|
+
export function wrapEnvelope(payload) {
|
|
108
|
+
return { version: KV_KEY_SCHEMA_VERSION, payload };
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Unwrap a record from KV. Tolerates three shapes:
|
|
112
|
+
* 1. `{ version, payload }` — modern envelope. Returned as-is.
|
|
113
|
+
* 2. Raw payload object — legacy writes that pre-date versioning.
|
|
114
|
+
* Returned as `{ version: 0, payload: raw }` so readers can detect
|
|
115
|
+
* the legacy case and migrate in place if desired.
|
|
116
|
+
* 3. `null` / non-object — treated as a miss.
|
|
117
|
+
*
|
|
118
|
+
* Does NOT throw on version mismatch. Callers inspect `version` and decide.
|
|
119
|
+
*/
|
|
120
|
+
export function readEnvelope(raw) {
|
|
121
|
+
if (raw === null || raw === undefined)
|
|
122
|
+
return null;
|
|
123
|
+
if (typeof raw !== "object")
|
|
124
|
+
return null;
|
|
125
|
+
const obj = raw;
|
|
126
|
+
if (typeof obj.version === "number" &&
|
|
127
|
+
"payload" in obj &&
|
|
128
|
+
obj.payload !== undefined) {
|
|
129
|
+
return { version: obj.version, payload: obj.payload };
|
|
130
|
+
}
|
|
131
|
+
// Legacy pre-envelope shape — the whole object is the payload.
|
|
132
|
+
return { version: 0, payload: raw };
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=edge-kv-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edge-kv-keys.js","sourceRoot":"","sources":["../src/edge-kv-keys.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,EAAE;AACF,2EAA2E;AAC3E,2DAA2D;AAC3D,wEAAwE;AACxE,qDAAqD;AACrD,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,6CAA6C;AAC7C,EAAE;AACF,yEAAyE;AACzE,uEAAuE;AACvE,iEAAiE;AAEjE;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,0EAA0E;IAC1E,SAAS,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,aAAa,IAAI,CAAC,WAAW,EAAE,EAAE;IAE9D;;;;OAIG;IACH,OAAO,EAAE,CAAC,SAAiB,EAAE,aAA6B,EAAE,EAAE,CAC5D,aAAa;QACX,CAAC,CAAC,WAAW,SAAS,QAAQ,aAAa,EAAE;QAC7C,CAAC,CAAC,WAAW,SAAS,EAAE;IAE5B,iFAAiF;IACjF,IAAI,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,QAAQ,MAAM,EAAE;IAE1C;;;;OAIG;IACH,UAAU,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,QAAQ,OAAO,EAAE;IAElD;;;;;;;;;;OAUG;IACH,WAAW,EAAE,CAAC,cAAsB,EAAE,EAAE,CAAC,OAAO,cAAc,EAAE;IAEhE,8EAA8E;IAC9E,WAAW,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,SAAS,SAAS,EAAE;IAExD;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,EAAE,CAAC,UAAkB,EAAE,aAA6B,EAAE,EAAE,CACvE,aAAa;QACX,CAAC,CAAC,YAAY,aAAa,IAAI,UAAU,EAAE;QAC3C,CAAC,CAAC,YAAY,UAAU,EAAE;IAE9B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,eAAe,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,WAAW,SAAS,UAAU;IAEtE;;;;;;;OAOG;IACH,gBAAgB,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,WAAW,SAAS,YAAY;CACjE,CAAC;AAgLX,mEAAmE;AACnE,MAAM,UAAU,YAAY,CAAI,OAAU;IACxC,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,CAAC;AACrD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,GAAY;IAEZ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACnD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,IACE,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAC/B,SAAS,IAAI,GAAG;QAChB,GAAG,CAAC,OAAO,KAAK,SAAS,EACzB,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAY,EAAE,CAAC;IAC7D,CAAC;IACD,+DAA+D;IAC/D,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,GAAQ,EAAE,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import type { OverageBehavior } from "./enums.js";
|
|
2
|
+
export type CompiledFloorSpec = {
|
|
3
|
+
perRequestMinUnitsByDim?: Record<string, number>;
|
|
4
|
+
creditPoolMicros?: number;
|
|
5
|
+
perDimUnitCostMicros?: Record<string, number>;
|
|
6
|
+
};
|
|
7
|
+
export type CompiledConsumptiveRule = {
|
|
8
|
+
d: number;
|
|
9
|
+
w: number;
|
|
10
|
+
c: number;
|
|
11
|
+
m?: "e" | "t";
|
|
12
|
+
};
|
|
13
|
+
export type CompiledOccupancyRule = {
|
|
14
|
+
d: number;
|
|
15
|
+
max: number;
|
|
16
|
+
ttl: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Compiled entitlement record. Published to KV at `ent:<compiledPlanId>`
|
|
20
|
+
* and SHARED across all subscribers on the same CompiledPlan. The record
|
|
21
|
+
* does NOT identify an individual subject — it is strictly a plan-level
|
|
22
|
+
* artifact.
|
|
23
|
+
*
|
|
24
|
+
* Subject-scoped authorization happens at the gateway by comparing
|
|
25
|
+
* `CredentialRecord.compiledPlanId` (signed at credential-sync time)
|
|
26
|
+
* against `CompiledEntitlement.compiledPlanId` (signed at compile time).
|
|
27
|
+
* Use {@link verifyCredentialBindsToEntitlement} for this check — it is
|
|
28
|
+
* the single canonical trust-boundary comparison now that the
|
|
29
|
+
* entitlement artifact no longer carries subject identity.
|
|
30
|
+
*
|
|
31
|
+
* The `sub` field is retained ONLY for audit / correlation and MAY hold
|
|
32
|
+
* a representative or constant placeholder (e.g. `"cp:<compiledPlanId>"`).
|
|
33
|
+
* Consumers MUST NOT use it for authorization decisions; a stale
|
|
34
|
+
* credential paired with the wrong compiledPlanId would otherwise still
|
|
35
|
+
* resolve against a valid entitlement and defeat fail-closed semantics.
|
|
36
|
+
*/
|
|
37
|
+
export type CompiledEntitlement = {
|
|
38
|
+
v: number;
|
|
39
|
+
/**
|
|
40
|
+
* Subject key for audit + correlation ONLY. NOT authoritative; NOT the
|
|
41
|
+
* KV lookup key (that's `compiledPlanId`). When a CompiledPlan is
|
|
42
|
+
* shared across many subscribers, this holds a representative or
|
|
43
|
+
* constant placeholder (e.g. `"cp:<compiledPlanId>"`). Do NOT use for
|
|
44
|
+
* authorization; see the type-level doc for the correct pattern.
|
|
45
|
+
*/
|
|
46
|
+
sub: string;
|
|
47
|
+
/**
|
|
48
|
+
* Immutable CompiledPlan.id pointer. Replaces legacy `planId`. This
|
|
49
|
+
* is the field the gateway compares against `CredentialRecord.compiledPlanId`
|
|
50
|
+
* to bind a request to an entitlement.
|
|
51
|
+
*/
|
|
52
|
+
compiledPlanId: string;
|
|
53
|
+
planType: string;
|
|
54
|
+
ts: number;
|
|
55
|
+
cr: CompiledConsumptiveRule[];
|
|
56
|
+
or: CompiledOccupancyRule[];
|
|
57
|
+
fg: Record<string, boolean>;
|
|
58
|
+
dm: Record<string, number>;
|
|
59
|
+
dmv: number;
|
|
60
|
+
floor: CompiledFloorSpec | null;
|
|
61
|
+
displayDims: number[];
|
|
62
|
+
ovr: OverageBehavior;
|
|
63
|
+
sig: string;
|
|
64
|
+
environmentId?: string;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Verify that a credential binds to a given entitlement — the single
|
|
68
|
+
* canonical trust-boundary check now that `CompiledEntitlement.sub` no
|
|
69
|
+
* longer identifies a subject.
|
|
70
|
+
*
|
|
71
|
+
* Returns `true` iff `cred.compiledPlanId === ent.compiledPlanId`. The
|
|
72
|
+
* gateway MUST call this (or an equivalent check) before honoring any
|
|
73
|
+
* entitlement decision for a given request; relying on `ent.sub` would
|
|
74
|
+
* miss the case where a stale credential is paired with a newly-compiled
|
|
75
|
+
* plan for a different subscriber.
|
|
76
|
+
*
|
|
77
|
+
* Both arguments are deliberately structurally typed so the helper works
|
|
78
|
+
* with partial / projected shapes in tests and integration layers
|
|
79
|
+
* without requiring the full record.
|
|
80
|
+
*/
|
|
81
|
+
export declare function verifyCredentialBindsToEntitlement(cred: {
|
|
82
|
+
compiledPlanId: string;
|
|
83
|
+
}, ent: {
|
|
84
|
+
compiledPlanId: string;
|
|
85
|
+
}): boolean;
|
|
86
|
+
//# sourceMappingURL=entitlements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entitlements.d.ts","sourceRoot":"","sources":["../src/entitlements.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,EAAE,MAAM,CAAC;IACV;;;;;;OAMG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IAEX,EAAE,EAAE,uBAAuB,EAAE,CAAC;IAC9B,EAAE,EAAE,qBAAqB,EAAE,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,EAAE,CAAC;IAEtB,GAAG,EAAE,eAAe,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kCAAkC,CAChD,IAAI,EAAE;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,EAChC,GAAG,EAAE;IAAE,cAAc,EAAE,MAAM,CAAA;CAAE,GAC9B,OAAO,CAMT"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Compiled entitlement types — wire format pushed to edge KV
|
|
3
|
+
//
|
|
4
|
+
// v0.14.0 — `planId` renamed to `compiledPlanId` to line up with the new
|
|
5
|
+
// immutable CompiledPlan model. The `sub` (subject) field is retained for
|
|
6
|
+
// audit / correlation but is NO LONGER the KV key (see ./edge-kv-keys.ts);
|
|
7
|
+
// the gateway looks up entitlements by compiledPlanId and then reads the
|
|
8
|
+
// subject off the CredentialRecord.
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
/**
|
|
11
|
+
* Verify that a credential binds to a given entitlement — the single
|
|
12
|
+
* canonical trust-boundary check now that `CompiledEntitlement.sub` no
|
|
13
|
+
* longer identifies a subject.
|
|
14
|
+
*
|
|
15
|
+
* Returns `true` iff `cred.compiledPlanId === ent.compiledPlanId`. The
|
|
16
|
+
* gateway MUST call this (or an equivalent check) before honoring any
|
|
17
|
+
* entitlement decision for a given request; relying on `ent.sub` would
|
|
18
|
+
* miss the case where a stale credential is paired with a newly-compiled
|
|
19
|
+
* plan for a different subscriber.
|
|
20
|
+
*
|
|
21
|
+
* Both arguments are deliberately structurally typed so the helper works
|
|
22
|
+
* with partial / projected shapes in tests and integration layers
|
|
23
|
+
* without requiring the full record.
|
|
24
|
+
*/
|
|
25
|
+
export function verifyCredentialBindsToEntitlement(cred, ent) {
|
|
26
|
+
return (typeof cred.compiledPlanId === "string" &&
|
|
27
|
+
cred.compiledPlanId.length > 0 &&
|
|
28
|
+
cred.compiledPlanId === ent.compiledPlanId);
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=entitlements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entitlements.js","sourceRoot":"","sources":["../src/entitlements.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6DAA6D;AAC7D,EAAE;AACF,yEAAyE;AACzE,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,oCAAoC;AACpC,8EAA8E;AA0E9E;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kCAAkC,CAChD,IAAgC,EAChC,GAA+B;IAE/B,OAAO,CACL,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ;QACvC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;QAC9B,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC,cAAc,CAC3C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type PlanType = "FREE" | "FLAT_RATE" | "INCLUDED_USAGE" | "PAY_AS_YOU_GO" | "CONFIGURABLE_USAGE";
|
|
2
|
+
export type ProductStatus = "DRAFT" | "ACTIVE";
|
|
3
|
+
/**
|
|
4
|
+
* Subscriber status — replaces ConsumerStatus in v0.14.0.
|
|
5
|
+
* Values kept identical so persisted rows don't need remapping.
|
|
6
|
+
*/
|
|
7
|
+
export type SubscriberStatus = "ONBOARDING" | "ACTIVE" | "SUSPENDED";
|
|
8
|
+
/** Subscriber kind on the `Subscriber` model and wire DTOs. */
|
|
9
|
+
export type SubscriberKind = "INDIVIDUAL" | "ORGANIZATION";
|
|
10
|
+
/** Display ownership for API subscriptions across builder + consumer UIs. */
|
|
11
|
+
export type SubscriptionOwnerType = "personal_organization" | "team_organization";
|
|
12
|
+
export type BillingStrategy = "subscription" | "usage_based" | "hybrid";
|
|
13
|
+
export type ApiKeyStatus = "ACTIVE" | "REVOKED";
|
|
14
|
+
export type AuthStrategy = "API_KEY";
|
|
15
|
+
export type OverageBehavior = "BLOCK" | "ALLOW_AND_BILL";
|
|
16
|
+
export type PlanStatus = "DRAFT" | "ACTIVE" | "ARCHIVED";
|
|
17
|
+
/**
|
|
18
|
+
* Lifecycle status of a CompiledPlan row.
|
|
19
|
+
*
|
|
20
|
+
* Phase A1 (long-horizon API versioning) added `EXPERIMENTAL` and
|
|
21
|
+
* `LEGACY_STABLE`:
|
|
22
|
+
* - `ACTIVE`: the current head new subscribers join
|
|
23
|
+
* - `EXPERIMENTAL`: A/B variant of an ACTIVE plan; sticky-assigned
|
|
24
|
+
* to a percentage of new subscribers via the variant-assignment
|
|
25
|
+
* hash. Promoted to ACTIVE or rolled back to ARCHIVED.
|
|
26
|
+
* - `LEGACY_STABLE`: a frozen plan version kept alive for the
|
|
27
|
+
* existing subscriber cohort alongside an `ACTIVE` head. Hidden
|
|
28
|
+
* from public pricing; new subscribers cannot join.
|
|
29
|
+
* - `PHASING_OUT`: a previous ACTIVE that's being migrated to a
|
|
30
|
+
* newer version; counts down to SUPERSEDED on count=0.
|
|
31
|
+
* - `SUPERSEDED`: empty version retained for audit; flips to
|
|
32
|
+
* ARCHIVED after `archiveAfterDays`.
|
|
33
|
+
* - `ARCHIVED`: cold storage; KV entry + Stripe Product removed.
|
|
34
|
+
*/
|
|
35
|
+
export type CompiledPlanStatus = "ACTIVE" | "EXPERIMENTAL" | "LEGACY_STABLE" | "PHASING_OUT" | "SUPERSEDED" | "ARCHIVED";
|
|
36
|
+
//# sourceMappingURL=enums.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAChB,MAAM,GACN,WAAW,GACX,gBAAgB,GAChB,eAAe,GACf,oBAAoB,CAAC;AAEzB,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,QAAQ,GAAG,WAAW,CAAC;AAErE,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,YAAY,GAAG,cAAc,CAAC;AAE3D,6EAA6E;AAC7E,MAAM,MAAM,qBAAqB,GAC7B,uBAAuB,GACvB,mBAAmB,CAAC;AAExB,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,aAAa,GAAG,QAAQ,CAAC;AAExE,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhD,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC;AAErC,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,gBAAgB,CAAC;AAEzD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEzD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,cAAc,GACd,eAAe,GACf,aAAa,GACb,YAAY,GACZ,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2DAA2D;AAC3D,8EAA8E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGjD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// ---------------------------------------------------------------------------
|
|
2
|
+
// Shared formatting utilities — single source of truth
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
/**
|
|
5
|
+
* Format cents as a dollar string.
|
|
6
|
+
* @example formatPrice(2999) → "$29.99"
|
|
7
|
+
* @example formatPrice(0) → "$0"
|
|
8
|
+
* @example formatPrice(1000) → "$10"
|
|
9
|
+
*/
|
|
10
|
+
export function formatPrice(cents) {
|
|
11
|
+
const dollars = cents / 100;
|
|
12
|
+
return dollars % 1 === 0 ? `$${dollars}` : `$${dollars.toFixed(2)}`;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=format.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,KAAK,GAAG,GAAG,CAAC;IAC5B,OAAO,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export * from "./enums.js";
|
|
2
|
+
export * from "./metering.js";
|
|
3
|
+
export * from "./limits.js";
|
|
4
|
+
export * from "./entitlements.js";
|
|
5
|
+
export * from "./billing.js";
|
|
6
|
+
export * from "./base.js";
|
|
7
|
+
export * from "./projections.js";
|
|
8
|
+
export * from "./api.js";
|
|
9
|
+
export * from "./format.js";
|
|
10
|
+
export * from "./web-ui.js";
|
|
11
|
+
export * from "./builder-context.js";
|
|
12
|
+
export * from "./portal.js";
|
|
13
|
+
export * from "./admin.js";
|
|
14
|
+
export * from "./consumer.js";
|
|
15
|
+
export * from "./edge-kv-keys.js";
|
|
16
|
+
export * from "./pricing-model.js";
|
|
17
|
+
export * from "./scope-matcher.js";
|
|
18
|
+
export * from "./service-auth.js";
|
|
19
|
+
export * from "./analytics.js";
|
|
20
|
+
export * from "./dlq.js";
|
|
21
|
+
export * from "./auth/permissions.js";
|
|
22
|
+
export * from "./webhooks/events.js";
|
|
23
|
+
export * from "./webhooks/migration.js";
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC"}
|