@superdoc-dev/sdk 1.6.0-next.4 → 1.6.0-next.40

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.
@@ -6257,7 +6257,7 @@ export const CONTRACT = {
6257
6257
  "list"
6258
6258
  ],
6259
6259
  "category": "core",
6260
- "description": "List top-level blocks in document order with IDs, types, and text previews. Supports pagination via offset/limit and optional nodeType filtering.",
6260
+ "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 and optional nodeType filtering.",
6261
6261
  "requiresDocumentContext": true,
6262
6262
  "docRequirement": "optional",
6263
6263
  "responseEnvelopeKey": "result",
@@ -6328,6 +6328,13 @@ export const CONTRACT = {
6328
6328
  "description": "Filter by block types (e.g. ['paragraph', 'heading']). Omit for all types."
6329
6329
  },
6330
6330
  "description": "Filter by block types (e.g. ['paragraph', 'heading']). Omit for all types."
6331
+ },
6332
+ {
6333
+ "name": "includeText",
6334
+ "kind": "flag",
6335
+ "type": "boolean",
6336
+ "flag": "include-text",
6337
+ "description": "When true, includes the full flattened block text in each block entry."
6331
6338
  }
6332
6339
  ],
6333
6340
  "constraints": null,
@@ -6364,6 +6371,10 @@ export const CONTRACT = {
6364
6371
  ]
6365
6372
  },
6366
6373
  "description": "Filter by block types (e.g. ['paragraph', 'heading']). Omit for all types."
6374
+ },
6375
+ "includeText": {
6376
+ "type": "boolean",
6377
+ "description": "When true, includes the full flattened block text in each block entry."
6367
6378
  }
6368
6379
  },
6369
6380
  "additionalProperties": false
@@ -6409,6 +6420,17 @@ export const CONTRACT = {
6409
6420
  }
6410
6421
  ]
6411
6422
  },
6423
+ "text": {
6424
+ "oneOf": [
6425
+ {
6426
+ "type": "string"
6427
+ },
6428
+ {
6429
+ "type": "null"
6430
+ }
6431
+ ],
6432
+ "description": "Full flattened block text when requested with includeText."
6433
+ },
6412
6434
  "isEmpty": {
6413
6435
  "type": "boolean"
6414
6436
  },
@@ -63621,6 +63643,53 @@ export const CONTRACT = {
63621
63643
  "by",
63622
63644
  "target"
63623
63645
  ]
63646
+ },
63647
+ {
63648
+ "type": "object",
63649
+ "properties": {
63650
+ "by": {
63651
+ "const": "block"
63652
+ },
63653
+ "nodeType": {
63654
+ "oneOf": [
63655
+ {
63656
+ "const": "paragraph"
63657
+ },
63658
+ {
63659
+ "const": "heading"
63660
+ },
63661
+ {
63662
+ "const": "listItem"
63663
+ },
63664
+ {
63665
+ "const": "table"
63666
+ },
63667
+ {
63668
+ "const": "tableRow"
63669
+ },
63670
+ {
63671
+ "const": "tableCell"
63672
+ },
63673
+ {
63674
+ "const": "tableOfContents"
63675
+ },
63676
+ {
63677
+ "const": "image"
63678
+ },
63679
+ {
63680
+ "const": "sdt"
63681
+ }
63682
+ ]
63683
+ },
63684
+ "nodeId": {
63685
+ "type": "string"
63686
+ }
63687
+ },
63688
+ "required": [
63689
+ "by",
63690
+ "nodeType",
63691
+ "nodeId"
63692
+ ]
63624
63693
  }
63625
63694
  ]
63626
63695
  },
@@ -63816,51 +63885,221 @@ export const CONTRACT = {
63816
63885
  "const": "text.insert"
63817
63886
  },
