@prenta/core 8.14.0 → 8.15.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 (95) hide show
  1. package/CHANGELOG.md +50 -0
  2. package/dist/ai/batch-list.d.ts +37 -6
  3. package/dist/ai/batch-list.d.ts.map +1 -1
  4. package/dist/ai/batch-list.js +217 -7
  5. package/dist/ai/batch-list.js.map +1 -1
  6. package/dist/ai/feature-defaults.d.ts.map +1 -1
  7. package/dist/ai/feature-defaults.js +1 -1
  8. package/dist/ai/feature-defaults.js.map +1 -1
  9. package/dist/ai/tasks/media-detail-limits.d.ts +5 -0
  10. package/dist/ai/tasks/media-detail-limits.d.ts.map +1 -0
  11. package/dist/ai/tasks/media-detail-limits.js +5 -0
  12. package/dist/ai/tasks/media-detail-limits.js.map +1 -0
  13. package/dist/ai/tasks/media-details.d.ts +51 -0
  14. package/dist/ai/tasks/media-details.d.ts.map +1 -0
  15. package/dist/ai/tasks/media-details.js +117 -0
  16. package/dist/ai/tasks/media-details.js.map +1 -0
  17. package/dist/api/routes/dashboard.d.ts.map +1 -1
  18. package/dist/api/routes/dashboard.js +218 -0
  19. package/dist/api/routes/dashboard.js.map +1 -1
  20. package/dist/api/routes/forms.d.ts.map +1 -1
  21. package/dist/api/routes/forms.js +197 -7
  22. package/dist/api/routes/forms.js.map +1 -1
  23. package/dist/forms/attribution-settings.d.ts +2 -0
  24. package/dist/forms/attribution-settings.d.ts.map +1 -1
  25. package/dist/forms/attribution-settings.js +28 -22
  26. package/dist/forms/attribution-settings.js.map +1 -1
  27. package/dist/forms/attribution.d.ts +10 -1
  28. package/dist/forms/attribution.d.ts.map +1 -1
  29. package/dist/forms/attribution.js +26 -2
  30. package/dist/forms/attribution.js.map +1 -1
  31. package/dist/forms/client-validation.d.ts +12 -2
  32. package/dist/forms/client-validation.d.ts.map +1 -1
  33. package/dist/forms/client-validation.js +28 -10
  34. package/dist/forms/client-validation.js.map +1 -1
  35. package/dist/forms/form-model.d.ts +19 -0
  36. package/dist/forms/form-model.d.ts.map +1 -1
  37. package/dist/forms/form-model.js.map +1 -1
  38. package/dist/forms/index.d.ts +1 -1
  39. package/dist/forms/index.d.ts.map +1 -1
  40. package/dist/forms/index.js +1 -1
  41. package/dist/forms/index.js.map +1 -1
  42. package/dist/forms/public-html.d.ts +12 -1
  43. package/dist/forms/public-html.d.ts.map +1 -1
  44. package/dist/forms/public-html.js +94 -14
  45. package/dist/forms/public-html.js.map +1 -1
  46. package/dist/forms/service.d.ts +6 -1
  47. package/dist/forms/service.d.ts.map +1 -1
  48. package/dist/forms/service.js +137 -12
  49. package/dist/forms/service.js.map +1 -1
  50. package/dist/forms/site-settings.d.ts +77 -0
  51. package/dist/forms/site-settings.d.ts.map +1 -0
  52. package/dist/forms/site-settings.js +276 -0
  53. package/dist/forms/site-settings.js.map +1 -0
  54. package/dist/forms/submission.d.ts +15 -0
  55. package/dist/forms/submission.d.ts.map +1 -1
  56. package/dist/forms/submission.js +27 -3
  57. package/dist/forms/submission.js.map +1 -1
  58. package/dist/forms/types.d.ts +30 -0
  59. package/dist/forms/types.d.ts.map +1 -1
  60. package/dist/forms/types.js +1 -0
  61. package/dist/forms/types.js.map +1 -1
  62. package/dist/forms/validation.d.ts.map +1 -1
  63. package/dist/forms/validation.js +2 -2
  64. package/dist/forms/validation.js.map +1 -1
  65. package/dist/index.d.ts +1 -1
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +1 -1
  68. package/dist/index.js.map +1 -1
  69. package/dist/jobs/batch-ai.d.ts.map +1 -1
  70. package/dist/jobs/batch-ai.js +67 -19
  71. package/dist/jobs/batch-ai.js.map +1 -1
  72. package/dist/jobs/contract.d.ts +3 -1
  73. package/dist/jobs/contract.d.ts.map +1 -1
  74. package/dist/jobs/review.d.ts.map +1 -1
  75. package/dist/jobs/review.js +49 -5
  76. package/dist/jobs/review.js.map +1 -1
  77. package/dist/jobs/serialize.d.ts.map +1 -1
  78. package/dist/jobs/serialize.js +2 -0
  79. package/dist/jobs/serialize.js.map +1 -1
  80. package/dist/media/seo.d.ts +18 -0
  81. package/dist/media/seo.d.ts.map +1 -1
  82. package/dist/media/seo.js +24 -0
  83. package/dist/media/seo.js.map +1 -1
  84. package/dist/media/used-on-titles.d.ts +8 -0
  85. package/dist/media/used-on-titles.d.ts.map +1 -0
  86. package/dist/media/used-on-titles.js +33 -0
  87. package/dist/media/used-on-titles.js.map +1 -0
  88. package/dist/server-site.d.ts.map +1 -1
  89. package/dist/server-site.js +3 -0
  90. package/dist/server-site.js.map +1 -1
  91. package/dist/stats/dashboard.d.ts +66 -0
  92. package/dist/stats/dashboard.d.ts.map +1 -0
  93. package/dist/stats/dashboard.js +111 -0
  94. package/dist/stats/dashboard.js.map +1 -0
  95. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,55 @@
