gazetta 0.7.0 → 0.8.0
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/admin-dist/assets/index-CBeq0rRb.js +693 -0
- package/admin-dist/assets/index-Dtg1dTZQ.css +1 -0
- package/admin-dist/assets/rolldown-runtime-BYbx6iT9.js +1 -0
- package/admin-dist/assets/{vendor-primevue-C0Q_YTCb.js → vendor-primevue-CBGHkaXv.js} +183 -39
- package/admin-dist/assets/{vendor-react-BipDVGow.js → vendor-react-BdW_kNCG.js} +2 -2
- package/admin-dist/assets/vendor-rjsf-lN2SztQt.js +33 -0
- package/admin-dist/assets/vendor-tiptap-C36yDquB.js +141 -0
- package/admin-dist/assets/vendor-vue-Bt5uR1VW.js +1 -0
- package/admin-dist/assets/workbox-window.prod.es5-DGMtIXHc.js +2 -0
- package/admin-dist/index.html +8 -8
- package/admin-dist/sw.js +1 -0
- package/dist/admin-api/archived-name-conflict.d.ts +31 -0
- package/dist/admin-api/archived-name-conflict.d.ts.map +1 -0
- package/dist/admin-api/archived-name-conflict.js +226 -0
- package/dist/admin-api/archived-name-conflict.js.map +1 -0
- package/dist/admin-api/cache-stats-logger.d.ts +83 -0
- package/dist/admin-api/cache-stats-logger.d.ts.map +1 -0
- package/dist/admin-api/cache-stats-logger.js +59 -0
- package/dist/admin-api/cache-stats-logger.js.map +1 -0
- package/dist/admin-api/hook-audit-emitter.d.ts +38 -0
- package/dist/admin-api/hook-audit-emitter.d.ts.map +1 -0
- package/dist/admin-api/hook-audit-emitter.js +21 -0
- package/dist/admin-api/hook-audit-emitter.js.map +1 -0
- package/dist/admin-api/index.d.ts +84 -0
- package/dist/admin-api/index.d.ts.map +1 -1
- package/dist/admin-api/index.js +254 -9
- package/dist/admin-api/index.js.map +1 -1
- package/dist/admin-api/middleware/audit.d.ts +25 -0
- package/dist/admin-api/middleware/audit.d.ts.map +1 -0
- package/dist/admin-api/middleware/audit.js +65 -0
- package/dist/admin-api/middleware/audit.js.map +1 -0
- package/dist/admin-api/middleware/capability.d.ts +8 -0
- package/dist/admin-api/middleware/capability.d.ts.map +1 -0
- package/dist/admin-api/middleware/capability.js +65 -0
- package/dist/admin-api/middleware/capability.js.map +1 -0
- package/dist/admin-api/middleware/principal.d.ts +18 -0
- package/dist/admin-api/middleware/principal.d.ts.map +1 -0
- package/dist/admin-api/middleware/principal.js +128 -0
- package/dist/admin-api/middleware/principal.js.map +1 -0
- package/dist/admin-api/routes/archive-review.d.ts +80 -0
- package/dist/admin-api/routes/archive-review.d.ts.map +1 -0
- package/dist/admin-api/routes/archive-review.js +70 -0
- package/dist/admin-api/routes/archive-review.js.map +1 -0
- package/dist/admin-api/routes/archive.d.ts +145 -0
- package/dist/admin-api/routes/archive.d.ts.map +1 -0
- package/dist/admin-api/routes/archive.js +540 -0
- package/dist/admin-api/routes/archive.js.map +1 -0
- package/dist/admin-api/routes/assets.d.ts +6 -1
- package/dist/admin-api/routes/assets.d.ts.map +1 -1
- package/dist/admin-api/routes/assets.js +167 -14
- package/dist/admin-api/routes/assets.js.map +1 -1
- package/dist/admin-api/routes/audit.d.ts +71 -0
- package/dist/admin-api/routes/audit.d.ts.map +1 -0
- package/dist/admin-api/routes/audit.js +178 -0
- package/dist/admin-api/routes/audit.js.map +1 -0
- package/dist/admin-api/routes/compare.d.ts.map +1 -1
- package/dist/admin-api/routes/compare.js +3 -2
- package/dist/admin-api/routes/compare.js.map +1 -1
- package/dist/admin-api/routes/fields.d.ts.map +1 -1
- package/dist/admin-api/routes/fields.js +2 -1
- package/dist/admin-api/routes/fields.js.map +1 -1
- package/dist/admin-api/routes/fragments.d.ts +13 -1
- package/dist/admin-api/routes/fragments.d.ts.map +1 -1
- package/dist/admin-api/routes/fragments.js +127 -92
- package/dist/admin-api/routes/fragments.js.map +1 -1
- package/dist/admin-api/routes/health.d.ts +60 -0
- package/dist/admin-api/routes/health.d.ts.map +1 -0
- package/dist/admin-api/routes/health.js +65 -0
- package/dist/admin-api/routes/health.js.map +1 -0
- package/dist/admin-api/routes/history.d.ts +2 -1
- package/dist/admin-api/routes/history.d.ts.map +1 -1
- package/dist/admin-api/routes/history.js +26 -4
- package/dist/admin-api/routes/history.js.map +1 -1
- package/dist/admin-api/routes/pages.d.ts +20 -1
- package/dist/admin-api/routes/pages.d.ts.map +1 -1
- package/dist/admin-api/routes/pages.js +157 -117
- package/dist/admin-api/routes/pages.js.map +1 -1
- package/dist/admin-api/routes/preview.d.ts.map +1 -1
- package/dist/admin-api/routes/preview.js +56 -17
- package/dist/admin-api/routes/preview.js.map +1 -1
- package/dist/admin-api/routes/publish.d.ts +19 -1
- package/dist/admin-api/routes/publish.d.ts.map +1 -1
- package/dist/admin-api/routes/publish.js +508 -92
- package/dist/admin-api/routes/publish.js.map +1 -1
- package/dist/admin-api/routes/rename.d.ts +62 -0
- package/dist/admin-api/routes/rename.d.ts.map +1 -0
- package/dist/admin-api/routes/rename.js +366 -0
- package/dist/admin-api/routes/rename.js.map +1 -0
- package/dist/admin-api/routes/site.d.ts.map +1 -1
- package/dist/admin-api/routes/site.js +6 -18
- package/dist/admin-api/routes/site.js.map +1 -1
- package/dist/admin-api/routes/system.d.ts +23 -0
- package/dist/admin-api/routes/system.d.ts.map +1 -0
- package/dist/admin-api/routes/system.js +115 -0
- package/dist/admin-api/routes/system.js.map +1 -0
- package/dist/admin-api/routes/templates.d.ts +11 -1
- package/dist/admin-api/routes/templates.d.ts.map +1 -1
- package/dist/admin-api/routes/templates.js +36 -3
- package/dist/admin-api/routes/templates.js.map +1 -1
- package/dist/admin-api/routes/validation.d.ts +47 -0
- package/dist/admin-api/routes/validation.d.ts.map +1 -0
- package/dist/admin-api/routes/validation.js +120 -0
- package/dist/admin-api/routes/validation.js.map +1 -0
- package/dist/admin-api/schemas/archive.d.ts +124 -0
- package/dist/admin-api/schemas/archive.d.ts.map +1 -0
- package/dist/admin-api/schemas/archive.js +93 -0
- package/dist/admin-api/schemas/archive.js.map +1 -0
- package/dist/admin-api/schemas/assets.d.ts +16 -0
- package/dist/admin-api/schemas/assets.d.ts.map +1 -1
- package/dist/admin-api/schemas/assets.js +15 -0
- package/dist/admin-api/schemas/assets.js.map +1 -1
- package/dist/admin-api/schemas/audit.d.ts +175 -0
- package/dist/admin-api/schemas/audit.d.ts.map +1 -0
- package/dist/admin-api/schemas/audit.js +91 -0
- package/dist/admin-api/schemas/audit.js.map +1 -0
- package/dist/admin-api/schemas/error.d.ts +94 -0
- package/dist/admin-api/schemas/error.d.ts.map +1 -0
- package/dist/admin-api/schemas/error.js +79 -0
- package/dist/admin-api/schemas/error.js.map +1 -0
- package/dist/admin-api/schemas/fragments.d.ts +2 -0
- package/dist/admin-api/schemas/fragments.d.ts.map +1 -1
- package/dist/admin-api/schemas/fragments.js +4 -0
- package/dist/admin-api/schemas/fragments.js.map +1 -1
- package/dist/admin-api/schemas/index.d.ts +8 -0
- package/dist/admin-api/schemas/index.d.ts.map +1 -1
- package/dist/admin-api/schemas/index.js +8 -0
- package/dist/admin-api/schemas/index.js.map +1 -1
- package/dist/admin-api/schemas/pages.d.ts +2 -0
- package/dist/admin-api/schemas/pages.d.ts.map +1 -1
- package/dist/admin-api/schemas/pages.js +11 -0
- package/dist/admin-api/schemas/pages.js.map +1 -1
- package/dist/admin-api/schemas/rename.d.ts +77 -0
- package/dist/admin-api/schemas/rename.d.ts.map +1 -0
- package/dist/admin-api/schemas/rename.js +75 -0
- package/dist/admin-api/schemas/rename.js.map +1 -0
- package/dist/admin-api/schemas/site.d.ts +3 -2
- package/dist/admin-api/schemas/site.d.ts.map +1 -1
- package/dist/admin-api/schemas/site.js +3 -2
- package/dist/admin-api/schemas/site.js.map +1 -1
- package/dist/admin-api/schemas/system.d.ts +28 -0
- package/dist/admin-api/schemas/system.d.ts.map +1 -0
- package/dist/admin-api/schemas/system.js +35 -0
- package/dist/admin-api/schemas/system.js.map +1 -0
- package/dist/admin-api/schemas/targets.d.ts +55 -0
- package/dist/admin-api/schemas/targets.d.ts.map +1 -1
- package/dist/admin-api/schemas/targets.js +46 -0
- package/dist/admin-api/schemas/targets.js.map +1 -1
- package/dist/admin-api/schemas/templates.d.ts +54 -0
- package/dist/admin-api/schemas/templates.d.ts.map +1 -1
- package/dist/admin-api/schemas/templates.js +21 -0
- package/dist/admin-api/schemas/templates.js.map +1 -1
- package/dist/admin-api/schemas/validation.d.ts +101 -0
- package/dist/admin-api/schemas/validation.d.ts.map +1 -0
- package/dist/admin-api/schemas/validation.js +57 -0
- package/dist/admin-api/schemas/validation.js.map +1 -0
- package/dist/admin-api/source-context.d.ts +66 -10
- package/dist/admin-api/source-context.d.ts.map +1 -1
- package/dist/admin-api/source-context.js +43 -5
- package/dist/admin-api/source-context.js.map +1 -1
- package/dist/ai/adapter-scaffold.d.ts +63 -0
- package/dist/ai/adapter-scaffold.d.ts.map +1 -0
- package/dist/ai/adapter-scaffold.js +89 -0
- package/dist/ai/adapter-scaffold.js.map +1 -0
- package/dist/ai/compose-prompt.d.ts +50 -0
- package/dist/ai/compose-prompt.d.ts.map +1 -0
- package/dist/ai/compose-prompt.js +49 -0
- package/dist/ai/compose-prompt.js.map +1 -0
- package/dist/ai/errors.d.ts +65 -0
- package/dist/ai/errors.d.ts.map +1 -0
- package/dist/ai/errors.js +59 -0
- package/dist/ai/errors.js.map +1 -0
- package/dist/ai/index.d.ts +17 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +16 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/provider.d.ts +76 -0
- package/dist/ai/provider.d.ts.map +1 -0
- package/dist/ai/provider.js +13 -0
- package/dist/ai/provider.js.map +1 -0
- package/dist/ai/refusal.d.ts +50 -0
- package/dist/ai/refusal.d.ts.map +1 -0
- package/dist/ai/refusal.js +100 -0
- package/dist/ai/refusal.js.map +1 -0
- package/dist/ai/vision-prep.d.ts +32 -0
- package/dist/ai/vision-prep.d.ts.map +1 -0
- package/dist/ai/vision-prep.js +113 -0
- package/dist/ai/vision-prep.js.map +1 -0
- package/dist/alt/adapter.d.ts +140 -0
- package/dist/alt/adapter.d.ts.map +1 -0
- package/dist/alt/adapter.js +7 -0
- package/dist/alt/adapter.js.map +1 -0
- package/dist/alt/anthropic.d.ts +63 -0
- package/dist/alt/anthropic.d.ts.map +1 -0
- package/dist/alt/anthropic.js +147 -0
- package/dist/alt/anthropic.js.map +1 -0
- package/dist/alt/config.d.ts +67 -0
- package/dist/alt/config.d.ts.map +1 -0
- package/dist/alt/config.js +41 -0
- package/dist/alt/config.js.map +1 -0
- package/dist/alt/factory.d.ts +19 -0
- package/dist/alt/factory.d.ts.map +1 -0
- package/dist/alt/factory.js +69 -0
- package/dist/alt/factory.js.map +1 -0
- package/dist/alt/null-adapter.d.ts +3 -0
- package/dist/alt/null-adapter.d.ts.map +1 -0
- package/dist/alt/null-adapter.js +43 -0
- package/dist/alt/null-adapter.js.map +1 -0
- package/dist/alt/ollama.d.ts +40 -0
- package/dist/alt/ollama.d.ts.map +1 -0
- package/dist/alt/ollama.js +139 -0
- package/dist/alt/ollama.js.map +1 -0
- package/dist/alt/openai.d.ts +46 -0
- package/dist/alt/openai.d.ts.map +1 -0
- package/dist/alt/openai.js +118 -0
- package/dist/alt/openai.js.map +1 -0
- package/dist/alt/prompt-policies.d.ts +79 -0
- package/dist/alt/prompt-policies.d.ts.map +1 -0
- package/dist/alt/prompt-policies.js +67 -0
- package/dist/alt/prompt-policies.js.map +1 -0
- package/dist/alt/route-handler.d.ts +56 -0
- package/dist/alt/route-handler.d.ts.map +1 -0
- package/dist/alt/route-handler.js +122 -0
- package/dist/alt/route-handler.js.map +1 -0
- package/dist/alt/suggester.d.ts +57 -0
- package/dist/alt/suggester.d.ts.map +1 -0
- package/dist/alt/suggester.js +133 -0
- package/dist/alt/suggester.js.map +1 -0
- package/dist/app.js +1 -1
- package/dist/app.js.map +1 -1
- package/dist/archive-aliases.d.ts +79 -0
- package/dist/archive-aliases.d.ts.map +1 -0
- package/dist/archive-aliases.js +60 -0
- package/dist/archive-aliases.js.map +1 -0
- package/dist/archive-helpers.d.ts +73 -0
- package/dist/archive-helpers.d.ts.map +1 -0
- package/dist/archive-helpers.js +94 -0
- package/dist/archive-helpers.js.map +1 -0
- package/dist/assets/find-refs.d.ts +1 -1
- package/dist/assets/find-refs.js +1 -1
- package/dist/assets/find-refs.js.map +1 -1
- package/dist/assets/rename.js +1 -1
- package/dist/assets/rename.js.map +1 -1
- package/dist/assets/replace.js +1 -1
- package/dist/assets/replace.js.map +1 -1
- package/dist/assets/resolve.js +4 -4
- package/dist/assets/resolve.js.map +1 -1
- package/dist/assets/serve-route.js +2 -2
- package/dist/assets/serve-route.js.map +1 -1
- package/dist/assets/validate.d.ts +1 -1
- package/dist/assets/validate.js +1 -1
- package/dist/audit/config.d.ts +75 -0
- package/dist/audit/config.d.ts.map +1 -0
- package/dist/audit/config.js +91 -0
- package/dist/audit/config.js.map +1 -0
- package/dist/audit/context.d.ts +98 -0
- package/dist/audit/context.d.ts.map +1 -0
- package/dist/audit/context.js +51 -0
- package/dist/audit/context.js.map +1 -0
- package/dist/audit/errors.d.ts +73 -0
- package/dist/audit/errors.d.ts.map +1 -0
- package/dist/audit/errors.js +78 -0
- package/dist/audit/errors.js.map +1 -0
- package/dist/audit/index.d.ts +16 -0
- package/dist/audit/index.d.ts.map +1 -0
- package/dist/audit/index.js +10 -0
- package/dist/audit/index.js.map +1 -0
- package/dist/audit/provider.d.ts +73 -0
- package/dist/audit/provider.d.ts.map +1 -0
- package/dist/audit/provider.js +2 -0
- package/dist/audit/provider.js.map +1 -0
- package/dist/audit/providers/history.d.ts +66 -0
- package/dist/audit/providers/history.d.ts.map +1 -0
- package/dist/audit/providers/history.js +102 -0
- package/dist/audit/providers/history.js.map +1 -0
- package/dist/audit/pseudonymize.d.ts +26 -0
- package/dist/audit/pseudonymize.d.ts.map +1 -0
- package/dist/audit/pseudonymize.js +86 -0
- package/dist/audit/pseudonymize.js.map +1 -0
- package/dist/audit/recorder.d.ts +102 -0
- package/dist/audit/recorder.d.ts.map +1 -0
- package/dist/audit/recorder.js +55 -0
- package/dist/audit/recorder.js.map +1 -0
- package/dist/audit/retention.d.ts +83 -0
- package/dist/audit/retention.d.ts.map +1 -0
- package/dist/audit/retention.js +142 -0
- package/dist/audit/retention.js.map +1 -0
- package/dist/audit/source-ip.d.ts +32 -0
- package/dist/audit/source-ip.d.ts.map +1 -0
- package/dist/audit/source-ip.js +164 -0
- package/dist/audit/source-ip.js.map +1 -0
- package/dist/audit/types.d.ts +143 -0
- package/dist/audit/types.d.ts.map +1 -0
- package/dist/audit/types.js +33 -0
- package/dist/audit/types.js.map +1 -0
- package/dist/audit/user-agent.d.ts +28 -0
- package/dist/audit/user-agent.d.ts.map +1 -0
- package/dist/audit/user-agent.js +63 -0
- package/dist/audit/user-agent.js.map +1 -0
- package/dist/auth/capabilities.d.ts +28 -0
- package/dist/auth/capabilities.d.ts.map +1 -0
- package/dist/auth/capabilities.js +101 -0
- package/dist/auth/capabilities.js.map +1 -0
- package/dist/auth/config.d.ts +109 -0
- package/dist/auth/config.d.ts.map +1 -0
- package/dist/auth/config.js +221 -0
- package/dist/auth/config.js.map +1 -0
- package/dist/auth/errors.d.ts +72 -0
- package/dist/auth/errors.d.ts.map +1 -0
- package/dist/auth/errors.js +78 -0
- package/dist/auth/errors.js.map +1 -0
- package/dist/auth/factory.d.ts +43 -0
- package/dist/auth/factory.d.ts.map +1 -0
- package/dist/auth/factory.js +48 -0
- package/dist/auth/factory.js.map +1 -0
- package/dist/auth/index.d.ts +21 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +14 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/ip-match.d.ts +29 -0
- package/dist/auth/ip-match.d.ts.map +1 -0
- package/dist/auth/ip-match.js +162 -0
- package/dist/auth/ip-match.js.map +1 -0
- package/dist/auth/provider.d.ts +76 -0
- package/dist/auth/provider.d.ts.map +1 -0
- package/dist/auth/provider.js +2 -0
- package/dist/auth/provider.js.map +1 -0
- package/dist/auth/providers/aws-cognito.d.ts +55 -0
- package/dist/auth/providers/aws-cognito.d.ts.map +1 -0
- package/dist/auth/providers/aws-cognito.js +114 -0
- package/dist/auth/providers/aws-cognito.js.map +1 -0
- package/dist/auth/providers/azure-easy-auth.d.ts +7 -0
- package/dist/auth/providers/azure-easy-auth.d.ts.map +1 -0
- package/dist/auth/providers/azure-easy-auth.js +48 -0
- package/dist/auth/providers/azure-easy-auth.js.map +1 -0
- package/dist/auth/providers/cloudflare-access.d.ts +71 -0
- package/dist/auth/providers/cloudflare-access.d.ts.map +1 -0
- package/dist/auth/providers/cloudflare-access.js +120 -0
- package/dist/auth/providers/cloudflare-access.js.map +1 -0
- package/dist/auth/providers/forwarded-user.d.ts +31 -0
- package/dist/auth/providers/forwarded-user.d.ts.map +1 -0
- package/dist/auth/providers/forwarded-user.js +72 -0
- package/dist/auth/providers/forwarded-user.js.map +1 -0
- package/dist/auth/providers/none.d.ts +6 -0
- package/dist/auth/providers/none.d.ts.map +1 -0
- package/dist/auth/providers/none.js +19 -0
- package/dist/auth/providers/none.js.map +1 -0
- package/dist/auth/providers/tailscale.d.ts +7 -0
- package/dist/auth/providers/tailscale.d.ts.map +1 -0
- package/dist/auth/providers/tailscale.js +30 -0
- package/dist/auth/providers/tailscale.js.map +1 -0
- package/dist/auth/role-resolver.d.ts +38 -0
- package/dist/auth/role-resolver.d.ts.map +1 -0
- package/dist/auth/role-resolver.js +92 -0
- package/dist/auth/role-resolver.js.map +1 -0
- package/dist/auth/types.d.ts +150 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +60 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/cache/errors.d.ts +41 -0
- package/dist/cache/errors.d.ts.map +1 -0
- package/dist/cache/errors.js +44 -0
- package/dist/cache/errors.js.map +1 -0
- package/dist/cache/factories.d.ts +17 -0
- package/dist/cache/factories.d.ts.map +1 -0
- package/dist/cache/factories.js +17 -0
- package/dist/cache/factories.js.map +1 -0
- package/dist/cache/keys.d.ts +63 -0
- package/dist/cache/keys.d.ts.map +1 -0
- package/dist/cache/keys.js +145 -0
- package/dist/cache/keys.js.map +1 -0
- package/dist/cache/memory.d.ts +51 -0
- package/dist/cache/memory.d.ts.map +1 -0
- package/dist/cache/memory.js +204 -0
- package/dist/cache/memory.js.map +1 -0
- package/dist/cache/per-site.d.ts +22 -0
- package/dist/cache/per-site.d.ts.map +1 -0
- package/dist/cache/per-site.js +114 -0
- package/dist/cache/per-site.js.map +1 -0
- package/dist/cache/types.d.ts +142 -0
- package/dist/cache/types.d.ts.map +1 -0
- package/dist/cache/types.js +33 -0
- package/dist/cache/types.js.map +1 -0
- package/dist/cli/archive.d.ts +44 -0
- package/dist/cli/archive.d.ts.map +1 -0
- package/dist/cli/archive.js +310 -0
- package/dist/cli/archive.js.map +1 -0
- package/dist/cli/bootstrap.d.ts +15 -8
- package/dist/cli/bootstrap.d.ts.map +1 -1
- package/dist/cli/bootstrap.js +59 -23
- package/dist/cli/bootstrap.js.map +1 -1
- package/dist/cli/dev-template-watcher.d.ts +29 -0
- package/dist/cli/dev-template-watcher.d.ts.map +1 -0
- package/dist/cli/dev-template-watcher.js +38 -0
- package/dist/cli/dev-template-watcher.js.map +1 -0
- package/dist/cli/history.d.ts.map +1 -1
- package/dist/cli/history.js +5 -3
- package/dist/cli/history.js.map +1 -1
- package/dist/cli/index.js +712 -395
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/validate-flags.d.ts +29 -0
- package/dist/cli/validate-flags.d.ts.map +1 -0
- package/dist/cli/validate-flags.js +49 -0
- package/dist/cli/validate-flags.js.map +1 -0
- package/dist/compare.d.ts +1 -1
- package/dist/compare.d.ts.map +1 -1
- package/dist/compare.js +25 -23
- package/dist/compare.js.map +1 -1
- package/dist/component-ids.d.ts +25 -0
- package/dist/component-ids.d.ts.map +1 -0
- package/dist/component-ids.js +83 -0
- package/dist/component-ids.js.map +1 -0
- package/dist/config/define.d.ts +61 -0
- package/dist/config/define.d.ts.map +1 -0
- package/dist/config/define.js +64 -0
- package/dist/config/define.js.map +1 -0
- package/dist/config/errors.d.ts +32 -0
- package/dist/config/errors.d.ts.map +1 -0
- package/dist/config/errors.js +40 -0
- package/dist/config/errors.js.map +1 -0
- package/dist/config/index.d.ts +13 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +20 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +105 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +265 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/schemas.d.ts +89 -0
- package/dist/config/schemas.d.ts.map +1 -0
- package/dist/config/schemas.js +172 -0
- package/dist/config/schemas.js.map +1 -0
- package/dist/config/types.d.ts +32 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +15 -0
- package/dist/config/types.js.map +1 -0
- package/dist/deploy/cloudflare-workers.d.ts +46 -0
- package/dist/deploy/cloudflare-workers.d.ts.map +1 -0
- package/dist/deploy/cloudflare-workers.js +213 -0
- package/dist/deploy/cloudflare-workers.js.map +1 -0
- package/dist/deploy/errors.d.ts +66 -0
- package/dist/deploy/errors.d.ts.map +1 -0
- package/dist/deploy/errors.js +82 -0
- package/dist/deploy/errors.js.map +1 -0
- package/dist/deploy/index.d.ts +9 -0
- package/dist/deploy/index.d.ts.map +1 -0
- package/dist/deploy/index.js +3 -0
- package/dist/deploy/index.js.map +1 -0
- package/dist/deploy/types.d.ts +162 -0
- package/dist/deploy/types.d.ts.map +1 -0
- package/dist/deploy/types.js +2 -0
- package/dist/deploy/types.js.map +1 -0
- package/dist/fragments/create.d.ts +70 -0
- package/dist/fragments/create.d.ts.map +1 -0
- package/dist/fragments/create.js +93 -0
- package/dist/fragments/create.js.map +1 -0
- package/dist/fragments/publish.d.ts +37 -0
- package/dist/fragments/publish.d.ts.map +1 -0
- package/dist/fragments/publish.js +52 -0
- package/dist/fragments/publish.js.map +1 -0
- package/dist/fragments/save.d.ts +81 -0
- package/dist/fragments/save.d.ts.map +1 -0
- package/dist/fragments/save.js +105 -0
- package/dist/fragments/save.js.map +1 -0
- package/dist/history-recorder.d.ts +5 -5
- package/dist/history-recorder.d.ts.map +1 -1
- package/dist/history-recorder.js +4 -4
- package/dist/history-recorder.js.map +1 -1
- package/dist/history-restorer.js +2 -2
- package/dist/history-restorer.js.map +1 -1
- package/dist/history.d.ts +1 -1
- package/dist/hooks/audit-emitter.d.ts +73 -0
- package/dist/hooks/audit-emitter.d.ts.map +1 -0
- package/dist/hooks/audit-emitter.js +13 -0
- package/dist/hooks/audit-emitter.js.map +1 -0
- package/dist/hooks/context.d.ts +78 -0
- package/dist/hooks/context.d.ts.map +1 -0
- package/dist/hooks/context.js +56 -0
- package/dist/hooks/context.js.map +1 -0
- package/dist/hooks/contribution.d.ts +90 -0
- package/dist/hooks/contribution.d.ts.map +1 -0
- package/dist/hooks/contribution.js +2 -0
- package/dist/hooks/contribution.js.map +1 -0
- package/dist/hooks/dispatch.d.ts +30 -0
- package/dist/hooks/dispatch.d.ts.map +1 -0
- package/dist/hooks/dispatch.js +252 -0
- package/dist/hooks/dispatch.js.map +1 -0
- package/dist/hooks/errors.d.ts +100 -0
- package/dist/hooks/errors.d.ts.map +1 -0
- package/dist/hooks/errors.js +103 -0
- package/dist/hooks/errors.js.map +1 -0
- package/dist/hooks/index.d.ts +15 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +6 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/registry.d.ts +53 -0
- package/dist/hooks/registry.d.ts.map +1 -0
- package/dist/hooks/registry.js +139 -0
- package/dist/hooks/registry.js.map +1 -0
- package/dist/hooks/storage.d.ts +43 -0
- package/dist/hooks/storage.d.ts.map +1 -0
- package/dist/hooks/storage.js +2 -0
- package/dist/hooks/storage.js.map +1 -0
- package/dist/hooks/types.d.ts +324 -0
- package/dist/hooks/types.d.ts.map +1 -0
- package/dist/hooks/types.js +2 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/index.d.ts +26 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -5
- package/dist/index.js.map +1 -1
- package/dist/locale.d.ts +5 -1
- package/dist/locale.d.ts.map +1 -1
- package/dist/locale.js +6 -2
- package/dist/locale.js.map +1 -1
- package/dist/manifest-save.d.ts +255 -0
- package/dist/manifest-save.d.ts.map +1 -0
- package/dist/manifest-save.js +260 -0
- package/dist/manifest-save.js.map +1 -0
- package/dist/manifest.d.ts +1 -2
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +43 -44
- package/dist/manifest.js.map +1 -1
- package/dist/node-floor.d.ts +3 -0
- package/dist/node-floor.d.ts.map +1 -0
- package/dist/node-floor.js +3 -0
- package/dist/node-floor.js.map +1 -0
- package/dist/pages/create.d.ts +103 -0
- package/dist/pages/create.d.ts.map +1 -0
- package/dist/pages/create.js +117 -0
- package/dist/pages/create.js.map +1 -0
- package/dist/pages/publish.d.ts +59 -0
- package/dist/pages/publish.d.ts.map +1 -0
- package/dist/pages/publish.js +78 -0
- package/dist/pages/publish.js.map +1 -0
- package/dist/pages/save.d.ts +97 -0
- package/dist/pages/save.d.ts.map +1 -0
- package/dist/pages/save.js +138 -0
- package/dist/pages/save.js.map +1 -0
- package/dist/providers/factories.d.ts +65 -0
- package/dist/providers/factories.d.ts.map +1 -0
- package/dist/providers/factories.js +189 -0
- package/dist/providers/factories.js.map +1 -0
- package/dist/publish-item.d.ts +225 -0
- package/dist/publish-item.d.ts.map +1 -0
- package/dist/publish-item.js +210 -0
- package/dist/publish-item.js.map +1 -0
- package/dist/publish-rendered.d.ts.map +1 -1
- package/dist/publish-rendered.js +75 -6
- package/dist/publish-rendered.js.map +1 -1
- package/dist/publish-renderers.d.ts +132 -0
- package/dist/publish-renderers.d.ts.map +1 -0
- package/dist/publish-renderers.js +240 -0
- package/dist/publish-renderers.js.map +1 -0
- package/dist/publish-run.d.ts +223 -0
- package/dist/publish-run.d.ts.map +1 -0
- package/dist/publish-run.js +307 -0
- package/dist/publish-run.js.map +1 -0
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +1 -10
- package/dist/publish.js.map +1 -1
- package/dist/render-for-analysis.d.ts +24 -0
- package/dist/render-for-analysis.d.ts.map +1 -0
- package/dist/render-for-analysis.js +146 -0
- package/dist/render-for-analysis.js.map +1 -0
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +47 -23
- package/dist/resolver.js.map +1 -1
- package/dist/runtime/archive-marker.d.ts +62 -0
- package/dist/runtime/archive-marker.d.ts.map +1 -0
- package/dist/runtime/archive-marker.js +88 -0
- package/dist/runtime/archive-marker.js.map +1 -0
- package/dist/runtime/capability-gap-warnings.d.ts +42 -0
- package/dist/runtime/capability-gap-warnings.d.ts.map +1 -0
- package/dist/runtime/capability-gap-warnings.js +28 -0
- package/dist/runtime/capability-gap-warnings.js.map +1 -0
- package/dist/runtime/redirects-emit.d.ts +93 -0
- package/dist/runtime/redirects-emit.d.ts.map +1 -0
- package/dist/runtime/redirects-emit.js +89 -0
- package/dist/runtime/redirects-emit.js.map +1 -0
- package/dist/runtime/runtime-capabilities.d.ts +79 -0
- package/dist/runtime/runtime-capabilities.d.ts.map +1 -0
- package/dist/runtime/runtime-capabilities.js +60 -0
- package/dist/runtime/runtime-capabilities.js.map +1 -0
- package/dist/save-etag.d.ts +69 -0
- package/dist/save-etag.d.ts.map +1 -0
- package/dist/save-etag.js +118 -0
- package/dist/save-etag.js.map +1 -0
- package/dist/site-loader.d.ts +42 -4
- package/dist/site-loader.d.ts.map +1 -1
- package/dist/site-loader.js +27 -8
- package/dist/site-loader.js.map +1 -1
- package/dist/targets.d.ts +21 -12
- package/dist/targets.d.ts.map +1 -1
- package/dist/targets.js +27 -95
- package/dist/targets.js.map +1 -1
- package/dist/testing/admin-cache-contract.d.ts +52 -0
- package/dist/testing/admin-cache-contract.d.ts.map +1 -0
- package/dist/testing/admin-cache-contract.js +203 -0
- package/dist/testing/admin-cache-contract.js.map +1 -0
- package/dist/testing/index.d.ts +11 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +11 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/transforms/factories.d.ts +16 -0
- package/dist/transforms/factories.d.ts.map +1 -0
- package/dist/transforms/factories.js +18 -0
- package/dist/transforms/factories.js.map +1 -0
- package/dist/transforms/index.d.ts +10 -17
- package/dist/transforms/index.d.ts.map +1 -1
- package/dist/transforms/index.js +4 -28
- package/dist/transforms/index.js.map +1 -1
- package/dist/transforms/sharp.d.ts +15 -1
- package/dist/transforms/sharp.d.ts.map +1 -1
- package/dist/transforms/sharp.js +34 -20
- package/dist/transforms/sharp.js.map +1 -1
- package/dist/types.d.ts +379 -52
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +20 -1
- package/dist/types.js.map +1 -1
- package/dist/validation/alt-required-walker.d.ts +27 -0
- package/dist/validation/alt-required-walker.d.ts.map +1 -0
- package/dist/validation/alt-required-walker.js +108 -0
- package/dist/validation/alt-required-walker.js.map +1 -0
- package/dist/validation/default-registry.d.ts +12 -0
- package/dist/validation/default-registry.d.ts.map +1 -0
- package/dist/validation/default-registry.js +55 -0
- package/dist/validation/default-registry.js.map +1 -0
- package/dist/validation/publish-audit.d.ts +44 -0
- package/dist/validation/publish-audit.d.ts.map +1 -0
- package/dist/validation/publish-audit.js +64 -0
- package/dist/validation/publish-audit.js.map +1 -0
- package/dist/validation/registry.d.ts +23 -0
- package/dist/validation/registry.d.ts.map +1 -0
- package/dist/validation/registry.js +15 -0
- package/dist/validation/registry.js.map +1 -0
- package/dist/validation/save-delta.d.ts +46 -0
- package/dist/validation/save-delta.d.ts.map +1 -0
- package/dist/validation/save-delta.js +57 -0
- package/dist/validation/save-delta.js.map +1 -0
- package/dist/validation/scanner.d.ts +91 -0
- package/dist/validation/scanner.d.ts.map +1 -0
- package/dist/validation/scanner.js +327 -0
- package/dist/validation/scanner.js.map +1 -0
- package/dist/validation/template-impact.d.ts +52 -0
- package/dist/validation/template-impact.d.ts.map +1 -0
- package/dist/validation/template-impact.js +53 -0
- package/dist/validation/template-impact.js.map +1 -0
- package/dist/validation/types.d.ts +123 -0
- package/dist/validation/types.d.ts.map +1 -0
- package/dist/validation/types.js +7 -0
- package/dist/validation/types.js.map +1 -0
- package/dist/validation/validators/accessibility.d.ts +3 -0
- package/dist/validation/validators/accessibility.d.ts.map +1 -0
- package/dist/validation/validators/accessibility.js +106 -0
- package/dist/validation/validators/accessibility.js.map +1 -0
- package/dist/validation/validators/aliasof-points-to-archived.d.ts +40 -0
- package/dist/validation/validators/aliasof-points-to-archived.d.ts.map +1 -0
- package/dist/validation/validators/aliasof-points-to-archived.js +34 -0
- package/dist/validation/validators/aliasof-points-to-archived.js.map +1 -0
- package/dist/validation/validators/alt-required.d.ts +3 -0
- package/dist/validation/validators/alt-required.d.ts.map +1 -0
- package/dist/validation/validators/alt-required.js +118 -0
- package/dist/validation/validators/alt-required.js.map +1 -0
- package/dist/validation/validators/archive-not-supported-on-target.d.ts +3 -0
- package/dist/validation/validators/archive-not-supported-on-target.d.ts.map +1 -0
- package/dist/validation/validators/archive-not-supported-on-target.js +38 -0
- package/dist/validation/validators/archive-not-supported-on-target.js.map +1 -0
- package/dist/validation/validators/broken-links.d.ts +3 -0
- package/dist/validation/validators/broken-links.d.ts.map +1 -0
- package/dist/validation/validators/broken-links.js +190 -0
- package/dist/validation/validators/broken-links.js.map +1 -0
- package/dist/validation/validators/circular-alias.d.ts +36 -0
- package/dist/validation/validators/circular-alias.d.ts.map +1 -0
- package/dist/validation/validators/circular-alias.js +63 -0
- package/dist/validation/validators/circular-alias.js.map +1 -0
- package/dist/validation/validators/circular-fragment.d.ts +15 -0
- package/dist/validation/validators/circular-fragment.d.ts.map +1 -0
- package/dist/validation/validators/circular-fragment.js +97 -0
- package/dist/validation/validators/circular-fragment.js.map +1 -0
- package/dist/validation/validators/dangling-alias.d.ts +38 -0
- package/dist/validation/validators/dangling-alias.d.ts.map +1 -0
- package/dist/validation/validators/dangling-alias.js +31 -0
- package/dist/validation/validators/dangling-alias.js.map +1 -0
- package/dist/validation/validators/deploy-target-type-supported.d.ts +3 -0
- package/dist/validation/validators/deploy-target-type-supported.d.ts.map +1 -0
- package/dist/validation/validators/deploy-target-type-supported.js +32 -0
- package/dist/validation/validators/deploy-target-type-supported.js.map +1 -0
- package/dist/validation/validators/dynamic-route-conflict.d.ts +18 -0
- package/dist/validation/validators/dynamic-route-conflict.d.ts.map +1 -0
- package/dist/validation/validators/dynamic-route-conflict.js +80 -0
- package/dist/validation/validators/dynamic-route-conflict.js.map +1 -0
- package/dist/validation/validators/html-validity.d.ts +3 -0
- package/dist/validation/validators/html-validity.d.ts.map +1 -0
- package/dist/validation/validators/html-validity.js +89 -0
- package/dist/validation/validators/html-validity.js.map +1 -0
- package/dist/validation/validators/orphaned-locale-file.d.ts +21 -0
- package/dist/validation/validators/orphaned-locale-file.d.ts.map +1 -0
- package/dist/validation/validators/orphaned-locale-file.js +84 -0
- package/dist/validation/validators/orphaned-locale-file.js.map +1 -0
- package/dist/validation/validators/referenced-archived-without-alias.d.ts +3 -0
- package/dist/validation/validators/referenced-archived-without-alias.d.ts.map +1 -0
- package/dist/validation/validators/referenced-archived-without-alias.js +65 -0
- package/dist/validation/validators/referenced-archived-without-alias.js.map +1 -0
- package/dist/validation/validators/referenced-asset-exists.d.ts +13 -0
- package/dist/validation/validators/referenced-asset-exists.d.ts.map +1 -0
- package/dist/validation/validators/referenced-asset-exists.js +80 -0
- package/dist/validation/validators/referenced-asset-exists.js.map +1 -0
- package/dist/validation/validators/referenced-fragment-exists.d.ts +9 -0
- package/dist/validation/validators/referenced-fragment-exists.d.ts.map +1 -0
- package/dist/validation/validators/referenced-fragment-exists.js +52 -0
- package/dist/validation/validators/referenced-fragment-exists.js.map +1 -0
- package/dist/validation/validators/referenced-template-exists.d.ts +10 -0
- package/dist/validation/validators/referenced-template-exists.d.ts.map +1 -0
- package/dist/validation/validators/referenced-template-exists.js +74 -0
- package/dist/validation/validators/referenced-template-exists.js.map +1 -0
- package/dist/validation/validators/schema-conformance.d.ts +17 -0
- package/dist/validation/validators/schema-conformance.d.ts.map +1 -0
- package/dist/validation/validators/schema-conformance.js +94 -0
- package/dist/validation/validators/schema-conformance.js.map +1 -0
- package/dist/validation/validators/target-deploy-coverage.d.ts +3 -0
- package/dist/validation/validators/target-deploy-coverage.d.ts.map +1 -0
- package/dist/validation/validators/target-deploy-coverage.js +37 -0
- package/dist/validation/validators/target-deploy-coverage.js.map +1 -0
- package/dist/validation/validators/unused-fragment.d.ts +16 -0
- package/dist/validation/validators/unused-fragment.d.ts.map +1 -0
- package/dist/validation/validators/unused-fragment.js +86 -0
- package/dist/validation/validators/unused-fragment.js.map +1 -0
- package/package.json +54 -31
- package/admin-dist/assets/index-BO9-CXmW.css +0 -1
- package/admin-dist/assets/index-Ufu8zZH_.js +0 -668
- package/admin-dist/assets/rolldown-runtime-COnpUsM8.js +0 -1
- package/admin-dist/assets/vendor-rjsf-HKBAjOmQ.js +0 -32
- package/admin-dist/assets/vendor-tiptap-IyO99U4R.js +0 -142
- package/admin-dist/assets/vendor-vue-D3wBSmDf.js +0 -1
- package/dist/publish-locale.d.ts +0 -44
- package/dist/publish-locale.d.ts.map +0 -1
- package/dist/publish-locale.js +0 -103
- package/dist/publish-locale.js.map +0 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auth + RBAC types — the load-bearing primitives every downstream
|
|
3
|
+
* foundation (audit, hooks, review-workflow) consumes.
|
|
4
|
+
*
|
|
5
|
+
* # Why these types live here
|
|
6
|
+
*
|
|
7
|
+
* Gazetta does NOT do authentication itself. Operators put admin
|
|
8
|
+
* behind upstream auth (Cloudflare Access, oauth2-proxy, Tailscale,
|
|
9
|
+
* etc.) and Gazetta reads identity from configured request headers.
|
|
10
|
+
* This module defines the shape of that identity AFTER the upstream
|
|
11
|
+
* layer has authenticated — what audit records, what hooks see, what
|
|
12
|
+
* the capability middleware checks.
|
|
13
|
+
*
|
|
14
|
+
* # Trust modes
|
|
15
|
+
*
|
|
16
|
+
* Each `TrustMode` corresponds to a documented upstream platform.
|
|
17
|
+
* The auth provider for that mode knows how to extract identity from
|
|
18
|
+
* that platform's request shape (signed JWT, custom header, etc.).
|
|
19
|
+
*
|
|
20
|
+
* # Single role per principal
|
|
21
|
+
*
|
|
22
|
+
* Per `design-auth-rbac.md` Q2 lock. Multi-role complexity (precedence
|
|
23
|
+
* conflicts, role intersection) deferred until concrete operator
|
|
24
|
+
* demand. Operators who need multi-role today compose custom roles
|
|
25
|
+
* with the union of needed capabilities.
|
|
26
|
+
*
|
|
27
|
+
* # SOLID lenses
|
|
28
|
+
*
|
|
29
|
+
* - SRP: this module owns the type vocabulary; doesn't read or
|
|
30
|
+
* write storage; pure data shapes.
|
|
31
|
+
* - DIP: downstream consumers (audit, hooks, middleware) depend on
|
|
32
|
+
* `Principal` interface, not on which trust mode produced it.
|
|
33
|
+
* - ISP: trust modes are a closed enum, not a capability interface
|
|
34
|
+
* each provider must implement methods for.
|
|
35
|
+
*/
|
|
36
|
+
/**
|
|
37
|
+
* Reserved capability prefixes — first segment of a capability name
|
|
38
|
+
* (`read:pages` → `read`). Plugin-supplied capabilities use plugin-
|
|
39
|
+
* scoped prefixes (e.g., `@my-org/search:rebuild-index`).
|
|
40
|
+
*/
|
|
41
|
+
export const RESERVED_CAPABILITY_PREFIXES = [
|
|
42
|
+
'read',
|
|
43
|
+
'edit',
|
|
44
|
+
'delete',
|
|
45
|
+
'publish',
|
|
46
|
+
'configure',
|
|
47
|
+
'review',
|
|
48
|
+
'restore',
|
|
49
|
+
];
|
|
50
|
+
/**
|
|
51
|
+
* Built-in role aliases — predefined as capability sets. Custom
|
|
52
|
+
* roles in `site.config.ts admin.auth.roles` declare capabilities
|
|
53
|
+
* directly.
|
|
54
|
+
*/
|
|
55
|
+
export const BUILT_IN_ROLES = {
|
|
56
|
+
admin: ['*'],
|
|
57
|
+
editor: ['read:*', 'edit:*', 'publish:non-production'],
|
|
58
|
+
viewer: ['read:*'],
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAqGH;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,WAAW;IACX,QAAQ;IACR,SAAS;CACD,CAAA;AAsCV;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAA+D;IACxF,KAAK,EAAE,CAAC,GAAG,CAAC;IACZ,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,wBAAwB,CAAC;IACtD,MAAM,EAAE,CAAC,QAAQ,CAAC;CACnB,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `CacheError` taxonomy per `design-cache.md` Gap 5.
|
|
3
|
+
*
|
|
4
|
+
* Two leaf classes today; more land as v2 providers ship and
|
|
5
|
+
* surface their own failure modes (e.g., Redis transport errors,
|
|
6
|
+
* Azure Service Bus reconnect failures).
|
|
7
|
+
*
|
|
8
|
+
* # SOLID lenses
|
|
9
|
+
*
|
|
10
|
+
* - SRP: error classes only. No logging, no retry policy.
|
|
11
|
+
* - OCP: new failure classes extend `CacheError`; existing
|
|
12
|
+
* handlers continue to catch the base class.
|
|
13
|
+
* - LSP: every subclass IS a `CacheError`; `instanceof` checks
|
|
14
|
+
* work uniformly.
|
|
15
|
+
*/
|
|
16
|
+
/** Base class for all cache errors. */
|
|
17
|
+
export declare class CacheError extends Error {
|
|
18
|
+
constructor(message: string, options?: {
|
|
19
|
+
cause?: unknown;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Thrown at admin boot when cache config is invalid (missing env
|
|
24
|
+
* var for a remote provider, malformed connection string, unknown
|
|
25
|
+
* provider name). Admin won't start.
|
|
26
|
+
*/
|
|
27
|
+
export declare class CacheConfigurationError extends CacheError {
|
|
28
|
+
constructor(message: string, options?: {
|
|
29
|
+
cause?: unknown;
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Thrown when a stored value can't be deserialized. Rare; consumers
|
|
34
|
+
* typically log + return null rather than propagate.
|
|
35
|
+
*/
|
|
36
|
+
export declare class CacheSchemaError extends CacheError {
|
|
37
|
+
constructor(message: string, options?: {
|
|
38
|
+
cause?: unknown;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/cache/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,uCAAuC;AACvC,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAED;;;;GAIG;AACH,qBAAa,uBAAwB,SAAQ,UAAU;gBACzC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;gBAClC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `CacheError` taxonomy per `design-cache.md` Gap 5.
|
|
3
|
+
*
|
|
4
|
+
* Two leaf classes today; more land as v2 providers ship and
|
|
5
|
+
* surface their own failure modes (e.g., Redis transport errors,
|
|
6
|
+
* Azure Service Bus reconnect failures).
|
|
7
|
+
*
|
|
8
|
+
* # SOLID lenses
|
|
9
|
+
*
|
|
10
|
+
* - SRP: error classes only. No logging, no retry policy.
|
|
11
|
+
* - OCP: new failure classes extend `CacheError`; existing
|
|
12
|
+
* handlers continue to catch the base class.
|
|
13
|
+
* - LSP: every subclass IS a `CacheError`; `instanceof` checks
|
|
14
|
+
* work uniformly.
|
|
15
|
+
*/
|
|
16
|
+
/** Base class for all cache errors. */
|
|
17
|
+
export class CacheError extends Error {
|
|
18
|
+
constructor(message, options) {
|
|
19
|
+
super(message, options);
|
|
20
|
+
this.name = 'CacheError';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Thrown at admin boot when cache config is invalid (missing env
|
|
25
|
+
* var for a remote provider, malformed connection string, unknown
|
|
26
|
+
* provider name). Admin won't start.
|
|
27
|
+
*/
|
|
28
|
+
export class CacheConfigurationError extends CacheError {
|
|
29
|
+
constructor(message, options) {
|
|
30
|
+
super(message, options);
|
|
31
|
+
this.name = 'CacheConfigurationError';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Thrown when a stored value can't be deserialized. Rare; consumers
|
|
36
|
+
* typically log + return null rather than propagate.
|
|
37
|
+
*/
|
|
38
|
+
export class CacheSchemaError extends CacheError {
|
|
39
|
+
constructor(message, options) {
|
|
40
|
+
super(message, options);
|
|
41
|
+
this.name = 'CacheSchemaError';
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/cache/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,uCAAuC;AACvC,MAAM,OAAO,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAA;IAC1B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,uBAAwB,SAAQ,UAAU;IACrD,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAA;IACvC,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,gBAAiB,SAAQ,UAAU;IAC9C,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AdminCache } from './types.js';
|
|
2
|
+
import { type MemoryCacheOptions } from './memory.js';
|
|
3
|
+
/**
|
|
4
|
+
* Operator-facing cache provider factories. Operators import these into
|
|
5
|
+
* `site.config.ts` and call them inline at the `cache:` field; the field's
|
|
6
|
+
* value IS the constructed `AdminCache` instance (Path X — see
|
|
7
|
+
* `design-provider-config.md`).
|
|
8
|
+
*
|
|
9
|
+
* `gazetta.config.ts defaults.cache` is the documented Exception A: it
|
|
10
|
+
* accepts raw options (not a constructed instance) so each inheriting
|
|
11
|
+
* site builds its own per-site instance from the same defaults — required
|
|
12
|
+
* by `design-cache.md` Gap 3 (per-site cache isolation).
|
|
13
|
+
*/
|
|
14
|
+
/** In-process LRU cache. Default 10K entries / 50MB approximate cap. */
|
|
15
|
+
export declare function memoryCache(opts?: MemoryCacheOptions): AdminCache;
|
|
16
|
+
export type { MemoryCacheOptions };
|
|
17
|
+
//# sourceMappingURL=factories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factories.d.ts","sourceRoot":"","sources":["../../src/cache/factories.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAExE;;;;;;;;;;GAUG;AAEH,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,IAAI,GAAE,kBAAuB,GAAG,UAAU,CAErE;AAED,YAAY,EAAE,kBAAkB,EAAE,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createMemoryCache } from './memory.js';
|
|
2
|
+
/**
|
|
3
|
+
* Operator-facing cache provider factories. Operators import these into
|
|
4
|
+
* `site.config.ts` and call them inline at the `cache:` field; the field's
|
|
5
|
+
* value IS the constructed `AdminCache` instance (Path X — see
|
|
6
|
+
* `design-provider-config.md`).
|
|
7
|
+
*
|
|
8
|
+
* `gazetta.config.ts defaults.cache` is the documented Exception A: it
|
|
9
|
+
* accepts raw options (not a constructed instance) so each inheriting
|
|
10
|
+
* site builds its own per-site instance from the same defaults — required
|
|
11
|
+
* by `design-cache.md` Gap 3 (per-site cache isolation).
|
|
12
|
+
*/
|
|
13
|
+
/** In-process LRU cache. Default 10K entries / 50MB approximate cap. */
|
|
14
|
+
export function memoryCache(opts = {}) {
|
|
15
|
+
return createMemoryCache(opts);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=factories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"factories.js","sourceRoot":"","sources":["../../src/cache/factories.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAA2B,MAAM,aAAa,CAAA;AAExE;;;;;;;;;;GAUG;AAEH,wEAAwE;AACxE,MAAM,UAAU,WAAW,CAAC,OAA2B,EAAE;IACvD,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;AAChC,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bump when the shape of cached values changes incompatibly. Old
|
|
3
|
+
* entries with a mismatched prefix are inaccessible and eventually
|
|
4
|
+
* evicted by LRU.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CACHE_SCHEMA_VERSION = 1;
|
|
7
|
+
/**
|
|
8
|
+
* Encode an array of components into a colon-separated cache key.
|
|
9
|
+
*
|
|
10
|
+
* Each component is passed through `encodeRefName`:
|
|
11
|
+
* - `/` becomes `.` (path-style components round-trip)
|
|
12
|
+
* - `.` in input throws (dot is reserved for the slash encoding)
|
|
13
|
+
*
|
|
14
|
+
* Examples:
|
|
15
|
+
* encodeCacheKey(['pages', 'detail', 'home']) → 'pages:detail:home'
|
|
16
|
+
* encodeCacheKey(['pages', 'detail', 'blog/[slug]']) → 'pages:detail:blog.[slug]'
|
|
17
|
+
* encodeCacheKey(['pages', 'has.dot']) throws
|
|
18
|
+
*/
|
|
19
|
+
export declare function encodeCacheKey(parts: readonly string[]): string;
|
|
20
|
+
/**
|
|
21
|
+
* Extract the prefix portion of a key for `invalidatePrefix()`
|
|
22
|
+
* convenience. Returns the first N components joined by `:`.
|
|
23
|
+
*
|
|
24
|
+
* Examples:
|
|
25
|
+
* prefixOf('pages:detail:home', 1) → 'pages:'
|
|
26
|
+
* prefixOf('pages:detail:home', 2) → 'pages:detail:'
|
|
27
|
+
*
|
|
28
|
+
* The trailing colon is included so prefix matches don't accidentally
|
|
29
|
+
* include `pagesx:...` style siblings — `'pages:'` matches `'pages:detail:home'`
|
|
30
|
+
* but not `'pages-archived:home'`.
|
|
31
|
+
*/
|
|
32
|
+
export declare function prefixOf(key: string, components: number): string;
|
|
33
|
+
/**
|
|
34
|
+
* Apply the version + overflow-hash policy to a consumer-encoded key.
|
|
35
|
+
* Provider-internal — consumers don't see the result; they pass clean
|
|
36
|
+
* keys to `cache.get/set/invalidate`, and the provider wraps before
|
|
37
|
+
* storing or looking up.
|
|
38
|
+
*
|
|
39
|
+
* Two transforms:
|
|
40
|
+
* 1. Prepend `{CACHE_SCHEMA_VERSION}:` so a schema bump invalidates
|
|
41
|
+
* every entry across the process atomically.
|
|
42
|
+
* 2. If the wrapped key exceeds `MAX_KEY_LENGTH`, keep everything up
|
|
43
|
+
* to the last `:` boundary that fits in `MAX_KEY_LENGTH - 9`
|
|
44
|
+
* chars, then append `:{8-char-sha256}`. Prefix-invalidation
|
|
45
|
+
* still works on the kept prefix; only the tail is opaque.
|
|
46
|
+
*
|
|
47
|
+
* Examples:
|
|
48
|
+
* applyKeyPolicy('pages:detail:home') → '1:pages:detail:home'
|
|
49
|
+
* applyKeyPolicy(very-long-key) →
|
|
50
|
+
* '1:pages:detail:long-prefix-portion:{hash8}'
|
|
51
|
+
*/
|
|
52
|
+
export declare function applyKeyPolicy(consumerKey: string): string;
|
|
53
|
+
/**
|
|
54
|
+
* Apply the version prefix to a `invalidatePrefix()` argument.
|
|
55
|
+
* Provider-internal. Distinct from `applyKeyPolicy` because prefixes
|
|
56
|
+
* are not capped or hashed — `invalidatePrefix('pages:')` should
|
|
57
|
+
* match every stored `'1:pages:...'` key, not just keys that happen
|
|
58
|
+
* to fit under `MAX_KEY_LENGTH`. The cap-and-hash policy on `set/get`
|
|
59
|
+
* keeps long keys lookupable; prefix invalidation operates on the
|
|
60
|
+
* first chars, which the policy preserves verbatim up to the cap.
|
|
61
|
+
*/
|
|
62
|
+
export declare function applyPrefixPolicy(consumerPrefix: string): string;
|
|
63
|
+
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/cache/keys.ts"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,IAAI,CAAA;AAYrC;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAK/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAShE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA0B1D;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAEhE"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache key encoding per `design-cache.md` Q1 + Gap 2.
|
|
3
|
+
*
|
|
4
|
+
* Two layers:
|
|
5
|
+
* 1. Consumer-facing encoder (`encodeCacheKey`): colon-separated
|
|
6
|
+
* `{domain}:{op}:{id?}:{dim1}:{dim2}...` with components passed
|
|
7
|
+
* through `encodeRefName` (slashes → dots; dots in input throw).
|
|
8
|
+
* Same encoding as sidecar filenames; page names like
|
|
9
|
+
* `blog/[slug]` round-trip across both surfaces.
|
|
10
|
+
* 2. Provider-internal policy (`applyKeyPolicy`): prepends the
|
|
11
|
+
* cache schema version and caps total length at 255 chars,
|
|
12
|
+
* replacing the overflow tail with an 8-char sha256 hash so
|
|
13
|
+
* prefix-invalidation still works when the prefix is below the
|
|
14
|
+
* cap. Consumers never see the policy-wrapped form.
|
|
15
|
+
*
|
|
16
|
+
* # SOLID lenses
|
|
17
|
+
*
|
|
18
|
+
* - SRP: encoder owns "consumer key shape"; policy owns "what the
|
|
19
|
+
* provider stores." Two concerns, two functions.
|
|
20
|
+
* - DIP: consumers call `encodeCacheKey(parts)`; providers call
|
|
21
|
+
* `applyKeyPolicy(key)` internally before storing/looking up.
|
|
22
|
+
* Neither leaks the version-prefix mechanism to callers.
|
|
23
|
+
*
|
|
24
|
+
* # Schema versioning
|
|
25
|
+
*
|
|
26
|
+
* `CACHE_SCHEMA_VERSION` is bumped manually when the on-the-wire
|
|
27
|
+
* shape of cached values changes in a way that makes old entries
|
|
28
|
+
* unreadable (e.g., a field removed from a summary type). NOT tied
|
|
29
|
+
* to the package version — patch releases can ship cache-shape
|
|
30
|
+
* changes; minor releases can be cache-compatible. Manual bumping
|
|
31
|
+
* keeps the trigger explicit.
|
|
32
|
+
*/
|
|
33
|
+
import { createHash } from 'node:crypto';
|
|
34
|
+
import { encodeRefName } from '../hash.js';
|
|
35
|
+
/**
|
|
36
|
+
* Bump when the shape of cached values changes incompatibly. Old
|
|
37
|
+
* entries with a mismatched prefix are inaccessible and eventually
|
|
38
|
+
* evicted by LRU.
|
|
39
|
+
*/
|
|
40
|
+
export const CACHE_SCHEMA_VERSION = 1;
|
|
41
|
+
/**
|
|
42
|
+
* Maximum stored key length. 255 matches filesystem-provider key-as-
|
|
43
|
+
* filename ergonomics for future `FileCache` providers; safely under
|
|
44
|
+
* Redis's 512MB cap and Azure's 250-char path limits.
|
|
45
|
+
*/
|
|
46
|
+
const MAX_KEY_LENGTH = 255;
|
|
47
|
+
/** sha256 hex prefix length used for overflow hashing. */
|
|
48
|
+
const OVERFLOW_HASH_LENGTH = 8;
|
|
49
|
+
/**
|
|
50
|
+
* Encode an array of components into a colon-separated cache key.
|
|
51
|
+
*
|
|
52
|
+
* Each component is passed through `encodeRefName`:
|
|
53
|
+
* - `/` becomes `.` (path-style components round-trip)
|
|
54
|
+
* - `.` in input throws (dot is reserved for the slash encoding)
|
|
55
|
+
*
|
|
56
|
+
* Examples:
|
|
57
|
+
* encodeCacheKey(['pages', 'detail', 'home']) → 'pages:detail:home'
|
|
58
|
+
* encodeCacheKey(['pages', 'detail', 'blog/[slug]']) → 'pages:detail:blog.[slug]'
|
|
59
|
+
* encodeCacheKey(['pages', 'has.dot']) throws
|
|
60
|
+
*/
|
|
61
|
+
export function encodeCacheKey(parts) {
|
|
62
|
+
if (parts.length === 0) {
|
|
63
|
+
throw new Error('encodeCacheKey requires at least one component');
|
|
64
|
+
}
|
|
65
|
+
return parts.map(encodeRefName).join(':');
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Extract the prefix portion of a key for `invalidatePrefix()`
|
|
69
|
+
* convenience. Returns the first N components joined by `:`.
|
|
70
|
+
*
|
|
71
|
+
* Examples:
|
|
72
|
+
* prefixOf('pages:detail:home', 1) → 'pages:'
|
|
73
|
+
* prefixOf('pages:detail:home', 2) → 'pages:detail:'
|
|
74
|
+
*
|
|
75
|
+
* The trailing colon is included so prefix matches don't accidentally
|
|
76
|
+
* include `pagesx:...` style siblings — `'pages:'` matches `'pages:detail:home'`
|
|
77
|
+
* but not `'pages-archived:home'`.
|
|
78
|
+
*/
|
|
79
|
+
export function prefixOf(key, components) {
|
|
80
|
+
if (components <= 0) {
|
|
81
|
+
throw new Error('prefixOf requires components >= 1');
|
|
82
|
+
}
|
|
83
|
+
const parts = key.split(':');
|
|
84
|
+
if (components >= parts.length) {
|
|
85
|
+
return `${key}:`;
|
|
86
|
+
}
|
|
87
|
+
return `${parts.slice(0, components).join(':')}:`;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Apply the version + overflow-hash policy to a consumer-encoded key.
|
|
91
|
+
* Provider-internal — consumers don't see the result; they pass clean
|
|
92
|
+
* keys to `cache.get/set/invalidate`, and the provider wraps before
|
|
93
|
+
* storing or looking up.
|
|
94
|
+
*
|
|
95
|
+
* Two transforms:
|
|
96
|
+
* 1. Prepend `{CACHE_SCHEMA_VERSION}:` so a schema bump invalidates
|
|
97
|
+
* every entry across the process atomically.
|
|
98
|
+
* 2. If the wrapped key exceeds `MAX_KEY_LENGTH`, keep everything up
|
|
99
|
+
* to the last `:` boundary that fits in `MAX_KEY_LENGTH - 9`
|
|
100
|
+
* chars, then append `:{8-char-sha256}`. Prefix-invalidation
|
|
101
|
+
* still works on the kept prefix; only the tail is opaque.
|
|
102
|
+
*
|
|
103
|
+
* Examples:
|
|
104
|
+
* applyKeyPolicy('pages:detail:home') → '1:pages:detail:home'
|
|
105
|
+
* applyKeyPolicy(very-long-key) →
|
|
106
|
+
* '1:pages:detail:long-prefix-portion:{hash8}'
|
|
107
|
+
*/
|
|
108
|
+
export function applyKeyPolicy(consumerKey) {
|
|
109
|
+
const versioned = `${CACHE_SCHEMA_VERSION}:${consumerKey}`;
|
|
110
|
+
if (versioned.length <= MAX_KEY_LENGTH)
|
|
111
|
+
return versioned;
|
|
112
|
+
// Need to overflow. Reserve OVERFLOW_HASH_LENGTH + 1 (for the
|
|
113
|
+
// ':' separator) at the tail; cut the prefix at the last ':' that
|
|
114
|
+
// fits in the remaining budget.
|
|
115
|
+
const reserve = OVERFLOW_HASH_LENGTH + 1;
|
|
116
|
+
const budget = MAX_KEY_LENGTH - reserve;
|
|
117
|
+
// Find the last ':' at or before `budget` so prefix matches still
|
|
118
|
+
// align with consumer-visible component boundaries.
|
|
119
|
+
let cut = versioned.lastIndexOf(':', budget);
|
|
120
|
+
// Always at least the version prefix is present (`1:`); cut > 0
|
|
121
|
+
// here because versioned.length > MAX_KEY_LENGTH > budget > 1.
|
|
122
|
+
if (cut <= 0) {
|
|
123
|
+
// Pathological: no ':' in budget. Hard-cut at budget. Prefix
|
|
124
|
+
// invalidation degrades to "first N chars" rather than aligning
|
|
125
|
+
// to component boundaries, but keys this dense are unusual.
|
|
126
|
+
cut = budget;
|
|
127
|
+
}
|
|
128
|
+
const kept = versioned.slice(0, cut);
|
|
129
|
+
const tail = versioned.slice(cut);
|
|
130
|
+
const hash = createHash('sha256').update(tail).digest('hex').slice(0, OVERFLOW_HASH_LENGTH);
|
|
131
|
+
return `${kept}:${hash}`;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Apply the version prefix to a `invalidatePrefix()` argument.
|
|
135
|
+
* Provider-internal. Distinct from `applyKeyPolicy` because prefixes
|
|
136
|
+
* are not capped or hashed — `invalidatePrefix('pages:')` should
|
|
137
|
+
* match every stored `'1:pages:...'` key, not just keys that happen
|
|
138
|
+
* to fit under `MAX_KEY_LENGTH`. The cap-and-hash policy on `set/get`
|
|
139
|
+
* keeps long keys lookupable; prefix invalidation operates on the
|
|
140
|
+
* first chars, which the policy preserves verbatim up to the cap.
|
|
141
|
+
*/
|
|
142
|
+
export function applyPrefixPolicy(consumerPrefix) {
|
|
143
|
+
return `${CACHE_SCHEMA_VERSION}:${consumerPrefix}`;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/cache/keys.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAA;AAErC;;;;GAIG;AACH,MAAM,cAAc,GAAG,GAAG,CAAA;AAE1B,0DAA0D;AAC1D,MAAM,oBAAoB,GAAG,CAAC,CAAA;AAE9B;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,KAAwB;IACrD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,UAAkB;IACtD,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC5B,IAAI,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,GAAG,GAAG,GAAG,CAAA;IAClB,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAA;AACnD,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,cAAc,CAAC,WAAmB;IAChD,MAAM,SAAS,GAAG,GAAG,oBAAoB,IAAI,WAAW,EAAE,CAAA;IAC1D,IAAI,SAAS,CAAC,MAAM,IAAI,cAAc;QAAE,OAAO,SAAS,CAAA;IAExD,8DAA8D;IAC9D,kEAAkE;IAClE,gCAAgC;IAChC,MAAM,OAAO,GAAG,oBAAoB,GAAG,CAAC,CAAA;IACxC,MAAM,MAAM,GAAG,cAAc,GAAG,OAAO,CAAA;IAEvC,kEAAkE;IAClE,oDAAoD;IACpD,IAAI,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IAC5C,gEAAgE;IAChE,+DAA+D;IAC/D,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACb,6DAA6D;QAC7D,gEAAgE;QAChE,4DAA4D;QAC5D,GAAG,GAAG,MAAM,CAAA;IACd,CAAC;IAED,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACjC,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAA;IAC3F,OAAO,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;AAC1B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,cAAsB;IACtD,OAAO,GAAG,oBAAoB,IAAI,cAAc,EAAE,CAAA;AACpD,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { AdminCache } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Options for constructing an in-process `MemoryCache`. All fields
|
|
4
|
+
* optional; defaults are 10,000 entries and 50 MB approximate.
|
|
5
|
+
*
|
|
6
|
+
* Lives on the factory signature (rather than as a separate `*Config`
|
|
7
|
+
* interface in `types.ts`) per Phase 3 of the Path X migration — the
|
|
8
|
+
* options type is provider-specific construction config, not a
|
|
9
|
+
* runtime-manifest field.
|
|
10
|
+
*/
|
|
11
|
+
export interface MemoryCacheOptions {
|
|
12
|
+
/** Max entry count before LRU eviction kicks in. Default 10,000. */
|
|
13
|
+
maxEntries?: number;
|
|
14
|
+
/** Approximate max bytes before LRU eviction kicks in. Default 50 MB. */
|
|
15
|
+
maxBytes?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Stable identifier emitted on `InvalidationEvent.source.instance`.
|
|
18
|
+
* When omitted, resolved from the environment (per
|
|
19
|
+
* `design-logging.md`):
|
|
20
|
+
*
|
|
21
|
+
* 1. `process.env.K_REVISION` — Cloud Run revision name. Per-
|
|
22
|
+
* revision, NOT per-instance: pods scaled from the same
|
|
23
|
+
* revision share this ID. Useful for revision-level log
|
|
24
|
+
* filtering; for per-pod identity on Cloud Run, override
|
|
25
|
+
* explicitly via this field from the metadata server.
|
|
26
|
+
* 2. `os.hostname()` — pod name on K8s (default config), machine
|
|
27
|
+
* hostname elsewhere. Reliable across container runtimes
|
|
28
|
+
* regardless of whether `process.env.HOSTNAME` is populated.
|
|
29
|
+
* 3. Random 8-char hex — only reached when hostname returns an
|
|
30
|
+
* empty string (rare on real systems).
|
|
31
|
+
*
|
|
32
|
+
* Plugin authors writing shared-backing providers (Redis, Azure)
|
|
33
|
+
* should accept the same option and use the same resolution chain
|
|
34
|
+
* so log correlation across providers works uniformly.
|
|
35
|
+
*/
|
|
36
|
+
instance?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Resolve the instance ID from the environment when the operator
|
|
40
|
+
* doesn't supply one. Exported for tests; callers should pass through
|
|
41
|
+
* `MemoryCacheOptions.instance`.
|
|
42
|
+
*/
|
|
43
|
+
export declare function resolveInstanceId(override?: string): string;
|
|
44
|
+
/**
|
|
45
|
+
* Build a `MemoryCache` instance. Internal factory — kept public for
|
|
46
|
+
* tests and advanced wiring. Operators use the operator-facing
|
|
47
|
+
* `memoryCache()` factory exported from `gazetta` (Path X), which
|
|
48
|
+
* delegates here.
|
|
49
|
+
*/
|
|
50
|
+
export declare function createMemoryCache(config?: MemoryCacheOptions): AdminCache;
|
|
51
|
+
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/cache/memory.ts"],"names":[],"mappings":"AAyCA,OAAO,KAAK,EAAE,UAAU,EAAiC,MAAM,YAAY,CAAA;AAE3E;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAO3D;AAaD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,kBAAuB,GAAG,UAAU,CA6I7E"}
|