63818
63887
  "where": {
63819
- "type": "object",
63820
- "properties": {
63821
- "by": {
63822
- "const": "select"
63823
- },
63824
- "select": {
63825
- "oneOf": [
63826
- {
63888
+ "oneOf": [
63889
+ {
63890
+ "type": "object",
63891
+ "properties": {
63892
+ "by": {
63893
+ "const": "select"
63894
+ },
63895
+ "select": {
63896
+ "oneOf": [
63897
+ {
63898
+ "type": "object",
63899
+ "properties": {
63900
+ "type": {
63901
+ "const": "text",
63902
+ "description": "Must be 'text' for text pattern search."
63903
+ },
63904
+ "pattern": {
63905
+ "type": "string",
63906
+ "description": "Text or regex pattern to match."
63907
+ },
63908
+ "mode": {
63909
+ "oneOf": [
63910
+ {
63911
+ "const": "contains"
63912
+ },
63913
+ {
63914
+ "const": "regex"
63915
+ }
63916
+ ],
63917
+ "description": "Match mode: 'contains' (substring) or 'regex'."
63918
+ },
63919
+ "caseSensitive": {
63920
+ "type": "boolean",
63921
+ "description": "Case-sensitive matching. Default: false."
63922
+ }
63923
+ },
63924
+ "required": [
63925
+ "type",
63926
+ "pattern"
63927
+ ]
63928
+ },
63929
+ {
63930
+ "type": "object",
63931
+ "properties": {
63932
+ "type": {
63933
+ "const": "node",
63934
+ "description": "Must be 'node' for node type search."
63935
+ },
63936
+ "nodeType": {
63937
+ "oneOf": [
63938
+ {
63939
+ "const": "paragraph"
63940
+ },
63941
+ {
63942
+ "const": "heading"
63943
+ },
63944
+ {
63945
+ "const": "listItem"
63946
+ },
63947
+ {
63948
+ "const": "table"
63949
+ },
63950
+ {
63951
+ "const": "tableRow"
63952
+ },
63953
+ {
63954
+ "const": "tableCell"
63955
+ },
63956
+ {
63957
+ "const": "tableOfContents"
63958
+ },
63959
+ {
63960
+ "const": "image"
63961
+ },
63962
+ {
63963
+ "const": "sdt"
63964
+ },
63965
+ {
63966
+ "const": "run"
63967
+ },
63968
+ {
63969
+ "const": "bookmark"
63970
+ },
63971
+ {
63972
+ "const": "comment"
63973
+ },
63974
+ {
63975
+ "const": "hyperlink"
63976
+ },
63977
+ {
63978
+ "const": "footnoteRef"
63979
+ },
63980
+ {
63981
+ "const": "endnoteRef"
63982
+ },
63983
+ {
63984
+ "const": "crossRef"
63985
+ },
63986
+ {
63987
+ "const": "indexEntry"
63988
+ },
63989
+ {
63990
+ "const": "citation"
63991
+ },
63992
+ {
63993
+ "const": "authorityEntry"
63994
+ },
63995
+ {
63996
+ "const": "sequenceField"
63997
+ },
63998
+ {
63999
+ "const": "tab"
64000
+ },
64001
+ {
64002
+ "const": "lineBreak"
64003
+ }
64004
+ ],
64005
+ "description": "Block type to match (paragraph, heading, table, listItem, etc.)."
64006
+ },
64007
+ "kind": {
64008
+ "oneOf": [
64009
+ {
64010
+ "const": "block"
64011
+ },
64012
+ {
64013
+ "const": "inline"
64014
+ }
64015
+ ],
64016
+ "description": "Filter: 'block' or 'inline'."
64017
+ }
64018
+ },
64019
+ "required": [
64020
+ "type"
64021
+ ]
64022
+ }
64023
+ ]
64024
+ },
64025
+ "within": {
63827
64026
  "type": "object",
63828
64027
  "properties": {
63829
- "type": {
63830
- "const": "text",
63831
- "description": "Must be 'text' for text pattern search."
63832
- },
63833
- "pattern": {
63834
- "type": "string",
63835
- "description": "Text or regex pattern to match."
64028
+ "kind": {
64029
+ "const": "block"
63836
64030
  },
63837
- "mode": {
64031
+ "nodeType": {
63838
64032
  "oneOf": [
63839
64033
  {
63840
- "const": "contains"
64034
+ "const": "paragraph"
63841
64035
  },
63842
64036
  {
63843
- "const": "regex"
64037
+ "const": "heading"
64038
+ },
64039
+ {
64040
+ "const": "listItem"
64041
+ },
64042
+ {
64043
+ "const": "table"
64044
+ },
64045
+ {
64046
+ "const": "tableRow"
64047
+ },
64048
+ {
64049
+ "const": "tableCell"
64050
+ },
64051
+ {
64052
+ "const": "tableOfContents"
64053
+ },
64054
+ {
64055
+ "const": "image"
64056
+ },
64057
+ {
64058
+ "const": "sdt"
63844
64059
  }
63845
- ],
63846
- "description": "Match mode: 'contains' (substring) or 'regex'."
64060
+ ]
63847
64061
  },
63848
- "caseSensitive": {
63849
- "type": "boolean",
63850
- "description": "Case-sensitive matching. Default: false."
64062
+ "nodeId": {
64063
+ "type": "string"
63851
64064
  }
63852
64065
  },
63853
64066
  "required": [
63854
- "type",
63855
- "pattern"
64067
+ "kind",
64068
+ "nodeType",
64069
+ "nodeId"
63856
64070
  ]
63857
64071
  },
63858
- {
64072
+ "require": {
64073
+ "oneOf": [
64074
+ {
64075
+ "const": "first"
64076
+ },
64077
+ {
64078
+ "const": "exactlyOne"
64079
+ }
64080
+ ]
64081
+ }
64082
+ },
64083
+ "required": [
64084
+ "by",
64085
+ "select",
64086
+ "require"
64087
+ ]
64088
+ },
64089
+ {
64090
+ "type": "object",
64091
+ "properties": {
64092
+ "by": {
64093
+ "const": "ref"
64094
+ },
64095
+ "ref": {
64096
+ "type": "string"
64097
+ },
64098
+ "within": {
63859
64099
  "type": "object",
63860
64100
  "properties": {
63861
- "type": {
63862
- "const": "node",
63863
- "description": "Must be 'node' for node type search."
64101
+ "kind": {
64102
+ "const": "block"
63864
64103
  },
63865
64104
  "nodeType": {
63866
64105
  "oneOf": [
@@ -63890,71 +64129,224 @@ export const CONTRACT = {
63890
64129
  },
63891
64130
  {
63892
64131
  "const": "sdt"
63893
- },
63894
- {
63895
- "const": "run"
63896
- },
63897
- {
63898
- "const": "bookmark"
63899
- },
63900
- {
63901
- "const": "comment"
63902
- },
63903
- {
63904
- "const": "hyperlink"
63905
- },
63906
- {
63907
- "const": "footnoteRef"
63908
- },
63909
- {
63910
- "const": "endnoteRef"
63911
- },
63912
- {
63913
- "const": "crossRef"
63914
- },
63915
- {
63916
- "const": "indexEntry"
63917
- },
63918
- {
63919
- "const": "citation"
63920
- },
63921
- {
63922
- "const": "authorityEntry"
63923
- },
63924
- {
63925
- "const": "sequenceField"
63926
- },
64132
+ }
64133
+ ]
64134
+ },
64135
+ "nodeId": {
64136
+ "type": "string"
64137
+ }
64138
+ },
64139
+ "required": [
64140
+ "kind",
64141
+ "nodeType",
64142
+ "nodeId"
64143
+ ]
64144
+ }
64145
+ },
64146
+ "required": [
64147
+ "by",
64148
+ "ref"
64149
+ ]
64150
+ },
64151
+ {
64152
+ "type": "object",
64153
+ "properties": {
64154
+ "by": {
64155
+ "const": "target"
64156
+ },
64157
+ "target": {
64158
+ "type": "object",
64159
+ "properties": {
64160
+ "kind": {
64161
+ "const": "selection"
64162
+ },
64163
+ "start": {
64164
+ "oneOf": [
63927
64165
  {
63928
- "const": "tab"
64166
+ "type": "object",
64167
+ "properties": {
64168
+ "kind": {
64169
+ "const": "text"
64170
+ },
64171
+ "blockId": {
64172
+ "type": "string"
64173
+ },
64174
+ "offset": {
64175
+ "type": "number"
64176
+ }
64177
+ },
64178
+ "required": [
64179
+ "kind",
64180
+ "blockId",
64181
+ "offset"
64182
+ ]
63929
64183
  },
63930
64184
  {
63931
- "const": "lineBreak"
64185
+ "type": "object",
64186
+ "properties": {
64187
+ "kind": {
64188
+ "const": "nodeEdge"
64189
+ },
64190
+ "node": {
64191
+ "type": "object",
64192
+ "properties": {
64193
+ "kind": {
64194
+ "const": "block"
64195
+ },
64196
+ "nodeType": {
64197
+ "oneOf": [
64198
+ {
64199
+ "const": "paragraph"
64200
+ },
64201
+ {
64202
+ "const": "heading"
64203
+ },
64204
+ {
64205
+ "const": "table"
64206
+ },
64207
+ {
64208
+ "const": "tableOfContents"
64209
+ },
64210
+ {
64211
+ "const": "sdt"
64212
+ },
64213
+ {
64214
+ "const": "image"
64215
+ }
64216
+ ]
64217
+ },
64218
+ "nodeId": {
64219
+ "type": "string"
64220
+ }
64221
+ },
64222
+ "required": [
64223
+ "kind",
64224
+ "nodeType",
64225
+ "nodeId"
64226
+ ]
64227
+ },
64228
+ "edge": {
64229
+ "oneOf": [
64230
+ {
64231
+ "const": "before"
64232
+ },
64233
+ {
64234
+ "const": "after"
64235
+ }
64236
+ ]
64237
+ }
64238
+ },
64239
+ "required": [
64240
+ "kind",
64241
+ "node",
64242
+ "edge"
64243
+ ]
63932
64244
  }
63933
64245
  ],
63934
- "description": "Block type to match (paragraph, heading, table, listItem, etc.)."
64246
+ "description": "A point in the document. Use {kind:'text', blockId, offset} for character positions or {kind:'nodeEdge', node:{kind:'block', nodeType, nodeId}, edge:'before'|'after'} for block boundaries."
63935
64247
  },
63936
- "kind": {
64248
+ "end": {
63937
64249
  "oneOf": [
63938
64250
  {
63939
- "const": "block"
64251
+ "type": "object",
64252
+ "properties": {
64253
+ "kind": {
64254
+ "const": "text"
64255
+ },
64256
+ "blockId": {
64257
+ "type": "string"
64258
+ },
64259
+ "offset": {
64260
+ "type": "number"
64261
+ }
64262
+ },
64263
+ "required": [
64264
+ "kind",
64265
+ "blockId",
64266
+ "offset"
64267
+ ]
63940
64268
  },
63941
64269
  {
63942
- "const": "inline"
64270
+ "type": "object",
64271
+ "properties": {
64272
+ "kind": {
64273
+ "const": "nodeEdge"
64274
+ },
64275
+ "node": {
64276
+ "type": "object",
64277
+ "properties": {
64278
+ "kind": {
64279
+ "const": "block"
64280
+ },
64281
+ "nodeType": {
64282
+ "oneOf": [
64283
+ {
64284
+ "const": "paragraph"
64285
+ },
64286
+ {
64287
+ "const": "heading"
64288
+ },
64289
+ {
64290
+ "const": "table"
64291
+ },
64292
+ {
64293
+ "const": "tableOfContents"
64294
+ },
64295
+ {
64296
+ "const": "sdt"
64297
+ },
64298
+ {
64299
+ "const": "image"
64300
+ }
64301
+ ]
64302
+ },
64303
+ "nodeId": {
64304
+ "type": "string"
64305
+ }
64306
+ },
64307
+ "required": [
64308
+ "kind",
64309
+ "nodeType",
64310
+ "nodeId"
64311
+ ]
64312
+ },
64313
+ "edge": {
64314
+ "oneOf": [
64315
+ {
64316
+ "const": "before"
64317
+ },
64318
+ {
64319
+ "const": "after"
64320
+ }
64321
+ ]
64322
+ }
64323
+ },
64324
+ "required": [
64325
+ "kind",
64326
+ "node",
64327
+ "edge"
64328
+ ]
63943
64329
  }
63944
64330
  ],
63945
- "description": "Filter: 'block' or 'inline'."
64331
+ "description": "A point in the document. Use {kind:'text', blockId, offset} for character positions or {kind:'nodeEdge', node:{kind:'block', nodeType, nodeId}, edge:'before'|'after'} for block boundaries."
63946
64332
  }
63947
64333
  },
63948
64334
  "required": [
63949
- "type"
64335
+ "kind",
64336
+ "start",
64337
+ "end"
63950
64338
  ]
63951
64339
  }
64340
+ },
64341
+ "required": [
64342
+ "by",
64343
+ "target"
63952
64344
  ]
63953
64345
  },
63954
- "within": {
64346
+ {
63955
64347
  "type": "object",
63956
64348
  "properties": {
63957
- "kind": {
64349
+ "by": {
63958
64350
  "const": "block"
63959
64351
  },
63960
64352
  "nodeType": {
@@ -63993,26 +64385,11 @@ export const CONTRACT = {
63993
64385
  }
63994
64386
  },
63995
64387
  "required": [
63996
- "kind",
64388
+ "by",
63997
64389
  "nodeType",
63998
64390
  "nodeId"
63999
64391
  ]
64000
- },
64001
- "require": {
64002
- "oneOf": [
64003
- {
64004
- "const": "first"
64005
- },
64006
- {
64007
- "const": "exactlyOne"
64008
- }
64009
- ]
64010
64392
  }
64011
- },
64012
- "required": [
64013
- "by",
64014
- "select",
64015
- "require"
64016
64393
  ]
64017
64394
  },
64018
64395
  "args": {
@@ -64609,6 +64986,53 @@ export const CONTRACT = {
64609
64986
  "by",
64610
64987
  "target"
64611
64988
  ]
64989
+ },
64990
+ {
64991
+ "type": "object",
64992
+ "properties": {
64993
+ "by": {
64994
+ "const": "block"
64995
+ },
64996
+ "nodeType": {
64997
+ "oneOf": [
64998
+ {
64999
+ "const": "paragraph"
65000
+ },
65001
+ {
65002
+ "const": "heading"
65003
+ },
65004
+ {
65005
+ "const": "listItem"
65006
+ },
65007
+ {
65008
+ "const": "table"
65009
+ },
65010
+ {
65011
+ "const": "tableRow"
65012
+ },
65013
+ {
65014
+ "const": "tableCell"
65015
+ },
65016
+ {
65017
+ "const": "tableOfContents"
65018
+ },
65019
+ {
65020
+ "const": "image"
65021
+ },
65022
+ {
65023
+ "const": "sdt"
65024
+ }
65025
+ ]
65026
+ },
65027
+ "nodeId": {
65028
+ "type": "string"
65029
+ }
65030
+ },
65031
+ "required": [
65032
+ "by",
65033
+ "nodeType",
65034
+ "nodeId"
65035
+ ]
64612
65036
  }
64613
65037
  ]
64614
65038
  },
@@ -65105,6 +65529,53 @@ export const CONTRACT = {
65105
65529
  "by",
65106
65530
  "target"
65107
65531
  ]
65532
+ },
65533
+ {
65534
+ "type": "object",
65535
+ "properties": {
65536
+ "by": {
65537
+ "const": "block"
65538
+ },
65539
+ "nodeType": {
65540
+ "oneOf": [
65541
+ {
65542
+ "const": "paragraph"
65543
+ },
65544
+ {
65545
+ "const": "heading"
65546
+ },
65547
+ {
65548
+ "const": "listItem"
65549
+ },
65550
+ {
65551
+ "const": "table"
65552
+ },
65553
+ {
65554
+ "const": "tableRow"
65555
+ },
65556
+ {
65557
+ "const": "tableCell"
65558
+ },
65559
+ {
65560
+ "const": "tableOfContents"
65561
+ },
65562
+ {
65563
+ "const": "image"
65564
+ },
65565
+ {
65566
+ "const": "sdt"
65567
+ }
65568
+ ]
65569
+ },
65570
+ "nodeId": {
65571
+ "type": "string"
65572
+ }
65573
+ },
65574
+ "required": [
65575
+ "by",
65576
+ "nodeType",
65577
+ "nodeId"
65578
+ ]
65108
65579
  }
65109
65580
  ]
65110
65581
  },
@@ -65876,11 +66347,36 @@ export const CONTRACT = {
65876
66347
  ]
65877
66348
  }
65878
66349
  }
66350
+ },
66351
+ "alignment": {
66352
+ "oneOf": [
66353
+ {
66354
+ "const": "left"
66355
+ },
66356
+ {
66357
+ "const": "center"
66358
+ },
66359
+ {
66360
+ "const": "right"
66361
+ },
66362
+ {
66363
+ "const": "justify"
66364
+ }
66365
+ ],
66366
+ "description": "Set paragraph alignment on the target block(s). Can be combined with inline formatting in the same step."
66367
+ },
66368
+ "scope": {
66369
+ "oneOf": [
66370
+ {
66371
+ "const": "match"
66372
+ },
66373
+ {
66374
+ "const": "block"
66375
+ }
66376
+ ],
66377
+ "description": "When \"block\", inline formatting expands to cover the entire parent paragraph(s), not just the matched text. Use \"block\" after markdown inserts to format whole paragraphs with a short identifying pattern. Default: \"match\"."
65879
66378
  }
65880
- },
65881
- "required": [
65882
- "inline"
65883
- ]
66379
+ }
65884
66380
  }
