Files
wehub-resource-sync 8cb1f9f479
Publish SDK (PyPI) / publish (push) Waiting to run
Publish SDK (npm) / publish (@aionui/officecli-sdk) (push) Waiting to run
Publish SDK (npm) / publish (@officecli/officecli-sdk) (push) Waiting to run
Publish SDK (npm) / publish (@officecli/sdk) (push) Waiting to run
Publish SDK (npm) / publish (officecli-sdk) (push) Waiting to run
SDK smoke / smoke (windows-latest) (push) Waiting to run
SDK smoke / smoke (macos-latest) (push) Waiting to run
SDK smoke / smoke (ubuntu-latest) (push) Waiting to run
Skill parity / diff (push) Waiting to run
chore: import upstream snapshot with attribution
2026-07-13 13:09:29 +08:00

726 lines
20 KiB
JSON

{
"$schema": "../_schema.json",
"format": "docx",
"element": "document",
"container": true,
"operations": {
"add": false,
"set": true,
"get": true,
"query": true,
"remove": false
},
"paths": {
"positional": [
"/"
]
},
"note": "Root container. Get returns top-level children (body, styles, numbering, headers, footers, etc.). Set exposes core document properties (author/title/subject/keywords/description).",
"children": [
{
"element": "body",
"pathSegment": "body",
"cardinality": "1"
},
{
"element": "styles",
"pathSegment": "styles",
"cardinality": "1"
},
{
"element": "numbering",
"pathSegment": "numbering",
"cardinality": "0..1"
}
],
"extends": "_shared/root-metadata",
"properties": {
"author": {
"type": "string",
"aliases": [
"creator"
],
"add": false,
"set": true,
"get": true,
"examples": [
"--prop author=\"Alice\""
],
"readback": "author string",
"enforcement": "report"
},
"title": {
"type": "string",
"add": false,
"set": true,
"get": true,
"examples": [
"--prop title=\"Report\""
],
"readback": "title string",
"enforcement": "report"
},
"keywords": {
"type": "string",
"add": false,
"set": true,
"get": true,
"examples": [
"--prop keywords=\"tag1,tag2\""
],
"readback": "keywords string",
"enforcement": "report"
},
"description": {
"type": "string",
"add": false,
"set": true,
"get": true,
"examples": [
"--prop description=\"Abstract\""
],
"readback": "description string",
"enforcement": "report"
},
"lastModifiedBy": {
"type": "string",
"aliases": [
"lastmodifiedby"
],
"add": false,
"set": true,
"get": true,
"examples": [
"--prop lastModifiedBy=\"Bob\""
],
"readback": "last-modified author",
"enforcement": "report"
},
"category": {
"type": "string",
"description": "document category metadata. Emitted only when present.",
"add": false,
"set": false,
"get": true,
"readback": "category string",
"enforcement": "report"
},
"revisionNumber": {
"type": "string",
"description": "document save counter from docProps/core.xml (cp:revision). Distinct from tracked-change revisions — see `help docx revision`.",
"add": false,
"set": false,
"get": true,
"readback": "revision number string",
"enforcement": "report"
},
"created": {
"type": "string",
"description": "creation timestamp (ISO-8601). Emitted only when present.",
"add": false,
"set": false,
"get": true,
"readback": "ISO-8601 timestamp",
"enforcement": "report"
},
"modified": {
"type": "string",
"description": "last modification timestamp (ISO-8601). Emitted only when present.",
"add": false,
"set": false,
"get": true,
"readback": "ISO-8601 timestamp",
"enforcement": "report"
},
"protection": {
"type": "enum",
"values": [
"none",
"readOnly",
"comments",
"trackedChanges",
"forms"
],
"description": "document protection mode.",
"add": false,
"set": false,
"get": true,
"readback": "protection mode name",
"enforcement": "report"
},
"protectionEnforced": {
"type": "bool",
"description": "whether document protection is enforced.",
"add": false,
"set": false,
"get": true,
"readback": "true | false",
"enforcement": "report"
},
"docGrid.type": {
"type": "enum",
"values": [
"default",
"lines",
"linesAndChars",
"snapToChars"
],
"description": "document grid type.",
"add": false,
"set": true,
"get": true,
"readback": "grid type token",
"enforcement": "report"
},
"docGrid.linePitch": {
"type": "number",
"description": "document grid line pitch.",
"add": false,
"set": true,
"get": true,
"readback": "integer",
"enforcement": "report"
},
"docGrid.charSpace": {
"type": "number",
"description": "document grid char space.",
"add": false,
"set": true,
"get": true,
"readback": "integer",
"enforcement": "report"
},
"charSpacingControl": {
"type": "enum",
"values": [
"compressPunctuation",
"compressPunctuationAndJapaneseKana",
"doNotCompress"
],
"description": "CJK character spacing control.",
"add": false,
"set": true,
"get": true,
"readback": "spacing control token",
"enforcement": "report"
},
"compatibility.mode": {
"type": "string",
"description": "compatibility mode identifier.",
"add": false,
"set": true,
"get": true,
"readback": "compatibility mode value",
"enforcement": "report"
},
"docDefaults.font": {
"type": "string",
"description": "default Latin font.",
"aliases": [
"defaultFont"
],
"add": false,
"set": true,
"get": true,
"readback": "font family name",
"enforcement": "report"
},
"docDefaults.font.eastAsia": {
"type": "string",
"description": "default East Asian font slot.",
"add": false,
"set": true,
"get": true,
"readback": "font family name",
"enforcement": "report"
},
"docDefaults.font.hAnsi": {
"type": "string",
"description": "default hAnsi font slot.",
"add": false,
"set": true,
"get": true,
"readback": "font family name",
"enforcement": "report"
},
"docDefaults.font.complexScript": {
"type": "string",
"description": "default complex-script font slot.",
"add": false,
"set": true,
"get": true,
"readback": "font family name",
"enforcement": "report"
},
"docDefaults.fontSize": {
"type": "font-size",
"description": "default font size.",
"add": false,
"set": true,
"get": true,
"readback": "Npt",
"enforcement": "report"
},
"docDefaults.color": {
"type": "color",
"description": "default text color.",
"add": false,
"set": true,
"get": true,
"readback": "#RRGGBB",
"enforcement": "report"
},
"docDefaults.bold": {
"type": "bool",
"description": "default bold flag.",
"add": false,
"set": true,
"get": true,
"readback": "true | false",
"enforcement": "report"
},
"docDefaults.italic": {
"type": "bool",
"description": "default italic flag.",
"add": false,
"set": true,
"get": true,
"readback": "true | false",
"enforcement": "report"
},
"docDefaults.rtl": {
"type": "bool",
"description": "default right-to-left flag.",
"add": false,
"set": true,
"get": true,
"readback": "true | false",
"enforcement": "report"
},
"docDefaults.alignment": {
"type": "string",
"description": "default paragraph alignment.",
"add": false,
"set": true,
"get": true,
"readback": "alignment token",
"enforcement": "report"
},
"docDefaults.spaceBefore": {
"type": "string",
"description": "default paragraph space-before.",
"add": false,
"set": true,
"get": true,
"readback": "Npt",
"enforcement": "report"
},
"docDefaults.spaceAfter": {
"type": "string",
"description": "default paragraph space-after.",
"add": false,
"set": true,
"get": true,
"readback": "Npt",
"enforcement": "report"
},
"docDefaults.lineSpacing": {
"type": "string",
"description": "default paragraph line spacing.",
"add": false,
"set": true,
"get": true,
"readback": "1.5x or Npt",
"enforcement": "report"
},
"autoSpaceDE": {
"type": "bool",
"description": "auto-spacing between East Asian and Latin text.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"autoSpaceDN": {
"type": "bool",
"description": "auto-spacing between East Asian and numeric text.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"kinsoku": {
"type": "bool",
"description": "Japanese kinsoku line breaking rules.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"overflowPunct": {
"type": "bool",
"description": "allow punctuation to overflow margin.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"embedFonts": {
"type": "bool",
"description": "embed TrueType fonts.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"embedSystemFonts": {
"type": "bool",
"description": "embed system fonts.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"saveSubsetFonts": {
"type": "bool",
"description": "save font subsets.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"mirrorMargins": {
"type": "bool",
"description": "mirror margins for facing pages.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"gutterAtTop": {
"type": "bool",
"description": "gutter at top.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"bookFoldPrinting": {
"type": "bool",
"description": "book fold printing layout.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"evenAndOddHeaders": {
"type": "bool",
"description": "different headers for even/odd pages.",
"add": false,
"set": true,
"get": true,
"readback": "true when settings/evenAndOddHeaders is present",
"enforcement": "report"
},
"updateFields": {
"type": "bool",
"description": "write <w:updateFields w:val=\"true\"/> so Word recomputes every field (TOC / PAGE / NUMPAGES / SEQ / PAGEREF) on open instead of showing the stale write-time cache. Set on /settings or /.",
"aliases": ["updateFieldsOnOpen"],
"add": false,
"set": true,
"get": true,
"readback": "true when settings/updateFields is present",
"enforcement": "report"
},
"recalcFields": {
"type": "enum",
"values": ["seq"],
"description": "compute and write cached field values officecli CAN evaluate without a layout engine — currently SEQ numbering (Figure/Table 1,2,3… counted in body document order, honouring \\n / \\c / \\r and arabic/roman/alphabetic formats). PAGE/PAGEREF/TOC page numbers need pagination — pair with updateFields=true to defer those to Word. Heading-relative SEQ (\\s) and SEQ outside the body are left for Word. Set on / .",
"add": false,
"set": true,
"get": false,
"readback": "n/a (action — writes field result caches; read values back via get/query on the field)",
"enforcement": "report"
},
"autoHyphenation": {
"type": "bool",
"description": "enable automatic hyphenation (settings/autoHyphenation).",
"add": false,
"set": true,
"get": true,
"readback": "true when settings/autoHyphenation is present",
"enforcement": "report"
},
"trackRevisions": {
"type": "bool",
"description": "document-level track-changes MODE toggle (settings/trackRevisions; Word: Review > Track Changes). Turns the document into tracked mode so edits made in a word processor become revisions. Distinct from the per-run/paragraph revision.type keys that author the tracked-change DATA itself. Set on /settings or /.",
"aliases": ["trackChanges"],
"add": false,
"set": true,
"get": true,
"readback": "true when settings/trackRevisions is present",
"enforcement": "report"
},
"defaultTabStop": {
"type": "string",
"description": "default tab stop (e.g. \"720\" twips or \"0.5in\").",
"add": false,
"set": true,
"get": false,
"examples": [
"--prop defaultTabStop=720",
"--prop defaultTabStop=0.5in"
],
"readback": "n/a (set-only)",
"enforcement": "report"
},
"displayBackgroundShape": {
"type": "bool",
"description": "display background shape.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"removePersonalInformation": {
"type": "bool",
"description": "remove personal info on save.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"removeDateAndTime": {
"type": "bool",
"description": "remove date/time on save.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"printFormsData": {
"type": "bool",
"description": "print only form data.",
"add": false,
"set": true,
"get": false,
"readback": "n/a (set-only)",
"enforcement": "report"
},
"pageWidth": {
"type": "length",
"add": false,
"set": true,
"get": true,
"description": "convenience readback from sectPr; primary edit path is /section[N].",
"readback": "length in cm (e.g. \"21cm\")",
"examples": [
"--prop pageWidth=21cm"
],
"enforcement": "report"
},
"sectPr": {
"type": "enum",
"values": [
"present"
],
"add": false,
"set": true,
"get": false,
"description": "dump→batch round-trip marker: forces the body's final section to emit a (possibly empty) <w:sectPr/> so an empty source sectPr is not dropped. Internal round-trip use; not an interactive edit.",
"examples": [
"--prop sectPr=present"
],
"enforcement": "report"
},
"pageHeight": {
"type": "length",
"add": false,
"set": true,
"get": true,
"description": "convenience readback from sectPr; primary edit path is /section[N].",
"readback": "length in cm (e.g. \"29.7cm\")",
"examples": [
"--prop pageHeight=29.7cm"
],
"enforcement": "report"
},
"orientation": {
"type": "enum",
"values": [
"portrait",
"landscape"
],
"add": false,
"set": true,
"get": true,
"description": "convenience readback from sectPr; primary edit path is /section[N].",
"readback": "orientation token",
"examples": [
"--prop orientation=landscape"
],
"enforcement": "report"
},
"marginTop": {
"type": "length",
"add": false,
"set": true,
"get": true,
"description": "convenience readback from sectPr; primary edit path is /section[N].",
"readback": "length in cm",
"examples": [
"--prop marginTop=2.54cm"
],
"enforcement": "report"
},
"marginBottom": {
"type": "length",
"add": false,
"set": true,
"get": true,
"description": "convenience readback from sectPr; primary edit path is /section[N].",
"readback": "length in cm",
"examples": [
"--prop marginBottom=2.54cm"
],
"enforcement": "report"
},
"marginLeft": {
"type": "length",
"add": false,
"set": true,
"get": true,
"description": "convenience readback from sectPr; primary edit path is /section[N].",
"readback": "length in cm",
"examples": [
"--prop marginLeft=3.18cm"
],
"enforcement": "report"
},
"marginRight": {
"type": "length",
"add": false,
"set": true,
"get": true,
"description": "convenience readback from sectPr; primary edit path is /section[N].",
"readback": "length in cm",
"examples": [
"--prop marginRight=3.18cm"
],
"enforcement": "report"
},
"marginHeader": {
"type": "length",
"add": false,
"set": true,
"get": true,
"description": "header-from-top-edge distance (pgMar @header). Convenience readback from sectPr; primary edit path is /section[N].",
"readback": "length in cm",
"examples": [
"--prop marginHeader=1.5cm"
],
"enforcement": "report"
},
"marginFooter": {
"type": "length",
"add": false,
"set": true,
"get": true,
"description": "footer-from-bottom-edge distance (pgMar @footer). Convenience readback from sectPr; primary edit path is /section[N].",
"readback": "length in cm",
"examples": [
"--prop marginFooter=1.75cm"
],
"enforcement": "report"
},
"marginGutter": {
"type": "length",
"add": false,
"set": true,
"get": true,
"description": "binding gutter width (pgMar @gutter). Convenience readback from sectPr; primary edit path is /section[N].",
"readback": "length in cm",
"examples": [
"--prop marginGutter=0cm"
],
"enforcement": "report"
},
"extended.application": {
"type": "string",
"add": false,
"set": false,
"get": true,
"description": "from docProps/app.xml application identifier (e.g. \"Microsoft Word\").",
"readback": "application string",
"enforcement": "report"
},
"bookFoldPrintingSheets": {
"type": "number",
"add": false,
"set": false,
"get": true,
"description": "settings.xml bookFoldPrintingSheets — sheets per booklet signature when book-fold printing.",
"readback": "integer sheets-per-signature",
"enforcement": "report"
},
"bookFoldReversePrinting": {
"type": "bool",
"add": false,
"set": false,
"get": true,
"description": "settings.xml bookFoldRevPrinting flag — true when book-fold printing reverses the page order.",
"readback": "true|false",
"enforcement": "report"
},
"doNotDisplayPageBoundaries": {
"type": "bool",
"add": false,
"set": false,
"get": true,
"description": "settings.xml doNotDisplayPageBoundaries flag — Word view hides the page-boundary frame.",
"readback": "true when set",
"enforcement": "report"
},
"columns.equalWidth": {
"type": "bool",
"add": false,
"set": false,
"get": true,
"description": "document-default columns equal-width flag (sectPr cols @equalWidth on the body sectPr).",
"readback": "true|false",
"enforcement": "report"
},
"columns.separator": {
"type": "bool",
"add": false,
"set": false,
"get": true,
"description": "document-default columns separator flag (sectPr cols @sep on the body sectPr).",
"readback": "true|false",
"enforcement": "report"
},
"locale": {
"type": "string",
"description": "primary document locale derived from theme themeFontLang (e.g. 'en-US', 'zh-CN', 'ar-SA'). Read-only summary — change via run lang.* slots or theme themeFontLang.",
"add": false,
"set": false,
"get": true,
"readback": "BCP-47 locale string",
"enforcement": "report"
}
}
}