@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,97 +1,279 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
1
|
+
# Generated surfaces
|
|
2
|
+
|
|
3
|
+
- The app mounts generated modules and passes `{ db, caller }`; `caller(request, env, { readOnly })`
|
|
4
|
+
is the app's own `resolveCaller(...)` call. There is no generated `service.ts`,
|
|
5
|
+
routing framework or Better Auth wrapper.
|
|
6
|
+
- REST retains public `GET /api/views/<name>` (and bodyless HEAD) with declared query input plus
|
|
7
|
+
`limit` and `cursor`, answering `{ rows, nextCursor? }`. HTTP Triggers retain
|
|
8
|
+
their own method/path; JSON bodies and path parameters form the Procedure
|
|
9
|
+
input and responses contain its result. Errors remain
|
|
10
|
+
`{ error: { code, message, path } }` with the 0.2 status. Cookie sessions cannot
|
|
11
|
+
mutate across origins.
|
|
12
|
+
- MCP retains public `POST /mcp`, admin `POST /mcp/admin`,
|
|
13
|
+
snake-cased View names on each declared surface, and snake-cased Procedure
|
|
14
|
+
names per MCP Trigger. Its SDK loads only through a request-time dynamic import.
|
|
15
|
+
- HTTP/MCP Triggers declare exposure only. `mantle generate` refuses schedule
|
|
16
|
+
and lifecycle Triggers; Cloud scheduling is a separate capability.
|
|
17
|
+
- Native Admin retains selected 0.2 paths and the console contracts; see
|
|
18
|
+
[Native Admin](../guides/native-admin.md) for app-mounted
|
|
19
|
+
`adminBindings()` and `entries(bindings.schemas, bindings.adapter)`.
|
|
20
|
+
|
|
21
|
+
Generated `rest.ts`, `mcp.ts`, `web.ts`, `paged/views/*` and `validation/*` hold
|
|
22
|
+
only the app's tables: routes, tools, pages, operation bindings, compiled input
|
|
23
|
+
checks and types. Request handling (matching, body and query decoding, dispatch,
|
|
24
|
+
challenges, JSON-RPC, web rendering, keyset paging) lives in the package's
|
|
25
|
+
`rest`, `mcp`, `web`, `paging` and `validation` kernel modules, so a runtime fix
|
|
26
|
+
ships as a package update instead of a regeneration.
|
|
27
|
+
|
|
28
|
+
The generated `validation/views/<name>.ts` and
|
|
29
|
+
`validation/procedures/<name>.ts` export `validate(unknown)`. View validators
|
|
30
|
+
also export `query(URLSearchParams)` returning `{ input, limit?, cursor? }`.
|
|
31
|
+
REST and MCP use the same generated checks, with no runtime schema interpreter.
|
|
32
|
+
Supported checks are types/unions and nullable, required/properties/additionalProperties,
|
|
33
|
+
arrays/items and length bounds, enum, local `$defs`/`$ref`, string length/pattern,
|
|
34
|
+
numeric bounds/`multipleOf`, and date/date-time/email. The deliberately permissive
|
|
35
|
+
email check requires exactly one `@`, non-empty local and domain parts, and no
|
|
36
|
+
whitespace; it does not require a dot, verify deliverability, or implement full
|
|
37
|
+
RFC mailbox syntax. Integers must be safe; fractional
|
|
38
|
+
`multipleOf` uses a 1e-9 quotient tolerance. `const`, `oneOf`, `uniqueItems` and
|
|
39
|
+
object property-count bounds are refused, alongside other unsupported keywords
|
|
40
|
+
and formats. Defaults remain
|
|
41
|
+
annotations and are not inserted into request input.
|
|
42
|
+
|
|
43
|
+
Native `paged/views/<name>.ts` has a default export, callable as
|
|
44
|
+
`page(db, caller, input, { limit?, cursor? })` after importing it as `page`,
|
|
45
|
+
answering `{ rows, nextCursor? }`.
|
|
46
|
+
Bare `views/<name>.ts` retains native row arrays and accepts app-validated input;
|
|
47
|
+
selecting neither boundary adds no validation or paging work to that query.
|
|
48
|
+
Selected REST/MCP/Admin responses convert declared integer columns on every target
|
|
49
|
+
to safe numbers or exact decimal strings. Their SQL reads integers as text before
|
|
50
|
+
driver conversion; integer cursor keys retain that precision without changing native
|
|
51
|
+
sort order. `views/<name>.ts` also exports `WireRow` for selected transport
|
|
52
|
+
boundaries; declared wire fields agree across targets. Declared SQLite/D1
|
|
53
|
+
JSON/boolean columns become JSON values and booleans. Aliases follow generated
|
|
54
|
+
source-column lineage; computed values and Procedure/ref results retain
|
|
55
|
+
their contracts. Native integer bigint cursor keys are serialized separately.
|
|
56
|
+
REST/MCP use separate `paged/wire/views/<name>.ts` SQL when declared integers
|
|
57
|
+
require exact transport projections. Web pages and internal paged Views keep
|
|
58
|
+
driver-native rows. Internal paging creates no public route/tool.
|
|
59
|
+
Authored SQL `LIMIT` caps each page, up to 500, rather than the whole cursor walk.
|
|
60
|
+
A pageable Schema View has a complete NOT NULL scalar tuple ending in the
|
|
61
|
+
compiler's `id` tiebreak. Its ordered columns must match an index after fixed
|
|
62
|
+
equality prefixes (including caller scope); multiple columns and mixed directions
|
|
63
|
+
retain the authored order. CTE projections preserve the proof; joins must have a
|
|
64
|
+
proved singleton side, or equality on the joined Schema's `id` or single-field
|
|
65
|
+
unique key, so the base id cannot fan out. LEFT JOIN accepts nullable or missing
|
|
66
|
+
base references while preserving the base order/key tuple; joined fields remain
|
|
67
|
+
nullable cursor keys. Refusals identify the nullable key, missing ORDER BY index,
|
|
68
|
+
or fanning join and state a remedy. Relation aliases and nested CTE
|
|
69
|
+
bindings keep their own identity; same-Schema aliases are not interchangeable.
|
|
70
|
+
|
|
71
|
+
Grouped Views use every GROUP BY key as the tiebreak, with known non-null scalar
|
|
72
|
+
keys; unfiltered, non-windowed `min`/`max` of a non-null column retain its native cursor type. Paging a
|
|
73
|
+
grouped result does not avoid the native grouping/source scan. Authors own source
|
|
74
|
+
predicate indexes and should inspect EXPLAIN for their workload. Nullable,
|
|
75
|
+
unknown and JSON order expressions and unproved fanout remain refused.
|
|
76
|
+
Trusted system reads retain their all-scope SQL: without an actual scope
|
|
77
|
+
predicate, a scope-first index is not a proved range scan and native sorting or
|
|
78
|
+
scanning may be needed. Caller equality-prefix proofs do not claim otherwise.
|
|
79
|
+
|
|
80
|
+
Proved singletons (scalar/aggregate queries, unique-id lookups and singleton
|
|
81
|
+
sources) run bounded first-page SQL, reject cursors and refuse overflow.
|
|
82
|
+
Internal Views receive directly imported paged modules only when the same proofs
|
|
83
|
+
hold; they gain no public route or tool. Their bare modules remain available for
|
|
84
|
+
other native SQL and return full authored-query arrays.
|
|
85
|
+
|
|
86
|
+
Cursors reuse the Store's percent-encoded JSON keyset codec. Selected View
|
|
87
|
+
cursors include operation provenance; malformed, foreign and
|
|
88
|
+
null-key cursors fail with `INPUT_VALIDATION_FAILED`. Each generated key has a
|
|
89
|
+
scalar check; temporal keys keep database microseconds. Existing one/two-key
|
|
90
|
+
formats and Store cursors are preserved; larger View tuples contain their full
|
|
91
|
+
key list followed by operation provenance. They are opaque navigation
|
|
92
|
+
values, not credentials; authorization and row predicates run on every page.
|
|
93
|
+
|
|
94
|
+
## Mounting REST
|
|
95
|
+
|
|
96
|
+
`rest.ts` exports `rest({ db, caller })`, returning an async
|
|
97
|
+
`(request, env) => Response | undefined`. The app supplies its native handle and
|
|
98
|
+
verified Caller; requests outside `/api` fall through to the app. Public Views
|
|
99
|
+
use `/api/views/<name>`; HTTP Triggers keep their declared method and path.
|
|
100
|
+
Known paths with another method return 405 with an `Allow` header. All responses use
|
|
101
|
+
`cache-control: private, no-store`. JSON bodies and decoded path parameters
|
|
102
|
+
are validated together, with path parameters taking precedence. Bodies larger
|
|
103
|
+
than 1,000,000 bytes are refused; `content-length` is checked before reading.
|
|
104
|
+
A resolver's `ContractError` keeps its status (an expired token is 401 with its challenge); any other resolver exception returns a redacted 500. Cookie-origin refusals retain
|
|
105
|
+
`path: "request:origin"`; REST and MCP share the kernel check.
|
|
106
|
+
|
|
107
|
+
When the manifest declares ref Procedures, pass the generated `Handlers` as
|
|
108
|
+
`rest({ db, caller, handlers })`; the option is type-required. Handler dispatch
|
|
109
|
+
uses the generated Store, preserving the Procedure's authorization contract.
|
|
110
|
+
Publishing visibility belongs to generated SQL; the REST module adds no status
|
|
111
|
+
filter. The app retains ownership of authentication and its other routes.
|
|
112
|
+
|
|
113
|
+
## Optional web output
|
|
114
|
+
|
|
115
|
+
`web.ts` exports `web({ db, caller, origin, title, description, locales?, pages,
|
|
116
|
+
cacheControl? })`. `db` is the application-owned native handle, including callable
|
|
117
|
+
PostgreSQL handles. `caller` is a verified Caller or the app's
|
|
118
|
+
`(request, env, { readOnly }) => Caller | Promise<Caller>` resolver, evaluated once per request.
|
|
119
|
+
Generated REST/MCP/web callbacks classify reads; forward the third argument to
|
|
120
|
+
`resolveCaller` to permit an enabled cookie cache, as documented in
|
|
121
|
+
[authentication](../cloudflare/authentication.md#explicit-read-only-cookie-snapshots).
|
|
122
|
+
The module dispatches public Views only; it never invokes Procedures or needs handlers.
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
import { web } from './generated/web.js';
|
|
126
|
+
const site = web({ db, caller, origin: 'https://example.com', title: 'Blog',
|
|
127
|
+
description: 'Articles', locales: ['en'],
|
|
128
|
+
pages: { '/posts/{slug}': { view: 'post-by-slug', list: 'posts', markdown: 'body' } }
|
|
129
|
+
});
|
|
130
|
+
const response = await site.fetch(request, env); // Response | undefined
|
|
131
|
+
const tags = await site.head(request, env); // HTML string, empty for unknown/missing pages
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
Page parameter names must exactly match the View's declared input properties.
|
|
135
|
+
Page and list Views must return the page parameters; list Views must accept empty input. Markdown
|
|
136
|
+
must name a textual output column. HTML remains application-owned.
|
|
137
|
+
|
|
138
|
+
`/llms.txt` and `/sitemap.xml` traverse each list's `nextCursor`; `.md` and head
|
|
139
|
+
read the current page View. SQL alone controls visibility, including publication.
|
|
140
|
+
GET/HEAD responses include content-derived SHA-256 ETags. Anonymous responses use
|
|
141
|
+
`cacheControl` or `public, max-age=60`; authenticated responses use
|
|
142
|
+
`private, no-store`. `If-None-Match` returns 304 only after current content is read.
|
|
143
|
+
Canonical URLs use the configured origin, independently of the request host.
|
|
144
|
+
The current implementation adds hreflang only for `locales[0]`; translation-aware
|
|
145
|
+
indexes and head tags are a follow-up below. Importing another generated entry
|
|
146
|
+
does not import web output.
|
|
147
|
+
|
|
148
|
+
Web indexes scan at most 50,000 rows for one sitemap and 5,000 for `llms.txt`,
|
|
149
|
+
across all configured lists. Skipped `.`/`..` path segments consume the scan
|
|
150
|
+
budget too. Output stops before exceeding 50 MiB of UTF-8 sitemap XML (including
|
|
151
|
+
its closing tag) or 1 MiB of `llms.txt`; a sitemap index can be added separately.
|
|
152
|
+
Each request also stops after 100 sitemap queries or 10 `llms.txt` queries,
|
|
153
|
+
across all templates. Small authored SQL LIMITs or many templates can truncate
|
|
154
|
+
output sooner. A sitemap index remains separate future work.
|
|
155
|
+
|
|
156
|
+
`head` normalizes URLs from the queried row's page parameters, matching sitemap
|
|
157
|
+
URLs; malformed paths, failed validation and unavailable rows return an empty
|
|
158
|
+
string. A NULL Markdown field answers 404. Errors and missing Markdown responses
|
|
159
|
+
use `cache-control: no-store`. A matching HTML page takes precedence over a `.md`
|
|
160
|
+
alternate, including slugs ending in `.md`; a Markdown alternate may read the
|
|
161
|
+
exact HTML candidate first and therefore performs at most two View queries.
|
|
162
|
+
|
|
163
|
+
## Mounting MCP
|
|
164
|
+
|
|
165
|
+
Mount the generated `mcp({ db: env => env.DB, caller })` handler in the app's
|
|
166
|
+
Fetch entry. It returns `undefined` outside `/mcp` and `/mcp/admin`. Install the
|
|
167
|
+
optional official `@modelcontextprotocol/server` peer when selecting MCP; its
|
|
168
|
+
transport loads on the first matching request. Pass `handlers` when ref
|
|
169
|
+
Procedures are declared, as for REST. Admin tools are listed only on the admin
|
|
170
|
+
endpoint, and publishing visibility belongs to the generated SQL.
|
|
171
|
+
|
|
172
|
+
The app resolves bearer tokens with `resolveCaller(request, auth, { audience:
|
|
173
|
+
new URL('/mcp', request.url).href })` (both surfaces use `<origin>/mcp`). The app
|
|
174
|
+
must also mount Better Auth's `/.well-known/oauth-protected-resource/mcp`
|
|
175
|
+
metadata route. Auth challenges point to that route. Presented bearer credentials
|
|
176
|
+
need the `mcp` scope; cookie sessions use the same-origin mutation checks.
|
|
177
|
+
|
|
178
|
+
Generation emits `mcp.ts` only for a non-internal View or MCP Trigger. These
|
|
179
|
+
surfaces typecheck without the `@modelcontextprotocol/server` 2.1.0 peer.
|
|
180
|
+
The peer loads by dynamic import on the first matching `/mcp` request; if
|
|
181
|
+
missing, that request fails at runtime. Publishing alone does not select MCP;
|
|
182
|
+
on a selected
|
|
183
|
+
surface its generated `publish_<schema>`, `unpublish_<schema>` and
|
|
184
|
+
`archive_<schema>` tools use the same snake-case naming rule, are admin-only
|
|
185
|
+
and take `{ id, expectedVersion }` through the shared generated validation.
|
|
186
|
+
|
|
187
|
+
`/mcp/admin` admits only admins: `isAdmin(caller)` must hold. Better Auth’s admin plugin `adminRoles` defines this layer (default `["admin"]`); the application supplies its verified Caller. MCP bodies are limited
|
|
188
|
+
to 1 MiB (1,048,576 bytes). Resource metadata challenges use the origin of
|
|
189
|
+
`request.url`; behind a proxy, the app must pass a Request with its public
|
|
190
|
+
origin so the audience and metadata URL point to the client-visible service.
|
|
191
|
+
|
|
192
|
+
Selected integer cursor keys may be exact canonical decimal strings on either dialect; SQLite cursor binds are cast to INTEGER so grouped expressions and native columns compare the same value; they are bounded to the declared integer range. This applies to cursor metadata only and does not change bare query or Store integer outputs, or recover integers already rounded by a native driver. `validCursor` is shared with selected boundary adapters.
|
|
193
|
+
|
|
194
|
+
Cursor casts target only proved AST bind nodes, preserving authored SQL literals. Paging proofs respect the compiler's lexical table/CTE identity. Explicit CTE or relation column renaming is currently refused for paging because uniqueness has not been proved through those aliases; internal bare queries remain available.
|
|
195
|
+
|
|
196
|
+
A paged View's output names must not collide with its actual hidden cursor keys (`_k0` through `_kN-1`); SQLite compares aliases without case sensitivity. Such internal Views keep their bare entry but receive no paged entry. Other output names remain available.
|
|
197
|
+
|
|
198
|
+
## Selected Admin bindings
|
|
199
|
+
|
|
200
|
+
See [Native Admin](../guides/native-admin.md) for the single
|
|
201
|
+
current contract: three packages, explicit generation and app mounting, shared
|
|
202
|
+
whitelisted get/page/statistics templates, native Procedure fragments, generated
|
|
203
|
+
input checks, exact OCC and optional capabilities. These features are implemented
|
|
204
|
+
as an explicit option.
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
### MCP catalogue and callbacks
|
|
208
|
+
|
|
209
|
+
`mcp({ db, caller, handlers?, locale?, instructions?, serverInfo?, requiredScopes?,
|
|
210
|
+
resourceMetadata?, onObservation?, onRefusal? })` keeps the SDK behind its first
|
|
211
|
+
request. Locale defaults to `en`; localized titles/descriptions fall back to
|
|
212
|
+
English, then their first entry. Views advertise `readOnlyHint`; Procedures use
|
|
213
|
+
their declared MCP annotations. `instructions` is returned by initialize.
|
|
214
|
+
The scope floor defaults to `["mcp"]` for every credential except cookie sessions;
|
|
215
|
+
`requiredScopes: []` disables that floor. An anonymous closed surface challenges
|
|
216
|
+
from initialize, and every call in a batch is checked before any call runs.
|
|
217
|
+
`resourceMetadata` overrides the challenge URL for reverse proxies.
|
|
218
|
+
|
|
219
|
+
`onObservation` receives request refusals and invocation attempt/completion
|
|
220
|
+
metadata, including duration and outcome. Its Caller and scopes are frozen copies.
|
|
221
|
+
`onRefusal` receives credential/origin refusals. Neither callback receives request
|
|
222
|
+
headers, bodies or tokens; delivery failures never change the business response
|
|
223
|
+
and promises are not awaited. The application owns callback delivery.
|
|
224
|
+
|
|
225
|
+
**Procedure output:** SQL Procedures retain the native `{ results }`
|
|
226
|
+
contract rather than 0.2's authored output projection/validation; MCP advertises
|
|
227
|
+
that object envelope, not the incompatible authored schema. Ref Procedures expose
|
|
228
|
+
the application's typed return value and advertise their authored object output
|
|
229
|
+
schema. The application owns ref output validation. MCP does not decode or
|
|
230
|
+
revalidate native database rows. Business failures carry diagnostics in text;
|
|
231
|
+
with an output schema they omit `structuredContent` to avoid validating an error
|
|
232
|
+
against a success schema. Without one they also expose diagnostic structured
|
|
233
|
+
content. MCP adds no prompts or non-UI resources.
|
|
234
|
+
|
|
235
|
+
### Declared View scalars on the wire
|
|
236
|
+
|
|
237
|
+
REST and MCP View pages expose declared JSON columns as JSON values and declared
|
|
238
|
+
boolean columns as booleans, including explicitly authored SQL aliases. SQLite
|
|
239
|
+
and D1 conversions are compiled into only the selected boundary pages;
|
|
240
|
+
PostgreSQL already-native JSON/boolean values pass through. SQL NULL stays null and absent
|
|
241
|
+
fields stay absent. Expressions without declared column lineage stay native.
|
|
242
|
+
Malformed persisted JSON becomes a redacted internal failure. The conversion
|
|
243
|
+
adds no database operations and does not mutate native query rows.
|
|
244
|
+
|
|
245
|
+
Bare Views, Store rows, native SQL Procedure `{ results }` and application-owned
|
|
246
|
+
ref outputs retain their native contracts. Use the generated `rest()` / `mcp()`
|
|
247
|
+
module for this client wire contract; do not duplicate JSON/boolean decoding in
|
|
248
|
+
application route handlers or decode PostgreSQL JSON strings a second time.
|
|
249
|
+
|
|
250
|
+
Declared integer columns (including a selected system `version`) on every target
|
|
251
|
+
use the wire form: safe integers become JSON numbers; unsafe values remain exact
|
|
252
|
+
decimal text. Selected-boundary SQL casts integers to text before driver conversion,
|
|
253
|
+
preserving stored int64 values on D1 too. Values already rounded when written
|
|
254
|
+
(e.g. by a JavaScript number) cannot be recovered. Computed outputs and native
|
|
255
|
+
SQL Procedure/ref results retain their native values.
|
|
256
|
+
Unexpected surface failures log only a stable wire classification.
|
|
257
|
+
|
|
258
|
+
MCP locale fallback reads only own locale entries, then English, then the first
|
|
259
|
+
own entry; inherited property names never become titles or descriptions.
|
|
260
|
+
|
|
261
|
+
### Admin media MCP tools
|
|
262
|
+
|
|
263
|
+
With generated site configuration, `mcp({ db, caller, media: env => storage })`
|
|
264
|
+
loads the media module only on a configured admin MCP request and
|
|
265
|
+
adds `get_media_upload_policy`, `create_media_upload`, `commit_media_upload`,
|
|
266
|
+
`list_media_assets`, `get_media_asset`, `update_media_asset` and
|
|
267
|
+
`delete_media_asset` to `/mcp/admin` only. `storage` is the same `MediaStorage`
|
|
268
|
+
used by the Admin media library. Omitting `media` omits all seven tools.
|
|
269
|
+
Admins can invoke them; cookie writes retain the origin check.
|
|
270
|
+
Generated boundary code checks each input and advertises the 0.2 schemas and
|
|
271
|
+
read-only/destructive/open-world hints. Image bytes are PUT directly to the
|
|
272
|
+
returned short-lived URLs with their required headers, then committed; bytes
|
|
273
|
+
never enter MCP. Store permanent asset ids, never upload URLs.
|
|
274
|
+
|
|
275
|
+
Generation always emits a `Handlers` type (empty when no Procedure uses `handler: { ref }`), so every app wires the
|
|
276
|
+
same way: `const handlers: Handlers = {...}`, then `store(db, caller, { handlers })`, `adminBindings({ handlers })`,
|
|
277
|
+
`rest({ ...options, handlers })`, `mcp({ ...options, handlers })` and `webmcpRoutes(catalogue, tools, handlers)`.
|
|
278
|
+
Type extra hand-written tools as `Tool<Handle, Handlers>` with the generated `Handlers` before combining them with
|
|
279
|
+
the generated `tools`. Handler-less apps may still omit `{ handlers }` at `store()` and `adminBindings()`.
|
|
@@ -1,104 +1,35 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Trigger field reference for Mantle 0.2.0 — http, mcp, lifecycle and schedule sources, POSIX cron and its Cloudflare translation, and the diagnostics each raises.
|
|
3
|
-
---
|
|
4
1
|
# Trigger
|
|
5
2
|
|
|
6
3
|
```yaml
|
|
7
4
|
apiVersion: cms.mantle.aotter.net/v2
|
|
5
|
+
kind: Schema
|
|
6
|
+
metadata: { name: tickets }
|
|
7
|
+
spec:
|
|
8
|
+
title: Tickets
|
|
9
|
+
lifecycle: operational
|
|
10
|
+
schema: { type: object, required: [closed], properties: { closed: { type: boolean } } }
|
|
11
|
+
---
|
|
12
|
+
apiVersion: cms.mantle.aotter.net/v2
|
|
13
|
+
kind: Procedure
|
|
14
|
+
metadata: { name: close-ticket }
|
|
15
|
+
spec:
|
|
16
|
+
requires: { auth: { all: [ctx.admin] } }
|
|
17
|
+
input: { type: object, required: [id, version], properties: { id: { type: string }, version: { type: integer } }, additionalProperties: false }
|
|
18
|
+
output: { type: object }
|
|
19
|
+
handler: { sql: 'UPDATE tickets SET closed=true WHERE id=input.id AND version=input.version RETURNING id,closed' }
|
|
20
|
+
---
|
|
21
|
+
apiVersion: cms.mantle.aotter.net/v2
|
|
8
22
|
kind: Trigger
|
|
9
|
-
metadata: { name:
|
|
23
|
+
metadata: { name: close-ticket-http }
|
|
10
24
|
spec:
|
|
11
|
-
source: { kind: http, method: POST, path: /api/
|
|
12
|
-
target: { procedure:
|
|
25
|
+
source: { kind: http, method: POST, path: '/api/tickets/{id}/close' }
|
|
26
|
+
target: { procedure: close-ticket }
|
|
13
27
|
```
|
|
14
28
|
|
|
15
|
-
|
|
16
|
-
(`TRIGGER_TARGET_PROCEDURE_UNKNOWN`). Several Triggers may target one
|
|
17
|
-
Procedure; each source runs it as an `Invocation` with the same `requires`,
|
|
18
|
-
guard and validation.
|
|
19
|
-
|
|
20
|
-
## `http`
|
|
21
|
-
|
|
22
|
-
| Field | Values |
|
|
23
|
-
|---|---|
|
|
24
|
-
| `method` | `POST`, `PUT`, `PATCH`, `DELETE` (reads are Views) |
|
|
25
|
-
| `path` | starts with `/api/` (`TRIGGER_PATH_INVALID`); `{param}` segments bind to inputs of the same name, coerced to their declared types |
|
|
26
|
-
|
|
27
|
-
The REST surface answers it. The JSON body and the path parameters merge into
|
|
28
|
-
the input (a path parameter wins). A `(method, path)` pair is unique
|
|
29
|
-
(`TRIGGER_PATH_COLLISION`); a route with fewer parameters is tried first, so
|
|
30
|
-
`/api/items/search` is not shadowed by `/api/items/{id}`. The answer is the
|
|
31
|
-
Procedure's output, or `{ "error": … }`. `ctx.cause.kind` is `http`.
|
|
32
|
-
|
|
33
|
-
The body is parsed JSON. For a signed webhook, verify the raw body in the
|
|
34
|
-
service's own `fetch` and call `runtime.invokeProcedure`.
|
|
35
|
-
|
|
36
|
-
## `mcp`
|
|
37
|
-
|
|
38
|
-
| Field | Values |
|
|
39
|
-
|---|---|
|
|
40
|
-
| `surface` | `public` (`/mcp`) or `staff` (the staff MCP surface; also an Admin operation) |
|
|
41
|
-
|
|
42
|
-
The tool is named after the Procedure, kebab to snake case
|
|
43
|
-
(`MCP_TOOL_NAME_COLLISION` when two names meet). Give the Procedure a
|
|
44
|
-
`description` (`MCP_TOOL_DESCRIPTION_MISSING` warns). `ctx.cause.kind` is
|
|
45
|
-
`mcp`.
|
|
46
|
-
|
|
47
|
-
## `lifecycle`
|
|
48
|
-
|
|
49
|
-
| Field | Values |
|
|
50
|
-
|---|---|
|
|
51
|
-
| `schema` | the Schema watched (`LIFECYCLE_SCHEMA_UNKNOWN`) |
|
|
52
|
-
| `on` | non-empty: `before_create`, `after_create`, `before_update`, `after_update`, `before_delete`, `after_delete`, `before_publish`, `after_publish` |
|
|
53
|
-
|
|
54
|
-
The target is a `ref` Procedure (`LIFECYCLE_TARGET_NOT_REF`). `ctx.cause` is
|
|
55
|
-
`{ kind: "lifecycle", trigger, hook, schema, rows, id }`.
|
|
56
|
-
|
|
57
|
-
- A **before** hook runs before the batch, receives the one row (for an insert,
|
|
58
|
-
the row about to be written), reads only, and rejects by throwing; nothing is
|
|
59
|
-
applied. The write then locks the version the hook saw. Before hooks on one
|
|
60
|
-
operation run in Trigger-name order.
|
|
61
|
-
- An **after** hook runs after the commit, once per statement and Trigger, with
|
|
62
|
-
every written row in `rows` (each with `id` and `version`). A failure is
|
|
63
|
-
logged and never undoes the write. `id` is stable for a replay.
|
|
64
|
-
|
|
65
|
-
A hook sees the originating caller. Any path that writes the Schema fires its
|
|
66
|
-
hooks: SQL Procedures, `ctx.store`, Admin. A set op on a Schema with a before
|
|
67
|
-
hook for that operation is refused.
|
|
68
|
-
|
|
69
|
-
## `schedule`
|
|
70
|
-
|
|
71
|
-
| Field | Values |
|
|
72
|
-
|---|---|
|
|
73
|
-
| `cron` | five-field POSIX cron in UTC; weekday 0 = Sunday |
|
|
74
|
-
| `enabled` | optional, default `true` |
|
|
75
|
-
|
|
76
|
-
The target runs as the system caller with input `{}`. It may not declare
|
|
77
|
-
`requires.auth` predicates (`SCHEDULE_AUTH_INVALID`), and its input must
|
|
78
|
-
accept an empty object (`SCHEDULE_INPUT_INVALID`). `ctx.cause` is
|
|
79
|
-
`{ kind: "schedule", trigger, cron, scheduledTime, id: "<trigger>:<scheduledTime>" }`.
|
|
80
|
-
|
|
81
|
-
The service passes `schedules: true` to `createMantle`; without it boot
|
|
82
|
-
refuses an enabled schedule (`SCHEDULE_NOT_WIRED`). The Cloudflare preset
|
|
83
|
-
passes it. The Bun preset has no scheduler, so `mantle generate --host bun`
|
|
84
|
-
refuses an enabled schedule; use host `none` with your own scheduler calling
|
|
85
|
-
`invokeSchedule(cron, scheduledTime, env)` on what `createMantle` returns.
|
|
86
|
-
|
|
87
|
-
### Cloudflare
|
|
29
|
+
The target names a declared Procedure. `http` sources use POST/PUT/PATCH/DELETE and an `/api/` path. Path parameters bind to corresponding declared input fields and override JSON-body values. The generated REST module retains the Procedure's authorization and validates boundary input.
|
|
88
30
|
|
|
89
|
-
|
|
90
|
-
`@aotter/mantle/cloudflare` adds one to every explicit weekday number and
|
|
91
|
-
leaves `*`, names and the other fields alone:
|
|
31
|
+
An MCP source is `{ kind: mcp, surface: public }` or admin. The selected MCP module exposes the Procedure as a snake-case tool with its declared description/annotations and requires checks.
|
|
92
32
|
|
|
93
|
-
|
|
94
|
-
|---|---|
|
|
95
|
-
| `0 3 * * 0` | `0 3 * * 1` |
|
|
96
|
-
| `0 9 * * 1-5` | `0 9 * * 2-6` |
|
|
97
|
-
| `*/5 * * * *` | `*/5 * * * *` |
|
|
33
|
+
Lifecycle and schedule sources are rejected at generation with `GENERATE_UNSUPPORTED`, including disabled schedules. Use an app-owned handler or scheduler. For signed webhooks, verify the original raw Request in the app and call a generated Procedure with validated input; do not route it through a JSON boundary before signature verification.
|
|
98
34
|
|
|
99
|
-
|
|
100
|
-
`7`, numbers with a leading zero, a backwards range, a name with a step, and a
|
|
101
|
-
day of month together with a weekday. `mantle generate` runs it on every
|
|
102
|
-
enabled schedule and fails before writing on a refusal. The generated
|
|
103
|
-
`src/index.ts` maps Cloudflare's cron back to every POSIX expression that
|
|
104
|
-
shares it.
|
|
35
|
+
See [surfaces](surface.md) for mounted paths, error mapping and origin checks.
|