@sentropic/focus 0.3.0 → 0.5.0-rc.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.
Files changed (100) hide show
  1. package/README.md +9 -0
  2. package/dist/cli/index.d.ts +1 -1
  3. package/dist/cli/index.d.ts.map +1 -1
  4. package/dist/cli/index.js +12 -3
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/editing/anchors.d.ts +14 -0
  7. package/dist/editing/anchors.d.ts.map +1 -0
  8. package/dist/editing/anchors.js +113 -0
  9. package/dist/editing/anchors.js.map +1 -0
  10. package/dist/editing/codec.d.ts +24 -0
  11. package/dist/editing/codec.d.ts.map +1 -0
  12. package/dist/editing/codec.js +143 -0
  13. package/dist/editing/codec.js.map +1 -0
  14. package/dist/editing/contract.d.ts +129 -0
  15. package/dist/editing/contract.d.ts.map +1 -0
  16. package/dist/editing/contract.js +76 -0
  17. package/dist/editing/contract.js.map +1 -0
  18. package/dist/editing/diff.d.ts +12 -0
  19. package/dist/editing/diff.d.ts.map +1 -0
  20. package/dist/editing/diff.js +125 -0
  21. package/dist/editing/diff.js.map +1 -0
  22. package/dist/editing/digest.d.ts +6 -0
  23. package/dist/editing/digest.d.ts.map +1 -0
  24. package/dist/editing/digest.js +56 -0
  25. package/dist/editing/digest.js.map +1 -0
  26. package/dist/editing/index.d.ts +7 -0
  27. package/dist/editing/index.d.ts.map +1 -0
  28. package/dist/editing/index.js +7 -0
  29. package/dist/editing/index.js.map +1 -0
  30. package/dist/editing/reconcile.d.ts +66 -0
  31. package/dist/editing/reconcile.d.ts.map +1 -0
  32. package/dist/editing/reconcile.js +167 -0
  33. package/dist/editing/reconcile.js.map +1 -0
  34. package/dist/editing/structure.d.ts +24 -0
  35. package/dist/editing/structure.d.ts.map +1 -0
  36. package/dist/editing/structure.js +71 -0
  37. package/dist/editing/structure.js.map +1 -0
  38. package/dist/index.d.ts +4 -1
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +2 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/model.d.ts +144 -2
  43. package/dist/model.d.ts.map +1 -1
  44. package/dist/model.js +1 -1
  45. package/dist/model.js.map +1 -1
  46. package/dist/registry/definitions.d.ts +159 -0
  47. package/dist/registry/definitions.d.ts.map +1 -0
  48. package/dist/registry/definitions.js +509 -0
  49. package/dist/registry/definitions.js.map +1 -0
  50. package/dist/render/evidence.d.ts +10 -0
  51. package/dist/render/evidence.d.ts.map +1 -0
  52. package/dist/render/evidence.js +37 -0
  53. package/dist/render/evidence.js.map +1 -0
  54. package/dist/render/html.d.ts.map +1 -1
  55. package/dist/render/html.js +14 -1
  56. package/dist/render/html.js.map +1 -1
  57. package/dist/render/md.d.ts.map +1 -1
  58. package/dist/render/md.js +15 -1
  59. package/dist/render/md.js.map +1 -1
  60. package/dist/render/presentation.d.ts +4 -0
  61. package/dist/render/presentation.d.ts.map +1 -0
  62. package/dist/render/presentation.js +25 -0
  63. package/dist/render/presentation.js.map +1 -0
  64. package/dist/render/terminal.d.ts.map +1 -1
  65. package/dist/render/terminal.js +15 -1
  66. package/dist/render/terminal.js.map +1 -1
  67. package/dist/track/index.d.ts.map +1 -1
  68. package/dist/track/index.js +24 -10
  69. package/dist/track/index.js.map +1 -1
  70. package/dist/validation/evidence-bytes.d.ts +5 -0
  71. package/dist/validation/evidence-bytes.d.ts.map +1 -0
  72. package/dist/validation/evidence-bytes.js +57 -0
  73. package/dist/validation/evidence-bytes.js.map +1 -0
  74. package/dist/validation/evidence-shape.d.ts +12 -0
  75. package/dist/validation/evidence-shape.d.ts.map +1 -0
  76. package/dist/validation/evidence-shape.js +54 -0
  77. package/dist/validation/evidence-shape.js.map +1 -0
  78. package/dist/validation/evidence-sources.d.ts +7 -0
  79. package/dist/validation/evidence-sources.d.ts.map +1 -0
  80. package/dist/validation/evidence-sources.js +56 -0
  81. package/dist/validation/evidence-sources.js.map +1 -0
  82. package/dist/validation/evidence.d.ts +5 -0
  83. package/dist/validation/evidence.d.ts.map +1 -0
  84. package/dist/validation/evidence.js +131 -0
  85. package/dist/validation/evidence.js.map +1 -0
  86. package/dist/validation/index.d.ts +59 -0
  87. package/dist/validation/index.d.ts.map +1 -0
  88. package/dist/validation/index.js +500 -0
  89. package/dist/validation/index.js.map +1 -0
  90. package/dist/validation/readability.d.ts +28 -0
  91. package/dist/validation/readability.d.ts.map +1 -0
  92. package/dist/validation/readability.js +265 -0
  93. package/dist/validation/readability.js.map +1 -0
  94. package/package.json +36 -8
  95. package/registry/entries.v1.json +140 -0
  96. package/schemas/decision-dossier-document.v1.schema.json +193 -0
  97. package/schemas/decision-dossier-document.v2.schema.json +925 -0
  98. package/schemas/focus-edit-return.v1.schema.json +950 -0
  99. package/schemas/focus-editing-manifest.v1.schema.json +167 -0
  100. package/skills/focus/SKILL.md +181 -0