65885
66381
  },
65886
66382
  "required": [
@@ -66298,6 +66794,37 @@ export const CONTRACT = {
66298
66794
  "by",
66299
66795
  "target"
66300
66796
  ]
66797
+ },
66798
+ {
66799
+ "type": "object",
66800
+ "properties": {
66801
+ "by": {
66802
+ "const": "block",
66803
+ "type": "string"
66804
+ },
66805
+ "nodeType": {
66806
+ "enum": [
66807
+ "paragraph",
66808
+ "heading",
66809
+ "listItem",
66810
+ "table",
66811
+ "tableRow",
66812
+ "tableCell",
66813
+ "tableOfContents",
66814
+ "image",
66815
+ "sdt"
66816
+ ]
66817
+ },
66818
+ "nodeId": {
66819
+ "type": "string"
66820
+ }
66821
+ },
66822
+ "additionalProperties": false,
66823
+ "required": [
66824
+ "by",
66825
+ "nodeType",
66826
+ "nodeId"
66827
+ ]
66301
66828
  }
66302
66829
  ]
66303
66830
  },
@@ -66458,217 +66985,289 @@ export const CONTRACT = {
66458
66985
  "const": "text.insert",
66459
66986
  "type": "string"
66460
66987
  },
66461
- "where": {
66462
- "type": "object",
66463
- "properties": {
66464
- "by": {
66465
- "const": "select",
66466
- "type": "string"
66467
- },
66468
- "select": {
66469
- "oneOf": [
66470
- {
66471
- "type": "object",
66472
- "properties": {
66473
- "type": {
66474
- "const": "text",
66475
- "description": "Must be 'text' for text pattern search."
66476
- },
66477
- "pattern": {
66478
- "type": "string",
66479
- "description": "Text or regex pattern to match."
66480
- },
66481
- "mode": {
66482
- "enum": [
66483
- "contains",
66484
- "regex"
66485
- ],
66486
- "description": "Match mode: 'contains' (substring) or 'regex'."
66487
- },
66488
- "caseSensitive": {
66489
- "type": "boolean",
66490
- "description": "Case-sensitive matching. Default: false."
66491
- }
66492
- },
66493
- "additionalProperties": false,
66494
- "required": [
66495
- "type",
66496
- "pattern"
66497
- ]
66498
- },
66499
- {
66500
- "type": "object",
66501
- "properties": {
66502
- "type": {
66503
- "const": "node",
66504
- "description": "Must be 'node' for node type search."
66505
- },
66506
- "nodeType": {
66507
- "enum": [
66508
- "paragraph",
66509
- "heading",
66510
- "listItem",
66511
- "table",
66512
- "tableRow",
66513
- "tableCell",
66514
- "tableOfContents",
66515
- "image",
66516
- "sdt",
66517
- "run",
66518
- "bookmark",
66519
- "comment",
66520
- "hyperlink",
66521
- "footnoteRef",
66522
- "endnoteRef",
66523
- "crossRef",
66524
- "indexEntry",
66525
- "citation",
66526
- "authorityEntry",
66527
- "sequenceField",
66528
- "tab",
66529
- "lineBreak"
66530
- ],
66531
- "description": "Block type to match (paragraph, heading, table, listItem, etc.)."
66532
- },
66533
- "kind": {
66534
- "enum": [
66535
- "block",
66536
- "inline"
66537
- ],
66538
- "description": "Filter: 'block' or 'inline'."
66539
- }
66540
- },
66541
- "additionalProperties": false,
66542
- "required": [
66543
- "type"
66544
- ]
66545
- }
66546
- ]
66547
- },
66548
- "within": {
66549
- "$ref": "#/$defs/BlockNodeAddress"
66550
- },
66551
- "require": {
66552
- "enum": [
66553
- "first",
66554
- "exactlyOne"
66555
- ]
66556
- }
66557
- },
66558
- "additionalProperties": false,
66559
- "required": [
66560
- "by",
66561
- "select",
66562
- "require"
66563
- ]
66564
- },
66565
- "args": {
66566
- "type": "object",
66567
- "properties": {
66568
- "position": {
66569
- "enum": [
66570
- "before",
66571
- "after"
66572
- ]
66573
- },
66574
- "content": {
66575
- "type": "object",
66576
- "properties": {
66577
- "text": {
66578
- "type": "string"
66579
- }
66580
- },
66581
- "additionalProperties": false,
66582
- "required": [
66583
- "text"
66584
- ]
66585
- },
66586
- "style": {
66587
- "type": "object",
66588
- "properties": {
66589
- "inline": {
66590
- "type": "object",
66591
- "properties": {
66592
- "mode": {
66593
- "enum": [
66594
- "inherit",
66595
- "set",
66596
- "clear"
66597
- ],
66598
- "type": "string"
66599
- },
66600
- "setMarks": {
66601
- "type": "object",
66602
- "properties": {
66603
- "bold": {
66604
- "enum": [
66605
- "on",
66606
- "off",
66607
- "clear"
66608
- ]
66609
- },
66610
- "italic": {
66611
- "enum": [
66612
- "on",
66613
- "off",
66614
- "clear"
66615
- ]
66616
- },
66617
- "underline": {
66618
- "enum": [
66619
- "on",
66620
- "off",
66621
- "clear"
66622
- ]
66623
- },
66624
- "strike": {
66625
- "enum": [
66626
- "on",
66627
- "off",
66628
- "clear"
66629
- ]
66630
- }
66631
- },
66632
- "additionalProperties": false
66633
- }
66634
- },
66635
- "additionalProperties": false,
66636
- "required": [
66637
- "mode"
66638
- ]
66639
- }
66640
- },
66641
- "additionalProperties": false,
66642
- "required": [
66643
- "inline"
66644
- ]
66645
- }
66646
- },
66647
- "additionalProperties": false,
66648
- "required": [
66649
- "position",
66650
- "content"
66651
- ]
66652
- }
66653
- },
66654
- "additionalProperties": false,
66655
- "required": [
66656
- "id",
66657
- "op",
66658
- "where",
66659
- "args"
66660
- ]
66661
- },
66662
- {
66663
- "type": "object",
66664
- "properties": {
66665
- "id": {
66666
- "type": "string"
66667
- },
66668
- "op": {
66669
- "const": "text.delete",
66670
- "type": "string"
66671
- },
66988
+ "where": {
66989
+ "oneOf": [
66990
+ {
66991
+ "type": "object",
66992
+ "properties": {
66993
+ "by": {
66994
+ "const": "select",
66995
+ "type": "string"
66996
+ },
66997
+ "select": {
66998
+ "oneOf": [
66999
+ {
67000
+ "type": "object",
67001
+ "properties": {
67002
+ "type": {
67003
+ "const": "text",
67004
+ "description": "Must be 'text' for text pattern search."
67005
+ },
67006
+ "pattern": {
67007
+ "type": "string",
67008
+ "description": "Text or regex pattern to match."
67009
+ },
67010
+ "mode": {
67011
+ "enum": [
67012
+ "contains",
67013
+ "regex"
67014
+ ],
67015
+ "description": "Match mode: 'contains' (substring) or 'regex'."
67016
+ },
67017
+ "caseSensitive": {
67018
+ "type": "boolean",
67019
+ "description": "Case-sensitive matching. Default: false."
67020
+ }
67021
+ },
67022
+ "additionalProperties": false,
67023
+ "required": [
67024
+ "type",
67025
+ "pattern"
67026
+ ]
67027
+ },
67028
+ {
67029
+ "type": "object",
67030
+ "properties": {
67031
+ "type": {
67032
+ "const": "node",
67033
+ "description": "Must be 'node' for node type search."
67034
+ },
67035
+ "nodeType": {
67036
+ "enum": [
67037
+ "paragraph",
67038
+ "heading",
67039
+ "listItem",
67040
+ "table",
67041
+ "tableRow",
67042
+ "tableCell",
67043
+ "tableOfContents",
67044
+ "image",
67045
+ "sdt",
67046
+ "run",
67047
+ "bookmark",
67048
+ "comment",
67049
+ "hyperlink",
67050
+ "footnoteRef",
67051
+ "endnoteRef",
67052
+ "crossRef",
67053
+ "indexEntry",
67054
+ "citation",
67055
+ "authorityEntry",
67056
+ "sequenceField",
67057
+ "tab",
67058
+ "lineBreak"
67059
+ ],
67060
+ "description": "Block type to match (paragraph, heading, table, listItem, etc.)."
67061
+ },
67062
+ "kind": {
67063
+ "enum": [
67064
+ "block",
67065
+ "inline"
67066
+ ],
67067
+ "description": "Filter: 'block' or 'inline'."
67068
+ }
67069
+ },
67070
+ "additionalProperties": false,
67071
+ "required": [
67072
+ "type"
67073
+ ]
67074
+ }
67075
+ ]
67076
+ },
67077
+ "within": {
67078
+ "$ref": "#/$defs/BlockNodeAddress"
67079
+ },
67080
+ "require": {
67081
+ "enum": [
67082
+ "first",
67083
+ "exactlyOne"
67084
+ ]
67085
+ }
67086
+ },
67087
+ "additionalProperties": false,
67088
+ "required": [
67089
+ "by",
67090
+ "select",
67091
+ "require"
67092
+ ]
67093
+ },
67094
+ {
67095
+ "type": "object",
67096
+ "properties": {
67097
+ "by": {
67098
+ "const": "ref",
67099
+ "type": "string"
67100
+ },
67101
+ "ref": {
67102
+ "type": "string"
67103
+ },
67104
+ "within": {
67105
+ "$ref": "#/$defs/BlockNodeAddress"
67106
+ }
67107
+ },
67108
+ "additionalProperties": false,
67109
+ "required": [
67110
+ "by",
67111
+ "ref"
67112
+ ]
67113
+ },
67114
+ {
67115
+ "type": "object",
67116
+ "properties": {
67117
+ "by": {
67118
+ "const": "target",
67119
+ "type": "string"
67120
+ },
67121
+ "target": {
67122
+ "$ref": "#/$defs/SelectionTarget"
67123
+ }
67124
+ },
67125
+ "additionalProperties": false,
67126
+ "required": [
67127
+ "by",
67128
+ "target"
67129
+ ]
67130
+ },
67131
+ {
67132
+ "type": "object",
67133
+ "properties": {
67134
+ "by": {
67135
+ "const": "block",
67136
+ "type": "string"
67137
+ },
67138
+ "nodeType": {
67139
+ "enum": [
67140
+ "paragraph",
67141
+ "heading",
67142
+ "listItem",
67143
+ "table",
67144
+ "tableRow",
67145
+ "tableCell",
67146
+ "tableOfContents",
67147
+ "image",
67148
+ "sdt"
67149
+ ]
67150
+ },
67151
+ "nodeId": {
67152
+ "type": "string"
67153
+ }
67154
+ },
67155
+ "additionalProperties": false,
67156
+ "required": [
67157
+ "by",
67158
+ "nodeType",
67159
+ "nodeId"
67160
+ ]
67161
+ }
67162
+ ]
67163
+ },
67164
+ "args": {
67165
+ "type": "object",
67166
+ "properties": {
67167
+ "position": {
67168
+ "enum": [
67169
+ "before",
67170
+ "after"
67171
+ ]
67172
+ },
67173
+ "content": {
67174
+ "type": "object",
67175
+ "properties": {
67176
+ "text": {
67177
+ "type": "string"
67178
+ }
67179
+ },
67180
+ "additionalProperties": false,
67181
+ "required": [
67182
+ "text"
67183
+ ]
67184
+ },
67185
+ "style": {
67186
+ "type": "object",
67187
+ "properties": {
67188
+ "inline": {
67189
+ "type": "object",
67190
+ "properties": {
67191
+ "mode": {
67192
+ "enum": [
67193
+ "inherit",
67194
+ "set",
67195
+ "clear"
67196
+ ],
67197
+ "type": "string"
67198
+ },
67199
+ "setMarks": {
67200
+ "type": "object",
67201
+ "properties": {
67202
+ "bold": {
67203
+ "enum": [
67204
+ "on",
67205
+ "off",
67206
+ "clear"
67207
+ ]
67208
+ },
67209
+ "italic": {
67210
+ "enum": [
67211
+ "on",
67212
+ "off",
67213
+ "clear"
67214
+ ]
67215
+ },
67216
+ "underline": {
67217
+ "enum": [
67218
+ "on",
67219
+ "off",
67220
+ "clear"
67221
+ ]
67222
+ },
67223
+ "strike": {
67224
+ "enum": [
67225
+ "on",
67226
+ "off",
67227
+ "clear"
67228
+ ]
67229
+ }
67230
+ },
67231
+ "additionalProperties": false
67232
+ }
67233
+ },
67234
+ "additionalProperties": false,
67235
+ "required": [
67236
+ "mode"
67237
+ ]
67238
+ }
67239
+ },
67240
+ "additionalProperties": false,
67241
+ "required": [
67242
+ "inline"
67243
+ ]
67244
+ }
67245
+ },
67246
+ "additionalProperties": false,
67247
+ "required": [
67248
+ "position",
67249
+ "content"
67250
+ ]
67251
+ }
67252
+ },
67253
+ "additionalProperties": false,
67254
+ "required": [
67255
+ "id",
67256
+ "op",
67257
+ "where",
67258
+ "args"
67259
+ ]
67260
+ },
67261
+ {
67262
+ "type": "object",
67263
+ "properties": {
67264
+ "id": {
67265
+ "type": "string"
67266
+ },
67267
+ "op": {
67268
+ "const": "text.delete",
67269
+ "type": "string"
67270
+ },
66672
67271
  "where": {
66673
67272
  "oneOf": [
66674
67273
  {
@@ -66812,6 +67411,37 @@ export const CONTRACT = {
66812
67411
  "by",
66813
67412
  "target"
66814
67413
  ]
67414
+ },
67415
+ {
67416
+ "type": "object",
67417
+ "properties": {
67418
+ "by": {
67419
+ "const": "block",
67420
+ "type": "string"
67421
+ },
67422
+ "nodeType": {
67423
+ "enum": [
67424
+ "paragraph",
67425
+ "heading",
67426
+ "listItem",
67427
+ "table",
67428
+ "tableRow",
67429
+ "tableCell",
67430
+ "tableOfContents",
67431
+ "image",
67432
+ "sdt"
67433
+ ]
67434
+ },
67435
+ "nodeId": {
67436
+ "type": "string"
67437
+ }
67438
+ },
67439
+ "additionalProperties": false,
67440
+ "required": [
67441
+ "by",
67442
+ "nodeType",
67443
+ "nodeId"
67444
+ ]
66815
67445
  }
66816
67446
  ]
66817
67447
  },
@@ -66986,6 +67616,37 @@ export const CONTRACT = {
66986
67616
  "by",
66987
67617
  "target"
66988
67618
  ]
67619
+ },
67620
+ {
67621
+ "type": "object",
67622
+ "properties": {
67623
+ "by": {
67624
+ "const": "block",
67625
+ "type": "string"
67626
+ },
67627
+ "nodeType": {
67628
+ "enum": [
67629
+ "paragraph",
67630
+ "heading",
67631
+ "listItem",
67632
+ "table",
67633
+ "tableRow",
67634
+ "tableCell",
67635
+ "tableOfContents",
67636
+ "image",
67637
+ "sdt"
67638
+ ]
67639
+ },
67640
+ "nodeId": {
67641
+ "type": "string"
67642
+ }
67643
+ },
67644
+ "additionalProperties": false,
67645
+ "required": [
67646
+ "by",
67647
+ "nodeType",
67648
+ "nodeId"
67649
+ ]
66989
67650
  }
66990
67651
  ]
