@superdoc-dev/sdk 1.0.0-alpha.1

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.
@@ -0,0 +1,3467 @@
1
+ /* eslint-disable */
2
+ // Auto-generated by packages/sdk/codegen/src/generate-node.mjs
3
+
4
+ export const CONTRACT = {
5
+ "contractVersion": "0.3.0",
6
+ "cli": {
7
+ "package": "@superdoc-dev/superdoc-cli",
8
+ "minVersion": "0.0.2",
9
+ "binaryName": "superdoc"
10
+ },
11
+ "protocol": {
12
+ "defaultOutput": "json",
13
+ "successEnvelope": [
14
+ "ok",
15
+ "command",
16
+ "data",
17
+ "meta"
18
+ ],
19
+ "errorEnvelope": [
20
+ "ok",
21
+ "error",
22
+ "meta"
23
+ ]
24
+ },
25
+ "operations": [
26
+ {
27
+ "id": "doc.open",
28
+ "command": [
29
+ "open"
30
+ ],
31
+ "description": "Open a document into a session.",
32
+ "mutates": false,
33
+ "requiresOpenContext": false,
34
+ "params": [
35
+ {
36
+ "name": "doc",
37
+ "kind": "doc",
38
+ "type": "string",
39
+ "required": true
40
+ },
41
+ {
42
+ "name": "replace",
43
+ "kind": "flag",
44
+ "flag": "replace",
45
+ "type": "boolean"
46
+ },
47
+ {
48
+ "name": "sessionId",
49
+ "kind": "flag",
50
+ "flag": "session",
51
+ "type": "string"
52
+ },
53
+ {
54
+ "name": "collaboration",
55
+ "kind": "jsonFlag",
56
+ "flag": "collaboration-json",
57
+ "type": "json"
58
+ }
59
+ ],
60
+ "response": {
61
+ "type": "object",
62
+ "properties": {
63
+ "active": {
64
+ "type": "boolean"
65
+ },
66
+ "contextId": {
67
+ "type": "string"
68
+ },
69
+ "replaced": {
70
+ "type": "boolean"
71
+ },
72
+ "document": {
73
+ "type": "object",
74
+ "properties": {
75
+ "path": {
76
+ "type": "string"
77
+ },
78
+ "source": {
79
+ "type": "string"
80
+ },
81
+ "byteLength": {
82
+ "type": "number"
83
+ },
84
+ "revision": {
85
+ "type": "number"
86
+ }
87
+ },
88
+ "required": [
89
+ "source",
90
+ "byteLength",
91
+ "revision"
92
+ ]
93
+ },
94
+ "dirty": {
95
+ "type": "boolean"
96
+ },
97
+ "sessionType": {
98
+ "type": "string"
99
+ },
100
+ "collaboration": {
101
+ "type": "object",
102
+ "properties": {
103
+ "providerType": {
104
+ "type": "string"
105
+ },
106
+ "url": {
107
+ "type": "string"
108
+ },
109
+ "documentId": {
110
+ "type": "string"
111
+ },
112
+ "tokenEnv": {
113
+ "type": "string"
114
+ },
115
+ "syncTimeoutMs": {
116
+ "type": "number"
117
+ }
118
+ },
119
+ "required": [
120
+ "providerType",
121
+ "url",
122
+ "documentId"
123
+ ]
124
+ },
125
+ "openedAt": {
126
+ "type": "string"
127
+ },
128
+ "updatedAt": {
129
+ "type": "string"
130
+ }
131
+ },
132
+ "required": [
133
+ "active",
134
+ "contextId",
135
+ "replaced",
136
+ "document",
137
+ "dirty",
138
+ "openedAt",
139
+ "updatedAt"
140
+ ]
141
+ },
142
+ "errors": [
143
+ "ACTIVE_DOCUMENT_EXISTS",
144
+ "COLLABORATION_SYNC_TIMEOUT"
145
+ ]
146
+ },
147
+ {
148
+ "id": "doc.status",
149
+ "command": [
150
+ "status"
151
+ ],
152
+ "description": "Get session status.",
153
+ "mutates": false,
154
+ "requiresOpenContext": false,
155
+ "params": [
156
+ {
157
+ "name": "sessionId",
158
+ "kind": "flag",
159
+ "flag": "session",
160
+ "type": "string"
161
+ }
162
+ ],
163
+ "response": {
164
+ "type": "object",
165
+ "properties": {
166
+ "active": {
167
+ "type": "boolean"
168
+ },
169
+ "contextId": {
170
+ "type": "string"
171
+ },
172
+ "activeSessionId": {
173
+ "type": "string"
174
+ },
175
+ "requestedSessionId": {
176
+ "type": "string"
177
+ },
178
+ "projectRoot": {
179
+ "type": "string"
180
+ },
181
+ "document": {
182
+ "type": "object",
183
+ "properties": {
184
+ "path": {
185
+ "type": "string"
186
+ },
187
+ "source": {
188
+ "type": "string"
189
+ },
190
+ "byteLength": {
191
+ "type": "number"
192
+ },
193
+ "revision": {
194
+ "type": "number"
195
+ }
196
+ },
197
+ "required": [
198
+ "source",
199
+ "byteLength",
200
+ "revision"
201
+ ]
202
+ },
203
+ "dirty": {
204
+ "type": "boolean"
205
+ },
206
+ "sessionType": {
207
+ "type": "string"
208
+ },
209
+ "collaboration": {
210
+ "type": "object",
211
+ "properties": {
212
+ "providerType": {
213
+ "type": "string"
214
+ },
215
+ "url": {
216
+ "type": "string"
217
+ },
218
+ "documentId": {
219
+ "type": "string"
220
+ },
221
+ "tokenEnv": {
222
+ "type": "string"
223
+ },
224
+ "syncTimeoutMs": {
225
+ "type": "number"
226
+ }
227
+ },
228
+ "required": [
229
+ "providerType",
230
+ "url",
231
+ "documentId"
232
+ ]
233
+ },
234
+ "openedAt": {
235
+ "type": "string"
236
+ },
237
+ "updatedAt": {
238
+ "type": "string"
239
+ },
240
+ "lastSavedAt": {
241
+ "type": "string"
242
+ }
243
+ },
244
+ "required": [
245
+ "active"
246
+ ]
247
+ },
248
+ "errors": [
249
+ "NO_ACTIVE_DOCUMENT"
250
+ ]
251
+ },
252
+ {
253
+ "id": "doc.close",
254
+ "command": [
255
+ "close"
256
+ ],
257
+ "description": "Close a session with save/discard behavior.",
258
+ "mutates": false,
259
+ "requiresOpenContext": true,
260
+ "params": [
261
+ {
262
+ "name": "sessionId",
263
+ "kind": "flag",
264
+ "flag": "session",
265
+ "type": "string"
266
+ },
267
+ {
268
+ "name": "save",
269
+ "kind": "flag",
270
+ "flag": "save",
271
+ "type": "boolean"
272
+ },
273
+ {
274
+ "name": "inPlace",
275
+ "kind": "flag",
276
+ "flag": "in-place",
277
+ "type": "boolean"
278
+ },
279
+ {
280
+ "name": "out",
281
+ "kind": "flag",
282
+ "flag": "out",
283
+ "type": "string"
284
+ },
285
+ {
286
+ "name": "discard",
287
+ "kind": "flag",
288
+ "flag": "discard",
289
+ "type": "boolean"
290
+ },
291
+ {
292
+ "name": "force",
293
+ "kind": "flag",
294
+ "flag": "force",
295
+ "type": "boolean"
296
+ }
297
+ ],
298
+ "response": {
299
+ "type": "object",
300
+ "properties": {
301
+ "contextId": {
302
+ "type": "string"
303
+ },
304
+ "closed": {
305
+ "type": "boolean"
306
+ },
307
+ "saved": {
308
+ "type": "boolean"
309
+ },
310
+ "discarded": {
311
+ "type": "boolean"
312
+ },
313
+ "defaultSessionCleared": {
314
+ "type": "boolean"
315
+ },
316
+ "wasDirty": {
317
+ "type": "boolean"
318
+ },
319
+ "document": {
320
+ "type": "object",
321
+ "properties": {
322
+ "path": {
323
+ "type": "string"
324
+ },
325
+ "source": {
326
+ "type": "string"
327
+ },
328
+ "revision": {
329
+ "type": "number"
330
+ }
331
+ },
332
+ "required": [
333
+ "source",
334
+ "revision"
335
+ ]
336
+ },
337
+ "output": {
338
+ "type": "object",
339
+ "properties": {
340
+ "path": {
341
+ "type": "string"
342
+ },
343
+ "byteLength": {
344
+ "type": "number"
345
+ }
346
+ },
347
+ "required": [
348
+ "path",
349
+ "byteLength"
350
+ ]
351
+ }
352
+ },
353
+ "required": [
354
+ "contextId",
355
+ "closed",
356
+ "saved",
357
+ "discarded",
358
+ "defaultSessionCleared",
359
+ "wasDirty",
360
+ "document"
361
+ ]
362
+ },
363
+ "errors": [
364
+ "DIRTY_CLOSE_REQUIRES_DECISION",
365
+ "SOURCE_DRIFT_DETECTED",
366
+ "COLLABORATION_SYNC_TIMEOUT"
367
+ ]
368
+ },
369
+ {
370
+ "id": "doc.info",
371
+ "command": [
372
+ "info"
373
+ ],
374
+ "description": "Get document metadata and capability summary.",
375
+ "mutates": false,
376
+ "requiresOpenContext": false,
377
+ "params": [
378
+ {
379
+ "name": "doc",
380
+ "kind": "doc",
381
+ "type": "string"
382
+ },
383
+ {
384
+ "name": "sessionId",
385
+ "kind": "flag",
386
+ "flag": "session",
387
+ "type": "string"
388
+ }
389
+ ],
390
+ "response": {
391
+ "type": "object",
392
+ "properties": {
393
+ "document": {
394
+ "type": "object",
395
+ "properties": {
396
+ "path": {
397
+ "type": "string"
398
+ },
399
+ "source": {
400
+ "type": "string"
401
+ },
402
+ "byteLength": {
403
+ "type": "number"
404
+ },
405
+ "revision": {
406
+ "type": "number"
407
+ }
408
+ },
409
+ "required": [
410
+ "source",
411
+ "byteLength",
412
+ "revision"
413
+ ]
414
+ },
415
+ "counts": {
416
+ "type": "object",
417
+ "properties": {
418
+ "words": {
419
+ "type": "number"
420
+ },
421
+ "paragraphs": {
422
+ "type": "number"
423
+ },
424
+ "headings": {
425
+ "type": "number"
426
+ },
427
+ "tables": {
428
+ "type": "number"
429
+ },
430
+ "images": {
431
+ "type": "number"
432
+ },
433
+ "comments": {
434
+ "type": "number"
435
+ }
436
+ },
437
+ "required": [
438
+ "words",
439
+ "paragraphs",
440
+ "headings",
441
+ "tables",
442
+ "images",
443
+ "comments"
444
+ ]
445
+ },
446
+ "outline": {
447
+ "type": "array",
448
+ "items": {
449
+ "type": "object",
450
+ "properties": {
451
+ "level": {
452
+ "type": "number"
453
+ },
454
+ "text": {
455
+ "type": "string"
456
+ },
457
+ "nodeId": {
458
+ "type": "string"
459
+ }
460
+ },
461
+ "required": [
462
+ "level",
463
+ "text",
464
+ "nodeId"
465
+ ]
466
+ }
467
+ },
468
+ "capabilities": {
469
+ "type": "object",
470
+ "properties": {
471
+ "canFind": {
472
+ "type": "boolean"
473
+ },
474
+ "canGetNode": {
475
+ "type": "boolean"
476
+ },
477
+ "canComment": {
478
+ "type": "boolean"
479
+ },
480
+ "canReplace": {
481
+ "type": "boolean"
482
+ }
483
+ },
484
+ "required": [
485
+ "canFind",
486
+ "canGetNode",
487
+ "canComment",
488
+ "canReplace"
489
+ ]
490
+ }
491
+ },
492
+ "required": [
493
+ "document",
494
+ "counts",
495
+ "outline",
496
+ "capabilities"
497
+ ]
498
+ },
499
+ "errors": [
500
+ "NO_ACTIVE_DOCUMENT",
501
+ "COLLABORATION_SYNC_TIMEOUT"
502
+ ]
503
+ },
504
+ {
505
+ "id": "doc.find",
506
+ "command": [
507
+ "find"
508
+ ],
509
+ "description": "Find content using flat flags or query payload. Flat flags are CLI sugar over the canonical query object.",
510
+ "mutates": false,
511
+ "requiresOpenContext": false,
512
+ "params": [
513
+ {
514
+ "name": "doc",
515
+ "kind": "doc",
516
+ "type": "string"
517
+ },
518
+ {
519
+ "name": "sessionId",
520
+ "kind": "flag",
521
+ "flag": "session",
522
+ "type": "string"
523
+ },
524
+ {
525
+ "name": "type",
526
+ "kind": "flag",
527
+ "flag": "type",
528
+ "type": "string"
529
+ },
530
+ {
531
+ "name": "nodeType",
532
+ "kind": "flag",
533
+ "flag": "node-type",
534
+ "type": "string"
535
+ },
536
+ {
537
+ "name": "kind",
538
+ "kind": "flag",
539
+ "flag": "kind",
540
+ "type": "string"
541
+ },
542
+ {
543
+ "name": "pattern",
544
+ "kind": "flag",
545
+ "flag": "pattern",
546
+ "type": "string"
547
+ },
548
+ {
549
+ "name": "mode",
550
+ "kind": "flag",
551
+ "flag": "mode",
552
+ "type": "string"
553
+ },
554
+ {
555
+ "name": "caseSensitive",
556
+ "kind": "flag",
557
+ "flag": "case-sensitive",
558
+ "type": "boolean"
559
+ },
560
+ {
561
+ "name": "limit",
562
+ "kind": "flag",
563
+ "flag": "limit",
564
+ "type": "number"
565
+ },
566
+ {
567
+ "name": "offset",
568
+ "kind": "flag",
569
+ "flag": "offset",
570
+ "type": "number"
571
+ },
572
+ {
573
+ "name": "include",
574
+ "kind": "flag",
575
+ "flag": "include",
576
+ "type": "string[]"
577
+ },
578
+ {
579
+ "name": "includeUnknown",
580
+ "kind": "flag",
581
+ "flag": "include-unknown",
582
+ "type": "boolean"
583
+ },
584
+ {
585
+ "name": "query",
586
+ "kind": "jsonFlag",
587
+ "flag": "query-json",
588
+ "type": "json"
589
+ },
590
+ {
591
+ "name": "within",
592
+ "kind": "jsonFlag",
593
+ "flag": "within-json",
594
+ "type": "json"
595
+ }
596
+ ],
597
+ "response": {
598
+ "type": "object",
599
+ "properties": {
600
+ "document": {
601
+ "type": "object",
602
+ "properties": {
603
+ "path": {
604
+ "type": "string"
605
+ },
606
+ "source": {
607
+ "type": "string"
608
+ },
609
+ "byteLength": {
610
+ "type": "number"
611
+ },
612
+ "revision": {
613
+ "type": "number"
614
+ }
615
+ },
616
+ "required": [
617
+ "source",
618
+ "byteLength",
619
+ "revision"
620
+ ]
621
+ },
622
+ "query": {
623
+ "type": "json"
624
+ },
625
+ "result": {
626
+ "type": "json"
627
+ }
628
+ },
629
+ "required": [
630
+ "document",
631
+ "query",
632
+ "result"
633
+ ]
634
+ },
635
+ "errors": [
636
+ "VALIDATION_ERROR",
637
+ "NO_ACTIVE_DOCUMENT",
638
+ "COLLABORATION_SYNC_TIMEOUT"
639
+ ]
640
+ },
641
+ {
642
+ "id": "doc.getNode",
643
+ "command": [
644
+ "get-node"
645
+ ],
646
+ "description": "Resolve a node by address.",
647
+ "mutates": false,
648
+ "requiresOpenContext": false,
649
+ "params": [
650
+ {
651
+ "name": "doc",
652
+ "kind": "doc",
653
+ "type": "string"
654
+ },
655
+ {
656
+ "name": "sessionId",
657
+ "kind": "flag",
658
+ "flag": "session",
659
+ "type": "string"
660
+ },
661
+ {
662
+ "name": "address",
663
+ "kind": "jsonFlag",
664
+ "flag": "address-json",
665
+ "type": "json",
666
+ "required": true
667
+ }
668
+ ],
669
+ "response": {
670
+ "type": "object",
671
+ "properties": {
672
+ "document": {
673
+ "type": "object",
674
+ "properties": {
675
+ "path": {
676
+ "type": "string"
677
+ },
678
+ "source": {
679
+ "type": "string"
680
+ },
681
+ "byteLength": {
682
+ "type": "number"
683
+ },
684
+ "revision": {
685
+ "type": "number"
686
+ }
687
+ },
688
+ "required": [
689
+ "source",
690
+ "byteLength",
691
+ "revision"
692
+ ]
693
+ },
694
+ "address": {
695
+ "type": "json"
696
+ },
697
+ "node": {
698
+ "type": "json"
699
+ }
700
+ },
701
+ "required": [
702
+ "document",
703
+ "address",
704
+ "node"
705
+ ]
706
+ },
707
+ "errors": [
708
+ "TARGET_NOT_FOUND",
709
+ "NO_ACTIVE_DOCUMENT",
710
+ "COLLABORATION_SYNC_TIMEOUT"
711
+ ]
712
+ },
713
+ {
714
+ "id": "doc.getNodeById",
715
+ "command": [
716
+ "get-node-by-id"
717
+ ],
718
+ "description": "Resolve a block node by id.",
719
+ "mutates": false,
720
+ "requiresOpenContext": false,
721
+ "params": [
722
+ {
723
+ "name": "doc",
724
+ "kind": "doc",
725
+ "type": "string"
726
+ },
727
+ {
728
+ "name": "sessionId",
729
+ "kind": "flag",
730
+ "flag": "session",
731
+ "type": "string"
732
+ },
733
+ {
734
+ "name": "id",
735
+ "kind": "flag",
736
+ "flag": "id",
737
+ "type": "string",
738
+ "required": true
739
+ },
740
+ {
741
+ "name": "nodeType",
742
+ "kind": "flag",
743
+ "flag": "node-type",
744
+ "type": "string"
745
+ }
746
+ ],
747
+ "response": {
748
+ "type": "object",
749
+ "properties": {
750
+ "document": {
751
+ "type": "object",
752
+ "properties": {
753
+ "path": {
754
+ "type": "string"
755
+ },
756
+ "source": {
757
+ "type": "string"
758
+ },
759
+ "byteLength": {
760
+ "type": "number"
761
+ },
762
+ "revision": {
763
+ "type": "number"
764
+ }
765
+ },
766
+ "required": [
767
+ "source",
768
+ "byteLength",
769
+ "revision"
770
+ ]
771
+ },
772
+ "nodeId": {
773
+ "type": "string"
774
+ },
775
+ "nodeType": {
776
+ "type": "string"
777
+ },
778
+ "node": {
779
+ "type": "json"
780
+ }
781
+ },
782
+ "required": [
783
+ "document",
784
+ "nodeId",
785
+ "node"
786
+ ]
787
+ },
788
+ "errors": [
789
+ "TARGET_NOT_FOUND",
790
+ "NO_ACTIVE_DOCUMENT",
791
+ "COLLABORATION_SYNC_TIMEOUT"
792
+ ]
793
+ },
794
+ {
795
+ "id": "doc.comments.add",
796
+ "command": [
797
+ "comments",
798
+ "add"
799
+ ],
800
+ "description": "Add a comment at a target text address.",
801
+ "mutates": true,
802
+ "requiresOpenContext": false,
803
+ "params": [
804
+ {
805
+ "name": "doc",
806
+ "kind": "doc",
807
+ "type": "string"
808
+ },
809
+ {
810
+ "name": "sessionId",
811
+ "kind": "flag",
812
+ "flag": "session",
813
+ "type": "string"
814
+ },
815
+ {
816
+ "name": "target",
817
+ "kind": "jsonFlag",
818
+ "flag": "target-json",
819
+ "type": "json",
820
+ "required": true
821
+ },
822
+ {
823
+ "name": "text",
824
+ "kind": "flag",
825
+ "flag": "text",
826
+ "type": "string",
827
+ "required": true
828
+ },
829
+ {
830
+ "name": "out",
831
+ "kind": "flag",
832
+ "flag": "out",
833
+ "type": "string"
834
+ },
835
+ {
836
+ "name": "force",
837
+ "kind": "flag",
838
+ "flag": "force",
839
+ "type": "boolean"
840
+ },
841
+ {
842
+ "name": "expectedRevision",
843
+ "kind": "flag",
844
+ "flag": "expected-revision",
845
+ "type": "number"
846
+ }
847
+ ],
848
+ "response": {
849
+ "type": "object",
850
+ "properties": {
851
+ "document": {
852
+ "type": "object",
853
+ "properties": {
854
+ "path": {
855
+ "type": "string"
856
+ },
857
+ "source": {
858
+ "type": "string"
859
+ },
860
+ "byteLength": {
861
+ "type": "number"
862
+ },
863
+ "revision": {
864
+ "type": "number"
865
+ }
866
+ },
867
+ "required": [
868
+ "source",
869
+ "byteLength",
870
+ "revision"
871
+ ]
872
+ },
873
+ "target": {
874
+ "type": "json"
875
+ },
876
+ "text": {
877
+ "type": "string"
878
+ },
879
+ "receipt": {
880
+ "type": "json"
881
+ },
882
+ "context": {
883
+ "type": "object",
884
+ "properties": {
885
+ "dirty": {
886
+ "type": "boolean"
887
+ },
888
+ "revision": {
889
+ "type": "number"
890
+ }
891
+ },
892
+ "required": [
893
+ "dirty",
894
+ "revision"
895
+ ]
896
+ },
897
+ "output": {
898
+ "type": "object",
899
+ "properties": {
900
+ "path": {
901
+ "type": "string"
902
+ },
903
+ "byteLength": {
904
+ "type": "number"
905
+ }
906
+ },
907
+ "required": [
908
+ "path",
909
+ "byteLength"
910
+ ]
911
+ }
912
+ },
913
+ "required": [
914
+ "document",
915
+ "target",
916
+ "text",
917
+ "receipt"
918
+ ]
919
+ },
920
+ "errors": [
921
+ "TARGET_NOT_FOUND",
922
+ "REVISION_MISMATCH",
923
+ "NO_ACTIVE_DOCUMENT",
924
+ "COLLABORATION_SYNC_TIMEOUT"
925
+ ]
926
+ },
927
+ {
928
+ "id": "doc.comments.edit",
929
+ "command": [
930
+ "comments",
931
+ "edit"
932
+ ],
933
+ "description": "Edit the text of an existing comment.",
934
+ "mutates": true,
935
+ "requiresOpenContext": false,
936
+ "params": [
937
+ {
938
+ "name": "doc",
939
+ "kind": "doc",
940
+ "type": "string"
941
+ },
942
+ {
943
+ "name": "sessionId",
944
+ "kind": "flag",
945
+ "flag": "session",
946
+ "type": "string"
947
+ },
948
+ {
949
+ "name": "id",
950
+ "kind": "flag",
951
+ "flag": "id",
952
+ "type": "string",
953
+ "required": true
954
+ },
955
+ {
956
+ "name": "text",
957
+ "kind": "flag",
958
+ "flag": "text",
959
+ "type": "string",
960
+ "required": true
961
+ },
962
+ {
963
+ "name": "out",
964
+ "kind": "flag",
965
+ "flag": "out",
966
+ "type": "string"
967
+ },
968
+ {
969
+ "name": "force",
970
+ "kind": "flag",
971
+ "flag": "force",
972
+ "type": "boolean"
973
+ },
974
+ {
975
+ "name": "expectedRevision",
976
+ "kind": "flag",
977
+ "flag": "expected-revision",
978
+ "type": "number"
979
+ }
980
+ ],
981
+ "response": {
982
+ "type": "object",
983
+ "properties": {
984
+ "document": {
985
+ "type": "object",
986
+ "properties": {
987
+ "path": {
988
+ "type": "string"
989
+ },
990
+ "source": {
991
+ "type": "string"
992
+ },
993
+ "byteLength": {
994
+ "type": "number"
995
+ },
996
+ "revision": {
997
+ "type": "number"
998
+ }
999
+ },
1000
+ "required": [
1001
+ "source",
1002
+ "byteLength",
1003
+ "revision"
1004
+ ]
1005
+ },
1006
+ "id": {
1007
+ "type": "string"
1008
+ },
1009
+ "text": {
1010
+ "type": "string"
1011
+ },
1012
+ "receipt": {
1013
+ "type": "json"
1014
+ },
1015
+ "context": {
1016
+ "type": "object",
1017
+ "properties": {
1018
+ "dirty": {
1019
+ "type": "boolean"
1020
+ },
1021
+ "revision": {
1022
+ "type": "number"
1023
+ }
1024
+ },
1025
+ "required": [
1026
+ "dirty",
1027
+ "revision"
1028
+ ]
1029
+ },
1030
+ "output": {
1031
+ "type": "object",
1032
+ "properties": {
1033
+ "path": {
1034
+ "type": "string"
1035
+ },
1036
+ "byteLength": {
1037
+ "type": "number"
1038
+ }
1039
+ },
1040
+ "required": [
1041
+ "path",
1042
+ "byteLength"
1043
+ ]
1044
+ }
1045
+ },
1046
+ "required": [
1047
+ "document",
1048
+ "id",
1049
+ "text",
1050
+ "receipt"
1051
+ ]
1052
+ },
1053
+ "errors": [
1054
+ "TARGET_NOT_FOUND",
1055
+ "REVISION_MISMATCH",
1056
+ "NO_ACTIVE_DOCUMENT",
1057
+ "COLLABORATION_SYNC_TIMEOUT"
1058
+ ]
1059
+ },
1060
+ {
1061
+ "id": "doc.comments.reply",
1062
+ "command": [
1063
+ "comments",
1064
+ "reply"
1065
+ ],
1066
+ "description": "Reply to a comment thread.",
1067
+ "mutates": true,
1068
+ "requiresOpenContext": false,
1069
+ "params": [
1070
+ {
1071
+ "name": "doc",
1072
+ "kind": "doc",
1073
+ "type": "string"
1074
+ },
1075
+ {
1076
+ "name": "sessionId",
1077
+ "kind": "flag",
1078
+ "flag": "session",
1079
+ "type": "string"
1080
+ },
1081
+ {
1082
+ "name": "parentId",
1083
+ "kind": "flag",
1084
+ "flag": "parent-id",
1085
+ "type": "string",
1086
+ "required": true
1087
+ },
1088
+ {
1089
+ "name": "text",
1090
+ "kind": "flag",
1091
+ "flag": "text",
1092
+ "type": "string",
1093
+ "required": true
1094
+ },
1095
+ {
1096
+ "name": "out",
1097
+ "kind": "flag",
1098
+ "flag": "out",
1099
+ "type": "string"
1100
+ },
1101
+ {
1102
+ "name": "force",
1103
+ "kind": "flag",
1104
+ "flag": "force",
1105
+ "type": "boolean"
1106
+ },
1107
+ {
1108
+ "name": "expectedRevision",
1109
+ "kind": "flag",
1110
+ "flag": "expected-revision",
1111
+ "type": "number"
1112
+ }
1113
+ ],
1114
+ "response": {
1115
+ "type": "object",
1116
+ "properties": {
1117
+ "document": {
1118
+ "type": "object",
1119
+ "properties": {
1120
+ "path": {
1121
+ "type": "string"
1122
+ },
1123
+ "source": {
1124
+ "type": "string"
1125
+ },
1126
+ "byteLength": {
1127
+ "type": "number"
1128
+ },
1129
+ "revision": {
1130
+ "type": "number"
1131
+ }
1132
+ },
1133
+ "required": [
1134
+ "source",
1135
+ "byteLength",
1136
+ "revision"
1137
+ ]
1138
+ },
1139
+ "parentId": {
1140
+ "type": "string"
1141
+ },
1142
+ "text": {
1143
+ "type": "string"
1144
+ },
1145
+ "receipt": {
1146
+ "type": "json"
1147
+ },
1148
+ "context": {
1149
+ "type": "object",
1150
+ "properties": {
1151
+ "dirty": {
1152
+ "type": "boolean"
1153
+ },
1154
+ "revision": {
1155
+ "type": "number"
1156
+ }
1157
+ },
1158
+ "required": [
1159
+ "dirty",
1160
+ "revision"
1161
+ ]
1162
+ },
1163
+ "output": {
1164
+ "type": "object",
1165
+ "properties": {
1166
+ "path": {
1167
+ "type": "string"
1168
+ },
1169
+ "byteLength": {
1170
+ "type": "number"
1171
+ }
1172
+ },
1173
+ "required": [
1174
+ "path",
1175
+ "byteLength"
1176
+ ]
1177
+ }
1178
+ },
1179
+ "required": [
1180
+ "document",
1181
+ "parentId",
1182
+ "text",
1183
+ "receipt"
1184
+ ]
1185
+ },
1186
+ "errors": [
1187
+ "TARGET_NOT_FOUND",
1188
+ "REVISION_MISMATCH",
1189
+ "NO_ACTIVE_DOCUMENT",
1190
+ "COLLABORATION_SYNC_TIMEOUT"
1191
+ ]
1192
+ },
1193
+ {
1194
+ "id": "doc.comments.move",
1195
+ "command": [
1196
+ "comments",
1197
+ "move"
1198
+ ],
1199
+ "description": "Move a comment anchor to a new text target.",
1200
+ "mutates": true,
1201
+ "requiresOpenContext": false,
1202
+ "params": [
1203
+ {
1204
+ "name": "doc",
1205
+ "kind": "doc",
1206
+ "type": "string"
1207
+ },
1208
+ {
1209
+ "name": "sessionId",
1210
+ "kind": "flag",
1211
+ "flag": "session",
1212
+ "type": "string"
1213
+ },
1214
+ {
1215
+ "name": "id",
1216
+ "kind": "flag",
1217
+ "flag": "id",
1218
+ "type": "string",
1219
+ "required": true
1220
+ },
1221
+ {
1222
+ "name": "target",
1223
+ "kind": "jsonFlag",
1224
+ "flag": "target-json",
1225
+ "type": "json",
1226
+ "required": true
1227
+ },
1228
+ {
1229
+ "name": "out",
1230
+ "kind": "flag",
1231
+ "flag": "out",
1232
+ "type": "string"
1233
+ },
1234
+ {
1235
+ "name": "force",
1236
+ "kind": "flag",
1237
+ "flag": "force",
1238
+ "type": "boolean"
1239
+ },
1240
+ {
1241
+ "name": "expectedRevision",
1242
+ "kind": "flag",
1243
+ "flag": "expected-revision",
1244
+ "type": "number"
1245
+ }
1246
+ ],
1247
+ "response": {
1248
+ "type": "object",
1249
+ "properties": {
1250
+ "document": {
1251
+ "type": "object",
1252
+ "properties": {
1253
+ "path": {
1254
+ "type": "string"
1255
+ },
1256
+ "source": {
1257
+ "type": "string"
1258
+ },
1259
+ "byteLength": {
1260
+ "type": "number"
1261
+ },
1262
+ "revision": {
1263
+ "type": "number"
1264
+ }
1265
+ },
1266
+ "required": [
1267
+ "source",
1268
+ "byteLength",
1269
+ "revision"
1270
+ ]
1271
+ },
1272
+ "id": {
1273
+ "type": "string"
1274
+ },
1275
+ "target": {
1276
+ "type": "json"
1277
+ },
1278
+ "receipt": {
1279
+ "type": "json"
1280
+ },
1281
+ "context": {
1282
+ "type": "object",
1283
+ "properties": {
1284
+ "dirty": {
1285
+ "type": "boolean"
1286
+ },
1287
+ "revision": {
1288
+ "type": "number"
1289
+ }
1290
+ },
1291
+ "required": [
1292
+ "dirty",
1293
+ "revision"
1294
+ ]
1295
+ },
1296
+ "output": {
1297
+ "type": "object",
1298
+ "properties": {
1299
+ "path": {
1300
+ "type": "string"
1301
+ },
1302
+ "byteLength": {
1303
+ "type": "number"
1304
+ }
1305
+ },
1306
+ "required": [
1307
+ "path",
1308
+ "byteLength"
1309
+ ]
1310
+ }
1311
+ },
1312
+ "required": [
1313
+ "document",
1314
+ "id",
1315
+ "target",
1316
+ "receipt"
1317
+ ]
1318
+ },
1319
+ "errors": [
1320
+ "TARGET_NOT_FOUND",
1321
+ "REVISION_MISMATCH",
1322
+ "NO_ACTIVE_DOCUMENT",
1323
+ "COLLABORATION_SYNC_TIMEOUT"
1324
+ ]
1325
+ },
1326
+ {
1327
+ "id": "doc.comments.resolve",
1328
+ "command": [
1329
+ "comments",
1330
+ "resolve"
1331
+ ],
1332
+ "description": "Resolve a comment thread.",
1333
+ "mutates": true,
1334
+ "requiresOpenContext": false,
1335
+ "params": [
1336
+ {
1337
+ "name": "doc",
1338
+ "kind": "doc",
1339
+ "type": "string"
1340
+ },
1341
+ {
1342
+ "name": "sessionId",
1343
+ "kind": "flag",
1344
+ "flag": "session",
1345
+ "type": "string"
1346
+ },
1347
+ {
1348
+ "name": "id",
1349
+ "kind": "flag",
1350
+ "flag": "id",
1351
+ "type": "string",
1352
+ "required": true
1353
+ },
1354
+ {
1355
+ "name": "out",
1356
+ "kind": "flag",
1357
+ "flag": "out",
1358
+ "type": "string"
1359
+ },
1360
+ {
1361
+ "name": "force",
1362
+ "kind": "flag",
1363
+ "flag": "force",
1364
+ "type": "boolean"
1365
+ },
1366
+ {
1367
+ "name": "expectedRevision",
1368
+ "kind": "flag",
1369
+ "flag": "expected-revision",
1370
+ "type": "number"
1371
+ }
1372
+ ],
1373
+ "response": {
1374
+ "type": "object",
1375
+ "properties": {
1376
+ "document": {
1377
+ "type": "object",
1378
+ "properties": {
1379
+ "path": {
1380
+ "type": "string"
1381
+ },
1382
+ "source": {
1383
+ "type": "string"
1384
+ },
1385
+ "byteLength": {
1386
+ "type": "number"
1387
+ },
1388
+ "revision": {
1389
+ "type": "number"
1390
+ }
1391
+ },
1392
+ "required": [
1393
+ "source",
1394
+ "byteLength",
1395
+ "revision"
1396
+ ]
1397
+ },
1398
+ "id": {
1399
+ "type": "string"
1400
+ },
1401
+ "receipt": {
1402
+ "type": "json"
1403
+ },
1404
+ "context": {
1405
+ "type": "object",
1406
+ "properties": {
1407
+ "dirty": {
1408
+ "type": "boolean"
1409
+ },
1410
+ "revision": {
1411
+ "type": "number"
1412
+ }
1413
+ },
1414
+ "required": [
1415
+ "dirty",
1416
+ "revision"
1417
+ ]
1418
+ },
1419
+ "output": {
1420
+ "type": "object",
1421
+ "properties": {
1422
+ "path": {
1423
+ "type": "string"
1424
+ },
1425
+ "byteLength": {
1426
+ "type": "number"
1427
+ }
1428
+ },
1429
+ "required": [
1430
+ "path",
1431
+ "byteLength"
1432
+ ]
1433
+ }
1434
+ },
1435
+ "required": [
1436
+ "document",
1437
+ "id",
1438
+ "receipt"
1439
+ ]
1440
+ },
1441
+ "errors": [
1442
+ "TARGET_NOT_FOUND",
1443
+ "REVISION_MISMATCH",
1444
+ "NO_ACTIVE_DOCUMENT",
1445
+ "COLLABORATION_SYNC_TIMEOUT"
1446
+ ]
1447
+ },
1448
+ {
1449
+ "id": "doc.comments.remove",
1450
+ "command": [
1451
+ "comments",
1452
+ "remove"
1453
+ ],
1454
+ "description": "Remove a comment thread.",
1455
+ "mutates": true,
1456
+ "requiresOpenContext": false,
1457
+ "params": [
1458
+ {
1459
+ "name": "doc",
1460
+ "kind": "doc",
1461
+ "type": "string"
1462
+ },
1463
+ {
1464
+ "name": "sessionId",
1465
+ "kind": "flag",
1466
+ "flag": "session",
1467
+ "type": "string"
1468
+ },
1469
+ {
1470
+ "name": "id",
1471
+ "kind": "flag",
1472
+ "flag": "id",
1473
+ "type": "string",
1474
+ "required": true
1475
+ },
1476
+ {
1477
+ "name": "out",
1478
+ "kind": "flag",
1479
+ "flag": "out",
1480
+ "type": "string"
1481
+ },
1482
+ {
1483
+ "name": "force",
1484
+ "kind": "flag",
1485
+ "flag": "force",
1486
+ "type": "boolean"
1487
+ },
1488
+ {
1489
+ "name": "expectedRevision",
1490
+ "kind": "flag",
1491
+ "flag": "expected-revision",
1492
+ "type": "number"
1493
+ }
1494
+ ],
1495
+ "response": {
1496
+ "type": "object",
1497
+ "properties": {
1498
+ "document": {
1499
+ "type": "object",
1500
+ "properties": {
1501
+ "path": {
1502
+ "type": "string"
1503
+ },
1504
+ "source": {
1505
+ "type": "string"
1506
+ },
1507
+ "byteLength": {
1508
+ "type": "number"
1509
+ },
1510
+ "revision": {
1511
+ "type": "number"
1512
+ }
1513
+ },
1514
+ "required": [
1515
+ "source",
1516
+ "byteLength",
1517
+ "revision"
1518
+ ]
1519
+ },
1520
+ "id": {
1521
+ "type": "string"
1522
+ },
1523
+ "receipt": {
1524
+ "type": "json"
1525
+ },
1526
+ "context": {
1527
+ "type": "object",
1528
+ "properties": {
1529
+ "dirty": {
1530
+ "type": "boolean"
1531
+ },
1532
+ "revision": {
1533
+ "type": "number"
1534
+ }
1535
+ },
1536
+ "required": [
1537
+ "dirty",
1538
+ "revision"
1539
+ ]
1540
+ },
1541
+ "output": {
1542
+ "type": "object",
1543
+ "properties": {
1544
+ "path": {
1545
+ "type": "string"
1546
+ },
1547
+ "byteLength": {
1548
+ "type": "number"
1549
+ }
1550
+ },
1551
+ "required": [
1552
+ "path",
1553
+ "byteLength"
1554
+ ]
1555
+ }
1556
+ },
1557
+ "required": [
1558
+ "document",
1559
+ "id",
1560
+ "receipt"
1561
+ ]
1562
+ },
1563
+ "errors": [
1564
+ "TARGET_NOT_FOUND",
1565
+ "REVISION_MISMATCH",
1566
+ "NO_ACTIVE_DOCUMENT",
1567
+ "COLLABORATION_SYNC_TIMEOUT"
1568
+ ]
1569
+ },
1570
+ {
1571
+ "id": "doc.comments.setInternal",
1572
+ "command": [
1573
+ "comments",
1574
+ "set-internal"
1575
+ ],
1576
+ "description": "Set whether a comment is internal.",
1577
+ "mutates": true,
1578
+ "requiresOpenContext": false,
1579
+ "params": [
1580
+ {
1581
+ "name": "doc",
1582
+ "kind": "doc",
1583
+ "type": "string"
1584
+ },
1585
+ {
1586
+ "name": "sessionId",
1587
+ "kind": "flag",
1588
+ "flag": "session",
1589
+ "type": "string"
1590
+ },
1591
+ {
1592
+ "name": "id",
1593
+ "kind": "flag",
1594
+ "flag": "id",
1595
+ "type": "string",
1596
+ "required": true
1597
+ },
1598
+ {
1599
+ "name": "isInternal",
1600
+ "kind": "flag",
1601
+ "flag": "is-internal",
1602
+ "type": "boolean",
1603
+ "required": true
1604
+ },
1605
+ {
1606
+ "name": "out",
1607
+ "kind": "flag",
1608
+ "flag": "out",
1609
+ "type": "string"
1610
+ },
1611
+ {
1612
+ "name": "force",
1613
+ "kind": "flag",
1614
+ "flag": "force",
1615
+ "type": "boolean"
1616
+ },
1617
+ {
1618
+ "name": "expectedRevision",
1619
+ "kind": "flag",
1620
+ "flag": "expected-revision",
1621
+ "type": "number"
1622
+ }
1623
+ ],
1624
+ "response": {
1625
+ "type": "object",
1626
+ "properties": {
1627
+ "document": {
1628
+ "type": "object",
1629
+ "properties": {
1630
+ "path": {
1631
+ "type": "string"
1632
+ },
1633
+ "source": {
1634
+ "type": "string"
1635
+ },
1636
+ "byteLength": {
1637
+ "type": "number"
1638
+ },
1639
+ "revision": {
1640
+ "type": "number"
1641
+ }
1642
+ },
1643
+ "required": [
1644
+ "source",
1645
+ "byteLength",
1646
+ "revision"
1647
+ ]
1648
+ },
1649
+ "id": {
1650
+ "type": "string"
1651
+ },
1652
+ "isInternal": {
1653
+ "type": "boolean"
1654
+ },
1655
+ "receipt": {
1656
+ "type": "json"
1657
+ },
1658
+ "context": {
1659
+ "type": "object",
1660
+ "properties": {
1661
+ "dirty": {
1662
+ "type": "boolean"
1663
+ },
1664
+ "revision": {
1665
+ "type": "number"
1666
+ }
1667
+ },
1668
+ "required": [
1669
+ "dirty",
1670
+ "revision"
1671
+ ]
1672
+ },
1673
+ "output": {
1674
+ "type": "object",
1675
+ "properties": {
1676
+ "path": {
1677
+ "type": "string"
1678
+ },
1679
+ "byteLength": {
1680
+ "type": "number"
1681
+ }
1682
+ },
1683
+ "required": [
1684
+ "path",
1685
+ "byteLength"
1686
+ ]
1687
+ }
1688
+ },
1689
+ "required": [
1690
+ "document",
1691
+ "id",
1692
+ "isInternal",
1693
+ "receipt"
1694
+ ]
1695
+ },
1696
+ "errors": [
1697
+ "TARGET_NOT_FOUND",
1698
+ "REVISION_MISMATCH",
1699
+ "NO_ACTIVE_DOCUMENT",
1700
+ "COLLABORATION_SYNC_TIMEOUT"
1701
+ ]
1702
+ },
1703
+ {
1704
+ "id": "doc.comments.setActive",
1705
+ "command": [
1706
+ "comments",
1707
+ "set-active"
1708
+ ],
1709
+ "description": "Set the active comment in the editor.",
1710
+ "mutates": false,
1711
+ "requiresOpenContext": false,
1712
+ "params": [
1713
+ {
1714
+ "name": "doc",
1715
+ "kind": "doc",
1716
+ "type": "string"
1717
+ },
1718
+ {
1719
+ "name": "sessionId",
1720
+ "kind": "flag",
1721
+ "flag": "session",
1722
+ "type": "string"
1723
+ },
1724
+ {
1725
+ "name": "id",
1726
+ "kind": "flag",
1727
+ "flag": "id",
1728
+ "type": "string"
1729
+ },
1730
+ {
1731
+ "name": "clear",
1732
+ "kind": "flag",
1733
+ "flag": "clear",
1734
+ "type": "boolean"
1735
+ }
1736
+ ],
1737
+ "response": {
1738
+ "type": "object",
1739
+ "properties": {
1740
+ "document": {
1741
+ "type": "object",
1742
+ "properties": {
1743
+ "path": {
1744
+ "type": "string"
1745
+ },
1746
+ "source": {
1747
+ "type": "string"
1748
+ },
1749
+ "byteLength": {
1750
+ "type": "number"
1751
+ },
1752
+ "revision": {
1753
+ "type": "number"
1754
+ }
1755
+ },
1756
+ "required": [
1757
+ "source",
1758
+ "byteLength",
1759
+ "revision"
1760
+ ]
1761
+ },
1762
+ "id": {
1763
+ "type": "string"
1764
+ },
1765
+ "receipt": {
1766
+ "type": "json"
1767
+ }
1768
+ },
1769
+ "required": [
1770
+ "document",
1771
+ "id",
1772
+ "receipt"
1773
+ ]
1774
+ },
1775
+ "errors": [
1776
+ "TARGET_NOT_FOUND",
1777
+ "NO_ACTIVE_DOCUMENT",
1778
+ "COLLABORATION_SYNC_TIMEOUT"
1779
+ ]
1780
+ },
1781
+ {
1782
+ "id": "doc.comments.goTo",
1783
+ "command": [
1784
+ "comments",
1785
+ "go-to"
1786
+ ],
1787
+ "description": "Move the cursor to a comment anchor.",
1788
+ "mutates": false,
1789
+ "requiresOpenContext": false,
1790
+ "params": [
1791
+ {
1792
+ "name": "doc",
1793
+ "kind": "doc",
1794
+ "type": "string"
1795
+ },
1796
+ {
1797
+ "name": "sessionId",
1798
+ "kind": "flag",
1799
+ "flag": "session",
1800
+ "type": "string"
1801
+ },
1802
+ {
1803
+ "name": "id",
1804
+ "kind": "flag",
1805
+ "flag": "id",
1806
+ "type": "string",
1807
+ "required": true
1808
+ }
1809
+ ],
1810
+ "response": {
1811
+ "type": "object",
1812
+ "properties": {
1813
+ "document": {
1814
+ "type": "object",
1815
+ "properties": {
1816
+ "path": {
1817
+ "type": "string"
1818
+ },
1819
+ "source": {
1820
+ "type": "string"
1821
+ },
1822
+ "byteLength": {
1823
+ "type": "number"
1824
+ },
1825
+ "revision": {
1826
+ "type": "number"
1827
+ }
1828
+ },
1829
+ "required": [
1830
+ "source",
1831
+ "byteLength",
1832
+ "revision"
1833
+ ]
1834
+ },
1835
+ "id": {
1836
+ "type": "string"
1837
+ },
1838
+ "receipt": {
1839
+ "type": "json"
1840
+ }
1841
+ },
1842
+ "required": [
1843
+ "document",
1844
+ "id",
1845
+ "receipt"
1846
+ ]
1847
+ },
1848
+ "errors": [
1849
+ "TARGET_NOT_FOUND",
1850
+ "NO_ACTIVE_DOCUMENT",
1851
+ "COLLABORATION_SYNC_TIMEOUT"
1852
+ ]
1853
+ },
1854
+ {
1855
+ "id": "doc.comments.get",
1856
+ "command": [
1857
+ "comments",
1858
+ "get"
1859
+ ],
1860
+ "description": "Get one comment by id.",
1861
+ "mutates": false,
1862
+ "requiresOpenContext": false,
1863
+ "params": [
1864
+ {
1865
+ "name": "doc",
1866
+ "kind": "doc",
1867
+ "type": "string"
1868
+ },
1869
+ {
1870
+ "name": "sessionId",
1871
+ "kind": "flag",
1872
+ "flag": "session",
1873
+ "type": "string"
1874
+ },
1875
+ {
1876
+ "name": "id",
1877
+ "kind": "flag",
1878
+ "flag": "id",
1879
+ "type": "string",
1880
+ "required": true
1881
+ }
1882
+ ],
1883
+ "response": {
1884
+ "type": "object",
1885
+ "properties": {
1886
+ "document": {
1887
+ "type": "object",
1888
+ "properties": {
1889
+ "path": {
1890
+ "type": "string"
1891
+ },
1892
+ "source": {
1893
+ "type": "string"
1894
+ },
1895
+ "byteLength": {
1896
+ "type": "number"
1897
+ },
1898
+ "revision": {
1899
+ "type": "number"
1900
+ }
1901
+ },
1902
+ "required": [
1903
+ "source",
1904
+ "byteLength",
1905
+ "revision"
1906
+ ]
1907
+ },
1908
+ "id": {
1909
+ "type": "string"
1910
+ },
1911
+ "comment": {
1912
+ "type": "json"
1913
+ }
1914
+ },
1915
+ "required": [
1916
+ "document",
1917
+ "id",
1918
+ "comment"
1919
+ ]
1920
+ },
1921
+ "errors": [
1922
+ "TARGET_NOT_FOUND",
1923
+ "NO_ACTIVE_DOCUMENT",
1924
+ "COLLABORATION_SYNC_TIMEOUT"
1925
+ ]
1926
+ },
1927
+ {
1928
+ "id": "doc.comments.list",
1929
+ "command": [
1930
+ "comments",
1931
+ "list"
1932
+ ],
1933
+ "description": "List comments.",
1934
+ "mutates": false,
1935
+ "requiresOpenContext": false,
1936
+ "params": [
1937
+ {
1938
+ "name": "doc",
1939
+ "kind": "doc",
1940
+ "type": "string"
1941
+ },
1942
+ {
1943
+ "name": "sessionId",
1944
+ "kind": "flag",
1945
+ "flag": "session",
1946
+ "type": "string"
1947
+ },
1948
+ {
1949
+ "name": "includeResolved",
1950
+ "kind": "flag",
1951
+ "flag": "include-resolved",
1952
+ "type": "boolean"
1953
+ }
1954
+ ],
1955
+ "response": {
1956
+ "type": "object",
1957
+ "properties": {
1958
+ "document": {
1959
+ "type": "object",
1960
+ "properties": {
1961
+ "path": {
1962
+ "type": "string"
1963
+ },
1964
+ "source": {
1965
+ "type": "string"
1966
+ },
1967
+ "byteLength": {
1968
+ "type": "number"
1969
+ },
1970
+ "revision": {
1971
+ "type": "number"
1972
+ }
1973
+ },
1974
+ "required": [
1975
+ "source",
1976
+ "byteLength",
1977
+ "revision"
1978
+ ]
1979
+ },
1980
+ "query": {
1981
+ "type": "json"
1982
+ },
1983
+ "result": {
1984
+ "type": "json"
1985
+ }
1986
+ },
1987
+ "required": [
1988
+ "document",
1989
+ "query",
1990
+ "result"
1991
+ ]
1992
+ },
1993
+ "errors": [
1994
+ "NO_ACTIVE_DOCUMENT",
1995
+ "COLLABORATION_SYNC_TIMEOUT"
1996
+ ]
1997
+ },
1998
+ {
1999
+ "id": "doc.insert",
2000
+ "command": [
2001
+ "insert"
2002
+ ],
2003
+ "description": "Insert text at a target text address.",
2004
+ "mutates": true,
2005
+ "requiresOpenContext": false,
2006
+ "params": [
2007
+ {
2008
+ "name": "doc",
2009
+ "kind": "doc",
2010
+ "type": "string"
2011
+ },
2012
+ {
2013
+ "name": "sessionId",
2014
+ "kind": "flag",
2015
+ "flag": "session",
2016
+ "type": "string"
2017
+ },
2018
+ {
2019
+ "name": "target",
2020
+ "kind": "jsonFlag",
2021
+ "flag": "target-json",
2022
+ "type": "json",
2023
+ "required": true
2024
+ },
2025
+ {
2026
+ "name": "text",
2027
+ "kind": "flag",
2028
+ "flag": "text",
2029
+ "type": "string",
2030
+ "required": true
2031
+ },
2032
+ {
2033
+ "name": "changeMode",
2034
+ "kind": "flag",
2035
+ "flag": "change-mode",
2036
+ "type": "string"
2037
+ },
2038
+ {
2039
+ "name": "out",
2040
+ "kind": "flag",
2041
+ "flag": "out",
2042
+ "type": "string"
2043
+ },
2044
+ {
2045
+ "name": "dryRun",
2046
+ "kind": "flag",
2047
+ "flag": "dry-run",
2048
+ "type": "boolean"
2049
+ },
2050
+ {
2051
+ "name": "force",
2052
+ "kind": "flag",
2053
+ "flag": "force",
2054
+ "type": "boolean"
2055
+ },
2056
+ {
2057
+ "name": "expectedRevision",
2058
+ "kind": "flag",
2059
+ "flag": "expected-revision",
2060
+ "type": "number"
2061
+ }
2062
+ ],
2063
+ "response": {
2064
+ "type": "object",
2065
+ "properties": {
2066
+ "document": {
2067
+ "type": "object",
2068
+ "properties": {
2069
+ "path": {
2070
+ "type": "string"
2071
+ },
2072
+ "source": {
2073
+ "type": "string"
2074
+ },
2075
+ "byteLength": {
2076
+ "type": "number"
2077
+ },
2078
+ "revision": {
2079
+ "type": "number"
2080
+ }
2081
+ },
2082
+ "required": [
2083
+ "source",
2084
+ "byteLength",
2085
+ "revision"
2086
+ ]
2087
+ },
2088
+ "target": {
2089
+ "type": "json"
2090
+ },
2091
+ "text": {
2092
+ "type": "string"
2093
+ },
2094
+ "changeMode": {
2095
+ "type": "string"
2096
+ },
2097
+ "dryRun": {
2098
+ "type": "boolean"
2099
+ },
2100
+ "proposed": {
2101
+ "type": "json"
2102
+ },
2103
+ "receipt": {
2104
+ "type": "json"
2105
+ },
2106
+ "context": {
2107
+ "type": "object",
2108
+ "properties": {
2109
+ "dirty": {
2110
+ "type": "boolean"
2111
+ },
2112
+ "revision": {
2113
+ "type": "number"
2114
+ }
2115
+ },
2116
+ "required": [
2117
+ "dirty",
2118
+ "revision"
2119
+ ]
2120
+ },
2121
+ "output": {
2122
+ "type": "object",
2123
+ "properties": {
2124
+ "path": {
2125
+ "type": "string"
2126
+ },
2127
+ "byteLength": {
2128
+ "type": "number"
2129
+ }
2130
+ },
2131
+ "required": [
2132
+ "path",
2133
+ "byteLength"
2134
+ ]
2135
+ }
2136
+ },
2137
+ "required": [
2138
+ "document",
2139
+ "target"
2140
+ ]
2141
+ },
2142
+ "errors": [
2143
+ "TARGET_NOT_FOUND",
2144
+ "REVISION_MISMATCH",
2145
+ "NO_ACTIVE_DOCUMENT",
2146
+ "COLLABORATION_SYNC_TIMEOUT"
2147
+ ]
2148
+ },
2149
+ {
2150
+ "id": "doc.replace",
2151
+ "command": [
2152
+ "replace"
2153
+ ],
2154
+ "description": "Replace text at a target text address.",
2155
+ "mutates": true,
2156
+ "requiresOpenContext": false,
2157
+ "params": [
2158
+ {
2159
+ "name": "doc",
2160
+ "kind": "doc",
2161
+ "type": "string"
2162
+ },
2163
+ {
2164
+ "name": "sessionId",
2165
+ "kind": "flag",
2166
+ "flag": "session",
2167
+ "type": "string"
2168
+ },
2169
+ {
2170
+ "name": "target",
2171
+ "kind": "jsonFlag",
2172
+ "flag": "target-json",
2173
+ "type": "json",
2174
+ "required": true
2175
+ },
2176
+ {
2177
+ "name": "text",
2178
+ "kind": "flag",
2179
+ "flag": "text",
2180
+ "type": "string",
2181
+ "required": true
2182
+ },
2183
+ {
2184
+ "name": "changeMode",
2185
+ "kind": "flag",
2186
+ "flag": "change-mode",
2187
+ "type": "string"
2188
+ },
2189
+ {
2190
+ "name": "out",
2191
+ "kind": "flag",
2192
+ "flag": "out",
2193
+ "type": "string"
2194
+ },
2195
+ {
2196
+ "name": "dryRun",
2197
+ "kind": "flag",
2198
+ "flag": "dry-run",
2199
+ "type": "boolean"
2200
+ },
2201
+ {
2202
+ "name": "force",
2203
+ "kind": "flag",
2204
+ "flag": "force",
2205
+ "type": "boolean"
2206
+ },
2207
+ {
2208
+ "name": "expectedRevision",
2209
+ "kind": "flag",
2210
+ "flag": "expected-revision",
2211
+ "type": "number"
2212
+ }
2213
+ ],
2214
+ "response": {
2215
+ "type": "object",
2216
+ "properties": {
2217
+ "document": {
2218
+ "type": "object",
2219
+ "properties": {
2220
+ "path": {
2221
+ "type": "string"
2222
+ },
2223
+ "source": {
2224
+ "type": "string"
2225
+ },
2226
+ "byteLength": {
2227
+ "type": "number"
2228
+ },
2229
+ "revision": {
2230
+ "type": "number"
2231
+ }
2232
+ },
2233
+ "required": [
2234
+ "source",
2235
+ "byteLength",
2236
+ "revision"
2237
+ ]
2238
+ },
2239
+ "target": {
2240
+ "type": "json"
2241
+ },
2242
+ "changeMode": {
2243
+ "type": "string"
2244
+ },
2245
+ "dryRun": {
2246
+ "type": "boolean"
2247
+ },
2248
+ "proposed": {
2249
+ "type": "json"
2250
+ },
2251
+ "receipt": {
2252
+ "type": "json"
2253
+ },
2254
+ "from": {
2255
+ "type": "string"
2256
+ },
2257
+ "to": {
2258
+ "type": "string"
2259
+ },
2260
+ "context": {
2261
+ "type": "object",
2262
+ "properties": {
2263
+ "dirty": {
2264
+ "type": "boolean"
2265
+ },
2266
+ "revision": {
2267
+ "type": "number"
2268
+ }
2269
+ },
2270
+ "required": [
2271
+ "dirty",
2272
+ "revision"
2273
+ ]
2274
+ },
2275
+ "output": {
2276
+ "type": "object",
2277
+ "properties": {
2278
+ "path": {
2279
+ "type": "string"
2280
+ },
2281
+ "byteLength": {
2282
+ "type": "number"
2283
+ }
2284
+ },
2285
+ "required": [
2286
+ "path",
2287
+ "byteLength"
2288
+ ]
2289
+ }
2290
+ },
2291
+ "required": [
2292
+ "document",
2293
+ "target"
2294
+ ]
2295
+ },
2296
+ "errors": [
2297
+ "TARGET_NOT_FOUND",
2298
+ "REVISION_MISMATCH",
2299
+ "NO_ACTIVE_DOCUMENT",
2300
+ "COLLABORATION_SYNC_TIMEOUT"
2301
+ ]
2302
+ },
2303
+ {
2304
+ "id": "doc.delete",
2305
+ "command": [
2306
+ "delete"
2307
+ ],
2308
+ "description": "Delete text at a target text address.",
2309
+ "mutates": true,
2310
+ "requiresOpenContext": false,
2311
+ "params": [
2312
+ {
2313
+ "name": "doc",
2314
+ "kind": "doc",
2315
+ "type": "string"
2316
+ },
2317
+ {
2318
+ "name": "sessionId",
2319
+ "kind": "flag",
2320
+ "flag": "session",
2321
+ "type": "string"
2322
+ },
2323
+ {
2324
+ "name": "target",
2325
+ "kind": "jsonFlag",
2326
+ "flag": "target-json",
2327
+ "type": "json",
2328
+ "required": true
2329
+ },
2330
+ {
2331
+ "name": "changeMode",
2332
+ "kind": "flag",
2333
+ "flag": "change-mode",
2334
+ "type": "string"
2335
+ },
2336
+ {
2337
+ "name": "out",
2338
+ "kind": "flag",
2339
+ "flag": "out",
2340
+ "type": "string"
2341
+ },
2342
+ {
2343
+ "name": "dryRun",
2344
+ "kind": "flag",
2345
+ "flag": "dry-run",
2346
+ "type": "boolean"
2347
+ },
2348
+ {
2349
+ "name": "force",
2350
+ "kind": "flag",
2351
+ "flag": "force",
2352
+ "type": "boolean"
2353
+ },
2354
+ {
2355
+ "name": "expectedRevision",
2356
+ "kind": "flag",
2357
+ "flag": "expected-revision",
2358
+ "type": "number"
2359
+ }
2360
+ ],
2361
+ "response": {
2362
+ "type": "object",
2363
+ "properties": {
2364
+ "document": {
2365
+ "type": "object",
2366
+ "properties": {
2367
+ "path": {
2368
+ "type": "string"
2369
+ },
2370
+ "source": {
2371
+ "type": "string"
2372
+ },
2373
+ "byteLength": {
2374
+ "type": "number"
2375
+ },
2376
+ "revision": {
2377
+ "type": "number"
2378
+ }
2379
+ },
2380
+ "required": [
2381
+ "source",
2382
+ "byteLength",
2383
+ "revision"
2384
+ ]
2385
+ },
2386
+ "target": {
2387
+ "type": "json"
2388
+ },
2389
+ "changeMode": {
2390
+ "type": "string"
2391
+ },
2392
+ "dryRun": {
2393
+ "type": "boolean"
2394
+ },
2395
+ "proposed": {
2396
+ "type": "json"
2397
+ },
2398
+ "receipt": {
2399
+ "type": "json"
2400
+ },
2401
+ "removedText": {
2402
+ "type": "string"
2403
+ },
2404
+ "context": {
2405
+ "type": "object",
2406
+ "properties": {
2407
+ "dirty": {
2408
+ "type": "boolean"
2409
+ },
2410
+ "revision": {
2411
+ "type": "number"
2412
+ }
2413
+ },
2414
+ "required": [
2415
+ "dirty",
2416
+ "revision"
2417
+ ]
2418
+ },
2419
+ "output": {
2420
+ "type": "object",
2421
+ "properties": {
2422
+ "path": {
2423
+ "type": "string"
2424
+ },
2425
+ "byteLength": {
2426
+ "type": "number"
2427
+ }
2428
+ },
2429
+ "required": [
2430
+ "path",
2431
+ "byteLength"
2432
+ ]
2433
+ }
2434
+ },
2435
+ "required": [
2436
+ "document",
2437
+ "target"
2438
+ ]
2439
+ },
2440
+ "errors": [
2441
+ "TARGET_NOT_FOUND",
2442
+ "REVISION_MISMATCH",
2443
+ "NO_ACTIVE_DOCUMENT",
2444
+ "COLLABORATION_SYNC_TIMEOUT"
2445
+ ]
2446
+ },
2447
+ {
2448
+ "id": "doc.format.bold",
2449
+ "command": [
2450
+ "format",
2451
+ "bold"
2452
+ ],
2453
+ "description": "Apply bold formatting at a target text address.",
2454
+ "mutates": true,
2455
+ "requiresOpenContext": false,
2456
+ "params": [
2457
+ {
2458
+ "name": "doc",
2459
+ "kind": "doc",
2460
+ "type": "string"
2461
+ },
2462
+ {
2463
+ "name": "sessionId",
2464
+ "kind": "flag",
2465
+ "flag": "session",
2466
+ "type": "string"
2467
+ },
2468
+ {
2469
+ "name": "target",
2470
+ "kind": "jsonFlag",
2471
+ "flag": "target-json",
2472
+ "type": "json",
2473
+ "required": true
2474
+ },
2475
+ {
2476
+ "name": "changeMode",
2477
+ "kind": "flag",
2478
+ "flag": "change-mode",
2479
+ "type": "string"
2480
+ },
2481
+ {
2482
+ "name": "out",
2483
+ "kind": "flag",
2484
+ "flag": "out",
2485
+ "type": "string"
2486
+ },
2487
+ {
2488
+ "name": "dryRun",
2489
+ "kind": "flag",
2490
+ "flag": "dry-run",
2491
+ "type": "boolean"
2492
+ },
2493
+ {
2494
+ "name": "force",
2495
+ "kind": "flag",
2496
+ "flag": "force",
2497
+ "type": "boolean"
2498
+ },
2499
+ {
2500
+ "name": "expectedRevision",
2501
+ "kind": "flag",
2502
+ "flag": "expected-revision",
2503
+ "type": "number"
2504
+ }
2505
+ ],
2506
+ "response": {
2507
+ "type": "object",
2508
+ "properties": {
2509
+ "document": {
2510
+ "type": "object",
2511
+ "properties": {
2512
+ "path": {
2513
+ "type": "string"
2514
+ },
2515
+ "source": {
2516
+ "type": "string"
2517
+ },
2518
+ "byteLength": {
2519
+ "type": "number"
2520
+ },
2521
+ "revision": {
2522
+ "type": "number"
2523
+ }
2524
+ },
2525
+ "required": [
2526
+ "source",
2527
+ "byteLength",
2528
+ "revision"
2529
+ ]
2530
+ },
2531
+ "target": {
2532
+ "type": "json"
2533
+ },
2534
+ "changeMode": {
2535
+ "type": "string"
2536
+ },
2537
+ "dryRun": {
2538
+ "type": "boolean"
2539
+ },
2540
+ "proposed": {
2541
+ "type": "json"
2542
+ },
2543
+ "receipt": {
2544
+ "type": "json"
2545
+ },
2546
+ "selectedText": {
2547
+ "type": "string"
2548
+ },
2549
+ "context": {
2550
+ "type": "object",
2551
+ "properties": {
2552
+ "dirty": {
2553
+ "type": "boolean"
2554
+ },
2555
+ "revision": {
2556
+ "type": "number"
2557
+ }
2558
+ },
2559
+ "required": [
2560
+ "dirty",
2561
+ "revision"
2562
+ ]
2563
+ },
2564
+ "output": {
2565
+ "type": "object",
2566
+ "properties": {
2567
+ "path": {
2568
+ "type": "string"
2569
+ },
2570
+ "byteLength": {
2571
+ "type": "number"
2572
+ }
2573
+ },
2574
+ "required": [
2575
+ "path",
2576
+ "byteLength"
2577
+ ]
2578
+ }
2579
+ },
2580
+ "required": [
2581
+ "document",
2582
+ "target"
2583
+ ]
2584
+ },
2585
+ "errors": [
2586
+ "TARGET_NOT_FOUND",
2587
+ "REVISION_MISMATCH",
2588
+ "NO_ACTIVE_DOCUMENT",
2589
+ "COLLABORATION_SYNC_TIMEOUT"
2590
+ ]
2591
+ },
2592
+ {
2593
+ "id": "doc.trackChanges.list",
2594
+ "command": [
2595
+ "track-changes",
2596
+ "list"
2597
+ ],
2598
+ "description": "List tracked changes.",
2599
+ "mutates": false,
2600
+ "requiresOpenContext": false,
2601
+ "params": [
2602
+ {
2603
+ "name": "doc",
2604
+ "kind": "doc",
2605
+ "type": "string"
2606
+ },
2607
+ {
2608
+ "name": "sessionId",
2609
+ "kind": "flag",
2610
+ "flag": "session",
2611
+ "type": "string"
2612
+ },
2613
+ {
2614
+ "name": "type",
2615
+ "kind": "flag",
2616
+ "flag": "type",
2617
+ "type": "string"
2618
+ },
2619
+ {
2620
+ "name": "limit",
2621
+ "kind": "flag",
2622
+ "flag": "limit",
2623
+ "type": "number"
2624
+ },
2625
+ {
2626
+ "name": "offset",
2627
+ "kind": "flag",
2628
+ "flag": "offset",
2629
+ "type": "number"
2630
+ }
2631
+ ],
2632
+ "response": {
2633
+ "type": "object",
2634
+ "properties": {
2635
+ "document": {
2636
+ "type": "object",
2637
+ "properties": {
2638
+ "path": {
2639
+ "type": "string"
2640
+ },
2641
+ "source": {
2642
+ "type": "string"
2643
+ },
2644
+ "byteLength": {
2645
+ "type": "number"
2646
+ },
2647
+ "revision": {
2648
+ "type": "number"
2649
+ }
2650
+ },
2651
+ "required": [
2652
+ "source",
2653
+ "byteLength",
2654
+ "revision"
2655
+ ]
2656
+ },
2657
+ "query": {
2658
+ "type": "json"
2659
+ },
2660
+ "result": {
2661
+ "type": "json"
2662
+ }
2663
+ },
2664
+ "required": [
2665
+ "document",
2666
+ "query",
2667
+ "result"
2668
+ ]
2669
+ },
2670
+ "errors": [
2671
+ "NO_ACTIVE_DOCUMENT",
2672
+ "COLLABORATION_SYNC_TIMEOUT"
2673
+ ]
2674
+ },
2675
+ {
2676
+ "id": "doc.trackChanges.get",
2677
+ "command": [
2678
+ "track-changes",
2679
+ "get"
2680
+ ],
2681
+ "description": "Get a tracked change by id.",
2682
+ "mutates": false,
2683
+ "requiresOpenContext": false,
2684
+ "params": [
2685
+ {
2686
+ "name": "doc",
2687
+ "kind": "doc",
2688
+ "type": "string"
2689
+ },
2690
+ {
2691
+ "name": "sessionId",
2692
+ "kind": "flag",
2693
+ "flag": "session",
2694
+ "type": "string"
2695
+ },
2696
+ {
2697
+ "name": "id",
2698
+ "kind": "flag",
2699
+ "flag": "id",
2700
+ "type": "string",
2701
+ "required": true
2702
+ }
2703
+ ],
2704
+ "response": {
2705
+ "type": "object",
2706
+ "properties": {
2707
+ "document": {
2708
+ "type": "object",
2709
+ "properties": {
2710
+ "path": {
2711
+ "type": "string"
2712
+ },
2713
+ "source": {
2714
+ "type": "string"
2715
+ },
2716
+ "byteLength": {
2717
+ "type": "number"
2718
+ },
2719
+ "revision": {
2720
+ "type": "number"
2721
+ }
2722
+ },
2723
+ "required": [
2724
+ "source",
2725
+ "byteLength",
2726
+ "revision"
2727
+ ]
2728
+ },
2729
+ "id": {
2730
+ "type": "string"
2731
+ },
2732
+ "change": {
2733
+ "type": "json"
2734
+ }
2735
+ },
2736
+ "required": [
2737
+ "document",
2738
+ "id",
2739
+ "change"
2740
+ ]
2741
+ },
2742
+ "errors": [
2743
+ "TRACK_CHANGE_NOT_FOUND",
2744
+ "NO_ACTIVE_DOCUMENT",
2745
+ "COLLABORATION_SYNC_TIMEOUT"
2746
+ ]
2747
+ },
2748
+ {
2749
+ "id": "doc.trackChanges.accept",
2750
+ "command": [
2751
+ "track-changes",
2752
+ "accept"
2753
+ ],
2754
+ "description": "Accept a tracked change by id.",
2755
+ "mutates": true,
2756
+ "requiresOpenContext": false,
2757
+ "params": [
2758
+ {
2759
+ "name": "doc",
2760
+ "kind": "doc",
2761
+ "type": "string"
2762
+ },
2763
+ {
2764
+ "name": "sessionId",
2765
+ "kind": "flag",
2766
+ "flag": "session",
2767
+ "type": "string"
2768
+ },
2769
+ {
2770
+ "name": "id",
2771
+ "kind": "flag",
2772
+ "flag": "id",
2773
+ "type": "string",
2774
+ "required": true
2775
+ },
2776
+ {
2777
+ "name": "out",
2778
+ "kind": "flag",
2779
+ "flag": "out",
2780
+ "type": "string"
2781
+ },
2782
+ {
2783
+ "name": "force",
2784
+ "kind": "flag",
2785
+ "flag": "force",
2786
+ "type": "boolean"
2787
+ },
2788
+ {
2789
+ "name": "expectedRevision",
2790
+ "kind": "flag",
2791
+ "flag": "expected-revision",
2792
+ "type": "number"
2793
+ }
2794
+ ],
2795
+ "response": {
2796
+ "type": "object",
2797
+ "properties": {
2798
+ "document": {
2799
+ "type": "object",
2800
+ "properties": {
2801
+ "path": {
2802
+ "type": "string"
2803
+ },
2804
+ "source": {
2805
+ "type": "string"
2806
+ },
2807
+ "byteLength": {
2808
+ "type": "number"
2809
+ },
2810
+ "revision": {
2811
+ "type": "number"
2812
+ }
2813
+ },
2814
+ "required": [
2815
+ "source",
2816
+ "byteLength",
2817
+ "revision"
2818
+ ]
2819
+ },
2820
+ "id": {
2821
+ "type": "string"
2822
+ },
2823
+ "receipt": {
2824
+ "type": "json"
2825
+ },
2826
+ "context": {
2827
+ "type": "object",
2828
+ "properties": {
2829
+ "dirty": {
2830
+ "type": "boolean"
2831
+ },
2832
+ "revision": {
2833
+ "type": "number"
2834
+ }
2835
+ },
2836
+ "required": [
2837
+ "dirty",
2838
+ "revision"
2839
+ ]
2840
+ },
2841
+ "output": {
2842
+ "type": "object",
2843
+ "properties": {
2844
+ "path": {
2845
+ "type": "string"
2846
+ },
2847
+ "byteLength": {
2848
+ "type": "number"
2849
+ }
2850
+ },
2851
+ "required": [
2852
+ "path",
2853
+ "byteLength"
2854
+ ]
2855
+ }
2856
+ },
2857
+ "required": [
2858
+ "document",
2859
+ "id",
2860
+ "receipt"
2861
+ ]
2862
+ },
2863
+ "errors": [
2864
+ "TRACK_CHANGE_NOT_FOUND",
2865
+ "REVISION_MISMATCH",
2866
+ "NO_ACTIVE_DOCUMENT",
2867
+ "COLLABORATION_SYNC_TIMEOUT"
2868
+ ]
2869
+ },
2870
+ {
2871
+ "id": "doc.trackChanges.reject",
2872
+ "command": [
2873
+ "track-changes",
2874
+ "reject"
2875
+ ],
2876
+ "description": "Reject a tracked change by id.",
2877
+ "mutates": true,
2878
+ "requiresOpenContext": false,
2879
+ "params": [
2880
+ {
2881
+ "name": "doc",
2882
+ "kind": "doc",
2883
+ "type": "string"
2884
+ },
2885
+ {
2886
+ "name": "sessionId",
2887
+ "kind": "flag",
2888
+ "flag": "session",
2889
+ "type": "string"
2890
+ },
2891
+ {
2892
+ "name": "id",
2893
+ "kind": "flag",
2894
+ "flag": "id",
2895
+ "type": "string",
2896
+ "required": true
2897
+ },
2898
+ {
2899
+ "name": "out",
2900
+ "kind": "flag",
2901
+ "flag": "out",
2902
+ "type": "string"
2903
+ },
2904
+ {
2905
+ "name": "force",
2906
+ "kind": "flag",
2907
+ "flag": "force",
2908
+ "type": "boolean"
2909
+ },
2910
+ {
2911
+ "name": "expectedRevision",
2912
+ "kind": "flag",
2913
+ "flag": "expected-revision",
2914
+ "type": "number"
2915
+ }
2916
+ ],
2917
+ "response": {
2918
+ "type": "object",
2919
+ "properties": {
2920
+ "document": {
2921
+ "type": "object",
2922
+ "properties": {
2923
+ "path": {
2924
+ "type": "string"
2925
+ },
2926
+ "source": {
2927
+ "type": "string"
2928
+ },
2929
+ "byteLength": {
2930
+ "type": "number"
2931
+ },
2932
+ "revision": {
2933
+ "type": "number"
2934
+ }
2935
+ },
2936
+ "required": [
2937
+ "source",
2938
+ "byteLength",
2939
+ "revision"
2940
+ ]
2941
+ },
2942
+ "id": {
2943
+ "type": "string"
2944
+ },
2945
+ "receipt": {
2946
+ "type": "json"
2947
+ },
2948
+ "context": {
2949
+ "type": "object",
2950
+ "properties": {
2951
+ "dirty": {
2952
+ "type": "boolean"
2953
+ },
2954
+ "revision": {
2955
+ "type": "number"
2956
+ }
2957
+ },
2958
+ "required": [
2959
+ "dirty",
2960
+ "revision"
2961
+ ]
2962
+ },
2963
+ "output": {
2964
+ "type": "object",
2965
+ "properties": {
2966
+ "path": {
2967
+ "type": "string"
2968
+ },
2969
+ "byteLength": {
2970
+ "type": "number"
2971
+ }
2972
+ },
2973
+ "required": [
2974
+ "path",
2975
+ "byteLength"
2976
+ ]
2977
+ }
2978
+ },
2979
+ "required": [
2980
+ "document",
2981
+ "id",
2982
+ "receipt"
2983
+ ]
2984
+ },
2985
+ "errors": [
2986
+ "TRACK_CHANGE_NOT_FOUND",
2987
+ "REVISION_MISMATCH",
2988
+ "NO_ACTIVE_DOCUMENT",
2989
+ "COLLABORATION_SYNC_TIMEOUT"
2990
+ ]
2991
+ },
2992
+ {
2993
+ "id": "doc.trackChanges.acceptAll",
2994
+ "command": [
2995
+ "track-changes",
2996
+ "accept-all"
2997
+ ],
2998
+ "description": "Accept all tracked changes.",
2999
+ "mutates": true,
3000
+ "requiresOpenContext": false,
3001
+ "params": [
3002
+ {
3003
+ "name": "doc",
3004
+ "kind": "doc",
3005
+ "type": "string"
3006
+ },
3007
+ {
3008
+ "name": "sessionId",
3009
+ "kind": "flag",
3010
+ "flag": "session",
3011
+ "type": "string"
3012
+ },
3013
+ {
3014
+ "name": "out",
3015
+ "kind": "flag",
3016
+ "flag": "out",
3017
+ "type": "string"
3018
+ },
3019
+ {
3020
+ "name": "force",
3021
+ "kind": "flag",
3022
+ "flag": "force",
3023
+ "type": "boolean"
3024
+ },
3025
+ {
3026
+ "name": "expectedRevision",
3027
+ "kind": "flag",
3028
+ "flag": "expected-revision",
3029
+ "type": "number"
3030
+ }
3031
+ ],
3032
+ "response": {
3033
+ "type": "object",
3034
+ "properties": {
3035
+ "document": {
3036
+ "type": "object",
3037
+ "properties": {
3038
+ "path": {
3039
+ "type": "string"
3040
+ },
3041
+ "source": {
3042
+ "type": "string"
3043
+ },
3044
+ "byteLength": {
3045
+ "type": "number"
3046
+ },
3047
+ "revision": {
3048
+ "type": "number"
3049
+ }
3050
+ },
3051
+ "required": [
3052
+ "source",
3053
+ "byteLength",
3054
+ "revision"
3055
+ ]
3056
+ },
3057
+ "receipt": {
3058
+ "type": "json"
3059
+ },
3060
+ "context": {
3061
+ "type": "object",
3062
+ "properties": {
3063
+ "dirty": {
3064
+ "type": "boolean"
3065
+ },
3066
+ "revision": {
3067
+ "type": "number"
3068
+ }
3069
+ },
3070
+ "required": [
3071
+ "dirty",
3072
+ "revision"
3073
+ ]
3074
+ },
3075
+ "output": {
3076
+ "type": "object",
3077
+ "properties": {
3078
+ "path": {
3079
+ "type": "string"
3080
+ },
3081
+ "byteLength": {
3082
+ "type": "number"
3083
+ }
3084
+ },
3085
+ "required": [
3086
+ "path",
3087
+ "byteLength"
3088
+ ]
3089
+ }
3090
+ },
3091
+ "required": [
3092
+ "document",
3093
+ "receipt"
3094
+ ]
3095
+ },
3096
+ "errors": [
3097
+ "REVISION_MISMATCH",
3098
+ "NO_ACTIVE_DOCUMENT",
3099
+ "COLLABORATION_SYNC_TIMEOUT"
3100
+ ]
3101
+ },
3102
+ {
3103
+ "id": "doc.trackChanges.rejectAll",
3104
+ "command": [
3105
+ "track-changes",
3106
+ "reject-all"
3107
+ ],
3108
+ "description": "Reject all tracked changes.",
3109
+ "mutates": true,
3110
+ "requiresOpenContext": false,
3111
+ "params": [
3112
+ {
3113
+ "name": "doc",
3114
+ "kind": "doc",
3115
+ "type": "string"
3116
+ },
3117
+ {
3118
+ "name": "sessionId",
3119
+ "kind": "flag",
3120
+ "flag": "session",
3121
+ "type": "string"
3122
+ },
3123
+ {
3124
+ "name": "out",
3125
+ "kind": "flag",
3126
+ "flag": "out",
3127
+ "type": "string"
3128
+ },
3129
+ {
3130
+ "name": "force",
3131
+ "kind": "flag",
3132
+ "flag": "force",
3133
+ "type": "boolean"
3134
+ },
3135
+ {
3136
+ "name": "expectedRevision",
3137
+ "kind": "flag",
3138
+ "flag": "expected-revision",
3139
+ "type": "number"
3140
+ }
3141
+ ],
3142
+ "response": {
3143
+ "type": "object",
3144
+ "properties": {
3145
+ "document": {
3146
+ "type": "object",
3147
+ "properties": {
3148
+ "path": {
3149
+ "type": "string"
3150
+ },
3151
+ "source": {
3152
+ "type": "string"
3153
+ },
3154
+ "byteLength": {
3155
+ "type": "number"
3156
+ },
3157
+ "revision": {
3158
+ "type": "number"
3159
+ }
3160
+ },
3161
+ "required": [
3162
+ "source",
3163
+ "byteLength",
3164
+ "revision"
3165
+ ]
3166
+ },
3167
+ "receipt": {
3168
+ "type": "json"
3169
+ },
3170
+ "context": {
3171
+ "type": "object",
3172
+ "properties": {
3173
+ "dirty": {
3174
+ "type": "boolean"
3175
+ },
3176
+ "revision": {
3177
+ "type": "number"
3178
+ }
3179
+ },
3180
+ "required": [
3181
+ "dirty",
3182
+ "revision"
3183
+ ]
3184
+ },
3185
+ "output": {
3186
+ "type": "object",
3187
+ "properties": {
3188
+ "path": {
3189
+ "type": "string"
3190
+ },
3191
+ "byteLength": {
3192
+ "type": "number"
3193
+ }
3194
+ },
3195
+ "required": [
3196
+ "path",
3197
+ "byteLength"
3198
+ ]
3199
+ }
3200
+ },
3201
+ "required": [
3202
+ "document",
3203
+ "receipt"
3204
+ ]
3205
+ },
3206
+ "errors": [
3207
+ "REVISION_MISMATCH",
3208
+ "NO_ACTIVE_DOCUMENT",
3209
+ "COLLABORATION_SYNC_TIMEOUT"
3210
+ ]
3211
+ },
3212
+ {
3213
+ "id": "doc.session.list",
3214
+ "command": [
3215
+ "session",
3216
+ "list"
3217
+ ],
3218
+ "description": "List sessions for the current project.",
3219
+ "mutates": false,
3220
+ "requiresOpenContext": false,
3221
+ "params": [],
3222
+ "response": {
3223
+ "type": "object",
3224
+ "properties": {
3225
+ "activeSessionId": {
3226
+ "type": "string"
3227
+ },
3228
+ "sessions": {
3229
+ "type": "array",
3230
+ "items": {
3231
+ "type": "object",
3232
+ "properties": {
3233
+ "sessionId": {
3234
+ "type": "string"
3235
+ },
3236
+ "source": {
3237
+ "type": "string"
3238
+ },
3239
+ "sourcePath": {
3240
+ "type": "string"
3241
+ },
3242
+ "dirty": {
3243
+ "type": "boolean"
3244
+ },
3245
+ "revision": {
3246
+ "type": "number"
3247
+ },
3248
+ "sessionType": {
3249
+ "type": "string"
3250
+ },
3251
+ "collaboration": {
3252
+ "type": "object",
3253
+ "properties": {
3254
+ "providerType": {
3255
+ "type": "string"
3256
+ },
3257
+ "url": {
3258
+ "type": "string"
3259
+ },
3260
+ "documentId": {
3261
+ "type": "string"
3262
+ },
3263
+ "tokenEnv": {
3264
+ "type": "string"
3265
+ },
3266
+ "syncTimeoutMs": {
3267
+ "type": "number"
3268
+ }
3269
+ },
3270
+ "required": [
3271
+ "providerType",
3272
+ "url",
3273
+ "documentId"
3274
+ ]
3275
+ },
3276
+ "openedAt": {
3277
+ "type": "string"
3278
+ },
3279
+ "updatedAt": {
3280
+ "type": "string"
3281
+ },
3282
+ "lastSavedAt": {
3283
+ "type": "string"
3284
+ }
3285
+ },
3286
+ "required": [
3287
+ "sessionId",
3288
+ "source",
3289
+ "dirty",
3290
+ "revision",
3291
+ "sessionType",
3292
+ "openedAt",
3293
+ "updatedAt"
3294
+ ]
3295
+ }
3296
+ },
3297
+ "total": {
3298
+ "type": "number"
3299
+ }
3300
+ },
3301
+ "required": [
3302
+ "sessions",
3303
+ "total"
3304
+ ]
3305
+ },
3306
+ "errors": []
3307
+ },
3308
+ {
3309
+ "id": "doc.session.close",
3310
+ "command": [
3311
+ "session",
3312
+ "close"
3313
+ ],
3314
+ "description": "Close a specific session by id.",
3315
+ "mutates": false,
3316
+ "requiresOpenContext": false,
3317
+ "params": [
3318
+ {
3319
+ "name": "sessionId",
3320
+ "kind": "doc",
3321
+ "type": "string",
3322
+ "required": true
3323
+ },
3324
+ {
3325
+ "name": "save",
3326
+ "kind": "flag",
3327
+ "flag": "save",
3328
+ "type": "boolean"
3329
+ },
3330
+ {
3331
+ "name": "inPlace",
3332
+ "kind": "flag",
3333
+ "flag": "in-place",
3334
+ "type": "boolean"
3335
+ },
3336
+ {
3337
+ "name": "out",
3338
+ "kind": "flag",
3339
+ "flag": "out",
3340
+ "type": "string"
3341
+ },
3342
+ {
3343
+ "name": "discard",
3344
+ "kind": "flag",
3345
+ "flag": "discard",
3346
+ "type": "boolean"
3347
+ },
3348
+ {
3349
+ "name": "force",
3350
+ "kind": "flag",
3351
+ "flag": "force",
3352
+ "type": "boolean"
3353
+ }
3354
+ ],
3355
+ "response": {
3356
+ "type": "object",
3357
+ "properties": {
3358
+ "sessionId": {
3359
+ "type": "string"
3360
+ },
3361
+ "contextId": {
3362
+ "type": "string"
3363
+ },
3364
+ "closed": {
3365
+ "type": "boolean"
3366
+ },
3367
+ "saved": {
3368
+ "type": "boolean"
3369
+ },
3370
+ "discarded": {
3371
+ "type": "boolean"
3372
+ },
3373
+ "defaultSessionCleared": {
3374
+ "type": "boolean"
3375
+ },
3376
+ "wasDirty": {
3377
+ "type": "boolean"
3378
+ },
3379
+ "document": {
3380
+ "type": "object",
3381
+ "properties": {
3382
+ "path": {
3383
+ "type": "string"
3384
+ },
3385
+ "source": {
3386
+ "type": "string"
3387
+ },
3388
+ "revision": {
3389
+ "type": "number"
3390
+ }
3391
+ },
3392
+ "required": [
3393
+ "source",
3394
+ "revision"
3395
+ ]
3396
+ },
3397
+ "output": {
3398
+ "type": "object",
3399
+ "properties": {
3400
+ "path": {
3401
+ "type": "string"
3402
+ },
3403
+ "byteLength": {
3404
+ "type": "number"
3405
+ }
3406
+ },
3407
+ "required": [
3408
+ "path",
3409
+ "byteLength"
3410
+ ]
3411
+ }
3412
+ },
3413
+ "required": [
3414
+ "sessionId",
3415
+ "contextId",
3416
+ "closed",
3417
+ "saved",
3418
+ "discarded",
3419
+ "defaultSessionCleared",
3420
+ "wasDirty",
3421
+ "document"
3422
+ ]
3423
+ },
3424
+ "errors": [
3425
+ "SESSION_NOT_FOUND",
3426
+ "DIRTY_CLOSE_REQUIRES_DECISION",
3427
+ "SOURCE_DRIFT_DETECTED",
3428
+ "COLLABORATION_SYNC_TIMEOUT"
3429
+ ]
3430
+ },
3431
+ {
3432
+ "id": "doc.session.setDefault",
3433
+ "command": [
3434
+ "session",
3435
+ "set-default"
3436
+ ],
3437
+ "description": "Set the default session id for the current project.",
3438
+ "mutates": false,
3439
+ "requiresOpenContext": false,
3440
+ "params": [
3441
+ {
3442
+ "name": "sessionId",
3443
+ "kind": "doc",
3444
+ "type": "string",
3445
+ "required": true
3446
+ }
3447
+ ],
3448
+ "response": {
3449
+ "type": "object",
3450
+ "properties": {
3451
+ "activeSessionId": {
3452
+ "type": "string"
3453
+ }
3454
+ },
3455
+ "required": [
3456
+ "activeSessionId"
3457
+ ]
3458
+ },
3459
+ "errors": [
3460
+ "SESSION_NOT_FOUND"
3461
+ ]
3462
+ }
3463
+ ]
3464
+ } as const;
3465
+
3466
+ export type Contract = typeof CONTRACT;
3467
+ export type OperationSpec = Contract['operations'][number];