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,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Responsive-variant generation for image assets.
|
|
3
|
+
*
|
|
4
|
+
* Single responsibility: given the original bytes of an image, produce
|
|
5
|
+
* resized variants at the v1 target widths. No storage, no manifest, no
|
|
6
|
+
* naming policy — callers (ingest pipeline) compose this with byte
|
|
7
|
+
* persistence and manifest writing.
|
|
8
|
+
*
|
|
9
|
+
* v1 target widths: 400 / 800 / 1200 / 1600. Variants wider than the
|
|
10
|
+
* source image are skipped (no upscaling — the browser's srcset picker
|
|
11
|
+
* is happy with fewer candidates, and upscaled variants would be worse
|
|
12
|
+
* than the original). Same format as input (JPEG → JPEG, PNG → PNG).
|
|
13
|
+
*
|
|
14
|
+
* Format conversion (WebP/AVIF emission) is a separate capability and
|
|
15
|
+
* lives out of scope for this module.
|
|
16
|
+
*/
|
|
17
|
+
import sharp from 'sharp';
|
|
18
|
+
/** The v1 srcset ladder. Ordered ascending — callers rely on this. */
|
|
19
|
+
export const VARIANT_WIDTHS = [400, 800, 1200, 1600];
|
|
20
|
+
/**
|
|
21
|
+
* Generate responsive variants from a source image buffer. Produces one
|
|
22
|
+
* variant per `VARIANT_WIDTHS` entry that is ≤ the source image's width.
|
|
23
|
+
*
|
|
24
|
+
* Same output format as the input (JPEG stays JPEG, PNG stays PNG) —
|
|
25
|
+
* re-compression is implicit via sharp's encoder, which applies its
|
|
26
|
+
* quality defaults. Explicit quality/compression tuning is deferred to
|
|
27
|
+
* a future image-pipeline config module.
|
|
28
|
+
*
|
|
29
|
+
* Throws whatever sharp throws on unreadable input — the caller is
|
|
30
|
+
* responsible for treating that as a hard ingest failure (per v1
|
|
31
|
+
* contract: rollback + fail the upload).
|
|
32
|
+
*/
|
|
33
|
+
export async function generateVariants(source) {
|
|
34
|
+
// Decode once, reuse for every target width — avoids re-parsing the
|
|
35
|
+
// source for each resize.
|
|
36
|
+
const base = sharp(source);
|
|
37
|
+
const meta = await base.metadata();
|
|
38
|
+
const sourceWidth = meta.width ?? 0;
|
|
39
|
+
const sourceFormat = meta.format;
|
|
40
|
+
if (!sourceFormat) {
|
|
41
|
+
throw new Error('Image format could not be determined for variant generation');
|
|
42
|
+
}
|
|
43
|
+
const picked = VARIANT_WIDTHS.filter(w => w <= sourceWidth);
|
|
44
|
+
const out = [];
|
|
45
|
+
for (const width of picked) {
|
|
46
|
+
// Re-construct per iteration; sharp pipelines are single-use once
|
|
47
|
+
// `.toBuffer()` has run.
|
|
48
|
+
const pipeline = sharp(source).resize({ width });
|
|
49
|
+
const bytes = await toSourceFormat(pipeline, sourceFormat).toBuffer();
|
|
50
|
+
out.push({ width, bytes: new Uint8Array(bytes) });
|
|
51
|
+
}
|
|
52
|
+
return out;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Route a sharp pipeline to the encoder matching the source format.
|
|
56
|
+
* sharp auto-detects on `.toBuffer()` when the input had an explicit
|
|
57
|
+
* format, but being explicit here keeps behavior deterministic and
|
|
58
|
+
* makes future per-format quality tuning a one-line change.
|
|
59
|
+
*/
|
|
60
|
+
function toSourceFormat(pipeline, format) {
|
|
61
|
+
switch (format) {
|
|
62
|
+
case 'jpeg':
|
|
63
|
+
case 'jpg':
|
|
64
|
+
return pipeline.jpeg();
|
|
65
|
+
case 'png':
|
|
66
|
+
return pipeline.png();
|
|
67
|
+
default:
|
|
68
|
+
// Should not be reached in v1 (ingest allowlist is JPEG + PNG).
|
|
69
|
+
// If it does (future MIME expansion), the caller's rollback path
|
|
70
|
+
// will fire on the thrown error — safer than silently defaulting.
|
|
71
|
+
throw new Error(`Unsupported source format for variant generation: ${format}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=variants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variants.js","sourceRoot":"","sources":["../../src/assets/variants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,sEAAsE;AACtE,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;AASvE;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,MAAkB;IACvD,oEAAoE;IACpE,0BAA0B;IAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAA;IAC1B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAA;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,CAAA;IACnC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAA;IAChC,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAChF,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,CAAA;IAE3D,MAAM,GAAG,GAAuB,EAAE,CAAA;IAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,kEAAkE;QAClE,yBAAyB;QACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAA;QAChD,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAA;QACrE,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACnD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,QAAqB,EAAE,MAA8B;IAC3E,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM,CAAC;QACZ,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAA;QACxB,KAAK,KAAK;YACR,OAAO,QAAQ,CAAC,GAAG,EAAE,CAAA;QACvB;YACE,gEAAgE;YAChE,iEAAiE;YACjE,kEAAkE;YAClE,MAAM,IAAI,KAAK,CAAC,qDAAqD,MAAM,EAAE,CAAC,CAAA;IAClF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schema for the `admin.audit` block in `site.config.ts`. Cut 1
|
|
3
|
+
* ships only the v1 in-tree provider configuration shapes (none /
|
|
4
|
+
* history); v2 external-sink providers (webhook, file, OTel,
|
|
5
|
+
* CloudWatch, Azure Monitor, syslog) extend the union when they
|
|
6
|
+
* land — the discriminator field stays `provider`.
|
|
7
|
+
*
|
|
8
|
+
* # Why `provider` is a string discriminator (not Path X factory)
|
|
9
|
+
*
|
|
10
|
+
* Per `design-audit.md`'s "Configuration" section:
|
|
11
|
+
*
|
|
12
|
+
* admin: { audit: { provider: 'history' } }
|
|
13
|
+
*
|
|
14
|
+
* The string-discriminator predates Path X (factory-call config) per
|
|
15
|
+
* the "Path X migration note" in design-audit.md. When the audit
|
|
16
|
+
* foundation moves to Path X, the operator-facing shape becomes:
|
|
17
|
+
*
|
|
18
|
+
* audit: auditChain([historyAudit(), cloudwatchAudit({...})], { strict: false })
|
|
19
|
+
*
|
|
20
|
+
* Cut 1 ships the pre-Path-X shape because:
|
|
21
|
+
* 1. The Path X migration touches every Pattern-3 surface; doing
|
|
22
|
+
* it audit-only fragments the cutover
|
|
23
|
+
* 2. The string-discriminator works correctly today; operators
|
|
24
|
+
* can use it without regret. The Path X migration is a future
|
|
25
|
+
* additive change (fan-out factory wraps single-provider for
|
|
26
|
+
* backwards compat at config-eval time)
|
|
27
|
+
*
|
|
28
|
+
* # SOLID lenses
|
|
29
|
+
*
|
|
30
|
+
* - SRP: schema validation only. Doesn't construct providers.
|
|
31
|
+
* - OCP: adding a v2 provider extends the discriminated union;
|
|
32
|
+
* existing variants unchanged.
|
|
33
|
+
*/
|
|
34
|
+
import { z } from 'zod';
|
|
35
|
+
/**
|
|
36
|
+
* Top-level audit config. v1 ships only the `history` variant;
|
|
37
|
+
* the discriminated-union shape leaves room for v2 external-sink
|
|
38
|
+
* providers without touching the consumer code path.
|
|
39
|
+
*/
|
|
40
|
+
export declare const AuditConfigSchema: z.ZodObject<{
|
|
41
|
+
provider: z.ZodLiteral<"history">;
|
|
42
|
+
retention: z.ZodOptional<z.ZodObject<{
|
|
43
|
+
events: z.ZodOptional<z.ZodNumber>;
|
|
44
|
+
maxAgeMonths: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
45
|
+
}, z.core.$strict>>;
|
|
46
|
+
strict: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
actorPseudonym: z.ZodOptional<z.ZodEnum<{
|
|
48
|
+
sha256: "sha256";
|
|
49
|
+
none: "none";
|
|
50
|
+
}>>;
|
|
51
|
+
recordSourceIp: z.ZodOptional<z.ZodEnum<{
|
|
52
|
+
none: "none";
|
|
53
|
+
raw: "raw";
|
|
54
|
+
hashed: "hashed";
|
|
55
|
+
truncated: "truncated";
|
|
56
|
+
}>>;
|
|
57
|
+
trustedProxyHeader: z.ZodOptional<z.ZodString>;
|
|
58
|
+
trustedProxyCount: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
recordUserAgent: z.ZodOptional<z.ZodEnum<{
|
|
60
|
+
none: "none";
|
|
61
|
+
raw: "raw";
|
|
62
|
+
truncated: "truncated";
|
|
63
|
+
}>>;
|
|
64
|
+
}, z.core.$strict>;
|
|
65
|
+
export type AuditConfig = z.infer<typeof AuditConfigSchema>;
|
|
66
|
+
/**
|
|
67
|
+
* Defaults per design-audit.md "Configuration":
|
|
68
|
+
* - `provider: 'history'` is implicit when admin.audit absent
|
|
69
|
+
* - `strict: false` (fail-open)
|
|
70
|
+
* - `actorPseudonym: 'none'` (raw subject)
|
|
71
|
+
* - `recordSourceIp: 'none'` (off)
|
|
72
|
+
* - `recordUserAgent: 'none'` (off)
|
|
73
|
+
*/
|
|
74
|
+
export declare const DEFAULT_AUDIT_CONFIG: AuditConfig;
|
|
75
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/audit/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAuCvB;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;kBAAqB,CAAA;AAEnD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,EAAE,WAMlC,CAAA"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod schema for the `admin.audit` block in `site.config.ts`. Cut 1
|
|
3
|
+
* ships only the v1 in-tree provider configuration shapes (none /
|
|
4
|
+
* history); v2 external-sink providers (webhook, file, OTel,
|
|
5
|
+
* CloudWatch, Azure Monitor, syslog) extend the union when they
|
|
6
|
+
* land — the discriminator field stays `provider`.
|
|
7
|
+
*
|
|
8
|
+
* # Why `provider` is a string discriminator (not Path X factory)
|
|
9
|
+
*
|
|
10
|
+
* Per `design-audit.md`'s "Configuration" section:
|
|
11
|
+
*
|
|
12
|
+
* admin: { audit: { provider: 'history' } }
|
|
13
|
+
*
|
|
14
|
+
* The string-discriminator predates Path X (factory-call config) per
|
|
15
|
+
* the "Path X migration note" in design-audit.md. When the audit
|
|
16
|
+
* foundation moves to Path X, the operator-facing shape becomes:
|
|
17
|
+
*
|
|
18
|
+
* audit: auditChain([historyAudit(), cloudwatchAudit({...})], { strict: false })
|
|
19
|
+
*
|
|
20
|
+
* Cut 1 ships the pre-Path-X shape because:
|
|
21
|
+
* 1. The Path X migration touches every Pattern-3 surface; doing
|
|
22
|
+
* it audit-only fragments the cutover
|
|
23
|
+
* 2. The string-discriminator works correctly today; operators
|
|
24
|
+
* can use it without regret. The Path X migration is a future
|
|
25
|
+
* additive change (fan-out factory wraps single-provider for
|
|
26
|
+
* backwards compat at config-eval time)
|
|
27
|
+
*
|
|
28
|
+
* # SOLID lenses
|
|
29
|
+
*
|
|
30
|
+
* - SRP: schema validation only. Doesn't construct providers.
|
|
31
|
+
* - OCP: adding a v2 provider extends the discriminated union;
|
|
32
|
+
* existing variants unchanged.
|
|
33
|
+
*/
|
|
34
|
+
import { z } from 'zod';
|
|
35
|
+
/**
|
|
36
|
+
* Retention shape — separate from history retention per locked
|
|
37
|
+
* invariant: compliance regimes specify retention windows that
|
|
38
|
+
* differ from content-history budgets.
|
|
39
|
+
*/
|
|
40
|
+
const retentionSchema = z
|
|
41
|
+
.object({
|
|
42
|
+
/** Max audit events kept (per provider with own storage). */
|
|
43
|
+
events: z.number().int().positive().optional(),
|
|
44
|
+
/** Max age in months. `null` = no time limit. */
|
|
45
|
+
maxAgeMonths: z.number().int().positive().nullable().optional(),
|
|
46
|
+
})
|
|
47
|
+
.strict();
|
|
48
|
+
/**
|
|
49
|
+
* `history` provider — extends the existing `Revision` shape with
|
|
50
|
+
* audit fields. v1 default; zero-config when audit isn't explicitly
|
|
51
|
+
* configured.
|
|
52
|
+
*/
|
|
53
|
+
const historyAuditSchema = z
|
|
54
|
+
.object({
|
|
55
|
+
provider: z.literal('history'),
|
|
56
|
+
retention: retentionSchema.optional(),
|
|
57
|
+
/** `true` blocks writes when audit recording fails. Default false. */
|
|
58
|
+
strict: z.boolean().optional(),
|
|
59
|
+
/** Pseudonymization mode for actor.id. Default 'none'. */
|
|
60
|
+
actorPseudonym: z.enum(['none', 'sha256']).optional(),
|
|
61
|
+
/** Source IP recording mode (default off; see Cut 4). */
|
|
62
|
+
recordSourceIp: z.enum(['none', 'raw', 'hashed', 'truncated']).optional(),
|
|
63
|
+
/** Trusted proxy header for source IP extraction. */
|
|
64
|
+
trustedProxyHeader: z.string().optional(),
|
|
65
|
+
trustedProxyCount: z.number().int().nonnegative().optional(),
|
|
66
|
+
/** User agent recording mode. */
|
|
67
|
+
recordUserAgent: z.enum(['none', 'raw', 'truncated']).optional(),
|
|
68
|
+
})
|
|
69
|
+
.strict();
|
|
70
|
+
/**
|
|
71
|
+
* Top-level audit config. v1 ships only the `history` variant;
|
|
72
|
+
* the discriminated-union shape leaves room for v2 external-sink
|
|
73
|
+
* providers without touching the consumer code path.
|
|
74
|
+
*/
|
|
75
|
+
export const AuditConfigSchema = historyAuditSchema;
|
|
76
|
+
/**
|
|
77
|
+
* Defaults per design-audit.md "Configuration":
|
|
78
|
+
* - `provider: 'history'` is implicit when admin.audit absent
|
|
79
|
+
* - `strict: false` (fail-open)
|
|
80
|
+
* - `actorPseudonym: 'none'` (raw subject)
|
|
81
|
+
* - `recordSourceIp: 'none'` (off)
|
|
82
|
+
* - `recordUserAgent: 'none'` (off)
|
|
83
|
+
*/
|
|
84
|
+
export const DEFAULT_AUDIT_CONFIG = {
|
|
85
|
+
provider: 'history',
|
|
86
|
+
strict: false,
|
|
87
|
+
actorPseudonym: 'none',
|
|
88
|
+
recordSourceIp: 'none',
|
|
89
|
+
recordUserAgent: 'none',
|
|
90
|
+
};
|
|
91
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/audit/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC;KACtB,MAAM,CAAC;IACN,6DAA6D;IAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC9C,iDAAiD;IACjD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAChE,CAAC;KACD,MAAM,EAAE,CAAA;AAEX;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC9B,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,sEAAsE;IACtE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC9B,0DAA0D;IAC1D,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD,yDAAyD;IACzD,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzE,qDAAqD;IACrD,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC5D,iCAAiC;IACjC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;CACjE,CAAC;KACD,MAAM,EAAE,CAAA;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAA;AAInD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC/C,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,KAAK;IACb,cAAc,EAAE,MAAM;IACtB,cAAc,EAAE,MAAM;IACtB,eAAe,EAAE,MAAM;CACxB,CAAA"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit context — the per-request helper handlers call to record
|
|
3
|
+
* events. Constructed once per `createAdminApp` boot from the
|
|
4
|
+
* resolved `admin.audit` config; injected into Hono's request
|
|
5
|
+
* context as `c.var.audit` by middleware.
|
|
6
|
+
*
|
|
7
|
+
* # Why a context object, not a free function
|
|
8
|
+
*
|
|
9
|
+
* Recording an event takes the principal (per-request), the
|
|
10
|
+
* configured providers (per-app), the privacy modes (per-app),
|
|
11
|
+
* and the source-IP / userAgent (per-request). A free function
|
|
12
|
+
* would force every handler to thread the per-app config alongside
|
|
13
|
+
* the per-request data — boilerplate every handler repeats.
|
|
14
|
+
*
|
|
15
|
+
* The context wraps both: `c.var.audit.record({ action, outcome,
|
|
16
|
+
* scope, metadata? })` is all the handler writes. The middleware
|
|
17
|
+
* pre-binds the per-app config + per-request principal/headers.
|
|
18
|
+
*
|
|
19
|
+
* # SOLID lenses
|
|
20
|
+
*
|
|
21
|
+
* - SRP: this module owns the recording-site-facing helper. The
|
|
22
|
+
* recorder dispatcher (Cut 3), pseudonymization (Cut 4), and
|
|
23
|
+
* individual providers (Cut 2) are independent concerns.
|
|
24
|
+
* - DIP: handlers depend on the `AuditContext` interface, not on
|
|
25
|
+
* `recordToAll` or specific providers.
|
|
26
|
+
*/
|
|
27
|
+
import type { AuditAction, AuditOutcome, AuditProvider, AuditScope } from './index.js';
|
|
28
|
+
import type { ActorPseudonymMode } from './pseudonymize.js';
|
|
29
|
+
import type { SourceIpMode } from './source-ip.js';
|
|
30
|
+
import type { UserAgentMode } from './user-agent.js';
|
|
31
|
+
import type { AuditFailureLogger, RecordResult } from './recorder.js';
|
|
32
|
+
import type { Principal } from '../auth/index.js';
|
|
33
|
+
/**
|
|
34
|
+
* What the handler supplies. Everything else (actor, sourceIp,
|
|
35
|
+
* userAgent, timestamp) the context derives from per-request +
|
|
36
|
+
* per-app data.
|
|
37
|
+
*/
|
|
38
|
+
export interface RecordEventInput {
|
|
39
|
+
action: AuditAction;
|
|
40
|
+
outcome: AuditOutcome;
|
|
41
|
+
scope: AuditScope;
|
|
42
|
+
/** Provider-specific extras: missingCapabilities, source target, restoredFrom, etc. */
|
|
43
|
+
metadata?: Record<string, unknown>;
|
|
44
|
+
}
|
|
45
|
+
export interface AuditContext {
|
|
46
|
+
/**
|
|
47
|
+
* Record an event. Returns the recorder result so strict-mode
|
|
48
|
+
* callers can branch on `result.failed > 0` (per design-audit.md
|
|
49
|
+
* "Strict mode opt-in"). Non-strict callers ignore the return.
|
|
50
|
+
*
|
|
51
|
+
* Never throws (per Universal Provider Requirement #5). Failures
|
|
52
|
+
* surface in the result + structured log.
|
|
53
|
+
*/
|
|
54
|
+
record(input: RecordEventInput): Promise<RecordResult>;
|
|
55
|
+
/**
|
|
56
|
+
* True when the operator has opted into strict mode. Handlers
|
|
57
|
+
* check this to decide whether to abort the write on failed
|
|
58
|
+
* recording.
|
|
59
|
+
*/
|
|
60
|
+
readonly strict: boolean;
|
|
61
|
+
}
|
|
62
|
+
export interface AuditContextOptions {
|
|
63
|
+
/** Configured providers (in fan-out order). */
|
|
64
|
+
providers: ReadonlyArray<AuditProvider>;
|
|
65
|
+
/** Strict mode flag from `admin.audit.strict`. */
|
|
66
|
+
strict: boolean;
|
|
67
|
+
/** Pseudonymization mode for actor.id. */
|
|
68
|
+
actorPseudonym: ActorPseudonymMode;
|
|
69
|
+
/** Pseudonymization salt — required when actorPseudonym is sha256. */
|
|
70
|
+
actorSalt?: string;
|
|
71
|
+
/** Source-IP recording mode. */
|
|
72
|
+
recordSourceIp: SourceIpMode;
|
|
73
|
+
/** Source-IP hash salt — required when recordSourceIp is hashed. */
|
|
74
|
+
sourceIpSalt?: string;
|
|
75
|
+
/** Trusted proxy count for X-Forwarded-For mode dispatch. */
|
|
76
|
+
trustedProxyCount?: number;
|
|
77
|
+
/** User-agent recording mode. */
|
|
78
|
+
recordUserAgent: UserAgentMode;
|
|
79
|
+
/**
|
|
80
|
+
* Per-request data. Bound by the middleware before each route
|
|
81
|
+
* runs.
|
|
82
|
+
*/
|
|
83
|
+
principal: Principal;
|
|
84
|
+
/** Per-request headers (lowercase keys). */
|
|
85
|
+
headers: ReadonlyMap<string, string>;
|
|
86
|
+
/** Per-request peer IP (when available). */
|
|
87
|
+
peerIp?: string;
|
|
88
|
+
/** Failure logger. */
|
|
89
|
+
logFailure?: AuditFailureLogger;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Build a context for one request. Production wiring: middleware
|
|
93
|
+
* runs after `principalMiddleware` (so c.var.principal is populated)
|
|
94
|
+
* + before route handlers; constructs the context with the request's
|
|
95
|
+
* principal + headers and stores it on `c.var.audit`.
|
|
96
|
+
*/
|
|
97
|
+
export declare function createAuditContext(opts: AuditContextOptions): AuditContext;
|
|
98
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/audit/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,WAAW,EAAc,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAClG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC3D,OAAO,KAAK,EAA6B,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAMjD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAA;IACnB,OAAO,EAAE,YAAY,CAAA;IACrB,KAAK,EAAE,UAAU,CAAA;IACjB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IACtD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,SAAS,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;IACvC,kDAAkD;IAClD,MAAM,EAAE,OAAO,CAAA;IACf,0CAA0C;IAC1C,cAAc,EAAE,kBAAkB,CAAA;IAClC,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gCAAgC;IAChC,cAAc,EAAE,YAAY,CAAA;IAC5B,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,iCAAiC;IACjC,eAAe,EAAE,aAAa,CAAA;IAC9B;;;OAGG;IACH,SAAS,EAAE,SAAS,CAAA;IACpB,4CAA4C;IAC5C,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sBAAsB;IACtB,UAAU,CAAC,EAAE,kBAAkB,CAAA;CAChC;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CA2C1E"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { recordToAll } from './recorder.js';
|
|
2
|
+
import { pseudonymizeActor } from './pseudonymize.js';
|
|
3
|
+
import { extractSourceIp, processSourceIp } from './source-ip.js';
|
|
4
|
+
import { processUserAgent } from './user-agent.js';
|
|
5
|
+
/**
|
|
6
|
+
* Build a context for one request. Production wiring: middleware
|
|
7
|
+
* runs after `principalMiddleware` (so c.var.principal is populated)
|
|
8
|
+
* + before route handlers; constructs the context with the request's
|
|
9
|
+
* principal + headers and stores it on `c.var.audit`.
|
|
10
|
+
*/
|
|
11
|
+
export function createAuditContext(opts) {
|
|
12
|
+
return {
|
|
13
|
+
strict: opts.strict,
|
|
14
|
+
async record(input) {
|
|
15
|
+
// Apply pseudonymization to the actor BEFORE constructing
|
|
16
|
+
// the event. Cuts a class of bugs where the pre-pseudonym
|
|
17
|
+
// actor leaks via metadata or per-provider serialization.
|
|
18
|
+
const actor = pseudonymizeActor(opts.principal, opts.actorPseudonym, opts.actorSalt);
|
|
19
|
+
// Source IP — extract per trust mode, then process per
|
|
20
|
+
// operator's mode. Both are pure functions; either step
|
|
21
|
+
// returns null → omit the field.
|
|
22
|
+
const sourceIpCtx = {
|
|
23
|
+
trustMode: opts.principal.trustMode,
|
|
24
|
+
headers: opts.headers,
|
|
25
|
+
peerIp: opts.peerIp,
|
|
26
|
+
trustedProxyCount: opts.trustedProxyCount,
|
|
27
|
+
};
|
|
28
|
+
const rawIp = extractSourceIp(sourceIpCtx);
|
|
29
|
+
const sourceIp = processSourceIp(rawIp, opts.recordSourceIp, opts.sourceIpSalt) ?? undefined;
|
|
30
|
+
// User agent — same dispatch.
|
|
31
|
+
const rawUa = opts.headers.get('user-agent');
|
|
32
|
+
const userAgent = processUserAgent(rawUa, opts.recordUserAgent) ?? undefined;
|
|
33
|
+
const event = {
|
|
34
|
+
timestamp: new Date().toISOString(),
|
|
35
|
+
actor,
|
|
36
|
+
action: input.action,
|
|
37
|
+
outcome: input.outcome,
|
|
38
|
+
scope: input.scope,
|
|
39
|
+
...(sourceIp !== undefined ? { sourceIp } : {}),
|
|
40
|
+
...(userAgent !== undefined ? { userAgent } : {}),
|
|
41
|
+
...(input.metadata !== undefined ? { metadata: input.metadata } : {}),
|
|
42
|
+
};
|
|
43
|
+
return recordToAll(event, {
|
|
44
|
+
providers: opts.providers,
|
|
45
|
+
strict: opts.strict,
|
|
46
|
+
logFailure: opts.logFailure,
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/audit/context.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AA+DlD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAyB;IAC1D,OAAO;QACL,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,CAAC,MAAM,CAAC,KAAuB;YAClC,0DAA0D;YAC1D,0DAA0D;YAC1D,0DAA0D;YAC1D,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YAEpF,uDAAuD;YACvD,wDAAwD;YACxD,iCAAiC;YACjC,MAAM,WAAW,GAA8B;gBAC7C,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;aAC1C,CAAA;YACD,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,CAAC,CAAA;YAC1C,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,SAAS,CAAA;YAE5F,8BAA8B;YAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YAC5C,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,SAAS,CAAA;YAE5E,MAAM,KAAK,GAAe;gBACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,KAAK;gBACL,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjD,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAA;YAED,OAAO,WAAW,CAAC,KAAK,EAAE;gBACxB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit error taxonomy. Per `design-plugins.md`'s Universal Provider
|
|
3
|
+
* Requirements, every provider surface gets its own error classes
|
|
4
|
+
* so consumers can branch on the failure category.
|
|
5
|
+
*
|
|
6
|
+
* # Error taxonomy
|
|
7
|
+
*
|
|
8
|
+
* - `AuditError` — base class for all audit failures
|
|
9
|
+
* - `AuditConfigurationError` — invalid `admin.audit` config
|
|
10
|
+
* (unknown provider name, missing required field). Surfaces
|
|
11
|
+
* at admin boot; admin won't start.
|
|
12
|
+
* - `AuditTransportError` — provider couldn't reach its sink
|
|
13
|
+
* (network blip, 5xx from CloudWatch, etc.). Per Universal
|
|
14
|
+
* Provider Requirement #5: NEVER thrown — providers log and
|
|
15
|
+
* fall back to local-only recording. The class exists so
|
|
16
|
+
* transport-failure structured-log entries can carry a typed
|
|
17
|
+
* reason field.
|
|
18
|
+
*
|
|
19
|
+
* # Why no `AuditAuthorizationError`
|
|
20
|
+
*
|
|
21
|
+
* Audit READS gate on `read:audit-log` capability via the standard
|
|
22
|
+
* capability middleware (`requireCapability` from auth/RBAC) — the
|
|
23
|
+
* 403 surfaces as `AuthorizationError` from the existing taxonomy,
|
|
24
|
+
* not a new audit-specific error class.
|
|
25
|
+
*
|
|
26
|
+
* # SOLID lenses
|
|
27
|
+
*
|
|
28
|
+
* - SRP: error classes own only error identity; route handlers
|
|
29
|
+
* map to JSON via the existing error-response infrastructure.
|
|
30
|
+
* - LSP: subclasses extend `AuditError` so consumers can
|
|
31
|
+
* `instanceof AuditError` for catch-all handling.
|
|
32
|
+
*/
|
|
33
|
+
/** Base class for all audit-related errors. */
|
|
34
|
+
export declare class AuditError extends Error {
|
|
35
|
+
readonly name: string;
|
|
36
|
+
/** HTTP status the route should return when this error reaches one. */
|
|
37
|
+
readonly httpStatus: number;
|
|
38
|
+
constructor(message: string);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Thrown at config-load time when `admin.audit` is malformed
|
|
42
|
+
* (unknown provider, missing required field, invalid retention).
|
|
43
|
+
* Admin won't start — operator sees the failure before any request
|
|
44
|
+
* is served.
|
|
45
|
+
*/
|
|
46
|
+
export declare class AuditConfigurationError extends AuditError {
|
|
47
|
+
readonly name = "AuditConfigurationError";
|
|
48
|
+
readonly httpStatus = 500;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Tagged transport failure. Per Universal Provider Requirement #5,
|
|
52
|
+
* audit providers never throw on transport errors — they catch
|
|
53
|
+
* internally and log via this category. The class exists so the
|
|
54
|
+
* structured-log entries the recorder emits can carry a typed
|
|
55
|
+
* reason field; route handlers never see this.
|
|
56
|
+
*/
|
|
57
|
+
export declare class AuditTransportError extends AuditError {
|
|
58
|
+
readonly name = "AuditTransportError";
|
|
59
|
+
readonly httpStatus = 500;
|
|
60
|
+
/**
|
|
61
|
+
* Categorical failure type for log-aggregator filtering.
|
|
62
|
+
*
|
|
63
|
+
* - `transport` — network / HTTP failure on a provider with an
|
|
64
|
+
* external sink (CloudWatch outage, webhook timeout)
|
|
65
|
+
* - `serialize` — event couldn't be serialized to the provider's
|
|
66
|
+
* wire format
|
|
67
|
+
* - `quota` — provider's storage tier rejected the write
|
|
68
|
+
* (CloudWatch log group full, file-cache disk full)
|
|
69
|
+
*/
|
|
70
|
+
readonly category: 'transport' | 'serialize' | 'quota';
|
|
71
|
+
constructor(message: string, category: 'transport' | 'serialize' | 'quota');
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/audit/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,+CAA+C;AAC/C,qBAAa,UAAW,SAAQ,KAAK;IACnC,SAAkB,IAAI,EAAE,MAAM,CAAe;IAC7C,uEAAuE;IACvE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAM;gBACrB,OAAO,EAAE,MAAM;CAG5B;AAED;;;;;GAKG;AACH,qBAAa,uBAAwB,SAAQ,UAAU;IACrD,SAAkB,IAAI,6BAA4B;IAClD,SAAkB,UAAU,OAAM;CACnC;AAED;;;;;;GAMG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,SAAkB,IAAI,yBAAwB;IAC9C,SAAkB,UAAU,OAAM;IAClC;;;;;;;;;OASG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,OAAO,CAAA;gBAC1C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,OAAO;CAI3E"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit error taxonomy. Per `design-plugins.md`'s Universal Provider
|
|
3
|
+
* Requirements, every provider surface gets its own error classes
|
|
4
|
+
* so consumers can branch on the failure category.
|
|
5
|
+
*
|
|
6
|
+
* # Error taxonomy
|
|
7
|
+
*
|
|
8
|
+
* - `AuditError` — base class for all audit failures
|
|
9
|
+
* - `AuditConfigurationError` — invalid `admin.audit` config
|
|
10
|
+
* (unknown provider name, missing required field). Surfaces
|
|
11
|
+
* at admin boot; admin won't start.
|
|
12
|
+
* - `AuditTransportError` — provider couldn't reach its sink
|
|
13
|
+
* (network blip, 5xx from CloudWatch, etc.). Per Universal
|
|
14
|
+
* Provider Requirement #5: NEVER thrown — providers log and
|
|
15
|
+
* fall back to local-only recording. The class exists so
|
|
16
|
+
* transport-failure structured-log entries can carry a typed
|
|
17
|
+
* reason field.
|
|
18
|
+
*
|
|
19
|
+
* # Why no `AuditAuthorizationError`
|
|
20
|
+
*
|
|
21
|
+
* Audit READS gate on `read:audit-log` capability via the standard
|
|
22
|
+
* capability middleware (`requireCapability` from auth/RBAC) — the
|
|
23
|
+
* 403 surfaces as `AuthorizationError` from the existing taxonomy,
|
|
24
|
+
* not a new audit-specific error class.
|
|
25
|
+
*
|
|
26
|
+
* # SOLID lenses
|
|
27
|
+
*
|
|
28
|
+
* - SRP: error classes own only error identity; route handlers
|
|
29
|
+
* map to JSON via the existing error-response infrastructure.
|
|
30
|
+
* - LSP: subclasses extend `AuditError` so consumers can
|
|
31
|
+
* `instanceof AuditError` for catch-all handling.
|
|
32
|
+
*/
|
|
33
|
+
/** Base class for all audit-related errors. */
|
|
34
|
+
export class AuditError extends Error {
|
|
35
|
+
name = 'AuditError';
|
|
36
|
+
/** HTTP status the route should return when this error reaches one. */
|
|
37
|
+
httpStatus = 500;
|
|
38
|
+
constructor(message) {
|
|
39
|
+
super(message);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Thrown at config-load time when `admin.audit` is malformed
|
|
44
|
+
* (unknown provider, missing required field, invalid retention).
|
|
45
|
+
* Admin won't start — operator sees the failure before any request
|
|
46
|
+
* is served.
|
|
47
|
+
*/
|
|
48
|
+
export class AuditConfigurationError extends AuditError {
|
|
49
|
+
name = 'AuditConfigurationError';
|
|
50
|
+
httpStatus = 500;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Tagged transport failure. Per Universal Provider Requirement #5,
|
|
54
|
+
* audit providers never throw on transport errors — they catch
|
|
55
|
+
* internally and log via this category. The class exists so the
|
|
56
|
+
* structured-log entries the recorder emits can carry a typed
|
|
57
|
+
* reason field; route handlers never see this.
|
|
58
|
+
*/
|
|
59
|
+
export class AuditTransportError extends AuditError {
|
|
60
|
+
name = 'AuditTransportError';
|
|
61
|
+
httpStatus = 500;
|
|
62
|
+
/**
|
|
63
|
+
* Categorical failure type for log-aggregator filtering.
|
|
64
|
+
*
|
|
65
|
+
* - `transport` — network / HTTP failure on a provider with an
|
|
66
|
+
* external sink (CloudWatch outage, webhook timeout)
|
|
67
|
+
* - `serialize` — event couldn't be serialized to the provider's
|
|
68
|
+
* wire format
|
|
69
|
+
* - `quota` — provider's storage tier rejected the write
|
|
70
|
+
* (CloudWatch log group full, file-cache disk full)
|
|
71
|
+
*/
|
|
72
|
+
category;
|
|
73
|
+
constructor(message, category) {
|
|
74
|
+
super(message);
|
|
75
|
+
this.category = category;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/audit/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,+CAA+C;AAC/C,MAAM,OAAO,UAAW,SAAQ,KAAK;IACjB,IAAI,GAAW,YAAY,CAAA;IAC7C,uEAAuE;IAC9D,UAAU,GAAW,GAAG,CAAA;IACjC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;IAChB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,uBAAwB,SAAQ,UAAU;IACnC,IAAI,GAAG,yBAAyB,CAAA;IAChC,UAAU,GAAG,GAAG,CAAA;CACnC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,mBAAoB,SAAQ,UAAU;IAC/B,IAAI,GAAG,qBAAqB,CAAA;IAC5B,UAAU,GAAG,GAAG,CAAA;IAClC;;;;;;;;;OASG;IACM,QAAQ,CAAqC;IACtD,YAAY,OAAe,EAAE,QAA6C;QACxE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit barrel export. Cuts 2-9 add to this surface (`AuditProvider`
|
|
3
|
+
* interface, `HistoryAuditProvider`, recorder, query route).
|
|
4
|
+
*/
|
|
5
|
+
export type { AuditAction, AuditActor, AuditEvent, AuditOutcome, AuditQuery, AuditScope } from './types.js';
|
|
6
|
+
export { AuditError, AuditConfigurationError, AuditTransportError } from './errors.js';
|
|
7
|
+
export { AuditConfigSchema, DEFAULT_AUDIT_CONFIG, type AuditConfig } from './config.js';
|
|
8
|
+
export type { AuditProvider } from './provider.js';
|
|
9
|
+
export { createHistoryAuditProvider, type HistoryAuditProviderOptions } from './providers/history.js';
|
|
10
|
+
export { recordToAll, type AuditFailureLog, type AuditFailureLogger, type RecordResult, type RecordToAllOptions, } from './recorder.js';
|
|
11
|
+
export { computePseudonymizedId, pseudonymizeActor, type ActorPseudonymMode } from './pseudonymize.js';
|
|
12
|
+
export { extractSourceIp, processSourceIp, type SourceIpExtractionContext, type SourceIpMode, } from './source-ip.js';
|
|
13
|
+
export { processUserAgent, type UserAgentMode } from './user-agent.js';
|
|
14
|
+
export { pruneAuditEvents, type AuditRetentionConfig, type PruneResult } from './retention.js';
|
|
15
|
+
export { createAuditContext, type AuditContext, type AuditContextOptions, type RecordEventInput, } from './context.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC3G,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AACvF,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,0BAA0B,EAAE,KAAK,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AACrG,OAAO,EACL,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,kBAAkB,GACxB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtG,OAAO,EACL,eAAe,EACf,eAAe,EACf,KAAK,yBAAyB,EAC9B,KAAK,YAAY,GAClB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAC9F,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { AuditError, AuditConfigurationError, AuditTransportError } from './errors.js';
|
|
2
|
+
export { AuditConfigSchema, DEFAULT_AUDIT_CONFIG } from './config.js';
|
|
3
|
+
export { createHistoryAuditProvider } from './providers/history.js';
|
|
4
|
+
export { recordToAll, } from './recorder.js';
|
|
5
|
+
export { computePseudonymizedId, pseudonymizeActor } from './pseudonymize.js';
|
|
6
|
+
export { extractSourceIp, processSourceIp, } from './source-ip.js';
|
|
7
|
+
export { processUserAgent } from './user-agent.js';
|
|
8
|
+
export { pruneAuditEvents } from './retention.js';
|
|
9
|
+
export { createAuditContext, } from './context.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/audit/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAoB,MAAM,aAAa,CAAA;AAEvF,OAAO,EAAE,0BAA0B,EAAoC,MAAM,wBAAwB,CAAA;AACrG,OAAO,EACL,WAAW,GAKZ,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAA2B,MAAM,mBAAmB,CAAA;AACtG,OAAO,EACL,eAAe,EACf,eAAe,GAGhB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,gBAAgB,EAAsB,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAA+C,MAAM,gBAAgB,CAAA;AAC9F,OAAO,EACL,kBAAkB,GAInB,MAAM,cAAc,CAAA"}
|