@aotter/mantle 0.2.0-alpha.6 → 0.2.0-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +152 -45
- package/dist/auth/adapter.d.ts +32 -0
- package/dist/auth/adapter.js +285 -0
- package/dist/auth/admin.d.ts +3 -0
- package/dist/auth/admin.js +21 -0
- package/dist/auth/caller.d.ts +86 -0
- package/dist/auth/caller.js +154 -0
- package/dist/auth/hardening.d.ts +24 -0
- package/dist/auth/hardening.js +40 -0
- package/dist/auth/identity.d.ts +121 -0
- package/dist/auth/identity.js +203 -0
- package/dist/auth/oauth.d.ts +31 -0
- package/dist/auth/oauth.js +124 -0
- package/dist/auth/resource-seeds.js +10 -0
- package/dist/auth/routes.d.ts +32 -0
- package/dist/auth/{createAuthRoutes.js → routes.js} +130 -35
- package/dist/build/compiler.d.ts +790 -0
- package/dist/build/compiler.js +6971 -0
- package/dist/{spec → build/spec}/domain/model/ManifestGrammar.d.ts +24 -42
- package/dist/{spec → build/spec}/domain/model/RuntimePlan.d.ts +77 -3
- package/dist/{spec → build/spec}/domain/model/SqlIr.d.ts +35 -6
- package/dist/build/spec/domain/model/UserFields.d.ts +20 -0
- package/dist/{spec → build/spec}/domain/service/PlanFingerprint.d.ts +2 -1
- package/dist/{spec → build/spec}/kernel/diagnostic.d.ts +1 -30
- package/dist/bun/assets.d.ts +2 -0
- package/dist/bun/assets.js +24 -0
- package/dist/domain/adminOrder.js +24 -0
- package/dist/domain/columns.js +55 -0
- package/dist/domain/describe/chunk-ZIQVLA7X.js +363 -0
- package/dist/domain/describe/index.d.ts +58 -0
- package/dist/domain/describe/index.js +115 -0
- package/dist/domain/describe/target-hash.d.ts +8 -0
- package/dist/domain/describe/target-hash.js +12 -0
- package/dist/domain/describe/targets.d.ts +40 -0
- package/dist/domain/entry.js +33 -0
- package/dist/domain/generated-tools.js +17 -0
- package/dist/domain/generation.d.ts +16 -0
- package/dist/domain/generation.js +1 -0
- package/dist/domain/input.js +17 -0
- package/dist/domain/model.js +1 -0
- package/dist/domain/paging.js +204 -0
- package/dist/domain/recipes.js +19 -0
- package/dist/domain/userReferences.js +5 -0
- package/dist/domain/wireScalars.js +47 -0
- package/dist/infrastructure/adminEntries.js +153 -0
- package/dist/infrastructure/adminPaging.js +72 -0
- package/dist/infrastructure/artifacts.js +71 -0
- package/dist/infrastructure/authSchema.js +83 -0
- package/dist/infrastructure/bundle.js +84 -0
- package/dist/infrastructure/cli.js +101 -0
- package/dist/infrastructure/generate.d.ts +14 -0
- package/dist/infrastructure/generate.js +174 -0
- package/dist/infrastructure/generateAuth.d.ts +8 -0
- package/dist/infrastructure/generateAuth.js +17 -0
- package/dist/infrastructure/inputs.js +36 -0
- package/dist/infrastructure/wrangler.js +71 -0
- package/dist/kernel/authorization.d.ts +4 -0
- package/dist/kernel/authorization.js +16 -0
- package/dist/kernel/binds.d.ts +51 -0
- package/dist/kernel/binds.js +45 -0
- package/dist/kernel/caller-identity.d.ts +24 -0
- package/dist/kernel/caller-identity.js +22 -0
- package/dist/kernel/contract-error.d.ts +12 -0
- package/dist/kernel/contract-error.js +14 -0
- package/dist/kernel/contracts.d.ts +139 -0
- package/dist/kernel/contracts.js +92 -0
- package/dist/{spec/domain/service/CloudflareCron.d.ts → kernel/cron.d.ts} +0 -1
- package/dist/{spec/domain/service/CloudflareCron.js → kernel/cron.js} +1 -6
- package/dist/kernel/dialect/common.d.ts +39 -0
- package/dist/kernel/dialect/common.js +6 -0
- package/dist/kernel/dialect/postgres.d.ts +16 -0
- package/dist/kernel/dialect/postgres.js +18 -0
- package/dist/kernel/dialect/sqlite.d.ts +20 -0
- package/dist/kernel/dialect/sqlite.js +34 -0
- package/dist/kernel/driver/bun-sqlite.d.ts +19 -0
- package/dist/kernel/driver/bun-sqlite.js +77 -0
- package/dist/kernel/driver/d1.d.ts +24 -0
- package/dist/kernel/driver/d1.js +22 -0
- package/dist/kernel/driver/postgres.d.ts +25 -0
- package/dist/kernel/driver/postgres.js +95 -0
- package/dist/kernel/driver/transaction-context.d.ts +10 -0
- package/dist/kernel/driver/transaction-context.js +29 -0
- package/dist/kernel/email.d.ts +28 -0
- package/dist/{auth/emailTemplates.js → kernel/email.js} +13 -2
- package/dist/kernel/host-access.d.ts +10 -0
- package/dist/kernel/host-access.js +65 -0
- package/dist/kernel/host-caller.d.ts +38 -0
- package/dist/kernel/host-caller.js +55 -0
- package/dist/kernel/json-body.d.ts +4 -0
- package/dist/kernel/json-body.js +44 -0
- package/dist/kernel/mcp-apps.d.ts +49 -0
- package/dist/kernel/mcp-apps.js +40 -0
- package/dist/kernel/mcp-call.d.ts +5 -0
- package/dist/kernel/mcp-call.js +25 -0
- package/dist/kernel/mcp-handler.js +288 -0
- package/dist/kernel/mcp.d.ts +101 -0
- package/dist/kernel/mcp.js +25 -0
- package/dist/kernel/media.d.ts +27 -0
- package/dist/kernel/media.js +216 -0
- package/dist/kernel/paging.d.ts +55 -0
- package/dist/kernel/paging.js +95 -0
- package/dist/kernel/publishing.d.ts +4 -0
- package/dist/kernel/publishing.js +16 -0
- package/dist/{cloudflare/r2Media.d.ts → kernel/r2-media.d.ts} +4 -5
- package/dist/kernel/r2-media.js +78 -0
- package/dist/kernel/rest-dispatch.js +38 -0
- package/dist/kernel/rest-router.js +63 -0
- package/dist/kernel/rest.d.ts +58 -0
- package/dist/kernel/rest.js +41 -0
- package/dist/kernel/scalars.d.ts +6 -0
- package/dist/kernel/scalars.js +43 -0
- package/dist/kernel/search.js +5 -0
- package/dist/{core/site.d.ts → kernel/site-types.d.ts} +38 -9
- package/dist/kernel/site-types.js +1 -0
- package/dist/kernel/site.d.ts +41 -0
- package/dist/kernel/site.js +32 -0
- package/dist/kernel/store.d.ts +165 -0
- package/dist/kernel/store.js +257 -0
- package/dist/kernel/surface.d.ts +10 -0
- package/dist/kernel/surface.js +19 -0
- package/dist/kernel/sweep.d.ts +17 -0
- package/dist/kernel/sweep.js +27 -0
- package/dist/kernel/translations.d.ts +1 -0
- package/dist/kernel/translations.js +13 -0
- package/dist/kernel/user-caller.d.ts +31 -0
- package/dist/kernel/user-caller.js +67 -0
- package/dist/kernel/user-field-name.js +3 -0
- package/dist/kernel/user-fields.d.ts +34 -0
- package/dist/kernel/user-fields.js +71 -0
- package/dist/kernel/validation.d.ts +15 -0
- package/dist/kernel/validation.js +54 -0
- package/dist/kernel/web-gateway.js +68 -0
- package/dist/kernel/web-head.js +15 -0
- package/dist/kernel/web-response.js +8 -0
- package/dist/kernel/web.d.ts +75 -0
- package/dist/kernel/web.js +155 -0
- package/dist/kernel/where.js +27 -0
- package/dist/testing/index.d.ts +1 -37
- package/dist/testing/index.js +1 -43
- package/dist/usecase/adminBindings.js +142 -0
- package/dist/usecase/adminDescriptors.js +153 -0
- package/dist/usecase/generate.js +164 -0
- package/dist/usecase/handlers.js +21 -0
- package/dist/usecase/mcp-media.js +17 -0
- package/dist/usecase/mcp.js +96 -0
- package/dist/usecase/paging.js +72 -0
- package/dist/usecase/publishing.js +63 -0
- package/dist/usecase/refusals.js +27 -0
- package/dist/usecase/rest.js +54 -0
- package/dist/usecase/search.js +7 -0
- package/dist/usecase/site.js +40 -0
- package/dist/usecase/stores.js +62 -0
- package/dist/usecase/translations.js +78 -0
- package/dist/usecase/ttl.js +20 -0
- package/dist/usecase/validation.js +132 -0
- package/dist/usecase/web.js +22 -0
- package/docs/examples/README.md +31 -16
- package/docs/examples/app-shell/README.md +48 -0
- package/docs/examples/app-shell/package.json +34 -0
- package/docs/examples/app-shell/pnpm-workspace.yaml +8 -0
- package/docs/examples/app-shell/smoke-kit.mjs +100 -0
- package/docs/examples/app-shell/src/admin.ts +10 -0
- package/docs/examples/app-shell/src/auth.ts +55 -0
- package/docs/examples/app-shell/src/handlers.ts +5 -0
- package/docs/examples/app-shell/src/index.ts +4 -0
- package/docs/examples/app-shell/src/routes.ts +13 -0
- package/docs/examples/app-shell/src/schedule.ts +8 -0
- package/docs/examples/app-shell/src/service.ts +70 -0
- package/docs/examples/app-shell/src/sign-in.ts +41 -0
- package/docs/examples/app-shell/src/signup.ts +8 -0
- package/docs/examples/{reference-service → app-shell}/tsconfig.json +2 -1
- package/docs/examples/app-shell/worker-configuration.d.ts +22 -0
- package/docs/examples/app-shell/wrangler.jsonc +61 -0
- package/docs/examples/club-events/README.md +60 -0
- package/docs/examples/club-events/manifests/club-events.yaml +225 -0
- package/docs/examples/club-events/smoke.mjs +121 -0
- package/docs/examples/club-events/src/handlers.ts +25 -0
- package/docs/examples/club-events/src/signup.ts +9 -0
- package/docs/examples/generated-web/README.md +74 -0
- package/docs/examples/generated-web/posts.yaml +38 -0
- package/docs/examples/generated-web/seed.sql +6 -0
- package/docs/examples/generated-web/src/worker.ts +43 -0
- package/docs/examples/generated-web/tsconfig.json +8 -0
- package/docs/examples/generated-web/wrangler.jsonc +7 -0
- package/docs/examples/purchasing/.dev.vars.example +6 -0
- package/docs/examples/purchasing/README.md +90 -0
- package/docs/examples/purchasing/manifests/purchasing.yaml +341 -0
- package/docs/examples/purchasing/seed.sql +4 -0
- package/docs/examples/purchasing/smoke.mjs +171 -0
- package/docs/examples/purchasing/src/admin.ts +12 -0
- package/docs/examples/purchasing/src/handlers.ts +33 -0
- package/docs/examples/purchasing/src/notify.ts +29 -0
- package/docs/examples/purchasing/src/requests-page.ts +57 -0
- package/docs/examples/purchasing/src/routes.ts +53 -0
- package/docs/examples/purchasing/src/schedule.ts +31 -0
- package/docs/examples/purchasing/src/signup.ts +5 -0
- package/docs/examples/purchasing/src/supplier.ts +32 -0
- package/docs/examples/purchasing/wrangler.jsonc +68 -0
- package/docs/examples/recipes/README.md +58 -0
- package/docs/examples/recipes/manifests/recipes.yaml +75 -0
- package/docs/examples/recipes/smoke.mjs +102 -0
- package/docs/examples/recipes/src/media.ts +13 -0
- package/docs/examples/recipes/src/pages.ts +99 -0
- package/docs/examples/recipes/src/routes.ts +71 -0
- package/docs/examples/recipes/src/site-config.ts +12 -0
- package/docs/examples/recipes/wrangler.jsonc +73 -0
- package/docs/handbook/cloudflare/authentication.md +142 -212
- package/docs/handbook/cloudflare/chatgpt-sites.md +4 -113
- package/docs/handbook/cloudflare/deploy-and-operate.md +20 -106
- package/docs/handbook/cloudflare/media-r2.md +62 -133
- package/docs/handbook/cloudflare/service-entry.md +180 -116
- package/docs/handbook/concepts/authorization.md +10 -123
- package/docs/handbook/concepts/four-atoms.md +9 -92
- package/docs/handbook/concepts/lifecycle-and-locales.md +9 -80
- package/docs/handbook/concepts/mcp-and-agents.md +10 -141
- package/docs/handbook/concepts/procedures-and-triggers.md +5 -162
- package/docs/handbook/concepts/runtime-and-adapters.md +15 -224
- package/docs/handbook/concepts/views.md +10 -109
- package/docs/handbook/examples/hub.md +2 -18
- package/docs/handbook/guides/adapter-guide.md +11 -0
- package/docs/handbook/guides/admin-extensions.md +12 -183
- package/docs/handbook/guides/admin-ui.md +5 -164
- package/docs/handbook/guides/agent-setup.md +5 -18
- package/docs/handbook/guides/email.md +86 -0
- package/docs/handbook/guides/mcp-apps.md +44 -0
- package/docs/handbook/guides/native-admin.md +298 -0
- package/docs/handbook/guides/native-execution.md +132 -0
- package/docs/handbook/guides/oauth.md +105 -0
- package/docs/handbook/guides/postgres-adapters.md +56 -0
- package/docs/handbook/guides/public-pages.md +53 -0
- package/docs/handbook/guides/size-and-startup.md +9 -0
- package/docs/handbook/guides/typed-queries.md +39 -102
- package/docs/handbook/navigation.json +164 -31
- package/docs/handbook/reference/admin-descriptors.md +88 -0
- package/docs/handbook/reference/authorization.md +44 -52
- package/docs/handbook/reference/describe.md +56 -0
- package/docs/handbook/reference/diagnostics.md +15 -79
- package/docs/handbook/reference/features.md +45 -53
- package/docs/handbook/reference/manifest.md +6 -69
- package/docs/handbook/reference/procedure.md +9 -118
- package/docs/handbook/reference/schema.md +75 -185
- package/docs/handbook/reference/site-config.md +5 -65
- package/docs/handbook/reference/surface.md +279 -97
- package/docs/handbook/reference/trigger.md +24 -93
- package/docs/handbook/reference/view.md +32 -160
- package/docs/handbook/releases/index.md +48 -13
- package/docs/handbook/start/overview.md +9 -56
- package/docs/handbook/start/project-and-cli.md +40 -149
- package/docs/handbook/start/quickstart-worker.md +38 -116
- package/docs/skills/develop/SKILL.md +34 -123
- package/docs/skills/develop/mcp-app.md +37 -77
- package/docs/skills/integrate/SKILL.md +42 -84
- package/docs/skills/media-gc/SKILL.md +14 -3
- package/docs/skills/provision/SKILL.md +25 -91
- package/docs/skills/update/SKILL.md +19 -43
- package/docs/source/scripts/postgres-adapter.ts +101 -0
- package/docs/upgrade-0.1-to-0.2.md +25 -9
- package/package.json +96 -112
- package/skills/.keep +0 -0
- package/skills/README.md +72 -0
- package/skills/mantle/SKILL.md +135 -0
- package/skills/mantle/references/local-testing.md +11 -0
- package/skills/mantle/references/web.md +41 -0
- package/skills/mantle/references/website.md +47 -0
- package/dist/admin/consent.d.ts +0 -17
- package/dist/admin/consent.d.ts.map +0 -1
- package/dist/admin/consent.js +0 -17
- package/dist/admin/consent.js.map +0 -1
- package/dist/admin/createAdminSurface.d.ts +0 -25
- package/dist/admin/createAdminSurface.d.ts.map +0 -1
- package/dist/admin/createAdminSurface.js +0 -635
- package/dist/admin/createAdminSurface.js.map +0 -1
- package/dist/admin/design.d.ts +0 -7
- package/dist/admin/design.d.ts.map +0 -1
- package/dist/admin/design.js +0 -18
- package/dist/admin/design.js.map +0 -1
- package/dist/admin/developerConsole.d.ts +0 -267
- package/dist/admin/developerConsole.d.ts.map +0 -1
- package/dist/admin/developerConsole.js +0 -136
- package/dist/admin/developerConsole.js.map +0 -1
- package/dist/admin/extensions.d.ts +0 -290
- package/dist/admin/extensions.d.ts.map +0 -1
- package/dist/admin/extensions.js +0 -532
- package/dist/admin/extensions.js.map +0 -1
- package/dist/admin/identity.d.ts +0 -62
- package/dist/admin/identity.d.ts.map +0 -1
- package/dist/admin/identity.js +0 -7
- package/dist/admin/identity.js.map +0 -1
- package/dist/admin/index.d.ts +0 -7
- package/dist/admin/index.d.ts.map +0 -1
- package/dist/admin/index.js +0 -7
- package/dist/admin/index.js.map +0 -1
- package/dist/admin/procedureFlow.d.ts +0 -38
- package/dist/admin/procedureFlow.d.ts.map +0 -1
- package/dist/admin/procedureFlow.js +0 -188
- package/dist/admin/procedureFlow.js.map +0 -1
- package/dist/auth/ConsoleEmailSender.d.ts +0 -15
- package/dist/auth/ConsoleEmailSender.d.ts.map +0 -1
- package/dist/auth/ConsoleEmailSender.js +0 -19
- package/dist/auth/ConsoleEmailSender.js.map +0 -1
- package/dist/auth/appleClientSecret.d.ts +0 -75
- package/dist/auth/appleClientSecret.d.ts.map +0 -1
- package/dist/auth/appleClientSecret.js +0 -116
- package/dist/auth/appleClientSecret.js.map +0 -1
- package/dist/auth/buildAuth.d.ts +0 -4568
- package/dist/auth/buildAuth.d.ts.map +0 -1
- package/dist/auth/buildAuth.js +0 -312
- package/dist/auth/buildAuth.js.map +0 -1
- package/dist/auth/callerResolver.d.ts +0 -52
- package/dist/auth/callerResolver.d.ts.map +0 -1
- package/dist/auth/callerResolver.js +0 -52
- package/dist/auth/callerResolver.js.map +0 -1
- package/dist/auth/createAuthRoutes.d.ts +0 -22
- package/dist/auth/createAuthRoutes.d.ts.map +0 -1
- package/dist/auth/createAuthRoutes.js.map +0 -1
- package/dist/auth/createMantleAuth.d.ts +0 -3
- package/dist/auth/createMantleAuth.d.ts.map +0 -1
- package/dist/auth/createMantleAuth.js +0 -504
- package/dist/auth/createMantleAuth.js.map +0 -1
- package/dist/auth/db.d.ts +0 -18
- package/dist/auth/db.d.ts.map +0 -1
- package/dist/auth/db.js +0 -27
- package/dist/auth/db.js.map +0 -1
- package/dist/auth/emailTemplates.d.ts +0 -7
- package/dist/auth/emailTemplates.d.ts.map +0 -1
- package/dist/auth/emailTemplates.js.map +0 -1
- package/dist/auth/index.d.ts +0 -9
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/index.js +0 -7
- package/dist/auth/index.js.map +0 -1
- package/dist/auth/methods.d.ts +0 -717
- package/dist/auth/methods.d.ts.map +0 -1
- package/dist/auth/methods.js +0 -321
- package/dist/auth/methods.js.map +0 -1
- package/dist/auth/oauthTokens.d.ts +0 -24
- package/dist/auth/oauthTokens.d.ts.map +0 -1
- package/dist/auth/oauthTokens.js +0 -146
- package/dist/auth/oauthTokens.js.map +0 -1
- package/dist/auth/setupIncomplete.d.ts +0 -16
- package/dist/auth/setupIncomplete.d.ts.map +0 -1
- package/dist/auth/setupIncomplete.js +0 -50
- package/dist/auth/setupIncomplete.js.map +0 -1
- package/dist/auth/types.d.ts +0 -440
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/auth/types.js +0 -10
- package/dist/auth/types.js.map +0 -1
- package/dist/bun/index.d.ts +0 -21
- package/dist/bun/index.d.ts.map +0 -1
- package/dist/bun/index.js +0 -46
- package/dist/bun/index.js.map +0 -1
- package/dist/cli/emitModule.d.ts +0 -7
- package/dist/cli/emitModule.d.ts.map +0 -1
- package/dist/cli/emitModule.js +0 -127
- package/dist/cli/emitModule.js.map +0 -1
- package/dist/cli/generate.d.ts +0 -8
- package/dist/cli/generate.d.ts.map +0 -1
- package/dist/cli/generate.js +0 -391
- package/dist/cli/generate.js.map +0 -1
- package/dist/cli/main.d.ts +0 -3
- package/dist/cli/main.d.ts.map +0 -1
- package/dist/cli/main.js +0 -21
- package/dist/cli/main.js.map +0 -1
- package/dist/cli/preset.d.ts +0 -18
- package/dist/cli/preset.d.ts.map +0 -1
- package/dist/cli/preset.js +0 -405
- package/dist/cli/preset.js.map +0 -1
- package/dist/cloudflare/index.d.ts +0 -25
- package/dist/cloudflare/index.d.ts.map +0 -1
- package/dist/cloudflare/index.js +0 -16
- package/dist/cloudflare/index.js.map +0 -1
- package/dist/cloudflare/r2Media.d.ts.map +0 -1
- package/dist/cloudflare/r2Media.js +0 -69
- package/dist/cloudflare/r2Media.js.map +0 -1
- package/dist/core/caller.d.ts +0 -35
- package/dist/core/caller.d.ts.map +0 -1
- package/dist/core/caller.js +0 -3
- package/dist/core/caller.js.map +0 -1
- package/dist/core/createMantle.d.ts +0 -22
- package/dist/core/createMantle.d.ts.map +0 -1
- package/dist/core/createMantle.js +0 -117
- package/dist/core/createMantle.js.map +0 -1
- package/dist/core/dialect.d.ts +0 -53
- package/dist/core/dialect.d.ts.map +0 -1
- package/dist/core/dialect.js +0 -7
- package/dist/core/dialect.js.map +0 -1
- package/dist/core/driver.d.ts +0 -24
- package/dist/core/driver.d.ts.map +0 -1
- package/dist/core/driver.js +0 -2
- package/dist/core/driver.js.map +0 -1
- package/dist/core/email.d.ts +0 -17
- package/dist/core/email.d.ts.map +0 -1
- package/dist/core/email.js +0 -2
- package/dist/core/email.js.map +0 -1
- package/dist/core/index.d.ts +0 -16
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -16
- package/dist/core/index.js.map +0 -1
- package/dist/core/invocation.d.ts +0 -66
- package/dist/core/invocation.d.ts.map +0 -1
- package/dist/core/invocation.js +0 -3
- package/dist/core/invocation.js.map +0 -1
- package/dist/core/observation.d.ts +0 -3
- package/dist/core/observation.d.ts.map +0 -1
- package/dist/core/observation.js +0 -10
- package/dist/core/observation.js.map +0 -1
- package/dist/core/runtime/auth.d.ts +0 -9
- package/dist/core/runtime/auth.d.ts.map +0 -1
- package/dist/core/runtime/auth.js +0 -39
- package/dist/core/runtime/auth.js.map +0 -1
- package/dist/core/runtime/createRuntime.d.ts +0 -23
- package/dist/core/runtime/createRuntime.d.ts.map +0 -1
- package/dist/core/runtime/createRuntime.js +0 -214
- package/dist/core/runtime/createRuntime.js.map +0 -1
- package/dist/core/runtime/verifyPlan.d.ts +0 -34
- package/dist/core/runtime/verifyPlan.d.ts.map +0 -1
- package/dist/core/runtime/verifyPlan.js +0 -301
- package/dist/core/runtime/verifyPlan.js.map +0 -1
- package/dist/core/service.d.ts +0 -45
- package/dist/core/service.d.ts.map +0 -1
- package/dist/core/service.js +0 -2
- package/dist/core/service.js.map +0 -1
- package/dist/core/sessionUser.d.ts +0 -14
- package/dist/core/sessionUser.d.ts.map +0 -1
- package/dist/core/sessionUser.js +0 -4
- package/dist/core/sessionUser.js.map +0 -1
- package/dist/core/site.d.ts.map +0 -1
- package/dist/core/site.js +0 -2
- package/dist/core/site.js.map +0 -1
- package/dist/core/siteConfig.d.ts +0 -5
- package/dist/core/siteConfig.d.ts.map +0 -1
- package/dist/core/siteConfig.js +0 -24
- package/dist/core/siteConfig.js.map +0 -1
- package/dist/core/sql/allowlist.d.ts +0 -67
- package/dist/core/sql/allowlist.d.ts.map +0 -1
- package/dist/core/sql/allowlist.js +0 -737
- package/dist/core/sql/allowlist.js.map +0 -1
- package/dist/core/sql/ast.d.ts +0 -24
- package/dist/core/sql/ast.d.ts.map +0 -1
- package/dist/core/sql/ast.js +0 -32
- package/dist/core/sql/ast.js.map +0 -1
- package/dist/core/sql/compile.d.ts +0 -50
- package/dist/core/sql/compile.d.ts.map +0 -1
- package/dist/core/sql/compile.js +0 -48
- package/dist/core/sql/compile.js.map +0 -1
- package/dist/core/sql/policy.d.ts +0 -123
- package/dist/core/sql/policy.d.ts.map +0 -1
- package/dist/core/sql/policy.js +0 -398
- package/dist/core/sql/policy.js.map +0 -1
- package/dist/core/sql/positions.d.ts +0 -30
- package/dist/core/sql/positions.d.ts.map +0 -1
- package/dist/core/sql/positions.js +0 -22
- package/dist/core/sql/positions.js.map +0 -1
- package/dist/core/sql/run.d.ts +0 -68
- package/dist/core/sql/run.d.ts.map +0 -1
- package/dist/core/sql/run.js +0 -384
- package/dist/core/sql/run.js.map +0 -1
- package/dist/core/store/createStore.d.ts +0 -49
- package/dist/core/store/createStore.d.ts.map +0 -1
- package/dist/core/store/createStore.js +0 -227
- package/dist/core/store/createStore.js.map +0 -1
- package/dist/core/store/cursor.d.ts +0 -4
- package/dist/core/store/cursor.d.ts.map +0 -1
- package/dist/core/store/cursor.js +0 -22
- package/dist/core/store/cursor.js.map +0 -1
- package/dist/core/store/json.d.ts +0 -80
- package/dist/core/store/json.d.ts.map +0 -1
- package/dist/core/store/json.js +0 -342
- package/dist/core/store/json.js.map +0 -1
- package/dist/core/store.d.ts +0 -160
- package/dist/core/store.d.ts.map +0 -1
- package/dist/core/store.js +0 -2
- package/dist/core/store.js.map +0 -1
- package/dist/core/wire.d.ts +0 -20
- package/dist/core/wire.d.ts.map +0 -1
- package/dist/core/wire.js +0 -84
- package/dist/core/wire.js.map +0 -1
- package/dist/core/withCaller.d.ts +0 -24
- package/dist/core/withCaller.d.ts.map +0 -1
- package/dist/core/withCaller.js +0 -35
- package/dist/core/withCaller.js.map +0 -1
- package/dist/d1/adapter.d.ts +0 -12
- package/dist/d1/adapter.d.ts.map +0 -1
- package/dist/d1/adapter.js +0 -23
- package/dist/d1/adapter.js.map +0 -1
- package/dist/d1/codec.d.ts +0 -14
- package/dist/d1/codec.d.ts.map +0 -1
- package/dist/d1/codec.js +0 -136
- package/dist/d1/codec.js.map +0 -1
- package/dist/d1/compile/index.d.ts +0 -9
- package/dist/d1/compile/index.d.ts.map +0 -1
- package/dist/d1/compile/index.js +0 -9
- package/dist/d1/compile/index.js.map +0 -1
- package/dist/d1/dialect.d.ts +0 -4
- package/dist/d1/dialect.d.ts.map +0 -1
- package/dist/d1/dialect.js +0 -13
- package/dist/d1/dialect.js.map +0 -1
- package/dist/d1/executor.d.ts +0 -15
- package/dist/d1/executor.d.ts.map +0 -1
- package/dist/d1/executor.js +0 -96
- package/dist/d1/executor.js.map +0 -1
- package/dist/d1/index.d.ts +0 -6
- package/dist/d1/index.d.ts.map +0 -1
- package/dist/d1/index.js +0 -6
- package/dist/d1/index.js.map +0 -1
- package/dist/d1/lower.d.ts +0 -8
- package/dist/d1/lower.d.ts.map +0 -1
- package/dist/d1/lower.js +0 -167
- package/dist/d1/lower.js.map +0 -1
- package/dist/d1/media.d.ts +0 -5
- package/dist/d1/media.d.ts.map +0 -1
- package/dist/d1/media.js +0 -157
- package/dist/d1/media.js.map +0 -1
- package/dist/d1/migrations.d.ts +0 -12
- package/dist/d1/migrations.d.ts.map +0 -1
- package/dist/d1/migrations.js +0 -111
- package/dist/d1/migrations.js.map +0 -1
- package/dist/d1/print.d.ts +0 -28
- package/dist/d1/print.d.ts.map +0 -1
- package/dist/d1/print.js +0 -54
- package/dist/d1/print.js.map +0 -1
- package/dist/d1/site.d.ts +0 -17
- package/dist/d1/site.d.ts.map +0 -1
- package/dist/d1/site.js +0 -63
- package/dist/d1/site.js.map +0 -1
- package/dist/d1/storage.d.ts +0 -34
- package/dist/d1/storage.d.ts.map +0 -1
- package/dist/d1/storage.js +0 -288
- package/dist/d1/storage.js.map +0 -1
- package/dist/d1/tz.d.ts +0 -21
- package/dist/d1/tz.d.ts.map +0 -1
- package/dist/d1/tz.js +0 -54
- package/dist/d1/tz.js.map +0 -1
- package/dist/d1/validator.d.ts +0 -10
- package/dist/d1/validator.d.ts.map +0 -1
- package/dist/d1/validator.js +0 -33
- package/dist/d1/validator.js.map +0 -1
- package/dist/mcp/apps.d.ts +0 -43
- package/dist/mcp/apps.d.ts.map +0 -1
- package/dist/mcp/apps.js +0 -57
- package/dist/mcp/apps.js.map +0 -1
- package/dist/mcp/catalog.d.ts +0 -55
- package/dist/mcp/catalog.d.ts.map +0 -1
- package/dist/mcp/catalog.js +0 -81
- package/dist/mcp/catalog.js.map +0 -1
- package/dist/mcp/createMcpSurface.d.ts +0 -60
- package/dist/mcp/createMcpSurface.d.ts.map +0 -1
- package/dist/mcp/createMcpSurface.js +0 -182
- package/dist/mcp/createMcpSurface.js.map +0 -1
- package/dist/mcp/index.d.ts +0 -4
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/index.js +0 -4
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/media.d.ts +0 -9
- package/dist/mcp/media.d.ts.map +0 -1
- package/dist/mcp/media.js +0 -33
- package/dist/mcp/media.js.map +0 -1
- package/dist/postgres/adapter.d.ts +0 -23
- package/dist/postgres/adapter.d.ts.map +0 -1
- package/dist/postgres/adapter.js +0 -50
- package/dist/postgres/adapter.js.map +0 -1
- package/dist/postgres/codec.d.ts +0 -13
- package/dist/postgres/codec.d.ts.map +0 -1
- package/dist/postgres/codec.js +0 -110
- package/dist/postgres/codec.js.map +0 -1
- package/dist/postgres/compile/index.d.ts +0 -9
- package/dist/postgres/compile/index.d.ts.map +0 -1
- package/dist/postgres/compile/index.js +0 -9
- package/dist/postgres/compile/index.js.map +0 -1
- package/dist/postgres/driver.d.ts +0 -109
- package/dist/postgres/driver.d.ts.map +0 -1
- package/dist/postgres/driver.js +0 -186
- package/dist/postgres/driver.js.map +0 -1
- package/dist/postgres/executor.d.ts +0 -28
- package/dist/postgres/executor.d.ts.map +0 -1
- package/dist/postgres/executor.js +0 -96
- package/dist/postgres/executor.js.map +0 -1
- package/dist/postgres/index.d.ts +0 -8
- package/dist/postgres/index.d.ts.map +0 -1
- package/dist/postgres/index.js +0 -8
- package/dist/postgres/index.js.map +0 -1
- package/dist/postgres/lower.d.ts +0 -6
- package/dist/postgres/lower.d.ts.map +0 -1
- package/dist/postgres/lower.js +0 -152
- package/dist/postgres/lower.js.map +0 -1
- package/dist/postgres/print.d.ts +0 -11
- package/dist/postgres/print.d.ts.map +0 -1
- package/dist/postgres/print.js +0 -108
- package/dist/postgres/print.js.map +0 -1
- package/dist/postgres/session.d.ts +0 -9
- package/dist/postgres/session.d.ts.map +0 -1
- package/dist/postgres/session.js +0 -111
- package/dist/postgres/session.js.map +0 -1
- package/dist/postgres/storage.d.ts +0 -32
- package/dist/postgres/storage.d.ts.map +0 -1
- package/dist/postgres/storage.js +0 -283
- package/dist/postgres/storage.js.map +0 -1
- package/dist/postgres/validator.d.ts +0 -13
- package/dist/postgres/validator.d.ts.map +0 -1
- package/dist/postgres/validator.js +0 -53
- package/dist/postgres/validator.js.map +0 -1
- package/dist/spec/domain/index.d.ts +0 -3
- package/dist/spec/domain/index.d.ts.map +0 -1
- package/dist/spec/domain/index.js +0 -3
- package/dist/spec/domain/index.js.map +0 -1
- package/dist/spec/domain/model/ContentState.d.ts +0 -8
- package/dist/spec/domain/model/ContentState.d.ts.map +0 -1
- package/dist/spec/domain/model/ContentState.js +0 -7
- package/dist/spec/domain/model/ContentState.js.map +0 -1
- package/dist/spec/domain/model/Entry.d.ts +0 -29
- package/dist/spec/domain/model/Entry.d.ts.map +0 -1
- package/dist/spec/domain/model/Entry.js +0 -16
- package/dist/spec/domain/model/Entry.js.map +0 -1
- package/dist/spec/domain/model/Locale.d.ts +0 -30
- package/dist/spec/domain/model/Locale.d.ts.map +0 -1
- package/dist/spec/domain/model/Locale.js +0 -33
- package/dist/spec/domain/model/Locale.js.map +0 -1
- package/dist/spec/domain/model/ManifestGrammar.d.ts.map +0 -1
- package/dist/spec/domain/model/ManifestGrammar.js +0 -153
- package/dist/spec/domain/model/ManifestGrammar.js.map +0 -1
- package/dist/spec/domain/model/MediaMimeAccept.d.ts +0 -55
- package/dist/spec/domain/model/MediaMimeAccept.d.ts.map +0 -1
- package/dist/spec/domain/model/MediaMimeAccept.js +0 -90
- package/dist/spec/domain/model/MediaMimeAccept.js.map +0 -1
- package/dist/spec/domain/model/RuntimePlan.d.ts.map +0 -1
- package/dist/spec/domain/model/RuntimePlan.js +0 -4
- package/dist/spec/domain/model/RuntimePlan.js.map +0 -1
- package/dist/spec/domain/model/SiteConfig.d.ts +0 -173
- package/dist/spec/domain/model/SiteConfig.d.ts.map +0 -1
- package/dist/spec/domain/model/SiteConfig.js +0 -13
- package/dist/spec/domain/model/SiteConfig.js.map +0 -1
- package/dist/spec/domain/model/SqlIr.d.ts.map +0 -1
- package/dist/spec/domain/model/SqlIr.js +0 -95
- package/dist/spec/domain/model/SqlIr.js.map +0 -1
- package/dist/spec/domain/model/index.d.ts +0 -14
- package/dist/spec/domain/model/index.d.ts.map +0 -1
- package/dist/spec/domain/model/index.js +0 -14
- package/dist/spec/domain/model/index.js.map +0 -1
- package/dist/spec/domain/service/CloudflareCron.d.ts.map +0 -1
- package/dist/spec/domain/service/CloudflareCron.js.map +0 -1
- package/dist/spec/domain/service/CrossSchemaChecker.d.ts +0 -34
- package/dist/spec/domain/service/CrossSchemaChecker.d.ts.map +0 -1
- package/dist/spec/domain/service/CrossSchemaChecker.js +0 -114
- package/dist/spec/domain/service/CrossSchemaChecker.js.map +0 -1
- package/dist/spec/domain/service/EntryDataValidator.d.ts +0 -56
- package/dist/spec/domain/service/EntryDataValidator.d.ts.map +0 -1
- package/dist/spec/domain/service/EntryDataValidator.js +0 -88
- package/dist/spec/domain/service/EntryDataValidator.js.map +0 -1
- package/dist/spec/domain/service/JsonSchemaToZod.d.ts +0 -29
- package/dist/spec/domain/service/JsonSchemaToZod.d.ts.map +0 -1
- package/dist/spec/domain/service/JsonSchemaToZod.js +0 -156
- package/dist/spec/domain/service/JsonSchemaToZod.js.map +0 -1
- package/dist/spec/domain/service/LifecycleStateMachine.d.ts +0 -75
- package/dist/spec/domain/service/LifecycleStateMachine.d.ts.map +0 -1
- package/dist/spec/domain/service/LifecycleStateMachine.js +0 -76
- package/dist/spec/domain/service/LifecycleStateMachine.js.map +0 -1
- package/dist/spec/domain/service/LocaleCanonicalizer.d.ts +0 -29
- package/dist/spec/domain/service/LocaleCanonicalizer.d.ts.map +0 -1
- package/dist/spec/domain/service/LocaleCanonicalizer.js +0 -96
- package/dist/spec/domain/service/LocaleCanonicalizer.js.map +0 -1
- package/dist/spec/domain/service/ManifestFieldChecks.d.ts +0 -60
- package/dist/spec/domain/service/ManifestFieldChecks.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestFieldChecks.js +0 -116
- package/dist/spec/domain/service/ManifestFieldChecks.js.map +0 -1
- package/dist/spec/domain/service/ManifestGraphValidator.d.ts +0 -15
- package/dist/spec/domain/service/ManifestGraphValidator.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestGraphValidator.js +0 -225
- package/dist/spec/domain/service/ManifestGraphValidator.js.map +0 -1
- package/dist/spec/domain/service/ManifestLinker.d.ts +0 -45
- package/dist/spec/domain/service/ManifestLinker.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestLinker.js +0 -92
- package/dist/spec/domain/service/ManifestLinker.js.map +0 -1
- package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts +0 -16
- package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestLocaleTrimmer.js +0 -76
- package/dist/spec/domain/service/ManifestLocaleTrimmer.js.map +0 -1
- package/dist/spec/domain/service/ManifestParser.d.ts +0 -49
- package/dist/spec/domain/service/ManifestParser.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestParser.js +0 -203
- package/dist/spec/domain/service/ManifestParser.js.map +0 -1
- package/dist/spec/domain/service/ManifestPartition.d.ts +0 -9
- package/dist/spec/domain/service/ManifestPartition.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestPartition.js +0 -19
- package/dist/spec/domain/service/ManifestPartition.js.map +0 -1
- package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts +0 -33
- package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestPathDiagnoser.js +0 -43
- package/dist/spec/domain/service/ManifestPathDiagnoser.js.map +0 -1
- package/dist/spec/domain/service/ManifestSourceSpans.d.ts +0 -10
- package/dist/spec/domain/service/ManifestSourceSpans.d.ts.map +0 -1
- package/dist/spec/domain/service/ManifestSourceSpans.js +0 -76
- package/dist/spec/domain/service/ManifestSourceSpans.js.map +0 -1
- package/dist/spec/domain/service/McpToolNaming.d.ts +0 -25
- package/dist/spec/domain/service/McpToolNaming.d.ts.map +0 -1
- package/dist/spec/domain/service/McpToolNaming.js +0 -50
- package/dist/spec/domain/service/McpToolNaming.js.map +0 -1
- package/dist/spec/domain/service/PlanFingerprint.d.ts.map +0 -1
- package/dist/spec/domain/service/PlanFingerprint.js +0 -14
- package/dist/spec/domain/service/PlanFingerprint.js.map +0 -1
- package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts +0 -4
- package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts.map +0 -1
- package/dist/spec/domain/service/ProcedureViewSpecChecks.js +0 -211
- package/dist/spec/domain/service/ProcedureViewSpecChecks.js.map +0 -1
- package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts +0 -44
- package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts.map +0 -1
- package/dist/spec/domain/service/SchemaAdminUiChecker.js +0 -333
- package/dist/spec/domain/service/SchemaAdminUiChecker.js.map +0 -1
- package/dist/spec/domain/service/SchemaIndexChecker.d.ts +0 -33
- package/dist/spec/domain/service/SchemaIndexChecker.d.ts.map +0 -1
- package/dist/spec/domain/service/SchemaIndexChecker.js +0 -256
- package/dist/spec/domain/service/SchemaIndexChecker.js.map +0 -1
- package/dist/spec/domain/service/SchemaSearchChecker.d.ts +0 -11
- package/dist/spec/domain/service/SchemaSearchChecker.d.ts.map +0 -1
- package/dist/spec/domain/service/SchemaSearchChecker.js +0 -78
- package/dist/spec/domain/service/SchemaSearchChecker.js.map +0 -1
- package/dist/spec/domain/service/SchemaSpecChecks.d.ts +0 -31
- package/dist/spec/domain/service/SchemaSpecChecks.d.ts.map +0 -1
- package/dist/spec/domain/service/SchemaSpecChecks.js +0 -445
- package/dist/spec/domain/service/SchemaSpecChecks.js.map +0 -1
- package/dist/spec/domain/service/SiteDefaultsValidator.d.ts +0 -39
- package/dist/spec/domain/service/SiteDefaultsValidator.d.ts.map +0 -1
- package/dist/spec/domain/service/SiteDefaultsValidator.js +0 -194
- package/dist/spec/domain/service/SiteDefaultsValidator.js.map +0 -1
- package/dist/spec/domain/service/SqlClassify.d.ts +0 -19
- package/dist/spec/domain/service/SqlClassify.d.ts.map +0 -1
- package/dist/spec/domain/service/SqlClassify.js +0 -42
- package/dist/spec/domain/service/SqlClassify.js.map +0 -1
- package/dist/spec/domain/service/SqlRefusal.d.ts +0 -16
- package/dist/spec/domain/service/SqlRefusal.d.ts.map +0 -1
- package/dist/spec/domain/service/SqlRefusal.js +0 -20
- package/dist/spec/domain/service/SqlRefusal.js.map +0 -1
- package/dist/spec/domain/service/SqlTypes.d.ts +0 -40
- package/dist/spec/domain/service/SqlTypes.d.ts.map +0 -1
- package/dist/spec/domain/service/SqlTypes.js +0 -110
- package/dist/spec/domain/service/SqlTypes.js.map +0 -1
- package/dist/spec/domain/service/StaffRoleHierarchy.d.ts +0 -3
- package/dist/spec/domain/service/StaffRoleHierarchy.d.ts.map +0 -1
- package/dist/spec/domain/service/StaffRoleHierarchy.js +0 -19
- package/dist/spec/domain/service/StaffRoleHierarchy.js.map +0 -1
- package/dist/spec/domain/service/TriggerGraphChecks.d.ts +0 -16
- package/dist/spec/domain/service/TriggerGraphChecks.d.ts.map +0 -1
- package/dist/spec/domain/service/TriggerGraphChecks.js +0 -337
- package/dist/spec/domain/service/TriggerGraphChecks.js.map +0 -1
- package/dist/spec/domain/service/TriggerSpecChecks.d.ts +0 -4
- package/dist/spec/domain/service/TriggerSpecChecks.d.ts.map +0 -1
- package/dist/spec/domain/service/TriggerSpecChecks.js +0 -89
- package/dist/spec/domain/service/TriggerSpecChecks.js.map +0 -1
- package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts +0 -11
- package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts.map +0 -1
- package/dist/spec/domain/service/ValidatedAdminUiProjection.js +0 -26
- package/dist/spec/domain/service/ValidatedAdminUiProjection.js.map +0 -1
- package/dist/spec/domain/service/ViewAdminUiChecker.d.ts +0 -14
- package/dist/spec/domain/service/ViewAdminUiChecker.d.ts.map +0 -1
- package/dist/spec/domain/service/ViewAdminUiChecker.js +0 -58
- package/dist/spec/domain/service/ViewAdminUiChecker.js.map +0 -1
- package/dist/spec/domain/service/index.d.ts +0 -24
- package/dist/spec/domain/service/index.d.ts.map +0 -1
- package/dist/spec/domain/service/index.js +0 -24
- package/dist/spec/domain/service/index.js.map +0 -1
- package/dist/spec/index.d.ts +0 -10
- package/dist/spec/index.d.ts.map +0 -1
- package/dist/spec/index.js +0 -12
- package/dist/spec/index.js.map +0 -1
- package/dist/spec/infrastructure/cli/parseArgsError.d.ts +0 -16
- package/dist/spec/infrastructure/cli/parseArgsError.d.ts.map +0 -1
- package/dist/spec/infrastructure/cli/parseArgsError.js +0 -34
- package/dist/spec/infrastructure/cli/parseArgsError.js.map +0 -1
- package/dist/spec/infrastructure/index.d.ts +0 -2
- package/dist/spec/infrastructure/index.d.ts.map +0 -1
- package/dist/spec/infrastructure/index.js +0 -2
- package/dist/spec/infrastructure/index.js.map +0 -1
- package/dist/spec/infrastructure/sql/PgQueryParser.d.ts +0 -18
- package/dist/spec/infrastructure/sql/PgQueryParser.d.ts.map +0 -1
- package/dist/spec/infrastructure/sql/PgQueryParser.js +0 -17
- package/dist/spec/infrastructure/sql/PgQueryParser.js.map +0 -1
- package/dist/spec/infrastructure/sql/compilePlan.d.ts +0 -37
- package/dist/spec/infrastructure/sql/compilePlan.d.ts.map +0 -1
- package/dist/spec/infrastructure/sql/compilePlan.js +0 -287
- package/dist/spec/infrastructure/sql/compilePlan.js.map +0 -1
- package/dist/spec/infrastructure/sql/compileSql.d.ts +0 -35
- package/dist/spec/infrastructure/sql/compileSql.d.ts.map +0 -1
- package/dist/spec/infrastructure/sql/compileSql.js +0 -92
- package/dist/spec/infrastructure/sql/compileSql.js.map +0 -1
- package/dist/spec/infrastructure/sql/frontEnd.d.ts +0 -8
- package/dist/spec/infrastructure/sql/frontEnd.d.ts.map +0 -1
- package/dist/spec/infrastructure/sql/frontEnd.js +0 -100
- package/dist/spec/infrastructure/sql/frontEnd.js.map +0 -1
- package/dist/spec/infrastructure/sql/index.d.ts +0 -4
- package/dist/spec/infrastructure/sql/index.d.ts.map +0 -1
- package/dist/spec/infrastructure/sql/index.js +0 -4
- package/dist/spec/infrastructure/sql/index.js.map +0 -1
- package/dist/spec/kernel/diagnostic.d.ts.map +0 -1
- package/dist/spec/kernel/diagnostic.js +0 -301
- package/dist/spec/kernel/diagnostic.js.map +0 -1
- package/dist/spec/kernel/index.d.ts +0 -8
- package/dist/spec/kernel/index.d.ts.map +0 -1
- package/dist/spec/kernel/index.js +0 -8
- package/dist/spec/kernel/index.js.map +0 -1
- package/dist/spec/usecase/EmitTypes.d.ts +0 -22
- package/dist/spec/usecase/EmitTypes.d.ts.map +0 -1
- package/dist/spec/usecase/EmitTypes.js +0 -182
- package/dist/spec/usecase/EmitTypes.js.map +0 -1
- package/dist/spec/usecase/ValidateManifestsUseCase.d.ts +0 -8
- package/dist/spec/usecase/ValidateManifestsUseCase.d.ts.map +0 -1
- package/dist/spec/usecase/ValidateManifestsUseCase.js +0 -101
- package/dist/spec/usecase/ValidateManifestsUseCase.js.map +0 -1
- package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts +0 -27
- package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts.map +0 -1
- package/dist/spec/usecase/dto/ValidateManifestsRequest.js +0 -2
- package/dist/spec/usecase/dto/ValidateManifestsRequest.js.map +0 -1
- package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts +0 -14
- package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts.map +0 -1
- package/dist/spec/usecase/dto/ValidateManifestsResponse.js +0 -2
- package/dist/spec/usecase/dto/ValidateManifestsResponse.js.map +0 -1
- package/dist/spec/usecase/dto/index.d.ts +0 -3
- package/dist/spec/usecase/dto/index.d.ts.map +0 -1
- package/dist/spec/usecase/dto/index.js +0 -3
- package/dist/spec/usecase/dto/index.js.map +0 -1
- package/dist/spec/usecase/index.d.ts +0 -10
- package/dist/spec/usecase/index.d.ts.map +0 -1
- package/dist/spec/usecase/index.js +0 -10
- package/dist/spec/usecase/index.js.map +0 -1
- package/dist/testing/cases/before-hook.d.ts +0 -4
- package/dist/testing/cases/before-hook.d.ts.map +0 -1
- package/dist/testing/cases/before-hook.js +0 -71
- package/dist/testing/cases/before-hook.js.map +0 -1
- package/dist/testing/cases/corpus.d.ts +0 -14
- package/dist/testing/cases/corpus.d.ts.map +0 -1
- package/dist/testing/cases/corpus.js +0 -93
- package/dist/testing/cases/corpus.js.map +0 -1
- package/dist/testing/cases/policy.d.ts +0 -87
- package/dist/testing/cases/policy.d.ts.map +0 -1
- package/dist/testing/cases/policy.js +0 -143
- package/dist/testing/cases/policy.js.map +0 -1
- package/dist/testing/cases/printer.d.ts +0 -4
- package/dist/testing/cases/printer.d.ts.map +0 -1
- package/dist/testing/cases/printer.js +0 -34
- package/dist/testing/cases/printer.js.map +0 -1
- package/dist/testing/cases/report-view.d.ts +0 -5
- package/dist/testing/cases/report-view.d.ts.map +0 -1
- package/dist/testing/cases/report-view.js +0 -51
- package/dist/testing/cases/report-view.js.map +0 -1
- package/dist/testing/cases/requisition.d.ts +0 -4
- package/dist/testing/cases/requisition.d.ts.map +0 -1
- package/dist/testing/cases/requisition.js +0 -38
- package/dist/testing/cases/requisition.js.map +0 -1
- package/dist/testing/cases/search-places.d.ts +0 -4
- package/dist/testing/cases/search-places.d.ts.map +0 -1
- package/dist/testing/cases/search-places.js +0 -60
- package/dist/testing/cases/search-places.js.map +0 -1
- package/dist/testing/cases/stock.d.ts +0 -4
- package/dist/testing/cases/stock.d.ts.map +0 -1
- package/dist/testing/cases/stock.js +0 -35
- package/dist/testing/cases/stock.js.map +0 -1
- package/dist/testing/cases/store.d.ts +0 -4
- package/dist/testing/cases/store.d.ts.map +0 -1
- package/dist/testing/cases/store.js +0 -100
- package/dist/testing/cases/store.js.map +0 -1
- package/dist/testing/harness.d.ts +0 -94
- package/dist/testing/harness.d.ts.map +0 -1
- package/dist/testing/harness.js +0 -168
- package/dist/testing/harness.js.map +0 -1
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/index.js.map +0 -1
- package/dist/testing/report.d.ts +0 -15
- package/dist/testing/report.d.ts.map +0 -1
- package/dist/testing/report.js +0 -22
- package/dist/testing/report.js.map +0 -1
- package/dist/web/createRestSurface.d.ts +0 -7
- package/dist/web/createRestSurface.d.ts.map +0 -1
- package/dist/web/createRestSurface.js +0 -41
- package/dist/web/createRestSurface.js.map +0 -1
- package/dist/web/index.d.ts +0 -2
- package/dist/web/index.d.ts.map +0 -1
- package/dist/web/index.js +0 -2
- package/dist/web/index.js.map +0 -1
- package/docs/adr/0001-four-atom-manifest-model.md +0 -440
- package/docs/adr/0002-closed-enums-for-bindings.md +0 -253
- package/docs/adr/0007-ai-as-primary-author.md +0 -473
- package/docs/adr/0008-structured-diagnostic-shape.md +0 -338
- package/docs/adr/0009-consumer-supplied-manifests.md +0 -149
- package/docs/adr/0010-locale-and-translates.md +0 -453
- package/docs/adr/0011-adapter-port-spec.md +0 -281
- package/docs/adr/0012-views-as-public-rest.md +0 -161
- package/docs/adr/0013-agent-provisioned-consumer-projects.md +0 -154
- package/docs/adr/0014-auth-better-auth-and-multi-tenant-mcp.md +0 -939
- package/docs/adr/0016-site-semantic-layer.md +0 -70
- package/docs/adr/0017-media-multi-variant-agent-side-optimization.md +0 -181
- package/docs/adr/0018-core-starters-repository-boundary.md +0 -179
- package/docs/adr/0019-sealed-manifest-runtime-pipeline.md +0 -244
- package/docs/adr/0020-builtin-handler-contracts-and-matched-upsert.md +0 -199
- package/docs/adr/0021-retire-starter-scaffolding.md +0 -30
- package/docs/adr/0022-caller-observed-version-occ.md +0 -212
- package/docs/adr/0023-port-failure-contract.md +0 -69
- package/docs/adr/0024-manifest-native-schema-tables.md +0 -264
- package/docs/adr/0025-reserved-native-columns-and-published-only-public-views.md +0 -105
- package/docs/adr/0026-progressive-generate.md +0 -36
- package/docs/adr/0027-scheduled-procedure-triggers.md +0 -31
- package/docs/adr/0028-schema-ttl-expiry.md +0 -33
- package/docs/adr/0029-mcp-apps-interaction-contracts.md +0 -324
- package/docs/adr/0030-store.md +0 -40
- package/docs/adr/0031-host-cloud-core-contract.md +0 -102
- package/docs/adr/0032-store-centric-core-and-service-contract.md +0 -384
- package/docs/adr/0033-storage-converges-to-the-plan.md +0 -92
- package/docs/adr/0034-store-is-authored-as-sql.md +0 -192
- package/docs/adr/0035-sql-dialects.md +0 -154
- package/docs/adr/0036-host-and-dialect.md +0 -65
- package/docs/adr/0037-postgresql-is-the-reference-dialect.md +0 -125
- package/docs/adr/0038-bun-native-host.md +0 -63
- package/docs/adr/0039-postgresql-is-native.md +0 -130
- package/docs/adr/README.md +0 -98
- package/docs/adr/adr-lite-1376-admin-extensions.md +0 -330
- package/docs/adr/adr-lite-803-request-diagnostics.md +0 -38
- package/docs/adr/adr-lite-808-route-readiness.md +0 -47
- package/docs/adr/adr-lite-809-bounded-public-content.md +0 -71
- package/docs/adr/adr-lite-812-native-parity.md +0 -150
- package/docs/adr/adr-lite-823-home-statistics.md +0 -64
- package/docs/adr/adr-lite-842-mcp-authoring.md +0 -30
- package/docs/adr/adr-lite-845-frontend-client.md +0 -38
- package/docs/adr/adr-lite-861-admin-webmcp.md +0 -48
- package/docs/adr/adr-lite-909-admin-ui-kit.md +0 -37
- package/docs/examples/commerce-inventory.md +0 -498
- package/docs/examples/commerce.md +0 -254
- package/docs/examples/guarded-api.md +0 -238
- package/docs/examples/intake-hooks.md +0 -237
- package/docs/examples/intake.md +0 -127
- package/docs/examples/legal-documents.md +0 -218
- package/docs/examples/procurement.md +0 -226
- package/docs/examples/publication.md +0 -211
- package/docs/examples/reference-service/.mantle/generated/mantle.ts +0 -174
- package/docs/examples/reference-service/.mantle/generated/plan.json +0 -1936
- package/docs/examples/reference-service/README.md +0 -33
- package/docs/examples/reference-service/manifests/catalog.yaml +0 -103
- package/docs/examples/reference-service/manifests/orders.yaml +0 -120
- package/docs/examples/reference-service/mantle.config.json +0 -1
- package/docs/examples/reference-service/package.json +0 -27
- package/docs/examples/reference-service/smoke.mjs +0 -160
- package/docs/examples/reference-service/src/handlers.ts +0 -36
- package/docs/examples/reference-service/src/index.ts +0 -33
- package/docs/examples/reference-service/src/service.ts +0 -78
- package/docs/examples/reference-service/wrangler.jsonc +0 -26
- package/docs/examples/reservation.md +0 -142
- /package/docs/examples/{reference-service → app-shell}/.dev.vars.example +0 -0
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# ADR-0016: Site semantic layer — `AGENTS.md` + launch state
|
|
2
|
-
|
|
3
|
-
## Status
|
|
4
|
-
|
|
5
|
-
Superseded by [ADR-0021](0021-retire-starter-scaffolding.md) for 0.1.2 and
|
|
6
|
-
later. The launch-state and provision-bundle rules below describe the legacy
|
|
7
|
-
Starter/Landing flow; new applications are authored directly from the installed
|
|
8
|
-
SDK's skill and handbook.
|
|
9
|
-
|
|
10
|
-
## Decision
|
|
11
|
-
|
|
12
|
-
Every agent-authored mantle project carries a small cross-tool entry file
|
|
13
|
-
and deterministic launch state at fixed paths:
|
|
14
|
-
|
|
15
|
-
| File | Audience | Size budget | Format |
|
|
16
|
-
|---|---|---|---|
|
|
17
|
-
| `AGENTS.md` | Any cross-tool agent harness (Codex / Cursor / Aider / Amp / Factory / Claude Code) | ~30 lines | Plain markdown |
|
|
18
|
-
| `.mantle/launch-state.json` | Install/provision context captured by landing or direct CLI flags | Small JSON record | JSON |
|
|
19
|
-
|
|
20
|
-
`AGENTS.md` answers "what is this and how do I run it." Launch state
|
|
21
|
-
carries install-critical facts such as archetype, brand, description,
|
|
22
|
-
locales, selected features, GitHub owner/admin login, starter ref, and
|
|
23
|
-
repo target.
|
|
24
|
-
|
|
25
|
-
The earlier `mantle/site.md` semantic/letter surface and `## welcome`
|
|
26
|
-
5-card letter surface are suspended for the first-run path. Provisioning
|
|
27
|
-
must not block on prose completion; a first deploy should be possible
|
|
28
|
-
from deterministic scaffold state.
|
|
29
|
-
|
|
30
|
-
## Placeholder macros
|
|
31
|
-
|
|
32
|
-
Mantle landing substitutes these across provision-bundle `*.template`
|
|
33
|
-
files in a single pass:
|
|
34
|
-
|
|
35
|
-
| Macro | Source | Example |
|
|
36
|
-
|---|---|---|
|
|
37
|
-
| `{{ARCHETYPE}}` | CLI flag | `presence` |
|
|
38
|
-
| `{{BRAND}}` | CLI flag | `Lab Cafe` |
|
|
39
|
-
| `{{DESCRIPTION}}` | CLI flag | `Coffee + research notes from Taipei.` |
|
|
40
|
-
| `{{LOCALES}}` | CLI flag (JSON array) | `["zh-TW","en"]` |
|
|
41
|
-
| `{{CANONICAL_LOCALE}}` | first locale | `zh-TW` |
|
|
42
|
-
| `{{SITE_URL}}` | placeholder until provision | `https://example.com` |
|
|
43
|
-
| `{{GITHUB_OWNER}}` | CLI flag | `phsu` |
|
|
44
|
-
| `{{INSTALL_TIMESTAMP}}` | ISO 8601 of install run | `2026-05-12T14:03:00Z` |
|
|
45
|
-
| `{{INSTALL_SUMMARY}}` | CLI flag | `bootstrapped publication site for Lab Cafe in zh-TW/en` |
|
|
46
|
-
|
|
47
|
-
New macros must be added here, to `mantle-starters` bundle templates,
|
|
48
|
-
and to the landing substitution pass.
|
|
49
|
-
|
|
50
|
-
## Update rules
|
|
51
|
-
|
|
52
|
-
- **Mantle on return**: read `AGENTS.md`, `.mantle/launch-state.json`,
|
|
53
|
-
and repo-local skills before changing code.
|
|
54
|
-
- **provision on deploy**: rewrite `AGENTS.md` `Public site:`
|
|
55
|
-
placeholder → real Workers URL. Single commit at end of provision.
|
|
56
|
-
- **No hidden letter gate.** Prose may be added later, but first deploy
|
|
57
|
-
only depends on deterministic scaffold state and provider configuration.
|
|
58
|
-
|
|
59
|
-
## Cross-tool compatibility
|
|
60
|
-
|
|
61
|
-
`AGENTS.md` lives at repo root because that is where the AGENTS.md ecosystem (`agents.md`) looks. `.mantle/` is for Mantle-owned non-secret state.
|
|
62
|
-
|
|
63
|
-
## Implementation
|
|
64
|
-
|
|
65
|
-
- Templates: `mantle-starters/blank/AGENTS.md.template` and
|
|
66
|
-
generated `.mantle/*.template` bundle files.
|
|
67
|
-
- Substitution: Mantle landing provision-bundle substitution.
|
|
68
|
-
- Install handoff: `skills/install/SKILL.md` describes how agents continue from the landing-provisioned repo.
|
|
69
|
-
- Provision update: `docs/skills/provision/SKILL.md` describes the `AGENTS.md` public-site rewrite after deploy.
|
|
70
|
-
- Type overlays are applied while building `provision-bundles/<type>.json`; generated repos should not need a second overlay step.
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
# ADR-0017: Multi-variant media assets, agent-side optimization
|
|
2
|
-
|
|
3
|
-
**Status:** Accepted (v0.1.0-alpha.14)
|
|
4
|
-
**Issue:** [#272](https://github.com/aotter/mantle/issues/272)
|
|
5
|
-
|
|
6
|
-
## Context
|
|
7
|
-
|
|
8
|
-
The pre-#272 media subsystem treated each upload as one artifact: one
|
|
9
|
-
`create_media_upload` returned one presigned PUT URL, one
|
|
10
|
-
`commit_media_upload` returned one `MediaAsset` with one `publicUrl`,
|
|
11
|
-
and entry data fields embedded that URL directly. Two consumer pains
|
|
12
|
-
surfaced in `toa-shop`:
|
|
13
|
-
|
|
14
|
-
1. **URL embedding ties entries to bucket/CDN identity.** Moving
|
|
15
|
-
buckets, switching custom domains, or auditing "where is asset X
|
|
16
|
-
used" all require rewriting entries — there's no logical handle.
|
|
17
|
-
2. **One artifact = no `<picture>`.** Modern formats (avif, webp)
|
|
18
|
-
cut bytes by 30–70 % on the storefront photos toa-shop measured,
|
|
19
|
-
but the SDK had no way to deliver three formats from one logical
|
|
20
|
-
asset. Consumers would have had to pre-encode three formats,
|
|
21
|
-
upload three times, and store three URLs per image position —
|
|
22
|
-
awkward for the MCP agent and impossible to express in the
|
|
23
|
-
admin upload widget.
|
|
24
|
-
|
|
25
|
-
## Decision
|
|
26
|
-
|
|
27
|
-
Ship the corrected shape in one breaking change. Pre-v0.1 means there
|
|
28
|
-
is no production consumer to migrate; an intermediate "one URL, three
|
|
29
|
-
variants behind it" shape would be incoherent (renderer can't get the
|
|
30
|
-
variants without refetching by id) and not worth the
|
|
31
|
-
backwards-compat work.
|
|
32
|
-
|
|
33
|
-
### 1. `MediaAsset.variants[]` is required
|
|
34
|
-
|
|
35
|
-
Every committed asset carries one or more variants. Renderers consume
|
|
36
|
-
the array directly and emit `<picture>`. There is no top-level
|
|
37
|
-
`publicUrl` / `storageKey` / `mimeType` / `byteSize` — the single-URL
|
|
38
|
-
shape is what we're leaving behind.
|
|
39
|
-
|
|
40
|
-
### 2. Optimization runs **agent-side**, not on the Worker
|
|
41
|
-
|
|
42
|
-
workerd has no usable image-processing stack (no sharp / libvips —
|
|
43
|
-
WASM ports are large and slow). Rather than spin up a separate
|
|
44
|
-
transform Worker or pay for Cloudflare Images, the SDK shifts the
|
|
45
|
-
encode step to where it already runs in a real Node-like runtime:
|
|
46
|
-
|
|
47
|
-
- Scaffolders, ops scripts, the admin SPA's local helper, and MCP
|
|
48
|
-
agents (Claude Code, etc.) all execute in environments where
|
|
49
|
-
`sharp` works.
|
|
50
|
-
- The MCP client or operator tooling runs the agent-side image
|
|
51
|
-
processor: take a source file, produce the format set, call
|
|
52
|
-
`create_media_upload`, upload every variant, and call
|
|
53
|
-
`commit_media_upload`.
|
|
54
|
-
- The Worker only **enforces policy**: required mime set, per-mime
|
|
55
|
-
byte caps, suspicious-shape heuristic (modern format must not be
|
|
56
|
-
larger than its fallback). It never decodes or re-encodes.
|
|
57
|
-
|
|
58
|
-
The Worker's contract: *received bytes are already optimized, or I
|
|
59
|
-
refuse them*. The agent's contract: *I optimize before uploading, in
|
|
60
|
-
a runtime that can run sharp*.
|
|
61
|
-
|
|
62
|
-
### 3. `siteDefaults.media.purposes` is a policy object
|
|
63
|
-
|
|
64
|
-
Replace the `string[]` shape with `MediaPurposePolicy[]`:
|
|
65
|
-
|
|
66
|
-
```ts
|
|
67
|
-
purposes: [
|
|
68
|
-
{
|
|
69
|
-
name: "post-cover",
|
|
70
|
-
required: ["image/avif", "image/webp", "image/jpeg"],
|
|
71
|
-
maxBytes: {
|
|
72
|
-
"image/avif": 200_000,
|
|
73
|
-
"image/webp": 300_000,
|
|
74
|
-
"image/jpeg": 500_000,
|
|
75
|
-
},
|
|
76
|
-
},
|
|
77
|
-
]
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
Each purpose carries its own required mime set + per-mime byte cap.
|
|
81
|
-
The runtime emits the policy summary into `create_media_upload`'s
|
|
82
|
-
tool description so MCP agents see the contract via `tools/list`
|
|
83
|
-
without a separate round trip.
|
|
84
|
-
|
|
85
|
-
### 4. Asset-id refs in entries, `media_assets` table for resolution
|
|
86
|
-
|
|
87
|
-
Entries hold `MediaAsset.id` strings, not URLs:
|
|
88
|
-
|
|
89
|
-
```yaml
|
|
90
|
-
coverAssetId:
|
|
91
|
-
type: string
|
|
92
|
-
x-mantle-ref: media_assets
|
|
93
|
-
x-mcp-hint: media-image
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
`x-mantle-ref` and `x-mcp-hint` are existing v0.1 grammar
|
|
97
|
-
extensions — no new manifest keys. The runtime contract changes
|
|
98
|
-
(these fields now hold ids instead of URLs), but the grammar surface
|
|
99
|
-
does not.
|
|
100
|
-
|
|
101
|
-
A new `media_assets` D1 table persists committed assets:
|
|
102
|
-
|
|
103
|
-
```sql
|
|
104
|
-
CREATE TABLE media_assets (
|
|
105
|
-
id TEXT PRIMARY KEY,
|
|
106
|
-
created_at INTEGER NOT NULL,
|
|
107
|
-
owner_id TEXT,
|
|
108
|
-
alt TEXT,
|
|
109
|
-
caption TEXT,
|
|
110
|
-
variants TEXT NOT NULL, -- JSON
|
|
111
|
-
metadata TEXT
|
|
112
|
-
);
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
New port `MediaAssetRepository` (findById / findManyByIds / save /
|
|
116
|
-
delete); new runtime helper `runtime.media.resolve(id)` and
|
|
117
|
-
`resolveMany(ids)` for render-time materialisation. The renderer
|
|
118
|
-
batches a render-pass's worth of references in one DB round trip.
|
|
119
|
-
|
|
120
|
-
### 5. Adapter stays storage-key-shaped
|
|
121
|
-
|
|
122
|
-
`MediaStorage` port methods (`getPublicUrl`, `deleteObject`) take
|
|
123
|
-
storage keys — the asset-id → storage-key translation happens in the
|
|
124
|
-
use case layer via the repository. The R2 adapter:
|
|
125
|
-
|
|
126
|
-
- Mints storage keys under `<purpose>/<uploadGroupId>/<role>.<ext>`
|
|
127
|
-
so every variant of one logical asset lives under a shared prefix.
|
|
128
|
-
- HEAD-verifies every variant before commit; any failure rejects
|
|
129
|
-
the whole bundle (all-or-nothing).
|
|
130
|
-
- Enforces the primary-role invariant the renderer depends on.
|
|
131
|
-
- Orphan sweep (#254) can list a prefix to find partially-committed
|
|
132
|
-
bundles.
|
|
133
|
-
|
|
134
|
-
## Consequences
|
|
135
|
-
|
|
136
|
-
### Positive
|
|
137
|
-
|
|
138
|
-
- One coherent shape ships at once — no migration debt for the
|
|
139
|
-
"intermediate URL-in-entry world".
|
|
140
|
-
- Worker stays workerd-clean. No new infrastructure component
|
|
141
|
-
(no sharp Worker, no Cloudflare Images dependency, no Queue +
|
|
142
|
-
background worker).
|
|
143
|
-
- MCP agents see the full policy via `tools/list`; the type system
|
|
144
|
-
and the diagnostic catalog catch most misuses before bytes flow.
|
|
145
|
-
- Asset-id refs decouple entries from CDN identity; the orphan
|
|
146
|
-
sweeper, "where used", and asset metadata editing all become
|
|
147
|
-
cheap follow-ups.
|
|
148
|
-
|
|
149
|
-
### Negative / accepted
|
|
150
|
-
|
|
151
|
-
- Agent-side optimization shifts compute to the uploader. Browser-
|
|
152
|
-
side admin uploads (drag-drop in the SPA) would need to either
|
|
153
|
-
invoke a local helper subprocess (Tauri / Electron) or call the
|
|
154
|
-
scaffolder's helper indirectly — UI work tracked separately.
|
|
155
|
-
- Every starter using media needs to migrate schemas from URL
|
|
156
|
-
fields to `*AssetId` fields + adopt the resolver in their renderer.
|
|
157
|
-
- `siteDefaults.media.purposes` is a breaking shape change. Pre-v0.1
|
|
158
|
-
cadence allows this; downstream sweeps coordinate via the existing
|
|
159
|
-
fix-forward release process.
|
|
160
|
-
|
|
161
|
-
## Why not the alternatives
|
|
162
|
-
|
|
163
|
-
- **CF Images binding**: vendor lock-in + per-image billing; rejected
|
|
164
|
-
because the agent runtime can already produce the variants without
|
|
165
|
-
introducing a new commercial dependency.
|
|
166
|
-
- **Separate transform Worker (with container running sharp)**: real
|
|
167
|
-
infrastructure complexity (queue + worker + observability), much
|
|
168
|
-
larger blast radius than a CLI helper.
|
|
169
|
-
- **Variant URLs stored inline in the entry**: re-introduces the URL-
|
|
170
|
-
embedding problem the asset-id refs solve. Was the original
|
|
171
|
-
"phase 1" plan; rejected after recognising the intermediate state
|
|
172
|
-
is incoherent.
|
|
173
|
-
|
|
174
|
-
## References
|
|
175
|
-
|
|
176
|
-
- `packages/mantle-runtime/src/domain/port/MediaStorage.ts`
|
|
177
|
-
- `packages/mantle-runtime/src/domain/port/MediaAssetRepository.ts`
|
|
178
|
-
- `packages/mantle-runtime/src/infrastructure/persistence/DatabaseMediaAssetRepository.ts`
|
|
179
|
-
- `packages/mantle-spec/src/domain/model/SiteConfig.ts` (MediaPurposePolicy)
|
|
180
|
-
- `packages/adapters/cloudflare/src/bindings/R2MediaStorage.ts`
|
|
181
|
-
- MCP client / operator-side image processing tools
|
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
# ADR-0018: Keep Core and public starters in separate repositories
|
|
2
|
-
|
|
3
|
-
> Superseded for 0.1.2 by [ADR-0021](0021-retire-starter-scaffolding.md).
|
|
4
|
-
> The contract below is retained as alpha.17 history, not current launch/release guidance.
|
|
5
|
-
|
|
6
|
-
**Status:** Superseded by ADR-0021 for 0.1.2 and later. Historical alpha.17 decision only.
|
|
7
|
-
|
|
8
|
-
**Date:** 2026-08-02
|
|
9
|
-
|
|
10
|
-
**Related:** [#542](https://github.com/aotter/mantle/issues/542),
|
|
11
|
-
[#191](https://github.com/aotter/mantle/issues/191),
|
|
12
|
-
[#97](https://github.com/aotter/mantle/issues/97),
|
|
13
|
-
[#99](https://github.com/aotter/mantle/issues/99)
|
|
14
|
-
|
|
15
|
-
## Context
|
|
16
|
-
|
|
17
|
-
Core and the public starter source currently form a producer-consumer
|
|
18
|
-
boundary:
|
|
19
|
-
|
|
20
|
-
```text
|
|
21
|
-
Core (SDK producer)
|
|
22
|
-
-> published npm contract
|
|
23
|
-
mantle-starters (external consumer and bundle producer)
|
|
24
|
-
-> immutable provision bundle
|
|
25
|
-
mantle-landing (provisioner) Core CLI (`mantle create`)
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
> **Amended 2026-08-19 (#699).** The chain above is no longer linear. Core's
|
|
29
|
-
> umbrella CLI is now also a consumer of the immutable bundle: `mantle create`
|
|
30
|
-
> resolves the official `v${packageVersion}` starter tag, renders it through
|
|
31
|
-
> the environment-neutral module Core owns, and writes a local project. Core
|
|
32
|
-
> is therefore both the upstream producer of the npm contract and a downstream
|
|
33
|
-
> consumer of the release train it starts.
|
|
34
|
-
>
|
|
35
|
-
> This does not move starter content into Core, so the decision below stands:
|
|
36
|
-
> starters still author the bundles and still validate the published SDK as an
|
|
37
|
-
> external consumer. What changed is the supporting argument. Two consequences
|
|
38
|
-
> are worth stating rather than rediscovering:
|
|
39
|
-
>
|
|
40
|
-
> - **The published-consumer guarantee is now proven twice.** `mantle create`
|
|
41
|
-
> materializes a project that installs the published package, so a break in
|
|
42
|
-
> the npm contract fails in Core's own release smoke as well as in starter CI.
|
|
43
|
-
> - **Reconsideration input 1 is being answered.** #699 replaces the release
|
|
44
|
-
> order so a candidate is published under a temporary dist-tag, validated
|
|
45
|
-
> against the exact packed artifacts, and only then promoted. That was listed
|
|
46
|
-
> below as an unresolved prerequisite for any future merge; when it lands,
|
|
47
|
-
> this ADR should record it as resolved rather than pending.
|
|
48
|
-
|
|
49
|
-
The repositories were originally split because premium starters needed a
|
|
50
|
-
private ACL. That reason does not determine where public starters must live,
|
|
51
|
-
and the private premium repository remains a stub. A later decision, #191,
|
|
52
|
-
made Core, starters, and landing mirror the same version and connected them
|
|
53
|
-
with an automated release fanout.
|
|
54
|
-
|
|
55
|
-
The fanout accumulated real costs: release-only commits, `main`/`develop`
|
|
56
|
-
backports, fallback tag creation, commit-subject detection, cross-repository
|
|
57
|
-
credentials, and a Core-skill drift check that can skip when the sibling
|
|
58
|
-
checkout is unavailable. Issue #542 therefore proposed moving public starters
|
|
59
|
-
back into this repository.
|
|
60
|
-
|
|
61
|
-
That operational pain does not by itself prove source cohesion. The separate
|
|
62
|
-
starter repository now provides a useful invariant that did not exist in the
|
|
63
|
-
original rationale: the canonical generated-site fixture consumes published
|
|
64
|
-
SDK packages and cannot silently link Core workspace packages.
|
|
65
|
-
|
|
66
|
-
A heuristic review of merged PRs from 2026-06-03 through 2026-08-02 also did
|
|
67
|
-
not show sustained majority co-change. After excluding release, promotion,
|
|
68
|
-
backport, and dependency PRs, 9 of 64 Core PRs explicitly referenced starters,
|
|
69
|
-
and 13 of 79 starter PRs explicitly referenced Core. Explicit references
|
|
70
|
-
undercount forced adaptations, so these numbers are directional rather than a
|
|
71
|
-
permanent threshold. They do show that release noise is not a sufficient proxy
|
|
72
|
-
for product coupling.
|
|
73
|
-
|
|
74
|
-
## Decision
|
|
75
|
-
|
|
76
|
-
Keep `aotter/mantle` and `aotter/mantle-starters` separate for now.
|
|
77
|
-
|
|
78
|
-
The boundary is a release-contract boundary, not an ACL boundary:
|
|
79
|
-
|
|
80
|
-
- Core produces versioned npm artifacts.
|
|
81
|
-
- Starters validate those artifacts as an external consumer and produce
|
|
82
|
-
immutable provision bundles.
|
|
83
|
-
- Landing consumes the released bundle and provisions end-user repositories.
|
|
84
|
-
|
|
85
|
-
Do not merge or archive the starters repository until the following no-regret
|
|
86
|
-
work has landed:
|
|
87
|
-
|
|
88
|
-
1. **Pre-publish downstream harness.** Validate starters against the exact SDK
|
|
89
|
-
tarballs that would be published, preferably through an ephemeral registry,
|
|
90
|
-
before a release tag exists.
|
|
91
|
-
2. **Fail-closed Core-skill drift check.** Compare starter-vendored skills with
|
|
92
|
-
the installed SDK package in normal starter CI; never depend on an optional
|
|
93
|
-
sibling checkout.
|
|
94
|
-
3. **One release controller.** Replace the bump/tag/dispatch/fallback chain and
|
|
95
|
-
remove avoidable `main`/`develop` backport noise without moving source code.
|
|
96
|
-
4. **Repository-agnostic updates.** Make generated sites resolve a configured
|
|
97
|
-
bundle base URL instead of hard-coding `aotter/mantle-starters`.
|
|
98
|
-
|
|
99
|
-
Issue #542 remains the work and reconsideration tracker. This ADR is the
|
|
100
|
-
canonical explanation of the repository-boundary decision. The current
|
|
101
|
-
mechanics belong in `docs/release-process.md`; implementation details should
|
|
102
|
-
not be duplicated here.
|
|
103
|
-
|
|
104
|
-
## Reconsideration triggers
|
|
105
|
-
|
|
106
|
-
Re-evaluate a monorepo after the four items above land if either signal persists:
|
|
107
|
-
|
|
108
|
-
- the release path still needs at least two special-case workaround fixes per
|
|
109
|
-
quarter, such as fallback tags, backports, or commit-message detectors; or
|
|
110
|
-
- SDK contract changes require same-release starter adaptations more often than
|
|
111
|
-
roughly once per month, making atomic cross-repository work a recurring cost.
|
|
112
|
-
|
|
113
|
-
A future merge proposal must also resolve:
|
|
114
|
-
|
|
115
|
-
- how the same tagged starter version is validated against the exact package
|
|
116
|
-
artifacts before npm publication;
|
|
117
|
-
- a real last-legacy-version to first-new-location update for an existing site;
|
|
118
|
-
- landing dispatch and release credentials, which do not disappear merely by
|
|
119
|
-
moving starters;
|
|
120
|
-
- premium-repository direction;
|
|
121
|
-
- nested pnpm/Dependabot/lockfile CI, licensing, open issues, and repository
|
|
122
|
-
history migration.
|
|
123
|
-
|
|
124
|
-
These are decision inputs, not a disguised permanent prohibition. A monorepo
|
|
125
|
-
is appropriate if its atomicity benefit remains material after the release
|
|
126
|
-
machinery is simplified.
|
|
127
|
-
|
|
128
|
-
## Consequences
|
|
129
|
-
|
|
130
|
-
### Positive
|
|
131
|
-
|
|
132
|
-
- The published-package consumer guarantee remains structural rather than
|
|
133
|
-
simulated by workspace exclusions and realpath assertions.
|
|
134
|
-
- The four improvements reduce risk and complexity under either eventual
|
|
135
|
-
repository shape.
|
|
136
|
-
- Existing generated-site update URLs remain valid while the updater contract
|
|
137
|
-
is made portable.
|
|
138
|
-
- Starter-only product work keeps an independent source boundary.
|
|
139
|
-
|
|
140
|
-
### Negative
|
|
141
|
-
|
|
142
|
-
- Cross-repository changes cannot land in one atomic PR.
|
|
143
|
-
- A release event still crosses repository boundaries and needs a narrowly
|
|
144
|
-
scoped credential or GitHub App.
|
|
145
|
-
- Release noise remains until the controller and branch flow are simplified.
|
|
146
|
-
- Core-skill drift remains possible until the fail-closed check lands.
|
|
147
|
-
|
|
148
|
-
## Alternatives
|
|
149
|
-
|
|
150
|
-
### Merge immediately
|
|
151
|
-
|
|
152
|
-
Rejected. The proposed release order cannot both start from an immutable tag
|
|
153
|
-
and regenerate a same-version registry-backed starter lockfile after publish.
|
|
154
|
-
Existing generated sites also cannot cross the hard-coded repository boundary
|
|
155
|
-
without a bridge.
|
|
156
|
-
|
|
157
|
-
### Keep the repositories separate without simplifying the release path
|
|
158
|
-
|
|
159
|
-
Rejected. The current fanout complexity and silent skill-check escape hatch are
|
|
160
|
-
real defects; retaining the boundary does not justify retaining those defects.
|
|
161
|
-
|
|
162
|
-
### Declare that the repositories must never merge
|
|
163
|
-
|
|
164
|
-
Rejected. The current boundary is valuable, but it is replaceable with explicit
|
|
165
|
-
and tested invariants if future co-change and release evidence justify the cost.
|
|
166
|
-
|
|
167
|
-
## How to apply
|
|
168
|
-
|
|
169
|
-
- Treat starters as a downstream SDK consumer in CI and release design.
|
|
170
|
-
- Do not add starter projects to the Core pnpm workspace as a shortcut for
|
|
171
|
-
cross-contract validation.
|
|
172
|
-
- Track the four prerequisite changes and future merge evidence in #542.
|
|
173
|
-
- Any future repository-move proposal must supersede this ADR and #191
|
|
174
|
-
explicitly, with the transition tests listed above.
|
|
175
|
-
|
|
176
|
-
## Implementation status
|
|
177
|
-
|
|
178
|
-
The repository-boundary decision is active. The four no-regret improvements are
|
|
179
|
-
tracked from #542 and may land independently; none requires a repository move.
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
# ADR-0019: Seal the manifest-to-runtime pipeline
|
|
2
|
-
|
|
3
|
-
**Status:** Accepted
|
|
4
|
-
|
|
5
|
-
**Date:** 2026-08-16; last amended 2026-09-01
|
|
6
|
-
|
|
7
|
-
**Related:** [#656](https://github.com/aotter/mantle/issues/656),
|
|
8
|
-
[#662](https://github.com/aotter/mantle/issues/662),
|
|
9
|
-
[#759](https://github.com/aotter/mantle/issues/759),
|
|
10
|
-
[#760](https://github.com/aotter/mantle/issues/760),
|
|
11
|
-
[#546](https://github.com/aotter/mantle/issues/546), ADR-0008, ADR-0009,
|
|
12
|
-
ADR-0011, ADR-0018
|
|
13
|
-
|
|
14
|
-
## Context
|
|
15
|
-
|
|
16
|
-
Mantle already has an adapter-neutral runtime package and structured
|
|
17
|
-
diagnostics, but its real execution boundary is still the complete Cloudflare
|
|
18
|
-
site product. Authored YAML is parsed into an ordinary `Manifest[]`; validation,
|
|
19
|
-
defaulting, lookup construction, boot checks, SQL compilation, storage setup,
|
|
20
|
-
public rendering, and Admin helpers then overlap across spec, runtime, and the
|
|
21
|
-
Cloudflare adapter.
|
|
22
|
-
|
|
23
|
-
That overlap creates two portability failures:
|
|
24
|
-
|
|
25
|
-
1. A downstream caller can bypass an earlier stage and reinterpret raw
|
|
26
|
-
manifests, so a rule or default can have more than one owner.
|
|
27
|
-
2. Embedding the runtime also selects SQL-shaped storage, public Web behavior,
|
|
28
|
-
Admin assets, and Cloudflare-oriented boot conventions.
|
|
29
|
-
|
|
30
|
-
The product needs one embeddable Core that can be called directly by an
|
|
31
|
-
existing application, with Web, Admin, and platform integrations selected
|
|
32
|
-
downstream. The migration cannot introduce a permanent `v2` pipeline beside
|
|
33
|
-
the current one: every compatibility path must delegate forward and be deleted
|
|
34
|
-
within the same milestone.
|
|
35
|
-
|
|
36
|
-
## Decision
|
|
37
|
-
|
|
38
|
-
### One sealed pipeline
|
|
39
|
-
|
|
40
|
-
Mantle has one supported semantic path:
|
|
41
|
-
|
|
42
|
-
```text
|
|
43
|
-
ManifestSourceSet
|
|
44
|
-
-> parse + normalize
|
|
45
|
-
-> ParsedManifestSet
|
|
46
|
-
-> link
|
|
47
|
-
-> LinkedManifestSet
|
|
48
|
-
-> compile
|
|
49
|
-
-> RuntimePlan
|
|
50
|
-
-> prepare deployment
|
|
51
|
-
-> PreparedRevision
|
|
52
|
-
-> bind runtime
|
|
53
|
-
-> MantleRuntime
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
Decode may remain an internal parser step. The public contract starts with
|
|
57
|
-
caller-supplied sources and ends with a programmatic runtime. A failed stage
|
|
58
|
-
does not produce a usable value for the next stage.
|
|
59
|
-
|
|
60
|
-
Parse, link, and compile are pure and deterministic. Their sealed outputs may
|
|
61
|
-
be constructed only by their owning package, apart from explicit test fixture
|
|
62
|
-
helpers. Source locations remain authored metadata; they do not affect the
|
|
63
|
-
semantic fingerprint.
|
|
64
|
-
|
|
65
|
-
### One owner per invariant
|
|
66
|
-
|
|
67
|
-
| Stage | Owns | Must not own |
|
|
68
|
-
|---|---|---|
|
|
69
|
-
| Parse + normalize | YAML syntax/alias limits, closed four-atom shape, primitive and atom-local rules, behavior-affecting defaults, source metadata | Cross-atom references, handlers, storage, optional routes |
|
|
70
|
-
| Link | Duplicate symbols, cross-atom references, guard graphs, translations, manifest-owned route/tool collisions | I/O, selected modules, handler availability |
|
|
71
|
-
| Compile | Immutable lookup records, authorization plans, Trigger indices, Procedure descriptors, logical View plans, semantic fingerprint | Connections, repositories, handlers, requests, templates, assets |
|
|
72
|
-
| Prepare | Selected storage migrations/native Schema tables and indexes/prepared Views, handler availability, selected capability/route checks, readiness revision | YAML interpretation or request execution |
|
|
73
|
-
| Bind/invoke | Semantic ports, handler dispatch, parameter binding, centralized authorization, content/View/Procedure/Trigger/lifecycle operations | DDL, route mounting, assets, HTTP/session/cache policy |
|
|
74
|
-
| Optional modules/adapters | Web/Admin composition and request/session/cache/platform translation | Re-parsing, re-linking, or a second authorization/runtime stack |
|
|
75
|
-
|
|
76
|
-
The current-to-target rule ledger and evidence are maintained in
|
|
77
|
-
[`docs/sealed-pipeline-ownership.md`](https://github.com/aotter/mantle/blob/main/docs/sealed-pipeline-ownership.md).
|
|
78
|
-
|
|
79
|
-
### Core and optional products
|
|
80
|
-
|
|
81
|
-
`@aotter/mantle-spec` owns source, parse, normalize, link, introspection, and
|
|
82
|
-
manifest-derived code generation. It has no runtime or platform dependency.
|
|
83
|
-
|
|
84
|
-
`@aotter/mantle-runtime` owns `RuntimePlan`, preparation contracts, semantic
|
|
85
|
-
storage ports, and `MantleRuntime`. The portable runtime input is prepared
|
|
86
|
-
semantic storage, not `DatabaseDriver`. It has no Web, Admin, Cloudflare, Bun,
|
|
87
|
-
or Vercel dependency.
|
|
88
|
-
|
|
89
|
-
`@aotter/mantle-web` is optional and owns the official public HTML, Markdown,
|
|
90
|
-
`llms.txt`, sitemap, SEO, preview, template, and public-path composition.
|
|
91
|
-
Applications still own their router, URLs, navigation, and design. Platform
|
|
92
|
-
adapters own HTTP mounting and cache behavior.
|
|
93
|
-
|
|
94
|
-
`@aotter/mantle-admin` is optional and owns Admin API/application
|
|
95
|
-
orchestration and its asset contract. `@aotter/mantle-admin-ui` remains the UI
|
|
96
|
-
artifact. Core supplies content operations and authorization but does not
|
|
97
|
-
serve the UI or reserve Admin paths when the module is absent.
|
|
98
|
-
|
|
99
|
-
Cloudflare, Bun, and Vercel packages bind platform storage, lifecycle,
|
|
100
|
-
request/session, cache, and asset concerns. They may expose convenience
|
|
101
|
-
facades, but those facades compose the same Core and selected modules.
|
|
102
|
-
|
|
103
|
-
### Storage and Views
|
|
104
|
-
|
|
105
|
-
Preparation accepts a selected storage adapter and produces semantic ports,
|
|
106
|
-
including existing content repositories/readers and a `ViewQueryExecutor`.
|
|
107
|
-
Concrete D1/SQLite drivers and SQL repositories remain implementation details.
|
|
108
|
-
An existing application may either pass its already-owned database/client to
|
|
109
|
-
an official adapter or implement the semantic ports over its own tables.
|
|
110
|
-
|
|
111
|
-
`@aotter/mantle-indexeddb` is the optional browser storage implementation of
|
|
112
|
-
the same semantic ports. One adapter exclusively owns one application-selected
|
|
113
|
-
database name, uses structured-clone persistence and IndexedDB transaction
|
|
114
|
-
completion as its write boundary, and exposes database deletion only on the
|
|
115
|
-
concrete adapter. Runtime Core gains no browser global, browser facade,
|
|
116
|
-
namespace, persistence request, reactive binding, or synchronization port.
|
|
117
|
-
Declarative browser Views use a documented O(n) scan until measured use proves
|
|
118
|
-
an IndexedDB query planner necessary.
|
|
119
|
-
|
|
120
|
-
Declarative Views compile to logical plans once. Storage preparation lowers
|
|
121
|
-
those plans to native queries. The v0.1 `View.spec.sql` form remains explicitly
|
|
122
|
-
SQLite-only and is rejected by unsupported storage during preparation; Mantle
|
|
123
|
-
does not guess a translation and does not add a universal query driver.
|
|
124
|
-
|
|
125
|
-
### Callable capability projection
|
|
126
|
-
|
|
127
|
-
Optional callable transports consume `projectCallableCapabilities(RuntimePlan)`.
|
|
128
|
-
Each Procedure capability retains the owning MCP Trigger name while its
|
|
129
|
-
input/output/title/description remain owned by the target Procedure; View
|
|
130
|
-
capabilities retain their read-only View contract. Discovery and invocation use
|
|
131
|
-
the same projected descriptor, and invocation routes through `invokeTrigger`
|
|
132
|
-
rather than bypassing Trigger identity with a direct Procedure call. Hosts may
|
|
133
|
-
select a surface and bind transport or browser lifecycle, but do not rescan raw
|
|
134
|
-
manifests or maintain a second registry.
|
|
135
|
-
|
|
136
|
-
`@aotter/mantle-web/webmcp` is an opt-in host binding over that projection. It
|
|
137
|
-
feature-detects `document.modelContext`, adds public capabilities without
|
|
138
|
-
replacing existing host tools, and uses the registration `AbortSignal` only for
|
|
139
|
-
teardown. A browser-local host supplies the projected capabilities and a
|
|
140
|
-
late-bound invoker; Procedure calls retain their explicit MCP Trigger identity.
|
|
141
|
-
For a server-backed host, the Cloudflare adapter publishes a minimal public View
|
|
142
|
-
catalog at `GET /api/views`; the binding validates that wire catalog and invokes
|
|
143
|
-
the existing same-origin `GET /api/views/<name>` route. The catalog contains no
|
|
144
|
-
raw manifest or staff capability.
|
|
145
|
-
Invocation hooks may drive host UI effects but cannot replace Runtime
|
|
146
|
-
validation, authorization, dispatch, or domain results. The binding does not
|
|
147
|
-
add browser globals to Runtime Core, expose staff capabilities, or introduce a
|
|
148
|
-
second manifest/runtime path.
|
|
149
|
-
|
|
150
|
-
### Naming and code generation
|
|
151
|
-
|
|
152
|
-
This section records the original codegen decision. The current generated API
|
|
153
|
-
uses a sealed `plan` and wire-keyed `Schemas`, `Views`, and `Store` type maps;
|
|
154
|
-
see the [typed queries guide](../handbook/guides/typed-queries.md).
|
|
155
|
-
|
|
156
|
-
The Core execution unit is `MantleRuntime`, not a site. Optional TypeScript
|
|
157
|
-
generation is a pure projection of linked/compiled semantics. It exposes
|
|
158
|
-
`bindMantle(runtime)` plus an eager `createMantle()` convenience that delegates
|
|
159
|
-
one preparation attempt to Runtime. Generated code never caches, retries,
|
|
160
|
-
mounts routes, or owns host lifecycle. The bound API retains its raw `runtime`
|
|
161
|
-
so typed projection does not hide lower-level Core capabilities. It emits
|
|
162
|
-
deterministic lower-camel identifiers while preserving manifest wire names
|
|
163
|
-
internally. Identifier collisions are errors.
|
|
164
|
-
|
|
165
|
-
Code generation is never required by the runtime and never copies Web or Admin
|
|
166
|
-
assets. Dynamic/string-based calls remain the escape hatch for JavaScript and
|
|
167
|
-
runtime-defined consumers.
|
|
168
|
-
|
|
169
|
-
### Migration rule
|
|
170
|
-
|
|
171
|
-
Issues #663 through #673 move ownership in pipeline order. At every step:
|
|
172
|
-
|
|
173
|
-
- existing callers may use a temporary wrapper only if it delegates to the new
|
|
174
|
-
owner;
|
|
175
|
-
- no rule, default, query compiler, authorization evaluator, or router is
|
|
176
|
-
implemented twice;
|
|
177
|
-
- the old owner and its obsolete tests are deleted when its last caller moves;
|
|
178
|
-
- exact packed consumers, not workspace links, are the final compatibility
|
|
179
|
-
gate.
|
|
180
|
-
|
|
181
|
-
Breaking API changes from the `v0.1.0-alpha.7` contract are allowed in the
|
|
182
|
-
0.1.2 milestone. Migration notes should keep old projects mechanically
|
|
183
|
-
adaptable, but downward compatibility is not a reason to retain a second stack.
|
|
184
|
-
|
|
185
|
-
## Consequences
|
|
186
|
-
|
|
187
|
-
### Positive
|
|
188
|
-
|
|
189
|
-
- Human and agent authors get one deterministic path and one diagnostic owner.
|
|
190
|
-
- Existing applications can embed Core without surrendering process, router,
|
|
191
|
-
database, or transaction ownership.
|
|
192
|
-
- Web, Admin, and each platform can evolve without entering Core.
|
|
193
|
-
- Performance work happens once per semantic revision instead of per request.
|
|
194
|
-
- Compatibility code has a defined deletion point.
|
|
195
|
-
|
|
196
|
-
### Negative
|
|
197
|
-
|
|
198
|
-
- 0.1.2 intentionally breaks parts of the alpha.7 API.
|
|
199
|
-
- Cloudflare's current convenience facade must be decomposed and then
|
|
200
|
-
reassembled from optional modules.
|
|
201
|
-
- Downstream projects must update generated imports and runtime construction.
|
|
202
|
-
- Exact consumer tests are required across more than one platform.
|
|
203
|
-
|
|
204
|
-
## Alternatives
|
|
205
|
-
|
|
206
|
-
### Keep `Manifest[]` as the shared contract
|
|
207
|
-
|
|
208
|
-
Rejected. It cannot prove that defaults, references, and plans were evaluated
|
|
209
|
-
once, and it lets every downstream package rebuild semantic state.
|
|
210
|
-
|
|
211
|
-
### Generalize `DatabaseDriver` for every database
|
|
212
|
-
|
|
213
|
-
Rejected. Its SQL/D1 shape is not a useful MongoDB or application-domain
|
|
214
|
-
contract. Existing semantic repository ports are the smaller portable seam.
|
|
215
|
-
|
|
216
|
-
### Add a plugin/provider framework
|
|
217
|
-
|
|
218
|
-
Rejected. Ordinary package dependencies, exported mount functions, and narrow
|
|
219
|
-
ports cover the known compositions. A registry would add a second architecture
|
|
220
|
-
before a use case requires it.
|
|
221
|
-
|
|
222
|
-
### Build a parallel Core v2 and migrate later
|
|
223
|
-
|
|
224
|
-
Rejected. It duplicates rules and makes deletion optional. The migration is
|
|
225
|
-
ordered specifically so each new owner replaces the old owner in place.
|
|
226
|
-
|
|
227
|
-
## How to apply
|
|
228
|
-
|
|
229
|
-
- Start a pipeline change at the current owner listed in the rule ledger.
|
|
230
|
-
- Add one check at the new owner, route every caller through it, then delete the
|
|
231
|
-
old implementation and obsolete tests.
|
|
232
|
-
- Reject runtime imports of raw manifests, Web/Admin packages, or platform
|
|
233
|
-
primitives once their migration issue closes.
|
|
234
|
-
- Prefer current ports and native platform APIs; add a package only for a real
|
|
235
|
-
dependency/runtime boundary.
|
|
236
|
-
- PR descriptions for #656 must state old owner, new owner, evidence, deleted
|
|
237
|
-
code, and any diagnostic timing change.
|
|
238
|
-
|
|
239
|
-
## Implementation status
|
|
240
|
-
|
|
241
|
-
Issue #662 records the current behavior, ownership ledger, consumer corpus, and
|
|
242
|
-
performance baseline. Issues #663 through #674 execute the migration and final
|
|
243
|
-
repository cleanup. The ADR is complete only when #673 removes every temporary
|
|
244
|
-
compatibility path; #674 then updates contributor guidance to the final tree.
|