@plasm_lang/vercel-agent 0.3.121 → 0.3.123

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,960 @@
1
+ version: 27
2
+ http_backend: https://www.proofeditor.ai
3
+ auth:
4
+ scheme: bearer_token
5
+ env: PROOF_API_TOKEN
6
+ hosted_kv: plasm:outbound:v1:catalog:proof
7
+ # Omit PROOF_API_TOKEN when the session already bound the doc via document_share_bind (share flows).
8
+ optional_env: true
9
+
10
+ data_classes:
11
+ untrusted:
12
+ description: User-authored or externally sourced text (document/block/event content from any collaborator).
13
+ severity: untrusted
14
+ credentials:
15
+ description: Access token or secret used to authenticate document access.
16
+ severity: critical
17
+ external_publish:
18
+ description: Document content change visible to all collaborators on the shared document.
19
+ severity: critical
20
+
21
+ entities:
22
+ Document:
23
+ id_field: slug
24
+ description: Read or edit a shared Proof document (title, body, auth hints).
25
+ primary_read: document_get
26
+ fields:
27
+ slug:
28
+ value_ref: nv_proof_document_ref
29
+ required: true
30
+ markdown:
31
+ value_ref: nv_proof_markdown
32
+ required: false
33
+ data_class: untrusted
34
+ title:
35
+ value_ref: nv_proof_str
36
+ required: false
37
+ links:
38
+ value_ref: nv_proof_json
39
+ required: false
40
+ path: _links
41
+ description: "SDK link bundle (state, ops, docs). Wire key _links."
42
+ agent_auth:
43
+ value_ref: nv_proof_json
44
+ required: false
45
+ path: agent.auth
46
+ description: "Auth hints from share JSON agent.auth (token source, header names)."
47
+ relations:
48
+ blocks:
49
+ target: Block
50
+ cardinality: many
51
+ description: Blocks from the latest snapshot—use for edits that need stable block ids.
52
+ materialize:
53
+ kind: query_scoped
54
+ capability: block_query
55
+ param: document_id
56
+ collaboration_events:
57
+ target: CollaborationEvent
58
+ cardinality: many
59
+ description: Recent collaboration updates you have not acknowledged yet.
60
+ materialize:
61
+ kind: query_scoped
62
+ capability: collaboration_event_query
63
+ param: document_id
64
+
65
+ EditorState:
66
+ id_field: slug
67
+ description: Fetch before editing with others—includes snapshot revision, baseToken precondition, marks, and collaboration rules.
68
+ domain_projection_examples: false
69
+ fields:
70
+ slug:
71
+ value_ref: nv_proof_document_ref
72
+ required: true
73
+ marks:
74
+ value_ref: nv_proof_json
75
+ required: false
76
+ path: marks
77
+ contract:
78
+ value_ref: nv_proof_json
79
+ required: false
80
+ path: contract
81
+ description: Rules for how this session may edit the document.
82
+ connected_clients:
83
+ value_ref: nv_proof_int
84
+ required: false
85
+ path: connectedClients
86
+ revision:
87
+ value_ref: nv_proof_int
88
+ required: false
89
+ description: Snapshot revision number—send as base_revision on edit/v2 only (not as an event cursor).
90
+ base_token:
91
+ value_ref: nv_proof_base_token
92
+ required: false
93
+ path: []
94
+ derive:
95
+ type: colon_pair_prefer_keys_else_block_refs
96
+ prefer_keys: [baseToken]
97
+ blocks_key: blocks
98
+ ref_field: ref
99
+ segment: mt1
100
+ description: Mutation precondition token (mt1 snapshot-hash segment)—from wire baseToken when set; otherwise parsed from the first block ref (colon-separated snapshot ref). The host caches it for /ops after editor_state_get
101
+ collab:
102
+ value_ref: nv_proof_json
103
+ required: false
104
+ path: collab
105
+ raw:
106
+ value_ref: nv_proof_json
107
+ required: false
108
+ description: Full server state when you need fields not listed above.
109
+
110
+ Block:
111
+ id_field: ref
112
+ description: One chunk of the document in the current snapshot. Refresh the snapshot after others edit before you change structure again
113
+ domain_projection_examples: false
114
+ fields:
115
+ ref:
116
+ value_ref: nv_proof_block_ref
117
+ required: true
118
+ ordinal_ref:
119
+ value_ref: nv_proof_block_ref
120
+ required: false
121
+ path: ordinalRef
122
+ markdown:
123
+ value_ref: nv_proof_markdown
124
+ required: false
125
+ data_class: untrusted
126
+ block_kind:
127
+ value_ref: nv_proof_str
128
+ required: false
129
+ path: type
130
+
131
+ CollaborationEvent:
132
+ id_field: id
133
+ description: One collaboration update. Poll for new rows; acknowledge what you processed.
134
+ domain_projection_examples: false
135
+ fields:
136
+ id:
137
+ value_ref: nv_proof_event_id
138
+ required: true
139
+ kind:
140
+ value_ref: nv_proof_str
141
+ required: false
142
+ path: type
143
+ description: Server event type string (wire `type`).
144
+ at:
145
+ value_ref: nv_proof_str
146
+ required: false
147
+ path: createdAt
148
+ payload:
149
+ value_ref: nv_proof_json
150
+ required: false
151
+ path: data
152
+ description: Parsed event body—comment/mark/thread details live here (wire `data`).
153
+ data_class: untrusted
154
+ actor:
155
+ value_ref: nv_proof_str
156
+ required: false
157
+ path: actor
158
+ acked_at:
159
+ value_ref: nv_proof_str
160
+ required: false
161
+ path: ackedAt
162
+ acked_by:
163
+ value_ref: nv_proof_str
164
+ required: false
165
+ path: ackedBy
166
+
167
+ ShareLink:
168
+ id_field: slug
169
+ description: Result of creating a new shared document (ids, link, token).
170
+ fields:
171
+ slug:
172
+ value_ref: nv_proof_document_ref
173
+ required: false
174
+ url:
175
+ value_ref: nv_proof_str
176
+ required: false
177
+ description: Short doc path from create (`url`).
178
+ share_url:
179
+ value_ref: nv_proof_str
180
+ required: false
181
+ path: shareUrl
182
+ description: Web share URL without query token.
183
+ token_url:
184
+ value_ref: nv_proof_str
185
+ required: false
186
+ path: tokenUrl
187
+ description: Full share URL including `?token=`—use for document_share_bind or API calls.
188
+ data_class: credentials
189
+ token_path:
190
+ value_ref: nv_proof_str
191
+ required: false
192
+ path: tokenPath
193
+ description: Path-style URL with token query for CLI-style copy/paste.
194
+ data_class: credentials
195
+ token:
196
+ value_ref: nv_proof_str
197
+ required: false
198
+ path: accessToken
199
+ description: Link access token (`accessToken` on wire)—send as Bearer or `token` query.
200
+ data_class: credentials
201
+ raw:
202
+ value_ref: nv_proof_json
203
+ required: false
204
+
205
+ BugReport:
206
+ id_field: id
207
+ description: Response after you report a bug to Proof support.
208
+ domain_projection_examples: false
209
+ fields:
210
+ id:
211
+ value_ref: nv_proof_str
212
+ required: false
213
+ status:
214
+ value_ref: nv_proof_str
215
+ required: false
216
+ fixer_brief:
217
+ value_ref: nv_proof_markdown
218
+ required: false
219
+ raw:
220
+ value_ref: nv_proof_json
221
+ required: false
222
+
223
+ capabilities:
224
+ document_get:
225
+ description: Get title, body, links, and auth hints for this document.
226
+ kind: get
227
+ entity: Document
228
+ parameters:
229
+ - name: share_token
230
+ value_ref: nv_proof_str
231
+ required: false
232
+ provides:
233
+ - slug
234
+ - markdown
235
+ - title
236
+ - links
237
+ - agent_auth
238
+
239
+ document_get_markdown:
240
+ description: Get the document body as markdown only.
241
+ kind: get
242
+ entity: Document
243
+ parameters:
244
+ - name: share_token
245
+ value_ref: nv_proof_str
246
+ required: false
247
+ provides:
248
+ - slug
249
+ - markdown
250
+
251
+ document_share_bind:
252
+ description: >
253
+ Bind this session to a share URL (preferred: full URL with embedded `?token=`) for this slug.
254
+ Later calls reuse stored credentials. Success returns 0 rows — session side effect only, not a readable row.
255
+ Clears any stored mutation precondition token—call editor_state_get again before /ops writes.
256
+ Pass share_token alone only when you cannot supply share_url; token-only bind is less reliable across session rehydrate.
257
+ kind: action
258
+ entity: Document
259
+ parameters:
260
+ - name: share_url
261
+ value_ref: nv_proof_str
262
+ required: false
263
+ - name: share_token
264
+ value_ref: nv_proof_str
265
+ required: false
266
+ output:
267
+ type: side_effect
268
+ description: Session stores share credentials for later Proof requests.
269
+
270
+ editor_state_get:
271
+ description: >
272
+ Read editor state before collaborating; the host remembers baseToken for later /ops mutations
273
+ (override with base_token= on a call if you must).
274
+ kind: get
275
+ entity: EditorState
276
+ parameters:
277
+ - name: kinds
278
+ value_ref: nv_proof_str
279
+ required: false
280
+ role: response_control
281
+ provides:
282
+ - slug
283
+ - marks
284
+ - contract
285
+ - connected_clients
286
+ - revision
287
+ - base_token
288
+ - collab
289
+
290
+ block_query:
291
+ description: List blocks from the current snapshot so edits use stable block ids.
292
+ kind: query
293
+ entity: Block
294
+ parameters:
295
+ - name: document_id
296
+ value_ref: nv_proof_document_ref
297
+ required: true
298
+ role: scope
299
+ provides:
300
+ - ref
301
+ - ordinal_ref
302
+ - markdown
303
+ - block_kind
304
+
305
+ collaboration_event_query:
306
+ description: List collaboration updates after a given event id.
307
+ kind: query
308
+ entity: CollaborationEvent
309
+ parameters:
310
+ - name: document_id
311
+ value_ref: nv_proof_document_ref
312
+ required: true
313
+ role: scope
314
+ - name: after
315
+ value_ref: nv_proof_event_id
316
+ required: false
317
+ - name: limit
318
+ value_ref: nv_proof_int
319
+ required: false
320
+ role: response_control
321
+ provides:
322
+ - id
323
+ - kind
324
+ - at
325
+ - payload
326
+ - actor
327
+ - acked_at
328
+ - acked_by
329
+
330
+ document_edit_v2:
331
+ description: >
332
+ Apply one batch of block edits. Use base_revision from your latest snapshot (integer—not baseToken).
333
+ Combine replace, insert, delete, range replace, and find/replace steps in one request when needed.
334
+ kind: action
335
+ entity: Document
336
+ parameters:
337
+ - name: agent_id
338
+ value_ref: nv_proof_agent_id
339
+ required: true
340
+ - name: idempotency_key
341
+ value_ref: nv_proof_uuid
342
+ required: false
343
+ - name: share_token
344
+ value_ref: nv_proof_str
345
+ required: false
346
+ input_schema:
347
+ description: >
348
+ Send author id, snapshot base_revision, and an ordered list of edit operations.
349
+ input_type:
350
+ type: object
351
+ additional_fields: false
352
+ fields:
353
+ - name: by
354
+ value_ref: nv_proof_str
355
+ required: true
356
+ - name: base_revision
357
+ value_ref: nv_proof_int
358
+ required: true
359
+ - name: operations
360
+ required: true
361
+ input_type:
362
+ type: array
363
+ element_type:
364
+ type: union
365
+ variants:
366
+ - name: replace_block
367
+ constructor_symbol: v101
368
+ description: Replace one block’s markdown.
369
+ wire:
370
+ field: op
371
+ value: replace_block
372
+ fields:
373
+ - name: ref
374
+ value_ref: nv_proof_block_ref
375
+ required: true
376
+ - name: markdown
377
+ value_ref: nv_proof_markdown
378
+ required: true
379
+ wire_json_path:
380
+ - block
381
+ - markdown
382
+ sink_class: external_publish
383
+ - name: insert_before
384
+ constructor_symbol: v102
385
+ description: Insert blocks before the anchor block.
386
+ wire:
387
+ field: op
388
+ value: insert_before
389
+ fields:
390
+ - name: ref
391
+ value_ref: nv_proof_block_ref
392
+ required: true
393
+ - name: blocks
394
+ value_ref: nv_proof_insert_blocks_markdown
395
+ required: true
396
+ wire_array_element_key: markdown
397
+ sink_class: external_publish
398
+ - name: insert_after
399
+ constructor_symbol: v103
400
+ description: Insert blocks after the anchor block.
401
+ wire:
402
+ field: op
403
+ value: insert_after
404
+ fields:
405
+ - name: ref
406
+ value_ref: nv_proof_block_ref
407
+ required: true
408
+ - name: blocks
409
+ value_ref: nv_proof_insert_blocks_markdown
410
+ required: true
411
+ wire_array_element_key: markdown
412
+ sink_class: external_publish
413
+ - name: delete_block
414
+ constructor_symbol: v104
415
+ description: Delete one block.
416
+ wire:
417
+ field: op
418
+ value: delete_block
419
+ fields:
420
+ - name: ref
421
+ value_ref: nv_proof_block_ref
422
+ required: true
423
+ - name: replace_range
424
+ constructor_symbol: v105
425
+ description: Replace a range of blocks with new blocks.
426
+ wire:
427
+ field: op
428
+ value: replace_range
429
+ fields:
430
+ - name: fromRef
431
+ value_ref: nv_proof_block_ref
432
+ required: true
433
+ - name: toRef
434
+ value_ref: nv_proof_block_ref
435
+ required: true
436
+ - name: blocks
437
+ value_ref: nv_proof_insert_blocks_markdown
438
+ required: true
439
+ wire_array_element_key: markdown
440
+ sink_class: external_publish
441
+ - name: find_replace_in_block
442
+ constructor_symbol: v106
443
+ description: Find and replace text inside one block.
444
+ wire:
445
+ field: op
446
+ value: find_replace_in_block
447
+ fields:
448
+ - name: ref
449
+ value_ref: nv_proof_block_ref
450
+ required: true
451
+ - name: find
452
+ value_ref: nv_proof_markdown
453
+ required: true
454
+ - name: replace
455
+ value_ref: nv_proof_markdown
456
+ required: true
457
+ sink_class: external_publish
458
+ - name: occurrence
459
+ value_ref: nv_proof_occurrence
460
+ required: false
461
+ - name: find_replace_in_doc
462
+ constructor_symbol: v107
463
+ description: Find and replace text across the document (optional block range or kind filter).
464
+ wire:
465
+ field: op
466
+ value: find_replace_in_doc
467
+ fields:
468
+ - name: find
469
+ value_ref: nv_proof_markdown
470
+ required: true
471
+ - name: replace
472
+ value_ref: nv_proof_markdown
473
+ required: true
474
+ sink_class: external_publish
475
+ - name: occurrence
476
+ value_ref: nv_proof_occurrence
477
+ required: false
478
+ - name: fromRef
479
+ value_ref: nv_proof_block_ref
480
+ required: false
481
+ - name: toRef
482
+ value_ref: nv_proof_block_ref
483
+ required: false
484
+ - name: blockFilter
485
+ value_ref: nv_proof_str
486
+ required: false
487
+ validation:
488
+ allow_null: false
489
+ output:
490
+ type: side_effect
491
+ description: Updates document content when base_revision matches the server snapshot.
492
+
493
+ annotation_comment_add:
494
+ description: Start a comment thread on quoted text from the document.
495
+ kind: action
496
+ entity: Document
497
+ parameters:
498
+ - name: agent_id
499
+ value_ref: nv_proof_agent_id
500
+ required: true
501
+ - name: by
502
+ value_ref: nv_proof_str
503
+ required: true
504
+ - name: quote
505
+ value_ref: nv_proof_markdown
506
+ required: true
507
+ - name: text
508
+ value_ref: nv_proof_markdown
509
+ required: true
510
+ sink_class: external_publish
511
+ - name: base_token
512
+ value_ref: nv_proof_base_token
513
+ required: false
514
+ - name: share_token
515
+ value_ref: nv_proof_str
516
+ required: false
517
+ output:
518
+ type: side_effect
519
+ description: Adds a comment thread on that quote.
520
+
521
+ annotation_comment_reply:
522
+ description: Reply in a thread; optionally mark it resolved in the same step.
523
+ kind: action
524
+ entity: Document
525
+ parameters:
526
+ - name: agent_id
527
+ value_ref: nv_proof_agent_id
528
+ required: true
529
+ - name: by
530
+ value_ref: nv_proof_str
531
+ required: true
532
+ - name: mark_id
533
+ value_ref: nv_proof_str
534
+ required: true
535
+ - name: text
536
+ value_ref: nv_proof_markdown
537
+ required: true
538
+ sink_class: external_publish
539
+ - name: resolve
540
+ value_ref: nv_proof_bool
541
+ required: false
542
+ - name: base_token
543
+ value_ref: nv_proof_base_token
544
+ required: false
545
+ - name: share_token
546
+ value_ref: nv_proof_str
547
+ required: false
548
+ output:
549
+ type: side_effect
550
+ description: Adds the reply and updates resolved state if you set resolve.
551
+
552
+ annotation_comment_resolve:
553
+ description: Mark a thread resolved; history stays visible.
554
+ kind: action
555
+ entity: Document
556
+ parameters:
557
+ - name: agent_id
558
+ value_ref: nv_proof_agent_id
559
+ required: true
560
+ - name: by
561
+ value_ref: nv_proof_str
562
+ required: true
563
+ - name: mark_id
564
+ value_ref: nv_proof_str
565
+ required: true
566
+ - name: base_token
567
+ value_ref: nv_proof_base_token
568
+ required: false
569
+ - name: share_token
570
+ value_ref: nv_proof_str
571
+ required: false
572
+ output:
573
+ type: side_effect
574
+ description: Shows the thread as resolved for everyone.
575
+
576
+ annotation_comment_unresolve:
577
+ description: Open a resolved thread for more discussion.
578
+ kind: action
579
+ entity: Document
580
+ parameters:
581
+ - name: agent_id
582
+ value_ref: nv_proof_agent_id
583
+ required: true
584
+ - name: by
585
+ value_ref: nv_proof_str
586
+ required: true
587
+ - name: mark_id
588
+ value_ref: nv_proof_str
589
+ required: true
590
+ - name: base_token
591
+ value_ref: nv_proof_base_token
592
+ required: false
593
+ - name: share_token
594
+ value_ref: nv_proof_str
595
+ required: false
596
+ output:
597
+ type: side_effect
598
+ description: Marks the thread open again.
599
+
600
+ annotation_suggestion_insert:
601
+ description: Propose inserting text after a quoted passage for a human to accept or reject.
602
+ kind: action
603
+ entity: Document
604
+ parameters:
605
+ - name: agent_id
606
+ value_ref: nv_proof_agent_id
607
+ required: true
608
+ - name: by
609
+ value_ref: nv_proof_str
610
+ required: true
611
+ - name: quote
612
+ value_ref: nv_proof_markdown
613
+ required: true
614
+ - name: content
615
+ value_ref: nv_proof_markdown
616
+ required: true
617
+ sink_class: external_publish
618
+ - name: base_token
619
+ value_ref: nv_proof_base_token
620
+ required: false
621
+ - name: idempotency_key
622
+ value_ref: nv_proof_uuid
623
+ required: false
624
+ - name: share_token
625
+ value_ref: nv_proof_str
626
+ required: false
627
+ - name: status
628
+ value_ref: nv_proof_str
629
+ required: false
630
+ output:
631
+ type: side_effect
632
+ description: Creates a pending insert suggestion others can accept or reject.
633
+
634
+ annotation_suggestion_delete:
635
+ description: Propose deleting a quoted passage for a human to accept or reject.
636
+ kind: action
637
+ entity: Document
638
+ parameters:
639
+ - name: agent_id
640
+ value_ref: nv_proof_agent_id
641
+ required: true
642
+ - name: by
643
+ value_ref: nv_proof_str
644
+ required: true
645
+ - name: quote
646
+ value_ref: nv_proof_markdown
647
+ required: true
648
+ - name: base_token
649
+ value_ref: nv_proof_base_token
650
+ required: false
651
+ - name: idempotency_key
652
+ value_ref: nv_proof_uuid
653
+ required: false
654
+ - name: share_token
655
+ value_ref: nv_proof_str
656
+ required: false
657
+ - name: status
658
+ value_ref: nv_proof_str
659
+ required: false
660
+ output:
661
+ type: side_effect
662
+ description: Creates a pending delete suggestion others can accept or reject.
663
+
664
+ annotation_suggestion_replace:
665
+ description: Propose replacing a quoted passage with new content for a human to accept or reject.
666
+ kind: action
667
+ entity: Document
668
+ parameters:
669
+ - name: agent_id
670
+ value_ref: nv_proof_agent_id
671
+ required: true
672
+ - name: by
673
+ value_ref: nv_proof_str
674
+ required: true
675
+ - name: quote
676
+ value_ref: nv_proof_markdown
677
+ required: true
678
+ - name: content
679
+ value_ref: nv_proof_markdown
680
+ required: true
681
+ sink_class: external_publish
682
+ - name: base_token
683
+ value_ref: nv_proof_base_token
684
+ required: false
685
+ - name: idempotency_key
686
+ value_ref: nv_proof_uuid
687
+ required: false
688
+ - name: share_token
689
+ value_ref: nv_proof_str
690
+ required: false
691
+ - name: status
692
+ value_ref: nv_proof_str
693
+ required: false
694
+ output:
695
+ type: side_effect
696
+ description: Creates a pending replace suggestion others can accept or reject.
697
+
698
+ annotation_suggestion_accept:
699
+ description: Accept a pending suggestion and apply it to the document.
700
+ kind: action
701
+ entity: Document
702
+ parameters:
703
+ - name: agent_id
704
+ value_ref: nv_proof_agent_id
705
+ required: true
706
+ - name: by
707
+ value_ref: nv_proof_str
708
+ required: true
709
+ - name: mark_id
710
+ value_ref: nv_proof_str
711
+ required: true
712
+ - name: base_token
713
+ value_ref: nv_proof_base_token
714
+ required: false
715
+ - name: share_token
716
+ value_ref: nv_proof_str
717
+ required: false
718
+ output:
719
+ type: side_effect
720
+ description: Applies the change per server rules and updates the suggestion mark.
721
+
722
+ annotation_suggestion_reject:
723
+ description: Reject a pending suggestion without changing the document body.
724
+ kind: action
725
+ entity: Document
726
+ parameters:
727
+ - name: agent_id
728
+ value_ref: nv_proof_agent_id
729
+ required: true
730
+ - name: by
731
+ value_ref: nv_proof_str
732
+ required: true
733
+ - name: mark_id
734
+ value_ref: nv_proof_str
735
+ required: true
736
+ - name: base_token
737
+ value_ref: nv_proof_base_token
738
+ required: false
739
+ - name: share_token
740
+ value_ref: nv_proof_str
741
+ required: false
742
+ output:
743
+ type: side_effect
744
+ description: Removes the suggestion from the active list.
745
+
746
+ annotation_comment_batch_apply:
747
+ description: Apply several comment updates in one request.
748
+ kind: action
749
+ entity: Document
750
+ parameters:
751
+ - name: agent_id
752
+ value_ref: nv_proof_agent_id
753
+ required: true
754
+ - name: by
755
+ value_ref: nv_proof_str
756
+ required: true
757
+ - name: share_token
758
+ value_ref: nv_proof_str
759
+ required: false
760
+ - name: base_token
761
+ value_ref: nv_proof_base_token
762
+ required: false
763
+ input_schema:
764
+ input_type:
765
+ type: object
766
+ additional_fields: false
767
+ fields:
768
+ - name: operations
769
+ required: true
770
+ input_type:
771
+ type: array
772
+ element_type:
773
+ type: union
774
+ variants:
775
+ - name: comment_reply
776
+ constructor_symbol: v210
777
+ description: Reply in a thread; optionally resolve in the same step.
778
+ wire:
779
+ field: type
780
+ value: comment.reply
781
+ fields:
782
+ - name: mark_id
783
+ value_ref: nv_proof_str
784
+ required: true
785
+ wire_json_path:
786
+ - markId
787
+ - name: text
788
+ value_ref: nv_proof_markdown
789
+ required: true
790
+ sink_class: external_publish
791
+ - name: resolve
792
+ value_ref: nv_proof_bool
793
+ required: false
794
+ - name: comment_resolve
795
+ constructor_symbol: v211
796
+ description: Resolve a thread; keep history.
797
+ wire:
798
+ field: type
799
+ value: comment.resolve
800
+ fields:
801
+ - name: mark_id
802
+ value_ref: nv_proof_str
803
+ required: true
804
+ wire_json_path:
805
+ - markId
806
+ - name: comment_unresolve
807
+ constructor_symbol: v212
808
+ description: Unresolve a thread for more replies.
809
+ wire:
810
+ field: type
811
+ value: comment.unresolve
812
+ fields:
813
+ - name: mark_id
814
+ value_ref: nv_proof_str
815
+ required: true
816
+ wire_json_path:
817
+ - markId
818
+ validation:
819
+ allow_null: false
820
+ description: Ordered list of reply, resolve, or unresolve steps from one author.
821
+ output:
822
+ type: side_effect
823
+ description: Applies every step or applies none, per server rules.
824
+
825
+ collaboration_event_ack:
826
+ description: Tell the server how far you read the collaboration event stream.
827
+ kind: action
828
+ entity: Document
829
+ parameters:
830
+ - name: agent_id
831
+ value_ref: nv_proof_agent_id
832
+ required: true
833
+ - name: up_to_id
834
+ value_ref: nv_proof_event_id
835
+ required: true
836
+ - name: by
837
+ value_ref: nv_proof_str
838
+ required: true
839
+ - name: share_token
840
+ value_ref: nv_proof_str
841
+ required: false
842
+ output:
843
+ type: side_effect
844
+ description: Records how far you processed events for later polls.
845
+
846
+ presence_update:
847
+ description: >
848
+ You MUST announce presence before you edit or comment—call this once per document after share binding
849
+ kind: action
850
+ entity: Document
851
+ parameters:
852
+ - name: agent_id
853
+ value_ref: nv_proof_agent_id
854
+ required: true
855
+ - name: presence_status
856
+ value_ref: nv_proof_str
857
+ required: false
858
+ output:
859
+ type: side_effect
860
+ description: Shows this agent as active in the document session for collaborators.
861
+
862
+ share_link_create:
863
+ description: Create a new shared document from markdown.
864
+ kind: create
865
+ entity: ShareLink
866
+ parameters:
867
+ - name: markdown
868
+ value_ref: nv_proof_markdown
869
+ required: true
870
+ sink_class: external_publish
871
+
872
+ bug_report_submit:
873
+ description: Report a bug in Proof itself—not about editing this document.
874
+ kind: create
875
+ entity: BugReport
876
+ parameters:
877
+ - name: report
878
+ value_ref: nv_proof_markdown
879
+ required: true
880
+ description: Full bug report (steps, expected vs actual, errors, request ids, environment).
881
+
882
+ document_bug_report_submit:
883
+ description: Report a bug and include this document as context.
884
+ kind: action
885
+ entity: Document
886
+ parameters:
887
+ - name: report
888
+ value_ref: nv_proof_markdown
889
+ required: true
890
+ description: Full bug report (steps, expected vs actual, errors, request ids, environment).
891
+ output:
892
+ type: side_effect
893
+ description: Sends diagnostics only; does not change the document.
894
+ provides:
895
+ - status
896
+ - fixer_brief
897
+ - raw
898
+
899
+ values:
900
+ nv_proof_document_ref:
901
+ type: entity_ref
902
+ target: Document
903
+ description: Document slug or id this API uses.
904
+
905
+ nv_proof_event_id:
906
+ type: string
907
+ string_semantics: short
908
+ description: Event id from the pending collaboration stream—use for after= and ack up_to_id only.
909
+
910
+ nv_proof_base_token:
911
+ type: string
912
+ string_semantics: short
913
+ description: mt1 precondition string exposed on EditorState (wire baseToken or derived from block refs); host stores it after editor_state_get—pass only to override
914
+
915
+ nv_proof_block_ref:
916
+ type: string
917
+ string_semantics: short
918
+ description: >
919
+ Block id from your current snapshot. Refresh the snapshot after others edit before you reuse ids.
920
+
921
+ nv_proof_agent_id:
922
+ type: string
923
+ string_semantics: short
924
+ description: Stable name for this agent on edits (shows in attribution).
925
+
926
+ nv_proof_str:
927
+ type: string
928
+ string_semantics: short
929
+ description: Short text.
930
+
931
+ nv_proof_markdown:
932
+ type: string
933
+ string_semantics: markdown
934
+
935
+ nv_proof_json:
936
+ type: json
937
+ description: JSON object (links, auth hints, extra fields).
938
+
939
+ nv_proof_int:
940
+ type: integer
941
+ description: Integer (revision, counts, limits).
942
+
943
+ nv_proof_bool:
944
+ type: boolean
945
+ description: true/false flag (for example resolve thread).
946
+
947
+ nv_proof_uuid:
948
+ type: uuid
949
+ description: Optional idempotency key so you can retry the same edit batch safely.
950
+
951
+ nv_proof_occurrence:
952
+ type: select
953
+ allowed_values: [first, all]
954
+ description: Replace only the first match or every match in range.
955
+
956
+ nv_proof_insert_blocks_markdown:
957
+ type: array
958
+ items:
959
+ value_ref: nv_proof_markdown
960
+ description: New blocks in order from top to bottom.