1
1
  # @actuate-media/cms-core
2
2
 
3
+ ## 8.15.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 9e0cb2c: Security fixes from the October 2026 audit.
8
+
9
+ **@prenta/core**
10
+ - Authors can no longer edit, delete, restore or purge documents someone else created. The ownership check ran before the document was loaded, so it never had an owner to compare.
11
+ - Scheduling or cancelling a publish or unpublish now needs a publishing role. Before, any signed-in user could do it on collections without review.
12
+ - Owners can publish. The publish allow-list left out the OWNER role.
13
+ - New `isSafeRedirectUrl` in `@prenta/core/forms/client`. A form's redirect URL must be `https://`, `http://` or a same-site path. A `javascript:` URL was stored and followed after submit. Forms saved earlier are checked again on submit.
14
+ - Only owners and admins can change form webhooks and notification recipients, or create a form with recipients. Forms can no longer be written through the generic `/collections/forms` routes.
15
+ - `PATCH /forms/entries/:id` applies the PHI gate and refuses an empty patch. Star and archive webhooks leave out entry data when PHI safeguards are on. Bulk entry updates are capped at 500.
16
+ - Public form submissions are capped at 1 MB (50 MB for uploads) before the body is parsed.
17
+ - `PRENTA_DISABLE_RATE_LIMIT` is ignored on Vercel deployments and on production servers outside CI.
18
+ - Dashboard stats routes need a session even when `CMS_SECRET` is missing (they answer 503).
19
+
20
+ **@prenta/sections-react**
21
+ - `PrentaForm` only follows an `http(s)` or same-site redirect after submit.
22
+
23
+ - 9e0cb2c: Rebuild the admin dashboard to the period-report design: a new `GET /stats/dashboard` report endpoint (zero-filled daily series for form entries and published content, bucketed in the site timezone, with previous-period / same-period-last-year / no-comparison modes) and `GET /stats/scheduled` for the publishing queue. The dashboard gains a draft-then-apply date range picker, five period KPI cards with deltas and comparison sparklines, a selectable-metric SVG trend chart, entries-by-form paired bars, a period summary, and CSV export. Organic sessions and pageviews render the "Connect analytics" state until an analytics source is connected (`analyticsConnected: false`).
24
+ - 9e0cb2c: Add a Fill image details batch job. It writes a missing title and description, and alt text only when that alt is empty or just a filename or page title, in one pass per image.
25
+ - 9e0cb2c: Form submissions now follow the site attribution settings: public forms publish the windows, capture waits for consent when required, and a turned-off recorder stores no visit data.
26
+ - 9e0cb2c: Add site-wide Form Settings: spam, defaults, retention, attribution, and email delivery, saved as one global and applied to new submissions.
27
+ - 9e0cb2c: Forms list rows and the editor's Build mode now follow the forms kit.
28
+ - **@prenta/core**: `GET /forms` adds `entries14d` (clean entries per day for the last 14 days, in the site timezone), `pageCount` (pages whose visible form sections embed the form) and `failedEmails7d` per form. `ConditionalLogic` gains `hide` rules and `match: 'any'`, enforced by the same visibility check on the server and client. `FormField` gains `autoKey`, `hideLabel`, `cssClass`, `nameFormat`, `nextLabel` and `backLabel`; schema validation rejects an unknown logic match or unsafe CSS class, and the public schema passes `hideLabel` and a sanitized `cssClass` through.
29
+ - **@prenta/admin**: the forms list is rebuilt as the kit's row list (initials tile, slug and page count, field badges, entries with a 14-day sparkline and "new" pill, notification switch with delivery status, status pill), with Needs attention / Most entries / Name sorting, status counts, the failed-email chip, and Schema and Duplicate in a row menu. The Build panel has the full General / Advanced / Logic field options, Duplicate and Delete, selectable layout fields, and `@dnd-kit` drag from the palette and between fields with keyboard reordering and screen-reader announcements. `UnderlineTabs` gains `fill` and per-tab `disabled`, `Segmented` gains `fill`, `StatusBadge` a `pill` shape and `Toggle` an `lg` size. Faint text on forms screens used a surface colour and was nearly invisible; it now uses `--muted`.
30
+ - **@prenta/sections-react**: `<PrentaForm>` honours `hideLabel` (label kept for screen readers) and `cssClass` on each field.
31
+
32
+ - 9e0cb2c: Public forms now behave the way the editor builds them.
33
+ - **@prenta/sections-react**: `<PrentaForm>` runs multi-step forms: one step at a time with the numbered list, progress bar or no indicator, Next and Back using each page break's button text, per-step required checks, answers kept on Back, focus moved to the new step's heading and the step announced. Conditional logic shows and hides fields as people answer, using cms-core's own rules; hidden fields aren't required and their answers aren't sent. Headings, content blocks and dividers render as content instead of text inputs, hidden fields post their value (with `{page_url}` and URL-parameter tokens filled in) without showing, consent renders as a checkbox, "Checkboxes" with choices post a list, half-width fields sit side by side, the submit button uses the form's text, and a validation message clears once the visitor edits.
34
+ - **@prenta/core**: forms gain `submitLabel`, `firstStep` and `progress` (validated on update and exposed on the public schema, with page-break `nextLabel` / `backLabel`). A checkbox field with choices validates and stores the picked values as a list on the server and client. `renderPublicFormHtml` renders layout fields as content, hidden fields as hidden inputs with tokens resolved from the page URL, consent and checkbox lists as checkboxes, each step as a labelled fieldset, and leaves the HTML `required` attribute off fields logic can hide.
35
+ - **@prenta/admin**: the form's General settings add Submit button text and a Steps card with First step title and Progress indicator; the Build canvas previews the submit text and first step title.
36
+
37
+ ### Patch Changes
38
+
39
+ - 9e0cb2c: Fixes from the October 2026 audit to the Forms and Dashboard redesign.
40
+
41
+ **@prenta/core**
42
+ - Only owners and admins can save site-wide form settings. Other staff can start a form only with the site's default recipients.
43
+ - No built-in default recipient for new forms (it was `hello@actuatemedia.com`). An admin names one on the first save.
44
+ - `/stats/dashboard` and `/stats/scheduled` need a session even when `CMS_SECRET` is missing.
45
+
46
+ **@prenta/admin**
47
+ - Form Settings is read-only for roles other than owner and admin.
48
+ - A form entry shows its attribution again (channel, UTM source, medium and campaign, click IDs, first touch). The redesigned inbox had dropped it.
49
+ - Retention and AI spam review say their settings are saved but not applied yet, the Spam folder points to the inbox's Spam filter, and the inbox no longer shows the Mine and Partial chips, which always read 0.
50
+ - The Dashboard's scrolling tables are keyboard-focusable regions.
51
+ - Removed components and helpers nothing used (the old entry pane and entries table, `PanelSection`, `UnreadBadge`, `EntryCountChips`).
52
+
3
53
  ## 8.14.0