66991
67652
  },
@@ -67800,12 +68461,28 @@ export const CONTRACT = {
67800
68461
  },
67801
68462
  "additionalProperties": false,
67802
68463
  "minProperties": 1
68464
+ },
68465
+ "alignment": {
68466
+ "type": "string",
68467
+ "enum": [
68468
+ "left",
68469
+ "center",
68470
+ "right",
68471
+ "justify"
68472
+ ],
68473
+ "description": "Set paragraph alignment on the target block(s). Can be combined with inline formatting in the same step."
68474
+ },
68475
+ "scope": {
68476
+ "type": "string",
68477
+ "enum": [
68478
+ "match",
68479
+ "block"
68480
+ ],
68481
+ "description": "When \"block\", inline formatting expands to cover the entire parent paragraph(s), not just the matched text. Use \"block\" after markdown inserts to format whole paragraphs with a short identifying pattern. Default: \"match\"."
67803
68482
  }
67804
68483
  },
67805
68484
  "additionalProperties": false,
67806
- "required": [
67807
- "inline"
67808
- ]
68485
+ "minProperties": 1
67809
68486
  }
67810
68487
  },
67811
68488
  "additionalProperties": false,
@@ -68698,6 +69375,53 @@ export const CONTRACT = {
68698
69375
  "by",
68699
69376
  "target"
68700
69377
  ]
