@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
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Embedding-ranked internal-link candidates. The query and the corpus are
3
+ * embedded through governed `embedForFeature` calls in batches of
4
+ * {@link EMBED_BATCH_SIZE} inputs (plugin-ai's `semanticSearch` made N+1
5
+ * ungoverned calls; a single request for a 5000-page site blew the provider's
6
+ * per-request input limit). Returns `null` when the runtime refuses so callers
7
+ * fall back to {@link phraseMatchLinks}.
8
+ */
9
+ export declare const LINK_SUGGEST_FEATURE = "ai.features.seoInternalLinks";
10
+ export declare const LINK_SIMILARITY_THRESHOLD = 0.35;
11
+ /** Per-item content cap before embedding — enough context, bounded token cost. */
12
+ export declare const CONTENT_MAX_CHARS = 2000;
13
+ /** Max inputs per embeddings request (the first request also carries the query). */
14
+ export declare const EMBED_BATCH_SIZE = 256;
15
+ /** Largest corpus we embed; bigger ones are pre-trimmed by {@link trimCorpusForEmbedding}. */
16
+ export declare const MAX_CORPUS_ITEMS = 1000;
17
+ export interface LinkCorpusItem {
18
+ id: string;
19
+ title: string;
20
+ content: string;
21
+ /** Recency tie-breaker for the pre-trim; optional for callers without it. */
22
+ updatedAt?: string | Date;
23
+ }
24
+ export interface RankedLink {
25
+ id: string;
26
+ title: string;
27
+ score: number;
28
+ excerpt: string;
29
+ }
30
+ /**
31
+ * Deterministic pre-trim for corpora above the embedding cap: items whose
32
+ * title/content share the most query tokens come first (a `phraseMatchLinks`-
33
+ * style overlap), then the most recently updated. Stable for ties so the
34
+ * result is reproducible. Returns the input untouched when it already fits.
35
+ */
36
+ export declare function trimCorpusForEmbedding(query: string, corpus: LinkCorpusItem[], max?: number): LinkCorpusItem[];
37
+ /**
38
+ * Rank `corpus` against `query` by embedding cosine similarity. Everything
39
+ * (toggle, budget, daily cap, key resolution, metering) is enforced inside
40
+ * `embedForFeature`; any refusal or provider failure yields `null`. Corpora
41
+ * above {@link MAX_CORPUS_ITEMS} are pre-trimmed deterministically, every item
42
+ * is clamped to {@link CONTENT_MAX_CHARS}, and requests are chunked.
43
+ */
44
+ export declare function rankByEmbedding(db: unknown, query: string, corpus: LinkCorpusItem[], opts?: {
45
+ limit?: number;
46
+ userId?: string;
47
+ fetchImpl?: typeof fetch;
48
+ }): Promise<RankedLink[] | null>;
49
+ /**
50
+ * Deterministic fallback: a source qualifies when its content contains the
51
+ * target title or one of its keywords. Score 0.6 for a title hit, 0.4 for a
52
+ * keyword-only hit (both clear the 40% wrappable floor in link-suggest).
53
+ */
54
+ export declare function phraseMatchLinks(targetTitle: string, keywords: string[], corpus: LinkCorpusItem[], limit: number): RankedLink[];
55
+ //# sourceMappingURL=link-embeddings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-embeddings.d.ts","sourceRoot":"","sources":["../../../src/ai/tasks/link-embeddings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,eAAO,MAAM,oBAAoB,iCAAiC,CAAA;AAClE,eAAO,MAAM,yBAAyB,OAAO,CAAA;AAC7C,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,OAAO,CAAA;AACrC,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,MAAM,CAAA;AACnC,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB,OAAO,CAAA;AAMpC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;CAChB;AAwBD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,cAAc,EAAE,EACxB,GAAG,SAAmB,GACrB,cAAc,EAAE,CAkBlB;AA+BD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,OAAO,EACX,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,cAAc,EAAE,EACxB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;CAAO,GACvE,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CA2B9B;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,MAAM,EAAE,cAAc,EAAE,EACxB,KAAK,EAAE,MAAM,GACZ,UAAU,EAAE,CAmBd"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Embedding-ranked internal-link candidates. The query and the corpus are
3
+ * embedded through governed `embedForFeature` calls in batches of
4
+ * {@link EMBED_BATCH_SIZE} inputs (plugin-ai's `semanticSearch` made N+1
5
+ * ungoverned calls; a single request for a 5000-page site blew the provider's
6
+ * per-request input limit). Returns `null` when the runtime refuses so callers
7
+ * fall back to {@link phraseMatchLinks}.
8
+ */
9
+ import { embedForFeature } from '../runtime.js';
10
+ import { cosineSimilarity } from '../vector.js';
11
+ export const LINK_SUGGEST_FEATURE = 'ai.features.seoInternalLinks';
12
+ export const LINK_SIMILARITY_THRESHOLD = 0.35;
13
+ /** Per-item content cap before embedding — enough context, bounded token cost. */
14
+ export const CONTENT_MAX_CHARS = 2000;
15
+ /** Max inputs per embeddings request (the first request also carries the query). */
16
+ export const EMBED_BATCH_SIZE = 256;
17
+ /** Largest corpus we embed; bigger ones are pre-trimmed by {@link trimCorpusForEmbedding}. */
18
+ export const MAX_CORPUS_ITEMS = 1000;
19
+ const EXCERPT_CHARS = 200;
20
+ const DEFAULT_LIMIT = 10;
21
+ /** Query tokens shorter than this carry no signal for the pre-trim. */
22
+ const MIN_TOKEN_CHARS = 3;
23
+ function excerptAround(content, terms) {
24
+ const lower = content.toLowerCase();
25
+ let start = 0;
26
+ for (const term of terms) {
27
+ const idx = lower.indexOf(term);
28
+ if (idx >= 0) {
29
+ start = Math.max(0, idx - 50);
30
+ break;
31
+ }
32
+ }
33
+ return content.slice(start, start + EXCERPT_CHARS);
34
+ }
35
+ function updatedAtMs(item) {
36
+ if (item.updatedAt instanceof Date)
37
+ return item.updatedAt.getTime();
38
+ if (typeof item.updatedAt === 'string') {
39
+ const t = Date.parse(item.updatedAt);
40
+ return Number.isNaN(t) ? 0 : t;
41
+ }
42
+ return 0;
43
+ }
44
+ /**
45
+ * Deterministic pre-trim for corpora above the embedding cap: items whose
46
+ * title/content share the most query tokens come first (a `phraseMatchLinks`-
47
+ * style overlap), then the most recently updated. Stable for ties so the
48
+ * result is reproducible. Returns the input untouched when it already fits.
49
+ */
50
+ export function trimCorpusForEmbedding(query, corpus, max = MAX_CORPUS_ITEMS) {
51
+ if (corpus.length <= max)
52
+ return corpus;
53
+ const tokens = [
54
+ ...new Set(query
55
+ .toLowerCase()
56
+ .split(/[^\p{L}\p{N}]+/u)
57
+ .filter((t) => t.length >= MIN_TOKEN_CHARS)),
58
+ ];
59
+ const scored = corpus.map((item, index) => {
60
+ const hay = `${item.title} ${item.content}`.toLowerCase();
61
+ let overlap = 0;
62
+ for (const t of tokens)
63
+ if (hay.includes(t))
64
+ overlap++;
65
+ return { item, index, overlap, recency: updatedAtMs(item) };
66
+ });
67
+ scored.sort((a, b) => b.overlap - a.overlap || b.recency - a.recency || a.index - b.index);
68
+ return scored.slice(0, max).map((s) => s.item);
69
+ }
70
+ /**
71
+ * Embed `texts` in sequential batches of {@link EMBED_BATCH_SIZE}. The first
72
+ * batch also carries the query (so it has one extra input). Stops at the first
73
+ * refusal and returns `null` — a partially embedded corpus is not rankable.
74
+ */
75
+ async function embedInBatches(db, query, contents, opts) {
76
+ let queryVec;
77
+ const vecs = [];
78
+ for (let start = 0; start < contents.length; start += EMBED_BATCH_SIZE) {
79
+ const chunk = contents.slice(start, start + EMBED_BATCH_SIZE);
80
+ const texts = start === 0 ? [query, ...chunk] : chunk;
81
+ const res = await embedForFeature(db, LINK_SUGGEST_FEATURE, texts, {
82
+ userId: opts.userId,
83
+ fetchImpl: opts.fetchImpl,
84
+ });
85
+ if (!res.ok)
86
+ return null;
87
+ const out = start === 0 ? res.vectors.slice(1) : res.vectors;
88
+ if (start === 0)
89
+ queryVec = res.vectors[0];
90
+ vecs.push(...out);
91
+ }
92
+ if (!queryVec)
93
+ return null;
94
+ return { queryVec, vecs };
95
+ }
96
+ /**
97
+ * Rank `corpus` against `query` by embedding cosine similarity. Everything
98
+ * (toggle, budget, daily cap, key resolution, metering) is enforced inside
99
+ * `embedForFeature`; any refusal or provider failure yields `null`. Corpora
100
+ * above {@link MAX_CORPUS_ITEMS} are pre-trimmed deterministically, every item
101
+ * is clamped to {@link CONTENT_MAX_CHARS}, and requests are chunked.
102
+ */
103
+ export async function rankByEmbedding(db, query, corpus, opts = {}) {
104
+ if (corpus.length === 0)
105
+ return [];
106
+ const trimmed = trimCorpusForEmbedding(query, corpus);
107
+ const contents = trimmed.map((c) => c.content.slice(0, CONTENT_MAX_CHARS));
108
+ const embedded = await embedInBatches(db, query.slice(0, CONTENT_MAX_CHARS), contents, {
109
+ userId: opts.userId,
110
+ fetchImpl: opts.fetchImpl,
111
+ });
112
+ if (!embedded)
113
+ return null;
114
+ const { queryVec, vecs } = embedded;
115
+ const terms = query.toLowerCase().split(/\s+/).filter(Boolean);
116
+ const ranked = [];
117
+ trimmed.forEach((item, i) => {
118
+ const vec = vecs[i];
119
+ if (!vec)
120
+ return;
121
+ const score = cosineSimilarity(queryVec, vec);
122
+ if (score >= LINK_SIMILARITY_THRESHOLD) {
123
+ ranked.push({
124
+ id: item.id,
125
+ title: item.title,
126
+ score,
127
+ excerpt: excerptAround(item.content, terms),
128
+ });
129
+ }
130
+ });
131
+ ranked.sort((a, b) => b.score - a.score);
132
+ return ranked.slice(0, opts.limit ?? DEFAULT_LIMIT);
133
+ }
134
+ /**
135
+ * Deterministic fallback: a source qualifies when its content contains the
136
+ * target title or one of its keywords. Score 0.6 for a title hit, 0.4 for a
137
+ * keyword-only hit (both clear the 40% wrappable floor in link-suggest).
138
+ */
139
+ export function phraseMatchLinks(targetTitle, keywords, corpus, limit) {
140
+ const title = targetTitle.trim().toLowerCase();
141
+ const kws = keywords.map((k) => k.trim().toLowerCase()).filter(Boolean);
142
+ const out = [];
143
+ for (const item of corpus) {
144
+ const lower = item.content.toLowerCase();
145
+ const titleHit = title.length > 0 && lower.includes(title);
146
+ const kwHit = kws.find((k) => lower.includes(k));
147
+ if (!titleHit && !kwHit)
148
+ continue;
149
+ const term = titleHit ? title : kwHit;
150
+ out.push({
151
+ id: item.id,
152
+ title: item.title,
153
+ score: titleHit ? 0.6 : 0.4,
154
+ excerpt: excerptAround(item.content, term ? [term] : []),
155
+ });
156
+ }
157
+ out.sort((a, b) => b.score - a.score);
158
+ return out.slice(0, limit);
159
+ }
160
+ //# sourceMappingURL=link-embeddings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link-embeddings.js","sourceRoot":"","sources":["../../../src/ai/tasks/link-embeddings.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
1
  /**
2
- * Shared types for the Settings > AI governance layer.
3
- *
4
- * Phases 1-2 cover provider connections (encrypted keys) and a dynamic,
5
- * normalized model catalog. Feature config, budget, and data-policy shapes are
6
- * declared here for forward-compatibility (enforcement + metering land in later
7
- * phases) but only `features[].enabled` and `budget.monthlyTokenLimit` are
8
- * wired into the UI for now.
2
+ * Shared types for the Settings > AI governance layer: provider connections
3
+ * (encrypted or env-managed keys), the normalized model catalog, per-feature
4
+ * toggles / routing / approval / daily caps, the monthly token budget, and the
5
+ * brand voice profile. Everything declared here is read by the governed
6
+ * runtime (`runtime.ts`) or the admin UI — fields that were once reserved for
7
+ * future phases were removed in Spec B rather than left as silent no-ops.
9
8
  */
