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,127 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reverse-rooted dependency sidecars — per-edge zero-byte index for
|
|
3
|
+
* "which items depend on this target?" queries.
|
|
4
|
+
*
|
|
5
|
+
* Shape:
|
|
6
|
+
* `{root}/.gazetta/{relation-root}/{target}/{encoded-source-item}`
|
|
7
|
+
*
|
|
8
|
+
* Where:
|
|
9
|
+
* - `{relation-root}` is the directory name for the relationship kind
|
|
10
|
+
* (e.g. `asset-refs`, `fragment-deps`)
|
|
11
|
+
* - `{target}` is the depended-upon name (asset name, fragment name, …),
|
|
12
|
+
* slashes encoded via `encodeRefName`
|
|
13
|
+
* - `{encoded-source-item}` is `pages.{name}` or `fragments.{name}`,
|
|
14
|
+
* with `/` → `.` and an optional `:locale` suffix for locale variants
|
|
15
|
+
*
|
|
16
|
+
* Files are zero bytes. Existence is the index.
|
|
17
|
+
*
|
|
18
|
+
* Why per-edge sidecars over an aggregate JSON file:
|
|
19
|
+
* - Multi-instance correctness: two admin instances saving different
|
|
20
|
+
* items both adding refs to `hero` write to *different paths*. No
|
|
21
|
+
* race, no optimistic concurrency, no retry. Granularity solves the
|
|
22
|
+
* write-contention problem an aggregate JSON would face.
|
|
23
|
+
* - Pattern consistency: matches the existing `.gazetta/` namespace
|
|
24
|
+
* for runtime-never-served metadata.
|
|
25
|
+
* - Self-sufficient targets: same shape on source AND target so any
|
|
26
|
+
* target promoted to source is immediately usable.
|
|
27
|
+
*
|
|
28
|
+
* Single responsibility: filename encoding + per-target directory I/O.
|
|
29
|
+
* Save handlers, publish flow, and reindex CLI compose this with their
|
|
30
|
+
* own walks.
|
|
31
|
+
*/
|
|
32
|
+
import type { ContentRoot } from './content-root.js';
|
|
33
|
+
/**
|
|
34
|
+
* Loose manifest shape for `extract` callers. Page/fragment manifests
|
|
35
|
+
* (with their inline-component descendants) all satisfy this. Avoids
|
|
36
|
+
* coupling the generic dep-sidecar module to a specific manifest type.
|
|
37
|
+
*/
|
|
38
|
+
export type ManifestLike = {
|
|
39
|
+
readonly template?: string;
|
|
40
|
+
readonly content?: Record<string, unknown>;
|
|
41
|
+
readonly components?: readonly unknown[];
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* One kind of reverse dependency: a domain-specific extractor + the
|
|
45
|
+
* directory under `.gazetta/` where its sidecars live.
|
|
46
|
+
*
|
|
47
|
+
* Each shipping relation is a module-level constant (see
|
|
48
|
+
* `assets/asset-deps.ts`, `fragment-deps.ts`). Add a new relation by
|
|
49
|
+
* declaring another constant; this module needs no changes.
|
|
50
|
+
*/
|
|
51
|
+
export interface DepRelation {
|
|
52
|
+
/** Directory name under `.gazetta/`, e.g. `asset-refs`, `fragment-deps`. */
|
|
53
|
+
readonly rootName: string;
|
|
54
|
+
/**
|
|
55
|
+
* Extract the set of target names this manifest depends on. Pure;
|
|
56
|
+
* implementations must not perform I/O.
|
|
57
|
+
*
|
|
58
|
+
* Examples:
|
|
59
|
+
* - asset-refs: walks content for `_asset` refs
|
|
60
|
+
* - fragment-deps: walks components for `@fragment` refs
|
|
61
|
+
* - template-deps (if added): emits the manifest's `template` field
|
|
62
|
+
*/
|
|
63
|
+
readonly extract: (manifest: ManifestLike) => Set<string>;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Identity of a depending item. Distinct entries for each locale variant
|
|
67
|
+
* (per design-media.md → i18n: "Each referencing manifest, including
|
|
68
|
+
* locale variants, is a separate entry").
|
|
69
|
+
*/
|
|
70
|
+
export interface ItemRef {
|
|
71
|
+
source: 'page' | 'fragment';
|
|
72
|
+
/** Bare item name, e.g. `home` or `blog/[slug]`. */
|
|
73
|
+
name: string;
|
|
74
|
+
/** Locale code for locale variants; absent for the default-locale manifest. */
|
|
75
|
+
locale?: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Encode an `ItemRef` into a sidecar filename.
|
|
79
|
+
* { source: 'page', name: 'home' } → 'pages.home'
|
|
80
|
+
* { source: 'page', name: 'blog/[slug]' } → 'pages.blog.[slug]'
|
|
81
|
+
* { source: 'fragment', name: 'header', locale: 'fr' } → 'fragments.header:fr'
|
|
82
|
+
*/
|
|
83
|
+
export declare function itemRefToFilename(ref: ItemRef): string;
|
|
84
|
+
/**
|
|
85
|
+
* Parse a sidecar filename back to an `ItemRef`. Returns null for any
|
|
86
|
+
* filename that doesn't match the encoding shape so unrelated files
|
|
87
|
+
* accidentally placed in the directory don't poison reads.
|
|
88
|
+
*/
|
|
89
|
+
export declare function filenameToItemRef(filename: string): ItemRef | null;
|
|
90
|
+
/** Directory path for one target's sidecars under a relation. */
|
|
91
|
+
export declare function depDir(rel: DepRelation, contentRoot: ContentRoot, targetName: string): string;
|
|
92
|
+
/** Path of one sidecar file inside its target's directory. */
|
|
93
|
+
export declare function depSidecarPath(rel: DepRelation, contentRoot: ContentRoot, targetName: string, item: ItemRef): string;
|
|
94
|
+
/**
|
|
95
|
+
* Read all `ItemRef`s currently sidecar-indexed for `targetName`.
|
|
96
|
+
* Returns empty when the directory is missing (no deps, or freshly-
|
|
97
|
+
* created site).
|
|
98
|
+
*/
|
|
99
|
+
export declare function readDepsFor(rel: DepRelation, contentRoot: ContentRoot, targetName: string): Promise<ItemRef[]>;
|
|
100
|
+
/**
|
|
101
|
+
* Apply the diff for one item's deps in this relation.
|
|
102
|
+
*
|
|
103
|
+
* For each target in `oldTargets ∪ newTargets`:
|
|
104
|
+
* - If new and not old → write the sidecar file (creating the target dir)
|
|
105
|
+
* - If old and not new → remove the sidecar file
|
|
106
|
+
* - If both or neither → no I/O
|
|
107
|
+
*
|
|
108
|
+
* Sidecar writes are idempotent (zero-byte files at fixed paths), so
|
|
109
|
+
* concurrent writes from multiple admin instances converge to the same
|
|
110
|
+
* final state. The diff is per (item × target): each instance's save
|
|
111
|
+
* updates only the sidecars for the item it just wrote.
|
|
112
|
+
*/
|
|
113
|
+
export declare function applyDepDiff(rel: DepRelation, contentRoot: ContentRoot, item: ItemRef, oldTargets: ReadonlySet<string>, newTargets: ReadonlySet<string>): Promise<void>;
|
|
114
|
+
/**
|
|
115
|
+
* Rebuild the deps sidecars for one item by diffing old vs new manifest
|
|
116
|
+
* via the relation's `extract` function.
|
|
117
|
+
*
|
|
118
|
+
* Use cases:
|
|
119
|
+
* - Save handler: pass `oldManifest` (loaded for history-recording);
|
|
120
|
+
* module re-extracts both old and new dep sets.
|
|
121
|
+
* - Reindex CLI: pass `oldManifest = null` to write fresh sidecars
|
|
122
|
+
* for every dep the item now references.
|
|
123
|
+
* - Delete handler: pass `newManifest = null` to tear down all this
|
|
124
|
+
* item's sidecars in this relation.
|
|
125
|
+
*/
|
|
126
|
+
export declare function rebuildItemDeps(rel: DepRelation, contentRoot: ContentRoot, item: ItemRef, oldManifest: ManifestLike | null, newManifest: ManifestLike | null): Promise<void>;
|
|
127
|
+
//# sourceMappingURL=dep-sidecars.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dep-sidecars.d.ts","sourceRoot":"","sources":["../src/dep-sidecars.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAGpD;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;CACzC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,GAAG,CAAC,MAAM,CAAC,CAAA;CAC1D;AAED;;;;GAIG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,GAAG,UAAU,CAAA;IAC3B,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAA;IACZ,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAKtD;AAID;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CASlE;AAED,iEAAiE;AACjE,wBAAgB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7F;AAED,8DAA8D;AAC9D,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,CAEpH;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAiBpH;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,EAChB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,EAC/B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,GAC9B,OAAO,CAAC,IAAI,CAAC,CAWf;AAgBD;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,WAAW,EAChB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,YAAY,GAAG,IAAI,EAChC,WAAW,EAAE,YAAY,GAAG,IAAI,GAC/B,OAAO,CAAC,IAAI,CAAC,CAIf"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { encodeRefName } from './hash.js';
|
|
2
|
+
/**
|
|
3
|
+
* Encode an `ItemRef` into a sidecar filename.
|
|
4
|
+
* { source: 'page', name: 'home' } → 'pages.home'
|
|
5
|
+
* { source: 'page', name: 'blog/[slug]' } → 'pages.blog.[slug]'
|
|
6
|
+
* { source: 'fragment', name: 'header', locale: 'fr' } → 'fragments.header:fr'
|
|
7
|
+
*/
|
|
8
|
+
export function itemRefToFilename(ref) {
|
|
9
|
+
const prefix = ref.source === 'page' ? 'pages' : 'fragments';
|
|
10
|
+
const encodedName = encodeRefName(ref.name);
|
|
11
|
+
const base = `${prefix}.${encodedName}`;
|
|
12
|
+
return ref.locale ? `${base}:${ref.locale}` : base;
|
|
13
|
+
}
|
|
14
|
+
const FILENAME_RE = /^(pages|fragments)\.(.+?)(?::([a-z]{2}(?:-[a-z]+)?))?$/;
|
|
15
|
+
/**
|
|
16
|
+
* Parse a sidecar filename back to an `ItemRef`. Returns null for any
|
|
17
|
+
* filename that doesn't match the encoding shape so unrelated files
|
|
18
|
+
* accidentally placed in the directory don't poison reads.
|
|
19
|
+
*/
|
|
20
|
+
export function filenameToItemRef(filename) {
|
|
21
|
+
const m = FILENAME_RE.exec(filename);
|
|
22
|
+
if (!m)
|
|
23
|
+
return null;
|
|
24
|
+
const source = m[1] === 'pages' ? 'page' : 'fragment';
|
|
25
|
+
// Decode `.` → `/` to recover the original name. encodeRefName rejects
|
|
26
|
+
// dots in input, so this is unambiguous: every `.` came from a slash.
|
|
27
|
+
const name = m[2].replace(/\./g, '/');
|
|
28
|
+
const locale = m[3];
|
|
29
|
+
return locale ? { source, name, locale } : { source, name };
|
|
30
|
+
}
|
|
31
|
+
/** Directory path for one target's sidecars under a relation. */
|
|
32
|
+
export function depDir(rel, contentRoot, targetName) {
|
|
33
|
+
return contentRoot.path('.gazetta', rel.rootName, encodeRefName(targetName));
|
|
34
|
+
}
|
|
35
|
+
/** Path of one sidecar file inside its target's directory. */
|
|
36
|
+
export function depSidecarPath(rel, contentRoot, targetName, item) {
|
|
37
|
+
return contentRoot.path('.gazetta', rel.rootName, encodeRefName(targetName), itemRefToFilename(item));
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Read all `ItemRef`s currently sidecar-indexed for `targetName`.
|
|
41
|
+
* Returns empty when the directory is missing (no deps, or freshly-
|
|
42
|
+
* created site).
|
|
43
|
+
*/
|
|
44
|
+
export async function readDepsFor(rel, contentRoot, targetName) {
|
|
45
|
+
const dir = depDir(rel, contentRoot, targetName);
|
|
46
|
+
let entries;
|
|
47
|
+
try {
|
|
48
|
+
entries = await contentRoot.storage.readDir(dir);
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
// Missing directory — treat as no deps. Storage providers vary in
|
|
52
|
+
// exact error shape, so we accept any read failure here.
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
const refs = [];
|
|
56
|
+
for (const entry of entries) {
|
|
57
|
+
if (entry.isDirectory)
|
|
58
|
+
continue;
|
|
59
|
+
const ref = filenameToItemRef(entry.name);
|
|
60
|
+
if (ref)
|
|
61
|
+
refs.push(ref);
|
|
62
|
+
}
|
|
63
|
+
return refs;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Apply the diff for one item's deps in this relation.
|
|
67
|
+
*
|
|
68
|
+
* For each target in `oldTargets ∪ newTargets`:
|
|
69
|
+
* - If new and not old → write the sidecar file (creating the target dir)
|
|
70
|
+
* - If old and not new → remove the sidecar file
|
|
71
|
+
* - If both or neither → no I/O
|
|
72
|
+
*
|
|
73
|
+
* Sidecar writes are idempotent (zero-byte files at fixed paths), so
|
|
74
|
+
* concurrent writes from multiple admin instances converge to the same
|
|
75
|
+
* final state. The diff is per (item × target): each instance's save
|
|
76
|
+
* updates only the sidecars for the item it just wrote.
|
|
77
|
+
*/
|
|
78
|
+
export async function applyDepDiff(rel, contentRoot, item, oldTargets, newTargets) {
|
|
79
|
+
const added = [];
|
|
80
|
+
const removed = [];
|
|
81
|
+
for (const t of newTargets)
|
|
82
|
+
if (!oldTargets.has(t))
|
|
83
|
+
added.push(t);
|
|
84
|
+
for (const t of oldTargets)
|
|
85
|
+
if (!newTargets.has(t))
|
|
86
|
+
removed.push(t);
|
|
87
|
+
// Adds first — order doesn't affect correctness, but adds-before-removes
|
|
88
|
+
// means a transient observer mid-update sees a superset of refs (safe
|
|
89
|
+
// for delete-blocking) rather than a subset.
|
|
90
|
+
await Promise.all(added.map(target => writeSidecar(rel, contentRoot, target, item)));
|
|
91
|
+
await Promise.all(removed.map(target => removeSidecar(rel, contentRoot, target, item)));
|
|
92
|
+
}
|
|
93
|
+
async function writeSidecar(rel, contentRoot, target, item) {
|
|
94
|
+
const dir = depDir(rel, contentRoot, target);
|
|
95
|
+
await contentRoot.storage.mkdir(dir).catch(() => {
|
|
96
|
+
// Already exists — fine.
|
|
97
|
+
});
|
|
98
|
+
await contentRoot.storage.writeFile(depSidecarPath(rel, contentRoot, target, item), '');
|
|
99
|
+
}
|
|
100
|
+
async function removeSidecar(rel, contentRoot, target, item) {
|
|
101
|
+
await contentRoot.storage.rm(depSidecarPath(rel, contentRoot, target, item)).catch(() => {
|
|
102
|
+
// Already gone — fine. rm is idempotent for our purposes.
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Rebuild the deps sidecars for one item by diffing old vs new manifest
|
|
107
|
+
* via the relation's `extract` function.
|
|
108
|
+
*
|
|
109
|
+
* Use cases:
|
|
110
|
+
* - Save handler: pass `oldManifest` (loaded for history-recording);
|
|
111
|
+
* module re-extracts both old and new dep sets.
|
|
112
|
+
* - Reindex CLI: pass `oldManifest = null` to write fresh sidecars
|
|
113
|
+
* for every dep the item now references.
|
|
114
|
+
* - Delete handler: pass `newManifest = null` to tear down all this
|
|
115
|
+
* item's sidecars in this relation.
|
|
116
|
+
*/
|
|
117
|
+
export async function rebuildItemDeps(rel, contentRoot, item, oldManifest, newManifest) {
|
|
118
|
+
const oldTargets = oldManifest ? rel.extract(oldManifest) : new Set();
|
|
119
|
+
const newTargets = newManifest ? rel.extract(newManifest) : new Set();
|
|
120
|
+
await applyDepDiff(rel, contentRoot, item, oldTargets, newTargets);
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=dep-sidecars.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dep-sidecars.js","sourceRoot":"","sources":["../src/dep-sidecars.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { WorkerCapableDeployAdapter } from './types.js';
|
|
2
|
+
export interface CloudflareWorkersDeployOptions {
|
|
3
|
+
/** Cloudflare API token with Workers Scripts:Edit + R2 Read:Bucket permissions. */
|
|
4
|
+
apiToken: string;
|
|
5
|
+
/** Cloudflare account ID. */
|
|
6
|
+
accountId: string;
|
|
7
|
+
/** Worker name (also used as the workers.dev subdomain). */
|
|
8
|
+
name: string;
|
|
9
|
+
/** R2 bucket name the worker reads from at request time. */
|
|
10
|
+
bucket: string;
|
|
11
|
+
}
|
|
12
|
+
interface WranglerTomlInput {
|
|
13
|
+
name: string;
|
|
14
|
+
bucket: string;
|
|
15
|
+
siteUrl: string | undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Render the wrangler.toml content. Pure function; unit-testable
|
|
19
|
+
* without mocking fs.
|
|
20
|
+
*/
|
|
21
|
+
export declare function renderWranglerToml(input: WranglerTomlInput): string;
|
|
22
|
+
/**
|
|
23
|
+
* Render the worker entry-point code. Pure function. The
|
|
24
|
+
* `cloudflare-r2` adapter at `packages/gazetta/src/workers/` provides
|
|
25
|
+
* the actual request-handling logic; the entry is a thin re-export.
|
|
26
|
+
*/
|
|
27
|
+
export declare function renderWorkerEntry(): string;
|
|
28
|
+
/**
|
|
29
|
+
* Extract the deployed URL from wrangler stdout. Pure function.
|
|
30
|
+
*
|
|
31
|
+
* Wrangler 4.x stdout opens with a telemetry banner URL pointing at
|
|
32
|
+
* github.com/cloudflare/workers-sdk; the actual deploy URL appears
|
|
33
|
+
* later as either:
|
|
34
|
+
* - `*.workers.dev` — the default subdomain when `workers_dev = true`
|
|
35
|
+
* - the route domain from `[[routes]]` in wrangler.toml (the
|
|
36
|
+
* operator's `target.siteUrl`)
|
|
37
|
+
*
|
|
38
|
+
* Strategy: prefer the configured siteUrl when present in stdout
|
|
39
|
+
* (deploys with a custom route surface it as part of the "Published"
|
|
40
|
+
* line); otherwise pick the first `*.workers.dev` URL; fall through
|
|
41
|
+
* to the first non-github URL.
|
|
42
|
+
*/
|
|
43
|
+
export declare function extractDeployUrl(stdout: string, siteUrl: string | undefined): string | undefined;
|
|
44
|
+
export declare function cloudflareWorkersDeploy(opts: CloudflareWorkersDeployOptions): WorkerCapableDeployAdapter;
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=cloudflare-workers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare-workers.d.ts","sourceRoot":"","sources":["../../src/deploy/cloudflare-workers.ts"],"names":[],"mappings":"AAmDA,OAAO,KAAK,EAIV,0BAA0B,EAE3B,MAAM,YAAY,CAAA;AAQnB,MAAM,WAAW,8BAA8B;IAC7C,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAA;IAChB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAA;IACZ,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAA;CACf;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAmBnE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAiBhG;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,8BAA8B,GAAG,0BAA0B,CAwHxG"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloudflare Workers deploy adapter (Cut 3 of #203).
|
|
3
|
+
*
|
|
4
|
+
* Refactors the hardcoded `gazetta deploy` flow at
|
|
5
|
+
* `cli/index.ts:1230-1314` into a Pattern 1 Provider factory.
|
|
6
|
+
*
|
|
7
|
+
* Operator usage:
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { defineSite, r2Storage, cloudflareWorkersDeploy } from 'gazetta'
|
|
10
|
+
*
|
|
11
|
+
* defineSite({
|
|
12
|
+
* targets: {
|
|
13
|
+
* production: {
|
|
14
|
+
* type: 'dynamic',
|
|
15
|
+
* storage: r2Storage({...}),
|
|
16
|
+
* deploy: cloudflareWorkersDeploy({
|
|
17
|
+
* apiToken: process.env.CLOUDFLARE_API_TOKEN!,
|
|
18
|
+
* accountId: process.env.CLOUDFLARE_ACCOUNT_ID!,
|
|
19
|
+
* name: 'my-site',
|
|
20
|
+
* bucket: 'my-site',
|
|
21
|
+
* }),
|
|
22
|
+
* },
|
|
23
|
+
* },
|
|
24
|
+
* })
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* # WorkerCapableDeployAdapter
|
|
28
|
+
*
|
|
29
|
+
* Implements the capability extension: `workerRuntimeConfig()`
|
|
30
|
+
* returns the R2 binding metadata `gazetta build` needs.
|
|
31
|
+
*
|
|
32
|
+
* # supports
|
|
33
|
+
*
|
|
34
|
+
* `['dynamic']` in v1 — matches today's `TargetType = 'static' |
|
|
35
|
+
* 'dynamic'` enum where `'dynamic'` plays the ESI role per
|
|
36
|
+
* `getType()` semantics. Widens to `['esi']` when
|
|
37
|
+
* `design-rendering.md` Cut 1 splits the enum into three. Future
|
|
38
|
+
* `dynamic` (CF Workers + Node/Bun origin) deferred to v2.
|
|
39
|
+
*
|
|
40
|
+
* # SOLID
|
|
41
|
+
*
|
|
42
|
+
* - SRP: adapter owns Cloudflare Workers deploy mechanics only;
|
|
43
|
+
* pure helpers (renderWranglerToml, renderWorkerEntry) are
|
|
44
|
+
* unit-testable independently.
|
|
45
|
+
* - DIP: CLI depends on `WorkerCapableDeployAdapter` interface,
|
|
46
|
+
* not on this factory directly. Future CF Pages + Functions
|
|
47
|
+
* adapter substitutes through the same contract.
|
|
48
|
+
*/
|
|
49
|
+
import { execSync } from 'node:child_process';
|
|
50
|
+
import { mkdir, rm, writeFile } from 'node:fs/promises';
|
|
51
|
+
import { join, resolve } from 'node:path';
|
|
52
|
+
import { DeployAuthError, DeployConfigError, DeployTransportError } from './errors.js';
|
|
53
|
+
const ADAPTER_NAME = 'cloudflare-workers';
|
|
54
|
+
const BUCKET_BINDING = 'SITE_BUCKET';
|
|
55
|
+
const COMPAT_DATE = '2024-12-01';
|
|
56
|
+
/**
|
|
57
|
+
* Render the wrangler.toml content. Pure function; unit-testable
|
|
58
|
+
* without mocking fs.
|
|
59
|
+
*/
|
|
60
|
+
export function renderWranglerToml(input) {
|
|
61
|
+
const { name, bucket, siteUrl } = input;
|
|
62
|
+
let out = `name = "${name}"\n` +
|
|
63
|
+
`main = "index.ts"\n` +
|
|
64
|
+
`compatibility_date = "${COMPAT_DATE}"\n` +
|
|
65
|
+
`workers_dev = true\n` +
|
|
66
|
+
`\n` +
|
|
67
|
+
`[[r2_buckets]]\n` +
|
|
68
|
+
`binding = "${BUCKET_BINDING}"\n` +
|
|
69
|
+
`bucket_name = "${bucket}"\n`;
|
|
70
|
+
if (siteUrl) {
|
|
71
|
+
const url = new URL(siteUrl);
|
|
72
|
+
const hostname = url.hostname;
|
|
73
|
+
out += `\n[[routes]]\npattern = "${hostname}/*"\nzone_name = "${hostname}"\n`;
|
|
74
|
+
}
|
|
75
|
+
return out;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Render the worker entry-point code. Pure function. The
|
|
79
|
+
* `cloudflare-r2` adapter at `packages/gazetta/src/workers/` provides
|
|
80
|
+
* the actual request-handling logic; the entry is a thin re-export.
|
|
81
|
+
*/
|
|
82
|
+
export function renderWorkerEntry() {
|
|
83
|
+
return `import { createWorker } from 'gazetta/workers/cloudflare-r2'\nexport default createWorker()\n`;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Extract the deployed URL from wrangler stdout. Pure function.
|
|
87
|
+
*
|
|
88
|
+
* Wrangler 4.x stdout opens with a telemetry banner URL pointing at
|
|
89
|
+
* github.com/cloudflare/workers-sdk; the actual deploy URL appears
|
|
90
|
+
* later as either:
|
|
91
|
+
* - `*.workers.dev` — the default subdomain when `workers_dev = true`
|
|
92
|
+
* - the route domain from `[[routes]]` in wrangler.toml (the
|
|
93
|
+
* operator's `target.siteUrl`)
|
|
94
|
+
*
|
|
95
|
+
* Strategy: prefer the configured siteUrl when present in stdout
|
|
96
|
+
* (deploys with a custom route surface it as part of the "Published"
|
|
97
|
+
* line); otherwise pick the first `*.workers.dev` URL; fall through
|
|
98
|
+
* to the first non-github URL.
|
|
99
|
+
*/
|
|
100
|
+
export function extractDeployUrl(stdout, siteUrl) {
|
|
101
|
+
const urls = stdout.match(/https:\/\/[^\s]+/g) ?? [];
|
|
102
|
+
if (urls.length === 0)
|
|
103
|
+
return undefined;
|
|
104
|
+
// Strip trailing punctuation that often follows URLs in logs.
|
|
105
|
+
const clean = (u) => u.replace(/[.,;:!?)]+$/, '');
|
|
106
|
+
if (siteUrl) {
|
|
107
|
+
const hit = urls.map(clean).find(u => u.startsWith(siteUrl));
|
|
108
|
+
if (hit)
|
|
109
|
+
return hit;
|
|
110
|
+
}
|
|
111
|
+
const workersDev = urls.map(clean).find(u => /\.workers\.dev/.test(u));
|
|
112
|
+
if (workersDev)
|
|
113
|
+
return workersDev;
|
|
114
|
+
const nonGithub = urls.map(clean).find(u => !u.startsWith('https://github.com/'));
|
|
115
|
+
return nonGithub;
|
|
116
|
+
}
|
|
117
|
+
export function cloudflareWorkersDeploy(opts) {
|
|
118
|
+
// Construction-time validation per Q7 lock: factories validate
|
|
119
|
+
// operator-supplied input synchronously. Bad credentials surface
|
|
120
|
+
// at execute() as DeployAuthError, not here.
|
|
121
|
+
if (!opts.apiToken) {
|
|
122
|
+
throw new DeployConfigError('cloudflareWorkersDeploy requires `apiToken` (e.g., process.env.CLOUDFLARE_API_TOKEN)', ADAPTER_NAME);
|
|
123
|
+
}
|
|
124
|
+
if (!opts.accountId) {
|
|
125
|
+
throw new DeployConfigError('cloudflareWorkersDeploy requires `accountId` (e.g., process.env.CLOUDFLARE_ACCOUNT_ID)', ADAPTER_NAME);
|
|
126
|
+
}
|
|
127
|
+
if (!opts.name) {
|
|
128
|
+
throw new DeployConfigError('cloudflareWorkersDeploy requires `name` — the worker name + workers.dev subdomain', ADAPTER_NAME);
|
|
129
|
+
}
|
|
130
|
+
if (!opts.bucket) {
|
|
131
|
+
throw new DeployConfigError('cloudflareWorkersDeploy requires `bucket` — the R2 bucket the worker reads from', ADAPTER_NAME);
|
|
132
|
+
}
|
|
133
|
+
const { apiToken, accountId, name: workerName, bucket } = opts;
|
|
134
|
+
return {
|
|
135
|
+
name: ADAPTER_NAME,
|
|
136
|
+
// `TargetType` today is `'static' | 'dynamic'`; `'dynamic'` plays
|
|
137
|
+
// the ESI role per current `getType()` semantics. Widens to
|
|
138
|
+
// `['esi']` when design-rendering.md Cut 1 splits the enum.
|
|
139
|
+
supports: ['dynamic'],
|
|
140
|
+
workerRuntimeConfig() {
|
|
141
|
+
return {
|
|
142
|
+
bucketBinding: BUCKET_BINDING,
|
|
143
|
+
// Routes computed lazily from target.siteUrl at deploy time —
|
|
144
|
+
// not at config-eval. `gazetta build` reads the binding name
|
|
145
|
+
// here; the actual route pattern lands in wrangler.toml at
|
|
146
|
+
// deploy time via renderWranglerToml().
|
|
147
|
+
};
|
|
148
|
+
},
|
|
149
|
+
validate(_ctx) {
|
|
150
|
+
// No cross-field invariants in v1 beyond the construction-time
|
|
151
|
+
// checks above. Reserved for future operator-input validation
|
|
152
|
+
// (e.g., warn when target.siteUrl protocol is `http:`).
|
|
153
|
+
return [];
|
|
154
|
+
},
|
|
155
|
+
async execute(ctx) {
|
|
156
|
+
const { target, logger, signal } = ctx;
|
|
157
|
+
const tmpDir = join(process.cwd(), '.gazetta-deploy');
|
|
158
|
+
await rm(tmpDir, { recursive: true, force: true });
|
|
159
|
+
await mkdir(tmpDir, { recursive: true });
|
|
160
|
+
try {
|
|
161
|
+
const tomlBody = renderWranglerToml({
|
|
162
|
+
name: workerName,
|
|
163
|
+
bucket,
|
|
164
|
+
siteUrl: target.siteUrl,
|
|
165
|
+
});
|
|
166
|
+
await writeFile(join(tmpDir, 'wrangler.toml'), tomlBody);
|
|
167
|
+
await writeFile(join(tmpDir, 'index.ts'), renderWorkerEntry());
|
|
168
|
+
await writeFile(join(tmpDir, 'package.json'), JSON.stringify({ type: 'module', dependencies: { gazetta: '*', hono: '*' } }));
|
|
169
|
+
if (signal.aborted)
|
|
170
|
+
throw new DeployTransportError('Deploy aborted by signal', ADAPTER_NAME);
|
|
171
|
+
logger.info({ workerName, bucket }, 'Deploying worker to Cloudflare');
|
|
172
|
+
// Resolve the gazetta package install root for --install-links.
|
|
173
|
+
// import.meta.dirname is two levels above (src/deploy/).
|
|
174
|
+
const gazettaRoot = resolve(import.meta.dirname, '../..');
|
|
175
|
+
execSync(`npm install --install-links ${gazettaRoot}`, { cwd: tmpDir, stdio: 'pipe' });
|
|
176
|
+
if (signal.aborted)
|
|
177
|
+
throw new DeployTransportError('Deploy aborted by signal', ADAPTER_NAME);
|
|
178
|
+
// Wrangler reads CLOUDFLARE_API_TOKEN + CLOUDFLARE_ACCOUNT_ID
|
|
179
|
+
// from env per its own convention; pass through.
|
|
180
|
+
const wranglerOut = execSync('npx wrangler deploy', {
|
|
181
|
+
cwd: tmpDir,
|
|
182
|
+
stdio: 'pipe',
|
|
183
|
+
env: { ...process.env, CLOUDFLARE_API_TOKEN: apiToken, CLOUDFLARE_ACCOUNT_ID: accountId },
|
|
184
|
+
}).toString();
|
|
185
|
+
// Wrangler 4.x stdout opens with a telemetry banner pointing at
|
|
186
|
+
// github.com/cloudflare/workers-sdk; the actual deploy URL is
|
|
187
|
+
// either `*.workers.dev` (default subdomain) or the route domain
|
|
188
|
+
// from wrangler.toml. Prefer those over any other URL.
|
|
189
|
+
const url = extractDeployUrl(wranglerOut, target.siteUrl);
|
|
190
|
+
logger.info({ workerName, url }, 'Worker deployed');
|
|
191
|
+
return {
|
|
192
|
+
url,
|
|
193
|
+
details: { wranglerOutput: wranglerOut },
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
catch (err) {
|
|
197
|
+
if (err instanceof DeployTransportError)
|
|
198
|
+
throw err;
|
|
199
|
+
const stderr = err.stderr?.toString() ?? err.message;
|
|
200
|
+
// Heuristic: wrangler exits with auth-related messages when
|
|
201
|
+
// the token is bad. Distinguish auth vs transport here.
|
|
202
|
+
if (/authentication|unauthorized|invalid token/i.test(stderr)) {
|
|
203
|
+
throw new DeployAuthError(`Cloudflare rejected credentials: ${stderr}`, ADAPTER_NAME);
|
|
204
|
+
}
|
|
205
|
+
throw new DeployTransportError(`Wrangler deploy failed: ${stderr}`, ADAPTER_NAME);
|
|
206
|
+
}
|
|
207
|
+
finally {
|
|
208
|
+
await rm(tmpDir, { recursive: true, force: true });
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=cloudflare-workers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudflare-workers.js","sourceRoot":"","sources":["../../src/deploy/cloudflare-workers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Error taxonomy for the DeployAdapter Pattern 1 Provider surface.
|
|
3
|
+
*
|
|
4
|
+
* Cut 1 of the deploy contract. Per ADR-0004 Universal Provider
|
|
5
|
+
* Requirement #6 ("independent error taxonomy"), every Provider
|
|
6
|
+
* surface declares its own error classes for runtime branching.
|
|
7
|
+
*
|
|
8
|
+
* Adapters translate platform-SDK errors into these classes; the CLI
|
|
9
|
+
* catches `DeployError` and surfaces the `adapter` field plus a
|
|
10
|
+
* human-readable message. Debug logs include the underlying cause.
|
|
11
|
+
*
|
|
12
|
+
* Reference: `.claude/rules/design-deploy.md` "Error taxonomy" section.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Base class for all deploy errors. Carries the adapter name so the
|
|
16
|
+
* CLI can surface "Cloudflare Workers deploy failed: ..." instead of
|
|
17
|
+
* a context-free error message.
|
|
18
|
+
*/
|
|
19
|
+
export declare class DeployError extends Error {
|
|
20
|
+
readonly adapter: string;
|
|
21
|
+
constructor(message: string, adapter: string);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Raised at factory construction (synchronous) when operator-supplied
|
|
25
|
+
* options are missing required fields or malformed. Surfaces in the
|
|
26
|
+
* IDE / at admin boot, not at deploy time.
|
|
27
|
+
*
|
|
28
|
+
* Example: `cloudflareWorkersDeploy({ name: 'foo' })` without
|
|
29
|
+
* `apiToken` throws `DeployConfigError` because the platform SDK
|
|
30
|
+
* can't proceed without credentials.
|
|
31
|
+
*/
|
|
32
|
+
export declare class DeployConfigError extends DeployError {
|
|
33
|
+
constructor(message: string, adapter: string);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Raised at `execute()` time when the platform rejects credentials.
|
|
37
|
+
* Adapters wrap platform-SDK auth failures (401 / 403 from the
|
|
38
|
+
* platform's API) in this class so operators see a consistent
|
|
39
|
+
* "credentials rejected" surface regardless of which platform.
|
|
40
|
+
*/
|
|
41
|
+
export declare class DeployAuthError extends DeployError {
|
|
42
|
+
constructor(message: string, adapter: string);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Raised at `execute()` time when the network or platform SDK call
|
|
46
|
+
* fails for transport reasons (timeout, DNS, 5xx from platform,
|
|
47
|
+
* unexpected protocol error). Distinct from auth failures because
|
|
48
|
+
* the operator's remediation differs: auth = check credentials;
|
|
49
|
+
* transport = retry or investigate platform status.
|
|
50
|
+
*/
|
|
51
|
+
export declare class DeployTransportError extends DeployError {
|
|
52
|
+
constructor(message: string, adapter: string);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Raised at `execute()` time when the adapter expects published
|
|
56
|
+
* content (e.g., a static-host adapter that reads from
|
|
57
|
+
* `target.storage`) but storage is empty.
|
|
58
|
+
*
|
|
59
|
+
* Per Q4 lock: the CLI doesn't gate on prior publish — adapters that
|
|
60
|
+
* need bytes surface this error themselves. Operator's remediation
|
|
61
|
+
* is `gazetta publish <target>` before retrying `gazetta deploy`.
|
|
62
|
+
*/
|
|
63
|
+
export declare class DeployContentError extends DeployError {
|
|
64
|
+
constructor(message: string, adapter: string);
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/deploy/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,SAAgB,OAAO,EAAE,MAAM,CAAA;gBAEnB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK7C;AAED;;;;;;;;GAQG;AACH,qBAAa,iBAAkB,SAAQ,WAAW;gBACpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7C;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,WAAW;gBAClC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7C;AAED;;;;;;GAMG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;gBACvC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7C;AAED;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;gBACrC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAI7C"}
|