@@ -0,0 +1,950 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "urn:sentropic:focus:FocusEditReturn:1.0.0",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "properties": {
7
+ "kind": {
8
+ "const": "focus.return"
9
+ },
10
+ "schemaVersion": {
11
+ "const": 1
12
+ },
13
+ "returnId": {
14
+ "type": "string",
15
+ "minLength": 1
16
+ },
17
+ "digest": {
18
+ "type": "string",
19
+ "pattern": "^sha256:[a-f0-9]{64}$"
20
+ },
21
+ "capture": {
22
+ "type": "object",
23
+ "additionalProperties": false,
24
+ "properties": {
25
+ "at": {
26
+ "type": "string",
27
+ "minLength": 1
28
+ }
29
+ },
30
+ "required": [
31
+ "at"
32
+ ]
33
+ },
34
+ "scope": {
35
+ "anyOf": [
36
+ {
37
+ "type": "object",
38
+ "additionalProperties": false,
39
+ "properties": {
40
+ "workspaceId": {
41
+ "type": "string",
42
+ "minLength": 1
43
+ }
44
+ },
45
+ "required": [
46
+ "workspaceId"
47
+ ]
48
+ },
49
+ {
50
+ "type": "null"
51
+ }
52
+ ]
53
+ },
54
+ "source": {
55
+ "type": "object",
56
+ "additionalProperties": false,
57
+ "properties": {
58
+ "documentRef": {
59
+ "type": "string",
60
+ "minLength": 1
61
+ },
62
+ "hash": {
63
+ "type": "string"
64
+ },
65
+ "cursor": {
66
+ "type": "string"
67
+ },
68
+ "baseHash": {
69
+ "type": "string",
70
+ "pattern": "^sha256:[a-f0-9]{64}$"
71
+ },
72
+ "manifestId": {
73
+ "type": "string",
74
+ "minLength": 1
75
+ },
76
+ "manifestBaseHash": {
77
+ "type": "string",
78
+ "pattern": "^sha256:[a-f0-9]{64}$"
79
+ }
80
+ },
81
+ "required": [
82
+ "documentRef",
83
+ "hash",
84
+ "cursor",
85
+ "baseHash",
86
+ "manifestId",
87
+ "manifestBaseHash"
88
+ ]
89
+ },
90
+ "production": {
91
+ "anyOf": [
92
+ {
93
+ "type": "object",
94
+ "additionalProperties": false,
95
+ "properties": {
96
+ "producerId": {
97
+ "type": "string",
98
+ "minLength": 1
99
+ },
100
+ "generationId": {
101
+ "type": "string",
102
+ "minLength": 1
103
+ },
104
+ "requestId": {
105
+ "type": "string",
106
+ "minLength": 1
107
+ }
108
+ },
109
+ "required": [
110
+ "producerId",
111
+ "generationId",
112
+ "requestId"
113
+ ]
114
+ },
115
+ {
116
+ "type": "null"
117
+ }
118
+ ]
119
+ },
120
+ "manifest": {
121
+ "type": "object",
122
+ "additionalProperties": false,
123
+ "properties": {
124
+ "schemaVersion": {
125
+ "const": 1
126
+ },
127
+ "manifestId": {
128
+ "type": "string",
129
+ "minLength": 1
130
+ },
131
+ "documentRef": {
132
+ "type": "string",
133
+ "minLength": 1
134
+ },
135
+ "baseHash": {
136
+ "type": "string",
137
+ "pattern": "^sha256:[a-f0-9]{64}$"
138
+ },
139
+ "manifestBaseHash": {
140
+ "type": "string",
141
+ "pattern": "^sha256:[a-f0-9]{64}$"
142
+ },
143
+ "fields": {
144
+ "type": "array",
145
+ "items": {
146
+ "type": "object",
147
+ "additionalProperties": false,
148
+ "properties": {
149
+ "nodeId": {
150
+ "type": "string",
151
+ "minLength": 1
152
+ },
153
+ "targetRef": {
154
+ "type": "string",
155
+ "minLength": 1
156
+ },
157
+ "field": {
158
+ "enum": [
159
+ "markdown",
160
+ "question",
161
+ "recommendedAnswer",
162
+ "context",
163
+ "label",
164
+ "body",
165
+ "consequence"
166
+ ]
167
+ },
168
+ "contentFormat": {
169
+ "enum": [
170
+ "text/plain",
171
+ "focus.markdown.p0@1"
172
+ ]
173
+ },
174
+ "blockKind": {
175
+ "enum": [
176
+ "prose",
177
+ "question",
178
+ "option"
179
+ ]
180
+ }
181
+ },
182
+ "required": [
183
+ "nodeId",
184
+ "targetRef",
185
+ "field",
186
+ "contentFormat",
187
+ "blockKind"
188
+ ]
189
+ }
190
+ },
191
+ "paragraphs": {
192
+ "type": "array",
193
+ "items": {
194
+ "type": "object",
195
+ "additionalProperties": false,
196
+ "properties": {
197
+ "nodeId": {
198
+ "type": "string",
199
+ "minLength": 1
200
+ },
201
+ "targetRef": {
202
+ "type": "string",
203
+ "minLength": 1
204
+ },
205
+ "field": {
206
+ "enum": [
207
+ "markdown",
208
+ "question",
209
+ "recommendedAnswer",
210
+ "context",
211
+ "label",
212
+ "body",
213
+ "consequence"
214
+ ]
215
+ },
216
+ "paragraphId": {
217
+ "type": "string",
218
+ "minLength": 1
219
+ },
220
+ "blockKind": {
221
+ "const": "paragraph"
222
+ },
223
+ "parentId": {
224
+ "type": "null"
225
+ },
226
+ "order": {
227
+ "type": "integer",
228
+ "minimum": 0
229
+ },
230
+ "range": {
231
+ "type": "object",
232
+ "additionalProperties": false,
233
+ "properties": {
234
+ "start": {
235
+ "type": "integer",
236
+ "minimum": 0
237
+ },
238
+ "end": {
239
+ "type": "integer",
240
+ "minimum": 0
241
+ },
242
+ "unit": {
243
+ "const": "utf16"
244
+ }
245
+ },
246
+ "required": [
247
+ "start",
248
+ "end",
249
+ "unit"
250
+ ]
251
+ }
252
+ },
253
+ "required": [
254
+ "nodeId",
255
+ "targetRef",
256
+ "field",
257
+ "paragraphId",
258
+ "blockKind",
259
+ "parentId",
260
+ "order",
261
+ "range"
262
+ ]
263
+ }
264
+ },
265
+ "retiredParagraphIds": {
266
+ "type": "array",
267
+ "items": {
268
+ "type": "string",
269
+ "minLength": 1
270
+ },
271
+ "uniqueItems": true
272
+ }
273
+ },
274
+ "required": [
275
+ "schemaVersion",
276
+ "manifestId",
277
+ "documentRef",
278
+ "baseHash",
279
+ "manifestBaseHash",
280
+ "fields",
281
+ "paragraphs",
282
+ "retiredParagraphIds"
283
+ ]
284
+ },
285
+ "answers": {
286
+ "type": "array",
287
+ "items": {
288
+ "type": "object",
289
+ "additionalProperties": false,
290
+ "properties": {
291
+ "questionId": {
292
+ "type": "string",
293
+ "minLength": 1
294
+ },
295
+ "targetRef": {
296
+ "type": "string",
297
+ "minLength": 1
298
+ },
299
+ "optionIds": {
300
+ "type": "array",
301
+ "items": {
302
+ "type": "string",
303
+ "minLength": 1
304
+ },
305
+ "uniqueItems": true
306
+ },
307
+ "text": {
308
+ "type": [
309
+ "string",
310
+ "null"
311
+ ]
312
+ }
313
+ },
314
+ "required": [
315
+ "questionId",
316
+ "targetRef",
317
+ "optionIds",
318
+ "text"
319
+ ]
320
+ }
321
+ },
322
+ "notes": {
323
+ "type": "array",
324
+ "items": {
325
+ "type": "object",
326
+ "additionalProperties": false,
327
+ "properties": {
328
+ "targetRef": {
329
+ "type": "string",
330
+ "minLength": 1
331
+ },
332
+ "text": {
333
+ "type": [
334
+ "string",
335
+ "null"
336
+ ]
337
+ }
338
+ },
339
+ "required": [
340
+ "targetRef",
341
+ "text"
342
+ ]
343
+ }
344
+ },
345
+ "editReturn": {
346
+ "type": "object",
347
+ "additionalProperties": false,
348
+ "properties": {
349
+ "schemaVersion": {
350
+ "const": 1
351
+ },
352
+ "mode": {
353
+ "const": "cumulative"
354
+ },
355
+ "transactions": {
356
+ "type": "array",
357
+ "items": {
358
+ "type": "object",
359
+ "additionalProperties": false,
360
+ "properties": {
361
+ "transactionId": {
362
+ "type": "string",
363
+ "minLength": 1
364
+ },
365
+ "changes": {
366
+ "type": "array",
367
+ "items": {
368
+ "anyOf": [
369
+ {
370
+ "type": "object",
371
+ "additionalProperties": false,
372
+ "properties": {
373
+ "nodeId": {
374
+ "type": "string",
375
+ "minLength": 1
376
+ },
377
+ "targetRef": {
378
+ "type": "string",
379
+ "minLength": 1
380
+ },
381
+ "field": {
382
+ "enum": [
383
+ "markdown",
384
+ "question",
385
+ "recommendedAnswer",
386
+ "context",
387
+ "label",
388
+ "body",
389
+ "consequence"
390
+ ]
391
+ },
392
+ "documentRef": {
393
+ "type": "string",
394
+ "minLength": 1
395
+ },
396
+ "paragraphId": {
397
+ "type": "string",
398
+ "minLength": 1
399
+ },
400
+ "changeId": {
401
+ "type": "string",
402
+ "minLength": 1
403
+ },
404
+ "blockKind": {
405
+ "const": "paragraph"
406
+ },
407
+ "format": {
408
+ "enum": [
409
+ "text/plain",
410
+ "focus.markdown.p0@1"
411
+ ]
412
+ },
413
+ "operation": {
414
+ "const": "replace"
415
+ },
416
+ "before": {
417
+ "type": "string"
418
+ },
419
+ "after": {
420
+ "type": "string"
421
+ },
422
+ "anchors": {
423
+ "type": "object",
424
+ "additionalProperties": false,
425
+ "properties": {
426
+ "parentId": {
427
+ "type": "null"
428
+ },
429
+ "previousParagraphId": {
430
+ "anyOf": [
431
+ {
432
+ "type": "string",
433
+ "minLength": 1
434
+ },
435
+ {
436
+ "type": "null"
437
+ }
438
+ ]
439
+ },
440
+ "nextParagraphId": {
441
+ "anyOf": [
442
+ {
443
+ "type": "string",
444
+ "minLength": 1
445
+ },
446
+ {
447
+ "type": "null"
448
+ }
449
+ ]
450
+ }
451
+ },
452
+ "required": [
453
+ "parentId",
454
+ "previousParagraphId",
455
+ "nextParagraphId"
456
+ ]
457
+ },
458
+ "beforeAnchors": {
459
+ "type": "object",
460
+ "additionalProperties": false,
461
+ "properties": {
462
+ "parentId": {
463
+ "type": "null"
464
+ },
465
+ "previousParagraphId": {
466
+ "anyOf": [
467
+ {
468
+ "type": "string",
469
+ "minLength": 1
470
+ },
471
+ {
472
+ "type": "null"
473
+ }
474
+ ]
475
+ },
476
+ "nextParagraphId": {
477
+ "anyOf": [
478
+ {
479
+ "type": "string",
480
+ "minLength": 1
481
+ },
482
+ {
483
+ "type": "null"
484
+ }
485
+ ]
486
+ }
487
+ },
488
+ "required": [
489
+ "parentId",
490
+ "previousParagraphId",
491
+ "nextParagraphId"
492
+ ]
493
+ }
494
+ },
495
+ "required": [
496
+ "nodeId",
497
+ "targetRef",
498
+ "field",
499
+ "documentRef",
500
+ "paragraphId",
501
+ "changeId",
502
+ "blockKind",
503
+ "format",
504
+ "operation",
505
+ "before",
506
+ "after",
507
+ "anchors",
508
+ "beforeAnchors"
509
+ ]
510
+ },
511
+ {
512
+ "type": "object",
513
+ "additionalProperties": false,
514
+ "properties": {
515
+ "nodeId": {
516
+ "type": "string",
517
+ "minLength": 1
518
+ },
519
+ "targetRef": {
520
+ "type": "string",
521
+ "minLength": 1
522
+ },
523
+ "field": {
524
+ "enum": [
525
+ "markdown",
526
+ "question",
527
+ "recommendedAnswer",
528
+ "context",
529
+ "label",
530
+ "body",
531
+ "consequence"
532
+ ]
533
+ },
534
+ "documentRef": {
535
+ "type": "string",
536
+ "minLength": 1
537
+ },
538
+ "paragraphId": {
539
+ "type": "string",
540
+ "minLength": 1
541
+ },
542
+ "changeId": {
543
+ "type": "string",
544
+ "minLength": 1
545
+ },
546
+ "blockKind": {
547
+ "const": "paragraph"
548
+ },
549
+ "format": {
550
+ "enum": [
551
+ "text/plain",
552
+ "focus.markdown.p0@1"
553
+ ]
554
+ },
555
+ "operation": {
556
+ "const": "insert"
557
+ },
558
+ "before": {
559
+ "type": "null"
560
+ },
561
+ "after": {
562
+ "type": "string"
563
+ },
564
+ "anchors": {
565
+ "type": "object",
566
+ "additionalProperties": false,
567
+ "properties": {
568
+ "parentId": {
569
+ "type": "null"
570
+ },
571
+ "previousParagraphId": {
572
+ "anyOf": [
573
+ {
574
+ "type": "string",
575
+ "minLength": 1
576
+ },
577
+ {
578
+ "type": "null"
579
+ }
580
+ ]
581
+ },
582
+ "nextParagraphId": {
583
+ "anyOf": [
584
+ {
585
+ "type": "string",
586
+ "minLength": 1
587
+ },
588
+ {
589
+ "type": "null"
590
+ }
591
+ ]
592
+ }
593
+ },
594
+ "required": [
595
+ "parentId",
596
+ "previousParagraphId",
597
+ "nextParagraphId"
598
+ ]
599
+ },
600
+ "beforeAnchors": {
601
+ "type": "null"
602
+ }
603
+ },
604
+ "required": [
605
+ "nodeId",
606
+ "targetRef",
607
+ "field",
608
+ "documentRef",
609
+ "paragraphId",
610
+ "changeId",
611
+ "blockKind",
612
+ "format",
613
+ "operation",
614
+ "before",
615
+ "after",
616
+ "anchors",
617
+ "beforeAnchors"
618
+ ]
619
+ },
620
+ {
621
+ "type": "object",
622
+ "additionalProperties": false,
623
+ "properties": {
624
+ "nodeId": {
625
+ "type": "string",
626
+ "minLength": 1
627
+ },
628
+ "targetRef": {
629
+ "type": "string",
630
+ "minLength": 1
631
+ },
632
+ "field": {
633
+ "enum": [
634
+ "markdown",
635
+ "question",
636
+ "recommendedAnswer",
637
+ "context",
638
+ "label",
639
+ "body",
640
+ "consequence"
641
+ ]
642
+ },
643
+ "documentRef": {
644
+ "type": "string",
645
+ "minLength": 1
646
+ },
647
+ "paragraphId": {
648
+ "type": "string",
649
+ "minLength": 1
650
+ },
651
+ "changeId": {
652
+ "type": "string",
653
+ "minLength": 1
654
+ },
655
+ "blockKind": {
656
+ "const": "paragraph"
657
+ },
658
+ "format": {
659
+ "enum": [
660
+ "text/plain",
661
+ "focus.markdown.p0@1"
662
+ ]
663
+ },
664
+ "operation": {
665
+ "const": "delete"
666
+ },
667
+ "before": {
668
+ "type": "string"
669
+ },
670
+ "after": {
671
+ "type": "null"
672
+ },
673
+ "anchors": {
674
+ "type": "object",
675
+ "additionalProperties": false,
676
+ "properties": {
677
+ "parentId": {
678
+ "type": "null"
679
+ },
680
+ "previousParagraphId": {
681
+ "anyOf": [
682
+ {
683
+ "type": "string",
684
+ "minLength": 1
685
+ },
686
+ {
687
+ "type": "null"
688
+ }
689
+ ]
690
+ },
691
+ "nextParagraphId": {
692
+ "anyOf": [
693
+ {
694
+ "type": "string",
695
+ "minLength": 1
696
+ },
697
+ {
698
+ "type": "null"
699
+ }
700
+ ]
701
+ }
702
+ },
703
+ "required": [
704
+ "parentId",
705
+ "previousParagraphId",
706
+ "nextParagraphId"
707
+ ]
708
+ },
709
+ "beforeAnchors": {
710
+ "type": "object",
711
+ "additionalProperties": false,
712
+ "properties": {
713
+ "parentId": {
714
+ "type": "null"
715
+ },
716
+ "previousParagraphId": {
717
+ "anyOf": [
718
+ {
719
+ "type": "string",
720
+ "minLength": 1
721
+ },
722
+ {
723
+ "type": "null"
724
+ }
725
+ ]
726
+ },
727
+ "nextParagraphId": {
728
+ "anyOf": [
729
+ {
730
+ "type": "string",
731
+ "minLength": 1
732
+ },
733
+ {
734
+ "type": "null"
735
+ }
736
+ ]
737
+ }
738
+ },
739
+ "required": [
740
+ "parentId",
741
+ "previousParagraphId",
742
+ "nextParagraphId"
743
+ ]
744
+ }
745
+ },
746
+ "required": [
747
+ "nodeId",
748
+ "targetRef",
749
+ "field",
750
+ "documentRef",
751
+ "paragraphId",
752
+ "changeId",
753
+ "blockKind",
754
+ "format",
755
+ "operation",
756
+ "before",
757
+ "after",
758
+ "anchors",
759
+ "beforeAnchors"
760
+ ]
761
+ },
762
+ {
763
+ "type": "object",
764
+ "additionalProperties": false,
765
+ "properties": {
766
+ "nodeId": {
767
+ "type": "string",
768
+ "minLength": 1
769
+ },
770
+ "targetRef": {
771
+ "type": "string",
772
+ "minLength": 1
773
+ },
774
+ "field": {
775
+ "enum": [
776
+ "markdown",
777
+ "question",
778
+ "recommendedAnswer",
779
+ "context",
780
+ "label",
781
+ "body",
782
+ "consequence"
783
+ ]
784
+ },
785
+ "documentRef": {
786
+ "type": "string",
787
+ "minLength": 1
788
+ },
789
+ "paragraphId": {
790
+ "type": "string",
791
+ "minLength": 1
792
+ },
793
+ "changeId": {
794
+ "type": "string",
795
+ "minLength": 1
796
+ },
797
+ "blockKind": {
798
+ "const": "paragraph"
799
+ },
800
+ "format": {
801
+ "enum": [
802
+ "text/plain",
803
+ "focus.markdown.p0@1"
804
+ ]
805
+ },
806
+ "operation": {
807
+ "const": "move"
808
+ },
809
+ "before": {
810
+ "type": "string"
811
+ },
812
+ "after": {
813
+ "type": "string"
814
+ },
815
+ "anchors": {
816
+ "type": "object",
817
+ "additionalProperties": false,
818
+ "properties": {
819
+ "parentId": {
820
+ "type": "null"
821
+ },
822
+ "previousParagraphId": {
823
+ "anyOf": [
824
+ {
825
+ "type": "string",
826
+ "minLength": 1
827
+ },
828
+ {
829
+ "type": "null"
830
+ }
831
+ ]
832
+ },
833
+ "nextParagraphId": {
834
+ "anyOf": [
835
+ {
836
+ "type": "string",
837
+ "minLength": 1
838
+ },
839
+ {
840
+ "type": "null"
841
+ }
842
+ ]
843
+ }
844
+ },
845
+ "required": [
846
+ "parentId",
847
+ "previousParagraphId",
848
+ "nextParagraphId"
849
+ ]
850
+ },
851
+ "beforeAnchors": {
852
+ "type": "object",
853
+ "additionalProperties": false,
854
+ "properties": {
855
+ "parentId": {
856
+ "type": "null"
857
+ },
858
+ "previousParagraphId": {
859
+ "anyOf": [
860
+ {
861
+ "type": "string",
862
+ "minLength": 1
863
+ },
864
+ {
865
+ "type": "null"
866
+ }
867
+ ]
868
+ },
869
+ "nextParagraphId": {
870
+ "anyOf": [
871
+ {
872
+ "type": "string",
873
+ "minLength": 1
874
+ },
875
+ {
876
+ "type": "null"
877
+ }
878
+ ]
879
+ }
880
+ },
881
+ "required": [
882
+ "parentId",
883
+ "previousParagraphId",
884
+ "nextParagraphId"
885
+ ]
886
+ }
887
+ },
888
+ "required": [
889
+ "nodeId",
890
+ "targetRef",
891
+ "field",
892
+ "documentRef",
893
+ "paragraphId",
894
+ "changeId",
895
+ "blockKind",
896
+ "format",
897
+ "operation",
898
+ "before",
899
+ "after",
900
+ "anchors",
901
+ "beforeAnchors"
902
+ ]
903
+ }
904
+ ]
905
+ },
906
+ "minItems": 1
907
+ }
908
+ },
909
+ "required": [
910
+ "transactionId",
911
+ "changes"
912
+ ]
913
+ }
914
+ },
915
+ "supersedesReturnId": {
916
+ "type": "string",
917
+ "minLength": 1
918
+ },
919
+ "supersededReturnIds": {
920
+ "type": "array",
921
+ "items": {
922
+ "type": "string",
923
+ "minLength": 1
924
+ },
925
+ "uniqueItems": true
926
+ }
927
+ },
928
+ "required": [
929
+ "schemaVersion",
930
+ "mode",
931
+ "transactions",
932
+ "supersededReturnIds"
933
+ ]
934
+ }
935
+ },
936
+ "required": [
937
+ "kind",
938
+ "schemaVersion",
939
+ "returnId",
940
+ "digest",
941
+ "capture",
942
+ "scope",
943
+ "source",
944
+ "production",
945
+ "manifest",
946
+ "answers",
947
+ "notes",
948
+ "editReturn"
949
+ ]
950
+ }