@superdoc-dev/sdk 1.16.0-next.47 → 1.16.0-next.49

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.
@@ -13474,7 +13474,7 @@ const CONTRACT = {
13474
13474
  "list"
13475
13475
  ],
13476
13476
  "category": "core",
13477
- "description": "List top-level blocks in document order with IDs, types, text previews, and optional full text when includeText:true. Supports pagination via offset/limit, optional nodeType filtering, and single-story scoping via `in: <StoryLocator>`.",
13477
+ "description": "List top-level blocks in document order with IDs, types, text previews, and optional full text when includeText:true. Text, previews, lengths, and formatting hints use the VISIBLE model: pending tracked deletions are excluded (matching how edit refs resolve), and inline atoms render as a single placeholder character. Supports pagination via offset/limit, optional nodeType filtering, and single-story scoping via `in: <StoryLocator>`.",
13478
13478
  "requiresDocumentContext": true,
13479
13479
  "docRequirement": "optional",
13480
13480
  "responseEnvelopeKey": "result",
@@ -13884,6 +13884,65 @@ const CONTRACT = {
13884
13884
  },
13885
13885
  "additionalProperties": false
13886
13886
  },
13887
+ "numbering": {
13888
+ "type": "object",
13889
+ "description": "Computed numbering rendering (marker/path/kind) for numbered list items and numbered headings — e.g. the rendered clause label \"2.3.\". Absent for non-numbered blocks.",
13890
+ "properties": {
13891
+ "marker": {
13892
+ "oneOf": [
13893
+ {
13894
+ "type": "string"
13895
+ },
13896
+ {
13897
+ "type": "null"
13898
+ }
13899
+ ]
13900
+ },
13901
+ "path": {
13902
+ "oneOf": [
13903
+ {
13904
+ "type": "array",
13905
+ "items": {
13906
+ "type": "number"
13907
+ }
13908
+ },
13909
+ {
13910
+ "type": "null"
13911
+ }
13912
+ ]
13913
+ },
13914
+ "kind": {
13915
+ "oneOf": [
13916
+ {
13917
+ "type": "string"
13918
+ },
13919
+ {
13920
+ "type": "null"
13921
+ }
13922
+ ]
13923
+ }
13924
+ },
13925
+ "additionalProperties": false
13926
+ },
13927
+ "indent": {
13928
+ "type": "object",
13929
+ "description": "Direct paragraph indentation in twips (only non-zero fields present).",
13930
+ "properties": {
13931
+ "left": {
13932
+ "type": "number"
13933
+ },
13934
+ "right": {
13935
+ "type": "number"
13936
+ },
13937
+ "firstLine": {
13938
+ "type": "number"
13939
+ },
13940
+ "hanging": {
13941
+ "type": "number"
13942
+ }
13943
+ },
13944
+ "additionalProperties": false
13945
+ },
13887
13946
  "ref": {
13888
13947
  "type": "string",
13889
13948
  "description": "Ref handle for this block. Pass directly to superdoc_format or superdoc_edit ref param. Only present for non-empty blocks."
@@ -112872,7 +112931,7 @@ const CONTRACT = {
112872
112931
  "attach"
112873
112932
  ],
112874
112933
  "category": "lists",
112875
- "description": "Convert non-list paragraphs to list items under an existing list sequence.",
112934
+ "description": "Convert non-list paragraphs to list items under an existing list sequence. With changeMode:\"tracked\" the former (unnumbered) paragraph properties are recorded as a w:pPrChange so a reviewer can accept/reject the numbering.",
112876
112935
  "requiresDocumentContext": true,
112877
112936
  "docRequirement": "optional",
112878
112937
  "responseEnvelopeKey": "result",
@@ -113222,7 +113281,7 @@ const CONTRACT = {
113222
113281
  "constraints": null,
113223
113282
  "mutates": true,
113224
113283
  "idempotency": "conditional",
113225
- "supportsTrackedMode": false,
113284
+ "supportsTrackedMode": true,
113226
113285
  "supportsDryRun": true,
113227
113286
  "inputSchema": {
113228
113287
  "type": "object",
@@ -134541,6 +134600,17 @@ const CONTRACT = {
134541
134600
  }
134542
134601
  ],
134543
134602
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
134603
+ },
134604
+ "side": {
134605
+ "oneOf": [
134606
+ {
134607
+ "const": "inserted"
134608
+ },
134609
+ {
134610
+ "const": "deleted"
134611
+ }
134612
+ ],
134613
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half, leaving the other half as a standalone pending change."
134544
134614
  }
134545
134615
  },