69378
+ },
69379
+ {
69380
+ "type": "object",
69381
+ "properties": {
69382
+ "by": {
69383
+ "const": "block"
69384
+ },
69385
+ "nodeType": {
69386
+ "oneOf": [
69387
+ {
69388
+ "const": "paragraph"
69389
+ },
69390
+ {
69391
+ "const": "heading"
69392
+ },
69393
+ {
69394
+ "const": "listItem"
69395
+ },
69396
+ {
69397
+ "const": "table"
69398
+ },
69399
+ {
69400
+ "const": "tableRow"
69401
+ },
69402
+ {
69403
+ "const": "tableCell"
69404
+ },
69405
+ {
69406
+ "const": "tableOfContents"
69407
+ },
69408
+ {
69409
+ "const": "image"
69410
+ },
69411
+ {
69412
+ "const": "sdt"
69413
+ }
69414
+ ]
69415
+ },
69416
+ "nodeId": {
69417
+ "type": "string"
69418
+ }
69419
+ },
69420
+ "required": [
69421
+ "by",
69422
+ "nodeType",
69423
+ "nodeId"
69424
+ ]
68701
69425
  }
68702
69426
  ]
68703
69427
  },
@@ -68893,51 +69617,221 @@ export const CONTRACT = {
68893
69617
  "const": "text.insert"
68894
69618
  },
