superdoc 2.16.1-next.3 → 2.16.1-next.5

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.
@@ -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.16.1-next.3",
22
+ superdocVersion: "2.16.1-next.5",
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.16.1-next.3",
21
+ superdocVersion: "2.16.1-next.5",
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
@@ -1,7 +1,8 @@
1
1
  import { OperationId } from '../contract/types.js';
2
+ import { OperationTrackedSupport } from '../contract/metadata-types.js';
2
3
  import { InlinePropertyStorage, InlinePropertyType, InlineRunPatchKey } from '../format/inline-run-patch.js';
3
4
  import { SDHtmlMarkdownSupportCheckInput, SDHtmlMarkdownSupportCheckResult } from './html-markdown-support.js';
4
- export declare const CAPABILITY_REASON_CODES: readonly ["COMMAND_UNAVAILABLE", "HELPER_UNAVAILABLE", "OPERATION_UNAVAILABLE", "TRACKED_MODE_UNAVAILABLE", "DRY_RUN_UNAVAILABLE", "NAMESPACE_UNAVAILABLE", "STYLES_PART_MISSING", "COLLABORATION_ACTIVE"];
5
+ export declare const CAPABILITY_REASON_CODES: readonly ["COMMAND_UNAVAILABLE", "HELPER_UNAVAILABLE", "OPERATION_UNAVAILABLE", "TRACKED_MODE_UNAVAILABLE", "DRY_RUN_UNAVAILABLE", "NAMESPACE_UNAVAILABLE", "STYLES_PART_MISSING", "COLLABORATION_ACTIVE", "TARGET_CONTEXT_REQUIRED", "TARGET_UNSUPPORTED"];
5
6
  export type CapabilityReasonCode = (typeof CAPABILITY_REASON_CODES)[number];
6
7
  /**
7
8
  * A boolean flag indicating whether a capability is active, with optional
@@ -15,9 +16,36 @@ export type CapabilityFlag = {
15
16
  export interface OperationRuntimeCapability {
16
17
  available: boolean;
17
18
  tracked: boolean;
19
+ /**
20
+ * Detailed tracked-mode support. `tracked` remains true only for `always`
21
+ * so existing callers keep a conservative, backward-compatible boolean.
22
+ */
23
+ trackedSupport?: OperationTrackedSupport;
18
24
  dryRun: boolean;
19
25
  reasons?: CapabilityReasonCode[];
20
26
  }
27
+ export type CapabilitySupportDecision = {
28
+ kind: 'supported';
29
+ } | {
30
+ kind: 'unsupported';
31
+ code: CapabilityReasonCode;
32
+ reason: string;
33
+ } | {
34
+ kind: 'requires-input';
35
+ code: 'TARGET_CONTEXT_REQUIRED';
36
+ reason: string;
37
+ };
38
+ export interface OperationCapabilityResolveInput {
39
+ operationId: OperationId;
40
+ input?: unknown;
41
+ options?: unknown;
42
+ }
43
+ export interface OperationCapabilityResolveResult {
44
+ operationId: OperationId;
45
+ available: CapabilitySupportDecision;
46
+ tracked: CapabilitySupportDecision;
47
+ dryRun: CapabilitySupportDecision;
48
+ }
21
49
  export type OperationCapabilities = Record<OperationId, OperationRuntimeCapability>;
22
50
  /** Runtime capabilities exposed by the plan engine (mutations.apply / mutations.preview). */