4
54
 
5
55
  ### Minor Changes
@@ -1,14 +1,16 @@
1
1
  import type { PrentaDB } from '../db/client-types.js';
2
2
  import type { LinkTarget } from './batch-links.js';
3
+ import type { MediaDetailsDraft } from './tasks/media-details.js';
3
4
  import { type LinkCorpusItem } from './tasks/link-embeddings.js';
4
5
  /** List-view batch operations (`/ai/batch`). None of them publish. */
5
6
  export declare const BATCH_AI_OPERATIONS: readonly ["meta", "alt-text", "summarize"];
6
7
  /**
7
8
  * Everything a batch AI job runs: the list-view operations, plus the kit's
8
9
  * shorter SEO titles, custom instruction, media library alt text and internal
9
- * links, which `/jobs/batch-ai` queues.
10
+ * links, and media library details (title, description, and a weak alt),
11
+ * which `/jobs/batch-ai` queues.
10
12
  */
11
- declare const JOB_OPERATIONS: readonly ["meta", "alt-text", "summarize", "titles", "custom", "media-alt", "links"];
13
+ declare const JOB_OPERATIONS: readonly ["meta", "alt-text", "summarize", "titles", "custom", "media-alt", "media-details", "links"];
12
14
  export type BatchAiOperation = (typeof JOB_OPERATIONS)[number];
