superdoc 2.24.0-next.8 → 2.24.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 (51) hide show
  1. package/dist/collaboration-upgrade-engine.cjs +1 -1
  2. package/dist/collaboration-upgrade-engine.es.js +1 -1
  3. package/dist/document-api/src/authorities/authorities.types.d.ts +2 -0
  4. package/dist/document-api/src/bookmarks/bookmarks.types.d.ts +1 -0
  5. package/dist/document-api/src/captions/captions.types.d.ts +1 -0
  6. package/dist/document-api/src/citations/citations.types.d.ts +2 -0
  7. package/dist/document-api/src/content-controls/content-controls.types.d.ts +1 -0
  8. package/dist/document-api/src/contract/command-catalog.d.ts +1 -1
  9. package/dist/document-api/src/contract/operation-definitions.d.ts +22 -4
  10. package/dist/document-api/src/cross-refs/cross-refs.types.d.ts +1 -0
  11. package/dist/document-api/src/fields/fields.types.d.ts +1 -0
  12. package/dist/document-api/src/footnotes/footnotes.types.d.ts +2 -0
  13. package/dist/document-api/src/get/get.d.ts +2 -1
  14. package/dist/document-api/src/hyperlinks/hyperlinks.types.d.ts +1 -0
  15. package/dist/document-api/src/images/images.types.d.ts +2 -0
  16. package/dist/document-api/src/index/index.types.d.ts +2 -0
  17. package/dist/document-api/src/index.d.ts +9 -6
  18. package/dist/document-api/src/inline-semantics/token-sets.d.ts +11 -0
  19. package/dist/document-api/src/lists/lists.types.d.ts +10 -0
  20. package/dist/document-api/src/paragraphs/paragraphs.types.d.ts +3 -0
  21. package/dist/document-api/src/receipt-bridge.d.ts +1 -0
  22. package/dist/document-api/src/sections/sections.types.d.ts +4 -1
  23. package/dist/document-api/src/styles/apply.d.ts +5 -0
  24. package/dist/document-api/src/styles/catalog.d.ts +40 -19
  25. package/dist/document-api/src/styles/create.d.ts +160 -0
  26. package/dist/document-api/src/styles/index.d.ts +8 -4
  27. package/dist/document-api/src/styles/registry.d.ts +34 -2
  28. package/dist/document-api/src/styles/schema.d.ts +24 -5
  29. package/dist/document-api/src/styles/theme.d.ts +32 -0
  30. package/dist/document-api/src/styles/validation.d.ts +11 -2
  31. package/dist/document-api/src/templates/apply.d.ts +13 -15
  32. package/dist/document-api/src/toc/toc.types.d.ts +3 -0
  33. package/dist/document-api/src/types/blocks.types.d.ts +6 -1
  34. package/dist/document-api/src/types/create.types.d.ts +3 -1
  35. package/dist/document-api/src/types/fragment.d.ts +3 -0
  36. package/dist/document-api/src/types/mutation-plan.types.d.ts +4 -0
  37. package/dist/document-api/src/types/query-match.types.d.ts +43 -5
  38. package/dist/document-api/src/types/receipt.d.ts +8 -0
  39. package/dist/document-api/src/types/sd-contract.d.ts +2 -0
  40. package/dist/document-api/src/types/sd-props.d.ts +54 -14
  41. package/dist/document-api/src/types/sd-styles.d.ts +58 -3
  42. package/dist/document-api/src/types/table-operations.types.d.ts +2 -0
  43. package/dist/style.css +22 -22
  44. package/dist/style.layered.css +22 -22
  45. package/dist/superdoc/src/core/editor-runtime/v2/v2-session-shortcut-routes.d.ts +2 -0
  46. package/dist/superdoc.cjs +11 -8
  47. package/dist/superdoc.es.js +11 -8
  48. package/dist-cdn/style.layered.css +1 -1
  49. package/dist-cdn/superdoc.min.css +1 -1
  50. package/dist-cdn/superdoc.min.js +18 -18
  51. package/package.json +2 -2
@@ -19,7 +19,7 @@ var COLLABORATION_UPGRADE_ENGINE_MINIMUM_NODE_MAJOR = 20;
19
19
  var PRIVATE_ENGINE_INFO = (0, _superdoc_docx_engine_collaboration_upgrade_engine.getCollaborationUpgradeEngineInfo)();
