@agent-native/core 0.101.7 → 0.101.11

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 (219) hide show
  1. package/corpus/README.md +1 -1
  2. package/corpus/core/CHANGELOG.md +28 -0
  3. package/corpus/core/docs/content/deployment.mdx +9 -7
  4. package/corpus/core/docs/content/locales/ar-SA/deployment.mdx +9 -7
  5. package/corpus/core/docs/content/locales/de-DE/deployment.mdx +9 -7
  6. package/corpus/core/docs/content/locales/es-ES/deployment.mdx +9 -7
  7. package/corpus/core/docs/content/locales/fr-FR/deployment.mdx +9 -7
  8. package/corpus/core/docs/content/locales/hi-IN/deployment.mdx +9 -7
  9. package/corpus/core/docs/content/locales/ja-JP/deployment.mdx +9 -7
  10. package/corpus/core/docs/content/locales/ko-KR/deployment.mdx +9 -7
  11. package/corpus/core/docs/content/locales/pt-BR/deployment.mdx +9 -7
  12. package/corpus/core/docs/content/locales/zh-CN/deployment.mdx +9 -7
  13. package/corpus/core/docs/content/locales/zh-TW/deployment.mdx +9 -7
  14. package/corpus/core/package.json +1 -1
  15. package/corpus/core/src/a2a/client.ts +23 -1
  16. package/corpus/core/src/a2a/handlers.ts +65 -1
  17. package/corpus/core/src/a2a/server.ts +124 -0
  18. package/corpus/core/src/a2a/task-store.ts +253 -0
  19. package/corpus/core/src/a2a/types.ts +26 -0
  20. package/corpus/core/src/agent/production-agent.ts +5 -2
  21. package/corpus/core/src/client/review/ReviewCommentComposer.tsx +9 -1
  22. package/corpus/core/src/client/review/ReviewThreadPanel.tsx +17 -2
  23. package/corpus/core/src/client/settings/SettingsPanel.tsx +41 -21
  24. package/corpus/core/src/client/settings/useBuilderStatus.ts +28 -9
  25. package/corpus/core/src/client/setup-connections/BuilderConnectCard.tsx +2 -7
  26. package/corpus/core/src/mcp/builtin-tools.ts +25 -1
  27. package/corpus/core/src/scripts/call-agent.ts +22 -3
  28. package/corpus/core/src/server/agent-chat-plugin.ts +86 -1
  29. package/corpus/core/src/server/auth.ts +25 -1
  30. package/corpus/core/src/server/builder-browser.ts +353 -1
  31. package/corpus/core/src/server/core-routes-plugin.ts +601 -223
  32. package/corpus/core/src/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +25 -0
  33. package/corpus/templates/calendar/app/components/calendar/DayView.tsx +80 -1
  34. package/corpus/templates/calendar/app/components/calendar/EventCard.tsx +28 -3
  35. package/corpus/templates/calendar/app/components/calendar/EventDetailPanel.tsx +5 -1
  36. package/corpus/templates/calendar/app/components/calendar/EventDetailPopover.tsx +30 -3
  37. package/corpus/templates/calendar/app/components/calendar/OutOfOfficeEvent.tsx +196 -0
  38. package/corpus/templates/calendar/app/components/calendar/WeekView.tsx +115 -1
  39. package/corpus/templates/calendar/app/lib/out-of-office.ts +45 -0
  40. package/corpus/templates/calendar/changelog/2026-07-14-out-of-office-blocks-now-sit-behind-meetings-and-event-stack.md +6 -0
  41. package/corpus/templates/content/.agents/skills/document-editing/SKILL.md +23 -0
  42. package/corpus/templates/content/AGENTS.md +3 -2
  43. package/corpus/templates/content/actions/_builder-cms-intent-lookup.ts +87 -0
  44. package/corpus/templates/content/actions/_builder-cms-read-client.ts +173 -25
  45. package/corpus/templates/content/actions/_builder-cms-source-adapter.ts +1 -0
  46. package/corpus/templates/content/actions/_builder-cms-write-adapter.ts +427 -18
  47. package/corpus/templates/content/actions/_builder-cms-write-client.ts +17 -73
  48. package/corpus/templates/content/actions/_builder-cms-write-settings.ts +27 -7
  49. package/corpus/templates/content/actions/_builder-source-execution-claim.ts +124 -0
  50. package/corpus/templates/content/actions/_builder-source-execution-preservation.ts +21 -0
  51. package/corpus/templates/content/actions/_builder-source-timings.ts +57 -0
  52. package/corpus/templates/content/actions/_database-source-utils.ts +1041 -154
  53. package/corpus/templates/content/actions/_database-utils.ts +89 -12
  54. package/corpus/templates/content/actions/_preview-document-draft.ts +31 -0
  55. package/corpus/templates/content/actions/cancel-prepared-builder-source-update.ts +309 -0
  56. package/corpus/templates/content/actions/execute-builder-source-batch.ts +120 -49
  57. package/corpus/templates/content/actions/execute-builder-source-execution.ts +608 -264
  58. package/corpus/templates/content/actions/get-preview-document-draft.ts +26 -0
  59. package/corpus/templates/content/actions/materialize-builder-required-fields.ts +550 -0
  60. package/corpus/templates/content/actions/prepare-builder-source-execution.ts +112 -65
  61. package/corpus/templates/content/actions/prepare-builder-source-review.ts +463 -170
  62. package/corpus/templates/content/actions/preview-builder-source-review.ts +99 -0
  63. package/corpus/templates/content/actions/set-content-database-source-write-mode.ts +2 -2
  64. package/corpus/templates/content/actions/update-preview-document-draft.ts +153 -0
  65. package/corpus/templates/content/app/components/editor/DocumentProperties.tsx +27 -15
  66. package/corpus/templates/content/app/components/editor/MathRenderer.tsx +43 -0
  67. package/corpus/templates/content/app/components/editor/SlashCommandMenu.tsx +260 -4
  68. package/corpus/templates/content/app/components/editor/VisualEditor.tsx +57 -5
  69. package/corpus/templates/content/app/components/editor/body-hydration.ts +27 -0
  70. package/corpus/templates/content/app/components/editor/database/DatabaseView.tsx +2353 -576
  71. package/corpus/templates/content/app/components/editor/database/settings.tsx +13 -10
  72. package/corpus/templates/content/app/components/editor/database-sources/BuilderSourceReviewDialog.tsx +358 -75
  73. package/corpus/templates/content/app/components/editor/extensions/NotionExtensions.tsx +78 -0
  74. package/corpus/templates/content/app/components/editor/previewDocumentSaveController.ts +124 -29
  75. package/corpus/templates/content/app/components/editor/previewDocumentSaveRegistry.ts +2 -0
  76. package/corpus/templates/content/app/global.css +71 -1
  77. package/corpus/templates/content/app/hooks/use-content-database.ts +68 -0
  78. package/corpus/templates/content/app/hooks/use-documents.ts +53 -4
  79. package/corpus/templates/content/app/i18n/zh-TW.ts +38 -0
  80. package/corpus/templates/content/app/i18n-data.ts +450 -0
  81. package/corpus/templates/content/app/root.tsx +2 -0
  82. package/corpus/templates/content/changelog/2026-07-10-builder-backed-preview-edits-are-preserved-when-article-bodi.md +6 -0
  83. package/corpus/templates/content/changelog/2026-07-10-builder-cms-sources-can-now-be-enabled-for-guarded-staged-or.md +6 -0
  84. package/corpus/templates/content/changelog/2026-07-13-builder-connection-setup-is-now-available-directly-from-conn.md +6 -0
  85. package/corpus/templates/content/changelog/2026-07-13-builder-reviews-now-hide-already-applied-writes-detect-nativ.md +6 -0
  86. package/corpus/templates/content/changelog/2026-07-13-required-builder-publishing-fields-can-now-be-added-directly.md +6 -0
  87. package/corpus/templates/content/changelog/2026-07-13-you-can-now-cancel-a-prepared-builder-update-safely-before-i.md +6 -0
  88. package/corpus/templates/content/changelog/2026-07-14-builder-account-connection-now-remains-available-when-branch.md +6 -0
  89. package/corpus/templates/content/changelog/2026-07-14-builder-backed-articles-now-preserve-fifth-and-sixth-level-h.md +6 -0
  90. package/corpus/templates/content/changelog/2026-07-14-builder-sources-now-review-and-publish-rich-article-updates-.md +6 -0
  91. package/corpus/templates/content/changelog/2026-07-14-builder-writes-now-stop-retries-when-reconciliation-is-needed.md +6 -0
  92. package/corpus/templates/content/changelog/2026-07-14-file-and-media-links-now-validate-before-saving.md +6 -0
  93. package/corpus/templates/content/changelog/2026-07-14-latex-equations-render-in-documents-public-pages-and-exports.md +6 -0
  94. package/corpus/templates/content/package.json +1 -0
  95. package/corpus/templates/content/parity/matrix.md +27 -25
  96. package/corpus/templates/content/parity/matrix.ts +50 -2
  97. package/corpus/templates/content/server/db/schema.ts +47 -0
  98. package/corpus/templates/content/server/plugins/auth.ts +1 -0
  99. package/corpus/templates/content/server/plugins/db.ts +53 -0
  100. package/corpus/templates/content/shared/api.ts +70 -1
  101. package/corpus/templates/content/shared/builder-mdx.ts +705 -15
  102. package/corpus/templates/content/shared/document-export.ts +296 -25
  103. package/corpus/templates/content/shared/inline-math.ts +128 -0
  104. package/corpus/templates/content/shared/math-rendering.ts +50 -0
  105. package/corpus/templates/content/shared/nfm.ts +20 -17
  106. package/corpus/templates/content/vite.config.ts +0 -1
  107. package/corpus/templates/design/app/components/design/ReadOnlyDesignBanner.tsx +52 -7
  108. package/corpus/templates/design/app/components/design/ReviewCommentsPanel.tsx +36 -4
  109. package/corpus/templates/design/app/components/visual-editor/ReviewCanvasPins.tsx +4 -1
  110. package/corpus/templates/design/app/i18n/ar-SA.ts +1 -0
  111. package/corpus/templates/design/app/i18n/de-DE.ts +1 -0
  112. package/corpus/templates/design/app/i18n/en-US.ts +1 -0
  113. package/corpus/templates/design/app/i18n/es-ES.ts +1 -0
  114. package/corpus/templates/design/app/i18n/fr-FR.ts +1 -0
  115. package/corpus/templates/design/app/i18n/hi-IN.ts +1 -0
  116. package/corpus/templates/design/app/i18n/ja-JP.ts +1 -0
  117. package/corpus/templates/design/app/i18n/ko-KR.ts +1 -0
  118. package/corpus/templates/design/app/i18n/pt-BR.ts +1 -0
  119. package/corpus/templates/design/app/i18n/zh-CN.ts +1 -0
  120. package/corpus/templates/design/app/i18n/zh-TW.ts +1 -0
  121. package/corpus/templates/design/app/pages/design-editor/selection-state.ts +8 -0
  122. package/corpus/templates/design/app/pages/design-editor/tool-state.ts +11 -0
  123. package/corpus/templates/design/changelog/2026-07-14-reviewers-can-now-pin-comments-from-the-canvas-toolbar-targe.md +6 -0
  124. package/corpus/templates/design/changelog/2026-07-15-viewer-comment-controls-now-sit-inside-the-read-only-notice-.md +6 -0
  125. package/corpus/templates/design/shared/review-anchor.ts +48 -0
  126. package/corpus/templates/mail/.agents/skills/email-drafts/SKILL.md +17 -0
  127. package/corpus/templates/mail/AGENTS.md +21 -19
  128. package/corpus/templates/mail/actions/create-attachment-upload.ts +49 -0
  129. package/corpus/templates/mail/changelog/2026-07-14-connected-agents-can-now-securely-upload-local-files-for-mai.md +6 -0
  130. package/corpus/templates/mail/server/handlers/media.ts +84 -61
  131. package/corpus/templates/mail/server/lib/attachment-upload-ticket.ts +234 -0
  132. package/corpus/templates/mail/server/lib/mail-connector-catalog.ts +8 -4
  133. package/corpus/templates/mail/server/lib/media-upload.ts +114 -0
  134. package/corpus/templates/mail/server/plugins/auth.ts +9 -1
  135. package/corpus/templates/mail/server/routes/api/media/attachment-upload/[uploadId].put.ts +1 -0
  136. package/corpus/templates/plan/server/plan-mdx.ts +53 -7
  137. package/dist/a2a/client.d.ts +5 -1
  138. package/dist/a2a/client.d.ts.map +1 -1
  139. package/dist/a2a/client.js +18 -1
  140. package/dist/a2a/client.js.map +1 -1
  141. package/dist/a2a/handlers.d.ts.map +1 -1
  142. package/dist/a2a/handlers.js +57 -8
  143. package/dist/a2a/handlers.js.map +1 -1
  144. package/dist/a2a/server.d.ts.map +1 -1
  145. package/dist/a2a/server.js +87 -1
  146. package/dist/a2a/server.js.map +1 -1
  147. package/dist/a2a/task-store.d.ts +27 -0
  148. package/dist/a2a/task-store.d.ts.map +1 -1
  149. package/dist/a2a/task-store.js +216 -0
  150. package/dist/a2a/task-store.js.map +1 -1
  151. package/dist/a2a/types.d.ts +24 -0
  152. package/dist/a2a/types.d.ts.map +1 -1
  153. package/dist/a2a/types.js.map +1 -1
  154. package/dist/agent/production-agent.d.ts +1 -0
  155. package/dist/agent/production-agent.d.ts.map +1 -1
  156. package/dist/agent/production-agent.js +5 -2
  157. package/dist/agent/production-agent.js.map +1 -1
  158. package/dist/client/review/ReviewCommentComposer.d.ts +2 -1
  159. package/dist/client/review/ReviewCommentComposer.d.ts.map +1 -1
  160. package/dist/client/review/ReviewCommentComposer.js +3 -3
  161. package/dist/client/review/ReviewCommentComposer.js.map +1 -1
  162. package/dist/client/review/ReviewThreadPanel.d.ts +9 -1
  163. package/dist/client/review/ReviewThreadPanel.d.ts.map +1 -1
  164. package/dist/client/review/ReviewThreadPanel.js +6 -4
  165. package/dist/client/review/ReviewThreadPanel.js.map +1 -1
  166. package/dist/client/settings/SettingsPanel.d.ts +3 -0
  167. package/dist/client/settings/SettingsPanel.d.ts.map +1 -1
  168. package/dist/client/settings/SettingsPanel.js +11 -4
  169. package/dist/client/settings/SettingsPanel.js.map +1 -1
  170. package/dist/client/settings/useBuilderStatus.d.ts +8 -4
  171. package/dist/client/settings/useBuilderStatus.d.ts.map +1 -1
  172. package/dist/client/settings/useBuilderStatus.js +19 -6
  173. package/dist/client/settings/useBuilderStatus.js.map +1 -1
  174. package/dist/client/setup-connections/BuilderConnectCard.d.ts.map +1 -1
  175. package/dist/client/setup-connections/BuilderConnectCard.js +2 -5
  176. package/dist/client/setup-connections/BuilderConnectCard.js.map +1 -1
  177. package/dist/collab/awareness.d.ts +2 -2
  178. package/dist/collab/awareness.d.ts.map +1 -1
  179. package/dist/collab/struct-routes.d.ts +1 -1
  180. package/dist/file-upload/actions/upload-image.d.ts +1 -1
  181. package/dist/mcp/builtin-tools.d.ts.map +1 -1
  182. package/dist/mcp/builtin-tools.js +22 -3
  183. package/dist/mcp/builtin-tools.js.map +1 -1
  184. package/dist/notifications/routes.d.ts +3 -3
  185. package/dist/resources/handlers.d.ts +2 -2
  186. package/dist/scripts/call-agent.d.ts +1 -1
  187. package/dist/scripts/call-agent.d.ts.map +1 -1
  188. package/dist/scripts/call-agent.js +19 -1
  189. package/dist/scripts/call-agent.js.map +1 -1
  190. package/dist/server/agent-chat-plugin.d.ts.map +1 -1
  191. package/dist/server/agent-chat-plugin.js +71 -2
  192. package/dist/server/agent-chat-plugin.js.map +1 -1
  193. package/dist/server/agent-engine-api-key-route.d.ts +1 -1
  194. package/dist/server/auth.d.ts +1 -0
  195. package/dist/server/auth.d.ts.map +1 -1
  196. package/dist/server/auth.js +19 -2
  197. package/dist/server/auth.js.map +1 -1
  198. package/dist/server/builder-browser.d.ts +78 -0
  199. package/dist/server/builder-browser.d.ts.map +1 -1
  200. package/dist/server/builder-browser.js +246 -1
  201. package/dist/server/builder-browser.js.map +1 -1
  202. package/dist/server/core-routes-plugin.d.ts +41 -0
  203. package/dist/server/core-routes-plugin.d.ts.map +1 -1
  204. package/dist/server/core-routes-plugin.js +260 -14
  205. package/dist/server/core-routes-plugin.js.map +1 -1
  206. package/dist/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +25 -0
  207. package/docs/content/deployment.mdx +9 -7
  208. package/docs/content/locales/ar-SA/deployment.mdx +9 -7
  209. package/docs/content/locales/de-DE/deployment.mdx +9 -7
  210. package/docs/content/locales/es-ES/deployment.mdx +9 -7
  211. package/docs/content/locales/fr-FR/deployment.mdx +9 -7
  212. package/docs/content/locales/hi-IN/deployment.mdx +9 -7
  213. package/docs/content/locales/ja-JP/deployment.mdx +9 -7
  214. package/docs/content/locales/ko-KR/deployment.mdx +9 -7
  215. package/docs/content/locales/pt-BR/deployment.mdx +9 -7
  216. package/docs/content/locales/zh-CN/deployment.mdx +9 -7
  217. package/docs/content/locales/zh-TW/deployment.mdx +9 -7
  218. package/package.json +2 -2
  219. package/src/templates/workspace-core/.agents/skills/a2a-protocol/SKILL.md +25 -0