68895
69619
  "where": {
68896
- "type": "object",
68897
- "properties": {
68898
- "by": {
68899
- "const": "select"
68900
- },
68901
- "select": {
68902
- "oneOf": [
68903
- {
69620
+ "oneOf": [
69621
+ {
69622
+ "type": "object",
69623
+ "properties": {
69624
+ "by": {
69625
+ "const": "select"
69626
+ },
69627
+ "select": {
69628
+ "oneOf": [
69629
+ {
69630
+ "type": "object",
69631
+ "properties": {
69632
+ "type": {
69633
+ "const": "text",
69634
+ "description": "Must be 'text' for text pattern search."
69635
+ },
69636
+ "pattern": {
69637
+ "type": "string",
69638
+ "description": "Text or regex pattern to match."
69639
+ },
69640
+ "mode": {
69641
+ "oneOf": [
69642
+ {
69643
+ "const": "contains"
69644
+ },
69645
+ {
69646
+ "const": "regex"
69647
+ }
69648
+ ],
69649
+ "description": "Match mode: 'contains' (substring) or 'regex'."
69650
+ },
69651
+ "caseSensitive": {
69652
+ "type": "boolean",
69653
+ "description": "Case-sensitive matching. Default: false."
69654
+ }
69655
+ },
69656
+ "required": [
69657
+ "type",
69658
+ "pattern"
69659
+ ]
69660
+ },
69661
+ {
69662
+ "type": "object",
69663
+ "properties": {
69664
+ "type": {
69665
+ "const": "node",
69666
+ "description": "Must be 'node' for node type search."
69667
+ },
69668
+ "nodeType": {
69669
+ "oneOf": [
69670
+ {
69671
+ "const": "paragraph"
69672
+ },
69673
+ {
69674
+ "const": "heading"
69675
+ },
69676
+ {
69677
+ "const": "listItem"
69678
+ },
69679
+ {
69680
+ "const": "table"
69681
+ },
69682
+ {
69683
+ "const": "tableRow"
69684
+ },
69685
+ {
69686
+ "const": "tableCell"
69687
+ },
69688
+ {
69689
+ "const": "tableOfContents"
69690
+ },
69691
+ {
69692
+ "const": "image"
69693
+ },
69694
+ {
69695
+ "const": "sdt"
69696
+ },
69697
+ {
69698
+ "const": "run"
69699
+ },
69700
+ {
69701
+ "const": "bookmark"
69702
+ },
69703
+ {
69704
+ "const": "comment"
69705
+ },
69706
+ {
69707
+ "const": "hyperlink"
69708
+ },
69709
+ {
69710
+ "const": "footnoteRef"
69711
+ },
69712
+ {
69713
+ "const": "endnoteRef"
69714
+ },
69715
+ {
69716
+ "const": "crossRef"
69717
+ },
69718
+ {
69719
+ "const": "indexEntry"
69720
+ },
69721
+ {
69722
+ "const": "citation"
69723
+ },
69724
+ {
69725
+ "const": "authorityEntry"
69726
+ },
69727
+ {
69728
+ "const": "sequenceField"
69729
+ },
69730
+ {
69731
+ "const": "tab"
69732
+ },
69733
+ {
69734
+ "const": "lineBreak"
69735
+ }
69736
+ ],
69737
+ "description": "Block type to match (paragraph, heading, table, listItem, etc.)."
69738
+ },
69739
+ "kind": {
69740
+ "oneOf": [
69741
+ {
69742
+ "const": "block"
69743
+ },
69744
+ {
69745
+ "const": "inline"
69746
+ }
69747
+ ],
69748
+ "description": "Filter: 'block' or 'inline'."
69749
+ }
69750
+ },
69751
+ "required": [
69752
+ "type"
69753
+ ]
69754
+ }
69755
+ ]
69756
+ },
69757
+ "within": {
68904
69758
  "type": "object",
68905
69759
  "properties": {
68906
- "type": {
68907
- "const": "text",
68908
- "description": "Must be 'text' for text pattern search."
68909
- },
68910
- "pattern": {
68911
- "type": "string",
68912
- "description": "Text or regex pattern to match."
69760
+ "kind": {
69761
+ "const": "block"
68913
69762
  },
68914
- "mode": {
69763
+ "nodeType": {
68915
69764
  "oneOf": [
68916
69765
  {
68917
- "const": "contains"
69766
+ "const": "paragraph"
68918
69767
  },
68919
69768
  {
68920
- "const": "regex"
69769
+ "const": "heading"
69770
+ },
69771
+ {
69772
+ "const": "listItem"
69773
+ },
69774
+ {
69775
+ "const": "table"
69776
+ },
69777
+ {
69778
+ "const": "tableRow"
69779
+ },
69780
+ {
69781
+ "const": "tableCell"
69782
+ },
69783
+ {
69784
+ "const": "tableOfContents"
69785
+ },
69786
+ {
69787
+ "const": "image"
69788
+ },
69789
+ {
69790
+ "const": "sdt"
68921
69791
  }
68922
- ],
68923
- "description": "Match mode: 'contains' (substring) or 'regex'."
69792
+ ]
68924
69793
  },
68925
- "caseSensitive": {
68926
- "type": "boolean",
68927
- "description": "Case-sensitive matching. Default: false."
69794
+ "nodeId": {
69795
+ "type": "string"
68928
69796
  }
68929
69797
  },
68930
69798
  "required": [
68931
- "type",
68932
- "pattern"
69799
+ "kind",
69800
+ "nodeType",
69801
+ "nodeId"
68933
69802
  ]
68934
69803
  },
68935
- {
69804
+ "require": {
69805
+ "oneOf": [
69806
+ {
69807
+ "const": "first"
69808
+ },
69809
+ {
69810
+ "const": "exactlyOne"
69811
+ }
69812
+ ]
69813
+ }
69814
+ },
69815
+ "required": [
69816
+ "by",
69817
+ "select",
69818
+ "require"
69819
+ ]
69820
+ },
69821
+ {
69822
+ "type": "object",
69823
+ "properties": {
69824
+ "by": {
69825
+ "const": "ref"
69826
+ },
69827
+ "ref": {
69828
+ "type": "string"
69829
+ },
69830
+ "within": {
68936
69831
  "type": "object",
68937
69832
  "properties": {
68938
- "type": {
68939
- "const": "node",
68940
- "description": "Must be 'node' for node type search."
69833
+ "kind": {
69834
+ "const": "block"
68941
69835
  },
68942
69836
  "nodeType": {
68943
69837
  "oneOf": [
@@ -68967,71 +69861,224 @@ export const CONTRACT = {
68967
69861
  },
68968
69862
  {
68969
69863
  "const": "sdt"
68970
- },
68971
- {
68972
- "const": "run"
68973
- },
68974
- {
68975
- "const": "bookmark"
68976
- },
68977
- {
68978
- "const": "comment"
68979
- },
68980
- {
68981
- "const": "hyperlink"
68982
- },
68983
- {
68984
- "const": "footnoteRef"
68985
- },
68986
- {
68987
- "const": "endnoteRef"
68988
- },
68989
- {
68990
- "const": "crossRef"
68991
- },
68992
- {
68993
- "const": "indexEntry"
68994
- },
68995
- {
68996
- "const": "citation"
68997
- },
68998
- {
68999
- "const": "authorityEntry"
69000
- },
69001
- {
69002
- "const": "sequenceField"
69003
- },
69864
+ }
69865
+ ]
69866
+ },
69867
+ "nodeId": {
69868
+ "type": "string"
69869
+ }
69870
+ },
69871
+ "required": [
69872
+ "kind",
69873
+ "nodeType",
69874
+ "nodeId"
69875
+ ]
69876
+ }
69877
+ },
69878
+ "required": [
69879
+ "by",
69880
+ "ref"
69881
+ ]
69882
+ },
69883
+ {
69884
+ "type": "object",
69885
+ "properties": {
69886
+ "by": {
69887
+ "const": "target"
69888
+ },
69889
+ "target": {
69890
+ "type": "object",
69891
+ "properties": {
69892
+ "kind": {
69893
+ "const": "selection"
69894
+ },
69895
+ "start": {
69896
+ "oneOf": [
69004
69897
  {
69005
- "const": "tab"
69898
+ "type": "object",
69899
+ "properties": {
69900
+ "kind": {
69901
+ "const": "text"
69902
+ },
69903
+ "blockId": {
69904
+ "type": "string"
69905
+ },
69906
+ "offset": {
69907
+ "type": "number"
69908
+ }
69909
+ },
69910
+ "required": [
69911
+ "kind",
69912
+ "blockId",
69913
+ "offset"
69914
+ ]
69006
69915
  },
69007
69916
  {
69008
- "const": "lineBreak"
69917
+ "type": "object",
69918
+ "properties": {
69919
+ "kind": {
69920
+ "const": "nodeEdge"
69921
+ },
69922
+ "node": {
69923
+ "type": "object",
69924
+ "properties": {
69925
+ "kind": {
69926
+ "const": "block"
69927
+ },
69928
+ "nodeType": {
69929
+ "oneOf": [
69930
+ {
69931
+ "const": "paragraph"
69932
+ },
69933
+ {
69934
+ "const": "heading"
69935
+ },
69936
+ {
69937
+ "const": "table"
69938
+ },
69939
+ {
69940
+ "const": "tableOfContents"
69941
+ },
69942
+ {
69943
+ "const": "sdt"
69944
+ },
69945
+ {
69946
+ "const": "image"
69947
+ }
69948
+ ]
69949
+ },
69950
+ "nodeId": {
69951
+ "type": "string"
69952
+ }
69953
+ },
69954
+ "required": [
69955
+ "kind",
69956
+ "nodeType",
69957
+ "nodeId"
69958
+ ]
69959
+ },
69960
+ "edge": {
69961
+ "oneOf": [
69962
+ {
69963
+ "const": "before"
69964
+ },
69965
+ {
69966
+ "const": "after"
69967
+ }
69968
+ ]
69969
+ }
69970
+ },
69971
+ "required": [
69972
+ "kind",
69973
+ "node",
69974
+ "edge"
69975
+ ]
69009
69976
  }
69010
69977
  ],
69011
- "description": "Block type to match (paragraph, heading, table, listItem, etc.)."
69978
+ "description": "A point in the document. Use {kind:'text', blockId, offset} for character positions or {kind:'nodeEdge', node:{kind:'block', nodeType, nodeId}, edge:'before'|'after'} for block boundaries."
69012
69979
  },
69013
- "kind": {
69980
+ "end": {
69014
69981
  "oneOf": [
69015
69982
  {
69016
- "const": "block"
69983
+ "type": "object",
69984
+ "properties": {
69985
+ "kind": {
69986
+ "const": "text"
69987
+ },
69988
+ "blockId": {
69989
+ "type": "string"
69990
+ },
69991
+ "offset": {
69992
+ "type": "number"
69993
+ }
69994
+ },
69995
+ "required": [
69996
+ "kind",
69997
+ "blockId",
69998
+ "offset"
69999
+ ]
69017
70000
  },
69018
70001
  {
69019
- "const": "inline"
70002
+ "type": "object",
70003
+ "properties": {
70004
+ "kind": {
70005
+ "const": "nodeEdge"
70006
+ },
70007
+ "node": {
70008
+ "type": "object",
70009
+ "properties": {
70010
+ "kind": {
70011
+ "const": "block"
70012
+ },
70013
+ "nodeType": {
70014
+ "oneOf": [
70015
+ {
70016
+ "const": "paragraph"
70017
+ },
70018
+ {
70019
+ "const": "heading"
70020
+ },
70021
+ {
70022
+ "const": "table"
70023
+ },
70024
+ {
70025
+ "const": "tableOfContents"
70026
+ },
70027
+ {
70028
+ "const": "sdt"
70029
+ },
70030
+ {
70031
+ "const": "image"
70032
+ }
70033
+ ]
70034
+ },
70035
+ "nodeId": {
70036
+ "type": "string"
70037
+ }
70038
+ },
70039
+ "required": [
70040
+ "kind",
70041
+ "nodeType",
70042
+ "nodeId"
70043
+ ]
70044
+ },
70045
+ "edge": {
70046
+ "oneOf": [
70047
+ {
70048
+ "const": "before"
70049
+ },
70050
+ {
70051
+ "const": "after"
70052
+ }
70053
+ ]
70054
+ }
70055
+ },
70056
+ "required": [
70057
+ "kind",
70058
+ "node",
70059
+ "edge"
70060
+ ]
69020
70061
  }
69021
70062
  ],
69022
- "description": "Filter: 'block' or 'inline'."
70063
+ "description": "A point in the document. Use {kind:'text', blockId, offset} for character positions or {kind:'nodeEdge', node:{kind:'block', nodeType, nodeId}, edge:'before'|'after'} for block boundaries."
69023
70064
  }
69024
70065
  },
69025
70066
  "required": [
69026
- "type"
70067
+ "kind",
70068
+ "start",
70069
+ "end"
69027
70070
  ]
69028
70071
  }
70072
+ },
70073
+ "required": [
70074
+ "by",
70075
+ "target"
69029
70076
  ]
69030
70077
  },
69031
- "within": {
70078
+ {
69032
70079
  "type": "object",
69033
70080
  "properties": {
69034
- "kind": {
70081
+ "by": {
69035
70082
  "const": "block"
69036
70083
  },
69037
70084
  "nodeType": {
@@ -69070,26 +70117,11 @@ export const CONTRACT = {
69070
70117
  }
69071
70118
  },
69072
70119
  "required": [
69073
- "kind",
70120
+ "by",
69074
70121
  "nodeType",
69075
70122
  "nodeId"
69076
70123
  ]
69077
- },
69078
- "require": {
69079
- "oneOf": [
69080
- {
69081
- "const": "first"
69082
- },
69083
- {
69084
- "const": "exactlyOne"
69085
- }
69086
- ]
69087
70124
  }
69088
- },
69089
- "required": [
69090
- "by",
69091
- "select",
69092
- "require"
69093
70125
  ]
69094
70126
  },
69095
70127
  "args": {
@@ -69686,6 +70718,53 @@ export const CONTRACT = {
69686
70718
  "by",
69687
70719
  "target"
69688
70720
  ]
70721
+ },
70722
+ {
70723
+ "type": "object",
70724
+ "properties": {
70725
+ "by": {
70726
+ "const": "block"
70727
+ },
70728
+ "nodeType": {
70729
+ "oneOf": [
70730
+ {
70731
+ "const": "paragraph"
70732
+ },
70733
+ {
70734
+ "const": "heading"
70735
+ },
70736
+ {
70737
+ "const": "listItem"
70738
+ },
70739
+ {
70740
+ "const": "table"
70741
+ },
70742
+ {
70743
+ "const": "tableRow"
70744
+ },
70745
+ {
70746
+ "const": "tableCell"
70747
+ },
70748
+ {
70749
+ "const": "tableOfContents"
70750
+ },
70751
+ {
70752
+ "const": "image"
70753
+ },
70754
+ {
70755
+ "const": "sdt"
70756
+ }
70757
+ ]
70758
+ },
70759
+ "nodeId": {
70760
+ "type": "string"
70761
+ }
70762
+ },
70763
+ "required": [
70764
+ "by",
70765
+ "nodeType",
70766
+ "nodeId"
70767
+ ]
69689
70768
  }
69690
70769
  ]
69691
70770
  },
@@ -70182,6 +71261,53 @@ export const CONTRACT = {
70182
71261
  "by",
70183
71262
  "target"
70184
71263
  ]
71264
+ },
71265
+ {
71266
+ "type": "object",
71267
+ "properties": {
71268
+ "by": {
71269
+ "const": "block"
71270
+ },
71271
+ "nodeType": {
71272
+ "oneOf": [
71273
+ {
71274
+ "const": "paragraph"
71275
+ },
71276
+ {
71277
+ "const": "heading"
71278
+ },
71279
+ {
71280
+ "const": "listItem"
71281
+ },
71282
+ {
71283
+ "const": "table"
71284
+ },
71285
+ {
71286
+ "const": "tableRow"
71287
+ },
71288
+ {
71289
+ "const": "tableCell"
71290
+ },
71291
+ {
71292
+ "const": "tableOfContents"
71293
+ },
71294
+ {
71295
+ "const": "image"
71296
+ },
71297
+ {
71298
+ "const": "sdt"
71299
+ }
71300
+ ]
71301
+ },
71302
+ "nodeId": {
71303
+ "type": "string"
71304
+ }
71305
+ },
71306
+ "required": [
71307
+ "by",
71308
+ "nodeType",
71309
+ "nodeId"
71310
+ ]
70185
71311
  }
70186
71312
  ]
70187
71313
  },
@@ -70953,11 +72079,36 @@ export const CONTRACT = {
70953
72079
  ]
70954
72080
  }
70955
72081
  }
72082
+ },
72083
+ "alignment": {
72084
+ "oneOf": [
72085
+ {
72086
+ "const": "left"
72087
+ },
72088
+ {
72089
+ "const": "center"
72090
+ },
72091
+ {
72092
+ "const": "right"
72093
+ },
72094
+ {
72095
+ "const": "justify"
72096
+ }
72097
+ ],
72098
+ "description": "Set paragraph alignment on the target block(s). Can be combined with inline formatting in the same step."
72099
+ },
72100
+ "scope": {
72101
+ "oneOf": [
72102
+ {
72103
+ "const": "match"
72104
+ },
72105
+ {
72106
+ "const": "block"
72107
+ }
72108
+ ],
72109
+ "description": "When \"block\", inline formatting expands to cover the entire parent paragraph(s), not just the matched text. Use \"block\" after markdown inserts to format whole paragraphs with a short identifying pattern. Default: \"match\"."
70956
72110
  }
70957
- },
70958
- "required": [
70959
- "inline"
70960
- ]
72111
+ }
70961
72112
  }
