@superdoc/sdk 2.22.0-next.9 → 2.22.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/agent/action-descriptors.json +2 -2
- package/dist/agent/actions.cjs +295 -134
- package/dist/agent/actions.d.ts +3 -0
- package/dist/agent/actions.js +295 -134
- package/dist/agent/catalog.cjs +15 -1
- package/dist/agent/catalog.js +15 -1
- package/dist/embedded-prompts.generated.cjs +2 -2
- package/dist/embedded-prompts.generated.js +2 -2
- package/dist/embedded-tools.generated.cjs +7 -7
- package/dist/embedded-tools.generated.js +7 -7
- package/dist/generated/client.d.ts +1538 -494
- package/dist/generated/contract.cjs +1 -1
- package/dist/generated/contract.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/prompts/mcp-prompt.md +2 -0
- package/dist/prompts/system-prompt.md +1 -1
- package/dist/runtime/sdk-version.generated.cjs +1 -1
- package/dist/runtime/sdk-version.generated.d.ts +1 -1
- package/dist/runtime/sdk-version.generated.js +1 -1
- package/package.json +6 -6
- package/tools/catalog.json +171 -3
- package/tools/generation-receipt.json +24 -24
- package/tools/prompt-templates/system-prompt-core.md +1 -0
- package/tools/system-prompt-mcp.md +1 -0
- package/tools/system-prompt.md +1 -0
- package/tools/tools-policy.json +1 -1
- package/tools/tools.anthropic.json +171 -3
- package/tools/tools.generic.json +171 -3
- package/tools/tools.openai.json +171 -3
- package/tools/tools.vercel.json +171 -3
|
@@ -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",
|
package/tools/tools.generic.json
CHANGED
|
@@ -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",
|