@prenta/core 5.10.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.
Files changed (467) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/actions.d.ts.map +1 -1
  3. package/dist/actions.js +5 -15
  4. package/dist/actions.js.map +1 -1
  5. package/dist/ai/brand-voice-analyze.d.ts +1 -4
  6. package/dist/ai/brand-voice-analyze.d.ts.map +1 -1
  7. package/dist/ai/brand-voice-analyze.js +1 -2
  8. package/dist/ai/brand-voice-analyze.js.map +1 -1
  9. package/dist/ai/brand-voice-sources.d.ts +0 -2
  10. package/dist/ai/brand-voice-sources.d.ts.map +1 -1
  11. package/dist/ai/brand-voice-sources.js +2 -2
  12. package/dist/ai/brand-voice-sources.js.map +1 -1
  13. package/dist/ai/brand-voice-structured.d.ts +6 -6
  14. package/dist/ai/brand-voice-structured.d.ts.map +1 -1
  15. package/dist/ai/catalog.d.ts +8 -0
  16. package/dist/ai/catalog.d.ts.map +1 -1
  17. package/dist/ai/catalog.js +22 -0
  18. package/dist/ai/catalog.js.map +1 -1
  19. package/dist/ai/config-store.d.ts +18 -4
  20. package/dist/ai/config-store.d.ts.map +1 -1
  21. package/dist/ai/config-store.js +115 -20
  22. package/dist/ai/config-store.js.map +1 -1
  23. package/dist/ai/content-writing-generate.d.ts +10 -8
  24. package/dist/ai/content-writing-generate.d.ts.map +1 -1
  25. package/dist/ai/content-writing-generate.js +24 -59
  26. package/dist/ai/content-writing-generate.js.map +1 -1
  27. package/dist/ai/embeddings.d.ts +28 -0
  28. package/dist/ai/embeddings.d.ts.map +1 -0
  29. package/dist/ai/embeddings.js +36 -0
  30. package/dist/ai/embeddings.js.map +1 -0
  31. package/dist/ai/feature-defaults.d.ts +3 -3
  32. package/dist/ai/feature-defaults.d.ts.map +1 -1
  33. package/dist/ai/feature-defaults.js +24 -14
  34. package/dist/ai/feature-defaults.js.map +1 -1
  35. package/dist/ai/index.d.ts +15 -16
  36. package/dist/ai/index.d.ts.map +1 -1
  37. package/dist/ai/index.js +14 -15
  38. package/dist/ai/index.js.map +1 -1
  39. package/dist/ai/models.d.ts +7 -3
  40. package/dist/ai/models.d.ts.map +1 -1
  41. package/dist/ai/models.js +10 -5
  42. package/dist/ai/models.js.map +1 -1
  43. package/dist/ai/plugin-errors.d.ts +9 -3
  44. package/dist/ai/plugin-errors.d.ts.map +1 -1
  45. package/dist/ai/plugin-errors.js +9 -3
  46. package/dist/ai/plugin-errors.js.map +1 -1
  47. package/dist/ai/plugin-import.d.ts +20 -0
  48. package/dist/ai/plugin-import.d.ts.map +1 -0
  49. package/dist/ai/plugin-import.js +24 -0
  50. package/dist/ai/plugin-import.js.map +1 -0
  51. package/dist/ai/prompt-safety.d.ts +23 -0
  52. package/dist/ai/prompt-safety.d.ts.map +1 -0
  53. package/dist/ai/prompt-safety.js +34 -0
  54. package/dist/ai/prompt-safety.js.map +1 -0
  55. package/dist/ai/providers/anthropic.d.ts.map +1 -1
  56. package/dist/ai/providers/anthropic.js +16 -1
  57. package/dist/ai/providers/anthropic.js.map +1 -1
  58. package/dist/ai/providers/http.d.ts +7 -2
  59. package/dist/ai/providers/http.d.ts.map +1 -1
  60. package/dist/ai/providers/http.js +13 -2
  61. package/dist/ai/providers/http.js.map +1 -1
  62. package/dist/ai/providers/index.d.ts +0 -7
  63. package/dist/ai/providers/index.d.ts.map +1 -1
  64. package/dist/ai/providers/index.js +1 -1
  65. package/dist/ai/providers/index.js.map +1 -1
  66. package/dist/ai/resolve.d.ts +7 -1
  67. package/dist/ai/resolve.d.ts.map +1 -1
  68. package/dist/ai/resolve.js +36 -3
  69. package/dist/ai/resolve.js.map +1 -1
  70. package/dist/ai/runtime-response.d.ts +27 -0
  71. package/dist/ai/runtime-response.d.ts.map +1 -0
  72. package/dist/ai/runtime-response.js +75 -0
  73. package/dist/ai/runtime-response.js.map +1 -0
  74. package/dist/ai/runtime.d.ts +9 -7
  75. package/dist/ai/runtime.d.ts.map +1 -1
  76. package/dist/ai/runtime.js +14 -19
  77. package/dist/ai/runtime.js.map +1 -1
  78. package/dist/ai/tasks/alt-text.d.ts +82 -0
  79. package/dist/ai/tasks/alt-text.d.ts.map +1 -0
  80. package/dist/ai/tasks/alt-text.js +171 -0
  81. package/dist/ai/tasks/alt-text.js.map +1 -0
  82. package/dist/ai/tasks/document-generation.d.ts +102 -0
  83. package/dist/ai/tasks/document-generation.d.ts.map +1 -0
  84. package/dist/ai/tasks/document-generation.js +321 -0
  85. package/dist/ai/tasks/document-generation.js.map +1 -0
  86. package/dist/ai/tasks/link-embeddings.d.ts +55 -0
  87. package/dist/ai/tasks/link-embeddings.d.ts.map +1 -0
  88. package/dist/ai/tasks/link-embeddings.js +160 -0
  89. package/dist/ai/tasks/link-embeddings.js.map +1 -0
  90. package/dist/ai/types.d.ts +15 -19
  91. package/dist/ai/types.d.ts.map +1 -1
  92. package/dist/ai/types.js +6 -7
  93. package/dist/ai/types.js.map +1 -1
  94. package/dist/ai/usage.d.ts +6 -4
  95. package/dist/ai/usage.d.ts.map +1 -1
  96. package/dist/ai/usage.js +6 -4
  97. package/dist/ai/usage.js.map +1 -1
  98. package/dist/ai/vector.d.ts +8 -0
  99. package/dist/ai/vector.d.ts.map +1 -0
  100. package/dist/ai/vector.js +24 -0
  101. package/dist/ai/vector.js.map +1 -0
  102. package/dist/api/responses.d.ts +1 -1
  103. package/dist/api/responses.d.ts.map +1 -1
  104. package/dist/api/responses.js +1 -1
  105. package/dist/api/responses.js.map +1 -1
  106. package/dist/api/route-helpers.d.ts +3 -20
  107. package/dist/api/route-helpers.d.ts.map +1 -1
  108. package/dist/api/route-helpers.js +12 -26
  109. package/dist/api/route-helpers.js.map +1 -1
  110. package/dist/api/routes/ai-authoring.d.ts.map +1 -1
  111. package/dist/api/routes/ai-authoring.js +132 -144
  112. package/dist/api/routes/ai-authoring.js.map +1 -1
  113. package/dist/api/routes/ai-seo.d.ts.map +1 -1
  114. package/dist/api/routes/ai-seo.js +44 -120
  115. package/dist/api/routes/ai-seo.js.map +1 -1
  116. package/dist/api/routes/ai-settings.d.ts.map +1 -1
  117. package/dist/api/routes/ai-settings.js +76 -28
  118. package/dist/api/routes/ai-settings.js.map +1 -1
  119. package/dist/api/routes/security-center.d.ts.map +1 -1
  120. package/dist/api/routes/security-center.js +5 -39
  121. package/dist/api/routes/security-center.js.map +1 -1
  122. package/dist/api/routes/seo-public.d.ts +0 -5
  123. package/dist/api/routes/seo-public.d.ts.map +1 -1
  124. package/dist/api/routes/seo-public.js +1 -1
  125. package/dist/api/routes/seo-public.js.map +1 -1
  126. package/dist/api/routes/seo.d.ts.map +1 -1
  127. package/dist/api/routes/seo.js +21 -48
  128. package/dist/api/routes/seo.js.map +1 -1
  129. package/dist/api/security-headers.d.ts +8 -0
  130. package/dist/api/security-headers.d.ts.map +1 -0
  131. package/dist/api/security-headers.js +13 -0
  132. package/dist/api/security-headers.js.map +1 -0
  133. package/dist/appearance/favicon-icon.d.ts +1 -1
  134. package/dist/appearance/favicon-icon.d.ts.map +1 -1
  135. package/dist/appearance/favicon-icon.js +1 -1
  136. package/dist/appearance/favicon-icon.js.map +1 -1
  137. package/dist/auth/index.d.ts +0 -6
  138. package/dist/auth/index.d.ts.map +1 -1
  139. package/dist/auth/index.js +0 -3
  140. package/dist/auth/index.js.map +1 -1
  141. package/dist/auth/invites.d.ts +0 -5
  142. package/dist/auth/invites.d.ts.map +1 -1
  143. package/dist/auth/invites.js +3 -3
  144. package/dist/auth/invites.js.map +1 -1
  145. package/dist/auth/team.d.ts +4 -3
  146. package/dist/auth/team.d.ts.map +1 -1
  147. package/dist/auth/user-admin.d.ts +2 -1
  148. package/dist/auth/user-admin.d.ts.map +1 -1
  149. package/dist/billing/stripe-meter.d.ts +2 -1
  150. package/dist/billing/stripe-meter.d.ts.map +1 -1
  151. package/dist/cache/http.d.ts +0 -11
  152. package/dist/cache/http.d.ts.map +1 -1
  153. package/dist/cache/http.js +1 -1
  154. package/dist/cache/http.js.map +1 -1
  155. package/dist/cache/index.d.ts +0 -5
  156. package/dist/cache/index.d.ts.map +1 -1
  157. package/dist/config/types.d.ts +19 -19
  158. package/dist/config/types.d.ts.map +1 -1
  159. package/dist/content/index.d.ts +2 -5
  160. package/dist/content/index.d.ts.map +1 -1
  161. package/dist/content/index.js +1 -3
  162. package/dist/content/index.js.map +1 -1
  163. package/dist/content/structured-data.d.ts +0 -14
  164. package/dist/content/structured-data.d.ts.map +1 -1
  165. package/dist/content/structured-data.js +3 -14
  166. package/dist/content/structured-data.js.map +1 -1
  167. package/dist/cron/index.d.ts +2 -3
  168. package/dist/cron/index.d.ts.map +1 -1
  169. package/dist/cron/index.js +0 -2
  170. package/dist/cron/index.js.map +1 -1
  171. package/dist/db/client-types.d.ts +2 -1
  172. package/dist/db/client-types.d.ts.map +1 -1
  173. package/dist/db/model-types.d.ts +0 -1
  174. package/dist/db/model-types.d.ts.map +1 -1
  175. package/dist/db.d.ts +0 -2
  176. package/dist/db.d.ts.map +1 -1
  177. package/dist/db.js +0 -1
  178. package/dist/db.js.map +1 -1
  179. package/dist/diagnostics/env.d.ts +1 -1
  180. package/dist/diagnostics/env.d.ts.map +1 -1
  181. package/dist/diagnostics/logger.d.ts +0 -24
  182. package/dist/diagnostics/logger.d.ts.map +1 -1
  183. package/dist/forms/entries.d.ts +0 -7
  184. package/dist/forms/entries.d.ts.map +1 -1
  185. package/dist/forms/entries.js +1 -19
  186. package/dist/forms/entries.js.map +1 -1
  187. package/dist/forms/files.d.ts +1 -1
  188. package/dist/forms/files.d.ts.map +1 -1
  189. package/dist/forms/index.d.ts +4 -6
  190. package/dist/forms/index.d.ts.map +1 -1
  191. package/dist/forms/index.js +3 -5
  192. package/dist/forms/index.js.map +1 -1
  193. package/dist/forms/prefetch.d.ts +0 -6
  194. package/dist/forms/prefetch.d.ts.map +1 -1
  195. package/dist/forms/service.d.ts +0 -4
  196. package/dist/forms/service.d.ts.map +1 -1
  197. package/dist/forms/service.js +2 -8
  198. package/dist/forms/service.js.map +1 -1
  199. package/dist/forms/webmcp.d.ts +0 -2
  200. package/dist/forms/webmcp.d.ts.map +1 -1
  201. package/dist/forms/webmcp.js +1 -1
  202. package/dist/forms/webmcp.js.map +1 -1
  203. package/dist/generated/internal/class.js +4 -4
  204. package/dist/generated/internal/prismaNamespace.d.ts +0 -1
  205. package/dist/generated/internal/prismaNamespace.js +0 -1
  206. package/dist/generated/internal/prismaNamespaceBrowser.d.ts +0 -1
  207. package/dist/generated/internal/prismaNamespaceBrowser.js +0 -1
  208. package/dist/generated/models/Document.d.ts +1 -58
  209. package/dist/index.d.ts +2 -2
  210. package/dist/index.d.ts.map +1 -1
  211. package/dist/index.js +1 -1
  212. package/dist/index.js.map +1 -1
  213. package/dist/media/denormalize.d.ts +0 -7
  214. package/dist/media/denormalize.d.ts.map +1 -1
  215. package/dist/media/index.d.ts +0 -8
  216. package/dist/media/index.d.ts.map +1 -1
  217. package/dist/media/index.js +0 -5
  218. package/dist/media/index.js.map +1 -1
  219. package/dist/media/optimize.d.ts +0 -4
  220. package/dist/media/optimize.d.ts.map +1 -1
  221. package/dist/media/optimize.js +4 -4
  222. package/dist/media/optimize.js.map +1 -1
  223. package/dist/media/reoptimize.d.ts +2 -3
  224. package/dist/media/reoptimize.d.ts.map +1 -1
  225. package/dist/media/reoptimize.js +2 -2
  226. package/dist/media/reoptimize.js.map +1 -1
  227. package/dist/media/seo.d.ts +3 -8
  228. package/dist/media/seo.d.ts.map +1 -1
  229. package/dist/media/seo.js +1 -1
  230. package/dist/media/seo.js.map +1 -1
  231. package/dist/plan/features.d.ts +0 -1
  232. package/dist/plan/features.d.ts.map +1 -1
  233. package/dist/plan/features.js +0 -16
  234. package/dist/plan/features.js.map +1 -1
  235. package/dist/preview/event-bus.d.ts +2 -1
  236. package/dist/preview/event-bus.d.ts.map +1 -1
  237. package/dist/preview/index.d.ts +2 -1
  238. package/dist/preview/index.d.ts.map +1 -1
  239. package/dist/preview/sse-stream.d.ts +0 -13
  240. package/dist/preview/sse-stream.d.ts.map +1 -1
  241. package/dist/preview/sse-stream.js +2 -2
  242. package/dist/preview/sse-stream.js.map +1 -1
  243. package/dist/realtime/notifications.d.ts +4 -3
  244. package/dist/realtime/notifications.d.ts.map +1 -1
  245. package/dist/redirects/index.d.ts +4 -16
  246. package/dist/redirects/index.d.ts.map +1 -1
  247. package/dist/redirects/index.js +2 -9
  248. package/dist/redirects/index.js.map +1 -1
  249. package/dist/redirects/match.d.ts +0 -2
  250. package/dist/redirects/match.d.ts.map +1 -1
  251. package/dist/redirects/match.js +1 -1
  252. package/dist/redirects/match.js.map +1 -1
  253. package/dist/redirects/recovery.d.ts +0 -2
  254. package/dist/redirects/recovery.d.ts.map +1 -1
  255. package/dist/redirects/recovery.js +1 -1
  256. package/dist/redirects/recovery.js.map +1 -1
  257. package/dist/redirects/rerank.d.ts +4 -3
  258. package/dist/redirects/rerank.d.ts.map +1 -1
  259. package/dist/redirects/rerank.js +3 -18
  260. package/dist/redirects/rerank.js.map +1 -1
  261. package/dist/sections/validate.d.ts +0 -2
  262. package/dist/sections/validate.d.ts.map +1 -1
  263. package/dist/sections/validate.js +1 -1
  264. package/dist/sections/validate.js.map +1 -1
  265. package/dist/security/access.d.ts +0 -9
  266. package/dist/security/access.d.ts.map +1 -1
  267. package/dist/security/access.js +1 -3
  268. package/dist/security/access.js.map +1 -1
  269. package/dist/security/audit.d.ts +0 -20
  270. package/dist/security/audit.d.ts.map +1 -1
  271. package/dist/security/audit.js.map +1 -1
  272. package/dist/security/index.d.ts +2 -20
  273. package/dist/security/index.d.ts.map +1 -1
  274. package/dist/security/index.js +2 -7
  275. package/dist/security/index.js.map +1 -1
  276. package/dist/security/internal-keys.d.ts +0 -12
  277. package/dist/security/internal-keys.d.ts.map +1 -1
  278. package/dist/security/internal-keys.js +10 -12
  279. package/dist/security/internal-keys.js.map +1 -1
  280. package/dist/security/rate-limit-policy.d.ts +0 -2
  281. package/dist/security/rate-limit-policy.d.ts.map +1 -1
  282. package/dist/security/rate-limit-policy.js +1 -1
  283. package/dist/security/rate-limit-policy.js.map +1 -1
  284. package/dist/security/rate-limit.d.ts +2 -5
  285. package/dist/security/rate-limit.d.ts.map +1 -1
  286. package/dist/security/rate-limit.js +2 -2
  287. package/dist/security/rate-limit.js.map +1 -1
  288. package/dist/security/sanitize.d.ts +0 -3
  289. package/dist/security/sanitize.d.ts.map +1 -1
  290. package/dist/security/sanitize.js +0 -1
  291. package/dist/security/sanitize.js.map +1 -1
  292. package/dist/security/upload.d.ts +0 -3
  293. package/dist/security/upload.d.ts.map +1 -1
  294. package/dist/security/upload.js +0 -1
  295. package/dist/security/upload.js.map +1 -1
  296. package/dist/seo/ai-crawler-log.d.ts +0 -2
  297. package/dist/seo/ai-crawler-log.d.ts.map +1 -1
  298. package/dist/seo/ai-crawler-log.js +1 -1
  299. package/dist/seo/ai-crawler-log.js.map +1 -1
  300. package/dist/seo/audit-engine.d.ts +5 -5
  301. package/dist/seo/audit-engine.d.ts.map +1 -1
  302. package/dist/seo/audit-engine.js +1 -2
  303. package/dist/seo/audit-engine.js.map +1 -1
  304. package/dist/seo/audit-runner.d.ts +0 -7
  305. package/dist/seo/audit-runner.d.ts.map +1 -1
  306. package/dist/seo/audit-runner.js +1 -1
  307. package/dist/seo/audit-runner.js.map +1 -1
  308. package/dist/seo/audit-signals.d.ts +0 -2
  309. package/dist/seo/audit-signals.d.ts.map +1 -1
  310. package/dist/seo/audit-signals.js +1 -1
  311. package/dist/seo/audit-signals.js.map +1 -1
  312. package/dist/seo/autopilot-gate.d.ts +0 -1
  313. package/dist/seo/autopilot-gate.d.ts.map +1 -1
  314. package/dist/seo/autopilot-gate.js +1 -1
  315. package/dist/seo/autopilot-gate.js.map +1 -1
  316. package/dist/seo/autopilot-ledger.d.ts +2 -1
  317. package/dist/seo/autopilot-ledger.d.ts.map +1 -1
  318. package/dist/seo/autopilot-outcome.d.ts +0 -2
  319. package/dist/seo/autopilot-outcome.d.ts.map +1 -1
  320. package/dist/seo/autopilot-outcome.js +1 -1
  321. package/dist/seo/autopilot-outcome.js.map +1 -1
  322. package/dist/seo/autopilot-policy.d.ts +3 -38
  323. package/dist/seo/autopilot-policy.d.ts.map +1 -1
  324. package/dist/seo/autopilot-policy.js +3 -3
  325. package/dist/seo/autopilot-policy.js.map +1 -1
  326. package/dist/seo/autopilot.d.ts +4 -12
  327. package/dist/seo/autopilot.d.ts.map +1 -1
  328. package/dist/seo/autopilot.js +3 -3
  329. package/dist/seo/autopilot.js.map +1 -1
  330. package/dist/seo/config-store.d.ts +0 -2
  331. package/dist/seo/config-store.d.ts.map +1 -1
  332. package/dist/seo/config-store.js +1 -1
  333. package/dist/seo/config-store.js.map +1 -1
  334. package/dist/seo/digest.d.ts +8 -7
  335. package/dist/seo/digest.d.ts.map +1 -1
  336. package/dist/seo/faq-signals.d.ts +0 -4
  337. package/dist/seo/faq-signals.d.ts.map +1 -1
  338. package/dist/seo/faq-signals.js +4 -4
  339. package/dist/seo/faq-signals.js.map +1 -1
  340. package/dist/seo/fix-brief-export.d.ts +0 -2
  341. package/dist/seo/fix-brief-export.d.ts.map +1 -1
  342. package/dist/seo/fix-brief-export.js +1 -1
  343. package/dist/seo/fix-brief-export.js.map +1 -1
  344. package/dist/seo/geo-record.d.ts +0 -4
  345. package/dist/seo/geo-record.d.ts.map +1 -1
  346. package/dist/seo/geo-record.js +2 -2
  347. package/dist/seo/geo-record.js.map +1 -1
  348. package/dist/seo/geo-report.d.ts +4 -3
  349. package/dist/seo/geo-report.d.ts.map +1 -1
  350. package/dist/seo/geo-report.js +1 -1
  351. package/dist/seo/geo-report.js.map +1 -1
  352. package/dist/seo/index-status.d.ts +6 -5
  353. package/dist/seo/index-status.d.ts.map +1 -1
  354. package/dist/seo/index-status.js.map +1 -1
  355. package/dist/seo/index.d.ts +15 -90
  356. package/dist/seo/index.d.ts.map +1 -1
  357. package/dist/seo/index.js +10 -49
  358. package/dist/seo/index.js.map +1 -1
  359. package/dist/seo/issue-batch-briefs.d.ts +2 -3
  360. package/dist/seo/issue-batch-briefs.d.ts.map +1 -1
  361. package/dist/seo/issue-batch-briefs.js +2 -2
  362. package/dist/seo/issue-batch-briefs.js.map +1 -1
  363. package/dist/seo/issue-content-brief.d.ts +2 -1
  364. package/dist/seo/issue-content-brief.d.ts.map +1 -1
  365. package/dist/seo/issue-content-research.d.ts +2 -2
  366. package/dist/seo/issue-content-research.d.ts.map +1 -1
  367. package/dist/seo/issue-content-research.js +1 -1
  368. package/dist/seo/issue-content-research.js.map +1 -1
  369. package/dist/seo/issue-fix-ai.d.ts +5 -4
  370. package/dist/seo/issue-fix-ai.d.ts.map +1 -1
  371. package/dist/seo/issue-fix-ai.js +4 -19
  372. package/dist/seo/issue-fix-ai.js.map +1 -1
  373. package/dist/seo/issue-fix-apply.d.ts +2 -11
  374. package/dist/seo/issue-fix-apply.d.ts.map +1 -1
  375. package/dist/seo/issue-fix-apply.js +4 -4
  376. package/dist/seo/issue-fix-apply.js.map +1 -1
  377. package/dist/seo/issue-fix-faq.d.ts +4 -7
  378. package/dist/seo/issue-fix-faq.d.ts.map +1 -1
  379. package/dist/seo/issue-fix-faq.js +4 -4
  380. package/dist/seo/issue-fix-faq.js.map +1 -1
  381. package/dist/seo/issue-fix-link-insert.d.ts +4 -14
  382. package/dist/seo/issue-fix-link-insert.d.ts.map +1 -1
  383. package/dist/seo/issue-fix-link-insert.js +5 -4
  384. package/dist/seo/issue-fix-link-insert.js.map +1 -1
  385. package/dist/seo/issue-fix-redirect.d.ts +0 -1
  386. package/dist/seo/issue-fix-redirect.d.ts.map +1 -1
  387. package/dist/seo/issue-fix.d.ts.map +1 -1
  388. package/dist/seo/issue-fix.js +1 -0
  389. package/dist/seo/issue-fix.js.map +1 -1
  390. package/dist/seo/link-graph.d.ts +2 -3
  391. package/dist/seo/link-graph.d.ts.map +1 -1
  392. package/dist/seo/link-graph.js +0 -0
  393. package/dist/seo/link-graph.js.map +1 -1
  394. package/dist/seo/link-suggest.d.ts +8 -2
  395. package/dist/seo/link-suggest.d.ts.map +1 -1
  396. package/dist/seo/link-suggest.js +38 -53
  397. package/dist/seo/link-suggest.js.map +1 -1
  398. package/dist/seo/page-meta.d.ts +1 -10
  399. package/dist/seo/page-meta.d.ts.map +1 -1
  400. package/dist/seo/page-meta.js +1 -1
  401. package/dist/seo/page-meta.js.map +1 -1
  402. package/dist/seo/proposals-bulk-apply.d.ts +3 -2
  403. package/dist/seo/proposals-bulk-apply.d.ts.map +1 -1
  404. package/dist/seo/proposals.d.ts +2 -2
  405. package/dist/seo/proposals.d.ts.map +1 -1
  406. package/dist/seo/rendered-fetch.d.ts +2 -1
  407. package/dist/seo/rendered-fetch.d.ts.map +1 -1
  408. package/dist/seo/score.d.ts +3 -7
  409. package/dist/seo/score.d.ts.map +1 -1
  410. package/dist/seo/score.js.map +1 -1
  411. package/dist/seo/search-console/client.d.ts +0 -4
  412. package/dist/seo/search-console/client.d.ts.map +1 -1
  413. package/dist/seo/search-console/client.js +2 -2
  414. package/dist/seo/search-console/client.js.map +1 -1
  415. package/dist/seo/search-console/sync.d.ts +0 -4
  416. package/dist/seo/search-console/sync.d.ts.map +1 -1
  417. package/dist/seo/search-console/sync.js +2 -2
  418. package/dist/seo/search-console/sync.js.map +1 -1
  419. package/dist/seo/search-console/types.d.ts +2 -1
  420. package/dist/seo/search-console/types.d.ts.map +1 -1
  421. package/dist/seo/sitemap-notify.d.ts +0 -8
  422. package/dist/seo/sitemap-notify.d.ts.map +1 -1
  423. package/dist/seo/sitemap-notify.js +1 -1
  424. package/dist/seo/sitemap-notify.js.map +1 -1
  425. package/dist/seo/title-templates.d.ts +2 -5
  426. package/dist/seo/title-templates.d.ts.map +1 -1
  427. package/dist/seo/title-templates.js +2 -2
  428. package/dist/seo/title-templates.js.map +1 -1
  429. package/dist/server-site.d.ts +0 -1
  430. package/dist/server-site.d.ts.map +1 -1
  431. package/dist/server-site.js +0 -1
  432. package/dist/server-site.js.map +1 -1
  433. package/dist/storage/index.d.ts +0 -2
  434. package/dist/storage/index.d.ts.map +1 -1
  435. package/dist/storage/index.js +0 -4
  436. package/dist/storage/index.js.map +1 -1
  437. package/dist/upgrade/version-check.d.ts +0 -2
  438. package/dist/upgrade/version-check.d.ts.map +1 -1
  439. package/dist/upgrade/version-check.js +1 -1
  440. package/dist/upgrade/version-check.js.map +1 -1
  441. package/dist/webhooks/index.d.ts +0 -8
  442. package/dist/webhooks/index.d.ts.map +1 -1
  443. package/dist/webhooks/index.js +1 -16
  444. package/dist/webhooks/index.js.map +1 -1
  445. package/package.json +1 -1
  446. package/prisma/migrations/0019_drop_content_graph/migration.sql +4 -0
  447. package/prisma/schema.prisma +0 -1
  448. package/dist/api/auth-context.d.ts +0 -3
  449. package/dist/api/auth-context.d.ts.map +0 -1
  450. package/dist/api/auth-context.js +0 -3
  451. package/dist/api/auth-context.js.map +0 -1
  452. package/dist/api/limiters.d.ts +0 -3
  453. package/dist/api/limiters.d.ts.map +0 -1
  454. package/dist/api/limiters.js +0 -3
  455. package/dist/api/limiters.js.map +0 -1
  456. package/dist/content/content-graph.d.ts +0 -25
  457. package/dist/content/content-graph.d.ts.map +0 -1
  458. package/dist/content/content-graph.js +0 -40
  459. package/dist/content/content-graph.js.map +0 -1
  460. package/dist/db/index.d.ts +0 -9
  461. package/dist/db/index.d.ts.map +0 -1
  462. package/dist/db/index.js +0 -5
  463. package/dist/db/index.js.map +0 -1
  464. package/dist/next/preview.d.ts +0 -10
  465. package/dist/next/preview.d.ts.map +0 -1
  466. package/dist/next/preview.js +0 -17
  467. package/dist/next/preview.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/ai/providers/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/ai/providers/http.ts"],"names":[],"mappings":"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"}
