@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,473 +0,0 @@
|
|
|
1
|
-
# ADR-0007: AI-as-primary-author — three pre-serve loops, two role surfaces
|
|
2
|
-
|
|
3
|
-
**Status:** Carried over from POC v0.0.x; amended for the shipped v0.1 CLI,
|
|
4
|
-
testing, plugin, and MCP surfaces (incorporates POC ADR-0013).
|
|
5
|
-
|
|
6
|
-
**Date:** 2026-05-03; last amended 2026-08-03
|
|
7
|
-
|
|
8
|
-
**Deciders**: phsu
|
|
9
|
-
|
|
10
|
-
**Related**: ADR-0001 (the manifest the contract operates on), ADR-0008 (the structured diagnostic shape this contract emits)
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Context
|
|
15
|
-
|
|
16
|
-
This ADR is the local statement of an Aotter-wide thesis. mantle is
|
|
17
|
-
one half of **Mantle** (**C**onfig **L**anguage for **A**pps &
|
|
18
|
-
**M**odeling) — the other half is the OLAP / data-warehouse work in
|
|
19
|
-
[`aotter-mantle`](https://github.com/aotter/aotter-mantle). Both share a
|
|
20
|
-
single design grammar:
|
|
21
|
-
|
|
22
|
-
> **Agents write config; the runtime carries the complexity.**
|
|
23
|
-
|
|
24
|
-
Hard problems — schema validation, OAuth, locale canonicalization,
|
|
25
|
-
cache invalidation, transactional state — live in the runtime, where
|
|
26
|
-
they're written once by people who understand them. The authoring
|
|
27
|
-
surface is YAML the agent fills in, with structured diagnostics
|
|
28
|
-
catching mistakes before they become production failures. Non-coders
|
|
29
|
-
benefit from agent leverage *safely* because the load-bearing logic
|
|
30
|
-
isn't in their hands.
|
|
31
|
-
|
|
32
|
-
This ADR documents what that thesis means concretely for mantle's
|
|
33
|
-
authoring contract.
|
|
34
|
-
|
|
35
|
-
The primary author/integrator of consumer apps that depend on
|
|
36
|
-
`@aotter/mantle-*` is expected to be Claude Code (or a peer LLM
|
|
37
|
-
agent) running inside the consumer project. Human contributors review
|
|
38
|
-
and steer, but the moment-to-moment work — wiring a manifest, writing
|
|
39
|
-
a Procedure handler, registering it at boot, bisecting a failure — is
|
|
40
|
-
the AI's.
|
|
41
|
-
|
|
42
|
-
This is a different DX target from the typical SDK. Conventional
|
|
43
|
-
"developer experience" thinking optimizes for a human at a terminal:
|
|
44
|
-
prose error messages, IDE squiggles, stack traces inspected by eye,
|
|
45
|
-
"let me try one more thing and see what the server logs say." That
|
|
46
|
-
loop is fine for humans and bad for AI authors:
|
|
47
|
-
|
|
48
|
-
- An AI cannot cheaply form an intuition by "running the thing and
|
|
49
|
-
seeing what happens." It can run a CLI and read structured output;
|
|
50
|
-
it cannot easily watch a streaming server log over an SSH session
|
|
51
|
-
and infer state.
|
|
52
|
-
- Prose error messages force the AI to do natural-language parsing
|
|
53
|
-
before it can act. Structured diagnostics ({code, path, expected,
|
|
54
|
-
actual, candidates, suggestion}) are directly actionable.
|
|
55
|
-
- Errors that surface only at production runtime are invisible to an
|
|
56
|
-
AI working in a dev loop — by the time they appear, the AI has
|
|
57
|
-
finished its turn and walked away. Failures must show up in the
|
|
58
|
-
feedback channel the AI is currently watching: the CLI it just ran,
|
|
59
|
-
the test suite it just executed, the deploy it is currently
|
|
60
|
-
blocking on.
|
|
61
|
-
- "Try and see" debugging on an opaque deployed system has a long
|
|
62
|
-
feedback latency that compounds badly with AI cost-per-turn. Cheap,
|
|
63
|
-
deterministic, local feedback dominates.
|
|
64
|
-
|
|
65
|
-
The naive SDK posture is "it works at runtime, errors come back as
|
|
66
|
-
HTTP 500s." That is the correct target for the customer of the
|
|
67
|
-
consumer's app. It is the wrong target for the consumer-app author.
|
|
68
|
-
|
|
69
|
-
This ADR defines the contract that fixes that gap. It also folds in
|
|
70
|
-
the role-split decision (originally POC ADR-0013), because the
|
|
71
|
-
feedback loops below only make sense when paired with the question of
|
|
72
|
-
*which AI is reading them*: the **coder agent** (Claude Code in the
|
|
73
|
-
consumer's repo) versus the **operator agent** (a content-editing
|
|
74
|
-
client like Claude Desktop, talking to the deployed Worker over MCP).
|
|
75
|
-
|
|
76
|
-
## Decision
|
|
77
|
-
|
|
78
|
-
### Part A — Three pre-serve feedback loops for the coder agent
|
|
79
|
-
|
|
80
|
-
The SDK provides **three explicit pre-serve feedback loops**, ordered by
|
|
81
|
-
"leftward shift" — catch the failure as early in the author's workflow as
|
|
82
|
-
physically possible. Runtime diagnostics remain the final, serving-time
|
|
83
|
-
boundary rather than a fourth authoring gate.
|
|
84
|
-
|
|
85
|
-
#### Loop 1 — Static validation (`mantle validate`)
|
|
86
|
-
|
|
87
|
-
Pure manifest + handler-source check. No D1, no runtime, no
|
|
88
|
-
network. Runs in the AI's terminal in milliseconds. Reads YAML files
|
|
89
|
-
and handler registration source files; emits structured diagnostics;
|
|
90
|
-
exits non-zero on any error.
|
|
91
|
-
|
|
92
|
-
The implementation lives in `@aotter/mantle-spec`. Adopters run it through the
|
|
93
|
-
umbrella package's `mantle` binary; a direct spec install exposes the fallback
|
|
94
|
-
`mantle-spec` binary.
|
|
95
|
-
|
|
96
|
-
What it catches:
|
|
97
|
-
- Manifest envelope (`apiVersion`, `kind`, `metadata.name`)
|
|
98
|
-
- `Trigger.target.procedure` references a Procedure that exists
|
|
99
|
-
- `View.from` references a Schema that exists; `View.fields` and
|
|
100
|
-
`View.filter` refer only to declared properties of that Schema
|
|
101
|
-
- `Schema.uniqueIndexes` and `Schema.indexes` contain valid ordered
|
|
102
|
-
tuples of scalar properties declared in `spec.schema.properties`
|
|
103
|
-
- `Schema.searchableFields` contains unique top-level string properties
|
|
104
|
-
- `Schema.uiSchema.list.filterField` names an indexed operational string enum
|
|
105
|
-
- `x-mantle-bind: <value>` is in the closed enum
|
|
106
|
-
- `requires.auth.all` predicates are in the v0.1 vocabulary
|
|
107
|
-
- `Trigger.source.path` does not collide with another Trigger
|
|
108
|
-
- `metadata.name` is unique within `kind`
|
|
109
|
-
- Each `Procedure.handler.ref` appears as a key in the consumer's TypeScript
|
|
110
|
-
handler map (textual grep, not runtime — boot Loop 3 verifies the actual
|
|
111
|
-
map)
|
|
112
|
-
|
|
113
|
-
This is the cheapest loop; it must be runnable without booting
|
|
114
|
-
anything. AI authors should run it after every manifest edit.
|
|
115
|
-
|
|
116
|
-
#### Loop 2 — Local tests and measured harnesses
|
|
117
|
-
|
|
118
|
-
Consumer tests exercise exported runtime use cases or the adapter application
|
|
119
|
-
with project-owned fakes appropriate to that test. Core does not ship a second
|
|
120
|
-
in-memory Worker or dispatcher abstraction.
|
|
121
|
-
|
|
122
|
-
The public Node-only `@aotter/mantle/runtime/testing` surface instead provides
|
|
123
|
-
the two shared measurements that are expensive for each consumer to rebuild:
|
|
124
|
-
|
|
125
|
-
- crowded real-SQLite View execution and `EXPLAIN QUERY PLAN` index coverage;
|
|
126
|
-
- HTTP sampling for a running Worker, including optional test-only query/row
|
|
127
|
-
metric headers.
|
|
128
|
-
|
|
129
|
-
The umbrella package exposes both through `mantle-harness`. These checks use the
|
|
130
|
-
real manifest validator, migrations, View compiler, SQL, and HTTP surface; they
|
|
131
|
-
do not pretend an in-memory adapter proves Cloudflare behavior. Project tests
|
|
132
|
-
still own handler logic, auth combinations, and product-specific fixtures.
|
|
133
|
-
|
|
134
|
-
#### Loop 3 — Boot-time fail-fast
|
|
135
|
-
|
|
136
|
-
Dispatcher build phase, after manifests are parsed and handlers are
|
|
137
|
-
registered, before the serve loop starts. Walks the entire manifest
|
|
138
|
-
graph and the in-memory handler registry; refuses to start serving if
|
|
139
|
-
anything is missing or inconsistent.
|
|
140
|
-
|
|
141
|
-
What it catches that Loop 1 cannot:
|
|
142
|
-
- `Procedure.handler.ref` that appeared textually in source (Loop 1 saw it) but
|
|
143
|
-
is absent from the actual `handlers` map passed to runtime assembly
|
|
144
|
-
- Current site locale state that conflicts with localized/translation Schemas
|
|
145
|
-
- Generated index state that cannot be reconciled with declared Schema indexes
|
|
146
|
-
- Cross-manifest references that a recent deploy introduced without
|
|
147
|
-
the corresponding atom (e.g. updated Trigger pointed at a Procedure
|
|
148
|
-
that wasn't included in the deploy bundle)
|
|
149
|
-
|
|
150
|
-
Failure mode is a rejected `bootInit()` promise carrying structured boot
|
|
151
|
-
diagnostics, not "log a warning and serve anyway." The conventional adapter
|
|
152
|
-
does not dispatch through an unbooted runtime and resets a rejected lazy-boot
|
|
153
|
-
promise so a transient infrastructure failure can retry. Deployment workflows
|
|
154
|
-
must exercise the Worker readiness/smoke path if they need the failure before
|
|
155
|
-
traffic.
|
|
156
|
-
|
|
157
|
-
#### Runtime diagnostics
|
|
158
|
-
|
|
159
|
-
Runtime diagnostics (see ADR-0008 and the design-atoms reference)
|
|
160
|
-
cover the cases that reach this far. The contract's job is to make
|
|
161
|
-
the serving boundary handle **input it had no way to predict**
|
|
162
|
-
(request shape, auth state, transient infrastructure failures), not
|
|
163
|
-
the layer that handles **author-side mistakes** (those belong in the earliest
|
|
164
|
-
applicable pre-serve loop).
|
|
165
|
-
|
|
166
|
-
#### Phase ordering rationale
|
|
167
|
-
|
|
168
|
-
The author's lifecycle is:
|
|
169
|
-
|
|
170
|
-
```
|
|
171
|
-
edit YAML → run validate (Loop 1) → run tests/harnesses (Loop 2)
|
|
172
|
-
→ push → deploy boots (Loop 3) → serves (runtime diagnostics)
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
The earlier a class of error is caught, the cheaper it is to fix and
|
|
176
|
-
the smaller the surface area for surprise. An author waits seconds for
|
|
177
|
-
`validate`, seconds-to-minutes for the test suite, minutes for boot,
|
|
178
|
-
hours-to-days for runtime errors to be reported. The discipline is:
|
|
179
|
-
**never let a class of error surface in a later loop than where it
|
|
180
|
-
could have been caught**. If the validator could find it, boot must
|
|
181
|
-
not be the first to find it.
|
|
182
|
-
|
|
183
|
-
An earlier draft of this contract ordered Boot before Test. That was
|
|
184
|
-
wrong: tests run during the AI's edit cycle, on the AI's machine,
|
|
185
|
-
inside the same turn. Boot runs only after a deploy is committed.
|
|
186
|
-
Tests must be left of Boot in the diagram and left of Boot in the
|
|
187
|
-
discipline.
|
|
188
|
-
|
|
189
|
-
### Part B — Role-split surfaces
|
|
190
|
-
|
|
191
|
-
(Folded in from POC ADR-0013, which was a separate ADR in the POC tree
|
|
192
|
-
and is consolidated here in v0.1.0.)
|
|
193
|
-
|
|
194
|
-
Two AI agents read and write to a `@aotter/mantle-*` deployment:
|
|
195
|
-
|
|
196
|
-
1. **The coder agent** — Claude Code (cc) running inside the
|
|
197
|
-
consumer's repo. Edits manifests, handlers, scaffold files,
|
|
198
|
-
`wrangler.toml`. Runs CLI commands (`mantle validate`,
|
|
199
|
-
`mantle emit-openapi`). Reads skill files. Has shell, filesystem, git,
|
|
200
|
-
and network access in the consumer's dev environment.
|
|
201
|
-
|
|
202
|
-
2. **The operator agent** — a content-editing client (Claude Desktop,
|
|
203
|
-
claude.ai, or any MCP-speaking host) connected to the deployed Worker over
|
|
204
|
-
OAuth. `/mcp` carries public View queries and explicitly public MCP
|
|
205
|
-
Triggers; `/mcp/staff` carries staff View queries, authoring/lifecycle
|
|
206
|
-
builtins, and explicitly staff MCP Triggers. The agent has *only* the tools
|
|
207
|
-
on its authorized catalog; no shell, filesystem, or git.
|
|
208
|
-
|
|
209
|
-
These are different roles with different *capability surfaces*. The
|
|
210
|
-
coder agent has many more capabilities than the operator agent *by
|
|
211
|
-
virtue of where it runs*, not because anyone designed the asymmetry —
|
|
212
|
-
it's a property of the environments. cc can run an arbitrary command
|
|
213
|
-
in the consumer's repo; an MCP-only client cannot.
|
|
214
|
-
|
|
215
|
-
Without an explicit principle, every feature decision can be expressed
|
|
216
|
-
on either surface. "Should `mantle validate` also be an MCP tool?"
|
|
217
|
-
"Should `update_draft` also be a CLI command?" Answered ad-hoc, the
|
|
218
|
-
two surfaces drift toward feature parity, which destroys the role
|
|
219
|
-
boundary, which destroys the security and DX properties the boundary
|
|
220
|
-
protects.
|
|
221
|
-
|
|
222
|
-
The SDK has **two surfaces, mapped to two roles**:
|
|
223
|
-
|
|
224
|
-
| Surface | Audience | Trust | Default access |
|
|
225
|
-
|---|---|---|---|
|
|
226
|
-
| **Skills + CLI + SDK TS API** | the coder agent (cc) | unconstrained — runs in consumer's repo | filesystem, shell, git, full SDK |
|
|
227
|
-
| **MCP tools** | the operator agent (MCP client) | constrained — ops session over OAuth | only the verbs declared in the Day-1 catalog |
|
|
228
|
-
|
|
229
|
-
The two surfaces are **not symmetric** and should not become
|
|
230
|
-
symmetric. Each new feature picks **one** surface based on which role
|
|
231
|
-
needs it; if the answer is "both," the feature is fundamentally about
|
|
232
|
-
content state (in which case it belongs on MCP and the coder uses the
|
|
233
|
-
SDK TS API instead of needing a matching MCP tool).
|
|
234
|
-
|
|
235
|
-
#### What goes on Skills + CLI + SDK TS API (coder surface)
|
|
236
|
-
|
|
237
|
-
- Anything that touches the **manifest set** (Schema / View /
|
|
238
|
-
Procedure / Trigger declarations). The coder edits YAML; the
|
|
239
|
-
operator never sees the manifest layer.
|
|
240
|
-
- Anything that requires **shell or filesystem access** —
|
|
241
|
-
scaffolding, test running, deploy.
|
|
242
|
-
- Anything **dev-loop shaped** — static validation, local
|
|
243
|
-
tests/measurements, and boot verification are coder-surface concerns, not
|
|
244
|
-
operator-surface.
|
|
245
|
-
- Anything that **mutates code** in the consumer's repo — registering
|
|
246
|
-
handlers, wiring imports, updating `wrangler.toml`.
|
|
247
|
-
- **Skill files** carrying domain context. cc reads these; MCP clients
|
|
248
|
-
do not.
|
|
249
|
-
|
|
250
|
-
Concrete artifacts today:
|
|
251
|
-
|
|
252
|
-
- Version-matched Core skills ship inside `@aotter/mantle`, through the Mantle
|
|
253
|
-
agent plugin, and through exact-byte repo-local projections written by
|
|
254
|
-
`mantle skills`.
|
|
255
|
-
- The umbrella `mantle` CLI exposes `create`, `generate`, `validate`,
|
|
256
|
-
`emit-openapi`, `update`, and `skills`; direct spec installs expose advanced
|
|
257
|
-
`introspect` and `emit-types` primitives through `mantle-spec`.
|
|
258
|
-
- `@aotter/mantle/runtime/testing` and `mantle-harness` expose the measured
|
|
259
|
-
SQLite/index and live-HTTP checks described in Loop 2.
|
|
260
|
-
|
|
261
|
-
#### What goes on MCP (operator surface)
|
|
262
|
-
|
|
263
|
-
- **CRUD on content state** — the Day-1 generic tools plus the
|
|
264
|
-
per-collection create/update tools generated from Schemas.
|
|
265
|
-
- Anything an **operator user** would do in a hypothetical WordPress
|
|
266
|
-
admin: write a post, update a draft, request publish, list
|
|
267
|
-
submissions.
|
|
268
|
-
- Future ops-role verbs that don't exist yet but have an obvious
|
|
269
|
-
operator use case ("translate this draft", "publish this entry").
|
|
270
|
-
When added, they land as **new SDK builtin tools** — declared in
|
|
271
|
-
the MCP catalog source under the closed Day-1 set, not
|
|
272
|
-
auto-generated from consumer Procedures.
|
|
273
|
-
|
|
274
|
-
#### What goes on neither (the SDK TS API only)
|
|
275
|
-
|
|
276
|
-
A small third category exists: library APIs such as manifest/diagnostic types,
|
|
277
|
-
runtime use cases, dispatchers, and the boot validator. They are exported from
|
|
278
|
-
the matching `@aotter/mantle` subpath for composition or tests, but are not
|
|
279
|
-
separate CLI commands or MCP tools.
|
|
280
|
-
|
|
281
|
-
#### What does NOT go on either surface
|
|
282
|
-
|
|
283
|
-
- **Unbound consumer Procedures auto-emitted as MCP tools.** A Procedure carries
|
|
284
|
-
arbitrary code and is transport-neutral by itself. Exposure requires an
|
|
285
|
-
explicit `Trigger.source.kind: mcp`, a declared `public | staff` surface, and
|
|
286
|
-
the target's authorization predicates/guard. Core also emits its closed
|
|
287
|
-
authoring/lifecycle builtins and View query tools on the matching surface.
|
|
288
|
-
- **CLI commands that mutate runtime state.** The CLI is for the
|
|
289
|
-
pre-deploy authoring loop. Once deployed, runtime state changes via
|
|
290
|
-
MCP (operator) or via direct SDK calls inside handler code
|
|
291
|
-
(developer). No `mantle publish-entry <id>` is planned — that
|
|
292
|
-
would mix the two surfaces.
|
|
293
|
-
|
|
294
|
-
## Consequences
|
|
295
|
-
|
|
296
|
-
### Pros
|
|
297
|
-
|
|
298
|
-
- Errors land in the channel the coder agent is watching at the
|
|
299
|
-
moment they author. Validation errors → terminal output of the CLI
|
|
300
|
-
they just ran. Test errors → test runner output of the suite they
|
|
301
|
-
just executed. Boot errors → deploy pipeline log the deploy is
|
|
302
|
-
blocked on. Runtime errors → customer-visible failures (the only
|
|
303
|
-
place runtime errors should appear).
|
|
304
|
-
- One diagnostic format (ADR-0008) across validation, boot, and runtime
|
|
305
|
-
failures means the coder agent writes one parser. Measured harnesses use
|
|
306
|
-
separate stable report types because they are results, not failures.
|
|
307
|
-
- Public measured harnesses let consumers gate index access paths and live HTTP
|
|
308
|
-
behavior without rebuilding Core's migration/compiler instrumentation.
|
|
309
|
-
- Boot fail-fast turns a class of "runtime 500 reaches customer"
|
|
310
|
-
failures into "deploy blocked, fix forward" failures.
|
|
311
|
-
- The framing — coder agent as primary author, operator agent as
|
|
312
|
-
bounded MCP consumer, with explicit phase ordering — gives reviewers
|
|
313
|
-
a yardstick for proposed SDK features: "which loop does this
|
|
314
|
-
affect, and which surface owns it?" New error types must declare a
|
|
315
|
-
code.
|
|
316
|
-
- Permission boundary maps cleanly to surface boundary. The operator
|
|
317
|
-
agent's permissions are bounded by the MCP tool catalog; the coder
|
|
318
|
-
agent's by what shell + git + the SDK can do. Neither agent can
|
|
319
|
-
escalate by switching tools.
|
|
320
|
-
- MCP catalog stays narrow as a **property**, not a discipline.
|
|
321
|
-
Adding things to MCP requires demonstrating an operator-role use
|
|
322
|
-
case.
|
|
323
|
-
|
|
324
|
-
### Costs
|
|
325
|
-
|
|
326
|
-
- v0.1 ships more than just a runtime: also the `mantle validate`
|
|
327
|
-
CLI, a public testing module, and a boot validator. Roughly +30%
|
|
328
|
-
of the v0.1 dispatcher work.
|
|
329
|
-
- The Node-only planner uses the platform's `node:sqlite`; it is a compatibility
|
|
330
|
-
surface to keep honest against real D1 and does not enter Worker bundles.
|
|
331
|
-
- Diagnostic format is locked early (ADR-0008); any field-shape
|
|
332
|
-
change forces a doc revise and a code change across all loops.
|
|
333
|
-
- The error catalog (one named code per failure mode, per loop) must
|
|
334
|
-
stay synchronized with the validator/harness/runtime
|
|
335
|
-
implementations. A regression where the validator and the boot
|
|
336
|
-
loop emit different codes for the same underlying issue would
|
|
337
|
-
defeat the point.
|
|
338
|
-
- Two surfaces means two surfaces. Documentation, releases,
|
|
339
|
-
versioning, and contracts apply to both. Mitigated by the fact
|
|
340
|
-
that the two surfaces have little overlap by design — most features
|
|
341
|
-
touch only one.
|
|
342
|
-
- No implicit cross-surface convenience. A consumer Procedure reaches MCP only
|
|
343
|
-
through an explicit MCP Trigger and its surface/authorization declaration.
|
|
344
|
-
|
|
345
|
-
### Risks
|
|
346
|
-
|
|
347
|
-
- **Validator under-approximates** (rejects valid manifests): authors
|
|
348
|
-
will route around it (`--no-validate` etc.), defeating the purpose.
|
|
349
|
-
Mitigation: validator MUST err on the permissive side; ambiguous
|
|
350
|
-
cases emit `severity: warning` not `error`; exit code 0 unless an
|
|
351
|
-
error is found.
|
|
352
|
-
- **SQLite planner diverges from D1**: local SQLite can differ in collation,
|
|
353
|
-
type affinity, JSON, or planner choices. Mitigation: Core CI also runs the
|
|
354
|
-
Wrangler-local Worker benchmark; local planner output gates query shape and
|
|
355
|
-
access paths, not provider equivalence.
|
|
356
|
-
- **Boot fail-fast aggressiveness**: if boot refuses to start on
|
|
357
|
-
cosmetic issues (a Schema property has an unrecognized but harmless
|
|
358
|
-
`x-` extension), the deploy pipeline becomes hostile. Mitigation:
|
|
359
|
-
boot validates only **load-bearing** invariants (missing handler
|
|
360
|
-
refs, dangling Trigger targets, schema drift). Cosmetic / advisory
|
|
361
|
-
checks remain non-blocking diagnostics rather than boot errors.
|
|
362
|
-
- **AI authors over-trust the contract**: "the SDK said it was fine
|
|
363
|
-
therefore it is fine." Runtime diagnostics still exist for reasons
|
|
364
|
-
the contract cannot prevent. Mitigation: docs make clear that
|
|
365
|
-
runtime errors are still possible and that the contract reduces —
|
|
366
|
-
not eliminates — surface area.
|
|
367
|
-
- **Drift via "MCP-ifying everything".** The MCP transport is trendy;
|
|
368
|
-
there's pressure (industry-wide) to expose every API as MCP.
|
|
369
|
-
Following that trend would erase the role boundary. Mitigation:
|
|
370
|
-
this ADR is the bar to clear. Any "expose X as MCP" PR has to
|
|
371
|
-
argue X is operator-role.
|
|
372
|
-
- **Confusion when cc *uses* MCP tools to inspect a deployed
|
|
373
|
-
worker.** cc CAN call MCP tools (it has MCP-tool capability). This
|
|
374
|
-
isn't a violation — when cc calls MCP tools, it's playing the
|
|
375
|
-
operator role to inspect runtime state, not extending the coder
|
|
376
|
-
surface. The principle is about which surface a feature is
|
|
377
|
-
*exposed on*, not who calls into it.
|
|
378
|
-
- **Future Anthropic SDK changes that blur the line.** If Claude
|
|
379
|
-
Code gains MCP-tool-only modes, or if MCP clients gain shell
|
|
380
|
-
access, the role/surface mapping might need revision. This ADR is
|
|
381
|
-
grounded in the current capabilities asymmetry; if that asymmetry
|
|
382
|
-
collapses, supersede with a new ADR.
|
|
383
|
-
|
|
384
|
-
## Alternatives considered
|
|
385
|
-
|
|
386
|
-
**(a) Runtime errors only.**
|
|
387
|
-
Rejected: primary author is AI; CF deploy logs are an inappropriate
|
|
388
|
-
UI for that author. Failures must land in the loop the author is
|
|
389
|
-
currently in.
|
|
390
|
-
|
|
391
|
-
**(b) Static validation only.**
|
|
392
|
-
Rejected as insufficient: cannot catch handler logic bugs, cannot verify that
|
|
393
|
-
a textual handler key reaches the assembled runtime map, and cannot test
|
|
394
|
-
data-flow against fixtures.
|
|
395
|
-
|
|
396
|
-
**(c) Test harness only.**
|
|
397
|
-
Rejected: better than (a) but still lets misconfigurations land in
|
|
398
|
-
deploys (handler renamed but not re-registered, manifest references
|
|
399
|
-
stale schema name). Static is cheaper and finds these faster.
|
|
400
|
-
|
|
401
|
-
**(d) Ship a second full in-memory Worker/dispatcher harness.**
|
|
402
|
-
Deferred. Consumer tests can call the public use cases or adapter app directly;
|
|
403
|
-
Core only centralizes the real-SQLite planner and live-HTTP measurements whose
|
|
404
|
-
instrumentation would otherwise be duplicated. Add a fuller factory only when
|
|
405
|
-
multiple consumers demonstrate the same unavoidable setup.
|
|
406
|
-
|
|
407
|
-
**(e) Prose error messages.**
|
|
408
|
-
Rejected: see ADR-0008. AI parseability outweighs human readability
|
|
409
|
-
for the primary author; a `--format=text` mode preserves the human
|
|
410
|
-
option without locking the structure.
|
|
411
|
-
|
|
412
|
-
**(f) Feature parity across both surfaces.** Every CLI command also
|
|
413
|
-
an MCP tool; every MCP tool also a CLI command. Rejected: this
|
|
414
|
-
destroys the role boundary by giving each agent all capabilities.
|
|
415
|
-
The "operator agent has fewer capabilities than the coder agent"
|
|
416
|
-
property would no longer be a structural fact about the surfaces; it
|
|
417
|
-
would be a discipline imposed on individual operator sessions, which
|
|
418
|
-
we have no way to enforce.
|
|
419
|
-
|
|
420
|
-
**(g) MCP-only — drop the CLI.** All SDK operations as MCP tools.
|
|
421
|
-
Rejected: cc loses the sub-second feedback loops that depend on CLI
|
|
422
|
-
tools (validate, typecheck, build). MCP tool calls are slower (HTTP
|
|
423
|
-
round trip, JSON-RPC envelope), and harder to integrate into editor
|
|
424
|
-
/ filesystem contexts where cc lives.
|
|
425
|
-
|
|
426
|
-
**(h) CLI-only — drop MCP.** All operations as CLI; the operator
|
|
427
|
-
agent shells out. Rejected: the operator agent (an MCP-only client)
|
|
428
|
-
can't shell out. MCP exists precisely because the operator-role
|
|
429
|
-
environment doesn't have a shell.
|
|
430
|
-
|
|
431
|
-
## How to apply
|
|
432
|
-
|
|
433
|
-
When proposing a new SDK feature or behavior, declare:
|
|
434
|
-
|
|
435
|
-
1. **Which agent runs this?**
|
|
436
|
-
- If the coder agent → CLI subcommand and/or SDK TS API and/or
|
|
437
|
-
SKILL.md section.
|
|
438
|
-
- If the operator agent → MCP tool added to the Day-1 catalog.
|
|
439
|
-
- If "both" — recheck. The feature is probably fundamentally a
|
|
440
|
-
CRUD-on-content verb (operator → MCP, coder uses the SDK TS API
|
|
441
|
-
directly) or a manifest-side authoring concern (coder →
|
|
442
|
-
CLI/skills, operator never sees it). Real "both" cases should
|
|
443
|
-
be vanishingly rare.
|
|
444
|
-
|
|
445
|
-
2. **Which loop owns the failure mode?** (Loop 1 static, Loop 2 local
|
|
446
|
-
tests/harnesses, Loop 3 boot; unpredictable serving conditions stay runtime)
|
|
447
|
-
|
|
448
|
-
3. **Could it move left?** (e.g. a runtime check that could be a
|
|
449
|
-
boot check, a boot check that could be a static check)
|
|
450
|
-
|
|
451
|
-
4. **Does it emit the structured diagnostic shape?** (ADR-0008)
|
|
452
|
-
|
|
453
|
-
5. **Can a consumer reproduce the failure offline?** (i.e. is it visible to
|
|
454
|
-
Loop 1 or Loop 2, not only after boot or at runtime)
|
|
455
|
-
|
|
456
|
-
6. **Does the feature mutate the consumer's repo?** → CLI (or SDK
|
|
457
|
-
API the CLI uses). Never MCP — the operator agent is not in the
|
|
458
|
-
consumer's repo.
|
|
459
|
-
|
|
460
|
-
7. **Does the feature observe / mutate runtime state in the deployed
|
|
461
|
-
Worker?** → MCP tool, with the ops-role description in the
|
|
462
|
-
tool's `description` field. Or HTTP Trigger + handler if the
|
|
463
|
-
feature is consumer-shaped (a Procedure the consumer wrote).
|
|
464
|
-
An MCP Trigger is the explicit bridge when a consumer intentionally exposes
|
|
465
|
-
a Procedure to an operator surface.
|
|
466
|
-
|
|
467
|
-
Reviewers should treat "this lands as a runtime 500 only" as a
|
|
468
|
-
yellow flag — sometimes correct (genuine runtime conditions), often
|
|
469
|
-
a sign that earlier loops were not considered. Likewise, when a PR
|
|
470
|
-
adds either an MCP tool or a CLI command, check whether the *other*
|
|
471
|
-
surface tries to mirror the change. If yes, that's a flag — push
|
|
472
|
-
the proposer to pick one surface or to articulate a real two-role
|
|
473
|
-
use case.
|