@prenta/core 6.0.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (430) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/ai/brand-voice-analyze.d.ts +1 -4
  3. package/dist/ai/brand-voice-analyze.d.ts.map +1 -1
  4. package/dist/ai/brand-voice-analyze.js +1 -2
  5. package/dist/ai/brand-voice-analyze.js.map +1 -1
  6. package/dist/ai/brand-voice-sources.d.ts +0 -2
  7. package/dist/ai/brand-voice-sources.d.ts.map +1 -1
  8. package/dist/ai/brand-voice-sources.js +2 -2
  9. package/dist/ai/brand-voice-sources.js.map +1 -1
  10. package/dist/ai/brand-voice-structured.d.ts +6 -6
  11. package/dist/ai/brand-voice-structured.d.ts.map +1 -1
  12. package/dist/ai/catalog.d.ts +8 -0
  13. package/dist/ai/catalog.d.ts.map +1 -1
  14. package/dist/ai/catalog.js +22 -0
  15. package/dist/ai/catalog.js.map +1 -1
  16. package/dist/ai/config-store.d.ts +18 -4
  17. package/dist/ai/config-store.d.ts.map +1 -1
  18. package/dist/ai/config-store.js +115 -20
  19. package/dist/ai/config-store.js.map +1 -1
  20. package/dist/ai/content-writing-generate.d.ts +10 -8
  21. package/dist/ai/content-writing-generate.d.ts.map +1 -1
  22. package/dist/ai/content-writing-generate.js +24 -56
  23. package/dist/ai/content-writing-generate.js.map +1 -1
  24. package/dist/ai/embeddings.d.ts +28 -0
  25. package/dist/ai/embeddings.d.ts.map +1 -0
  26. package/dist/ai/embeddings.js +36 -0
  27. package/dist/ai/embeddings.js.map +1 -0
  28. package/dist/ai/feature-defaults.d.ts +3 -3
  29. package/dist/ai/feature-defaults.d.ts.map +1 -1
  30. package/dist/ai/feature-defaults.js +24 -14
  31. package/dist/ai/feature-defaults.js.map +1 -1
  32. package/dist/ai/index.d.ts +15 -16
  33. package/dist/ai/index.d.ts.map +1 -1
  34. package/dist/ai/index.js +14 -15
  35. package/dist/ai/index.js.map +1 -1
  36. package/dist/ai/models.d.ts +7 -3
  37. package/dist/ai/models.d.ts.map +1 -1
  38. package/dist/ai/models.js +10 -5
  39. package/dist/ai/models.js.map +1 -1
  40. package/dist/ai/plugin-errors.d.ts +9 -3
  41. package/dist/ai/plugin-errors.d.ts.map +1 -1
  42. package/dist/ai/plugin-errors.js +9 -3
  43. package/dist/ai/plugin-errors.js.map +1 -1
  44. package/dist/ai/plugin-import.d.ts +9 -1
  45. package/dist/ai/plugin-import.d.ts.map +1 -1
  46. package/dist/ai/plugin-import.js +9 -1
  47. package/dist/ai/plugin-import.js.map +1 -1
  48. package/dist/ai/prompt-safety.d.ts +23 -0
  49. package/dist/ai/prompt-safety.d.ts.map +1 -0
  50. package/dist/ai/prompt-safety.js +34 -0
  51. package/dist/ai/prompt-safety.js.map +1 -0
  52. package/dist/ai/providers/anthropic.d.ts.map +1 -1
  53. package/dist/ai/providers/anthropic.js +16 -1
  54. package/dist/ai/providers/anthropic.js.map +1 -1
  55. package/dist/ai/providers/http.d.ts +7 -2
  56. package/dist/ai/providers/http.d.ts.map +1 -1
  57. package/dist/ai/providers/http.js +13 -2
  58. package/dist/ai/providers/http.js.map +1 -1
  59. package/dist/ai/providers/index.d.ts +0 -7
  60. package/dist/ai/providers/index.d.ts.map +1 -1
  61. package/dist/ai/providers/index.js +1 -1
  62. package/dist/ai/providers/index.js.map +1 -1
  63. package/dist/ai/resolve.d.ts +7 -1
  64. package/dist/ai/resolve.d.ts.map +1 -1
  65. package/dist/ai/resolve.js +36 -3
  66. package/dist/ai/resolve.js.map +1 -1
  67. package/dist/ai/runtime-response.d.ts +27 -0
  68. package/dist/ai/runtime-response.d.ts.map +1 -0
  69. package/dist/ai/runtime-response.js +75 -0
  70. package/dist/ai/runtime-response.js.map +1 -0
  71. package/dist/ai/runtime.d.ts +9 -7
  72. package/dist/ai/runtime.d.ts.map +1 -1
  73. package/dist/ai/runtime.js +14 -19
  74. package/dist/ai/runtime.js.map +1 -1
  75. package/dist/ai/tasks/alt-text.d.ts +82 -0
  76. package/dist/ai/tasks/alt-text.d.ts.map +1 -0
  77. package/dist/ai/tasks/alt-text.js +171 -0
  78. package/dist/ai/tasks/alt-text.js.map +1 -0
  79. package/dist/ai/tasks/document-generation.d.ts +102 -0
  80. package/dist/ai/tasks/document-generation.d.ts.map +1 -0
  81. package/dist/ai/tasks/document-generation.js +321 -0
  82. package/dist/ai/tasks/document-generation.js.map +1 -0
  83. package/dist/ai/tasks/link-embeddings.d.ts +55 -0
  84. package/dist/ai/tasks/link-embeddings.d.ts.map +1 -0
  85. package/dist/ai/tasks/link-embeddings.js +160 -0
  86. package/dist/ai/tasks/link-embeddings.js.map +1 -0
  87. package/dist/ai/types.d.ts +15 -19
  88. package/dist/ai/types.d.ts.map +1 -1
  89. package/dist/ai/types.js +6 -7
  90. package/dist/ai/types.js.map +1 -1
  91. package/dist/ai/usage.d.ts +6 -4
  92. package/dist/ai/usage.d.ts.map +1 -1
  93. package/dist/ai/usage.js +6 -4
  94. package/dist/ai/usage.js.map +1 -1
  95. package/dist/ai/vector.d.ts +8 -0
  96. package/dist/ai/vector.d.ts.map +1 -0
  97. package/dist/ai/vector.js +24 -0
  98. package/dist/ai/vector.js.map +1 -0
  99. package/dist/api/responses.d.ts +1 -1
  100. package/dist/api/responses.d.ts.map +1 -1
  101. package/dist/api/responses.js +1 -1
  102. package/dist/api/responses.js.map +1 -1
  103. package/dist/api/route-helpers.d.ts +2 -19
  104. package/dist/api/route-helpers.d.ts.map +1 -1
  105. package/dist/api/route-helpers.js +11 -22
  106. package/dist/api/route-helpers.js.map +1 -1
  107. package/dist/api/routes/ai-authoring.d.ts.map +1 -1
  108. package/dist/api/routes/ai-authoring.js +132 -144
  109. package/dist/api/routes/ai-authoring.js.map +1 -1
  110. package/dist/api/routes/ai-seo.d.ts.map +1 -1
  111. package/dist/api/routes/ai-seo.js +44 -120
  112. package/dist/api/routes/ai-seo.js.map +1 -1
  113. package/dist/api/routes/ai-settings.d.ts.map +1 -1
  114. package/dist/api/routes/ai-settings.js +76 -28
  115. package/dist/api/routes/ai-settings.js.map +1 -1
  116. package/dist/api/routes/security-center.d.ts.map +1 -1
  117. package/dist/api/routes/security-center.js +5 -39
  118. package/dist/api/routes/security-center.js.map +1 -1
  119. package/dist/api/routes/seo-public.d.ts +0 -5
  120. package/dist/api/routes/seo-public.d.ts.map +1 -1
  121. package/dist/api/routes/seo-public.js +1 -1
  122. package/dist/api/routes/seo-public.js.map +1 -1
  123. package/dist/api/routes/seo.d.ts.map +1 -1
  124. package/dist/api/routes/seo.js +11 -10
  125. package/dist/api/routes/seo.js.map +1 -1
  126. package/dist/api/security-headers.d.ts +8 -0
  127. package/dist/api/security-headers.d.ts.map +1 -0
  128. package/dist/api/security-headers.js +13 -0
  129. package/dist/api/security-headers.js.map +1 -0
  130. package/dist/appearance/favicon-icon.d.ts +1 -1
  131. package/dist/appearance/favicon-icon.d.ts.map +1 -1
  132. package/dist/appearance/favicon-icon.js +1 -1
  133. package/dist/appearance/favicon-icon.js.map +1 -1
  134. package/dist/auth/index.d.ts +0 -6
  135. package/dist/auth/index.d.ts.map +1 -1
  136. package/dist/auth/index.js +0 -3
  137. package/dist/auth/index.js.map +1 -1
  138. package/dist/auth/invites.d.ts +0 -5
  139. package/dist/auth/invites.d.ts.map +1 -1
  140. package/dist/auth/invites.js +3 -3
  141. package/dist/auth/invites.js.map +1 -1
  142. package/dist/auth/team.d.ts +4 -3
  143. package/dist/auth/team.d.ts.map +1 -1
  144. package/dist/auth/user-admin.d.ts +2 -1
  145. package/dist/auth/user-admin.d.ts.map +1 -1
  146. package/dist/billing/stripe-meter.d.ts +2 -1
  147. package/dist/billing/stripe-meter.d.ts.map +1 -1
  148. package/dist/cache/http.d.ts +0 -11
  149. package/dist/cache/http.d.ts.map +1 -1
  150. package/dist/cache/http.js +1 -1
  151. package/dist/cache/http.js.map +1 -1
  152. package/dist/cache/index.d.ts +0 -5
  153. package/dist/cache/index.d.ts.map +1 -1
  154. package/dist/config/types.d.ts +19 -19
  155. package/dist/config/types.d.ts.map +1 -1
  156. package/dist/content/index.d.ts +2 -3
  157. package/dist/content/index.d.ts.map +1 -1
  158. package/dist/content/index.js +1 -2
  159. package/dist/content/index.js.map +1 -1
  160. package/dist/content/structured-data.d.ts +0 -14
  161. package/dist/content/structured-data.d.ts.map +1 -1
  162. package/dist/content/structured-data.js +3 -14
  163. package/dist/content/structured-data.js.map +1 -1
  164. package/dist/cron/index.d.ts +2 -3
  165. package/dist/cron/index.d.ts.map +1 -1
  166. package/dist/cron/index.js +0 -2
  167. package/dist/cron/index.js.map +1 -1
  168. package/dist/db/client-types.d.ts +2 -1
  169. package/dist/db/client-types.d.ts.map +1 -1
  170. package/dist/db.d.ts +0 -2
  171. package/dist/db.d.ts.map +1 -1
  172. package/dist/db.js +0 -1
  173. package/dist/db.js.map +1 -1
  174. package/dist/diagnostics/env.d.ts +1 -1
  175. package/dist/diagnostics/env.d.ts.map +1 -1
  176. package/dist/diagnostics/logger.d.ts +0 -24
  177. package/dist/diagnostics/logger.d.ts.map +1 -1
  178. package/dist/forms/entries.d.ts +0 -7
  179. package/dist/forms/entries.d.ts.map +1 -1
  180. package/dist/forms/entries.js +1 -19
  181. package/dist/forms/entries.js.map +1 -1
  182. package/dist/forms/files.d.ts +1 -1
  183. package/dist/forms/files.d.ts.map +1 -1
  184. package/dist/forms/index.d.ts +4 -6
  185. package/dist/forms/index.d.ts.map +1 -1
  186. package/dist/forms/index.js +3 -5
  187. package/dist/forms/index.js.map +1 -1
  188. package/dist/forms/prefetch.d.ts +0 -6
  189. package/dist/forms/prefetch.d.ts.map +1 -1
  190. package/dist/forms/service.d.ts +0 -4
  191. package/dist/forms/service.d.ts.map +1 -1
  192. package/dist/forms/service.js +2 -8
  193. package/dist/forms/service.js.map +1 -1
  194. package/dist/forms/webmcp.d.ts +0 -2
  195. package/dist/forms/webmcp.d.ts.map +1 -1
  196. package/dist/forms/webmcp.js +1 -1
  197. package/dist/forms/webmcp.js.map +1 -1
  198. package/dist/media/denormalize.d.ts +0 -7
  199. package/dist/media/denormalize.d.ts.map +1 -1
  200. package/dist/media/index.d.ts +0 -8
  201. package/dist/media/index.d.ts.map +1 -1
  202. package/dist/media/index.js +0 -5
  203. package/dist/media/index.js.map +1 -1
  204. package/dist/media/optimize.d.ts +0 -4
  205. package/dist/media/optimize.d.ts.map +1 -1
  206. package/dist/media/optimize.js +4 -4
  207. package/dist/media/optimize.js.map +1 -1
  208. package/dist/media/reoptimize.d.ts +2 -3
  209. package/dist/media/reoptimize.d.ts.map +1 -1
  210. package/dist/media/reoptimize.js +2 -2
  211. package/dist/media/reoptimize.js.map +1 -1
  212. package/dist/media/seo.d.ts +3 -8
  213. package/dist/media/seo.d.ts.map +1 -1
  214. package/dist/media/seo.js +1 -1
  215. package/dist/media/seo.js.map +1 -1
  216. package/dist/plan/features.d.ts +0 -1
  217. package/dist/plan/features.d.ts.map +1 -1
  218. package/dist/plan/features.js +0 -16
  219. package/dist/plan/features.js.map +1 -1
  220. package/dist/preview/event-bus.d.ts +2 -1
  221. package/dist/preview/event-bus.d.ts.map +1 -1
  222. package/dist/preview/index.d.ts +2 -1
  223. package/dist/preview/index.d.ts.map +1 -1
  224. package/dist/preview/sse-stream.d.ts +0 -13
  225. package/dist/preview/sse-stream.d.ts.map +1 -1
  226. package/dist/preview/sse-stream.js +2 -2
  227. package/dist/preview/sse-stream.js.map +1 -1
  228. package/dist/realtime/notifications.d.ts +4 -3
  229. package/dist/realtime/notifications.d.ts.map +1 -1
  230. package/dist/redirects/index.d.ts +4 -16
  231. package/dist/redirects/index.d.ts.map +1 -1
  232. package/dist/redirects/index.js +2 -9
  233. package/dist/redirects/index.js.map +1 -1
  234. package/dist/redirects/match.d.ts +0 -2
  235. package/dist/redirects/match.d.ts.map +1 -1
  236. package/dist/redirects/match.js +1 -1
  237. package/dist/redirects/match.js.map +1 -1
  238. package/dist/redirects/recovery.d.ts +0 -2
  239. package/dist/redirects/recovery.d.ts.map +1 -1
  240. package/dist/redirects/recovery.js +1 -1
  241. package/dist/redirects/recovery.js.map +1 -1
  242. package/dist/redirects/rerank.d.ts +4 -3
  243. package/dist/redirects/rerank.d.ts.map +1 -1
  244. package/dist/redirects/rerank.js +3 -18
  245. package/dist/redirects/rerank.js.map +1 -1
  246. package/dist/sections/validate.d.ts +0 -2
  247. package/dist/sections/validate.d.ts.map +1 -1
  248. package/dist/sections/validate.js +1 -1
  249. package/dist/sections/validate.js.map +1 -1
  250. package/dist/security/access.d.ts +0 -9
  251. package/dist/security/access.d.ts.map +1 -1
  252. package/dist/security/access.js +1 -1
  253. package/dist/security/access.js.map +1 -1
  254. package/dist/security/audit.d.ts +0 -20
  255. package/dist/security/audit.d.ts.map +1 -1
  256. package/dist/security/audit.js.map +1 -1
  257. package/dist/security/index.d.ts +2 -20
  258. package/dist/security/index.d.ts.map +1 -1
  259. package/dist/security/index.js +2 -7
  260. package/dist/security/index.js.map +1 -1
  261. package/dist/security/internal-keys.d.ts +0 -10
  262. package/dist/security/internal-keys.d.ts.map +1 -1
  263. package/dist/security/internal-keys.js +2 -2
  264. package/dist/security/internal-keys.js.map +1 -1
  265. package/dist/security/rate-limit-policy.d.ts +0 -2
  266. package/dist/security/rate-limit-policy.d.ts.map +1 -1
  267. package/dist/security/rate-limit-policy.js +1 -1
  268. package/dist/security/rate-limit-policy.js.map +1 -1
  269. package/dist/security/rate-limit.d.ts +2 -5
  270. package/dist/security/rate-limit.d.ts.map +1 -1
  271. package/dist/security/rate-limit.js +2 -2
  272. package/dist/security/rate-limit.js.map +1 -1
  273. package/dist/security/sanitize.d.ts +0 -3
  274. package/dist/security/sanitize.d.ts.map +1 -1
  275. package/dist/security/sanitize.js +0 -1
  276. package/dist/security/sanitize.js.map +1 -1
  277. package/dist/security/upload.d.ts +0 -3
  278. package/dist/security/upload.d.ts.map +1 -1
  279. package/dist/security/upload.js +0 -1
  280. package/dist/security/upload.js.map +1 -1
  281. package/dist/seo/ai-crawler-log.d.ts +0 -2
  282. package/dist/seo/ai-crawler-log.d.ts.map +1 -1
  283. package/dist/seo/ai-crawler-log.js +1 -1
  284. package/dist/seo/ai-crawler-log.js.map +1 -1
  285. package/dist/seo/audit-engine.d.ts +5 -5
  286. package/dist/seo/audit-engine.d.ts.map +1 -1
  287. package/dist/seo/audit-engine.js +1 -2
  288. package/dist/seo/audit-engine.js.map +1 -1
  289. package/dist/seo/audit-runner.d.ts +0 -7
  290. package/dist/seo/audit-runner.d.ts.map +1 -1
  291. package/dist/seo/audit-runner.js +1 -1
  292. package/dist/seo/audit-runner.js.map +1 -1
  293. package/dist/seo/audit-signals.d.ts +0 -2
  294. package/dist/seo/audit-signals.d.ts.map +1 -1
  295. package/dist/seo/audit-signals.js +1 -1
  296. package/dist/seo/audit-signals.js.map +1 -1
  297. package/dist/seo/autopilot-gate.d.ts +0 -1
  298. package/dist/seo/autopilot-gate.d.ts.map +1 -1
  299. package/dist/seo/autopilot-gate.js +1 -1
  300. package/dist/seo/autopilot-gate.js.map +1 -1
  301. package/dist/seo/autopilot-ledger.d.ts +2 -1
  302. package/dist/seo/autopilot-ledger.d.ts.map +1 -1
  303. package/dist/seo/autopilot-outcome.d.ts +0 -2
  304. package/dist/seo/autopilot-outcome.d.ts.map +1 -1
  305. package/dist/seo/autopilot-outcome.js +1 -1
  306. package/dist/seo/autopilot-outcome.js.map +1 -1
  307. package/dist/seo/autopilot-policy.d.ts +3 -38
  308. package/dist/seo/autopilot-policy.d.ts.map +1 -1
  309. package/dist/seo/autopilot-policy.js +3 -3
  310. package/dist/seo/autopilot-policy.js.map +1 -1
  311. package/dist/seo/autopilot.d.ts +4 -12
  312. package/dist/seo/autopilot.d.ts.map +1 -1
  313. package/dist/seo/autopilot.js +3 -3
  314. package/dist/seo/autopilot.js.map +1 -1
  315. package/dist/seo/config-store.d.ts +0 -2
  316. package/dist/seo/config-store.d.ts.map +1 -1
  317. package/dist/seo/config-store.js +1 -1
  318. package/dist/seo/config-store.js.map +1 -1
  319. package/dist/seo/digest.d.ts +8 -7
  320. package/dist/seo/digest.d.ts.map +1 -1
  321. package/dist/seo/faq-signals.d.ts +0 -4
  322. package/dist/seo/faq-signals.d.ts.map +1 -1
  323. package/dist/seo/faq-signals.js +4 -4
  324. package/dist/seo/faq-signals.js.map +1 -1
  325. package/dist/seo/fix-brief-export.d.ts +0 -2
  326. package/dist/seo/fix-brief-export.d.ts.map +1 -1
  327. package/dist/seo/fix-brief-export.js +1 -1
  328. package/dist/seo/fix-brief-export.js.map +1 -1
  329. package/dist/seo/geo-record.d.ts +0 -4
  330. package/dist/seo/geo-record.d.ts.map +1 -1
  331. package/dist/seo/geo-record.js +2 -2
  332. package/dist/seo/geo-record.js.map +1 -1
  333. package/dist/seo/geo-report.d.ts +4 -3
  334. package/dist/seo/geo-report.d.ts.map +1 -1
  335. package/dist/seo/geo-report.js +1 -1
  336. package/dist/seo/geo-report.js.map +1 -1
  337. package/dist/seo/index-status.d.ts +6 -5
  338. package/dist/seo/index-status.d.ts.map +1 -1
  339. package/dist/seo/index-status.js.map +1 -1
  340. package/dist/seo/index.d.ts +15 -90
  341. package/dist/seo/index.d.ts.map +1 -1
  342. package/dist/seo/index.js +10 -49
  343. package/dist/seo/index.js.map +1 -1
  344. package/dist/seo/issue-batch-briefs.d.ts +2 -3
  345. package/dist/seo/issue-batch-briefs.d.ts.map +1 -1
  346. package/dist/seo/issue-batch-briefs.js +2 -2
  347. package/dist/seo/issue-batch-briefs.js.map +1 -1
  348. package/dist/seo/issue-content-brief.d.ts +2 -1
  349. package/dist/seo/issue-content-brief.d.ts.map +1 -1
  350. package/dist/seo/issue-content-research.d.ts +2 -2
  351. package/dist/seo/issue-content-research.d.ts.map +1 -1
  352. package/dist/seo/issue-content-research.js +1 -1
  353. package/dist/seo/issue-content-research.js.map +1 -1
  354. package/dist/seo/issue-fix-ai.d.ts +5 -4
  355. package/dist/seo/issue-fix-ai.d.ts.map +1 -1
  356. package/dist/seo/issue-fix-ai.js +4 -19
  357. package/dist/seo/issue-fix-ai.js.map +1 -1
  358. package/dist/seo/issue-fix-apply.d.ts +2 -11
  359. package/dist/seo/issue-fix-apply.d.ts.map +1 -1
  360. package/dist/seo/issue-fix-apply.js +4 -4
  361. package/dist/seo/issue-fix-apply.js.map +1 -1
  362. package/dist/seo/issue-fix-faq.d.ts +4 -7
  363. package/dist/seo/issue-fix-faq.d.ts.map +1 -1
  364. package/dist/seo/issue-fix-faq.js +4 -4
  365. package/dist/seo/issue-fix-faq.js.map +1 -1
  366. package/dist/seo/issue-fix-link-insert.d.ts +4 -14
  367. package/dist/seo/issue-fix-link-insert.d.ts.map +1 -1
  368. package/dist/seo/issue-fix-link-insert.js +5 -4
  369. package/dist/seo/issue-fix-link-insert.js.map +1 -1
  370. package/dist/seo/issue-fix-redirect.d.ts +0 -1
  371. package/dist/seo/issue-fix-redirect.d.ts.map +1 -1
  372. package/dist/seo/issue-fix.d.ts.map +1 -1
  373. package/dist/seo/issue-fix.js +1 -0
  374. package/dist/seo/issue-fix.js.map +1 -1
  375. package/dist/seo/link-graph.d.ts +2 -3
  376. package/dist/seo/link-graph.d.ts.map +1 -1
  377. package/dist/seo/link-graph.js +0 -0
  378. package/dist/seo/link-graph.js.map +1 -1
  379. package/dist/seo/link-suggest.d.ts +8 -2
  380. package/dist/seo/link-suggest.d.ts.map +1 -1
  381. package/dist/seo/link-suggest.js +38 -50
  382. package/dist/seo/link-suggest.js.map +1 -1
  383. package/dist/seo/page-meta.d.ts +1 -10
  384. package/dist/seo/page-meta.d.ts.map +1 -1
  385. package/dist/seo/page-meta.js +1 -1
  386. package/dist/seo/page-meta.js.map +1 -1
  387. package/dist/seo/proposals-bulk-apply.d.ts +3 -2
  388. package/dist/seo/proposals-bulk-apply.d.ts.map +1 -1
  389. package/dist/seo/proposals.d.ts +2 -2
  390. package/dist/seo/proposals.d.ts.map +1 -1
  391. package/dist/seo/rendered-fetch.d.ts +2 -1
  392. package/dist/seo/rendered-fetch.d.ts.map +1 -1
  393. package/dist/seo/score.d.ts +3 -7
  394. package/dist/seo/score.d.ts.map +1 -1
  395. package/dist/seo/score.js.map +1 -1
  396. package/dist/seo/search-console/client.d.ts +0 -4
  397. package/dist/seo/search-console/client.d.ts.map +1 -1
  398. package/dist/seo/search-console/client.js +2 -2
  399. package/dist/seo/search-console/client.js.map +1 -1
  400. package/dist/seo/search-console/sync.d.ts +0 -4
  401. package/dist/seo/search-console/sync.d.ts.map +1 -1
  402. package/dist/seo/search-console/sync.js +2 -2
  403. package/dist/seo/search-console/sync.js.map +1 -1
  404. package/dist/seo/search-console/types.d.ts +2 -1
  405. package/dist/seo/search-console/types.d.ts.map +1 -1
  406. package/dist/seo/sitemap-notify.d.ts +0 -8
  407. package/dist/seo/sitemap-notify.d.ts.map +1 -1
  408. package/dist/seo/sitemap-notify.js +1 -1
  409. package/dist/seo/sitemap-notify.js.map +1 -1
  410. package/dist/seo/title-templates.d.ts +2 -5
  411. package/dist/seo/title-templates.d.ts.map +1 -1
  412. package/dist/seo/title-templates.js +2 -2
  413. package/dist/seo/title-templates.js.map +1 -1
  414. package/dist/server-site.d.ts +0 -1
  415. package/dist/server-site.d.ts.map +1 -1
  416. package/dist/server-site.js +0 -1
  417. package/dist/server-site.js.map +1 -1
  418. package/dist/storage/index.d.ts +0 -2
  419. package/dist/storage/index.d.ts.map +1 -1
  420. package/dist/storage/index.js +0 -4
  421. package/dist/storage/index.js.map +1 -1
  422. package/dist/upgrade/version-check.d.ts +0 -2
  423. package/dist/upgrade/version-check.d.ts.map +1 -1
  424. package/dist/upgrade/version-check.js +1 -1
  425. package/dist/upgrade/version-check.js.map +1 -1
  426. package/dist/webhooks/index.d.ts +0 -8
  427. package/dist/webhooks/index.d.ts.map +1 -1
  428. package/dist/webhooks/index.js +1 -16
  429. package/dist/webhooks/index.js.map +1 -1
  430. package/package.json +1 -1
