@aotter/mantle 0.2.0-alpha.5 → 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 +28 -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 -103
- 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 -183
- 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 +20 -0
- package/docs/handbook/guides/admin-ui.md +5 -163
- 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 -30
- 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 -78
- package/docs/handbook/reference/features.md +45 -53
- package/docs/handbook/reference/manifest.md +6 -69
- package/docs/handbook/reference/procedure.md +9 -117
- package/docs/handbook/reference/schema.md +65 -172
- package/docs/handbook/reference/site-config.md +5 -65
- package/docs/handbook/reference/surface.md +279 -93
- package/docs/handbook/reference/trigger.md +24 -93
- package/docs/handbook/reference/view.md +32 -158
- package/docs/handbook/releases/index.md +124 -15
- package/docs/handbook/start/overview.md +9 -56
- package/docs/handbook/start/project-and-cli.md +40 -141
- package/docs/handbook/start/quickstart-worker.md +38 -116
- package/docs/skills/develop/SKILL.md +34 -117
- 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 -88
- package/docs/skills/update/SKILL.md +19 -40
- package/docs/source/scripts/postgres-adapter.ts +101 -0
- package/docs/upgrade-0.1-to-0.2.md +26 -10
- package/package.json +97 -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 -22
- package/dist/admin/createAdminSurface.d.ts.map +0 -1
- package/dist/admin/createAdminSurface.js +0 -592
- 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/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 -6
- package/dist/admin/index.d.ts.map +0 -1
- package/dist/admin/index.js +0 -6
- 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 -4566
- package/dist/auth/buildAuth.d.ts.map +0 -1
- package/dist/auth/buildAuth.js +0 -311
- package/dist/auth/buildAuth.js.map +0 -1
- package/dist/auth/callerResolver.d.ts +0 -48
- package/dist/auth/callerResolver.d.ts.map +0 -1
- package/dist/auth/callerResolver.js +0 -49
- 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 -503
- package/dist/auth/createMantleAuth.js.map +0 -1
- package/dist/auth/db.d.ts +0 -17
- package/dist/auth/db.d.ts.map +0 -1
- package/dist/auth/db.js +0 -24
- 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 -65
- package/dist/bun/index.d.ts.map +0 -1
- package/dist/bun/index.js +0 -130
- 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 -353
- package/dist/cli/preset.js.map +0 -1
- package/dist/cloudflare/index.d.ts +0 -21
- package/dist/cloudflare/index.d.ts.map +0 -1
- package/dist/cloudflare/index.js +0 -14
- 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 -41
- 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 -17
- 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/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 -65
- package/dist/core/sql/allowlist.d.ts.map +0 -1
- package/dist/core/sql/allowlist.js +0 -705
- 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 -121
- package/dist/core/sql/policy.d.ts.map +0 -1
- package/dist/core/sql/policy.js +0 -379
- 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 -76
- package/dist/core/sql/run.d.ts.map +0 -1
- package/dist/core/sql/run.js +0 -267
- 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 -13
- package/dist/d1/executor.d.ts.map +0 -1
- package/dist/d1/executor.js +0 -91
- 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 -20
- package/dist/postgres/adapter.d.ts.map +0 -1
- package/dist/postgres/adapter.js +0 -44
- 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 -92
- package/dist/postgres/driver.d.ts.map +0 -1
- package/dist/postgres/driver.js +0 -110
- package/dist/postgres/driver.js.map +0 -1
- package/dist/postgres/executor.d.ts +0 -20
- package/dist/postgres/executor.d.ts.map +0 -1
- package/dist/postgres/executor.js +0 -69
- package/dist/postgres/executor.js.map +0 -1
- package/dist/postgres/index.d.ts +0 -7
- package/dist/postgres/index.d.ts.map +0 -1
- package/dist/postgres/index.js +0 -7
- 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 -157
- 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 -121
- package/dist/postgres/print.js.map +0 -1
- package/dist/postgres/storage.d.ts +0 -19
- package/dist/postgres/storage.d.ts.map +0 -1
- package/dist/postgres/storage.js +0 -201
- package/dist/postgres/storage.js.map +0 -1
- package/dist/postgres/textRows.d.ts +0 -10
- package/dist/postgres/textRows.d.ts.map +0 -1
- package/dist/postgres/textRows.js +0 -44
- package/dist/postgres/textRows.js.map +0 -1
- package/dist/postgres/validator.d.ts +0 -12
- package/dist/postgres/validator.d.ts.map +0 -1
- package/dist/postgres/validator.js +0 -46
- 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 -149
- 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 -42
- package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts.map +0 -1
- package/dist/spec/domain/service/SchemaAdminUiChecker.js +0 -289
- 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 -53
- 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 -282
- 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 -296
- 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 -12
- package/dist/testing/cases/corpus.d.ts.map +0 -1
- package/dist/testing/cases/corpus.js +0 -91
- package/dist/testing/cases/corpus.js.map +0 -1
- package/dist/testing/cases/policy.d.ts +0 -74
- package/dist/testing/cases/policy.d.ts.map +0 -1
- package/dist/testing/cases/policy.js +0 -142
- 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 -32
- 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 -33
- 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 -124
- package/docs/adr/0038-bun-native-host.md +0 -63
- package/docs/adr/README.md +0 -96
- 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 -481
- 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,338 +0,0 @@
|
|
|
1
|
-
# ADR-0008: Structured diagnostic shape for AI-parseable errors
|
|
2
|
-
|
|
3
|
-
**Status:** Carried over from POC v0.0.x; amended for the shipped v0.1
|
|
4
|
-
diagnostic emitters and measured harnesses.
|
|
5
|
-
|
|
6
|
-
**Date:** 2026-04-30 (POC); last amended 2026-08-31.
|
|
7
|
-
|
|
8
|
-
**Deciders**: phsu
|
|
9
|
-
|
|
10
|
-
**Related**: [ADR-0007](0007-ai-as-primary-author.md) (the AI-as-primary-author contract this diagnostic format serves); the zod runtime is described in [`docs/design-atoms.md`](https://github.com/aotter/mantle/blob/main/docs/design-atoms.md) § "Manifest validation — JSON Schema in, zod at runtime".
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Context
|
|
15
|
-
|
|
16
|
-
ADR-0007 commits the SDK to three pre-serve feedback loops (static
|
|
17
|
-
validation, local tests/measurements, and boot-time fail-fast) before the
|
|
18
|
-
runtime layer. Authoring/runtime failures need one stable record shape; the
|
|
19
|
-
measured index and HTTP harnesses use their own purpose-shaped JSON reports.
|
|
20
|
-
If each failure emitter used an ad-hoc shape, the consumer agent reading those
|
|
21
|
-
errors would need multiple parsers — defeating the
|
|
22
|
-
"deterministic feedback" property that justified the contract in
|
|
23
|
-
the first place.
|
|
24
|
-
|
|
25
|
-
An earlier runtime error vocabulary (`INPUT_VALIDATION_FAILED`,
|
|
26
|
-
`AUTH_DENIED`, `HANDLER_NOT_REGISTERED`, `DISPATCHER_NOT_BUILT`,
|
|
27
|
-
`INTERNAL_ERROR`) was HTTP-shaped: a short code + a status + a
|
|
28
|
-
free-form message. That is under-specified for the new loops:
|
|
29
|
-
|
|
30
|
-
- A static-validation error needs to point to **a file path and
|
|
31
|
-
manifest pointer**, not an HTTP status.
|
|
32
|
-
- A "you used an unknown Schema name" error needs to carry the
|
|
33
|
-
**list of known Schemas** and a **best-guess suggestion**, so
|
|
34
|
-
the AI author can fix without doing its own grep.
|
|
35
|
-
- A boot error needs to declare **what was checked and what was
|
|
36
|
-
missing**, so the deploy log is self-explanatory.
|
|
37
|
-
- Validation, boot, runtime, and consumer-authored test diagnostics should
|
|
38
|
-
agree on **severity** (error vs warning) so integrations do not need
|
|
39
|
-
per-phase logic.
|
|
40
|
-
|
|
41
|
-
A free-form message field carries all of this in prose, but
|
|
42
|
-
forces the AI author to do natural-language parsing on every
|
|
43
|
-
diagnostic before it can route a fix. Structure is cheaper.
|
|
44
|
-
|
|
45
|
-
## Decision
|
|
46
|
-
|
|
47
|
-
Core validation, boot, and runtime emit diagnostics in the following shape.
|
|
48
|
-
The public `test` phase is reserved for consumer test diagnostics; the shipped
|
|
49
|
-
`mantle-harness` commands emit `IndexCoverageReport` and `HttpBenchmarkReport`
|
|
50
|
-
instead. The canonical type, diagnostic-code constants, and shipped phase
|
|
51
|
-
helpers live in `@aotter/mantle-spec`; every other package imports from there.
|
|
52
|
-
|
|
53
|
-
```ts
|
|
54
|
-
type Phase = "validate" | "test" | "boot" | "runtime";
|
|
55
|
-
|
|
56
|
-
interface Diagnostic {
|
|
57
|
-
/** Stable machine code. UPPER_SNAKE, no prefix. */
|
|
58
|
-
code: string;
|
|
59
|
-
/** Which feedback loop emitted this diagnostic. */
|
|
60
|
-
phase: Phase;
|
|
61
|
-
/** "error" blocks the loop's exit-zero / serve-loop / etc.
|
|
62
|
-
* "warning" surfaces but does not block. */
|
|
63
|
-
severity: "error" | "warning";
|
|
64
|
-
/** Filesystem path or manifest pointer (JSON Pointer style)
|
|
65
|
-
* identifying where the issue is. */
|
|
66
|
-
path: string;
|
|
67
|
-
/** What the validator/dispatcher saw. */
|
|
68
|
-
value?: unknown;
|
|
69
|
-
/** One-line description of what was expected. */
|
|
70
|
-
expected?: string;
|
|
71
|
-
/** Valid alternatives, when the expected set is enumerable. */
|
|
72
|
-
candidates?: string[];
|
|
73
|
-
/** Best-guess fix string, when one is high-confidence. */
|
|
74
|
-
suggestion?: string;
|
|
75
|
-
/** Human-readable fallback prose. AI authors should prefer
|
|
76
|
-
* the structured fields; humans reading TTY output read this. */
|
|
77
|
-
message: string;
|
|
78
|
-
}
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
### Code naming convention
|
|
82
|
-
|
|
83
|
-
Codes are **UPPER_SNAKE, unprefixed**. The `phase` field
|
|
84
|
-
disambiguates which feedback loop emitted the diagnostic.
|
|
85
|
-
|
|
86
|
-
When the same root cause surfaces in multiple loops, the same
|
|
87
|
-
`code` is reused with a different `phase`. AI consumers can
|
|
88
|
-
group by `code` (root-cause grouping across loops) or filter
|
|
89
|
-
by `phase` (this-loop-only handling). Concrete examples:
|
|
90
|
-
|
|
91
|
-
| code | phases | example contexts |
|
|
92
|
-
|---|---|---|
|
|
93
|
-
| `HANDLER_NOT_REGISTERED` | `validate`, `boot`, `runtime` | textual grep miss (warning, validate); registry lookup miss (error, boot); dispatch attempt miss (error, runtime, defense-in-depth) |
|
|
94
|
-
| `TRIGGER_TARGET_PROCEDURE_UNKNOWN` | `validate`, `boot` | dangling reference caught by either loop |
|
|
95
|
-
| `TRIGGER_PATH_COLLISION` | `validate`, `boot` | two http Triggers on same method+path |
|
|
96
|
-
| `NOT_FOUND` | `runtime` (`test` reserved) | unknown name in queryView / GET /api/views/X |
|
|
97
|
-
| `INPUT_VALIDATION_FAILED` | `runtime` (`test` reserved) | zod validation failure at the serving boundary |
|
|
98
|
-
|
|
99
|
-
Codes that are phase-exclusive simply never appear with another phase.
|
|
100
|
-
`INVALID_MANIFEST_ENVELOPE` is validate-only. The catalog reserves
|
|
101
|
-
`FIXTURE_SCHEMA_VIOLATION` for consumer-authored `phase: "test"` diagnostics;
|
|
102
|
-
Core does not currently emit it.
|
|
103
|
-
|
|
104
|
-
### Why no prefixes
|
|
105
|
-
|
|
106
|
-
Earlier drafts of this ADR proposed per-loop prefixes on the
|
|
107
|
-
code string. That was retired because:
|
|
108
|
-
|
|
109
|
-
- **It bakes provenance into the symbol** when a structured
|
|
110
|
-
field already carries it cleaner. `phase` is the right place;
|
|
111
|
-
prefix in the code string is redundant.
|
|
112
|
-
- **It forces three different codes for the same root cause**
|
|
113
|
-
(one per loop), fragmenting consumer error handling. A
|
|
114
|
-
consumer that wants "treat any 'handler not registered' issue
|
|
115
|
-
uniformly" had to parse the prefix off the symbol — defeating
|
|
116
|
-
the parseability argument that justified structure in the
|
|
117
|
-
first place.
|
|
118
|
-
- **It's not a standard convention** — closest cousins are
|
|
119
|
-
PHP's `E_*` legacy constants and PostgreSQL SQLSTATE class
|
|
120
|
-
prefixes; both are artefacts of language eras when structured
|
|
121
|
-
records weren't ergonomic. Modern systems (gRPC, OAuth 2.0
|
|
122
|
-
RFC 6749, Stripe API, AWS) use plain UPPER_SNAKE or
|
|
123
|
-
lower_snake without prefixes and identify source through
|
|
124
|
-
separate fields.
|
|
125
|
-
|
|
126
|
-
### `path` format
|
|
127
|
-
|
|
128
|
-
- For static validation: filesystem path + JSON Pointer fragment,
|
|
129
|
-
e.g. `manifests/site.yaml#/3/spec/from`.
|
|
130
|
-
- For a consumer test diagnostic: test file path + assertion location when
|
|
131
|
-
available, e.g. `tests/handlers/contact.test.ts:42`.
|
|
132
|
-
- For boot-time: manifest pointer (no on-disk path because boot
|
|
133
|
-
reads parsed manifests, not files), e.g.
|
|
134
|
-
`manifest:View/recent-published#/spec/from`.
|
|
135
|
-
- For runtime: HTTP request path + JSON Pointer into request
|
|
136
|
-
body, e.g. `POST /api/contact#/body/email`.
|
|
137
|
-
|
|
138
|
-
The convention is "the most specific locator the loop has access
|
|
139
|
-
to." All four are strings; AI parsers can dispatch on prefix
|
|
140
|
-
(`/`, `manifest:`, HTTP method, test runner format).
|
|
141
|
-
|
|
142
|
-
### `candidates` — when to populate
|
|
143
|
-
|
|
144
|
-
Populate when the expected set is **finite and known at
|
|
145
|
-
diagnostic time**:
|
|
146
|
-
- `VIEW_FROM_UNKNOWN_SCHEMA` → list all declared Schemas
|
|
147
|
-
- `BIND_VALUE_NOT_IN_ENUM` → list `["ctx.user", "ctx.staff", "now"]`
|
|
148
|
-
- `HANDLER_NOT_REGISTERED` (`phase: boot`) → list registered ref names
|
|
149
|
-
- `AUTH_DENIED` (`phase: runtime`) → **do not populate**
|
|
150
|
-
(security: don't tell the caller which roles would have worked)
|
|
151
|
-
|
|
152
|
-
Omit when the expected set is open (e.g. "any non-empty string"
|
|
153
|
-
for `metadata.name`).
|
|
154
|
-
|
|
155
|
-
### `suggestion` — when to populate
|
|
156
|
-
|
|
157
|
-
Populate when one candidate is high-confidence (e.g. typo via
|
|
158
|
-
edit-distance ≤ 2 on a short identifier). Otherwise omit.
|
|
159
|
-
Suggestions are advisory; the AI author should still verify
|
|
160
|
-
before applying.
|
|
161
|
-
|
|
162
|
-
### CLI output mode
|
|
163
|
-
|
|
164
|
-
- `--format=json` (default when stdout is **not** a TTY, e.g. CI,
|
|
165
|
-
AI-author): emits `{ phase, diagnostics, errorCount, warningCount }` on
|
|
166
|
-
stdout; exit code 1 if any diagnostic has `severity: "error"`, else 0.
|
|
167
|
-
- `--format=text` (default when stdout **is** a TTY, i.e. human
|
|
168
|
-
at terminal): prints severity, code, path, structured details, prose message,
|
|
169
|
-
and suggestion when present.
|
|
170
|
-
|
|
171
|
-
The same diagnostic objects power both modes; text mode is a
|
|
172
|
-
formatter, not a separate code path. AI authors invoking the CLI
|
|
173
|
-
get JSON automatically because they pipe through subprocess; no
|
|
174
|
-
flag needed.
|
|
175
|
-
|
|
176
|
-
### Consumer test diagnostic surface
|
|
177
|
-
|
|
178
|
-
Runtime use cases return result objects carrying runtime-phase diagnostics, so
|
|
179
|
-
consumer tests can assert stable `diagnostic.code` values without matching
|
|
180
|
-
exception prose. A consumer that emits its own fixture/setup diagnostic may use
|
|
181
|
-
`makeDiagnostic({ phase: "test", ... })`. Core currently exports no
|
|
182
|
-
`testDiagnostic` helper and its measured planner/HTTP harnesses return their
|
|
183
|
-
purpose-shaped reports instead of `Diagnostic` objects.
|
|
184
|
-
|
|
185
|
-
### Runtime diagnostic surface
|
|
186
|
-
|
|
187
|
-
Runtime HTTP responses on error paths wrap the same redacted object as
|
|
188
|
-
`{ ok: false, diagnostic }`, plus the HTTP status from the shared error-code
|
|
189
|
-
table. The `path` carries the most specific request/use-case locator available.
|
|
190
|
-
The `candidates` field is **always omitted** at wire egress to avoid leaking
|
|
191
|
-
schema information to untrusted callers.
|
|
192
|
-
|
|
193
|
-
```http
|
|
194
|
-
HTTP/1.1 400 Bad Request
|
|
195
|
-
Content-Type: application/json
|
|
196
|
-
|
|
197
|
-
{
|
|
198
|
-
"ok": false,
|
|
199
|
-
"diagnostic": {
|
|
200
|
-
"code": "INPUT_VALIDATION_FAILED",
|
|
201
|
-
"phase": "runtime",
|
|
202
|
-
"severity": "error",
|
|
203
|
-
"path": "POST /api/contact#/body/email",
|
|
204
|
-
"message": "Field 'email' must be a valid email address."
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
### Validator translation (zod, not Ajv)
|
|
210
|
-
|
|
211
|
-
The POC originally translated Ajv `ErrorObject[]` into
|
|
212
|
-
`Diagnostic[]` for `INPUT_VALIDATION_FAILED`. Late in the POC
|
|
213
|
-
(PR #81) the runtime validator was swapped to **zod** so the
|
|
214
|
-
admin SPA and CF Workers could share a CSP-safe path with no
|
|
215
|
-
`Function`-constructor codegen. The v0.1.0 rebuild inherits zod
|
|
216
|
-
from day 1 — manifest authoring stays JSON Schema, but the
|
|
217
|
-
runtime validator a manifest author's request body hits is a
|
|
218
|
-
zod schema, produced by Zod's official `z.fromJSONSchema` importer behind the
|
|
219
|
-
compatibility boundary in
|
|
220
|
-
`@aotter/mantle-spec` (see [`docs/design-atoms.md`](https://github.com/aotter/mantle/blob/main/docs/design-atoms.md) § "Manifest validation — JSON Schema in, zod at runtime").
|
|
221
|
-
Mantle validates its supported keyword/ref policy before import and emits
|
|
222
|
-
`JSON_SCHEMA_UNSUPPORTED`, `JSON_SCHEMA_REF_INVALID`, or
|
|
223
|
-
`JSON_SCHEMA_LIMIT_EXCEEDED`; Zod owns the accepted keywords' validation
|
|
224
|
-
semantics.
|
|
225
|
-
|
|
226
|
-
Concretely, runtime entry validation consumes `ZodError.issues`:
|
|
227
|
-
|
|
228
|
-
- `issue.path: PropertyKey[]` becomes an RFC 6901 JSON Pointer (`~` and `/`
|
|
229
|
-
escaped, numeric segments preserved);
|
|
230
|
-
- every issue stays in the stable `INPUT_VALIDATION_FAILED` family rather than
|
|
231
|
-
exposing zod's internal issue-code vocabulary;
|
|
232
|
-
- `issue.message` supplies fallback human prose. Call sites with known
|
|
233
|
-
trust-boundary context may additionally populate `value`, `expected`, or a
|
|
234
|
-
more specific message before wire redaction.
|
|
235
|
-
|
|
236
|
-
The same rule that retired Ajv's per-validator error format as a
|
|
237
|
-
Diagnostic candidate (alternative (d) below) applies to zod —
|
|
238
|
-
`ZodError` is internal plumbing, `Diagnostic` is the public surface.
|
|
239
|
-
|
|
240
|
-
## Consequences
|
|
241
|
-
|
|
242
|
-
### Pros
|
|
243
|
-
|
|
244
|
-
- One parser handles diagnostics from any phase. AI consumer code branches on
|
|
245
|
-
the exact `code` and optionally `phase`, without per-emitter adapters.
|
|
246
|
-
- `candidates` + `suggestion` make the most common author errors
|
|
247
|
-
(typo, unknown name, wrong enum value) one-step fixes — the AI
|
|
248
|
-
author reads the diagnostic and writes the corrected manifest
|
|
249
|
-
in the same turn, no grep or human prompting needed.
|
|
250
|
-
- `severity: warning` gives the validator a way to surface "this
|
|
251
|
-
is fishy but legal" without blocking — preserves the
|
|
252
|
-
permissive-validator discipline (see ADR-0007 risks).
|
|
253
|
-
- Same shape for HTTP responses keeps the runtime layer
|
|
254
|
-
consistent with the contract layers; consumers' app frontends
|
|
255
|
-
and AI authors see the same structure.
|
|
256
|
-
- Single source of truth. The interface, code constants, and
|
|
257
|
-
formatter all live in `@aotter/mantle-spec`; the runtime
|
|
258
|
-
package and adapters import them. A future adapter
|
|
259
|
-
inherits the shape for free.
|
|
260
|
-
|
|
261
|
-
### Costs
|
|
262
|
-
|
|
263
|
-
- Shape locked early: any field-shape change forces a doc revise and code
|
|
264
|
-
change across CLI, runtime, adapters, and consumer parsers.
|
|
265
|
-
- Implementing `candidates` and `suggestion` correctly requires
|
|
266
|
-
the validator/dispatcher to track richer context (the set of
|
|
267
|
-
declared Schema names, the registered ref list, etc.). More
|
|
268
|
-
bookkeeping, more code.
|
|
269
|
-
- Stable codes are a public surface. Renaming `VIEW_FROM_UNKNOWN_SCHEMA`
|
|
270
|
-
to a "better" name later is a breaking change for any
|
|
271
|
-
consumer-side error handling.
|
|
272
|
-
|
|
273
|
-
### Risks
|
|
274
|
-
|
|
275
|
-
- **Codes proliferate**. Without discipline, every assertion
|
|
276
|
-
becomes its own code (`NAME_TOO_LONG`, `NAME_TOO_SHORT`,
|
|
277
|
-
`NAME_HAS_UPPERCASE`...). Mitigation: codes are scoped by
|
|
278
|
-
failure mode, not by individual assertion. `INVALID_NAME`
|
|
279
|
-
with `expected: "kebab-case, 1-64 chars"` covers the family;
|
|
280
|
-
the `value` and `expected` fields carry the specifics.
|
|
281
|
-
- **`message` and structured fields drift**. Mitigation: `makeDiagnostic`
|
|
282
|
-
derives a default message from the structured fields. Explicit contextual
|
|
283
|
-
messages are allowed, but reviewers treat `code`, `phase`, `path`, `value`,
|
|
284
|
-
and `expected` as authoritative and reject contradictions.
|
|
285
|
-
- **`candidates` leaks information at runtime**. Already
|
|
286
|
-
addressed: runtime responses omit `candidates`. Code review
|
|
287
|
-
should treat any runtime path that populates `candidates` as a
|
|
288
|
-
bug.
|
|
289
|
-
|
|
290
|
-
## Alternatives considered
|
|
291
|
-
|
|
292
|
-
**(a) Free-form prose messages only**. Rejected: AI parsing
|
|
293
|
-
burden, and "did you mean?" suggestions become inline text the
|
|
294
|
-
AI must extract.
|
|
295
|
-
|
|
296
|
-
**(b) Just exit code + count of errors**. Rejected: gives the AI
|
|
297
|
-
no fixable information; turns every failure into a re-run-with-
|
|
298
|
-
verbose-flag escalation.
|
|
299
|
-
|
|
300
|
-
**(c) Reuse OpenAPI Problem+JSON (RFC 7807)**. Rejected: too
|
|
301
|
-
HTTP-flavored (the `type` URI, the `instance` URI), doesn't
|
|
302
|
-
carry path/candidates/suggestion structure cleanly. Adopting
|
|
303
|
-
Problem+JSON for the runtime layer specifically might be
|
|
304
|
-
considered later as an opt-in alternate output mode for
|
|
305
|
-
HTTP-strict consumers.
|
|
306
|
-
|
|
307
|
-
**(d) Surface validator-library error formats directly (Ajv
|
|
308
|
-
`ErrorObject`, zod `ZodError`)**. Rejected: those formats are
|
|
309
|
-
internal to the validator implementation, change between
|
|
310
|
-
library versions, and don't fit non-validation errors (handler
|
|
311
|
-
not registered, schema drift, etc.). The library's error
|
|
312
|
-
objects feed *into* the Diagnostic translator described under
|
|
313
|
-
"Validator translation"; they are never the public surface.
|
|
314
|
-
|
|
315
|
-
## How to apply
|
|
316
|
-
|
|
317
|
-
- New error codes: choose a suffix that names the failure
|
|
318
|
-
family, not the specific assertion. UPPER_SNAKE, no prefix.
|
|
319
|
-
Add the constant to `@aotter/mantle-spec`'s diagnostic
|
|
320
|
-
code module; do not redeclare per-package.
|
|
321
|
-
- When the same root cause can be caught by multiple loops,
|
|
322
|
-
reuse the code; let `phase` distinguish.
|
|
323
|
-
- Implementation: use `makeDiagnostic` or the shipped phase helpers
|
|
324
|
-
`validateDiagnostic`, `bootDiagnostic`, and `runtimeDiagnostic`, all exported
|
|
325
|
-
from `@aotter/mantle-spec`. Consumer test diagnostics call `makeDiagnostic`
|
|
326
|
-
with `phase: "test"` directly.
|
|
327
|
-
- Documentation: keep phase/applicability prose in this ADR and the
|
|
328
|
-
version-matched design/runtime references synchronized with the exported
|
|
329
|
-
catalog.
|
|
330
|
-
|
|
331
|
-
## Implementation status
|
|
332
|
-
|
|
333
|
-
Implemented. Canonical declarations live in
|
|
334
|
-
`packages/mantle-spec/src/kernel/diagnostic.ts`; runtime, Cloudflare adapter,
|
|
335
|
-
admin UI, and CLI import the public spec exports. `redactForWire` removes
|
|
336
|
-
`candidates` before REST/MCP egress. The `test` phase and
|
|
337
|
-
`FIXTURE_SCHEMA_VIOLATION` remain reserved compatibility surface; Core ships no
|
|
338
|
-
test-phase helper or emitter today.
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
# ADR-0009: Consumer-supplied manifests at SDK boot
|
|
2
|
-
|
|
3
|
-
**Status:** Superseded by ADR-0019.
|
|
4
|
-
|
|
5
|
-
**Date:** 2026-05-01 (POC); superseded 2026-08-16
|
|
6
|
-
|
|
7
|
-
**Related:** [ADR-0001](0001-four-atom-manifest-model.md),
|
|
8
|
-
[ADR-0007](0007-ai-as-primary-author.md),
|
|
9
|
-
[ADR-0018](0018-core-starters-repository-boundary.md),
|
|
10
|
-
[ADR-0019](0019-sealed-manifest-runtime-pipeline.md)
|
|
11
|
-
|
|
12
|
-
> **Supersession note:** consumer ownership remains durable, but the exact
|
|
13
|
-
> `site.yaml`, generated `site.ts`, and parser-free array workflow below is
|
|
14
|
-
> historical. The sealed source → parse → link → compile pipeline in ADR-0019
|
|
15
|
-
> is current; source names and generated code are optional caller concerns.
|
|
16
|
-
|
|
17
|
-
## Context
|
|
18
|
-
|
|
19
|
-
The four-atom model promises that domain shape is authored in the consumer's
|
|
20
|
-
project. Core therefore cannot ship a fixed manifest set: doing so would force
|
|
21
|
-
every new Schema, View, Procedure, or Trigger through an SDK fork/release.
|
|
22
|
-
|
|
23
|
-
The first v0.1 implementation imported YAML as Wrangler Text modules and parsed
|
|
24
|
-
it during Worker startup. That kept ownership correct but leaked authoring-only
|
|
25
|
-
YAML machinery into the runtime bundle and coupled consumers to Wrangler
|
|
26
|
-
`[[rules]]`. The public CLI now provides one build-time compilation boundary.
|
|
27
|
-
|
|
28
|
-
## Decision
|
|
29
|
-
|
|
30
|
-
Consumers own exactly `manifests/site.yaml`. The installed `mantle` CLI parses
|
|
31
|
-
and validates its multi-document YAML, then writes the machine-owned runtime
|
|
32
|
-
module and handler types. A missing or differently named file fails before
|
|
33
|
-
generation:
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
pnpm exec mantle generate
|
|
37
|
-
pnpm exec mantle generate --check
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
The outputs are:
|
|
41
|
-
|
|
42
|
-
- `.mantle/generated/site.ts` — a parser-free `readonly Manifest[]` export;
|
|
43
|
-
- `.mantle/generated/types.d.ts` — handler declarations derived from the same
|
|
44
|
-
validated manifest set.
|
|
45
|
-
|
|
46
|
-
The Worker imports the generated array rather than YAML text:
|
|
47
|
-
|
|
48
|
-
```ts
|
|
49
|
-
import { createMantleWorker } from "@aotter/mantle/cloudflare";
|
|
50
|
-
import { manifest } from "../.mantle/generated/site.js";
|
|
51
|
-
|
|
52
|
-
export default createMantleWorker({ manifest });
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
Low-level composition passes the same array as `CmsConfig.manifests`. Core and
|
|
56
|
-
adapters ship zero application manifests. The registry, boot validator, View
|
|
57
|
-
executor, HTTP/MCP mounts, and tool catalog are built only from the consumer's
|
|
58
|
-
generated array.
|
|
59
|
-
|
|
60
|
-
`mantle generate --check` must gate validation/deploy so authored YAML cannot
|
|
61
|
-
drift from checked-in generated output. Generation never edits YAML, handlers,
|
|
62
|
-
skills, package metadata, styles, or provider configuration.
|
|
63
|
-
|
|
64
|
-
### Adapter scope
|
|
65
|
-
|
|
66
|
-
Compilation is adapter-independent and uses Node at author/build time. The
|
|
67
|
-
Worker runtime receives plain typed objects, so Cloudflare needs no YAML Text
|
|
68
|
-
module rule and a future adapter needs no equivalent bundler hook.
|
|
69
|
-
|
|
70
|
-
### Single authority
|
|
71
|
-
|
|
72
|
-
YAML remains the authored source of truth. Generated TypeScript is a
|
|
73
|
-
deterministic transport artifact and must not be hand-edited. Parser
|
|
74
|
-
diagnostics point to the consumer manifest document/pointer before generation;
|
|
75
|
-
runtime boot validation covers cross-manifest and registered-handler facts.
|
|
76
|
-
|
|
77
|
-
## Worked example
|
|
78
|
-
|
|
79
|
-
The external [`aotter/mantle-starters`](https://github.com/aotter/mantle-starters)
|
|
80
|
-
repository owns the blank project and typed overlays. Materialized projects
|
|
81
|
-
carry their own `manifests/site.yaml`, generated module, handlers, and package scripts;
|
|
82
|
-
they consume the exact packed Core artifact rather than a workspace link.
|
|
83
|
-
|
|
84
|
-
## Consequences
|
|
85
|
-
|
|
86
|
-
### Benefits
|
|
87
|
-
|
|
88
|
-
- Consumers can compose all four atoms without forking or publishing Core.
|
|
89
|
-
- One CLI parse/validation path drives runtime objects and handler types.
|
|
90
|
-
- Worker bundles do not include the YAML parser or consumer YAML text imports.
|
|
91
|
-
- Every REST/MCP catalog automatically reflects the generated consumer set.
|
|
92
|
-
- Other adapters consume the same `readonly Manifest[]` with no filesystem or
|
|
93
|
-
bundler-specific manifest loader.
|
|
94
|
-
|
|
95
|
-
### Costs
|
|
96
|
-
|
|
97
|
-
- Projects keep deterministic generated files and must run `generate` after
|
|
98
|
-
editing YAML.
|
|
99
|
-
- CI/deploy must run `generate --check`; otherwise an old generated module can
|
|
100
|
-
outlive its source YAML.
|
|
101
|
-
- Merge conflicts in generated output are resolved by re-running the installed
|
|
102
|
-
command, never by editing the artifact.
|
|
103
|
-
|
|
104
|
-
### Risks and controls
|
|
105
|
-
|
|
106
|
-
- **Version skew:** always run the generator from the installed package and
|
|
107
|
-
read its embedded docs. Do not generate a versioned project from `develop`.
|
|
108
|
-
- **Hidden stale output:** keep `mantle generate --check` in the normal project
|
|
109
|
-
validation gate.
|
|
110
|
-
- **Runtime/parser divergence:** generated objects come from the same parser
|
|
111
|
-
used by `validate`; focused packed-package tests compare the consumer output.
|
|
112
|
-
- **Multi-tenancy pressure:** Core still sees one flat manifest set per Worker.
|
|
113
|
-
Tenant isolation remains an application concern; this ADR adds no namespace.
|
|
114
|
-
|
|
115
|
-
## Alternatives considered
|
|
116
|
-
|
|
117
|
-
**Runtime YAML Text imports.** Replaced. They require Wrangler-specific rules,
|
|
118
|
-
ambient YAML modules, and ship authoring-only parse machinery in the Worker.
|
|
119
|
-
|
|
120
|
-
**Runtime filesystem discovery.** Rejected. Workers have no runtime filesystem,
|
|
121
|
-
and hidden discovery would make inputs and diagnostics less deterministic.
|
|
122
|
-
|
|
123
|
-
**Application-specific manifest packages.** Rejected for the baseline. It adds
|
|
124
|
-
publish/version overhead to files that belong in one consumer repo.
|
|
125
|
-
|
|
126
|
-
**SDK-embedded manifests or override precedence.** Rejected. Core is
|
|
127
|
-
content-agnostic, so there is no default manifest set and no merge policy.
|
|
128
|
-
|
|
129
|
-
## How to apply
|
|
130
|
-
|
|
131
|
-
When a Core feature needs the manifest set, accept the parsed consumer-owned
|
|
132
|
-
array; never hardcode starter collection names or read consumer files at
|
|
133
|
-
runtime.
|
|
134
|
-
|
|
135
|
-
When authoring or reviewing a generated project:
|
|
136
|
-
|
|
137
|
-
1. Edit only `manifests/site.yaml`; do not create feature-named manifest files.
|
|
138
|
-
2. Run the installed `pnpm exec mantle generate`.
|
|
139
|
-
3. Import `manifest` from `.mantle/generated/site.js` into the conventional
|
|
140
|
-
Worker, or pass it as `CmsConfig.manifests` in low-level composition.
|
|
141
|
-
4. Run `pnpm exec mantle generate --check` in validation and before deploy.
|
|
142
|
-
5. Reject Wrangler YAML Text rules, runtime `parseManifests*` calls, or a second
|
|
143
|
-
manifest loader in a new generated project.
|
|
144
|
-
|
|
145
|
-
## Implementation status
|
|
146
|
-
|
|
147
|
-
Implemented by the umbrella `mantle generate` command and the conventional
|
|
148
|
-
Cloudflare Worker facade. Exact commands and output paths are documented in the
|
|
149
|
-
version-matched `@aotter/mantle` README and embedded Core skills.
|