134546
134616
  "required": [
@@ -135837,6 +135907,17 @@ const CONTRACT = {
135837
135907
  }
135838
135908
  ],
135839
135909
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
135910
+ },
135911
+ "side": {
135912
+ "oneOf": [
135913
+ {
135914
+ "const": "inserted"
135915
+ },
135916
+ {
135917
+ "const": "deleted"
135918
+ }
135919
+ ],
135920
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half."
135840
135921
  }
135841
135922
  },
135842
135923
  "required": [
@@ -136293,6 +136374,13 @@ const CONTRACT = {
136293
136374
  "destination"
136294
136375
  ],
136295
136376
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
136377
+ },
136378
+ "side": {
136379
+ "enum": [
136380
+ "inserted",
136381
+ "deleted"
136382
+ ],
136383
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half, leaving the other half as a standalone pending change."
136296
136384
  }
136297
136385
  },
136298
136386
  "additionalProperties": false,
@@ -136486,6 +136574,13 @@ const CONTRACT = {
136486
136574
  "destination"
136487
136575
  ],
136488
136576
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
136577
+ },
136578
+ "side": {
136579
+ "enum": [
136580
+ "inserted",
136581
+ "deleted"
136582
+ ],
136583
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half."
136489
136584
  }
136490
136585
  },
136491
136586
  "additionalProperties": false,
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/generated/contract.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,GAAG,EAAE;QACH,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACpD;AAED,eAAO,MAAM,QAAQ,EAAE,QAuruPtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/generated/contract.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,CAAC;IAClC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,GAAG,EAAE;QACH,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;CACpD;AAED,eAAO,MAAM,QAAQ,EAAE,QAsxuPtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC"}
@@ -14881,7 +14881,7 @@ export const CONTRACT = {
14881
14881
  "list"
14882
14882
  ],
14883
14883
  "category": "core",
14884
- "description": "List top-level blocks in document order with IDs, types, text previews, and optional full text when includeText:true. Supports pagination via offset/limit, optional nodeType filtering, and single-story scoping via `in: <StoryLocator>`.",
14884
+ "description": "List top-level blocks in document order with IDs, types, text previews, and optional full text when includeText:true. Text, previews, lengths, and formatting hints use the VISIBLE model: pending tracked deletions are excluded (matching how edit refs resolve), and inline atoms render as a single placeholder character. Supports pagination via offset/limit, optional nodeType filtering, and single-story scoping via `in: <StoryLocator>`.",
14885
14885
  "requiresDocumentContext": true,
14886
14886
  "docRequirement": "optional",
14887
14887
  "responseEnvelopeKey": "result",
@@ -15291,6 +15291,65 @@ export const CONTRACT = {
15291
15291
  },
15292
15292
  "additionalProperties": false
15293
15293
  },