@@ -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":"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"}
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,6 +3,7 @@ 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
9
  export { importAIPlugin } from '../ai/plugin-import.js';
@@ -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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"}
@@ -25,6 +25,7 @@ import { verifyReauth } from '../security/reauth.js';
25
25
  import { getPrentaConfig } from '../config/runtime.js';
26
26
  import { hashApiKey, looksLikeApiKey, validateApiKeyScope, validateApiKeyGlobalScope, validateApiKeyMediaScope, validateApiKeyIp, } from '../security/api-key-enhanced.js';
27
27
  import { guardedDb, ModelNotAvailableError } from './guarded-db.js';
28
+ import { SECURITY_HEADERS } from './security-headers.js';
28
29
  // Opaque dynamic import so Turbopack/webpack won't statically analyze the specifier.
29
30
  // Returns { put, del, ... } from @vercel/blob when available.
30
31
  export async function importBlobStorage() {
@@ -126,12 +127,7 @@ export async function maybePopulate(request, collection, doc, dbInstance, viewer
126
127
  return doc;
127
128
  }
128
129
  }
129
- export const SECURITY_HEADERS = {
130
- 'Content-Type': 'application/json',
131
- 'X-Content-Type-Options': 'nosniff',
132
- 'X-Frame-Options': 'DENY',
133
- 'Referrer-Policy': 'strict-origin-when-cross-origin',
134
- };
130
+ export { SECURITY_HEADERS };
135
131
  const logger = createLogger('api');