70962
72113
  },
70963
72114
  "required": [
@@ -71375,6 +72526,37 @@ export const CONTRACT = {
71375
72526
  "by",
71376
72527
  "target"
71377
72528
  ]
72529
+ },
72530
+ {
72531
+ "type": "object",
72532
+ "properties": {
72533
+ "by": {
72534
+ "const": "block",
72535
+ "type": "string"
72536
+ },
72537
+ "nodeType": {
72538
+ "enum": [
72539
+ "paragraph",
72540
+ "heading",
72541
+ "listItem",
72542
+ "table",
72543
+ "tableRow",
72544
+ "tableCell",
72545
+ "tableOfContents",
72546
+ "image",
72547
+ "sdt"
72548
+ ]
72549
+ },
72550
+ "nodeId": {
72551
+ "type": "string"
72552
+ }
72553
+ },
72554
+ "additionalProperties": false,
72555
+ "required": [
72556
+ "by",
72557
+ "nodeType",
72558
+ "nodeId"
72559
+ ]
71378
72560
  }
71379
72561
  ]
71380
72562
  },
@@ -71536,107 +72718,179 @@ export const CONTRACT = {
71536
72718
  "type": "string"
71537
72719
  },
71538
72720
  "where": {
71539
- "type": "object",
71540
- "properties": {
71541
- "by": {
71542
- "const": "select",
71543
- "type": "string"
71544
- },
71545
- "select": {
71546
- "oneOf": [
71547
- {
71548
- "type": "object",
71549
- "properties": {
71550
- "type": {
71551
- "const": "text",
71552
- "description": "Must be 'text' for text pattern search."
71553
- },
71554
- "pattern": {
71555
- "type": "string",
71556
- "description": "Text or regex pattern to match."
71557
- },
71558
- "mode": {
71559
- "enum": [
71560
- "contains",
71561
- "regex"
71562
- ],
71563
- "description": "Match mode: 'contains' (substring) or 'regex'."
72721
+ "oneOf": [
72722
+ {
72723
+ "type": "object",
72724
+ "properties": {
72725
+ "by": {
72726
+ "const": "select",
72727
+ "type": "string"
72728
+ },
72729
+ "select": {
72730
+ "oneOf": [
72731
+ {
72732
+ "type": "object",
72733
+ "properties": {
72734
+ "type": {
72735
+ "const": "text",
72736
+ "description": "Must be 'text' for text pattern search."
72737
+ },
72738
+ "pattern": {
72739
+ "type": "string",
72740
+ "description": "Text or regex pattern to match."
72741
+ },
72742
+ "mode": {
72743
+ "enum": [
72744
+ "contains",
72745
+ "regex"
72746
+ ],
72747
+ "description": "Match mode: 'contains' (substring) or 'regex'."
72748
+ },
72749
+ "caseSensitive": {
72750
+ "type": "boolean",
72751
+ "description": "Case-sensitive matching. Default: false."
72752
+ }
72753
+ },
72754
+ "additionalProperties": false,
72755
+ "required": [
72756
+ "type",
72757
+ "pattern"
72758
+ ]
71564
72759
  },
71565
- "caseSensitive": {
71566
- "type": "boolean",
71567
- "description": "Case-sensitive matching. Default: false."
72760
+ {
72761
+ "type": "object",
72762
+ "properties": {
72763
+ "type": {
72764
+ "const": "node",
72765
+ "description": "Must be 'node' for node type search."
72766
+ },
72767
+ "nodeType": {
72768
+ "enum": [
72769
+ "paragraph",
72770
+ "heading",
72771
+ "listItem",
72772
+ "table",
72773
+ "tableRow",
72774
+ "tableCell",
72775
+ "tableOfContents",
72776
+ "image",
72777
+ "sdt",
72778
+ "run",
72779
+ "bookmark",
72780
+ "comment",
72781
+ "hyperlink",
72782
+ "footnoteRef",
72783
+ "endnoteRef",
72784
+ "crossRef",
72785
+ "indexEntry",
72786
+ "citation",
72787
+ "authorityEntry",
72788
+ "sequenceField",
72789
+ "tab",
72790
+ "lineBreak"
72791
+ ],
72792
+ "description": "Block type to match (paragraph, heading, table, listItem, etc.)."
72793
+ },
72794
+ "kind": {
72795
+ "enum": [
72796
+ "block",
72797
+ "inline"
72798
+ ],
72799
+ "description": "Filter: 'block' or 'inline'."
72800
+ }
72801
+ },
72802
+ "additionalProperties": false,
72803
+ "required": [
72804
+ "type"
72805
+ ]
71568
72806
  }
71569
- },
71570
- "additionalProperties": false,
71571
- "required": [
71572
- "type",
71573
- "pattern"
71574
72807
  ]
71575
72808
  },
71576
- {
71577
- "type": "object",
71578
- "properties": {
71579
- "type": {
71580
- "const": "node",
71581
- "description": "Must be 'node' for node type search."
71582
- },
71583
- "nodeType": {
71584
- "enum": [
71585
- "paragraph",
71586
- "heading",
71587
- "listItem",
71588
- "table",
71589
- "tableRow",
71590
- "tableCell",
71591
- "tableOfContents",
71592
- "image",
71593
- "sdt",
71594
- "run",
71595
- "bookmark",
71596
- "comment",
71597
- "hyperlink",
71598
- "footnoteRef",
71599
- "endnoteRef",
71600
- "crossRef",
71601
- "indexEntry",
71602
- "citation",
71603
- "authorityEntry",
71604
- "sequenceField",
71605
- "tab",
71606
- "lineBreak"
71607
- ],
71608
- "description": "Block type to match (paragraph, heading, table, listItem, etc.)."
71609
- },
71610
- "kind": {
71611
- "enum": [
71612
- "block",
71613
- "inline"
71614
- ],
71615
- "description": "Filter: 'block' or 'inline'."
71616
- }
71617
- },
71618
- "additionalProperties": false,
71619
- "required": [
71620
- "type"
72809
+ "within": {
72810
+ "$ref": "#/$defs/BlockNodeAddress"
72811
+ },
72812
+ "require": {
72813
+ "enum": [
72814
+ "first",
72815
+ "exactlyOne"
71621
72816
  ]
71622
72817
  }
72818
+ },
72819
+ "additionalProperties": false,
72820
+ "required": [
72821
+ "by",
72822
+ "select",
72823
+ "require"
71623
72824
  ]
71624
72825
  },
71625
- "within": {
71626
- "$ref": "#/$defs/BlockNodeAddress"
72826
+ {
72827
+ "type": "object",
72828
+ "properties": {
72829
+ "by": {
72830
+ "const": "ref",
72831
+ "type": "string"
72832
+ },
72833
+ "ref": {
72834
+ "type": "string"
72835
+ },
72836
+ "within": {
72837
+ "$ref": "#/$defs/BlockNodeAddress"
72838
+ }
72839
+ },
72840
+ "additionalProperties": false,
72841
+ "required": [
72842
+ "by",
72843
+ "ref"
72844
+ ]
71627
72845
  },
71628
- "require": {
71629
- "enum": [
71630
- "first",
71631
- "exactlyOne"
72846
+ {
72847
+ "type": "object",
72848
+ "properties": {
72849
+ "by": {
72850
+ "const": "target",
72851
+ "type": "string"
72852
+ },
72853
+ "target": {
72854
+ "$ref": "#/$defs/SelectionTarget"
72855
+ }
72856
+ },
72857
+ "additionalProperties": false,
72858
+ "required": [
72859
+ "by",
72860
+ "target"
72861
+ ]
72862
+ },
72863
+ {
72864
+ "type": "object",
72865
+ "properties": {
72866
+ "by": {
72867
+ "const": "block",
72868
+ "type": "string"
72869
+ },
72870
+ "nodeType": {
72871
+ "enum": [
72872
+ "paragraph",
72873
+ "heading",
72874
+ "listItem",
72875
+ "table",
72876
+ "tableRow",
72877
+ "tableCell",
72878
+ "tableOfContents",
72879
+ "image",
72880
+ "sdt"
72881
+ ]
72882
+ },
72883
+ "nodeId": {
72884
+ "type": "string"
72885
+ }
72886
+ },
72887
+ "additionalProperties": false,
72888
+ "required": [
72889
+ "by",
72890
+ "nodeType",
72891
+ "nodeId"
71632
72892
  ]
71633
72893
  }
71634
- },
71635
- "additionalProperties": false,
71636
- "required": [
71637
- "by",
71638
- "select",
71639
- "require"
71640
72894
  ]
71641
72895
  },
71642
72896
  "args": {
@@ -71889,6 +73143,37 @@ export const CONTRACT = {
71889
73143
  "by",
71890
73144
  "target"
71891
73145
  ]
73146
+ },
73147
+ {
73148
+ "type": "object",
73149
+ "properties": {
73150
+ "by": {
73151
+ "const": "block",
73152
+ "type": "string"
73153
+ },
73154
+ "nodeType": {
73155
+ "enum": [
73156
+ "paragraph",
73157
+ "heading",
73158
+ "listItem",
73159
+ "table",
73160
+ "tableRow",
73161
+ "tableCell",
73162
+ "tableOfContents",
73163
+ "image",
73164
+ "sdt"
73165
+ ]
73166
+ },
73167
+ "nodeId": {
73168
+ "type": "string"
73169
+ }
73170
+ },
73171
+ "additionalProperties": false,
73172
+ "required": [
73173
+ "by",
73174
+ "nodeType",
73175
+ "nodeId"
73176
+ ]
71892
73177
  }
71893
73178
  ]
71894
73179
  },
@@ -72063,6 +73348,37 @@ export const CONTRACT = {
72063
73348
  "by",
72064
73349
  "target"
72065
73350
  ]
73351
+ },
73352
+ {
73353
+ "type": "object",
73354
+ "properties": {
73355
+ "by": {
73356
+ "const": "block",
73357
+ "type": "string"
73358
+ },
73359
+ "nodeType": {
73360
+ "enum": [
73361
+ "paragraph",
73362
+ "heading",
73363
+ "listItem",
73364
+ "table",
73365
+ "tableRow",
73366
+ "tableCell",
73367
+ "tableOfContents",
73368
+ "image",
73369
+ "sdt"
73370
+ ]
73371
+ },
73372
+ "nodeId": {
73373
+ "type": "string"
73374
+ }
73375
+ },
73376
+ "additionalProperties": false,
73377
+ "required": [
73378
+ "by",
73379
+ "nodeType",
73380
+ "nodeId"
73381
+ ]
72066
73382
  }
72067
73383
  ]
72068
73384
  },
@@ -72877,12 +74193,28 @@ export const CONTRACT = {
72877
74193
  },
72878
74194
  "additionalProperties": false,
72879
74195
  "minProperties": 1
74196
+ },
74197
+ "alignment": {
74198
+ "type": "string",
74199
+ "enum": [
74200
+ "left",
74201
+ "center",
74202
+ "right",
74203
+ "justify"
74204
+ ],
74205
+ "description": "Set paragraph alignment on the target block(s). Can be combined with inline formatting in the same step."
74206
+ },
74207
+ "scope": {
74208
+ "type": "string",
74209
+ "enum": [
74210
+ "match",
74211
+ "block"
74212
+ ],
74213
+ "description": "When \"block\", inline formatting expands to cover the entire parent paragraph(s), not just the matched text. Use \"block\" after markdown inserts to format whole paragraphs with a short identifying pattern. Default: \"match\"."
72880
74214
  }
72881
74215
  },
72882
74216
  "additionalProperties": false,
72883
- "required": [
72884
- "inline"
72885
- ]
74217
+ "minProperties": 1
72886
74218
  }
72887
74219
  },
72888
74220
  "additionalProperties": false,
@@ -115401,6 +116733,195 @@ export const CONTRACT = {
115401
116733
  ]
115402
116734
  }
115403
116735
  },
116736
+ {
116737
+ "name": "at",
116738
+ "kind": "jsonFlag",
116739
+ "type": "json",
116740
+ "flag": "at-json",
116741
+ "schema": {
116742
+ "type": "object",
116743
+ "properties": {
116744
+ "kind": {
116745
+ "const": "selection"
116746
+ },
116747
+ "start": {
116748
+ "oneOf": [
116749
+ {
116750
+ "type": "object",
116751
+ "properties": {
116752
+ "kind": {
116753
+ "const": "text"
116754
+ },
116755
+ "blockId": {
116756
+ "type": "string"
116757
+ },
116758
+ "offset": {
116759
+ "type": "number"
116760
+ }
116761
+ },
116762
+ "required": [
116763
+ "kind",
116764
+ "blockId",
116765
+ "offset"
116766
+ ]
116767
+ },
116768
+ {
116769
+ "type": "object",
116770
+ "properties": {
116771
+ "kind": {
116772
+ "const": "nodeEdge"
116773
+ },
116774
+ "node": {
116775
+ "type": "object",
116776
+ "properties": {
116777
+ "kind": {
116778
+ "const": "block"
116779
+ },
116780
+ "nodeType": {
116781
+ "oneOf": [
116782
+ {
116783
+ "const": "paragraph"
116784
+ },
116785
+ {
116786
+ "const": "heading"
116787
+ },
116788
+ {
116789
+ "const": "table"
116790
+ },
116791
+ {
116792
+ "const": "tableOfContents"
116793
+ },
116794
+ {
116795
+ "const": "sdt"
116796
+ },
116797
+ {
116798
+ "const": "image"
116799
+ }
116800
+ ]
116801
+ },
116802
+ "nodeId": {
116803
+ "type": "string"
116804
+ }
116805
+ },
116806
+ "required": [
116807
+ "kind",
116808
+ "nodeType",
116809
+ "nodeId"
116810
+ ]
116811
+ },
116812
+ "edge": {
116813
+ "oneOf": [
116814
+ {
116815
+ "const": "before"
116816
+ },
116817
+ {
116818
+ "const": "after"
116819
+ }
116820
+ ]
116821
+ }
116822
+ },
116823
+ "required": [
116824
+ "kind",
116825
+ "node",
116826
+ "edge"
116827
+ ]
116828
+ }
116829
+ ],
116830
+ "description": "A point in the document. Use {kind:'text', blockId, offset} for character positions or {kind:'nodeEdge', node:{kind:'block', nodeType, nodeId}, edge:'before'|'after'} for block boundaries."
116831
+ },
116832
+ "end": {
116833
+ "oneOf": [
116834
+ {
116835
+ "type": "object",
116836
+ "properties": {
116837
+ "kind": {
116838
+ "const": "text"
116839
+ },
116840
+ "blockId": {
116841
+ "type": "string"
116842
+ },
116843
+ "offset": {
116844
+ "type": "number"
116845
+ }
116846
+ },
116847
+ "required": [
116848
+ "kind",
116849
+ "blockId",
116850
+ "offset"
116851
+ ]
116852
+ },
116853
+ {
116854
+ "type": "object",
116855
+ "properties": {
116856
+ "kind": {
116857
+ "const": "nodeEdge"
116858
+ },
116859
+ "node": {
116860
+ "type": "object",
116861
+ "properties": {
116862
+ "kind": {
116863
+ "const": "block"
116864
+ },
116865
+ "nodeType": {
116866
+ "oneOf": [
116867
+ {
116868
+ "const": "paragraph"
116869
+ },
116870
+ {
116871
+ "const": "heading"
116872
+ },
116873
+ {
116874
+ "const": "table"
116875
+ },
116876
+ {
116877
+ "const": "tableOfContents"
116878
+ },
116879
+ {
116880
+ "const": "sdt"
116881
+ },
116882
+ {
116883
+ "const": "image"
116884
+ }
116885
+ ]
116886
+ },
116887
+ "nodeId": {
116888
+ "type": "string"
116889
+ }
116890
+ },
116891
+ "required": [
116892
+ "kind",
116893
+ "nodeType",
116894
+ "nodeId"
116895
+ ]
116896
+ },
116897
+ "edge": {
116898
+ "oneOf": [
116899
+ {
116900
+ "const": "before"
116901
+ },
116902
+ {
116903
+ "const": "after"
116904
+ }
116905
+ ]
116906
+ }
116907
+ },
116908
+ "required": [
116909
+ "kind",
116910
+ "node",
116911
+ "edge"
116912
+ ]
116913
+ }
116914
+ ],
116915
+ "description": "A point in the document. Use {kind:'text', blockId, offset} for character positions or {kind:'nodeEdge', node:{kind:'block', nodeType, nodeId}, edge:'before'|'after'} for block boundaries."
116916
+ }
116917
+ },
116918
+ "required": [
116919
+ "kind",
116920
+ "start",
116921
+ "end"
116922
+ ]
116923
+ }
116924
+ },
115404
116925
  {
115405
116926
  "name": "tag",
115406
116927
  "kind": "flag",
@@ -115479,6 +117000,9 @@ export const CONTRACT = {
115479
117000
  "nodeId"
115480
117001
  ]
115481
117002
  },
117003
+ "at": {
117004
+ "$ref": "#/$defs/SelectionTarget"
117005
+ },
115482
117006
  "tag": {
115483
117007
  "type": "string"
115484
117008
  },
@@ -147032,6 +148556,13 @@ export const CONTRACT = {
147032
148556
  "type": "string",
147033
148557
  "description": "Environment variable name containing the auth token."
147034
148558
  },
148559
+ "params": {
148560
+ "type": "object",
148561
+ "description": "Custom query parameters appended to the WebSocket URL. Values must be strings. Reserved keys: token.",
148562
+ "additionalProperties": {
148563
+ "type": "string"
148564
+ }
148565
+ },
147035
148566
  "syncTimeoutMs": {
147036
148567
  "type": "number",
147037
148568
  "description": "Max time (ms) to wait for initial sync."
@@ -147241,6 +148772,13 @@ export const CONTRACT = {
147241
148772
  "type": "string",
147242
148773
  "description": "Environment variable name containing the auth token."
147243
148774
  },
148775
+ "params": {
148776
+ "type": "object",
148777
+ "description": "Custom query parameters appended to the WebSocket URL. Values must be strings. Reserved keys: token.",
148778
+ "additionalProperties": {
148779
+ "type": "string"
148780
+ }
148781
+ },
147244
148782
  "syncTimeoutMs": {
147245
148783
  "type": "number",
147246
148784
  "description": "Max time (ms) to wait for initial sync."