13
15
  /** Cap a single confirm so one click cannot drain the daily AI budget. */
14
16
  export declare const BATCH_AI_MAX = 25;
@@ -76,8 +78,13 @@ declare const TEXT_FIELDS: {
76
78
  export type BatchAiTextField = keyof typeof TEXT_FIELDS;
77
79
  /** What a custom instruction may rewrite. */
78
80
  export declare const BATCH_AI_TEXT_FIELDS: BatchAiTextField[];
79
- /** Media library alt text: `Media.altText`, which has no version history. */
80
- export declare const MEDIA_ALT_FIELD: BatchAiField;
81
+ /**
82
+ * The review text for marking an image decorative. Approving it sets the flag
83
+ * and clears alt text. It isn't editable: any other wording would be stored
84
+ * as if it were the flag.
85
+ */
86
+ export declare const MEDIA_DECORATIVE_MARK = "Mark as decorative";
87
+ export declare const MEDIA_DECORATIVE_FIELD: BatchAiField;
81
88
  /** A review field by the name stored on the review item, or null for an unknown one. */
82
89
  export declare function batchAiFieldByName(field: string): BatchAiField | null;
83
90
  /** The field's current text in a document's data. */
@@ -100,6 +107,17 @@ interface BatchAiImage {
100
107
  mimeType: string;
101
108
  title: string;
102
109
  }
110
+ /** One image as the details generator sees it, including what's already filled. */
111
+ interface MediaDetailsImage {
112
+ id: string;
113
+ url: string;
114
+ mimeType: string;
115
+ filename: string;
116
+ title: string;
117
+ altText: string;
118
+ description: string;
119
+ instruction: string | null;
120
+ }
103
121
  /**
104
122
  * Test seams, plus what a job passes to every item: a custom instruction and
105
123
  * its field, and for `links` the pages a document can link to.
@@ -113,6 +131,11 @@ export interface BatchAiOptions {
113
131
  text: string;
114
132
  usage?: BatchAiUsage;
115
133
  }>;
134
+ /** `media-details`: one draft for alt, title, and description. */
135
+ generateDetails?: (image: MediaDetailsImage) => Promise<{
136
+ draft: MediaDetailsDraft;
137
+ usage?: BatchAiUsage;
138
+ }>;
116
139
  /** `links`: rank candidate pages against a document. Defaults to link embeddings. */
117
140
  rankLinks?: (query: string, corpus: LinkCorpusItem[]) => Promise<{
118
141
  ranked: Array<{
@@ -125,8 +148,16 @@ export interface BatchAiOptions {
125
148
  field?: string | null;
126
149
  instruction?: string | null;
127
150
  }
128
- /** Write media library alt text. A described image is no longer decorative. */
129
- export declare function writeMediaAlt(db: PrentaDB, mediaId: string, altText: string): Promise<void>;
151
+ /** Write one approved media column. Decorative clears alt text; a real alt clears the flag. */
152
+ export declare function writeMediaColumn(db: PrentaDB, mediaId: string, key: string, value: string): Promise<void>;
153
+ /**
154
+ * Draft the missing details for one image. Nothing is written. An image that
155
+ * already has a real alt, a title, and a description produces no changes.
156
+ */
157
+ export declare function suggestMediaDetails(db: PrentaDB, item: BatchAiItem, options?: BatchAiOptions): Promise<{
158
+ changes: BatchAiChange[];
159
+ usage?: BatchAiUsage;
160
+ }>;
130
161
  /**
131
162
  * Generate one document's (or image's) change without writing it, for review
132
163
  * or a preview. Returns no change when the target is gone, or when the AI's text
@@ -1 +1 @@
1
- {"version":3,"file":"batch-list.d.ts","sourceRoot":"","sources":["../../src/ai/batch-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-list.d.ts","sourceRoot":"","sources":["../../src/ai/batch-list.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
1
  import { DocumentChangedError, updateDocument } from '../actions.js';
2
2
  import { getPrentaConfig } from '../config/runtime.js';
3
+ import { mediaDetailGaps } from '../media/seo.js';
4
+ import { usedOnTitlesByMedia } from '../media/used-on-titles.js';
3
5
  import { resolveDocumentUrl } from '../seo/document-path.js';
4
6
  import { stripSiteSuffixFromPageTitle } from '../seo/title-templates.js';
5
7
  import { clampAiContent } from './prompt-safety.js';
6
8
  import { generateTextForFeature } from './runtime.js';
9
+ import { MEDIA_DESCRIPTION_MAX, MEDIA_TITLE_MAX } from './tasks/media-detail-limits.js';
7
10
  import { LINK_SUGGEST_FEATURE } from './tasks/link-embeddings.js';
8
11
  import { aiCapResetsAt } from './usage.js';
9
12
  /** List-view batch operations (`/ai/batch`). None of them publish. */
@@ -11,9 +14,17 @@ export const BATCH_AI_OPERATIONS = ['meta', 'alt-text', 'summarize'];
11
14
  /**
12
15
  * Everything a batch AI job runs: the list-view operations, plus the kit's
13
16
  * shorter SEO titles, custom instruction, media library alt text and internal
14
- * links, which `/jobs/batch-ai` queues.
17
+ * links, and media library details (title, description, and a weak alt),
18
+ * which `/jobs/batch-ai` queues.
15
19
  */
16
- const JOB_OPERATIONS = [...BATCH_AI_OPERATIONS, 'titles', 'custom', 'media-alt', 'links'];
20
+ const JOB_OPERATIONS = [
21
+ ...BATCH_AI_OPERATIONS,
22
+ 'titles',
23
+ 'custom',
24
+ 'media-alt',
25
+ 'media-details',
26
+ 'links',
27
+ ];
17
28
  /** A custom instruction is clamped to this before it reaches the prompt. */
18
29
  const INSTRUCTION_MAX = 1000;
19
30
  /** Cap a single confirm so one click cannot drain the daily AI budget. */
@@ -37,7 +48,7 @@ export class AiCapRefusal extends Error {
37
48
  export function batchAiFeatureKey(operation) {
38
49
  if (operation === 'links')
39
50
  return LINK_SUGGEST_FEATURE;
40
- return operation === 'alt-text' || operation === 'media-alt'
51
+ return operation === 'alt-text' || operation === 'media-alt' || operation === 'media-details'
41
52
  ? 'ai.features.mediaAltText'
42
53
  : 'ai.features.contentWriting';
43
54
  }
@@ -162,13 +173,48 @@ const TEXT_FIELDS = {
162
173
  /** What a custom instruction may rewrite. */
163
174
  export const BATCH_AI_TEXT_FIELDS = Object.keys(TEXT_FIELDS);
164
175
  /** Media library alt text: `Media.altText`, which has no version history. */
165
- export const MEDIA_ALT_FIELD = {
176
+ const MEDIA_ALT_FIELD = {
166
177
  field: 'altText',
167
178
  key: 'altText',
168
179
  aliases: [],
169
180
  max: 125,
170
181
  label: 'alt text',
171
182
  };
183
+ /** A short library label. Not a sentence, and not a renamed file. */
184
+ const MEDIA_TITLE_FIELD = {
185
+ field: 'title',
186
+ key: 'title',
187
+ aliases: [],
188
+ max: MEDIA_TITLE_MAX,
189
+ label: 'title',
190
+ };
191
+ /** What the image shows, for reuse and search. */
192
+ const MEDIA_DESCRIPTION_FIELD = {
193
+ field: 'description',
194
+ key: 'description',
195
+ aliases: [],
196
+ max: MEDIA_DESCRIPTION_MAX,
197
+ label: 'description',
198
+ };
199
+ /**
200
+ * The review text for marking an image decorative. Approving it sets the flag
201
+ * and clears alt text. It isn't editable: any other wording would be stored
202
+ * as if it were the flag.
203
+ */
204
+ export const MEDIA_DECORATIVE_MARK = 'Mark as decorative';
205
+ export const MEDIA_DECORATIVE_FIELD = {
206
+ field: 'isDecorative',
207
+ key: 'isDecorative',
208
+ aliases: [],
209
+ max: MEDIA_DECORATIVE_MARK.length,
210
+ label: 'decorative',
211
+ };
212
+ const MEDIA_DETAIL_FIELDS = [
213
+ MEDIA_ALT_FIELD,
214
+ MEDIA_TITLE_FIELD,
215
+ MEDIA_DESCRIPTION_FIELD,
216
+ MEDIA_DECORATIVE_FIELD,
217
+ ];
172
218
  const OPERATION_FIELDS = {
173
219
  meta: 'metaDescription',
174
220
  summarize: 'excerpt',
@@ -186,8 +232,9 @@ function textFieldFor(operation, field) {
186
232
  }
187
233
  /** A review field by the name stored on the review item, or null for an unknown one. */
188
234
  export function batchAiFieldByName(field) {
189
- if (field === MEDIA_ALT_FIELD.field)
190
- return MEDIA_ALT_FIELD;
235
+ const media = MEDIA_DETAIL_FIELDS.find((candidate) => candidate.field === field);
236
+ if (media)
237
+ return media;
191
238
  return isTextField(field) ? TEXT_FIELDS[field] : null;
192
239
  }
193
240
  /** The field's current text in a document's data. */
@@ -304,12 +351,167 @@ async function suggestMediaAlt(db, item, options) {
304
351
  };
305
352
  }
306
353
  /** Write media library alt text. A described image is no longer decorative. */
307
- export async function writeMediaAlt(db, mediaId, altText) {
354
+ async function writeMediaAlt(db, mediaId, altText) {
308
355
  await db.media.update({
309
356
  where: { id: mediaId },
310
357
  data: { altText: altText || null, ...(altText ? { isDecorative: false } : {}) },
311
358
  });
312
359
  }
360
+ /** Write one approved media column. Decorative clears alt text; a real alt clears the flag. */
361
+ export async function writeMediaColumn(db, mediaId, key, value) {
362
+ if (key === MEDIA_ALT_FIELD.key) {
363
+ await writeMediaAlt(db, mediaId, value);
364
+ return;
365
+ }
366
+ if (key === MEDIA_DECORATIVE_FIELD.key) {
367
+ const decorative = value === MEDIA_DECORATIVE_MARK;
368
+ await db.media.update({
369
+ where: { id: mediaId },
370
+ data: { isDecorative: decorative, ...(decorative ? { altText: null } : {}) },
371
+ });
372
+ return;
373
+ }
374
+ if (key === MEDIA_TITLE_FIELD.key || key === MEDIA_DESCRIPTION_FIELD.key) {
375
+ await db.media.update({
376
+ where: { id: mediaId },
377
+ data: { [key]: value.trim() ? value.trim() : null },
378
+ });
379
+ return;
380
+ }
381
+ throw new Error(`Media has no field "${key}"`);
382
+ }
383
+ function mediaDetailsImage(media, instruction) {
384
+ return {
385
+ id: media.id,
386
+ url: mediaPublicUrl(media),
387
+ mimeType: media.mimeType,
388
+ filename: media.filename,
389
+ title: (media.title ?? '').trim(),
390
+ altText: (media.altText ?? '').trim(),
391
+ description: (media.description ?? '').trim(),
392
+ instruction,
393
+ };
394
+ }
395
+ function detailChange(field, before, after, image) {
396
+ const text = clipBatchAiText(after, field);
397
+ if (!text || text === before)
398
+ return null;
399
+ return {
400
+ field: field.field,
401
+ key: field.key,
402
+ before,
403
+ after: text,
404
+ documentTitle: image.title || image.filename || 'Untitled',
405
+ url: image.url,
406
+ };
407
+ }
408
+ /**
409
+ * The changes one draft is allowed to make. A good alt, title, or description
410
+ * is left as it is. Decorative is honored only when alt is missing, so a
411
+ * filename used as alt isn't wiped because the model guessed ornament.
412
+ */
413
+ function mediaDetailChanges(gaps, draft, image) {
414
+ const changes = [];
415
+ const decorative = gaps.alt === 'missing' && draft.isDecorative;
416
+ if (decorative) {
417
+ const mark = detailChange(MEDIA_DECORATIVE_FIELD, '', MEDIA_DECORATIVE_MARK, image);
418
+ if (mark)
419
+ changes.push(mark);
420
+ }
421
+ else if (gaps.alt) {
422
+ const alt = detailChange(MEDIA_ALT_FIELD, image.altText, draft.altText, image);
423
+ if (alt)
424
+ changes.push(alt);
425
+ }
426
+ if (gaps.title) {
427
+ const title = detailChange(MEDIA_TITLE_FIELD, image.title, draft.title, image);
428
+ if (title)
429
+ changes.push(title);
430
+ }
431
+ if (gaps.description && !decorative) {
432
+ const description = detailChange(MEDIA_DESCRIPTION_FIELD, image.description, draft.description, image);
433
+ if (description)
434
+ changes.push(description);
435
+ }
436
+ return changes;
437
+ }
438
+ async function defaultGenerateDetails(db, item, image) {
439
+ const [{ generateMediaDetails }, { fetchImageForVision }] = await Promise.all([
440
+ import('./tasks/media-details.js'),
441
+ import('../api/route-helpers/media.js'),
442
+ ]);
443
+ const bytes = image.url ? await fetchImageForVision(image.url, image.mimeType) : null;
444
+ const result = await generateMediaDetails(db, {
445
+ imageUrl: image.url,
446
+ image: bytes,
447
+ context: {
448
+ filename: image.filename,
449
+ altText: image.altText,
450
+ title: image.title,
451
+ description: image.description,
452
+ instruction: image.instruction,
453
+ },
454
+ userId: item.userId,
455
+ });
456
+ if ('ok' in result) {
457
+ if (result.code === 'budget_exceeded' || result.code === 'rate_limited') {
458
+ throw new AiCapRefusal(result.message, aiCapResetsAt(result.code));
459
+ }
460
+ throw new Error(result.message);
461
+ }
462
+ return { draft: result };
463
+ }
464
+ /**
465
+ * Draft the missing details for one image. Nothing is written. An image that
466
+ * already has a real alt, a title, and a description produces no changes.
467
+ */
468
+ export async function suggestMediaDetails(db, item, options) {
469
+ const media = await db.media.findUnique({ where: { id: item.documentId } });
470
+ if (!media || media.deletedAt || !media.mimeType.startsWith('image/'))
471
+ return { changes: [] };
472
+ const titles = await usedOnTitlesByMedia(db, [media.id]);
473
+ const gaps = mediaDetailGaps({
474
+ fileName: media.filename,
475
+ mimeType: media.mimeType,
476
+ altText: media.altText,
477
+ title: media.title,
478
+ description: media.description,
479
+ isDecorative: media.isDecorative,
480
+ usedOnTitles: titles.get(media.id) ?? [],
481
+ });
482
+ if (!mediaNeedsWork(gaps))
483
+ return { changes: [] };
484
+ const image = mediaDetailsImage(media, options?.instruction ?? null);
485
+ const generate = options?.generateDetails ?? ((input) => defaultGenerateDetails(db, item, input));
486
+ const { draft, usage } = await generate(image);
487
+ return { changes: mediaDetailChanges(gaps, draft, image), usage };
488
+ }
489
+ function mediaNeedsWork(gaps) {
490
+ return gaps.alt !== null || gaps.title || gaps.description;
491
+ }
492
+ /** Write every details change in one update, so a retry can't apply half of them. */
493
+ async function writeMediaDetails(db, mediaId, changes) {
494
+ const data = {};
495
+ for (const change of changes) {
496
+ if (change.key === MEDIA_DECORATIVE_FIELD.key) {
497
+ data.isDecorative = true;
498
+ data.altText = null;
499
+ }
500
+ else if (change.key === MEDIA_ALT_FIELD.key) {
501
+ data.altText = change.after;
502
+ data.isDecorative = false;
503
+ }
504
+ else if (change.key === MEDIA_TITLE_FIELD.key) {
505
+ data.title = change.after;
506
+ }
507
+ else if (change.key === MEDIA_DESCRIPTION_FIELD.key) {
508
+ data.description = change.after;
509
+ }
510
+ }
511
+ if (Object.keys(data).length === 0)
512
+ return;
513
+ await db.media.update({ where: { id: mediaId }, data });
514
+ }
313
515
  /**
314
516
  * Generate one document's (or image's) change without writing it, for review
315
517
  * or a preview. Returns no change when the target is gone, or when the AI's text
@@ -397,6 +599,14 @@ export async function applyBatchAiItem(db, item, options) {
397
599
  const { applyBodyLinks } = await import('./batch-links.js');
398
600
  return applyBodyLinks(db, item, options);
399
601
  }
602
+ // One vision call, then every missing field in a single media update.
603
+ if (item.operation === 'media-details') {
604
+ const { changes, usage } = await suggestMediaDetails(db, item, options);
605
+ if (changes.length === 0)
606
+ return { updated: false, usage };
607
+ await writeMediaDetails(db, item.documentId, changes);
608
+ return { updated: true, usage };
609
+ }
400
610
  const write = options?.write ??
401
611
  ((next, expectedUpdatedAt) => updateDocument(item.collection, item.documentId, next, {
402
612
  userId: item.userId,
@@ -1 +1 @@
1
- {"version":3,"file":"batch-list.js","sourceRoot":"","sources":["../../src/ai/batch-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch-list.js","sourceRoot":"","sources":["../../src/ai/batch-list.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"feature-defaults.d.ts","sourceRoot":"","sources":["../../src/ai/feature-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,6BAA6B,CAAA;AAE9D,eAAO,MAAM,mBAAmB,EAAE,eAAe,EAwFhD,CAAA;AAED,mEAAmE;AACnE,wBAAgB,oBAAoB,IAAI,eAAe,EAAE,CAMxD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,SAAS,GAAG,eAAe,EAAE,CAkBtF"}
1
+ {"version":3,"file":"feature-defaults.d.ts","sourceRoot":"","sources":["../../src/ai/feature-defaults.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAEjD,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,6BAA6B,CAAA;AAE9D,eAAO,MAAM,mBAAmB,EAAE,eAAe,EAyFhD,CAAA;AAED,mEAAmE;AACnE,wBAAgB,oBAAoB,IAAI,eAAe,EAAE,CAMxD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,SAAS,GAAG,eAAe,EAAE,CAkBtF"}
@@ -34,7 +34,7 @@ export const AI_FEATURE_DEFAULTS = [
34
34
  {
35
35
  key: 'ai.features.mediaAltText',
36
36
  label: 'Auto alt-text for media',
37
- description: 'Generate descriptive alt text for images on upload or in the SEO drawer.',
37
+ description: 'Generate descriptive alt text for images, and fill a missing title and description from the Jobs screen.',
38
38
  enabled: true,
39
39
  category: 'media',
40
40
  requiredCapabilities: ['vision'],
@@ -1 +1 @@
1
- {"version":3,"file":"feature-defaults.js","sourceRoot":"","sources":["../../src/ai/feature-defaults.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature-defaults.js","sourceRoot":"","sources":["../../src/ai/feature-defaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** A library title, not a sentence. */
2
+ export declare const MEDIA_TITLE_MAX = 100;
3
+ /** One or two sentences for reuse and search. */
4
+ export declare const MEDIA_DESCRIPTION_MAX = 300;
5
+ //# sourceMappingURL=media-detail-limits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-detail-limits.d.ts","sourceRoot":"","sources":["../../../src/ai/tasks/media-detail-limits.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,eAAO,MAAM,eAAe,MAAM,CAAA;AAClC,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,MAAM,CAAA"}
@@ -0,0 +1,5 @@
1
+ /** A library title, not a sentence. */
2
+ export const MEDIA_TITLE_MAX = 100;
3
+ /** One or two sentences for reuse and search. */
4
+ export const MEDIA_DESCRIPTION_MAX = 300;
5
+ //# sourceMappingURL=media-detail-limits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-detail-limits.js","sourceRoot":"","sources":["../../../src/ai/tasks/media-detail-limits.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,GAAG,CAAA;AAClC,iDAAiD;AACjD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA"}