136
132
  export function json(data, status = 200) {
137
133
  return new Response(JSON.stringify(data), {
@@ -316,7 +312,7 @@ export function normalizeMediaItem(media) {
316
312
  * `/posts/:type/:id/edit`; everything else falls back to the generic
317
313
  * collection editor. Kept in sync with the route table in `AdminRoot.tsx`.
318
314
  */
319
- export function mediaUsageEditPath(collection, id) {
315
+ function mediaUsageEditPath(collection, id) {
320
316
  if (collection === 'pages')
321
317
  return `/pages/${id}/edit`;
322
318
  const def = getPrentaConfig()?.collections?.[collection];
@@ -346,7 +342,7 @@ export function buildMediaUsedOn(mediaUsages) {
346
342
  }
347
343
  return out;
348
344
  }
349
- export const MEDIA_TITLE_STOPWORDS = new Set([
345
+ const MEDIA_TITLE_STOPWORDS = new Set([
350
346
  'a',
351
347
  'an',
352
348
  'the',
@@ -501,7 +497,7 @@ export function formCorsHeaders(request, allowedDomains) {
501
497
  }
502
498
  return headers;
503
499
  }
504
- export function normalizeAllowedHost(domain) {
500
+ function normalizeAllowedHost(domain) {
505
501
  return domain
506
502
  .trim()
507
503
  .toLowerCase()
@@ -509,7 +505,7 @@ export function normalizeAllowedHost(domain) {
509
505
  .replace(/\/.*$/, '')
510
506
  .replace(/^\*\./, '');
511
507
  }
512
- export function isOriginAllowed(origin, allowedDomains) {
508
+ function isOriginAllowed(origin, allowedDomains) {
513
509
  let host;
514
510
  try {
515
511
  host = new URL(origin).hostname.toLowerCase();
@@ -630,7 +626,7 @@ function parseFlatSubmissionEntries(entries) {
630
626
  return { values, files, meta: { attribution, elapsedMs, pageUrl, captchaToken } };
631
627
  })();
632
628
  }
633
- export function safeJsonObject(value) {
629
+ function safeJsonObject(value) {
634
630
  if (value && typeof value === 'object' && !Array.isArray(value)) {
635
631
  return value;
636
632
  }
@@ -1078,7 +1074,7 @@ export function isAllowedStorageUrl(url) {
1078
1074
  }
1079
1075
  }
1080
1076
  /** Max image size (bytes) we'll pull into memory for vision analysis. */
1081
- export const MAX_VISION_IMAGE_BYTES = 8 * 1024 * 1024;
1077
+ const MAX_VISION_IMAGE_BYTES = 8 * 1024 * 1024;
1082
1078
  /**
1083
1079
  * Fetch image bytes for multimodal (vision) analysis through {@link safeFetch}
1084
1080
  * (SSRF-safe: re-validates the host, DNS-resolves to defeat rebinding, no
@@ -1105,13 +1101,6 @@ export async function fetchImageForVision(url, knownMimeType) {
1105
1101
  return null;
1106
1102
  }
1107
1103
  }
1108
- export const ALLOWED_SORT_FIELDS = new Set([
1109
- 'createdAt',
1110
- 'updatedAt',
1111
- 'publishedAt',
1112
- 'status',
1113
- 'collection',
1114
- ]);
1115
1104
  let _secretMissing = false;
1116
1105
  let _secretWarningLogged = false;
1117
1106
  export function getSessionSecret() {
@@ -1381,7 +1370,7 @@ export function teamOptionsFor(session) {
1381
1370
  };
1382
1371
  }
1383
1372
  /** Whether the configured email provider can actually send mail. */
1384
- export function isEmailConfigured() {
1373
+ function isEmailConfigured() {
1385
1374
  const cfg = getPrentaConfig();
1386
1375
  if (cfg?.platform?.email)
1387
1376
  return true;
@@ -1430,7 +1419,7 @@ export const totpLimiter = createRateLimiter({
1430
1419
  // Admin-gated test sends from Settings > Email — enough to debug a provider
1431
1420
  // setup, low enough that a compromised admin session can't spray mail.
1432
1421
  export const emailTestLimiter = createRateLimiter({ maxRequests: 10, windowMs: 60 * 60 * 1000 });
1433
- export const formLimiterGlobal = createRateLimiter({ maxRequests: 10, windowMs: 60_000 });
1422
+ const formLimiterGlobal = createRateLimiter({ maxRequests: 10, windowMs: 60_000 });
1434
1423
  export const aiGenerateLimiter = createRateLimiter({
1435
1424
  maxRequests: 20,
1436
1425
  windowMs: 60 * 60 * 1000,
@@ -1517,7 +1506,7 @@ export function diffScalarKeys(previous, next) {
1517
1506
  }
1518
1507
  return changes;
1519
1508
  }
1520
- export const MAX_CONCURRENT_SESSIONS = 5;
1509
+ const MAX_CONCURRENT_SESSIONS = 5;
1521
1510
  /**
1522
1511
  * After a successful primary-credential check, prune the user's active sessions
1523
1512
  * down to the configured concurrent maximum (default 5; configurable via