gazetta 0.6.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/error-response.d.ts +21 -0
- package/dist/admin-api/error-response.d.ts.map +1 -0
- package/dist/admin-api/error-response.js +12 -0
- package/dist/admin-api/error-response.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 -2
- package/dist/admin-api/index.d.ts.map +1 -1
- package/dist/admin-api/index.js +257 -32
- 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 +21 -0
- package/dist/admin-api/routes/assets.d.ts.map +1 -0
- package/dist/admin-api/routes/assets.js +586 -0
- package/dist/admin-api/routes/assets.js.map +1 -0
- 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 +128 -67
- 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 +158 -85
- 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 +548 -99
- 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 +64 -0
- package/dist/admin-api/schemas/assets.d.ts.map +1 -0
- package/dist/admin-api/schemas/assets.js +59 -0
- package/dist/admin-api/schemas/assets.js.map +1 -0
- 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 +10 -0
- package/dist/admin-api/schemas/index.d.ts.map +1 -1
- package/dist/admin-api/schemas/index.js +10 -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 -17
- package/dist/admin-api/source-context.d.ts.map +1 -1
- package/dist/admin-api/source-context.js +43 -8
- 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/analyze-audio.d.ts +3 -0
- package/dist/assets/analyze-audio.d.ts.map +1 -0
- package/dist/assets/analyze-audio.js +80 -0
- package/dist/assets/analyze-audio.js.map +1 -0
- package/dist/assets/analyze-image.d.ts +19 -0
- package/dist/assets/analyze-image.d.ts.map +1 -0
- package/dist/assets/analyze-image.js +123 -0
- package/dist/assets/analyze-image.js.map +1 -0
- package/dist/assets/analyze.d.ts +94 -0
- package/dist/assets/analyze.d.ts.map +1 -0
- package/dist/assets/analyze.js +45 -0
- package/dist/assets/analyze.js.map +1 -0
- package/dist/assets/asset-deps.d.ts +30 -0
- package/dist/assets/asset-deps.d.ts.map +1 -0
- package/dist/assets/asset-deps.js +42 -0
- package/dist/assets/asset-deps.js.map +1 -0
- package/dist/assets/asset-paths.d.ts +155 -0
- package/dist/assets/asset-paths.d.ts.map +1 -0
- package/dist/assets/asset-paths.js +197 -0
- package/dist/assets/asset-paths.js.map +1 -0
- package/dist/assets/delete.d.ts +75 -0
- package/dist/assets/delete.d.ts.map +1 -0
- package/dist/assets/delete.js +82 -0
- package/dist/assets/delete.js.map +1 -0
- package/dist/assets/errors.d.ts +241 -0
- package/dist/assets/errors.d.ts.map +1 -0
- package/dist/assets/errors.js +300 -0
- package/dist/assets/errors.js.map +1 -0
- package/dist/assets/find-refs.d.ts +37 -0
- package/dist/assets/find-refs.d.ts.map +1 -0
- package/dist/assets/find-refs.js +35 -0
- package/dist/assets/find-refs.js.map +1 -0
- package/dist/assets/hash.d.ts +13 -0
- package/dist/assets/hash.d.ts.map +1 -0
- package/dist/assets/hash.js +43 -0
- package/dist/assets/hash.js.map +1 -0
- package/dist/assets/image-metadata.d.ts +11 -0
- package/dist/assets/image-metadata.d.ts.map +1 -0
- package/dist/assets/image-metadata.js +31 -0
- package/dist/assets/image-metadata.js.map +1 -0
- package/dist/assets/ingest-locale.d.ts +86 -0
- package/dist/assets/ingest-locale.d.ts.map +1 -0
- package/dist/assets/ingest-locale.js +209 -0
- package/dist/assets/ingest-locale.js.map +1 -0
- package/dist/assets/ingest.d.ts +96 -0
- package/dist/assets/ingest.d.ts.map +1 -0
- package/dist/assets/ingest.js +308 -0
- package/dist/assets/ingest.js.map +1 -0
- package/dist/assets/kind-compat.d.ts +34 -0
- package/dist/assets/kind-compat.d.ts.map +1 -0
- package/dist/assets/kind-compat.js +33 -0
- package/dist/assets/kind-compat.js.map +1 -0
- package/dist/assets/list.d.ts +46 -0
- package/dist/assets/list.d.ts.map +1 -0
- package/dist/assets/list.js +102 -0
- package/dist/assets/list.js.map +1 -0
- package/dist/assets/manifest-default.d.ts +56 -0
- package/dist/assets/manifest-default.d.ts.map +1 -0
- package/dist/assets/manifest-default.js +120 -0
- package/dist/assets/manifest-default.js.map +1 -0
- package/dist/assets/manifest-filename.d.ts +52 -0
- package/dist/assets/manifest-filename.d.ts.map +1 -0
- package/dist/assets/manifest-filename.js +104 -0
- package/dist/assets/manifest-filename.js.map +1 -0
- package/dist/assets/manifest-locale.d.ts +60 -0
- package/dist/assets/manifest-locale.d.ts.map +1 -0
- package/dist/assets/manifest-locale.js +206 -0
- package/dist/assets/manifest-locale.js.map +1 -0
- package/dist/assets/manifest-merge.d.ts +66 -0
- package/dist/assets/manifest-merge.d.ts.map +1 -0
- package/dist/assets/manifest-merge.js +82 -0
- package/dist/assets/manifest-merge.js.map +1 -0
- package/dist/assets/manifest.d.ts +83 -0
- package/dist/assets/manifest.d.ts.map +1 -0
- package/dist/assets/manifest.js +93 -0
- package/dist/assets/manifest.js.map +1 -0
- package/dist/assets/mime-sniff.d.ts +18 -0
- package/dist/assets/mime-sniff.d.ts.map +1 -0
- package/dist/assets/mime-sniff.js +84 -0
- package/dist/assets/mime-sniff.js.map +1 -0
- package/dist/assets/preprocess-svg.d.ts +3 -0
- package/dist/assets/preprocess-svg.d.ts.map +1 -0
- package/dist/assets/preprocess-svg.js +49 -0
- package/dist/assets/preprocess-svg.js.map +1 -0
- package/dist/assets/preprocess.d.ts +62 -0
- package/dist/assets/preprocess.d.ts.map +1 -0
- package/dist/assets/preprocess.js +86 -0
- package/dist/assets/preprocess.js.map +1 -0
- package/dist/assets/publish-plan.d.ts +41 -0
- package/dist/assets/publish-plan.d.ts.map +1 -0
- package/dist/assets/publish-plan.js +49 -0
- package/dist/assets/publish-plan.js.map +1 -0
- package/dist/assets/publish.d.ts +33 -0
- package/dist/assets/publish.d.ts.map +1 -0
- package/dist/assets/publish.js +81 -0
- package/dist/assets/publish.js.map +1 -0
- package/dist/assets/refs.d.ts +37 -0
- package/dist/assets/refs.d.ts.map +1 -0
- package/dist/assets/refs.js +33 -0
- package/dist/assets/refs.js.map +1 -0
- package/dist/assets/remove-override.d.ts +42 -0
- package/dist/assets/remove-override.d.ts.map +1 -0
- package/dist/assets/remove-override.js +53 -0
- package/dist/assets/remove-override.js.map +1 -0
- package/dist/assets/rename.d.ts +43 -0
- package/dist/assets/rename.d.ts.map +1 -0
- package/dist/assets/rename.js +271 -0
- package/dist/assets/rename.js.map +1 -0
- package/dist/assets/replace.d.ts +37 -0
- package/dist/assets/replace.d.ts.map +1 -0
- package/dist/assets/replace.js +195 -0
- package/dist/assets/replace.js.map +1 -0
- package/dist/assets/resolve.d.ts +141 -0
- package/dist/assets/resolve.d.ts.map +1 -0
- package/dist/assets/resolve.js +381 -0
- package/dist/assets/resolve.js.map +1 -0
- package/dist/assets/rewrite-manifest-asset-ref.d.ts +44 -0
- package/dist/assets/rewrite-manifest-asset-ref.d.ts.map +1 -0
- package/dist/assets/rewrite-manifest-asset-ref.js +51 -0
- package/dist/assets/rewrite-manifest-asset-ref.js.map +1 -0
- package/dist/assets/scan-manifest-for-asset.d.ts +63 -0
- package/dist/assets/scan-manifest-for-asset.d.ts.map +1 -0
- package/dist/assets/scan-manifest-for-asset.js +105 -0
- package/dist/assets/scan-manifest-for-asset.js.map +1 -0
- package/dist/assets/serve-route.d.ts +45 -0
- package/dist/assets/serve-route.d.ts.map +1 -0
- package/dist/assets/serve-route.js +123 -0
- package/dist/assets/serve-route.js.map +1 -0
- package/dist/assets/svg-sanitize.d.ts +38 -0
- package/dist/assets/svg-sanitize.d.ts.map +1 -0
- package/dist/assets/svg-sanitize.js +209 -0
- package/dist/assets/svg-sanitize.js.map +1 -0
- package/dist/assets/update-metadata.d.ts +61 -0
- package/dist/assets/update-metadata.d.ts.map +1 -0
- package/dist/assets/update-metadata.js +82 -0
- package/dist/assets/update-metadata.js.map +1 -0
- package/dist/assets/url.d.ts +82 -0
- package/dist/assets/url.d.ts.map +1 -0
- package/dist/assets/url.js +103 -0
- package/dist/assets/url.js.map +1 -0
- package/dist/assets/validate.d.ts +74 -0
- package/dist/assets/validate.d.ts.map +1 -0
- package/dist/assets/validate.js +136 -0
- package/dist/assets/validate.js.map +1 -0
- package/dist/assets/variants.d.ts +23 -0
- package/dist/assets/variants.d.ts.map +1 -0
- package/dist/assets/variants.js +74 -0
- package/dist/assets/variants.js.map +1 -0
- 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/assets-cli.d.ts +58 -0
- package/dist/cli/assets-cli.d.ts.map +1 -0
- package/dist/cli/assets-cli.js +233 -0
- package/dist/cli/assets-cli.js.map +1 -0
- package/dist/cli/assets-display.d.ts +112 -0
- package/dist/cli/assets-display.d.ts.map +1 -0
- package/dist/cli/assets-display.js +106 -0
- package/dist/cli/assets-display.js.map +1 -0
- package/dist/cli/bootstrap.d.ts +15 -10
- package/dist/cli/bootstrap.d.ts.map +1 -1
- package/dist/cli/bootstrap.js +59 -24
- 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 +737 -374
- 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 +40 -35
- 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/dep-sidecars.d.ts +127 -0
- package/dist/dep-sidecars.d.ts.map +1 -0
- package/dist/dep-sidecars.js +122 -0
- package/dist/dep-sidecars.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/editor/AssetEmbeddedWidget.d.ts +3 -0
- package/dist/editor/AssetEmbeddedWidget.d.ts.map +1 -0
- package/dist/editor/AssetEmbeddedWidget.js +146 -0
- package/dist/editor/AssetEmbeddedWidget.js.map +1 -0
- package/dist/editor/mount.d.ts +12 -1
- package/dist/editor/mount.d.ts.map +1 -1
- package/dist/editor/mount.js +36 -5
- package/dist/editor/mount.js.map +1 -1
- package/dist/format.d.ts +44 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +65 -0
- package/dist/format.js.map +1 -0
- package/dist/fragment-deps.d.ts +24 -0
- package/dist/fragment-deps.d.ts.map +1 -0
- package/dist/fragment-deps.js +20 -0
- package/dist/fragment-deps.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/hash.d.ts +0 -6
- package/dist/hash.d.ts.map +1 -1
- package/dist/hash.js +0 -18
- package/dist/hash.js.map +1 -1
- package/dist/history-provider.d.ts.map +1 -1
- package/dist/history-provider.js +30 -8
- package/dist/history-provider.js.map +1 -1
- package/dist/history-recorder.d.ts +10 -6
- package/dist/history-recorder.d.ts.map +1 -1
- package/dist/history-recorder.js +13 -5
- package/dist/history-recorder.js.map +1 -1
- package/dist/history-restorer.d.ts.map +1 -1
- package/dist/history-restorer.js +34 -2
- package/dist/history-restorer.js.map +1 -1
- package/dist/history.d.ts +26 -8
- package/dist/history.d.ts.map +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 +27 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -7
- package/dist/index.js.map +1 -1
- package/dist/locale.d.ts +25 -1
- package/dist/locale.d.ts.map +1 -1
- package/dist/locale.js +44 -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/_atomic-write.d.ts +9 -0
- package/dist/providers/_atomic-write.d.ts.map +1 -0
- package/dist/providers/_atomic-write.js +72 -0
- package/dist/providers/_atomic-write.js.map +1 -0
- package/dist/providers/_rm-ignore-missing.d.ts +31 -0
- package/dist/providers/_rm-ignore-missing.d.ts.map +1 -0
- package/dist/providers/_rm-ignore-missing.js +12 -0
- package/dist/providers/_rm-ignore-missing.js.map +1 -0
- package/dist/providers/_stream-interop.d.ts +23 -0
- package/dist/providers/_stream-interop.d.ts.map +1 -0
- package/dist/providers/_stream-interop.js +21 -0
- package/dist/providers/_stream-interop.js.map +1 -0
- package/dist/providers/azure-blob.d.ts.map +1 -1
- package/dist/providers/azure-blob.js +60 -0
- package/dist/providers/azure-blob.js.map +1 -1
- 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/providers/filesystem.d.ts +4 -0
- package/dist/providers/filesystem.d.ts.map +1 -1
- package/dist/providers/filesystem.js +63 -2
- package/dist/providers/filesystem.js.map +1 -1
- package/dist/providers/s3.d.ts.map +1 -1
- package/dist/providers/s3.js +84 -1
- package/dist/providers/s3.js.map +1 -1
- 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 +37 -17
- package/dist/publish-rendered.d.ts.map +1 -1
- package/dist/publish-rendered.js +144 -71
- 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 +13 -12
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +24 -57
- 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 +12 -2
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +101 -32
- 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/schema/dimensions.d.ts +78 -0
- package/dist/schema/dimensions.d.ts.map +1 -0
- package/dist/schema/dimensions.js +97 -0
- package/dist/schema/dimensions.js.map +1 -0
- package/dist/schema/helpers.d.ts +108 -0
- package/dist/schema/helpers.d.ts.map +1 -0
- package/dist/schema/helpers.js +133 -0
- package/dist/schema/helpers.js.map +1 -0
- package/dist/schema/index.d.ts +27 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +25 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/types.d.ts +390 -0
- package/dist/schema/types.d.ts.map +1 -0
- package/dist/schema/types.js +25 -0
- package/dist/schema/types.js.map +1 -0
- package/dist/selector-chain.d.ts +63 -0
- package/dist/selector-chain.d.ts.map +1 -0
- package/dist/selector-chain.js +58 -0
- package/dist/selector-chain.js.map +1 -0
- package/dist/sidecars.d.ts +19 -18
- package/dist/sidecars.d.ts.map +1 -1
- package/dist/sidecars.js +70 -62
- package/dist/sidecars.js.map +1 -1
- 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 -117
- 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/themes.d.ts +69 -0
- package/dist/themes.d.ts.map +1 -0
- package/dist/themes.js +85 -0
- package/dist/themes.js.map +1 -0
- package/dist/transforms/adapter.d.ts +115 -0
- package/dist/transforms/adapter.d.ts.map +1 -0
- package/dist/transforms/adapter.js +2 -0
- package/dist/transforms/adapter.js.map +1 -0
- package/dist/transforms/cloudflare.d.ts +17 -0
- package/dist/transforms/cloudflare.d.ts.map +1 -0
- package/dist/transforms/cloudflare.js +110 -0
- package/dist/transforms/cloudflare.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 +17 -0
- package/dist/transforms/index.d.ts.map +1 -0
- package/dist/transforms/index.js +6 -0
- package/dist/transforms/index.js.map +1 -0
- package/dist/transforms/sharp.d.ts +17 -0
- package/dist/transforms/sharp.d.ts.map +1 -0
- package/dist/transforms/sharp.js +57 -0
- package/dist/transforms/sharp.js.map +1 -0
- package/dist/types.d.ts +485 -34
- 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 +69 -27
- package/admin-dist/assets/index-B6pVot0Y.css +0 -1
- package/admin-dist/assets/index-DniLwxJA.js +0 -609
- 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/providers/r2.d.ts +0 -8
- package/dist/providers/r2.d.ts.map +0 -1
- package/dist/providers/r2.js +0 -86
- package/dist/providers/r2.js.map +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
- package/dist/source-sidecars.d.ts +0 -32
- package/dist/source-sidecars.d.ts.map +0 -1
- package/dist/source-sidecars.js +0 -98
- package/dist/source-sidecars.js.map +0 -1
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Save pipeline — orchestrator for Page and Fragment Manifest writes.
|
|
3
|
+
*
|
|
4
|
+
* Today's `admin-api/routes/pages.ts` PUT handler and the matching
|
|
5
|
+
* fragments.ts handler each inline the same 13-step orchestration:
|
|
6
|
+
* etag check → validate → beforeSave hooks → history → write → sidecars
|
|
7
|
+
* → cache → audit → afterSave hooks → scanner. Two route files, one deep
|
|
8
|
+
* concept duplicated.
|
|
9
|
+
*
|
|
10
|
+
* `saveManifestCore` is the seam that hides the orchestration. Routes
|
|
11
|
+
* become protocol translators (parse Hono request → call → project
|
|
12
|
+
* SaveResult to HTTP). The CLI, plugin-contributed routes, and any
|
|
13
|
+
* future Save-shaped consumer call the same function.
|
|
14
|
+
*
|
|
15
|
+
* Per-kind entry points (`savePage`, `saveFragment` in pages/save.ts +
|
|
16
|
+
* fragments/save.ts — Cuts 3+4) wrap this with kind-specific concerns:
|
|
17
|
+
* locale resolution from `site.pages` vs `site.fragments`, the `route`
|
|
18
|
+
* field preservation Page Manifests need, and per-kind cache prefixes
|
|
19
|
+
* (Fragment Saves invalidate `pages:` too because Fragment References
|
|
20
|
+
* compose into Page summaries).
|
|
21
|
+
*
|
|
22
|
+
* Pipeline order is locked semantics, not configuration. Per
|
|
23
|
+
* `design-hooks.md` "Save flow with hooks": validators run first
|
|
24
|
+
* (validators are pure functions over a manifest), then beforeSave
|
|
25
|
+
* hooks see validated payload, then storage write, then afterSave
|
|
26
|
+
* hooks observe the result. Reordering breaks invariants — audit
|
|
27
|
+
* before write would lie about success.
|
|
28
|
+
*
|
|
29
|
+
* Reserved slots in the sequence (no-ops today; wired by future cuts):
|
|
30
|
+
* - Review-state precheck (Review-Workflow Cut 5: pending-review
|
|
31
|
+
* state → 409 EDIT_LOCKED)
|
|
32
|
+
* - Cascades (Soft-Delete Q6: auto-cancel scheduled actions on
|
|
33
|
+
* archive transition; Review Cut 5: invalidateOnSave policy
|
|
34
|
+
* transitions approved → draft)
|
|
35
|
+
*
|
|
36
|
+
* Throws are reserved for infrastructure failures (storage write
|
|
37
|
+
* fail, audit infra fail per locked fail-open). Expected outcomes
|
|
38
|
+
* — STALE / VALIDATION_FAILED / HOOK_CANCELLED — are typed
|
|
39
|
+
* `SaveResult` variants. Callers `switch` exhaustively; TS narrows.
|
|
40
|
+
*/
|
|
41
|
+
import { recordWrite } from './history-recorder.js';
|
|
42
|
+
import { buildHookContext, dispatchAfterSave, dispatchBeforeSave, HookCancellation, HookTimeout, } from './hooks/index.js';
|
|
43
|
+
import { rebuildAssetRefs } from './assets/asset-deps.js';
|
|
44
|
+
import { rebuildFragmentDeps } from './fragment-deps.js';
|
|
45
|
+
import { rebuildArchiveAliases } from './archive-aliases.js';
|
|
46
|
+
import { computeSaveEtag } from './save-etag.js';
|
|
47
|
+
import { hasBlockingIssues, runSaveDelta } from './validation/save-delta.js';
|
|
48
|
+
/**
|
|
49
|
+
* Save pipeline orchestrator — Cut 2.
|
|
50
|
+
*
|
|
51
|
+
* Ports the 13-step spine from `admin-api/routes/pages.ts:290-510`.
|
|
52
|
+
* Pipeline sequence (locked per Q5):
|
|
53
|
+
*
|
|
54
|
+
* 1. etag precheck → STALE
|
|
55
|
+
* 2. review-state precheck (reserved slot — no-op today)
|
|
56
|
+
* 3. validators → VALIDATION_FAILED
|
|
57
|
+
* 4. beforeSave hooks → HOOK_CANCELLED
|
|
58
|
+
* 5. history record (pre-write)
|
|
59
|
+
* 6. storage write
|
|
60
|
+
* 7. sidecars (asset/fragment/alias) in parallel
|
|
61
|
+
* 8. cache invalidate (per per-kind prefixes)
|
|
62
|
+
* 9. compute new etag
|
|
63
|
+
* 10. audit success
|
|
64
|
+
* 11. afterSave hooks (fail-open observers)
|
|
65
|
+
* 12. cascades (reserved slot — no-op today)
|
|
66
|
+
* 13. scanner.rescan (fire-and-forget)
|
|
67
|
+
*/
|
|
68
|
+
export async function saveManifestCore(input) {
|
|
69
|
+
// Step 1 — etag precheck. Mirrors pages.ts:312-339. The current
|
|
70
|
+
// on-disk etag is computed from the in-memory `before` manifest
|
|
71
|
+
// plus the per-kind extras (Page passes route; Fragment passes
|
|
72
|
+
// empty). Absent ifMatch = no concurrency check (last-write-wins).
|
|
73
|
+
if (input.ifMatch && input.before) {
|
|
74
|
+
const currentEtag = await computeSaveEtag({
|
|
75
|
+
...input.before,
|
|
76
|
+
...input.etagExtras,
|
|
77
|
+
});
|
|
78
|
+
if (currentEtag !== input.ifMatch) {
|
|
79
|
+
return {
|
|
80
|
+
ok: false,
|
|
81
|
+
code: 'STALE',
|
|
82
|
+
current: { ...input.before, ...input.etagExtras },
|
|
83
|
+
currentEtag,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// Step 2 — review-state precheck. Reserved slot for Review-Workflow
|
|
88
|
+
// Cut 5 (pending-review state → 409 EDIT_LOCKED). No-op today.
|
|
89
|
+
// Step 3 — save-delta validation. Same shape as pages.ts:370-394.
|
|
90
|
+
// Validators are pure functions; orchestrator catches infra errors
|
|
91
|
+
// and surfaces them as synthetic issues so the save flow stays
|
|
92
|
+
// predictable. Audit failure with `outcome: 'validation-failed'`
|
|
93
|
+
// before returning the typed result.
|
|
94
|
+
const issues = await runSaveDelta({
|
|
95
|
+
item: {
|
|
96
|
+
kind: input.kind,
|
|
97
|
+
name: input.name,
|
|
98
|
+
itemPath: input.source.contentRoot.relative(input.manifestPath),
|
|
99
|
+
},
|
|
100
|
+
// Cast preserves the validator's structural expectation; the
|
|
101
|
+
// pipeline treats manifests as opaque bags of fields here.
|
|
102
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
103
|
+
before: input.before,
|
|
104
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
105
|
+
after: { ...input.manifest, ...input.etagExtras },
|
|
106
|
+
site: input.site,
|
|
107
|
+
contentRoot: input.source.contentRoot,
|
|
108
|
+
storage: input.source.storage,
|
|
109
|
+
}, input.validators);
|
|
110
|
+
if (hasBlockingIssues(issues)) {
|
|
111
|
+
await input.audit.record({
|
|
112
|
+
action: 'save',
|
|
113
|
+
outcome: 'validation-failed',
|
|
114
|
+
scope: { kind: input.kind, name: input.name },
|
|
115
|
+
metadata: input.locale ? { locale: input.locale } : undefined,
|
|
116
|
+
});
|
|
117
|
+
return { ok: false, code: 'VALIDATION_FAILED', issues };
|
|
118
|
+
}
|
|
119
|
+
// Step 4 — beforeSave hooks. Build the HookContext ONCE per
|
|
120
|
+
// request — design-hooks.md "HookContext shape" locks `now` +
|
|
121
|
+
// `requestId` as deterministic across all hooks in a request.
|
|
122
|
+
// Reused for the afterSave dispatch in step 11.
|
|
123
|
+
const hooks = input.hooks;
|
|
124
|
+
const hookCtx = hooks
|
|
125
|
+
? buildHookContext({
|
|
126
|
+
principal: input.principal,
|
|
127
|
+
storage: input.source.storage,
|
|
128
|
+
target: input.source.targetName,
|
|
129
|
+
requestId: input.requestId ?? crypto.randomUUID(),
|
|
130
|
+
site: { name: input.source.manifest?.name },
|
|
131
|
+
auditEmit: input.hookAuditEmit,
|
|
132
|
+
})
|
|
133
|
+
: null;
|
|
134
|
+
const hookScope = {
|
|
135
|
+
kind: input.kind,
|
|
136
|
+
name: input.name,
|
|
137
|
+
locale: input.locale ?? undefined,
|
|
138
|
+
};
|
|
139
|
+
let finalManifest = input.manifest;
|
|
140
|
+
if (hooks && hookCtx) {
|
|
141
|
+
try {
|
|
142
|
+
finalManifest = (await dispatchBeforeSave(hooks, hookScope, input.manifest, hookCtx));
|
|
143
|
+
}
|
|
144
|
+
catch (err) {
|
|
145
|
+
if (err instanceof HookCancellation || err instanceof HookTimeout) {
|
|
146
|
+
// Per design-hooks.md Q3 audit lock: cancelled saves record
|
|
147
|
+
// outcome 'hook-cancelled' (closed-enum extension to
|
|
148
|
+
// AuditOutcome already in audit/types.ts). Earlier behavior
|
|
149
|
+
// emitted 'validation-failed' which conflated hook policy
|
|
150
|
+
// with validator semantics — forensic queries filtering on
|
|
151
|
+
// outcome would mistakenly include hook cancellations.
|
|
152
|
+
// metadata.hookCancelled vs metadata.hookTimeout still
|
|
153
|
+
// distinguishes the two cancellation paths for forensics.
|
|
154
|
+
await input.audit.record({
|
|
155
|
+
action: 'save',
|
|
156
|
+
outcome: 'hook-cancelled',
|
|
157
|
+
scope: { kind: input.kind, name: input.name },
|
|
158
|
+
metadata: {
|
|
159
|
+
...(input.locale ? { locale: input.locale } : {}),
|
|
160
|
+
hookCancelled: err instanceof HookCancellation ? err.hookName : undefined,
|
|
161
|
+
hookTimeout: err instanceof HookTimeout ? err.hookName : undefined,
|
|
162
|
+
},
|
|
163
|
+
});
|
|
164
|
+
return {
|
|
165
|
+
ok: false,
|
|
166
|
+
code: 'HOOK_CANCELLED',
|
|
167
|
+
hook: err.hookName,
|
|
168
|
+
reason: err.message,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
throw err;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
// Re-serialize the (potentially mutated) manifest. When no hooks
|
|
175
|
+
// ran, finalManifest === input.manifest so the same serialization
|
|
176
|
+
// is recomputed once — cost is negligible vs the conditional.
|
|
177
|
+
const serialized = JSON.stringify(finalManifest, null, 2) + '\n';
|
|
178
|
+
// Step 5 — history. Record BEFORE the disk write per the
|
|
179
|
+
// recordWrite first-call invariant (pages.ts:442-456). Baseline
|
|
180
|
+
// scan reads current disk state (pre-save); recordWrite overlays
|
|
181
|
+
// the incoming delta to build the snapshot.
|
|
182
|
+
if (input.source.history) {
|
|
183
|
+
await recordWrite({
|
|
184
|
+
history: input.source.history,
|
|
185
|
+
contentRoot: input.source.contentRoot,
|
|
186
|
+
operation: 'save',
|
|
187
|
+
items: [
|
|
188
|
+
{
|
|
189
|
+
path: input.source.contentRoot.relative(input.manifestPath),
|
|
190
|
+
content: serialized,
|
|
191
|
+
},
|
|
192
|
+
],
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
// Step 6 — storage write.
|
|
196
|
+
await input.source.storage.writeFile(input.manifestPath, serialized);
|
|
197
|
+
// Step 7 — sidecars in parallel. Three Usage Sidecar relations
|
|
198
|
+
// (per `sidecars.md`): asset-refs, fragment-deps, archive-aliases.
|
|
199
|
+
// Future asset-soft-delete adds a fourth here in one place.
|
|
200
|
+
const item = input.locale
|
|
201
|
+
? {
|
|
202
|
+
source: input.kind === 'page' ? 'page' : 'fragment',
|
|
203
|
+
name: input.name,
|
|
204
|
+
locale: input.locale,
|
|
205
|
+
}
|
|
206
|
+
: { source: input.kind === 'page' ? 'page' : 'fragment', name: input.name };
|
|
207
|
+
await Promise.all([
|
|
208
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
209
|
+
rebuildAssetRefs(input.source.contentRoot, item, input.before, finalManifest),
|
|
210
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
211
|
+
rebuildFragmentDeps(input.source.contentRoot, item, input.before, finalManifest),
|
|
212
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
213
|
+
rebuildArchiveAliases(input.source.contentRoot, item, input.before, finalManifest),
|
|
214
|
+
]);
|
|
215
|
+
// Step 8 — cache invalidate. Per-kind prefixes from caller. Page
|
|
216
|
+
// Saves pass ['pages:']; Fragment Saves pass ['fragments:',
|
|
217
|
+
// 'pages:'] because Fragment References compose into Page
|
|
218
|
+
// summaries.
|
|
219
|
+
await Promise.all(input.cacheInvalidatePrefixes.map(p => input.source.cache.invalidatePrefix(p)));
|
|
220
|
+
// Step 9 — recompute save-etag for the new on-disk content. Echo
|
|
221
|
+
// shape MUST match what the next GET produces — extras (route)
|
|
222
|
+
// are folded in here so offline replay projection chains work
|
|
223
|
+
// (design-offline.md Q3).
|
|
224
|
+
const echoShape = { ...finalManifest, ...input.etagExtras };
|
|
225
|
+
const newEtag = await computeSaveEtag(echoShape);
|
|
226
|
+
// Step 10 — audit success. Records actor + scope + locale (when
|
|
227
|
+
// locale variant). Strict-mode operators check the result.failed
|
|
228
|
+
// count; fail-open default ignores. Recorder never throws.
|
|
229
|
+
await input.audit.record({
|
|
230
|
+
action: 'save',
|
|
231
|
+
outcome: 'success',
|
|
232
|
+
scope: { kind: input.kind, name: input.name },
|
|
233
|
+
metadata: input.locale ? { locale: input.locale } : undefined,
|
|
234
|
+
});
|
|
235
|
+
// Step 11 — afterSave hooks. Observational; failures logged but
|
|
236
|
+
// never propagated. Runs AFTER the audit record so the forensic
|
|
237
|
+
// record is durably committed before observational hooks fire.
|
|
238
|
+
// Per-hook timeout applies; one slow hook bounded by its
|
|
239
|
+
// timeout, not the total.
|
|
240
|
+
if (hooks && hookCtx) {
|
|
241
|
+
await dispatchAfterSave(hooks, hookScope, { payload: finalManifest, etag: newEtag }, hookCtx);
|
|
242
|
+
}
|
|
243
|
+
// Step 12 — cascades. Reserved slot for Soft-Delete Q6
|
|
244
|
+
// (auto-cancel scheduled actions on archive transition) and
|
|
245
|
+
// Review Cut 5 (invalidateOnSave policy → approved → draft).
|
|
246
|
+
// No-op today.
|
|
247
|
+
// Step 13 — background validation scanner. Fire-and-forget — the
|
|
248
|
+
// save response shouldn't block on scanner work; the scanner
|
|
249
|
+
// emits its own SSE event when the pass completes and the admin
|
|
250
|
+
// UI store re-fetches `/api/validation/issues` on the event.
|
|
251
|
+
if (input.scanner) {
|
|
252
|
+
const cause = input.scannerCause ?? {
|
|
253
|
+
kind: 'manifest',
|
|
254
|
+
item: { kind: input.kind, name: input.name, itemPath: input.manifestPath },
|
|
255
|
+
};
|
|
256
|
+
void input.scanner.rescan(cause);
|
|
257
|
+
}
|
|
258
|
+
return { ok: true, etag: newEtag };
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=manifest-save.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-save.js","sourceRoot":"","sources":["../src/manifest-save.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAKH,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,GAEZ,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAgB,MAAM,wBAAwB,CAAA;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAGhD,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AA8M5E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAwB;IAC7D,gEAAgE;IAChE,gEAAgE;IAChE,+DAA+D;IAC/D,mEAAmE;IACnE,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC;YACxC,GAAG,KAAK,CAAC,MAAM;YACf,GAAG,KAAK,CAAC,UAAU;SACpB,CAAC,CAAA;QACF,IAAI,WAAW,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE;gBACjD,WAAW;aACZ,CAAA;QACH,CAAC;IACH,CAAC;IAED,oEAAoE;IACpE,+DAA+D;IAE/D,kEAAkE;IAClE,mEAAmE;IACnE,+DAA+D;IAC/D,iEAAiE;IACjE,qCAAqC;IACrC,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B;QACE,IAAI,EAAE;YACJ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;SAChE;QACD,6DAA6D;QAC7D,2DAA2D;QAC3D,8DAA8D;QAC9D,MAAM,EAAE,KAAK,CAAC,MAAa;QAC3B,8DAA8D;QAC9D,KAAK,EAAE,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,KAAK,CAAC,UAAU,EAAS;QACxD,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;QACrC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;KAC9B,EACD,KAAK,CAAC,UAAU,CACjB,CAAA;IACD,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;YACvB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,mBAAmB;YAC5B,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;YAC7C,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;SAC9D,CAAC,CAAA;QACF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,CAAA;IACzD,CAAC;IAED,4DAA4D;IAC5D,8DAA8D;IAC9D,8DAA8D;IAC9D,gDAAgD;IAChD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IACzB,MAAM,OAAO,GAAG,KAAK;QACnB,CAAC,CAAC,gBAAgB,CAAC;YACf,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;YAC7B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;YAC/B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,UAAU,EAAE;YACjD,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE;YAC3C,SAAS,EAAE,KAAK,CAAC,aAAa;SAC/B,CAAC;QACJ,CAAC,CAAC,IAAI,CAAA;IACR,MAAM,SAAS,GAAG;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;KAClC,CAAA;IACD,IAAI,aAAa,GAA4B,KAAK,CAAC,QAAQ,CAAA;IAC3D,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,aAAa,GAAG,CAAC,MAAM,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAA4B,CAAA;QAClH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;gBAClE,4DAA4D;gBAC5D,qDAAqD;gBACrD,4DAA4D;gBAC5D,0DAA0D;gBAC1D,2DAA2D;gBAC3D,uDAAuD;gBACvD,uDAAuD;gBACvD,0DAA0D;gBAC1D,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;oBACvB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,gBAAgB;oBACzB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;oBAC7C,QAAQ,EAAE;wBACR,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBACjD,aAAa,EAAE,GAAG,YAAY,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;wBACzE,WAAW,EAAE,GAAG,YAAY,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;qBACnE;iBACF,CAAC,CAAA;gBACF,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,IAAI,EAAE,gBAAgB;oBACtB,IAAI,EAAE,GAAG,CAAC,QAAQ;oBAClB,MAAM,EAAE,GAAG,CAAC,OAAO;iBACpB,CAAA;YACH,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;IACD,iEAAiE;IACjE,kEAAkE;IAClE,8DAA8D;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;IAEhE,yDAAyD;IACzD,gEAAgE;IAChE,iEAAiE;IACjE,4CAA4C;IAC5C,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,WAAW,CAAC;YAChB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO;YAC7B,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW;YACrC,SAAS,EAAE,MAAM;YACjB,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC;oBAC3D,OAAO,EAAE,UAAU;iBACpB;aACF;SACF,CAAC,CAAA;IACJ,CAAC;IAED,0BAA0B;IAC1B,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAEpE,+DAA+D;IAC/D,mEAAmE;IACnE,4DAA4D;IAC5D,MAAM,IAAI,GAAY,KAAK,CAAC,MAAM;QAChC,CAAC,CAAC;YACE,MAAM,EAAE,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU;YACnD,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB;QACH,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAA;IAC7E,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,8DAA8D;QAC9D,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,MAAa,EAAE,aAAa,CAAC;QACpF,8DAA8D;QAC9D,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,MAAa,EAAE,aAAa,CAAC;QACvF,8DAA8D;QAC9D,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,CAAC,MAAa,EAAE,aAAa,CAAC;KAC1F,CAAC,CAAA;IAEF,iEAAiE;IACjE,4DAA4D;IAC5D,0DAA0D;IAC1D,aAAa;IACb,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEjG,iEAAiE;IACjE,+DAA+D;IAC/D,8DAA8D;IAC9D,0BAA0B;IAC1B,MAAM,SAAS,GAA4B,EAAE,GAAG,aAAa,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAA;IACpF,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAA;IAEhD,gEAAgE;IAChE,iEAAiE;IACjE,2DAA2D;IAC3D,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;QACvB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE;QAC7C,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC,CAAA;IAEF,gEAAgE;IAChE,gEAAgE;IAChE,+DAA+D;IAC/D,yDAAyD;IACzD,0BAA0B;IAC1B,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;QACrB,MAAM,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAA;IAC/F,CAAC;IAED,uDAAuD;IACvD,4DAA4D;IAC5D,6DAA6D;IAC7D,eAAe;IAEf,iEAAiE;IACjE,6DAA6D;IAC7D,gEAAgE;IAChE,6DAA6D;IAC7D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,KAAK,GAAgB,KAAK,CAAC,YAAY,IAAI;YAC/C,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,YAAY,EAAE;SAC3E,CAAA;QACD,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAClC,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA;AACpC,CAAC"}
|
package/dist/manifest.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { FragmentManifest, PageManifest,
|
|
2
|
-
export declare function parseSiteManifest(storage: StorageProvider, filePath: string): Promise<SiteManifest>;
|
|
1
|
+
import type { FragmentManifest, PageManifest, StorageProvider } from './types.js';
|
|
3
2
|
export declare function parsePageManifest(storage: StorageProvider, filePath: string): Promise<PageManifest>;
|
|
4
3
|
export declare function parseFragmentManifest(storage: StorageProvider, filePath: string): Promise<FragmentManifest>;
|
|
5
4
|
//# sourceMappingURL=manifest.d.ts.map
|
package/dist/manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAoEhH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAezG;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAYjH"}
|
package/dist/manifest.js
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
import yaml from 'js-yaml';
|
|
2
|
-
function parseYaml(content, filePath) {
|
|
3
|
-
try {
|
|
4
|
-
const parsed = yaml.load(content);
|
|
5
|
-
if (!parsed || typeof parsed !== 'object') {
|
|
6
|
-
throw new Error(`Expected a YAML object in ${filePath}, got ${typeof parsed}`);
|
|
7
|
-
}
|
|
8
|
-
return parsed;
|
|
9
|
-
}
|
|
10
|
-
catch (err) {
|
|
11
|
-
if (err instanceof yaml.YAMLException) {
|
|
12
|
-
throw new Error(`YAML parse error in ${filePath}: ${err.message}`);
|
|
13
|
-
}
|
|
14
|
-
throw err;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
1
|
function parseJson(content, filePath) {
|
|
18
2
|
try {
|
|
19
3
|
const parsed = JSON.parse(content);
|
|
@@ -29,6 +13,38 @@ function parseJson(content, filePath) {
|
|
|
29
13
|
throw err;
|
|
30
14
|
}
|
|
31
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Pick the archive fields off a parsed manifest, projecting only the
|
|
18
|
+
* locked four (per design-soft-delete.md Q1). Stale or unknown fields
|
|
19
|
+
* are dropped — the manifest projection layer is the boundary that
|
|
20
|
+
* defines which manifest properties Gazetta consumes.
|
|
21
|
+
*/
|
|
22
|
+
function parseArchiveFields(raw) {
|
|
23
|
+
const out = {};
|
|
24
|
+
if (typeof raw.archived === 'boolean')
|
|
25
|
+
out.archived = raw.archived;
|
|
26
|
+
if (typeof raw.archivedAt === 'string')
|
|
27
|
+
out.archivedAt = raw.archivedAt;
|
|
28
|
+
if (typeof raw.archivedBy === 'string')
|
|
29
|
+
out.archivedBy = raw.archivedBy;
|
|
30
|
+
if (typeof raw.aliasOf === 'string')
|
|
31
|
+
out.aliasOf = raw.aliasOf;
|
|
32
|
+
return out;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Forward-compat passthrough for review-workflow's `reviewState`
|
|
36
|
+
* field (per design-soft-delete.md Cut 14). The review-workflow
|
|
37
|
+
* foundation will lock the field's shape when it ships; until then,
|
|
38
|
+
* the parser passes through any string value so archive-time logic
|
|
39
|
+
* (auto-withdraw on pending-review, restore-to-draft on unarchive)
|
|
40
|
+
* has the field to read. Spread directly into the parsed object so
|
|
41
|
+
* it's `reviewState?: string | undefined`.
|
|
42
|
+
*/
|
|
43
|
+
function parseReviewFields(raw) {
|
|
44
|
+
if (typeof raw.reviewState === 'string')
|
|
45
|
+
return { reviewState: raw.reviewState };
|
|
46
|
+
return {};
|
|
47
|
+
}
|
|
32
48
|
function parseComponents(raw) {
|
|
33
49
|
if (!Array.isArray(raw))
|
|
34
50
|
return undefined;
|
|
@@ -37,43 +53,22 @@ function parseComponents(raw) {
|
|
|
37
53
|
return entry;
|
|
38
54
|
if (typeof entry === 'object' && entry !== null && typeof entry.template === 'string') {
|
|
39
55
|
const comp = entry;
|
|
40
|
-
|
|
56
|
+
const parsed = {
|
|
41
57
|
name: comp.name,
|
|
42
58
|
template: comp.template,
|
|
43
59
|
content: comp.content,
|
|
44
60
|
components: parseComponents(comp.components),
|
|
45
61
|
};
|
|
62
|
+
// Preserve component IDs (per design-collaboration.md Cut 1).
|
|
63
|
+
// IDs are written by the save handlers and must round-trip
|
|
64
|
+
// through read so inline anchors stay valid.
|
|
65
|
+
if (typeof comp.id === 'string')
|
|
66
|
+
parsed.id = comp.id;
|
|
67
|
+
return parsed;
|
|
46
68
|
}
|
|
47
69
|
return entry;
|
|
48
70
|
});
|
|
49
71
|
}
|
|
50
|
-
export async function parseSiteManifest(storage, filePath) {
|
|
51
|
-
const raw = parseYaml(await storage.readFile(filePath), filePath);
|
|
52
|
-
if (typeof raw.name !== 'string') {
|
|
53
|
-
throw new Error(`Invalid site.yaml at ${filePath}: missing required "name" field`);
|
|
54
|
-
}
|
|
55
|
-
return {
|
|
56
|
-
name: raw.name,
|
|
57
|
-
version: raw.version,
|
|
58
|
-
locale: raw.locale,
|
|
59
|
-
locales: parseLocalesConfig(raw.locales),
|
|
60
|
-
defaultOgImage: raw.defaultOgImage,
|
|
61
|
-
systemPages: Array.isArray(raw.systemPages) ? raw.systemPages : undefined,
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
function parseLocalesConfig(raw) {
|
|
65
|
-
if (!raw || typeof raw !== 'object')
|
|
66
|
-
return undefined;
|
|
67
|
-
const obj = raw;
|
|
68
|
-
if (!Array.isArray(obj.supported) || obj.supported.length === 0)
|
|
69
|
-
return undefined;
|
|
70
|
-
return {
|
|
71
|
-
supported: obj.supported,
|
|
72
|
-
fallbacks: obj.fallbacks,
|
|
73
|
-
defaultPrefix: typeof obj.defaultPrefix === 'boolean' ? obj.defaultPrefix : undefined,
|
|
74
|
-
detection: typeof obj.detection === 'boolean' ? obj.detection : undefined,
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
72
|
export async function parsePageManifest(storage, filePath) {
|
|
78
73
|
const raw = parseJson(await storage.readFile(filePath), filePath);
|
|
79
74
|
if (typeof raw.template !== 'string') {
|
|
@@ -86,6 +81,8 @@ export async function parsePageManifest(storage, filePath) {
|
|
|
86
81
|
components: parseComponents(raw.components),
|
|
87
82
|
metadata: raw.metadata,
|
|
88
83
|
cache: raw.cache,
|
|
84
|
+
...parseArchiveFields(raw),
|
|
85
|
+
...parseReviewFields(raw),
|
|
89
86
|
};
|
|
90
87
|
}
|
|
91
88
|
export async function parseFragmentManifest(storage, filePath) {
|
|
@@ -97,6 +94,8 @@ export async function parseFragmentManifest(storage, filePath) {
|
|
|
97
94
|
template: raw.template,
|
|
98
95
|
content: raw.content,
|
|
99
96
|
components: parseComponents(raw.components),
|
|
97
|
+
...parseArchiveFields(raw),
|
|
98
|
+
...parseReviewFields(raw),
|
|
100
99
|
};
|
|
101
100
|
}
|
|
102
101
|
//# sourceMappingURL=manifest.js.map
|
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-floor.d.ts","sourceRoot":"","sources":["../src/node-floor.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-floor.js","sourceRoot":"","sources":["../src/node-floor.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,WAAW,CAAA"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page Create — POST handler logic for `/api/pages`.
|
|
3
|
+
*
|
|
4
|
+
* Different from `savePage`:
|
|
5
|
+
* - No etag precheck (nothing to compare against; new page)
|
|
6
|
+
* - No locale variant lookup (creates the default Page Manifest)
|
|
7
|
+
* - Name conflict resolution per `design-soft-delete.md` Q5 I3:
|
|
8
|
+
* - Live name in use → typed `LIVE_CONFLICT` outcome
|
|
9
|
+
* - Archived name in use, no `?onConflict` flag → typed
|
|
10
|
+
* `ARCHIVED_CONFLICT` outcome with archive details
|
|
11
|
+
* - Archived name in use, with mode → delegate to
|
|
12
|
+
* `resolveArchivedNameConflict` (restore / replace / moveAside)
|
|
13
|
+
* - Folder creation (`storage.mkdir(pageDir)`)
|
|
14
|
+
* - Initial sidecar wiring (`rebuildAssetRefs` /
|
|
15
|
+
* `rebuildFragmentDeps` against `null` → empty manifest)
|
|
16
|
+
* - Cache invalidation (`pages:`)
|
|
17
|
+
*
|
|
18
|
+
* Same as `savePage` for the post-resolution-or-create write itself —
|
|
19
|
+
* eventually creates pass through `saveManifestCore` once the
|
|
20
|
+
* "before is null" path lands. v1 keeps the create-time path
|
|
21
|
+
* separate because it doesn't need validators / hooks / scanner /
|
|
22
|
+
* audit-on-failure (a new empty page has no validation surface to
|
|
23
|
+
* exercise yet).
|
|
24
|
+
*
|
|
25
|
+
* Per Q6 lock: separate `createPage` instead of folding into
|
|
26
|
+
* `savePage` — Create has its own pre-write phase (conflict prompt,
|
|
27
|
+
* mkdir, route derive) that update doesn't. Branchy A would merge
|
|
28
|
+
* two distinct intents.
|
|
29
|
+
*/
|
|
30
|
+
import { type ArchivedNameConflictResult } from '../admin-api/archived-name-conflict.js';
|
|
31
|
+
import type { SourceContext } from '../admin-api/source-context.js';
|
|
32
|
+
import type { SaveAuditRecorder, SavePrincipal } from '../manifest-save.js';
|
|
33
|
+
/**
|
|
34
|
+
* Inputs to `createPage`. The body's already been Zod-validated by
|
|
35
|
+
* the route — caller passes the parsed shape.
|
|
36
|
+
*/
|
|
37
|
+
export interface CreatePageInput {
|
|
38
|
+
/** Page name (folder name under `pages/`). */
|
|
39
|
+
readonly name: string;
|
|
40
|
+
/** Template the new page uses. */
|
|
41
|
+
readonly template: string;
|
|
42
|
+
/** Optional initial content; defaults to `{ title: name }` when absent. */
|
|
43
|
+
readonly content?: Record<string, unknown>;
|
|
44
|
+
/**
|
|
45
|
+
* `?onConflict` query param: `'restore' | 'replace' | 'moveAside'`
|
|
46
|
+
* or undefined. When undefined and an archived name conflict is
|
|
47
|
+
* detected, returns `ARCHIVED_CONFLICT` so the route prompts the
|
|
48
|
+
* client. When set, delegates to `resolveArchivedNameConflict`.
|
|
49
|
+
*/
|
|
50
|
+
readonly onConflict?: string;
|
|
51
|
+
/** Source wiring + admin-api SourceContext (for archived-conflict resolver). */
|
|
52
|
+
readonly source: SourceContext;
|
|
53
|
+
/** Authenticated principal driving this create. */
|
|
54
|
+
readonly principal: SavePrincipal;
|
|
55
|
+
/** Audit recorder bound to the request. */
|
|
56
|
+
readonly audit: SaveAuditRecorder;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Successful create — fresh page or restored-from-archive.
|
|
60
|
+
* `resolution` is set when the create resolved an archive conflict;
|
|
61
|
+
* absent for plain creates.
|
|
62
|
+
*/
|
|
63
|
+
export interface CreatePageOk {
|
|
64
|
+
readonly ok: true;
|
|
65
|
+
readonly name: string;
|
|
66
|
+
readonly resolution?: ArchivedNameConflictResult['kind'];
|
|
67
|
+
}
|
|
68
|
+
/** Live (non-archived) page already exists at `name`. */
|
|
69
|
+
export interface CreatePageLiveConflict {
|
|
70
|
+
readonly ok: false;
|
|
71
|
+
readonly code: 'LIVE_CONFLICT';
|
|
72
|
+
readonly name: string;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Archived page exists at `name`. Caller hadn't sent `?onConflict`
|
|
76
|
+
* → return the archive details so the client can prompt
|
|
77
|
+
* Restore / Replace / Move-aside per Soft-Delete Q5 I3.
|
|
78
|
+
*/
|
|
79
|
+
export interface CreatePageArchivedConflict {
|
|
80
|
+
readonly ok: false;
|
|
81
|
+
readonly code: 'ARCHIVED_CONFLICT';
|
|
82
|
+
readonly archive: {
|
|
83
|
+
readonly kind: 'page';
|
|
84
|
+
readonly name: string;
|
|
85
|
+
readonly archivedAt?: string;
|
|
86
|
+
readonly archivedBy?: string;
|
|
87
|
+
readonly aliasOf?: string;
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/** Caller sent `?onConflict=<unknown>`. Routes project to 400. */
|
|
91
|
+
export interface CreatePageInvalidMode {
|
|
92
|
+
readonly ok: false;
|
|
93
|
+
readonly code: 'INVALID_CONFLICT_MODE';
|
|
94
|
+
readonly mode: string;
|
|
95
|
+
}
|
|
96
|
+
export type CreatePageResult = CreatePageOk | CreatePageLiveConflict | CreatePageArchivedConflict | CreatePageInvalidMode;
|
|
97
|
+
/**
|
|
98
|
+
* Create a Page. Wraps the conflict-resolution decision tree + the
|
|
99
|
+
* fresh-create write path. Routes project the typed `CreatePageResult`
|
|
100
|
+
* to HTTP (200 / 400 / 409).
|
|
101
|
+
*/
|
|
102
|
+
export declare function createPage(input: CreatePageInput): Promise<CreatePageResult>;
|
|
103
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/pages/create.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAGL,KAAK,0BAA0B,EAChC,MAAM,wCAAwC,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAKnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAE3E;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,gFAAgF;IAChF,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,mDAAmD;IACnD,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;IACjC,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAA;IACjB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,0BAA0B,CAAC,MAAM,CAAC,CAAA;CACzD;AAED,yDAAyD;AACzD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;IAClB,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAA;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;IAClB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAC1B,CAAA;CACF;AAED,kEAAkE;AAClE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAA;IAClB,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAA;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,MAAM,gBAAgB,GACxB,YAAY,GACZ,sBAAsB,GACtB,0BAA0B,GAC1B,qBAAqB,CAAA;AAEzB;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmFlF"}
|