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,63 @@
|
|
|
1
|
+
import type { AltGenerateInput, AltTextAdapter } from '../alt/adapter.js';
|
|
2
|
+
/** Approximate characters-per-output-token for max-tokens derivation. */
|
|
3
|
+
export declare const CHARS_PER_TOKEN = 4;
|
|
4
|
+
/** Floor for derived max-tokens; ensures small maxChars still gives the model room. */
|
|
5
|
+
export declare const MIN_MAX_TOKENS = 64;
|
|
6
|
+
/**
|
|
7
|
+
* Provider-specific request closure passed to the scaffold. The closure
|
|
8
|
+
* makes the actual SDK call and returns the response text.
|
|
9
|
+
*
|
|
10
|
+
* The scaffold supplies:
|
|
11
|
+
* - `bytes` / `mime` from prepared input
|
|
12
|
+
* - `systemPrompt` already prepended with operator override (if any)
|
|
13
|
+
* - `maxTokens` already resolved (operator override OR derived from maxChars)
|
|
14
|
+
* - `userPrompt` from the suggester's compose-prompt output (the
|
|
15
|
+
* base prompt minus operator's prepend; useful for OpenAI/Ollama
|
|
16
|
+
* which split system vs. user)
|
|
17
|
+
* - `request` original AltRequest for adapters that want maxChars / locale
|
|
18
|
+
* - `signal` AbortSignal forwarded from caller
|
|
19
|
+
*/
|
|
20
|
+
export interface ProviderCallInput {
|
|
21
|
+
bytes: Uint8Array;
|
|
22
|
+
mime: string;
|
|
23
|
+
systemPrompt: string;
|
|
24
|
+
maxTokens: number;
|
|
25
|
+
request: AltGenerateInput['request'];
|
|
26
|
+
signal?: AbortSignal;
|
|
27
|
+
}
|
|
28
|
+
export interface AdapterScaffoldOptions {
|
|
29
|
+
/** Stable identifier for diagnostics ('anthropic', 'openai', 'ollama'). */
|
|
30
|
+
name: string;
|
|
31
|
+
/** MIME types the underlying provider accepts. */
|
|
32
|
+
supportedMimes: ReadonlySet<string>;
|
|
33
|
+
/** Operator-supplied system prompt; prepended to the system-composed prompt. */
|
|
34
|
+
operatorSystemPrompt?: string;
|
|
35
|
+
/** Operator-supplied max tokens; overrides derivation from maxChars. */
|
|
36
|
+
operatorMaxTokens?: number;
|
|
37
|
+
/** Provider-specific refusal markers; layered on top of shared markers. */
|
|
38
|
+
refusalMarkers: readonly string[];
|
|
39
|
+
/**
|
|
40
|
+
* Provider SDK call. Returns response text on success; throws on
|
|
41
|
+
* transport / API failure. Aborts should propagate as-is so the
|
|
42
|
+
* suggester's `signal.aborted` check returns null.
|
|
43
|
+
*/
|
|
44
|
+
callProvider(input: ProviderCallInput): Promise<string>;
|
|
45
|
+
/**
|
|
46
|
+
* True for the SDK's user-abort exception type. Different SDKs throw
|
|
47
|
+
* different abort types; the scaffold lets each provider declare
|
|
48
|
+
* which one to pass through unchanged.
|
|
49
|
+
*/
|
|
50
|
+
isAbortError(err: unknown): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Optional human-readable context appended to error messages
|
|
53
|
+
* (e.g., "Is Ollama running at http://localhost:11434?").
|
|
54
|
+
*/
|
|
55
|
+
errorContextSuffix?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Build an `AltTextAdapter` from provider-specific configuration. Owns
|
|
59
|
+
* the orchestration so per-provider files contribute only the SDK call
|
|
60
|
+
* and shape parsing.
|
|
61
|
+
*/
|
|
62
|
+
export declare function buildAltAdapterFromScaffold(opts: AdapterScaffoldOptions): AltTextAdapter;
|
|
63
|
+
//# sourceMappingURL=adapter-scaffold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-scaffold.d.ts","sourceRoot":"","sources":["../../src/ai/adapter-scaffold.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,gBAAgB,EAAiB,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAExF,yEAAyE;AACzE,eAAO,MAAM,eAAe,IAAI,CAAA;AAChC,uFAAuF;AACvF,eAAO,MAAM,cAAc,KAAK,CAAA;AAEhC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,UAAU,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAA;IACZ,kDAAkD;IAClD,cAAc,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACnC,gFAAgF;IAChF,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,2EAA2E;IAC3E,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACvD;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAA;IACnC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,GAAG,cAAc,CAyDxF"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared scaffolding for `AltTextAdapter` implementations.
|
|
3
|
+
*
|
|
4
|
+
* Per Phase 4 of the Path X migration: the three v1.5 providers (Anthropic,
|
|
5
|
+
* OpenAI, Ollama) share substantial orchestration — operator-supplied
|
|
6
|
+
* prompt prepending, max-tokens derivation, refusal-marker layering, error
|
|
7
|
+
* translation. This module owns those shared concerns; per-provider files
|
|
8
|
+
* contribute only the provider-specific call (`callProvider`), abort
|
|
9
|
+
* detection (`isAbortError`), and refusal markers (`refusalMarkers`).
|
|
10
|
+
*
|
|
11
|
+
* # SOLID
|
|
12
|
+
*
|
|
13
|
+
* - SRP: this module owns the alt-text adapter orchestration. Provider
|
|
14
|
+
* files own the SDK call + response parsing.
|
|
15
|
+
* - OCP: adding a fourth provider supplies a `callProvider` closure;
|
|
16
|
+
* no edits to scaffolding.
|
|
17
|
+
* - LSP: every adapter built via this scaffold honors the
|
|
18
|
+
* `AltTextAdapter` contract identically.
|
|
19
|
+
* - DIP: scaffold depends on `AltTextAdapter`, `AltGenerateInput`,
|
|
20
|
+
* `AltSuggestion` — abstractions, not provider SDK types.
|
|
21
|
+
*/
|
|
22
|
+
import { AIAdapterFailedError, AIError } from './errors.js';
|
|
23
|
+
import { detectRefusal } from './refusal.js';
|
|
24
|
+
/** Approximate characters-per-output-token for max-tokens derivation. */
|
|
25
|
+
export const CHARS_PER_TOKEN = 4;
|
|
26
|
+
/** Floor for derived max-tokens; ensures small maxChars still gives the model room. */
|
|
27
|
+
export const MIN_MAX_TOKENS = 64;
|
|
28
|
+
/**
|
|
29
|
+
* Build an `AltTextAdapter` from provider-specific configuration. Owns
|
|
30
|
+
* the orchestration so per-provider files contribute only the SDK call
|
|
31
|
+
* and shape parsing.
|
|
32
|
+
*/
|
|
33
|
+
export function buildAltAdapterFromScaffold(opts) {
|
|
34
|
+
const operatorSystemPrompt = opts.operatorSystemPrompt;
|
|
35
|
+
const operatorMaxTokens = opts.operatorMaxTokens;
|
|
36
|
+
return {
|
|
37
|
+
name: opts.name,
|
|
38
|
+
supports(mime) {
|
|
39
|
+
return opts.supportedMimes.has(mime);
|
|
40
|
+
},
|
|
41
|
+
async generate(input, signal) {
|
|
42
|
+
// max_tokens: operator override > derived from maxChars.
|
|
43
|
+
const maxTokens = operatorMaxTokens ?? Math.max(MIN_MAX_TOKENS, Math.ceil(input.request.maxChars / CHARS_PER_TOKEN));
|
|
44
|
+
// System prompt: operator-supplied prepends to the system-composed
|
|
45
|
+
// prompt (per design-ai.md "Prompt composition"). Empty/absent
|
|
46
|
+
// operator prompt → just the system-composed.
|
|
47
|
+
const systemPrompt = operatorSystemPrompt ? `${operatorSystemPrompt}\n\n${input.prompt}` : input.prompt;
|
|
48
|
+
let text;
|
|
49
|
+
try {
|
|
50
|
+
text = await opts.callProvider({
|
|
51
|
+
bytes: input.bytes,
|
|
52
|
+
mime: input.mime,
|
|
53
|
+
systemPrompt,
|
|
54
|
+
maxTokens,
|
|
55
|
+
request: input.request,
|
|
56
|
+
signal,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
// Aborts pass through — suggester checks `signal.aborted` and
|
|
61
|
+
// returns null. Wrapping into AIAdapterFailedError would lose
|
|
62
|
+
// the abort signal.
|
|
63
|
+
if (opts.isAbortError(err))
|
|
64
|
+
throw err;
|
|
65
|
+
// AI-domain errors thrown by the provider's response-parsing
|
|
66
|
+
// (e.g., AIInvalidResponseError when the SDK returns no text
|
|
67
|
+
// block) pass through unchanged. Only transport / SDK-level
|
|
68
|
+
// failures get wrapped as AIAdapterFailedError.
|
|
69
|
+
if (err instanceof AIError)
|
|
70
|
+
throw err;
|
|
71
|
+
const suffix = opts.errorContextSuffix ? `. ${opts.errorContextSuffix}` : '';
|
|
72
|
+
if (err instanceof Error) {
|
|
73
|
+
throw new AIAdapterFailedError(`${opts.name} alt-text generation failed: ${err.message}${suffix}`, {
|
|
74
|
+
cause: err,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
throw new AIAdapterFailedError(`${opts.name} alt-text generation failed: unknown error${suffix}`);
|
|
78
|
+
}
|
|
79
|
+
const trimmed = text.trim();
|
|
80
|
+
const refusal = detectRefusal(trimmed, opts.refusalMarkers);
|
|
81
|
+
return {
|
|
82
|
+
text: trimmed,
|
|
83
|
+
refused: refusal.refused,
|
|
84
|
+
refusalReason: refusal.reason,
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=adapter-scaffold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter-scaffold.js","sourceRoot":"","sources":["../../src/ai/adapter-scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAG5C,yEAAyE;AACzE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAA;AAChC,uFAAuF;AACvF,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAA;AAuDhC;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAA4B;IACtE,MAAM,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAA;IACtD,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAA;IAEhD,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,CAAC,IAAY;YACnB,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACtC,CAAC;QACD,KAAK,CAAC,QAAQ,CAAC,KAAuB,EAAE,MAAoB;YAC1D,yDAAyD;YACzD,MAAM,SAAS,GACb,iBAAiB,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAA;YAEpG,mEAAmE;YACnE,+DAA+D;YAC/D,8CAA8C;YAC9C,MAAM,YAAY,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,oBAAoB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;YAEvG,IAAI,IAAY,CAAA;YAChB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC;oBAC7B,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,YAAY;oBACZ,SAAS;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM;iBACP,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,8DAA8D;gBAC9D,8DAA8D;gBAC9D,oBAAoB;gBACpB,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;oBAAE,MAAM,GAAG,CAAA;gBACrC,6DAA6D;gBAC7D,6DAA6D;gBAC7D,4DAA4D;gBAC5D,gDAAgD;gBAChD,IAAI,GAAG,YAAY,OAAO;oBAAE,MAAM,GAAG,CAAA;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;gBAC5E,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;oBACzB,MAAM,IAAI,oBAAoB,CAAC,GAAG,IAAI,CAAC,IAAI,gCAAgC,GAAG,CAAC,OAAO,GAAG,MAAM,EAAE,EAAE;wBACjG,KAAK,EAAE,GAAG;qBACX,CAAC,CAAA;gBACJ,CAAC;gBACD,MAAM,IAAI,oBAAoB,CAAC,GAAG,IAAI,CAAC,IAAI,6CAA6C,MAAM,EAAE,CAAC,CAAA;YACnG,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;YAC3B,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;YAC3D,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,aAAa,EAAE,OAAO,CAAC,MAAM;aAC9B,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic prompt composer — assembles a final prompt string from an
|
|
3
|
+
* ordered list of `PromptPolicy<T>` functions, where `T` is the typed
|
|
4
|
+
* request shape for the calling task.
|
|
5
|
+
*
|
|
6
|
+
* # Why generic over `T`
|
|
7
|
+
*
|
|
8
|
+
* Each AI task has its own typed request (alt-text has `AltRequest`
|
|
9
|
+
* with `locale`, `maxChars`, `style`; future translation will have its
|
|
10
|
+
* own with source/target language pairs, formality, etc.). The
|
|
11
|
+
* composer doesn't need to know task-specific fields — it just calls
|
|
12
|
+
* each policy in order and joins the non-empty results.
|
|
13
|
+
*
|
|
14
|
+
* Putting the composer in `ai/` (not in `alt/`) means the second task
|
|
15
|
+
* doesn't reimplement composition. Each task contributes its own
|
|
16
|
+
* `PromptPolicy<TaskRequest>` modules that import this composer.
|
|
17
|
+
*
|
|
18
|
+
* # SOLID lenses
|
|
19
|
+
*
|
|
20
|
+
* - SRP: this module owns "ordered policies → final prompt string"
|
|
21
|
+
* - OCP: callers pass their own policy array; the default policy set
|
|
22
|
+
* is the task's responsibility, not this module's
|
|
23
|
+
* - LSP: every policy is `(req: T) => string`; trivially substitutable
|
|
24
|
+
* - DIP: tasks depend on this generic composer, not on each other
|
|
25
|
+
*
|
|
26
|
+
* # Empty-string convention
|
|
27
|
+
*
|
|
28
|
+
* Policies that don't apply (e.g., the locale policy when locale is
|
|
29
|
+
* the default 'en') return an empty string. The composer filters these
|
|
30
|
+
* out before joining, so empty paragraphs don't appear in the final
|
|
31
|
+
* prompt. This keeps each policy decision local — no callers need to
|
|
32
|
+
* reason about "should I include this policy?"
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* One dimension of prompt content. A function from a typed request to
|
|
36
|
+
* a string paragraph. Empty string means "this policy doesn't apply
|
|
37
|
+
* for this request" and is dropped before assembly.
|
|
38
|
+
*/
|
|
39
|
+
export type PromptPolicy<TRequest> = (req: TRequest) => string;
|
|
40
|
+
/**
|
|
41
|
+
* Assemble policies into a prompt. Joins non-empty results with two
|
|
42
|
+
* newlines (paragraph break) — model providers parse this as natural
|
|
43
|
+
* structure. Order matters: callers pass the array in the order they
|
|
44
|
+
* want paragraphs to appear.
|
|
45
|
+
*
|
|
46
|
+
* Tests can pass a custom policy array to validate composition without
|
|
47
|
+
* coupling to any task's default set.
|
|
48
|
+
*/
|
|
49
|
+
export declare function composePrompt<TRequest>(req: TRequest, policies: readonly PromptPolicy<TRequest>[]): string;
|
|
50
|
+
//# sourceMappingURL=compose-prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose-prompt.d.ts","sourceRoot":"","sources":["../../src/ai/compose-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;GAIG;AACH,MAAM,MAAM,YAAY,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,QAAQ,KAAK,MAAM,CAAA;AAE9D;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,YAAY,CAAC,QAAQ,CAAC,EAAE,GAAG,MAAM,CAK1G"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic prompt composer — assembles a final prompt string from an
|
|
3
|
+
* ordered list of `PromptPolicy<T>` functions, where `T` is the typed
|
|
4
|
+
* request shape for the calling task.
|
|
5
|
+
*
|
|
6
|
+
* # Why generic over `T`
|
|
7
|
+
*
|
|
8
|
+
* Each AI task has its own typed request (alt-text has `AltRequest`
|
|
9
|
+
* with `locale`, `maxChars`, `style`; future translation will have its
|
|
10
|
+
* own with source/target language pairs, formality, etc.). The
|
|
11
|
+
* composer doesn't need to know task-specific fields — it just calls
|
|
12
|
+
* each policy in order and joins the non-empty results.
|
|
13
|
+
*
|
|
14
|
+
* Putting the composer in `ai/` (not in `alt/`) means the second task
|
|
15
|
+
* doesn't reimplement composition. Each task contributes its own
|
|
16
|
+
* `PromptPolicy<TaskRequest>` modules that import this composer.
|
|
17
|
+
*
|
|
18
|
+
* # SOLID lenses
|
|
19
|
+
*
|
|
20
|
+
* - SRP: this module owns "ordered policies → final prompt string"
|
|
21
|
+
* - OCP: callers pass their own policy array; the default policy set
|
|
22
|
+
* is the task's responsibility, not this module's
|
|
23
|
+
* - LSP: every policy is `(req: T) => string`; trivially substitutable
|
|
24
|
+
* - DIP: tasks depend on this generic composer, not on each other
|
|
25
|
+
*
|
|
26
|
+
* # Empty-string convention
|
|
27
|
+
*
|
|
28
|
+
* Policies that don't apply (e.g., the locale policy when locale is
|
|
29
|
+
* the default 'en') return an empty string. The composer filters these
|
|
30
|
+
* out before joining, so empty paragraphs don't appear in the final
|
|
31
|
+
* prompt. This keeps each policy decision local — no callers need to
|
|
32
|
+
* reason about "should I include this policy?"
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* Assemble policies into a prompt. Joins non-empty results with two
|
|
36
|
+
* newlines (paragraph break) — model providers parse this as natural
|
|
37
|
+
* structure. Order matters: callers pass the array in the order they
|
|
38
|
+
* want paragraphs to appear.
|
|
39
|
+
*
|
|
40
|
+
* Tests can pass a custom policy array to validate composition without
|
|
41
|
+
* coupling to any task's default set.
|
|
42
|
+
*/
|
|
43
|
+
export function composePrompt(req, policies) {
|
|
44
|
+
return policies
|
|
45
|
+
.map(policy => policy(req))
|
|
46
|
+
.filter(paragraph => paragraph.length > 0)
|
|
47
|
+
.join('\n\n');
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=compose-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose-prompt.js","sourceRoot":"","sources":["../../src/ai/compose-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AASH;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAW,GAAa,EAAE,QAA2C;IAChG,OAAO,QAAQ;SACZ,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC1B,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;SACzC,IAAI,CAAC,MAAM,CAAC,CAAA;AACjB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed errors for the AI domain — one class per failure mode, each
|
|
3
|
+
* carrying an HTTP status so route handlers don't pattern-match on
|
|
4
|
+
* messages.
|
|
5
|
+
*
|
|
6
|
+
* Pattern mirrors `assets/errors.ts`: subclass `AIError`, declare the
|
|
7
|
+
* `code` and `httpStatus` on the class, override `toResponseBody()` if
|
|
8
|
+
* extra structured fields are needed.
|
|
9
|
+
*
|
|
10
|
+
* Adding a new AI error is one new subclass + one new code in the
|
|
11
|
+
* union. Routes pick up the new HTTP status via the `httpStatus`
|
|
12
|
+
* property — no route-handler edits required (OCP).
|
|
13
|
+
*/
|
|
14
|
+
export type AIErrorCode = 'AI_ADAPTER_UNAVAILABLE' | 'AI_ADAPTER_FAILED' | 'AI_INVALID_RESPONSE';
|
|
15
|
+
export type AIErrorHttpStatus = 502 | 503;
|
|
16
|
+
export interface AIErrorResponseBody {
|
|
17
|
+
readonly code: AIErrorCode;
|
|
18
|
+
readonly message: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Base class. Subclasses set `code` and `httpStatus` as readonly
|
|
22
|
+
* properties; the base provides the `toResponseBody()` machinery.
|
|
23
|
+
*/
|
|
24
|
+
export declare abstract class AIError extends Error {
|
|
25
|
+
abstract readonly code: AIErrorCode;
|
|
26
|
+
abstract readonly httpStatus: AIErrorHttpStatus;
|
|
27
|
+
toResponseBody(): AIErrorResponseBody;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* No adapter is configured for the target, OR the adapter is configured
|
|
31
|
+
* but its credentials are missing, OR the adapter doesn't support the
|
|
32
|
+
* requested MIME. UI hides AI affordances; route returns 503.
|
|
33
|
+
*
|
|
34
|
+
* Distinct from `AIAdapterFailedError` because this is a configuration
|
|
35
|
+
* state, not a runtime failure — retrying won't help.
|
|
36
|
+
*/
|
|
37
|
+
export declare class AIAdapterUnavailableError extends AIError {
|
|
38
|
+
readonly code = "AI_ADAPTER_UNAVAILABLE";
|
|
39
|
+
readonly httpStatus = 503;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Adapter was reached but the call failed — network error, auth
|
|
43
|
+
* rejection, rate limit not handled by the SDK's own retry, malformed
|
|
44
|
+
* response. Route returns 502 (we're acting as a gateway to the
|
|
45
|
+
* upstream provider).
|
|
46
|
+
*
|
|
47
|
+
* The provider-specific cause is attached as `cause` (per the standard
|
|
48
|
+
* Error.cause property) so logs can drill into the underlying failure
|
|
49
|
+
* without leaking provider details into the API response.
|
|
50
|
+
*/
|
|
51
|
+
export declare class AIAdapterFailedError extends AIError {
|
|
52
|
+
readonly code = "AI_ADAPTER_FAILED";
|
|
53
|
+
readonly httpStatus = 502;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Adapter received a response from the provider, but it didn't parse
|
|
57
|
+
* into the expected shape (missing content field, unexpected null,
|
|
58
|
+
* etc.). 502 — same gateway semantics as `AIAdapterFailedError`, but
|
|
59
|
+
* the cause is parsing rather than transport.
|
|
60
|
+
*/
|
|
61
|
+
export declare class AIInvalidResponseError extends AIError {
|
|
62
|
+
readonly code = "AI_INVALID_RESPONSE";
|
|
63
|
+
readonly httpStatus = 502;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/ai/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,WAAW,GAAG,wBAAwB,GAAG,mBAAmB,GAAG,qBAAqB,CAAA;AAEhG,MAAM,MAAM,iBAAiB,GAAG,GAAG,GAAG,GAAG,CAAA;AAEzC,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED;;;GAGG;AACH,8BAAsB,OAAQ,SAAQ,KAAK;IACzC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;IACnC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAA;IAE/C,cAAc,IAAI,mBAAmB;CAGtC;AAED;;;;;;;GAOG;AACH,qBAAa,yBAA0B,SAAQ,OAAO;IACpD,QAAQ,CAAC,IAAI,4BAA2B;IACxC,QAAQ,CAAC,UAAU,OAAM;CAC1B;AAED;;;;;;;;;GASG;AACH,qBAAa,oBAAqB,SAAQ,OAAO;IAC/C,QAAQ,CAAC,IAAI,uBAAsB;IACnC,QAAQ,CAAC,UAAU,OAAM;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,sBAAuB,SAAQ,OAAO;IACjD,QAAQ,CAAC,IAAI,yBAAwB;IACrC,QAAQ,CAAC,UAAU,OAAM;CAC1B"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed errors for the AI domain — one class per failure mode, each
|
|
3
|
+
* carrying an HTTP status so route handlers don't pattern-match on
|
|
4
|
+
* messages.
|
|
5
|
+
*
|
|
6
|
+
* Pattern mirrors `assets/errors.ts`: subclass `AIError`, declare the
|
|
7
|
+
* `code` and `httpStatus` on the class, override `toResponseBody()` if
|
|
8
|
+
* extra structured fields are needed.
|
|
9
|
+
*
|
|
10
|
+
* Adding a new AI error is one new subclass + one new code in the
|
|
11
|
+
* union. Routes pick up the new HTTP status via the `httpStatus`
|
|
12
|
+
* property — no route-handler edits required (OCP).
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Base class. Subclasses set `code` and `httpStatus` as readonly
|
|
16
|
+
* properties; the base provides the `toResponseBody()` machinery.
|
|
17
|
+
*/
|
|
18
|
+
export class AIError extends Error {
|
|
19
|
+
toResponseBody() {
|
|
20
|
+
return { code: this.code, message: this.message };
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* No adapter is configured for the target, OR the adapter is configured
|
|
25
|
+
* but its credentials are missing, OR the adapter doesn't support the
|
|
26
|
+
* requested MIME. UI hides AI affordances; route returns 503.
|
|
27
|
+
*
|
|
28
|
+
* Distinct from `AIAdapterFailedError` because this is a configuration
|
|
29
|
+
* state, not a runtime failure — retrying won't help.
|
|
30
|
+
*/
|
|
31
|
+
export class AIAdapterUnavailableError extends AIError {
|
|
32
|
+
code = 'AI_ADAPTER_UNAVAILABLE';
|
|
33
|
+
httpStatus = 503;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Adapter was reached but the call failed — network error, auth
|
|
37
|
+
* rejection, rate limit not handled by the SDK's own retry, malformed
|
|
38
|
+
* response. Route returns 502 (we're acting as a gateway to the
|
|
39
|
+
* upstream provider).
|
|
40
|
+
*
|
|
41
|
+
* The provider-specific cause is attached as `cause` (per the standard
|
|
42
|
+
* Error.cause property) so logs can drill into the underlying failure
|
|
43
|
+
* without leaking provider details into the API response.
|
|
44
|
+
*/
|
|
45
|
+
export class AIAdapterFailedError extends AIError {
|
|
46
|
+
code = 'AI_ADAPTER_FAILED';
|
|
47
|
+
httpStatus = 502;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Adapter received a response from the provider, but it didn't parse
|
|
51
|
+
* into the expected shape (missing content field, unexpected null,
|
|
52
|
+
* etc.). 502 — same gateway semantics as `AIAdapterFailedError`, but
|
|
53
|
+
* the cause is parsing rather than transport.
|
|
54
|
+
*/
|
|
55
|
+
export class AIInvalidResponseError extends AIError {
|
|
56
|
+
code = 'AI_INVALID_RESPONSE';
|
|
57
|
+
httpStatus = 502;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/ai/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH;;;GAGG;AACH,MAAM,OAAgB,OAAQ,SAAQ,KAAK;IAIzC,cAAc;QACZ,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IACnD,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,yBAA0B,SAAQ,OAAO;IAC3C,IAAI,GAAG,wBAAwB,CAAA;IAC/B,UAAU,GAAG,GAAG,CAAA;CAC1B;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,oBAAqB,SAAQ,OAAO;IACtC,IAAI,GAAG,mBAAmB,CAAA;IAC1B,UAAU,GAAG,GAAG,CAAA;CAC1B;AAED;;;;;GAKG;AACH,MAAM,OAAO,sBAAuB,SAAQ,OAAO;IACxC,IAAI,GAAG,qBAAqB,CAAA;IAC5B,UAAU,GAAG,GAAG,CAAA;CAC1B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public surface of `ai/` — cross-task AI infrastructure shared by
|
|
3
|
+
* per-task implementations (alt-text in v1.5; translation, tag
|
|
4
|
+
* suggestion, summarization in future).
|
|
5
|
+
*
|
|
6
|
+
* `ai/` is a code library, not an inheritance hierarchy. Tasks compose
|
|
7
|
+
* these utilities — they don't extend a base class. Per
|
|
8
|
+
* [team-preferences.md] convention 1: composition over inheritance.
|
|
9
|
+
*/
|
|
10
|
+
export type { AIProvider, AltTextTaskConfig } from './provider.js';
|
|
11
|
+
export { PROVIDER_DEFAULT_MODELS } from './provider.js';
|
|
12
|
+
export { AIError, AIAdapterUnavailableError, AIAdapterFailedError, AIInvalidResponseError, type AIErrorCode, type AIErrorHttpStatus, type AIErrorResponseBody, } from './errors.js';
|
|
13
|
+
export { detectRefusal, type RefusalDetection } from './refusal.js';
|
|
14
|
+
export { composePrompt, type PromptPolicy } from './compose-prompt.js';
|
|
15
|
+
export { prepareForVision, MAX_EDGE, type PrepareInput, type PreparedImage } from './vision-prep.js';
|
|
16
|
+
export { buildAltAdapterFromScaffold, type AdapterScaffoldOptions, type ProviderCallInput, } from './adapter-scaffold.js';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,OAAO,EACP,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,aAAa,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACpG,OAAO,EACL,2BAA2B,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,GACvB,MAAM,uBAAuB,CAAA"}
|
package/dist/ai/index.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public surface of `ai/` — cross-task AI infrastructure shared by
|
|
3
|
+
* per-task implementations (alt-text in v1.5; translation, tag
|
|
4
|
+
* suggestion, summarization in future).
|
|
5
|
+
*
|
|
6
|
+
* `ai/` is a code library, not an inheritance hierarchy. Tasks compose
|
|
7
|
+
* these utilities — they don't extend a base class. Per
|
|
8
|
+
* [team-preferences.md] convention 1: composition over inheritance.
|
|
9
|
+
*/
|
|
10
|
+
export { PROVIDER_DEFAULT_MODELS } from './provider.js';
|
|
11
|
+
export { AIError, AIAdapterUnavailableError, AIAdapterFailedError, AIInvalidResponseError, } from './errors.js';
|
|
12
|
+
export { detectRefusal } from './refusal.js';
|
|
13
|
+
export { composePrompt } from './compose-prompt.js';
|
|
14
|
+
export { prepareForVision, MAX_EDGE } from './vision-prep.js';
|
|
15
|
+
export { buildAltAdapterFromScaffold, } from './adapter-scaffold.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,OAAO,EACP,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,GAIvB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,aAAa,EAAyB,MAAM,cAAc,CAAA;AACnE,OAAO,EAAE,aAAa,EAAqB,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAyC,MAAM,kBAAkB,CAAA;AACpG,OAAO,EACL,2BAA2B,GAG5B,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `AIProvider` — transport-only interface for an AI account / endpoint.
|
|
3
|
+
*
|
|
4
|
+
* Per [`design-ai.md`](../../../.claude/rules/design-ai.md) "Two-axis split":
|
|
5
|
+
* the provider holds transport (apiKey, baseUrl, organizationId, timeout)
|
|
6
|
+
* and exposes per-task builder methods that return per-task adapters.
|
|
7
|
+
* Operational config (model, systemPrompt, maxTokens) lives in
|
|
8
|
+
* data-literal blocks the resolver feeds to `provider.altText({...})`
|
|
9
|
+
* at boot — not on the provider constructor.
|
|
10
|
+
*
|
|
11
|
+
* Why split: one Anthropic account legitimately serves multiple tasks
|
|
12
|
+
* (alt-text, future translation, future summarization, future
|
|
13
|
+
* image-gen) with different model + prompt + token-budget per task.
|
|
14
|
+
* Putting model/prompt on the constructor would force operators to
|
|
15
|
+
* build a separate provider per task; transport-only keeps providers
|
|
16
|
+
* reusable across tasks.
|
|
17
|
+
*
|
|
18
|
+
* Future tasks add their own builder method here:
|
|
19
|
+
* - `translation(taskConfig: TranslationTaskConfig): TranslationAdapter`
|
|
20
|
+
* - `summarization(taskConfig: SummarizationTaskConfig): SummarizationAdapter`
|
|
21
|
+
*
|
|
22
|
+
* Plugin-supplied providers may extend this with their own builder
|
|
23
|
+
* methods; consumers depend on the abstraction (`AIProvider`), not
|
|
24
|
+
* the concrete provider classes.
|
|
25
|
+
*/
|
|
26
|
+
import type { AltTextAdapter } from '../alt/adapter.js';
|
|
27
|
+
/**
|
|
28
|
+
* Per-task configuration for the alt-text task. Data-literal type fed to
|
|
29
|
+
* `provider.altText(taskConfig)` by the resolver. Field details:
|
|
30
|
+
*
|
|
31
|
+
* - `model` — non-optional at adapter construction; the resolver always
|
|
32
|
+
* supplies one (chain falls through to `PROVIDER_DEFAULT_MODELS`).
|
|
33
|
+
* Operator-facing config blocks make it optional and inherit per the
|
|
34
|
+
* three-rung chain (target → site → gazetta → provider default).
|
|
35
|
+
*
|
|
36
|
+
* - `systemPrompt` — operator-supplied voice/style override. When set,
|
|
37
|
+
* the suggester prepends it to the system-composed neutral prompt
|
|
38
|
+
* (see `design-ai.md` "Prompt composition"). Null/undefined = use
|
|
39
|
+
* system default only. Custom prompt policies (full replacement of
|
|
40
|
+
* the WCAG-grounded base) remain v1.6+ deferred.
|
|
41
|
+
*
|
|
42
|
+
* - `maxTokens` — generation budget cap. Provider-specific default
|
|
43
|
+
* applies when null/undefined (Anthropic derives from `maxChars`;
|
|
44
|
+
* OpenAI/Ollama use SDK defaults).
|
|
45
|
+
*/
|
|
46
|
+
export interface AltTextTaskConfig {
|
|
47
|
+
/** Model ID. Non-optional at adapter construction (resolver always supplies). */
|
|
48
|
+
model: string;
|
|
49
|
+
/** Operator-supplied system prompt; prepended to the system-composed prompt. */
|
|
50
|
+
systemPrompt?: string;
|
|
51
|
+
/** Generation token cap; provider-default applies when absent. */
|
|
52
|
+
maxTokens?: number;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Transport-only AI provider. Constructor takes credentials/endpoint
|
|
56
|
+
* config; builder methods construct per-task adapters from data-literal
|
|
57
|
+
* task config.
|
|
58
|
+
*/
|
|
59
|
+
export interface AIProvider {
|
|
60
|
+
/** Stable identifier for diagnostics + per-provider default-model lookup. */
|
|
61
|
+
readonly name: string;
|
|
62
|
+
/**
|
|
63
|
+
* Construct an alt-text adapter from per-task config. Resolver supplies
|
|
64
|
+
* the merged `AltTextTaskConfig` from the three-rung inheritance chain.
|
|
65
|
+
*/
|
|
66
|
+
altText(taskConfig: AltTextTaskConfig): AltTextAdapter;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Per-provider sensible default model. Used when the model field is
|
|
70
|
+
* unset across the entire chain (gazetta → site → target). Plugin
|
|
71
|
+
* providers contribute their own name; default-model fallback for
|
|
72
|
+
* unknown plugin names returns undefined (operator must specify
|
|
73
|
+
* `model` somewhere in the chain).
|
|
74
|
+
*/
|
|
75
|
+
export declare const PROVIDER_DEFAULT_MODELS: Record<string, string>;
|
|
76
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAEvD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,iBAAiB;IAChC,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAA;IACb,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;;OAGG;IACH,OAAO,CAAC,UAAU,EAAE,iBAAiB,GAAG,cAAc,CAAA;CAKvD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI1D,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-provider sensible default model. Used when the model field is
|
|
3
|
+
* unset across the entire chain (gazetta → site → target). Plugin
|
|
4
|
+
* providers contribute their own name; default-model fallback for
|
|
5
|
+
* unknown plugin names returns undefined (operator must specify
|
|
6
|
+
* `model` somewhere in the chain).
|
|
7
|
+
*/
|
|
8
|
+
export const PROVIDER_DEFAULT_MODELS = {
|
|
9
|
+
anthropic: 'claude-haiku-4-5',
|
|
10
|
+
openai: 'gpt-4o-mini',
|
|
11
|
+
ollama: 'llama3.2-vision:11b',
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/ai/provider.ts"],"names":[],"mappings":"AA2EA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,SAAS,EAAE,kBAAkB;IAC7B,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,qBAAqB;CAC9B,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refusal detection for AI provider responses.
|
|
3
|
+
*
|
|
4
|
+
* # Why this lives in `ai/` and not `alt/`
|
|
5
|
+
*
|
|
6
|
+
* Provider safety refusals look the same regardless of task. Whether
|
|
7
|
+
* the model is asked to describe an image (alt-text) or translate a
|
|
8
|
+
* paragraph (future), a refusal arrives as a 200 OK with text like
|
|
9
|
+
* "I can't help with that" in the response body — structurally
|
|
10
|
+
* indistinguishable from a successful response without inspection.
|
|
11
|
+
*
|
|
12
|
+
* v1.5's only consumer is `alt/`, but refusal detection is conceptually
|
|
13
|
+
* cross-task. Right structure now beats right structure later, per
|
|
14
|
+
* [team-preferences rule 18]: "extract shared code when you first see
|
|
15
|
+
* the split concern". Translation as the documented next consumer
|
|
16
|
+
* (per [design-ai-implementation.md]) makes this a known split.
|
|
17
|
+
*
|
|
18
|
+
* # Marker maintenance
|
|
19
|
+
*
|
|
20
|
+
* The marker list below MUST stay current as providers tune their
|
|
21
|
+
* safety messaging. Plan: review at every major model version bump
|
|
22
|
+
* (e.g., when an adapter's `defaultModel` jumps a major). Provider-
|
|
23
|
+
* specific phrases live in the adapter (passed via `adapterMarkers`)
|
|
24
|
+
* so generic markers and provider-specific ones can evolve
|
|
25
|
+
* independently.
|
|
26
|
+
*
|
|
27
|
+
* # SOLID lenses
|
|
28
|
+
*
|
|
29
|
+
* - SRP: this module owns "raw text → structured refusal info"
|
|
30
|
+
* - OCP: per-adapter markers extend without touching the shared list
|
|
31
|
+
* - DIP: callers depend on `detectRefusal`, not on substring inspection
|
|
32
|
+
* scattered across the codebase
|
|
33
|
+
*/
|
|
34
|
+
export interface RefusalDetection {
|
|
35
|
+
refused: boolean;
|
|
36
|
+
/** Truncated reason text when refused; null when not. */
|
|
37
|
+
reason: string | null;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Detect whether `text` is a refusal. Caller passes adapter-specific
|
|
41
|
+
* markers (e.g., Anthropic's particular phrasing) on top of the shared
|
|
42
|
+
* list.
|
|
43
|
+
*
|
|
44
|
+
* Returns `{ refused: false, reason: null }` for descriptive responses;
|
|
45
|
+
* `{ refused: true, reason: <truncated text> }` otherwise. Reason is
|
|
46
|
+
* truncated to 200 chars so logs and UI toasts don't render arbitrarily
|
|
47
|
+
* long refusal blocks.
|
|
48
|
+
*/
|
|
49
|
+
export declare function detectRefusal(text: string, adapterMarkers?: readonly string[]): RefusalDetection;
|
|
50
|
+
//# sourceMappingURL=refusal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refusal.d.ts","sourceRoot":"","sources":["../../src/ai/refusal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AA2CH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAA;IAChB,yDAAyD;IACzD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,SAAS,MAAM,EAAO,GAAG,gBAAgB,CAgBpG"}
|