@aotter/mantle 0.2.0-alpha.6 → 0.2.0-alpha.7
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/README.md +152 -45
- package/dist/auth/adapter.d.ts +32 -0
- package/dist/auth/adapter.js +285 -0
- package/dist/auth/admin.d.ts +3 -0
- package/dist/auth/admin.js +21 -0
- package/dist/auth/caller.d.ts +86 -0
- package/dist/auth/caller.js +154 -0
- package/dist/auth/hardening.d.ts +24 -0
- package/dist/auth/hardening.js +40 -0
- package/dist/auth/identity.d.ts +121 -0
- package/dist/auth/identity.js +203 -0
- package/dist/auth/oauth.d.ts +31 -0
- package/dist/auth/oauth.js +124 -0
- package/dist/auth/resource-seeds.js +10 -0
- package/dist/auth/routes.d.ts +32 -0
- package/dist/auth/{createAuthRoutes.js → routes.js} +130 -35
- package/dist/build/compiler.d.ts +790 -0
- package/dist/build/compiler.js +6971 -0
- package/dist/{spec → build/spec}/domain/model/ManifestGrammar.d.ts +24 -42
- package/dist/{spec → build/spec}/domain/model/RuntimePlan.d.ts +77 -3
- package/dist/{spec → build/spec}/domain/model/SqlIr.d.ts +35 -6
- package/dist/build/spec/domain/model/UserFields.d.ts +20 -0
- package/dist/{spec → build/spec}/domain/service/PlanFingerprint.d.ts +2 -1
- package/dist/{spec → build/spec}/kernel/diagnostic.d.ts +1 -30
- package/dist/bun/assets.d.ts +2 -0
- package/dist/bun/assets.js +24 -0
- package/dist/domain/adminOrder.js +24 -0
- package/dist/domain/columns.js +55 -0
- package/dist/domain/describe/chunk-ZIQVLA7X.js +363 -0
- package/dist/domain/describe/index.d.ts +58 -0
- package/dist/domain/describe/index.js +115 -0
- package/dist/domain/describe/target-hash.d.ts +8 -0
- package/dist/domain/describe/target-hash.js +12 -0
- package/dist/domain/describe/targets.d.ts +40 -0
- package/dist/domain/entry.js +33 -0
- package/dist/domain/generated-tools.js +17 -0
- package/dist/domain/generation.d.ts +16 -0
- package/dist/domain/generation.js +1 -0
- package/dist/domain/input.js +17 -0
- package/dist/domain/model.js +1 -0
- package/dist/domain/paging.js +204 -0
- package/dist/domain/recipes.js +19 -0
- package/dist/domain/userReferences.js +5 -0
- package/dist/domain/wireScalars.js +47 -0
- package/dist/infrastructure/adminEntries.js +153 -0
- package/dist/infrastructure/adminPaging.js +72 -0
- package/dist/infrastructure/artifacts.js +71 -0
- package/dist/infrastructure/authSchema.js +83 -0
- package/dist/infrastructure/bundle.js +84 -0
- package/dist/infrastructure/cli.js +101 -0
- package/dist/infrastructure/generate.d.ts +14 -0
- package/dist/infrastructure/generate.js +174 -0
- package/dist/infrastructure/generateAuth.d.ts +8 -0
- package/dist/infrastructure/generateAuth.js +17 -0
- package/dist/infrastructure/inputs.js +36 -0
- package/dist/infrastructure/wrangler.js +71 -0
- package/dist/kernel/authorization.d.ts +4 -0
- package/dist/kernel/authorization.js +16 -0
- package/dist/kernel/binds.d.ts +51 -0
- package/dist/kernel/binds.js +45 -0
- package/dist/kernel/caller-identity.d.ts +24 -0
- package/dist/kernel/caller-identity.js +22 -0
- package/dist/kernel/contract-error.d.ts +12 -0
- package/dist/kernel/contract-error.js +14 -0
- package/dist/kernel/contracts.d.ts +139 -0
- package/dist/kernel/contracts.js +92 -0
- package/dist/{spec/domain/service/CloudflareCron.d.ts → kernel/cron.d.ts} +0 -1
- package/dist/{spec/domain/service/CloudflareCron.js → kernel/cron.js} +1 -6
- package/dist/kernel/dialect/common.d.ts +39 -0
- package/dist/kernel/dialect/common.js +6 -0
- package/dist/kernel/dialect/postgres.d.ts +16 -0
- package/dist/kernel/dialect/postgres.js +18 -0
- package/dist/kernel/dialect/sqlite.d.ts +20 -0
- package/dist/kernel/dialect/sqlite.js +34 -0
- package/dist/kernel/driver/bun-sqlite.d.ts +19 -0
- package/dist/kernel/driver/bun-sqlite.js +77 -0
- package/dist/kernel/driver/d1.d.ts +24 -0
- package/dist/kernel/driver/d1.js +22 -0
- package/dist/kernel/driver/postgres.d.ts +25 -0
- package/dist/kernel/driver/postgres.js +95 -0
- package/dist/kernel/driver/transaction-context.d.ts +10 -0
- package/dist/kernel/driver/transaction-context.js +29 -0
- package/dist/kernel/email.d.ts +28 -0
- package/dist/{auth/emailTemplates.js → kernel/email.js} +13 -2
- package/dist/kernel/host-access.d.ts +10 -0
- package/dist/kernel/host-access.js +65 -0
- package/dist/kernel/host-caller.d.ts +38 -0
- package/dist/kernel/host-caller.js +55 -0
- package/dist/kernel/json-body.d.ts +4 -0
- package/dist/kernel/json-body.js +44 -0
- package/dist/kernel/mcp-apps.d.ts +49 -0
- package/dist/kernel/mcp-apps.js +40 -0
- package/dist/kernel/mcp-call.d.ts +5 -0
- package/dist/kernel/mcp-call.js +25 -0
- package/dist/kernel/mcp-handler.js +288 -0
- package/dist/kernel/mcp.d.ts +101 -0
- package/dist/kernel/mcp.js +25 -0
- package/dist/kernel/media.d.ts +27 -0
- package/dist/kernel/media.js +216 -0
- package/dist/kernel/paging.d.ts +55 -0
- package/dist/kernel/paging.js +95 -0
- package/dist/kernel/publishing.d.ts +4 -0
- package/dist/kernel/publishing.js +16 -0
- package/dist/{cloudflare/r2Media.d.ts → kernel/r2-media.d.ts} +4 -5
- package/dist/kernel/r2-media.js +78 -0
- package/dist/kernel/rest-dispatch.js +38 -0
- package/dist/kernel/rest-router.js +63 -0
- package/dist/kernel/rest.d.ts +58 -0
- package/dist/kernel/rest.js +41 -0
- package/dist/kernel/scalars.d.ts +6 -0
- package/dist/kernel/scalars.js +43 -0
- package/dist/kernel/search.js +5 -0
- package/dist/{core/site.d.ts → kernel/site-types.d.ts} +38 -9
- package/dist/kernel/site-types.js +1 -0
- package/dist/kernel/site.d.ts +41 -0
- package/dist/kernel/site.js +32 -0
- package/dist/kernel/store.d.ts +165 -0
- package/dist/kernel/store.js +257 -0
- package/dist/kernel/surface.d.ts +10 -0
- package/dist/kernel/surface.js +19 -0
- package/dist/kernel/sweep.d.ts +17 -0
- package/dist/kernel/sweep.js +27 -0
- package/dist/kernel/translations.d.ts +1 -0
- package/dist/kernel/translations.js +13 -0
- package/dist/kernel/user-caller.d.ts +31 -0
- package/dist/kernel/user-caller.js +67 -0
- package/dist/kernel/user-field-name.js +3 -0
- package/dist/kernel/user-fields.d.ts +34 -0
- package/dist/kernel/user-fields.js +71 -0
- package/dist/kernel/validation.d.ts +15 -0
- package/dist/kernel/validation.js +54 -0
- package/dist/kernel/web-gateway.js +68 -0
- package/dist/kernel/web-head.js +15 -0
- package/dist/kernel/web-response.js +8 -0
- package/dist/kernel/web.d.ts +75 -0
- package/dist/kernel/web.js +155 -0
- package/dist/kernel/where.js +27 -0
- package/dist/testing/index.d.ts +1 -37
- package/dist/testing/index.js +1 -43
- package/dist/usecase/adminBindings.js +142 -0
- package/dist/usecase/adminDescriptors.js +153 -0
- package/dist/usecase/generate.js +164 -0
- package/dist/usecase/handlers.js +21 -0
- package/dist/usecase/mcp-media.js +17 -0
- package/dist/usecase/mcp.js +96 -0
- package/dist/usecase/paging.js +72 -0
- package/dist/usecase/publishing.js +63 -0
- package/dist/usecase/refusals.js +27 -0
- package/dist/usecase/rest.js +54 -0
- package/dist/usecase/search.js +7 -0
- package/dist/usecase/site.js +40 -0
- package/dist/usecase/stores.js +62 -0
- package/dist/usecase/translations.js +78 -0
- package/dist/usecase/ttl.js +20 -0
- package/dist/usecase/validation.js +132 -0
- package/dist/usecase/web.js +22 -0
- package/docs/examples/README.md +31 -16
- package/docs/examples/app-shell/README.md +48 -0
- package/docs/examples/app-shell/package.json +34 -0
- package/docs/examples/app-shell/pnpm-workspace.yaml +8 -0
- package/docs/examples/app-shell/smoke-kit.mjs +100 -0
- package/docs/examples/app-shell/src/admin.ts +10 -0
- package/docs/examples/app-shell/src/auth.ts +55 -0
- package/docs/examples/app-shell/src/handlers.ts +5 -0
- package/docs/examples/app-shell/src/index.ts +4 -0
- package/docs/examples/app-shell/src/routes.ts +13 -0
- package/docs/examples/app-shell/src/schedule.ts +8 -0
- package/docs/examples/app-shell/src/service.ts +70 -0
- package/docs/examples/app-shell/src/sign-in.ts +41 -0
- package/docs/examples/app-shell/src/signup.ts +8 -0
- package/docs/examples/{reference-service → app-shell}/tsconfig.json +2 -1
- package/docs/examples/app-shell/worker-configuration.d.ts +22 -0
- package/docs/examples/app-shell/wrangler.jsonc +61 -0
- package/docs/examples/club-events/README.md +60 -0
- package/docs/examples/club-events/manifests/club-events.yaml +225 -0
- package/docs/examples/club-events/smoke.mjs +121 -0
- package/docs/examples/club-events/src/handlers.ts +25 -0
- package/docs/examples/club-events/src/signup.ts +9 -0
- package/docs/examples/generated-web/README.md +74 -0
- package/docs/examples/generated-web/posts.yaml +38 -0
- package/docs/examples/generated-web/seed.sql +6 -0
- package/docs/examples/generated-web/src/worker.ts +43 -0
- package/docs/examples/generated-web/tsconfig.json +8 -0
- package/docs/examples/generated-web/wrangler.jsonc +7 -0
- package/docs/examples/purchasing/.dev.vars.example +6 -0
- package/docs/examples/purchasing/README.md +90 -0
- package/docs/examples/purchasing/manifests/purchasing.yaml +341 -0
- package/docs/examples/purchasing/seed.sql +4 -0
- package/docs/examples/purchasing/smoke.mjs +171 -0
- package/docs/examples/purchasing/src/admin.ts +12 -0
- package/docs/examples/purchasing/src/handlers.ts +33 -0
- package/docs/examples/purchasing/src/notify.ts +29 -0
- package/docs/examples/purchasing/src/requests-page.ts +57 -0
- package/docs/examples/purchasing/src/routes.ts +53 -0
- package/docs/examples/purchasing/src/schedule.ts +31 -0
- package/docs/examples/purchasing/src/signup.ts +5 -0
- package/docs/examples/purchasing/src/supplier.ts +32 -0
- package/docs/examples/purchasing/wrangler.jsonc +68 -0
- package/docs/examples/recipes/README.md +58 -0
- package/docs/examples/recipes/manifests/recipes.yaml +75 -0
- package/docs/examples/recipes/smoke.mjs +102 -0
- package/docs/examples/recipes/src/media.ts +13 -0
- package/docs/examples/recipes/src/pages.ts +99 -0
- package/docs/examples/recipes/src/routes.ts +71 -0
- package/docs/examples/recipes/src/site-config.ts +12 -0
- package/docs/examples/recipes/wrangler.jsonc +73 -0
- package/docs/handbook/cloudflare/authentication.md +142 -212
- package/docs/handbook/cloudflare/chatgpt-sites.md +4 -113
- package/docs/handbook/cloudflare/deploy-and-operate.md +20 -106
- package/docs/handbook/cloudflare/media-r2.md +62 -133
- package/docs/handbook/cloudflare/service-entry.md +180 -116
- package/docs/handbook/concepts/authorization.md +10 -123
- package/docs/handbook/concepts/four-atoms.md +9 -92
- package/docs/handbook/concepts/lifecycle-and-locales.md +9 -80
- package/docs/handbook/concepts/mcp-and-agents.md +10 -141
- package/docs/handbook/concepts/procedures-and-triggers.md +5 -162
- package/docs/handbook/concepts/runtime-and-adapters.md +15 -224
- package/docs/handbook/concepts/views.md +10 -109
- package/docs/handbook/examples/hub.md +2 -18
- package/docs/handbook/guides/adapter-guide.md +11 -0
- package/docs/handbook/guides/admin-extensions.md +12 -183
- package/docs/handbook/guides/admin-ui.md +5 -164
- package/docs/handbook/guides/agent-setup.md +5 -18
- package/docs/handbook/guides/email.md +86 -0
- package/docs/handbook/guides/mcp-apps.md +44 -0
- package/docs/handbook/guides/native-admin.md +298 -0
- package/docs/handbook/guides/native-execution.md +132 -0
- package/docs/handbook/guides/oauth.md +105 -0
- package/docs/handbook/guides/postgres-adapters.md +56 -0
- package/docs/handbook/guides/public-pages.md +53 -0
- package/docs/handbook/guides/size-and-startup.md +9 -0
- package/docs/handbook/guides/typed-queries.md +39 -102
- package/docs/handbook/navigation.json +164 -31
- package/docs/handbook/reference/admin-descriptors.md +88 -0
- package/docs/handbook/reference/authorization.md +44 -52
- package/docs/handbook/reference/describe.md +56 -0
- package/docs/handbook/reference/diagnostics.md +15 -79
- package/docs/handbook/reference/features.md +45 -53
- package/docs/handbook/reference/manifest.md +6 -69
- package/docs/handbook/reference/procedure.md +9 -118
- package/docs/handbook/reference/schema.md +75 -185
- package/docs/handbook/reference/site-config.md +5 -65
- package/docs/handbook/reference/surface.md +279 -97
- package/docs/handbook/reference/trigger.md +24 -93
- package/docs/handbook/reference/view.md +32 -160
- package/docs/handbook/releases/index.md +48 -13
- package/docs/handbook/start/overview.md +9 -56
- package/docs/handbook/start/project-and-cli.md +40 -149
- package/docs/handbook/start/quickstart-worker.md +38 -116
- package/docs/skills/develop/SKILL.md +34 -123
- package/docs/skills/develop/mcp-app.md +37 -77
- package/docs/skills/integrate/SKILL.md +42 -84
- package/docs/skills/media-gc/SKILL.md +14 -3
- package/docs/skills/provision/SKILL.md +25 -91
- package/docs/skills/update/SKILL.md +19 -43
- package/docs/source/scripts/postgres-adapter.ts +101 -0
- package/docs/upgrade-0.1-to-0.2.md +25 -9
- package/package.json +96 -112
- package/skills/.keep +0 -0
- package/skills/README.md +72 -0
- package/skills/mantle/SKILL.md +135 -0
- package/skills/mantle/references/local-testing.md +11 -0
- package/skills/mantle/references/web.md +41 -0
- package/skills/mantle/references/website.md +47 -0
- package/dist/admin/consent.d.ts +0 -17
- package/dist/admin/consent.d.ts.map +0 -1
- package/dist/admin/consent.js +0 -17
- package/dist/admin/consent.js.map +0 -1
- package/dist/admin/createAdminSurface.d.ts +0 -25
- package/dist/admin/createAdminSurface.d.ts.map +0 -1
- package/dist/admin/createAdminSurface.js +0 -635
- package/dist/admin/createAdminSurface.js.map +0 -1
- package/dist/admin/design.d.ts +0 -7
- package/dist/admin/design.d.ts.map +0 -1
- package/dist/admin/design.js +0 -18
- package/dist/admin/design.js.map +0 -1
- package/dist/admin/developerConsole.d.ts +0 -267
- package/dist/admin/developerConsole.d.ts.map +0 -1
- package/dist/admin/developerConsole.js +0 -136
- package/dist/admin/developerConsole.js.map +0 -1
- package/dist/admin/extensions.d.ts +0 -290
- package/dist/admin/extensions.d.ts.map +0 -1
- package/dist/admin/extensions.js +0 -532
- package/dist/admin/extensions.js.map +0 -1
- package/dist/admin/identity.d.ts +0 -62
- package/dist/admin/identity.d.ts.map +0 -1
- package/dist/admin/identity.js +0 -7
- package/dist/admin/identity.js.map +0 -1
- package/dist/admin/index.d.ts +0 -7
- package/dist/admin/index.d.ts.map +0 -1
- package/dist/admin/index.js +0 -7
- package/dist/admin/index.js.map +0 -1
- package/dist/admin/procedureFlow.d.ts +0 -38
- package/dist/admin/procedureFlow.d.ts.map +0 -1
- package/dist/admin/procedureFlow.js +0 -188
- package/dist/admin/procedureFlow.js.map +0 -1
- package/dist/auth/ConsoleEmailSender.d.ts +0 -15
- package/dist/auth/ConsoleEmailSender.d.ts.map +0 -1
- package/dist/auth/ConsoleEmailSender.js +0 -19
- package/dist/auth/ConsoleEmailSender.js.map +0 -1
- package/dist/auth/appleClientSecret.d.ts +0 -75
- package/dist/auth/appleClientSecret.d.ts.map +0 -1
- package/dist/auth/appleClientSecret.js +0 -116
- package/dist/auth/appleClientSecret.js.map +0 -1
- package/dist/auth/buildAuth.d.ts +0 -4568
- package/dist/auth/buildAuth.d.ts.map +0 -1
- package/dist/auth/buildAuth.js +0 -312
- package/dist/auth/buildAuth.js.map +0 -1
- package/dist/auth/callerResolver.d.ts +0 -52
- package/dist/auth/callerResolver.d.ts.map +0 -1
- package/dist/auth/callerResolver.js +0 -52
- package/dist/auth/callerResolver.js.map +0 -1
- package/dist/auth/createAuthRoutes.d.ts +0 -22
- package/dist/auth/createAuthRoutes.d.ts.map +0 -1
- package/dist/auth/createAuthRoutes.js.map +0 -1
- package/dist/auth/createMantleAuth.d.ts +0 -3
- package/dist/auth/createMantleAuth.d.ts.map +0 -1
- package/dist/auth/createMantleAuth.js +0 -504
- package/dist/auth/createMantleAuth.js.map +0 -1
- package/dist/auth/db.d.ts +0 -18
- package/dist/auth/db.d.ts.map +0 -1
- package/dist/auth/db.js +0 -27
- package/dist/auth/db.js.map +0 -1
- package/dist/auth/emailTemplates.d.ts +0 -7
- package/dist/auth/emailTemplates.d.ts.map +0 -1
- package/dist/auth/emailTemplates.js.map +0 -1
- package/dist/auth/index.d.ts +0 -9
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js +0 -7
- package/dist/auth/index.js.map +0 -1
- package/dist/auth/methods.d.ts +0 -717
- package/dist/auth/methods.d.ts.map +0 -1
- package/dist/auth/methods.js +0 -321
- package/dist/auth/methods.js.map +0 -1
- package/dist/auth/oauthTokens.d.ts +0 -24
- package/dist/auth/oauthTokens.d.ts.map +0 -1
- package/dist/auth/oauthTokens.js +0 -146
- package/dist/auth/oauthTokens.js.map +0 -1
- package/dist/auth/setupIncomplete.d.ts +0 -16
- package/dist/auth/setupIncomplete.d.ts.map +0 -1
- package/dist/auth/setupIncomplete.js +0 -50
- package/dist/auth/setupIncomplete.js.map +0 -1
- package/dist/auth/types.d.ts +0 -440
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/auth/types.js +0 -10
- package/dist/auth/types.js.map +0 -1
- package/dist/bun/index.d.ts +0 -21
- package/dist/bun/index.d.ts.map +0 -1
- package/dist/bun/index.js +0 -46
- package/dist/bun/index.js.map +0 -1
- package/dist/cli/emitModule.d.ts +0 -7
- package/dist/cli/emitModule.d.ts.map +0 -1
- package/dist/cli/emitModule.js +0 -127
- package/dist/cli/emitModule.js.map +0 -1
- package/dist/cli/generate.d.ts +0 -8
- package/dist/cli/generate.d.ts.map +0 -1
- package/dist/cli/generate.js +0 -391
- package/dist/cli/generate.js.map +0 -1
- package/dist/cli/main.d.ts +0 -3
- package/dist/cli/main.d.ts.map +0 -1
- package/dist/cli/main.js +0 -21
- package/dist/cli/main.js.map +0 -1
- package/dist/cli/preset.d.ts +0 -18
- package/dist/cli/preset.d.ts.map +0 -1
- package/dist/cli/preset.js +0 -405
- package/dist/cli/preset.js.map +0 -1
- package/dist/cloudflare/index.d.ts +0 -25
- package/dist/cloudflare/index.d.ts.map +0 -1
- package/dist/cloudflare/index.js +0 -16
- package/dist/cloudflare/index.js.map +0 -1
- package/dist/cloudflare/r2Media.d.ts.map +0 -1
- package/dist/cloudflare/r2Media.js +0 -69
- package/dist/cloudflare/r2Media.js.map +0 -1
- package/dist/core/caller.d.ts +0 -35
- package/dist/core/caller.d.ts.map +0 -1
- package/dist/core/caller.js +0 -3
- package/dist/core/caller.js.map +0 -1
- package/dist/core/createMantle.d.ts +0 -22
- package/dist/core/createMantle.d.ts.map +0 -1
- package/dist/core/createMantle.js +0 -117
- package/dist/core/createMantle.js.map +0 -1
- package/dist/core/dialect.d.ts +0 -53
- package/dist/core/dialect.d.ts.map +0 -1
- package/dist/core/dialect.js +0 -7
- package/dist/core/dialect.js.map +0 -1
- package/dist/core/driver.d.ts +0 -24
- package/dist/core/driver.d.ts.map +0 -1
- package/dist/core/driver.js +0 -2
- package/dist/core/driver.js.map +0 -1
- package/dist/core/email.d.ts +0 -17
- package/dist/core/email.d.ts.map +0 -1
- package/dist/core/email.js +0 -2
- package/dist/core/email.js.map +0 -1
- package/dist/core/index.d.ts +0 -16
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -16
- package/dist/core/index.js.map +0 -1
- package/dist/core/invocation.d.ts +0 -66
- package/dist/core/invocation.d.ts.map +0 -1
- package/dist/core/invocation.js +0 -3
- package/dist/core/invocation.js.map +0 -1
- package/dist/core/observation.d.ts +0 -3
- package/dist/core/observation.d.ts.map +0 -1
- package/dist/core/observation.js +0 -10
- package/dist/core/observation.js.map +0 -1
- package/dist/core/runtime/auth.d.ts +0 -9
- package/dist/core/runtime/auth.d.ts.map +0 -1
- package/dist/core/runtime/auth.js +0 -39
- package/dist/core/runtime/auth.js.map +0 -1
- package/dist/core/runtime/createRuntime.d.ts +0 -23
- package/dist/core/runtime/createRuntime.d.ts.map +0 -1
- package/dist/core/runtime/createRuntime.js +0 -214
- package/dist/core/runtime/createRuntime.js.map +0 -1
- package/dist/core/runtime/verifyPlan.d.ts +0 -34
- package/dist/core/runtime/verifyPlan.d.ts.map +0 -1
- package/dist/core/runtime/verifyPlan.js +0 -301
- package/dist/core/runtime/verifyPlan.js.map +0 -1
- package/dist/core/service.d.ts +0 -45
- package/dist/core/service.d.ts.map +0 -1
- package/dist/core/service.js +0 -2
- package/dist/core/service.js.map +0 -1
- package/dist/core/sessionUser.d.ts +0 -14
- package/dist/core/sessionUser.d.ts.map +0 -1
- package/dist/core/sessionUser.js +0 -4
- package/dist/core/sessionUser.js.map +0 -1
- package/dist/core/site.d.ts.map +0 -1
- package/dist/core/site.js +0 -2
- package/dist/core/site.js.map +0 -1
- package/dist/core/siteConfig.d.ts +0 -5
- package/dist/core/siteConfig.d.ts.map +0 -1
- package/dist/core/siteConfig.js +0 -24
- package/dist/core/siteConfig.js.map +0 -1
- package/dist/core/sql/allowlist.d.ts +0 -67
- package/dist/core/sql/allowlist.d.ts.map +0 -1
- package/dist/core/sql/allowlist.js +0 -737
- package/dist/core/sql/allowlist.js.map +0 -1
- package/dist/core/sql/ast.d.ts +0 -24
- package/dist/core/sql/ast.d.ts.map +0 -1
- package/dist/core/sql/ast.js +0 -32
- package/dist/core/sql/ast.js.map +0 -1
- package/dist/core/sql/compile.d.ts +0 -50
- package/dist/core/sql/compile.d.ts.map +0 -1
- package/dist/core/sql/compile.js +0 -48
- package/dist/core/sql/compile.js.map +0 -1
- package/dist/core/sql/policy.d.ts +0 -123
- package/dist/core/sql/policy.d.ts.map +0 -1
- package/dist/core/sql/policy.js +0 -398
- package/dist/core/sql/policy.js.map +0 -1
- package/dist/core/sql/positions.d.ts +0 -30
- package/dist/core/sql/positions.d.ts.map +0 -1
- package/dist/core/sql/positions.js +0 -22
- package/dist/core/sql/positions.js.map +0 -1
- package/dist/core/sql/run.d.ts +0 -68
- package/dist/core/sql/run.d.ts.map +0 -1
- package/dist/core/sql/run.js +0 -384
- package/dist/core/sql/run.js.map +0 -1
- package/dist/core/store/createStore.d.ts +0 -49
- package/dist/core/store/createStore.d.ts.map +0 -1
- package/dist/core/store/createStore.js +0 -227
- package/dist/core/store/createStore.js.map +0 -1
- package/dist/core/store/cursor.d.ts +0 -4
- package/dist/core/store/cursor.d.ts.map +0 -1
- package/dist/core/store/cursor.js +0 -22
- package/dist/core/store/cursor.js.map +0 -1
- package/dist/core/store/json.d.ts +0 -80
- package/dist/core/store/json.d.ts.map +0 -1
- package/dist/core/store/json.js +0 -342
- package/dist/core/store/json.js.map +0 -1
- package/dist/core/store.d.ts +0 -160
- package/dist/core/store.d.ts.map +0 -1
- package/dist/core/store.js +0 -2
- package/dist/core/store.js.map +0 -1
- package/dist/core/wire.d.ts +0 -20
- package/dist/core/wire.d.ts.map +0 -1
- package/dist/core/wire.js +0 -84
- package/dist/core/wire.js.map +0 -1
- package/dist/core/withCaller.d.ts +0 -24
- package/dist/core/withCaller.d.ts.map +0 -1
- package/dist/core/withCaller.js +0 -35
- package/dist/core/withCaller.js.map +0 -1
- package/dist/d1/adapter.d.ts +0 -12
- package/dist/d1/adapter.d.ts.map +0 -1
- package/dist/d1/adapter.js +0 -23
- package/dist/d1/adapter.js.map +0 -1
- package/dist/d1/codec.d.ts +0 -14
- package/dist/d1/codec.d.ts.map +0 -1
- package/dist/d1/codec.js +0 -136
- package/dist/d1/codec.js.map +0 -1
- package/dist/d1/compile/index.d.ts +0 -9
- package/dist/d1/compile/index.d.ts.map +0 -1
- package/dist/d1/compile/index.js +0 -9
- package/dist/d1/compile/index.js.map +0 -1
- package/dist/d1/dialect.d.ts +0 -4
- package/dist/d1/dialect.d.ts.map +0 -1
- package/dist/d1/dialect.js +0 -13
- package/dist/d1/dialect.js.map +0 -1
- package/dist/d1/executor.d.ts +0 -15
- package/dist/d1/executor.d.ts.map +0 -1
- package/dist/d1/executor.js +0 -96
- package/dist/d1/executor.js.map +0 -1
- package/dist/d1/index.d.ts +0 -6
- package/dist/d1/index.d.ts.map +0 -1
- package/dist/d1/index.js +0 -6
- package/dist/d1/index.js.map +0 -1
- package/dist/d1/lower.d.ts +0 -8
- package/dist/d1/lower.d.ts.map +0 -1
- package/dist/d1/lower.js +0 -167
- package/dist/d1/lower.js.map +0 -1
- package/dist/d1/media.d.ts +0 -5
- package/dist/d1/media.d.ts.map +0 -1
- package/dist/d1/media.js +0 -157
- package/dist/d1/media.js.map +0 -1
- package/dist/d1/migrations.d.ts +0 -12
- package/dist/d1/migrations.d.ts.map +0 -1
- package/dist/d1/migrations.js +0 -111
- package/dist/d1/migrations.js.map +0 -1
- package/dist/d1/print.d.ts +0 -28
- package/dist/d1/print.d.ts.map +0 -1
- package/dist/d1/print.js +0 -54
- package/dist/d1/print.js.map +0 -1
- package/dist/d1/site.d.ts +0 -17
- package/dist/d1/site.d.ts.map +0 -1
- package/dist/d1/site.js +0 -63
- package/dist/d1/site.js.map +0 -1
- package/dist/d1/storage.d.ts +0 -34
- package/dist/d1/storage.d.ts.map +0 -1
- package/dist/d1/storage.js +0 -288
- package/dist/d1/storage.js.map +0 -1
- package/dist/d1/tz.d.ts +0 -21
- package/dist/d1/tz.d.ts.map +0 -1
- package/dist/d1/tz.js +0 -54
- package/dist/d1/tz.js.map +0 -1
- package/dist/d1/validator.d.ts +0 -10
- package/dist/d1/validator.d.ts.map +0 -1
- package/dist/d1/validator.js +0 -33
- package/dist/d1/validator.js.map +0 -1
- package/dist/mcp/apps.d.ts +0 -43
- package/dist/mcp/apps.d.ts.map +0 -1
- package/dist/mcp/apps.js +0 -57
- package/dist/mcp/apps.js.map +0 -1
- package/dist/mcp/catalog.d.ts +0 -55
- package/dist/mcp/catalog.d.ts.map +0 -1
- package/dist/mcp/catalog.js +0 -81
- package/dist/mcp/catalog.js.map +0 -1
- package/dist/mcp/createMcpSurface.d.ts +0 -60
- package/dist/mcp/createMcpSurface.d.ts.map +0 -1
- package/dist/mcp/createMcpSurface.js +0 -182
- package/dist/mcp/createMcpSurface.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -4
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js +0 -4
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/media.d.ts +0 -9
- package/dist/mcp/media.d.ts.map +0 -1
- package/dist/mcp/media.js +0 -33
- package/dist/mcp/media.js.map +0 -1
- package/dist/postgres/adapter.d.ts +0 -23
- package/dist/postgres/adapter.d.ts.map +0 -1
- package/dist/postgres/adapter.js +0 -50
- package/dist/postgres/adapter.js.map +0 -1
- package/dist/postgres/codec.d.ts +0 -13
- package/dist/postgres/codec.d.ts.map +0 -1
- package/dist/postgres/codec.js +0 -110
- package/dist/postgres/codec.js.map +0 -1
- package/dist/postgres/compile/index.d.ts +0 -9
- package/dist/postgres/compile/index.d.ts.map +0 -1
- package/dist/postgres/compile/index.js +0 -9
- package/dist/postgres/compile/index.js.map +0 -1
- package/dist/postgres/driver.d.ts +0 -109
- package/dist/postgres/driver.d.ts.map +0 -1
- package/dist/postgres/driver.js +0 -186
- package/dist/postgres/driver.js.map +0 -1
- package/dist/postgres/executor.d.ts +0 -28
- package/dist/postgres/executor.d.ts.map +0 -1
- package/dist/postgres/executor.js +0 -96
- package/dist/postgres/executor.js.map +0 -1
- package/dist/postgres/index.d.ts +0 -8
- package/dist/postgres/index.d.ts.map +0 -1
- package/dist/postgres/index.js +0 -8
- package/dist/postgres/index.js.map +0 -1
- package/dist/postgres/lower.d.ts +0 -6
- package/dist/postgres/lower.d.ts.map +0 -1
- package/dist/postgres/lower.js +0 -152
- package/dist/postgres/lower.js.map +0 -1
- package/dist/postgres/print.d.ts +0 -11
- package/dist/postgres/print.d.ts.map +0 -1
- package/dist/postgres/print.js +0 -108
- package/dist/postgres/print.js.map +0 -1
- package/dist/postgres/session.d.ts +0 -9
- package/dist/postgres/session.d.ts.map +0 -1
- package/dist/postgres/session.js +0 -111
- package/dist/postgres/session.js.map +0 -1
- package/dist/postgres/storage.d.ts +0 -32
- package/dist/postgres/storage.d.ts.map +0 -1
- package/dist/postgres/storage.js +0 -283
- package/dist/postgres/storage.js.map +0 -1
- package/dist/postgres/validator.d.ts +0 -13
- package/dist/postgres/validator.d.ts.map +0 -1
- package/dist/postgres/validator.js +0 -53
- package/dist/postgres/validator.js.map +0 -1
- package/dist/spec/domain/index.d.ts +0 -3
- package/dist/spec/domain/index.d.ts.map +0 -1
- package/dist/spec/domain/index.js +0 -3
- package/dist/spec/domain/index.js.map +0 -1
- package/dist/spec/domain/model/ContentState.d.ts +0 -8
- package/dist/spec/domain/model/ContentState.d.ts.map +0 -1
- package/dist/spec/domain/model/ContentState.js +0 -7
- package/dist/spec/domain/model/ContentState.js.map +0 -1
- package/dist/spec/domain/model/Entry.d.ts +0 -29
- package/dist/spec/domain/model/Entry.d.ts.map +0 -1
- package/dist/spec/domain/model/Entry.js +0 -16
- package/dist/spec/domain/model/Entry.js.map +0 -1
- package/dist/spec/domain/model/Locale.d.ts +0 -30
- package/dist/spec/domain/model/Locale.d.ts.map +0 -1
- package/dist/spec/domain/model/Locale.js +0 -33
- package/dist/spec/domain/model/Locale.js.map +0 -1
- package/dist/spec/domain/model/ManifestGrammar.d.ts.map +0 -1
- package/dist/spec/domain/model/ManifestGrammar.js +0 -153
- package/dist/spec/domain/model/ManifestGrammar.js.map +0 -1
- package/dist/spec/domain/model/MediaMimeAccept.d.ts +0 -55
- package/dist/spec/domain/model/MediaMimeAccept.d.ts.map +0 -1
- package/dist/spec/domain/model/MediaMimeAccept.js +0 -90
- package/dist/spec/domain/model/MediaMimeAccept.js.map +0 -1
- package/dist/spec/domain/model/RuntimePlan.d.ts.map +0 -1
- package/dist/spec/domain/model/RuntimePlan.js +0 -4
- package/dist/spec/domain/model/RuntimePlan.js.map +0 -1
- package/dist/spec/domain/model/SiteConfig.d.ts +0 -173
- package/dist/spec/domain/model/SiteConfig.d.ts.map +0 -1
- package/dist/spec/domain/model/SiteConfig.js +0 -13
- package/dist/spec/domain/model/SiteConfig.js.map +0 -1
- package/dist/spec/domain/model/SqlIr.d.ts.map +0 -1
- package/dist/spec/domain/model/SqlIr.js +0 -95
- package/dist/spec/domain/model/SqlIr.js.map +0 -1
- package/dist/spec/domain/model/index.d.ts +0 -14
- package/dist/spec/domain/model/index.d.ts.map +0 -1
- package/dist/spec/domain/model/index.js +0 -14
- package/dist/spec/domain/model/index.js.map +0 -1
- package/dist/spec/domain/service/CloudflareCron.d.ts.map +0 -1
- package/dist/spec/domain/service/CloudflareCron.js.map +0 -1
- package/dist/spec/domain/service/CrossSchemaChecker.d.ts +0 -34
- package/dist/spec/domain/service/CrossSchemaChecker.d.ts.map +0 -1
- package/dist/spec/domain/service/CrossSchemaChecker.js +0 -114
- package/dist/spec/domain/service/CrossSchemaChecker.js.map +0 -1
- package/dist/spec/domain/service/EntryDataValidator.d.ts +0 -56
- package/dist/spec/domain/service/EntryDataValidator.d.ts.map +0 -1
- package/dist/spec/domain/service/EntryDataValidator.js +0 -88
- package/dist/spec/domain/service/EntryDataValidator.js.map +0 -1
- package/dist/spec/domain/service/JsonSchemaToZod.d.ts +0 -29
- package/dist/spec/domain/service/JsonSchemaToZod.d.ts.map +0 -1
- package/dist/spec/domain/service/JsonSchemaToZod.js +0 -156
- package/dist/spec/domain/service/JsonSchemaToZod.js.map +0 -1
- package/dist/spec/domain/service/LifecycleStateMachine.d.ts +0 -75
- package/dist/spec/domain/service/LifecycleStateMachine.d.ts.map +0 -1
- package/dist/spec/domain/service/LifecycleStateMachine.js +0 -76
- package/dist/spec/domain/service/LifecycleStateMachine.js.map +0 -1
- package/dist/spec/domain/service/LocaleCanonicalizer.d.ts +0 -29
- package/dist/spec/domain/service/LocaleCanonicalizer.d.ts.map +0 -1
- package/dist/spec/domain/service/LocaleCanonicalizer.js +0 -96
- package/dist/spec/domain/service/LocaleCanonicalizer.js.map +0 -1
- package/dist/spec/domain/service/ManifestFieldChecks.d.ts +0 -60
- package/dist/spec/domain/service/ManifestFieldChecks.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestFieldChecks.js +0 -116
- package/dist/spec/domain/service/ManifestFieldChecks.js.map +0 -1
- package/dist/spec/domain/service/ManifestGraphValidator.d.ts +0 -15
- package/dist/spec/domain/service/ManifestGraphValidator.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestGraphValidator.js +0 -225
- package/dist/spec/domain/service/ManifestGraphValidator.js.map +0 -1
- package/dist/spec/domain/service/ManifestLinker.d.ts +0 -45
- package/dist/spec/domain/service/ManifestLinker.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestLinker.js +0 -92
- package/dist/spec/domain/service/ManifestLinker.js.map +0 -1
- package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts +0 -16
- package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestLocaleTrimmer.js +0 -76
- package/dist/spec/domain/service/ManifestLocaleTrimmer.js.map +0 -1
- package/dist/spec/domain/service/ManifestParser.d.ts +0 -49
- package/dist/spec/domain/service/ManifestParser.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestParser.js +0 -203
- package/dist/spec/domain/service/ManifestParser.js.map +0 -1
- package/dist/spec/domain/service/ManifestPartition.d.ts +0 -9
- package/dist/spec/domain/service/ManifestPartition.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestPartition.js +0 -19
- package/dist/spec/domain/service/ManifestPartition.js.map +0 -1
- package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts +0 -33
- package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestPathDiagnoser.js +0 -43
- package/dist/spec/domain/service/ManifestPathDiagnoser.js.map +0 -1
- package/dist/spec/domain/service/ManifestSourceSpans.d.ts +0 -10
- package/dist/spec/domain/service/ManifestSourceSpans.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestSourceSpans.js +0 -76
- package/dist/spec/domain/service/ManifestSourceSpans.js.map +0 -1
- package/dist/spec/domain/service/McpToolNaming.d.ts +0 -25
- package/dist/spec/domain/service/McpToolNaming.d.ts.map +0 -1
- package/dist/spec/domain/service/McpToolNaming.js +0 -50
- package/dist/spec/domain/service/McpToolNaming.js.map +0 -1
- package/dist/spec/domain/service/PlanFingerprint.d.ts.map +0 -1
- package/dist/spec/domain/service/PlanFingerprint.js +0 -14
- package/dist/spec/domain/service/PlanFingerprint.js.map +0 -1
- package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts +0 -4
- package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts.map +0 -1
- package/dist/spec/domain/service/ProcedureViewSpecChecks.js +0 -211
- package/dist/spec/domain/service/ProcedureViewSpecChecks.js.map +0 -1
- package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts +0 -44
- package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts.map +0 -1
- package/dist/spec/domain/service/SchemaAdminUiChecker.js +0 -333
- package/dist/spec/domain/service/SchemaAdminUiChecker.js.map +0 -1
- package/dist/spec/domain/service/SchemaIndexChecker.d.ts +0 -33
- package/dist/spec/domain/service/SchemaIndexChecker.d.ts.map +0 -1
- package/dist/spec/domain/service/SchemaIndexChecker.js +0 -256
- package/dist/spec/domain/service/SchemaIndexChecker.js.map +0 -1
- package/dist/spec/domain/service/SchemaSearchChecker.d.ts +0 -11
- package/dist/spec/domain/service/SchemaSearchChecker.d.ts.map +0 -1
- package/dist/spec/domain/service/SchemaSearchChecker.js +0 -78
- package/dist/spec/domain/service/SchemaSearchChecker.js.map +0 -1
- package/dist/spec/domain/service/SchemaSpecChecks.d.ts +0 -31
- package/dist/spec/domain/service/SchemaSpecChecks.d.ts.map +0 -1
- package/dist/spec/domain/service/SchemaSpecChecks.js +0 -445
- package/dist/spec/domain/service/SchemaSpecChecks.js.map +0 -1
- package/dist/spec/domain/service/SiteDefaultsValidator.d.ts +0 -39
- package/dist/spec/domain/service/SiteDefaultsValidator.d.ts.map +0 -1
- package/dist/spec/domain/service/SiteDefaultsValidator.js +0 -194
- package/dist/spec/domain/service/SiteDefaultsValidator.js.map +0 -1
- package/dist/spec/domain/service/SqlClassify.d.ts +0 -19
- package/dist/spec/domain/service/SqlClassify.d.ts.map +0 -1
- package/dist/spec/domain/service/SqlClassify.js +0 -42
- package/dist/spec/domain/service/SqlClassify.js.map +0 -1
- package/dist/spec/domain/service/SqlRefusal.d.ts +0 -16
- package/dist/spec/domain/service/SqlRefusal.d.ts.map +0 -1
- package/dist/spec/domain/service/SqlRefusal.js +0 -20
- package/dist/spec/domain/service/SqlRefusal.js.map +0 -1
- package/dist/spec/domain/service/SqlTypes.d.ts +0 -40
- package/dist/spec/domain/service/SqlTypes.d.ts.map +0 -1
- package/dist/spec/domain/service/SqlTypes.js +0 -110
- package/dist/spec/domain/service/SqlTypes.js.map +0 -1
- package/dist/spec/domain/service/StaffRoleHierarchy.d.ts +0 -3
- package/dist/spec/domain/service/StaffRoleHierarchy.d.ts.map +0 -1
- package/dist/spec/domain/service/StaffRoleHierarchy.js +0 -19
- package/dist/spec/domain/service/StaffRoleHierarchy.js.map +0 -1
- package/dist/spec/domain/service/TriggerGraphChecks.d.ts +0 -16
- package/dist/spec/domain/service/TriggerGraphChecks.d.ts.map +0 -1
- package/dist/spec/domain/service/TriggerGraphChecks.js +0 -337
- package/dist/spec/domain/service/TriggerGraphChecks.js.map +0 -1
- package/dist/spec/domain/service/TriggerSpecChecks.d.ts +0 -4
- package/dist/spec/domain/service/TriggerSpecChecks.d.ts.map +0 -1
- package/dist/spec/domain/service/TriggerSpecChecks.js +0 -89
- package/dist/spec/domain/service/TriggerSpecChecks.js.map +0 -1
- package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts +0 -11
- package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts.map +0 -1
- package/dist/spec/domain/service/ValidatedAdminUiProjection.js +0 -26
- package/dist/spec/domain/service/ValidatedAdminUiProjection.js.map +0 -1
- package/dist/spec/domain/service/ViewAdminUiChecker.d.ts +0 -14
- package/dist/spec/domain/service/ViewAdminUiChecker.d.ts.map +0 -1
- package/dist/spec/domain/service/ViewAdminUiChecker.js +0 -58
- package/dist/spec/domain/service/ViewAdminUiChecker.js.map +0 -1
- package/dist/spec/domain/service/index.d.ts +0 -24
- package/dist/spec/domain/service/index.d.ts.map +0 -1
- package/dist/spec/domain/service/index.js +0 -24
- package/dist/spec/domain/service/index.js.map +0 -1
- package/dist/spec/index.d.ts +0 -10
- package/dist/spec/index.d.ts.map +0 -1
- package/dist/spec/index.js +0 -12
- package/dist/spec/index.js.map +0 -1
- package/dist/spec/infrastructure/cli/parseArgsError.d.ts +0 -16
- package/dist/spec/infrastructure/cli/parseArgsError.d.ts.map +0 -1
- package/dist/spec/infrastructure/cli/parseArgsError.js +0 -34
- package/dist/spec/infrastructure/cli/parseArgsError.js.map +0 -1
- package/dist/spec/infrastructure/index.d.ts +0 -2
- package/dist/spec/infrastructure/index.d.ts.map +0 -1
- package/dist/spec/infrastructure/index.js +0 -2
- package/dist/spec/infrastructure/index.js.map +0 -1
- package/dist/spec/infrastructure/sql/PgQueryParser.d.ts +0 -18
- package/dist/spec/infrastructure/sql/PgQueryParser.d.ts.map +0 -1
- package/dist/spec/infrastructure/sql/PgQueryParser.js +0 -17
- package/dist/spec/infrastructure/sql/PgQueryParser.js.map +0 -1
- package/dist/spec/infrastructure/sql/compilePlan.d.ts +0 -37
- package/dist/spec/infrastructure/sql/compilePlan.d.ts.map +0 -1
- package/dist/spec/infrastructure/sql/compilePlan.js +0 -287
- package/dist/spec/infrastructure/sql/compilePlan.js.map +0 -1
- package/dist/spec/infrastructure/sql/compileSql.d.ts +0 -35
- package/dist/spec/infrastructure/sql/compileSql.d.ts.map +0 -1
- package/dist/spec/infrastructure/sql/compileSql.js +0 -92
- package/dist/spec/infrastructure/sql/compileSql.js.map +0 -1
- package/dist/spec/infrastructure/sql/frontEnd.d.ts +0 -8
- package/dist/spec/infrastructure/sql/frontEnd.d.ts.map +0 -1
- package/dist/spec/infrastructure/sql/frontEnd.js +0 -100
- package/dist/spec/infrastructure/sql/frontEnd.js.map +0 -1
- package/dist/spec/infrastructure/sql/index.d.ts +0 -4
- package/dist/spec/infrastructure/sql/index.d.ts.map +0 -1
- package/dist/spec/infrastructure/sql/index.js +0 -4
- package/dist/spec/infrastructure/sql/index.js.map +0 -1
- package/dist/spec/kernel/diagnostic.d.ts.map +0 -1
- package/dist/spec/kernel/diagnostic.js +0 -301
- package/dist/spec/kernel/diagnostic.js.map +0 -1
- package/dist/spec/kernel/index.d.ts +0 -8
- package/dist/spec/kernel/index.d.ts.map +0 -1
- package/dist/spec/kernel/index.js +0 -8
- package/dist/spec/kernel/index.js.map +0 -1
- package/dist/spec/usecase/EmitTypes.d.ts +0 -22
- package/dist/spec/usecase/EmitTypes.d.ts.map +0 -1
- package/dist/spec/usecase/EmitTypes.js +0 -182
- package/dist/spec/usecase/EmitTypes.js.map +0 -1
- package/dist/spec/usecase/ValidateManifestsUseCase.d.ts +0 -8
- package/dist/spec/usecase/ValidateManifestsUseCase.d.ts.map +0 -1
- package/dist/spec/usecase/ValidateManifestsUseCase.js +0 -101
- package/dist/spec/usecase/ValidateManifestsUseCase.js.map +0 -1
- package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts +0 -27
- package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts.map +0 -1
- package/dist/spec/usecase/dto/ValidateManifestsRequest.js +0 -2
- package/dist/spec/usecase/dto/ValidateManifestsRequest.js.map +0 -1
- package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts +0 -14
- package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts.map +0 -1
- package/dist/spec/usecase/dto/ValidateManifestsResponse.js +0 -2
- package/dist/spec/usecase/dto/ValidateManifestsResponse.js.map +0 -1
- package/dist/spec/usecase/dto/index.d.ts +0 -3
- package/dist/spec/usecase/dto/index.d.ts.map +0 -1
- package/dist/spec/usecase/dto/index.js +0 -3
- package/dist/spec/usecase/dto/index.js.map +0 -1
- package/dist/spec/usecase/index.d.ts +0 -10
- package/dist/spec/usecase/index.d.ts.map +0 -1
- package/dist/spec/usecase/index.js +0 -10
- package/dist/spec/usecase/index.js.map +0 -1
- package/dist/testing/cases/before-hook.d.ts +0 -4
- package/dist/testing/cases/before-hook.d.ts.map +0 -1
- package/dist/testing/cases/before-hook.js +0 -71
- package/dist/testing/cases/before-hook.js.map +0 -1
- package/dist/testing/cases/corpus.d.ts +0 -14
- package/dist/testing/cases/corpus.d.ts.map +0 -1
- package/dist/testing/cases/corpus.js +0 -93
- package/dist/testing/cases/corpus.js.map +0 -1
- package/dist/testing/cases/policy.d.ts +0 -87
- package/dist/testing/cases/policy.d.ts.map +0 -1
- package/dist/testing/cases/policy.js +0 -143
- package/dist/testing/cases/policy.js.map +0 -1
- package/dist/testing/cases/printer.d.ts +0 -4
- package/dist/testing/cases/printer.d.ts.map +0 -1
- package/dist/testing/cases/printer.js +0 -34
- package/dist/testing/cases/printer.js.map +0 -1
- package/dist/testing/cases/report-view.d.ts +0 -5
- package/dist/testing/cases/report-view.d.ts.map +0 -1
- package/dist/testing/cases/report-view.js +0 -51
- package/dist/testing/cases/report-view.js.map +0 -1
- package/dist/testing/cases/requisition.d.ts +0 -4
- package/dist/testing/cases/requisition.d.ts.map +0 -1
- package/dist/testing/cases/requisition.js +0 -38
- package/dist/testing/cases/requisition.js.map +0 -1
- package/dist/testing/cases/search-places.d.ts +0 -4
- package/dist/testing/cases/search-places.d.ts.map +0 -1
- package/dist/testing/cases/search-places.js +0 -60
- package/dist/testing/cases/search-places.js.map +0 -1
- package/dist/testing/cases/stock.d.ts +0 -4
- package/dist/testing/cases/stock.d.ts.map +0 -1
- package/dist/testing/cases/stock.js +0 -35
- package/dist/testing/cases/stock.js.map +0 -1
- package/dist/testing/cases/store.d.ts +0 -4
- package/dist/testing/cases/store.d.ts.map +0 -1
- package/dist/testing/cases/store.js +0 -100
- package/dist/testing/cases/store.js.map +0 -1
- package/dist/testing/harness.d.ts +0 -94
- package/dist/testing/harness.d.ts.map +0 -1
- package/dist/testing/harness.js +0 -168
- package/dist/testing/harness.js.map +0 -1
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/index.js.map +0 -1
- package/dist/testing/report.d.ts +0 -15
- package/dist/testing/report.d.ts.map +0 -1
- package/dist/testing/report.js +0 -22
- package/dist/testing/report.js.map +0 -1
- package/dist/web/createRestSurface.d.ts +0 -7
- package/dist/web/createRestSurface.d.ts.map +0 -1
- package/dist/web/createRestSurface.js +0 -41
- package/dist/web/createRestSurface.js.map +0 -1
- package/dist/web/index.d.ts +0 -2
- package/dist/web/index.d.ts.map +0 -1
- package/dist/web/index.js +0 -2
- package/dist/web/index.js.map +0 -1
- package/docs/adr/0001-four-atom-manifest-model.md +0 -440
- package/docs/adr/0002-closed-enums-for-bindings.md +0 -253
- package/docs/adr/0007-ai-as-primary-author.md +0 -473
- package/docs/adr/0008-structured-diagnostic-shape.md +0 -338
- package/docs/adr/0009-consumer-supplied-manifests.md +0 -149
- package/docs/adr/0010-locale-and-translates.md +0 -453
- package/docs/adr/0011-adapter-port-spec.md +0 -281
- package/docs/adr/0012-views-as-public-rest.md +0 -161
- package/docs/adr/0013-agent-provisioned-consumer-projects.md +0 -154
- package/docs/adr/0014-auth-better-auth-and-multi-tenant-mcp.md +0 -939
- package/docs/adr/0016-site-semantic-layer.md +0 -70
- package/docs/adr/0017-media-multi-variant-agent-side-optimization.md +0 -181
- package/docs/adr/0018-core-starters-repository-boundary.md +0 -179
- package/docs/adr/0019-sealed-manifest-runtime-pipeline.md +0 -244
- package/docs/adr/0020-builtin-handler-contracts-and-matched-upsert.md +0 -199
- package/docs/adr/0021-retire-starter-scaffolding.md +0 -30
- package/docs/adr/0022-caller-observed-version-occ.md +0 -212
- package/docs/adr/0023-port-failure-contract.md +0 -69
- package/docs/adr/0024-manifest-native-schema-tables.md +0 -264
- package/docs/adr/0025-reserved-native-columns-and-published-only-public-views.md +0 -105
- package/docs/adr/0026-progressive-generate.md +0 -36
- package/docs/adr/0027-scheduled-procedure-triggers.md +0 -31
- package/docs/adr/0028-schema-ttl-expiry.md +0 -33
- package/docs/adr/0029-mcp-apps-interaction-contracts.md +0 -324
- package/docs/adr/0030-store.md +0 -40
- package/docs/adr/0031-host-cloud-core-contract.md +0 -102
- package/docs/adr/0032-store-centric-core-and-service-contract.md +0 -384
- package/docs/adr/0033-storage-converges-to-the-plan.md +0 -92
- package/docs/adr/0034-store-is-authored-as-sql.md +0 -192
- package/docs/adr/0035-sql-dialects.md +0 -154
- package/docs/adr/0036-host-and-dialect.md +0 -65
- package/docs/adr/0037-postgresql-is-the-reference-dialect.md +0 -125
- package/docs/adr/0038-bun-native-host.md +0 -63
- package/docs/adr/0039-postgresql-is-native.md +0 -130
- package/docs/adr/README.md +0 -98
- package/docs/adr/adr-lite-1376-admin-extensions.md +0 -330
- package/docs/adr/adr-lite-803-request-diagnostics.md +0 -38
- package/docs/adr/adr-lite-808-route-readiness.md +0 -47
- package/docs/adr/adr-lite-809-bounded-public-content.md +0 -71
- package/docs/adr/adr-lite-812-native-parity.md +0 -150
- package/docs/adr/adr-lite-823-home-statistics.md +0 -64
- package/docs/adr/adr-lite-842-mcp-authoring.md +0 -30
- package/docs/adr/adr-lite-845-frontend-client.md +0 -38
- package/docs/adr/adr-lite-861-admin-webmcp.md +0 -48
- package/docs/adr/adr-lite-909-admin-ui-kit.md +0 -37
- package/docs/examples/commerce-inventory.md +0 -498
- package/docs/examples/commerce.md +0 -254
- package/docs/examples/guarded-api.md +0 -238
- package/docs/examples/intake-hooks.md +0 -237
- package/docs/examples/intake.md +0 -127
- package/docs/examples/legal-documents.md +0 -218
- package/docs/examples/procurement.md +0 -226
- package/docs/examples/publication.md +0 -211
- package/docs/examples/reference-service/.mantle/generated/mantle.ts +0 -174
- package/docs/examples/reference-service/.mantle/generated/plan.json +0 -1936
- package/docs/examples/reference-service/README.md +0 -33
- package/docs/examples/reference-service/manifests/catalog.yaml +0 -103
- package/docs/examples/reference-service/manifests/orders.yaml +0 -120
- package/docs/examples/reference-service/mantle.config.json +0 -1
- package/docs/examples/reference-service/package.json +0 -27
- package/docs/examples/reference-service/smoke.mjs +0 -160
- package/docs/examples/reference-service/src/handlers.ts +0 -36
- package/docs/examples/reference-service/src/index.ts +0 -33
- package/docs/examples/reference-service/src/service.ts +0 -78
- package/docs/examples/reference-service/wrangler.jsonc +0 -26
- package/docs/examples/reservation.md +0 -142
- /package/docs/examples/{reference-service → app-shell}/.dev.vars.example +0 -0
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { jsonSchemaToZod, zodPathToJsonPointer, } from "./JsonSchemaToZod.js";
|
|
2
|
-
import { runtimeDiagnostic } from "../../kernel/diagnostic.js";
|
|
3
|
-
/**
|
|
4
|
-
* Per-collection entry-data validator.
|
|
5
|
-
*
|
|
6
|
-
* Given a parsed `SchemaManifest` and an entry payload, runs zod
|
|
7
|
-
* validation against the manifest's `spec.schema` and returns
|
|
8
|
-
* Diagnostics. Compiled zod schemas are cached per `metadata.name` so
|
|
9
|
-
* repeated `validate()` calls are cheap; the cache is content-
|
|
10
|
-
* addressed-ish — calling `validate` with two different
|
|
11
|
-
* SchemaManifests that share a `metadata.name` will reuse the first
|
|
12
|
-
* compile, which is correct because manifest names are unique within a
|
|
13
|
-
* deployment.
|
|
14
|
-
*
|
|
15
|
-
* Switched from Ajv to zod (POC issue #70) because Ajv's runtime
|
|
16
|
-
* `compile()` calls `new Function()`, which CF Workers blocks under
|
|
17
|
-
* V8's codegen-from-strings policy. zod composes builders into a
|
|
18
|
-
* plain object tree and runs them through its interpreter at parse
|
|
19
|
-
* time — no codegen, Workers-safe.
|
|
20
|
-
*
|
|
21
|
-
* The `x-mantle-ref` and `x-mcp-hint` extension keywords
|
|
22
|
-
* are tolerated (the converter ignores unknown keywords; they pass
|
|
23
|
-
* through unmodified).
|
|
24
|
-
*
|
|
25
|
-
* Output shape is `Diagnostic[]` — empty array means "valid". The
|
|
26
|
-
* dispatcher and admin-write paths surface the array directly; the
|
|
27
|
-
* `phase: "runtime"` stamp is correct for entry-write validation,
|
|
28
|
-
* which always happens at request-handling time.
|
|
29
|
-
*/
|
|
30
|
-
export class EntryDataValidator {
|
|
31
|
-
compiled = new Map();
|
|
32
|
-
/**
|
|
33
|
-
* Validate `data` against `manifest.spec.schema`. Returns the empty
|
|
34
|
-
* array on success; on failure, returns one or more Diagnostics
|
|
35
|
-
* with `code: "INPUT_VALIDATION_FAILED"` and `path` set to the
|
|
36
|
-
* RFC 6901 JSON Pointer of the offending field (`""` = root).
|
|
37
|
-
*
|
|
38
|
-
* `opts.partial` drops the schema's top-level `required` so a
|
|
39
|
-
* work-in-progress draft can be saved with fields still blank. Types
|
|
40
|
-
* of whatever IS present are still checked. Completeness is enforced
|
|
41
|
-
* at publish time, which validates without `partial`.
|
|
42
|
-
*/
|
|
43
|
-
validate(manifest, data, opts) {
|
|
44
|
-
const compiled = this.compileFor(manifest, opts?.partial ?? false);
|
|
45
|
-
const result = compiled.safeParse(data);
|
|
46
|
-
if (result.success)
|
|
47
|
-
return [];
|
|
48
|
-
return result.error.issues.map((issue) => runtimeDiagnostic({
|
|
49
|
-
code: "INPUT_VALIDATION_FAILED",
|
|
50
|
-
severity: "error",
|
|
51
|
-
path: zodPathToJsonPointer(issue.path),
|
|
52
|
-
message: issue.message,
|
|
53
|
-
}));
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Test-only escape hatch: peek at whether a given Schema has been
|
|
57
|
-
* compiled yet. The cache is otherwise an internal implementation
|
|
58
|
-
* detail. Not part of the package's public API surface.
|
|
59
|
-
*
|
|
60
|
-
* @internal
|
|
61
|
-
*/
|
|
62
|
-
hasCompiled(name) {
|
|
63
|
-
return this.compiled.has(name);
|
|
64
|
-
}
|
|
65
|
-
compileFor(manifest, partial) {
|
|
66
|
-
const name = partial ? `${manifest.metadata.name}::partial` : manifest.metadata.name;
|
|
67
|
-
let compiled = this.compiled.get(name);
|
|
68
|
-
if (!compiled) {
|
|
69
|
-
const source = partial ? withoutTopLevelRequired(manifest.spec.schema) : manifest.spec.schema;
|
|
70
|
-
compiled = jsonSchemaToZod(source);
|
|
71
|
-
this.compiled.set(name, compiled);
|
|
72
|
-
}
|
|
73
|
-
return compiled;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Return a shallow copy of a JSON Schema with its top-level `required`
|
|
78
|
-
* dropped, so every top-level property becomes optional. Nested object
|
|
79
|
-
* `required` is left intact — it only bites when that nested object is
|
|
80
|
-
* actually present, which is the right rule for a partial draft.
|
|
81
|
-
*/
|
|
82
|
-
function withoutTopLevelRequired(schema) {
|
|
83
|
-
if (!schema || typeof schema !== "object")
|
|
84
|
-
return schema;
|
|
85
|
-
const { required: _dropped, ...rest } = schema;
|
|
86
|
-
return rest;
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=EntryDataValidator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EntryDataValidator.js","sourceRoot":"","sources":["../../../../src/spec/domain/service/EntryDataValidator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EACf,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAGhF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,kBAAkB;IACZ,QAAQ,GAAyB,IAAI,GAAG,EAAE,CAAC;IAE5D;;;;;;;;;;OAUG;IACH,QAAQ,CACN,QAAwB,EACxB,IAAa,EACb,IAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CACvC,iBAAiB,CAAC;YAChB,IAAI,EAAE,yBAAyB;YAC/B,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC;YACtC,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,IAAY;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,UAAU,CAAC,QAAwB,EAAE,OAAgB;QAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;QACrF,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9F,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAAC,MAAwC;IACvE,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IACzD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,MAAiC,CAAC;IAC1E,OAAO,IAAwC,CAAC;AAClD,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { z, type ZodType } from "zod";
|
|
2
|
-
import type { JsonSchema } from "../model/ManifestGrammar.js";
|
|
3
|
-
/**
|
|
4
|
-
* Thin boundary around Zod's official JSON Schema importer. Mantle keeps
|
|
5
|
-
* only its legacy `nullable` normalization, an input-depth guard and the
|
|
6
|
-
* length-before-pattern order here; JSON Schema semantics belong to Zod.
|
|
7
|
-
*/
|
|
8
|
-
export declare function jsonSchemaToZod(schema: JsonSchema): ZodType;
|
|
9
|
-
/**
|
|
10
|
-
* `schema.safeParse(value)`, where anything the validator throws other than a Zod issue (a stack overflow on a schema nobody
|
|
11
|
-
* checked) is a failed parse: a value the schema cannot check is not accepted, and the caller reports it as it reports any.
|
|
12
|
-
*/
|
|
13
|
-
export declare function safeParseJson<T extends ZodType>(schema: T, value: unknown): ReturnType<T["safeParse"]>;
|
|
14
|
-
/**
|
|
15
|
-
* Convert a zod issue path (`PropertyKey[]`) to an RFC 6901 JSON
|
|
16
|
-
* Pointer string. Empty path → `""`; `["foo", 0, "bar"]` → `"/foo/0/bar"`;
|
|
17
|
-
* field names containing `/` or `~` are escaped per the spec
|
|
18
|
-
* (`~` → `~0`, `/` → `~1`).
|
|
19
|
-
*/
|
|
20
|
-
export declare function zodPathToJsonPointer(path: ReadonlyArray<PropertyKey>): string;
|
|
21
|
-
/**
|
|
22
|
-
* Translate a zod `safeParse` failure to the (instancePath, message)
|
|
23
|
-
* shape the dispatcher's diagnostic emitter expects.
|
|
24
|
-
*/
|
|
25
|
-
export declare function firstZodIssueAsJsonPointer(err: z.ZodError): {
|
|
26
|
-
instancePath: string;
|
|
27
|
-
message: string;
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=JsonSchemaToZod.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JsonSchemaToZod.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/JsonSchemaToZod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,KAAK,OAAO,EAAE,MAAM,KAAK,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE9D;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAS3D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAOtG;AAoGD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,MAAM,CAQ7E;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,CAAC,CAAC,QAAQ,GACd;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAI3C"}
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
/**
|
|
3
|
-
* Thin boundary around Zod's official JSON Schema importer. Mantle keeps
|
|
4
|
-
* only its legacy `nullable` normalization, an input-depth guard and the
|
|
5
|
-
* length-before-pattern order here; JSON Schema semantics belong to Zod.
|
|
6
|
-
*/
|
|
7
|
-
export function jsonSchemaToZod(schema) {
|
|
8
|
-
let imported;
|
|
9
|
-
try {
|
|
10
|
-
imported = lengthBeforePattern(z.fromJSONSchema(normalizeNullable(schema)));
|
|
11
|
-
}
|
|
12
|
-
catch (error) {
|
|
13
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
14
|
-
imported = z.never({ error: `Invalid JSON Schema: ${message}` });
|
|
15
|
-
}
|
|
16
|
-
return jsonValueWithinLimits().pipe(imported);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* `schema.safeParse(value)`, where anything the validator throws other than a Zod issue (a stack overflow on a schema nobody
|
|
20
|
-
* checked) is a failed parse: a value the schema cannot check is not accepted, and the caller reports it as it reports any.
|
|
21
|
-
*/
|
|
22
|
-
export function safeParseJson(schema, value) {
|
|
23
|
-
try {
|
|
24
|
-
return schema.safeParse(value);
|
|
25
|
-
}
|
|
26
|
-
catch (error) {
|
|
27
|
-
const message = `the schema cannot check this value: ${error instanceof Error ? error.message : String(error)}`;
|
|
28
|
-
return { success: false, error: new z.ZodError([{ code: "custom", path: [], message, input: value }]) };
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Zod checks a string's `maxLength` before its `pattern` but runs the pattern even when the length failed. The CLI bounds a
|
|
33
|
-
* pattern's backtracking only up to the declared maxLength (branches × maxLength^e), so a longer string must stop at the length check:
|
|
34
|
-
* every string schema's maxLength check aborts the checks after it.
|
|
35
|
-
*/
|
|
36
|
-
function lengthBeforePattern(root) {
|
|
37
|
-
const seen = new WeakSet();
|
|
38
|
-
const visit = (node) => {
|
|
39
|
-
if (!node || typeof node !== "object" || seen.has(node))
|
|
40
|
-
return;
|
|
41
|
-
seen.add(node);
|
|
42
|
-
const def = node._zod?.def;
|
|
43
|
-
if (!def) {
|
|
44
|
-
for (const child of Array.isArray(node) ? node : Object.values(node))
|
|
45
|
-
visit(child);
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
if (def["type"] === "string") {
|
|
49
|
-
for (const check of (def["checks"] ?? [])) {
|
|
50
|
-
if (check._zod.def.check === "max_length")
|
|
51
|
-
check._zod.def.abort = true;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
for (const [key, child] of Object.entries(def)) {
|
|
55
|
-
if (key === "checks")
|
|
56
|
-
continue;
|
|
57
|
-
visit(key === "getter" && typeof child === "function" ? child() : child);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
visit(root);
|
|
61
|
-
return root;
|
|
62
|
-
}
|
|
63
|
-
function normalizeNullable(schema) {
|
|
64
|
-
const transform = (node) => {
|
|
65
|
-
const out = { ...node };
|
|
66
|
-
if (node.format === "url")
|
|
67
|
-
out["format"] = "uri";
|
|
68
|
-
if (node.properties) {
|
|
69
|
-
out["properties"] = Object.fromEntries(Object.entries(node.properties).map(([name, child]) => [name, transform(child)]));
|
|
70
|
-
}
|
|
71
|
-
if (node.$defs) {
|
|
72
|
-
out["$defs"] = Object.fromEntries(Object.entries(node.$defs).map(([name, child]) => [name, transform(child)]));
|
|
73
|
-
}
|
|
74
|
-
if (node.items)
|
|
75
|
-
out["items"] = transform(node.items);
|
|
76
|
-
if (typeof node.additionalProperties === "object") {
|
|
77
|
-
out["additionalProperties"] = transform(node.additionalProperties);
|
|
78
|
-
}
|
|
79
|
-
if (node.oneOf)
|
|
80
|
-
out["oneOf"] = node.oneOf.map(transform);
|
|
81
|
-
delete out["nullable"];
|
|
82
|
-
if (node.nullable === true) {
|
|
83
|
-
if (typeof node.type === "string")
|
|
84
|
-
out["type"] = [node.type, "null"];
|
|
85
|
-
else if (Array.isArray(node.type) && !node.type.includes("null")) {
|
|
86
|
-
out["type"] = [...node.type, "null"];
|
|
87
|
-
}
|
|
88
|
-
else if (node.type === undefined) {
|
|
89
|
-
const { $defs, ...base } = out;
|
|
90
|
-
const definitions = $defs;
|
|
91
|
-
return {
|
|
92
|
-
...(definitions ? { $defs: definitions } : {}),
|
|
93
|
-
oneOf: [base, { type: "null" }],
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return out;
|
|
98
|
-
};
|
|
99
|
-
return transform(schema);
|
|
100
|
-
}
|
|
101
|
-
function jsonValueWithinLimits() {
|
|
102
|
-
return z.unknown().superRefine((value, ctx) => {
|
|
103
|
-
const stack = [{ value, depth: 0 }];
|
|
104
|
-
const active = new WeakSet();
|
|
105
|
-
let nodes = 0;
|
|
106
|
-
while (stack.length > 0) {
|
|
107
|
-
const current = stack.pop();
|
|
108
|
-
if (current.value === null || typeof current.value !== "object")
|
|
109
|
-
continue;
|
|
110
|
-
if (current.exit) {
|
|
111
|
-
active.delete(current.value);
|
|
112
|
-
continue;
|
|
113
|
-
}
|
|
114
|
-
if (active.has(current.value)) {
|
|
115
|
-
ctx.addIssue({ code: "custom", message: "value must not contain object cycles" });
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
active.add(current.value);
|
|
119
|
-
if (current.depth > 100 || ++nodes > 10_000) {
|
|
120
|
-
ctx.addIssue({ code: "custom", message: "value exceeds JSON Schema validation limits" });
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
stack.push({ ...current, exit: true });
|
|
124
|
-
for (const child of Array.isArray(current.value)
|
|
125
|
-
? current.value
|
|
126
|
-
: Object.values(current.value)) {
|
|
127
|
-
stack.push({ value: child, depth: current.depth + 1 });
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Convert a zod issue path (`PropertyKey[]`) to an RFC 6901 JSON
|
|
134
|
-
* Pointer string. Empty path → `""`; `["foo", 0, "bar"]` → `"/foo/0/bar"`;
|
|
135
|
-
* field names containing `/` or `~` are escaped per the spec
|
|
136
|
-
* (`~` → `~0`, `/` → `~1`).
|
|
137
|
-
*/
|
|
138
|
-
export function zodPathToJsonPointer(path) {
|
|
139
|
-
if (path.length === 0)
|
|
140
|
-
return "";
|
|
141
|
-
return ("/" +
|
|
142
|
-
path
|
|
143
|
-
.map((seg) => String(seg).replace(/~/g, "~0").replace(/\//g, "~1"))
|
|
144
|
-
.join("/"));
|
|
145
|
-
}
|
|
146
|
-
/**
|
|
147
|
-
* Translate a zod `safeParse` failure to the (instancePath, message)
|
|
148
|
-
* shape the dispatcher's diagnostic emitter expects.
|
|
149
|
-
*/
|
|
150
|
-
export function firstZodIssueAsJsonPointer(err) {
|
|
151
|
-
const issue = err.issues[0];
|
|
152
|
-
if (!issue)
|
|
153
|
-
return { instancePath: "", message: "validation failed" };
|
|
154
|
-
return { instancePath: zodPathToJsonPointer(issue.path), message: issue.message };
|
|
155
|
-
}
|
|
156
|
-
//# sourceMappingURL=JsonSchemaToZod.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"JsonSchemaToZod.js","sourceRoot":"","sources":["../../../../src/spec/domain/service/JsonSchemaToZod.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import type { ContentState } from "../model/ContentState.js";
|
|
2
|
-
import type { LifecycleMode } from "../model/ManifestGrammar.js";
|
|
3
|
-
/**
|
|
4
|
-
* Per-Schema lifecycle state machine. Each Schema declares
|
|
5
|
-
* `spec.lifecycle: 'publishing' | 'operational'` (default `'publishing'`);
|
|
6
|
-
* this module translates that into allowed state transitions.
|
|
7
|
-
*
|
|
8
|
-
* Pure functions — no env, no DB. Feeds the dispatcher's
|
|
9
|
-
* requestPublish branching and runtime state-transition validation.
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* Structural shape of a Schema manifest as far as the state machine
|
|
13
|
-
* cares — just `spec.lifecycle?`. The full `SchemaManifest` type
|
|
14
|
-
* lives in `domain/model/ManifestGrammar.ts` and conforms to this
|
|
15
|
-
* structurally, so callers can pass either one.
|
|
16
|
-
*/
|
|
17
|
-
export interface LifecycleSchemaLike {
|
|
18
|
-
readonly spec: {
|
|
19
|
-
readonly lifecycle?: LifecycleMode;
|
|
20
|
-
/** Present when publishing an entry requires a published parent (ADR-0010). */
|
|
21
|
-
readonly translates?: unknown;
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
export declare function resolveLifecycle(schema: LifecycleSchemaLike | undefined): LifecycleMode;
|
|
25
|
-
/** Publishing Schemas keep drafts, protect published entries and gate public reads. */
|
|
26
|
-
export declare function isPublishing(schema: LifecycleSchemaLike | undefined): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* One row mutation as the lifecycle sees it. `to` is an explicitly
|
|
29
|
-
* requested status (publish, unpublish, archive, restore); `data` says
|
|
30
|
-
* whether the mutation also changes field values.
|
|
31
|
-
*/
|
|
32
|
-
export type LifecycleWrite = {
|
|
33
|
-
readonly op: "insert";
|
|
34
|
-
} | {
|
|
35
|
-
readonly op: "update";
|
|
36
|
-
readonly from: ContentState;
|
|
37
|
-
readonly to?: ContentState;
|
|
38
|
-
readonly data: boolean;
|
|
39
|
-
} | {
|
|
40
|
-
readonly op: "delete";
|
|
41
|
-
readonly from: ContentState;
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* `validate` is how much of the Schema the resulting data must satisfy:
|
|
45
|
-
* drafts save incomplete (`partial`), live entries must be complete
|
|
46
|
-
* (`full`), and a pure status change that is not a publish checks nothing.
|
|
47
|
-
*/
|
|
48
|
-
export type LifecycleDecision = {
|
|
49
|
-
readonly allowed: true;
|
|
50
|
-
readonly status: ContentState;
|
|
51
|
-
readonly validate: "partial" | "full" | "none";
|
|
52
|
-
/** Publishing a translation requires its parent to be published first. */
|
|
53
|
-
readonly publishedParent: boolean;
|
|
54
|
-
} | {
|
|
55
|
-
readonly allowed: false;
|
|
56
|
-
readonly reason: "transition" | "not-editable" | "published-protected";
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* The single lifecycle rule set for every row write (ADR-0032 decision 1):
|
|
60
|
-
* initial status, editability, transitions and published protection.
|
|
61
|
-
* Pure; the caller performs the reads it asks for (`publishedParent`).
|
|
62
|
-
*/
|
|
63
|
-
export declare function decideLifecycleWrite(schema: LifecycleSchemaLike | undefined, write: LifecycleWrite): LifecycleDecision;
|
|
64
|
-
/**
|
|
65
|
-
* Allowed status transitions per lifecycle. Used by the MCP handler
|
|
66
|
-
* and admin endpoints to gate operations. Unknown transitions return
|
|
67
|
-
* `false` and the caller should reject with `CONFLICT`.
|
|
68
|
-
*
|
|
69
|
-
* Publishing lifecycle:
|
|
70
|
-
* draft → published, draft → archived
|
|
71
|
-
* published → archived, published → draft (unpublish-as-edit)
|
|
72
|
-
* archived → draft
|
|
73
|
-
*/
|
|
74
|
-
export declare function canTransition(schema: LifecycleSchemaLike | undefined, from: ContentState, to: ContentState): boolean;
|
|
75
|
-
//# sourceMappingURL=LifecycleStateMachine.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LifecycleStateMachine.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/LifecycleStateMachine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;QACnC,+EAA+E;QAC/E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;CACH;AAID,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,GAAG,aAAa,CAEvF;AAED,uFAAuF;AACvF,wBAAgB,YAAY,CAAC,MAAM,EAAE,mBAAmB,GAAG,SAAS,GAAG,OAAO,CAE7E;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAC1G;IAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/C,0EAA0E;IAC1E,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;CACnC,GACD;IAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,GAAG,qBAAqB,CAAA;CAAE,CAAC;AAExG;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,KAAK,EAAE,cAAc,GACpB,iBAAiB,CA6BnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,mBAAmB,GAAG,SAAS,EACvC,IAAI,EAAE,YAAY,EAClB,EAAE,EAAE,YAAY,GACf,OAAO,CAGT"}
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
const DEFAULT_LIFECYCLE = "publishing";
|
|
2
|
-
export function resolveLifecycle(schema) {
|
|
3
|
-
return schema?.spec.lifecycle ?? DEFAULT_LIFECYCLE;
|
|
4
|
-
}
|
|
5
|
-
/** Publishing Schemas keep drafts, protect published entries and gate public reads. */
|
|
6
|
-
export function isPublishing(schema) {
|
|
7
|
-
return resolveLifecycle(schema) === "publishing";
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* The single lifecycle rule set for every row write (ADR-0032 decision 1):
|
|
11
|
-
* initial status, editability, transitions and published protection.
|
|
12
|
-
* Pure; the caller performs the reads it asks for (`publishedParent`).
|
|
13
|
-
*/
|
|
14
|
-
export function decideLifecycleWrite(schema, write) {
|
|
15
|
-
const publishing = isPublishing(schema);
|
|
16
|
-
if (write.op === "insert") {
|
|
17
|
-
// Operational records have no publish step; they are live the moment they exist.
|
|
18
|
-
return publishing
|
|
19
|
-
? { allowed: true, status: "draft", validate: "partial", publishedParent: false }
|
|
20
|
-
: { allowed: true, status: "published", validate: "full", publishedParent: false };
|
|
21
|
-
}
|
|
22
|
-
if (write.op === "delete") {
|
|
23
|
-
return publishing && write.from === "published"
|
|
24
|
-
? { allowed: false, reason: "published-protected" }
|
|
25
|
-
: { allowed: true, status: write.from, validate: "none", publishedParent: false };
|
|
26
|
-
}
|
|
27
|
-
// An explicit status must be a legal transition, even when it equals the current one.
|
|
28
|
-
if (write.to !== undefined && !canTransition(schema, write.from, write.to)) {
|
|
29
|
-
return { allowed: false, reason: "transition" };
|
|
30
|
-
}
|
|
31
|
-
// Only drafts are editable on publishing Schemas; operational records edit in place.
|
|
32
|
-
if (write.data && publishing && write.from !== "draft") {
|
|
33
|
-
return { allowed: false, reason: "not-editable" };
|
|
34
|
-
}
|
|
35
|
-
const status = write.to ?? write.from;
|
|
36
|
-
const publish = write.to === "published";
|
|
37
|
-
return {
|
|
38
|
-
allowed: true,
|
|
39
|
-
status,
|
|
40
|
-
validate: publish || (write.data && !publishing) ? "full" : write.data ? "partial" : "none",
|
|
41
|
-
publishedParent: publish && schema?.spec.translates !== undefined,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Allowed status transitions per lifecycle. Used by the MCP handler
|
|
46
|
-
* and admin endpoints to gate operations. Unknown transitions return
|
|
47
|
-
* `false` and the caller should reject with `CONFLICT`.
|
|
48
|
-
*
|
|
49
|
-
* Publishing lifecycle:
|
|
50
|
-
* draft → published, draft → archived
|
|
51
|
-
* published → archived, published → draft (unpublish-as-edit)
|
|
52
|
-
* archived → draft
|
|
53
|
-
*/
|
|
54
|
-
export function canTransition(schema, from, to) {
|
|
55
|
-
const allowed = transitionsFor(resolveLifecycle(schema));
|
|
56
|
-
return allowed[from]?.has(to) ?? false;
|
|
57
|
-
}
|
|
58
|
-
const PUBLISHING_TRANSITIONS = {
|
|
59
|
-
draft: new Set(["published", "archived"]),
|
|
60
|
-
published: new Set(["archived", "draft"]),
|
|
61
|
-
archived: new Set(["draft"]),
|
|
62
|
-
};
|
|
63
|
-
/** `lifecycle: operational` — orders, snapshots, audit
|
|
64
|
-
* rows). No content workflow: entries are live on creation, editable
|
|
65
|
-
* in place, and never publish/unpublish/archive. */
|
|
66
|
-
const OPERATIONAL_TRANSITIONS = {
|
|
67
|
-
draft: new Set(),
|
|
68
|
-
published: new Set(),
|
|
69
|
-
archived: new Set(),
|
|
70
|
-
};
|
|
71
|
-
function transitionsFor(mode) {
|
|
72
|
-
if (mode === "operational")
|
|
73
|
-
return OPERATIONAL_TRANSITIONS;
|
|
74
|
-
return PUBLISHING_TRANSITIONS;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=LifecycleStateMachine.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LifecycleStateMachine.js","sourceRoot":"","sources":["../../../../src/spec/domain/service/LifecycleStateMachine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Accepts `zh-TW`, `zh-tw`, `zh_TW`, `zhTW`, `ZH-tw`, `en` etc. Returns
|
|
3
|
-
* canonical BCP 47 form (`zh-TW`, `en`). Throws `InvalidLocaleError` for
|
|
4
|
-
* anything that doesn't shape up.
|
|
5
|
-
*/
|
|
6
|
-
export declare function toCanonicalLocale(input: string): string;
|
|
7
|
-
/** Canonical → URL form (always lowercase). */
|
|
8
|
-
export declare function toUrlLocale(canonical: string): string;
|
|
9
|
-
/**
|
|
10
|
-
* Best-effort canonicalization. Unlike `toCanonicalLocale`, never
|
|
11
|
-
* throws — returns the original input unchanged when it's malformed.
|
|
12
|
-
* Used for query-side comparisons where a malformed filter value
|
|
13
|
-
* should simply match nothing rather than error.
|
|
14
|
-
*/
|
|
15
|
-
export declare function safeCanonicalLocale(input: string): string;
|
|
16
|
-
/**
|
|
17
|
-
* Canonicalize an array of locale strings, separating valid from
|
|
18
|
-
* invalid in one pass. The caller decides whether to reject (write
|
|
19
|
-
* paths) or warn (read paths) on `invalid.length > 0`.
|
|
20
|
-
*
|
|
21
|
-
* Preserves input order in `valid`; canonicalizes each entry; dedupes
|
|
22
|
-
* the result so `["zh-tw", "zh-TW"]` collapses to `["zh-TW"]`.
|
|
23
|
-
*/
|
|
24
|
-
export declare function canonicalizeLocaleList(inputs: ReadonlyArray<string>): {
|
|
25
|
-
readonly valid: string[];
|
|
26
|
-
readonly invalid: string[];
|
|
27
|
-
};
|
|
28
|
-
export declare function containsScriptSubtagLocale(inputs: ReadonlyArray<string>): boolean;
|
|
29
|
-
//# sourceMappingURL=LocaleCanonicalizer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocaleCanonicalizer.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/LocaleCanonicalizer.ts"],"names":[],"mappings":"AAuBA;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAkBvD;AAED,+CAA+C;AAC/C,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAC5B;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAgB1D;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,GAC5B,OAAO,CAET"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { InvalidLocaleError } from "../model/Locale.js";
|
|
2
|
-
/**
|
|
3
|
-
* Mantle v0.1 locale canonicalization. This is a deliberately narrow
|
|
4
|
-
* subset of BCP 47, shared across the SDK: manifest parsing,
|
|
5
|
-
* `site_config.locales` writes, content-ops `data.locale` validation,
|
|
6
|
-
* public router URL segments, boot-time site-config check.
|
|
7
|
-
*
|
|
8
|
-
* 2- or 3-letter ISO 639 language (covers `en`, `ja`, plus 3-letter
|
|
9
|
-
* codes like `fil`, `haw`) + optional 2-letter ISO 3166 region. No
|
|
10
|
-
* script subtag (`zh-Hant`), no variants (`de-1996`). Extend the
|
|
11
|
-
* regexes below — they are the only place the restriction lives.
|
|
12
|
-
*
|
|
13
|
-
* Note: `URL_LOCALE` is stricter than `LANG` (2-letter only) because
|
|
14
|
-
* 3-letter languages don't appear in published URL paths today. If
|
|
15
|
-
* you accept a 3-letter site locale, audit URL_LOCALE consumers
|
|
16
|
-
* before flipping it.
|
|
17
|
-
*/
|
|
18
|
-
const LANG = /^[a-z]{2,3}$/;
|
|
19
|
-
const REGION = /^[a-z]{2}$/;
|
|
20
|
-
const SCRIPT_SUBTAG_SHAPE = /^[a-z]{2,3}[-_][a-z]{4}(?:[-_][a-z]{2})?$/i;
|
|
21
|
-
/**
|
|
22
|
-
* Accepts `zh-TW`, `zh-tw`, `zh_TW`, `zhTW`, `ZH-tw`, `en` etc. Returns
|
|
23
|
-
* canonical BCP 47 form (`zh-TW`, `en`). Throws `InvalidLocaleError` for
|
|
24
|
-
* anything that doesn't shape up.
|
|
25
|
-
*/
|
|
26
|
-
export function toCanonicalLocale(input) {
|
|
27
|
-
if (typeof input !== "string" || input.length === 0) {
|
|
28
|
-
throw new InvalidLocaleError(String(input));
|
|
29
|
-
}
|
|
30
|
-
// Split on `-` or `_`; if neither, allow `zhTW` style by inserting
|
|
31
|
-
// the boundary at position 2 (most common 2+2 form).
|
|
32
|
-
let parts = input.replace(/_/g, "-").split("-");
|
|
33
|
-
const head = parts[0];
|
|
34
|
-
if (head === undefined)
|
|
35
|
-
throw new InvalidLocaleError(input);
|
|
36
|
-
if (parts.length === 1 && head.length === 4) {
|
|
37
|
-
parts = [head.slice(0, 2), head.slice(2)];
|
|
38
|
-
}
|
|
39
|
-
const lang = parts[0].toLowerCase();
|
|
40
|
-
if (!LANG.test(lang))
|
|
41
|
-
throw new InvalidLocaleError(input);
|
|
42
|
-
if (parts.length === 1)
|
|
43
|
-
return lang;
|
|
44
|
-
const region = parts[1].toLowerCase();
|
|
45
|
-
if (!REGION.test(region))
|
|
46
|
-
throw new InvalidLocaleError(input);
|
|
47
|
-
return `${lang}-${region.toUpperCase()}`;
|
|
48
|
-
}
|
|
49
|
-
/** Canonical → URL form (always lowercase). */
|
|
50
|
-
export function toUrlLocale(canonical) {
|
|
51
|
-
return canonical.toLowerCase();
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Best-effort canonicalization. Unlike `toCanonicalLocale`, never
|
|
55
|
-
* throws — returns the original input unchanged when it's malformed.
|
|
56
|
-
* Used for query-side comparisons where a malformed filter value
|
|
57
|
-
* should simply match nothing rather than error.
|
|
58
|
-
*/
|
|
59
|
-
export function safeCanonicalLocale(input) {
|
|
60
|
-
try {
|
|
61
|
-
return toCanonicalLocale(input);
|
|
62
|
-
}
|
|
63
|
-
catch {
|
|
64
|
-
return input;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Canonicalize an array of locale strings, separating valid from
|
|
69
|
-
* invalid in one pass. The caller decides whether to reject (write
|
|
70
|
-
* paths) or warn (read paths) on `invalid.length > 0`.
|
|
71
|
-
*
|
|
72
|
-
* Preserves input order in `valid`; canonicalizes each entry; dedupes
|
|
73
|
-
* the result so `["zh-tw", "zh-TW"]` collapses to `["zh-TW"]`.
|
|
74
|
-
*/
|
|
75
|
-
export function canonicalizeLocaleList(inputs) {
|
|
76
|
-
const valid = [];
|
|
77
|
-
const invalid = [];
|
|
78
|
-
const seen = new Set();
|
|
79
|
-
for (const raw of inputs) {
|
|
80
|
-
try {
|
|
81
|
-
const canonical = toCanonicalLocale(raw);
|
|
82
|
-
if (!seen.has(canonical)) {
|
|
83
|
-
seen.add(canonical);
|
|
84
|
-
valid.push(canonical);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
catch {
|
|
88
|
-
invalid.push(raw);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
return { valid, invalid };
|
|
92
|
-
}
|
|
93
|
-
export function containsScriptSubtagLocale(inputs) {
|
|
94
|
-
return inputs.some((raw) => SCRIPT_SUBTAG_SHAPE.test(raw));
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=LocaleCanonicalizer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LocaleCanonicalizer.js","sourceRoot":"","sources":["../../../../src/spec/domain/service/LocaleCanonicalizer.ts"],"names":[],"mappings":"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"}
|