20
20
  var ENGINE_INFO = Object.freeze({
21
21
  ...PRIVATE_ENGINE_INFO,
22
- superdocVersion: "2.24.0-next.8",
22
+ superdocVersion: "2.24.0",
23
23
  roomSchemaVersion: Object.freeze({ ...PRIVATE_ENGINE_INFO.roomSchemaVersion }),
24
24
  supportedBundleVersions: SUPPORTED_COLLABORATION_UPGRADE_BUNDLE_VERSIONS,
25
25
  supportedV1ReaderContractVersions: SUPPORTED_V1_READER_CONTRACT_VERSIONS
@@ -18,7 +18,7 @@ var COLLABORATION_UPGRADE_ENGINE_MINIMUM_NODE_MAJOR = 20;
18
18
  var PRIVATE_ENGINE_INFO = getCollaborationUpgradeEngineInfo$1();
19
19
  var ENGINE_INFO = Object.freeze({
20
20
  ...PRIVATE_ENGINE_INFO,
21
- superdocVersion: "2.24.0-next.8",
21
+ superdocVersion: "2.24.0",
22
22
  roomSchemaVersion: Object.freeze({ ...PRIVATE_ENGINE_INFO.roomSchemaVersion }),
23
23
  supportedBundleVersions: SUPPORTED_COLLABORATION_UPGRADE_BUNDLE_VERSIONS,
24
24
  supportedV1ReaderContractVersions: SUPPORTED_V1_READER_CONTRACT_VERSIONS
@@ -101,11 +101,13 @@ export interface AuthorityEntryDomain {
101
101
  }
102
102
  export interface AuthoritiesMutationSuccess {
103
103
  success: true;
104
+ appliedChangeMode?: 'direct' | 'tracked';
104
105
  authorities: AuthoritiesAddress;
105
106
  }
106
107
  export type AuthoritiesMutationResult = AuthoritiesMutationSuccess | AdapterMutationFailure;
107
108
  export interface AuthorityEntryMutationSuccess {
108
109
  success: true;
110
+ appliedChangeMode?: 'direct' | 'tracked';
109
111
  entry: AuthorityEntryAddress;
110
112
  }
111
113
  export type AuthorityEntryMutationResult = AuthorityEntryMutationSuccess | AdapterMutationFailure;
@@ -82,6 +82,7 @@ export interface BookmarkDomain {
82
82
  }
83
83
  export interface BookmarkMutationSuccess {
84
84
  success: true;
85
+ appliedChangeMode?: 'direct' | 'tracked';
85
86
  bookmark: BookmarkAddress;
86
87
  }
87
88
  export type BookmarkMutationResult = BookmarkMutationSuccess | AdapterMutationFailure;
@@ -51,6 +51,7 @@ export interface CaptionDomain {
51
51
  }
52
52
  export interface CaptionMutationSuccess {
53
53
  success: true;
54
+ appliedChangeMode?: 'direct' | 'tracked';
54
55
  caption: CaptionAddress;
55
56
  }
56
57
  export type CaptionMutationResult = CaptionMutationSuccess | AdapterMutationFailure;
@@ -144,6 +144,7 @@ export interface BibliographyInfo {
144
144
  }
145
145
  export interface CitationMutationSuccess {
146
146
  success: true;
147
+ appliedChangeMode?: 'direct' | 'tracked';
147
148
  citation: CitationAddress;
148
149
  }
149
150
  export type CitationMutationResult = CitationMutationSuccess | AdapterMutationFailure;
@@ -154,6 +155,7 @@ export interface CitationSourceMutationSuccess {
154
155
  export type CitationSourceMutationResult = CitationSourceMutationSuccess | AdapterMutationFailure;
155
156
  export interface BibliographyMutationSuccess {
156
157
  success: true;
158
+ appliedChangeMode?: 'direct' | 'tracked';
157
159
  bibliography: BibliographyAddress;
158
160
  }
159
161
  export type BibliographyMutationResult = BibliographyMutationSuccess | AdapterMutationFailure;
@@ -156,6 +156,7 @@ export interface ContentControlInfo {
156
156
  }
157
157
  export interface ContentControlMutationSuccess {
158
158
  success: true;
159
+ appliedChangeMode?: 'direct' | 'tracked';
159
160
  contentControl: ContentControlTarget;
160
161
  updatedRef?: ContentControlTarget;
161
162
  affectedStories?: StoryLocator[];
@@ -1,7 +1,7 @@
1
1
  import { CommandCatalog, CommandStaticMetadata, OperationId } from './types.js';
2
2
  export declare const COMMAND_CATALOG: CommandCatalog;
3
3
  /** Operation IDs whose catalog entry has `mutates: true`. */
4
- export declare const MUTATING_OPERATION_IDS: ("replace" | "find" | "delete" | "insert" | "info" | "selection.extractOoxml" | "selection.current" | "selection.releaseSnapshot" | "projectHtml" | "projectMarkdown" | "capabilities.check" | "format.apply" | "blocks.split" | "blocks.merge" | "blocks.move" | "lists.getState" | "lists.apply" | "lists.continue" | "lists.restart" | "lists.remove" | "format.paragraph.setMarkRunProps" | "tables.moveRow" | "tables.moveColumn" | "format.bold" | "format.strike" | "format.color" | "format.position" | "format.rtl" | "format.cs" | "format.shading" | "format.fontFamily" | "format.lang" | "format.fontSize" | "format.fontSizeCs" | "format.highlight" | "format.italic" | "format.underline" | "format.caps" | "format.smallCaps" | "format.outline" | "format.shadow" | "format.emboss" | "format.imprint" | "format.vanish" | "format.webHidden" | "format.specVanish" | "format.border" | "format.fitText" | "format.dstrike" | "format.vertAlign" | "format.bCs" | "format.iCs" | "format.snapToGrid" | "format.oMath" | "format.letterSpacing" | "format.charScale" | "format.kerning" | "format.rStyle" | "format.rFonts" | "format.eastAsianLayout" | "format.em" | "format.ligatures" | "format.numForm" | "format.numSpacing" | "format.stylisticSets" | "format.contextualAlternates" | "get" | "getNode" | "getNodeById" | "getText" | "getMarkdown" | "getHtml" | "markdownToFragment" | "htmlToFragment" | "extract" | "clearContent" | "formatRange" | "blocks.findText" | "blocks.list" | "blocks.delete" | "blocks.deleteRange" | "styles.apply" | "styles.getCatalog" | "templates.apply" | "create.paragraph" | "create.heading" | "create.sectionBreak" | "sections.list" | "sections.get" | "sections.setBreakType" | "sections.setPageMargins" | "sections.setHeaderFooterMargins" | "sections.setPageSetup" | "sections.setColumns" | "sections.setLineNumbering" | "sections.setPageNumbering" | "sections.setTitlePage" | "sections.setOddEvenHeadersFooters" | "sections.setVerticalAlign" | "sections.setSectionDirection" | "sections.setHeaderFooterRef" | "sections.clearHeaderFooterRef" | "sections.setLinkToPrevious" | "sections.setPageBorders" | "sections.clearPageBorders" | "styles.paragraph.setStyle" | "styles.paragraph.setStyleRef" | "styles.paragraph.clearStyle" | "format.paragraph.resetDirectFormatting" | "format.paragraph.setAlignment" | "format.paragraph.clearAlignment" | "format.paragraph.setIndentation" | "format.paragraph.clearIndentation" | "format.paragraph.setSpacing" | "format.paragraph.clearSpacing" | "format.paragraph.setKeepOptions" | "format.paragraph.setOutlineLevel" | "format.paragraph.setFlowOptions" | "format.paragraph.setTabStop" | "format.paragraph.clearTabStop" | "format.paragraph.clearAllTabStops" | "format.paragraph.setBorder" | "format.paragraph.clearBorder" | "format.paragraph.setShading" | "format.paragraph.clearShading" | "format.paragraph.setDirection" | "format.paragraph.clearDirection" | "format.paragraph.setNumbering" | "lists.list" | "lists.get" | "lists.insert" | "lists.create" | "lists.attach" | "lists.detach" | "lists.delete" | "lists.indent" | "lists.outdent" | "lists.join" | "lists.canJoin" | "lists.separate" | "lists.merge" | "lists.split" | "lists.setLevel" | "lists.setValue" | "lists.continuePrevious" | "lists.canContinuePrevious" | "lists.setLevelRestart" | "lists.convertToText" | "lists.applyTemplate" | "lists.applyPreset" | "lists.setType" | "lists.captureTemplate" | "lists.setLevelNumbering" | "lists.setLevelBullet" | "lists.setLevelPictureBullet" | "lists.setLevelAlignment" | "lists.setLevelIndents" | "lists.setLevelTrailingCharacter" | "lists.setLevelMarkerFont" | "lists.clearLevelOverrides" | "lists.getStyle" | "lists.applyStyle" | "lists.restartAt" | "lists.setLevelNumberStyle" | "lists.setLevelText" | "lists.setLevelStart" | "lists.setLevelLayout" | "comments.create" | "comments.patch" | "comments.delete" | "comments.get" | "comments.list" | "trackChanges.list" | "trackChanges.get" | "trackChanges.decide" | "query.match" | "ranges.resolve" | "mutations.preview" | "mutations.apply" | "plan.execute" | "capabilities.get" | "capabilities.resolve" | "create.table" | "tables.convertFromText" | "tables.delete" | "tables.clearContents" | "tables.move" | "tables.split" | "tables.convertToText" | "tables.setLayout" | "tables.insertRow" | "tables.deleteRow" | "tables.setRowHeight" | "tables.distributeRows" | "tables.setRowOptions" | "tables.insertColumn" | "tables.deleteColumn" | "tables.setColumnWidth" | "tables.distributeColumns" | "tables.insertCell" | "tables.deleteCell" | "tables.mergeCells" | "tables.unmergeCells" | "tables.splitCell" | "tables.setCellProperties" | "tables.setCellText" | "tables.sort" | "tables.setAltText" | "tables.setStyle" | "tables.clearStyle" | "tables.setStyleOption" | "tables.setBorder" | "tables.clearBorder" | "tables.applyBorderPreset" | "tables.setShading" | "tables.clearShading" | "tables.setTablePadding" | "tables.setCellPadding" | "tables.setCellSpacing" | "tables.clearCellSpacing" | "tables.applyStyle" | "tables.setBorders" | "tables.setTableOptions" | "tables.applyPreset" | "tables.get" | "tables.getCells" | "tables.getProperties" | "tables.getStyles" | "tables.setDefaultStyle" | "tables.clearDefaultStyle" | "create.tableOfContents" | "toc.list" | "toc.get" | "toc.configure" | "toc.update" | "toc.remove" | "toc.markEntry" | "toc.unmarkEntry" | "toc.listEntries" | "toc.getEntry" | "toc.editEntry" | "history.get" | "history.undo" | "history.redo" | "create.image" | "images.list" | "images.get" | "images.delete" | "images.move" | "images.convertToInline" | "images.convertToFloating" | "images.setSize" | "images.setWrapType" | "images.setWrapSide" | "images.setWrapDistances" | "images.setPosition" | "images.setAnchorOptions" | "images.setZOrder" | "images.scale" | "images.setLockAspectRatio" | "images.rotate" | "images.flip" | "images.crop" | "images.resetCrop" | "images.replaceSource" | "images.setAltText" | "images.setDecorative" | "images.setName" | "images.setHyperlink" | "images.insertCaption" | "images.updateCaption" | "images.removeCaption" | "hyperlinks.list" | "hyperlinks.get" | "hyperlinks.wrap" | "hyperlinks.insert" | "hyperlinks.patch" | "hyperlinks.remove" | "headerFooters.list" | "headerFooters.get" | "headerFooters.resolve" | "headerFooters.refs.set" | "headerFooters.refs.clear" | "headerFooters.refs.setLinkedToPrevious" | "headerFooters.parts.list" | "headerFooters.parts.create" | "headerFooters.parts.delete" | "headerFooters.pageNumbers.get" | "headerFooters.pageNumbers.insert" | "headerFooters.pageNumbers.set" | "headerFooters.pageNumbers.remove" | "watermarks.apply" | "watermarks.list" | "watermarks.insert" | "watermarks.replace" | "watermarks.remove" | "create.contentControl" | "contentControls.list" | "contentControls.get" | "contentControls.listInRange" | "contentControls.selectByTag" | "contentControls.selectByTitle" | "contentControls.listChildren" | "contentControls.getParent" | "contentControls.wrap" | "contentControls.unwrap" | "contentControls.delete" | "contentControls.copy" | "contentControls.move" | "contentControls.patch" | "contentControls.setLockMode" | "contentControls.setType" | "contentControls.getContent" | "contentControls.replaceContent" | "contentControls.clearContent" | "contentControls.appendContent" | "contentControls.prependContent" | "contentControls.insertBefore" | "contentControls.insertAfter" | "contentControls.getBinding" | "contentControls.setBinding" | "contentControls.clearBinding" | "contentControls.getRawProperties" | "contentControls.patchRawProperties" | "contentControls.validateWordCompatibility" | "contentControls.normalizeWordCompatibility" | "contentControls.normalizeTagPayload" | "contentControls.text.setMultiline" | "contentControls.text.setValue" | "contentControls.text.clearValue" | "contentControls.date.setValue" | "contentControls.date.clearValue" | "contentControls.date.setDisplayFormat" | "contentControls.date.setDisplayLocale" | "contentControls.date.setStorageFormat" | "contentControls.date.setCalendar" | "contentControls.checkbox.getState" | "contentControls.checkbox.setState" | "contentControls.checkbox.toggle" | "contentControls.checkbox.setSymbolPair" | "contentControls.choiceList.getItems" | "contentControls.choiceList.setItems" | "contentControls.choiceList.setSelected" | "contentControls.repeatingSection.listItems" | "contentControls.repeatingSection.insertItemBefore" | "contentControls.repeatingSection.insertItemAfter" | "contentControls.repeatingSection.cloneItem" | "contentControls.repeatingSection.deleteItem" | "contentControls.repeatingSection.setAllowInsertDelete" | "contentControls.group.wrap" | "contentControls.group.ungroup" | "bookmarks.list" | "bookmarks.get" | "bookmarks.insert" | "bookmarks.rename" | "bookmarks.remove" | "footnotes.list" | "footnotes.get" | "footnotes.insert" | "footnotes.update" | "footnotes.remove" | "footnotes.configure" | "clipboard.parse" | "clipboard.insert" | "clipboard.serializeSelection" | "crossRefs.list" | "crossRefs.get" | "crossRefs.insert" | "crossRefs.rebuild" | "crossRefs.remove" | "index.list" | "index.get" | "index.insert" | "index.configure" | "index.rebuild" | "index.remove" | "index.entries.list" | "index.entries.get" | "index.entries.insert" | "index.entries.update" | "index.entries.remove" | "captions.list" | "captions.get" | "captions.insert" | "captions.update" | "captions.remove" | "captions.configure" | "fields.list" | "fields.get" | "fields.insert" | "fields.rebuild" | "fields.remove" | "citations.list" | "citations.get" | "citations.insert" | "citations.update" | "citations.remove" | "citations.sources.list" | "citations.sources.get" | "citations.sources.insert" | "citations.sources.update" | "citations.sources.remove" | "citations.bibliography.get" | "citations.bibliography.insert" | "citations.bibliography.rebuild" | "citations.bibliography.configure" | "citations.bibliography.remove" | "authorities.list" | "authorities.get" | "authorities.insert" | "authorities.configure" | "authorities.rebuild" | "authorities.remove" | "authorities.entries.list" | "authorities.entries.get" | "authorities.entries.insert" | "authorities.entries.update" | "authorities.entries.remove" | "diff.capture" | "diff.compare" | "diff.apply" | "export.toDocx" | "protection.get" | "protection.setEditingRestriction" | "protection.clearEditingRestriction" | "permissionRanges.list" | "permissionRanges.get" | "permissionRanges.create" | "permissionRanges.remove" | "permissionRanges.updatePrincipal" | "customXml.parts.list" | "customXml.parts.get" | "customXml.parts.create" | "customXml.parts.patch" | "customXml.parts.remove" | "metadata.attach" | "metadata.list" | "metadata.get" | "metadata.update" | "metadata.remove" | "metadata.resolve")[];
4
+ export declare const MUTATING_OPERATION_IDS: ("replace" | "find" | "delete" | "selection.extractOoxml" | "selection.current" | "selection.releaseSnapshot" | "insert" | "info" | "projectHtml" | "projectMarkdown" | "capabilities.check" | "format.apply" | "styles.getCatalog" | "blocks.split" | "blocks.merge" | "blocks.move" | "lists.getState" | "lists.apply" | "lists.continue" | "lists.restart" | "lists.remove" | "format.paragraph.setMarkRunProps" | "tables.moveRow" | "tables.moveColumn" | "format.bold" | "format.strike" | "format.color" | "format.position" | "format.rtl" | "format.cs" | "format.shading" | "format.fontFamily" | "format.lang" | "format.fontSize" | "format.fontSizeCs" | "format.highlight" | "format.italic" | "format.underline" | "format.caps" | "format.smallCaps" | "format.outline" | "format.shadow" | "format.emboss" | "format.imprint" | "format.vanish" | "format.webHidden" | "format.specVanish" | "format.border" | "format.dstrike" | "format.vertAlign" | "format.bCs" | "format.iCs" | "format.snapToGrid" | "format.oMath" | "format.letterSpacing" | "format.charScale" | "format.kerning" | "format.fitText" | "format.rStyle" | "format.rFonts" | "format.eastAsianLayout" | "format.em" | "format.ligatures" | "format.numForm" | "format.numSpacing" | "format.stylisticSets" | "format.contextualAlternates" | "get" | "getNode" | "getNodeById" | "getText" | "getMarkdown" | "getHtml" | "markdownToFragment" | "htmlToFragment" | "extract" | "clearContent" | "formatRange" | "blocks.findText" | "blocks.list" | "blocks.delete" | "blocks.deleteRange" | "styles.apply" | "styles.create" | "styles.getTheme" | "templates.apply" | "create.paragraph" | "create.heading" | "create.sectionBreak" | "sections.list" | "sections.get" | "sections.setBreakType" | "sections.setPageMargins" | "sections.setHeaderFooterMargins" | "sections.setPageSetup" | "sections.setColumns" | "sections.setLineNumbering" | "sections.setPageNumbering" | "sections.setTitlePage" | "sections.setOddEvenHeadersFooters" | "sections.setVerticalAlign" | "sections.setSectionDirection" | "sections.setHeaderFooterRef" | "sections.clearHeaderFooterRef" | "sections.setLinkToPrevious" | "sections.setPageBorders" | "sections.clearPageBorders" | "styles.paragraph.setStyle" | "styles.paragraph.setStyleRef" | "styles.paragraph.clearStyle" | "format.paragraph.resetDirectFormatting" | "format.paragraph.setAlignment" | "format.paragraph.clearAlignment" | "format.paragraph.setIndentation" | "format.paragraph.clearIndentation" | "format.paragraph.setSpacing" | "format.paragraph.clearSpacing" | "format.paragraph.setKeepOptions" | "format.paragraph.setOutlineLevel" | "format.paragraph.setFlowOptions" | "format.paragraph.setTabStop" | "format.paragraph.clearTabStop" | "format.paragraph.clearAllTabStops" | "format.paragraph.setBorder" | "format.paragraph.clearBorder" | "format.paragraph.setShading" | "format.paragraph.clearShading" | "format.paragraph.setDirection" | "format.paragraph.clearDirection" | "format.paragraph.setNumbering" | "lists.list" | "lists.get" | "lists.insert" | "lists.create" | "lists.attach" | "lists.detach" | "lists.delete" | "lists.indent" | "lists.outdent" | "lists.join" | "lists.canJoin" | "lists.separate" | "lists.merge" | "lists.split" | "lists.setLevel" | "lists.setValue" | "lists.continuePrevious" | "lists.canContinuePrevious" | "lists.setLevelRestart" | "lists.convertToText" | "lists.applyTemplate" | "lists.applyPreset" | "lists.setType" | "lists.captureTemplate" | "lists.setLevelNumbering" | "lists.setLevelBullet" | "lists.setLevelPictureBullet" | "lists.setLevelAlignment" | "lists.setLevelIndents" | "lists.setLevelTrailingCharacter" | "lists.setLevelMarkerFont" | "lists.clearLevelOverrides" | "lists.getStyle" | "lists.applyStyle" | "lists.restartAt" | "lists.setLevelNumberStyle" | "lists.setLevelText" | "lists.setLevelStart" | "lists.setLevelLayout" | "comments.create" | "comments.patch" | "comments.delete" | "comments.get" | "comments.list" | "trackChanges.list" | "trackChanges.get" | "trackChanges.decide" | "query.match" | "ranges.resolve" | "mutations.preview" | "mutations.apply" | "plan.execute" | "capabilities.get" | "capabilities.resolve" | "create.table" | "tables.convertFromText" | "tables.delete" | "tables.clearContents" | "tables.move" | "tables.split" | "tables.convertToText" | "tables.setLayout" | "tables.insertRow" | "tables.deleteRow" | "tables.setRowHeight" | "tables.distributeRows" | "tables.setRowOptions" | "tables.insertColumn" | "tables.deleteColumn" | "tables.setColumnWidth" | "tables.distributeColumns" | "tables.insertCell" | "tables.deleteCell" | "tables.mergeCells" | "tables.unmergeCells" | "tables.splitCell" | "tables.setCellProperties" | "tables.setCellText" | "tables.sort" | "tables.setAltText" | "tables.setStyle" | "tables.clearStyle" | "tables.setStyleOption" | "tables.setBorder" | "tables.clearBorder" | "tables.applyBorderPreset" | "tables.setShading" | "tables.clearShading" | "tables.setTablePadding" | "tables.setCellPadding" | "tables.setCellSpacing" | "tables.clearCellSpacing" | "tables.applyStyle" | "tables.setBorders" | "tables.setTableOptions" | "tables.applyPreset" | "tables.get" | "tables.getCells" | "tables.getProperties" | "tables.getStyles" | "tables.setDefaultStyle" | "tables.clearDefaultStyle" | "create.tableOfContents" | "toc.list" | "toc.get" | "toc.configure" | "toc.update" | "toc.remove" | "toc.markEntry" | "toc.unmarkEntry" | "toc.listEntries" | "toc.getEntry" | "toc.editEntry" | "history.get" | "history.undo" | "history.redo" | "create.image" | "images.list" | "images.get" | "images.delete" | "images.move" | "images.convertToInline" | "images.convertToFloating" | "images.setSize" | "images.setWrapType" | "images.setWrapSide" | "images.setWrapDistances" | "images.setPosition" | "images.setAnchorOptions" | "images.setZOrder" | "images.scale" | "images.setLockAspectRatio" | "images.rotate" | "images.flip" | "images.crop" | "images.resetCrop" | "images.replaceSource" | "images.setAltText" | "images.setDecorative" | "images.setName" | "images.setHyperlink" | "images.insertCaption" | "images.updateCaption" | "images.removeCaption" | "hyperlinks.list" | "hyperlinks.get" | "hyperlinks.wrap" | "hyperlinks.insert" | "hyperlinks.patch" | "hyperlinks.remove" | "headerFooters.list" | "headerFooters.get" | "headerFooters.resolve" | "headerFooters.refs.set" | "headerFooters.refs.clear" | "headerFooters.refs.setLinkedToPrevious" | "headerFooters.parts.list" | "headerFooters.parts.create" | "headerFooters.parts.delete" | "headerFooters.pageNumbers.get" | "headerFooters.pageNumbers.insert" | "headerFooters.pageNumbers.set" | "headerFooters.pageNumbers.remove" | "watermarks.apply" | "watermarks.list" | "watermarks.insert" | "watermarks.replace" | "watermarks.remove" | "create.contentControl" | "contentControls.list" | "contentControls.get" | "contentControls.listInRange" | "contentControls.selectByTag" | "contentControls.selectByTitle" | "contentControls.listChildren" | "contentControls.getParent" | "contentControls.wrap" | "contentControls.unwrap" | "contentControls.delete" | "contentControls.copy" | "contentControls.move" | "contentControls.patch" | "contentControls.setLockMode" | "contentControls.setType" | "contentControls.getContent" | "contentControls.replaceContent" | "contentControls.clearContent" | "contentControls.appendContent" | "contentControls.prependContent" | "contentControls.insertBefore" | "contentControls.insertAfter" | "contentControls.getBinding" | "contentControls.setBinding" | "contentControls.clearBinding" | "contentControls.getRawProperties" | "contentControls.patchRawProperties" | "contentControls.validateWordCompatibility" | "contentControls.normalizeWordCompatibility" | "contentControls.normalizeTagPayload" | "contentControls.text.setMultiline" | "contentControls.text.setValue" | "contentControls.text.clearValue" | "contentControls.date.setValue" | "contentControls.date.clearValue" | "contentControls.date.setDisplayFormat" | "contentControls.date.setDisplayLocale" | "contentControls.date.setStorageFormat" | "contentControls.date.setCalendar" | "contentControls.checkbox.getState" | "contentControls.checkbox.setState" | "contentControls.checkbox.toggle" | "contentControls.checkbox.setSymbolPair" | "contentControls.choiceList.getItems" | "contentControls.choiceList.setItems" | "contentControls.choiceList.setSelected" | "contentControls.repeatingSection.listItems" | "contentControls.repeatingSection.insertItemBefore" | "contentControls.repeatingSection.insertItemAfter" | "contentControls.repeatingSection.cloneItem" | "contentControls.repeatingSection.deleteItem" | "contentControls.repeatingSection.setAllowInsertDelete" | "contentControls.group.wrap" | "contentControls.group.ungroup" | "bookmarks.list" | "bookmarks.get" | "bookmarks.insert" | "bookmarks.rename" | "bookmarks.remove" | "footnotes.list" | "footnotes.get" | "footnotes.insert" | "footnotes.update" | "footnotes.remove" | "footnotes.configure" | "clipboard.parse" | "clipboard.insert" | "clipboard.serializeSelection" | "crossRefs.list" | "crossRefs.get" | "crossRefs.insert" | "crossRefs.rebuild" | "crossRefs.remove" | "index.list" | "index.get" | "index.insert" | "index.configure" | "index.rebuild" | "index.remove" | "index.entries.list" | "index.entries.get" | "index.entries.insert" | "index.entries.update" | "index.entries.remove" | "captions.list" | "captions.get" | "captions.insert" | "captions.update" | "captions.remove" | "captions.configure" | "fields.list" | "fields.get" | "fields.insert" | "fields.rebuild" | "fields.remove" | "citations.list" | "citations.get" | "citations.insert" | "citations.update" | "citations.remove" | "citations.sources.list" | "citations.sources.get" | "citations.sources.insert" | "citations.sources.update" | "citations.sources.remove" | "citations.bibliography.get" | "citations.bibliography.insert" | "citations.bibliography.rebuild" | "citations.bibliography.configure" | "citations.bibliography.remove" | "authorities.list" | "authorities.get" | "authorities.insert" | "authorities.configure" | "authorities.rebuild" | "authorities.remove" | "authorities.entries.list" | "authorities.entries.get" | "authorities.entries.insert" | "authorities.entries.update" | "authorities.entries.remove" | "diff.capture" | "diff.compare" | "diff.apply" | "export.toDocx" | "protection.get" | "protection.setEditingRestriction" | "protection.clearEditingRestriction" | "permissionRanges.list" | "permissionRanges.get" | "permissionRanges.create" | "permissionRanges.remove" | "permissionRanges.updatePrincipal" | "customXml.parts.list" | "customXml.parts.get" | "customXml.parts.create" | "customXml.parts.patch" | "customXml.parts.remove" | "metadata.attach" | "metadata.list" | "metadata.get" | "metadata.update" | "metadata.remove" | "metadata.resolve")[];
5
5
  /** Maps each operation to its human-readable description. */
6
6
  export declare const OPERATION_DESCRIPTION_MAP: Record<OperationId, string>;
7
7
  /** Maps each operation to whether it requires an open document to execute. */
@@ -40,6 +40,15 @@ export declare const OPERATION_DEFINITIONS: {
40
40
  readonly referenceDocPath: "styles/apply.mdx";
41
41
  readonly referenceGroup: "styles";
42
42
  };
43
+ readonly 'styles.create': {
44
+ readonly memberPath: "styles.create";
45
+ readonly description: "Define or redefine a named paragraph or character style in the Style Definitions part. Replaces the definition rather than merging into it, and decides conflicts on both styleId and name, because Word keys its Styles gallery on the name. Linked style pairs and table/numbering styles are out of scope.";
46
+ readonly expectedResult: "Returns a StylesCreateReceipt reporting whether the style was created or redefined, with per-channel before/after state for the paragraph and run properties.";
47
+ readonly requiresDocumentContext: true;
48
+ readonly metadata: CommandStaticMetadata;
49
+ readonly referenceDocPath: "styles/create.mdx";
50
+ readonly referenceGroup: "styles";
51
+ };
43
52
  readonly 'styles.getCatalog': {
44
53
  readonly memberPath: "styles.getCatalog";
45
54
  readonly description: "List the available styles as a normalized catalogue with stable IDs, display names, type, visibility, priority, provenance, and source diagnostics. Supports view (quickGallery/recommended/currentDocument/all/inUse), type filtering, hidden/latent inclusion, usage rollups, and UI-safe preview tokens. Distinct from DocumentInfo.styles, which is a usage summary.";
@@ -49,6 +58,15 @@ export declare const OPERATION_DEFINITIONS: {
49
58
  readonly referenceDocPath: "styles/get-catalog.mdx";
50
59
  readonly referenceGroup: "styles";
51
60
  };
61
+ readonly 'styles.getTheme': {
62
+ readonly memberPath: "styles.getTheme";
63
+ readonly description: "Read the document theme: its 12 theme colors, major and minor fonts, and the color mapping from settings.xml. A missing or malformed theme part returns the default Office theme labeled source 'fallback', with part status and diagnostics. Same theme as doc.get().theme, without the rest of the document.";
64
+ readonly expectedResult: "Returns a StylesGetThemeResult with the theme (always present, labeled document or fallback), the theme and settings part status, and diagnostics.";
65
+ readonly requiresDocumentContext: true;
66
+ readonly metadata: CommandStaticMetadata;
67
+ readonly referenceDocPath: "styles/get-theme.mdx";
68
+ readonly referenceGroup: "styles";
69
+ };
52
70
  readonly 'templates.apply': {
53
71
  readonly memberPath: "templates.apply";
54
72
  readonly description: "Apply detected DOCX template/substrate (styles, numbering, settings, theme, font table, web settings, headers/footers, section defaults) from a source package onto the current document, preserving body content. Scopes are auto-detected from source package evidence.";
@@ -3590,9 +3608,6 @@ export declare const OPERATION_DEFINITIONS: {
3590
3608
  readonly "format.border": OperationDefinitionEntry & {
3591
3609
  memberPath: "format.border";
3592
3610
  };
3593
- readonly "format.fitText": OperationDefinitionEntry & {
3594
- memberPath: "format.fitText";
3595
- };
3596
3611
  readonly "format.dstrike": OperationDefinitionEntry & {
3597
3612
  memberPath: "format.dstrike";
3598
3613
  };
@@ -3620,6 +3635,9 @@ export declare const OPERATION_DEFINITIONS: {
3620
3635
  readonly "format.kerning": OperationDefinitionEntry & {
3621
3636
  memberPath: "format.kerning";
3622
3637
  };
3638
+ readonly "format.fitText": OperationDefinitionEntry & {
3639
+ memberPath: "format.fitText";
3640
+ };
3623
3641
  readonly "format.rStyle": OperationDefinitionEntry & {
3624
3642
  memberPath: "format.rStyle";
3625
3643
  };
@@ -3650,7 +3668,7 @@ export declare const OPERATION_DEFINITIONS: {
3650
3668
  readonly get: {
3651
3669
  readonly memberPath: "get";
3652
3670
  readonly description: "Read the full document as an SDDocument structure.";
3653
- readonly expectedResult: "Returns an SDDocument with body content projected into SDM/1 canonical shapes.";
3671
+ readonly expectedResult: "Returns an SDDocument with body content projected into SDM/1 canonical shapes, plus the document's authored styles, theme (labeled document or fallback), docDefaults, and diagnostics for missing or unreadable style parts.";
3654
3672
  readonly requiresDocumentContext: true;
3655
3673
  readonly metadata: CommandStaticMetadata;
3656
3674
  readonly referenceDocPath: "get.mdx";
@@ -62,6 +62,7 @@ export interface CrossRefDomain {
62
62
  }
63
63
  export interface CrossRefMutationSuccess {
64
64
  success: true;
65
+ appliedChangeMode?: 'direct' | 'tracked';
65
66
  crossRef: CrossRefAddress;
66
67
  }
67
68
  export type CrossRefMutationResult = CrossRefMutationSuccess | AdapterMutationFailure;
@@ -84,6 +84,7 @@ export interface FieldDomain {
84
84
  }
85
85
  export interface FieldMutationSuccess {
86
86
  success: true;
87
+ appliedChangeMode?: 'direct' | 'tracked';
87
88
  field: FieldAddress;
88
89
  }
89
90
  export type FieldMutationResult = FieldMutationSuccess | AdapterMutationFailure;
@@ -94,11 +94,13 @@ export interface FootnoteDomain {
94
94
  }
95
95
  export interface FootnoteMutationSuccess {
96
96
  success: true;
97
+ appliedChangeMode?: 'direct' | 'tracked';
97
98
  footnote: FootnoteAddress;
98
99
  }
99
100
  export type FootnoteMutationResult = FootnoteMutationSuccess | AdapterMutationFailure;
100
101
  export interface FootnoteConfigSuccess {
101
102
  success: true;
103
+ appliedChangeMode?: 'direct' | 'tracked';
102
104
  }
103
105
  export type FootnoteConfigResult = FootnoteConfigSuccess | AdapterMutationFailure;
104
106
  export type FootnotesListResult = DiscoveryOutput<FootnoteDomain>;
@@ -14,6 +14,7 @@ export interface GetAdapter {
14
14
  *
15
15
  * @param adapter - Engine-specific get adapter.
16
16
  * @param input - Canonical get input object.
17
- * @returns An SDDocument with body content projected into SDM/1 canonical shapes.
17
+ * @returns An SDDocument with body content projected into SDM/1 canonical shapes,
18
+ * plus the document's authored styles, theme, docDefaults and diagnostics.
18
19
  */
19
20
  export declare function executeGet(adapter: GetAdapter, input: SDGetInput): SDDocument;
@@ -76,6 +76,7 @@ export interface HyperlinkInfo {
76
76
  }
77
77
  export interface HyperlinkMutationSuccess {
78
78
  success: true;
79
+ appliedChangeMode?: 'direct' | 'tracked';
79
80
  hyperlink: HyperlinkTarget;
80
81
  }
81
82
  export interface HyperlinkMutationFailure {
@@ -188,6 +188,7 @@ export interface SetZOrderInput {
188
188
  }
189
189
  export interface CreateImageSuccessResult {
190
190
  success: true;
191
+ appliedChangeMode?: 'direct' | 'tracked';
191
192
  image: ImageAddress;
192
193
  trackedChangeRefs?: ReceiptInsert[];
193
194
  /** Commit id for the insertion, including its alt text when that was set in the same call. */
@@ -207,6 +208,7 @@ export interface ImagesListResult {
207
208
  }
208
209
  export interface ImagesMutationSuccessResult {
209
210
  success: true;
211
+ appliedChangeMode?: 'direct' | 'tracked';
210
212
  image: ImageAddress;
211
213
  trackedChangeRefs?: ReceiptInsert[];
212
214
  }
@@ -113,11 +113,13 @@ export interface IndexEntryDomain {
113
113
  }
114
114
  export interface IndexMutationSuccess {
115
115
  success: true;
116
+ appliedChangeMode?: 'direct' | 'tracked';
116
117
  index: IndexAddress;
117
118
  }
118
119
  export type IndexMutationResult = IndexMutationSuccess | AdapterMutationFailure;
119
120
  export interface IndexEntryMutationSuccess {
120
121
  success: true;
122
+ appliedChangeMode?: 'direct' | 'tracked';
121
123
  entry: IndexEntryAddress;
122
124
  }
123
125
  export type IndexEntryMutationResult = IndexEntryMutationSuccess | AdapterMutationFailure;
@@ -4,7 +4,7 @@ import { DeleteInput } from './delete/delete.js';
4
4
  import { FindAdapter } from './find/find.js';
5
5
  import { SDFindInput, SDFindResult, SDGetInput, SDNodeResult } from './types/sd-envelope.js';
6
6
  import { FormatApi, FormatRangeInput } from './format/format.js';
7
- import { StylesAdapter, StylesApi } from './styles/index.js';
7
+ import { StylesAdapter, StylesApi, StylesCreateAdapter, StylesCreateApi } from './styles/index.js';
8
8
  import { TemplatesAdapter, TemplatesApi } from './templates/index.js';
9
9
  import { GetNodeAdapter, GetNodeByIdInput } from './get-node/get-node.js';
10
10
  import { GetAdapter } from './get/get.js';
@@ -112,8 +112,10 @@ export type { FormatInlineAliasApi, FormatInlineAliasInput, FormatBoldInput, For
112
112
  export type { InlineRunPatch, InlineRunPatchKey, InlinePropertyStorage, InlinePropertyType, InlinePropertyCarrier, InlinePropertyRegistryEntry, UnderlinePatch, ShadingPatch, BorderPatch, FitTextPatch, LangPatch, RFontsPatch, EastAsianLayoutPatch, StylisticSetPatch, } from './format/inline-run-patch.js';
113
113
  export { INLINE_PROPERTY_REGISTRY, INLINE_PROPERTY_KEY_SET, INLINE_PROPERTY_BY_KEY, INLINE_PROPERTY_KEYS_BY_STORAGE, validateInlineRunPatch, buildInlineRunPatchSchema, } from './format/inline-run-patch.js';
114
114
  export { PROPERTY_REGISTRY, EXCLUDED_KEYS, ALLOWED_KEYS_BY_CHANNEL, getPropertyDefinition, toJsonSchema, buildPatchSchema, buildStateSchema, } from './styles/index.js';
115
- export type { ValueSchema, MergeStrategy, PropertyDefinition, StylesAdapter, StylesApplyInput, StylesApplyRunInput, StylesApplyParagraphInput, StylesApplyOptions, StylesApplyReceipt, StylesBooleanState, StylesNumberState, StylesEnumState, StylesObjectState, StylesArrayState, StylesStateMap, StylesChannel, StylesRunPatch, StylesParagraphPatch, StylesTargetResolution, StylesApplyReceiptSuccess, StylesApplyReceiptFailure, NormalizedStylesApplyOptions, StyleCatalogView, StyleCatalogItemType, StyleCatalogFilterType, StyleProvenance, StyleCatalogDiagnosticSeverity, StyleSourcePartStatus, StyleCatalogUsageStatus, StyleCatalogPreviewStatus, StyleCatalogViewStatus, StyleCatalogItemVisibility, StyleCatalogItemUsage, StyleCatalogItemPreview, StyleCatalogItem, StyleCatalogDefaults, StyleCatalogDiagnostic, StyleCatalogSourceStatus, StylesGetCatalogInput, StylesGetCatalogResult, StylesGetCatalogAdapter, } from './styles/index.js';
116
- export { STYLE_CATALOG_VIEWS, STYLE_CATALOG_FILTER_TYPES, executeStylesGetCatalog, validateStylesGetCatalogInput, } from './styles/index.js';
115
+ export type { ValueSchema, MergeStrategy, PropertyDefinition, StylesAdapter, StylesApplyInput, StylesApplyRunInput, StylesApplyParagraphInput, StylesApplyOptions, StylesApplyReceipt, StylesBooleanState, StylesNumberState, StylesEnumState, StylesObjectState, StylesArrayState, StylesStateMap, StylesChannel, StylesRunPatch, StylesParagraphPatch, StylesTargetResolution, StylesApplyReceiptSuccess, StylesApplyReceiptFailure, NormalizedStylesApplyOptions, StyleCatalogView, StyleCatalogItemType, StyleCatalogFilterType, StyleProvenance, StyleCatalogDiagnosticSeverity, StyleSourcePartStatus, StyleCatalogUsageStatus, StyleCatalogPreviewStatus, StyleCatalogViewStatus, StyleCatalogItemVisibility, StyleCatalogItemUsage, StyleCatalogItemPreview, StyleCatalogPreviewFontSource, StyleCatalogPreviewColorSource, StyleCatalogPreviewSources, StyleCatalogItem, StyleCatalogDefaults, StyleCatalogDiagnostic, StyleCatalogSourceStatus, StylesGetCatalogInput, StylesGetCatalogResult, StylesGetCatalogAdapter, StylesGetThemeInput, StylesThemeSourceStatus, StylesGetThemeResult, StylesGetThemeAdapter, } from './styles/index.js';
116
+ export { STYLE_CATALOG_VIEWS, STYLE_CATALOG_FILTER_TYPES, executeStylesGetCatalog, validateStylesGetCatalogInput, executeStylesGetTheme, validateStylesGetThemeInput, } from './styles/index.js';
117
+ export type { StylesScope, StyleRunPatch, StyleConflictPolicy, StyleChannelState, StylesCreateAdapter, StylesCreateApi, StylesCreateInput, StylesCreateParagraphInput, StylesCreateCharacterInput, StylesCreateOptions, NormalizedStylesCreateOptions, StylesCreateResolution, StylesCreateReceipt, StylesCreateReceiptSuccess, StylesCreateReceiptFailure, } from './styles/index.js';
118
+ export { STYLE_EXCLUDED_KEYS, EXCLUDED_KEYS_BY_SCOPE, SCOPE_LABEL, STYLE_XML_PATH, executeStylesCreate, validateStylesCreateInput, validateStylesCreateOptions, validatePatchObject, } from './styles/index.js';
117
119
  export type { TemplatesAdapter, TemplatesApi, TemplatesApplyInput, TemplatesApplyOptions, TemplatesApplySource, TemplatesApplySourcePath, TemplatesApplySourceBase64, TemplateBodyPolicy, TemplateScope, NormalizedTemplatesApplyOptions, TemplateScopeReport, TemplateSkipReason, TemplateScopeSkip, TemplateUnsupportedItem, TemplateChangeKind, TemplateChangedPart, TemplateIdMapping, TemplateApplyWarning, TemplatesApplySourceInfo, TemplatesApplyReceiptSuccess, TemplatesApplyFailureCode, TemplatesApplyReceiptFailure, TemplatesApplyReceipt, } from './templates/index.js';
118
120
  export { executeTemplatesApply } from './templates/index.js';
119
121
  export type { CreateAdapter, CreateApi } from './create/create.js';
@@ -280,7 +282,8 @@ export interface DocumentApiSurface {
280
282
  /**
281
283
  * Read the full document as an SDDocument structure.
282
284
  * @param input - Get input with optional read options.
283
- * @returns An SDDocument with body content projected into SDM/1 canonical shapes.
285
+ * @returns An SDDocument with body content projected into SDM/1 canonical shapes,
286
+ * plus the document's authored styles, theme, docDefaults and diagnostics.
284
287
  */
285
288
  get(input: SDGetInput): SDDocument;
286
289
  /**
@@ -373,7 +376,7 @@ export interface DocumentApiSurface {
373
376
  /**
374
377
  * Stylesheet operations (docDefaults, style definitions, paragraph style references).
375
378
  */
376
- styles: StylesApi & {
379
+ styles: StylesApi & StylesCreateApi & {
377
380
  paragraph: ParagraphStylesApi;
378
381
  };
379
382
  /**
@@ -560,7 +563,7 @@ export interface DocumentApiAdapters {
560
563
  comments: CommentsAdapter;
561
564
  write: WriteAdapter;
562
565
  selectionMutation: SelectionMutationAdapter;
563
- styles: StylesAdapter;
566
+ styles: StylesAdapter & Partial<StylesCreateAdapter>;
564
567
  templates: TemplatesAdapter;
565
568
  trackChanges: TrackChangesAdapter;
566
569
  create: CreateAdapter;
@@ -32,3 +32,14 @@ export declare const ST_THEME_COLOR_VALUES: readonly ["dark1", "light1", "dark2"
32
32
  export type StThemeColorValue = (typeof ST_THEME_COLOR_VALUES)[number];
33
33
  /** Runtime set for O(1) ST_ThemeColor validation. */
34
34
  export declare const ST_THEME_COLOR_VALUE_SET: ReadonlySet<string>;
35
+ /**
36
+ * Accepted `w:val` values for `w:highlight`. A closed enumeration, unlike a
37
+ * colour value: anything outside it produces a document Word offers to repair.
38
+ *
39
+ * No `StHighlightValue` alias beside it, unlike the sets above:
40
+ * {@link SDHighlightColor} in `types/sd-props.ts` is already derived from this
41
+ * list, and a second name for one union is a second thing to keep in step.
42
+ */
43
+ export declare const ST_HIGHLIGHT_VALUES: readonly ["black", "blue", "cyan", "green", "magenta", "red", "yellow", "white", "darkBlue", "darkCyan", "darkGreen", "darkMagenta", "darkRed", "darkYellow", "darkGray", "lightGray", "none"];
44
+ /** Runtime set for O(1) ST_HighlightColor validation. */
45
+ export declare const ST_HIGHLIGHT_VALUE_SET: ReadonlySet<string>;
@@ -358,12 +358,14 @@ export interface ListsCaptureTemplateSuccessResult {
358
358
  export type ListsCaptureTemplateResult = ListsCaptureTemplateSuccessResult | ListsFailureResult;
359
359
  export interface ListsInsertSuccessResult {
360
360
  success: true;
361
+ appliedChangeMode?: 'direct' | 'tracked';
361
362
  item: ListItemAddress;
362
363
  insertionPoint: TextAddress;
363
364
  trackedChangeRefs?: ReceiptInsert[];
364
365
  }
365
366
  export interface ListsMutateItemSuccessResult {
366
367
  success: true;
368
+ appliedChangeMode?: 'direct' | 'tracked';
367
369
  item: ListItemAddress;
368
370
  /** Tracked changes authored by this mutation when `changeMode` is tracked. */
369
371
  trackedChangeRefs?: ReceiptInsert[];
@@ -375,32 +377,38 @@ export interface ListsMutateItemSuccessResult {
375
377
  }
376
378
  export interface ListsCreateSuccessResult {
377
379
  success: true;
380
+ appliedChangeMode?: 'direct' | 'tracked';
378
381
  listId: string;
379
382
  item: ListItemAddress;
380
383
  }
381
384
  export interface ListsJoinSuccessResult {
382
385
  success: true;
386
+ appliedChangeMode?: 'direct' | 'tracked';
383
387
  listId: string;
384
388
  }
385
389
  export interface ListsSeparateSuccessResult {
386
390
  success: true;
391
+ appliedChangeMode?: 'direct' | 'tracked';
387
392
  listId: string;
388
393
  numId: number;
389
394
  }
390
395
  export interface ListsMergeSuccessResult {
391
396
  success: true;
397
+ appliedChangeMode?: 'direct' | 'tracked';
392
398
  listId: string;
393
399
  absorbedCount: number;
394
400
  removedEmptyBlocks: number;
395
401
  }
396
402
  export interface ListsSplitSuccessResult {
397
403
  success: true;
404
+ appliedChangeMode?: 'direct' | 'tracked';
398
405
  listId: string;
399
406
  numId: number;
400
407
  restartedAt: number | null;
401
408
  }
402
409
  export interface ListsDetachSuccessResult {
403
410
  success: true;
411
+ appliedChangeMode?: 'direct' | 'tracked';
404
412
  paragraph: {
405
413
  kind: 'block';
406
414
  nodeType: 'paragraph';
@@ -409,6 +417,7 @@ export interface ListsDetachSuccessResult {
409
417
  }
410
418
  export interface ListsConvertToTextSuccessResult {
411
419
  success: true;
420
+ appliedChangeMode?: 'direct' | 'tracked';
412
421
  paragraph: {
413
422
  kind: 'block';
414
423
  nodeType: 'paragraph';
@@ -440,6 +449,7 @@ export type ListsDetachResult = ListsDetachSuccessResult | ListsFailureResult;
440
449
  export type ListsConvertToTextResult = ListsConvertToTextSuccessResult | ListsFailureResult;
441
450
  export interface ListsDeleteSuccessResult {
442
451
  success: true;
452
+ appliedChangeMode?: 'direct' | 'tracked';
443
453
  /** Number of list items removed. */
444
454
  deletedCount: number;
445
455
  }
@@ -1,6 +1,7 @@
1
1
  import { BlockNodeAddress } from '../types/base.js';
2
2
  import { ReceiptFailure, ReceiptInsert } from '../types/receipt.js';
3
3
  import { SDRunProps } from '../types/sd-props.js';
4
+ import { ChangeMode } from '../write/write.js';
4
5
  export type ParagraphBlockType = 'paragraph' | 'heading' | 'listItem';
5
6
  export type ParagraphTarget = BlockNodeAddress & {
6
7
  nodeType: ParagraphBlockType;
@@ -12,6 +13,8 @@ export interface ParagraphMutationSuccess {
12
13
  success: true;
13
14
  target: ParagraphTarget;
14
15
  resolution: MutationResolution;
16
+ /** Mode applied to committed paragraph content; omitted when no content was committed. */
17
+ appliedChangeMode?: ChangeMode;
15
18
  /** Logical tracked-change entities created or revised by this mutation. */
16
19
  trackedChangeRefs?: ReceiptInsert[];
17
20
  }
@@ -7,6 +7,7 @@ export interface MutationReceiptBridgeContext {
7
7
  conversion?: SDMutationConversionReport;
8
8
  }
9
9
  interface CanonicalSuccessMetadata {
10
+ appliedChangeMode?: ReceiptSuccess['appliedChangeMode'];
10
11
  id?: ReceiptSuccess['id'];
11
12
  inserted?: ReceiptSuccess['inserted'];
12
13
  updated?: ReceiptSuccess['updated'];
@@ -1,4 +1,4 @@
1
- import { BlockNodeAddress, ReceiptFailure } from '../types/index.js';
1
+ import { BlockNodeAddress, ChangeMode, ReceiptFailure } from '../types/index.js';
2
2
  import { DiscoveryOutput } from '../types/discovery.js';
3
3
  export type SectionAddress = {
4
4
  kind: 'section';
@@ -112,6 +112,8 @@ export type SectionsListResult = DiscoveryOutput<SectionDomain>;
112
112
  export interface SectionMutationSuccessResult {
113
113
  success: true;
114
114
  section: SectionAddress;
115
+ /** Committed review-aware content mode; omitted for dry runs, no-ops and non-reviewable settings. */
116
+ appliedChangeMode?: ChangeMode;
115
117
  }
116
118
  export interface SectionMutationFailureResult {
117
119
  success: false;
@@ -128,6 +130,7 @@ export interface DocumentMutationSuccessResult {
128
130
  export type DocumentMutationResult = DocumentMutationSuccessResult | SectionMutationFailureResult;
129
131
  export interface CreateSectionBreakSuccessResult {
130
132
  success: true;
133
+ appliedChangeMode?: 'direct' | 'tracked';
131
134
  section: SectionAddress;
132
135
  /**
133
136
  * Present only when the break is represented as a dedicated paragraph.
@@ -1,6 +1,7 @@
1
1
  import { ReceiptFailure } from '../types/receipt.js';
2
2
  import { StylesChannel } from './registry.js';
3
3
  import { StylesGetCatalogInput, StylesGetCatalogResult } from './catalog.js';
4
+ import { StylesGetThemeInput, StylesGetThemeResult } from './theme.js';
4
5
  /** Tri-state for OOXML boolean style properties. */
5
6
  export type StylesBooleanState = 'on' | 'off' | 'inherit';
6
7
  export type StylesNumberState = number | 'inherit';
@@ -123,6 +124,8 @@ export interface StylesAdapter {
123
124
  apply(input: StylesApplyInput, options: NormalizedStylesApplyOptions): StylesApplyReceipt;
124
125
  /** Read the normalized style catalogue. See `styles/catalog.ts`. */
125
126
  getCatalog?(input?: StylesGetCatalogInput): StylesGetCatalogResult;
127
+ /** Read the document theme. See `styles/theme.ts`. */
128
+ getTheme?(input?: StylesGetThemeInput): StylesGetThemeResult;
126
129
  }
127
130
  export interface NormalizedStylesApplyOptions {
128
131
  dryRun: boolean;
@@ -134,6 +137,8 @@ export interface StylesApi {
134
137
  apply(input: StylesApplyInput, options?: StylesApplyOptions): StylesApplyReceipt;
135
138
  /** Read the normalized style catalogue for discovery and quick-gallery UI. */
136
139
  getCatalog(input?: StylesGetCatalogInput): StylesGetCatalogResult;
140
+ /** Read the document theme: colors, fonts and color mapping. */
141
+ getTheme(input?: StylesGetThemeInput): StylesGetThemeResult;
137
142
  }
138
143
  /**
139
144
  * Executes `styles.apply` using the provided adapter.
@@ -1,22 +1,4 @@
1
- /**
2
- * `styles.getCatalog`: read-only style catalogue projection.
3
- *
4
- * The catalogue is the stable, normalized, editor-neutral view of the styles
5
- * available in a document. It is the SDK / CLI / MCP / custom-UI integration
6
- * point for style discovery, and the source the built-in toolbar and the
7
- * future Styles pane consume.
8
- *
9
- * This module owns only the public contract types, input validation, and the
10
- * execution entry point. The runtime projection is produced by the v2 adapter
11
- * (which compiles a Word style model from package parts and calls the shared
12
- * style-model projector); the raw style-engine shapes never reach this public
13
- * surface.
14
- *
15
- * `DocumentInfo.styles` is a usage summary and intentionally stays separate
16
- * from this available-style catalogue.
17
- *
18
- * Engine-agnostic: no ProseMirror, Yjs, or converter imports.
19
- */
1
+ import { SDThemeColorName, SDThemeFontRef } from '../types/sd-props.js';
20
2
  /** Catalogue view selector. `inUse` lists styles referenced by document content. */
21
3
  export type StyleCatalogView = 'quickGallery' | 'recommended' | 'currentDocument' | 'all' | 'inUse';
22
4
  /** Normalized style kind. `linked` is a deduplicated paragraph/character pair. */
@@ -60,10 +42,47 @@ export interface StyleCatalogItemUsage {
60
42
  tableCount?: number;
61
43
  numberingCount?: number;
62
44
  }
45
+ /**
46
+ * Where a preview font came from. `theme` names the theme font slot it was
47
+ * resolved from; `fallback: true` means the document has no usable theme and
48
+ * the value is the default Office theme's.
49
+ */
50
+ export type StyleCatalogPreviewFontSource = {
51
+ origin: 'literal';
52
+ } | {
53
+ origin: 'theme';
54
+ themeFont: SDThemeFontRef;
55
+ fallback?: true;
56
+ };
57
+ /**
58
+ * Where a preview color came from. `theme` names the theme color and the
59
+ * tint/shade bytes (0-255) applied to it, as in `SDColorRef`.
60
+ */
61
+ export type StyleCatalogPreviewColorSource = {
62
+ origin: 'literal';
63
+ } | {
64
+ origin: 'theme';
65
+ themeColor: SDThemeColorName;
66
+ tint?: number;
67
+ shade?: number;
68
+ fallback?: true;
69
+ }
70
+ /** The document sets no color (Word's automatic color); the value is the black text renders with. */
71
+ | {
72
+ origin: 'default';
73
+ };
74
+ /** Origin of the theme-capable preview tokens. A token without a source is absent from `css`. */
75
+ export interface StyleCatalogPreviewSources {
76
+ fontFamily?: StyleCatalogPreviewFontSource;
77
+ color?: StyleCatalogPreviewColorSource;
78
+ }
63
79
  /** Optional resolved preview tokens. Present when `includePreview` is requested. */
64
80
  export interface StyleCatalogItemPreview {
65
81
  available: boolean;
82
+ /** UI-safe CSS tokens. Theme fonts and colors are already resolved. */
66
83
  css?: Record<string, string | number>;
84
+ /** Whether `css.fontFamily` and `css.color` came from the theme or were set directly. */
85
+ sources?: StyleCatalogPreviewSources;
67
86
  unsupportedReason?: string;
68
87
  }
69
88
  /** One normalized style. Linked paragraph/character pairs are deduplicated. */
@@ -108,6 +127,8 @@ export interface StyleCatalogDiagnostic {
108
127
  export interface StyleCatalogSourceStatus {
109
128
  styles: StyleSourcePartStatus;
110
129
  settings: StyleSourcePartStatus;
130
+ /** The theme part that theme-backed preview fonts and colors resolve against. */
131
+ theme?: StyleSourcePartStatus;
111
132
  usage: StyleCatalogUsageStatus;
112
133
  preview: StyleCatalogPreviewStatus;
113
134
  view: StyleCatalogViewStatus;