@@ -6,13 +6,6 @@
6
6
  import type { AIConnectionTestResult, AIProviderKey } from '../types.js';
7
7
  import type { AdapterContext, GenerateEmbeddingsOptions, GenerateEmbeddingsResult, GenerateTextOptions, GenerateTextResult } from './http.js';
8
8
  export type { AdapterContext, GenerateEmbeddingsOptions, GenerateEmbeddingsResult, GenerateTextOptions, GenerateTextResult, } from './http.js';
9
- interface ProviderAdapter {
10
- testConnection(ctx: AdapterContext): Promise<AIConnectionTestResult>;
11
- listModels(ctx: AdapterContext): Promise<string[]>;
12
- generateText(ctx: AdapterContext, opts: GenerateTextOptions): Promise<GenerateTextResult>;
13
- generateEmbeddings?(ctx: AdapterContext, opts: GenerateEmbeddingsOptions): Promise<GenerateEmbeddingsResult>;
14
- }
15
- export declare function getAdapter(provider: AIProviderKey): ProviderAdapter;
16
9
  export declare function testConnection(provider: AIProviderKey, ctx: AdapterContext): Promise<AIConnectionTestResult>;
17
10
  export declare function listModels(provider: AIProviderKey, ctx: AdapterContext): Promise<string[]>;