15294
+ "numbering": {
15295
+ "type": "object",
15296
+ "description": "Computed numbering rendering (marker/path/kind) for numbered list items and numbered headings — e.g. the rendered clause label \"2.3.\". Absent for non-numbered blocks.",
15297
+ "properties": {
15298
+ "marker": {
15299
+ "oneOf": [
15300
+ {
15301
+ "type": "string"
15302
+ },
15303
+ {
15304
+ "type": "null"
15305
+ }
15306
+ ]
15307
+ },
15308
+ "path": {
15309
+ "oneOf": [
15310
+ {
15311
+ "type": "array",
15312
+ "items": {
15313
+ "type": "number"
15314
+ }
15315
+ },
15316
+ {
15317
+ "type": "null"
15318
+ }
15319
+ ]
15320
+ },
15321
+ "kind": {
15322
+ "oneOf": [
15323
+ {
15324
+ "type": "string"
15325
+ },
15326
+ {
15327
+ "type": "null"
15328
+ }
15329
+ ]
15330
+ }
15331
+ },
15332
+ "additionalProperties": false
15333
+ },
15334
+ "indent": {
15335
+ "type": "object",
15336
+ "description": "Direct paragraph indentation in twips (only non-zero fields present).",
15337
+ "properties": {
15338
+ "left": {
15339
+ "type": "number"
15340
+ },
15341
+ "right": {
15342
+ "type": "number"
15343
+ },
15344
+ "firstLine": {
15345
+ "type": "number"
15346
+ },
15347
+ "hanging": {
15348
+ "type": "number"
15349
+ }
15350
+ },
15351
+ "additionalProperties": false
15352
+ },
15294
15353
  "ref": {
15295
15354
  "type": "string",
15296
15355
  "description": "Ref handle for this block. Pass directly to superdoc_format or superdoc_edit ref param. Only present for non-empty blocks."
@@ -114279,7 +114338,7 @@ export const CONTRACT = {
114279
114338
  "attach"
114280
114339
  ],
114281
114340
  "category": "lists",
114282
- "description": "Convert non-list paragraphs to list items under an existing list sequence.",
114341
+ "description": "Convert non-list paragraphs to list items under an existing list sequence. With changeMode:\"tracked\" the former (unnumbered) paragraph properties are recorded as a w:pPrChange so a reviewer can accept/reject the numbering.",
114283
114342
  "requiresDocumentContext": true,
114284
114343
  "docRequirement": "optional",
114285
114344
  "responseEnvelopeKey": "result",
@@ -114629,7 +114688,7 @@ export const CONTRACT = {
114629
114688
  "constraints": null,
114630
114689
  "mutates": true,
114631
114690
  "idempotency": "conditional",
114632
- "supportsTrackedMode": false,
114691
+ "supportsTrackedMode": true,
114633
114692
  "supportsDryRun": true,
114634
114693
  "inputSchema": {
114635
114694
  "type": "object",
@@ -135948,6 +136007,17 @@ export const CONTRACT = {
135948
136007
  }
135949
136008
  ],
135950
136009
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
136010
+ },
136011
+ "side": {
136012
+ "oneOf": [
136013
+ {
136014
+ "const": "inserted"
136015
+ },
136016
+ {
136017
+ "const": "deleted"
136018
+ }
136019
+ ],
136020
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half, leaving the other half as a standalone pending change."
135951
136021
  }
135952
136022
  },
135953
136023
  "required": [
@@ -137244,6 +137314,17 @@ export const CONTRACT = {
137244
137314
  }
137245
137315
  ],
137246
137316
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
137317
+ },
137318
+ "side": {
137319
+ "oneOf": [
137320
+ {
137321
+ "const": "inserted"
137322
+ },
137323
+ {
137324
+ "const": "deleted"
137325
+ }
137326
+ ],
137327
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half."
137247
137328
  }
137248
137329
  },
137249
137330
  "required": [
@@ -137700,6 +137781,13 @@ export const CONTRACT = {
137700
137781
  "destination"
137701
137782
  ],
137702
137783
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
137784
+ },
137785
+ "side": {
137786
+ "enum": [
137787
+ "inserted",
137788
+ "deleted"
137789
+ ],
137790
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half, leaving the other half as a standalone pending change."
137703
137791
  }
137704
137792
  },
137705
137793
  "additionalProperties": false,
@@ -137893,6 +137981,13 @@ export const CONTRACT = {
137893
137981
  "destination"
137894
137982
  ],
137895
137983
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
137984
+ },
137985
+ "side": {
137986
+ "enum": [
137987
+ "inserted",
137988
+ "deleted"
137989
+ ],
137990
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half."
137896
137991
  }
137897
137992
  },
137898
137993
  "additionalProperties": false,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdoc-dev/sdk",
3
- "version": "1.16.0-next.47",
3
+ "version": "1.16.0-next.49",
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-x64": "1.16.0-next.47",
30
- "@superdoc-dev/sdk-darwin-arm64": "1.16.0-next.47",
31
- "@superdoc-dev/sdk-linux-x64": "1.16.0-next.47",
32
- "@superdoc-dev/sdk-windows-x64": "1.16.0-next.47",
33
- "@superdoc-dev/sdk-linux-arm64": "1.16.0-next.47"
29
+ "@superdoc-dev/sdk-linux-x64": "1.16.0-next.49",
30
+ "@superdoc-dev/sdk-windows-x64": "1.16.0-next.49",
31
+ "@superdoc-dev/sdk-darwin-x64": "1.16.0-next.49",
32
+ "@superdoc-dev/sdk-darwin-arm64": "1.16.0-next.49",
33
+ "@superdoc-dev/sdk-linux-arm64": "1.16.0-next.49"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public"
@@ -4889,6 +4889,13 @@
4889
4889
  "destination"
4890
4890
  ],
