@superdoc-dev/sdk 1.8.0-next.8 → 1.8.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.
- package/dist/generated/client.d.ts +825 -13
- package/dist/generated/client.d.ts.map +1 -1
- package/dist/generated/contract.cjs +1946 -18
- package/dist/generated/contract.d.ts.map +1 -1
- package/dist/generated/contract.js +1949 -18
- package/package.json +6 -6
- package/tools/__pycache__/__init__.cpython-312.pyc +0 -0
- package/tools/__pycache__/intent_dispatch_generated.cpython-312.pyc +0 -0
- package/tools/catalog.json +155 -7
- package/tools/tools-policy.json +1 -1
- package/tools/tools.anthropic.json +155 -7
- package/tools/tools.generic.json +155 -7
- package/tools/tools.openai.json +155 -7
- package/tools/tools.vercel.json +155 -7
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@superdoc-dev/sdk",
|
|
3
|
-
"version": "1.8.0
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
"typescript": "^5.9.2"
|
|
27
27
|
},
|
|
28
28
|
"optionalDependencies": {
|
|
29
|
-
"@superdoc-dev/sdk-darwin-
|
|
30
|
-
"@superdoc-dev/sdk-
|
|
31
|
-
"@superdoc-dev/sdk-linux-x64": "1.8.0
|
|
32
|
-
"@superdoc-dev/sdk-
|
|
33
|
-
"@superdoc-dev/sdk-windows-x64": "1.8.0
|
|
29
|
+
"@superdoc-dev/sdk-darwin-arm64": "1.8.0",
|
|
30
|
+
"@superdoc-dev/sdk-linux-arm64": "1.8.0",
|
|
31
|
+
"@superdoc-dev/sdk-linux-x64": "1.8.0",
|
|
32
|
+
"@superdoc-dev/sdk-darwin-x64": "1.8.0",
|
|
33
|
+
"@superdoc-dev/sdk-windows-x64": "1.8.0"
|
|
34
34
|
},
|
|
35
35
|
"publishConfig": {
|
|
36
36
|
"access": "public"
|
|
Binary file
|
|
Binary file
|
package/tools/catalog.json
CHANGED
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
},
|
|
91
91
|
{
|
|
92
92
|
"toolName": "superdoc_edit",
|
|
93
|
-
"description": "The primary tool for inserting content into documents. ALWAYS use action \"insert\" with type \"markdown\" to create headings, paragraphs, or any block content
|
|
93
|
+
"description": "The primary tool for inserting content into documents. ALWAYS use action \"insert\" with type \"markdown\" to create headings, paragraphs, or any block content: this is faster and creates proper document structure in one call. Do NOT use superdoc_create for headings or paragraphs. The markdown parser creates headings from # markers (# = Heading1, ## = Heading2), bold from **text**, italic from *text*, and numbered/bullet lists. Position markdown inserts with \"target\" (a BlockNodeAddress like {kind:\"block\", nodeType, nodeId}) and \"placement\" (before, after, insideStart, insideEnd). Without a target, content appends at the end of the document. IMPORTANT: After a markdown insert, analyze the document context (what kind of document, how titles and body text are styled) and follow up with ONE superdoc_mutations call to format inserted blocks so they look like they belong. Each format.apply step accepts \"inline\" (fontFamily, fontSize, bold, underline, color), \"alignment\", and \"scope\" in the same step. Use scope: \"block\" so formatting covers the entire paragraph. Copy the exact property values from the existing get_content blocks (fontFamily, fontSize, color, alignment, bold, underline). Do NOT invent values: use what the blocks show. Also supports replace, delete, and undo/redo. For replace and delete, pass a \"ref\" from superdoc_search or superdoc_get_content blocks. A search ref covers only the matched substring; a block ref covers the entire block text, so use block refs when rewriting or shortening whole paragraphs. For multi-step redlines or whole-clause rewrites, prefer superdoc_mutations with where:{by:\"block\", nodeType, nodeId} from superdoc_get_content action \"blocks\" includeText:true rather than relying on text selectors. Refs expire after any mutation; always re-search before the next edit. For 2+ edits that must succeed or fail atomically, use superdoc_mutations instead. Supports \"dryRun\" to preview changes and \"changeMode: tracked\" to record edits as tracked changes (not supported for markdown/html inserts). Do NOT build \"target\" objects manually when a ref is available; prefer \"ref\" for simpler, more reliable targeting.",
|
|
94
94
|
"inputSchema": {
|
|
95
95
|
"type": "object",
|
|
96
96
|
"properties": {
|
|
@@ -1073,7 +1073,7 @@
|
|
|
1073
1073
|
},
|
|
1074
1074
|
{
|
|
1075
1075
|
"toolName": "superdoc_create",
|
|
1076
|
-
"description": "IMPORTANT: For headings and paragraphs, use superdoc_edit with type \"markdown\" instead
|
|
1076
|
+
"description": "IMPORTANT: For headings and paragraphs, use superdoc_edit with type \"markdown\" instead: it is faster, creates proper styles, and handles positioning via target + placement. Only use superdoc_create for tables or when markdown cannot express the content. Creates a single paragraph, heading, or table. Returns nodeId and ref for the created block. After creating, the returned ref is valid for ONE immediate superdoc_format call. For subsequent operations, re-fetch blocks with superdoc_get_content to get fresh refs (refs expire after any mutation). When the user asks for a \"heading\", use action \"heading\" with a level (default 1). Use action \"paragraph\" for regular body text. Position with \"at\": {kind:\"documentEnd\"} (default), {kind:\"documentStart\"}, or {kind:\"after\"/\"before\", target:{kind:\"block\", nodeType, nodeId}} for relative placement. When creating multiple items in sequence, use the previous response nodeId as the next \"at\" target to maintain correct ordering. Do NOT use newlines in \"text\" to create multiple paragraphs; call this tool separately for each one.",
|
|
1077
1077
|
"inputSchema": {
|
|
1078
1078
|
"type": "object",
|
|
1079
1079
|
"properties": {
|
|
@@ -1219,7 +1219,7 @@
|
|
|
1219
1219
|
},
|
|
1220
1220
|
"text": {
|
|
1221
1221
|
"type": "string",
|
|
1222
|
-
"description": "Paragraph text content. Each call creates ONE paragraph. For multiple items (e.g. list items), call superdoc_create separately for each item
|
|
1222
|
+
"description": "Paragraph text content. Each call creates ONE paragraph. For multiple items (e.g. list items), call superdoc_create separately for each item: do NOT use newlines to put multiple items in one paragraph."
|
|
1223
1223
|
},
|
|
1224
1224
|
"input": {
|
|
1225
1225
|
"type": "object",
|
|
@@ -1268,7 +1268,7 @@
|
|
|
1268
1268
|
},
|
|
1269
1269
|
{
|
|
1270
1270
|
"toolName": "superdoc_list",
|
|
1271
|
-
"description": "Create and manipulate bullet and numbered lists. Most actions require a list-item target: {kind:\"block\", nodeType:\"listItem\", nodeId:\"<id>\"}. Exceptions: \"create\" and \"attach\" operate on paragraph targets (they turn paragraphs into list items). Find nodeIds via superdoc_get_content({action:\"blocks\"})
|
|
1271
|
+
"description": "Create and manipulate bullet and numbered lists. Most actions require a list-item target: {kind:\"block\", nodeType:\"listItem\", nodeId:\"<id>\"}. Exceptions: \"create\" and \"attach\" operate on paragraph targets (they turn paragraphs into list items). Find nodeIds via superdoc_get_content({action:\"blocks\"}): pick listItem blocks for most actions, paragraph blocks for create/attach.\n\nCREATE & CONVERT:\n• \"create\": make a NEW list from paragraphs. Two modes: mode:\"empty\" with at:{kind:\"block\", nodeType:\"paragraph\", nodeId} converts a single paragraph; mode:\"fromParagraphs\" with target:{from:{...paragraph block address}, to:{...paragraph block address}} converts a range: ALL paragraphs between from and to become items, so make sure no other content sits between them. Pass a preset (\"disc\"|\"circle\"|\"square\"|\"dash\" for bullets; \"decimal\"|\"decimalParenthesis\"|\"lowerLetter\"|\"upperLetter\"|\"lowerRoman\"|\"upperRoman\" for ordered) or a custom style. Use \"create\" to start a fresh list: NOT to extend an existing one (use \"attach\" for that).\n• \"attach\": add paragraphs to an EXISTING list, inheriting its numbering definition. Pass target:{paragraph block address} (or {from, to} range of paragraphs) + attachTo:{kind:\"block\", nodeType:\"listItem\", nodeId:\"<any item in destination list>\"} + optional level:0..8. Use this to extend a list or as the second half of a merge workflow (see \"join\" below).\n• \"set_type\": convert an existing list between ordered and bullet. Pass target:{listItem} + kind:\"ordered\" or \"bullet\". Adjacent compatible sequences are merged automatically to preserve continuous numbering.\n• \"detach\": convert a list item back to a plain paragraph. Pass target:{listItem}.\n\nITEMS & NESTING:\n• \"insert\": add a new list item adjacent to an existing item in the same list. Pass target:{listItem} + position:\"before\"|\"after\" + optional text. Use this (NOT superdoc_create) to add items to an existing list.\n• \"indent\" / \"outdent\": bump the target item's nesting level by one (0-8 range). Pass target:{listItem}.\n• \"set_level\": jump the target item to an explicit level. Pass target:{listItem} + level:0..8.\n\nNUMBERING (ordered lists):\n• \"set_value\": restart numbering at the target. Pass target:{listItem} + value:<number> (e.g. value:1 to start over) or value:null to clear a previous override. Mid-sequence targets are atomically split off into their own sequence.\n• \"continue_previous\": make the target's sequence continue numbering from the nearest compatible previous sequence (same abstract definition). Pass target:{listItem of the sequence you want to renumber}. Fails with NO_COMPATIBLE_PREVIOUS or INCOMPATIBLE_DEFINITIONS if no matching prior sequence exists.\n\nSEQUENCE SHAPE (merge / split):\n• \"merge\": merge the target's sequence with an adjacent one into one continuous list. Pass target:{listItem} + direction:\"withPrevious\" or \"withNext\". Absorbed items adopt the absorbing sequence's numbering definition, and empty paragraphs between the two sequences are removed so numbering flows continuously.\n• \"split\": split the target's sequence at the target item into two independent lists. The target and everything after become a new sequence that restarts numbering at 1. Pass target:{listItem}; add restartNumbering:false to keep the count continuing instead of restarting.",
|
|
1272
1272
|
"inputSchema": {
|
|
1273
1273
|
"type": "object",
|
|
1274
1274
|
"properties": {
|
|
@@ -1350,7 +1350,7 @@
|
|
|
1350
1350
|
},
|
|
1351
1351
|
"mode": {
|
|
1352
1352
|
"type": "string",
|
|
1353
|
-
"description": "Required. 'fromParagraphs' converts existing paragraphs into list items
|
|
1353
|
+
"description": "Required. 'fromParagraphs' converts existing paragraphs into list items: each paragraph becomes one item, so create one paragraph per item first. 'empty' creates a new empty list at 'at'. Required for action 'create'.",
|
|
1354
1354
|
"enum": [
|
|
1355
1355
|
"empty",
|
|
1356
1356
|
"fromParagraphs"
|
|
@@ -1759,6 +1759,153 @@
|
|
|
1759
1759
|
"range"
|
|
1760
1760
|
]
|
|
1761
1761
|
}
|
|
1762
|
+
},
|
|
1763
|
+
"story": {
|
|
1764
|
+
"oneOf": [
|
|
1765
|
+
{
|
|
1766
|
+
"type": "object",
|
|
1767
|
+
"properties": {
|
|
1768
|
+
"kind": {
|
|
1769
|
+
"const": "story",
|
|
1770
|
+
"type": "string"
|
|
1771
|
+
},
|
|
1772
|
+
"storyType": {
|
|
1773
|
+
"const": "body",
|
|
1774
|
+
"type": "string"
|
|
1775
|
+
}
|
|
1776
|
+
},
|
|
1777
|
+
"required": [
|
|
1778
|
+
"kind",
|
|
1779
|
+
"storyType"
|
|
1780
|
+
]
|
|
1781
|
+
},
|
|
1782
|
+
{
|
|
1783
|
+
"type": "object",
|
|
1784
|
+
"properties": {
|
|
1785
|
+
"kind": {
|
|
1786
|
+
"const": "story",
|
|
1787
|
+
"type": "string"
|
|
1788
|
+
},
|
|
1789
|
+
"storyType": {
|
|
1790
|
+
"const": "headerFooterSlot",
|
|
1791
|
+
"type": "string"
|
|
1792
|
+
},
|
|
1793
|
+
"section": {
|
|
1794
|
+
"type": "object",
|
|
1795
|
+
"properties": {
|
|
1796
|
+
"kind": {
|
|
1797
|
+
"const": "section",
|
|
1798
|
+
"type": "string"
|
|
1799
|
+
},
|
|
1800
|
+
"sectionId": {
|
|
1801
|
+
"type": "string"
|
|
1802
|
+
}
|
|
1803
|
+
},
|
|
1804
|
+
"required": [
|
|
1805
|
+
"kind",
|
|
1806
|
+
"sectionId"
|
|
1807
|
+
]
|
|
1808
|
+
},
|
|
1809
|
+
"headerFooterKind": {
|
|
1810
|
+
"enum": [
|
|
1811
|
+
"header",
|
|
1812
|
+
"footer"
|
|
1813
|
+
]
|
|
1814
|
+
},
|
|
1815
|
+
"variant": {
|
|
1816
|
+
"enum": [
|
|
1817
|
+
"default",
|
|
1818
|
+
"first",
|
|
1819
|
+
"even"
|
|
1820
|
+
]
|
|
1821
|
+
},
|
|
1822
|
+
"resolution": {
|
|
1823
|
+
"enum": [
|
|
1824
|
+
"effective",
|
|
1825
|
+
"explicit"
|
|
1826
|
+
]
|
|
1827
|
+
},
|
|
1828
|
+
"onWrite": {
|
|
1829
|
+
"enum": [
|
|
1830
|
+
"materializeIfInherited",
|
|
1831
|
+
"editResolvedPart",
|
|
1832
|
+
"error"
|
|
1833
|
+
]
|
|
1834
|
+
}
|
|
1835
|
+
},
|
|
1836
|
+
"required": [
|
|
1837
|
+
"kind",
|
|
1838
|
+
"storyType",
|
|
1839
|
+
"section",
|
|
1840
|
+
"headerFooterKind",
|
|
1841
|
+
"variant"
|
|
1842
|
+
]
|
|
1843
|
+
},
|
|
1844
|
+
{
|
|
1845
|
+
"type": "object",
|
|
1846
|
+
"properties": {
|
|
1847
|
+
"kind": {
|
|
1848
|
+
"const": "story",
|
|
1849
|
+
"type": "string"
|
|
1850
|
+
},
|
|
1851
|
+
"storyType": {
|
|
1852
|
+
"const": "headerFooterPart",
|
|
1853
|
+
"type": "string"
|
|
1854
|
+
},
|
|
1855
|
+
"refId": {
|
|
1856
|
+
"type": "string"
|
|
1857
|
+
}
|
|
1858
|
+
},
|
|
1859
|
+
"required": [
|
|
1860
|
+
"kind",
|
|
1861
|
+
"storyType",
|
|
1862
|
+
"refId"
|
|
1863
|
+
]
|
|
1864
|
+
},
|
|
1865
|
+
{
|
|
1866
|
+
"type": "object",
|
|
1867
|
+
"properties": {
|
|
1868
|
+
"kind": {
|
|
1869
|
+
"const": "story",
|
|
1870
|
+
"type": "string"
|
|
1871
|
+
},
|
|
1872
|
+
"storyType": {
|
|
1873
|
+
"const": "footnote",
|
|
1874
|
+
"type": "string"
|
|
1875
|
+
},
|
|
1876
|
+
"noteId": {
|
|
1877
|
+
"type": "string"
|
|
1878
|
+
}
|
|
1879
|
+
},
|
|
1880
|
+
"required": [
|
|
1881
|
+
"kind",
|
|
1882
|
+
"storyType",
|
|
1883
|
+
"noteId"
|
|
1884
|
+
]
|
|
1885
|
+
},
|
|
1886
|
+
{
|
|
1887
|
+
"type": "object",
|
|
1888
|
+
"properties": {
|
|
1889
|
+
"kind": {
|
|
1890
|
+
"const": "story",
|
|
1891
|
+
"type": "string"
|
|
1892
|
+
},
|
|
1893
|
+
"storyType": {
|
|
1894
|
+
"const": "endnote",
|
|
1895
|
+
"type": "string"
|
|
1896
|
+
},
|
|
1897
|
+
"noteId": {
|
|
1898
|
+
"type": "string"
|
|
1899
|
+
}
|
|
1900
|
+
},
|
|
1901
|
+
"required": [
|
|
1902
|
+
"kind",
|
|
1903
|
+
"storyType",
|
|
1904
|
+
"noteId"
|
|
1905
|
+
]
|
|
1906
|
+
}
|
|
1907
|
+
],
|
|
1908
|
+
"description": "Story scope. Defaults to document body when omitted. Use {kind:'story', storyType:'body'} for body, or other storyType values for headers, footers, footnotes, endnotes."
|
|
1762
1909
|
}
|
|
1763
1910
|
},
|
|
1764
1911
|
"required": [
|
|
@@ -1779,9 +1926,10 @@
|
|
|
1779
1926
|
},
|
|
1780
1927
|
"status": {
|
|
1781
1928
|
"type": "string",
|
|
1782
|
-
"description": "Set comment status. Use 'resolved' to
|
|
1929
|
+
"description": "Set comment status. Use 'resolved' to resolve a comment, or 'active' to reopen a previously resolved comment (lifecycle inverse). Only for action 'update'. Omit for other actions.",
|
|
1783
1930
|
"enum": [
|
|
1784
|
-
"resolved"
|
|
1931
|
+
"resolved",
|
|
1932
|
+
"active"
|
|
1785
1933
|
]
|
|
1786
1934
|
},
|
|
1787
1935
|
"isInternal": {
|
package/tools/tools-policy.json
CHANGED
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
},
|
|
62
62
|
{
|
|
63
63
|
"name": "superdoc_edit",
|
|
64
|
-
"description": "The primary tool for inserting content into documents. ALWAYS use action \"insert\" with type \"markdown\" to create headings, paragraphs, or any block content
|
|
64
|
+
"description": "The primary tool for inserting content into documents. ALWAYS use action \"insert\" with type \"markdown\" to create headings, paragraphs, or any block content: this is faster and creates proper document structure in one call. Do NOT use superdoc_create for headings or paragraphs. The markdown parser creates headings from # markers (# = Heading1, ## = Heading2), bold from **text**, italic from *text*, and numbered/bullet lists. Position markdown inserts with \"target\" (a BlockNodeAddress like {kind:\"block\", nodeType, nodeId}) and \"placement\" (before, after, insideStart, insideEnd). Without a target, content appends at the end of the document. IMPORTANT: After a markdown insert, analyze the document context (what kind of document, how titles and body text are styled) and follow up with ONE superdoc_mutations call to format inserted blocks so they look like they belong. Each format.apply step accepts \"inline\" (fontFamily, fontSize, bold, underline, color), \"alignment\", and \"scope\" in the same step. Use scope: \"block\" so formatting covers the entire paragraph. Copy the exact property values from the existing get_content blocks (fontFamily, fontSize, color, alignment, bold, underline). Do NOT invent values: use what the blocks show. Also supports replace, delete, and undo/redo. For replace and delete, pass a \"ref\" from superdoc_search or superdoc_get_content blocks. A search ref covers only the matched substring; a block ref covers the entire block text, so use block refs when rewriting or shortening whole paragraphs. For multi-step redlines or whole-clause rewrites, prefer superdoc_mutations with where:{by:\"block\", nodeType, nodeId} from superdoc_get_content action \"blocks\" includeText:true rather than relying on text selectors. Refs expire after any mutation; always re-search before the next edit. For 2+ edits that must succeed or fail atomically, use superdoc_mutations instead. Supports \"dryRun\" to preview changes and \"changeMode: tracked\" to record edits as tracked changes (not supported for markdown/html inserts). Do NOT build \"target\" objects manually when a ref is available; prefer \"ref\" for simpler, more reliable targeting.",
|
|
65
65
|
"input_schema": {
|
|
66
66
|
"type": "object",
|
|
67
67
|
"properties": {
|
|
@@ -906,7 +906,7 @@
|
|
|
906
906
|
},
|
|
907
907
|
{
|
|
908
908
|
"name": "superdoc_create",
|
|
909
|
-
"description": "IMPORTANT: For headings and paragraphs, use superdoc_edit with type \"markdown\" instead
|
|
909
|
+
"description": "IMPORTANT: For headings and paragraphs, use superdoc_edit with type \"markdown\" instead: it is faster, creates proper styles, and handles positioning via target + placement. Only use superdoc_create for tables or when markdown cannot express the content. Creates a single paragraph, heading, or table. Returns nodeId and ref for the created block. After creating, the returned ref is valid for ONE immediate superdoc_format call. For subsequent operations, re-fetch blocks with superdoc_get_content to get fresh refs (refs expire after any mutation). When the user asks for a \"heading\", use action \"heading\" with a level (default 1). Use action \"paragraph\" for regular body text. Position with \"at\": {kind:\"documentEnd\"} (default), {kind:\"documentStart\"}, or {kind:\"after\"/\"before\", target:{kind:\"block\", nodeType, nodeId}} for relative placement. When creating multiple items in sequence, use the previous response nodeId as the next \"at\" target to maintain correct ordering. Do NOT use newlines in \"text\" to create multiple paragraphs; call this tool separately for each one.",
|
|
910
910
|
"input_schema": {
|
|
911
911
|
"type": "object",
|
|
912
912
|
"properties": {
|
|
@@ -1052,7 +1052,7 @@
|
|
|
1052
1052
|
},
|
|
1053
1053
|
"text": {
|
|
1054
1054
|
"type": "string",
|
|
1055
|
-
"description": "Paragraph text content. Each call creates ONE paragraph. For multiple items (e.g. list items), call superdoc_create separately for each item
|
|
1055
|
+
"description": "Paragraph text content. Each call creates ONE paragraph. For multiple items (e.g. list items), call superdoc_create separately for each item: do NOT use newlines to put multiple items in one paragraph."
|
|
1056
1056
|
},
|
|
1057
1057
|
"input": {
|
|
1058
1058
|
"type": "object",
|
|
@@ -1079,7 +1079,7 @@
|
|
|
1079
1079
|
},
|
|
1080
1080
|
{
|
|
1081
1081
|
"name": "superdoc_list",
|
|
1082
|
-
"description": "Create and manipulate bullet and numbered lists. Most actions require a list-item target: {kind:\"block\", nodeType:\"listItem\", nodeId:\"<id>\"}. Exceptions: \"create\" and \"attach\" operate on paragraph targets (they turn paragraphs into list items). Find nodeIds via superdoc_get_content({action:\"blocks\"})
|
|
1082
|
+
"description": "Create and manipulate bullet and numbered lists. Most actions require a list-item target: {kind:\"block\", nodeType:\"listItem\", nodeId:\"<id>\"}. Exceptions: \"create\" and \"attach\" operate on paragraph targets (they turn paragraphs into list items). Find nodeIds via superdoc_get_content({action:\"blocks\"}): pick listItem blocks for most actions, paragraph blocks for create/attach.\n\nCREATE & CONVERT:\n• \"create\": make a NEW list from paragraphs. Two modes: mode:\"empty\" with at:{kind:\"block\", nodeType:\"paragraph\", nodeId} converts a single paragraph; mode:\"fromParagraphs\" with target:{from:{...paragraph block address}, to:{...paragraph block address}} converts a range: ALL paragraphs between from and to become items, so make sure no other content sits between them. Pass a preset (\"disc\"|\"circle\"|\"square\"|\"dash\" for bullets; \"decimal\"|\"decimalParenthesis\"|\"lowerLetter\"|\"upperLetter\"|\"lowerRoman\"|\"upperRoman\" for ordered) or a custom style. Use \"create\" to start a fresh list: NOT to extend an existing one (use \"attach\" for that).\n• \"attach\": add paragraphs to an EXISTING list, inheriting its numbering definition. Pass target:{paragraph block address} (or {from, to} range of paragraphs) + attachTo:{kind:\"block\", nodeType:\"listItem\", nodeId:\"<any item in destination list>\"} + optional level:0..8. Use this to extend a list or as the second half of a merge workflow (see \"join\" below).\n• \"set_type\": convert an existing list between ordered and bullet. Pass target:{listItem} + kind:\"ordered\" or \"bullet\". Adjacent compatible sequences are merged automatically to preserve continuous numbering.\n• \"detach\": convert a list item back to a plain paragraph. Pass target:{listItem}.\n\nITEMS & NESTING:\n• \"insert\": add a new list item adjacent to an existing item in the same list. Pass target:{listItem} + position:\"before\"|\"after\" + optional text. Use this (NOT superdoc_create) to add items to an existing list.\n• \"indent\" / \"outdent\": bump the target item's nesting level by one (0-8 range). Pass target:{listItem}.\n• \"set_level\": jump the target item to an explicit level. Pass target:{listItem} + level:0..8.\n\nNUMBERING (ordered lists):\n• \"set_value\": restart numbering at the target. Pass target:{listItem} + value:<number> (e.g. value:1 to start over) or value:null to clear a previous override. Mid-sequence targets are atomically split off into their own sequence.\n• \"continue_previous\": make the target's sequence continue numbering from the nearest compatible previous sequence (same abstract definition). Pass target:{listItem of the sequence you want to renumber}. Fails with NO_COMPATIBLE_PREVIOUS or INCOMPATIBLE_DEFINITIONS if no matching prior sequence exists.\n\nSEQUENCE SHAPE (merge / split):\n• \"merge\": merge the target's sequence with an adjacent one into one continuous list. Pass target:{listItem} + direction:\"withPrevious\" or \"withNext\". Absorbed items adopt the absorbing sequence's numbering definition, and empty paragraphs between the two sequences are removed so numbering flows continuously.\n• \"split\": split the target's sequence at the target item into two independent lists. The target and everything after become a new sequence that restarts numbering at 1. Pass target:{listItem}; add restartNumbering:false to keep the count continuing instead of restarting.",
|
|
1083
1083
|
"input_schema": {
|
|
1084
1084
|
"type": "object",
|
|
1085
1085
|
"properties": {
|
|
@@ -1161,7 +1161,7 @@
|
|
|
1161
1161
|
},
|
|
1162
1162
|
"mode": {
|
|
1163
1163
|
"type": "string",
|
|
1164
|
-
"description": "Required. 'fromParagraphs' converts existing paragraphs into list items
|
|
1164
|
+
"description": "Required. 'fromParagraphs' converts existing paragraphs into list items: each paragraph becomes one item, so create one paragraph per item first. 'empty' creates a new empty list at 'at'. Required for action 'create'.",
|
|
1165
1165
|
"enum": [
|
|
1166
1166
|
"empty",
|
|
1167
1167
|
"fromParagraphs"
|
|
@@ -1477,6 +1477,153 @@
|
|
|
1477
1477
|
"range"
|
|
1478
1478
|
]
|
|
1479
1479
|
}
|
|
1480
|
+
},
|
|
1481
|
+
"story": {
|
|
1482
|
+
"oneOf": [
|
|
1483
|
+
{
|
|
1484
|
+
"type": "object",
|
|
1485
|
+
"properties": {
|
|
1486
|
+
"kind": {
|
|
1487
|
+
"const": "story",
|
|
1488
|
+
"type": "string"
|
|
1489
|
+
},
|
|
1490
|
+
"storyType": {
|
|
1491
|
+
"const": "body",
|
|
1492
|
+
"type": "string"
|
|
1493
|
+
}
|
|
1494
|
+
},
|
|
1495
|
+
"required": [
|
|
1496
|
+
"kind",
|
|
1497
|
+
"storyType"
|
|
1498
|
+
]
|
|
1499
|
+
},
|
|
1500
|
+
{
|
|
1501
|
+
"type": "object",
|
|
1502
|
+
"properties": {
|
|
1503
|
+
"kind": {
|
|
1504
|
+
"const": "story",
|
|
1505
|
+
"type": "string"
|
|
1506
|
+
},
|
|
1507
|
+
"storyType": {
|
|
1508
|
+
"const": "headerFooterSlot",
|
|
1509
|
+
"type": "string"
|
|
1510
|
+
},
|
|
1511
|
+
"section": {
|
|
1512
|
+
"type": "object",
|
|
1513
|
+
"properties": {
|
|
1514
|
+
"kind": {
|
|
1515
|
+
"const": "section",
|
|
1516
|
+
"type": "string"
|
|
1517
|
+
},
|
|
1518
|
+
"sectionId": {
|
|
1519
|
+
"type": "string"
|
|
1520
|
+
}
|
|
1521
|
+
},
|
|
1522
|
+
"required": [
|
|
1523
|
+
"kind",
|
|
1524
|
+
"sectionId"
|
|
1525
|
+
]
|
|
1526
|
+
},
|
|
1527
|
+
"headerFooterKind": {
|
|
1528
|
+
"enum": [
|
|
1529
|
+
"header",
|
|
1530
|
+
"footer"
|
|
1531
|
+
]
|
|
1532
|
+
},
|
|
1533
|
+
"variant": {
|
|
1534
|
+
"enum": [
|
|
1535
|
+
"default",
|
|
1536
|
+
"first",
|
|
1537
|
+
"even"
|
|
1538
|
+
]
|
|
1539
|
+
},
|
|
1540
|
+
"resolution": {
|
|
1541
|
+
"enum": [
|
|
1542
|
+
"effective",
|
|
1543
|
+
"explicit"
|
|
1544
|
+
]
|
|
1545
|
+
},
|
|
1546
|
+
"onWrite": {
|
|
1547
|
+
"enum": [
|
|
1548
|
+
"materializeIfInherited",
|
|
1549
|
+
"editResolvedPart",
|
|
1550
|
+
"error"
|
|
1551
|
+
]
|
|
1552
|
+
}
|
|
1553
|
+
},
|
|
1554
|
+
"required": [
|
|
1555
|
+
"kind",
|
|
1556
|
+
"storyType",
|
|
1557
|
+
"section",
|
|
1558
|
+
"headerFooterKind",
|
|
1559
|
+
"variant"
|
|
1560
|
+
]
|
|
1561
|
+
},
|
|
1562
|
+
{
|
|
1563
|
+
"type": "object",
|
|
1564
|
+
"properties": {
|
|
1565
|
+
"kind": {
|
|
1566
|
+
"const": "story",
|
|
1567
|
+
"type": "string"
|
|
1568
|
+
},
|
|
1569
|
+
"storyType": {
|
|
1570
|
+
"const": "headerFooterPart",
|
|
1571
|
+
"type": "string"
|
|
1572
|
+
},
|
|
1573
|
+
"refId": {
|
|
1574
|
+
"type": "string"
|
|
1575
|
+
}
|
|
1576
|
+
},
|
|
1577
|
+
"required": [
|
|
1578
|
+
"kind",
|
|
1579
|
+
"storyType",
|
|
1580
|
+
"refId"
|
|
1581
|
+
]
|
|
1582
|
+
},
|
|
1583
|
+
{
|
|
1584
|
+
"type": "object",
|
|
1585
|
+
"properties": {
|
|
1586
|
+
"kind": {
|
|
1587
|
+
"const": "story",
|
|
1588
|
+
"type": "string"
|
|
1589
|
+
},
|
|
1590
|
+
"storyType": {
|
|
1591
|
+
"const": "footnote",
|
|
1592
|
+
"type": "string"
|
|
1593
|
+
},
|
|
1594
|
+
"noteId": {
|
|
1595
|
+
"type": "string"
|
|
1596
|
+
}
|
|
1597
|
+
},
|
|
1598
|
+
"required": [
|
|
1599
|
+
"kind",
|
|
1600
|
+
"storyType",
|
|
1601
|
+
"noteId"
|
|
1602
|
+
]
|
|
1603
|
+
},
|
|
1604
|
+
{
|
|
1605
|
+
"type": "object",
|
|
1606
|
+
"properties": {
|
|
1607
|
+
"kind": {
|
|
1608
|
+
"const": "story",
|
|
1609
|
+
"type": "string"
|
|
1610
|
+
},
|
|
1611
|
+
"storyType": {
|
|
1612
|
+
"const": "endnote",
|
|
1613
|
+
"type": "string"
|
|
1614
|
+
},
|
|
1615
|
+
"noteId": {
|
|
1616
|
+
"type": "string"
|
|
1617
|
+
}
|
|
1618
|
+
},
|
|
1619
|
+
"required": [
|
|
1620
|
+
"kind",
|
|
1621
|
+
"storyType",
|
|
1622
|
+
"noteId"
|
|
1623
|
+
]
|
|
1624
|
+
}
|
|
1625
|
+
],
|
|
1626
|
+
"description": "Story scope. Defaults to document body when omitted. Use {kind:'story', storyType:'body'} for body, or other storyType values for headers, footers, footnotes, endnotes."
|
|
1480
1627
|
}
|
|
1481
1628
|
},
|
|
1482
1629
|
"required": [
|
|
@@ -1497,9 +1644,10 @@
|
|
|
1497
1644
|
},
|
|
1498
1645
|
"status": {
|
|
1499
1646
|
"type": "string",
|
|
1500
|
-
"description": "Set comment status. Use 'resolved' to
|
|
1647
|
+
"description": "Set comment status. Use 'resolved' to resolve a comment, or 'active' to reopen a previously resolved comment (lifecycle inverse). Only for action 'update'. Omit for other actions.",
|
|
1501
1648
|
"enum": [
|
|
1502
|
-
"resolved"
|
|
1649
|
+
"resolved",
|
|
1650
|
+
"active"
|
|
1503
1651
|
]
|
|
1504
1652
|
},
|
|
1505
1653
|
"isInternal": {
|