@@ -641,6 +641,59 @@ const runContentMigrations = runMigrations(
641
641
  sql: `ALTER TABLE documents ADD COLUMN IF NOT EXISTS description TEXT NOT NULL DEFAULT '';
642
642
  ALTER TABLE document_property_definitions ADD COLUMN IF NOT EXISTS description TEXT NOT NULL DEFAULT ''`,
643
643
  },
644
+ {
645
+ version: 66,
646
+ name: "document-preview-drafts-private-cas",
647
+ sql: `CREATE TABLE IF NOT EXISTS document_preview_drafts (
648
+ id TEXT PRIMARY KEY,
649
+ owner_email TEXT NOT NULL,
650
+ org_id TEXT NOT NULL DEFAULT '',
651
+ document_id TEXT NOT NULL,
652
+ title TEXT NOT NULL,
653
+ content TEXT NOT NULL,
654
+ base_document_updated_at TEXT,
655
+ loaded_content_was_empty INTEGER NOT NULL DEFAULT 0,
656
+ deferred_reason TEXT,
657
+ version INTEGER NOT NULL DEFAULT 1,
658
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP,
659
+ updated_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
660
+ );
661
+ CREATE UNIQUE INDEX IF NOT EXISTS document_preview_drafts_owner_org_document_unique ON document_preview_drafts (owner_email, org_id, document_id);
662
+ CREATE INDEX IF NOT EXISTS document_preview_drafts_owner_org_document_idx ON document_preview_drafts (owner_email, org_id, document_id)`,
663
+ },
664
+ {
665
+ version: 67,
666
+ name: "builder-source-execution-attempt-token",
667
+ sql: `ALTER TABLE content_database_source_executions ADD COLUMN IF NOT EXISTS attempt_token TEXT`,
668
+ },
669
+ {
670
+ version: 68,
671
+ name: "builder-source-execution-claims",
672
+ // Non-destructive concurrency fence. Existing duplicate execution rows
673
+ // remain intact as ambiguity evidence; the claim chooses one canonical
674
+ // row for every future prepare/execute path.
675
+ sql: `CREATE TABLE IF NOT EXISTS content_database_source_execution_claims (
676
+ id TEXT PRIMARY KEY,
677
+ owner_email TEXT NOT NULL DEFAULT 'local@localhost',
678
+ source_id TEXT NOT NULL,
679
+ idempotency_key TEXT NOT NULL,
680
+ execution_id TEXT NOT NULL,
681
+ created_at TEXT NOT NULL DEFAULT CURRENT_TIMESTAMP
682
+ );
683
+ CREATE UNIQUE INDEX IF NOT EXISTS content_database_source_execution_claims_source_key_unique
684
+ ON content_database_source_execution_claims (source_id, idempotency_key)`,
685
+ },
686
+ {
687
+ version: 69,
688
+ name: "builder-source-execution-claims-owner-scope",
689
+ sql: `ALTER TABLE content_database_source_execution_claims ADD COLUMN IF NOT EXISTS owner_email TEXT NOT NULL DEFAULT 'local@localhost';
690
+ UPDATE content_database_source_execution_claims
691
+ SET owner_email = COALESCE(
692
+ (SELECT owner_email FROM content_database_source_executions
693
+ WHERE content_database_source_executions.id = content_database_source_execution_claims.execution_id),
694
+ owner_email
695
+ )`,
696
+ },
644
697
  ],
