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,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component IDs — stable identifiers for InlineComponent entries
|
|
3
|
+
* within page and fragment manifests.
|
|
4
|
+
*
|
|
5
|
+
* # Why this exists
|
|
6
|
+
*
|
|
7
|
+
* Inline anchors (per `design-collaboration.md`) need a stable
|
|
8
|
+
* reference to a specific component within a page/fragment that
|
|
9
|
+
* survives reorders, edits, and template switches. The component's
|
|
10
|
+
* `name` field is author-meaningful and not unique site-wide; the
|
|
11
|
+
* tree path is unstable across reorders. A dedicated `id` field is
|
|
12
|
+
* the load-bearing primitive for:
|
|
13
|
+
*
|
|
14
|
+
* - Inline comments anchored to a component
|
|
15
|
+
* - Per-field overlays in i18n (when #192 lands; per-component
|
|
16
|
+
* overrides need a stable component reference)
|
|
17
|
+
* - Future use cases that need "this exact component, not a
|
|
18
|
+
* name-collision-prone or order-dependent reference"
|
|
19
|
+
*
|
|
20
|
+
* # When IDs are assigned
|
|
21
|
+
*
|
|
22
|
+
* On save: every InlineComponent without an `id` gets one. Existing
|
|
23
|
+
* IDs are preserved across saves. Fragment-reference strings
|
|
24
|
+
* (`"@header"`) don't get IDs — they reference a separate manifest
|
|
25
|
+
* with its own components.
|
|
26
|
+
*
|
|
27
|
+
* # Why NanoID over UUID
|
|
28
|
+
*
|
|
29
|
+
* NanoID is 21 chars vs UUID's 36; both have collision-resistance
|
|
30
|
+
* well past the operating envelope (5000 pages × 50 components =
|
|
31
|
+
* 250K IDs; NanoID's 21-char alphabet of 64 symbols gives ~10^36
|
|
32
|
+
* keyspace — birthday-bound nowhere near our scale). Component IDs
|
|
33
|
+
* appear in audit metadata, comment payloads, and (future) persisted
|
|
34
|
+
* edits — shorter is friendlier to humans skimming logs.
|
|
35
|
+
*
|
|
36
|
+
* # SOLID lenses
|
|
37
|
+
*
|
|
38
|
+
* - SRP: this module owns ID generation + recursive injection
|
|
39
|
+
* into a manifest's components tree. Doesn't read or write
|
|
40
|
+
* storage; pure transformations.
|
|
41
|
+
* - DIP: the ID generator is injectable so tests can pass a
|
|
42
|
+
* deterministic stub. Production uses NanoID.
|
|
43
|
+
*/
|
|
44
|
+
import { nanoid } from 'nanoid';
|
|
45
|
+
/** Default generator — 21-char NanoID. */
|
|
46
|
+
export const defaultComponentIdGenerator = () => nanoid();
|
|
47
|
+
/**
|
|
48
|
+
* Walk a `components` array and inject IDs on any InlineComponent
|
|
49
|
+
* that lacks one. Existing IDs are preserved; fragment-reference
|
|
50
|
+
* strings pass through unchanged.
|
|
51
|
+
*
|
|
52
|
+
* Returns a new array (functional, never mutates input). Components
|
|
53
|
+
* with nested `components` recurse; the same generator instance is
|
|
54
|
+
* threaded so deterministic stubs in tests produce predictable trees.
|
|
55
|
+
*/
|
|
56
|
+
export function ensureComponentIds(components, generate = defaultComponentIdGenerator) {
|
|
57
|
+
if (!components)
|
|
58
|
+
return [];
|
|
59
|
+
return components.map(entry => ensureEntry(entry, generate));
|
|
60
|
+
}
|
|
61
|
+
function ensureEntry(entry, generate) {
|
|
62
|
+
// Fragment refs pass through — they point at a separate manifest
|
|
63
|
+
// whose components carry their own IDs.
|
|
64
|
+
if (typeof entry === 'string')
|
|
65
|
+
return entry;
|
|
66
|
+
return ensureInline(entry, generate);
|
|
67
|
+
}
|
|
68
|
+
function ensureInline(component, generate) {
|
|
69
|
+
const nextChildren = component.components ? component.components.map(c => ensureEntry(c, generate)) : undefined;
|
|
70
|
+
const id = component.id ?? generate();
|
|
71
|
+
// Only build a new object when something would actually change —
|
|
72
|
+
// either a missing id, or recursion changed a nested entry. Keeps
|
|
73
|
+
// identity-equality stable for callers that compare by reference.
|
|
74
|
+
const idChanged = component.id === undefined;
|
|
75
|
+
const childrenChanged = nextChildren !== component.components;
|
|
76
|
+
if (!idChanged && !childrenChanged)
|
|
77
|
+
return component;
|
|
78
|
+
const next = { ...component, id };
|
|
79
|
+
if (nextChildren !== undefined)
|
|
80
|
+
next.components = nextChildren;
|
|
81
|
+
return next;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=component-ids.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-ids.js","sourceRoot":"","sources":["../src/component-ids.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAgB/B,0CAA0C;AAC1C,MAAM,CAAC,MAAM,2BAA2B,GAAyB,GAAG,EAAE,CAAC,MAAM,EAAE,CAAA;AAE/E;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAChC,UAAiD,EACjD,WAAiC,2BAA2B;IAE5D,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAA;IAC1B,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED,SAAS,WAAW,CAAC,KAAqB,EAAE,QAA8B;IACxE,iEAAiE;IACjE,wCAAwC;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,OAAO,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;AACtC,CAAC;AAED,SAAS,YAAY,CAAC,SAA0B,EAAE,QAA8B;IAC9E,MAAM,YAAY,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC/G,MAAM,EAAE,GAAG,SAAS,CAAC,EAAE,IAAI,QAAQ,EAAE,CAAA;IACrC,iEAAiE;IACjE,kEAAkE;IAClE,kEAAkE;IAClE,MAAM,SAAS,GAAG,SAAS,CAAC,EAAE,KAAK,SAAS,CAAA;IAC5C,MAAM,eAAe,GAAG,YAAY,KAAK,SAAS,CAAC,UAAU,CAAA;IAC7D,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe;QAAE,OAAO,SAAS,CAAA;IACpD,MAAM,IAAI,GAAoB,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,CAAA;IAClD,IAAI,YAAY,KAAK,SAAS;QAAE,IAAI,CAAC,UAAU,GAAG,YAAY,CAAA;IAC9D,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed identity functions for site.config.ts and gazetta.config.ts.
|
|
3
|
+
*
|
|
4
|
+
* Per ADR-0005 + design-config.md: returns the input unchanged but
|
|
5
|
+
* provides TS inference for IDE autocomplete via generic constraint.
|
|
6
|
+
*
|
|
7
|
+
* The `<const T>` modifier (TS 5.0+) preserves literal types so
|
|
8
|
+
* fields like `environment: 'production'` infer as the literal
|
|
9
|
+
* `'production'`, not widened to `string`. Without it, downstream
|
|
10
|
+
* type narrowing (e.g., `if (target.environment === 'production')`)
|
|
11
|
+
* would fail to discriminate.
|
|
12
|
+
*
|
|
13
|
+
* Pattern matches Sanity / Astro / Vite / Vitest's `defineConfig` —
|
|
14
|
+
* familiar to operators coming from adjacent tooling.
|
|
15
|
+
*
|
|
16
|
+
* Constraint widened from the Zod-inferred user-input shape
|
|
17
|
+
* (`SiteConfig`/`GazettaConfig`, formerly public) to the runtime
|
|
18
|
+
* manifest shape (`SiteManifest`/`GazettaManifest`) per the Path X
|
|
19
|
+
* migration. The user-input vs. runtime distinction collapsed when
|
|
20
|
+
* provider fields became factory-call instances at config-eval time
|
|
21
|
+
* — there's no longer a separate "loose" input shape worth aliasing.
|
|
22
|
+
*
|
|
23
|
+
* Runtime Zod validation runs separately in the loader; identity
|
|
24
|
+
* functions here are zero-cost at runtime.
|
|
25
|
+
*/
|
|
26
|
+
import type { GazettaManifest, SiteManifest } from '../types.js';
|
|
27
|
+
/**
|
|
28
|
+
* Define a site's configuration. Returns the input unchanged.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* import { defineSite, filesystemStorage, anthropicProvider } from 'gazetta'
|
|
33
|
+
*
|
|
34
|
+
* export default defineSite({
|
|
35
|
+
* name: 'main',
|
|
36
|
+
* locales: { default: 'en', supported: ['en', 'fr'] },
|
|
37
|
+
* ai: { provider: anthropicProvider({ apiKey: process.env.ANTHROPIC_API_KEY! }) },
|
|
38
|
+
* targets: {
|
|
39
|
+
* local: { storage: filesystemStorage() },
|
|
40
|
+
* },
|
|
41
|
+
* })
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
export declare function defineSite<const T extends SiteManifest>(config: T): T;
|
|
45
|
+
/**
|
|
46
|
+
* Define project-level Gazetta configuration. Returns the input unchanged.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* import { defineGazetta, memoryCache } from 'gazetta'
|
|
51
|
+
*
|
|
52
|
+
* export default defineGazetta({
|
|
53
|
+
* logLevel: 'info',
|
|
54
|
+
* defaults: {
|
|
55
|
+
* cache: memoryCache({ maxEntries: 5000 }),
|
|
56
|
+
* },
|
|
57
|
+
* })
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function defineGazetta<const T extends GazettaManifest>(config: T): T;
|
|
61
|
+
//# sourceMappingURL=define.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/config/define.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEhE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAErE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,eAAe,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAE3E"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed identity functions for site.config.ts and gazetta.config.ts.
|
|
3
|
+
*
|
|
4
|
+
* Per ADR-0005 + design-config.md: returns the input unchanged but
|
|
5
|
+
* provides TS inference for IDE autocomplete via generic constraint.
|
|
6
|
+
*
|
|
7
|
+
* The `<const T>` modifier (TS 5.0+) preserves literal types so
|
|
8
|
+
* fields like `environment: 'production'` infer as the literal
|
|
9
|
+
* `'production'`, not widened to `string`. Without it, downstream
|
|
10
|
+
* type narrowing (e.g., `if (target.environment === 'production')`)
|
|
11
|
+
* would fail to discriminate.
|
|
12
|
+
*
|
|
13
|
+
* Pattern matches Sanity / Astro / Vite / Vitest's `defineConfig` —
|
|
14
|
+
* familiar to operators coming from adjacent tooling.
|
|
15
|
+
*
|
|
16
|
+
* Constraint widened from the Zod-inferred user-input shape
|
|
17
|
+
* (`SiteConfig`/`GazettaConfig`, formerly public) to the runtime
|
|
18
|
+
* manifest shape (`SiteManifest`/`GazettaManifest`) per the Path X
|
|
19
|
+
* migration. The user-input vs. runtime distinction collapsed when
|
|
20
|
+
* provider fields became factory-call instances at config-eval time
|
|
21
|
+
* — there's no longer a separate "loose" input shape worth aliasing.
|
|
22
|
+
*
|
|
23
|
+
* Runtime Zod validation runs separately in the loader; identity
|
|
24
|
+
* functions here are zero-cost at runtime.
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Define a site's configuration. Returns the input unchanged.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { defineSite, filesystemStorage, anthropicProvider } from 'gazetta'
|
|
32
|
+
*
|
|
33
|
+
* export default defineSite({
|
|
34
|
+
* name: 'main',
|
|
35
|
+
* locales: { default: 'en', supported: ['en', 'fr'] },
|
|
36
|
+
* ai: { provider: anthropicProvider({ apiKey: process.env.ANTHROPIC_API_KEY! }) },
|
|
37
|
+
* targets: {
|
|
38
|
+
* local: { storage: filesystemStorage() },
|
|
39
|
+
* },
|
|
40
|
+
* })
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export function defineSite(config) {
|
|
44
|
+
return config;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Define project-level Gazetta configuration. Returns the input unchanged.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* import { defineGazetta, memoryCache } from 'gazetta'
|
|
52
|
+
*
|
|
53
|
+
* export default defineGazetta({
|
|
54
|
+
* logLevel: 'info',
|
|
55
|
+
* defaults: {
|
|
56
|
+
* cache: memoryCache({ maxEntries: 5000 }),
|
|
57
|
+
* },
|
|
58
|
+
* })
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export function defineGazetta(config) {
|
|
62
|
+
return config;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=define.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/config/define.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,UAAU,CAA+B,MAAS;IAChE,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAAkC,MAAS;IACtE,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config-loading error types.
|
|
3
|
+
*
|
|
4
|
+
* Per design-config.md and Universal Provider Requirements:
|
|
5
|
+
* - Configuration errors throw at admin boot (admin won't start)
|
|
6
|
+
* - Errors carry the file path so operators can locate the issue
|
|
7
|
+
*/
|
|
8
|
+
/** Base class for all config-loading errors. */
|
|
9
|
+
export declare class ConfigError extends Error {
|
|
10
|
+
constructor(message: string, options?: {
|
|
11
|
+
cause?: unknown;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
/** Schema validation failed — config doesn't match the expected shape. */
|
|
15
|
+
export declare class ConfigValidationError extends ConfigError {
|
|
16
|
+
readonly filePath: string;
|
|
17
|
+
constructor(message: string, filePath: string, options?: {
|
|
18
|
+
cause?: unknown;
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
/** Config file couldn't be parsed (syntax error, evaluation throws). */
|
|
22
|
+
export declare class ConfigEvaluationError extends ConfigError {
|
|
23
|
+
readonly filePath: string;
|
|
24
|
+
constructor(message: string, filePath: string, options?: {
|
|
25
|
+
cause?: unknown;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/** Layout conflict — both flat (root site.config.ts) and sites/ dir present. */
|
|
29
|
+
export declare class ConfigLayoutError extends ConfigError {
|
|
30
|
+
constructor(message: string);
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/config/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,gDAAgD;AAChD,qBAAa,WAAY,SAAQ,KAAK;gBACxB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAI3D;AAED,0EAA0E;AAC1E,qBAAa,qBAAsB,SAAQ,WAAW;aAGlC,QAAQ,EAAE,MAAM;gBADhC,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKhC;AAED,wEAAwE;AACxE,qBAAa,qBAAsB,SAAQ,WAAW;aAGlC,QAAQ,EAAE,MAAM;gBADhC,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAKhC;AAED,gFAAgF;AAChF,qBAAa,iBAAkB,SAAQ,WAAW;gBACpC,OAAO,EAAE,MAAM;CAI5B"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Config-loading error types.
|
|
3
|
+
*
|
|
4
|
+
* Per design-config.md and Universal Provider Requirements:
|
|
5
|
+
* - Configuration errors throw at admin boot (admin won't start)
|
|
6
|
+
* - Errors carry the file path so operators can locate the issue
|
|
7
|
+
*/
|
|
8
|
+
/** Base class for all config-loading errors. */
|
|
9
|
+
export class ConfigError extends Error {
|
|
10
|
+
constructor(message, options) {
|
|
11
|
+
super(message, options);
|
|
12
|
+
this.name = 'ConfigError';
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
/** Schema validation failed — config doesn't match the expected shape. */
|
|
16
|
+
export class ConfigValidationError extends ConfigError {
|
|
17
|
+
filePath;
|
|
18
|
+
constructor(message, filePath, options) {
|
|
19
|
+
super(`${message} (in ${filePath})`, options);
|
|
20
|
+
this.filePath = filePath;
|
|
21
|
+
this.name = 'ConfigValidationError';
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/** Config file couldn't be parsed (syntax error, evaluation throws). */
|
|
25
|
+
export class ConfigEvaluationError extends ConfigError {
|
|
26
|
+
filePath;
|
|
27
|
+
constructor(message, filePath, options) {
|
|
28
|
+
super(`${message} (in ${filePath})`, options);
|
|
29
|
+
this.filePath = filePath;
|
|
30
|
+
this.name = 'ConfigEvaluationError';
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** Layout conflict — both flat (root site.config.ts) and sites/ dir present. */
|
|
34
|
+
export class ConfigLayoutError extends ConfigError {
|
|
35
|
+
constructor(message) {
|
|
36
|
+
super(message);
|
|
37
|
+
this.name = 'ConfigLayoutError';
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/config/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,gDAAgD;AAChD,MAAM,OAAO,WAAY,SAAQ,KAAK;IACpC,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;IAC3B,CAAC;CACF;AAED,0EAA0E;AAC1E,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IAGlC;IAFlB,YACE,OAAe,EACC,QAAgB,EAChC,OAA6B;QAE7B,KAAK,CAAC,GAAG,OAAO,QAAQ,QAAQ,GAAG,EAAE,OAAO,CAAC,CAAA;QAH7B,aAAQ,GAAR,QAAQ,CAAQ;QAIhC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,wEAAwE;AACxE,MAAM,OAAO,qBAAsB,SAAQ,WAAW;IAGlC;IAFlB,YACE,OAAe,EACC,QAAgB,EAChC,OAA6B;QAE7B,KAAK,CAAC,GAAG,OAAO,QAAQ,QAAQ,GAAG,EAAE,OAAO,CAAC,CAAA;QAH7B,aAAQ,GAAR,QAAQ,CAAQ;QAIhC,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAED,gFAAgF;AAChF,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Site config + Gazetta config public exports.
|
|
3
|
+
*
|
|
4
|
+
* Per ADR-0005 and design-config.md: TS config (`gazetta.config.ts` +
|
|
5
|
+
* `site.config.ts`) replaces YAML; identity functions provide IDE
|
|
6
|
+
* inference; runtime Zod validation runs at load.
|
|
7
|
+
*/
|
|
8
|
+
export { defineSite, defineGazetta } from './define.js';
|
|
9
|
+
export { SiteConfigSchema, GazettaConfigSchema } from './schemas.js';
|
|
10
|
+
export { ConfigError, ConfigValidationError, ConfigEvaluationError, ConfigLayoutError, } from './errors.js';
|
|
11
|
+
export { loadGazettaConfig, loadSiteConfig, discoverSites, loadProjectConfig, siteConfigToManifest, gazettaConfigToManifest, } from './loader.js';
|
|
12
|
+
export type { DiscoveredSite, LoadedProjectConfig } from './loader.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AASvD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,aAAa,CAAA;AACpB,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Site config + Gazetta config public exports.
|
|
3
|
+
*
|
|
4
|
+
* Per ADR-0005 and design-config.md: TS config (`gazetta.config.ts` +
|
|
5
|
+
* `site.config.ts`) replaces YAML; identity functions provide IDE
|
|
6
|
+
* inference; runtime Zod validation runs at load.
|
|
7
|
+
*/
|
|
8
|
+
export { defineSite, defineGazetta } from './define.js';
|
|
9
|
+
// `SiteConfig` / `GazettaConfig` (z.infer-derived input shapes) are no
|
|
10
|
+
// longer publicly exported. Per Path X, the user-input shape and the
|
|
11
|
+
// runtime manifest shape converged when provider fields became factory
|
|
12
|
+
// instances — there's no separate "loose" input type worth aliasing.
|
|
13
|
+
// Operators get types via `defineSite` / `defineGazetta` inference from
|
|
14
|
+
// `SiteManifest` / `GazettaManifest` (runtime shapes from `gazetta`).
|
|
15
|
+
// Internal callers in `packages/gazetta/src/config/` import `SiteConfig`
|
|
16
|
+
// / `GazettaConfig` from `./types.js` directly.
|
|
17
|
+
export { SiteConfigSchema, GazettaConfigSchema } from './schemas.js';
|
|
18
|
+
export { ConfigError, ConfigValidationError, ConfigEvaluationError, ConfigLayoutError, } from './errors.js';
|
|
19
|
+
export { loadGazettaConfig, loadSiteConfig, discoverSites, loadProjectConfig, siteConfigToManifest, gazettaConfigToManifest, } from './loader.js';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACvD,uEAAuE;AACvE,qEAAqE;AACrE,uEAAuE;AACvE,qEAAqE;AACrE,wEAAwE;AACxE,sEAAsE;AACtE,yEAAyE;AACzE,gDAAgD;AAChD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACpE,OAAO,EACL,WAAW,EACX,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Site config + Gazetta config loader.
|
|
3
|
+
*
|
|
4
|
+
* Per design-config.md, design-config-implementation.md Cut 2, and
|
|
5
|
+
* locked Q1-Q4:
|
|
6
|
+
*
|
|
7
|
+
* - jiti for TS evaluation (reuses template-loader's pattern)
|
|
8
|
+
* - dotenv loaded BEFORE config eval (Q4 lock; project-root only;
|
|
9
|
+
* CI-skip preserved)
|
|
10
|
+
* - Discovery rules per Q2 lock:
|
|
11
|
+
* - Both root site.config.ts AND sites/ dir present → ConfigLayoutError
|
|
12
|
+
* - sites/ dir exists → walk subdirectories with site.config.ts;
|
|
13
|
+
* skip + warn for any subdir without it
|
|
14
|
+
* - Otherwise → flat layout: site.config.ts at project root
|
|
15
|
+
* - gazetta.config.ts at project root is optional; absent = built-in defaults
|
|
16
|
+
* - Zod validation on every load (defense in depth alongside TS types)
|
|
17
|
+
* - Defaults flow per design-config.md: object-fields inherit from
|
|
18
|
+
* gazetta.defaults; arrays (plugins, hooks) are explicit per site
|
|
19
|
+
*/
|
|
20
|
+
import type { GazettaConfig, SiteConfig } from './types.js';
|
|
21
|
+
/** A discovered site within a project. */
|
|
22
|
+
export interface DiscoveredSite {
|
|
23
|
+
/** Site name — directory name for sites/ layout, config.name for flat layout. */
|
|
24
|
+
name: string;
|
|
25
|
+
/** Absolute path to the site directory containing pages/, fragments/, etc. */
|
|
26
|
+
dir: string;
|
|
27
|
+
/** Absolute path to the site.config.ts file. */
|
|
28
|
+
configPath: string;
|
|
29
|
+
/** Loaded + validated site config. */
|
|
30
|
+
config: SiteConfig;
|
|
31
|
+
}
|
|
32
|
+
/** Result of project-wide config loading. */
|
|
33
|
+
export interface LoadedProjectConfig {
|
|
34
|
+
/** Project root (absolute path). */
|
|
35
|
+
projectRoot: string;
|
|
36
|
+
/** Loaded gazetta.config.ts, or null if absent (use built-in defaults). */
|
|
37
|
+
gazetta: GazettaConfig | null;
|
|
38
|
+
/** All discovered sites, in stable directory-name order. */
|
|
39
|
+
sites: DiscoveredSite[];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Load gazetta.config.ts from the project root.
|
|
43
|
+
*
|
|
44
|
+
* Returns null if no config file is present (built-in defaults apply).
|
|
45
|
+
*/
|
|
46
|
+
export declare function loadGazettaConfig(projectRoot: string): Promise<GazettaConfig | null>;
|
|
47
|
+
/**
|
|
48
|
+
* Load a single site.config.ts from a site directory.
|
|
49
|
+
*
|
|
50
|
+
* Per Q2 lock: if the site directory exists but has no config file,
|
|
51
|
+
* returns null (caller decides whether to warn + skip).
|
|
52
|
+
*/
|
|
53
|
+
export declare function loadSiteConfig(siteDir: string): Promise<{
|
|
54
|
+
config: SiteConfig;
|
|
55
|
+
configPath: string;
|
|
56
|
+
} | null>;
|
|
57
|
+
/**
|
|
58
|
+
* Discover and load all sites in a project.
|
|
59
|
+
*
|
|
60
|
+
* Implements Q2 layout-resolution rules:
|
|
61
|
+
* - Both root site.config.ts AND sites/ dir present → ConfigLayoutError
|
|
62
|
+
* - sites/ dir exists → walk subdirectories; warn + skip any without site.config.ts
|
|
63
|
+
* - Otherwise → flat layout: single site at project root
|
|
64
|
+
*/
|
|
65
|
+
export declare function discoverSites(projectRoot: string, gazetta: GazettaConfig | null, options?: {
|
|
66
|
+
logger?: (msg: string) => void;
|
|
67
|
+
}): Promise<DiscoveredSite[]>;
|
|
68
|
+
/**
|
|
69
|
+
* Load the full project config — gazetta.config.ts (optional) + all
|
|
70
|
+
* discovered sites.
|
|
71
|
+
*
|
|
72
|
+
* This is the top-level entry point that boot flows use. dotenv must
|
|
73
|
+
* already have been loaded before this is called (per Q4 lock).
|
|
74
|
+
*/
|
|
75
|
+
export declare function loadProjectConfig(projectRoot: string, options?: {
|
|
76
|
+
logger?: (msg: string) => void;
|
|
77
|
+
}): Promise<LoadedProjectConfig>;
|
|
78
|
+
/**
|
|
79
|
+
* Adapter: convert the user's SiteConfig (input shape) into the
|
|
80
|
+
* runtime SiteManifest shape consumed by site-loader.ts and
|
|
81
|
+
* downstream code.
|
|
82
|
+
*
|
|
83
|
+
* The two shapes are equivalent at runtime — SiteManifest types nested
|
|
84
|
+
* provider blocks (ai, altText, targets, themes.default) more strictly
|
|
85
|
+
* than SiteConfig (which uses Record<string, unknown> for forward-
|
|
86
|
+
* compatibility with foundations that haven't shipped yet).
|
|
87
|
+
*
|
|
88
|
+
* The conversion is structural: pass the values through; cast nested
|
|
89
|
+
* provider blocks to their runtime types. Downstream validation (alt
|
|
90
|
+
* adapter factory, etc.) still runs and rejects malformed nested data.
|
|
91
|
+
*
|
|
92
|
+
* Per design-config-implementation.md Cut 4 — wires the new TS-config
|
|
93
|
+
* loader into existing site-loader.ts without breaking downstream
|
|
94
|
+
* consumers that read site.manifest.{name, locale, targets, ...}.
|
|
95
|
+
*/
|
|
96
|
+
export declare function siteConfigToManifest(config: SiteConfig): import('../types.js').SiteManifest;
|
|
97
|
+
/**
|
|
98
|
+
* Convert a `GazettaConfig` (Zod-inferred user input) to a runtime
|
|
99
|
+
* `GazettaManifest`. Same lossless cast as `siteConfigToManifest` —
|
|
100
|
+
* the shapes overlap; runtime values flow through. Gazetta-level
|
|
101
|
+
* `ai.provider` is opaque (`z.unknown()`) in the schema but is the
|
|
102
|
+
* constructed `AIProvider` instance at runtime.
|
|
103
|
+
*/
|
|
104
|
+
export declare function gazettaConfigToManifest(config: GazettaConfig): import('../types.js').GazettaManifest;
|
|
105
|
+
//# sourceMappingURL=loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAK3D,0CAA0C;AAC1C,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAA;IACZ,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAA;IACX,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,MAAM,EAAE,UAAU,CAAA;CACnB;AAED,6CAA6C;AAC7C,MAAM,WAAW,mBAAmB;IAClC,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAA;IACnB,2EAA2E;IAC3E,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;IAC7B,4DAA4D;IAC5D,KAAK,EAAE,cAAc,EAAE,CAAA;CACxB;AA6ED;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAK1F;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7D,MAAM,EAAE,UAAU,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB,GAAG,IAAI,CAAC,CAMR;AA6BD;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC3C,OAAO,CAAC,cAAc,EAAE,CAAC,CA6D3B;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CACrC,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,GAC3C,OAAO,CAAC,mBAAmB,CAAC,CAS9B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,aAAa,EAAE,YAAY,CAO3F;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,aAAa,EAAE,eAAe,CAEpG"}
|