4891
4891
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
4892
+ },
4893
+ "side": {
4894
+ "enum": [
4895
+ "inserted",
4896
+ "deleted"
4897
+ ],
4898
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half, leaving the other half as a standalone pending change."
4892
4899
  }
4893
4900
  },
4894
4901
  "additionalProperties": false,
@@ -5087,6 +5094,13 @@
5087
5094
  "destination"
5088
5095
  ],
5089
5096
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
5097
+ },
5098
+ "side": {
5099
+ "enum": [
5100
+ "inserted",
5101
+ "deleted"
5102
+ ],
5103
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half."
5090
5104
  }
5091
5105
  },
5092
5106
  "additionalProperties": false,
@@ -43,5 +43,5 @@
43
43
  "mutates": true
44
44
  }
45
45
  ],
46
- "contractHash": "b7a0382edb33e88b28f1af627a89d6a0b441890883e30993390a76c756214e4c"
46
+ "contractHash": "2954ad7f0581c8cbaa8903cf227429d4bc1c0ca550a663f3b5bd28449323717f"
47
47
  }
@@ -4579,6 +4579,13 @@
4579
4579
  "destination"
4580
4580
  ],
4581
4581
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
4582
+ },
4583
+ "side": {
4584
+ "enum": [
4585
+ "inserted",
4586
+ "deleted"
4587
+ ],
4588
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half, leaving the other half as a standalone pending change."
4582
4589
  }
4583
4590
  },
4584
4591
  "additionalProperties": false,
@@ -4777,6 +4784,13 @@
4777
4784
  "destination"
4778
4785
  ],
4779
4786
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
4787
+ },
4788
+ "side": {
4789
+ "enum": [
4790
+ "inserted",
4791
+ "deleted"
4792
+ ],
4793
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half."
4780
4794
  }
4781
4795
  },
4782
4796
  "additionalProperties": false,
@@ -4708,6 +4708,13 @@
4708
4708
  "destination"
4709
4709
  ],
4710
4710
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
4711
+ },
4712
+ "side": {
4713
+ "enum": [
4714
+ "inserted",
4715
+ "deleted"
4716
+ ],
4717
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half, leaving the other half as a standalone pending change."
4711
4718
  }
4712
4719
  },
4713
4720
  "additionalProperties": false,
@@ -4906,6 +4913,13 @@
4906
4913
  "destination"
4907
4914
  ],
4908
4915
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
4916
+ },
4917
+ "side": {
4918
+ "enum": [
4919
+ "inserted",
4920
+ "deleted"
4921
+ ],
4922
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half."
4909
4923
  }
4910
4924
  },
4911
4925
  "additionalProperties": false,
@@ -4599,6 +4599,13 @@
4599
4599
  "destination"
4600
4600
  ],
4601
4601
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
4602
+ },
4603
+ "side": {
4604
+ "enum": [
4605
+ "inserted",
4606
+ "deleted"
4607
+ ],
4608
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half, leaving the other half as a standalone pending change."
4602
4609
  }
4603
4610
  },
4604
4611
  "additionalProperties": false,
@@ -4797,6 +4804,13 @@
4797
4804
  "destination"
4798
4805
  ],
4799
4806
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
4807
+ },
4808
+ "side": {
4809
+ "enum": [
4810
+ "inserted",
4811
+ "deleted"
4812
+ ],
4813
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half."
4800
4814
  }
4801
4815
  },
4802
4816
  "additionalProperties": false,
@@ -4599,6 +4599,13 @@
4599
4599
  "destination"
4600
4600
  ],
4601
4601
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
4602
+ },
4603
+ "side": {
4604
+ "enum": [
4605
+ "inserted",
4606
+ "deleted"
4607
+ ],
4608
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half, leaving the other half as a standalone pending change."
4602
4609
  }
4603
4610
  },
4604
4611
  "additionalProperties": false,
@@ -4797,6 +4804,13 @@
4797
4804
  "destination"
4798
4805
  ],
4799
4806
  "description": "Optional move pairing assertion. 'pair' requires the resolved tracked change to be a paired move; 'source' / 'destination' further narrow to a specific half. When the assertion does not hold the decide adapter fails closed."
4807
+ },
4808
+ "side": {
4809
+ "enum": [
4810
+ "inserted",
4811
+ "deleted"
4812
+ ],
4813
+ "description": "Optional replacement side. When the id resolves to a paired replacement, decides only the 'inserted' or 'deleted' half."
4800
4814
  }
4801
4815
  },
4802
4816
  "additionalProperties": false,