@prenta/core 8.9.2 → 8.11.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 (294) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/dist/actions.d.ts +25 -0
  3. package/dist/actions.d.ts.map +1 -1
  4. package/dist/actions.js +51 -4
  5. package/dist/actions.js.map +1 -1
  6. package/dist/ai/batch-links.d.ts +105 -0
  7. package/dist/ai/batch-links.d.ts.map +1 -0
  8. package/dist/ai/batch-links.js +667 -0
  9. package/dist/ai/batch-links.js.map +1 -0
  10. package/dist/ai/batch-list.d.ts +127 -4
  11. package/dist/ai/batch-list.d.ts.map +1 -1
  12. package/dist/ai/batch-list.js +250 -14
  13. package/dist/ai/batch-list.js.map +1 -1
  14. package/dist/ai/providers/http.d.ts +4 -0
  15. package/dist/ai/providers/http.d.ts.map +1 -1
  16. package/dist/ai/providers/http.js +9 -8
  17. package/dist/ai/providers/http.js.map +1 -1
  18. package/dist/ai/tasks/editor-text.d.ts +39 -0
  19. package/dist/ai/tasks/editor-text.d.ts.map +1 -0
  20. package/dist/ai/tasks/editor-text.js +45 -0
  21. package/dist/ai/tasks/editor-text.js.map +1 -0
  22. package/dist/ai/tasks/link-embeddings.d.ts +22 -0
  23. package/dist/ai/tasks/link-embeddings.d.ts.map +1 -1
  24. package/dist/ai/tasks/link-embeddings.js +24 -10
  25. package/dist/ai/tasks/link-embeddings.js.map +1 -1
  26. package/dist/ai/usage.d.ts +7 -0
  27. package/dist/ai/usage.d.ts.map +1 -1
  28. package/dist/ai/usage.js +11 -0
  29. package/dist/ai/usage.js.map +1 -1
  30. package/dist/api/guarded-db.d.ts +6 -0
  31. package/dist/api/guarded-db.d.ts.map +1 -1
  32. package/dist/api/guarded-db.js +13 -1
  33. package/dist/api/guarded-db.js.map +1 -1
  34. package/dist/api/handlers.d.ts.map +1 -1
  35. package/dist/api/handlers.js +2 -0
  36. package/dist/api/handlers.js.map +1 -1
  37. package/dist/api/openapi.d.ts.map +1 -1
  38. package/dist/api/openapi.js +103 -0
  39. package/dist/api/openapi.js.map +1 -1
  40. package/dist/api/route-helpers/forms.d.ts.map +1 -1
  41. package/dist/api/route-helpers/forms.js +7 -1
  42. package/dist/api/route-helpers/forms.js.map +1 -1
  43. package/dist/api/routes/ai-authoring.d.ts.map +1 -1
  44. package/dist/api/routes/ai-authoring.js +1 -0
  45. package/dist/api/routes/ai-authoring.js.map +1 -1
  46. package/dist/api/routes/ai-seo.d.ts.map +1 -1
  47. package/dist/api/routes/ai-seo.js +20 -18
  48. package/dist/api/routes/ai-seo.js.map +1 -1
  49. package/dist/api/routes/media.d.ts.map +1 -1
  50. package/dist/api/routes/media.js +3 -1
  51. package/dist/api/routes/media.js.map +1 -1
  52. package/dist/api/routes/scheduling.d.ts.map +1 -1
  53. package/dist/api/routes/scheduling.js +33 -2
  54. package/dist/api/routes/scheduling.js.map +1 -1
  55. package/dist/appearance/color.d.ts +17 -0
  56. package/dist/appearance/color.d.ts.map +1 -1
  57. package/dist/appearance/color.js +162 -1
  58. package/dist/appearance/color.js.map +1 -1
  59. package/dist/appearance/index.d.ts +3 -3
  60. package/dist/appearance/index.d.ts.map +1 -1
  61. package/dist/appearance/index.js +2 -2
  62. package/dist/appearance/index.js.map +1 -1
  63. package/dist/appearance/resolve.d.ts.map +1 -1
  64. package/dist/appearance/resolve.js +4 -2
  65. package/dist/appearance/resolve.js.map +1 -1
  66. package/dist/appearance/theme-tokens.d.ts +60 -11
  67. package/dist/appearance/theme-tokens.d.ts.map +1 -1
  68. package/dist/appearance/theme-tokens.js +184 -175
  69. package/dist/appearance/theme-tokens.js.map +1 -1
  70. package/dist/appearance/types.d.ts +16 -2
  71. package/dist/appearance/types.d.ts.map +1 -1
  72. package/dist/astro-site.d.ts +1 -11
  73. package/dist/astro-site.d.ts.map +1 -1
  74. package/dist/astro-site.js +4 -0
  75. package/dist/astro-site.js.map +1 -1
  76. package/dist/auth/team.d.ts +1 -0
  77. package/dist/auth/team.d.ts.map +1 -1
  78. package/dist/auth/team.js +1 -1
  79. package/dist/auth/team.js.map +1 -1
  80. package/dist/cache/http.d.ts +20 -0
  81. package/dist/cache/http.d.ts.map +1 -1
  82. package/dist/cache/http.js +42 -0
  83. package/dist/cache/http.js.map +1 -1
  84. package/dist/chrome/announcement.d.ts +30 -0
  85. package/dist/chrome/announcement.d.ts.map +1 -0
  86. package/dist/chrome/announcement.js +190 -0
  87. package/dist/chrome/announcement.js.map +1 -0
  88. package/dist/chrome/codegen.d.ts +17 -0
  89. package/dist/chrome/codegen.d.ts.map +1 -0
  90. package/dist/chrome/codegen.js +96 -0
  91. package/dist/chrome/codegen.js.map +1 -0
  92. package/dist/chrome/contract.d.ts +161 -0
  93. package/dist/chrome/contract.d.ts.map +1 -0
  94. package/dist/chrome/contract.js +2 -0
  95. package/dist/chrome/contract.js.map +1 -0
  96. package/dist/chrome/memory-store.d.ts +15 -0
  97. package/dist/chrome/memory-store.d.ts.map +1 -0
  98. package/dist/chrome/memory-store.js +54 -0
  99. package/dist/chrome/memory-store.js.map +1 -0
  100. package/dist/chrome/overrides.d.ts +25 -0
  101. package/dist/chrome/overrides.d.ts.map +1 -0
  102. package/dist/chrome/overrides.js +180 -0
  103. package/dist/chrome/overrides.js.map +1 -0
  104. package/dist/chrome/parse.d.ts +36 -0
  105. package/dist/chrome/parse.d.ts.map +1 -0
  106. package/dist/chrome/parse.js +277 -0
  107. package/dist/chrome/parse.js.map +1 -0
  108. package/dist/chrome/prisma-store.d.ts +11 -0
  109. package/dist/chrome/prisma-store.d.ts.map +1 -0
  110. package/dist/chrome/prisma-store.js +48 -0
  111. package/dist/chrome/prisma-store.js.map +1 -0
  112. package/dist/chrome/public.d.ts +22 -0
  113. package/dist/chrome/public.d.ts.map +1 -0
  114. package/dist/chrome/public.js +181 -0
  115. package/dist/chrome/public.js.map +1 -0
  116. package/dist/chrome/resolve.d.ts +36 -0
  117. package/dist/chrome/resolve.d.ts.map +1 -0
  118. package/dist/chrome/resolve.js +165 -0
  119. package/dist/chrome/resolve.js.map +1 -0
  120. package/dist/chrome/revalidate.d.ts +9 -0
  121. package/dist/chrome/revalidate.d.ts.map +1 -0
  122. package/dist/chrome/revalidate.js +51 -0
  123. package/dist/chrome/revalidate.js.map +1 -0
  124. package/dist/chrome/routes.d.ts +14 -0
  125. package/dist/chrome/routes.d.ts.map +1 -0
  126. package/dist/chrome/routes.js +349 -0
  127. package/dist/chrome/routes.js.map +1 -0
  128. package/dist/chrome/schema.d.ts +231 -0
  129. package/dist/chrome/schema.d.ts.map +1 -0
  130. package/dist/chrome/schema.js +73 -0
  131. package/dist/chrome/schema.js.map +1 -0
  132. package/dist/chrome/service.d.ts +76 -0
  133. package/dist/chrome/service.d.ts.map +1 -0
  134. package/dist/chrome/service.js +286 -0
  135. package/dist/chrome/service.js.map +1 -0
  136. package/dist/chrome/settings.d.ts +14 -0
  137. package/dist/chrome/settings.d.ts.map +1 -0
  138. package/dist/chrome/settings.js +142 -0
  139. package/dist/chrome/settings.js.map +1 -0
  140. package/dist/chrome/store.d.ts +48 -0
  141. package/dist/chrome/store.d.ts.map +1 -0
  142. package/dist/chrome/store.js +26 -0
  143. package/dist/chrome/store.js.map +1 -0
  144. package/dist/chrome/values.d.ts +98 -0
  145. package/dist/chrome/values.d.ts.map +1 -0
  146. package/dist/chrome/values.js +491 -0
  147. package/dist/chrome/values.js.map +1 -0
  148. package/dist/config/define.d.ts +2 -0
  149. package/dist/config/define.d.ts.map +1 -1
  150. package/dist/config/define.js +2 -0
  151. package/dist/config/define.js.map +1 -1
  152. package/dist/db/model-types.d.ts +62 -0
  153. package/dist/db/model-types.d.ts.map +1 -1
  154. package/dist/forms/attribution-settings.d.ts +23 -0
  155. package/dist/forms/attribution-settings.d.ts.map +1 -0
  156. package/dist/forms/attribution-settings.js +42 -0
  157. package/dist/forms/attribution-settings.js.map +1 -0
  158. package/dist/forms/attribution.d.ts +5 -1
  159. package/dist/forms/attribution.d.ts.map +1 -1
  160. package/dist/forms/attribution.js +6 -4
  161. package/dist/forms/attribution.js.map +1 -1
  162. package/dist/forms/client-validation.d.ts.map +1 -1
  163. package/dist/forms/client-validation.js +3 -0
  164. package/dist/forms/client-validation.js.map +1 -1
  165. package/dist/forms/form-model.d.ts +109 -0
  166. package/dist/forms/form-model.d.ts.map +1 -0
  167. package/dist/forms/form-model.js +192 -0
  168. package/dist/forms/form-model.js.map +1 -0
  169. package/dist/forms/index.d.ts +2 -2
  170. package/dist/forms/index.d.ts.map +1 -1
  171. package/dist/forms/index.js +1 -1
  172. package/dist/forms/index.js.map +1 -1
  173. package/dist/forms/service.d.ts +19 -1
  174. package/dist/forms/service.d.ts.map +1 -1
  175. package/dist/forms/service.js +152 -0
  176. package/dist/forms/service.js.map +1 -1
  177. package/dist/forms/spam.d.ts +0 -12
  178. package/dist/forms/spam.d.ts.map +1 -1
  179. package/dist/forms/spam.js +30 -0
  180. package/dist/forms/spam.js.map +1 -1
  181. package/dist/forms/submission.d.ts +7 -0
  182. package/dist/forms/submission.d.ts.map +1 -1
  183. package/dist/forms/submission.js +33 -0
  184. package/dist/forms/submission.js.map +1 -1
  185. package/dist/forms/types.d.ts +26 -1
  186. package/dist/forms/types.d.ts.map +1 -1
  187. package/dist/forms/types.js +9 -1
  188. package/dist/forms/types.js.map +1 -1
  189. package/dist/generated/browser.d.ts +35 -3
  190. package/dist/generated/client.d.ts +35 -3
  191. package/dist/generated/internal/class.d.ts +44 -0
  192. package/dist/generated/internal/class.js +4 -4
  193. package/dist/generated/internal/prismaNamespace.d.ts +403 -1
  194. package/dist/generated/internal/prismaNamespace.js +95 -1
  195. package/dist/generated/internal/prismaNamespaceBrowser.d.ts +102 -0
  196. package/dist/generated/internal/prismaNamespaceBrowser.js +95 -1
  197. package/dist/generated/models/ChromeRegion.d.ts +1203 -0
  198. package/dist/generated/models/ChromeRegion.js +1 -0
  199. package/dist/generated/models/Job.d.ts +732 -5
  200. package/dist/generated/models/JobEvent.d.ts +1339 -0
  201. package/dist/generated/models/JobEvent.js +1 -0
  202. package/dist/generated/models/JobReviewItem.d.ts +1470 -0
  203. package/dist/generated/models/JobReviewItem.js +1 -0
  204. package/dist/generated/models/SystemSetting.d.ts +952 -0
  205. package/dist/generated/models/SystemSetting.js +1 -0
  206. package/dist/generated/models.d.ts +4 -0
  207. package/dist/index.d.ts +12 -5
  208. package/dist/index.d.ts.map +1 -1
  209. package/dist/index.js +8 -3
  210. package/dist/index.js.map +1 -1
  211. package/dist/jobs/batch-ai.d.ts +53 -0
  212. package/dist/jobs/batch-ai.d.ts.map +1 -0
  213. package/dist/jobs/batch-ai.js +314 -0
  214. package/dist/jobs/batch-ai.js.map +1 -0
  215. package/dist/jobs/contract.d.ts +193 -0
  216. package/dist/jobs/contract.d.ts.map +1 -0
  217. package/dist/jobs/contract.js +2 -0
  218. package/dist/jobs/contract.js.map +1 -0
  219. package/dist/jobs/error-text.d.ts +23 -0
  220. package/dist/jobs/error-text.d.ts.map +1 -0
  221. package/dist/jobs/error-text.js +110 -0
  222. package/dist/jobs/error-text.js.map +1 -0
  223. package/dist/jobs/handlers.d.ts.map +1 -1
  224. package/dist/jobs/handlers.js +48 -7
  225. package/dist/jobs/handlers.js.map +1 -1
  226. package/dist/jobs/memory-store.d.ts +26 -2
  227. package/dist/jobs/memory-store.d.ts.map +1 -1
  228. package/dist/jobs/memory-store.js +157 -3
  229. package/dist/jobs/memory-store.js.map +1 -1
  230. package/dist/jobs/outcomes.d.ts +46 -0
  231. package/dist/jobs/outcomes.d.ts.map +1 -0
  232. package/dist/jobs/outcomes.js +251 -0
  233. package/dist/jobs/outcomes.js.map +1 -0
  234. package/dist/jobs/prisma-store.d.ts +14 -2
  235. package/dist/jobs/prisma-store.d.ts.map +1 -1
  236. package/dist/jobs/prisma-store.js +257 -15
  237. package/dist/jobs/prisma-store.js.map +1 -1
  238. package/dist/jobs/queue.d.ts +62 -2
  239. package/dist/jobs/queue.d.ts.map +1 -1
  240. package/dist/jobs/queue.js +412 -36
  241. package/dist/jobs/queue.js.map +1 -1
  242. package/dist/jobs/retention.d.ts +11 -0
  243. package/dist/jobs/retention.d.ts.map +1 -0
  244. package/dist/jobs/retention.js +18 -0
  245. package/dist/jobs/retention.js.map +1 -0
  246. package/dist/jobs/review.d.ts +111 -0
  247. package/dist/jobs/review.d.ts.map +1 -0
  248. package/dist/jobs/review.js +461 -0
  249. package/dist/jobs/review.js.map +1 -0
  250. package/dist/jobs/routes.d.ts.map +1 -1
  251. package/dist/jobs/routes.js +491 -16
  252. package/dist/jobs/routes.js.map +1 -1
  253. package/dist/jobs/serialize.d.ts +40 -0
  254. package/dist/jobs/serialize.d.ts.map +1 -0
  255. package/dist/jobs/serialize.js +275 -0
  256. package/dist/jobs/serialize.js.map +1 -0
  257. package/dist/jobs/types.d.ts +141 -2
  258. package/dist/jobs/types.d.ts.map +1 -1
  259. package/dist/jobs/worker-status.d.ts +27 -0
  260. package/dist/jobs/worker-status.d.ts.map +1 -0
  261. package/dist/jobs/worker-status.js +66 -0
  262. package/dist/jobs/worker-status.js.map +1 -0
  263. package/dist/media/optimize.d.ts.map +1 -1
  264. package/dist/media/optimize.js +4 -2
  265. package/dist/media/optimize.js.map +1 -1
  266. package/dist/next-site.d.ts +1 -0
  267. package/dist/next-site.d.ts.map +1 -1
  268. package/dist/next-site.js +3 -0
  269. package/dist/next-site.js.map +1 -1
  270. package/dist/seo/audit-runner.d.ts.map +1 -1
  271. package/dist/seo/audit-runner.js +23 -2
  272. package/dist/seo/audit-runner.js.map +1 -1
  273. package/dist/seo/issue-fix-link-insert.d.ts +11 -0
  274. package/dist/seo/issue-fix-link-insert.d.ts.map +1 -1
  275. package/dist/seo/issue-fix-link-insert.js +122 -8
  276. package/dist/seo/issue-fix-link-insert.js.map +1 -1
  277. package/dist/server-site.d.ts.map +1 -1
  278. package/dist/server-site.js +15 -0
  279. package/dist/server-site.js.map +1 -1
  280. package/dist/site.d.ts +8 -0
  281. package/dist/site.d.ts.map +1 -1
  282. package/dist/site.js +6 -0
  283. package/dist/site.js.map +1 -1
  284. package/dist/webhooks/index.d.ts +3 -1
  285. package/dist/webhooks/index.d.ts.map +1 -1
  286. package/dist/webhooks/index.js.map +1 -1
  287. package/package.json +6 -1
  288. package/prisma/migrations/0025_job_cancel_review/down.sql +60 -0
  289. package/prisma/migrations/0025_job_cancel_review/migration.sql +56 -0
  290. package/prisma/migrations/0026_job_creator_system_settings/down.sql +30 -0
  291. package/prisma/migrations/0026_job_creator_system_settings/migration.sql +14 -0
  292. package/prisma/migrations/0027_chrome_regions/down.sql +24 -0
  293. package/prisma/migrations/0027_chrome_regions/migration.sql +16 -0
  294. package/prisma/schema.prisma +105 -15
