@superdoc/cli-linux-arm64 0.45.0-next.9 → 0.45.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/bin/native-runtime-notices/THIRD_PARTY_NOTICES +1 -1
- package/bin/superdoc +2 -2
- package/bin/tools/catalog.json +171 -3
- package/bin/tools/system-prompt-mcp.md +1 -0
- package/bin/tools/system-prompt.md +1 -0
- package/bin/tools/tools.anthropic.json +171 -3
- package/bin/tools/tools.generic.json +171 -3
- package/bin/tools/tools.openai.json +171 -3
- package/bin/tools/tools.vercel.json +171 -3
- package/package.json +1 -1
|
@@ -2269,7 +2269,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
|
2269
2269
|
SOFTWARE.
|
|
2270
2270
|
|
|
2271
2271
|
-------------------------------------------------------------------------------
|
|
2272
|
-
ws@8.
|
|
2272
|
+
ws@8.20.0
|
|
2273
2273
|
License: MIT
|
|
2274
2274
|
|
|
2275
2275
|
Copyright (c) 2011 Einar Otto Stangvik <einaros@gmail.com>
|
package/bin/superdoc
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/bin/superdoc
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 121112896 bytes
|
|
4
|
+
sha256: cd8c76912fec64f44d25aaa3966c19b2ce4824039405faf10eec6942682e4560
|
package/bin/tools/catalog.json
CHANGED
|
@@ -4654,6 +4654,10 @@
|
|
|
4654
4654
|
"type": "string",
|
|
4655
4655
|
"description": "Text content for the new list item. Only for action 'insert'. Omit for other actions."
|
|
4656
4656
|
},
|
|
4657
|
+
"inheritFrom": {
|
|
4658
|
+
"$ref": "#/$defs/ListItemAddress",
|
|
4659
|
+
"description": "Optional same-story list item to inherit paragraph and run formatting from without changing placement or numbering. When omitted, existing paragraph-creation formatting behavior, including next-style handling, is preserved. Only for action 'insert'. Omit for other actions."
|
|
4660
|
+
},
|
|
4657
4661
|
"input": {
|
|
4658
4662
|
"type": "object",
|
|
4659
4663
|
"description": "Operation input as JSON object."
|
|
@@ -6539,7 +6543,7 @@
|
|
|
6539
6543
|
},
|
|
6540
6544
|
{
|
|
6541
6545
|
"toolName": "superdoc_search",
|
|
6542
|
-
"description": "Find text patterns or nodes in the document and get ref handles for targeting edits and formatting. Refs expire after any mutation that changes the document. Re-search before the next edit when using individual tools (superdoc_edit, superdoc_format). Within a superdoc_mutations batch, selectors in \"where\" clauses resolve automatically at compile time; no manual re-searching needed between steps. Text search returns handle.ref covering only the matched substring. Node search finds blocks by type (paragraph, heading, table, listItem, etc.). The \"require\" parameter controls match cardinality: \"first\" returns one match, \"all\" returns every match, \"exactlyOne\" fails if not exactly one match. Supports scoping via \"within\" to search inside a single block. Patterns are plain text by default; pass select.mode: \"regex\" for regular-expression search (g/gi semantics, 1024-char cap, no wholeWord, capture groups returned on matches). Invalid or unsafe patterns fail with INVALID_INPUT. Do NOT use markdown formatting markers (#, **, etc.) in search patterns. Do NOT use this tool when you already have a ref from superdoc_get_content blocks or superdoc_create; use that ref directly.\n\nEXAMPLES:\n 1. {\"select\":{\"type\":\"text\",\"pattern\":\"Introduction\"},\"require\":\"first\"}\n 2. {\"select\":{\"type\":\"text\",\"pattern\":\"total amount\"},\"require\":\"all\"}\n 3. {\"select\":{\"type\":\"node\",\"nodeType\":\"heading\"},\"require\":\"all\"}\n 4. {\"select\":{\"type\":\"text\",\"pattern\":\"contract\"},\"within\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"abc123\"},\"require\":\"first\"}",
|
|
6546
|
+
"description": "Find text patterns or nodes in the document and get ref handles for targeting edits and formatting. Refs expire after any mutation that changes the document. Re-search before the next edit when using individual tools (superdoc_edit, superdoc_format). Within a superdoc_mutations batch, selectors in \"where\" clauses resolve automatically at compile time; no manual re-searching needed between steps. Text search returns handle.ref covering only the matched substring. Node search finds blocks by type (paragraph, heading, table, listItem, etc.). The \"require\" parameter controls match cardinality: \"first\" returns one match, \"last\" returns the final match (without limit/offset), \"all\" returns every match, \"exactlyOne\" fails if not exactly one match. Supports scoping via \"within\" to search inside a single block. Patterns are plain text by default; pass select.mode: \"regex\" for regular-expression search (g/gi semantics, 1024-char cap, no wholeWord, capture groups returned on matches). Invalid or unsafe patterns fail with INVALID_INPUT. Do NOT use markdown formatting markers (#, **, etc.) in search patterns. Do NOT use this tool when you already have a ref from superdoc_get_content blocks or superdoc_create; use that ref directly.\n\nEXAMPLES:\n 1. {\"select\":{\"type\":\"text\",\"pattern\":\"Introduction\"},\"require\":\"first\"}\n 2. {\"select\":{\"type\":\"text\",\"pattern\":\"total amount\"},\"require\":\"all\"}\n 3. {\"select\":{\"type\":\"node\",\"nodeType\":\"heading\"},\"require\":\"all\"}\n 4. {\"select\":{\"type\":\"text\",\"pattern\":\"contract\"},\"within\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"abc123\"},\"require\":\"first\"}",
|
|
6543
6547
|
"inputSchema": {
|
|
6544
6548
|
"type": "object",
|
|
6545
6549
|
"properties": {
|
|
@@ -6646,10 +6650,11 @@
|
|
|
6646
6650
|
"enum": [
|
|
6647
6651
|
"any",
|
|
6648
6652
|
"first",
|
|
6653
|
+
"last",
|
|
6649
6654
|
"exactlyOne",
|
|
6650
6655
|
"all"
|
|
6651
6656
|
],
|
|
6652
|
-
"description": "Match cardinality: 'any' (all matches), 'first' (only first), 'exactlyOne' (fail if != 1), 'all' (fail if 0)."
|
|
6657
|
+
"description": "Match cardinality: 'any' (all matches), 'first' (only first), 'last' (final scoped match, without limit/offset), 'exactlyOne' (fail if != 1), 'all' (fail if 0). For 'last', page.offset reports the selected match's ordinal in the full set."
|
|
6653
6658
|
},
|
|
6654
6659
|
"mode": {
|
|
6655
6660
|
"enum": [
|
|
@@ -9225,10 +9230,133 @@
|
|
|
9225
9230
|
"where",
|
|
9226
9231
|
"args"
|
|
9227
9232
|
]
|
|
9233
|
+
},
|
|
9234
|
+
{
|
|
9235
|
+
"type": "object",
|
|
9236
|
+
"properties": {
|
|
9237
|
+
"id": {
|
|
9238
|
+
"type": "string",
|
|
9239
|
+
"minLength": 1
|
|
9240
|
+
},
|
|
9241
|
+
"op": {
|
|
9242
|
+
"const": "comments.patch",
|
|
9243
|
+
"type": "string"
|
|
9244
|
+
},
|
|
9245
|
+
"args": {
|
|
9246
|
+
"type": "object",
|
|
9247
|
+
"properties": {
|
|
9248
|
+
"commentId": {
|
|
9249
|
+
"type": "string",
|
|
9250
|
+
"minLength": 1
|
|
9251
|
+
},
|
|
9252
|
+
"target": {
|
|
9253
|
+
"oneOf": [
|
|
9254
|
+
{
|
|
9255
|
+
"$ref": "#/$defs/TextAddress"
|
|
9256
|
+
},
|
|
9257
|
+
{
|
|
9258
|
+
"$ref": "#/$defs/SelectionTarget"
|
|
9259
|
+
}
|
|
9260
|
+
]
|
|
9261
|
+
}
|
|
9262
|
+
},
|
|
9263
|
+
"additionalProperties": false,
|
|
9264
|
+
"required": [
|
|
9265
|
+
"commentId",
|
|
9266
|
+
"target"
|
|
9267
|
+
]
|
|
9268
|
+
}
|
|
9269
|
+
},
|
|
9270
|
+
"additionalProperties": false,
|
|
9271
|
+
"required": [
|
|
9272
|
+
"id",
|
|
9273
|
+
"op",
|
|
9274
|
+
"args"
|
|
9275
|
+
]
|
|
9276
|
+
},
|
|
9277
|
+
{
|
|
9278
|
+
"type": "object",
|
|
9279
|
+
"properties": {
|
|
9280
|
+
"id": {
|
|
9281
|
+
"type": "string",
|
|
9282
|
+
"minLength": 1
|
|
9283
|
+
},
|
|
9284
|
+
"op": {
|
|
9285
|
+
"const": "trackChanges.decide",
|
|
9286
|
+
"type": "string"
|
|
9287
|
+
},
|
|
9288
|
+
"args": {
|
|
9289
|
+
"type": "object",
|
|
9290
|
+
"properties": {
|
|
9291
|
+
"decision": {
|
|
9292
|
+
"enum": [
|
|
9293
|
+
"accept",
|
|
9294
|
+
"reject"
|
|
9295
|
+
],
|
|
9296
|
+
"type": "string"
|
|
9297
|
+
},
|
|
9298
|
+
"target": {
|
|
9299
|
+
"oneOf": [
|
|
9300
|
+
{
|
|
9301
|
+
"type": "object",
|
|
9302
|
+
"properties": {
|
|
9303
|
+
"kind": {
|
|
9304
|
+
"const": "id",
|
|
9305
|
+
"type": "string"
|
|
9306
|
+
},
|
|
9307
|
+
"id": {
|
|
9308
|
+
"type": "string",
|
|
9309
|
+
"minLength": 1
|
|
9310
|
+
}
|
|
9311
|
+
},
|
|
9312
|
+
"additionalProperties": false,
|
|
9313
|
+
"required": [
|
|
9314
|
+
"kind",
|
|
9315
|
+
"id"
|
|
9316
|
+
]
|
|
9317
|
+
},
|
|
9318
|
+
{
|
|
9319
|
+
"type": "object",
|
|
9320
|
+
"properties": {
|
|
9321
|
+
"kind": {
|
|
9322
|
+
"const": "ids",
|
|
9323
|
+
"type": "string"
|
|
9324
|
+
},
|
|
9325
|
+
"ids": {
|
|
9326
|
+
"type": "array",
|
|
9327
|
+
"items": {
|
|
9328
|
+
"type": "string",
|
|
9329
|
+
"minLength": 1
|
|
9330
|
+
},
|
|
9331
|
+
"minItems": 1
|
|
9332
|
+
}
|
|
9333
|
+
},
|
|
9334
|
+
"additionalProperties": false,
|
|
9335
|
+
"required": [
|
|
9336
|
+
"kind",
|
|
9337
|
+
"ids"
|
|
9338
|
+
]
|
|
9339
|
+
}
|
|
9340
|
+
]
|
|
9341
|
+
}
|
|
9342
|
+
},
|
|
9343
|
+
"additionalProperties": false,
|
|
9344
|
+
"required": [
|
|
9345
|
+
"decision",
|
|
9346
|
+
"target"
|
|
9347
|
+
]
|
|
9348
|
+
}
|
|
9349
|
+
},
|
|
9350
|
+
"additionalProperties": false,
|
|
9351
|
+
"required": [
|
|
9352
|
+
"id",
|
|
9353
|
+
"op",
|
|
9354
|
+
"args"
|
|
9355
|
+
]
|
|
9228
9356
|
}
|
|
9229
9357
|
]
|
|
9230
9358
|
},
|
|
9231
|
-
"description": "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, structural.replace, or
|
|
9359
|
+
"description": "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, structural.replace, assert, comments.patch, or trackChanges.decide). Core steps use 'where'; review steps use explicit native args and require direct body-only plans with relocations before decisions. Check runtime capabilities for operation-specific content and targeting restrictions."
|
|
9232
9360
|
},
|
|
9233
9361
|
"detail": {
|
|
9234
9362
|
"type": "object",
|
|
@@ -9299,6 +9427,22 @@
|
|
|
9299
9427
|
"exact"
|
|
9300
9428
|
]
|
|
9301
9429
|
},
|
|
9430
|
+
"Range": {
|
|
9431
|
+
"type": "object",
|
|
9432
|
+
"properties": {
|
|
9433
|
+
"start": {
|
|
9434
|
+
"type": "integer"
|
|
9435
|
+
},
|
|
9436
|
+
"end": {
|
|
9437
|
+
"type": "integer"
|
|
9438
|
+
}
|
|
9439
|
+
},
|
|
9440
|
+
"additionalProperties": false,
|
|
9441
|
+
"required": [
|
|
9442
|
+
"start",
|
|
9443
|
+
"end"
|
|
9444
|
+
]
|
|
9445
|
+
},
|
|
9302
9446
|
"SectionAddress": {
|
|
9303
9447
|
"type": "object",
|
|
9304
9448
|
"properties": {
|
|
@@ -9590,6 +9734,30 @@
|
|
|
9590
9734
|
}
|
|
9591
9735
|
]
|
|
9592
9736
|
},
|
|
9737
|
+
"TextAddress": {
|
|
9738
|
+
"type": "object",
|
|
9739
|
+
"properties": {
|
|
9740
|
+
"kind": {
|
|
9741
|
+
"const": "text",
|
|
9742
|
+
"type": "string"
|
|
9743
|
+
},
|
|
9744
|
+
"blockId": {
|
|
9745
|
+
"type": "string"
|
|
9746
|
+
},
|
|
9747
|
+
"range": {
|
|
9748
|
+
"$ref": "#/$defs/Range"
|
|
9749
|
+
},
|
|
9750
|
+
"story": {
|
|
9751
|
+
"$ref": "#/$defs/StoryLocator"
|
|
9752
|
+
}
|
|
9753
|
+
},
|
|
9754
|
+
"additionalProperties": false,
|
|
9755
|
+
"required": [
|
|
9756
|
+
"kind",
|
|
9757
|
+
"blockId",
|
|
9758
|
+
"range"
|
|
9759
|
+
]
|
|
9760
|
+
},
|
|
9593
9761
|
"TextCoordinateSpace": {
|
|
9594
9762
|
"enum": [
|
|
9595
9763
|
"visible",
|
|
@@ -475,6 +475,7 @@ When formatting newly created content, use the right source:
|
|
|
475
475
|
- **`within` scopes to a single block**, not a section. To find text in a section, search the full document.
|
|
476
476
|
- **Table cells are separate blocks.** Search for individual cell values, not patterns spanning multiple cells.
|
|
477
477
|
- **Do NOT combine `limit`/`offset` with `require: "first"` or `require: "exactlyOne"`.** Use `require: "any"` with `limit` for paginated results.
|
|
478
|
+
- **`require: "last"` returns the final match and rejects any `limit` or `offset`.**
|
|
478
479
|
- **Do NOT hardcode formatting values.** Always read from blocks data and replicate.
|
|
479
480
|
- **Do NOT copy heading/title formatting onto body paragraphs.** Read from body text blocks (alignment "justify" or "left"), not title blocks.
|
|
480
481
|
- **Pass structured objects, not JSON-encoded strings.** Fields like `at`, `target`, and `inline` expect objects, not serialized JSON strings.
|
|
@@ -429,6 +429,7 @@ When formatting newly created content, use the right source:
|
|
|
429
429
|
- **`within` scopes to a single block**, not a section. To find text in a section, search the full document.
|
|
430
430
|
- **Table cells are separate blocks.** Search for individual cell values, not patterns spanning multiple cells.
|
|
431
431
|
- **Do NOT combine `limit`/`offset` with `require: "first"` or `require: "exactlyOne"`.** Use `require: "any"` with `limit` for paginated results.
|
|
432
|
+
- **`require: "last"` returns the final match and rejects any `limit` or `offset`.**
|
|
432
433
|
- **Do NOT hardcode formatting values.** Always read from blocks data and replicate.
|
|
433
434
|
- **Do NOT copy heading/title formatting onto body paragraphs.** Read from body text blocks (alignment "justify" or "left"), not title blocks.
|
|
434
435
|
- **Pass structured objects, not JSON-encoded strings.** Fields like `at`, `target`, and `inline` expect objects, not serialized JSON strings.
|
|
@@ -4363,6 +4363,10 @@
|
|
|
4363
4363
|
"type": "string",
|
|
4364
4364
|
"description": "Text content for the new list item. Only for action 'insert'. Omit for other actions."
|
|
4365
4365
|
},
|
|
4366
|
+
"inheritFrom": {
|
|
4367
|
+
"$ref": "#/$defs/ListItemAddress",
|
|
4368
|
+
"description": "Optional same-story list item to inherit paragraph and run formatting from without changing placement or numbering. When omitted, existing paragraph-creation formatting behavior, including next-style handling, is preserved. Only for action 'insert'. Omit for other actions."
|
|
4369
|
+
},
|
|
4366
4370
|
"input": {
|
|
4367
4371
|
"type": "object",
|
|
4368
4372
|
"description": "Operation input as JSON object."
|
|
@@ -6101,7 +6105,7 @@
|
|
|
6101
6105
|
},
|
|
6102
6106
|
{
|
|
6103
6107
|
"name": "superdoc_search",
|
|
6104
|
-
"description": "Find text patterns or nodes in the document and get ref handles for targeting edits and formatting. Refs expire after any mutation that changes the document. Re-search before the next edit when using individual tools (superdoc_edit, superdoc_format). Within a superdoc_mutations batch, selectors in \"where\" clauses resolve automatically at compile time; no manual re-searching needed between steps. Text search returns handle.ref covering only the matched substring. Node search finds blocks by type (paragraph, heading, table, listItem, etc.). The \"require\" parameter controls match cardinality: \"first\" returns one match, \"all\" returns every match, \"exactlyOne\" fails if not exactly one match. Supports scoping via \"within\" to search inside a single block. Patterns are plain text by default; pass select.mode: \"regex\" for regular-expression search (g/gi semantics, 1024-char cap, no wholeWord, capture groups returned on matches). Invalid or unsafe patterns fail with INVALID_INPUT. Do NOT use markdown formatting markers (#, **, etc.) in search patterns. Do NOT use this tool when you already have a ref from superdoc_get_content blocks or superdoc_create; use that ref directly.\n\nEXAMPLES:\n 1. {\"select\":{\"type\":\"text\",\"pattern\":\"Introduction\"},\"require\":\"first\"}\n 2. {\"select\":{\"type\":\"text\",\"pattern\":\"total amount\"},\"require\":\"all\"}\n 3. {\"select\":{\"type\":\"node\",\"nodeType\":\"heading\"},\"require\":\"all\"}\n 4. {\"select\":{\"type\":\"text\",\"pattern\":\"contract\"},\"within\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"abc123\"},\"require\":\"first\"}",
|
|
6108
|
+
"description": "Find text patterns or nodes in the document and get ref handles for targeting edits and formatting. Refs expire after any mutation that changes the document. Re-search before the next edit when using individual tools (superdoc_edit, superdoc_format). Within a superdoc_mutations batch, selectors in \"where\" clauses resolve automatically at compile time; no manual re-searching needed between steps. Text search returns handle.ref covering only the matched substring. Node search finds blocks by type (paragraph, heading, table, listItem, etc.). The \"require\" parameter controls match cardinality: \"first\" returns one match, \"last\" returns the final match (without limit/offset), \"all\" returns every match, \"exactlyOne\" fails if not exactly one match. Supports scoping via \"within\" to search inside a single block. Patterns are plain text by default; pass select.mode: \"regex\" for regular-expression search (g/gi semantics, 1024-char cap, no wholeWord, capture groups returned on matches). Invalid or unsafe patterns fail with INVALID_INPUT. Do NOT use markdown formatting markers (#, **, etc.) in search patterns. Do NOT use this tool when you already have a ref from superdoc_get_content blocks or superdoc_create; use that ref directly.\n\nEXAMPLES:\n 1. {\"select\":{\"type\":\"text\",\"pattern\":\"Introduction\"},\"require\":\"first\"}\n 2. {\"select\":{\"type\":\"text\",\"pattern\":\"total amount\"},\"require\":\"all\"}\n 3. {\"select\":{\"type\":\"node\",\"nodeType\":\"heading\"},\"require\":\"all\"}\n 4. {\"select\":{\"type\":\"text\",\"pattern\":\"contract\"},\"within\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"abc123\"},\"require\":\"first\"}",
|
|
6105
6109
|
"input_schema": {
|
|
6106
6110
|
"type": "object",
|
|
6107
6111
|
"properties": {
|
|
@@ -6208,10 +6212,11 @@
|
|
|
6208
6212
|
"enum": [
|
|
6209
6213
|
"any",
|
|
6210
6214
|
"first",
|
|
6215
|
+
"last",
|
|
6211
6216
|
"exactlyOne",
|
|
6212
6217
|
"all"
|
|
6213
6218
|
],
|
|
6214
|
-
"description": "Match cardinality: 'any' (all matches), 'first' (only first), 'exactlyOne' (fail if != 1), 'all' (fail if 0)."
|
|
6219
|
+
"description": "Match cardinality: 'any' (all matches), 'first' (only first), 'last' (final scoped match, without limit/offset), 'exactlyOne' (fail if != 1), 'all' (fail if 0). For 'last', page.offset reports the selected match's ordinal in the full set."
|
|
6215
6220
|
},
|
|
6216
6221
|
"mode": {
|
|
6217
6222
|
"enum": [
|
|
@@ -8777,10 +8782,133 @@
|
|
|
8777
8782
|
"where",
|
|
8778
8783
|
"args"
|
|
8779
8784
|
]
|
|
8785
|
+
},
|
|
8786
|
+
{
|
|
8787
|
+
"type": "object",
|
|
8788
|
+
"properties": {
|
|
8789
|
+
"id": {
|
|
8790
|
+
"type": "string",
|
|
8791
|
+
"minLength": 1
|
|
8792
|
+
},
|
|
8793
|
+
"op": {
|
|
8794
|
+
"const": "comments.patch",
|
|
8795
|
+
"type": "string"
|
|
8796
|
+
},
|
|
8797
|
+
"args": {
|
|
8798
|
+
"type": "object",
|
|
8799
|
+
"properties": {
|
|
8800
|
+
"commentId": {
|
|
8801
|
+
"type": "string",
|
|
8802
|
+
"minLength": 1
|
|
8803
|
+
},
|
|
8804
|
+
"target": {
|
|
8805
|
+
"oneOf": [
|
|
8806
|
+
{
|
|
8807
|
+
"$ref": "#/$defs/TextAddress"
|
|
8808
|
+
},
|
|
8809
|
+
{
|
|
8810
|
+
"$ref": "#/$defs/SelectionTarget"
|
|
8811
|
+
}
|
|
8812
|
+
]
|
|
8813
|
+
}
|
|
8814
|
+
},
|
|
8815
|
+
"additionalProperties": false,
|
|
8816
|
+
"required": [
|
|
8817
|
+
"commentId",
|
|
8818
|
+
"target"
|
|
8819
|
+
]
|
|
8820
|
+
}
|
|
8821
|
+
},
|
|
8822
|
+
"additionalProperties": false,
|
|
8823
|
+
"required": [
|
|
8824
|
+
"id",
|
|
8825
|
+
"op",
|
|
8826
|
+
"args"
|
|
8827
|
+
]
|
|
8828
|
+
},
|
|
8829
|
+
{
|
|
8830
|
+
"type": "object",
|
|
8831
|
+
"properties": {
|
|
8832
|
+
"id": {
|
|
8833
|
+
"type": "string",
|
|
8834
|
+
"minLength": 1
|
|
8835
|
+
},
|
|
8836
|
+
"op": {
|
|
8837
|
+
"const": "trackChanges.decide",
|
|
8838
|
+
"type": "string"
|
|
8839
|
+
},
|
|
8840
|
+
"args": {
|
|
8841
|
+
"type": "object",
|
|
8842
|
+
"properties": {
|
|
8843
|
+
"decision": {
|
|
8844
|
+
"enum": [
|
|
8845
|
+
"accept",
|
|
8846
|
+
"reject"
|
|
8847
|
+
],
|
|
8848
|
+
"type": "string"
|
|
8849
|
+
},
|
|
8850
|
+
"target": {
|
|
8851
|
+
"oneOf": [
|
|
8852
|
+
{
|
|
8853
|
+
"type": "object",
|
|
8854
|
+
"properties": {
|
|
8855
|
+
"kind": {
|
|
8856
|
+
"const": "id",
|
|
8857
|
+
"type": "string"
|
|
8858
|
+
},
|
|
8859
|
+
"id": {
|
|
8860
|
+
"type": "string",
|
|
8861
|
+
"minLength": 1
|
|
8862
|
+
}
|
|
8863
|
+
},
|
|
8864
|
+
"additionalProperties": false,
|
|
8865
|
+
"required": [
|
|
8866
|
+
"kind",
|
|
8867
|
+
"id"
|
|
8868
|
+
]
|
|
8869
|
+
},
|
|
8870
|
+
{
|
|
8871
|
+
"type": "object",
|
|
8872
|
+
"properties": {
|
|
8873
|
+
"kind": {
|
|
8874
|
+
"const": "ids",
|
|
8875
|
+
"type": "string"
|
|
8876
|
+
},
|
|
8877
|
+
"ids": {
|
|
8878
|
+
"type": "array",
|
|
8879
|
+
"items": {
|
|
8880
|
+
"type": "string",
|
|
8881
|
+
"minLength": 1
|
|
8882
|
+
},
|
|
8883
|
+
"minItems": 1
|
|
8884
|
+
}
|
|
8885
|
+
},
|
|
8886
|
+
"additionalProperties": false,
|
|
8887
|
+
"required": [
|
|
8888
|
+
"kind",
|
|
8889
|
+
"ids"
|
|
8890
|
+
]
|
|
8891
|
+
}
|
|
8892
|
+
]
|
|
8893
|
+
}
|
|
8894
|
+
},
|
|
8895
|
+
"additionalProperties": false,
|
|
8896
|
+
"required": [
|
|
8897
|
+
"decision",
|
|
8898
|
+
"target"
|
|
8899
|
+
]
|
|
8900
|
+
}
|
|
8901
|
+
},
|
|
8902
|
+
"additionalProperties": false,
|
|
8903
|
+
"required": [
|
|
8904
|
+
"id",
|
|
8905
|
+
"op",
|
|
8906
|
+
"args"
|
|
8907
|
+
]
|
|
8780
8908
|
}
|
|
8781
8909
|
]
|
|
8782
8910
|
},
|
|
8783
|
-
"description": "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, structural.replace, or
|
|
8911
|
+
"description": "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, structural.replace, assert, comments.patch, or trackChanges.decide). Core steps use 'where'; review steps use explicit native args and require direct body-only plans with relocations before decisions. Check runtime capabilities for operation-specific content and targeting restrictions."
|
|
8784
8912
|
},
|
|
8785
8913
|
"detail": {
|
|
8786
8914
|
"type": "object",
|
|
@@ -8851,6 +8979,22 @@
|
|
|
8851
8979
|
"exact"
|
|
8852
8980
|
]
|
|
8853
8981
|
},
|
|
8982
|
+
"Range": {
|
|
8983
|
+
"type": "object",
|
|
8984
|
+
"properties": {
|
|
8985
|
+
"start": {
|
|
8986
|
+
"type": "integer"
|
|
8987
|
+
},
|
|
8988
|
+
"end": {
|
|
8989
|
+
"type": "integer"
|
|
8990
|
+
}
|
|
8991
|
+
},
|
|
8992
|
+
"additionalProperties": false,
|
|
8993
|
+
"required": [
|
|
8994
|
+
"start",
|
|
8995
|
+
"end"
|
|
8996
|
+
]
|
|
8997
|
+
},
|
|
8854
8998
|
"SectionAddress": {
|
|
8855
8999
|
"type": "object",
|
|
8856
9000
|
"properties": {
|
|
@@ -9142,6 +9286,30 @@
|
|
|
9142
9286
|
}
|
|
9143
9287
|
]
|
|
9144
9288
|
},
|
|
9289
|
+
"TextAddress": {
|
|
9290
|
+
"type": "object",
|
|
9291
|
+
"properties": {
|
|
9292
|
+
"kind": {
|
|
9293
|
+
"const": "text",
|
|
9294
|
+
"type": "string"
|
|
9295
|
+
},
|
|
9296
|
+
"blockId": {
|
|
9297
|
+
"type": "string"
|
|
9298
|
+
},
|
|
9299
|
+
"range": {
|
|
9300
|
+
"$ref": "#/$defs/Range"
|
|
9301
|
+
},
|
|
9302
|
+
"story": {
|
|
9303
|
+
"$ref": "#/$defs/StoryLocator"
|
|
9304
|
+
}
|
|
9305
|
+
},
|
|
9306
|
+
"additionalProperties": false,
|
|
9307
|
+
"required": [
|
|
9308
|
+
"kind",
|
|
9309
|
+
"blockId",
|
|
9310
|
+
"range"
|
|
9311
|
+
]
|
|
9312
|
+
},
|
|
9145
9313
|
"TextCoordinateSpace": {
|
|
9146
9314
|
"enum": [
|
|
9147
9315
|
"visible",
|
|
@@ -4450,6 +4450,10 @@
|
|
|
4450
4450
|
"type": "string",
|
|
4451
4451
|
"description": "Text content for the new list item. Only for action 'insert'. Omit for other actions."
|
|
4452
4452
|
},
|
|
4453
|
+
"inheritFrom": {
|
|
4454
|
+
"$ref": "#/$defs/ListItemAddress",
|
|
4455
|
+
"description": "Optional same-story list item to inherit paragraph and run formatting from without changing placement or numbering. When omitted, existing paragraph-creation formatting behavior, including next-style handling, is preserved. Only for action 'insert'. Omit for other actions."
|
|
4456
|
+
},
|
|
4453
4457
|
"input": {
|
|
4454
4458
|
"type": "object",
|
|
4455
4459
|
"description": "Operation input as JSON object."
|
|
@@ -6253,7 +6257,7 @@
|
|
|
6253
6257
|
},
|
|
6254
6258
|
{
|
|
6255
6259
|
"name": "superdoc_search",
|
|
6256
|
-
"description": "Find text patterns or nodes in the document and get ref handles for targeting edits and formatting. Refs expire after any mutation that changes the document. Re-search before the next edit when using individual tools (superdoc_edit, superdoc_format). Within a superdoc_mutations batch, selectors in \"where\" clauses resolve automatically at compile time; no manual re-searching needed between steps. Text search returns handle.ref covering only the matched substring. Node search finds blocks by type (paragraph, heading, table, listItem, etc.). The \"require\" parameter controls match cardinality: \"first\" returns one match, \"all\" returns every match, \"exactlyOne\" fails if not exactly one match. Supports scoping via \"within\" to search inside a single block. Patterns are plain text by default; pass select.mode: \"regex\" for regular-expression search (g/gi semantics, 1024-char cap, no wholeWord, capture groups returned on matches). Invalid or unsafe patterns fail with INVALID_INPUT. Do NOT use markdown formatting markers (#, **, etc.) in search patterns. Do NOT use this tool when you already have a ref from superdoc_get_content blocks or superdoc_create; use that ref directly.\n\nEXAMPLES:\n 1. {\"select\":{\"type\":\"text\",\"pattern\":\"Introduction\"},\"require\":\"first\"}\n 2. {\"select\":{\"type\":\"text\",\"pattern\":\"total amount\"},\"require\":\"all\"}\n 3. {\"select\":{\"type\":\"node\",\"nodeType\":\"heading\"},\"require\":\"all\"}\n 4. {\"select\":{\"type\":\"text\",\"pattern\":\"contract\"},\"within\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"abc123\"},\"require\":\"first\"}",
|
|
6260
|
+
"description": "Find text patterns or nodes in the document and get ref handles for targeting edits and formatting. Refs expire after any mutation that changes the document. Re-search before the next edit when using individual tools (superdoc_edit, superdoc_format). Within a superdoc_mutations batch, selectors in \"where\" clauses resolve automatically at compile time; no manual re-searching needed between steps. Text search returns handle.ref covering only the matched substring. Node search finds blocks by type (paragraph, heading, table, listItem, etc.). The \"require\" parameter controls match cardinality: \"first\" returns one match, \"last\" returns the final match (without limit/offset), \"all\" returns every match, \"exactlyOne\" fails if not exactly one match. Supports scoping via \"within\" to search inside a single block. Patterns are plain text by default; pass select.mode: \"regex\" for regular-expression search (g/gi semantics, 1024-char cap, no wholeWord, capture groups returned on matches). Invalid or unsafe patterns fail with INVALID_INPUT. Do NOT use markdown formatting markers (#, **, etc.) in search patterns. Do NOT use this tool when you already have a ref from superdoc_get_content blocks or superdoc_create; use that ref directly.\n\nEXAMPLES:\n 1. {\"select\":{\"type\":\"text\",\"pattern\":\"Introduction\"},\"require\":\"first\"}\n 2. {\"select\":{\"type\":\"text\",\"pattern\":\"total amount\"},\"require\":\"all\"}\n 3. {\"select\":{\"type\":\"node\",\"nodeType\":\"heading\"},\"require\":\"all\"}\n 4. {\"select\":{\"type\":\"text\",\"pattern\":\"contract\"},\"within\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"abc123\"},\"require\":\"first\"}",
|
|
6257
6261
|
"parameters": {
|
|
6258
6262
|
"type": "object",
|
|
6259
6263
|
"properties": {
|
|
@@ -6360,10 +6364,11 @@
|
|
|
6360
6364
|
"enum": [
|
|
6361
6365
|
"any",
|
|
6362
6366
|
"first",
|
|
6367
|
+
"last",
|
|
6363
6368
|
"exactlyOne",
|
|
6364
6369
|
"all"
|
|
6365
6370
|
],
|
|
6366
|
-
"description": "Match cardinality: 'any' (all matches), 'first' (only first), 'exactlyOne' (fail if != 1), 'all' (fail if 0)."
|
|
6371
|
+
"description": "Match cardinality: 'any' (all matches), 'first' (only first), 'last' (final scoped match, without limit/offset), 'exactlyOne' (fail if != 1), 'all' (fail if 0). For 'last', page.offset reports the selected match's ordinal in the full set."
|
|
6367
6372
|
},
|
|
6368
6373
|
"mode": {
|
|
6369
6374
|
"enum": [
|
|
@@ -8945,10 +8950,133 @@
|
|
|
8945
8950
|
"where",
|
|
8946
8951
|
"args"
|
|
8947
8952
|
]
|
|
8953
|
+
},
|
|
8954
|
+
{
|
|
8955
|
+
"type": "object",
|
|
8956
|
+
"properties": {
|
|
8957
|
+
"id": {
|
|
8958
|
+
"type": "string",
|
|
8959
|
+
"minLength": 1
|
|
8960
|
+
},
|
|
8961
|
+
"op": {
|
|
8962
|
+
"const": "comments.patch",
|
|
8963
|
+
"type": "string"
|
|
8964
|
+
},
|
|
8965
|
+
"args": {
|
|
8966
|
+
"type": "object",
|
|
8967
|
+
"properties": {
|
|
8968
|
+
"commentId": {
|
|
8969
|
+
"type": "string",
|
|
8970
|
+
"minLength": 1
|
|
8971
|
+
},
|
|
8972
|
+
"target": {
|
|
8973
|
+
"oneOf": [
|
|
8974
|
+
{
|
|
8975
|
+
"$ref": "#/$defs/TextAddress"
|
|
8976
|
+
},
|
|
8977
|
+
{
|
|
8978
|
+
"$ref": "#/$defs/SelectionTarget"
|
|
8979
|
+
}
|
|
8980
|
+
]
|
|
8981
|
+
}
|
|
8982
|
+
},
|
|
8983
|
+
"additionalProperties": false,
|
|
8984
|
+
"required": [
|
|
8985
|
+
"commentId",
|
|
8986
|
+
"target"
|
|
8987
|
+
]
|
|
8988
|
+
}
|
|
8989
|
+
},
|
|
8990
|
+
"additionalProperties": false,
|
|
8991
|
+
"required": [
|
|
8992
|
+
"id",
|
|
8993
|
+
"op",
|
|
8994
|
+
"args"
|
|
8995
|
+
]
|
|
8996
|
+
},
|
|
8997
|
+
{
|
|
8998
|
+
"type": "object",
|
|
8999
|
+
"properties": {
|
|
9000
|
+
"id": {
|
|
9001
|
+
"type": "string",
|
|
9002
|
+
"minLength": 1
|
|
9003
|
+
},
|
|
9004
|
+
"op": {
|
|
9005
|
+
"const": "trackChanges.decide",
|
|
9006
|
+
"type": "string"
|
|
9007
|
+
},
|
|
9008
|
+
"args": {
|
|
9009
|
+
"type": "object",
|
|
9010
|
+
"properties": {
|
|
9011
|
+
"decision": {
|
|
9012
|
+
"enum": [
|
|
9013
|
+
"accept",
|
|
9014
|
+
"reject"
|
|
9015
|
+
],
|
|
9016
|
+
"type": "string"
|
|
9017
|
+
},
|
|
9018
|
+
"target": {
|
|
9019
|
+
"oneOf": [
|
|
9020
|
+
{
|
|
9021
|
+
"type": "object",
|
|
9022
|
+
"properties": {
|
|
9023
|
+
"kind": {
|
|
9024
|
+
"const": "id",
|
|
9025
|
+
"type": "string"
|
|
9026
|
+
},
|
|
9027
|
+
"id": {
|
|
9028
|
+
"type": "string",
|
|
9029
|
+
"minLength": 1
|
|
9030
|
+
}
|
|
9031
|
+
},
|
|
9032
|
+
"additionalProperties": false,
|
|
9033
|
+
"required": [
|
|
9034
|
+
"kind",
|
|
9035
|
+
"id"
|
|
9036
|
+
]
|
|
9037
|
+
},
|
|
9038
|
+
{
|
|
9039
|
+
"type": "object",
|
|
9040
|
+
"properties": {
|
|
9041
|
+
"kind": {
|
|
9042
|
+
"const": "ids",
|
|
9043
|
+
"type": "string"
|
|
9044
|
+
},
|
|
9045
|
+
"ids": {
|
|
9046
|
+
"type": "array",
|
|
9047
|
+
"items": {
|
|
9048
|
+
"type": "string",
|
|
9049
|
+
"minLength": 1
|
|
9050
|
+
},
|
|
9051
|
+
"minItems": 1
|
|
9052
|
+
}
|
|
9053
|
+
},
|
|
9054
|
+
"additionalProperties": false,
|
|
9055
|
+
"required": [
|
|
9056
|
+
"kind",
|
|
9057
|
+
"ids"
|
|
9058
|
+
]
|
|
9059
|
+
}
|
|
9060
|
+
]
|
|
9061
|
+
}
|
|
9062
|
+
},
|
|
9063
|
+
"additionalProperties": false,
|
|
9064
|
+
"required": [
|
|
9065
|
+
"decision",
|
|
9066
|
+
"target"
|
|
9067
|
+
]
|
|
9068
|
+
}
|
|
9069
|
+
},
|
|
9070
|
+
"additionalProperties": false,
|
|
9071
|
+
"required": [
|
|
9072
|
+
"id",
|
|
9073
|
+
"op",
|
|
9074
|
+
"args"
|
|
9075
|
+
]
|
|
8948
9076
|
}
|
|
8949
9077
|
]
|
|
8950
9078
|
},
|
|
8951
|
-
"description": "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, structural.replace, or
|
|
9079
|
+
"description": "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, structural.replace, assert, comments.patch, or trackChanges.decide). Core steps use 'where'; review steps use explicit native args and require direct body-only plans with relocations before decisions. Check runtime capabilities for operation-specific content and targeting restrictions."
|
|
8952
9080
|
},
|
|
8953
9081
|
"detail": {
|
|
8954
9082
|
"type": "object",
|
|
@@ -9019,6 +9147,22 @@
|
|
|
9019
9147
|
"exact"
|
|
9020
9148
|
]
|
|
9021
9149
|
},
|
|
9150
|
+
"Range": {
|
|
9151
|
+
"type": "object",
|
|
9152
|
+
"properties": {
|
|
9153
|
+
"start": {
|
|
9154
|
+
"type": "integer"
|
|
9155
|
+
},
|
|
9156
|
+
"end": {
|
|
9157
|
+
"type": "integer"
|
|
9158
|
+
}
|
|
9159
|
+
},
|
|
9160
|
+
"additionalProperties": false,
|
|
9161
|
+
"required": [
|
|
9162
|
+
"start",
|
|
9163
|
+
"end"
|
|
9164
|
+
]
|
|
9165
|
+
},
|
|
9022
9166
|
"SectionAddress": {
|
|
9023
9167
|
"type": "object",
|
|
9024
9168
|
"properties": {
|
|
@@ -9310,6 +9454,30 @@
|
|
|
9310
9454
|
}
|
|
9311
9455
|
]
|
|
9312
9456
|
},
|
|
9457
|
+
"TextAddress": {
|
|
9458
|
+
"type": "object",
|
|
9459
|
+
"properties": {
|
|
9460
|
+
"kind": {
|
|
9461
|
+
"const": "text",
|
|
9462
|
+
"type": "string"
|
|
9463
|
+
},
|
|
9464
|
+
"blockId": {
|
|
9465
|
+
"type": "string"
|
|
9466
|
+
},
|
|
9467
|
+
"range": {
|
|
9468
|
+
"$ref": "#/$defs/Range"
|
|
9469
|
+
},
|
|
9470
|
+
"story": {
|
|
9471
|
+
"$ref": "#/$defs/StoryLocator"
|
|
9472
|
+
}
|
|
9473
|
+
},
|
|
9474
|
+
"additionalProperties": false,
|
|
9475
|
+
"required": [
|
|
9476
|
+
"kind",
|
|
9477
|
+
"blockId",
|
|
9478
|
+
"range"
|
|
9479
|
+
]
|
|
9480
|
+
},
|
|
9313
9481
|
"TextCoordinateSpace": {
|
|
9314
9482
|
"enum": [
|
|
9315
9483
|
"visible",
|
|
@@ -4377,6 +4377,10 @@
|
|
|
4377
4377
|
"type": "string",
|
|
4378
4378
|
"description": "Text content for the new list item. Only for action 'insert'. Omit for other actions."
|
|
4379
4379
|
},
|
|
4380
|
+
"inheritFrom": {
|
|
4381
|
+
"$ref": "#/$defs/ListItemAddress",
|
|
4382
|
+
"description": "Optional same-story list item to inherit paragraph and run formatting from without changing placement or numbering. When omitted, existing paragraph-creation formatting behavior, including next-style handling, is preserved. Only for action 'insert'. Omit for other actions."
|
|
4383
|
+
},
|
|
4380
4384
|
"input": {
|
|
4381
4385
|
"type": "object",
|
|
4382
4386
|
"description": "Operation input as JSON object."
|
|
@@ -6124,7 +6128,7 @@
|
|
|
6124
6128
|
"type": "function",
|
|
6125
6129
|
"function": {
|
|
6126
6130
|
"name": "superdoc_search",
|
|
6127
|
-
"description": "Find text patterns or nodes in the document and get ref handles for targeting edits and formatting. Refs expire after any mutation that changes the document. Re-search before the next edit when using individual tools (superdoc_edit, superdoc_format). Within a superdoc_mutations batch, selectors in \"where\" clauses resolve automatically at compile time; no manual re-searching needed between steps. Text search returns handle.ref covering only the matched substring. Node search finds blocks by type (paragraph, heading, table, listItem, etc.). The \"require\" parameter controls match cardinality: \"first\" returns one match, \"all\" returns every match, \"exactlyOne\" fails if not exactly one match. Supports scoping via \"within\" to search inside a single block. Patterns are plain text by default; pass select.mode: \"regex\" for regular-expression search (g/gi semantics, 1024-char cap, no wholeWord, capture groups returned on matches). Invalid or unsafe patterns fail with INVALID_INPUT. Do NOT use markdown formatting markers (#, **, etc.) in search patterns. Do NOT use this tool when you already have a ref from superdoc_get_content blocks or superdoc_create; use that ref directly.\n\nEXAMPLES:\n 1. {\"select\":{\"type\":\"text\",\"pattern\":\"Introduction\"},\"require\":\"first\"}\n 2. {\"select\":{\"type\":\"text\",\"pattern\":\"total amount\"},\"require\":\"all\"}\n 3. {\"select\":{\"type\":\"node\",\"nodeType\":\"heading\"},\"require\":\"all\"}\n 4. {\"select\":{\"type\":\"text\",\"pattern\":\"contract\"},\"within\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"abc123\"},\"require\":\"first\"}",
|
|
6131
|
+
"description": "Find text patterns or nodes in the document and get ref handles for targeting edits and formatting. Refs expire after any mutation that changes the document. Re-search before the next edit when using individual tools (superdoc_edit, superdoc_format). Within a superdoc_mutations batch, selectors in \"where\" clauses resolve automatically at compile time; no manual re-searching needed between steps. Text search returns handle.ref covering only the matched substring. Node search finds blocks by type (paragraph, heading, table, listItem, etc.). The \"require\" parameter controls match cardinality: \"first\" returns one match, \"last\" returns the final match (without limit/offset), \"all\" returns every match, \"exactlyOne\" fails if not exactly one match. Supports scoping via \"within\" to search inside a single block. Patterns are plain text by default; pass select.mode: \"regex\" for regular-expression search (g/gi semantics, 1024-char cap, no wholeWord, capture groups returned on matches). Invalid or unsafe patterns fail with INVALID_INPUT. Do NOT use markdown formatting markers (#, **, etc.) in search patterns. Do NOT use this tool when you already have a ref from superdoc_get_content blocks or superdoc_create; use that ref directly.\n\nEXAMPLES:\n 1. {\"select\":{\"type\":\"text\",\"pattern\":\"Introduction\"},\"require\":\"first\"}\n 2. {\"select\":{\"type\":\"text\",\"pattern\":\"total amount\"},\"require\":\"all\"}\n 3. {\"select\":{\"type\":\"node\",\"nodeType\":\"heading\"},\"require\":\"all\"}\n 4. {\"select\":{\"type\":\"text\",\"pattern\":\"contract\"},\"within\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"abc123\"},\"require\":\"first\"}",
|
|
6128
6132
|
"parameters": {
|
|
6129
6133
|
"type": "object",
|
|
6130
6134
|
"properties": {
|
|
@@ -6231,10 +6235,11 @@
|
|
|
6231
6235
|
"enum": [
|
|
6232
6236
|
"any",
|
|
6233
6237
|
"first",
|
|
6238
|
+
"last",
|
|
6234
6239
|
"exactlyOne",
|
|
6235
6240
|
"all"
|
|
6236
6241
|
],
|
|
6237
|
-
"description": "Match cardinality: 'any' (all matches), 'first' (only first), 'exactlyOne' (fail if != 1), 'all' (fail if 0)."
|
|
6242
|
+
"description": "Match cardinality: 'any' (all matches), 'first' (only first), 'last' (final scoped match, without limit/offset), 'exactlyOne' (fail if != 1), 'all' (fail if 0). For 'last', page.offset reports the selected match's ordinal in the full set."
|
|
6238
6243
|
},
|
|
6239
6244
|
"mode": {
|
|
6240
6245
|
"enum": [
|
|
@@ -8803,10 +8808,133 @@
|
|
|
8803
8808
|
"where",
|
|
8804
8809
|
"args"
|
|
8805
8810
|
]
|
|
8811
|
+
},
|
|
8812
|
+
{
|
|
8813
|
+
"type": "object",
|
|
8814
|
+
"properties": {
|
|
8815
|
+
"id": {
|
|
8816
|
+
"type": "string",
|
|
8817
|
+
"minLength": 1
|
|
8818
|
+
},
|
|
8819
|
+
"op": {
|
|
8820
|
+
"const": "comments.patch",
|
|
8821
|
+
"type": "string"
|
|
8822
|
+
},
|
|
8823
|
+
"args": {
|
|
8824
|
+
"type": "object",
|
|
8825
|
+
"properties": {
|
|
8826
|
+
"commentId": {
|
|
8827
|
+
"type": "string",
|
|
8828
|
+
"minLength": 1
|
|
8829
|
+
},
|
|
8830
|
+
"target": {
|
|
8831
|
+
"oneOf": [
|
|
8832
|
+
{
|
|
8833
|
+
"$ref": "#/$defs/TextAddress"
|
|
8834
|
+
},
|
|
8835
|
+
{
|
|
8836
|
+
"$ref": "#/$defs/SelectionTarget"
|
|
8837
|
+
}
|
|
8838
|
+
]
|
|
8839
|
+
}
|
|
8840
|
+
},
|
|
8841
|
+
"additionalProperties": false,
|
|
8842
|
+
"required": [
|
|
8843
|
+
"commentId",
|
|
8844
|
+
"target"
|
|
8845
|
+
]
|
|
8846
|
+
}
|
|
8847
|
+
},
|
|
8848
|
+
"additionalProperties": false,
|
|
8849
|
+
"required": [
|
|
8850
|
+
"id",
|
|
8851
|
+
"op",
|
|
8852
|
+
"args"
|
|
8853
|
+
]
|
|
8854
|
+
},
|
|
8855
|
+
{
|
|
8856
|
+
"type": "object",
|
|
8857
|
+
"properties": {
|
|
8858
|
+
"id": {
|
|
8859
|
+
"type": "string",
|
|
8860
|
+
"minLength": 1
|
|
8861
|
+
},
|
|
8862
|
+
"op": {
|
|
8863
|
+
"const": "trackChanges.decide",
|
|
8864
|
+
"type": "string"
|
|
8865
|
+
},
|
|
8866
|
+
"args": {
|
|
8867
|
+
"type": "object",
|
|
8868
|
+
"properties": {
|
|
8869
|
+
"decision": {
|
|
8870
|
+
"enum": [
|
|
8871
|
+
"accept",
|
|
8872
|
+
"reject"
|
|
8873
|
+
],
|
|
8874
|
+
"type": "string"
|
|
8875
|
+
},
|
|
8876
|
+
"target": {
|
|
8877
|
+
"oneOf": [
|
|
8878
|
+
{
|
|
8879
|
+
"type": "object",
|
|
8880
|
+
"properties": {
|
|
8881
|
+
"kind": {
|
|
8882
|
+
"const": "id",
|
|
8883
|
+
"type": "string"
|
|
8884
|
+
},
|
|
8885
|
+
"id": {
|
|
8886
|
+
"type": "string",
|
|
8887
|
+
"minLength": 1
|
|
8888
|
+
}
|
|
8889
|
+
},
|
|
8890
|
+
"additionalProperties": false,
|
|
8891
|
+
"required": [
|
|
8892
|
+
"kind",
|
|
8893
|
+
"id"
|
|
8894
|
+
]
|
|
8895
|
+
},
|
|
8896
|
+
{
|
|
8897
|
+
"type": "object",
|
|
8898
|
+
"properties": {
|
|
8899
|
+
"kind": {
|
|
8900
|
+
"const": "ids",
|
|
8901
|
+
"type": "string"
|
|
8902
|
+
},
|
|
8903
|
+
"ids": {
|
|
8904
|
+
"type": "array",
|
|
8905
|
+
"items": {
|
|
8906
|
+
"type": "string",
|
|
8907
|
+
"minLength": 1
|
|
8908
|
+
},
|
|
8909
|
+
"minItems": 1
|
|
8910
|
+
}
|
|
8911
|
+
},
|
|
8912
|
+
"additionalProperties": false,
|
|
8913
|
+
"required": [
|
|
8914
|
+
"kind",
|
|
8915
|
+
"ids"
|
|
8916
|
+
]
|
|
8917
|
+
}
|
|
8918
|
+
]
|
|
8919
|
+
}
|
|
8920
|
+
},
|
|
8921
|
+
"additionalProperties": false,
|
|
8922
|
+
"required": [
|
|
8923
|
+
"decision",
|
|
8924
|
+
"target"
|
|
8925
|
+
]
|
|
8926
|
+
}
|
|
8927
|
+
},
|
|
8928
|
+
"additionalProperties": false,
|
|
8929
|
+
"required": [
|
|
8930
|
+
"id",
|
|
8931
|
+
"op",
|
|
8932
|
+
"args"
|
|
8933
|
+
]
|
|
8806
8934
|
}
|
|
8807
8935
|
]
|
|
8808
8936
|
},
|
|
8809
|
-
"description": "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, structural.replace, or
|
|
8937
|
+
"description": "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, structural.replace, assert, comments.patch, or trackChanges.decide). Core steps use 'where'; review steps use explicit native args and require direct body-only plans with relocations before decisions. Check runtime capabilities for operation-specific content and targeting restrictions."
|
|
8810
8938
|
},
|
|
8811
8939
|
"detail": {
|
|
8812
8940
|
"type": "object",
|
|
@@ -8877,6 +9005,22 @@
|
|
|
8877
9005
|
"exact"
|
|
8878
9006
|
]
|
|
8879
9007
|
},
|
|
9008
|
+
"Range": {
|
|
9009
|
+
"type": "object",
|
|
9010
|
+
"properties": {
|
|
9011
|
+
"start": {
|
|
9012
|
+
"type": "integer"
|
|
9013
|
+
},
|
|
9014
|
+
"end": {
|
|
9015
|
+
"type": "integer"
|
|
9016
|
+
}
|
|
9017
|
+
},
|
|
9018
|
+
"additionalProperties": false,
|
|
9019
|
+
"required": [
|
|
9020
|
+
"start",
|
|
9021
|
+
"end"
|
|
9022
|
+
]
|
|
9023
|
+
},
|
|
8880
9024
|
"SectionAddress": {
|
|
8881
9025
|
"type": "object",
|
|
8882
9026
|
"properties": {
|
|
@@ -9168,6 +9312,30 @@
|
|
|
9168
9312
|
}
|
|
9169
9313
|
]
|
|
9170
9314
|
},
|
|
9315
|
+
"TextAddress": {
|
|
9316
|
+
"type": "object",
|
|
9317
|
+
"properties": {
|
|
9318
|
+
"kind": {
|
|
9319
|
+
"const": "text",
|
|
9320
|
+
"type": "string"
|
|
9321
|
+
},
|
|
9322
|
+
"blockId": {
|
|
9323
|
+
"type": "string"
|
|
9324
|
+
},
|
|
9325
|
+
"range": {
|
|
9326
|
+
"$ref": "#/$defs/Range"
|
|
9327
|
+
},
|
|
9328
|
+
"story": {
|
|
9329
|
+
"$ref": "#/$defs/StoryLocator"
|
|
9330
|
+
}
|
|
9331
|
+
},
|
|
9332
|
+
"additionalProperties": false,
|
|
9333
|
+
"required": [
|
|
9334
|
+
"kind",
|
|
9335
|
+
"blockId",
|
|
9336
|
+
"range"
|
|
9337
|
+
]
|
|
9338
|
+
},
|
|
9171
9339
|
"TextCoordinateSpace": {
|
|
9172
9340
|
"enum": [
|
|
9173
9341
|
"visible",
|
|
@@ -4377,6 +4377,10 @@
|
|
|
4377
4377
|
"type": "string",
|
|
4378
4378
|
"description": "Text content for the new list item. Only for action 'insert'. Omit for other actions."
|
|
4379
4379
|
},
|
|
4380
|
+
"inheritFrom": {
|
|
4381
|
+
"$ref": "#/$defs/ListItemAddress",
|
|
4382
|
+
"description": "Optional same-story list item to inherit paragraph and run formatting from without changing placement or numbering. When omitted, existing paragraph-creation formatting behavior, including next-style handling, is preserved. Only for action 'insert'. Omit for other actions."
|
|
4383
|
+
},
|
|
4380
4384
|
"input": {
|
|
4381
4385
|
"type": "object",
|
|
4382
4386
|
"description": "Operation input as JSON object."
|
|
@@ -6124,7 +6128,7 @@
|
|
|
6124
6128
|
"type": "function",
|
|
6125
6129
|
"function": {
|
|
6126
6130
|
"name": "superdoc_search",
|
|
6127
|
-
"description": "Find text patterns or nodes in the document and get ref handles for targeting edits and formatting. Refs expire after any mutation that changes the document. Re-search before the next edit when using individual tools (superdoc_edit, superdoc_format). Within a superdoc_mutations batch, selectors in \"where\" clauses resolve automatically at compile time; no manual re-searching needed between steps. Text search returns handle.ref covering only the matched substring. Node search finds blocks by type (paragraph, heading, table, listItem, etc.). The \"require\" parameter controls match cardinality: \"first\" returns one match, \"all\" returns every match, \"exactlyOne\" fails if not exactly one match. Supports scoping via \"within\" to search inside a single block. Patterns are plain text by default; pass select.mode: \"regex\" for regular-expression search (g/gi semantics, 1024-char cap, no wholeWord, capture groups returned on matches). Invalid or unsafe patterns fail with INVALID_INPUT. Do NOT use markdown formatting markers (#, **, etc.) in search patterns. Do NOT use this tool when you already have a ref from superdoc_get_content blocks or superdoc_create; use that ref directly.\n\nEXAMPLES:\n 1. {\"select\":{\"type\":\"text\",\"pattern\":\"Introduction\"},\"require\":\"first\"}\n 2. {\"select\":{\"type\":\"text\",\"pattern\":\"total amount\"},\"require\":\"all\"}\n 3. {\"select\":{\"type\":\"node\",\"nodeType\":\"heading\"},\"require\":\"all\"}\n 4. {\"select\":{\"type\":\"text\",\"pattern\":\"contract\"},\"within\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"abc123\"},\"require\":\"first\"}",
|
|
6131
|
+
"description": "Find text patterns or nodes in the document and get ref handles for targeting edits and formatting. Refs expire after any mutation that changes the document. Re-search before the next edit when using individual tools (superdoc_edit, superdoc_format). Within a superdoc_mutations batch, selectors in \"where\" clauses resolve automatically at compile time; no manual re-searching needed between steps. Text search returns handle.ref covering only the matched substring. Node search finds blocks by type (paragraph, heading, table, listItem, etc.). The \"require\" parameter controls match cardinality: \"first\" returns one match, \"last\" returns the final match (without limit/offset), \"all\" returns every match, \"exactlyOne\" fails if not exactly one match. Supports scoping via \"within\" to search inside a single block. Patterns are plain text by default; pass select.mode: \"regex\" for regular-expression search (g/gi semantics, 1024-char cap, no wholeWord, capture groups returned on matches). Invalid or unsafe patterns fail with INVALID_INPUT. Do NOT use markdown formatting markers (#, **, etc.) in search patterns. Do NOT use this tool when you already have a ref from superdoc_get_content blocks or superdoc_create; use that ref directly.\n\nEXAMPLES:\n 1. {\"select\":{\"type\":\"text\",\"pattern\":\"Introduction\"},\"require\":\"first\"}\n 2. {\"select\":{\"type\":\"text\",\"pattern\":\"total amount\"},\"require\":\"all\"}\n 3. {\"select\":{\"type\":\"node\",\"nodeType\":\"heading\"},\"require\":\"all\"}\n 4. {\"select\":{\"type\":\"text\",\"pattern\":\"contract\"},\"within\":{\"kind\":\"block\",\"nodeType\":\"paragraph\",\"nodeId\":\"abc123\"},\"require\":\"first\"}",
|
|
6128
6132
|
"parameters": {
|
|
6129
6133
|
"type": "object",
|
|
6130
6134
|
"properties": {
|
|
@@ -6231,10 +6235,11 @@
|
|
|
6231
6235
|
"enum": [
|
|
6232
6236
|
"any",
|
|
6233
6237
|
"first",
|
|
6238
|
+
"last",
|
|
6234
6239
|
"exactlyOne",
|
|
6235
6240
|
"all"
|
|
6236
6241
|
],
|
|
6237
|
-
"description": "Match cardinality: 'any' (all matches), 'first' (only first), 'exactlyOne' (fail if != 1), 'all' (fail if 0)."
|
|
6242
|
+
"description": "Match cardinality: 'any' (all matches), 'first' (only first), 'last' (final scoped match, without limit/offset), 'exactlyOne' (fail if != 1), 'all' (fail if 0). For 'last', page.offset reports the selected match's ordinal in the full set."
|
|
6238
6243
|
},
|
|
6239
6244
|
"mode": {
|
|
6240
6245
|
"enum": [
|
|
@@ -8803,10 +8808,133 @@
|
|
|
8803
8808
|
"where",
|
|
8804
8809
|
"args"
|
|
8805
8810
|
]
|
|
8811
|
+
},
|
|
8812
|
+
{
|
|
8813
|
+
"type": "object",
|
|
8814
|
+
"properties": {
|
|
8815
|
+
"id": {
|
|
8816
|
+
"type": "string",
|
|
8817
|
+
"minLength": 1
|
|
8818
|
+
},
|
|
8819
|
+
"op": {
|
|
8820
|
+
"const": "comments.patch",
|
|
8821
|
+
"type": "string"
|
|
8822
|
+
},
|
|
8823
|
+
"args": {
|
|
8824
|
+
"type": "object",
|
|
8825
|
+
"properties": {
|
|
8826
|
+
"commentId": {
|
|
8827
|
+
"type": "string",
|
|
8828
|
+
"minLength": 1
|
|
8829
|
+
},
|
|
8830
|
+
"target": {
|
|
8831
|
+
"oneOf": [
|
|
8832
|
+
{
|
|
8833
|
+
"$ref": "#/$defs/TextAddress"
|
|
8834
|
+
},
|
|
8835
|
+
{
|
|
8836
|
+
"$ref": "#/$defs/SelectionTarget"
|
|
8837
|
+
}
|
|
8838
|
+
]
|
|
8839
|
+
}
|
|
8840
|
+
},
|
|
8841
|
+
"additionalProperties": false,
|
|
8842
|
+
"required": [
|
|
8843
|
+
"commentId",
|
|
8844
|
+
"target"
|
|
8845
|
+
]
|
|
8846
|
+
}
|
|
8847
|
+
},
|
|
8848
|
+
"additionalProperties": false,
|
|
8849
|
+
"required": [
|
|
8850
|
+
"id",
|
|
8851
|
+
"op",
|
|
8852
|
+
"args"
|
|
8853
|
+
]
|
|
8854
|
+
},
|
|
8855
|
+
{
|
|
8856
|
+
"type": "object",
|
|
8857
|
+
"properties": {
|
|
8858
|
+
"id": {
|
|
8859
|
+
"type": "string",
|
|
8860
|
+
"minLength": 1
|
|
8861
|
+
},
|
|
8862
|
+
"op": {
|
|
8863
|
+
"const": "trackChanges.decide",
|
|
8864
|
+
"type": "string"
|
|
8865
|
+
},
|
|
8866
|
+
"args": {
|
|
8867
|
+
"type": "object",
|
|
8868
|
+
"properties": {
|
|
8869
|
+
"decision": {
|
|
8870
|
+
"enum": [
|
|
8871
|
+
"accept",
|
|
8872
|
+
"reject"
|
|
8873
|
+
],
|
|
8874
|
+
"type": "string"
|
|
8875
|
+
},
|
|
8876
|
+
"target": {
|
|
8877
|
+
"oneOf": [
|
|
8878
|
+
{
|
|
8879
|
+
"type": "object",
|
|
8880
|
+
"properties": {
|
|
8881
|
+
"kind": {
|
|
8882
|
+
"const": "id",
|
|
8883
|
+
"type": "string"
|
|
8884
|
+
},
|
|
8885
|
+
"id": {
|
|
8886
|
+
"type": "string",
|
|
8887
|
+
"minLength": 1
|
|
8888
|
+
}
|
|
8889
|
+
},
|
|
8890
|
+
"additionalProperties": false,
|
|
8891
|
+
"required": [
|
|
8892
|
+
"kind",
|
|
8893
|
+
"id"
|
|
8894
|
+
]
|
|
8895
|
+
},
|
|
8896
|
+
{
|
|
8897
|
+
"type": "object",
|
|
8898
|
+
"properties": {
|
|
8899
|
+
"kind": {
|
|
8900
|
+
"const": "ids",
|
|
8901
|
+
"type": "string"
|
|
8902
|
+
},
|
|
8903
|
+
"ids": {
|
|
8904
|
+
"type": "array",
|
|
8905
|
+
"items": {
|
|
8906
|
+
"type": "string",
|
|
8907
|
+
"minLength": 1
|
|
8908
|
+
},
|
|
8909
|
+
"minItems": 1
|
|
8910
|
+
}
|
|
8911
|
+
},
|
|
8912
|
+
"additionalProperties": false,
|
|
8913
|
+
"required": [
|
|
8914
|
+
"kind",
|
|
8915
|
+
"ids"
|
|
8916
|
+
]
|
|
8917
|
+
}
|
|
8918
|
+
]
|
|
8919
|
+
}
|
|
8920
|
+
},
|
|
8921
|
+
"additionalProperties": false,
|
|
8922
|
+
"required": [
|
|
8923
|
+
"decision",
|
|
8924
|
+
"target"
|
|
8925
|
+
]
|
|
8926
|
+
}
|
|
8927
|
+
},
|
|
8928
|
+
"additionalProperties": false,
|
|
8929
|
+
"required": [
|
|
8930
|
+
"id",
|
|
8931
|
+
"op",
|
|
8932
|
+
"args"
|
|
8933
|
+
]
|
|
8806
8934
|
}
|
|
8807
8935
|
]
|
|
8808
8936
|
},
|
|
8809
|
-
"description": "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, structural.replace, or
|
|
8937
|
+
"description": "Ordered array of mutation steps. Each step needs 'op' (text.rewrite, text.insert, text.delete, format.apply, structural.replace, assert, comments.patch, or trackChanges.decide). Core steps use 'where'; review steps use explicit native args and require direct body-only plans with relocations before decisions. Check runtime capabilities for operation-specific content and targeting restrictions."
|
|
8810
8938
|
},
|
|
8811
8939
|
"detail": {
|
|
8812
8940
|
"type": "object",
|
|
@@ -8877,6 +9005,22 @@
|
|
|
8877
9005
|
"exact"
|
|
8878
9006
|
]
|
|
8879
9007
|
},
|
|
9008
|
+
"Range": {
|
|
9009
|
+
"type": "object",
|
|
9010
|
+
"properties": {
|
|
9011
|
+
"start": {
|
|
9012
|
+
"type": "integer"
|
|
9013
|
+
},
|
|
9014
|
+
"end": {
|
|
9015
|
+
"type": "integer"
|
|
9016
|
+
}
|
|
9017
|
+
},
|
|
9018
|
+
"additionalProperties": false,
|
|
9019
|
+
"required": [
|
|
9020
|
+
"start",
|
|
9021
|
+
"end"
|
|
9022
|
+
]
|
|
9023
|
+
},
|
|
8880
9024
|
"SectionAddress": {
|
|
8881
9025
|
"type": "object",
|
|
8882
9026
|
"properties": {
|
|
@@ -9168,6 +9312,30 @@
|
|
|
9168
9312
|
}
|
|
9169
9313
|
]
|
|
9170
9314
|
},
|
|
9315
|
+
"TextAddress": {
|
|
9316
|
+
"type": "object",
|
|
9317
|
+
"properties": {
|
|
9318
|
+
"kind": {
|
|
9319
|
+
"const": "text",
|
|
9320
|
+
"type": "string"
|
|
9321
|
+
},
|
|
9322
|
+
"blockId": {
|
|
9323
|
+
"type": "string"
|
|
9324
|
+
},
|
|
9325
|
+
"range": {
|
|
9326
|
+
"$ref": "#/$defs/Range"
|
|
9327
|
+
},
|
|
9328
|
+
"story": {
|
|
9329
|
+
"$ref": "#/$defs/StoryLocator"
|
|
9330
|
+
}
|
|
9331
|
+
},
|
|
9332
|
+
"additionalProperties": false,
|
|
9333
|
+
"required": [
|
|
9334
|
+
"kind",
|
|
9335
|
+
"blockId",
|
|
9336
|
+
"range"
|
|
9337
|
+
]
|
|
9338
|
+
},
|
|
9171
9339
|
"TextCoordinateSpace": {
|
|
9172
9340
|
"enum": [
|
|
9173
9341
|
"visible",
|
package/package.json
CHANGED