18
11
  export declare function generateText(provider: AIProviderKey, ctx: AdapterContext, opts: GenerateTextOptions): Promise<GenerateTextResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGxE,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,WAAW,CAAA;AAIlB,YAAY,EACV,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,WAAW,CAAA;AAElB,UAAU,eAAe;IACvB,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IACpE,UAAU,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAClD,YAAY,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACzF,kBAAkB,CAAC,CACjB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CAAA;CACrC;AASD,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,eAAe,CAEnE;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAEjC;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE1F;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAE3E;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CAMnC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ai/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAGxE,OAAO,KAAK,EACV,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,WAAW,CAAA;AAIlB,YAAY,EACV,cAAc,EACd,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,WAAW,CAAA;AAuBlB,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,cAAc,GAClB,OAAO,CAAC,sBAAsB,CAAC,CAEjC;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAE1F;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAE3E;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,yBAAyB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CAMnC"}
@@ -13,7 +13,7 @@ const ADAPTERS = {
13
13
  xai,
14
14
  custom,
15
15
  };
16
- export function getAdapter(provider) {
16
+ function getAdapter(provider) {
17
17
  return ADAPTERS[provider] ?? custom;
18
18
  }
19
19
  export function testConnection(provider, ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAQrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAoB/B,MAAM,QAAQ,GAA2C;IACvD,MAAM;IACN,SAAS;IACT,GAAG;IACH,MAAM;CACP,CAAA;AAED,MAAM,UAAU,UAAU,CAAC,QAAuB;IAChD,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAuB,EACvB,GAAmB;IAEnB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAuB,EAAE,GAAmB;IACrE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAAuB,EACvB,GAAmB,EACnB,IAAyB;IAEzB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAAuB;IAChE,OAAO,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,UAAU,CAAA;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAuB,EACvB,GAAmB,EACnB,IAA+B;IAE/B,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACpC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,yCAAyC,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC9C,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/providers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAQrC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAoB/B,MAAM,QAAQ,GAA2C;IACvD,MAAM;IACN,SAAS;IACT,GAAG;IACH,MAAM;CACP,CAAA;AAED,SAAS,UAAU,CAAC,QAAuB;IACzC,OAAO,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,QAAuB,EACvB,GAAmB;IAEnB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;AACjD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAuB,EAAE,GAAmB;IACrE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,QAAuB,EACvB,GAAmB,EACnB,IAAyB;IAEzB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAAuB;IAChE,OAAO,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,UAAU,CAAA;AACtE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAuB,EACvB,GAAmB,EACnB,IAA+B;IAE/B,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IACpC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,yCAAyC,CAAC,CAAA;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC9C,CAAC"}
@@ -10,6 +10,11 @@
10
10
  * capability (e.g. a vision feature falls back to `defaultVisionModelId`).
11
11
  * 3. The global `defaultModelId`.
12
12
  * 4. Any `fallbackModelIds` listed on the feature.
13
+ * 5. The curated provider default for the first enabled connection's provider
14
+ * (zero-config: an env-key bootstrap connection with nothing selected).
15
+ * Disabled connections are never candidates. Embedding features
16
+ * (`EMBEDDING_FEATURES`) prefer the first enabled connection whose provider
17
+ * can actually embed, since their embedding model is provider-fixed.
13
18
  *
14
19
  * The first candidate that is present in the catalog, available, AND satisfies
15
20
  * every required capability wins. If none fully satisfy, we still return the
@@ -20,7 +25,7 @@
20
25
  */
21
26
  import type { AIConfigDocument, AIModel } from './types.js';
22
27
  /** Where the resolved model came from in the precedence chain above. */
23
- export type FeatureModelSource = 'feature-override' | 'capability-default' | 'global-default' | 'fallback' | 'none';
28
+ type FeatureModelSource = 'feature-override' | 'capability-default' | 'global-default' | 'fallback' | 'provider-default' | 'none';
24
29
  export interface ResolvedFeatureModel {
25
30
  featureKey: string;
26
31
  /** Catalog model id (`provider:modelId`), or the raw override when uncatalogued. */
@@ -38,4 +43,5 @@ export interface ResolvedFeatureModel {
38
43
  export declare function resolveFeatureModel(config: AIConfigDocument, featureKey: string, catalog: AIModel[]): ResolvedFeatureModel;
39
44
  /** Resolve routing for every configured feature, keyed by feature key. */
40
45
  export declare function resolveAllFeatureModels(config: AIConfigDocument, catalog: AIModel[]): Record<string, ResolvedFeatureModel>;
46
+ export {};
41
47
  //# sourceMappingURL=resolve.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/ai/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,EAIR,MAAM,YAAY,CAAA;AAEnB,wEAAwE;AACxE,MAAM,MAAM,kBAAkB,GAC1B,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,UAAU,GACV,MAAM,CAAA;AAEV,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,kBAAkB,CAAA;IAC1B,mFAAmF;IACnF,qBAAqB,EAAE,OAAO,CAAA;IAC9B,kFAAkF;IAClF,mBAAmB,EAAE,MAAM,EAAE,CAAA;CAC9B;AAiFD,gEAAgE;AAChE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,EAAE,GACjB,oBAAoB,CA2DtB;AAED,0EAA0E;AAC1E,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,OAAO,EAAE,GACjB,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAMtC"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/ai/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EACV,gBAAgB,EAChB,OAAO,EAIR,MAAM,YAAY,CAAA;AAEnB,wEAAwE;AACxE,KAAK,kBAAkB,GACnB,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,UAAU,GACV,kBAAkB,GAClB,MAAM,CAAA;AAEV,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,EAAE,kBAAkB,CAAA;IAC1B,mFAAmF;IACnF,qBAAqB,EAAE,OAAO,CAAA;IAC9B,kFAAkF;IAClF,mBAAmB,EAAE,MAAM,EAAE,CAAA;CAC9B;AA4GD,gEAAgE;AAChE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,EAAE,GACjB,oBAAoB,CAiEtB;AAED,0EAA0E;AAC1E,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,OAAO,EAAE,GACjB,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAMtC"}
@@ -10,6 +10,11 @@
10
10
  * capability (e.g. a vision feature falls back to `defaultVisionModelId`).
11
11
  * 3. The global `defaultModelId`.
12
12
  * 4. Any `fallbackModelIds` listed on the feature.
13
+ * 5. The curated provider default for the first enabled connection's provider
14
+ * (zero-config: an env-key bootstrap connection with nothing selected).
15
+ * Disabled connections are never candidates. Embedding features
16
+ * (`EMBEDDING_FEATURES`) prefer the first enabled connection whose provider
17
+ * can actually embed, since their embedding model is provider-fixed.
13
18
  *
14
19
  * The first candidate that is present in the catalog, available, AND satisfies
15
20
  * every required capability wins. If none fully satisfy, we still return the
@@ -18,7 +23,8 @@
18
23
  * simplified version of this for live preview, but THIS function is the source
19
24
  * of truth consumed by the AI runtime.
20
25
  */
21
- import { modelsMatch } from './catalog.js';
26
+ import { curatedDefaultModelId, modelsMatch } from './catalog.js';
27
+ import { EMBEDDING_FEATURES, embeddingsAvailableForProvider } from './embeddings.js';
22
28
  /** Capability flags recognized on {@link AIModel.capabilities}. */
23
29
  const CAPABILITY_KEYS = new Set([
24
30
  'text',
@@ -48,8 +54,6 @@ function missingCaps(model, required) {
48
54
  function capabilityDefault(settings, required) {
49
55
  if (required.includes('imageGeneration'))
50
56
  return settings.defaultImageGenerationModelId;
51
- if (required.includes('embeddings'))
52
- return settings.defaultEmbeddingModelId;
53
57
  if (required.includes('vision'))
54
58
  return settings.defaultVisionModelId;
55
59
  if (required.includes('reasoning'))
@@ -74,6 +78,30 @@ function providerConnId(providers, providerKey, preferredId) {
74
78
  return enabled.id;
75
79
  return providers.find((p) => p.provider === providerKey)?.id;
76
80
  }
81
+ /**
82
+ * True when a provider can supply a curated default model (custom endpoints
83
+ * have no curated catalog, so they can never be the zero-config fallback).
84
+ */
85
+ function providerHasCuratedDefault(provider) {
86
+ return curatedDefaultModelId(provider, 'text') !== undefined;
87
+ }
88
+ /**
89
+ * Connection whose provider supplies the curated default when nothing else is
90
+ * configured. Only enabled connections with a curated catalog qualify (a
91
+ * `custom` connection listed first must not shadow OpenAI/Anthropic/xAI);
92
+ * embedding features prefer one whose provider can embed, falling back to the
93
+ * first qualifying connection so the runtime can still report `no_model` with
94
+ * a useful message.
95
+ */
96
+ function providerDefaultConnection(providers, featureKey) {
97
+ const eligible = providers.filter((p) => p.enabled && providerHasCuratedDefault(p.provider));
98
+ if (EMBEDDING_FEATURES.has(featureKey)) {
99
+ const capable = eligible.find((p) => embeddingsAvailableForProvider(p.provider));
100
+ if (capable)
101
+ return capable;
102
+ }
103
+ return eligible[0];
104
+ }
77
105
  function build(featureKey, model, source, config, required, preferredProviderId) {
78
106
  const missing = missingCaps(model, required);
79
107
  return {
@@ -91,11 +119,16 @@ export function resolveFeatureModel(config, featureKey, catalog) {
91
119
  const { settings } = config;
92
120
  const feature = settings.features.find((f) => f.key === featureKey);
93
121
  const required = feature?.requiredCapabilities ?? [];
122
+ const defaultConn = providerDefaultConnection(config.providers, featureKey);
123
+ const providerDefault = defaultConn
124
+ ? curatedDefaultModelId(defaultConn.provider, required.includes('vision') ? 'vision' : 'text')
125
+ : undefined;
94
126
  const candidates = [
95
127
  { id: feature?.modelId, source: 'feature-override' },
96
128
  { id: capabilityDefault(settings, required), source: 'capability-default' },
97
129
  { id: settings.defaultModelId, source: 'global-default' },
98
130
  ...(feature?.fallbackModelIds ?? []).map((id) => ({ id, source: 'fallback' })),
131
+ { id: providerDefault, source: 'provider-default' },
99
132
  ];
100
133
  // Best case: first candidate that is catalogued, available, and capable.
101
134
  let firstFound;
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/ai/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/ai/resolve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * One HTTP mapping for every {@link RuntimeError}. Routes call this instead of
3
+ * hand-rolling status codes so the admin, MCP, and REST clients see the same
4
+ * contract everywhere: 403 disabled, 429 budget/cap, 503 not configured (with
5
+ * a setup hint), 502 the model or provider misbehaved.
6
+ *
7
+ * Responses carry the same headers as `errorResponse()` in
8
+ * `api/route-helpers.ts` (shared via `api/security-headers.ts`).
9
+ */
10
+ import type { RuntimeError, RuntimeErrorCode } from './runtime.js';
11
+ /** Operator-facing next step for a refusal. Setup copy is stable; do not reword. */
12
+ export declare function setupHint(code: RuntimeErrorCode): string;
13
+ /** HTTP status + operator-facing copy for a refusal, before serialization. */
14
+ export interface RuntimeErrorDescription {
15
+ status: number;
16
+ message: string;
17
+ /** Present only for the 503 "not configured" codes. */
18
+ hint?: string;
19
+ }
20
+ /**
21
+ * The single source of the status/message/hint contract. Use this when the
22
+ * caller needs the pieces (e.g. to fold into a non-Response result) and
23
+ * {@link runtimeErrorToResponse} when it needs the wire form.
24
+ */
25
+ export declare function describeRuntimeError(err: RuntimeError): RuntimeErrorDescription;
26
+ export declare function runtimeErrorToResponse(err: RuntimeError): Response;
27
+ //# sourceMappingURL=runtime-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-response.d.ts","sourceRoot":"","sources":["../../src/ai/runtime-response.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAElE,oFAAoF;AACpF,wBAAgB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAiCxD;AASD,8EAA8E;AAC9E,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,YAAY,GAAG,uBAAuB,CAqB/E;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,GAAG,QAAQ,CAQlE"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * One HTTP mapping for every {@link RuntimeError}. Routes call this instead of
3
+ * hand-rolling status codes so the admin, MCP, and REST clients see the same
4
+ * contract everywhere: 403 disabled, 429 budget/cap, 503 not configured (with
5
+ * a setup hint), 502 the model or provider misbehaved.
6
+ *
7
+ * Responses carry the same headers as `errorResponse()` in
8
+ * `api/route-helpers.ts` (shared via `api/security-headers.ts`).
9
+ */
10
+ import { SECURITY_HEADERS } from '../api/security-headers.js';
11
+ /** Operator-facing next step for a refusal. Setup copy is stable; do not reword. */
12
+ export function setupHint(code) {
13
+ switch (code) {
14
+ case 'no_model':
15
+ return ('No default AI model is selected. In Settings > AI, choose a default model ' +
16
+ 'in the AI Assistant card and click Save changes.');
17
+ case 'no_key':
18
+ return ('No API key is available for the connected provider. Add a key under ' +
19
+ 'Provider connections or set the provider API key env var on your host.');
20
+ case 'no_provider':
21
+ return ('No AI provider can serve the selected model. Check Provider connections, ' +
22
+ 'refresh models, and save your default model.');
23
+ case 'unsupported_input':
24
+ return 'Choose a vision-capable model for this feature in Settings > AI.';
25
+ case 'feature_disabled':
26
+ case 'budget_exceeded':
27
+ case 'rate_limited':
28
+ case 'provider_error':
29
+ case 'invalid_output':
30
+ return ('AI is not fully configured. Open Settings > AI, connect a provider, choose a ' +
31
+ 'default model, and click Save changes.');
32
+ default: {
33
+ const _exhaustive = code;
34
+ return _exhaustive;
35
+ }
36
+ }
37
+ }
38
+ /**
39
+ * The single source of the status/message/hint contract. Use this when the
40
+ * caller needs the pieces (e.g. to fold into a non-Response result) and
41
+ * {@link runtimeErrorToResponse} when it needs the wire form.
42
+ */
43
+ export function describeRuntimeError(err) {
44
+ switch (err.code) {
45
+ case 'feature_disabled':
46
+ return { status: 403, message: err.message };
47
+ case 'budget_exceeded':
48
+ case 'rate_limited':
49
+ return { status: 429, message: err.message };
50
+ case 'no_provider':
51
+ case 'no_model':
52
+ case 'no_key':
53
+ case 'unsupported_input':
54
+ return { status: 503, message: err.message, hint: setupHint(err.code) };
55
+ case 'provider_error':
56
+ return { status: 502, message: `AI provider error: ${err.message}` };
57
+ case 'invalid_output':
58
+ return { status: 502, message: err.message };
59
+ default: {
60
+ const _exhaustive = err.code;
61
+ return _exhaustive;
62
+ }
63
+ }
64
+ }
65
+ export function runtimeErrorToResponse(err) {
66
+ const d = describeRuntimeError(err);
67
+ const body = { error: d.message, code: err.code };
68
+ if (d.hint !== undefined)
69
+ body.hint = d.hint;
70
+ return new Response(JSON.stringify(body), {
71
+ status: d.status,
72
+ headers: { ...SECURITY_HEADERS },
73
+ });
74
+ }
75
+ //# sourceMappingURL=runtime-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-response.js","sourceRoot":"","sources":["../../src/ai/runtime-response.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAA;AAG7D,oFAAoF;AACpF,MAAM,UAAU,SAAS,CAAC,IAAsB;IAC9C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,UAAU;YACb,OAAO,CACL,4EAA4E;gBAC5E,kDAAkD,CACnD,CAAA;QACH,KAAK,QAAQ;YACX,OAAO,CACL,sEAAsE;gBACtE,wEAAwE,CACzE,CAAA;QACH,KAAK,aAAa;YAChB,OAAO,CACL,2EAA2E;gBAC3E,8CAA8C,CAC/C,CAAA;QACH,KAAK,mBAAmB;YACtB,OAAO,kEAAkE,CAAA;QAC3E,KAAK,kBAAkB,CAAC;QACxB,KAAK,iBAAiB,CAAC;QACvB,KAAK,cAAc,CAAC;QACpB,KAAK,gBAAgB,CAAC;QACtB,KAAK,gBAAgB;YACnB,OAAO,CACL,+EAA+E;gBAC/E,wCAAwC,CACzC,CAAA;QACH,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,IAAI,CAAA;YAC/B,OAAO,WAAW,CAAA;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAiBD;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAiB;IACpD,QAAQ,GAAG,CAAC,IAAI,EAAE,CAAC;QACjB,KAAK,kBAAkB;YACrB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAA;QAC9C,KAAK,iBAAiB,CAAC;QACvB,KAAK,cAAc;YACjB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAA;QAC9C,KAAK,aAAa,CAAC;QACnB,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,mBAAmB;YACtB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;QACzE,KAAK,gBAAgB;YACnB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,sBAAsB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAA;QACtE,KAAK,gBAAgB;YACnB,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAA;QAC9C,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,WAAW,GAAU,GAAG,CAAC,IAAI,CAAA;YACnC,OAAO,WAAW,CAAA;QACpB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAiB;IACtD,MAAM,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;IACnC,MAAM,IAAI,GAAqB,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;IACnE,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;QAAE,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAA;IAC5C,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QACxC,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,OAAO,EAAE,EAAE,GAAG,gBAAgB,EAAE;KACjC,CAAC,CAAA;AACJ,CAAC"}
@@ -16,15 +16,18 @@
16
16
  */
17
17
  import type { ZodType } from 'zod';
18
18
  import { stripJsonFences } from './brand-voice-analyze.js';
19
- import type { AIProviderKey } from './types.js';
19
+ import { type ImageInput } from './providers/http.js';
20
+ import type { AIModelCapabilities, AIProviderKey } from './types.js';
20
21
  /** Re-exported so JSON callers get the fence stripper from the same module as the helper. */
21
22
  export { stripJsonFences };
22
23
  /**
23
24
  * Why a feature could not run. Distinct codes let callers map to HTTP status.
24
25
  * `invalid_output` is specific to {@link generateJsonForFeature}: the model
25
26
  * answered, but the reply never matched the requested schema.
27
+ * `unsupported_input` means the request carried images but the resolved model
28
+ * is catalogued without the `vision` capability — no provider call was made.
26
29
  */
27
- export type RuntimeErrorCode = 'feature_disabled' | 'no_provider' | 'no_model' | 'no_key' | 'budget_exceeded' | 'rate_limited' | 'provider_error' | 'invalid_output';
30
+ export type RuntimeErrorCode = 'feature_disabled' | 'no_provider' | 'no_model' | 'no_key' | 'budget_exceeded' | 'rate_limited' | 'provider_error' | 'invalid_output' | 'unsupported_input';
28
31
  export interface RuntimeError {
29
32
  ok: false;
30
33
  code: RuntimeErrorCode;
@@ -44,12 +47,9 @@ export interface ResolvedFeatureRuntime {
44
47
  providerModelId: string;
45
48
  /** When true, omit temperature / top_p / top_k on the provider request. */
46
49
  disallowsSampling: boolean;
50
+ /** Catalog capabilities of the resolved model; undefined when uncatalogued. */
51
+ capabilities?: AIModelCapabilities;
47
52
  }
48
- /**
49
- * Is a configured AI feature turned on? Unknown keys default to enabled so that
50
- * callers gating on a key the config doesn't track yet don't silently break.
51
- */
52
- export declare function isAiFeatureEnabled(db: unknown, featureKey: string): Promise<boolean>;
53
53
  /**
54
54
  * Resolve provider + model + key + budget for a feature, enforcing the toggle.
55
55
  * Pure resolution — performs no model call. Returns a discriminated result so
@@ -61,6 +61,8 @@ export interface GenerateForFeatureInput {
61
61
  system?: string;
62
62
  maxTokens?: number;
63
63
  temperature?: number;
64
+ /** Images for vision models. Refused with `unsupported_input` when the model lacks `vision`. */
65
+ images?: ImageInput[];
64
66
  /** Recorded on the usage audit entry so spend is attributable. */
65
67
  userId?: string;
66
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/ai/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAGlC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAW1D,OAAO,KAAK,EAAwB,aAAa,EAAE,MAAM,YAAY,CAAA;AAGrE,6FAA6F;AAC7F,OAAO,EAAE,eAAe,EAAE,CAAA;AAE1B;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GACxB,kBAAkB,GAClB,aAAa,GACb,UAAU,GACV,QAAQ,GACR,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,gBAAgB,CAAA;AAEpB,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,KAAK,CAAA;IACT,IAAI,EAAE,gBAAgB,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,6DAA6D;AAC7D,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,IAAI,CAAA;IACR,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,aAAa,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,eAAe,EAAE,MAAM,CAAA;IACvB,2EAA2E;IAC3E,iBAAiB,EAAE,OAAO,CAAA;CAC3B;AAMD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAI1F;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,EAAE,EAAE,OAAO,EACX,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,GAAG,YAAY,CAAC,CAsEhD;AAQD,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,IAAI,CAAA;IACR,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9E,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,OAAO,EACX,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,yBAAyB,GAAG,YAAY,CAAC,CA4DnD;AAED,MAAM,WAAW,2BAA2B,CAAC,CAAC,CAAE,SAAQ,uBAAuB;IAC7E,yEAAyE;IACzE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IAClB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kEAAkE;IAClE,QAAQ,CAAC,EAAE,CACT,EAAE,EAAE,OAAO,EACX,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,uBAAuB,KAC3B,OAAO,CAAC,yBAAyB,GAAG,YAAY,CAAC,CAAA;CACvD;AAED,MAAM,WAAW,6BAA6B,CAAC,CAAC;IAC9C,EAAE,EAAE,IAAI,CAAA;IACR,KAAK,EAAE,CAAC,CAAA;IACR,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAA;IACZ,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAA;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,MAAM,CAAA;CACxB;AASD;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,CAAC,EAC5C,EAAE,EAAE,OAAO,EACX,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,2BAA2B,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CA+C1D;AAYD,MAAM,WAAW,oBAAoB;IACnC,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,IAAI,CAAA;IACR,iDAAiD;IACjD,OAAO,EAAE,MAAM,EAAE,EAAE,CAAA;IACnB,KAAK,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9E,oFAAoF;IACpF,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,OAAO,EACX,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,GAAE,oBAAyB,GAC/B,OAAO,CAAC,sBAAsB,GAAG,YAAY,CAAC,CAsDhD"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/ai/runtime.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { stripJsonFences } from './brand-voice-analyze.js';
19
19
  import { resolveWireModelId } from './catalog.js';
20
20
  import { getAIConfig, resolveProviderKey } from './config-store.js';
21
21
  import { getModels } from './models.js';
22
+ import { EMBEDDING_MODELS, embeddingsAvailableForProvider } from './embeddings.js';
22
23
  import { generateEmbeddings as adapterGenerateEmbeddings, generateText as adapterGenerateText, } from './providers/index.js';
23
24
  import { AdapterHttpError } from './providers/http.js';
24
25
  import { resolveFeatureModel } from './resolve.js';
@@ -29,15 +30,6 @@ export { stripJsonFences };
29
30
  function err(code, message) {
30
31
  return { ok: false, code, message };
31
32
  }
32
- /**
33
- * Is a configured AI feature turned on? Unknown keys default to enabled so that
34
- * callers gating on a key the config doesn't track yet don't silently break.
35
- */
36
- export async function isAiFeatureEnabled(db, featureKey) {
37
- const config = await getAIConfig(db);
38
- const feature = config.settings.features.find((f) => f.key === featureKey);
39
- return feature ? feature.enabled : true;
40
- }
41
33
  /**
42
34
  * Resolve provider + model + key + budget for a feature, enforcing the toggle.
43
35
  * Pure resolution — performs no model call. Returns a discriminated result so
@@ -96,6 +88,7 @@ export async function resolveFeatureRuntime(db, featureKey) {
96
88
  modelId: resolved.modelId,
97
89
  providerModelId,
98
90
  disallowsSampling: modelDisallowsSampling(providerModelId, resolved.model?.capabilities),
91
+ capabilities: resolved.model?.capabilities,
99
92
  };
100
93
  }
101
94
  /** `openai:gpt-4o` -> `gpt-4o`; leaves bare ids untouched. */
@@ -114,6 +107,14 @@ export async function generateTextForFeature(db, featureKey, input) {
114
107
  const resolved = await resolveFeatureRuntime(db, featureKey);
115
108
  if (!resolved.ok)
116
109
  return resolved;
110
+ // Vision gate: a catalogued model that explicitly lacks `vision` is refused
111
+ // before any network call. Uncatalogued models (no capabilities) attempt the
112
+ // call and let the provider decide. The message names the model only —
113
+ // never the image bytes.
114
+ const hasImages = Array.isArray(input.images) && input.images.length > 0;
115
+ if (hasImages && resolved.capabilities && resolved.capabilities.vision === false) {
116
+ return err('unsupported_input', `The selected model (${resolved.modelId}) cannot analyze images. Choose a vision-capable model for this feature in Settings > AI.`);
117
+ }
117
118
  // Inject the active brand voice into the system prompt when the caller opts
118
119
  // in (content-writing surfaces do; metadata/structured ones don't).
119
120
  let system = input.system;
@@ -136,6 +137,7 @@ export async function generateTextForFeature(db, featureKey, input) {
136
137
  system,
137
138
  maxTokens: input.maxTokens,
138
139
  temperature,
140
+ images: hasImages ? input.images : undefined,
139
141
  });
140
142
  await recordUsage(db, {
141
143
  featureKey,
@@ -219,15 +221,6 @@ export async function generateJsonForFeature(db, featureKey, input) {
219
221
  }
220
222
  return err('invalid_output', `AI returned output that did not match the expected shape (${lastError}).`);
221
223
  }
222
- /**
223
- * Default embedding model per provider. Providers absent from this map have no
224
- * embeddings API — `embedForFeature` returns a typed `no_model` error for them
225
- * and callers fall back to their non-AI behavior.
226
- */
227
- const EMBEDDING_MODELS = {
228
- openai: 'text-embedding-3-small',
229
- custom: 'text-embedding-3-small',
230
- };
231
224
  /**
232
225
  * Run embeddings for a feature through the governed path: resolve → enforce
233
226
  * (toggle, budget, daily cap) → call → record usage. Same error contract as
@@ -246,7 +239,9 @@ export async function embedForFeature(db, featureKey, texts, input = {}) {
246
239
  const resolved = await resolveFeatureRuntime(db, featureKey);
247
240
  if (!resolved.ok)
248
241
  return resolved;
249
- const embeddingModel = EMBEDDING_MODELS[resolved.providerKey];
242
+ const embeddingModel = embeddingsAvailableForProvider(resolved.providerKey)
243
+ ? EMBEDDING_MODELS[resolved.providerKey]
244
+ : undefined;
250
245
  if (!embeddingModel) {
251
246
  return err('no_model', `The "${resolved.providerKey}" provider does not support embeddings.`);
252
247
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/ai/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/ai/runtime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Provider-free prompt + normalization for accessible alt text. Moved from
3
+ * `@prenta/plugin-ai` (`media/alt-text-generator.ts`, `alt-text-prompt.ts`,
4
+ * `media/json.ts`) in Spec B; the model call runs through
5
+ * `generateJsonForFeature` under the `ai.features.mediaAltText` feature
6
+ * (toggle, daily cap, budget, usage metering), so this module never touches a
7
+ * provider.
8
+ *
9
+ * Vision-then-heuristic: when image bytes are supplied the vision path is
10
+ * tried first. If the resolved model is catalogued without `vision` the
11
+ * runtime refuses with `unsupported_input` *before* any network call, and we
12
+ * rerun text-only with confidence capped at {@link HEURISTIC_MAX_CONFIDENCE}.
13
+ * Every other runtime refusal propagates to the caller.
14
+ *
15
+ * Image bytes (`base64`) only ever travel in the adapter request body — they
16
+ * are never logged, audited, or echoed into an error message.
17
+ */
18
+ import { z } from 'zod';
19
+ import type { ImageInput } from '../providers/http.js';
20
+ import { type RuntimeError } from '../runtime.js';
21
+ export declare const ALT_TEXT_FEATURE = "ai.features.mediaAltText";
22
+ /** Max confidence we'll report for a text-only (no real image) heuristic. */
23
+ export declare const HEURISTIC_MAX_CONFIDENCE = 0.4;
24
+ export interface AltTextContext {
25
+ pageTitle?: string;
26
+ surroundingText?: string;
27
+ purpose?: 'decorative' | 'informative' | 'functional';
28
+ }
29
+ export interface AltTextResult {
30
+ altText: string;
31
+ isDecorative: boolean;
32
+ confidence: number;
33
+ alternatives: string[];
34
+ /** True only when a real vision model analyzed the image bytes. */
35
+ usedVision: boolean;
36
+ }
37
+ /** Lenient on purpose: every key is optional so a partial reply still normalizes. */
38
+ export declare const AltTextSchema: z.ZodObject<{
39
+ altText: z.ZodOptional<z.ZodString>;
40
+ isDecorative: z.ZodOptional<z.ZodBoolean>;
41
+ alternatives: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
42
+ confidence: z.ZodOptional<z.ZodNumber>;
43
+ }, "strip", z.ZodTypeAny, {
44
+ altText?: string | undefined;
45
+ confidence?: number | undefined;
46
+ isDecorative?: boolean | undefined;
47
+ alternatives?: string[] | undefined;
48
+ }, {
49
+ altText?: string | undefined;
50
+ confidence?: number | undefined;
51
+ isDecorative?: boolean | undefined;
52
+ alternatives?: string[] | undefined;
53
+ }>;
54
+ /** Normalize model output to publishing-ready alt text. */
55
+ export declare function normalizeGeneratedAltText(raw: string, isDecorative: boolean): string;
56
+ export declare function buildAltTextPrompt(ctx: AltTextContext, opts: {
57
+ vision: boolean;
58
+ fileName: string;
59
+ }): {
60
+ system: string;
61
+ prompt: string;
62
+ };
63
+ export interface GenerateAltTextArgs {
64
+ /** Used only to derive the file name shown to the text-only heuristic. */
65
+ imageUrl: string;
66
+ /** Image bytes when the caller could fetch them; `null` forces the heuristic. */
67
+ image: ImageInput | null;
68
+ context: AltTextContext;
69
+ /** Recorded on the usage audit entry so spend is attributable. */
70
+ userId?: string;
71
+ /** Injectable fetch for tests; forwarded to the provider adapter. */
72
+ fetchImpl?: typeof fetch;
73
+ }
74
+ /**
75
+ * Governed alt-text generation. Tries the vision path when image bytes are
76
+ * available; if the resolved model is catalogued without `vision`
77
+ * (`unsupported_input`) it reruns text-only with confidence capped at
78
+ * {@link HEURISTIC_MAX_CONFIDENCE}. Every other runtime refusal propagates.
79
+ * A `decorative` purpose short-circuits with no model call.
80
+ */
81
+ export declare function generateAltText(db: unknown, args: GenerateAltTextArgs): Promise<AltTextResult | RuntimeError>;
82
+ //# sourceMappingURL=alt-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alt-text.d.ts","sourceRoot":"","sources":["../../../src/ai/tasks/alt-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAA0B,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAEzE,eAAO,MAAM,gBAAgB,6BAA6B,CAAA;AAC1D,6EAA6E;AAC7E,eAAO,MAAM,wBAAwB,MAAM,CAAA;AAkC3C,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,YAAY,CAAA;CACtD;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,OAAO,CAAA;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,mEAAmE;IACnE,UAAU,EAAE,OAAO,CAAA;CACpB;AAED,qFAAqF;AACrF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAKxB,CAAA;AAIF,2DAA2D;AAC3D,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAOpF;AAQD,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAmBpC;AAoCD,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAA;IAChB,iFAAiF;IACjF,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,OAAO,EAAE,cAAc,CAAA;IACvB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CACzB;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,OAAO,EACX,IAAI,EAAE,mBAAmB,GACxB,OAAO,CAAC,aAAa,GAAG,YAAY,CAAC,CA6BvC"}