@@ -0,0 +1,105 @@
1
+ /**
2
+ * The batch AI `links` operation ("Add internal links"). For each document it
3
+ * ranks candidate pages with link embeddings, asks the text model to copy an
4
+ * anchor phrase for the closest ones from the document's body, and wraps the
5
+ * first fitting occurrence of each phrase in a link. CONFLICTS.md §4 (P-16,
6
+ * `links`) has the decisions.
7
+ *
8
+ * Links only go into rich text: top-level `richText` fields and the `richText`
9
+ * slots of visible sections, the HTML sinks that write-time sanitizing covers.
10
+ * A plain text field would show the markup as text, so it's never touched.
11
+ */
12
+ import type { PrentaDB } from '../db/client-types.js';
13
+ import { type BatchAiChange, type BatchAiItem, type BatchAiOptions, type BatchAiUsage } from './batch-list.js';
14
+ /** The contract's name for the field a link changes: the kit's "Body links". */
15
+ export declare const LINKS_FIELD = "body";
16
+ /** About this many tokens per document: one embeddings call over the pool, one short text call. */
17
+ export declare const LINK_TOKENS_PER_DOCUMENT = 2700;
18
+ /** A page a document can link to. */
19
+ export interface LinkTarget {
20
+ id: string;
21
+ title: string;
22
+ /** Public path, such as `/services/seo-audit`. */
23
+ path: string;
24
+ focusKeyword: string | null;
25
+ description: string;
26
+ /** Title, description and the start of the body, as plain text, for embedding. */
27
+ text: string;
28
+ updatedAt?: string | Date;
29
+ }
30
+ /** A link to put in a document's body: the first fitting `anchor` becomes a link to `href`. */
31
+ interface BodyLink {
32
+ href: string;
33
+ anchor: string;
34
+ }
35
+ type LinkInsert = {
36
+ data: Record<string, unknown>;
37
+ patch: Record<string, unknown>;
38
+ /** The href put in: the page's path in the site's canonical form. */
39
+ href: string;
40
+ html: string;
41
+ index: number;
42
+ match: string;
43
+ } | {
44
+ reason: 'already-linked' | 'not-found';
45
+ };
46
+ /** The `links` preset: a document with body text and fewer than 2 internal links in it. */
47
+ export declare function needsBodyLinks(collection: string, data: unknown): boolean;
48
+ /**
49
+ * Put one link in a document's rich text, as it is now. It's refused when the
50
+ * document already links to the page anywhere, in any spelling, or when the
51
+ * phrase has no occurrence outside a tag, an entity, a link, a heading, code, a
52
+ * button or a caption. With `before` (a review item's line), only the
53
+ * occurrence in that line will do, so the link lands where the item showed it.
54
+ * The href is written in the site's canonical form, the form the save keeps, so
55
+ * undo finds the same markup.
56
+ */
57
+ export declare function insertBodyLink(collection: string, data: Record<string, unknown>, link: BodyLink, before?: string): LinkInsert;
58
+ /**
59
+ * Take out a link this operation put in, keeping its text. The markup has to be
60
+ * as it was put in, an href to the same page in any spelling, around the same
61
+ * words. Null when it isn't there any more, because the link was edited or removed.
62
+ */
63
+ export declare function removeBodyLink(collection: string, data: Record<string, unknown>, link: BodyLink): Record<string, unknown> | null;
64
+ /** The link a review item suggests, read back from its `after`. */
65
+ export declare function linkFromAfter(after: string): BodyLink | null;
66
+ /**
67
+ * The link targets for a database, loaded at most once every
68
+ * {@link LINK_TARGETS_TTL_MS} and shared by worker ticks and previews, so a
69
+ * tick's first slice doesn't reload every page. A failed load is tried again.
70
+ * A page that goes away in between is caught when its link is applied.
71
+ */
72
+ export declare function linkTargetLoader(db: PrentaDB): () => Promise<LinkTarget[]>;
73
+ /**
74
+ * Whether a link's address is still a published page that search engines may
75
+ * index, so a link approved or applied later doesn't point at a page that was
76
+ * deleted, unpublished, hidden from search or moved since it was suggested.
77
+ */
78
+ export declare function linkTargetLive(db: PrentaDB, href: string): Promise<boolean>;
79
+ /**
80
+ * Suggest up to 3 internal links for one document without writing them, one
81
+ * change per link. Candidate pages leave out the document itself, pages it
82
+ * already links to, and pages a job suggested for it before. The closest ones
83
+ * by link embeddings go to the text model for anchors; its phrase is tried
84
+ * first, then the page's focus keyword, then its title.
85
+ */
86
+ export declare function suggestBodyLinks(db: PrentaDB, item: BatchAiItem, options?: BatchAiOptions): Promise<{
87
+ changes: BatchAiChange[];
88
+ usage?: BatchAiUsage;
89
+ }>;
90
+ /**
91
+ * Suggest a document's links and write them in one save, so one revision.
92
+ * Each link is put in again, in its line, on the document as it is just before
93
+ * the save; one that no longer fits, or whose page isn't live at that address,
94
+ * is left out. The save is conditional on that read. If the document changed
95
+ * in between, it's read and the links are put in once more, so another save is
96
+ * never overwritten.
97
+ */
98
+ export declare function applyBodyLinks(db: PrentaDB, item: BatchAiItem, options?: BatchAiOptions & {
99
+ write?: (patch: Record<string, unknown>, expectedUpdatedAt?: Date) => Promise<void>;
100
+ }): Promise<{
101
+ updated: boolean;
102
+ usage?: BatchAiUsage;
103
+ }>;
104
+ export {};
105
+ //# sourceMappingURL=batch-links.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-links.d.ts","sourceRoot":"","sources":["../../src/ai/batch-links.ts"],"names":[],"mappings":"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"}