@aotter/mantle 0.1.5-alpha.1 → 0.2.0-alpha.2
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 +39 -306
- package/dist/admin/consent.d.ts +17 -0
- package/dist/admin/consent.d.ts.map +1 -0
- package/dist/admin/consent.js +17 -0
- package/dist/admin/consent.js.map +1 -0
- package/dist/admin/createAdminSurface.d.ts +22 -0
- package/dist/admin/createAdminSurface.d.ts.map +1 -0
- package/dist/admin/createAdminSurface.js +592 -0
- package/dist/admin/createAdminSurface.js.map +1 -0
- package/dist/admin/developerConsole.d.ts +266 -0
- package/dist/admin/developerConsole.d.ts.map +1 -0
- package/dist/admin/developerConsole.js +136 -0
- package/dist/admin/developerConsole.js.map +1 -0
- package/dist/admin/identity.d.ts +62 -0
- package/dist/admin/identity.d.ts.map +1 -0
- package/dist/admin/identity.js +7 -0
- package/dist/admin/identity.js.map +1 -0
- package/dist/admin/index.d.ts +4 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +4 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/procedureFlow.d.ts +38 -0
- package/dist/admin/procedureFlow.d.ts.map +1 -0
- package/dist/admin/procedureFlow.js +188 -0
- package/dist/admin/procedureFlow.js.map +1 -0
- package/dist/auth/ConsoleEmailSender.d.ts +15 -0
- package/dist/auth/ConsoleEmailSender.d.ts.map +1 -0
- package/dist/auth/ConsoleEmailSender.js +19 -0
- package/dist/auth/ConsoleEmailSender.js.map +1 -0
- package/dist/auth/appleClientSecret.d.ts +75 -0
- package/dist/auth/appleClientSecret.d.ts.map +1 -0
- package/dist/auth/appleClientSecret.js +116 -0
- package/dist/auth/appleClientSecret.js.map +1 -0
- package/dist/auth/buildAuth.d.ts +4565 -0
- package/dist/auth/buildAuth.d.ts.map +1 -0
- package/dist/auth/buildAuth.js +307 -0
- package/dist/auth/buildAuth.js.map +1 -0
- package/dist/auth/callerResolver.d.ts +48 -0
- package/dist/auth/callerResolver.d.ts.map +1 -0
- package/dist/auth/callerResolver.js +49 -0
- package/dist/auth/callerResolver.js.map +1 -0
- package/dist/auth/createAuthRoutes.d.ts +22 -0
- package/dist/auth/createAuthRoutes.d.ts.map +1 -0
- package/dist/auth/createAuthRoutes.js +129 -0
- package/dist/auth/createAuthRoutes.js.map +1 -0
- package/dist/auth/createMantleAuth.d.ts +3 -0
- package/dist/auth/createMantleAuth.d.ts.map +1 -0
- package/dist/auth/createMantleAuth.js +508 -0
- package/dist/auth/createMantleAuth.js.map +1 -0
- package/dist/auth/db.d.ts +17 -0
- package/dist/auth/db.d.ts.map +1 -0
- package/dist/auth/db.js +24 -0
- package/dist/auth/db.js.map +1 -0
- package/dist/auth/emailTemplates.d.ts +7 -0
- package/dist/auth/emailTemplates.d.ts.map +1 -0
- package/dist/auth/emailTemplates.js +27 -0
- package/dist/auth/emailTemplates.js.map +1 -0
- package/dist/auth/index.d.ts +9 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +7 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/methods.d.ts +717 -0
- package/dist/auth/methods.d.ts.map +1 -0
- package/dist/auth/methods.js +321 -0
- package/dist/auth/methods.js.map +1 -0
- package/dist/auth/oauthTokens.d.ts +24 -0
- package/dist/auth/oauthTokens.d.ts.map +1 -0
- package/dist/auth/oauthTokens.js +146 -0
- package/dist/auth/oauthTokens.js.map +1 -0
- package/dist/auth/setupIncomplete.d.ts +16 -0
- package/dist/auth/setupIncomplete.d.ts.map +1 -0
- package/dist/auth/setupIncomplete.js +50 -0
- package/dist/auth/setupIncomplete.js.map +1 -0
- package/dist/auth/types.d.ts +440 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +10 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/bun/index.d.ts +65 -0
- package/dist/bun/index.d.ts.map +1 -0
- package/dist/bun/index.js +130 -0
- package/dist/bun/index.js.map +1 -0
- package/dist/cli/emitModule.d.ts +7 -0
- package/dist/cli/emitModule.d.ts.map +1 -0
- package/dist/cli/emitModule.js +127 -0
- package/dist/cli/emitModule.js.map +1 -0
- package/dist/cli/generate.d.ts +4 -16
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +318 -262
- package/dist/cli/generate.js.map +1 -1
- package/dist/cli/main.d.ts +1 -1
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +15 -71
- package/dist/cli/main.js.map +1 -1
- package/dist/cli/preset.d.ts +18 -0
- package/dist/cli/preset.d.ts.map +1 -0
- package/dist/cli/preset.js +353 -0
- package/dist/cli/preset.js.map +1 -0
- package/dist/cloudflare/index.d.ts +21 -0
- package/dist/cloudflare/index.d.ts.map +1 -0
- package/dist/cloudflare/index.js +14 -0
- package/dist/cloudflare/index.js.map +1 -0
- package/dist/cloudflare/r2Media.d.ts +43 -0
- package/dist/cloudflare/r2Media.d.ts.map +1 -0
- package/dist/cloudflare/r2Media.js +69 -0
- package/dist/cloudflare/r2Media.js.map +1 -0
- package/dist/core/caller.d.ts +35 -0
- package/dist/core/caller.d.ts.map +1 -0
- package/dist/core/caller.js +3 -0
- package/dist/core/caller.js.map +1 -0
- package/dist/core/createMantle.d.ts +22 -0
- package/dist/core/createMantle.d.ts.map +1 -0
- package/dist/core/createMantle.js +117 -0
- package/dist/core/createMantle.js.map +1 -0
- package/dist/core/dialect.d.ts +41 -0
- package/dist/core/dialect.d.ts.map +1 -0
- package/dist/core/dialect.js +7 -0
- package/dist/core/dialect.js.map +1 -0
- package/dist/core/driver.d.ts +17 -0
- package/dist/core/driver.d.ts.map +1 -0
- package/dist/core/driver.js +2 -0
- package/dist/core/driver.js.map +1 -0
- package/dist/core/email.d.ts +17 -0
- package/dist/core/email.d.ts.map +1 -0
- package/dist/core/email.js +2 -0
- package/dist/core/email.js.map +1 -0
- package/dist/core/index.d.ts +16 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +16 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/invocation.d.ts +66 -0
- package/dist/core/invocation.d.ts.map +1 -0
- package/dist/core/invocation.js +3 -0
- package/dist/core/invocation.js.map +1 -0
- package/dist/core/runtime/auth.d.ts +9 -0
- package/dist/core/runtime/auth.d.ts.map +1 -0
- package/dist/core/runtime/auth.js +39 -0
- package/dist/core/runtime/auth.js.map +1 -0
- package/dist/core/runtime/createRuntime.d.ts +23 -0
- package/dist/core/runtime/createRuntime.d.ts.map +1 -0
- package/dist/core/runtime/createRuntime.js +214 -0
- package/dist/core/runtime/createRuntime.js.map +1 -0
- package/dist/core/runtime/verifyPlan.d.ts +34 -0
- package/dist/core/runtime/verifyPlan.d.ts.map +1 -0
- package/dist/core/runtime/verifyPlan.js +301 -0
- package/dist/core/runtime/verifyPlan.js.map +1 -0
- package/dist/core/service.d.ts +45 -0
- package/dist/core/service.d.ts.map +1 -0
- package/dist/core/service.js +2 -0
- package/dist/core/service.js.map +1 -0
- package/dist/core/site.d.ts +117 -0
- package/dist/core/site.d.ts.map +1 -0
- package/dist/core/site.js +2 -0
- package/dist/core/site.js.map +1 -0
- package/dist/core/siteConfig.d.ts +5 -0
- package/dist/core/siteConfig.d.ts.map +1 -0
- package/dist/core/siteConfig.js +24 -0
- package/dist/core/siteConfig.js.map +1 -0
- package/dist/core/sql/allowlist.d.ts +65 -0
- package/dist/core/sql/allowlist.d.ts.map +1 -0
- package/dist/core/sql/allowlist.js +705 -0
- package/dist/core/sql/allowlist.js.map +1 -0
- package/dist/core/sql/ast.d.ts +24 -0
- package/dist/core/sql/ast.d.ts.map +1 -0
- package/dist/core/sql/ast.js +32 -0
- package/dist/core/sql/ast.js.map +1 -0
- package/dist/core/sql/compile.d.ts +50 -0
- package/dist/core/sql/compile.d.ts.map +1 -0
- package/dist/core/sql/compile.js +48 -0
- package/dist/core/sql/compile.js.map +1 -0
- package/dist/core/sql/policy.d.ts +121 -0
- package/dist/core/sql/policy.d.ts.map +1 -0
- package/dist/core/sql/policy.js +379 -0
- package/dist/core/sql/policy.js.map +1 -0
- package/dist/core/sql/positions.d.ts +30 -0
- package/dist/core/sql/positions.d.ts.map +1 -0
- package/dist/core/sql/positions.js +22 -0
- package/dist/core/sql/positions.js.map +1 -0
- package/dist/core/sql/run.d.ts +76 -0
- package/dist/core/sql/run.d.ts.map +1 -0
- package/dist/core/sql/run.js +267 -0
- package/dist/core/sql/run.js.map +1 -0
- package/dist/core/store/createStore.d.ts +49 -0
- package/dist/core/store/createStore.d.ts.map +1 -0
- package/dist/core/store/createStore.js +227 -0
- package/dist/core/store/createStore.js.map +1 -0
- package/dist/core/store/cursor.d.ts +4 -0
- package/dist/core/store/cursor.d.ts.map +1 -0
- package/dist/core/store/cursor.js +22 -0
- package/dist/core/store/cursor.js.map +1 -0
- package/dist/core/store/json.d.ts +80 -0
- package/dist/core/store/json.d.ts.map +1 -0
- package/dist/core/store/json.js +342 -0
- package/dist/core/store/json.js.map +1 -0
- package/dist/core/store.d.ts +160 -0
- package/dist/core/store.d.ts.map +1 -0
- package/dist/core/store.js +2 -0
- package/dist/core/store.js.map +1 -0
- package/dist/core/wire.d.ts +20 -0
- package/dist/core/wire.d.ts.map +1 -0
- package/dist/core/wire.js +84 -0
- package/dist/core/wire.js.map +1 -0
- package/dist/core/withCaller.d.ts +16 -0
- package/dist/core/withCaller.d.ts.map +1 -0
- package/dist/core/withCaller.js +29 -0
- package/dist/core/withCaller.js.map +1 -0
- package/dist/d1/adapter.d.ts +12 -0
- package/dist/d1/adapter.d.ts.map +1 -0
- package/dist/d1/adapter.js +23 -0
- package/dist/d1/adapter.js.map +1 -0
- package/dist/d1/codec.d.ts +14 -0
- package/dist/d1/codec.d.ts.map +1 -0
- package/dist/d1/codec.js +136 -0
- package/dist/d1/codec.js.map +1 -0
- package/dist/d1/compile/index.d.ts +9 -0
- package/dist/d1/compile/index.d.ts.map +1 -0
- package/dist/d1/compile/index.js +9 -0
- package/dist/d1/compile/index.js.map +1 -0
- package/dist/d1/dialect.d.ts +4 -0
- package/dist/d1/dialect.d.ts.map +1 -0
- package/dist/d1/dialect.js +13 -0
- package/dist/d1/dialect.js.map +1 -0
- package/dist/d1/executor.d.ts +13 -0
- package/dist/d1/executor.d.ts.map +1 -0
- package/dist/d1/executor.js +91 -0
- package/dist/d1/executor.js.map +1 -0
- package/dist/d1/index.d.ts +6 -0
- package/dist/d1/index.d.ts.map +1 -0
- package/dist/d1/index.js +6 -0
- package/dist/d1/index.js.map +1 -0
- package/dist/d1/lower.d.ts +8 -0
- package/dist/d1/lower.d.ts.map +1 -0
- package/dist/d1/lower.js +167 -0
- package/dist/d1/lower.js.map +1 -0
- package/dist/d1/media.d.ts +5 -0
- package/dist/d1/media.d.ts.map +1 -0
- package/dist/d1/media.js +157 -0
- package/dist/d1/media.js.map +1 -0
- package/dist/d1/migrations.d.ts +12 -0
- package/dist/d1/migrations.d.ts.map +1 -0
- package/dist/d1/migrations.js +111 -0
- package/dist/d1/migrations.js.map +1 -0
- package/dist/d1/print.d.ts +28 -0
- package/dist/d1/print.d.ts.map +1 -0
- package/dist/d1/print.js +54 -0
- package/dist/d1/print.js.map +1 -0
- package/dist/d1/site.d.ts +17 -0
- package/dist/d1/site.d.ts.map +1 -0
- package/dist/d1/site.js +63 -0
- package/dist/d1/site.js.map +1 -0
- package/dist/d1/storage.d.ts +34 -0
- package/dist/d1/storage.d.ts.map +1 -0
- package/dist/d1/storage.js +288 -0
- package/dist/d1/storage.js.map +1 -0
- package/dist/d1/tz.d.ts +21 -0
- package/dist/d1/tz.d.ts.map +1 -0
- package/dist/d1/tz.js +54 -0
- package/dist/d1/tz.js.map +1 -0
- package/dist/d1/validator.d.ts +10 -0
- package/dist/d1/validator.d.ts.map +1 -0
- package/dist/d1/validator.js +33 -0
- package/dist/d1/validator.js.map +1 -0
- package/dist/mcp/apps.d.ts +43 -0
- package/dist/mcp/apps.d.ts.map +1 -0
- package/dist/mcp/apps.js +57 -0
- package/dist/mcp/apps.js.map +1 -0
- package/dist/mcp/catalog.d.ts +55 -0
- package/dist/mcp/catalog.d.ts.map +1 -0
- package/dist/mcp/catalog.js +81 -0
- package/dist/mcp/catalog.js.map +1 -0
- package/dist/mcp/createMcpSurface.d.ts +34 -0
- package/dist/mcp/createMcpSurface.d.ts.map +1 -0
- package/dist/mcp/createMcpSurface.js +150 -0
- package/dist/mcp/createMcpSurface.js.map +1 -0
- package/dist/mcp/index.d.ts +4 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +4 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/postgres/adapter.d.ts +20 -0
- package/dist/postgres/adapter.d.ts.map +1 -0
- package/dist/postgres/adapter.js +44 -0
- package/dist/postgres/adapter.js.map +1 -0
- package/dist/postgres/codec.d.ts +13 -0
- package/dist/postgres/codec.d.ts.map +1 -0
- package/dist/postgres/codec.js +110 -0
- package/dist/postgres/codec.js.map +1 -0
- package/dist/postgres/compile/index.d.ts +9 -0
- package/dist/postgres/compile/index.d.ts.map +1 -0
- package/dist/postgres/compile/index.js +9 -0
- package/dist/postgres/compile/index.js.map +1 -0
- package/dist/postgres/driver.d.ts +92 -0
- package/dist/postgres/driver.d.ts.map +1 -0
- package/dist/postgres/driver.js +110 -0
- package/dist/postgres/driver.js.map +1 -0
- package/dist/postgres/executor.d.ts +20 -0
- package/dist/postgres/executor.d.ts.map +1 -0
- package/dist/postgres/executor.js +69 -0
- package/dist/postgres/executor.js.map +1 -0
- package/dist/postgres/index.d.ts +7 -0
- package/dist/postgres/index.d.ts.map +1 -0
- package/dist/postgres/index.js +7 -0
- package/dist/postgres/index.js.map +1 -0
- package/dist/postgres/lower.d.ts +6 -0
- package/dist/postgres/lower.d.ts.map +1 -0
- package/dist/postgres/lower.js +157 -0
- package/dist/postgres/lower.js.map +1 -0
- package/dist/postgres/print.d.ts +11 -0
- package/dist/postgres/print.d.ts.map +1 -0
- package/dist/postgres/print.js +121 -0
- package/dist/postgres/print.js.map +1 -0
- package/dist/postgres/storage.d.ts +19 -0
- package/dist/postgres/storage.d.ts.map +1 -0
- package/dist/postgres/storage.js +201 -0
- package/dist/postgres/storage.js.map +1 -0
- package/dist/postgres/textRows.d.ts +10 -0
- package/dist/postgres/textRows.d.ts.map +1 -0
- package/dist/postgres/textRows.js +44 -0
- package/dist/postgres/textRows.js.map +1 -0
- package/dist/postgres/validator.d.ts +12 -0
- package/dist/postgres/validator.d.ts.map +1 -0
- package/dist/postgres/validator.js +46 -0
- package/dist/postgres/validator.js.map +1 -0
- package/dist/spec/domain/index.d.ts +3 -0
- package/dist/spec/domain/index.d.ts.map +1 -0
- package/dist/spec/domain/index.js +3 -0
- package/dist/spec/domain/index.js.map +1 -0
- package/dist/spec/domain/model/ContentState.d.ts +8 -0
- package/dist/spec/domain/model/ContentState.d.ts.map +1 -0
- package/dist/spec/domain/model/ContentState.js +7 -0
- package/dist/spec/domain/model/ContentState.js.map +1 -0
- package/dist/spec/domain/model/Entry.d.ts +29 -0
- package/dist/spec/domain/model/Entry.d.ts.map +1 -0
- package/dist/spec/domain/model/Entry.js +16 -0
- package/dist/spec/domain/model/Entry.js.map +1 -0
- package/dist/spec/domain/model/Locale.d.ts +30 -0
- package/dist/spec/domain/model/Locale.d.ts.map +1 -0
- package/dist/spec/domain/model/Locale.js +33 -0
- package/dist/spec/domain/model/Locale.js.map +1 -0
- package/dist/spec/domain/model/ManifestGrammar.d.ts +452 -0
- package/dist/spec/domain/model/ManifestGrammar.d.ts.map +1 -0
- package/dist/spec/domain/model/ManifestGrammar.js +149 -0
- package/dist/spec/domain/model/ManifestGrammar.js.map +1 -0
- package/dist/spec/domain/model/MediaMimeAccept.d.ts +55 -0
- package/dist/spec/domain/model/MediaMimeAccept.d.ts.map +1 -0
- package/dist/spec/domain/model/MediaMimeAccept.js +90 -0
- package/dist/spec/domain/model/MediaMimeAccept.js.map +1 -0
- package/dist/spec/domain/model/RuntimePlan.d.ts +94 -0
- package/dist/spec/domain/model/RuntimePlan.d.ts.map +1 -0
- package/dist/spec/domain/model/RuntimePlan.js +4 -0
- package/dist/spec/domain/model/RuntimePlan.js.map +1 -0
- package/dist/spec/domain/model/SiteConfig.d.ts +173 -0
- package/dist/spec/domain/model/SiteConfig.d.ts.map +1 -0
- package/dist/spec/domain/model/SiteConfig.js +13 -0
- package/dist/spec/domain/model/SiteConfig.js.map +1 -0
- package/dist/spec/domain/model/SqlIr.d.ts +96 -0
- package/dist/spec/domain/model/SqlIr.d.ts.map +1 -0
- package/dist/spec/domain/model/SqlIr.js +95 -0
- package/dist/spec/domain/model/SqlIr.js.map +1 -0
- package/dist/spec/domain/model/index.d.ts +14 -0
- package/dist/spec/domain/model/index.d.ts.map +1 -0
- package/dist/spec/domain/model/index.js +14 -0
- package/dist/spec/domain/model/index.js.map +1 -0
- package/dist/spec/domain/service/CloudflareCron.d.ts +2 -0
- package/dist/spec/domain/service/CloudflareCron.d.ts.map +1 -0
- package/dist/spec/domain/service/CloudflareCron.js +63 -0
- package/dist/spec/domain/service/CloudflareCron.js.map +1 -0
- package/dist/spec/domain/service/CrossSchemaChecker.d.ts +34 -0
- package/dist/spec/domain/service/CrossSchemaChecker.d.ts.map +1 -0
- package/dist/spec/domain/service/CrossSchemaChecker.js +114 -0
- package/dist/spec/domain/service/CrossSchemaChecker.js.map +1 -0
- package/dist/spec/domain/service/EntryDataValidator.d.ts +56 -0
- package/dist/spec/domain/service/EntryDataValidator.d.ts.map +1 -0
- package/dist/spec/domain/service/EntryDataValidator.js +88 -0
- package/dist/spec/domain/service/EntryDataValidator.js.map +1 -0
- package/dist/spec/domain/service/JsonSchemaToZod.d.ts +29 -0
- package/dist/spec/domain/service/JsonSchemaToZod.d.ts.map +1 -0
- package/dist/spec/domain/service/JsonSchemaToZod.js +156 -0
- package/dist/spec/domain/service/JsonSchemaToZod.js.map +1 -0
- package/dist/spec/domain/service/LifecycleStateMachine.d.ts +75 -0
- package/dist/spec/domain/service/LifecycleStateMachine.d.ts.map +1 -0
- package/dist/spec/domain/service/LifecycleStateMachine.js +76 -0
- package/dist/spec/domain/service/LifecycleStateMachine.js.map +1 -0
- package/dist/spec/domain/service/LocaleCanonicalizer.d.ts +29 -0
- package/dist/spec/domain/service/LocaleCanonicalizer.d.ts.map +1 -0
- package/dist/spec/domain/service/LocaleCanonicalizer.js +96 -0
- package/dist/spec/domain/service/LocaleCanonicalizer.js.map +1 -0
- package/dist/spec/domain/service/ManifestFieldChecks.d.ts +60 -0
- package/dist/spec/domain/service/ManifestFieldChecks.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestFieldChecks.js +116 -0
- package/dist/spec/domain/service/ManifestFieldChecks.js.map +1 -0
- package/dist/spec/domain/service/ManifestGraphValidator.d.ts +15 -0
- package/dist/spec/domain/service/ManifestGraphValidator.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestGraphValidator.js +225 -0
- package/dist/spec/domain/service/ManifestGraphValidator.js.map +1 -0
- package/dist/spec/domain/service/ManifestLinker.d.ts +45 -0
- package/dist/spec/domain/service/ManifestLinker.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestLinker.js +92 -0
- package/dist/spec/domain/service/ManifestLinker.js.map +1 -0
- package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts +16 -0
- package/dist/spec/domain/service/ManifestLocaleTrimmer.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestLocaleTrimmer.js +76 -0
- package/dist/spec/domain/service/ManifestLocaleTrimmer.js.map +1 -0
- package/dist/spec/domain/service/ManifestParser.d.ts +49 -0
- package/dist/spec/domain/service/ManifestParser.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestParser.js +203 -0
- package/dist/spec/domain/service/ManifestParser.js.map +1 -0
- package/dist/spec/domain/service/ManifestPartition.d.ts +9 -0
- package/dist/spec/domain/service/ManifestPartition.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestPartition.js +19 -0
- package/dist/spec/domain/service/ManifestPartition.js.map +1 -0
- package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts +33 -0
- package/dist/spec/domain/service/ManifestPathDiagnoser.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestPathDiagnoser.js +43 -0
- package/dist/spec/domain/service/ManifestPathDiagnoser.js.map +1 -0
- package/dist/spec/domain/service/ManifestSourceSpans.d.ts +10 -0
- package/dist/spec/domain/service/ManifestSourceSpans.d.ts.map +1 -0
- package/dist/spec/domain/service/ManifestSourceSpans.js +76 -0
- package/dist/spec/domain/service/ManifestSourceSpans.js.map +1 -0
- package/dist/spec/domain/service/McpToolNaming.d.ts +25 -0
- package/dist/spec/domain/service/McpToolNaming.d.ts.map +1 -0
- package/dist/spec/domain/service/McpToolNaming.js +50 -0
- package/dist/spec/domain/service/McpToolNaming.js.map +1 -0
- package/dist/spec/domain/service/PlanFingerprint.d.ts +4 -0
- package/dist/spec/domain/service/PlanFingerprint.d.ts.map +1 -0
- package/dist/spec/domain/service/PlanFingerprint.js +14 -0
- package/dist/spec/domain/service/PlanFingerprint.js.map +1 -0
- package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts +4 -0
- package/dist/spec/domain/service/ProcedureViewSpecChecks.d.ts.map +1 -0
- package/dist/spec/domain/service/ProcedureViewSpecChecks.js +211 -0
- package/dist/spec/domain/service/ProcedureViewSpecChecks.js.map +1 -0
- package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts +42 -0
- package/dist/spec/domain/service/SchemaAdminUiChecker.d.ts.map +1 -0
- package/dist/spec/domain/service/SchemaAdminUiChecker.js +289 -0
- package/dist/spec/domain/service/SchemaAdminUiChecker.js.map +1 -0
- package/dist/spec/domain/service/SchemaIndexChecker.d.ts +33 -0
- package/dist/spec/domain/service/SchemaIndexChecker.d.ts.map +1 -0
- package/dist/spec/domain/service/SchemaIndexChecker.js +256 -0
- package/dist/spec/domain/service/SchemaIndexChecker.js.map +1 -0
- package/dist/spec/domain/service/SchemaSearchChecker.d.ts +11 -0
- package/dist/spec/domain/service/SchemaSearchChecker.d.ts.map +1 -0
- package/dist/spec/domain/service/SchemaSearchChecker.js +78 -0
- package/dist/spec/domain/service/SchemaSearchChecker.js.map +1 -0
- package/dist/spec/domain/service/SchemaSpecChecks.d.ts +31 -0
- package/dist/spec/domain/service/SchemaSpecChecks.d.ts.map +1 -0
- package/dist/spec/domain/service/SchemaSpecChecks.js +445 -0
- package/dist/spec/domain/service/SchemaSpecChecks.js.map +1 -0
- package/dist/spec/domain/service/SiteDefaultsValidator.d.ts +39 -0
- package/dist/spec/domain/service/SiteDefaultsValidator.d.ts.map +1 -0
- package/dist/spec/domain/service/SiteDefaultsValidator.js +194 -0
- package/dist/spec/domain/service/SiteDefaultsValidator.js.map +1 -0
- package/dist/spec/domain/service/SqlClassify.d.ts +19 -0
- package/dist/spec/domain/service/SqlClassify.d.ts.map +1 -0
- package/dist/spec/domain/service/SqlClassify.js +42 -0
- package/dist/spec/domain/service/SqlClassify.js.map +1 -0
- package/dist/spec/domain/service/SqlRefusal.d.ts +16 -0
- package/dist/spec/domain/service/SqlRefusal.d.ts.map +1 -0
- package/dist/spec/domain/service/SqlRefusal.js +20 -0
- package/dist/spec/domain/service/SqlRefusal.js.map +1 -0
- package/dist/spec/domain/service/SqlTypes.d.ts +40 -0
- package/dist/spec/domain/service/SqlTypes.d.ts.map +1 -0
- package/dist/spec/domain/service/SqlTypes.js +110 -0
- package/dist/spec/domain/service/SqlTypes.js.map +1 -0
- package/dist/spec/domain/service/StaffRoleHierarchy.d.ts +3 -0
- package/dist/spec/domain/service/StaffRoleHierarchy.d.ts.map +1 -0
- package/dist/spec/domain/service/StaffRoleHierarchy.js +19 -0
- package/dist/spec/domain/service/StaffRoleHierarchy.js.map +1 -0
- package/dist/spec/domain/service/TriggerGraphChecks.d.ts +16 -0
- package/dist/spec/domain/service/TriggerGraphChecks.d.ts.map +1 -0
- package/dist/spec/domain/service/TriggerGraphChecks.js +337 -0
- package/dist/spec/domain/service/TriggerGraphChecks.js.map +1 -0
- package/dist/spec/domain/service/TriggerSpecChecks.d.ts +4 -0
- package/dist/spec/domain/service/TriggerSpecChecks.d.ts.map +1 -0
- package/dist/spec/domain/service/TriggerSpecChecks.js +89 -0
- package/dist/spec/domain/service/TriggerSpecChecks.js.map +1 -0
- package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts +11 -0
- package/dist/spec/domain/service/ValidatedAdminUiProjection.d.ts.map +1 -0
- package/dist/spec/domain/service/ValidatedAdminUiProjection.js +26 -0
- package/dist/spec/domain/service/ValidatedAdminUiProjection.js.map +1 -0
- package/dist/spec/domain/service/ViewAdminUiChecker.d.ts +14 -0
- package/dist/spec/domain/service/ViewAdminUiChecker.d.ts.map +1 -0
- package/dist/spec/domain/service/ViewAdminUiChecker.js +53 -0
- package/dist/spec/domain/service/ViewAdminUiChecker.js.map +1 -0
- package/dist/spec/domain/service/index.d.ts +24 -0
- package/dist/spec/domain/service/index.d.ts.map +1 -0
- package/dist/spec/domain/service/index.js +24 -0
- package/dist/spec/domain/service/index.js.map +1 -0
- package/dist/spec/index.d.ts +10 -0
- package/dist/spec/index.d.ts.map +1 -0
- package/dist/spec/index.js +12 -0
- package/dist/spec/index.js.map +1 -0
- package/dist/spec/infrastructure/cli/parseArgsError.d.ts +16 -0
- package/dist/spec/infrastructure/cli/parseArgsError.d.ts.map +1 -0
- package/dist/spec/infrastructure/cli/parseArgsError.js +34 -0
- package/dist/spec/infrastructure/cli/parseArgsError.js.map +1 -0
- package/dist/spec/infrastructure/index.d.ts +2 -0
- package/dist/spec/infrastructure/index.d.ts.map +1 -0
- package/dist/spec/infrastructure/index.js +2 -0
- package/dist/spec/infrastructure/index.js.map +1 -0
- package/dist/spec/infrastructure/sql/PgQueryParser.d.ts +18 -0
- package/dist/spec/infrastructure/sql/PgQueryParser.d.ts.map +1 -0
- package/dist/spec/infrastructure/sql/PgQueryParser.js +17 -0
- package/dist/spec/infrastructure/sql/PgQueryParser.js.map +1 -0
- package/dist/spec/infrastructure/sql/compilePlan.d.ts +37 -0
- package/dist/spec/infrastructure/sql/compilePlan.d.ts.map +1 -0
- package/dist/spec/infrastructure/sql/compilePlan.js +282 -0
- package/dist/spec/infrastructure/sql/compilePlan.js.map +1 -0
- package/dist/spec/infrastructure/sql/compileSql.d.ts +35 -0
- package/dist/spec/infrastructure/sql/compileSql.d.ts.map +1 -0
- package/dist/spec/infrastructure/sql/compileSql.js +92 -0
- package/dist/spec/infrastructure/sql/compileSql.js.map +1 -0
- package/dist/spec/infrastructure/sql/frontEnd.d.ts +8 -0
- package/dist/spec/infrastructure/sql/frontEnd.d.ts.map +1 -0
- package/dist/spec/infrastructure/sql/frontEnd.js +100 -0
- package/dist/spec/infrastructure/sql/frontEnd.js.map +1 -0
- package/dist/spec/infrastructure/sql/index.d.ts +4 -0
- package/dist/spec/infrastructure/sql/index.d.ts.map +1 -0
- package/dist/spec/infrastructure/sql/index.js +4 -0
- package/dist/spec/infrastructure/sql/index.js.map +1 -0
- package/dist/spec/kernel/diagnostic.d.ts +137 -0
- package/dist/spec/kernel/diagnostic.d.ts.map +1 -0
- package/dist/spec/kernel/diagnostic.js +296 -0
- package/dist/spec/kernel/diagnostic.js.map +1 -0
- package/dist/spec/kernel/index.d.ts +8 -0
- package/dist/spec/kernel/index.d.ts.map +1 -0
- package/dist/spec/kernel/index.js +8 -0
- package/dist/spec/kernel/index.js.map +1 -0
- package/dist/spec/usecase/EmitTypes.d.ts +22 -0
- package/dist/spec/usecase/EmitTypes.d.ts.map +1 -0
- package/dist/spec/usecase/EmitTypes.js +182 -0
- package/dist/spec/usecase/EmitTypes.js.map +1 -0
- package/dist/spec/usecase/ValidateManifestsUseCase.d.ts +8 -0
- package/dist/spec/usecase/ValidateManifestsUseCase.d.ts.map +1 -0
- package/dist/spec/usecase/ValidateManifestsUseCase.js +101 -0
- package/dist/spec/usecase/ValidateManifestsUseCase.js.map +1 -0
- package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts +27 -0
- package/dist/spec/usecase/dto/ValidateManifestsRequest.d.ts.map +1 -0
- package/dist/spec/usecase/dto/ValidateManifestsRequest.js +2 -0
- package/dist/spec/usecase/dto/ValidateManifestsRequest.js.map +1 -0
- package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts +14 -0
- package/dist/spec/usecase/dto/ValidateManifestsResponse.d.ts.map +1 -0
- package/dist/spec/usecase/dto/ValidateManifestsResponse.js +2 -0
- package/dist/spec/usecase/dto/ValidateManifestsResponse.js.map +1 -0
- package/dist/spec/usecase/dto/index.d.ts +3 -0
- package/dist/spec/usecase/dto/index.d.ts.map +1 -0
- package/dist/spec/usecase/dto/index.js +3 -0
- package/dist/spec/usecase/dto/index.js.map +1 -0
- package/dist/spec/usecase/index.d.ts +10 -0
- package/dist/spec/usecase/index.d.ts.map +1 -0
- package/dist/spec/usecase/index.js +10 -0
- package/dist/spec/usecase/index.js.map +1 -0
- package/dist/testing/cases/before-hook.d.ts +4 -0
- package/dist/testing/cases/before-hook.d.ts.map +1 -0
- package/dist/testing/cases/before-hook.js +71 -0
- package/dist/testing/cases/before-hook.js.map +1 -0
- package/dist/testing/cases/corpus.d.ts +12 -0
- package/dist/testing/cases/corpus.d.ts.map +1 -0
- package/dist/testing/cases/corpus.js +91 -0
- package/dist/testing/cases/corpus.js.map +1 -0
- package/dist/testing/cases/policy.d.ts +74 -0
- package/dist/testing/cases/policy.d.ts.map +1 -0
- package/dist/testing/cases/policy.js +142 -0
- package/dist/testing/cases/policy.js.map +1 -0
- package/dist/testing/cases/printer.d.ts +4 -0
- package/dist/testing/cases/printer.d.ts.map +1 -0
- package/dist/testing/cases/printer.js +32 -0
- package/dist/testing/cases/printer.js.map +1 -0
- package/dist/testing/cases/report-view.d.ts +5 -0
- package/dist/testing/cases/report-view.d.ts.map +1 -0
- package/dist/testing/cases/report-view.js +33 -0
- package/dist/testing/cases/report-view.js.map +1 -0
- package/dist/testing/cases/requisition.d.ts +4 -0
- package/dist/testing/cases/requisition.d.ts.map +1 -0
- package/dist/testing/cases/requisition.js +38 -0
- package/dist/testing/cases/requisition.js.map +1 -0
- package/dist/testing/cases/search-places.d.ts +4 -0
- package/dist/testing/cases/search-places.d.ts.map +1 -0
- package/dist/testing/cases/search-places.js +60 -0
- package/dist/testing/cases/search-places.js.map +1 -0
- package/dist/testing/cases/stock.d.ts +4 -0
- package/dist/testing/cases/stock.d.ts.map +1 -0
- package/dist/testing/cases/stock.js +35 -0
- package/dist/testing/cases/stock.js.map +1 -0
- package/dist/testing/cases/store.d.ts +4 -0
- package/dist/testing/cases/store.d.ts.map +1 -0
- package/dist/testing/cases/store.js +100 -0
- package/dist/testing/cases/store.js.map +1 -0
- package/dist/testing/harness.d.ts +94 -0
- package/dist/testing/harness.d.ts.map +1 -0
- package/dist/testing/harness.js +168 -0
- package/dist/testing/harness.js.map +1 -0
- package/dist/testing/index.d.ts +37 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +43 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/report.d.ts +15 -0
- package/dist/testing/report.d.ts.map +1 -0
- package/dist/testing/report.js +22 -0
- package/dist/testing/report.js.map +1 -0
- package/dist/web/createRestSurface.d.ts +7 -0
- package/dist/web/createRestSurface.d.ts.map +1 -0
- package/dist/web/createRestSurface.js +39 -0
- package/dist/web/createRestSurface.js.map +1 -0
- package/dist/web/index.d.ts +2 -0
- package/dist/web/index.d.ts.map +1 -0
- package/dist/web/index.js +2 -0
- package/dist/web/index.js.map +1 -0
- package/docs/adr/0008-structured-diagnostic-shape.md +2 -2
- package/docs/adr/0011-adapter-port-spec.md +2 -2
- package/docs/adr/0014-auth-better-auth-and-multi-tenant-mcp.md +21 -2
- package/docs/adr/0019-sealed-manifest-runtime-pipeline.md +5 -1
- package/docs/adr/0022-caller-observed-version-occ.md +1 -1
- package/docs/adr/0024-manifest-native-schema-tables.md +2 -2
- package/docs/adr/0027-scheduled-procedure-triggers.md +1 -1
- package/docs/adr/0028-schema-ttl-expiry.md +3 -3
- package/docs/adr/0029-mcp-apps-interaction-contracts.md +324 -0
- package/docs/adr/0030-store.md +40 -0
- package/docs/adr/0031-host-cloud-core-contract.md +25 -0
- package/docs/adr/0032-store-centric-core-and-service-contract.md +361 -0
- package/docs/adr/0033-storage-converges-to-the-plan.md +92 -0
- package/docs/adr/0034-store-is-authored-as-sql.md +192 -0
- package/docs/adr/0035-sql-dialects.md +154 -0
- package/docs/adr/0036-host-and-dialect.md +65 -0
- package/docs/adr/0037-postgresql-is-the-reference-dialect.md +124 -0
- package/docs/adr/0038-bun-native-host.md +63 -0
- package/docs/adr/README.md +23 -8
- package/docs/adr/adr-lite-861-admin-webmcp.md +6 -0
- package/docs/adr/adr-lite-909-admin-ui-kit.md +1 -1
- package/docs/examples/README.md +16 -18
- package/docs/examples/commerce-inventory.md +481 -0
- package/docs/examples/commerce.md +254 -0
- package/docs/examples/guarded-api.md +238 -0
- package/docs/examples/intake-hooks.md +237 -0
- package/docs/examples/intake.md +127 -0
- package/docs/examples/legal-documents.md +218 -0
- package/docs/examples/procurement.md +215 -0
- package/docs/examples/publication.md +211 -0
- package/docs/examples/reference-service/.dev.vars.example +4 -0
- package/docs/examples/reference-service/.mantle/generated/mantle.ts +174 -0
- package/docs/examples/reference-service/.mantle/generated/plan.json +1936 -0
- package/docs/examples/reference-service/README.md +33 -0
- package/docs/examples/reference-service/manifests/catalog.yaml +103 -0
- package/docs/examples/reference-service/manifests/orders.yaml +120 -0
- package/docs/examples/reference-service/mantle.config.json +1 -0
- package/docs/examples/reference-service/package.json +27 -0
- package/docs/examples/reference-service/smoke.mjs +156 -0
- package/docs/examples/reference-service/src/handlers.ts +36 -0
- package/docs/examples/reference-service/src/index.ts +33 -0
- package/docs/examples/reference-service/src/service.ts +78 -0
- package/docs/examples/{host-minimal-worker → reference-service}/tsconfig.json +7 -2
- package/docs/examples/reference-service/wrangler.jsonc +26 -0
- package/docs/examples/reservation.md +142 -0
- package/docs/handbook/cloudflare/authentication.md +119 -311
- package/docs/handbook/cloudflare/chatgpt-sites.md +104 -15
- package/docs/handbook/cloudflare/deploy-and-operate.md +77 -71
- package/docs/handbook/cloudflare/media-r2.md +64 -187
- package/docs/handbook/cloudflare/service-entry.md +138 -0
- package/docs/handbook/concepts/authorization.md +104 -94
- package/docs/handbook/concepts/four-atoms.md +68 -144
- package/docs/handbook/concepts/lifecycle-and-locales.md +62 -114
- package/docs/handbook/concepts/mcp-and-agents.md +112 -117
- package/docs/handbook/concepts/procedures-and-triggers.md +126 -181
- package/docs/handbook/concepts/runtime-and-adapters.md +177 -163
- package/docs/handbook/concepts/views.md +97 -173
- package/docs/handbook/examples/hub.md +17 -6
- package/docs/handbook/guides/admin-ui.md +101 -96
- package/docs/handbook/guides/agent-setup.md +56 -71
- package/docs/handbook/guides/typed-queries.md +105 -111
- package/docs/handbook/navigation.json +8 -33
- package/docs/handbook/reference/authorization.md +52 -271
- package/docs/handbook/reference/diagnostics.md +69 -178
- package/docs/handbook/reference/features.md +48 -50
- package/docs/handbook/reference/manifest.md +56 -116
- package/docs/handbook/reference/procedure.md +91 -279
- package/docs/handbook/reference/schema.md +154 -239
- package/docs/handbook/reference/site-config.md +58 -211
- package/docs/handbook/reference/surface.md +69 -181
- package/docs/handbook/reference/trigger.md +72 -181
- package/docs/handbook/reference/view.md +140 -241
- package/docs/handbook/releases/index.md +58 -77
- package/docs/handbook/start/overview.md +59 -51
- package/docs/handbook/start/project-and-cli.md +132 -105
- package/docs/handbook/start/quickstart-worker.md +102 -160
- package/docs/skills/develop/SKILL.md +114 -240
- package/docs/skills/develop/mcp-app.md +79 -0
- package/docs/skills/integrate/SKILL.md +83 -47
- package/docs/skills/media-gc/SKILL.md +21 -10
- package/docs/skills/provision/SKILL.md +68 -162
- package/docs/skills/update/SKILL.md +33 -34
- package/docs/upgrade-0.1-to-0.2.md +211 -0
- package/package.json +87 -106
- package/dist/admin-ui.d.ts +0 -2
- package/dist/admin-ui.d.ts.map +0 -1
- package/dist/admin-ui.js +0 -2
- package/dist/admin-ui.js.map +0 -1
- package/dist/admin.d.ts +0 -2
- package/dist/admin.d.ts.map +0 -1
- package/dist/admin.js +0 -2
- package/dist/admin.js.map +0 -1
- package/dist/auth.d.ts +0 -2
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js +0 -2
- package/dist/auth.js.map +0 -1
- package/dist/bun.d.ts +0 -2
- package/dist/bun.d.ts.map +0 -1
- package/dist/bun.js +0 -2
- package/dist/bun.js.map +0 -1
- package/dist/cli/generate-cloudflare.d.ts +0 -7
- package/dist/cli/generate-cloudflare.d.ts.map +0 -1
- package/dist/cli/generate-cloudflare.js +0 -123
- package/dist/cli/generate-cloudflare.js.map +0 -1
- package/dist/cli/generate-project.d.ts +0 -25
- package/dist/cli/generate-project.d.ts.map +0 -1
- package/dist/cli/generate-project.js +0 -282
- package/dist/cli/generate-project.js.map +0 -1
- package/dist/cli/generate-sites.d.ts +0 -8
- package/dist/cli/generate-sites.d.ts.map +0 -1
- package/dist/cli/generate-sites.js +0 -273
- package/dist/cli/generate-sites.js.map +0 -1
- package/dist/cli/harness.d.ts +0 -3
- package/dist/cli/harness.d.ts.map +0 -1
- package/dist/cli/harness.js +0 -214
- package/dist/cli/harness.js.map +0 -1
- package/dist/cli/skills.d.ts +0 -3
- package/dist/cli/skills.d.ts.map +0 -1
- package/dist/cli/skills.js +0 -128
- package/dist/cli/skills.js.map +0 -1
- package/dist/cloudflare.d.ts +0 -2
- package/dist/cloudflare.d.ts.map +0 -1
- package/dist/cloudflare.js +0 -2
- package/dist/cloudflare.js.map +0 -1
- package/dist/codegen/emitMantleModule.d.ts +0 -22
- package/dist/codegen/emitMantleModule.d.ts.map +0 -1
- package/dist/codegen/emitMantleModule.js +0 -291
- package/dist/codegen/emitMantleModule.js.map +0 -1
- package/dist/codegen.d.ts +0 -2
- package/dist/codegen.d.ts.map +0 -1
- package/dist/codegen.js +0 -2
- package/dist/codegen.js.map +0 -1
- package/dist/runtime-testing.d.ts +0 -2
- package/dist/runtime-testing.d.ts.map +0 -1
- package/dist/runtime-testing.js +0 -2
- package/dist/runtime-testing.js.map +0 -1
- package/dist/runtime.d.ts +0 -2
- package/dist/runtime.d.ts.map +0 -1
- package/dist/runtime.js +0 -2
- package/dist/runtime.js.map +0 -1
- package/dist/spec.d.ts +0 -2
- package/dist/spec.d.ts.map +0 -1
- package/dist/spec.js +0 -2
- package/dist/spec.js.map +0 -1
- package/dist/vercel-libsql.d.ts +0 -2
- package/dist/vercel-libsql.d.ts.map +0 -1
- package/dist/vercel-libsql.js +0 -2
- package/dist/vercel-libsql.js.map +0 -1
- package/dist/vercel.d.ts +0 -2
- package/dist/vercel.d.ts.map +0 -1
- package/dist/vercel.js +0 -2
- package/dist/vercel.js.map +0 -1
- package/dist/web.d.ts +0 -2
- package/dist/web.d.ts.map +0 -1
- package/dist/web.js +0 -2
- package/dist/web.js.map +0 -1
- package/docs/adapter-guide.md +0 -222
- package/docs/agent-prompts.md +0 -64
- package/docs/api-mcp-authorization.md +0 -5
- package/docs/assets/mantle-admin-developer.png +0 -0
- package/docs/assets/mantle-admin-operations.png +0 -0
- package/docs/assets/mantle-hero.jpg +0 -0
- package/docs/auth-hosting-model.md +0 -166
- package/docs/cloudflare-low-level-composition.md +0 -5
- package/docs/consumer-onboarding-audit.md +0 -65
- package/docs/deferred-lifecycle-queues.md +0 -5
- package/docs/design-atoms.md +0 -16
- package/docs/design-references/editorial-blog-2026-05-05.md +0 -218
- package/docs/direct-authoring.md +0 -5
- package/docs/examples/builtin-commerce.md +0 -269
- package/docs/examples/builtin-intake.md +0 -143
- package/docs/examples/builtin-legal-documents.md +0 -189
- package/docs/examples/builtin-procurement.md +0 -241
- package/docs/examples/builtin-publication.md +0 -241
- package/docs/examples/builtin-reservation.md +0 -149
- package/docs/examples/cf-primitives-commerce-inventory.md +0 -809
- package/docs/examples/cf-primitives-guarded-api.md +0 -429
- package/docs/examples/cf-primitives-intake-hooks.md +0 -319
- package/docs/examples/host-chatgpt-sites/.openai/hosting.json +0 -1
- package/docs/examples/host-chatgpt-sites/README.md +0 -70
- package/docs/examples/host-chatgpt-sites/drizzle/0000_sites_users.sql +0 -8
- package/docs/examples/host-chatgpt-sites/drizzle/0001_mantle.sql +0 -294
- package/docs/examples/host-chatgpt-sites/drizzle/0002_article_cover.sql +0 -5
- package/docs/examples/host-chatgpt-sites/drizzle/0003_store_instance_id.sql +0 -1
- package/docs/examples/host-chatgpt-sites/drizzle/0004_mantle.sql +0 -10
- package/docs/examples/host-chatgpt-sites/drizzle/0005_mantle.sql +0 -24
- package/docs/examples/host-chatgpt-sites/drizzle/meta/_journal.json +0 -1
- package/docs/examples/host-chatgpt-sites/drizzle/meta/mantle-state.json +0 -60
- package/docs/examples/host-chatgpt-sites/manifests/site.yaml +0 -27
- package/docs/examples/host-chatgpt-sites/package.json +0 -1
- package/docs/examples/host-chatgpt-sites/public/site.css +0 -1
- package/docs/examples/host-chatgpt-sites/scripts/build.mjs +0 -13
- package/docs/examples/host-chatgpt-sites/scripts/check.mjs +0 -101
- package/docs/examples/host-chatgpt-sites/scripts/migration.mjs +0 -43
- package/docs/examples/host-chatgpt-sites/src/chatgpt-auth.ts +0 -66
- package/docs/examples/host-chatgpt-sites/src/index.ts +0 -46
- package/docs/examples/host-chatgpt-sites/src/mcp.ts +0 -49
- package/docs/examples/host-chatgpt-sites/src/media.ts +0 -109
- package/docs/examples/host-chatgpt-sites/src/r2-lab.ts +0 -38
- package/docs/examples/host-chatgpt-sites/src/storage-fingerprint.json +0 -1
- package/docs/examples/host-chatgpt-sites/src/web.ts +0 -35
- package/docs/examples/host-chatgpt-sites/tsconfig.json +0 -1
- package/docs/examples/host-chatgpt-sites/wrangler.jsonc +0 -10
- package/docs/examples/host-local-admin-otp/.dev.vars.example +0 -3
- package/docs/examples/host-local-admin-otp/README.md +0 -80
- package/docs/examples/host-local-admin-otp/ensure-dev-vars.mjs +0 -5
- package/docs/examples/host-local-admin-otp/manifests/site.yaml +0 -25
- package/docs/examples/host-local-admin-otp/package.json +0 -29
- package/docs/examples/host-local-admin-otp/public/.gitkeep +0 -1
- package/docs/examples/host-local-admin-otp/smoke.mjs +0 -141
- package/docs/examples/host-local-admin-otp/src/index.ts +0 -54
- package/docs/examples/host-local-admin-otp/tsconfig.json +0 -17
- package/docs/examples/host-local-admin-otp/wrangler.jsonc +0 -23
- package/docs/examples/host-minimal-worker/README.md +0 -41
- package/docs/examples/host-minimal-worker/manifests/site.yaml +0 -25
- package/docs/examples/host-minimal-worker/package.json +0 -26
- package/docs/examples/host-minimal-worker/smoke.mjs +0 -23
- package/docs/examples/host-minimal-worker/src/index.ts +0 -4
- package/docs/examples/host-minimal-worker/wrangler.jsonc +0 -22
- package/docs/handbook/chatgpt-sites/equipment-checkout.md +0 -231
- package/docs/handbook/chatgpt-sites/generated-app.md +0 -84
- package/docs/handbook/chatgpt-sites/host-reference.md +0 -113
- package/docs/handbook/chatgpt-sites/index.md +0 -133
- package/docs/handbook/cloudflare/bindings.md +0 -291
- package/docs/handbook/cloudflare/conventional-worker.md +0 -166
- package/docs/handbook/cloudflare/deferred-hooks-queues.md +0 -170
- package/docs/handbook/cloudflare/low-level-composition.md +0 -169
- package/docs/handbook/cloudflare/public-web.md +0 -144
- package/docs/handbook/cloudflare/site-chrome.md +0 -75
- package/docs/handbook/examples/commerce-transaction.md +0 -11
- package/docs/handbook/examples/commerce.md +0 -11
- package/docs/handbook/examples/guarded-api.md +0 -10
- package/docs/handbook/examples/intake-form.md +0 -12
- package/docs/handbook/examples/intake-hooks.md +0 -11
- package/docs/handbook/examples/legal-documents.md +0 -10
- package/docs/handbook/examples/procurement-approvals.md +0 -10
- package/docs/handbook/examples/publication.md +0 -10
- package/docs/handbook/examples/reservation.md +0 -10
- package/docs/handbook/start/quickstart-admin.md +0 -52
- package/docs/labels.md +0 -71
- package/docs/media-uploads.md +0 -5
- package/docs/migration-0.1.2.md +0 -13
- package/docs/performance-harness.md +0 -228
- package/docs/release-process.md +0 -244
- package/docs/schema-indexes.md +0 -5
- package/docs/sealed-pipeline-ownership.md +0 -101
- package/docs/skills/plugin/SKILL.md +0 -132
- package/docs/skills/theme/SKILL.md +0 -77
- package/docs/spec-only-host-adoption.md +0 -157
- package/docs/transaction-patterns.md +0 -5
- package/skills/README.md +0 -127
- package/skills/develop/SKILL.md +0 -258
- package/skills/install/SKILL.md +0 -112
- package/skills/integrate/SKILL.md +0 -60
- package/skills/media-gc/SKILL.md +0 -85
- package/skills/plugin/SKILL.md +0 -132
- package/skills/provision/SKILL.md +0 -194
- package/skills/theme/SKILL.md +0 -77
- package/skills/update/SKILL.md +0 -51
- package/templates/chatgpt-sites/auth.ts +0 -66
- package/templates/chatgpt-sites/build.mjs +0 -14
- package/templates/chatgpt-sites/env.ts +0 -1
- package/templates/chatgpt-sites/mcp.ts +0 -48
- package/templates/chatgpt-sites/public-mcp.ts +0 -29
- package/templates/chatgpt-sites/smoke-local.mjs +0 -20
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Host-owned site chrome — Cloudflare-first analytics, verification, robots, and what still belongs in mantle-web.
|
|
3
|
-
---
|
|
4
|
-
# Site chrome
|
|
5
|
-
|
|
6
|
-
Core `siteConfig` is deployment identity: locales, brand, title, description, origin, icons and media. Visitor analytics, pixels, search-engine verification tokens, `ads.txt` and similar chrome are **host responsibility**. Admin Settings does not accept tracking IDs, and `@aotter/mantle-web` does not inject vendor snippets from `siteConfig`.
|
|
7
|
-
|
|
8
|
-
Cloudflare-native platform capabilities are the first-class place for chrome that the zone already covers. Do not invent a parallel “CDN settings center” inside Mantle.
|
|
9
|
-
|
|
10
|
-
## Why Core does not inject
|
|
11
|
-
|
|
12
|
-
A headless runtime that rewrites the first `</head>` (or prepends to `<body>`) on a composed HTML string assumes one frontend shape: a complete SSR document that Core is allowed to mutate after the fact. Hosts are not one shape.
|
|
13
|
-
|
|
14
|
-
Frontends are plural. A Mantle consumer may serve SSR full HTML documents, a Vite/React (or other) SPA, a Worker plus static assets, Cloudflare Pages, or a custom wrapper that already owns `<html>`. Only the first of those even has a complete document string a runtime could splice into — and even then the attach point is the host template, not Core.
|
|
15
|
-
|
|
16
|
-
SPA, client-routed and hydration hosts attach analytics in **their own entry**: GTM or Zaraz, the app bootstrap, or Cloudflare Web Analytics. They do not expect Runtime or `mantle-web` to parse an HTML string and splice tags into it.
|
|
17
|
-
|
|
18
|
-
Silent injection from `siteConfig` would be a surprising side effect for any host that did not opt into “I emit a full document and you may rewrite it.” Core must not pretend to know every frontend’s attach point.
|
|
19
|
-
|
|
20
|
-
Therefore tracking and verification stay **host chrome**. Core `siteConfig` is not a tag-manager. The tables below say where to put chrome.
|
|
21
|
-
|
|
22
|
-
## Two layers
|
|
23
|
-
|
|
24
|
-
| Concern | Prefer | Usually still app / mantle-web |
|
|
25
|
-
|---|---|---|
|
|
26
|
-
| `robots.txt`, simple redirects, some `/.well-known` files, Cloudflare Web Analytics | **Cloudflare-native** | — |
|
|
27
|
-
| Dynamic sitemap (grows with content), `llms.txt`, SEO `.md` mirrors | — | Application mount or `@aotter/mantle-web` composition, then serve publicly |
|
|
28
|
-
|
|
29
|
-
Turning on Cloudflare Web Analytics is **not** the same as having an indexable sitemap or `llms.txt`. Analytics answers “who visited”; discovery files answer “what can a crawler or agent list”. Keep those jobs on the layer that owns the data.
|
|
30
|
-
|
|
31
|
-
Cloud tenant UX for ads.txt / robots / sitemap tools lives on the host product. Core stays injection-free.
|
|
32
|
-
|
|
33
|
-
## Cloudflare-first install
|
|
34
|
-
|
|
35
|
-
Use the dashboard, Wrangler, or an agent that can edit Worker / Pages config. None of these paths write Core Admin fields.
|
|
36
|
-
|
|
37
|
-
### Analytics
|
|
38
|
-
|
|
39
|
-
Prefer **Cloudflare Web Analytics** (and Zaraz when you need a tag manager) for first-party traffic measurement. Enable it on the zone; no Core `siteConfig` key is required.
|
|
40
|
-
|
|
41
|
-
To add GA4 or Meta Pixel:
|
|
42
|
-
|
|
43
|
-
1. Add the provider through **Cloudflare Zaraz** (recommended on a CF zone), or
|
|
44
|
-
2. Emit the vendor snippet from **your** entry/list templates in `@aotter/mantle-web`, or from a host HTML wrapper.
|
|
45
|
-
|
|
46
|
-
Do not put Measurement IDs or Pixel IDs in `siteDefaults`. Core does not persist or inject them.
|
|
47
|
-
|
|
48
|
-
### Search Console and Bing verification
|
|
49
|
-
|
|
50
|
-
Verify ownership with a host-owned method. On Cloudflare, prefer in this order:
|
|
51
|
-
|
|
52
|
-
1. **DNS TXT** at the zone apex (Search Console and Bing Webmaster both accept this).
|
|
53
|
-
2. **Cloudflare-managed HTML** via Zaraz or a small Worker / Pages header rewrite that adds `<meta name="google-site-verification">` / Bing equivalent.
|
|
54
|
-
3. A **static verification file** at `/` or `/.well-known/` served from `public/` / the `ASSETS` binding.
|
|
55
|
-
|
|
56
|
-
HTML-tag verification belongs in the host template `<head>`, not in Core Settings.
|
|
57
|
-
|
|
58
|
-
### robots.txt, redirects, well-known
|
|
59
|
-
|
|
60
|
-
Serve a static `robots.txt` from assets, or use Cloudflare Redirect Rules / Transform Rules / a tiny Worker route. `mountPublicRoutes` also emits `GET /robots.txt` (`Allow: /` plus the sitemap URL) when you opt into public pages — that is an application mount, not a Core Admin setting. See [Public web](./public-web.md).
|
|
61
|
-
|
|
62
|
-
Simple path redirects and most `/.well-known` files (including verification and `security.txt`) belong on the same Cloudflare-native layer.
|
|
63
|
-
|
|
64
|
-
## What still belongs in the app
|
|
65
|
-
|
|
66
|
-
Dynamic **sitemap** and **`llms.txt`** grow with published content. Compose them with `@aotter/mantle-web` (`composeSitemap`, `composeLlmsTxt`) and mount the public URLs, or implement the same contract in the application. Cloudflare Web Analytics does not generate those files.
|
|
67
|
-
|
|
68
|
-
SEO `.md` mirrors are likewise application / `mantle-web` composition. Details: [Public web](./public-web.md) and [Site config](../reference/site-config.md).
|
|
69
|
-
|
|
70
|
-
## Source
|
|
71
|
-
|
|
72
|
-
- [`packages/mantle-spec/src/domain/model/SiteConfig.ts`](../../../packages/mantle-spec/src/domain/model/SiteConfig.ts)
|
|
73
|
-
- [`packages/mantle-web/src/service/HtmlRenderer.ts`](../../../packages/mantle-web/src/service/HtmlRenderer.ts)
|
|
74
|
-
- [`docs/handbook/reference/site-config.md`](../reference/site-config.md)
|
|
75
|
-
- [`docs/handbook/cloudflare/public-web.md`](./public-web.md)
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Redirects to the Cloudflare primitives commerce inventory example in the Examples hub.
|
|
3
|
-
---
|
|
4
|
-
# Commerce: catalog, orders, inventory authority and asynchronous settlement
|
|
5
|
-
|
|
6
|
-
This example lives in the Examples hub: [`docs/examples/cf-primitives-commerce-inventory.md`](../../examples/cf-primitives-commerce-inventory.md). The Builder-safe catalog is [`docs/examples/builtin-commerce.md`](../../examples/builtin-commerce.md).
|
|
7
|
-
|
|
8
|
-
## Source
|
|
9
|
-
|
|
10
|
-
- [`docs/examples/cf-primitives-commerce-inventory.md`](../../examples/cf-primitives-commerce-inventory.md)
|
|
11
|
-
- [`docs/examples/builtin-commerce.md`](../../examples/builtin-commerce.md)
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Redirects to the builtin commerce catalog example in the Examples hub.
|
|
3
|
-
---
|
|
4
|
-
# Commerce catalog and orders
|
|
5
|
-
|
|
6
|
-
This example lives in the Examples hub: [`docs/examples/builtin-commerce.md`](../../examples/builtin-commerce.md). Stock authority and settlement are [`docs/examples/cf-primitives-commerce-inventory.md`](../../examples/cf-primitives-commerce-inventory.md).
|
|
7
|
-
|
|
8
|
-
## Source
|
|
9
|
-
|
|
10
|
-
- [`docs/examples/builtin-commerce.md`](../../examples/builtin-commerce.md)
|
|
11
|
-
- [`docs/examples/cf-primitives-commerce-inventory.md`](../../examples/cf-primitives-commerce-inventory.md)
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Redirects to the guarded API example in the Examples hub.
|
|
3
|
-
---
|
|
4
|
-
# Guarded API access: API keys, scopes and entitlement
|
|
5
|
-
|
|
6
|
-
This example lives in the Examples hub: [`docs/examples/cf-primitives-guarded-api.md`](../../examples/cf-primitives-guarded-api.md).
|
|
7
|
-
|
|
8
|
-
## Source
|
|
9
|
-
|
|
10
|
-
- [`docs/examples/cf-primitives-guarded-api.md`](../../examples/cf-primitives-guarded-api.md)
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Redirects to the builtin public intake form in the Examples hub.
|
|
3
|
-
---
|
|
4
|
-
# Intake form
|
|
5
|
-
|
|
6
|
-
This example lives in the Examples hub: [`docs/examples/builtin-intake.md`](../../examples/builtin-intake.md). Turnstile and email hooks are [`docs/examples/cf-primitives-intake-hooks.md`](../../examples/cf-primitives-intake-hooks.md).
|
|
7
|
-
|
|
8
|
-
## Source
|
|
9
|
-
|
|
10
|
-
- [`docs/examples/builtin-intake.md`](../../examples/builtin-intake.md)
|
|
11
|
-
- [`docs/examples/cf-primitives-intake-hooks.md`](../../examples/cf-primitives-intake-hooks.md)
|
|
12
|
-
- [`docs/examples/README.md`](../../examples/README.md)
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Redirects to the Turnstile and email intake hooks in the Examples hub.
|
|
3
|
-
---
|
|
4
|
-
# Intake form with bot check and notification
|
|
5
|
-
|
|
6
|
-
This example lives in the Examples hub: [`docs/examples/cf-primitives-intake-hooks.md`](../../examples/cf-primitives-intake-hooks.md). The Builder-safe Manifest is [`docs/examples/builtin-intake.md`](../../examples/builtin-intake.md).
|
|
7
|
-
|
|
8
|
-
## Source
|
|
9
|
-
|
|
10
|
-
- [`docs/examples/cf-primitives-intake-hooks.md`](../../examples/cf-primitives-intake-hooks.md)
|
|
11
|
-
- [`docs/examples/builtin-intake.md`](../../examples/builtin-intake.md)
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Redirects to the builtin legal documents example in the Examples hub.
|
|
3
|
-
---
|
|
4
|
-
# Legal documents and consent
|
|
5
|
-
|
|
6
|
-
This example lives in the Examples hub: [`docs/examples/builtin-legal-documents.md`](../../examples/builtin-legal-documents.md).
|
|
7
|
-
|
|
8
|
-
## Source
|
|
9
|
-
|
|
10
|
-
- [`docs/examples/builtin-legal-documents.md`](../../examples/builtin-legal-documents.md)
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Redirects to the builtin procurement example in the Examples hub.
|
|
3
|
-
---
|
|
4
|
-
# Procurement approvals with member and staff roles
|
|
5
|
-
|
|
6
|
-
This example lives in the Examples hub: [`docs/examples/builtin-procurement.md`](../../examples/builtin-procurement.md).
|
|
7
|
-
|
|
8
|
-
## Source
|
|
9
|
-
|
|
10
|
-
- [`docs/examples/builtin-procurement.md`](../../examples/builtin-procurement.md)
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Redirects to the builtin publication example in the Examples hub.
|
|
3
|
-
---
|
|
4
|
-
# Publication: localized posts with a public list
|
|
5
|
-
|
|
6
|
-
This example lives in the Examples hub: [`docs/examples/builtin-publication.md`](../../examples/builtin-publication.md).
|
|
7
|
-
|
|
8
|
-
## Source
|
|
9
|
-
|
|
10
|
-
- [`docs/examples/builtin-publication.md`](../../examples/builtin-publication.md)
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Redirects to the builtin reservation example in the Examples hub.
|
|
3
|
-
---
|
|
4
|
-
# Reservation requests
|
|
5
|
-
|
|
6
|
-
This example lives in the Examples hub: [`docs/examples/builtin-reservation.md`](../../examples/builtin-reservation.md).
|
|
7
|
-
|
|
8
|
-
## Source
|
|
9
|
-
|
|
10
|
-
- [`docs/examples/builtin-reservation.md`](../../examples/builtin-reservation.md)
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: "Open local Admin in one shot: follow the official OTP example, bind ASSETS, sign in with email OTP from wrangler logs, land in the Dev UI."
|
|
3
|
-
---
|
|
4
|
-
# Quickstart: local Admin
|
|
5
|
-
|
|
6
|
-
New generated CF and Sites apps include Admin by default. To leave it out,
|
|
7
|
-
select smaller features explicitly. This tutorial shows the existing
|
|
8
|
-
direct-authored Worker integration with local email OTP; use it when you own
|
|
9
|
-
the Worker entry. [Project layout and CLI](./project-and-cli.md) describes the
|
|
10
|
-
new generated path.
|
|
11
|
-
|
|
12
|
-
The procedural source of truth is the official example:
|
|
13
|
-
|
|
14
|
-
**[`docs/examples/host-local-admin-otp/README.md`](../../examples/host-local-admin-otp/README.md)**
|
|
15
|
-
|
|
16
|
-
Copy that directory outside the SDK checkout (or author the same files from
|
|
17
|
-
it). Interview the human for one value before writing files: the bootstrap
|
|
18
|
-
owner email. The example uses `owner@example.com`. Then:
|
|
19
|
-
|
|
20
|
-
```sh
|
|
21
|
-
pnpm install && pnpm generate && pnpm dev
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
Open the wrangler Ready-on URL (`http://127.0.0.1:8787/admin/sign-in`), submit
|
|
25
|
-
the owner email, and read the OTP from wrangler logs. `mantle generate` syncs
|
|
26
|
-
the prebuilt Admin SPA; do not Vite-build Admin.
|
|
27
|
-
|
|
28
|
-
Traps (documented on the example):
|
|
29
|
-
|
|
30
|
-
- Prefer `127.0.0.1` over `localhost` (`INVALID_ORIGIN`).
|
|
31
|
-
- `pnpm check` / smoke rewrites `.dev.vars` to a smoke-only port — restore it
|
|
32
|
-
from `.dev.vars.example` before `pnpm dev`.
|
|
33
|
-
|
|
34
|
-
Pin every selected `@aotter/mantle*` package to the same exact version; see
|
|
35
|
-
[Versions](../reference/surface.md#versions). Admin needs both
|
|
36
|
-
`@aotter/mantle-admin` and `@aotter/mantle-admin-ui`, wrangler `ASSETS` on
|
|
37
|
-
`./public`, and `createAuth` email-otp + `ConsoleEmailSender`.
|
|
38
|
-
|
|
39
|
-
## Next steps
|
|
40
|
-
|
|
41
|
-
- [Project layout and the CLI loop](./project-and-cli.md) — the files you own, every CLI flag, the daily check loop, ASSETS as a hard Admin requirement.
|
|
42
|
-
- [Authentication](../cloudflare/authentication.md) — production senders, GitHub / hosted modes, roles.
|
|
43
|
-
- [The conventional Worker](../cloudflare/conventional-worker.md) — handlers and extra routes.
|
|
44
|
-
- [Quickstart: a minimal Worker](./quickstart-worker.md) — API-only embed without Admin.
|
|
45
|
-
|
|
46
|
-
## Source
|
|
47
|
-
- [`docs/examples/host-local-admin-otp/README.md`](../../../docs/examples/host-local-admin-otp/README.md)
|
|
48
|
-
- [`docs/examples/host-local-admin-otp/package.json`](../../../docs/examples/host-local-admin-otp/package.json)
|
|
49
|
-
- [`docs/examples/host-local-admin-otp/src/index.ts`](../../../docs/examples/host-local-admin-otp/src/index.ts)
|
|
50
|
-
- [`docs/examples/host-local-admin-otp/wrangler.jsonc`](../../../docs/examples/host-local-admin-otp/wrangler.jsonc)
|
|
51
|
-
- [`docs/examples/host-local-admin-otp/.dev.vars.example`](../../../docs/examples/host-local-admin-otp/.dev.vars.example)
|
|
52
|
-
- [`docs/examples/host-local-admin-otp/smoke.mjs`](../../../docs/examples/host-local-admin-otp/smoke.mjs)
|
package/docs/labels.md
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# GitHub labels
|
|
2
|
-
|
|
3
|
-
Labels keep issues and PRs sortable for humans and cold-start AI agents. Apply the smallest useful set: one kind label, one or more area labels, and any gate labels that change review requirements.
|
|
4
|
-
|
|
5
|
-
## Kind and status
|
|
6
|
-
|
|
7
|
-
| Label | Meaning | Who applies | Remove when |
|
|
8
|
-
|---|---|---|---|
|
|
9
|
-
| `bug` | Broken, surprising, unsafe, or regressed behavior. | Reporter or triager. | The issue is reclassified. |
|
|
10
|
-
| `enhancement` | New capability, behavior, or process improvement. | Reporter or triager. | The issue is reclassified. |
|
|
11
|
-
| `documentation` | Docs-only change or docs gap. | Reporter, triager, or PR author. | The issue is reclassified. |
|
|
12
|
-
| `question` | Needs an answer or convergence before action. | Reporter or triager. | The answer is captured or the issue is converted. |
|
|
13
|
-
| `good first issue` | Suitable for a new contributor with repo docs only. | Maintainer. | Scope grows or hidden context is required. |
|
|
14
|
-
| `help wanted` | Maintainers want external help. | Maintainer. | No longer seeking help. |
|
|
15
|
-
| `duplicate` | Same work exists elsewhere. | Triager. | Usually never; close with link. |
|
|
16
|
-
| `invalid` | Not actionable for this repo. | Triager. | Usually never; close with reason. |
|
|
17
|
-
| `wontfix` | Valid but intentionally not planned. | Maintainer. | Usually never; close with reason. |
|
|
18
|
-
| `epic` | Tracks a multi-issue initiative. | Maintainer. | The epic closes. |
|
|
19
|
-
| `spike` | Exploratory work, not guaranteed to land. | Triager or maintainer. | The work becomes a concrete proposal or implementation issue. |
|
|
20
|
-
|
|
21
|
-
## Area
|
|
22
|
-
|
|
23
|
-
Use at least one `area:*` label when the affected surface is known.
|
|
24
|
-
|
|
25
|
-
For package README or package-local docs changes, prefer the package area label (`area:spec`, `area:runtime`, `area:cf`, or `area:admin-ui`). Use `area:docs` for repo-wide docs, governance, ADRs, release docs, root README content, and cross-cutting documentation work.
|
|
26
|
-
|
|
27
|
-
| Label | Meaning |
|
|
28
|
-
|---|---|
|
|
29
|
-
| `area:runtime` | `packages/mantle-runtime` behavior, ports, use cases, dispatcher, and MCP runtime. |
|
|
30
|
-
| `area:spec` | `packages/mantle-spec`, manifest parsing, validation, diagnostics, CLI, spec types. |
|
|
31
|
-
| `area:cf` | `packages/adapters/cloudflare`, Workers adapter, D1/KV/ASSETS wiring, Cloudflare deploy behavior. |
|
|
32
|
-
| `area:skills` | `skills/*` agent briefs and install/extend/provision workflows. |
|
|
33
|
-
| `area:admin-ui` | `packages/mantle-admin-ui` React admin SPA. |
|
|
34
|
-
| `area:docs` | Repo-wide human docs, governance docs, ADR text, release docs, root README content, and cross-cutting documentation work. |
|
|
35
|
-
| `area:adapter` | Adapter boundary work spanning Cloudflare or future adapters. |
|
|
36
|
-
| `area:ci` | GitHub Actions, dependency automation, and repository checks. |
|
|
37
|
-
| `area:starters` | **Legacy only.** Retired `aotter/mantle-starters` source and migration notes. Do not use for new Core work. |
|
|
38
|
-
|
|
39
|
-
## Release and review gates
|
|
40
|
-
|
|
41
|
-
| Label | Meaning | Review consequence | Remove when |
|
|
42
|
-
|---|---|---|---|
|
|
43
|
-
| `release-gate` | Blocks a public release or release-quality claim. | Must be resolved or explicitly deferred before release. | The gate is closed or deferred by maintainer decision. |
|
|
44
|
-
| `v0.1.0` | Required for the v0.1.0 release gate. | Track in the v0.1.0 release pass. | The item lands or is moved out of v0.1.0. |
|
|
45
|
-
| `breaking-change` | Semver-relevant breaking change. | Generated release notes must call it out. | The change is redesigned to be non-breaking. |
|
|
46
|
-
| `skip-release-notes` | Release bookkeeping with no user-facing change. | Excluded from generated GitHub Release notes. | The PR contains a user-facing change. |
|
|
47
|
-
| `needs-adr` | Architecture, trust boundary, package boundary, or long-lived decision needs an ADR or ADR-lite proposal. | Do not merge implementation until the decision is captured. | ADR/proposal lands or maintainer confirms an existing ADR covers it. |
|
|
48
|
-
| `needs-grammar-revise` | Manifest grammar or closed-enum change. | Requires grammar-revise round before code/types change. | Grammar decision lands or the change no longer affects grammar. |
|
|
49
|
-
| `needs-discussion` | Not converged enough for implementation. | Do not start coding from this issue. | Closing criteria are met and scope is concrete. |
|
|
50
|
-
|
|
51
|
-
## Creating missing labels
|
|
52
|
-
|
|
53
|
-
Use these commands from a checked-out repo:
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
gh label create "area:runtime" --description "Runtime package, ports, use cases, dispatcher, render, MCP runtime" --color "1d76db"
|
|
57
|
-
gh label create "area:spec" --description "Spec package, manifest parsing, validation, diagnostics, CLI, types" --color "1d76db"
|
|
58
|
-
gh label create "area:cf" --description "Cloudflare Workers adapter and bindings" --color "1d76db"
|
|
59
|
-
gh label create "area:skills" --description "Agent Skills and install/extend/provision workflows" --color "1d76db"
|
|
60
|
-
gh label create "area:admin-ui" --description "React admin UI" --color "1d76db"
|
|
61
|
-
gh label create "area:docs" --description "Documentation and governance" --color "1d76db"
|
|
62
|
-
gh label create "area:adapter" --description "Adapter boundary and future adapter work" --color "1d76db"
|
|
63
|
-
gh label create "area:ci" --description "CI, dependency automation, and repository checks" --color "1d76db"
|
|
64
|
-
gh label create "area:starters" --description "Legacy only: retired mantle-starters source and migration" --color "cfd3d7"
|
|
65
|
-
gh label create "breaking-change" --description "Semver-relevant breaking change" --color "b60205"
|
|
66
|
-
gh label create "skip-release-notes" --description "Release bookkeeping only; omit from generated GitHub notes" --color "ededed"
|
|
67
|
-
gh label create "needs-adr" --description "Requires an ADR or ADR-lite decision before merge" --color "d93f0b"
|
|
68
|
-
gh label create "needs-grammar-revise" --description "Requires manifest grammar review before implementation" --color "d93f0b"
|
|
69
|
-
gh label create "needs-discussion" --description "Not converged enough for implementation" --color "fbca04"
|
|
70
|
-
gh label create "spike" --description "Exploratory work, not guaranteed to land" --color "bfdadc"
|
|
71
|
-
```
|
package/docs/media-uploads.md
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
# Media uploads
|
|
2
|
-
|
|
3
|
-
This guide moved into the handbook: [`docs/handbook/cloudflare/media-r2.md`](handbook/cloudflare/media-r2.md).
|
|
4
|
-
|
|
5
|
-
The handbook ships inside the `@aotter/mantle` package under `node_modules/@aotter/mantle/docs/handbook/` and describes the installed release.
|
package/docs/migration-0.1.2.md
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# Upgrading to 0.1.2
|
|
2
|
-
|
|
3
|
-
0.1.2 is the first stable release and the first public one. There is no earlier
|
|
4
|
-
stable to upgrade from and no migration to perform.
|
|
5
|
-
|
|
6
|
-
What it contains, what it requires and what it does not yet cover is in
|
|
7
|
-
[Releases](handbook/releases/index.md).
|
|
8
|
-
|
|
9
|
-
Every version before 0.1.2 was an internal prerelease. If you are holding a
|
|
10
|
-
database created by one of those, `LEGACY_STORAGE_RESET_REQUIRED` means it
|
|
11
|
-
predates native Schema tables: rebuild it rather than migrating it. Move any
|
|
12
|
-
data you need out of Mantle by hand first — there is no product migration for
|
|
13
|
-
that unreleased storage format.
|
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
# Data access, cache policy, and performance harness
|
|
2
|
-
|
|
3
|
-
Mantle site code declares intent; Core owns the shared storage layout and the
|
|
4
|
-
Cloudflare adapter owns provider bindings. A site-building agent should not
|
|
5
|
-
need Mantle table names, generated-column names, KV prefixes, or D1 APIs to
|
|
6
|
-
make a normal content/API/page change.
|
|
7
|
-
|
|
8
|
-
## Ownership
|
|
9
|
-
|
|
10
|
-
| Read or state | Owner | Notes |
|
|
11
|
-
|---|---|---|
|
|
12
|
-
| Entry get/list and public slug/data-field/published reads | `DatabaseEntryRepository` through `EntryRepository` / `EntryReader` | Schema-aware field resolution is shared here. |
|
|
13
|
-
| Manifest View execution | `ExecuteViewUseCase` + prepared `ViewQueryExecutor` | Core owns authorization and request validation; selected storage lowers queries once and resolves declared Schema indexes. |
|
|
14
|
-
| Editable settings and code-owned locale/media policy | `DatabaseSiteConfigRepository` | Editable values and dynamic media tool policy are read fresh; boot-seeded locale policy may be memoized within the runtime instance. |
|
|
15
|
-
| Pending media uploads | `DatabasePendingUploadRepository` | Canonical, read-after-write D1 state; never publish-cache state. |
|
|
16
|
-
| Rendered HTML, Markdown, and `llms.txt` | Request-time render use cases plus the Cloudflare public-route cache policy | D1 is canonical; version-local Workers Cache stores anonymous HTTP responses. |
|
|
17
|
-
| D1 transport and optional query metrics | Cloudflare bindings | Bindings stay thin. Query/cache policy does not belong in a generic provider `BaseRepository`. |
|
|
18
|
-
|
|
19
|
-
The runtime exposes no raw database handle. Application and adapter code uses
|
|
20
|
-
the sealed plan, runtime use cases, `entries`, and `siteConfig`. An application may own
|
|
21
|
-
additional tables behind its own repository at the composition root, but it
|
|
22
|
-
must not query Mantle-owned tables outside the selected storage adapter.
|
|
23
|
-
|
|
24
|
-
## Cache contract
|
|
25
|
-
|
|
26
|
-
- D1 is canonical for entries, site settings, media metadata, and pending
|
|
27
|
-
uploads. Core stores no rendered artifact copies.
|
|
28
|
-
- Public routes render canonical state and return
|
|
29
|
-
`Cache-Control: public, max-age=0, s-maxage=300`.
|
|
30
|
-
- Cloudflare Workers Cache checks eligible anonymous responses before invoking
|
|
31
|
-
the Worker. Cache keys are version-local, so a deploy starts with no stale
|
|
32
|
-
response from the previous Worker version.
|
|
33
|
-
- Successful publishing-content and site-setting writes purge the shared
|
|
34
|
-
deployment-scoped public Cache-Tag through Cloudflare's native cache API. Operational
|
|
35
|
-
records and immutable assets stay outside that invalidation boundary.
|
|
36
|
-
- Do not cache every repository read. Cross-isolate correctness for editable
|
|
37
|
-
data wins unless a read has a measured hot-path contract and explicit
|
|
38
|
-
invalidation.
|
|
39
|
-
|
|
40
|
-
## Index coverage
|
|
41
|
-
|
|
42
|
-
The Node harness uses the real canonical migrations, generated Schema DDL,
|
|
43
|
-
real View compiler, deterministic skewed rows, and SQLite
|
|
44
|
-
`EXPLAIN QUERY PLAN`:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
pnpm exec mantle-harness indexes --manifests ./manifests --format text
|
|
48
|
-
pnpm exec mantle-harness indexes --require-public --format json
|
|
49
|
-
pnpm exec mantle-harness indexes --require account-members --format json
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
Without `--require-public` or `--require`, findings are advisory. A required
|
|
53
|
-
path fails on a required Schema-table scan, a temporary ORDER BY B-tree, or a
|
|
54
|
-
data-field predicate/order that does not use a declared Schema index.
|
|
55
|
-
Projection alone does not require an index. `mantle validate` remains a pure
|
|
56
|
-
correctness check; no performance grammar or manifest atom was added.
|
|
57
|
-
|
|
58
|
-
The fixture follows each Schema lifecycle: operational rows are immediately
|
|
59
|
-
published, while publishing Schemas contain both draft and published rows. The
|
|
60
|
-
harness deliberately does not run `ANALYZE` or `PRAGMA optimize`, so it cannot
|
|
61
|
-
turn an unprepared production plan into a local pass. This is a conservative
|
|
62
|
-
SQLite preflight, not proof of D1 rows-read, Worker CPU, or IndexedDB behavior;
|
|
63
|
-
measure those on the target backend before making a performance claim.
|
|
64
|
-
|
|
65
|
-
Use the machine report in CI. It includes the compiled SQL and parameters,
|
|
66
|
-
query-plan details, named indexes, scan/sort flags, result count, SQLite
|
|
67
|
-
version, fixture row count, and required-failure summary.
|
|
68
|
-
|
|
69
|
-
## Worker/API/page sampling
|
|
70
|
-
|
|
71
|
-
Sample any running environment with the public HTTP helper:
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
pnpm exec mantle-harness http \
|
|
75
|
-
--base-url http://127.0.0.1:8787 \
|
|
76
|
-
--route recent=/api/views/recent-posts \
|
|
77
|
-
--route page=/en/posts/hello \
|
|
78
|
-
--rounds 20 --warmup 2 --format json
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Timing always reports p50/p95/max. A test-only Worker wrapper may also return
|
|
82
|
-
`x-mantle-query-count` and `x-mantle-rows-read`; those become distributions in
|
|
83
|
-
the same report. Do not expose these diagnostic headers in production.
|
|
84
|
-
|
|
85
|
-
The path-scoped Cloudflare benchmark workflow runs `pnpm bench:wrangler`
|
|
86
|
-
against real Wrangler-local D1, Worker HTTP routing, View execution, and origin
|
|
87
|
-
page rendering. It compares 100 and 10,000 row fixtures and gates row-read
|
|
88
|
-
scaling plus endpoint query budgets, not absolute milliseconds. It is separate
|
|
89
|
-
from the required repository checks so an unrelated dependency or docs PR does
|
|
90
|
-
not fail on the platform harness. Wrangler-local does not emulate the new
|
|
91
|
-
entrypoint Workers Cache, so cache hits are a deployment-level smoke check
|
|
92
|
-
rather than a fabricated local metric.
|
|
93
|
-
|
|
94
|
-
## Seven findings: measured disposition
|
|
95
|
-
|
|
96
|
-
Measured on the deterministic 2026-08-01 Wrangler-local fixture; timings are
|
|
97
|
-
diagnostic, while query/row counts are the stable assertions.
|
|
98
|
-
|
|
99
|
-
| Finding | Disposition |
|
|
100
|
-
|---|---|
|
|
101
|
-
| Public cache hits read D1 first | Removed from Worker code. Cloudflare's entrypoint Workers Cache runs before the Worker; Core has no inner render cache. |
|
|
102
|
-
| Slug/locale reads bypass Schema indexes | Fixed by the shared schema-aware entry-read boundary over native columns. A 10,000-row page MISS measured 2 queries / 5 rows read. |
|
|
103
|
-
| OFFSET pagination | Retained only where the View/Admin contract explicitly uses it, with a 500-row response cap. Public content lists and discovery now use forward keyset pages; they are not covered by the old 500-row claim. |
|
|
104
|
-
| Admin substring search scans | Accepted only for the authenticated Admin collection browser, with a 500-row response cap. Large/search-heavy sites should add a purpose-shaped indexed View or dedicated search service; do not expose this scan publicly. |
|
|
105
|
-
| Published list/sitemap/llms paths lack system indexes | Fixed with measured partial indexes for published global, locale, collection, and collection+locale ordering. The 100-row and 10,000-row API runs both measured 1 query / 20 rows read. |
|
|
106
|
-
| Page MISS waits for cache write-back | Removed. Origin rendering returns directly; Workers Cache owns response storage outside the Worker. |
|
|
107
|
-
| Benchmark stops at fake in-process dispatch | Fixed by the Node planner and Wrangler-local Worker/API/page layers. The old dispatch microbenchmark remains a narrow CPU signal only. |
|
|
108
|
-
|
|
109
|
-
The retained OFFSET and substring-search trade-offs are visible exceptions,
|
|
110
|
-
not patterns for new public APIs. Re-measure before widening either scope.
|
|
111
|
-
|
|
112
|
-
See also [Schema indexes](./schema-indexes.md) and the official Cloudflare
|
|
113
|
-
[D1 index guidance](https://developers.cloudflare.com/d1/best-practices/use-indexes/).
|
|
114
|
-
|
|
115
|
-
### Prepared database, new Worker state
|
|
116
|
-
|
|
117
|
-
The Wrangler fixture resets its in-isolate runtime after seeding while retaining
|
|
118
|
-
D1. The first public page has a four-statement budget (fingerprint, lazy locale,
|
|
119
|
-
site settings, entry); subsequent origin pages have a two-statement budget.
|
|
120
|
-
This is a new application state in the same workerd isolate, not a measurement
|
|
121
|
-
of module startup CPU or an entrypoint cache HIT. Locale caching is enabled by
|
|
122
|
-
a successful preparation fingerprint; editable settings and media policy still
|
|
123
|
-
read the canonical database on every call.
|
|
124
|
-
|
|
125
|
-
### HTTP Trigger routing
|
|
126
|
-
|
|
127
|
-
The portable request handler indexes Trigger paths by method and segments once.
|
|
128
|
-
Literal and wildcard branches retain sealed-plan order, including encoded literal
|
|
129
|
-
collisions that an outer router may select differently. Each request decodes its
|
|
130
|
-
segments once and invokes the original Trigger identity through the same runtime.
|
|
131
|
-
The 1/10/100/1,000-route regression uses four segment lookups at every size;
|
|
132
|
-
overlapping wildcard shapes can visit multiple branches, pruned by route rank.
|
|
133
|
-
The HTTP microbench and workerd harness include the same route-count axis.
|
|
134
|
-
Workerd wall times include I/O and are not CPU measurements or a fixed-ms CI gate.
|
|
135
|
-
|
|
136
|
-
### Public content pages and discovery (#809)
|
|
137
|
-
|
|
138
|
-
| Surface | Canonical read / continuation |
|
|
139
|
-
|---|---|
|
|
140
|
-
| Collection HTML and collection Markdown | 50 entries by default, forward `cursor`; visible Next link plus HTTP `Link: rel="next"`. |
|
|
141
|
-
| Locale and root llms.txt | One canonical page, default 50 entries; root expands that page across configured locales in memory. Shared entries are not reread once per locale. Follow the body/HTTP continuation link. |
|
|
142
|
-
| Sitemap part | Up to 2,000 entries, with only declared path fields (built-in resolver: `slug`). A small site returns a urlset directly; a larger site returns a sitemap index linking every part. |
|
|
143
|
-
| Sitemap index | Walks metadata pages to derive exact part cursors; O(N) metadata work on an index MISS, with one page resident at a time. It is not a constant-work list endpoint. |
|
|
144
|
-
|
|
145
|
-
`EntryReader.readPublishedPage` caps returned data JSON at 1 MiB and 2,000 rows.
|
|
146
|
-
One oversized entry is returned alone to make progress. SQLite applies the byte
|
|
147
|
-
budget before transferring/parsing JSON in the Worker; one extra candidate
|
|
148
|
-
identifies continuation. A localized + shared page merges two indexed ranges
|
|
149
|
-
inside the same statement. The original `readPublished` remains an explicit
|
|
150
|
-
unbounded read unless its caller supplies a limit.
|
|
151
|
-
|
|
152
|
-
Translation lists resolve at most one newest published parent per join value,
|
|
153
|
-
then resolve media once for the bounded list. Parent payloads and media metadata
|
|
154
|
-
are additional input; the 1 MiB budget describes the canonical child page, not
|
|
155
|
-
arbitrary template output or total Worker heap. Custom renderers own their output
|
|
156
|
-
size. IndexedDB keeps identical page semantics but currently scans its local
|
|
157
|
-
collection; this is not a claim of bounded IndexedDB storage I/O.
|
|
158
|
-
|
|
159
|
-
The real SQLite fixture matrix covers 100/10,000/50,000 published rows, 64 B/4 KiB
|
|
160
|
-
bodies, and 1/3/10 locales. At limit 20, every case transfers 21 candidate rows;
|
|
161
|
-
4 KiB body data occupies 87,003–87,129 bytes, independent of collection size.
|
|
162
|
-
Complete llms traversal uses 2/200/1,000 statements at the default 50-row page
|
|
163
|
-
size, independent of locale count. Sitemap and llms URL sets match, including
|
|
164
|
-
275,000 URLs for 50,000 mixed localized/shared rows across 10 locales.
|
|
165
|
-
|
|
166
|
-
Run `pnpm --filter @aotter/mantle-cloudflare exec vitest run
|
|
167
|
-
test/public-content-scaling.test.ts` to emit JSON transfer sizes and traversal
|
|
168
|
-
CPU/wall/RSS diagnostics. These are Node + SQLite + assertions, including the
|
|
169
|
-
fixture database and URL-validation set; RSS is a process high-water mark, not
|
|
170
|
-
per-request Worker peak memory. Worker CPU, true cache HIT/MISS and placement
|
|
171
|
-
measurements belong to the matched native/full-stack harness (#812).
|
|
172
|
-
|
|
173
|
-
The workerd smoke also measures public list, llms and sitemap. The first two
|
|
174
|
-
use two warm statements (settings + page) and bounded D1 work. Sitemap index
|
|
175
|
-
queries and rows-read scale with the number of metadata parts; this explicit
|
|
176
|
-
cost preserves complete discovery instead of silently dropping URLs.
|
|
177
|
-
|
|
178
|
-
### Request diagnostics (version 1, test/performance only)
|
|
179
|
-
|
|
180
|
-
Import `runWithRequestDiagnostics`, `instrumentD1`, `instrumentKv` and
|
|
181
|
-
`instrumentR2` from `@aotter/mantle-cloudflare/testing`. Wrap native bindings once
|
|
182
|
-
before handing the same D1 object to Auth and Runtime. Open the request context
|
|
183
|
-
outside the complete facade fetch, and pass binding-presence flags matching the
|
|
184
|
-
instrumented fixture. The observer receives one response-time record; it never
|
|
185
|
-
receives request headers, tokens, proofs, user IDs, SQL, parameters, tool arguments,
|
|
186
|
-
object keys or response content. Sync/async observer failure cannot change the
|
|
187
|
-
original response or exception. The library emits no diagnostic headers or logs.
|
|
188
|
-
|
|
189
|
-
Records distinguish HTTP outcome from JSON-RPC result/error/tool-error. They
|
|
190
|
-
include actual in-isolate arrivals, inclusive OAuth/DPoP, role, runtime, catalog,
|
|
191
|
-
dispatcher construction and dispatch wall spans. Unreached phases are null.
|
|
192
|
-
Shared KV loads charge native I/O once to the initiating request; waiters record
|
|
193
|
-
wait duration and the same hit/miss/repair/error source. Boot publication has a
|
|
194
|
-
separate counter. The original rejected shared load remains retryable.
|
|
195
|
-
|
|
196
|
-
D1 statements and binding calls are separate: a batch is one call and N attempted
|
|
197
|
-
statements. Failed attempts count. `exec` uses the provider's count; unavailable
|
|
198
|
-
counts stay in `unknownStatementCalls`, never a semicolon parser. `first(column)`
|
|
199
|
-
and `raw` preserve native behavior and do not silently execute `all` to manufacture
|
|
200
|
-
metadata. Their absent metadata is null. Rows/duration are sums of available
|
|
201
|
-
metadata, and `metadataStatements` identifies coverage; incomplete coverage is
|
|
202
|
-
not a full-workload total. Serialized binding results are measured bytes, not a
|
|
203
|
-
claim about bytes on the provider's wire. Existing D1DatabaseDriver observers can
|
|
204
|
-
request metadata for first-row reads when a fixture explicitly chooses that mode.
|
|
205
|
-
|
|
206
|
-
KV bytes identify UTF-8, buffer or reserialized JSON sources. R2 payload bytes
|
|
207
|
-
remain unknown for an unconsumed/partly consumed GET. A successful PUT of that exact
|
|
208
|
-
native GET stream confirms the transferred body size on both operations. Streams
|
|
209
|
-
are never wrapped or buffered for diagnostics, preserving R2's native known-length
|
|
210
|
-
contract. `byteSamples` distinguishes known payload samples from the operation
|
|
211
|
-
count. Metadata/list response serialization is labeled separately from object
|
|
212
|
-
payload. R2 coverage is head/get/put/delete/list, not multipart-upload instrumentation.
|
|
213
|
-
|
|
214
|
-
Snapshots freeze at response creation; outstanding/deferred operations remain
|
|
215
|
-
visible through `inFlight` and metadata coverage and cannot rewrite a published
|
|
216
|
-
record. `totalMs` excludes the subsequent test-only JSON-RPC response inspection,
|
|
217
|
-
delivery and deferred work. CPU, TTFB, full-body duration and heap must be measured
|
|
218
|
-
separately. Worker wall clocks advance on I/O and are not a CPU timer; use the
|
|
219
|
-
[official CPU profiler](https://developers.cloudflare.com/workers/observability/dev-tools/cpu-usage/).
|
|
220
|
-
Measure diagnostics off/on overhead with the same workload before interpreting
|
|
221
|
-
small latency differences.
|
|
222
|
-
|
|
223
|
-
### Matched native facade controls (#812)
|
|
224
|
-
|
|
225
|
-
`pnpm bench:wrangler` now also runs the native parity smoke. The full
|
|
226
|
-
`pnpm bench:parity` matrix adds real Auth/MCP, cold workerd processes, R2,
|
|
227
|
-
TTFB/full-body timing and CPU/heap evidence. See
|
|
228
|
-
[the controls, gates and reproducible commands](./adr/adr-lite-812-native-parity.md).
|