10
9
  /** Provider keys are stable code identifiers. `openai` covers OpenAI/ChatGPT. */
11
10
  export type AIProviderKey = 'openai' | 'anthropic' | 'xai' | 'custom';
@@ -82,7 +81,7 @@ export type AIProviderConnectionPublic = Omit<AIProviderConnection, 'apiKeyEncry
82
81
  keyManagedExternally: boolean;
83
82
  hasKey: boolean;
84
83
  };
85
- export type AIFeatureCategory = 'seo' | 'media' | 'content' | 'forms' | 'security' | 'developer' | 'search';
84
+ type AIFeatureCategory = 'seo' | 'media' | 'content' | 'forms' | 'security' | 'developer' | 'search';
86
85
  export interface AIFeatureConfig {
87
86
  key: string;
88
87
  label: string;
@@ -95,19 +94,11 @@ export interface AIFeatureConfig {
95
94
  fallbackModelIds?: string[];
96
95
  approvalRequired: boolean;
97
96
  allowBulkApply: boolean;
98
- maxMonthlyTokens?: number;
99
97
  maxRequestsPerDay?: number;
100
- rolesAllowed: string[];
101
- permissionsRequired: string[];
102
- dataPolicyKey?: string;
103
98
  }
104
99
  export interface AIBudgetSettings {
105
100
  monthlyTokenLimit?: number;
106
- monthlyCostLimit?: number;
107
- alertAtPercentages: number[];
108
101
  disableWhenExceeded: boolean;
109
- perFeatureLimits?: Record<string, number>;
110
- perUserLimits?: Record<string, number>;
111
102
  }
112
103
  /**
113
104
  * Brand voice profile. A reusable description of how generated copy should
@@ -145,11 +136,9 @@ export interface AISettings {
145
136
  defaultTextModelId?: string;
146
137
  defaultReasoningModelId?: string;
147
138
  defaultVisionModelId?: string;
148
- defaultEmbeddingModelId?: string;
149
139
  defaultImageGenerationModelId?: string;
150
140
  features: AIFeatureConfig[];
151
141
  budget: AIBudgetSettings;
152
- logsRetentionDays: number;
153
142
  /** Active brand voice. Absent until an admin configures it. */
154
143
  brandVoice?: BrandVoiceProfile;
155
144
  }
