@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,9 +1,24 @@
|
|
|
1
1
|
# Upgrading from 0.1.x to 0.2.0 (for AI agents)
|
|
2
2
|
|
|
3
|
+
For **0.2.0-alpha.7 and later**, use the
|
|
4
|
+
[native SDK migration](handbook/releases/index.md#native-sdk-migration-alpha7),
|
|
5
|
+
[current CLI](handbook/start/project-and-cli.md) and
|
|
6
|
+
[app shell](examples/app-shell/). The application owns routing,
|
|
7
|
+
Auth, native handles and database migrations; the former `createMantle` runtime,
|
|
8
|
+
host presets, boot-time convergence and CLI flags below have been replaced.
|
|
9
|
+
Install the same exact version of `@aotter/mantle`, `@aotter/mantle-ui` and,
|
|
10
|
+
when selecting Admin, `@aotter/mantle-admin`. Start with a new database for a
|
|
11
|
+
0.1.x migration and preserve every authorization, scope and OCC requirement.
|
|
12
|
+
The remainder describes the earlier alpha contract for historical reference.
|
|
13
|
+
|
|
3
14
|
No codemod, and no in-place upgrade of a 0.1.x database. A coding agent moves
|
|
4
|
-
one project by hand with this guide. When it and
|
|
5
|
-
(
|
|
6
|
-
ADR
|
|
15
|
+
one project by hand with this guide. When it and
|
|
16
|
+
[ADR-0032](https://github.com/aotter/mantle/blob/develop/docs/adr/0032-store-centric-core-and-service-contract.md),
|
|
17
|
+
[ADR-0033](https://github.com/aotter/mantle/blob/develop/docs/adr/0033-storage-converges-to-the-plan.md),
|
|
18
|
+
[ADR-0034](https://github.com/aotter/mantle/blob/develop/docs/adr/0034-store-is-authored-as-sql.md),
|
|
19
|
+
[ADR-0035](https://github.com/aotter/mantle/blob/develop/docs/adr/0035-sql-dialects.md),
|
|
20
|
+
[ADR-0036](https://github.com/aotter/mantle/blob/develop/docs/adr/0036-host-and-dialect.md) or
|
|
21
|
+
[ADR-0038](https://github.com/aotter/mantle/blob/develop/docs/adr/0038-bun-native-host.md) disagree, the ADR wins.
|
|
7
22
|
|
|
8
23
|
## Rules
|
|
9
24
|
|
|
@@ -50,7 +65,7 @@ command; it never installs anything.
|
|
|
50
65
|
- `features` is a subset of `mcp`, `admin`, `web`, in that order. The 0.1.x
|
|
51
66
|
features `spec`, `runtime` and `api` are dropped: REST is always mounted.
|
|
52
67
|
- `dialect` is `sqlite` (alias `d1`, the default, left out) or `postgres`
|
|
53
|
-
(PostgreSQL through Hyperdrive on `cloudflare`;
|
|
68
|
+
(PostgreSQL through Hyperdrive on `cloudflare`; node-postgres on `bun`, where it
|
|
54
69
|
is the default). A 0.1.x project was SQLite: keep `sqlite` (with
|
|
55
70
|
`--host bun`, pass `--dialect sqlite`) unless the data also moves to
|
|
56
71
|
PostgreSQL.
|
|
@@ -70,10 +85,10 @@ camelCase names.)
|
|
|
70
85
|
|
|
71
86
|
| 0.1.x | 0.2.0 |
|
|
72
87
|
|---|---|
|
|
73
|
-
| `scope: { owner: $ctx.user.id }` | `scope:
|
|
88
|
+
| `scope: { owner: $ctx.user.id }` | `scope: "owner = auth.uid()"`. The field is a required string, the leftmost column of an index (`indexes: [[owner]]`), and the first column of every `uniqueIndexes` entry. Store fills it; a write never sets it |
|
|
74
89
|
| `x-mantle-bind: ctx.user` on a field only its owner may see | remove the bind; add `scope` as above |
|
|
75
90
|
| any other `x-mantle-bind: ctx.user` | remove the bind; every write that sets the field sets it to `auth.uid()`, never to an input |
|
|
76
|
-
| `x-mantle-bind: ctx.staff` | remove the bind; set it to `auth.uid()` in writes whose Procedure
|
|
91
|
+
| `x-mantle-bind: ctx.staff` | remove the bind; set it to `auth.uid()` in writes whose Procedure requires `ctx.admin` |
|
|
77
92
|
| `x-mantle-bind: now` | remove the bind; set it to `now()` in every write that sets it |
|
|
78
93
|
| `searchableFields` | unchanged, now trigram full-text search; date and date-time fields are refused |
|
|
79
94
|
|
|
@@ -158,11 +173,11 @@ The generated types list exactly the plan's refs.
|
|
|
158
173
|
|---|---|
|
|
159
174
|
| `ctx.user` present | `ctx.caller.kind === "user"`. Never test `!== "anonymous"`: a schedule runs as `system` |
|
|
160
175
|
| `ctx.user.id` | `ctx.caller.subject` (after that check) |
|
|
161
|
-
| `ctx.staff` | `ctx.caller
|
|
176
|
+
| `ctx.staff` | `isAdmin(ctx.caller)` from `@aotter/mantle/contracts` |
|
|
162
177
|
| `ctx.event`, `ctx.schedule` | `ctx.cause` (`kind`: `http`, `mcp`, `internal`, `schedule`, `lifecycle`); `ctx.cause.cron` is POSIX, so shift any cron string the code compares |
|
|
163
178
|
| `ctx.event.entry` | **a loop** over `ctx.cause.rows` (one statement can touch many rows; never `rows[0]`). Rows are flat: `entry.data.x` → `row.x` |
|
|
164
179
|
| `ctx.store.view(name, { params, page, show, search, filters })` | `ctx.store.view(name, { input, limit, cursor, search, filters })`; `search` and `filters` match only the View's `uiSchema.list.searchFields` and `filterFields` |
|
|
165
|
-
| `runtime.entries`, `runtime.executeView`, `ctx.writeAtomically` | `ctx.
|
|
180
|
+
| `runtime.entries`, `runtime.executeView`, `ctx.writeAtomically` | `ctx.db.<schema>.get / first / find`, `ctx.store.view`, `ctx.store.write([...ops])` (all or nothing), `ctx.store.id()` |
|
|
166
181
|
| `runtime.store.as(ctx)` | `runtime.store.as(caller)` |
|
|
167
182
|
| calling another Procedure through a `getRuntime` closure | `await ctx.invoke("procedure-name", input)` (keeps the caller, re-checks its auth) |
|
|
168
183
|
|
|
@@ -179,8 +194,9 @@ only in trusted host code.
|
|
|
179
194
|
old Worker into the new files by hand.
|
|
180
195
|
3. With `identity: mantle`, sign-in uses a console email sender locally;
|
|
181
196
|
replace it with a real `EmailSender` before deploying.
|
|
182
|
-
4.
|
|
183
|
-
|
|
197
|
+
4. Admin MCP moves from `/mcp/staff` to `/mcp/admin`. Update MCP client URLs.
|
|
198
|
+
It admits only the admin layer classified by Better Auth’s admin plugin
|
|
199
|
+
`adminRoles` (default `["admin"]`), and requires the `mcp` scope for tokens.
|
|
184
200
|
5. Import data into the new database through `runtime.store`. A scoped row
|
|
185
201
|
goes through `runtime.store.as(<its owner's caller>)`, so the scope field is
|
|
186
202
|
the owner. `status`, `created_at` and `author_id` cannot be imported:
|
package/package.json
CHANGED
|
@@ -1,148 +1,133 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aotter/mantle",
|
|
3
|
-
"version": "0.2.0-alpha.
|
|
4
|
-
"description": "Mantle: a manifest-driven service core. Store authored as SQL, surfaces as Fetch functions, and the mantle CLI.",
|
|
5
|
-
"license": "Apache-2.0",
|
|
6
|
-
"homepage": "https://mantle.tools/",
|
|
7
|
-
"repository": {
|
|
8
|
-
"type": "git",
|
|
9
|
-
"url": "git+https://github.com/aotter/mantle.git",
|
|
10
|
-
"directory": "packages/mantle"
|
|
11
|
-
},
|
|
3
|
+
"version": "0.2.0-alpha.7",
|
|
12
4
|
"type": "module",
|
|
13
5
|
"sideEffects": false,
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"types": "./dist/core/index.d.ts",
|
|
17
|
-
"import": "./dist/core/index.js"
|
|
18
|
-
},
|
|
19
|
-
"./spec": {
|
|
20
|
-
"types": "./dist/spec/index.d.ts",
|
|
21
|
-
"import": "./dist/spec/index.js"
|
|
22
|
-
},
|
|
23
|
-
"./d1": {
|
|
24
|
-
"types": "./dist/d1/index.d.ts",
|
|
25
|
-
"import": "./dist/d1/index.js"
|
|
26
|
-
},
|
|
27
|
-
"./d1/compile": {
|
|
28
|
-
"types": "./dist/d1/compile/index.d.ts",
|
|
29
|
-
"import": "./dist/d1/compile/index.js",
|
|
30
|
-
"default": "./dist/d1/compile/index.js"
|
|
31
|
-
},
|
|
32
|
-
"./postgres": {
|
|
33
|
-
"types": "./dist/postgres/index.d.ts",
|
|
34
|
-
"import": "./dist/postgres/index.js"
|
|
35
|
-
},
|
|
36
|
-
"./postgres/compile": {
|
|
37
|
-
"types": "./dist/postgres/compile/index.d.ts",
|
|
38
|
-
"import": "./dist/postgres/compile/index.js",
|
|
39
|
-
"default": "./dist/postgres/compile/index.js"
|
|
40
|
-
},
|
|
41
|
-
"./cloudflare": {
|
|
42
|
-
"types": "./dist/cloudflare/index.d.ts",
|
|
43
|
-
"import": "./dist/cloudflare/index.js"
|
|
44
|
-
},
|
|
45
|
-
"./auth": {
|
|
46
|
-
"types": "./dist/auth/index.d.ts",
|
|
47
|
-
"import": "./dist/auth/index.js"
|
|
48
|
-
},
|
|
49
|
-
"./admin": {
|
|
50
|
-
"types": "./dist/admin/index.d.ts",
|
|
51
|
-
"import": "./dist/admin/index.js"
|
|
52
|
-
},
|
|
53
|
-
"./mcp": {
|
|
54
|
-
"types": "./dist/mcp/index.d.ts",
|
|
55
|
-
"import": "./dist/mcp/index.js"
|
|
56
|
-
},
|
|
57
|
-
"./web": {
|
|
58
|
-
"types": "./dist/web/index.d.ts",
|
|
59
|
-
"import": "./dist/web/index.js"
|
|
60
|
-
},
|
|
61
|
-
"./testing": {
|
|
62
|
-
"types": "./dist/testing/index.d.ts",
|
|
63
|
-
"import": "./dist/testing/index.js"
|
|
64
|
-
},
|
|
65
|
-
"./package.json": "./package.json",
|
|
66
|
-
"./bun": {
|
|
67
|
-
"types": "./dist/bun/index.d.ts",
|
|
68
|
-
"import": "./dist/bun/index.js"
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
"bin": {
|
|
72
|
-
"mantle": "./dist/cli/main.js"
|
|
6
|
+
"engines": {
|
|
7
|
+
"node": ">=22.22.0"
|
|
73
8
|
},
|
|
74
9
|
"files": [
|
|
75
10
|
"dist",
|
|
76
|
-
"docs"
|
|
11
|
+
"docs",
|
|
12
|
+
"skills",
|
|
13
|
+
"README.md"
|
|
77
14
|
],
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"tag": "alpha",
|
|
81
|
-
"registry": "https://registry.npmjs.org"
|
|
15
|
+
"bin": {
|
|
16
|
+
"mantle": "./dist/infrastructure/cli.js"
|
|
82
17
|
},
|
|
83
18
|
"dependencies": {
|
|
19
|
+
"esbuild": "0.28.1",
|
|
20
|
+
"jsonc-parser": "3.3.1",
|
|
84
21
|
"@pgsql/types": "18.0.0",
|
|
85
22
|
"libpg-query": "18.1.5",
|
|
86
23
|
"pgsql-deparser": "18.3.8",
|
|
87
|
-
"yaml": "^2.9.
|
|
88
|
-
"zod": "^4.5
|
|
89
|
-
"semver": "^7.8.5"
|
|
24
|
+
"yaml": "^2.9.1",
|
|
25
|
+
"zod": "^4.6.5"
|
|
90
26
|
},
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"
|
|
27
|
+
"exports": {
|
|
28
|
+
".": "./dist/infrastructure/generate.js",
|
|
29
|
+
"./generate": "./dist/infrastructure/generate.js",
|
|
30
|
+
"./contracts": "./dist/kernel/contracts.js",
|
|
31
|
+
"./authorization": "./dist/kernel/authorization.js",
|
|
32
|
+
"./translations": "./dist/kernel/translations.js",
|
|
33
|
+
"./driver/transaction-context": "./dist/kernel/driver/transaction-context.js",
|
|
34
|
+
"./scalars": "./dist/kernel/scalars.js",
|
|
35
|
+
"./binds": "./dist/kernel/binds.js",
|
|
36
|
+
"./testing": "./dist/testing/index.js",
|
|
37
|
+
"./host-access": "./dist/kernel/host-access.js",
|
|
38
|
+
"./host-caller": "./dist/kernel/host-caller.js",
|
|
39
|
+
"./user-fields": "./dist/kernel/user-fields.js",
|
|
40
|
+
"./sweep": "./dist/kernel/sweep.js",
|
|
41
|
+
"./cron": "./dist/kernel/cron.js",
|
|
42
|
+
"./store": "./dist/kernel/store.js",
|
|
43
|
+
"./dialect/sqlite": "./dist/kernel/dialect/sqlite.js",
|
|
44
|
+
"./dialect/postgres": "./dist/kernel/dialect/postgres.js",
|
|
45
|
+
"./driver/bun-sqlite": "./dist/kernel/driver/bun-sqlite.js",
|
|
46
|
+
"./driver/d1": "./dist/kernel/driver/d1.js",
|
|
47
|
+
"./driver/postgres": "./dist/kernel/driver/postgres.js",
|
|
48
|
+
"./email": "./dist/kernel/email.js",
|
|
49
|
+
"./paging": "./dist/kernel/paging.js",
|
|
50
|
+
"./publishing": "./dist/kernel/publishing.js",
|
|
51
|
+
"./rest": "./dist/kernel/rest.js",
|
|
52
|
+
"./mcp": "./dist/kernel/mcp.js",
|
|
53
|
+
"./mcp-apps": "./dist/kernel/mcp-apps.js",
|
|
54
|
+
"./web": "./dist/kernel/web.js",
|
|
55
|
+
"./validation": "./dist/kernel/validation.js",
|
|
56
|
+
"./site": "./dist/kernel/site.js",
|
|
57
|
+
"./media": "./dist/kernel/media.js",
|
|
58
|
+
"./media/r2": "./dist/kernel/r2-media.js",
|
|
59
|
+
"./auth": "./dist/auth/caller.js",
|
|
60
|
+
"./auth/adapter": "./dist/auth/adapter.js",
|
|
61
|
+
"./auth/oauth": "./dist/auth/oauth.js",
|
|
62
|
+
"./auth/routes": "./dist/auth/routes.js",
|
|
63
|
+
"./auth/identity": "./dist/auth/identity.js",
|
|
64
|
+
"./auth/hardening": "./dist/auth/hardening.js",
|
|
65
|
+
"./auth/admin": "./dist/auth/admin.js",
|
|
66
|
+
"./bun/assets": "./dist/bun/assets.js",
|
|
67
|
+
"./surface": "./dist/kernel/surface.js",
|
|
68
|
+
"./json-body": "./dist/kernel/json-body.js",
|
|
69
|
+
"./generate/auth": "./dist/infrastructure/generateAuth.js",
|
|
70
|
+
"./package.json": "./package.json",
|
|
71
|
+
"./describe": "./dist/domain/describe/index.js",
|
|
72
|
+
"./target-hash": "./dist/domain/describe/target-hash.js"
|
|
109
73
|
},
|
|
110
74
|
"peerDependencies": {
|
|
111
|
-
"@
|
|
112
|
-
"@better-auth/
|
|
75
|
+
"@modelcontextprotocol/server": "2.2.0",
|
|
76
|
+
"@better-auth/core": "1.7.7",
|
|
113
77
|
"@better-auth/oauth-provider": "1.7.7",
|
|
114
|
-
"@modelcontextprotocol/ext-apps": "2.0.0",
|
|
115
|
-
"@modelcontextprotocol/server": "2.1.0",
|
|
116
78
|
"better-auth": "1.7.7"
|
|
117
79
|
},
|
|
118
80
|
"peerDependenciesMeta": {
|
|
119
|
-
"@
|
|
81
|
+
"@modelcontextprotocol/server": {
|
|
120
82
|
"optional": true
|
|
121
83
|
},
|
|
122
|
-
"@better-auth/
|
|
84
|
+
"@better-auth/core": {
|
|
123
85
|
"optional": true
|
|
124
86
|
},
|
|
125
87
|
"@better-auth/oauth-provider": {
|
|
126
88
|
"optional": true
|
|
127
89
|
},
|
|
128
|
-
"@modelcontextprotocol/ext-apps": {
|
|
129
|
-
"optional": true
|
|
130
|
-
},
|
|
131
|
-
"@modelcontextprotocol/server": {
|
|
132
|
-
"optional": true
|
|
133
|
-
},
|
|
134
90
|
"better-auth": {
|
|
135
91
|
"optional": true
|
|
136
92
|
}
|
|
137
93
|
},
|
|
138
|
-
"
|
|
139
|
-
"
|
|
94
|
+
"devDependencies": {
|
|
95
|
+
"@modelcontextprotocol/server": "2.2.0",
|
|
96
|
+
"@better-auth/core": "1.7.7",
|
|
97
|
+
"@better-auth/oauth-provider": "1.7.7",
|
|
98
|
+
"@better-auth/test-utils": "1.7.7",
|
|
99
|
+
"@cloudflare/workers-types": "^5.20261008.1",
|
|
100
|
+
"@types/node": "^26",
|
|
101
|
+
"better-auth": "1.7.7",
|
|
102
|
+
"bun-types": "1.4.2",
|
|
103
|
+
"postgres": "3.4.9",
|
|
104
|
+
"typescript": "^6.0.3",
|
|
105
|
+
"wrangler": "4.145.0",
|
|
106
|
+
"vitest": "^5.0.1"
|
|
107
|
+
},
|
|
108
|
+
"description": "Mantle: a manifest-driven service core. Store authored as SQL, surfaces as Fetch functions, and the mantle CLI.",
|
|
109
|
+
"license": "Apache-2.0",
|
|
110
|
+
"homepage": "https://mantle.tools/",
|
|
111
|
+
"repository": {
|
|
112
|
+
"type": "git",
|
|
113
|
+
"url": "git+https://github.com/aotter/mantle.git",
|
|
114
|
+
"directory": "packages/mantle"
|
|
115
|
+
},
|
|
116
|
+
"publishConfig": {
|
|
117
|
+
"access": "public",
|
|
118
|
+
"tag": "alpha",
|
|
119
|
+
"registry": "https://registry.npmjs.org"
|
|
140
120
|
},
|
|
141
121
|
"scripts": {
|
|
142
|
-
"
|
|
143
|
-
"build": "tsc -b tsconfig.lib.json",
|
|
122
|
+
"build": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.lib.json && node scripts/bundle-compiler.mjs && node scripts/prune-declarations.mjs",
|
|
144
123
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|
|
145
|
-
"test": "
|
|
146
|
-
"
|
|
124
|
+
"test": "bun test tests/*.test.ts && bun run test:compiler",
|
|
125
|
+
"generate": "bun src/infrastructure/cli.ts",
|
|
126
|
+
"test:native": "bun scripts/verify-native.ts",
|
|
127
|
+
"bench": "bun scripts/verify-native.ts --bench",
|
|
128
|
+
"check:size": "bun run build && bun scripts/check-size.ts",
|
|
129
|
+
"check:package": "bun run build && bun scripts/check-package.ts",
|
|
130
|
+
"test:compiler": "tsc --noEmit -p tsconfig.compiler.json && vitest run --config vitest.compiler.config.ts",
|
|
131
|
+
"check:startup": "bun scripts/check-size.ts --startup-only"
|
|
147
132
|
}
|
|
148
133
|
}
|
package/skills/.keep
ADDED
|
File without changes
|
package/skills/README.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# SKILL.md briefs (mantle)
|
|
2
|
+
|
|
3
|
+
Agent-readable skills for consumers of `@aotter/mantle` 0.2. There are two
|
|
4
|
+
distributions (ADR-0032 decision 13):
|
|
5
|
+
|
|
6
|
+
- **The plugin** ships one OSS authoring skill, [`mantle`](mantle/SKILL.md),
|
|
7
|
+
without a hosted-service MCP connection or transport.
|
|
8
|
+
- **The npm package** ships the workflow skills under `docs/skills/`. An agent
|
|
9
|
+
reads them from `node_modules/@aotter/mantle/docs/skills/`, matched to the
|
|
10
|
+
installed version. Nothing copies them into a project; 0.2 has no
|
|
11
|
+
`mantle skills` command.
|
|
12
|
+
|
|
13
|
+
| Skill | When to invoke |
|
|
14
|
+
|---|---|
|
|
15
|
+
| [`mantle`](mantle/SKILL.md) | Create or continue a Mantle application and deploy to a user-owned host. |
|
|
16
|
+
| [`develop`](../docs/skills/develop/SKILL.md) | Change manifests, SQL, handlers, the service entry or surfaces of an existing project. |
|
|
17
|
+
| [`integrate`](../docs/skills/integrate/SKILL.md) | Add Mantle to an application that has its own code, users or data, or rebuild one and migrate. |
|
|
18
|
+
| [`update`](../docs/skills/update/SKILL.md) | Upgrade `@aotter/mantle`, including from 0.1.x. |
|
|
19
|
+
| [`provision`](../docs/skills/provision/SKILL.md) | Ship to Cloudflare Workers or ChatGPT Sites with production sign-in. |
|
|
20
|
+
| [`media-gc`](../docs/skills/media-gc/SKILL.md) | Audit or remove stale, uncommitted R2 uploads. |
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Claude Code: two separate prompts
|
|
26
|
+
/plugin marketplace add aotter/mantle
|
|
27
|
+
/plugin install mantle@mantle
|
|
28
|
+
|
|
29
|
+
# Codex
|
|
30
|
+
codex plugin marketplace add aotter/mantle
|
|
31
|
+
codex plugin add mantle@mantle
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Cursor and GitHub Copilot read the manifests from the repository
|
|
35
|
+
(`.cursor-plugin/plugin.json`, `.copilot-plugin/plugin.json`). Without a
|
|
36
|
+
plugin host, `npx skills add aotter/mantle` installs the `mantle` skill and its
|
|
37
|
+
references. The manifests are generated by
|
|
38
|
+
`scripts/sync-plugin-manifests.mjs` and checked with `--check`.
|
|
39
|
+
|
|
40
|
+
Claude Code updates an installed plugin only when its manifest version
|
|
41
|
+
changes, and that version is Core's, so a skill or script update reaches
|
|
42
|
+
Claude Code users with the next Core release.
|
|
43
|
+
|
|
44
|
+
## Disclosure audit
|
|
45
|
+
|
|
46
|
+
Every skill is one `SKILL.md`; the plugin skill carries local acceptance references.
|
|
47
|
+
`scripts/check-skills.mjs` holds this table, the front matter and the links to
|
|
48
|
+
each other: `metadata.projection` is `plugin` for `skills/mantle` and
|
|
49
|
+
`package` for `docs/skills/*`, a reason in the last column must equal
|
|
50
|
+
`metadata.projectionReason`, and a relative link must stay inside what ships
|
|
51
|
+
(the skill's own directory for the plugin, `docs/` for the package).
|
|
52
|
+
|
|
53
|
+
| Skill | Routes on | Entry constraints | Distribution | Restricted because |
|
|
54
|
+
|---|---|---|---|---|
|
|
55
|
+
| `mantle` | new project, existing project, self-host deployment | the installed package's docs win; never use the SDK checkout as the application; no deploy during a cold start | plugin | The plugin's authoring entry skill is installed from the repository; workflow documentation comes from the installed SDK package. |
|
|
56
|
+
| `develop` | manifest, SQL, handler, service or surface work | read the installed version first; never edit generated files; writes through Store/Procedures, richer reads through internal Views | package | — |
|
|
57
|
+
| `integrate` | an application with its own code, users or data | inspect before choosing; the application keeps its users; one writer per table | package | — |
|
|
58
|
+
| `update` | an SDK upgrade | never overwrite application files; 0.1.x moves by the upgrade guide to a new database | package | — |
|
|
59
|
+
| `provision` | ship to production | secrets never in source, chat or logs; a new database for 0.2; self-hosting is always an option | package | Creates remote resources and handles production secrets; opt-in only. |
|
|
60
|
+
| `media-gc` | stale R2 uploads | audit by default; exact keys only, never a prefix delete; re-audit before applying | package | Destructive remote object deletion and Cloudflare-specific; opt-in only. |
|
|
61
|
+
|
|
62
|
+
## Audience
|
|
63
|
+
|
|
64
|
+
These are for **AI agents acting for consumers of Mantle**, not for
|
|
65
|
+
contributors to the SDK, who read the repository's `CONTRIBUTING.md`.
|
|
66
|
+
|
|
67
|
+
## Conventions
|
|
68
|
+
|
|
69
|
+
Each SKILL.md has front matter (`name`, a trigger-complete `description`,
|
|
70
|
+
`metadata.source`, `sourcePath`, `applies_to`, `projection`), the reads to do
|
|
71
|
+
first, concrete commands, the rules an agent must not break, and what to report
|
|
72
|
+
when done. Commands and prose match the package version that carries the skill.
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mantle
|
|
3
|
+
description: Create or continue a Mantle application, test it locally and deploy to a user-owned host using the installed SDK docs.
|
|
4
|
+
metadata:
|
|
5
|
+
source: "@aotter/mantle"
|
|
6
|
+
sourcePath: skills/mantle/SKILL.md
|
|
7
|
+
applies_to: mantle 0.2
|
|
8
|
+
projection: plugin
|
|
9
|
+
projectionReason: The plugin's authoring entry skill is installed from the repository; workflow documentation comes from the installed SDK package.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Mantle
|
|
13
|
+
|
|
14
|
+
The Mantle plugin's one skill. It installs no SDK and creates nothing by
|
|
15
|
+
itself. Once a project has `@aotter/mantle`, the installed package is the
|
|
16
|
+
authority: `node_modules/@aotter/mantle/README.md` and
|
|
17
|
+
`node_modules/@aotter/mantle/docs/`. Prefer them over this file, the SDK
|
|
18
|
+
checkout, or any online copy.
|
|
19
|
+
|
|
20
|
+
## Find the project and its version
|
|
21
|
+
|
|
22
|
+
Work in the user's application, outside the SDK checkout. Read package.json, the lockfile, installed SDK README and node_modules/@aotter/mantle/docs/. Those files define the exact version's contract. Preserve existing identity, handles, routes and resources.
|
|
23
|
+
|
|
24
|
+
For a new project, install an exact published SDK version with matching selected Admin/UI packages. Node must be 22.22 or newer. Add TypeScript and target types; Workers also need Wrangler. Optional auth/MCP peers use the installed SDK's package.json versions. Read the installed handbook's start/project-and-cli.md before choosing a target.
|
|
25
|
+
|
|
26
|
+
For a new Cloudflare app, copy `node_modules/@aotter/mantle/docs/examples/app-shell/` first, then the closest example from `docs/examples/README.md` on top of it, and edit from there: manifests, `src/handlers.ts`, `src/routes.ts`, `src/schedule.ts`, `smoke.mjs`. Search for `AGENT:` to find what the app must fill in; the example pages are unstyled on purpose, so styling them is part of that work. Before reporting done, resolve each `AGENT:` or name the ones you left. Keep the two roles `admin` and `user` unless the user asks for more.
|
|
27
|
+
|
|
28
|
+
For existing older applications, use their installed docs until the user requests an upgrade. For partial adoption read node_modules/@aotter/mantle/docs/skills/integrate/SKILL.md.
|
|
29
|
+
|
|
30
|
+
## Generated native applications
|
|
31
|
+
|
|
32
|
+
Follow the installed (or workspace-linked) package README for generation, Workers
|
|
33
|
+
builds and D1 Sessions; the app owns its entry and routing. Read that
|
|
34
|
+
version's `docs/handbook/reference/features.md` before choosing declarations. Keep auth behind
|
|
35
|
+
`authLoader(() => import(...))` to pass the startup guard. Install only the exact
|
|
36
|
+
released version shown by the installed/target package
|
|
37
|
+
contract. Replacing Core needs explicit app wiring and reviewed deployment
|
|
38
|
+
migrations; never use initial schema.sql as an in-place production upgrade.
|
|
39
|
+
Pass outgoing `responseHeaders` to `resolveCaller` so Better Auth's session cookie
|
|
40
|
+
can slide. Native auth adapters use joins by default; keep the joined primary
|
|
41
|
+
session/user check, including before any refresh from secondary storage.
|
|
42
|
+
Only positively classified View/web reads may pass `readOnly: true`, with official
|
|
43
|
+
cookieCache `{enabled:true,maxAge:60,refreshCache:false,version:"read-60-v1"}` and
|
|
44
|
+
no KV. Bump version when enabling/changing the policy; writes, Admin, consent,
|
|
45
|
+
unknown/ref/media calls stay fresh. Read the installed auth docs before MCP caching.
|
|
46
|
+
|
|
47
|
+
Use the workflow **generate → typecheck → implement listed handlers**. For example:
|
|
48
|
+
|
|
49
|
+
```sh
|
|
50
|
+
pnpm exec mantle generate cloudflare-d1 generated manifests/*.yaml
|
|
51
|
+
pnpm exec tsc --noEmit
|
|
52
|
+
pnpm exec mantle generate cloudflare-d1 generated manifests/*.yaml --check
|
|
53
|
+
```
|
|
54
|
+
Implement every printed `Handlers` key
|
|
55
|
+
and pass the implementations at `store(db, caller, { handlers })` (and selected
|
|
56
|
+
surface options). Run `tsc --noEmit` again before local acceptance.
|
|
57
|
+
Generated Store metadata initializes on its first use, once per module. Bind
|
|
58
|
+
`store(db, caller, options?)` for the current request; never reuse one caller's
|
|
59
|
+
bound Store for another caller.
|
|
60
|
+
|
|
61
|
+
Use `paged/views/<encoded-name>.ts` for bounded cursor walks, including internal
|
|
62
|
+
Views that satisfy the installed package's generation-time paging proofs.
|
|
63
|
+
Call its default export with `(db, caller, input, { limit?, cursor? })`; it returns
|
|
64
|
+
`{ rows, nextCursor? }`. Internal paging creates no public route/tool. Keep bare
|
|
65
|
+
Views for authored-query row arrays, and inspect native EXPLAIN/source indexes
|
|
66
|
+
when grouping: cursor paging does not eliminate aggregation work.
|
|
67
|
+
Bare Views, Store and SQL Procedure results keep driver-native scalar values.
|
|
68
|
+
Selected REST/MCP/Admin boundaries return target-identical `WireRow` types:
|
|
69
|
+
declared integers become safe numbers or exact decimal strings, SQLite/D1
|
|
70
|
+
JSON/booleans become JSON values/booleans, and compiler-declared decimals become
|
|
71
|
+
strings. Selected SQL reads integer text before driver rounding; it cannot repair
|
|
72
|
+
already-rounded writes. Use exported `WireRow` for clients and `Row` for bare
|
|
73
|
+
queries. Computed/ref results remain app-owned.
|
|
74
|
+
|
|
75
|
+
Commit everything `mantle generate` writes, including generated TypeScript, SQL and
|
|
76
|
+
Wrangler edits; keep bundle `dist/` untracked. Never hand-edit generated files.
|
|
77
|
+
Resolve conflicts by merging manifests/options and regenerating. Add the printed
|
|
78
|
+
`.gitattributes` line and run the same generate command with `--check` in CI.
|
|
79
|
+
Compose the app-owned `fetch` using `docs/handbook/cloudflare/service-entry.md`: auth/consent, Admin,
|
|
80
|
+
MCP, REST behind one request-local origin-checked resolver; keep heavy auth dynamic.
|
|
81
|
+
|
|
82
|
+
For selected native Admin, follow the version-matched
|
|
83
|
+
`docs/handbook/guides/native-admin.md`: select `--admin` (or `admin: true`),
|
|
84
|
+
mount `entries(bindings.schemas, bindings.adapter)` and serve the Admin assets
|
|
85
|
+
separately. The three-package preview is one Core SDK, the Admin product and the
|
|
86
|
+
shared UI kit.
|
|
87
|
+
Admin reads share generated whitelisted native View templates, writes use native
|
|
88
|
+
Procedure fragments and generated checks. Ref operations retain typed `ctx.store`
|
|
89
|
+
at request time. Verify member/frontend and admin/Admin OTP, tenant/privacy/TTL,
|
|
90
|
+
publishing, paging, statistics, exact OCC, ref effects and the actual console;
|
|
91
|
+
never retry unknown 503 writes automatically. Read the installed Admin README
|
|
92
|
+
for extensions, raw-body limits, CSP/assets, 22 languages and the developer workspace.
|
|
93
|
+
Use only versions actually published, or the explicitly linked workspace packages.
|
|
94
|
+
|
|
95
|
+
For generated native applications, optional site settings/media are selected
|
|
96
|
+
with `--site <module>` exporting `siteDefaults`. Apply the emitted deployment DDL;
|
|
97
|
+
wire application-owned object storage as documented in `docs/handbook/cloudflare/media-r2.md`.
|
|
98
|
+
|
|
99
|
+
For a generated public website, follow [web mounting and acceptance](references/web.md).
|
|
100
|
+
The app renders HTML and inserts `site.head()`; generated `web.ts` serves the
|
|
101
|
+
indexes and Markdown alternates.
|
|
102
|
+
|
|
103
|
+
## Complete websites
|
|
104
|
+
|
|
105
|
+
For a requested complete website, apply [website defaults](references/website.md)
|
|
106
|
+
without asking the user to enumerate OTP, media, Admin or SEO. Defaults are
|
|
107
|
+
acceptance requirements, not evidence that a missing renderer is implemented.
|
|
108
|
+
Do not report a complete website with blocked required checks.
|
|
109
|
+
|
|
110
|
+
Run the [local HTTP acceptance](references/local-testing.md) for handlers and websites; compilation does not execute their behavior.
|
|
111
|
+
|
|
112
|
+
## Self-hosted deployment
|
|
113
|
+
|
|
114
|
+
Deploy only when the user requests it. Follow the application's selected host
|
|
115
|
+
and the installed `docs/skills/provision/SKILL.md`; use the platform's native
|
|
116
|
+
workflow. Local project creation alone is not deployment authorization.
|
|
117
|
+
|
|
118
|
+
## Existing project and handoff
|
|
119
|
+
|
|
120
|
+
Preserve the user's manifests, `src/` files, identity, package versions and
|
|
121
|
+
provider resources. The app writes its entry (`src/worker.ts` by default;
|
|
122
|
+
`--entry` selects another). Workers generation creates or updates Wrangler's
|
|
123
|
+
split-build settings. Run the same generation command (target, output directory,
|
|
124
|
+
manifests and options) with `--check`, and the project's own tests,
|
|
125
|
+
before and after a change.
|
|
126
|
+
|
|
127
|
+
To add Mantle to an application that has its own code, users and data, read
|
|
128
|
+
`node_modules/@aotter/mantle/docs/skills/integrate/SKILL.md` first.
|
|
129
|
+
|
|
130
|
+
Report the project path, the exact Mantle version, what you changed, the checks
|
|
131
|
+
you ran with their results, and anything left for the user.
|
|
132
|
+
|
|
133
|
+
## Data paths
|
|
134
|
+
|
|
135
|
+
Writes use Store `insert` / `update` / `delete`, atomic `batch` / supported `transaction`, or declared Procedures. Raw SQL writes bypass row rules. Use internal Views for joins, aggregates, OR and reusable reads; Store `findById` / `find` / `first` are for id lookups and simple AND filters. Ref handlers receive `ctx.store` with the same Caller and transaction.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Local HTTP acceptance
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
Generation with `--check` and typechecking prove compilation, not handler execution. Before reporting local readiness or deploying, run the application's existing dev command with isolated local data and a console/test email sender. Use a small application-owned Node `assert` + `fetch` script; no browser, deployment or helper server runner is required.
|
|
5
|
+
|
|
6
|
+
Better Auth limits each email-OTP path to 3 requests/minute per IP; `authHardening` stores rate limits in the database. Local tests signing in several users should send a distinct `cf-connecting-ip` header per user (with that header configured in `ipAddressHeaders`), or wait out the window. With the console sender, the OTP appears in the Wrangler log.
|
|
7
|
+
|
|
8
|
+
- Exercise actual HTTP Triggers for every custom Procedure handler: valid input/output, invalid input, anonymous refusal on protected operations, authorized synthetic caller and expected stored result. A status below 500 alone is not success; assert the expected status and JSON envelope/body. Use only the generated contract's routes, inputs and permissions.
|
|
9
|
+
- For an app-owned `fetch`, exercise its real public routes, not just dist files. Assert HTML content type, visible content and metadata/canonical/JSON-LD with no JavaScript execution, sitemap, robots and an unknown URL returning 404. Create a local synthetic draft and assert it is hidden anonymously; publish, edit and delete it through authorized operations and check the page and sitemap after each change. Reuse the application's existing smoke-test pattern and clean up test rows/server in `finally`.
|
|
10
|
+
- Keep caller authority explicit: use supplied `resolveCaller` and caller-scoped Store/Procedure APIs from the installed service-entry docs. Use the actual local host capabilities; local tests do not prove remote identity/provider wiring.
|
|
11
|
+
- Record commands and passed/failed/blocked cases for the exact commit. Fix failures before source admission; rerun relevant checks after changing source. Packing does not run these checks and an agent's checklist is not server build attestation.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Generated public websites
|
|
2
|
+
|
|
3
|
+
Use this flow only when the installed package README documents concrete native
|
|
4
|
+
queries and generated `web.ts`.
|
|
5
|
+
Earlier Core versions use their own installed handbook. Read the installed
|
|
6
|
+
`docs/handbook/reference/surface.md` and `docs/examples/generated-web/README.md` before writing
|
|
7
|
+
routes; the installed version is authoritative.
|
|
8
|
+
|
|
9
|
+
Mount `web()` when the application serves public HTML and needs `llms.txt`, a
|
|
10
|
+
sitemap or Markdown alternates. Import the generated `web.ts`; pass the native
|
|
11
|
+
`db`, a verified Caller (or the app's resolver), the configured public `origin`,
|
|
12
|
+
`title`, `description` and `pages`. Mount generated `rest.ts` for public View and
|
|
13
|
+
HTTP Trigger APIs. Neither module renders the application's HTML.
|
|
14
|
+
|
|
15
|
+
Each page template's `{parameter}` names exactly match its public View inputs;
|
|
16
|
+
both its View and list View return these parameters. A list View accepts empty
|
|
17
|
+
input. `markdown` names a textual column in the detail View. Supply the same
|
|
18
|
+
SQL-visible data to the HTML renderer through generated Views or the typed Store.
|
|
19
|
+
Never add a frontend status filter: generated SQL owns publishing, scope and TTL.
|
|
20
|
+
|
|
21
|
+
In the Fetch entry, return a handled REST/web response, then render HTML for the
|
|
22
|
+
remaining page routes. Insert `await site.head(request, env)` inside `<head>`:
|
|
23
|
+
it supplies canonical and Markdown alternate tags from the current View row,
|
|
24
|
+
using the configured origin rather than the request host. Escape all other
|
|
25
|
+
application text. An unavailable page needs an application-owned 404; an empty
|
|
26
|
+
`head()` result alone does not render that response.
|
|
27
|
+
|
|
28
|
+
Verify locally before deploying:
|
|
29
|
+
|
|
30
|
+
1. Generate, typecheck, implement every listed ref handler and typecheck again.
|
|
31
|
+
2. Walk the public list's complete cursor chain. Its rows equal the `llms.txt`
|
|
32
|
+
entries and sitemap detail URLs below the documented index caps.
|
|
33
|
+
3. Request each rendered page and assert its canonical uses the configured
|
|
34
|
+
origin and its `.md` alternate returns current Markdown. Request hidden
|
|
35
|
+
drafts, expired/scoped-out rows and malformed paths; they must not leak data.
|
|
36
|
+
4. Check GET/HEAD, 404 `no-store` and escaped HTML. Importing no web entry should
|
|
37
|
+
keep web rendering code out of the application's bundle.
|
|
38
|
+
|
|
39
|
+
The current caps are 5,000 scanned rows/10 queries/1 MiB for `llms.txt`, and
|
|
40
|
+
50,000 rows/100 queries/50 MiB for sitemap. Translation-aware indexes and
|
|
41
|
+
hreflang are a documented follow-up; do not claim them from `locales[0]`.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Complete website defaults
|
|
2
|
+
|
|
3
|
+
These are default generation and acceptance requirements for a complete website,
|
|
4
|
+
unless the user explicitly changes the scope. They do not add Manifest keys or
|
|
5
|
+
change Core's optional composition. Read the installed version's docs and the
|
|
6
|
+
selected host's frontend kit before choosing APIs. Native applications use
|
|
7
|
+
their installed `docs/handbook/guides/native-admin.md` and the
|
|
8
|
+
[web contract](web.md).
|
|
9
|
+
|
|
10
|
+
- Link to host-provided Mantle Admin UI and configured tenant OTP; do not emit frontend assets under host-owned /admin routes. Add visitor sign-in only where
|
|
11
|
+
needed. Do not build a second identity store or configure another mail provider
|
|
12
|
+
when the host already supplies one. Backend permissions enforce roles and data
|
|
13
|
+
access; Host membership is not application admin access.
|
|
14
|
+
- Integrate image selection/upload into content editing through the existing
|
|
15
|
+
Admin media library and host storage. Follow the pinned Core upload/PUT/commit
|
|
16
|
+
contract and `x-mantle-ref: media_assets` plus `x-mcp-hint: media-image`; store committed asset IDs, resolve permanent variants in the frontend, never use an ID as an image URL. Tenant `/mcp/admin` supplies `get_media_upload_policy` → `create_media_upload` → direct HTTP PUT → `commit_media_upload` when its shared media adapter is wired. Follow the pinned media docs for tenant admin authentication (historical Core
|
|
17
|
+
uses admin); host project credentials are not application credentials. Upload capability URLs are temporary,
|
|
18
|
+
not committed public images; anonymous visitors must not gain admin media access.
|
|
19
|
+
- Generate an accessible, responsive public frontend by reading the installed
|
|
20
|
+
`@aotter/mantle/web` REST contract; browser code on static hosts uses
|
|
21
|
+
same-origin fetch, not a server surface imported into the browser. Do not install the historical standalone
|
|
22
|
+
`@aotter/mantle-web` or claim Core supplies an HTML renderer. Application-owned `service.fetch` may render HTML; follow the selected host's static/template and pairing restrictions.
|
|
23
|
+
- Public content follows the installed `docs/handbook/guides/public-pages.md`
|
|
24
|
+
(the one list of head tags, JSON-LD, languages, Markdown, sitemap, robots and
|
|
25
|
+
`llms.txt`). For public content on static hosts disable SPA fallback and check unknown URLs
|
|
26
|
+
return 404. Follow the selected host's permanent origin contract. Missing
|
|
27
|
+
final origin blocks origin-dependent checks.
|
|
28
|
+
Structured data must match visible content; do not fabricate facts or promise
|
|
29
|
+
ranking or AI citation.
|
|
30
|
+
- Verify that content publication, edits and deletion update the crawlable page
|
|
31
|
+
and sitemap. If static generation requires a rebuild, explain the publishing
|
|
32
|
+
dependency; a dynamic blog is blocked until that path exists. Do not silently
|
|
33
|
+
substitute build-time sample content for live tenant content.
|
|
34
|
+
|
|
35
|
+
Before upload, follow the [local HTTP acceptance](local-testing.md): native HTTP HTML responses need no browser or deployment. Before reporting completion, inspect HTML without executing JavaScript, check
|
|
36
|
+
metadata/sitemap and anonymous draft/permission refusal, and exercise OTP,
|
|
37
|
+
content editing and media upload/commit with authorized synthetic accounts.
|
|
38
|
+
Read the host's preview capability limits: disabled mail/media checks stay
|
|
39
|
+
pending, not passed. Use candidate preview first, then an existing explicitly authorized live test
|
|
40
|
+
tenant with authorized admin accounts for disabled services. Do not create or
|
|
41
|
+
publish a test tenant without authorization. Live tests require
|
|
42
|
+
explicit authorization for synthetic writes and cleanup. Without a published
|
|
43
|
+
test tenant or that authorization, report them pending.
|
|
44
|
+
Do not weaken preview isolation, fake success or grant admin privileges outside the authorized test scope to make
|
|
45
|
+
checks pass. Provenance/pairing review does not certify website quality; report
|
|
46
|
+
passed, failed and blocked checks separately. Pending required checks also
|
|
47
|
+
block completion.
|