@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,173 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Site-level declarative contract — sibling to the manifest grammar,
|
|
3
|
-
* not part of it.
|
|
4
|
-
*
|
|
5
|
-
* The 4-atom manifest grammar (Schema/View/Procedure/Trigger) describes
|
|
6
|
-
* content types. `SiteConfig` describes deployment metadata: locales the
|
|
7
|
-
* site publishes in, brand label, the operator-visible title and
|
|
8
|
-
* description, the canonical absolute origin used for canonical URLs.
|
|
9
|
-
*
|
|
10
|
-
* Lives in `mantle-spec` (not `-runtime`) because the spec validator
|
|
11
|
-
* checks declared `siteDefaults.locales` are canonical BCP 47 at boot
|
|
12
|
-
* (see `domain/service/SiteDefaultsValidator`). The runtime operations
|
|
13
|
-
* that read/write `site_config` rows from the DB live in
|
|
14
|
-
* `mantle-runtime` — they go through the `DatabaseDriver`.
|
|
15
|
-
*
|
|
16
|
-
* Future v0.1.x: optional standalone `site.yaml` parsed via a
|
|
17
|
-
* `kind: SiteConfig` envelope sibling to the 4-atom manifest grammar.
|
|
18
|
-
* Today the consumer declares `siteDefaults` in `src/mantle/config.ts` as a
|
|
19
|
-
* TS object; either path conforms to this type.
|
|
20
|
-
*/
|
|
21
|
-
export interface SiteConfig {
|
|
22
|
-
/** Site title — `<title>` suffix and og:site_name. */
|
|
23
|
-
readonly title: string;
|
|
24
|
-
/** Default `<meta name="description">` when an entry has none. */
|
|
25
|
-
readonly description: string;
|
|
26
|
-
/** Canonical absolute origin (no trailing slash), e.g. `https://my-blog.com`. */
|
|
27
|
-
readonly origin: string;
|
|
28
|
-
/** All locales the site publishes in. Empty = locale subsystem off
|
|
29
|
-
* site-wide (ADR-0010). Drives `<link rel="alternate" hreflang>`
|
|
30
|
-
* emission only when non-empty. */
|
|
31
|
-
readonly locales: readonly string[];
|
|
32
|
-
/** Canonical locale (`locales[0]`) or `null` when locales is empty.
|
|
33
|
-
* Templates emit `<html lang="">` only when this is non-null —
|
|
34
|
-
* silent omission is correct for zero-locale sites, not a fake
|
|
35
|
-
* default. */
|
|
36
|
-
readonly canonicalLocale: string | null;
|
|
37
|
-
/** Operator-facing brand label — admin chrome (sidebar header,
|
|
38
|
-
* sign-in card). Distinct from `title` so single-tenant operators
|
|
39
|
-
* can ship one and agencies can override the other. */
|
|
40
|
-
readonly brand: string;
|
|
41
|
-
/** One site identity shared by browser favicons, Admin chrome, and
|
|
42
|
-
* MCP `serverInfo.icons`. Always contains at least the SDK default. */
|
|
43
|
-
readonly icons: readonly SiteIcon[];
|
|
44
|
-
/** Starter-declared media taxonomy. Empty array = no first-party
|
|
45
|
-
* media uploads permitted; the runtime disables the
|
|
46
|
-
* `create_media_upload` / `commit_media_upload` MCP tools and the
|
|
47
|
-
* admin upload lifecycle on deployments that don't declare any
|
|
48
|
-
* purpose, symmetric with "no `MediaStorage` configured". When
|
|
49
|
-
* non-empty, `create_media_upload` rejects any `purpose` not in
|
|
50
|
-
* this set with `MEDIA_PURPOSE_REJECTED`. */
|
|
51
|
-
readonly media: SiteMediaConfig;
|
|
52
|
-
}
|
|
53
|
-
/** Runtime read shape for the `media` section of `SiteConfig`. Always
|
|
54
|
-
* present after seed; `purposes` may be empty when the consumer
|
|
55
|
-
* didn't declare any. Each purpose carries the required mime set the
|
|
56
|
-
* Worker enforces and the per-mime byte cap the uploader is held to. */
|
|
57
|
-
export interface SiteMediaConfig {
|
|
58
|
-
readonly purposes: readonly MediaPurposePolicy[];
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Per-purpose policy. `name` is the slug consumers reference from
|
|
62
|
-
* `create_media_upload`; `required` is the closed set of mime types
|
|
63
|
-
* the variants manifest MUST cover; `maxBytes` caps each variant's
|
|
64
|
-
* byteSize keyed by its declared mime.
|
|
65
|
-
*
|
|
66
|
-
* Optimization runs agent-side in the MCP client's runtime; the
|
|
67
|
-
* Worker only verifies the uploaded bytes match the policy. The
|
|
68
|
-
* runtime also enforces a "suspicious shape" heuristic so an uploader
|
|
69
|
-
* that ships a 200KB jpeg + a 400KB "avif" (i.e. forgot to optimize)
|
|
70
|
-
* fails closed rather than producing a `<picture>` that's slower than
|
|
71
|
-
* a plain `<img>`.
|
|
72
|
-
*/
|
|
73
|
-
export interface MediaPurposePolicy {
|
|
74
|
-
/** Lowercase-slug identifier; matches `MEDIA_PURPOSE_SLUG_PATTERN`. */
|
|
75
|
-
readonly name: string;
|
|
76
|
-
/**
|
|
77
|
-
* Ordered list of acceptable mime slots. Each entry uses the HTML
|
|
78
|
-
* `<input accept="...">` grammar:
|
|
79
|
-
*
|
|
80
|
-
* - full mime: `"image/jpeg"`, `"image/avif"`
|
|
81
|
-
* - comma-list of mimes: `"image/jpg,image/png"` (either is OK)
|
|
82
|
-
* - shorthand subtype: `"webp"` → `"image/webp"`,
|
|
83
|
-
* `"jpg"` → `"image/jpeg"`
|
|
84
|
-
*
|
|
85
|
-
* Slot position does NOT determine variant role. Per-asset, the
|
|
86
|
-
* agent picks ONE mime per slot from that slot's acceptable set
|
|
87
|
-
* and independently declares exactly one supplied variant as
|
|
88
|
-
* `role: "primary"` (the format `<img>` falls back to); the rest
|
|
89
|
-
* are `role: "alternate"` (preferred via `<picture><source>`).
|
|
90
|
-
* This decoupling preserves back-compat with alpha.14 fixtures
|
|
91
|
-
* such as `["image/avif", "image/webp", "image/jpeg"]` that ship
|
|
92
|
-
* jpeg as primary despite avif occupying slot 0. The multi-mime
|
|
93
|
-
* slot form (e.g. `"image/jpg,image/png"`) lets a single purpose
|
|
94
|
-
* accept either jpeg-primary (photos) or png-primary (logos /
|
|
95
|
-
* transparent assets) without splitting into two purposes.
|
|
96
|
-
*
|
|
97
|
-
* Parse + expand via `parseMimeAccept` / `expandPolicyRequired`.
|
|
98
|
-
* Mime sets across slots MUST NOT overlap; `maxBytes` keys MUST
|
|
99
|
-
* cover every mime that appears in any expanded slot.
|
|
100
|
-
*
|
|
101
|
-
* See aotter/mantle#282 for the editor-uploads-transparent-PNG
|
|
102
|
-
* motivating case.
|
|
103
|
-
*/
|
|
104
|
-
readonly required: readonly string[];
|
|
105
|
-
/** Per-mime byte cap, keyed by FULLY-EXPANDED mime type (e.g.
|
|
106
|
-
* `"image/jpeg"`, not the shorthand `"jpg"`). MUST cover every
|
|
107
|
-
* mime that appears in any slot of `required` after parsing.
|
|
108
|
-
* Mimes outside the expanded set are ignored. The use case
|
|
109
|
-
* rejects with `MEDIA_VARIANT_SIZE_EXCEEDED` when a variant's
|
|
110
|
-
* declared `byteSize` exceeds its cap. */
|
|
111
|
-
readonly maxBytes: Readonly<Record<string, number>>;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Defaults declared by the consumer in `src/mantle/config.ts`. Operator-owned
|
|
115
|
-
* fields seed once, while deployment-owned fields (`origin`, `icons`, `locales`,
|
|
116
|
-
* and media purposes) sync on every boot. Empty / blank fields skip, preventing a
|
|
117
|
-
* partial declaration from clobbering stored values.
|
|
118
|
-
*
|
|
119
|
-
* Validated during storage preparation by `assertSiteDefaultsCanonical`; a
|
|
120
|
-
* non-canonical locale tag rejects boot rather than corrupting the seed.
|
|
121
|
-
*
|
|
122
|
-
* `SiteDefaults` is the **author-time** declaration (what the consumer
|
|
123
|
-
* writes); `SiteConfig` (above) is the **runtime read shape**
|
|
124
|
-
* (what the dispatcher and templates see after the seed has been
|
|
125
|
-
* applied and the operator has had a chance to edit). The runtime's
|
|
126
|
-
* `DatabaseSiteConfigRepository` owns that seed/load conversion; spec defines
|
|
127
|
-
* both types and the validator.
|
|
128
|
-
*/
|
|
129
|
-
export interface SiteDefaults {
|
|
130
|
-
readonly locales?: ReadonlyArray<string>;
|
|
131
|
-
readonly brand?: string;
|
|
132
|
-
readonly title?: string;
|
|
133
|
-
/** Default `<meta name="description">` and og:description for entries
|
|
134
|
-
* that don't carry their own. */
|
|
135
|
-
readonly description?: string;
|
|
136
|
-
/** Canonical absolute origin (no trailing slash), e.g.
|
|
137
|
-
* `https://my-blog.com`. The render pipeline uses this to build
|
|
138
|
-
* absolute URLs in `/llms.txt` and the `.md` mirrors; an empty
|
|
139
|
-
* origin produces relative URLs that are useless to off-site agent
|
|
140
|
-
* consumers. The runtime syncs it from `src/mantle/config.ts` on every boot
|
|
141
|
-
* so a later custom-domain change becomes canonical without a D1 edit. */
|
|
142
|
-
readonly origin?: string;
|
|
143
|
-
/** Browser / Admin / MCP icon renditions. Root-relative or absolute HTTPS. */
|
|
144
|
-
readonly icons?: ReadonlyArray<SiteIcon>;
|
|
145
|
-
/** Starter-declared media taxonomy. See `SiteConfig.media` for
|
|
146
|
-
* runtime semantics. Omit the whole `media` key (or declare it
|
|
147
|
-
* with an empty `purposes` array) on archetypes that don't
|
|
148
|
-
* exercise first-party media uploads — the runtime will keep the
|
|
149
|
-
* upload tools disabled, symmetric with "no `MediaStorage`
|
|
150
|
-
* configured". Each purpose's `name` is slug-shaped
|
|
151
|
-
* (`^[a-z0-9]+(-[a-z0-9]+)*$`); validated synchronously at boot. */
|
|
152
|
-
readonly media?: SiteMediaDefaults;
|
|
153
|
-
}
|
|
154
|
-
export interface SiteMediaDefaults {
|
|
155
|
-
readonly purposes?: ReadonlyArray<MediaPurposePolicy>;
|
|
156
|
-
}
|
|
157
|
-
/** MCP-compatible icon metadata, reused directly by every site surface. */
|
|
158
|
-
export interface SiteIcon {
|
|
159
|
-
readonly src: string;
|
|
160
|
-
readonly mimeType?: "image/png" | "image/jpeg" | "image/svg+xml" | "image/webp";
|
|
161
|
-
readonly sizes?: ReadonlyArray<string>;
|
|
162
|
-
readonly theme?: "light" | "dark";
|
|
163
|
-
}
|
|
164
|
-
export declare const DEFAULT_SITE_ICONS: readonly SiteIcon[];
|
|
165
|
-
/** Slug regex for `media.purposes[].name`. Matches a lowercase
|
|
166
|
-
* alphanumeric word, optionally followed by dash-separated
|
|
167
|
-
* alphanumeric segments — no leading/trailing dashes, no double
|
|
168
|
-
* dashes. The R2 adapter already uses a looser variant of this for
|
|
169
|
-
* storage-key prefixes (`/^[a-z0-9-]+$/`); spec-level validation is
|
|
170
|
-
* stricter so admin / docs / object-store dashboards see clean
|
|
171
|
-
* slugs. */
|
|
172
|
-
export declare const MEDIA_PURPOSE_SLUG_PATTERN: RegExp;
|
|
173
|
-
//# sourceMappingURL=SiteConfig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SiteConfig.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/model/SiteConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,UAAU;IACzB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,kEAAkE;IAClE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;wCAEoC;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC;;;mBAGe;IACf,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;;4DAEwD;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;4EACwE;IACxE,QAAQ,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IACpC;;;;;;kDAM8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;CACjC;AAED;;;yEAGyE;AACzE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAClD;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IACjC,uEAAuE;IACvE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC;;;;;+CAK2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACrD;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;sCACkC;IAClC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;+EAK2E;IAC3E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC;;;;;;yEAMqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,iBAAiB,CAAC;CACpC;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CACvD;AAED,2EAA2E;AAC3E,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,eAAe,GAAG,YAAY,CAAC;IAChF,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,kBAAkB,EAAE,SAAS,QAAQ,EAGjD,CAAC;AAEF;;;;;;aAMa;AACb,eAAO,MAAM,0BAA0B,QAA6B,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export const DEFAULT_SITE_ICONS = [
|
|
2
|
-
{ src: "/admin/favicon.png", mimeType: "image/png", sizes: ["64x64"] },
|
|
3
|
-
{ src: "/admin/favicon.svg", mimeType: "image/svg+xml", sizes: ["any"] },
|
|
4
|
-
];
|
|
5
|
-
/** Slug regex for `media.purposes[].name`. Matches a lowercase
|
|
6
|
-
* alphanumeric word, optionally followed by dash-separated
|
|
7
|
-
* alphanumeric segments — no leading/trailing dashes, no double
|
|
8
|
-
* dashes. The R2 adapter already uses a looser variant of this for
|
|
9
|
-
* storage-key prefixes (`/^[a-z0-9-]+$/`); spec-level validation is
|
|
10
|
-
* stricter so admin / docs / object-store dashboards see clean
|
|
11
|
-
* slugs. */
|
|
12
|
-
export const MEDIA_PURPOSE_SLUG_PATTERN = /^[a-z0-9]+(-[a-z0-9]+)*$/;
|
|
13
|
-
//# sourceMappingURL=SiteConfig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SiteConfig.js","sourceRoot":"","sources":["../../../../src/spec/domain/model/SiteConfig.ts"],"names":[],"mappings":"AAyKA,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,EAAE,GAAG,EAAE,oBAAoB,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE;IACtE,EAAE,GAAG,EAAE,oBAAoB,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE;CACzE,CAAC;AAEF;;;;;;aAMa;AACb,MAAM,CAAC,MAAM,0BAA0B,GAAG,0BAA0B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SqlIr.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/model/SqlIr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/** The PostgreSQL grammar version a plan records (libpg-query 18: PG 18.0.4). */
|
|
2
|
-
export const PG_GRAMMAR = 180004;
|
|
3
|
-
/** Whether an expression holds a subquery, by structure: a string literal 'SubLink' is not one. */
|
|
4
|
-
export function hasSubLink(v) {
|
|
5
|
-
if (!v || typeof v !== "object")
|
|
6
|
-
return false;
|
|
7
|
-
return Object.entries(v).some(([k, c]) => k === "SubLink" || hasSubLink(c));
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* The columns storage creates for a Schema, each with its type: the native ones, the scope field, `status` on a publishing Schema,
|
|
11
|
-
* and each field (a geo field as its `_lat` and `_lng` columns). `created_at`/`updated_at` are typed per dialect, so `native`.
|
|
12
|
-
*/
|
|
13
|
-
export function storageColumns(s) {
|
|
14
|
-
const cols = new Map([["_rid", "integer"], ["id", "text"], ["version", "integer"], ["created_at", "native"], ["updated_at", "native"], ["author_id", "text"]]);
|
|
15
|
-
if (s.scope)
|
|
16
|
-
cols.set(s.scope, "text");
|
|
17
|
-
if (s.publishing)
|
|
18
|
-
cols.set("status", "text");
|
|
19
|
-
for (const [f, t] of Object.entries(s.fields ?? {})) {
|
|
20
|
-
if (f === s.scope)
|
|
21
|
-
continue;
|
|
22
|
-
if (t === "geo") {
|
|
23
|
-
cols.set(`${f}_lat`, "real");
|
|
24
|
-
cols.set(`${f}_lng`, "real");
|
|
25
|
-
}
|
|
26
|
-
else
|
|
27
|
-
cols.set(f, t);
|
|
28
|
-
}
|
|
29
|
-
return cols;
|
|
30
|
-
}
|
|
31
|
-
/** A field whose name is a column storage creates for something else (`_rid`, or another geo field's `_lat`/`_lng`), or undefined. */
|
|
32
|
-
export function storageColumnClash(fields) {
|
|
33
|
-
const taken = new Set(["_rid", ...Object.entries(fields).filter(([, t]) => t === "geo").flatMap(([f]) => [`${f}_lat`, `${f}_lng`])]);
|
|
34
|
-
return Object.keys(fields).find((f) => taken.has(f));
|
|
35
|
-
}
|
|
36
|
-
/** The functions a Schema check may call, by their bare name: each takes one argument of a type SQLite and PostgreSQL both accept. */
|
|
37
|
-
export const CHECK_FUNCTIONS = new Map([
|
|
38
|
-
["lower", { takes: ["text"], returns: "text" }], ["upper", { takes: ["text"], returns: "text" }],
|
|
39
|
-
["length", { takes: ["text"], returns: "integer" }], ["abs", { takes: ["integer", "real"], returns: "argument" }],
|
|
40
|
-
]);
|
|
41
|
-
/**
|
|
42
|
-
* Why a Schema check cannot run in the table's DDL as written, or undefined. Storage prints a check unlowered into a trigger or
|
|
43
|
-
* CHECK constraint, so it names only `columns` (`storageColumns` of its own Schema, unqualified) through operators and
|
|
44
|
-
* `CHECK_FUNCTIONS`: no subquery, no cast, and nothing the runtime binds per request (`auth.uid()`, `now()`) or a dialect spells
|
|
45
|
-
* its own way. Operand types beyond the functions' arguments are the database's to check at boot.
|
|
46
|
-
*/
|
|
47
|
-
export function checkShapeProblem(v, columns) {
|
|
48
|
-
const columnOf = (ref) => {
|
|
49
|
-
const fields = ref?.fields;
|
|
50
|
-
const name = Array.isArray(fields) && fields.length === 1 ? fields[0]?.String?.sval : undefined;
|
|
51
|
-
return typeof name === "string" && columns.has(name) ? name : undefined;
|
|
52
|
-
};
|
|
53
|
-
// as written: storage prints the call unlowered, so `pg_catalog.lower` is not `lower` to SQLite
|
|
54
|
-
const fname = (call) => Array.isArray(call?.funcname) ? call.funcname.map((x) => x?.String?.sval).join(".") : "";
|
|
55
|
-
const typeOf = (n) => {
|
|
56
|
-
if (n?.ColumnRef)
|
|
57
|
-
return columns.get(columnOf(n.ColumnRef) ?? "");
|
|
58
|
-
if (n?.FuncCall) {
|
|
59
|
-
const f = CHECK_FUNCTIONS.get(fname(n.FuncCall));
|
|
60
|
-
return f?.returns === "argument" ? typeOf(n.FuncCall.args?.[0]) : f?.returns;
|
|
61
|
-
}
|
|
62
|
-
if (n?.A_Const)
|
|
63
|
-
return n.A_Const.sval ? "text" : n.A_Const.ival ? "integer" : n.A_Const.fval ? "real" : undefined;
|
|
64
|
-
return undefined;
|
|
65
|
-
};
|
|
66
|
-
const walk = (v) => {
|
|
67
|
-
if (!v || typeof v !== "object")
|
|
68
|
-
return undefined;
|
|
69
|
-
for (const [k, c] of Object.entries(v)) {
|
|
70
|
-
if (k === "SubLink")
|
|
71
|
-
return "a check reads only the row's own columns: no subquery";
|
|
72
|
-
if (k === "TypeCast" || k === "SQLValueFunction")
|
|
73
|
-
return "a check reads only the row's own columns: no cast or SQL value function";
|
|
74
|
-
if (k === "ColumnRef" && !columnOf(c))
|
|
75
|
-
return `a check names only its own Schema's columns, unqualified: ${JSON.stringify((c?.fields ?? []).map((x) => x?.String?.sval ?? "*").join("."))} is not one`;
|
|
76
|
-
if (k === "FuncCall") {
|
|
77
|
-
const name = fname(c);
|
|
78
|
-
const takes = CHECK_FUNCTIONS.get(name)?.takes;
|
|
79
|
-
if (!takes)
|
|
80
|
-
return `a check may call only ${[...CHECK_FUNCTIONS.keys()].join(", ")}: ${name || "this call"}() is printed into the table's DDL as written`;
|
|
81
|
-
if (c.agg_star || c.agg_distinct || c.agg_filter || c.agg_order || c.over || !Array.isArray(c.args) || c.args.length !== 1)
|
|
82
|
-
return `${name}() in a check takes one argument, with no DISTINCT, *, FILTER, ORDER BY or OVER`;
|
|
83
|
-
const t = typeOf(c.args[0]);
|
|
84
|
-
if (!t || !takes.includes(t))
|
|
85
|
-
return `${name}() in a check takes a ${takes.join(" or ")} column, constant or call`;
|
|
86
|
-
}
|
|
87
|
-
const inner = walk(c);
|
|
88
|
-
if (inner)
|
|
89
|
-
return inner;
|
|
90
|
-
}
|
|
91
|
-
return undefined;
|
|
92
|
-
};
|
|
93
|
-
return walk(v);
|
|
94
|
-
}
|
|
95
|
-
//# sourceMappingURL=SqlIr.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SqlIr.js","sourceRoot":"","sources":["../../../../src/spec/domain/model/SqlIr.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `domain/model/` — pure types describing the manifest grammar +
|
|
3
|
-
* entry concepts + site config + locale shape. No
|
|
4
|
-
* behavior. No external imports beyond the spec's own kernel.
|
|
5
|
-
*/
|
|
6
|
-
export * from "./ManifestGrammar.js";
|
|
7
|
-
export * from "./Entry.js";
|
|
8
|
-
export * from "./ContentState.js";
|
|
9
|
-
export * from "./SiteConfig.js";
|
|
10
|
-
export * from "./MediaMimeAccept.js";
|
|
11
|
-
export * from "./Locale.js";
|
|
12
|
-
export * from "./SqlIr.js";
|
|
13
|
-
export * from "./RuntimePlan.js";
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/model/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `domain/model/` — pure types describing the manifest grammar +
|
|
3
|
-
* entry concepts + site config + locale shape. No
|
|
4
|
-
* behavior. No external imports beyond the spec's own kernel.
|
|
5
|
-
*/
|
|
6
|
-
export * from "./ManifestGrammar.js";
|
|
7
|
-
export * from "./Entry.js";
|
|
8
|
-
export * from "./ContentState.js";
|
|
9
|
-
export * from "./SiteConfig.js";
|
|
10
|
-
export * from "./MediaMimeAccept.js";
|
|
11
|
-
export * from "./Locale.js";
|
|
12
|
-
export * from "./SqlIr.js";
|
|
13
|
-
export * from "./RuntimePlan.js";
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/spec/domain/model/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,cAAc,sBAAsB,CAAC;AACrC,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CloudflareCron.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/CloudflareCron.ts"],"names":[],"mappings":"AAWA,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAuCrD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CloudflareCron.js","sourceRoot":"","sources":["../../../../src/spec/domain/service/CloudflareCron.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { SchemaManifest } from "../model/ManifestGrammar.js";
|
|
2
|
-
import { type ManifestFilePaths } from "./ManifestPathDiagnoser.js";
|
|
3
|
-
import { type Diagnostic, type Phase } from "../../kernel/diagnostic.js";
|
|
4
|
-
/**
|
|
5
|
-
* Cross-Schema checks for the locale + translates grammar additions
|
|
6
|
-
* introduced in ADR-0010. Runs in both the validate phase (CLI,
|
|
7
|
-
* pre-deploy) and the boot phase (Worker init, post-deploy). The
|
|
8
|
-
* static parts (parent existence, join-field membership in both
|
|
9
|
-
* Schemas, translates-implies-localized) don't need any environment.
|
|
10
|
-
* The site-locales check needs the runtime config, so it runs only
|
|
11
|
-
* when `siteLocales` is provided.
|
|
12
|
-
*
|
|
13
|
-
* Caller passes the phase tag so diagnostics surface as
|
|
14
|
-
* `validate/<code>` or `boot/<code>` per ADR-0008.
|
|
15
|
-
*/
|
|
16
|
-
export interface CrossSchemaCheckInput {
|
|
17
|
-
readonly schemas: ReadonlyArray<SchemaManifest>;
|
|
18
|
-
readonly phase: Extract<Phase, "validate" | "boot">;
|
|
19
|
-
/** Site config locales (ordered, first is canonical). When absent,
|
|
20
|
-
* the SCHEMA_LOCALIZED_REQUIRES_SITE_LOCALES check is skipped —
|
|
21
|
-
* validate-from-CLI flows can't reach the runtime DB to read this.
|
|
22
|
-
* Boot always has access and should pass it. */
|
|
23
|
-
readonly siteLocales?: ReadonlyArray<string>;
|
|
24
|
-
/** Optional file-path index for nicer diagnostic paths in the
|
|
25
|
-
* validate phase. See {@link ManifestFilePaths}. */
|
|
26
|
-
readonly filePaths?: ManifestFilePaths;
|
|
27
|
-
}
|
|
28
|
-
/** Compatibility composition; production stages call their single owned check. */
|
|
29
|
-
export declare function checkLocaleAndTranslates(input: CrossSchemaCheckInput): Diagnostic[];
|
|
30
|
-
/** Deployment-dependent locale availability; parse/link never call this. */
|
|
31
|
-
export declare function checkSiteLocales(input: CrossSchemaCheckInput): Diagnostic[];
|
|
32
|
-
/** Cross-Schema translation references. Atom-local translation shape lives in the parser. */
|
|
33
|
-
export declare function checkTranslatesReferences(schemas: readonly SchemaManifest[], phase: Extract<Phase, "validate" | "boot">, filePaths?: ManifestFilePaths): Diagnostic[];
|
|
34
|
-
//# sourceMappingURL=CrossSchemaChecker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CrossSchemaChecker.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/CrossSchemaChecker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAGL,KAAK,UAAU,EACf,KAAK,KAAK,EACX,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IAChD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;IACpD;;;qDAGiD;IACjD,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7C;yDACqD;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;CACxC;AAED,kFAAkF;AAClF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU,EAAE,CAKnF;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,UAAU,EAAE,CA6C3E;AAED,6FAA6F;AAC7F,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,SAAS,cAAc,EAAE,EAClC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,EAC1C,SAAS,CAAC,EAAE,iBAAiB,GAC5B,UAAU,EAAE,CA8Dd"}
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { bestMatch, manifestPath, } from "./ManifestPathDiagnoser.js";
|
|
2
|
-
import { canonicalizeLocaleList } from "./LocaleCanonicalizer.js";
|
|
3
|
-
import { bootDiagnostic, validateDiagnostic, } from "../../kernel/diagnostic.js";
|
|
4
|
-
/** Compatibility composition; production stages call their single owned check. */
|
|
5
|
-
export function checkLocaleAndTranslates(input) {
|
|
6
|
-
return [
|
|
7
|
-
...checkSiteLocales(input),
|
|
8
|
-
...checkTranslatesReferences(input.schemas, input.phase, input.filePaths),
|
|
9
|
-
];
|
|
10
|
-
}
|
|
11
|
-
/** Deployment-dependent locale availability; parse/link never call this. */
|
|
12
|
-
export function checkSiteLocales(input) {
|
|
13
|
-
const { schemas, phase, siteLocales, filePaths } = input;
|
|
14
|
-
const out = [];
|
|
15
|
-
const siteLocalesGiven = siteLocales !== undefined;
|
|
16
|
-
// Canonicalize the site locales the caller passed before any
|
|
17
|
-
// schema-vs-locales check uses them.
|
|
18
|
-
let validSiteLocalesCount = siteLocalesGiven ? siteLocales.length : 0;
|
|
19
|
-
if (siteLocalesGiven && siteLocales.length > 0) {
|
|
20
|
-
const { valid, invalid } = canonicalizeLocaleList(siteLocales);
|
|
21
|
-
validSiteLocalesCount = valid.length;
|
|
22
|
-
if (invalid.length > 0) {
|
|
23
|
-
out.push(emit(phase, {
|
|
24
|
-
code: "INVALID_LOCALE",
|
|
25
|
-
severity: "error",
|
|
26
|
-
path: "site_config/locales",
|
|
27
|
-
value: invalid,
|
|
28
|
-
expected: "Mantle v0.1 locale tags (e.g. 'en' or 'zh-TW', case-insensitive; script subtags are unsupported)",
|
|
29
|
-
message: `site_config.locales contains invalid entries: ${invalid.map((s) => `'${s}'`).join(", ")}. Use language plus optional 2-letter region (for example 'zh-TW', not 'zh-Hant') and fix via the Settings page or DB directly.`,
|
|
30
|
-
}));
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
const siteLocalesEmpty = siteLocalesGiven && validSiteLocalesCount === 0;
|
|
34
|
-
for (const s of schemas) {
|
|
35
|
-
const path = (jsonPointer) => manifestPath("Schema", s.metadata.name, jsonPointer, filePaths);
|
|
36
|
-
if (s.spec.localized === true && siteLocalesGiven && siteLocalesEmpty) {
|
|
37
|
-
out.push(emit(phase, {
|
|
38
|
-
code: "SCHEMA_LOCALIZED_REQUIRES_SITE_LOCALES",
|
|
39
|
-
severity: "error",
|
|
40
|
-
path: path("/spec/localized"),
|
|
41
|
-
value: true,
|
|
42
|
-
expected: "site_config.locales to declare at least one BCP 47 locale before any Schema can be localized",
|
|
43
|
-
message: `Schema '${s.metadata.name}' is localized but the site has no locales configured. Set site_config.locales (e.g. ['en'] or ['zh-TW']) or remove localized: true.`,
|
|
44
|
-
}));
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return out;
|
|
48
|
-
}
|
|
49
|
-
/** Cross-Schema translation references. Atom-local translation shape lives in the parser. */
|
|
50
|
-
export function checkTranslatesReferences(schemas, phase, filePaths) {
|
|
51
|
-
const out = [];
|
|
52
|
-
const schemasByName = new Map(schemas.map((schema) => [schema.metadata.name, schema]));
|
|
53
|
-
for (const s of schemas) {
|
|
54
|
-
const translates = s.spec.translates;
|
|
55
|
-
if (!translates)
|
|
56
|
-
continue;
|
|
57
|
-
const path = (jsonPointer) => manifestPath("Schema", s.metadata.name, jsonPointer, filePaths);
|
|
58
|
-
const parent = schemasByName.get(translates.parent);
|
|
59
|
-
if (!parent) {
|
|
60
|
-
out.push(emit(phase, {
|
|
61
|
-
code: "TRANSLATES_PARENT_UNKNOWN",
|
|
62
|
-
severity: "error",
|
|
63
|
-
path: path("/spec/translates/parent"),
|
|
64
|
-
value: translates.parent,
|
|
65
|
-
expected: "name of a declared Schema",
|
|
66
|
-
candidates: [...schemasByName.keys()],
|
|
67
|
-
suggestion: bestMatch(translates.parent, [...schemasByName.keys()]),
|
|
68
|
-
message: `Schema '${s.metadata.name}' translates.parent references unknown Schema '${translates.parent}'.`,
|
|
69
|
-
}));
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
if (s.spec.ttl || parent.spec.ttl) {
|
|
73
|
-
out.push(emit(phase, {
|
|
74
|
-
code: "SCHEMA_TTL_TRANSLATION_UNSUPPORTED",
|
|
75
|
-
severity: "error",
|
|
76
|
-
path: path("/spec/translates"),
|
|
77
|
-
message: `Schema '${s.metadata.name}' cannot translate TTL Schema '${parent.metadata.name}' or declare TTL itself; joined translations cannot guarantee expiry across both Schemas.`,
|
|
78
|
-
expected: "TTL only on Schemas outside a translation relationship",
|
|
79
|
-
}));
|
|
80
|
-
}
|
|
81
|
-
if (parent.spec.localized === true) {
|
|
82
|
-
out.push(emit(phase, {
|
|
83
|
-
code: "TRANSLATES_PARENT_IS_LOCALIZED",
|
|
84
|
-
severity: "error",
|
|
85
|
-
path: path("/spec/translates/parent"),
|
|
86
|
-
value: translates.parent,
|
|
87
|
-
expected: "parent Schema must NOT be localized (it carries the non-translatable facts; translation rows are this Schema)",
|
|
88
|
-
message: `Schema '${s.metadata.name}' translates.parent '${translates.parent}' is itself localized. The parent should hold non-translatable facts (e.g. sku, price); the localized child holds the translatable fields.`,
|
|
89
|
-
}));
|
|
90
|
-
}
|
|
91
|
-
const parentProps = propertyKeys(parent);
|
|
92
|
-
if (!parentProps.has(translates.on)) {
|
|
93
|
-
out.push(emit(phase, {
|
|
94
|
-
code: "TRANSLATES_FIELD_NOT_IN_PARENT",
|
|
95
|
-
severity: "error",
|
|
96
|
-
path: path("/spec/translates/on"),
|
|
97
|
-
value: translates.on,
|
|
98
|
-
expected: `field declared in Schema '${parent.metadata.name}' spec.schema.properties`,
|
|
99
|
-
candidates: [...parentProps].sort(),
|
|
100
|
-
suggestion: bestMatch(translates.on, [...parentProps]),
|
|
101
|
-
message: `Schema '${s.metadata.name}' translates.on field '${translates.on}' is not declared on parent Schema '${parent.metadata.name}'.`,
|
|
102
|
-
}));
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return out;
|
|
106
|
-
}
|
|
107
|
-
function emit(phase, payload) {
|
|
108
|
-
return phase === "validate" ? validateDiagnostic(payload) : bootDiagnostic(payload);
|
|
109
|
-
}
|
|
110
|
-
function propertyKeys(s) {
|
|
111
|
-
const props = s.spec.schema.properties ?? {};
|
|
112
|
-
return new Set(Object.keys(props));
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=CrossSchemaChecker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CrossSchemaChecker.js","sourceRoot":"","sources":["../../../../src/spec/domain/service/CrossSchemaChecker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { type Diagnostic } from "../../kernel/diagnostic.js";
|
|
2
|
-
import type { SchemaManifest } from "../model/ManifestGrammar.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 declare class EntryDataValidator {
|
|
31
|
-
private readonly compiled;
|
|
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: SchemaManifest, data: unknown, opts?: {
|
|
44
|
-
partial?: boolean;
|
|
45
|
-
}): readonly Diagnostic[];
|
|
46
|
-
/**
|
|
47
|
-
* Test-only escape hatch: peek at whether a given Schema has been
|
|
48
|
-
* compiled yet. The cache is otherwise an internal implementation
|
|
49
|
-
* detail. Not part of the package's public API surface.
|
|
50
|
-
*
|
|
51
|
-
* @internal
|
|
52
|
-
*/
|
|
53
|
-
hasCompiled(name: string): boolean;
|
|
54
|
-
private compileFor;
|
|
55
|
-
}
|
|
56
|
-
//# sourceMappingURL=EntryDataValidator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EntryDataValidator.d.ts","sourceRoot":"","sources":["../../../../src/spec/domain/service/EntryDataValidator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAE5D;;;;;;;;;;OAUG;IACH,QAAQ,CACN,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,OAAO,EACb,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3B,SAAS,UAAU,EAAE;IAcxB;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,OAAO,CAAC,UAAU;CAUnB"}
|