@@ -171,7 +160,13 @@ export interface AIConfigDocument {
171
160
  updatedAt?: string;
172
161
  updatedBy?: string;
173
162
  }
174
- /** Monthly usage summary for the budget meter (real counts; 0 until Phase 4). */
163
+ /**
164
+ * Monthly usage summary for the budget meter. Sums the token fields the
165
+ * governed runtime writes to `prenta_audit_logs` (`ai_usage` rows:
166
+ * `promptTokens` / `completionTokens` / `totalTokens`) plus legacy
167
+ * `tokensUsed` / `totalTokensUsed` rows from older handlers. Real counts —
168
+ * 0 when nothing has run in the period, never a fabricated number.
169
+ */
175
170
  export interface AIUsageSummary {
176
171
  totalTokens: number;
177
172
  promptTokens: number;
@@ -190,4 +185,5 @@ export interface AIConnectionTestResult {
190
185
  message: string;
191
186
  testedAt: string;
192
187
  }
188
+ export {};
193
189
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,WAAW,GAAG,KAAK,GAAG,QAAQ,CAAA;AAErE,iEAAiE;AACjE,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,QAAQ,CAAA;AAE/D,sFAAsF;AACtF,MAAM,MAAM,kBAAkB,GAC1B,WAAW,GACX,aAAa,GACb,cAAc,GACd,eAAe,GACf,aAAa,GACb,SAAS,CAAA;AAEb,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,aAAa,GAAG,YAAY,GAAG,SAAS,CAAA;AAElF,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,OAAO,CAAA;IACf,eAAe,EAAE,OAAO,CAAA;IACxB,UAAU,EAAE,OAAO,CAAA;IACnB,WAAW,EAAE,OAAO,CAAA;IACpB,gBAAgB,EAAE,OAAO,CAAA;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,6EAA6E;AAC7E,MAAM,WAAW,OAAO;IACtB,4DAA4D;IAC5D,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,aAAa,CAAA;IACvB,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,aAAa,CAAA;IACrB,YAAY,EAAE,mBAAmB,CAAA;IACjC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,EAAE,CAAA;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,EAAE,aAAa,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,kBAAkB,CAAA;IAC1B,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,+EAA+E;AAC/E,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,GAAG;IACvF,YAAY,EAAE,WAAW,CAAA;IACzB,6EAA6E;IAC7E,oBAAoB,EAAE,OAAO,CAAA;IAC7B,MAAM,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,KAAK,iBAAiB,GAAG,KAAK,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAA;AAEpG,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,oBAAoB,EAAE,MAAM,EAAE,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,gBAAgB,EAAE,OAAO,CAAA;IACzB,cAAc,EAAE,OAAO,CAAA;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,EAAE,OAAO,CAAA;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,uEAAuE;IACvE,OAAO,EAAE,OAAO,CAAA;IAChB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,UAAU,CAAA;IAC1C,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,6BAA6B,CAAC,EAAE,MAAM,CAAA;IACtC,QAAQ,EAAE,eAAe,EAAE,CAAA;IAC3B,MAAM,EAAE,gBAAgB,CAAA;IACxB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAC/B;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,EAAE,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,4EAA4E;IAC5E,YAAY,EAAE,OAAO,CAAA;CACtB;AAED,gEAAgE;AAChE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,oBAAoB,EAAE,CAAA;IACjC,QAAQ,EAAE,UAAU,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,4CAA4C;AAC5C,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,CAAA;IACX,MAAM,EAAE,kBAAkB,CAAA;IAC1B,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB"}
package/dist/ai/types.js CHANGED
@@ -1,11 +1,10 @@
1
1
  /**
2
- * Shared types for the Settings > AI governance layer.
3
- *
4
- * Phases 1-2 cover provider connections (encrypted keys) and a dynamic,
5
- * normalized model catalog. Feature config, budget, and data-policy shapes are
6
- * declared here for forward-compatibility (enforcement + metering land in later
7
- * phases) but only `features[].enabled` and `budget.monthlyTokenLimit` are
8
- * wired into the UI for now.
2
+ * Shared types for the Settings > AI governance layer: provider connections
3
+ * (encrypted or env-managed keys), the normalized model catalog, per-feature
4
+ * toggles / routing / approval / daily caps, the monthly token budget, and the
5
+ * brand voice profile. Everything declared here is read by the governed
6
+ * runtime (`runtime.ts`) or the admin UI — fields that were once reserved for
7
+ * future phases were removed in Spec B rather than left as silent no-ops.
9
8
  */
10
9
  export {};
11
10
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/ai/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * AI usage aggregation.
3
3
  *
4
- * Until the dedicated per-run metering table lands (Phase 4), usage is derived
5
- * from token totals already recorded in `prenta_audit_logs` (`details
6
- * .totalTokensUsed` / `details.tokensUsed`). This returns REAL counts — it is 0
7
- * when nothing has run, never a fabricated number.
4
+ * Usage is derived from `prenta_audit_logs`: the governed runtime writes one
5
+ * `ai_usage` row per model call (`details.promptTokens` / `completionTokens` /
6
+ * `totalTokens`, `details.source === 'ai-runtime'`), and older handlers left
7
+ * `details.tokensUsed` / `details.totalTokensUsed`. Both shapes are summed.
8
+ * This returns REAL counts — it is 0 when nothing has run, never a fabricated
9
+ * number.
8
10
  */
9
11
  import type { AIUsageSummary } from './types.js';
10
12
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/ai/usage.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAgBhD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,OAAO,EACX,MAAM,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,GACpC,OAAO,CAAC,cAAc,CAAC,CAiDzB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB5F"}
1
+ {"version":3,"file":"usage.d.ts","sourceRoot":"","sources":["../../src/ai/usage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAgBhD;;;GAGG;AACH,wBAAsB,eAAe,CACnC,EAAE,EAAE,OAAO,EACX,MAAM,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,GACpC,OAAO,CAAC,cAAc,CAAC,CAiDzB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB5F"}
package/dist/ai/usage.js CHANGED
@@ -1,10 +1,12 @@
1
1
  /**
2
2
  * AI usage aggregation.
3
3
  *
4
- * Until the dedicated per-run metering table lands (Phase 4), usage is derived
5
- * from token totals already recorded in `prenta_audit_logs` (`details
6
- * .totalTokensUsed` / `details.tokensUsed`). This returns REAL counts — it is 0
7
- * when nothing has run, never a fabricated number.
4
+ * Usage is derived from `prenta_audit_logs`: the governed runtime writes one
5
+ * `ai_usage` row per model call (`details.promptTokens` / `completionTokens` /
6
+ * `totalTokens`, `details.source === 'ai-runtime'`), and older handlers left
7
+ * `details.tokensUsed` / `details.totalTokensUsed`. Both shapes are summed.
8
+ * This returns REAL counts — it is 0 when nothing has run, never a fabricated
9
+ * number.
8
10
  */
9
11
  import { getAIConfig } from './config-store.js';
10
12
  /** First instant of the current calendar month (UTC). */
@@ -1 +1 @@
1
- {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/ai/usage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage.js","sourceRoot":"","sources":["../../src/ai/usage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Vector math shared by the embedding-backed features (redirect re-ranking,
3
+ * internal-link ranking). A leaf so `ai/tasks/*` never imports from
4
+ * `redirects/*` for arithmetic.
5
+ */
6
+ /** Cosine similarity; returns 0 for mismatched dimensions or zero-norm vectors. */
7
+ export declare function cosineSimilarity(a: number[], b: number[]): number;
8
+ //# sourceMappingURL=vector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector.d.ts","sourceRoot":"","sources":["../../src/ai/vector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAcjE"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Vector math shared by the embedding-backed features (redirect re-ranking,
3
+ * internal-link ranking). A leaf so `ai/tasks/*` never imports from
4
+ * `redirects/*` for arithmetic.
5
+ */
6
+ /** Cosine similarity; returns 0 for mismatched dimensions or zero-norm vectors. */
7
+ export function cosineSimilarity(a, b) {
8
+ if (a.length !== b.length || a.length === 0)
9
+ return 0;
10
+ let dot = 0;
11
+ let normA = 0;
12
+ let normB = 0;
13
+ for (let i = 0; i < a.length; i++) {
14
+ const x = a[i] ?? 0;
15
+ const y = b[i] ?? 0;
16
+ dot += x * y;
17
+ normA += x * x;
18
+ normB += y * y;
19
+ }
20
+ if (normA === 0 || normB === 0)
21
+ return 0;
22
+ return dot / (Math.sqrt(normA) * Math.sqrt(normB));
23
+ }
24
+ //# sourceMappingURL=vector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vector.js","sourceRoot":"","sources":["../../src/ai/vector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,mFAAmF;AACnF,MAAM,UAAU,gBAAgB,CAAC,CAAW,EAAE,CAAW;IACvD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACrD,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACnB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QACnB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,CAAA;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC;IACD,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACxC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;AACpD,CAAC"}
@@ -1,3 +1,3 @@
1
1
  /** HTTP response helpers. Re-exported from `route-helpers.ts`. */
2
- export { json, jsonWithCache, errorResponse, internalError, actionError } from './route-helpers.js';
2
+ export { json, errorResponse, internalError } from './route-helpers.js';
3
3
  //# sourceMappingURL=responses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../src/api/responses.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"responses.d.ts","sourceRoot":"","sources":["../../src/api/responses.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA"}
@@ -1,3 +1,3 @@
1
1
  /** HTTP response helpers. Re-exported from `route-helpers.ts`. */
2
- export { json, jsonWithCache, errorResponse, internalError, actionError } from './route-helpers.js';
2
+ export { json, errorResponse, internalError } from './route-helpers.js';
3
3
  //# sourceMappingURL=responses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/api/responses.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA"}
1
+ {"version":3,"file":"responses.js","sourceRoot":"","sources":["../../src/api/responses.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA"}
@@ -3,9 +3,10 @@ import { type TeamOptions } from '../auth/team.js';
3
3
  import type { FetchFormEntriesParams, FetchFormsParams, FormDefinition } from '../forms/types.js';
4
4
  import { type IncomingFile } from '../forms/files.js';
5
5
  import { type ApiKeyScope } from '../security/api-key-enhanced.js';
6
+ import { SECURITY_HEADERS } from './security-headers.js';
6
7
  import type { PrentaDB } from '../db/client-types.js';
7
8
  export declare function importBlobStorage(): Promise<any>;
8
- export declare function importAIPlugin(): Promise<any>;
9
+ export { importAIPlugin } from '../ai/plugin-import.js';
9
10
  /**
10
11
  * Build the system/user prompt for an inline co-author action. Kept
11
12
  * deterministic and small so the governed runtime can route it to any
@@ -36,7 +37,7 @@ export declare function maybePopulate(request: Request, collection: string, doc:
36
37
  id?: string;
37
38
  role?: string;
38
39
  }): Promise<Record<string, unknown> | null>;
39
- export declare const SECURITY_HEADERS: Record<string, string>;
40
+ export { SECURITY_HEADERS };
40
41
  export declare function json(data: unknown, status?: number): Response;
41
42
  /**
42
43
  * Variant of `json()` that emits the Phase-5.5 public-read
@@ -82,13 +83,6 @@ export declare function readJsonBody(request: Request): Promise<{
82
83
  }>;
83
84
  export declare function mediaUrl(storageKey: unknown): string;
84
85
  export declare function normalizeMediaItem(media: any): any;
85
- /**
86
- * Build the admin editor route for a document that references a media asset.
87
- * Pages own the `/pages/*` namespace; post-type collections use
88
- * `/posts/:type/:id/edit`; everything else falls back to the generic
89
- * collection editor. Kept in sync with the route table in `AdminRoot.tsx`.
90
- */
91
- export declare function mediaUsageEditPath(collection: string, id: string): string;
92
86
  /**
93
87
  * Map the `MediaUsage` join rows (with their related document) into the
94
88
  * `{ page, path }[]` shape the admin drawer renders. Soft-deleted documents
@@ -98,7 +92,6 @@ export declare function buildMediaUsedOn(mediaUsages: unknown): {
98
92
  page: string;
99
93
  path: string;
100
94
  }[];
101
- export declare const MEDIA_TITLE_STOPWORDS: Set<string>;
102
95
  /**
103
96
  * Derive a concise, Title-Cased title from AI-generated alt text. The alt
104
97
  * text is already a model output describing the image, so the title stays
@@ -122,8 +115,6 @@ export declare function parseEntriesQuery(url: URL): FetchFormEntriesParams;
122
115
  * server-side origin check in the submit handler.
123
116
  */
124
117
  export declare function formCorsHeaders(request: Request, allowedDomains?: string[]): Record<string, string>;
125
- export declare function normalizeAllowedHost(domain: string): string;
126
- export declare function isOriginAllowed(origin: string, allowedDomains: string[]): boolean;
127
118
  export declare function jsonWithHeaders(data: unknown, status: number, extra: Record<string, string>): Response;
128
119
  /**
129
120
  * Parse a public submission request into field values, files, and metadata.
@@ -141,7 +132,6 @@ export declare function parseSubmissionRequest(request: Request): Promise<{
141
132
  captchaToken: string;
142
133
  };
143
134
  } | null>;
144
- export declare function safeJsonObject(value: unknown): Record<string, unknown> | null;
145
135
  /**
146
136
  * Shared public-submission handler used by both the slug-based public route and
147
137
  * the legacy by-id route. Enforces per-IP+form rate limiting, embed-origin
@@ -231,8 +221,6 @@ export declare function safeFindMany<T>(model: any, args: Record<string, unknown
231
221
  * does not cover.
232
222
  */
233
223
  export declare function isAllowedStorageUrl(url: string): boolean;
234
- /** Max image size (bytes) we'll pull into memory for vision analysis. */
235
- export declare const MAX_VISION_IMAGE_BYTES: number;
236
224
  /**
237
225
  * Fetch image bytes for multimodal (vision) analysis through {@link safeFetch}
238
226
  * (SSRF-safe: re-validates the host, DNS-resolves to defeat rebinding, no
@@ -243,7 +231,6 @@ export declare function fetchImageForVision(url: string, knownMimeType?: string)
243
231
  base64: string;
244
232
  mimeType: string;
245
233
  } | null>;
246
- export declare const ALLOWED_SORT_FIELDS: Set<string>;
247
234
  export declare function getSessionSecret(): string;
248
235
  export declare function isSecretMissing(): boolean;
249
236
  /**
@@ -309,8 +296,6 @@ export declare function requireRole(role: string, allowedRoles: Set<string>): Re
309
296
  * cap (config-provided; null = unlimited until billing exists).
310
297
  */
311
298
  export declare function teamOptionsFor(session: AuthSession): TeamOptions;
312
- /** Whether the configured email provider can actually send mail. */
313
- export declare function isEmailConfigured(): boolean;
314
299
  /**
315
300
  * DB-aware variant of {@link isEmailConfigured} — also true when a provider
316
301
  * is configured through Settings > Email.
@@ -323,7 +308,6 @@ export declare const loginEmailLimiter: import("../security/rate-limit.js").Rate
323
308
  export declare const inviteLimiter: import("../security/rate-limit.js").RateLimiter;
324
309
  export declare const totpLimiter: import("../security/rate-limit.js").RateLimiter;
325
310
  export declare const emailTestLimiter: import("../security/rate-limit.js").RateLimiter;
326
- export declare const formLimiterGlobal: import("../security/rate-limit.js").RateLimiter;
327
311
  export declare const aiGenerateLimiter: import("../security/rate-limit.js").RateLimiter;
328
312
  export declare const uploadLimiter: import("../security/rate-limit.js").RateLimiter;
329
313
  export declare const aiAnalysisLimiter: import("../security/rate-limit.js").RateLimiter;
@@ -355,7 +339,6 @@ export declare function diffScalarKeys(previous: Record<string, unknown>, next:
355
339
  from: unknown;
356
340
  to: unknown;
357
341
  }>;
358
- export declare const MAX_CONCURRENT_SESSIONS = 5;
359
342
  /**
360
343
  * After a successful primary-credential check, prune the user's active sessions
361
344
  * down to the configured concurrent maximum (default 5; configurable via
@@ -1 +1 @@
1
- {"version":3,"file":"route-helpers.d.ts","sourceRoot":"","sources":["../../src/api/route-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route-helpers.d.ts","sourceRoot":"","sources":["../../src/api/route-helpers.ts"],"names":[],"mappings":"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"}