645
698
  { table: "content_migrations" },
646
699
  );
@@ -366,6 +366,7 @@ export type ContentDatabaseBodyHydrationState =
366
366
  | "pending"
367
367
  | "hydrating"
368
368
  | "hydrated"
369
+ | "unavailable"
369
370
  | "error";
370
371
 
371
372
  export interface ContentDatabaseBodyHydration {
@@ -379,6 +380,7 @@ export interface ContentDatabaseBodyHydrationSummary {
379
380
  pending: number;
380
381
  hydrating: number;
381
382
  hydrated: number;
383
+ unavailable?: number;
382
384
  error: number;
383
385
  total: number;
384
386
  }
@@ -452,6 +454,8 @@ export type ContentDatabaseSourceExecutionState =
452
454
  | "write_disabled"
453
455
  | "blocked"
454
456
  | "running"
457
+ | "response_received"
458
+ | "reconciliation_required"
455
459
  | "succeeded"
456
460
  | "failed";
457
461
 
@@ -507,6 +511,8 @@ export interface ContentDatabaseSourceFieldChange {
507
511
  sourceFieldKey: string;
508
512
  currentValue: DocumentPropertyValue;
509
513
  proposedValue: DocumentPropertyValue;
514
+ /** Exact provider-native JSON value; review continues to show proposedValue. */
515
+ builderValueJson?: string;
510
516
  }
511
517
 
512
518
  export interface ContentDatabaseSourceBodyChange {
@@ -647,6 +653,7 @@ export interface ContentDatabaseSource {
647
653
  allowDraftWrites?: boolean;
648
654
  allowPublishWrites?: boolean;
649
655
  allowedWriteModes?: ContentDatabaseSourcePushMode[];
656
+ builderModelFields?: BuilderCmsModelFieldSummary[];
650
657
  federation?: ContentDatabaseSourceFederation;
651
658
  };
652
659
  fields: ContentDatabaseSourceFieldMapping[];
@@ -667,6 +674,7 @@ export interface BuilderCmsModelFieldSummary {
667
674
  label?: string;
668
675
  type: string;
669
676
  inputType?: string;
677
+ model?: string;
670
678
  enum?: string[];
671
679
  options?: string[];
672
680
  required: boolean;
@@ -725,6 +733,12 @@ export interface ContentDatabaseResponse {
725
733
  duplicatedDocumentIds?: string[];
726
734
  deletedItemIds?: string[];
727
735
  deletedDocumentIds?: string[];
736
+ timings?: BuilderActionTiming[];
737
+ }
738
+
739
+ export interface BuilderActionTiming {
740
+ name: string;
741
+ durationMs: number;
728
742
  }
729
743
 
730
744
  export interface ContentDatabaseUnavailableResponse {
@@ -958,6 +972,25 @@ export interface PrepareBuilderSourceExecutionRequest {
958
972
  confirmUnpublish?: boolean;
959
973
  }
960
974
 
975
+ export interface CancelPreparedBuilderSourceUpdateRequest {
976
+ databaseId?: string;
977
+ documentId?: string;
978
+ sourceId: string;
979
+ changeSetId: string;
980
+ note?: string;
981
+ }
982
+
983
+ export interface CancelPreparedBuilderSourceUpdateResponse extends ContentDatabaseResponse {
984
+ cancellation: {
985
+ sourceId: string;
986
+ changeSetId: string;
987
+ executionIds: string[];
988
+ status: "cancelled" | "already_cancelled";
989
+ cancelledAt: string;
990
+ cancelledBy: string;
991
+ };
992
+ }
993
+
961
994
  export interface ValidateBuilderSourceExecutionRequest {
962
995
  databaseId?: string;
963
996
  documentId?: string;
@@ -988,6 +1021,7 @@ export interface PrepareBuilderSourceReviewRequest {
988
1021
  pushModeConfirmation?: ContentDatabaseSourcePushMode;
989
1022
  publicationTransition?: BuilderCmsPublicationTransitionIntent;
990
1023
  confirmUnpublish?: boolean;
1024
+ transitions?: Record<string, ExecuteBuilderSourceBatchTransition>;
991
1025
  }
992
1026
 
993
1027
  export interface ExecuteBuilderSourceBatchTransition {
@@ -1004,12 +1038,17 @@ export interface ExecuteBuilderSourceBatchRequest {
1004
1038
  transitions?: Record<string, ExecuteBuilderSourceBatchTransition>;
1005
1039
  }
1006
1040
 
1007
- export type BuilderSourceBatchItemStatus = "succeeded" | "blocked" | "failed";
1041
+ export type BuilderSourceBatchItemStatus =
1042
+ | "succeeded"
1043
+ | "blocked"
1044
+ | "reconciliation_required"
1045
+ | "failed";
1008
1046
 
1009
1047
  export interface BuilderSourceBatchItemResult {
1010
1048
  changeSetId: string;
1011
1049
  status: BuilderSourceBatchItemStatus;
1012
1050
  message?: string;
1051
+ timings?: BuilderActionTiming[];
1013
1052
  }
1014
1053
 
1015
1054
  export interface ExecuteBuilderSourceBatchResponse {
@@ -1017,9 +1056,11 @@ export interface ExecuteBuilderSourceBatchResponse {
1017
1056
  total: number;
1018
1057
  succeeded: number;
1019
1058
  blocked: number;
1059
+ reconciliationRequired: number;
1020
1060
  failed: number;
1021
1061
  };
1022
1062
  results: BuilderSourceBatchItemResult[];
1063
+ timings?: BuilderActionTiming[];
1023
1064
  }
1024
1065
 
1025
1066
  export interface SetContentDatabaseSourceWriteModeRequest {
@@ -1100,6 +1141,8 @@ export interface ContentDatabaseSourceReviewRowSummary {
1100
1141
  databaseItemId: string | null;
1101
1142
  documentId: string | null;
1102
1143
  title: string;
1144
+ /** Existing Builder entry targeted by this write; null for new drafts. */
1145
+ targetEntryId?: string | null;
1103
1146
  fieldChanges: ContentDatabaseSourceFieldChange[];
1104
1147
  bodyChange: ContentDatabaseSourceBodyChange | null;
1105
1148
  riskLevel: ContentDatabaseSourceRiskLevel;
@@ -1129,18 +1172,44 @@ export interface ContentDatabaseSourceReviewPayload {
1129
1172
  | "stale"
1130
1173
  | "write_disabled"
1131
1174
  | "running"
1175
+ | "reconciliation_required"
1132
1176
  | "succeeded"
1133
1177
  | "failed";
1134
1178
  message: string;
1135
1179
  };
1136
1180
  }
1137
1181
 
1182
+ export interface PreviewBuilderSourceReviewRequest {
1183
+ databaseId?: string;
1184
+ documentId?: string;
1185
+ sourceId?: string;
1186
+ scope?: "selected" | "all";
1187
+ documentIds?: string[];
1188
+ }
1189
+
1190
+ export interface PreviewBuilderSourceReviewResponse {
1191
+ sourceId: string;
1192
+ sourceTable: string;
1193
+ changeSetIds: string[];
1194
+ review: ContentDatabaseSourceReviewPayload | null;
1195
+ }
1196
+
1138
1197
  export interface PrepareBuilderSourceReviewResponse {
1139
1198
  database: ContentDatabase;
1140
1199
  properties: DocumentProperty[];
1141
1200
  items: ContentDatabaseItem[];
1142
1201
  source: ContentDatabaseSource | null;
1143
1202
  review: ContentDatabaseSourceReviewPayload;
1203
+ /**
1204
+ * Maps the operator-selected diff identities to the immutable change-set
1205
+ * identities prepared for execution. These differ when a cancelled or
1206
+ * otherwise closed synthetic diff is reviewed again as a new revision.
1207
+ */
1208
+ preparedChangeSetMappings: Array<{
1209
+ requestedChangeSetId: string;
1210
+ preparedChangeSetId: string;
1211
+ }>;
1212
+ timings?: BuilderActionTiming[];
1144
1213
  }
1145
1214
 
1146
1215
  export interface ProcessBuilderBodyHydrationRequest {