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
package/dist/providers/s3.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { S3Client, GetObjectCommand, PutObjectCommand, ListObjectsV2Command, HeadObjectCommand, DeleteObjectCommand, CreateBucketCommand, } from '@aws-sdk/client-s3';
|
|
2
|
+
import { Upload } from '@aws-sdk/lib-storage';
|
|
3
|
+
import { nodeReadableToWeb, webReadableToNode } from './_stream-interop.js';
|
|
2
4
|
export function createS3Provider(options) {
|
|
3
5
|
const client = new S3Client({
|
|
4
6
|
endpoint: options.endpoint,
|
|
@@ -76,13 +78,47 @@ export function createS3Provider(options) {
|
|
|
76
78
|
}
|
|
77
79
|
},
|
|
78
80
|
async writeFile(path, content) {
|
|
81
|
+
// Encode to Buffer so the SDK sees a known length and skips the
|
|
82
|
+
// "Stream of unknown length" warning. Same wire bytes either way —
|
|
83
|
+
// strings get UTF-8-encoded by the SDK on the way out, we're just
|
|
84
|
+
// doing it ourselves to make the length explicit.
|
|
85
|
+
const body = Buffer.from(content, 'utf-8');
|
|
79
86
|
await client.send(new PutObjectCommand({
|
|
80
87
|
Bucket: bucket,
|
|
81
88
|
Key: normalizePath(path),
|
|
82
|
-
Body:
|
|
89
|
+
Body: body,
|
|
90
|
+
ContentLength: body.length,
|
|
83
91
|
ContentType: 'text/plain; charset=utf-8',
|
|
84
92
|
}));
|
|
85
93
|
},
|
|
94
|
+
async readBytes(path) {
|
|
95
|
+
try {
|
|
96
|
+
const response = await client.send(new GetObjectCommand({ Bucket: bucket, Key: normalizePath(path) }));
|
|
97
|
+
if (!response.Body)
|
|
98
|
+
throw new Error(`Empty body for ${path}`);
|
|
99
|
+
// SDK's transformToByteArray is the canonical bytes accessor —
|
|
100
|
+
// single round-trip, no manual stream collection.
|
|
101
|
+
return await response.Body.transformToByteArray();
|
|
102
|
+
}
|
|
103
|
+
catch (err) {
|
|
104
|
+
const code = err.name;
|
|
105
|
+
if (code === 'NoSuchKey')
|
|
106
|
+
throw new Error(`File not found: ${path}`);
|
|
107
|
+
throw new Error(`Cannot read bytes from ${path}: ${err.message}`);
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
async writeBytes(path, content) {
|
|
111
|
+
// Single-PUT for bounded bytes. No multipart — that's writeStream's
|
|
112
|
+
// job for unbounded uploads. ContentLength is set explicitly so the
|
|
113
|
+
// SDK skips the "unknown length" warning.
|
|
114
|
+
const body = Buffer.from(content.buffer, content.byteOffset, content.byteLength);
|
|
115
|
+
await client.send(new PutObjectCommand({
|
|
116
|
+
Bucket: bucket,
|
|
117
|
+
Key: normalizePath(path),
|
|
118
|
+
Body: body,
|
|
119
|
+
ContentLength: body.length,
|
|
120
|
+
}));
|
|
121
|
+
},
|
|
86
122
|
async mkdir(_path) {
|
|
87
123
|
// S3 has no directories — implicit from key prefixes
|
|
88
124
|
},
|
|
@@ -101,6 +137,53 @@ export function createS3Provider(options) {
|
|
|
101
137
|
await client.send(new DeleteObjectCommand({ Bucket: bucket, Key: obj.Key }));
|
|
102
138
|
}
|
|
103
139
|
},
|
|
140
|
+
async readStream(path, range) {
|
|
141
|
+
const Key = normalizePath(path);
|
|
142
|
+
try {
|
|
143
|
+
const response = await client.send(new GetObjectCommand({
|
|
144
|
+
Bucket: bucket,
|
|
145
|
+
Key,
|
|
146
|
+
// RFC 9110 §14.1.2 — inclusive bytes range. Same semantics as `ByteRange`.
|
|
147
|
+
Range: range ? `bytes=${range.start}-${range.end}` : undefined,
|
|
148
|
+
}));
|
|
149
|
+
if (!response.Body)
|
|
150
|
+
throw new Error(`Empty body for ${path}`);
|
|
151
|
+
// In Node runtime the SDK returns Body as a Node Readable. The
|
|
152
|
+
// browser/edge build returns a web ReadableStream. We only run
|
|
153
|
+
// server-side (publish, dev-server, gazetta serve) — Node Readable
|
|
154
|
+
// is the deterministic path. Bridge to the lib-dom global so
|
|
155
|
+
// callers see one type regardless of provider.
|
|
156
|
+
return nodeReadableToWeb(response.Body);
|
|
157
|
+
}
|
|
158
|
+
catch (err) {
|
|
159
|
+
const code = err.name;
|
|
160
|
+
if (code === 'NoSuchKey')
|
|
161
|
+
throw new Error(`File not found: ${path}`);
|
|
162
|
+
throw new Error(`Cannot read stream from ${path}: ${err.message}`);
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
async writeStream(path, stream) {
|
|
166
|
+
const Key = normalizePath(path);
|
|
167
|
+
try {
|
|
168
|
+
// `Upload` is a hybrid — single-PUT below `partSize` (default 5 MiB),
|
|
169
|
+
// multipart above. Memory bound is `partSize × queueSize` (default
|
|
170
|
+
// 5 MiB × 4 = 20 MiB) regardless of total bytes, so a 4 GB video
|
|
171
|
+
// upload doesn't OOM. `abortOnFailure: true` (default) calls
|
|
172
|
+
// AbortMultipartUpload on error so we don't leak orphan parts.
|
|
173
|
+
const upload = new Upload({
|
|
174
|
+
client,
|
|
175
|
+
params: {
|
|
176
|
+
Bucket: bucket,
|
|
177
|
+
Key,
|
|
178
|
+
Body: webReadableToNode(stream),
|
|
179
|
+
},
|
|
180
|
+
});
|
|
181
|
+
await upload.done();
|
|
182
|
+
}
|
|
183
|
+
catch (err) {
|
|
184
|
+
throw new Error(`Cannot write stream to ${path}: ${err.message}`);
|
|
185
|
+
}
|
|
186
|
+
},
|
|
104
187
|
};
|
|
105
188
|
}
|
|
106
189
|
function normalizePath(path) {
|
package/dist/providers/s3.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../src/providers/s3.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"s3.js","sourceRoot":"","sources":["../../src/providers/s3.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Publish pipeline (per-item) — orchestrator for one Page or Fragment
|
|
3
|
+
* write to one Target.
|
|
4
|
+
*
|
|
5
|
+
* Today's `publish-rendered.ts` has 5 publish-* exports
|
|
6
|
+
* (`publishPageRendered`, `publishPageStatic`, `publishFragmentRendered`,
|
|
7
|
+
* `publishArchiveMarker`, `publishSiteManifest`) each repeating the same
|
|
8
|
+
* 13-step sequence: archive precheck → resolve → render → assemble →
|
|
9
|
+
* list-old-files → write-new → cleanup → write hash sidecar → write
|
|
10
|
+
* publish-state sidecar. Adding the soft-delete archive marker (Cut 3)
|
|
11
|
+
* had to land in three places. Adding scheduled-publish or review-state
|
|
12
|
+
* gates would too.
|
|
13
|
+
*
|
|
14
|
+
* `publishItemCore` is the seam that hides the orchestration. Per-kind
|
|
15
|
+
* wrappers (`publishPage`, `publishFragment` in pages/publish.ts +
|
|
16
|
+
* fragments/publish.ts — Cut 4) own kind-specific dispatch:
|
|
17
|
+
* page resolves render-mode from target.type (static vs esi vs dynamic);
|
|
18
|
+
* fragment has only one mode; archive short-circuit applies to both.
|
|
19
|
+
*
|
|
20
|
+
* Pipeline order is locked semantics, not configuration. Per-item:
|
|
21
|
+
*
|
|
22
|
+
* 1. (RESERVED) review-state precheck — Review Cut 5 (pending-review
|
|
23
|
+
* behavior at publish time)
|
|
24
|
+
* 2. archive precheck (isArchived → route to archive-marker renderer)
|
|
25
|
+
* 3. resolve item from preloadedSite (locale variant if applicable)
|
|
26
|
+
* 4. (RESERVED) dispatchBeforePublishItem hooks
|
|
27
|
+
* 5. invoke renderer (page-rendered / page-static / fragment-rendered /
|
|
28
|
+
* archive-marker)
|
|
29
|
+
* 6. assemble HTML + CSS + JS (per renderer's output)
|
|
30
|
+
* 7. list old hashed files at item dir
|
|
31
|
+
* 8. write new hashed files (per-file atomic via storage.writeFile;
|
|
32
|
+
* transient failures retry inline 3x with backoff)
|
|
33
|
+
* 9. write item HTML + content-hash sidecar (.{8hex}.hash)
|
|
34
|
+
* 10. cleanup oldFiles − newFiles
|
|
35
|
+
* 11. write publish-state sidecar (.pub-{ts}, includes noindex flag)
|
|
36
|
+
* 12. (RESERVED) dispatchAfterPublishItem hooks
|
|
37
|
+
* 13. return PublishItemResult
|
|
38
|
+
*
|
|
39
|
+
* Throws are reserved for storage transport failures after retries
|
|
40
|
+
* exhausted, AND for prerequisite breaches (caller must supply a
|
|
41
|
+
* preloadedSite and target init must have completed). Expected
|
|
42
|
+
* outcomes — NOT_FOUND / RENDER_FAILED / TEMPLATE_INVALID /
|
|
43
|
+
* VALIDATION_FAILED — are typed `PublishItemResult` variants.
|
|
44
|
+
*/
|
|
45
|
+
import type { CacheConfig, StorageProvider } from './types.js';
|
|
46
|
+
import type { Site } from './site-loader.js';
|
|
47
|
+
import type { ContentRoot } from './content-root.js';
|
|
48
|
+
import type { Issue } from './validation/types.js';
|
|
49
|
+
/**
|
|
50
|
+
* Discriminator for the kind of item being published. Spine is the
|
|
51
|
+
* same per kind; per-kind wrappers in `pages/publish.ts` and
|
|
52
|
+
* `fragments/publish.ts` carry the kind through to dispatch +
|
|
53
|
+
* sidecar + audit calls.
|
|
54
|
+
*/
|
|
55
|
+
export type PublishItemKind = 'page' | 'fragment';
|
|
56
|
+
/**
|
|
57
|
+
* Render mode the item is being published with. Resolved by
|
|
58
|
+
* per-kind wrappers from target.type + archive state:
|
|
59
|
+
* - `'page-rendered'` — ESI placeholders for `@fragment` refs;
|
|
60
|
+
* fragments composed at request time. Used for `esi` targets.
|
|
61
|
+
* - `'page-static'` — full-bake; fragments inlined into page HTML.
|
|
62
|
+
* Used for `static` targets and as the static fallback for
|
|
63
|
+
* `dynamic` targets.
|
|
64
|
+
* - `'fragment-rendered'` — fragment rendered standalone for ESI
|
|
65
|
+
* composition. Used for ALL fragment publishes regardless of
|
|
66
|
+
* target type.
|
|
67
|
+
* - `'archive-marker'` — body-skip; emit ONLY the HTML comment
|
|
68
|
+
* marker line so the worker reads first 200 bytes and
|
|
69
|
+
* short-circuits to 301/410 per design-soft-delete.md Q10.
|
|
70
|
+
*/
|
|
71
|
+
export type PublishRenderMode = 'page-rendered' | 'page-static' | 'fragment-rendered' | 'archive-marker';
|
|
72
|
+
/**
|
|
73
|
+
* Successful publish outcome. `files` and `removed` mirror today's
|
|
74
|
+
* publish-rendered return shape so consumers (CLI progress, admin
|
|
75
|
+
* SSE) need no projection.
|
|
76
|
+
*/
|
|
77
|
+
export interface PublishItemOk {
|
|
78
|
+
readonly kind: PublishItemKind;
|
|
79
|
+
readonly name: string;
|
|
80
|
+
readonly locale?: string;
|
|
81
|
+
readonly ok: true;
|
|
82
|
+
readonly mode: PublishRenderMode;
|
|
83
|
+
readonly files: number;
|
|
84
|
+
readonly removed: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Item not found at the source — caller passed a name that
|
|
88
|
+
* doesn't exist in the preloaded site. Routes/CLI project to a
|
|
89
|
+
* 404 / non-zero exit; orchestrator continues to next item per
|
|
90
|
+
* Q4 fail-soft.
|
|
91
|
+
*/
|
|
92
|
+
export interface PublishItemNotFound {
|
|
93
|
+
readonly kind: PublishItemKind;
|
|
94
|
+
readonly name: string;
|
|
95
|
+
readonly locale?: string;
|
|
96
|
+
readonly ok: false;
|
|
97
|
+
readonly code: 'NOT_FOUND';
|
|
98
|
+
readonly reason: string;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Renderer threw OR returned malformed output (non-string html,
|
|
102
|
+
* missing required field). Per design-rendering.md the renderer
|
|
103
|
+
* is best-effort; one bad page doesn't abort the run.
|
|
104
|
+
*/
|
|
105
|
+
export interface PublishItemRenderFailed {
|
|
106
|
+
readonly kind: PublishItemKind;
|
|
107
|
+
readonly name: string;
|
|
108
|
+
readonly locale?: string;
|
|
109
|
+
readonly ok: false;
|
|
110
|
+
readonly code: 'RENDER_FAILED';
|
|
111
|
+
readonly reason: string;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Template the item references is invalid (didn't pass scan).
|
|
115
|
+
* Run-level template scan happens once at boot per Q5 step 3;
|
|
116
|
+
* surface here for items that reference a scan-failed template.
|
|
117
|
+
*/
|
|
118
|
+
export interface PublishItemTemplateInvalid {
|
|
119
|
+
readonly kind: PublishItemKind;
|
|
120
|
+
readonly name: string;
|
|
121
|
+
readonly locale?: string;
|
|
122
|
+
readonly ok: false;
|
|
123
|
+
readonly code: 'TEMPLATE_INVALID';
|
|
124
|
+
readonly reason: string;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Pre-publish validators (per validation Cut 4) emitted blocking
|
|
128
|
+
* issues for this item. Caller (orchestrator) decides whether to
|
|
129
|
+
* include validators in the per-item run; today admin's POST
|
|
130
|
+
* /api/publish/audit gates separately.
|
|
131
|
+
*/
|
|
132
|
+
export interface PublishItemValidationFailed {
|
|
133
|
+
readonly kind: PublishItemKind;
|
|
134
|
+
readonly name: string;
|
|
135
|
+
readonly locale?: string;
|
|
136
|
+
readonly ok: false;
|
|
137
|
+
readonly code: 'VALIDATION_FAILED';
|
|
138
|
+
readonly issues: readonly Issue[];
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Storage write retries exhausted (transport blip). Item-level
|
|
142
|
+
* fail-soft per Q4; run continues with next item.
|
|
143
|
+
*/
|
|
144
|
+
export interface PublishItemStorageWriteFailed {
|
|
145
|
+
readonly kind: PublishItemKind;
|
|
146
|
+
readonly name: string;
|
|
147
|
+
readonly locale?: string;
|
|
148
|
+
readonly ok: false;
|
|
149
|
+
readonly code: 'STORAGE_WRITE_FAILED';
|
|
150
|
+
readonly reason: string;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Typed union of expected per-item publish outcomes. Routes/CLI
|
|
154
|
+
* `switch` exhaustively to project to wire shape (HTTP / SSE /
|
|
155
|
+
* stdout). Adding a variant produces a TS error at every
|
|
156
|
+
* consumer — intentional, per Q1 lock.
|
|
157
|
+
*/
|
|
158
|
+
export type PublishItemResult = PublishItemOk | PublishItemNotFound | PublishItemRenderFailed | PublishItemTemplateInvalid | PublishItemValidationFailed | PublishItemStorageWriteFailed;
|
|
159
|
+
/**
|
|
160
|
+
* Inputs to `publishItemCore`. Carries the resolved render-mode
|
|
161
|
+
* decision (per-kind wrappers compute it from target.type +
|
|
162
|
+
* archive state) plus the renderer strategy that owns mode-specific
|
|
163
|
+
* assembly.
|
|
164
|
+
*/
|
|
165
|
+
export interface PublishItemInput {
|
|
166
|
+
readonly kind: PublishItemKind;
|
|
167
|
+
readonly name: string;
|
|
168
|
+
readonly locale?: string;
|
|
169
|
+
/** Render mode resolved by per-kind wrapper before calling core. */
|
|
170
|
+
readonly mode: PublishRenderMode;
|
|
171
|
+
/** Loaded site, shared across the publish run (loaded ONCE in publishRun). */
|
|
172
|
+
readonly site: Site;
|
|
173
|
+
/** Source content tree the item is read from. */
|
|
174
|
+
readonly sourceRoot: ContentRoot;
|
|
175
|
+
/** Target storage being published TO. */
|
|
176
|
+
readonly target: PublishTarget;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Per-target context. Mirrors the relevant subset of `TargetConfig`
|
|
180
|
+
* + provider handle without importing the admin-api boundary type.
|
|
181
|
+
* `publishRun` builds this once per target during boot phase 6
|
|
182
|
+
* (init target storage); per-item core consumes it.
|
|
183
|
+
*/
|
|
184
|
+
export interface PublishTarget {
|
|
185
|
+
readonly name: string;
|
|
186
|
+
readonly storage: StorageProvider;
|
|
187
|
+
/** Target type resolved per design-rendering.md (static / esi / dynamic). */
|
|
188
|
+
readonly type: 'static' | 'esi' | 'dynamic';
|
|
189
|
+
/**
|
|
190
|
+
* Optional per-target manifest content hash for the item being
|
|
191
|
+
* published. publishRun precomputes via hashManifest so per-item
|
|
192
|
+
* core doesn't recompute.
|
|
193
|
+
*/
|
|
194
|
+
readonly manifestHash?: string;
|
|
195
|
+
/** Optional SEO context for fallback-chain rendering. */
|
|
196
|
+
readonly seo?: import('./seo.js').SeoContext;
|
|
197
|
+
/** Optional target-level cache config (browser / edge TTL); page-level overrides win in renderer. */
|
|
198
|
+
readonly cache?: CacheConfig;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Publish pipeline orchestrator (per-item) — Cut 3.
|
|
202
|
+
*
|
|
203
|
+
* Ports the 13-step spine from `publish-rendered.ts`'s 5 publish-*
|
|
204
|
+
* functions. Mode dispatch (page-rendered / page-static /
|
|
205
|
+
* fragment-rendered / archive-marker) consumes pure-fn renderers
|
|
206
|
+
* from `publish-renderers.ts` (Cut 2). Storage I/O + sidecar writes
|
|
207
|
+
* + cleanup live here.
|
|
208
|
+
*
|
|
209
|
+
* Pipeline sequence (locked per Q5):
|
|
210
|
+
*
|
|
211
|
+
* 1. (RESERVED) review-state precheck — Review Cut 5
|
|
212
|
+
* 2. archive precheck — `mode: 'archive-marker'` → renderArchiveMarker
|
|
213
|
+
* 3. resolve item from preloadedSite (NOT_FOUND if missing)
|
|
214
|
+
* 4. (RESERVED) dispatchBeforePublishItem hooks
|
|
215
|
+
* 5. invoke renderer (mode dispatch)
|
|
216
|
+
* 6-7. (renderer produces RenderOutput; assembly + hashing internal)
|
|
217
|
+
* 8. list old hashed files
|
|
218
|
+
* 9. mkdir + write index file + write hashed files
|
|
219
|
+
* 10. cleanup oldFiles − newFiles
|
|
220
|
+
* 11. write content-hash + publish-state sidecars
|
|
221
|
+
* 12. (RESERVED) dispatchAfterPublishItem hooks
|
|
222
|
+
* 13. return PublishItemResult
|
|
223
|
+
*/
|
|
224
|
+
export declare function publishItemCore(input: PublishItemInput): Promise<PublishItemResult>;
|
|
225
|
+
//# sourceMappingURL=publish-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-item.d.ts","sourceRoot":"","sources":["../src/publish-item.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Publish pipeline (per-item) — orchestrator for one Page or Fragment
|
|
3
|
+
* write to one Target.
|
|
4
|
+
*
|
|
5
|
+
* Today's `publish-rendered.ts` has 5 publish-* exports
|
|
6
|
+
* (`publishPageRendered`, `publishPageStatic`, `publishFragmentRendered`,
|
|
7
|
+
* `publishArchiveMarker`, `publishSiteManifest`) each repeating the same
|
|
8
|
+
* 13-step sequence: archive precheck → resolve → render → assemble →
|
|
9
|
+
* list-old-files → write-new → cleanup → write hash sidecar → write
|
|
10
|
+
* publish-state sidecar. Adding the soft-delete archive marker (Cut 3)
|
|
11
|
+
* had to land in three places. Adding scheduled-publish or review-state
|
|
12
|
+
* gates would too.
|
|
13
|
+
*
|
|
14
|
+
* `publishItemCore` is the seam that hides the orchestration. Per-kind
|
|
15
|
+
* wrappers (`publishPage`, `publishFragment` in pages/publish.ts +
|
|
16
|
+
* fragments/publish.ts — Cut 4) own kind-specific dispatch:
|
|
17
|
+
* page resolves render-mode from target.type (static vs esi vs dynamic);
|
|
18
|
+
* fragment has only one mode; archive short-circuit applies to both.
|
|
19
|
+
*
|
|
20
|
+
* Pipeline order is locked semantics, not configuration. Per-item:
|
|
21
|
+
*
|
|
22
|
+
* 1. (RESERVED) review-state precheck — Review Cut 5 (pending-review
|
|
23
|
+
* behavior at publish time)
|
|
24
|
+
* 2. archive precheck (isArchived → route to archive-marker renderer)
|
|
25
|
+
* 3. resolve item from preloadedSite (locale variant if applicable)
|
|
26
|
+
* 4. (RESERVED) dispatchBeforePublishItem hooks
|
|
27
|
+
* 5. invoke renderer (page-rendered / page-static / fragment-rendered /
|
|
28
|
+
* archive-marker)
|
|
29
|
+
* 6. assemble HTML + CSS + JS (per renderer's output)
|
|
30
|
+
* 7. list old hashed files at item dir
|
|
31
|
+
* 8. write new hashed files (per-file atomic via storage.writeFile;
|
|
32
|
+
* transient failures retry inline 3x with backoff)
|
|
33
|
+
* 9. write item HTML + content-hash sidecar (.{8hex}.hash)
|
|
34
|
+
* 10. cleanup oldFiles − newFiles
|
|
35
|
+
* 11. write publish-state sidecar (.pub-{ts}, includes noindex flag)
|
|
36
|
+
* 12. (RESERVED) dispatchAfterPublishItem hooks
|
|
37
|
+
* 13. return PublishItemResult
|
|
38
|
+
*
|
|
39
|
+
* Throws are reserved for storage transport failures after retries
|
|
40
|
+
* exhausted, AND for prerequisite breaches (caller must supply a
|
|
41
|
+
* preloadedSite and target init must have completed). Expected
|
|
42
|
+
* outcomes — NOT_FOUND / RENDER_FAILED / TEMPLATE_INVALID /
|
|
43
|
+
* VALIDATION_FAILED — are typed `PublishItemResult` variants.
|
|
44
|
+
*/
|
|
45
|
+
import { renderArchiveMarker, renderFragmentRendered, renderPageStatic, renderPageWithEsi, } from './publish-renderers.js';
|
|
46
|
+
import { writeSidecars } from './sidecars.js';
|
|
47
|
+
/** List existing hashed files at item dir (for cleanup). */
|
|
48
|
+
async function listHashedFiles(storage, dir) {
|
|
49
|
+
try {
|
|
50
|
+
const entries = await storage.readDir(dir);
|
|
51
|
+
return entries
|
|
52
|
+
.filter(e => !e.isDirectory && /\.(css|js)$/.test(e.name) && /\.[a-f0-9]{8}\./.test(e.name))
|
|
53
|
+
.map(e => `${dir}/${e.name}`);
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return [];
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/** Delete files from oldFiles[] not in newFiles[]; return removed count. */
|
|
60
|
+
async function cleanupOldFiles(storage, oldFiles, newFiles) {
|
|
61
|
+
const newSet = new Set(newFiles);
|
|
62
|
+
let removed = 0;
|
|
63
|
+
for (const file of oldFiles) {
|
|
64
|
+
if (!newSet.has(file)) {
|
|
65
|
+
try {
|
|
66
|
+
await storage.rm(file);
|
|
67
|
+
removed++;
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
/* already gone */
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return removed;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Item dir resolution per render mode. ESI + fragment + archive write
|
|
78
|
+
* under `pages/{name}/` or `fragments/{name}/`; static-mode pages
|
|
79
|
+
* write to URL-derived path (`/about` → `about/index.html`). Static
|
|
80
|
+
* mode is handled by `pages/publish.ts` Cut 4 — core treats all kinds
|
|
81
|
+
* uniformly under `{kind}s/{name}/`.
|
|
82
|
+
*/
|
|
83
|
+
function itemDir(kind, name) {
|
|
84
|
+
return `${kind === 'page' ? 'pages' : 'fragments'}/${name}`;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Publish pipeline orchestrator (per-item) — Cut 3.
|
|
88
|
+
*
|
|
89
|
+
* Ports the 13-step spine from `publish-rendered.ts`'s 5 publish-*
|
|
90
|
+
* functions. Mode dispatch (page-rendered / page-static /
|
|
91
|
+
* fragment-rendered / archive-marker) consumes pure-fn renderers
|
|
92
|
+
* from `publish-renderers.ts` (Cut 2). Storage I/O + sidecar writes
|
|
93
|
+
* + cleanup live here.
|
|
94
|
+
*
|
|
95
|
+
* Pipeline sequence (locked per Q5):
|
|
96
|
+
*
|
|
97
|
+
* 1. (RESERVED) review-state precheck — Review Cut 5
|
|
98
|
+
* 2. archive precheck — `mode: 'archive-marker'` → renderArchiveMarker
|
|
99
|
+
* 3. resolve item from preloadedSite (NOT_FOUND if missing)
|
|
100
|
+
* 4. (RESERVED) dispatchBeforePublishItem hooks
|
|
101
|
+
* 5. invoke renderer (mode dispatch)
|
|
102
|
+
* 6-7. (renderer produces RenderOutput; assembly + hashing internal)
|
|
103
|
+
* 8. list old hashed files
|
|
104
|
+
* 9. mkdir + write index file + write hashed files
|
|
105
|
+
* 10. cleanup oldFiles − newFiles
|
|
106
|
+
* 11. write content-hash + publish-state sidecars
|
|
107
|
+
* 12. (RESERVED) dispatchAfterPublishItem hooks
|
|
108
|
+
* 13. return PublishItemResult
|
|
109
|
+
*/
|
|
110
|
+
export async function publishItemCore(input) {
|
|
111
|
+
const { kind, name, locale, mode, site, target } = input;
|
|
112
|
+
// Step 3 — resolve item. Mode dispatch reads from site.pages /
|
|
113
|
+
// site.fragments to verify existence; renderers do their own lookup
|
|
114
|
+
// but we surface NOT_FOUND here (via typed result) before render.
|
|
115
|
+
const map = kind === 'page' ? site.pages : site.fragments;
|
|
116
|
+
const item = map.get(name);
|
|
117
|
+
if (!item) {
|
|
118
|
+
return {
|
|
119
|
+
kind,
|
|
120
|
+
name,
|
|
121
|
+
locale,
|
|
122
|
+
ok: false,
|
|
123
|
+
code: 'NOT_FOUND',
|
|
124
|
+
reason: `${kind === 'page' ? 'Page' : 'Fragment'} "${name}" not found in source`,
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
// Step 5 — invoke renderer per mode. Each renderer is pure;
|
|
128
|
+
// assembly + hashing happen inside.
|
|
129
|
+
let output;
|
|
130
|
+
try {
|
|
131
|
+
if (mode === 'archive-marker') {
|
|
132
|
+
// Step 2 — archive precheck materializes here. Renderer reads
|
|
133
|
+
// aliasOf directly; caller (per-kind wrapper) chose this mode
|
|
134
|
+
// because isArchived(item) was true.
|
|
135
|
+
output = renderArchiveMarker(item, locale);
|
|
136
|
+
}
|
|
137
|
+
else if (mode === 'page-rendered') {
|
|
138
|
+
const ctx = { site, locale, seo: target.seo, targetCache: target.cache };
|
|
139
|
+
output = await renderPageWithEsi(name, ctx);
|
|
140
|
+
}
|
|
141
|
+
else if (mode === 'page-static') {
|
|
142
|
+
const ctx = { site, locale, seo: target.seo, targetCache: target.cache };
|
|
143
|
+
output = await renderPageStatic(name, ctx);
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
// fragment-rendered
|
|
147
|
+
const ctx = { site, locale };
|
|
148
|
+
output = await renderFragmentRendered(name, ctx);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
catch (err) {
|
|
152
|
+
// Renderer threw (template SSR fail, malformed manifest). Surface
|
|
153
|
+
// as RENDER_FAILED per Q4 fail-soft — orchestrator continues with
|
|
154
|
+
// next item.
|
|
155
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
156
|
+
return { kind, name, locale, ok: false, code: 'RENDER_FAILED', reason };
|
|
157
|
+
}
|
|
158
|
+
// Step 8 — list old hashed files at item dir for cleanup pass below.
|
|
159
|
+
// Static-mode page writes use URL-derived paths handled by per-kind
|
|
160
|
+
// wrapper (Cut 4); core's cleanup applies to ESI / fragment /
|
|
161
|
+
// archive layouts under `{kind}s/{name}/`.
|
|
162
|
+
const dir = itemDir(kind, name);
|
|
163
|
+
const oldFiles = await listHashedFiles(target.storage, dir);
|
|
164
|
+
const newFiles = [];
|
|
165
|
+
// Step 9 — mkdir, write index, write hashed files. Per-file atomic
|
|
166
|
+
// via storage.writeFile; surface storage failures as
|
|
167
|
+
// STORAGE_WRITE_FAILED per Q4.
|
|
168
|
+
try {
|
|
169
|
+
await target.storage.mkdir(dir);
|
|
170
|
+
await target.storage.writeFile(`${dir}/${output.indexFile}`, output.indexHtml);
|
|
171
|
+
let fileCount = 1; // index file
|
|
172
|
+
for (const f of output.files) {
|
|
173
|
+
await target.storage.writeFile(f.path, f.content);
|
|
174
|
+
newFiles.push(f.path);
|
|
175
|
+
fileCount++;
|
|
176
|
+
}
|
|
177
|
+
// Step 10 — cleanup old hashed files not in newFiles.
|
|
178
|
+
const removed = await cleanupOldFiles(target.storage, oldFiles, newFiles);
|
|
179
|
+
// Step 11 — sidecars (hash + publish-state). Skipped when caller
|
|
180
|
+
// doesn't pass manifestHash (CLI / tests sometimes omit). Archive
|
|
181
|
+
// marker forces noindex: true; live pages read it from
|
|
182
|
+
// metadata.robots; fragments don't carry pub state at all.
|
|
183
|
+
if (target.manifestHash) {
|
|
184
|
+
// Pages can declare noindex via metadata.robots; fragments have no
|
|
185
|
+
// metadata field. Archive marker always forces noindex.
|
|
186
|
+
const pageMeta = kind === 'page' ? item.metadata : undefined;
|
|
187
|
+
const noindex = output.archived ? true : !!pageMeta?.robots?.includes('noindex');
|
|
188
|
+
await writeSidecars(target.storage, dir, {
|
|
189
|
+
hash: target.manifestHash,
|
|
190
|
+
// Fragments don't get pub-state sidecars (they're composition
|
|
191
|
+
// primitives, not addressable URLs). Pages always get one.
|
|
192
|
+
pub: kind === 'page' ? { lastPublished: new Date().toISOString(), noindex } : null,
|
|
193
|
+
}, locale);
|
|
194
|
+
}
|
|
195
|
+
return {
|
|
196
|
+
kind,
|
|
197
|
+
name,
|
|
198
|
+
locale,
|
|
199
|
+
ok: true,
|
|
200
|
+
mode,
|
|
201
|
+
files: fileCount,
|
|
202
|
+
removed,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
catch (err) {
|
|
206
|
+
const reason = err instanceof Error ? err.message : String(err);
|
|
207
|
+
return { kind, name, locale, ok: false, code: 'STORAGE_WRITE_FAILED', reason };
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=publish-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish-item.js","sourceRoot":"","sources":["../src/publish-item.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { StorageProvider, PurgeStrategy, CacheConfig } from './types.js';
|
|
2
2
|
import type { Site } from './site-loader.js';
|
|
3
3
|
import { type ContentRoot } from './content-root.js';
|
|
4
|
+
import type { DepRelation } from './dep-sidecars.js';
|
|
4
5
|
/**
|
|
5
6
|
* Publish a page as HTML with ESI placeholders for fragments.
|
|
6
7
|
* Local components are baked in. Fragment markup is replaced at request time by the worker.
|
|
@@ -41,26 +42,45 @@ locale?: string): Promise<{
|
|
|
41
42
|
*/
|
|
42
43
|
export declare function publishSiteManifest(sourceRoot: ContentRoot, targetStorage: StorageProvider, preloadedSite?: Site): Promise<void>;
|
|
43
44
|
/**
|
|
44
|
-
*
|
|
45
|
-
*
|
|
45
|
+
* Rebuild a dep-sidecar index on the destination for one relation.
|
|
46
|
+
*
|
|
47
|
+
* Walks every page + fragment manifest (including locale variants) from
|
|
48
|
+
* the source site and writes per-edge sidecars at
|
|
49
|
+
* `{dest}/.gazetta/{rel.rootName}/{target}/{item}`. Wipes the existing
|
|
50
|
+
* index dir first to avoid stale entries from previous runs.
|
|
51
|
+
*
|
|
52
|
+
* Used by:
|
|
53
|
+
* - publish flow (CLI + admin route) at end of publish, once per relation
|
|
54
|
+
* - reindex CLI for source-side recovery
|
|
55
|
+
* - history-restorer after rollback
|
|
56
|
+
*
|
|
57
|
+
* Why rebuild rather than incremental: a full rebuild is one walk +
|
|
58
|
+
* N zero-byte writes — simpler than tracking diffs against the dest's
|
|
59
|
+
* prior state and equally fast for typical sites.
|
|
46
60
|
*/
|
|
47
|
-
export declare function
|
|
48
|
-
/** Purge via Cloudflare zone cache API */
|
|
49
|
-
export declare function createCloudflarePurge(zoneId: string, apiToken: string): PurgeStrategy;
|
|
50
|
-
/** Look up Cloudflare zone ID from a site URL */
|
|
51
|
-
export declare function lookupCloudflareZoneId(siteUrl: string, apiToken: string): Promise<string | null>;
|
|
61
|
+
export declare function rebuildDepIndex(rel: DepRelation, sourceSite: Site, destStorage: StorageProvider, destRootPath?: string): Promise<void>;
|
|
52
62
|
/**
|
|
53
|
-
*
|
|
63
|
+
* Backwards-compatible alias for the single-relation asset-refs rebuild.
|
|
64
|
+
* Kept until callers (history-restorer, reindex CLI) migrate to the
|
|
65
|
+
* generic `rebuildDepIndex(rel, …)` shape.
|
|
54
66
|
*/
|
|
55
|
-
export declare function
|
|
56
|
-
files: number;
|
|
57
|
-
purgedUrls: string[];
|
|
58
|
-
}>;
|
|
67
|
+
export declare function rebuildAssetRefsIndex(sourceSite: Site, destStorage: StorageProvider, destRootPath?: string): Promise<void>;
|
|
59
68
|
/**
|
|
60
|
-
* Publish
|
|
69
|
+
* Publish-flow wrapper: load the site if needed and rebuild every
|
|
70
|
+
* dep-sidecar index on the target. Run once per publish (alongside
|
|
71
|
+
* `publishSiteManifest`). Indices rebuilt:
|
|
72
|
+
* - asset-refs (queried by delete-block check, library usage panel)
|
|
73
|
+
* - fragment-deps (queried by `findFragmentDependents` for the
|
|
74
|
+
* publish-UI blast radius and fragment cache-purge URL lookup)
|
|
61
75
|
*/
|
|
62
|
-
export declare function
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
76
|
+
export declare function publishDepIndices(sourceRoot: ContentRoot, targetStorage: StorageProvider, preloadedSite?: Site): Promise<void>;
|
|
77
|
+
/**
|
|
78
|
+
* Backwards-compatible single-relation wrapper. New callers should use
|
|
79
|
+
* `publishDepIndices` to get both indices rebuilt in one walk.
|
|
80
|
+
*/
|
|
81
|
+
export declare function publishAssetRefsIndex(sourceRoot: ContentRoot, targetStorage: StorageProvider, preloadedSite?: Site): Promise<void>;
|
|
82
|
+
/** Purge via Cloudflare zone cache API */
|
|
83
|
+
export declare function createCloudflarePurge(zoneId: string, apiToken: string): PurgeStrategy;
|
|
84
|
+
/** Look up Cloudflare zone ID from a site URL */
|
|
85
|
+
export declare function lookupCloudflareZoneId(siteUrl: string, apiToken: string): Promise<string | null>;
|
|
66
86
|
//# sourceMappingURL=publish-rendered.d.ts.map
|