23
51
  export interface PlanEngineCapabilities {
@@ -74,6 +102,7 @@ export interface DocumentApiCapabilities {
74
102
  export interface CapabilitiesAdapter {
75
103
  get(): DocumentApiCapabilities;
76
104
  check?(input: SDHtmlMarkdownSupportCheckInput): Promise<SDHtmlMarkdownSupportCheckResult>;
105
+ resolve?(input: OperationCapabilityResolveInput): OperationCapabilityResolveResult;
77
106
  }
78
107
  /**
79
108
  * Delegates to the capabilities adapter to retrieve the current capability snapshot.
@@ -83,3 +112,4 @@ export interface CapabilitiesAdapter {
83
112
  */
84
113
  export declare function executeCapabilities(adapter: CapabilitiesAdapter): DocumentApiCapabilities;
85
114
  export declare function executeCapabilitiesCheck(adapter: CapabilitiesAdapter, input: SDHtmlMarkdownSupportCheckInput): Promise<SDHtmlMarkdownSupportCheckResult>;
115
+ export declare function executeCapabilitiesResolve(adapter: CapabilitiesAdapter, input: OperationCapabilityResolveInput): OperationCapabilityResolveResult;
@@ -1,11 +1,15 @@
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" | "insert" | "delete" | "info" | "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.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.position" | "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" | "selection.current" | "mutations.preview" | "mutations.apply" | "plan.execute" | "capabilities.get" | "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" | "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" | "insert" | "delete" | "info" | "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.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.position" | "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" | "selection.current" | "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" | "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. */
8
8
  export declare const OPERATION_REQUIRES_DOCUMENT_CONTEXT_MAP: Record<OperationId, boolean>;
9
+ /** Maps each operation to whether it may execute as an entry inside plan.execute. */
10
+ export declare const OPERATION_BATCHABLE_MAP: Record<OperationId, boolean>;
11
+ /** Transport aliases keyed by operation, external field, then canonical input field. */
12
+ export declare const OPERATION_INPUT_ALIAS_MAP: Readonly<Partial<Record<OperationId, Readonly<Record<string, string>>>>>;
9
13
  /** Maps each operation to its expected-result description. */
10
14
  export declare const OPERATION_EXPECTED_RESULT_MAP: Record<OperationId, string>;
11
15
  /**
@@ -1,6 +1,8 @@
1
1
  import { ReceiptFailureCode } from '../types/receipt.js';
2
2
  export declare const OPERATION_IDEMPOTENCY_VALUES: readonly ["idempotent", "conditional", "non-idempotent"];
3
3
  export type OperationIdempotency = (typeof OPERATION_IDEMPOTENCY_VALUES)[number];
4
+ export declare const OPERATION_TRACKED_SUPPORT_VALUES: readonly ["always", "conditional", "never"];
5
+ export type OperationTrackedSupport = (typeof OPERATION_TRACKED_SUPPORT_VALUES)[number];
4
6
  export declare const PRE_APPLY_THROW_CODES: readonly ["TARGET_NOT_FOUND", "CAPABILITY_UNAVAILABLE", "INVALID_TARGET", "AMBIGUOUS_TARGET", "REVISION_MISMATCH", "MATCH_NOT_FOUND", "AMBIGUOUS_MATCH", "STYLE_CONFLICT", "PRECONDITION_FAILED", "INVALID_INPUT", "CROSS_BLOCK_MATCH", "SPAN_FRAGMENTED", "TARGET_MOVED", "PLAN_CONFLICT_OVERLAP", "INVALID_STEP_COMBINATION", "REVISION_CHANGED_SINCE_COMPILE", "INVALID_INSERTION_CONTEXT", "DOCUMENT_IDENTITY_CONFLICT", "INTERNAL_ERROR", "ADDRESS_STALE", "DUPLICATE_ID", "INVALID_CONTEXT", "RAW_MODE_REQUIRED", "PRESERVE_ONLY_VIOLATION", "CAPABILITY_UNSUPPORTED", "LOCK_VIOLATION", "TYPE_MISMATCH", "STORY_NOT_FOUND", "STORY_MISMATCH", "STORY_NOT_SUPPORTED", "CROSS_STORY_PLAN", "MATERIALIZATION_FAILED"];
5
7
  export type PreApplyThrowCode = (typeof PRE_APPLY_THROW_CODES)[number];
6
8
  export interface CommandThrowPolicy {
@@ -11,6 +13,9 @@ export interface CommandStaticMetadata {
11
13
  mutates: boolean;
12
14
  idempotency: OperationIdempotency;
13
15
  supportsDryRun: boolean;
16
+ /** Canonical tracked-mode eligibility. Legacy boolean fields below are derived from this value. */
17
+ trackedSupport: OperationTrackedSupport;
18
+ /** @deprecated Use `trackedSupport === 'always'`. */
14
19
  supportsTrackedMode: boolean;
15
20
  /**
16
21
  * Tracked mode is permitted for *some* targets of this operation but cannot
@@ -29,6 +34,7 @@ export interface CommandStaticMetadata {
29
34
  * Without this, an adapter-level contextual allowance is unreachable from
30
35
  * any transport that gates on the contract (see `tables.setCellText`).
31
36
  */
37
+ /** @deprecated Use `trackedSupport === 'conditional'`. */
32
38
  supportsConditionalTrackedMode?: boolean;
33
39
  possibleFailureCodes: readonly ReceiptFailureCode[];
34
40
  throws: CommandThrowPolicy;
@@ -8,11 +8,15 @@ export interface OperationDefinitionEntry {
8
8
  metadata: CommandStaticMetadata;
9
9
  referenceDocPath: string;
10
10
  referenceGroup: ReferenceGroupKey;
11
+ /** Whether this operation may run as an entry inside plan.execute. Defaults to true. */
12
+ batchable?: boolean;
11
13
  skipAsATool?: boolean;
12
14
  /** Which intent tool this operation belongs to (e.g. 'edit' → superdoc_edit). */
13
15
  intentGroup?: string;
14
16
  /** Action enum value within the intent group (e.g. 'insert', 'replace'). */
15
17
  intentAction?: string;
18
+ /** Stable transport aliases, keyed by external name and pointing to the canonical input field. */
19
+ inputAliases?: Readonly<Record<string, string>>;
16
20
  }
17
21
  export interface IntentGroupMeta {
18
22
  toolName: string;
@@ -53,6 +57,7 @@ export declare const OPERATION_DEFINITIONS: {
53
57
  readonly metadata: CommandStaticMetadata;
54
58
  readonly referenceDocPath: "templates/apply.mdx";
55
59
  readonly referenceGroup: "templates";
60
+ readonly batchable: false;
56
61
  };
57
62
  readonly 'create.paragraph': {
58
63
  readonly memberPath: "create.paragraph";
@@ -907,6 +912,9 @@ export declare const OPERATION_DEFINITIONS: {
907
912
  readonly metadata: CommandStaticMetadata;
908
913
  readonly referenceDocPath: "comments/create.mdx";
909
914
  readonly referenceGroup: "comments";
915
+ readonly inputAliases: {
916
+ readonly parentId: "parentCommentId";
917
+ };
910
918
  readonly intentGroup: "comment";
911
919
  readonly intentAction: "create";
912
920
  };
@@ -918,6 +926,9 @@ export declare const OPERATION_DEFINITIONS: {
918
926
  readonly metadata: CommandStaticMetadata;
919
927
  readonly referenceDocPath: "comments/patch.mdx";
920
928
  readonly referenceGroup: "comments";
929
+ readonly inputAliases: {
930
+ readonly id: "commentId";
931
+ };
921
932
  readonly intentGroup: "comment";
922
933
  readonly intentAction: "update";
923
934
  };
@@ -929,6 +940,9 @@ export declare const OPERATION_DEFINITIONS: {
929
940
  readonly metadata: CommandStaticMetadata;
930
941
  readonly referenceDocPath: "comments/delete.mdx";
931
942
  readonly referenceGroup: "comments";
943
+ readonly inputAliases: {
944
+ readonly id: "commentId";
945
+ };
932
946
  readonly intentGroup: "comment";
933
947
  readonly intentAction: "delete";
934
948
  };
@@ -940,6 +954,9 @@ export declare const OPERATION_DEFINITIONS: {
940
954
  readonly metadata: CommandStaticMetadata;
941
955
  readonly referenceDocPath: "comments/get.mdx";
942
956
  readonly referenceGroup: "comments";
957
+ readonly inputAliases: {
958
+ readonly id: "commentId";
959
+ };
943
960
  readonly intentGroup: "comment";
944
961
  readonly intentAction: "get";
945
962
  };
@@ -1044,6 +1061,7 @@ export declare const OPERATION_DEFINITIONS: {
1044
1061
  readonly metadata: CommandStaticMetadata;
1045
1062
  readonly referenceDocPath: "mutations/plan-execute.mdx";
1046
1063
  readonly referenceGroup: "mutations";
1064
+ readonly batchable: false;
1047
1065
  readonly skipAsATool: true;
1048
1066
  };
1049
1067
  readonly 'capabilities.get': {
@@ -1066,6 +1084,16 @@ export declare const OPERATION_DEFINITIONS: {
1066
1084
  readonly intentGroup: "edit";
1067
1085
  readonly intentAction: "check_support";
1068
1086
  };
1087
+ readonly 'capabilities.resolve': {
1088
+ readonly memberPath: "capabilities.resolve";
1089
+ readonly description: "Resolve availability, tracked-mode support, and dry-run support for one concrete operation request.";
1090
+ readonly expectedResult: "Returns structured support decisions from the same runtime registration policy used by capability discovery.";
1091
+ readonly requiresDocumentContext: true;
1092
+ readonly metadata: CommandStaticMetadata;
1093
+ readonly referenceDocPath: "capabilities/resolve.mdx";
1094
+ readonly referenceGroup: "capabilities";
1095
+ readonly skipAsATool: true;
1096
+ };
1069
1097
  readonly 'create.table': {
1070
1098
  readonly memberPath: "create.table";
1071
1099
  readonly description: "Create a new table at the target position.";
@@ -3426,49 +3454,135 @@ export declare const OPERATION_DEFINITIONS: {
3426
3454
  readonly referenceDocPath: "metadata/resolve.mdx";
3427
3455
  readonly referenceGroup: "metadata";
3428
3456
  };
3429
- readonly "format.bold": OperationDefinitionEntry;
3430
- readonly "format.strike": OperationDefinitionEntry;
3431
- readonly "format.color": OperationDefinitionEntry;
3432
- readonly "format.rtl": OperationDefinitionEntry;
3433
- readonly "format.cs": OperationDefinitionEntry;
3434
- readonly "format.shading": OperationDefinitionEntry;
3435
- readonly "format.fontFamily": OperationDefinitionEntry;
3436
- readonly "format.lang": OperationDefinitionEntry;
3437
- readonly "format.fontSize": OperationDefinitionEntry;
3438
- readonly "format.fontSizeCs": OperationDefinitionEntry;
3439
- readonly "format.highlight": OperationDefinitionEntry;
3440
- readonly "format.italic": OperationDefinitionEntry;
3441
- readonly "format.underline": OperationDefinitionEntry;
3442
- readonly "format.caps": OperationDefinitionEntry;
3443
- readonly "format.smallCaps": OperationDefinitionEntry;
3444
- readonly "format.outline": OperationDefinitionEntry;
3445
- readonly "format.shadow": OperationDefinitionEntry;
3446
- readonly "format.emboss": OperationDefinitionEntry;
3447
- readonly "format.imprint": OperationDefinitionEntry;
3448
- readonly "format.vanish": OperationDefinitionEntry;
3449
- readonly "format.webHidden": OperationDefinitionEntry;
3450
- readonly "format.specVanish": OperationDefinitionEntry;
3451
- readonly "format.border": OperationDefinitionEntry;
3452
- readonly "format.fitText": OperationDefinitionEntry;
3453
- readonly "format.dstrike": OperationDefinitionEntry;
3454
- readonly "format.vertAlign": OperationDefinitionEntry;
3455
- readonly "format.position": OperationDefinitionEntry;
3456
- readonly "format.bCs": OperationDefinitionEntry;
3457
- readonly "format.iCs": OperationDefinitionEntry;
3458
- readonly "format.snapToGrid": OperationDefinitionEntry;
3459
- readonly "format.oMath": OperationDefinitionEntry;
3460
- readonly "format.letterSpacing": OperationDefinitionEntry;
3461
- readonly "format.charScale": OperationDefinitionEntry;
3462
- readonly "format.kerning": OperationDefinitionEntry;
3463
- readonly "format.rStyle": OperationDefinitionEntry;
3464
- readonly "format.rFonts": OperationDefinitionEntry;
3465
- readonly "format.eastAsianLayout": OperationDefinitionEntry;
3466
- readonly "format.em": OperationDefinitionEntry;
3467
- readonly "format.ligatures": OperationDefinitionEntry;
3468
- readonly "format.numForm": OperationDefinitionEntry;
3469
- readonly "format.numSpacing": OperationDefinitionEntry;
3470
- readonly "format.stylisticSets": OperationDefinitionEntry;
3471
- readonly "format.contextualAlternates": OperationDefinitionEntry;
3457
+ readonly "format.bold": OperationDefinitionEntry & {
3458
+ memberPath: "format.bold";
3459
+ };
3460
+ readonly "format.strike": OperationDefinitionEntry & {
3461
+ memberPath: "format.strike";
3462
+ };
3463
+ readonly "format.color": OperationDefinitionEntry & {
3464
+ memberPath: "format.color";
3465
+ };
3466
+ readonly "format.rtl": OperationDefinitionEntry & {
3467
+ memberPath: "format.rtl";
3468
+ };
3469
+ readonly "format.cs": OperationDefinitionEntry & {
3470
+ memberPath: "format.cs";
3471
+ };
3472
+ readonly "format.shading": OperationDefinitionEntry & {
3473
+ memberPath: "format.shading";
3474
+ };
3475
+ readonly "format.fontFamily": OperationDefinitionEntry & {
3476
+ memberPath: "format.fontFamily";
3477
+ };
3478
+ readonly "format.lang": OperationDefinitionEntry & {
3479
+ memberPath: "format.lang";
3480
+ };
3481
+ readonly "format.fontSize": OperationDefinitionEntry & {
3482
+ memberPath: "format.fontSize";
3483
+ };
3484
+ readonly "format.fontSizeCs": OperationDefinitionEntry & {
3485
+ memberPath: "format.fontSizeCs";
3486
+ };
3487
+ readonly "format.highlight": OperationDefinitionEntry & {
3488
+ memberPath: "format.highlight";
3489
+ };
3490
+ readonly "format.italic": OperationDefinitionEntry & {
3491
+ memberPath: "format.italic";
3492
+ };
3493
+ readonly "format.underline": OperationDefinitionEntry & {
3494
+ memberPath: "format.underline";
3495
+ };
3496
+ readonly "format.caps": OperationDefinitionEntry & {
3497
+ memberPath: "format.caps";
3498
+ };
3499
+ readonly "format.smallCaps": OperationDefinitionEntry & {
3500
+ memberPath: "format.smallCaps";
3501
+ };
3502
+ readonly "format.outline": OperationDefinitionEntry & {
3503
+ memberPath: "format.outline";
3504
+ };
3505
+ readonly "format.shadow": OperationDefinitionEntry & {
3506
+ memberPath: "format.shadow";
3507
+ };
3508
+ readonly "format.emboss": OperationDefinitionEntry & {
3509
+ memberPath: "format.emboss";
3510
+ };
3511
+ readonly "format.imprint": OperationDefinitionEntry & {
3512
+ memberPath: "format.imprint";
3513
+ };
3514
+ readonly "format.vanish": OperationDefinitionEntry & {
3515
+ memberPath: "format.vanish";
3516
+ };
3517
+ readonly "format.webHidden": OperationDefinitionEntry & {
3518
+ memberPath: "format.webHidden";
3519
+ };
3520
+ readonly "format.specVanish": OperationDefinitionEntry & {
3521
+ memberPath: "format.specVanish";
3522
+ };
3523
+ readonly "format.border": OperationDefinitionEntry & {
3524
+ memberPath: "format.border";
3525
+ };
3526
+ readonly "format.fitText": OperationDefinitionEntry & {
3527
+ memberPath: "format.fitText";
3528
+ };
3529
+ readonly "format.dstrike": OperationDefinitionEntry & {
3530
+ memberPath: "format.dstrike";
3531
+ };
3532
+ readonly "format.vertAlign": OperationDefinitionEntry & {
3533
+ memberPath: "format.vertAlign";
3534
+ };
3535
+ readonly "format.position": OperationDefinitionEntry & {
3536
+ memberPath: "format.position";
3537
+ };
3538
+ readonly "format.bCs": OperationDefinitionEntry & {
3539
+ memberPath: "format.bCs";
3540
+ };
3541
+ readonly "format.iCs": OperationDefinitionEntry & {
3542
+ memberPath: "format.iCs";
3543
+ };
3544
+ readonly "format.snapToGrid": OperationDefinitionEntry & {
3545
+ memberPath: "format.snapToGrid";
3546
+ };
3547
+ readonly "format.oMath": OperationDefinitionEntry & {
3548
+ memberPath: "format.oMath";
3549
+ };
3550
+ readonly "format.letterSpacing": OperationDefinitionEntry & {
3551
+ memberPath: "format.letterSpacing";
3552
+ };
3553
+ readonly "format.charScale": OperationDefinitionEntry & {
3554
+ memberPath: "format.charScale";
3555
+ };
3556
+ readonly "format.kerning": OperationDefinitionEntry & {
3557
+ memberPath: "format.kerning";
3558
+ };
3559
+ readonly "format.rStyle": OperationDefinitionEntry & {
3560
+ memberPath: "format.rStyle";
3561
+ };
3562
+ readonly "format.rFonts": OperationDefinitionEntry & {
3563
+ memberPath: "format.rFonts";
3564
+ };
3565
+ readonly "format.eastAsianLayout": OperationDefinitionEntry & {
3566
+ memberPath: "format.eastAsianLayout";
3567
+ };
3568
+ readonly "format.em": OperationDefinitionEntry & {
3569
+ memberPath: "format.em";
3570
+ };
3571
+ readonly "format.ligatures": OperationDefinitionEntry & {
3572
+ memberPath: "format.ligatures";
3573
+ };
3574
+ readonly "format.numForm": OperationDefinitionEntry & {
3575
+ memberPath: "format.numForm";
3576
+ };
3577
+ readonly "format.numSpacing": OperationDefinitionEntry & {
3578
+ memberPath: "format.numSpacing";
3579
+ };
3580
+ readonly "format.stylisticSets": OperationDefinitionEntry & {
3581
+ memberPath: "format.stylisticSets";
3582
+ };
3583
+ readonly "format.contextualAlternates": OperationDefinitionEntry & {
3584
+ memberPath: "format.contextualAlternates";
3585
+ };
3472
3586
  readonly get: {
3473
3587
  readonly memberPath: "get";
3474
3588
  readonly description: "Read the full document as an SDDocument structure.";
@@ -3505,6 +3619,9 @@ export declare const OPERATION_DEFINITIONS: {
3505
3619
  readonly metadata: CommandStaticMetadata;
3506
3620
  readonly referenceDocPath: "get-node-by-id.mdx";
3507
3621
  readonly referenceGroup: "core";
3622
+ readonly inputAliases: {
3623
+ readonly id: "nodeId";
3624
+ };
3508
3625
  };
3509
3626
  readonly getText: {
3510
3627
  readonly memberPath: "getText";
@@ -3547,6 +3664,7 @@ export declare const OPERATION_DEFINITIONS: {
3547
3664
  readonly metadata: CommandStaticMetadata;
3548
3665
  readonly referenceDocPath: "project-markdown.mdx";
3549
3666
  readonly referenceGroup: "core";
3667
+ readonly batchable: false;
3550
3668
  readonly intentGroup: "get_content";
3551
3669
  readonly intentAction: "markdown_projection";
3552
3670
  };
@@ -3558,6 +3676,7 @@ export declare const OPERATION_DEFINITIONS: {
3558
3676
  readonly metadata: CommandStaticMetadata;
3559
3677
  readonly referenceDocPath: "project-html.mdx";
3560
3678
  readonly referenceGroup: "core";
3679
+ readonly batchable: false;
3561
3680
  readonly intentGroup: "get_content";
3562
3681
  readonly intentAction: "html_projection";
3563
3682
  };