@prenta/core 6.0.0 → 7.0.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/CHANGELOG.md +32 -0
- package/dist/ai/brand-voice-analyze.d.ts +1 -4
- package/dist/ai/brand-voice-analyze.d.ts.map +1 -1
- package/dist/ai/brand-voice-analyze.js +1 -2
- package/dist/ai/brand-voice-analyze.js.map +1 -1
- package/dist/ai/brand-voice-sources.d.ts +0 -2
- package/dist/ai/brand-voice-sources.d.ts.map +1 -1
- package/dist/ai/brand-voice-sources.js +2 -2
- package/dist/ai/brand-voice-sources.js.map +1 -1
- package/dist/ai/brand-voice-structured.d.ts +6 -6
- package/dist/ai/brand-voice-structured.d.ts.map +1 -1
- package/dist/ai/catalog.d.ts +8 -0
- package/dist/ai/catalog.d.ts.map +1 -1
- package/dist/ai/catalog.js +22 -0
- package/dist/ai/catalog.js.map +1 -1
- package/dist/ai/config-store.d.ts +18 -4
- package/dist/ai/config-store.d.ts.map +1 -1
- package/dist/ai/config-store.js +115 -20
- package/dist/ai/config-store.js.map +1 -1
- package/dist/ai/content-writing-generate.d.ts +10 -8
- package/dist/ai/content-writing-generate.d.ts.map +1 -1
- package/dist/ai/content-writing-generate.js +24 -56
- package/dist/ai/content-writing-generate.js.map +1 -1
- package/dist/ai/embeddings.d.ts +28 -0
- package/dist/ai/embeddings.d.ts.map +1 -0
- package/dist/ai/embeddings.js +36 -0
- package/dist/ai/embeddings.js.map +1 -0
- package/dist/ai/feature-defaults.d.ts +3 -3
- package/dist/ai/feature-defaults.d.ts.map +1 -1
- package/dist/ai/feature-defaults.js +24 -14
- package/dist/ai/feature-defaults.js.map +1 -1
- package/dist/ai/index.d.ts +15 -16
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +14 -15
- package/dist/ai/index.js.map +1 -1
- package/dist/ai/models.d.ts +7 -3
- package/dist/ai/models.d.ts.map +1 -1
- package/dist/ai/models.js +10 -5
- package/dist/ai/models.js.map +1 -1
- package/dist/ai/plugin-errors.d.ts +9 -3
- package/dist/ai/plugin-errors.d.ts.map +1 -1
- package/dist/ai/plugin-errors.js +9 -3
- package/dist/ai/plugin-errors.js.map +1 -1
- package/dist/ai/plugin-import.d.ts +9 -1
- package/dist/ai/plugin-import.d.ts.map +1 -1
- package/dist/ai/plugin-import.js +9 -1
- package/dist/ai/plugin-import.js.map +1 -1
- package/dist/ai/prompt-safety.d.ts +23 -0
- package/dist/ai/prompt-safety.d.ts.map +1 -0
- package/dist/ai/prompt-safety.js +34 -0
- package/dist/ai/prompt-safety.js.map +1 -0
- package/dist/ai/providers/anthropic.d.ts.map +1 -1
- package/dist/ai/providers/anthropic.js +16 -1
- package/dist/ai/providers/anthropic.js.map +1 -1
- package/dist/ai/providers/http.d.ts +7 -2
- package/dist/ai/providers/http.d.ts.map +1 -1
- package/dist/ai/providers/http.js +13 -2
- package/dist/ai/providers/http.js.map +1 -1
- package/dist/ai/providers/index.d.ts +0 -7
- package/dist/ai/providers/index.d.ts.map +1 -1
- package/dist/ai/providers/index.js +1 -1
- package/dist/ai/providers/index.js.map +1 -1
- package/dist/ai/resolve.d.ts +7 -1
- package/dist/ai/resolve.d.ts.map +1 -1
- package/dist/ai/resolve.js +36 -3
- package/dist/ai/resolve.js.map +1 -1
- package/dist/ai/runtime-response.d.ts +27 -0
- package/dist/ai/runtime-response.d.ts.map +1 -0
- package/dist/ai/runtime-response.js +75 -0
- package/dist/ai/runtime-response.js.map +1 -0
- package/dist/ai/runtime.d.ts +9 -7
- package/dist/ai/runtime.d.ts.map +1 -1
- package/dist/ai/runtime.js +14 -19
- package/dist/ai/runtime.js.map +1 -1
- package/dist/ai/tasks/alt-text.d.ts +82 -0
- package/dist/ai/tasks/alt-text.d.ts.map +1 -0
- package/dist/ai/tasks/alt-text.js +171 -0
- package/dist/ai/tasks/alt-text.js.map +1 -0
- package/dist/ai/tasks/document-generation.d.ts +102 -0
- package/dist/ai/tasks/document-generation.d.ts.map +1 -0
- package/dist/ai/tasks/document-generation.js +321 -0
- package/dist/ai/tasks/document-generation.js.map +1 -0
- package/dist/ai/tasks/link-embeddings.d.ts +55 -0
- package/dist/ai/tasks/link-embeddings.d.ts.map +1 -0
- package/dist/ai/tasks/link-embeddings.js +160 -0
- package/dist/ai/tasks/link-embeddings.js.map +1 -0
- package/dist/ai/types.d.ts +15 -19
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js +6 -7
- package/dist/ai/types.js.map +1 -1
- package/dist/ai/usage.d.ts +6 -4
- package/dist/ai/usage.d.ts.map +1 -1
- package/dist/ai/usage.js +6 -4
- package/dist/ai/usage.js.map +1 -1
- package/dist/ai/vector.d.ts +8 -0
- package/dist/ai/vector.d.ts.map +1 -0
- package/dist/ai/vector.js +24 -0
- package/dist/ai/vector.js.map +1 -0
- package/dist/api/responses.d.ts +1 -1
- package/dist/api/responses.d.ts.map +1 -1
- package/dist/api/responses.js +1 -1
- package/dist/api/responses.js.map +1 -1
- package/dist/api/route-helpers.d.ts +2 -19
- package/dist/api/route-helpers.d.ts.map +1 -1
- package/dist/api/route-helpers.js +11 -22
- package/dist/api/route-helpers.js.map +1 -1
- package/dist/api/routes/ai-authoring.d.ts.map +1 -1
- package/dist/api/routes/ai-authoring.js +132 -144
- package/dist/api/routes/ai-authoring.js.map +1 -1
- package/dist/api/routes/ai-seo.d.ts.map +1 -1
- package/dist/api/routes/ai-seo.js +44 -120
- package/dist/api/routes/ai-seo.js.map +1 -1
- package/dist/api/routes/ai-settings.d.ts.map +1 -1
- package/dist/api/routes/ai-settings.js +76 -28
- package/dist/api/routes/ai-settings.js.map +1 -1
- package/dist/api/routes/security-center.d.ts.map +1 -1
- package/dist/api/routes/security-center.js +5 -39
- package/dist/api/routes/security-center.js.map +1 -1
- package/dist/api/routes/seo-public.d.ts +0 -5
- package/dist/api/routes/seo-public.d.ts.map +1 -1
- package/dist/api/routes/seo-public.js +1 -1
- package/dist/api/routes/seo-public.js.map +1 -1
- package/dist/api/routes/seo.d.ts.map +1 -1
- package/dist/api/routes/seo.js +11 -10
- package/dist/api/routes/seo.js.map +1 -1
- package/dist/api/security-headers.d.ts +8 -0
- package/dist/api/security-headers.d.ts.map +1 -0
- package/dist/api/security-headers.js +13 -0
- package/dist/api/security-headers.js.map +1 -0
- package/dist/appearance/favicon-icon.d.ts +1 -1
- package/dist/appearance/favicon-icon.d.ts.map +1 -1
- package/dist/appearance/favicon-icon.js +1 -1
- package/dist/appearance/favicon-icon.js.map +1 -1
- package/dist/auth/index.d.ts +0 -6
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +0 -3
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/invites.d.ts +0 -5
- package/dist/auth/invites.d.ts.map +1 -1
- package/dist/auth/invites.js +3 -3
- package/dist/auth/invites.js.map +1 -1
- package/dist/auth/team.d.ts +4 -3
- package/dist/auth/team.d.ts.map +1 -1
- package/dist/auth/user-admin.d.ts +2 -1
- package/dist/auth/user-admin.d.ts.map +1 -1
- package/dist/billing/stripe-meter.d.ts +2 -1
- package/dist/billing/stripe-meter.d.ts.map +1 -1
- package/dist/cache/http.d.ts +0 -11
- package/dist/cache/http.d.ts.map +1 -1
- package/dist/cache/http.js +1 -1
- package/dist/cache/http.js.map +1 -1
- package/dist/cache/index.d.ts +0 -5
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/config/types.d.ts +19 -19
- package/dist/config/types.d.ts.map +1 -1
- package/dist/content/index.d.ts +2 -3
- package/dist/content/index.d.ts.map +1 -1
- package/dist/content/index.js +1 -2
- package/dist/content/index.js.map +1 -1
- package/dist/content/structured-data.d.ts +0 -14
- package/dist/content/structured-data.d.ts.map +1 -1
- package/dist/content/structured-data.js +3 -14
- package/dist/content/structured-data.js.map +1 -1
- package/dist/cron/index.d.ts +2 -3
- package/dist/cron/index.d.ts.map +1 -1
- package/dist/cron/index.js +0 -2
- package/dist/cron/index.js.map +1 -1
- package/dist/db/client-types.d.ts +2 -1
- package/dist/db/client-types.d.ts.map +1 -1
- package/dist/db.d.ts +0 -2
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +0 -1
- package/dist/db.js.map +1 -1
- package/dist/diagnostics/env.d.ts +1 -1
- package/dist/diagnostics/env.d.ts.map +1 -1
- package/dist/diagnostics/logger.d.ts +0 -24
- package/dist/diagnostics/logger.d.ts.map +1 -1
- package/dist/forms/entries.d.ts +0 -7
- package/dist/forms/entries.d.ts.map +1 -1
- package/dist/forms/entries.js +1 -19
- package/dist/forms/entries.js.map +1 -1
- package/dist/forms/files.d.ts +1 -1
- package/dist/forms/files.d.ts.map +1 -1
- package/dist/forms/index.d.ts +4 -6
- package/dist/forms/index.d.ts.map +1 -1
- package/dist/forms/index.js +3 -5
- package/dist/forms/index.js.map +1 -1
- package/dist/forms/prefetch.d.ts +0 -6
- package/dist/forms/prefetch.d.ts.map +1 -1
- package/dist/forms/service.d.ts +0 -4
- package/dist/forms/service.d.ts.map +1 -1
- package/dist/forms/service.js +2 -8
- package/dist/forms/service.js.map +1 -1
- package/dist/forms/webmcp.d.ts +0 -2
- package/dist/forms/webmcp.d.ts.map +1 -1
- package/dist/forms/webmcp.js +1 -1
- package/dist/forms/webmcp.js.map +1 -1
- package/dist/media/denormalize.d.ts +0 -7
- package/dist/media/denormalize.d.ts.map +1 -1
- package/dist/media/index.d.ts +0 -8
- package/dist/media/index.d.ts.map +1 -1
- package/dist/media/index.js +0 -5
- package/dist/media/index.js.map +1 -1
- package/dist/media/optimize.d.ts +0 -4
- package/dist/media/optimize.d.ts.map +1 -1
- package/dist/media/optimize.js +4 -4
- package/dist/media/optimize.js.map +1 -1
- package/dist/media/reoptimize.d.ts +2 -3
- package/dist/media/reoptimize.d.ts.map +1 -1
- package/dist/media/reoptimize.js +2 -2
- package/dist/media/reoptimize.js.map +1 -1
- package/dist/media/seo.d.ts +3 -8
- package/dist/media/seo.d.ts.map +1 -1
- package/dist/media/seo.js +1 -1
- package/dist/media/seo.js.map +1 -1
- package/dist/plan/features.d.ts +0 -1
- package/dist/plan/features.d.ts.map +1 -1
- package/dist/plan/features.js +0 -16
- package/dist/plan/features.js.map +1 -1
- package/dist/preview/event-bus.d.ts +2 -1
- package/dist/preview/event-bus.d.ts.map +1 -1
- package/dist/preview/index.d.ts +2 -1
- package/dist/preview/index.d.ts.map +1 -1
- package/dist/preview/sse-stream.d.ts +0 -13
- package/dist/preview/sse-stream.d.ts.map +1 -1
- package/dist/preview/sse-stream.js +2 -2
- package/dist/preview/sse-stream.js.map +1 -1
- package/dist/realtime/notifications.d.ts +4 -3
- package/dist/realtime/notifications.d.ts.map +1 -1
- package/dist/redirects/index.d.ts +4 -16
- package/dist/redirects/index.d.ts.map +1 -1
- package/dist/redirects/index.js +2 -9
- package/dist/redirects/index.js.map +1 -1
- package/dist/redirects/match.d.ts +0 -2
- package/dist/redirects/match.d.ts.map +1 -1
- package/dist/redirects/match.js +1 -1
- package/dist/redirects/match.js.map +1 -1
- package/dist/redirects/recovery.d.ts +0 -2
- package/dist/redirects/recovery.d.ts.map +1 -1
- package/dist/redirects/recovery.js +1 -1
- package/dist/redirects/recovery.js.map +1 -1
- package/dist/redirects/rerank.d.ts +4 -3
- package/dist/redirects/rerank.d.ts.map +1 -1
- package/dist/redirects/rerank.js +3 -18
- package/dist/redirects/rerank.js.map +1 -1
- package/dist/sections/validate.d.ts +0 -2
- package/dist/sections/validate.d.ts.map +1 -1
- package/dist/sections/validate.js +1 -1
- package/dist/sections/validate.js.map +1 -1
- package/dist/security/access.d.ts +0 -9
- package/dist/security/access.d.ts.map +1 -1
- package/dist/security/access.js +1 -1
- package/dist/security/access.js.map +1 -1
- package/dist/security/audit.d.ts +0 -20
- package/dist/security/audit.d.ts.map +1 -1
- package/dist/security/audit.js.map +1 -1
- package/dist/security/index.d.ts +2 -20
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +2 -7
- package/dist/security/index.js.map +1 -1
- package/dist/security/internal-keys.d.ts +0 -10
- package/dist/security/internal-keys.d.ts.map +1 -1
- package/dist/security/internal-keys.js +2 -2
- package/dist/security/internal-keys.js.map +1 -1
- package/dist/security/rate-limit-policy.d.ts +0 -2
- package/dist/security/rate-limit-policy.d.ts.map +1 -1
- package/dist/security/rate-limit-policy.js +1 -1
- package/dist/security/rate-limit-policy.js.map +1 -1
- package/dist/security/rate-limit.d.ts +2 -5
- package/dist/security/rate-limit.d.ts.map +1 -1
- package/dist/security/rate-limit.js +2 -2
- package/dist/security/rate-limit.js.map +1 -1
- package/dist/security/sanitize.d.ts +0 -3
- package/dist/security/sanitize.d.ts.map +1 -1
- package/dist/security/sanitize.js +0 -1
- package/dist/security/sanitize.js.map +1 -1
- package/dist/security/upload.d.ts +0 -3
- package/dist/security/upload.d.ts.map +1 -1
- package/dist/security/upload.js +0 -1
- package/dist/security/upload.js.map +1 -1
- package/dist/seo/ai-crawler-log.d.ts +0 -2
- package/dist/seo/ai-crawler-log.d.ts.map +1 -1
- package/dist/seo/ai-crawler-log.js +1 -1
- package/dist/seo/ai-crawler-log.js.map +1 -1
- package/dist/seo/audit-engine.d.ts +5 -5
- package/dist/seo/audit-engine.d.ts.map +1 -1
- package/dist/seo/audit-engine.js +1 -2
- package/dist/seo/audit-engine.js.map +1 -1
- package/dist/seo/audit-runner.d.ts +0 -7
- package/dist/seo/audit-runner.d.ts.map +1 -1
- package/dist/seo/audit-runner.js +1 -1
- package/dist/seo/audit-runner.js.map +1 -1
- package/dist/seo/audit-signals.d.ts +0 -2
- package/dist/seo/audit-signals.d.ts.map +1 -1
- package/dist/seo/audit-signals.js +1 -1
- package/dist/seo/audit-signals.js.map +1 -1
- package/dist/seo/autopilot-gate.d.ts +0 -1
- package/dist/seo/autopilot-gate.d.ts.map +1 -1
- package/dist/seo/autopilot-gate.js +1 -1
- package/dist/seo/autopilot-gate.js.map +1 -1
- package/dist/seo/autopilot-ledger.d.ts +2 -1
- package/dist/seo/autopilot-ledger.d.ts.map +1 -1
- package/dist/seo/autopilot-outcome.d.ts +0 -2
- package/dist/seo/autopilot-outcome.d.ts.map +1 -1
- package/dist/seo/autopilot-outcome.js +1 -1
- package/dist/seo/autopilot-outcome.js.map +1 -1
- package/dist/seo/autopilot-policy.d.ts +3 -38
- package/dist/seo/autopilot-policy.d.ts.map +1 -1
- package/dist/seo/autopilot-policy.js +3 -3
- package/dist/seo/autopilot-policy.js.map +1 -1
- package/dist/seo/autopilot.d.ts +4 -12
- package/dist/seo/autopilot.d.ts.map +1 -1
- package/dist/seo/autopilot.js +3 -3
- package/dist/seo/autopilot.js.map +1 -1
- package/dist/seo/config-store.d.ts +0 -2
- package/dist/seo/config-store.d.ts.map +1 -1
- package/dist/seo/config-store.js +1 -1
- package/dist/seo/config-store.js.map +1 -1
- package/dist/seo/digest.d.ts +8 -7
- package/dist/seo/digest.d.ts.map +1 -1
- package/dist/seo/faq-signals.d.ts +0 -4
- package/dist/seo/faq-signals.d.ts.map +1 -1
- package/dist/seo/faq-signals.js +4 -4
- package/dist/seo/faq-signals.js.map +1 -1
- package/dist/seo/fix-brief-export.d.ts +0 -2
- package/dist/seo/fix-brief-export.d.ts.map +1 -1
- package/dist/seo/fix-brief-export.js +1 -1
- package/dist/seo/fix-brief-export.js.map +1 -1
- package/dist/seo/geo-record.d.ts +0 -4
- package/dist/seo/geo-record.d.ts.map +1 -1
- package/dist/seo/geo-record.js +2 -2
- package/dist/seo/geo-record.js.map +1 -1
- package/dist/seo/geo-report.d.ts +4 -3
- package/dist/seo/geo-report.d.ts.map +1 -1
- package/dist/seo/geo-report.js +1 -1
- package/dist/seo/geo-report.js.map +1 -1
- package/dist/seo/index-status.d.ts +6 -5
- package/dist/seo/index-status.d.ts.map +1 -1
- package/dist/seo/index-status.js.map +1 -1
- package/dist/seo/index.d.ts +15 -90
- package/dist/seo/index.d.ts.map +1 -1
- package/dist/seo/index.js +10 -49
- package/dist/seo/index.js.map +1 -1
- package/dist/seo/issue-batch-briefs.d.ts +2 -3
- package/dist/seo/issue-batch-briefs.d.ts.map +1 -1
- package/dist/seo/issue-batch-briefs.js +2 -2
- package/dist/seo/issue-batch-briefs.js.map +1 -1
- package/dist/seo/issue-content-brief.d.ts +2 -1
- package/dist/seo/issue-content-brief.d.ts.map +1 -1
- package/dist/seo/issue-content-research.d.ts +2 -2
- package/dist/seo/issue-content-research.d.ts.map +1 -1
- package/dist/seo/issue-content-research.js +1 -1
- package/dist/seo/issue-content-research.js.map +1 -1
- package/dist/seo/issue-fix-ai.d.ts +5 -4
- package/dist/seo/issue-fix-ai.d.ts.map +1 -1
- package/dist/seo/issue-fix-ai.js +4 -19
- package/dist/seo/issue-fix-ai.js.map +1 -1
- package/dist/seo/issue-fix-apply.d.ts +2 -11
- package/dist/seo/issue-fix-apply.d.ts.map +1 -1
- package/dist/seo/issue-fix-apply.js +4 -4
- package/dist/seo/issue-fix-apply.js.map +1 -1
- package/dist/seo/issue-fix-faq.d.ts +4 -7
- package/dist/seo/issue-fix-faq.d.ts.map +1 -1
- package/dist/seo/issue-fix-faq.js +4 -4
- package/dist/seo/issue-fix-faq.js.map +1 -1
- package/dist/seo/issue-fix-link-insert.d.ts +4 -14
- package/dist/seo/issue-fix-link-insert.d.ts.map +1 -1
- package/dist/seo/issue-fix-link-insert.js +5 -4
- package/dist/seo/issue-fix-link-insert.js.map +1 -1
- package/dist/seo/issue-fix-redirect.d.ts +0 -1
- package/dist/seo/issue-fix-redirect.d.ts.map +1 -1
- package/dist/seo/issue-fix.d.ts.map +1 -1
- package/dist/seo/issue-fix.js +1 -0
- package/dist/seo/issue-fix.js.map +1 -1
- package/dist/seo/link-graph.d.ts +2 -3
- package/dist/seo/link-graph.d.ts.map +1 -1
- package/dist/seo/link-graph.js +0 -0
- package/dist/seo/link-graph.js.map +1 -1
- package/dist/seo/link-suggest.d.ts +8 -2
- package/dist/seo/link-suggest.d.ts.map +1 -1
- package/dist/seo/link-suggest.js +38 -50
- package/dist/seo/link-suggest.js.map +1 -1
- package/dist/seo/page-meta.d.ts +1 -10
- package/dist/seo/page-meta.d.ts.map +1 -1
- package/dist/seo/page-meta.js +1 -1
- package/dist/seo/page-meta.js.map +1 -1
- package/dist/seo/proposals-bulk-apply.d.ts +3 -2
- package/dist/seo/proposals-bulk-apply.d.ts.map +1 -1
- package/dist/seo/proposals.d.ts +2 -2
- package/dist/seo/proposals.d.ts.map +1 -1
- package/dist/seo/rendered-fetch.d.ts +2 -1
- package/dist/seo/rendered-fetch.d.ts.map +1 -1
- package/dist/seo/score.d.ts +3 -7
- package/dist/seo/score.d.ts.map +1 -1
- package/dist/seo/score.js.map +1 -1
- package/dist/seo/search-console/client.d.ts +0 -4
- package/dist/seo/search-console/client.d.ts.map +1 -1
- package/dist/seo/search-console/client.js +2 -2
- package/dist/seo/search-console/client.js.map +1 -1
- package/dist/seo/search-console/sync.d.ts +0 -4
- package/dist/seo/search-console/sync.d.ts.map +1 -1
- package/dist/seo/search-console/sync.js +2 -2
- package/dist/seo/search-console/sync.js.map +1 -1
- package/dist/seo/search-console/types.d.ts +2 -1
- package/dist/seo/search-console/types.d.ts.map +1 -1
- package/dist/seo/sitemap-notify.d.ts +0 -8
- package/dist/seo/sitemap-notify.d.ts.map +1 -1
- package/dist/seo/sitemap-notify.js +1 -1
- package/dist/seo/sitemap-notify.js.map +1 -1
- package/dist/seo/title-templates.d.ts +2 -5
- package/dist/seo/title-templates.d.ts.map +1 -1
- package/dist/seo/title-templates.js +2 -2
- package/dist/seo/title-templates.js.map +1 -1
- package/dist/server-site.d.ts +0 -1
- package/dist/server-site.d.ts.map +1 -1
- package/dist/server-site.js +0 -1
- package/dist/server-site.js.map +1 -1
- package/dist/storage/index.d.ts +0 -2
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +0 -4
- package/dist/storage/index.js.map +1 -1
- package/dist/upgrade/version-check.d.ts +0 -2
- package/dist/upgrade/version-check.d.ts.map +1 -1
- package/dist/upgrade/version-check.js +1 -1
- package/dist/upgrade/version-check.js.map +1 -1
- package/dist/webhooks/index.d.ts +0 -8
- package/dist/webhooks/index.d.ts.map +1 -1
- package/dist/webhooks/index.js +1 -16
- package/dist/webhooks/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-store.js","sourceRoot":"","sources":["../../src/ai/config-store.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config-store.js","sourceRoot":"","sources":["../../src/ai/config-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Content-writing generation
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* working.
|
|
2
|
+
* Content-writing generation through the governed Settings > AI path. Brand
|
|
3
|
+
* voice analyze/fix share this helper; it maps runtime refusals to the same
|
|
4
|
+
* `{ status, message, code, hint }` contract `runtimeErrorToResponse` uses (via
|
|
5
|
+
* `describeRuntimeError`), so routes can emit `{ error, code, hint }` bodies
|
|
6
|
+
* identical to every other AI route.
|
|
8
7
|
*/
|
|
9
|
-
import { type GenerateForFeatureInput } from './runtime.js';
|
|
8
|
+
import { type GenerateForFeatureInput, type RuntimeErrorCode } from './runtime.js';
|
|
10
9
|
export type ContentWritingGenerateResult = {
|
|
11
10
|
ok: true;
|
|
12
11
|
text: string;
|
|
@@ -14,6 +13,9 @@ export type ContentWritingGenerateResult = {
|
|
|
14
13
|
ok: false;
|
|
15
14
|
httpStatus: number;
|
|
16
15
|
message: string;
|
|
16
|
+
code: RuntimeErrorCode;
|
|
17
|
+
/** Operator-facing next step; present only for the 503 "not configured" codes. */
|
|
18
|
+
hint?: string;
|
|
17
19
|
};
|
|
18
|
-
export declare function
|
|
20
|
+
export declare function generateContentWriting(db: unknown, input: GenerateForFeatureInput): Promise<ContentWritingGenerateResult>;
|
|
19
21
|
//# sourceMappingURL=content-writing-generate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-writing-generate.d.ts","sourceRoot":"","sources":["../../src/ai/content-writing-generate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"content-writing-generate.d.ts","sourceRoot":"","sources":["../../src/ai/content-writing-generate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAA;AAGrB,MAAM,MAAM,4BAA4B,GACpC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC1B;IACE,EAAE,EAAE,KAAK,CAAA;IACT,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,gBAAgB,CAAA;IACtB,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAEL,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,4BAA4B,CAAC,CAqBvC"}
|
|
@@ -1,64 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Content-writing generation
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* working.
|
|
2
|
+
* Content-writing generation through the governed Settings > AI path. Brand
|
|
3
|
+
* voice analyze/fix share this helper; it maps runtime refusals to the same
|
|
4
|
+
* `{ status, message, code, hint }` contract `runtimeErrorToResponse` uses (via
|
|
5
|
+
* `describeRuntimeError`), so routes can emit `{ error, code, hint }` bodies
|
|
6
|
+
* identical to every other AI route.
|
|
8
7
|
*/
|
|
9
8
|
import { generateTextForFeature, } from './runtime.js';
|
|
10
|
-
import {
|
|
11
|
-
function
|
|
12
|
-
|
|
13
|
-
case 'no_model':
|
|
14
|
-
return ('No default AI model is selected. In Settings > AI, choose a default model ' +
|
|
15
|
-
'in the AI Assistant card and click Save changes.');
|
|
16
|
-
case 'no_key':
|
|
17
|
-
return ('No API key is available for the connected provider. Add a key under ' +
|
|
18
|
-
'Provider connections or set the provider API key env var on your host.');
|
|
19
|
-
case 'no_provider':
|
|
20
|
-
return ('No AI provider can serve the selected model. Check Provider connections, ' +
|
|
21
|
-
'refresh models, and save your default model.');
|
|
22
|
-
default:
|
|
23
|
-
return ('AI is not fully configured for content writing. Open Settings > AI, connect ' +
|
|
24
|
-
'a provider, choose a default model, and click Save changes.');
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
export async function generateContentWritingWithFallback(db, input) {
|
|
28
|
-
const FEATURE = 'ai.features.contentWriting';
|
|
29
|
-
const result = await generateTextForFeature(db, FEATURE, input);
|
|
9
|
+
import { describeRuntimeError } from './runtime-response.js';
|
|
10
|
+
export async function generateContentWriting(db, input) {
|
|
11
|
+
const result = await generateTextForFeature(db, 'ai.features.contentWriting', input);
|
|
30
12
|
if (result.ok) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
}
|
|
39
|
-
if (result.code === 'rate_limited') {
|
|
40
|
-
return { ok: false, httpStatus: 429, message: result.message };
|
|
41
|
-
}
|
|
42
|
-
if (result.code === 'provider_error') {
|
|
43
|
-
return { ok: false, httpStatus: 502, message: `AI provider error: ${result.message}` };
|
|
44
|
-
}
|
|
45
|
-
if (result.code === 'no_provider' || result.code === 'no_model' || result.code === 'no_key') {
|
|
46
|
-
try {
|
|
47
|
-
const aiModule = (await importAIPlugin());
|
|
48
|
-
if (typeof aiModule.generate !== 'function') {
|
|
49
|
-
return { ok: false, httpStatus: 501, message: setupHint(result.code) };
|
|
50
|
-
}
|
|
51
|
-
const parts = [input.system?.trim(), input.prompt.trim()].filter(Boolean);
|
|
52
|
-
const text = await aiModule.generate(parts.join('\n\n'));
|
|
53
|
-
if (!text?.trim()) {
|
|
54
|
-
return { ok: false, httpStatus: 502, message: 'AI returned an empty response.' };
|
|
55
|
-
}
|
|
56
|
-
return { ok: true, text: text.trim() };
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
return { ok: false, httpStatus: 503, message: setupHint(result.code) };
|
|
13
|
+
if (!result.text.trim()) {
|
|
14
|
+
return {
|
|
15
|
+
ok: false,
|
|
16
|
+
httpStatus: 502,
|
|
17
|
+
code: 'invalid_output',
|
|
18
|
+
message: 'AI returned an empty response.',
|
|
19
|
+
};
|
|
60
20
|
}
|
|
21
|
+
return { ok: true, text: result.text.trim() };
|
|
61
22
|
}
|
|
62
|
-
|
|
23
|
+
const { status, message, hint } = describeRuntimeError(result);
|
|
24
|
+
return {
|
|
25
|
+
ok: false,
|
|
26
|
+
httpStatus: status,
|
|
27
|
+
code: result.code,
|
|
28
|
+
message,
|
|
29
|
+
...(hint !== undefined ? { hint } : {}),
|
|
30
|
+
};
|
|
63
31
|
}
|
|
64
32
|
//# sourceMappingURL=content-writing-generate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-writing-generate.js","sourceRoot":"","sources":["../../src/ai/content-writing-generate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"content-writing-generate.js","sourceRoot":"","sources":["../../src/ai/content-writing-generate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,sBAAsB,GAGvB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAa5D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,EAAW,EACX,KAA8B;IAE9B,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,EAAE,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAA;IACpF,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACxB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,UAAU,EAAE,GAAG;gBACf,IAAI,EAAE,gBAAgB;gBACtB,OAAO,EAAE,gCAAgC;aAC1C,CAAA;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAA;IAC/C,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAC9D,OAAO;QACL,EAAE,EAAE,KAAK;QACT,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO;QACP,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding capability facts shared by the resolver and the runtime. A leaf
|
|
3
|
+
* (imports only the provider adapters) so `resolve.ts` can consult it without
|
|
4
|
+
* a `resolve → runtime → resolve` cycle.
|
|
5
|
+
*/
|
|
6
|
+
import type { AIProviderKey } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Default embedding model per provider. Providers absent from this map have no
|
|
9
|
+
* embeddings API — `embedForFeature` returns a typed `no_model` error for them
|
|
10
|
+
* and callers fall back to their non-AI behavior.
|
|
11
|
+
*/
|
|
12
|
+
export declare const EMBEDDING_MODELS: Partial<Record<AIProviderKey, string>>;
|
|
13
|
+
/**
|
|
14
|
+
* Features whose model call is `embedForFeature`, not text generation. They
|
|
15
|
+
* declare `requiredCapabilities: ['text']` (the embedding model is provider-
|
|
16
|
+
* fixed, see `EMBEDDING_MODELS`), so the resolver uses this set to prefer a
|
|
17
|
+
* connection that can actually embed when picking a provider default.
|
|
18
|
+
*/
|
|
19
|
+
export declare const EMBEDDING_FEATURES: ReadonlySet<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Whether `embedForFeature` can serve a provider at all: the adapter must
|
|
22
|
+
* implement embeddings AND the runtime must know which model to send.
|
|
23
|
+
* Availability probes (e.g. `/seo/links/ai-index`) combine this with
|
|
24
|
+
* `resolveFeatureRuntime` so a text-resolvable Anthropic/xAI site is not
|
|
25
|
+
* advertised as having semantic link suggestions it will never produce.
|
|
26
|
+
*/
|
|
27
|
+
export declare function embeddingsAvailableForProvider(provider: AIProviderKey): boolean;
|
|
28
|
+
//# sourceMappingURL=embeddings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/ai/embeddings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE/C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAGnE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAGjD,CAAA;AAEF;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAE/E"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Embedding capability facts shared by the resolver and the runtime. A leaf
|
|
3
|
+
* (imports only the provider adapters) so `resolve.ts` can consult it without
|
|
4
|
+
* a `resolve → runtime → resolve` cycle.
|
|
5
|
+
*/
|
|
6
|
+
import { providerSupportsEmbeddings } from './providers/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Default embedding model per provider. Providers absent from this map have no
|
|
9
|
+
* embeddings API — `embedForFeature` returns a typed `no_model` error for them
|
|
10
|
+
* and callers fall back to their non-AI behavior.
|
|
11
|
+
*/
|
|
12
|
+
export const EMBEDDING_MODELS = {
|
|
13
|
+
openai: 'text-embedding-3-small',
|
|
14
|
+
custom: 'text-embedding-3-small',
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Features whose model call is `embedForFeature`, not text generation. They
|
|
18
|
+
* declare `requiredCapabilities: ['text']` (the embedding model is provider-
|
|
19
|
+
* fixed, see `EMBEDDING_MODELS`), so the resolver uses this set to prefer a
|
|
20
|
+
* connection that can actually embed when picking a provider default.
|
|
21
|
+
*/
|
|
22
|
+
export const EMBEDDING_FEATURES = new Set([
|
|
23
|
+
'ai.features.seoInternalLinks',
|
|
24
|
+
'ai.features.seo404Recovery',
|
|
25
|
+
]);
|
|
26
|
+
/**
|
|
27
|
+
* Whether `embedForFeature` can serve a provider at all: the adapter must
|
|
28
|
+
* implement embeddings AND the runtime must know which model to send.
|
|
29
|
+
* Availability probes (e.g. `/seo/links/ai-index`) combine this with
|
|
30
|
+
* `resolveFeatureRuntime` so a text-resolvable Anthropic/xAI site is not
|
|
31
|
+
* advertised as having semantic link suggestions it will never produce.
|
|
32
|
+
*/
|
|
33
|
+
export function embeddingsAvailableForProvider(provider) {
|
|
34
|
+
return providerSupportsEmbeddings(provider) && EMBEDDING_MODELS[provider] !== undefined;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=embeddings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeddings.js","sourceRoot":"","sources":["../../src/ai/embeddings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAGjE;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2C;IACtE,MAAM,EAAE,wBAAwB;IAChC,MAAM,EAAE,wBAAwB;CACjC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IAC7D,8BAA8B;IAC9B,4BAA4B;CAC7B,CAAC,CAAA;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,8BAA8B,CAAC,QAAuB;IACpE,OAAO,0BAA0B,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAA;AACzF,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Default AI feature catalog. These are the global feature flags surfaced in
|
|
3
|
-
* Settings > AI and
|
|
4
|
-
* `
|
|
5
|
-
* write; admins toggle `enabled` per feature.
|
|
3
|
+
* Settings > AI and enforced across CMS modules by the governed runtime
|
|
4
|
+
* (`resolveFeatureRuntime` enforces the toggle). Seeded into the
|
|
5
|
+
* `__ai_config__` document on first write; admins toggle `enabled` per feature.
|
|
6
6
|
*
|
|
7
7
|
* Keys follow the `ai.features.*` convention so a single shared service governs
|
|
8
8
|
* every module instead of per-module flags.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-defaults.d.ts","sourceRoot":"","sources":["../../src/ai/feature-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,eAAO,MAAM,mBAAmB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"feature-defaults.d.ts","sourceRoot":"","sources":["../../src/ai/feature-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,eAAO,MAAM,mBAAmB,EAAE,eAAe,EAgEhD,CAAA;AAED,mEAAmE;AACnE,wBAAgB,oBAAoB,IAAI,eAAe,EAAE,CAMxD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,SAAS,GAAG,eAAe,EAAE,CAkBtF"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Default AI feature catalog. These are the global feature flags surfaced in
|
|
3
|
-
* Settings > AI and
|
|
4
|
-
* `
|
|
5
|
-
* write; admins toggle `enabled` per feature.
|
|
3
|
+
* Settings > AI and enforced across CMS modules by the governed runtime
|
|
4
|
+
* (`resolveFeatureRuntime` enforces the toggle). Seeded into the
|
|
5
|
+
* `__ai_config__` document on first write; admins toggle `enabled` per feature.
|
|
6
6
|
*
|
|
7
7
|
* Keys follow the `ai.features.*` convention so a single shared service governs
|
|
8
8
|
* every module instead of per-module flags.
|
|
@@ -17,8 +17,6 @@ export const AI_FEATURE_DEFAULTS = [
|
|
|
17
17
|
requiredCapabilities: ['text', 'reasoning'],
|
|
18
18
|
approvalRequired: true,
|
|
19
19
|
allowBulkApply: false,
|
|
20
|
-
rolesAllowed: ['ADMIN', 'EDITOR'],
|
|
21
|
-
permissionsRequired: ['ai.use'],
|
|
22
20
|
},
|
|
23
21
|
{
|
|
24
22
|
key: 'ai.features.contentWriting',
|
|
@@ -29,8 +27,6 @@ export const AI_FEATURE_DEFAULTS = [
|
|
|
29
27
|
requiredCapabilities: ['text'],
|
|
30
28
|
approvalRequired: true,
|
|
31
29
|
allowBulkApply: false,
|
|
32
|
-
rolesAllowed: ['ADMIN', 'EDITOR'],
|
|
33
|
-
permissionsRequired: ['ai.use'],
|
|
34
30
|
},
|
|
35
31
|
{
|
|
36
32
|
key: 'ai.features.mediaAltText',
|
|
@@ -41,8 +37,6 @@ export const AI_FEATURE_DEFAULTS = [
|
|
|
41
37
|
requiredCapabilities: ['vision'],
|
|
42
38
|
approvalRequired: true,
|
|
43
39
|
allowBulkApply: false,
|
|
44
|
-
rolesAllowed: ['ADMIN', 'EDITOR'],
|
|
45
|
-
permissionsRequired: ['ai.use'],
|
|
46
40
|
},
|
|
47
41
|
{
|
|
48
42
|
key: 'ai.features.seoMetaGeneration',
|
|
@@ -53,8 +47,27 @@ export const AI_FEATURE_DEFAULTS = [
|
|
|
53
47
|
requiredCapabilities: ['text'],
|
|
54
48
|
approvalRequired: true,
|
|
55
49
|
allowBulkApply: false,
|
|
56
|
-
|
|
57
|
-
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
key: 'ai.features.documentGeneration',
|
|
53
|
+
label: 'Document generation (MCP)',
|
|
54
|
+
description: 'Generate whole documents from a prompt via the MCP create tools and POST /collections/:slug/ai-create.',
|
|
55
|
+
enabled: true,
|
|
56
|
+
category: 'content',
|
|
57
|
+
requiredCapabilities: ['text'],
|
|
58
|
+
approvalRequired: false,
|
|
59
|
+
allowBulkApply: false,
|
|
60
|
+
maxRequestsPerDay: 50,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
key: 'ai.features.seoInternalLinks',
|
|
64
|
+
label: 'Internal link suggestions',
|
|
65
|
+
description: 'Rank candidate pages for internal links with embeddings. Falls back to phrase matching when unavailable.',
|
|
66
|
+
enabled: true,
|
|
67
|
+
category: 'seo',
|
|
68
|
+
requiredCapabilities: ['text'],
|
|
69
|
+
approvalRequired: true,
|
|
70
|
+
allowBulkApply: false,
|
|
58
71
|
},
|
|
59
72
|
];
|
|
60
73
|
/** Deep clone so callers can't mutate the shared default array. */
|
|
@@ -62,8 +75,6 @@ export function cloneFeatureDefaults() {
|
|
|
62
75
|
return AI_FEATURE_DEFAULTS.map((f) => ({
|
|
63
76
|
...f,
|
|
64
77
|
requiredCapabilities: [...f.requiredCapabilities],
|
|
65
|
-
rolesAllowed: [...f.rolesAllowed],
|
|
66
|
-
permissionsRequired: [...f.permissionsRequired],
|
|
67
78
|
fallbackModelIds: f.fallbackModelIds ? [...f.fallbackModelIds] : undefined,
|
|
68
79
|
}));
|
|
69
80
|
}
|
|
@@ -86,7 +97,6 @@ export function mergeFeatures(stored) {
|
|
|
86
97
|
providerId: prev.providerId ?? def.providerId,
|
|
87
98
|
modelId: prev.modelId ?? def.modelId,
|
|
88
99
|
fallbackModelIds: prev.fallbackModelIds ?? def.fallbackModelIds,
|
|
89
|
-
maxMonthlyTokens: prev.maxMonthlyTokens ?? def.maxMonthlyTokens,
|
|
90
100
|
maxRequestsPerDay: prev.maxRequestsPerDay ?? def.maxRequestsPerDay,
|
|
91
101
|
};
|
|
92
102
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-defaults.js","sourceRoot":"","sources":["../../src/ai/feature-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD;QACE,GAAG,EAAE,4BAA4B;QACjC,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,wEAAwE;QACrF,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,KAAK;QACf,oBAAoB,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;QAC3C,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"feature-defaults.js","sourceRoot":"","sources":["../../src/ai/feature-defaults.ts"],"names":[],"mappings":"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"}
|
package/dist/ai/index.d.ts
CHANGED
|
@@ -4,22 +4,21 @@
|
|
|
4
4
|
* enforces toggles/budget and records real token usage.
|
|
5
5
|
*/
|
|
6
6
|
export * from './types.js';
|
|
7
|
-
export { AI_CONFIG_COLLECTION, DEFAULT_AI_BUDGET, defaultAISettings, encryptProviderKey, getAIConfig, getEnvApiKey,
|
|
8
|
-
export { AI_FEATURE_DEFAULTS
|
|
9
|
-
export {
|
|
10
|
-
export {
|
|
11
|
-
export {
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
14
|
-
export {
|
|
15
|
-
export {
|
|
16
|
-
export {
|
|
17
|
-
export {
|
|
18
|
-
export {
|
|
7
|
+
export { AI_CONFIG_COLLECTION, DEFAULT_AI_BUDGET, defaultAISettings, encryptProviderKey, getAIConfig, getEnvApiKey, isEnvConnectionId, putAIConfig, resolveProviderKey, toPublicConfig, toPublicProvider, } from './config-store.js';
|
|
8
|
+
export { AI_FEATURE_DEFAULTS } from './feature-defaults.js';
|
|
9
|
+
export { normalizeBrandVoice } from './brand-voice.js';
|
|
10
|
+
export { prepareBrandVoiceForSave } from './brand-voice-save.js';
|
|
11
|
+
export { ensureBrandVoiceDocument, serializeBrandVoiceDocument } from './brand-voice-document.js';
|
|
12
|
+
export { parseStructuredProfile, scoreBrandAlignment } from './brand-voice-structured.js';
|
|
13
|
+
export { buildBrandVoiceAnalysisPrompt, gatherBrandVoiceSamples, parseBrandVoiceAnalysisResponse, toBrandVoiceAnalyzeResult, } from './brand-voice-analyze.js';
|
|
14
|
+
export { alignContentWithBrandVoice, COAUTHOR_BRAND_CHANNEL, seoFieldToBrandChannel, } from './brand-voice-alignment.js';
|
|
15
|
+
export { buildBrandVoiceFixPrompt, needsAiBrandFix, runDeterministicBrandFix, } from './brand-voice-fix.js';
|
|
16
|
+
export { BrandVoiceSourceError, fetchBrandVoiceUrlSample, uploadToBrandVoiceSample, } from './brand-voice-sources.js';
|
|
17
|
+
export { generateContentWriting } from './content-writing-generate.js';
|
|
18
|
+
export { runtimeErrorToResponse } from './runtime-response.js';
|
|
19
19
|
export { curatedFallbackCatalog, normalizeModel } from './catalog.js';
|
|
20
|
-
export { getModels, resolveModelOrUnavailable, syncModels
|
|
20
|
+
export { getModels, resolveModelOrUnavailable, syncModels } from './models.js';
|
|
21
21
|
export { getUsageSummary } from './usage.js';
|
|
22
|
-
export {
|
|
23
|
-
export {
|
|
24
|
-
export { embedForFeature, generateJsonForFeature, generateTextForFeature, isAiFeatureEnabled, resolveFeatureRuntime, type EmbedForFeatureInput, type EmbedForFeatureSuccess, type GenerateForFeatureInput, type GenerateForFeatureSuccess, type GenerateJsonForFeatureInput, type GenerateJsonForFeatureSuccess, type ResolvedFeatureRuntime, type RuntimeError, type RuntimeErrorCode, } from './runtime.js';
|
|
22
|
+
export { embeddingsAvailableForProvider } from './embeddings.js';
|
|
23
|
+
export { generateJsonForFeature, generateTextForFeature, resolveFeatureRuntime, type RuntimeError, } from './runtime.js';
|
|
25
24
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/ai/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAA;AAC1B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAA;AAC1B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AACjG,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACzF,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAA"}
|
package/dist/ai/index.js
CHANGED
|
@@ -4,22 +4,21 @@
|
|
|
4
4
|
* enforces toggles/budget and records real token usage.
|
|
5
5
|
*/
|
|
6
6
|
export * from './types.js';
|
|
7
|
-
export { AI_CONFIG_COLLECTION, DEFAULT_AI_BUDGET, defaultAISettings, encryptProviderKey, getAIConfig, getEnvApiKey,
|
|
8
|
-
export { AI_FEATURE_DEFAULTS
|
|
9
|
-
export {
|
|
10
|
-
export { applyBrandVoice, buildBrandVoiceSystemPrompt, getActiveBrandVoice, normalizeBrandVoice, BRAND_VOICE_LIMITS, } from './brand-voice.js';
|
|
7
|
+
export { AI_CONFIG_COLLECTION, DEFAULT_AI_BUDGET, defaultAISettings, encryptProviderKey, getAIConfig, getEnvApiKey, isEnvConnectionId, putAIConfig, resolveProviderKey, toPublicConfig, toPublicProvider, } from './config-store.js';
|
|
8
|
+
export { AI_FEATURE_DEFAULTS } from './feature-defaults.js';
|
|
9
|
+
export { normalizeBrandVoice } from './brand-voice.js';
|
|
11
10
|
export { prepareBrandVoiceForSave } from './brand-voice-save.js';
|
|
12
|
-
export {
|
|
13
|
-
export {
|
|
14
|
-
export { buildBrandVoiceAnalysisPrompt,
|
|
15
|
-
export { alignContentWithBrandVoice, COAUTHOR_BRAND_CHANNEL,
|
|
16
|
-
export {
|
|
17
|
-
export { BrandVoiceSourceError, fetchBrandVoiceUrlSample, uploadToBrandVoiceSample,
|
|
18
|
-
export {
|
|
11
|
+
export { ensureBrandVoiceDocument, serializeBrandVoiceDocument } from './brand-voice-document.js';
|
|
12
|
+
export { parseStructuredProfile, scoreBrandAlignment } from './brand-voice-structured.js';
|
|
13
|
+
export { buildBrandVoiceAnalysisPrompt, gatherBrandVoiceSamples, parseBrandVoiceAnalysisResponse, toBrandVoiceAnalyzeResult, } from './brand-voice-analyze.js';
|
|
14
|
+
export { alignContentWithBrandVoice, COAUTHOR_BRAND_CHANNEL, seoFieldToBrandChannel, } from './brand-voice-alignment.js';
|
|
15
|
+
export { buildBrandVoiceFixPrompt, needsAiBrandFix, runDeterministicBrandFix, } from './brand-voice-fix.js';
|
|
16
|
+
export { BrandVoiceSourceError, fetchBrandVoiceUrlSample, uploadToBrandVoiceSample, } from './brand-voice-sources.js';
|
|
17
|
+
export { generateContentWriting } from './content-writing-generate.js';
|
|
18
|
+
export { runtimeErrorToResponse } from './runtime-response.js';
|
|
19
19
|
export { curatedFallbackCatalog, normalizeModel } from './catalog.js';
|
|
20
|
-
export { getModels, resolveModelOrUnavailable, syncModels
|
|
20
|
+
export { getModels, resolveModelOrUnavailable, syncModels } from './models.js';
|
|
21
21
|
export { getUsageSummary } from './usage.js';
|
|
22
|
-
export {
|
|
23
|
-
export {
|
|
24
|
-
export { embedForFeature, generateJsonForFeature, generateTextForFeature, isAiFeatureEnabled, resolveFeatureRuntime, } from './runtime.js';
|
|
22
|
+
export { embeddingsAvailableForProvider } from './embeddings.js';
|
|
23
|
+
export { generateJsonForFeature, generateTextForFeature, resolveFeatureRuntime, } from './runtime.js';
|
|
25
24
|
//# sourceMappingURL=index.js.map
|
package/dist/ai/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAA;AAC1B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAA;AAC1B,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,EAAE,wBAAwB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAA;AACjG,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACzF,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,+BAA+B,EAC/B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAA;AACjC,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAE5C,OAAO,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,GAEtB,MAAM,cAAc,CAAA"}
|
package/dist/ai/models.d.ts
CHANGED
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
* fallback, and resolution of a configured-but-missing model to an `unavailable`
|
|
4
4
|
* entry so the UI can warn without silently dropping the admin's choice.
|
|
5
5
|
*/
|
|
6
|
-
import { AI_CONFIG_COLLECTION } from './config-store.js';
|
|
7
6
|
import type { AIModel } from './types.js';
|
|
8
|
-
export { AI_CONFIG_COLLECTION };
|
|
9
7
|
export interface SyncModelsResult {
|
|
10
8
|
models: AIModel[];
|
|
11
9
|
fromFallback: boolean;
|
|
@@ -17,8 +15,14 @@ export interface SyncModelsResult {
|
|
|
17
15
|
* on any failure falls back to the curated catalog so the selector is never
|
|
18
16
|
* empty. Persists the result on the `__ai_config__` document under
|
|
19
17
|
* `catalog[connectionId]` and stamps `lastModelSyncAt`.
|
|
18
|
+
*
|
|
19
|
+
* `userId` is the acting user, written to the config row's `createdById` /
|
|
20
|
+
* `updatedById` FKs. Routes must pass the session user: env-synthesized
|
|
21
|
+
* connections carry `updatedBy: 'system'`, which is not a User id and would
|
|
22
|
+
* violate the FK on Postgres. The connection's `updatedBy` is only a fallback
|
|
23
|
+
* for callers with no session (scripts, tests).
|
|
20
24
|
*/
|
|
21
|
-
export declare function syncModels(db: unknown, connectionId: string): Promise<SyncModelsResult>;
|
|
25
|
+
export declare function syncModels(db: unknown, connectionId: string, userId?: string): Promise<SyncModelsResult>;
|
|
22
26
|
/**
|
|
23
27
|
* Read the cached catalog for a connection (or all connections). Falls back to
|
|
24
28
|
* the curated catalog for connections that have never been synced so the UI
|
package/dist/ai/models.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/ai/models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/ai/models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAkB,OAAO,EAAwB,MAAM,YAAY,CAAA;AAW/E,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,YAAY,EAAE,OAAO,CAAA;IACrB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,UAAU,CAC9B,EAAE,EAAE,OAAO,EACX,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,gBAAgB,CAAC,CA2D3B;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,EAAE,EAAE,OAAO,EACX,MAAM,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD,OAAO,CAAC,OAAO,EAAE,CAAC,CAiBpB;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,OAAO,EAAE,GACjB,OAAO,GAAG,IAAI,CAkBhB"}
|
package/dist/ai/models.js
CHANGED
|
@@ -3,10 +3,9 @@
|
|
|
3
3
|
* fallback, and resolution of a configured-but-missing model to an `unavailable`
|
|
4
4
|
* entry so the UI can warn without silently dropping the admin's choice.
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import { curatedFallbackCatalog, modelsMatch, normalizeModel
|
|
6
|
+
import { getAIConfig, putAIConfig, resolveProviderKey } from './config-store.js';
|
|
7
|
+
import { curatedFallbackCatalog, modelsMatch, normalizeModel } from './catalog.js';
|
|
8
8
|
import { listModels as adapterListModels } from './providers/index.js';
|
|
9
|
-
export { AI_CONFIG_COLLECTION };
|
|
10
9
|
function adapterContextFor(conn, apiKey) {
|
|
11
10
|
return {
|
|
12
11
|
apiKey,
|
|
@@ -20,8 +19,14 @@ function adapterContextFor(conn, apiKey) {
|
|
|
20
19
|
* on any failure falls back to the curated catalog so the selector is never
|
|
21
20
|
* empty. Persists the result on the `__ai_config__` document under
|
|
22
21
|
* `catalog[connectionId]` and stamps `lastModelSyncAt`.
|
|
22
|
+
*
|
|
23
|
+
* `userId` is the acting user, written to the config row's `createdById` /
|
|
24
|
+
* `updatedById` FKs. Routes must pass the session user: env-synthesized
|
|
25
|
+
* connections carry `updatedBy: 'system'`, which is not a User id and would
|
|
26
|
+
* violate the FK on Postgres. The connection's `updatedBy` is only a fallback
|
|
27
|
+
* for callers with no session (scripts, tests).
|
|
23
28
|
*/
|
|
24
|
-
export async function syncModels(db, connectionId) {
|
|
29
|
+
export async function syncModels(db, connectionId, userId) {
|
|
25
30
|
const config = await getAIConfig(db);
|
|
26
31
|
const conn = config.providers.find((p) => p.id === connectionId);
|
|
27
32
|
if (!conn)
|
|
@@ -69,7 +74,7 @@ export async function syncModels(db, connectionId) {
|
|
|
69
74
|
...config,
|
|
70
75
|
providers: nextProviders,
|
|
71
76
|
catalog: { ...(config.catalog ?? {}), [connectionId]: entry },
|
|
72
|
-
}, conn.updatedBy || 'system');
|
|
77
|
+
}, userId || conn.updatedBy || 'system');
|
|
73
78
|
return { models, fromFallback, warning };
|
|
74
79
|
}
|
|
75
80
|
/**
|
package/dist/ai/models.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/ai/models.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/ai/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Shared copy when `@prenta/plugin-ai` is missing from the host app. Only the
|
|
3
|
+
* deterministic helpers (`/ai/audit-document`, `/ai/suggest-internal-links`)
|
|
4
|
+
* still import the plugin; every model call runs through the governed runtime
|
|
5
|
+
* and reports configuration problems via `runtimeErrorToResponse` instead.
|
|
6
|
+
* No API key or Settings > AI step is needed for these two routes — the
|
|
7
|
+
* plugin is a pure scoring/link toolkit since 3.0.
|
|
8
|
+
*/
|
|
9
|
+
export declare const AI_PLUGIN_NOT_INSTALLED = "AI plugin is not installed. Install @prenta/plugin-ai and add aiPlugin() to plugins in prenta.config.ts.";
|
|
4
10
|
//# sourceMappingURL=plugin-errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-errors.d.ts","sourceRoot":"","sources":["../../src/ai/plugin-errors.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"plugin-errors.d.ts","sourceRoot":"","sources":["../../src/ai/plugin-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,6GACwE,CAAA"}
|