@aopslab/domain-tooling-docman 0.1.4

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,4071 @@
1
+ {
2
+ "kind": "docman-agent-manifest",
3
+ "version": "v1",
4
+ "domain": "docman",
5
+ "generatedAt": "2026-07-20T21:30:17.545Z",
6
+ "tools": [
7
+ {
8
+ "toolId": "docman.asset-version.create",
9
+ "localToolId": "docman-asset-version-create",
10
+ "domain": "docman",
11
+ "operationId": "asset-version.create",
12
+ "title": "Asset version create",
13
+ "summary": "Asset version create",
14
+ "sideEffect": "db",
15
+ "tags": [
16
+ "kind:create",
17
+ "resource:asset-version",
18
+ "service:assetVersionService"
19
+ ],
20
+ "inputSchemaRef": "asset-version.create.input",
21
+ "outputSchemaRef": "asset-version.create.output",
22
+ "policy": {
23
+ "scope": "tenant",
24
+ "auth": {
25
+ "required": true
26
+ },
27
+ "safety": {
28
+ "destructive": false,
29
+ "applyRequired": true,
30
+ "confirmationRequired": false
31
+ },
32
+ "rateLimit": {
33
+ "bucket": "docman-write",
34
+ "max": 60,
35
+ "windowSeconds": 60
36
+ }
37
+ },
38
+ "aliases": [
39
+ "asset-version.create",
40
+ "docman.asset-version.create",
41
+ "docman-asset-version-create",
42
+ "operations/asset-version/create",
43
+ "/operations/asset-version/create"
44
+ ],
45
+ "notes": [
46
+ "asset-version stores content-addressed source/publication metadata for one immutable resource revision",
47
+ "mutable follow-up updates should stay limited to lifecycle metadata such as status, label, variants, or meta",
48
+ "compose-time asset resolution expects a publication locator on sourceUrl when source content references this version",
49
+ "required args: data"
50
+ ],
51
+ "examples": [
52
+ "{\"data\":{\"assetId\":\"<assetId>\",\"version\":1,\"status\":\"ready\",\"filename\":\"architecture.png\",\"mime\":\"image/png\",\"contentHash\":\"sha256:<hash>\",\"sourceUrl\":\"https://cdn.example.test/assets/architecture.v1.png\"}}"
53
+ ],
54
+ "route": {
55
+ "method": "POST",
56
+ "pattern": "/asset-versions"
57
+ }
58
+ },
59
+ {
60
+ "toolId": "docman.asset-version.delete",
61
+ "localToolId": "docman-asset-version-delete",
62
+ "domain": "docman",
63
+ "operationId": "asset-version.delete",
64
+ "title": "Asset version delete",
65
+ "summary": "Asset version delete",
66
+ "sideEffect": "db",
67
+ "tags": [
68
+ "kind:delete",
69
+ "resource:asset-version",
70
+ "service:assetVersionService"
71
+ ],
72
+ "inputSchemaRef": "asset-version.delete.input",
73
+ "outputSchemaRef": "asset-version.delete.output",
74
+ "policy": {
75
+ "scope": "tenant",
76
+ "auth": {
77
+ "required": true
78
+ },
79
+ "safety": {
80
+ "destructive": true,
81
+ "applyRequired": true,
82
+ "confirmationRequired": false
83
+ },
84
+ "rateLimit": {
85
+ "bucket": "docman-write-destructive",
86
+ "max": 30,
87
+ "windowSeconds": 60
88
+ }
89
+ },
90
+ "aliases": [
91
+ "asset-version.delete",
92
+ "docman.asset-version.delete",
93
+ "docman-asset-version-delete",
94
+ "operations/asset-version/delete",
95
+ "/operations/asset-version/delete"
96
+ ],
97
+ "notes": [
98
+ "required args: id"
99
+ ],
100
+ "examples": [
101
+ "{\"id\":\"<id>\"}"
102
+ ],
103
+ "route": {
104
+ "method": "DELETE",
105
+ "pattern": "/asset-versions/:id"
106
+ }
107
+ },
108
+ {
109
+ "toolId": "docman.asset-version.get",
110
+ "localToolId": "docman-asset-version-get",
111
+ "domain": "docman",
112
+ "operationId": "asset-version.get",
113
+ "title": "Asset version get",
114
+ "summary": "Asset version get",
115
+ "sideEffect": "none",
116
+ "tags": [
117
+ "kind:get",
118
+ "resource:asset-version",
119
+ "service:assetVersionService"
120
+ ],
121
+ "inputSchemaRef": "asset-version.get.input",
122
+ "outputSchemaRef": "asset-version.get.output",
123
+ "policy": {
124
+ "scope": "tenant",
125
+ "auth": {
126
+ "required": true
127
+ },
128
+ "rateLimit": {
129
+ "bucket": "docman-read",
130
+ "max": 240,
131
+ "windowSeconds": 60
132
+ }
133
+ },
134
+ "aliases": [
135
+ "asset-version.get",
136
+ "docman.asset-version.get",
137
+ "docman-asset-version-get",
138
+ "operations/asset-version/get",
139
+ "/operations/asset-version/get"
140
+ ],
141
+ "notes": [
142
+ "required args: id",
143
+ "optional args: options"
144
+ ],
145
+ "examples": [
146
+ "{\"id\":\"<id>\",\"options\":{}}"
147
+ ],
148
+ "route": {
149
+ "method": "GET",
150
+ "pattern": "/asset-versions/:id"
151
+ }
152
+ },
153
+ {
154
+ "toolId": "docman.asset-version.list",
155
+ "localToolId": "docman-asset-version-list",
156
+ "domain": "docman",
157
+ "operationId": "asset-version.list",
158
+ "title": "Asset version list",
159
+ "summary": "Asset version list",
160
+ "sideEffect": "none",
161
+ "tags": [
162
+ "kind:list",
163
+ "resource:asset-version",
164
+ "service:assetVersionService"
165
+ ],
166
+ "inputSchemaRef": "asset-version.list.input",
167
+ "outputSchemaRef": "asset-version.list.output",
168
+ "policy": {
169
+ "scope": "tenant",
170
+ "auth": {
171
+ "required": true
172
+ },
173
+ "rateLimit": {
174
+ "bucket": "docman-read",
175
+ "max": 180,
176
+ "windowSeconds": 60
177
+ }
178
+ },
179
+ "aliases": [
180
+ "asset-version.list",
181
+ "docman.asset-version.list",
182
+ "docman-asset-version-list",
183
+ "operations/asset-version/list",
184
+ "/operations/asset-version/list"
185
+ ],
186
+ "notes": [
187
+ "optional args: filter, options"
188
+ ],
189
+ "examples": [
190
+ "{\"filter\":{\"assetId\":\"<assetId>\",\"status\":\"ready\"},\"options\":{}}"
191
+ ],
192
+ "route": {
193
+ "method": "GET",
194
+ "pattern": "/asset-versions"
195
+ }
196
+ },
197
+ {
198
+ "toolId": "docman.asset-version.update",
199
+ "localToolId": "docman-asset-version-update",
200
+ "domain": "docman",
201
+ "operationId": "asset-version.update",
202
+ "title": "Asset version update",
203
+ "summary": "Asset version update",
204
+ "sideEffect": "db",
205
+ "tags": [
206
+ "kind:update",
207
+ "resource:asset-version",
208
+ "service:assetVersionService"
209
+ ],
210
+ "inputSchemaRef": "asset-version.update.input",
211
+ "outputSchemaRef": "asset-version.update.output",
212
+ "policy": {
213
+ "scope": "tenant",
214
+ "auth": {
215
+ "required": true
216
+ },
217
+ "safety": {
218
+ "destructive": false,
219
+ "applyRequired": true,
220
+ "confirmationRequired": false
221
+ },
222
+ "rateLimit": {
223
+ "bucket": "docman-write",
224
+ "max": 60,
225
+ "windowSeconds": 60
226
+ }
227
+ },
228
+ "aliases": [
229
+ "asset-version.update",
230
+ "docman.asset-version.update",
231
+ "docman-asset-version-update",
232
+ "operations/asset-version/update",
233
+ "/operations/asset-version/update"
234
+ ],
235
+ "notes": [
236
+ "asset-version update is intended for lifecycle metadata only",
237
+ "required args: id, patch"
238
+ ],
239
+ "examples": [
240
+ "{\"id\":\"<id>\",\"patch\":{\"status\":\"ready\",\"label\":\"published\"}}"
241
+ ],
242
+ "route": {
243
+ "method": "PATCH",
244
+ "pattern": "/asset-versions/:id"
245
+ }
246
+ },
247
+ {
248
+ "toolId": "docman.asset.create",
249
+ "localToolId": "docman-asset-create",
250
+ "domain": "docman",
251
+ "operationId": "asset.create",
252
+ "title": "Asset create",
253
+ "summary": "Asset create",
254
+ "sideEffect": "db",
255
+ "tags": [
256
+ "kind:create",
257
+ "resource:asset",
258
+ "service:assetService"
259
+ ],
260
+ "inputSchemaRef": "asset.create.input",
261
+ "outputSchemaRef": "asset.create.output",
262
+ "policy": {
263
+ "scope": "tenant",
264
+ "auth": {
265
+ "required": true
266
+ },
267
+ "safety": {
268
+ "destructive": false,
269
+ "applyRequired": true,
270
+ "confirmationRequired": false
271
+ },
272
+ "rateLimit": {
273
+ "bucket": "docman-write",
274
+ "max": 60,
275
+ "windowSeconds": 60
276
+ }
277
+ },
278
+ "aliases": [
279
+ "asset.create",
280
+ "docman.asset.create",
281
+ "docman-asset-create",
282
+ "operations/asset/create",
283
+ "/operations/asset/create"
284
+ ],
285
+ "notes": [
286
+ "asset is the durable logical owner for publish-grade resources such as images and attached files",
287
+ "placement concerns stay outside asset identity and should continue through embed/page-embed-link style records",
288
+ "required args: data"
289
+ ],
290
+ "examples": [
291
+ "{\"data\":{\"assetUid\":\"AST-EXAMPLE-001\",\"kind\":\"image\",\"title\":\"Architecture diagram\",\"altText\":\"System architecture overview\"}}"
292
+ ],
293
+ "route": {
294
+ "method": "POST",
295
+ "pattern": "/assets"
296
+ }
297
+ },
298
+ {
299
+ "toolId": "docman.asset.delete",
300
+ "localToolId": "docman-asset-delete",
301
+ "domain": "docman",
302
+ "operationId": "asset.delete",
303
+ "title": "Asset delete",
304
+ "summary": "Asset delete",
305
+ "sideEffect": "db",
306
+ "tags": [
307
+ "kind:delete",
308
+ "resource:asset",
309
+ "service:assetService"
310
+ ],
311
+ "inputSchemaRef": "asset.delete.input",
312
+ "outputSchemaRef": "asset.delete.output",
313
+ "policy": {
314
+ "scope": "tenant",
315
+ "auth": {
316
+ "required": true
317
+ },
318
+ "safety": {
319
+ "destructive": true,
320
+ "applyRequired": true,
321
+ "confirmationRequired": false
322
+ },
323
+ "rateLimit": {
324
+ "bucket": "docman-write-destructive",
325
+ "max": 30,
326
+ "windowSeconds": 60
327
+ }
328
+ },
329
+ "aliases": [
330
+ "asset.delete",
331
+ "docman.asset.delete",
332
+ "docman-asset-delete",
333
+ "operations/asset/delete",
334
+ "/operations/asset/delete"
335
+ ],
336
+ "notes": [
337
+ "required args: id"
338
+ ],
339
+ "examples": [
340
+ "{\"id\":\"<id>\"}"
341
+ ],
342
+ "route": {
343
+ "method": "DELETE",
344
+ "pattern": "/assets/:id"
345
+ }
346
+ },
347
+ {
348
+ "toolId": "docman.asset.get",
349
+ "localToolId": "docman-asset-get",
350
+ "domain": "docman",
351
+ "operationId": "asset.get",
352
+ "title": "Asset get",
353
+ "summary": "Asset get",
354
+ "sideEffect": "none",
355
+ "tags": [
356
+ "kind:get",
357
+ "resource:asset",
358
+ "service:assetService"
359
+ ],
360
+ "inputSchemaRef": "asset.get.input",
361
+ "outputSchemaRef": "asset.get.output",
362
+ "policy": {
363
+ "scope": "tenant",
364
+ "auth": {
365
+ "required": true
366
+ },
367
+ "rateLimit": {
368
+ "bucket": "docman-read",
369
+ "max": 240,
370
+ "windowSeconds": 60
371
+ }
372
+ },
373
+ "aliases": [
374
+ "asset.get",
375
+ "docman.asset.get",
376
+ "docman-asset-get",
377
+ "operations/asset/get",
378
+ "/operations/asset/get"
379
+ ],
380
+ "notes": [
381
+ "required args: id",
382
+ "optional args: options"
383
+ ],
384
+ "examples": [
385
+ "{\"id\":\"<id>\",\"options\":{}}"
386
+ ],
387
+ "route": {
388
+ "method": "GET",
389
+ "pattern": "/assets/:id"
390
+ }
391
+ },
392
+ {
393
+ "toolId": "docman.asset.list",
394
+ "localToolId": "docman-asset-list",
395
+ "domain": "docman",
396
+ "operationId": "asset.list",
397
+ "title": "Asset list",
398
+ "summary": "Asset list",
399
+ "sideEffect": "none",
400
+ "tags": [
401
+ "kind:list",
402
+ "resource:asset",
403
+ "service:assetService"
404
+ ],
405
+ "inputSchemaRef": "asset.list.input",
406
+ "outputSchemaRef": "asset.list.output",
407
+ "policy": {
408
+ "scope": "tenant",
409
+ "auth": {
410
+ "required": true
411
+ },
412
+ "rateLimit": {
413
+ "bucket": "docman-read",
414
+ "max": 180,
415
+ "windowSeconds": 60
416
+ }
417
+ },
418
+ "aliases": [
419
+ "asset.list",
420
+ "docman.asset.list",
421
+ "docman-asset-list",
422
+ "operations/asset/list",
423
+ "/operations/asset/list"
424
+ ],
425
+ "notes": [
426
+ "optional args: filter, options"
427
+ ],
428
+ "examples": [
429
+ "{\"filter\":{},\"options\":{}}"
430
+ ],
431
+ "route": {
432
+ "method": "GET",
433
+ "pattern": "/assets"
434
+ }
435
+ },
436
+ {
437
+ "toolId": "docman.asset.update",
438
+ "localToolId": "docman-asset-update",
439
+ "domain": "docman",
440
+ "operationId": "asset.update",
441
+ "title": "Asset update",
442
+ "summary": "Asset update",
443
+ "sideEffect": "db",
444
+ "tags": [
445
+ "kind:update",
446
+ "resource:asset",
447
+ "service:assetService"
448
+ ],
449
+ "inputSchemaRef": "asset.update.input",
450
+ "outputSchemaRef": "asset.update.output",
451
+ "policy": {
452
+ "scope": "tenant",
453
+ "auth": {
454
+ "required": true
455
+ },
456
+ "safety": {
457
+ "destructive": false,
458
+ "applyRequired": true,
459
+ "confirmationRequired": false
460
+ },
461
+ "rateLimit": {
462
+ "bucket": "docman-write",
463
+ "max": 60,
464
+ "windowSeconds": 60
465
+ }
466
+ },
467
+ "aliases": [
468
+ "asset.update",
469
+ "docman.asset.update",
470
+ "docman-asset-update",
471
+ "operations/asset/update",
472
+ "/operations/asset/update"
473
+ ],
474
+ "notes": [
475
+ "required args: id, patch"
476
+ ],
477
+ "examples": [
478
+ "{\"id\":\"<id>\",\"patch\":{\"title\":\"Updated asset title\",\"altText\":\"Updated alt text\"}}"
479
+ ],
480
+ "route": {
481
+ "method": "PATCH",
482
+ "pattern": "/assets/:id"
483
+ }
484
+ },
485
+ {
486
+ "toolId": "docman.document-group.create",
487
+ "localToolId": "docman-document-group-create",
488
+ "domain": "docman",
489
+ "operationId": "document-group.create",
490
+ "title": "Document group create",
491
+ "summary": "Document group create",
492
+ "sideEffect": "db",
493
+ "tags": [
494
+ "kind:create",
495
+ "resource:document-group",
496
+ "service:documentGroupService"
497
+ ],
498
+ "inputSchemaRef": "document-group.create.input",
499
+ "outputSchemaRef": "document-group.create.output",
500
+ "policy": {
501
+ "scope": "tenant",
502
+ "auth": {
503
+ "required": true
504
+ },
505
+ "safety": {
506
+ "destructive": false,
507
+ "applyRequired": true,
508
+ "confirmationRequired": false
509
+ },
510
+ "rateLimit": {
511
+ "bucket": "docman-write",
512
+ "max": 60,
513
+ "windowSeconds": 60
514
+ }
515
+ },
516
+ "aliases": [
517
+ "document-group.create",
518
+ "docman.document-group.create",
519
+ "docman-document-group-create",
520
+ "operations/document-group/create",
521
+ "/operations/document-group/create"
522
+ ],
523
+ "notes": [
524
+ "required args: data"
525
+ ],
526
+ "examples": [
527
+ "{\"data\":{\"groupUid\":\"GRP-EXAMPLE-001\",\"title\":\"Guides\"}}"
528
+ ],
529
+ "route": {
530
+ "method": "POST",
531
+ "pattern": "/document-groups"
532
+ }
533
+ },
534
+ {
535
+ "toolId": "docman.document-group.delete",
536
+ "localToolId": "docman-document-group-delete",
537
+ "domain": "docman",
538
+ "operationId": "document-group.delete",
539
+ "title": "Document group delete",
540
+ "summary": "Document group delete",
541
+ "sideEffect": "db",
542
+ "tags": [
543
+ "kind:delete",
544
+ "resource:document-group",
545
+ "service:documentGroupService"
546
+ ],
547
+ "inputSchemaRef": "document-group.delete.input",
548
+ "outputSchemaRef": "document-group.delete.output",
549
+ "policy": {
550
+ "scope": "tenant",
551
+ "auth": {
552
+ "required": true
553
+ },
554
+ "safety": {
555
+ "destructive": true,
556
+ "applyRequired": true,
557
+ "confirmationRequired": false
558
+ },
559
+ "rateLimit": {
560
+ "bucket": "docman-write-destructive",
561
+ "max": 30,
562
+ "windowSeconds": 60
563
+ }
564
+ },
565
+ "aliases": [
566
+ "document-group.delete",
567
+ "docman.document-group.delete",
568
+ "docman-document-group-delete",
569
+ "operations/document-group/delete",
570
+ "/operations/document-group/delete"
571
+ ],
572
+ "notes": [
573
+ "required args: id"
574
+ ],
575
+ "examples": [
576
+ "{\"id\":\"<id>\"}"
577
+ ],
578
+ "route": {
579
+ "method": "DELETE",
580
+ "pattern": "/document-groups/:id"
581
+ }
582
+ },
583
+ {
584
+ "toolId": "docman.document-group.get",
585
+ "localToolId": "docman-document-group-get",
586
+ "domain": "docman",
587
+ "operationId": "document-group.get",
588
+ "title": "Document group get",
589
+ "summary": "Document group get",
590
+ "sideEffect": "none",
591
+ "tags": [
592
+ "kind:get",
593
+ "resource:document-group",
594
+ "service:documentGroupService"
595
+ ],
596
+ "inputSchemaRef": "document-group.get.input",
597
+ "outputSchemaRef": "document-group.get.output",
598
+ "policy": {
599
+ "scope": "tenant",
600
+ "auth": {
601
+ "required": true
602
+ },
603
+ "rateLimit": {
604
+ "bucket": "docman-read",
605
+ "max": 240,
606
+ "windowSeconds": 60
607
+ }
608
+ },
609
+ "aliases": [
610
+ "document-group.get",
611
+ "docman.document-group.get",
612
+ "docman-document-group-get",
613
+ "operations/document-group/get",
614
+ "/operations/document-group/get"
615
+ ],
616
+ "notes": [
617
+ "required args: id",
618
+ "optional args: options"
619
+ ],
620
+ "examples": [
621
+ "{\"id\":\"<id>\",\"options\":{}}"
622
+ ],
623
+ "route": {
624
+ "method": "GET",
625
+ "pattern": "/document-groups/:id"
626
+ }
627
+ },
628
+ {
629
+ "toolId": "docman.document-group.list",
630
+ "localToolId": "docman-document-group-list",
631
+ "domain": "docman",
632
+ "operationId": "document-group.list",
633
+ "title": "Document group list",
634
+ "summary": "Document group list",
635
+ "sideEffect": "none",
636
+ "tags": [
637
+ "kind:list",
638
+ "resource:document-group",
639
+ "service:documentGroupService"
640
+ ],
641
+ "inputSchemaRef": "document-group.list.input",
642
+ "outputSchemaRef": "document-group.list.output",
643
+ "policy": {
644
+ "scope": "tenant",
645
+ "auth": {
646
+ "required": true
647
+ },
648
+ "rateLimit": {
649
+ "bucket": "docman-read",
650
+ "max": 180,
651
+ "windowSeconds": 60
652
+ }
653
+ },
654
+ "aliases": [
655
+ "document-group.list",
656
+ "docman.document-group.list",
657
+ "docman-document-group-list",
658
+ "operations/document-group/list",
659
+ "/operations/document-group/list"
660
+ ],
661
+ "notes": [
662
+ "optional args: filter, options"
663
+ ],
664
+ "examples": [
665
+ "{\"filter\":{},\"options\":{}}"
666
+ ],
667
+ "route": {
668
+ "method": "GET",
669
+ "pattern": "/document-groups"
670
+ }
671
+ },
672
+ {
673
+ "toolId": "docman.document-group.update",
674
+ "localToolId": "docman-document-group-update",
675
+ "domain": "docman",
676
+ "operationId": "document-group.update",
677
+ "title": "Document group update",
678
+ "summary": "Document group update",
679
+ "sideEffect": "db",
680
+ "tags": [
681
+ "kind:update",
682
+ "resource:document-group",
683
+ "service:documentGroupService"
684
+ ],
685
+ "inputSchemaRef": "document-group.update.input",
686
+ "outputSchemaRef": "document-group.update.output",
687
+ "policy": {
688
+ "scope": "tenant",
689
+ "auth": {
690
+ "required": true
691
+ },
692
+ "safety": {
693
+ "destructive": false,
694
+ "applyRequired": true,
695
+ "confirmationRequired": false
696
+ },
697
+ "rateLimit": {
698
+ "bucket": "docman-write",
699
+ "max": 60,
700
+ "windowSeconds": 60
701
+ }
702
+ },
703
+ "aliases": [
704
+ "document-group.update",
705
+ "docman.document-group.update",
706
+ "docman-document-group-update",
707
+ "operations/document-group/update",
708
+ "/operations/document-group/update"
709
+ ],
710
+ "notes": [
711
+ "required args: id, patch"
712
+ ],
713
+ "examples": [
714
+ "{\"id\":\"<id>\",\"patch\":{\"title\":\"Updated group title\"}}"
715
+ ],
716
+ "route": {
717
+ "method": "PATCH",
718
+ "pattern": "/document-groups/:id"
719
+ }
720
+ },
721
+ {
722
+ "toolId": "docman.document-section-link.create",
723
+ "localToolId": "docman-document-section-link-create",
724
+ "domain": "docman",
725
+ "operationId": "document-section-link.create",
726
+ "title": "Document section link create",
727
+ "summary": "Document section link create",
728
+ "sideEffect": "db",
729
+ "tags": [
730
+ "kind:create",
731
+ "resource:document-section-link",
732
+ "service:documentSectionLinkService"
733
+ ],
734
+ "inputSchemaRef": "document-section-link.create.input",
735
+ "outputSchemaRef": "document-section-link.create.output",
736
+ "policy": {
737
+ "scope": "tenant",
738
+ "auth": {
739
+ "required": true
740
+ },
741
+ "safety": {
742
+ "destructive": false,
743
+ "applyRequired": true,
744
+ "confirmationRequired": false
745
+ },
746
+ "rateLimit": {
747
+ "bucket": "docman-write",
748
+ "max": 60,
749
+ "windowSeconds": 60
750
+ }
751
+ },
752
+ "aliases": [
753
+ "document-section-link.create",
754
+ "docman.document-section-link.create",
755
+ "docman-document-section-link-create",
756
+ "operations/document-section-link/create",
757
+ "/operations/document-section-link/create"
758
+ ],
759
+ "notes": [
760
+ "document trees can nest sections under sections",
761
+ "pages are content nodes and may attach at document root or under a section container",
762
+ "required args: data"
763
+ ],
764
+ "examples": [
765
+ "{\"data\":{\"documentVersionId\":\"<documentVersionId>\",\"kind\":\"page\",\"pageVersionId\":\"<rootPageVersionId>\",\"position\":1}}",
766
+ "{\"data\":{\"documentVersionId\":\"<documentVersionId>\",\"kind\":\"section\",\"sectionId\":\"<sectionId>\",\"position\":2}}",
767
+ "{\"data\":{\"documentVersionId\":\"<documentVersionId>\",\"kind\":\"page\",\"pageVersionId\":\"<sectionPageVersionId>\",\"parentLinkId\":\"<sectionLinkId>\",\"position\":1}}"
768
+ ],
769
+ "route": {
770
+ "method": "POST",
771
+ "pattern": "/document-section-links"
772
+ }
773
+ },
774
+ {
775
+ "toolId": "docman.document-section-link.delete",
776
+ "localToolId": "docman-document-section-link-delete",
777
+ "domain": "docman",
778
+ "operationId": "document-section-link.delete",
779
+ "title": "Document section link delete",
780
+ "summary": "Document section link delete",
781
+ "sideEffect": "db",
782
+ "tags": [
783
+ "kind:delete",
784
+ "resource:document-section-link",
785
+ "service:documentSectionLinkService"
786
+ ],
787
+ "inputSchemaRef": "document-section-link.delete.input",
788
+ "outputSchemaRef": "document-section-link.delete.output",
789
+ "policy": {
790
+ "scope": "tenant",
791
+ "auth": {
792
+ "required": true
793
+ },
794
+ "safety": {
795
+ "destructive": true,
796
+ "applyRequired": true,
797
+ "confirmationRequired": false
798
+ },
799
+ "rateLimit": {
800
+ "bucket": "docman-write-destructive",
801
+ "max": 30,
802
+ "windowSeconds": 60
803
+ }
804
+ },
805
+ "aliases": [
806
+ "document-section-link.delete",
807
+ "docman.document-section-link.delete",
808
+ "docman-document-section-link-delete",
809
+ "operations/document-section-link/delete",
810
+ "/operations/document-section-link/delete"
811
+ ],
812
+ "notes": [
813
+ "required args: id"
814
+ ],
815
+ "examples": [
816
+ "{\"id\":\"<id>\"}"
817
+ ],
818
+ "route": {
819
+ "method": "DELETE",
820
+ "pattern": "/document-section-links/:id"
821
+ }
822
+ },
823
+ {
824
+ "toolId": "docman.document-section-link.get",
825
+ "localToolId": "docman-document-section-link-get",
826
+ "domain": "docman",
827
+ "operationId": "document-section-link.get",
828
+ "title": "Document section link get",
829
+ "summary": "Document section link get",
830
+ "sideEffect": "none",
831
+ "tags": [
832
+ "kind:get",
833
+ "resource:document-section-link",
834
+ "service:documentSectionLinkService"
835
+ ],
836
+ "inputSchemaRef": "document-section-link.get.input",
837
+ "outputSchemaRef": "document-section-link.get.output",
838
+ "policy": {
839
+ "scope": "tenant",
840
+ "auth": {
841
+ "required": true
842
+ },
843
+ "rateLimit": {
844
+ "bucket": "docman-read",
845
+ "max": 240,
846
+ "windowSeconds": 60
847
+ }
848
+ },
849
+ "aliases": [
850
+ "document-section-link.get",
851
+ "docman.document-section-link.get",
852
+ "docman-document-section-link-get",
853
+ "operations/document-section-link/get",
854
+ "/operations/document-section-link/get"
855
+ ],
856
+ "notes": [
857
+ "required args: id",
858
+ "optional args: options"
859
+ ],
860
+ "examples": [
861
+ "{\"id\":\"<id>\",\"options\":{}}"
862
+ ],
863
+ "route": {
864
+ "method": "GET",
865
+ "pattern": "/document-section-links/:id"
866
+ }
867
+ },
868
+ {
869
+ "toolId": "docman.document-section-link.list",
870
+ "localToolId": "docman-document-section-link-list",
871
+ "domain": "docman",
872
+ "operationId": "document-section-link.list",
873
+ "title": "Document section link list",
874
+ "summary": "Document section link list",
875
+ "sideEffect": "none",
876
+ "tags": [
877
+ "kind:list",
878
+ "resource:document-section-link",
879
+ "service:documentSectionLinkService"
880
+ ],
881
+ "inputSchemaRef": "document-section-link.list.input",
882
+ "outputSchemaRef": "document-section-link.list.output",
883
+ "policy": {
884
+ "scope": "tenant",
885
+ "auth": {
886
+ "required": true
887
+ },
888
+ "rateLimit": {
889
+ "bucket": "docman-read",
890
+ "max": 180,
891
+ "windowSeconds": 60
892
+ }
893
+ },
894
+ "aliases": [
895
+ "document-section-link.list",
896
+ "docman.document-section-link.list",
897
+ "docman-document-section-link-list",
898
+ "operations/document-section-link/list",
899
+ "/operations/document-section-link/list"
900
+ ],
901
+ "notes": [
902
+ "optional args: filter, options"
903
+ ],
904
+ "examples": [
905
+ "{\"filter\":{\"documentVersionId\":\"<documentVersionId>\"},\"options\":{}}"
906
+ ],
907
+ "route": {
908
+ "method": "GET",
909
+ "pattern": "/document-section-links"
910
+ }
911
+ },
912
+ {
913
+ "toolId": "docman.document-section-link.update",
914
+ "localToolId": "docman-document-section-link-update",
915
+ "domain": "docman",
916
+ "operationId": "document-section-link.update",
917
+ "title": "Document section link update",
918
+ "summary": "Document section link update",
919
+ "sideEffect": "db",
920
+ "tags": [
921
+ "kind:update",
922
+ "resource:document-section-link",
923
+ "service:documentSectionLinkService"
924
+ ],
925
+ "inputSchemaRef": "document-section-link.update.input",
926
+ "outputSchemaRef": "document-section-link.update.output",
927
+ "policy": {
928
+ "scope": "tenant",
929
+ "auth": {
930
+ "required": true
931
+ },
932
+ "safety": {
933
+ "destructive": false,
934
+ "applyRequired": true,
935
+ "confirmationRequired": false
936
+ },
937
+ "rateLimit": {
938
+ "bucket": "docman-write",
939
+ "max": 60,
940
+ "windowSeconds": 60
941
+ }
942
+ },
943
+ "aliases": [
944
+ "document-section-link.update",
945
+ "docman.document-section-link.update",
946
+ "docman-document-section-link-update",
947
+ "operations/document-section-link/update",
948
+ "/operations/document-section-link/update"
949
+ ],
950
+ "notes": [
951
+ "required args: id, patch"
952
+ ],
953
+ "examples": [
954
+ "{\"id\":\"<id>\",\"patch\":{\"key\":\"<value>\"}}"
955
+ ],
956
+ "route": {
957
+ "method": "PATCH",
958
+ "pattern": "/document-section-links/:id"
959
+ }
960
+ },
961
+ {
962
+ "toolId": "docman.document-section-link.usage.list",
963
+ "localToolId": "docman-document-section-link-usage-list",
964
+ "domain": "docman",
965
+ "operationId": "document-section-link.usage.list",
966
+ "title": "List document usage for a section.",
967
+ "summary": "List document usage for a section.",
968
+ "sideEffect": "mixed",
969
+ "tags": [
970
+ "kind:custom",
971
+ "resource:document-section-link",
972
+ "service:documentSectionLinkService"
973
+ ],
974
+ "inputSchemaRef": "document-section-link.usage.list.input",
975
+ "outputSchemaRef": "document-section-link.usage.list.output",
976
+ "policy": {
977
+ "scope": "tenant",
978
+ "auth": {
979
+ "required": true
980
+ },
981
+ "rateLimit": {
982
+ "bucket": "docman-read",
983
+ "max": 240,
984
+ "windowSeconds": 60
985
+ }
986
+ },
987
+ "aliases": [
988
+ "document-section-link.usage.list",
989
+ "docman.document-section-link.usage.list",
990
+ "docman-document-section-link-usage-list",
991
+ "operations/document-section-link/usage/list",
992
+ "/operations/document-section-link/usage/list"
993
+ ],
994
+ "notes": [
995
+ "required args: sectionId"
996
+ ],
997
+ "examples": [
998
+ "{\"sectionId\":\"<sectionId>\"}"
999
+ ],
1000
+ "route": {
1001
+ "method": "GET",
1002
+ "pattern": "/sections/:id/document-link-usage"
1003
+ }
1004
+ },
1005
+ {
1006
+ "toolId": "docman.document-version.create",
1007
+ "localToolId": "docman-document-version-create",
1008
+ "domain": "docman",
1009
+ "operationId": "document-version.create",
1010
+ "title": "Document version create",
1011
+ "summary": "Document version create",
1012
+ "sideEffect": "db",
1013
+ "tags": [
1014
+ "kind:create",
1015
+ "resource:document-version",
1016
+ "service:documentVersionService"
1017
+ ],
1018
+ "inputSchemaRef": "document-version.create.input",
1019
+ "outputSchemaRef": "document-version.create.output",
1020
+ "policy": {
1021
+ "scope": "tenant",
1022
+ "auth": {
1023
+ "required": true
1024
+ },
1025
+ "safety": {
1026
+ "destructive": false,
1027
+ "applyRequired": true,
1028
+ "confirmationRequired": false
1029
+ },
1030
+ "rateLimit": {
1031
+ "bucket": "docman-write",
1032
+ "max": 60,
1033
+ "windowSeconds": 60
1034
+ }
1035
+ },
1036
+ "aliases": [
1037
+ "document-version.create",
1038
+ "docman.document-version.create",
1039
+ "docman-document-version-create",
1040
+ "operations/document-version/create",
1041
+ "/operations/document-version/create"
1042
+ ],
1043
+ "notes": [
1044
+ "version numbers are unique within one documentId",
1045
+ "required args: data"
1046
+ ],
1047
+ "examples": [
1048
+ "{\"data\":{\"documentId\":\"<documentId>\",\"version\":1,\"status\":\"draft\",\"title\":\"Sample document v1\"}}"
1049
+ ],
1050
+ "route": {
1051
+ "method": "POST",
1052
+ "pattern": "/document-versions"
1053
+ }
1054
+ },
1055
+ {
1056
+ "toolId": "docman.document-version.delete",
1057
+ "localToolId": "docman-document-version-delete",
1058
+ "domain": "docman",
1059
+ "operationId": "document-version.delete",
1060
+ "title": "Document version delete",
1061
+ "summary": "Document version delete",
1062
+ "sideEffect": "db",
1063
+ "tags": [
1064
+ "kind:delete",
1065
+ "resource:document-version",
1066
+ "service:documentVersionService"
1067
+ ],
1068
+ "inputSchemaRef": "document-version.delete.input",
1069
+ "outputSchemaRef": "document-version.delete.output",
1070
+ "policy": {
1071
+ "scope": "tenant",
1072
+ "auth": {
1073
+ "required": true
1074
+ },
1075
+ "safety": {
1076
+ "destructive": true,
1077
+ "applyRequired": true,
1078
+ "confirmationRequired": false
1079
+ },
1080
+ "rateLimit": {
1081
+ "bucket": "docman-write-destructive",
1082
+ "max": 30,
1083
+ "windowSeconds": 60
1084
+ }
1085
+ },
1086
+ "aliases": [
1087
+ "document-version.delete",
1088
+ "docman.document-version.delete",
1089
+ "docman-document-version-delete",
1090
+ "operations/document-version/delete",
1091
+ "/operations/document-version/delete"
1092
+ ],
1093
+ "notes": [
1094
+ "required args: id"
1095
+ ],
1096
+ "examples": [
1097
+ "{\"id\":\"<id>\"}"
1098
+ ],
1099
+ "route": {
1100
+ "method": "DELETE",
1101
+ "pattern": "/document-versions/:id"
1102
+ }
1103
+ },
1104
+ {
1105
+ "toolId": "docman.document-version.delete.safe",
1106
+ "localToolId": "docman-document-version-delete-safe",
1107
+ "domain": "docman",
1108
+ "operationId": "document-version.delete.safe",
1109
+ "title": "Safely delete one document version with orphan protection.",
1110
+ "summary": "Safely delete one document version with orphan protection.",
1111
+ "sideEffect": "mixed",
1112
+ "tags": [
1113
+ "kind:custom",
1114
+ "resource:document-version",
1115
+ "service:documentVersionService"
1116
+ ],
1117
+ "inputSchemaRef": "document-version.delete.safe.input",
1118
+ "outputSchemaRef": "document-version.delete.safe.output",
1119
+ "policy": {
1120
+ "scope": "tenant",
1121
+ "auth": {
1122
+ "required": true
1123
+ },
1124
+ "safety": {
1125
+ "destructive": true,
1126
+ "applyRequired": true,
1127
+ "confirmationRequired": true
1128
+ },
1129
+ "rateLimit": {
1130
+ "bucket": "docman-write-destructive",
1131
+ "max": 30,
1132
+ "windowSeconds": 60
1133
+ }
1134
+ },
1135
+ "aliases": [
1136
+ "document-version.delete.safe",
1137
+ "docman.document-version.delete.safe",
1138
+ "docman-document-version-delete-safe",
1139
+ "operations/document-version/delete/safe",
1140
+ "/operations/document-version/delete/safe"
1141
+ ],
1142
+ "notes": [
1143
+ "for agent invoke local-route calls, provide pathParams.id",
1144
+ "required args: id"
1145
+ ],
1146
+ "examples": [
1147
+ "{\"id\":\"<documentVersionId>\"}"
1148
+ ],
1149
+ "route": {
1150
+ "method": "DELETE",
1151
+ "pattern": "/document-versions/:id/safe"
1152
+ }
1153
+ },
1154
+ {
1155
+ "toolId": "docman.document-version.get",
1156
+ "localToolId": "docman-document-version-get",
1157
+ "domain": "docman",
1158
+ "operationId": "document-version.get",
1159
+ "title": "Document version get",
1160
+ "summary": "Document version get",
1161
+ "sideEffect": "none",
1162
+ "tags": [
1163
+ "kind:get",
1164
+ "resource:document-version",
1165
+ "service:documentVersionService"
1166
+ ],
1167
+ "inputSchemaRef": "document-version.get.input",
1168
+ "outputSchemaRef": "document-version.get.output",
1169
+ "policy": {
1170
+ "scope": "tenant",
1171
+ "auth": {
1172
+ "required": true
1173
+ },
1174
+ "rateLimit": {
1175
+ "bucket": "docman-read",
1176
+ "max": 240,
1177
+ "windowSeconds": 60
1178
+ }
1179
+ },
1180
+ "aliases": [
1181
+ "document-version.get",
1182
+ "docman.document-version.get",
1183
+ "docman-document-version-get",
1184
+ "operations/document-version/get",
1185
+ "/operations/document-version/get"
1186
+ ],
1187
+ "notes": [
1188
+ "required args: id",
1189
+ "optional args: options"
1190
+ ],
1191
+ "examples": [
1192
+ "{\"id\":\"<id>\",\"options\":{}}"
1193
+ ],
1194
+ "route": {
1195
+ "method": "GET",
1196
+ "pattern": "/document-versions/:id"
1197
+ }
1198
+ },
1199
+ {
1200
+ "toolId": "docman.document-version.import-headings",
1201
+ "localToolId": "docman-document-version-import-headings",
1202
+ "domain": "docman",
1203
+ "operationId": "document-version.import-headings",
1204
+ "title": "Import a parsed markdown heading graph into a document version.",
1205
+ "summary": "Import a parsed markdown heading graph into a document version.",
1206
+ "sideEffect": "mixed",
1207
+ "tags": [
1208
+ "kind:custom",
1209
+ "resource:document-version",
1210
+ "service:documentVersionService"
1211
+ ],
1212
+ "inputSchemaRef": "document-version.import-headings.input",
1213
+ "outputSchemaRef": "document-version.import-headings.output",
1214
+ "policy": {
1215
+ "scope": "tenant",
1216
+ "auth": {
1217
+ "required": true
1218
+ },
1219
+ "rateLimit": {
1220
+ "bucket": "docman-read",
1221
+ "max": 240,
1222
+ "windowSeconds": 60
1223
+ }
1224
+ },
1225
+ "aliases": [
1226
+ "document-version.import-headings",
1227
+ "docman.document-version.import-headings",
1228
+ "docman-document-version-import-headings",
1229
+ "operations/document-version/import-headings",
1230
+ "/operations/document-version/import-headings"
1231
+ ],
1232
+ "notes": [
1233
+ "operation accepts one flat payload object with parsedGraph; markdown parsing belongs to CLI/tooling, not dm",
1234
+ "route path /document-versions/:id/import-headings resolves documentVersionId from :id on host calls",
1235
+ "for agent invoke local-route calls, send pathParams.id; body.documentVersionId is optional on :id routes",
1236
+ "default existingGraphPolicy is error; append and replace must be explicit",
1237
+ "H1 is ignored by the parser contract, H2/H3 are section nodes, and H4+ headings become page nodes",
1238
+ "direct body under H2/H3 section nodes is ignored in the MVP and returned as a warning",
1239
+ "set options.synthesizeOverviewPages=true to import direct H2/H3 body as child Overview pages",
1240
+ "doc mirror push remains a flat whole-document mirror migration path and is not changed by this operation",
1241
+ "required args: documentVersionId, parsedGraph",
1242
+ "optional args: scopeId, options, createdBy, updatedBy"
1243
+ ],
1244
+ "examples": [
1245
+ "{\"documentVersionId\":\"<documentVersionId>\",\"parsedGraph\":{\"sourceHash\":\"<sha256>\",\"sourcePath\":\"docs/ui-system-v2.md\",\"nodes\":[{\"kind\":\"section\",\"title\":\"Navigation\",\"children\":[{\"kind\":\"page\",\"title\":\"Behavior\",\"bodyMarkdown\":\"Page body.\"}]}]},\"options\":{\"dryRun\":true,\"existingGraphPolicy\":\"error\",\"slugStrategy\":\"hash-suffix-on-collision\",\"bodyAssignment\":\"leaf-page-content\",\"headingToPagePolicy\":\"h4-and-below\",\"synthesizeOverviewPages\":true}}"
1246
+ ],
1247
+ "route": {
1248
+ "method": "POST",
1249
+ "pattern": "/document-versions/:id/import-headings"
1250
+ }
1251
+ },
1252
+ {
1253
+ "toolId": "docman.document-version.list",
1254
+ "localToolId": "docman-document-version-list",
1255
+ "domain": "docman",
1256
+ "operationId": "document-version.list",
1257
+ "title": "Document version list",
1258
+ "summary": "Document version list",
1259
+ "sideEffect": "none",
1260
+ "tags": [
1261
+ "kind:list",
1262
+ "resource:document-version",
1263
+ "service:documentVersionService"
1264
+ ],
1265
+ "inputSchemaRef": "document-version.list.input",
1266
+ "outputSchemaRef": "document-version.list.output",
1267
+ "policy": {
1268
+ "scope": "tenant",
1269
+ "auth": {
1270
+ "required": true
1271
+ },
1272
+ "rateLimit": {
1273
+ "bucket": "docman-read",
1274
+ "max": 180,
1275
+ "windowSeconds": 60
1276
+ }
1277
+ },
1278
+ "aliases": [
1279
+ "document-version.list",
1280
+ "docman.document-version.list",
1281
+ "docman-document-version-list",
1282
+ "operations/document-version/list",
1283
+ "/operations/document-version/list"
1284
+ ],
1285
+ "notes": [
1286
+ "optional args: filter, options"
1287
+ ],
1288
+ "examples": [
1289
+ "{\"filter\":{\"documentId\":\"<documentId>\"},\"options\":{}}"
1290
+ ],
1291
+ "route": {
1292
+ "method": "GET",
1293
+ "pattern": "/document-versions"
1294
+ }
1295
+ },
1296
+ {
1297
+ "toolId": "docman.document-version.set-current",
1298
+ "localToolId": "docman-document-version-set-current",
1299
+ "domain": "docman",
1300
+ "operationId": "document-version.set-current",
1301
+ "title": "Document version set current",
1302
+ "summary": "Document version set current",
1303
+ "sideEffect": "mixed",
1304
+ "tags": [
1305
+ "kind:custom",
1306
+ "resource:document-version",
1307
+ "service:documentVersionService"
1308
+ ],
1309
+ "inputSchemaRef": "document-version.set-current.input",
1310
+ "outputSchemaRef": "document-version.set-current.output",
1311
+ "policy": {
1312
+ "scope": "tenant",
1313
+ "auth": {
1314
+ "required": true
1315
+ },
1316
+ "rateLimit": {
1317
+ "bucket": "docman-read",
1318
+ "max": 240,
1319
+ "windowSeconds": 60
1320
+ }
1321
+ },
1322
+ "aliases": [
1323
+ "document-version.set-current",
1324
+ "docman.document-version.set-current",
1325
+ "docman-document-version-set-current",
1326
+ "operations/document-version/set-current",
1327
+ "/operations/document-version/set-current"
1328
+ ],
1329
+ "notes": [
1330
+ "required args: documentVersionId",
1331
+ "optional args: documentId, publish, publishedAt, expectedPreviousVersionId"
1332
+ ],
1333
+ "examples": [
1334
+ "{\"documentVersionId\":\"<documentVersionId>\",\"documentId\":\"<documentId>\",\"publish\":\"<publish>\",\"publishedAt\":\"<publishedAt>\",\"expectedPreviousVersionId\":\"<expectedPreviousVersionId>\"}"
1335
+ ],
1336
+ "route": {
1337
+ "method": "POST",
1338
+ "pattern": "/operations/document-version/set-current"
1339
+ }
1340
+ },
1341
+ {
1342
+ "toolId": "docman.document-version.update",
1343
+ "localToolId": "docman-document-version-update",
1344
+ "domain": "docman",
1345
+ "operationId": "document-version.update",
1346
+ "title": "Document version update",
1347
+ "summary": "Document version update",
1348
+ "sideEffect": "db",
1349
+ "tags": [
1350
+ "kind:update",
1351
+ "resource:document-version",
1352
+ "service:documentVersionService"
1353
+ ],
1354
+ "inputSchemaRef": "document-version.update.input",
1355
+ "outputSchemaRef": "document-version.update.output",
1356
+ "policy": {
1357
+ "scope": "tenant",
1358
+ "auth": {
1359
+ "required": true
1360
+ },
1361
+ "safety": {
1362
+ "destructive": false,
1363
+ "applyRequired": true,
1364
+ "confirmationRequired": false
1365
+ },
1366
+ "rateLimit": {
1367
+ "bucket": "docman-write",
1368
+ "max": 60,
1369
+ "windowSeconds": 60
1370
+ }
1371
+ },
1372
+ "aliases": [
1373
+ "document-version.update",
1374
+ "docman.document-version.update",
1375
+ "docman-document-version-update",
1376
+ "operations/document-version/update",
1377
+ "/operations/document-version/update"
1378
+ ],
1379
+ "notes": [
1380
+ "required args: id, patch"
1381
+ ],
1382
+ "examples": [
1383
+ "{\"id\":\"<id>\",\"patch\":{\"title\":\"Updated version title\",\"status\":\"draft\"}}"
1384
+ ],
1385
+ "route": {
1386
+ "method": "PATCH",
1387
+ "pattern": "/document-versions/:id"
1388
+ }
1389
+ },
1390
+ {
1391
+ "toolId": "docman.document.answer-pack",
1392
+ "localToolId": "docman-document-answer-pack",
1393
+ "domain": "docman",
1394
+ "operationId": "document.answer-pack",
1395
+ "title": "Read a deterministic answer pack with citations for a document version.",
1396
+ "summary": "Read a deterministic answer pack with citations for a document version.",
1397
+ "sideEffect": "mixed",
1398
+ "tags": [
1399
+ "kind:custom",
1400
+ "resource:document",
1401
+ "service:documentService"
1402
+ ],
1403
+ "inputSchemaRef": "document.answer-pack.input",
1404
+ "outputSchemaRef": "document.answer-pack.output",
1405
+ "policy": {
1406
+ "scope": "tenant",
1407
+ "auth": {
1408
+ "required": true
1409
+ },
1410
+ "rateLimit": {
1411
+ "bucket": "docman-read",
1412
+ "max": 240,
1413
+ "windowSeconds": 60
1414
+ }
1415
+ },
1416
+ "aliases": [
1417
+ "document.answer-pack",
1418
+ "docman.document.answer-pack",
1419
+ "docman-document-answer-pack",
1420
+ "operations/document/answer-pack",
1421
+ "/operations/document/answer-pack"
1422
+ ],
1423
+ "notes": [
1424
+ "operation accepts one flat payload object; legacy input envelopes are intentionally unsupported",
1425
+ "route path /document-versions/:id/answer-pack resolves documentVersionId from :id on host calls",
1426
+ "answer-pack stays citation-first: it selects compact deterministic answer text from persisted document/section/page rows",
1427
+ "set retrievalStrategy to lexical, hybrid, or semantic depending on how much vector reranking you want",
1428
+ "answer-pack expects document.index.build or document.summary.build to have populated rows for the same locale tuple first",
1429
+ "result includes answer text, answerSource, citations, and provenance so agents can cite anchor/page evidence without re-reading full markdown",
1430
+ "required args: documentVersionId, q",
1431
+ "optional args: limit, retrievalStrategy, locale, fallbackLocale"
1432
+ ],
1433
+ "examples": [
1434
+ "{\"documentVersionId\":\"<documentVersionId>\",\"q\":\"regulator startup\",\"limit\":3,\"locale\":\"en\",\"fallbackLocale\":\"tr\"}"
1435
+ ],
1436
+ "route": {
1437
+ "method": "GET",
1438
+ "pattern": "/document-versions/:id/answer-pack"
1439
+ }
1440
+ },
1441
+ {
1442
+ "toolId": "docman.document.compose.fetch",
1443
+ "localToolId": "docman-document-compose-fetch",
1444
+ "domain": "docman",
1445
+ "operationId": "document.compose.fetch",
1446
+ "title": "Fetch composed source fragment with resolved asset references.",
1447
+ "summary": "Fetch composed source fragment with resolved asset references.",
1448
+ "sideEffect": "mixed",
1449
+ "tags": [
1450
+ "kind:custom",
1451
+ "resource:document",
1452
+ "service:documentService"
1453
+ ],
1454
+ "inputSchemaRef": "document.compose.fetch.input",
1455
+ "outputSchemaRef": "document.compose.fetch.output",
1456
+ "policy": {
1457
+ "scope": "tenant",
1458
+ "auth": {
1459
+ "required": true
1460
+ },
1461
+ "rateLimit": {
1462
+ "bucket": "docman-read",
1463
+ "max": 240,
1464
+ "windowSeconds": 60
1465
+ }
1466
+ },
1467
+ "aliases": [
1468
+ "document.compose.fetch",
1469
+ "docman.document.compose.fetch",
1470
+ "docman-document-compose-fetch",
1471
+ "operations/document/compose/fetch",
1472
+ "/operations/document/compose/fetch"
1473
+ ],
1474
+ "notes": [
1475
+ "operation accepts one flat payload object; legacy input envelopes are intentionally unsupported",
1476
+ "route path /document-versions/:id/compose-fetch injects documentVersionId from :id",
1477
+ "for agent invoke local-route calls, send pathParams.id; body.documentVersionId is optional on :id routes",
1478
+ "result returns resolved source text, effective compose format, and referenced asset metadata",
1479
+ "asset references are logical only: use asset://<assetUid-or-slug> or asset://<assetUid-or-slug>@<version>",
1480
+ "compose fetch does not expose raw asset ids, sourcePath values, or storageKey values inside returned source content",
1481
+ "required args: documentVersionId",
1482
+ "optional args: sectionId, pageVersionId, pageNumber, locale, fallbackLocale"
1483
+ ],
1484
+ "examples": [
1485
+ "{\"documentVersionId\":\"<documentVersionId>\",\"pageNumber\":1,\"locale\":\"en\",\"fallbackLocale\":\"tr\"}"
1486
+ ],
1487
+ "route": {
1488
+ "method": "POST",
1489
+ "pattern": "/document-versions/:id/compose-fetch"
1490
+ }
1491
+ },
1492
+ {
1493
+ "toolId": "docman.document.compose.index",
1494
+ "localToolId": "docman-document-compose-index",
1495
+ "domain": "docman",
1496
+ "operationId": "document.compose.index",
1497
+ "title": "Build composed document index for a document version.",
1498
+ "summary": "Build composed document index for a document version.",
1499
+ "sideEffect": "mixed",
1500
+ "tags": [
1501
+ "kind:custom",
1502
+ "resource:document",
1503
+ "service:documentService"
1504
+ ],
1505
+ "inputSchemaRef": "document.compose.index.input",
1506
+ "outputSchemaRef": "document.compose.index.output",
1507
+ "policy": {
1508
+ "scope": "tenant",
1509
+ "auth": {
1510
+ "required": true
1511
+ },
1512
+ "rateLimit": {
1513
+ "bucket": "docman-read",
1514
+ "max": 240,
1515
+ "windowSeconds": 60
1516
+ }
1517
+ },
1518
+ "aliases": [
1519
+ "document.compose.index",
1520
+ "docman.document.compose.index",
1521
+ "docman-document-compose-index",
1522
+ "operations/document/compose/index",
1523
+ "/operations/document/compose/index"
1524
+ ],
1525
+ "notes": [
1526
+ "route path /document-versions/:id/compose-index resolves documentVersionId from :id",
1527
+ "for direct domain API calls, compose bodies are plain payloads (no data wrapper)",
1528
+ "for agent invoke local-route calls, send pathParams.id for routes with :id",
1529
+ "required args: documentVersionId",
1530
+ "optional args: options"
1531
+ ],
1532
+ "examples": [
1533
+ "{\"documentVersionId\":\"<documentVersionId>\",\"options\":{\"locale\":\"en\",\"fallbackLocale\":\"tr\"}}"
1534
+ ],
1535
+ "route": {
1536
+ "method": "POST",
1537
+ "pattern": "/document-versions/:id/compose-index"
1538
+ }
1539
+ },
1540
+ {
1541
+ "toolId": "docman.document.create",
1542
+ "localToolId": "docman-document-create",
1543
+ "domain": "docman",
1544
+ "operationId": "document.create",
1545
+ "title": "Document create",
1546
+ "summary": "Document create",
1547
+ "sideEffect": "db",
1548
+ "tags": [
1549
+ "kind:create",
1550
+ "resource:document",
1551
+ "service:documentService"
1552
+ ],
1553
+ "inputSchemaRef": "document.create.input",
1554
+ "outputSchemaRef": "document.create.output",
1555
+ "policy": {
1556
+ "scope": "tenant",
1557
+ "auth": {
1558
+ "required": true
1559
+ },
1560
+ "safety": {
1561
+ "destructive": false,
1562
+ "applyRequired": true,
1563
+ "confirmationRequired": false
1564
+ },
1565
+ "rateLimit": {
1566
+ "bucket": "docman-write",
1567
+ "max": 60,
1568
+ "windowSeconds": 60
1569
+ }
1570
+ },
1571
+ "aliases": [
1572
+ "document.create",
1573
+ "docman.document.create",
1574
+ "docman-document-create",
1575
+ "operations/document/create",
1576
+ "/operations/document/create"
1577
+ ],
1578
+ "notes": [
1579
+ "required args: data"
1580
+ ],
1581
+ "examples": [
1582
+ "{\"data\":{\"documentUid\":\"DOC-EXAMPLE-001\",\"title\":\"Sample document\",\"summary\":\"Sample summary\",\"status\":\"draft\",\"visibility\":\"internal\"}}"
1583
+ ],
1584
+ "route": {
1585
+ "method": "POST",
1586
+ "pattern": "/documents"
1587
+ }
1588
+ },
1589
+ {
1590
+ "toolId": "docman.document.delete",
1591
+ "localToolId": "docman-document-delete",
1592
+ "domain": "docman",
1593
+ "operationId": "document.delete",
1594
+ "title": "Document delete",
1595
+ "summary": "Document delete",
1596
+ "sideEffect": "db",
1597
+ "tags": [
1598
+ "kind:delete",
1599
+ "resource:document",
1600
+ "service:documentService"
1601
+ ],
1602
+ "inputSchemaRef": "document.delete.input",
1603
+ "outputSchemaRef": "document.delete.output",
1604
+ "policy": {
1605
+ "scope": "tenant",
1606
+ "auth": {
1607
+ "required": true
1608
+ },
1609
+ "safety": {
1610
+ "destructive": true,
1611
+ "applyRequired": true,
1612
+ "confirmationRequired": false
1613
+ },
1614
+ "rateLimit": {
1615
+ "bucket": "docman-write-destructive",
1616
+ "max": 30,
1617
+ "windowSeconds": 60
1618
+ }
1619
+ },
1620
+ "aliases": [
1621
+ "document.delete",
1622
+ "docman.document.delete",
1623
+ "docman-document-delete",
1624
+ "operations/document/delete",
1625
+ "/operations/document/delete"
1626
+ ],
1627
+ "notes": [
1628
+ "required args: id"
1629
+ ],
1630
+ "examples": [
1631
+ "{\"id\":\"<id>\"}"
1632
+ ],
1633
+ "route": {
1634
+ "method": "DELETE",
1635
+ "pattern": "/documents/:id"
1636
+ }
1637
+ },
1638
+ {
1639
+ "toolId": "docman.document.delete.safe",
1640
+ "localToolId": "docman-document-delete-safe",
1641
+ "domain": "docman",
1642
+ "operationId": "document.delete.safe",
1643
+ "title": "Safely delete a document graph with orphan protection.",
1644
+ "summary": "Safely delete a document graph with orphan protection.",
1645
+ "sideEffect": "mixed",
1646
+ "tags": [
1647
+ "kind:custom",
1648
+ "resource:document",
1649
+ "service:documentService"
1650
+ ],
1651
+ "inputSchemaRef": "document.delete.safe.input",
1652
+ "outputSchemaRef": "document.delete.safe.output",
1653
+ "policy": {
1654
+ "scope": "tenant",
1655
+ "auth": {
1656
+ "required": true
1657
+ },
1658
+ "safety": {
1659
+ "destructive": true,
1660
+ "applyRequired": true,
1661
+ "confirmationRequired": true
1662
+ },
1663
+ "rateLimit": {
1664
+ "bucket": "docman-write-destructive",
1665
+ "max": 30,
1666
+ "windowSeconds": 60
1667
+ }
1668
+ },
1669
+ "aliases": [
1670
+ "document.delete.safe",
1671
+ "docman.document.delete.safe",
1672
+ "docman-document-delete-safe",
1673
+ "operations/document/delete/safe",
1674
+ "/operations/document/delete/safe"
1675
+ ],
1676
+ "notes": [
1677
+ "safe delete requires exact document title confirmation",
1678
+ "for agent invoke local-route calls, provide pathParams.id and body.confirmName",
1679
+ "required args: id, confirmName"
1680
+ ],
1681
+ "examples": [
1682
+ "{\"id\":\"<documentId>\",\"confirmName\":\"<documentTitle>\"}"
1683
+ ],
1684
+ "route": {
1685
+ "method": "DELETE",
1686
+ "pattern": "/documents/:id/safe"
1687
+ }
1688
+ },
1689
+ {
1690
+ "toolId": "docman.document.get",
1691
+ "localToolId": "docman-document-get",
1692
+ "domain": "docman",
1693
+ "operationId": "document.get",
1694
+ "title": "Document get",
1695
+ "summary": "Document get",
1696
+ "sideEffect": "none",
1697
+ "tags": [
1698
+ "kind:get",
1699
+ "resource:document",
1700
+ "service:documentService"
1701
+ ],
1702
+ "inputSchemaRef": "document.get.input",
1703
+ "outputSchemaRef": "document.get.output",
1704
+ "policy": {
1705
+ "scope": "tenant",
1706
+ "auth": {
1707
+ "required": true
1708
+ },
1709
+ "rateLimit": {
1710
+ "bucket": "docman-read",
1711
+ "max": 240,
1712
+ "windowSeconds": 60
1713
+ }
1714
+ },
1715
+ "aliases": [
1716
+ "document.get",
1717
+ "docman.document.get",
1718
+ "docman-document-get",
1719
+ "operations/document/get",
1720
+ "/operations/document/get"
1721
+ ],
1722
+ "notes": [
1723
+ "required args: id",
1724
+ "optional args: options"
1725
+ ],
1726
+ "examples": [
1727
+ "{\"id\":\"<id>\",\"options\":{}}"
1728
+ ],
1729
+ "route": {
1730
+ "method": "GET",
1731
+ "pattern": "/documents/:id"
1732
+ }
1733
+ },
1734
+ {
1735
+ "toolId": "docman.document.index.build",
1736
+ "localToolId": "docman-document-index-build",
1737
+ "domain": "docman",
1738
+ "operationId": "document.index.build",
1739
+ "title": "Build persisted retrieval index rows for a document version.",
1740
+ "summary": "Build persisted retrieval index rows for a document version.",
1741
+ "sideEffect": "mixed",
1742
+ "tags": [
1743
+ "kind:custom",
1744
+ "resource:document",
1745
+ "service:documentService"
1746
+ ],
1747
+ "inputSchemaRef": "document.index.build.input",
1748
+ "outputSchemaRef": "document.index.build.output",
1749
+ "policy": {
1750
+ "scope": "tenant",
1751
+ "auth": {
1752
+ "required": true
1753
+ },
1754
+ "rateLimit": {
1755
+ "bucket": "docman-read",
1756
+ "max": 240,
1757
+ "windowSeconds": 60
1758
+ }
1759
+ },
1760
+ "aliases": [
1761
+ "document.index.build",
1762
+ "docman.document.index.build",
1763
+ "docman-document-index-build",
1764
+ "operations/document/index/build",
1765
+ "/operations/document/index/build"
1766
+ ],
1767
+ "notes": [
1768
+ "operation accepts one flat payload object; legacy input envelopes are intentionally unsupported",
1769
+ "route path /document-versions/:id/index injects documentVersionId from :id on host calls",
1770
+ "build deletes and rebuilds the persisted structural index for the selected version+locale tuple",
1771
+ "index rows are deterministic and derived from the same composed document traversal used by compose fetch/index",
1772
+ "required args: documentVersionId",
1773
+ "optional args: locale, fallbackLocale"
1774
+ ],
1775
+ "examples": [
1776
+ "{\"documentVersionId\":\"<documentVersionId>\",\"locale\":\"<locale>\",\"fallbackLocale\":\"<fallbackLocale>\"}"
1777
+ ],
1778
+ "route": {
1779
+ "method": "POST",
1780
+ "pattern": "/document-versions/:id/index"
1781
+ }
1782
+ },
1783
+ {
1784
+ "toolId": "docman.document.index.get",
1785
+ "localToolId": "docman-document-index-get",
1786
+ "domain": "docman",
1787
+ "operationId": "document.index.get",
1788
+ "title": "Read persisted retrieval index snapshot for a document version.",
1789
+ "summary": "Read persisted retrieval index snapshot for a document version.",
1790
+ "sideEffect": "mixed",
1791
+ "tags": [
1792
+ "kind:custom",
1793
+ "resource:document",
1794
+ "service:documentService"
1795
+ ],
1796
+ "inputSchemaRef": "document.index.get.input",
1797
+ "outputSchemaRef": "document.index.get.output",
1798
+ "policy": {
1799
+ "scope": "tenant",
1800
+ "auth": {
1801
+ "required": true
1802
+ },
1803
+ "rateLimit": {
1804
+ "bucket": "docman-read",
1805
+ "max": 240,
1806
+ "windowSeconds": 60
1807
+ }
1808
+ },
1809
+ "aliases": [
1810
+ "document.index.get",
1811
+ "docman.document.index.get",
1812
+ "docman-document-index-get",
1813
+ "operations/document/index/get",
1814
+ "/operations/document/index/get"
1815
+ ],
1816
+ "notes": [
1817
+ "operation accepts one flat payload object; legacy input envelopes are intentionally unsupported",
1818
+ "route path /document-versions/:id/index resolves documentVersionId from :id on host calls",
1819
+ "get does not rebuild missing rows; build is explicit in this phase",
1820
+ "required args: documentVersionId",
1821
+ "optional args: locale, fallbackLocale"
1822
+ ],
1823
+ "examples": [
1824
+ "{\"documentVersionId\":\"<documentVersionId>\",\"locale\":\"<locale>\",\"fallbackLocale\":\"<fallbackLocale>\"}"
1825
+ ],
1826
+ "route": {
1827
+ "method": "GET",
1828
+ "pattern": "/document-versions/:id/index"
1829
+ }
1830
+ },
1831
+ {
1832
+ "toolId": "docman.document.list",
1833
+ "localToolId": "docman-document-list",
1834
+ "domain": "docman",
1835
+ "operationId": "document.list",
1836
+ "title": "Document list",
1837
+ "summary": "Document list",
1838
+ "sideEffect": "none",
1839
+ "tags": [
1840
+ "kind:list",
1841
+ "resource:document",
1842
+ "service:documentService"
1843
+ ],
1844
+ "inputSchemaRef": "document.list.input",
1845
+ "outputSchemaRef": "document.list.output",
1846
+ "policy": {
1847
+ "scope": "tenant",
1848
+ "auth": {
1849
+ "required": true
1850
+ },
1851
+ "rateLimit": {
1852
+ "bucket": "docman-read",
1853
+ "max": 180,
1854
+ "windowSeconds": 60
1855
+ }
1856
+ },
1857
+ "aliases": [
1858
+ "document.list",
1859
+ "docman.document.list",
1860
+ "docman-document-list",
1861
+ "operations/document/list",
1862
+ "/operations/document/list"
1863
+ ],
1864
+ "notes": [
1865
+ "optional args: filter, options"
1866
+ ],
1867
+ "examples": [
1868
+ "{\"filter\":{\"status\":\"draft\"},\"options\":{\"includeVersionInfo\":true}}"
1869
+ ],
1870
+ "route": {
1871
+ "method": "GET",
1872
+ "pattern": "/documents"
1873
+ }
1874
+ },
1875
+ {
1876
+ "toolId": "docman.document.publish.materialize",
1877
+ "localToolId": "docman-document-publish-materialize",
1878
+ "domain": "docman",
1879
+ "operationId": "document.publish.materialize",
1880
+ "title": "Materialize publish-ready fragment into markdown or html output.",
1881
+ "summary": "Materialize publish-ready fragment into markdown or html output.",
1882
+ "sideEffect": "mixed",
1883
+ "tags": [
1884
+ "kind:custom",
1885
+ "resource:document",
1886
+ "service:documentService"
1887
+ ],
1888
+ "inputSchemaRef": "document.publish.materialize.input",
1889
+ "outputSchemaRef": "document.publish.materialize.output",
1890
+ "policy": {
1891
+ "scope": "tenant",
1892
+ "auth": {
1893
+ "required": true
1894
+ },
1895
+ "rateLimit": {
1896
+ "bucket": "docman-read",
1897
+ "max": 240,
1898
+ "windowSeconds": 60
1899
+ }
1900
+ },
1901
+ "aliases": [
1902
+ "document.publish.materialize",
1903
+ "docman.document.publish.materialize",
1904
+ "docman-document-publish-materialize",
1905
+ "operations/document/publish/materialize",
1906
+ "/operations/document/publish/materialize"
1907
+ ],
1908
+ "notes": [
1909
+ "operation accepts one flat payload object; legacy input envelopes are intentionally unsupported",
1910
+ "route path /document-versions/:id/materialize injects documentVersionId from :id",
1911
+ "for agent invoke local-route calls, send pathParams.id; body.documentVersionId is optional on :id routes",
1912
+ "target must be markdown or html",
1913
+ "markdown target preserves composed source text as-is",
1914
+ "html target omits MDX import/export preambles and returns deterministic inline HTML content",
1915
+ "materialize target dispatch is registry-backed internally so future artifact exporters can plug in without widening this generic invoke contract yet",
1916
+ "result payload stays JSON-friendly and returns text content, mediaType, warnings, and referenced assets",
1917
+ "required args: documentVersionId, target",
1918
+ "optional args: sectionId, pageVersionId, pageNumber, locale, fallbackLocale"
1919
+ ],
1920
+ "examples": [
1921
+ "{\"documentVersionId\":\"<documentVersionId>\",\"target\":\"html\",\"locale\":\"en\",\"fallbackLocale\":\"tr\"}"
1922
+ ],
1923
+ "route": {
1924
+ "method": "POST",
1925
+ "pattern": "/document-versions/:id/materialize"
1926
+ }
1927
+ },
1928
+ {
1929
+ "toolId": "docman.document.scope.search",
1930
+ "localToolId": "docman-document-scope-search",
1931
+ "domain": "docman",
1932
+ "operationId": "document.scope.search",
1933
+ "title": "Search persisted retrieval index rows across latest document versions in one scope.",
1934
+ "summary": "Search persisted retrieval index rows across latest document versions in one scope.",
1935
+ "sideEffect": "mixed",
1936
+ "tags": [
1937
+ "kind:custom",
1938
+ "resource:document",
1939
+ "service:documentService"
1940
+ ],
1941
+ "inputSchemaRef": "document.scope.search.input",
1942
+ "outputSchemaRef": "document.scope.search.output",
1943
+ "policy": {
1944
+ "scope": "tenant",
1945
+ "auth": {
1946
+ "required": true
1947
+ },
1948
+ "rateLimit": {
1949
+ "bucket": "docman-read",
1950
+ "max": 240,
1951
+ "windowSeconds": 60
1952
+ }
1953
+ },
1954
+ "aliases": [
1955
+ "document.scope.search",
1956
+ "docman.document.scope.search",
1957
+ "docman-document-scope-search",
1958
+ "operations/document/scope/search",
1959
+ "/operations/document/scope/search"
1960
+ ],
1961
+ "notes": [
1962
+ "operation accepts one flat payload object; legacy input envelopes are intentionally unsupported",
1963
+ "route path /scopes/:id/documents/search resolves scopeId from :id on host calls",
1964
+ "scope-wide search lists documents inside the scope and searches only the latest/current document version for each document",
1965
+ "scope-wide search auto-builds missing retrieval rows before searching each latest version",
1966
+ "result stays global-ranked and returns document-level provenance for every hit",
1967
+ "required args: scopeId, q",
1968
+ "optional args: limit, retrievalStrategy, locale, fallbackLocale"
1969
+ ],
1970
+ "examples": [
1971
+ "{\"scopeId\":\"<scopeId>\",\"q\":\"regulator startup\",\"limit\":8,\"retrievalStrategy\":\"hybrid\",\"locale\":\"en\",\"fallbackLocale\":\"tr\"}"
1972
+ ],
1973
+ "route": {
1974
+ "method": "GET",
1975
+ "pattern": "/scopes/:id/documents/search"
1976
+ }
1977
+ },
1978
+ {
1979
+ "toolId": "docman.document.search",
1980
+ "localToolId": "docman-document-search",
1981
+ "domain": "docman",
1982
+ "operationId": "document.search",
1983
+ "title": "Search persisted retrieval index rows for a document version.",
1984
+ "summary": "Search persisted retrieval index rows for a document version.",
1985
+ "sideEffect": "mixed",
1986
+ "tags": [
1987
+ "kind:custom",
1988
+ "resource:document",
1989
+ "service:documentService"
1990
+ ],
1991
+ "inputSchemaRef": "document.search.input",
1992
+ "outputSchemaRef": "document.search.output",
1993
+ "policy": {
1994
+ "scope": "tenant",
1995
+ "auth": {
1996
+ "required": true
1997
+ },
1998
+ "rateLimit": {
1999
+ "bucket": "docman-read",
2000
+ "max": 240,
2001
+ "windowSeconds": 60
2002
+ }
2003
+ },
2004
+ "aliases": [
2005
+ "document.search",
2006
+ "docman.document.search",
2007
+ "docman-document-search",
2008
+ "operations/document/search",
2009
+ "/operations/document/search"
2010
+ ],
2011
+ "notes": [
2012
+ "operation accepts one flat payload object; legacy input envelopes are intentionally unsupported",
2013
+ "route path /document-versions/:id/search resolves documentVersionId from :id on host calls",
2014
+ "search stays db-agnostic: lexical, hybrid, and semantic ranking all run on persisted retrieval rows instead of vendor-specific DB FTS/vector features",
2015
+ "set retrievalStrategy to lexical, hybrid, or semantic depending on how much vector reranking you want",
2016
+ "search expects document.index.build to have populated rows for the same locale tuple first",
2017
+ "required args: documentVersionId, q",
2018
+ "optional args: limit, retrievalStrategy, locale, fallbackLocale"
2019
+ ],
2020
+ "examples": [
2021
+ "{\"documentVersionId\":\"<documentVersionId>\",\"q\":\"<q>\",\"limit\":\"<limit>\",\"retrievalStrategy\":\"<retrievalStrategy>\",\"locale\":\"<locale>\",\"fallbackLocale\":\"<fallbackLocale>\"}"
2022
+ ],
2023
+ "route": {
2024
+ "method": "GET",
2025
+ "pattern": "/document-versions/:id/search"
2026
+ }
2027
+ },
2028
+ {
2029
+ "toolId": "docman.document.summary.build",
2030
+ "localToolId": "docman-document-summary-build",
2031
+ "domain": "docman",
2032
+ "operationId": "document.summary.build",
2033
+ "title": "Build persisted document and section/page summaries for a document version.",
2034
+ "summary": "Build persisted document and section/page summaries for a document version.",
2035
+ "sideEffect": "mixed",
2036
+ "tags": [
2037
+ "kind:custom",
2038
+ "resource:document",
2039
+ "service:documentService"
2040
+ ],
2041
+ "inputSchemaRef": "document.summary.build.input",
2042
+ "outputSchemaRef": "document.summary.build.output",
2043
+ "policy": {
2044
+ "scope": "tenant",
2045
+ "auth": {
2046
+ "required": true
2047
+ },
2048
+ "rateLimit": {
2049
+ "bucket": "docman-read",
2050
+ "max": 240,
2051
+ "windowSeconds": 60
2052
+ }
2053
+ },
2054
+ "aliases": [
2055
+ "document.summary.build",
2056
+ "docman.document.summary.build",
2057
+ "docman-document-summary-build",
2058
+ "operations/document/summary/build",
2059
+ "/operations/document/summary/build"
2060
+ ],
2061
+ "notes": [
2062
+ "operation accepts one flat payload object; legacy input envelopes are intentionally unsupported",
2063
+ "route path /document-versions/:id/summaries injects documentVersionId from :id on host calls",
2064
+ "build explicitly refreshes the persisted index first, then derives deterministic document/section/page summaries for the same locale tuple",
2065
+ "document summary prefers authored document-version/document summary text when present; section and page summaries stay deterministic and extractive in this sprint slice",
2066
+ "required args: documentVersionId",
2067
+ "optional args: locale, fallbackLocale"
2068
+ ],
2069
+ "examples": [
2070
+ "{\"documentVersionId\":\"<documentVersionId>\",\"locale\":\"en\",\"fallbackLocale\":\"tr\"}"
2071
+ ],
2072
+ "route": {
2073
+ "method": "POST",
2074
+ "pattern": "/document-versions/:id/summaries"
2075
+ }
2076
+ },
2077
+ {
2078
+ "toolId": "docman.document.summary.get",
2079
+ "localToolId": "docman-document-summary-get",
2080
+ "domain": "docman",
2081
+ "operationId": "document.summary.get",
2082
+ "title": "Read persisted document and section/page summaries for a document version.",
2083
+ "summary": "Read persisted document and section/page summaries for a document version.",
2084
+ "sideEffect": "mixed",
2085
+ "tags": [
2086
+ "kind:custom",
2087
+ "resource:document",
2088
+ "service:documentService"
2089
+ ],
2090
+ "inputSchemaRef": "document.summary.get.input",
2091
+ "outputSchemaRef": "document.summary.get.output",
2092
+ "policy": {
2093
+ "scope": "tenant",
2094
+ "auth": {
2095
+ "required": true
2096
+ },
2097
+ "rateLimit": {
2098
+ "bucket": "docman-read",
2099
+ "max": 240,
2100
+ "windowSeconds": 60
2101
+ }
2102
+ },
2103
+ "aliases": [
2104
+ "document.summary.get",
2105
+ "docman.document.summary.get",
2106
+ "docman-document-summary-get",
2107
+ "operations/document/summary/get",
2108
+ "/operations/document/summary/get"
2109
+ ],
2110
+ "notes": [
2111
+ "operation accepts one flat payload object; legacy input envelopes are intentionally unsupported",
2112
+ "route path /document-versions/:id/summaries resolves documentVersionId from :id on host calls",
2113
+ "get does not rebuild missing summaries; summary build is explicit in this phase",
2114
+ "required args: documentVersionId",
2115
+ "optional args: locale, fallbackLocale"
2116
+ ],
2117
+ "examples": [
2118
+ "{\"documentVersionId\":\"<documentVersionId>\",\"locale\":\"en\",\"fallbackLocale\":\"tr\"}"
2119
+ ],
2120
+ "route": {
2121
+ "method": "GET",
2122
+ "pattern": "/document-versions/:id/summaries"
2123
+ }
2124
+ },
2125
+ {
2126
+ "toolId": "docman.document.update",
2127
+ "localToolId": "docman-document-update",
2128
+ "domain": "docman",
2129
+ "operationId": "document.update",
2130
+ "title": "Document update",
2131
+ "summary": "Document update",
2132
+ "sideEffect": "db",
2133
+ "tags": [
2134
+ "kind:update",
2135
+ "resource:document",
2136
+ "service:documentService"
2137
+ ],
2138
+ "inputSchemaRef": "document.update.input",
2139
+ "outputSchemaRef": "document.update.output",
2140
+ "policy": {
2141
+ "scope": "tenant",
2142
+ "auth": {
2143
+ "required": true
2144
+ },
2145
+ "safety": {
2146
+ "destructive": false,
2147
+ "applyRequired": true,
2148
+ "confirmationRequired": false
2149
+ },
2150
+ "rateLimit": {
2151
+ "bucket": "docman-write",
2152
+ "max": 60,
2153
+ "windowSeconds": 60
2154
+ }
2155
+ },
2156
+ "aliases": [
2157
+ "document.update",
2158
+ "docman.document.update",
2159
+ "docman-document-update",
2160
+ "operations/document/update",
2161
+ "/operations/document/update"
2162
+ ],
2163
+ "notes": [
2164
+ "required args: id, patch"
2165
+ ],
2166
+ "examples": [
2167
+ "{\"id\":\"<id>\",\"patch\":{\"title\":\"Updated document title\",\"summary\":\"Updated summary\"}}"
2168
+ ],
2169
+ "route": {
2170
+ "method": "PATCH",
2171
+ "pattern": "/documents/:id"
2172
+ }
2173
+ },
2174
+ {
2175
+ "toolId": "docman.embed.create",
2176
+ "localToolId": "docman-embed-create",
2177
+ "domain": "docman",
2178
+ "operationId": "embed.create",
2179
+ "title": "Embed create",
2180
+ "summary": "Embed create",
2181
+ "sideEffect": "db",
2182
+ "tags": [
2183
+ "kind:create",
2184
+ "resource:embed",
2185
+ "service:embedService"
2186
+ ],
2187
+ "inputSchemaRef": "embed.create.input",
2188
+ "outputSchemaRef": "embed.create.output",
2189
+ "policy": {
2190
+ "scope": "tenant",
2191
+ "auth": {
2192
+ "required": true
2193
+ },
2194
+ "safety": {
2195
+ "destructive": false,
2196
+ "applyRequired": true,
2197
+ "confirmationRequired": false
2198
+ },
2199
+ "rateLimit": {
2200
+ "bucket": "docman-write",
2201
+ "max": 60,
2202
+ "windowSeconds": 60
2203
+ }
2204
+ },
2205
+ "aliases": [
2206
+ "embed.create",
2207
+ "docman.embed.create",
2208
+ "docman-embed-create",
2209
+ "operations/embed/create",
2210
+ "/operations/embed/create"
2211
+ ],
2212
+ "notes": [
2213
+ "required args: data"
2214
+ ],
2215
+ "examples": [
2216
+ "{\"data\":{\"embedUid\":\"EMB-EXAMPLE-001\",\"type\":\"image\",\"title\":\"Architecture\",\"url\":\"https://example.com/architecture.png\"}}"
2217
+ ],
2218
+ "route": {
2219
+ "method": "POST",
2220
+ "pattern": "/embeds"
2221
+ }
2222
+ },
2223
+ {
2224
+ "toolId": "docman.embed.delete",
2225
+ "localToolId": "docman-embed-delete",
2226
+ "domain": "docman",
2227
+ "operationId": "embed.delete",
2228
+ "title": "Embed delete",
2229
+ "summary": "Embed delete",
2230
+ "sideEffect": "db",
2231
+ "tags": [
2232
+ "kind:delete",
2233
+ "resource:embed",
2234
+ "service:embedService"
2235
+ ],
2236
+ "inputSchemaRef": "embed.delete.input",
2237
+ "outputSchemaRef": "embed.delete.output",
2238
+ "policy": {
2239
+ "scope": "tenant",
2240
+ "auth": {
2241
+ "required": true
2242
+ },
2243
+ "safety": {
2244
+ "destructive": true,
2245
+ "applyRequired": true,
2246
+ "confirmationRequired": false
2247
+ },
2248
+ "rateLimit": {
2249
+ "bucket": "docman-write-destructive",
2250
+ "max": 30,
2251
+ "windowSeconds": 60
2252
+ }
2253
+ },
2254
+ "aliases": [
2255
+ "embed.delete",
2256
+ "docman.embed.delete",
2257
+ "docman-embed-delete",
2258
+ "operations/embed/delete",
2259
+ "/operations/embed/delete"
2260
+ ],
2261
+ "notes": [
2262
+ "required args: id"
2263
+ ],
2264
+ "examples": [
2265
+ "{\"id\":\"<id>\"}"
2266
+ ],
2267
+ "route": {
2268
+ "method": "DELETE",
2269
+ "pattern": "/embeds/:id"
2270
+ }
2271
+ },
2272
+ {
2273
+ "toolId": "docman.embed.get",
2274
+ "localToolId": "docman-embed-get",
2275
+ "domain": "docman",
2276
+ "operationId": "embed.get",
2277
+ "title": "Embed get",
2278
+ "summary": "Embed get",
2279
+ "sideEffect": "none",
2280
+ "tags": [
2281
+ "kind:get",
2282
+ "resource:embed",
2283
+ "service:embedService"
2284
+ ],
2285
+ "inputSchemaRef": "embed.get.input",
2286
+ "outputSchemaRef": "embed.get.output",
2287
+ "policy": {
2288
+ "scope": "tenant",
2289
+ "auth": {
2290
+ "required": true
2291
+ },
2292
+ "rateLimit": {
2293
+ "bucket": "docman-read",
2294
+ "max": 240,
2295
+ "windowSeconds": 60
2296
+ }
2297
+ },
2298
+ "aliases": [
2299
+ "embed.get",
2300
+ "docman.embed.get",
2301
+ "docman-embed-get",
2302
+ "operations/embed/get",
2303
+ "/operations/embed/get"
2304
+ ],
2305
+ "notes": [
2306
+ "required args: id",
2307
+ "optional args: options"
2308
+ ],
2309
+ "examples": [
2310
+ "{\"id\":\"<id>\",\"options\":{}}"
2311
+ ],
2312
+ "route": {
2313
+ "method": "GET",
2314
+ "pattern": "/embeds/:id"
2315
+ }
2316
+ },
2317
+ {
2318
+ "toolId": "docman.embed.list",
2319
+ "localToolId": "docman-embed-list",
2320
+ "domain": "docman",
2321
+ "operationId": "embed.list",
2322
+ "title": "Embed list",
2323
+ "summary": "Embed list",
2324
+ "sideEffect": "none",
2325
+ "tags": [
2326
+ "kind:list",
2327
+ "resource:embed",
2328
+ "service:embedService"
2329
+ ],
2330
+ "inputSchemaRef": "embed.list.input",
2331
+ "outputSchemaRef": "embed.list.output",
2332
+ "policy": {
2333
+ "scope": "tenant",
2334
+ "auth": {
2335
+ "required": true
2336
+ },
2337
+ "rateLimit": {
2338
+ "bucket": "docman-read",
2339
+ "max": 180,
2340
+ "windowSeconds": 60
2341
+ }
2342
+ },
2343
+ "aliases": [
2344
+ "embed.list",
2345
+ "docman.embed.list",
2346
+ "docman-embed-list",
2347
+ "operations/embed/list",
2348
+ "/operations/embed/list"
2349
+ ],
2350
+ "notes": [
2351
+ "optional args: filter, options"
2352
+ ],
2353
+ "examples": [
2354
+ "{\"filter\":{},\"options\":{}}"
2355
+ ],
2356
+ "route": {
2357
+ "method": "GET",
2358
+ "pattern": "/embeds"
2359
+ }
2360
+ },
2361
+ {
2362
+ "toolId": "docman.embed.update",
2363
+ "localToolId": "docman-embed-update",
2364
+ "domain": "docman",
2365
+ "operationId": "embed.update",
2366
+ "title": "Embed update",
2367
+ "summary": "Embed update",
2368
+ "sideEffect": "db",
2369
+ "tags": [
2370
+ "kind:update",
2371
+ "resource:embed",
2372
+ "service:embedService"
2373
+ ],
2374
+ "inputSchemaRef": "embed.update.input",
2375
+ "outputSchemaRef": "embed.update.output",
2376
+ "policy": {
2377
+ "scope": "tenant",
2378
+ "auth": {
2379
+ "required": true
2380
+ },
2381
+ "safety": {
2382
+ "destructive": false,
2383
+ "applyRequired": true,
2384
+ "confirmationRequired": false
2385
+ },
2386
+ "rateLimit": {
2387
+ "bucket": "docman-write",
2388
+ "max": 60,
2389
+ "windowSeconds": 60
2390
+ }
2391
+ },
2392
+ "aliases": [
2393
+ "embed.update",
2394
+ "docman.embed.update",
2395
+ "docman-embed-update",
2396
+ "operations/embed/update",
2397
+ "/operations/embed/update"
2398
+ ],
2399
+ "notes": [
2400
+ "required args: id, patch"
2401
+ ],
2402
+ "examples": [
2403
+ "{\"id\":\"<id>\",\"patch\":{\"key\":\"<value>\"}}"
2404
+ ],
2405
+ "route": {
2406
+ "method": "PATCH",
2407
+ "pattern": "/embeds/:id"
2408
+ }
2409
+ },
2410
+ {
2411
+ "toolId": "docman.page-embed-link.create",
2412
+ "localToolId": "docman-page-embed-link-create",
2413
+ "domain": "docman",
2414
+ "operationId": "page-embed-link.create",
2415
+ "title": "Page embed link create",
2416
+ "summary": "Page embed link create",
2417
+ "sideEffect": "db",
2418
+ "tags": [
2419
+ "kind:create",
2420
+ "resource:page-embed-link",
2421
+ "service:pageEmbedLinkService"
2422
+ ],
2423
+ "inputSchemaRef": "page-embed-link.create.input",
2424
+ "outputSchemaRef": "page-embed-link.create.output",
2425
+ "policy": {
2426
+ "scope": "tenant",
2427
+ "auth": {
2428
+ "required": true
2429
+ },
2430
+ "safety": {
2431
+ "destructive": false,
2432
+ "applyRequired": true,
2433
+ "confirmationRequired": false
2434
+ },
2435
+ "rateLimit": {
2436
+ "bucket": "docman-write",
2437
+ "max": 60,
2438
+ "windowSeconds": 60
2439
+ }
2440
+ },
2441
+ "aliases": [
2442
+ "page-embed-link.create",
2443
+ "docman.page-embed-link.create",
2444
+ "docman-page-embed-link-create",
2445
+ "operations/page-embed-link/create",
2446
+ "/operations/page-embed-link/create"
2447
+ ],
2448
+ "notes": [
2449
+ "required args: data"
2450
+ ],
2451
+ "examples": [
2452
+ "{\"data\":{\"pageVersionId\":\"<pageVersionId>\",\"embedId\":\"<embedId>\",\"position\":1}}"
2453
+ ],
2454
+ "route": {
2455
+ "method": "POST",
2456
+ "pattern": "/page-embed-links"
2457
+ }
2458
+ },
2459
+ {
2460
+ "toolId": "docman.page-embed-link.delete",
2461
+ "localToolId": "docman-page-embed-link-delete",
2462
+ "domain": "docman",
2463
+ "operationId": "page-embed-link.delete",
2464
+ "title": "Page embed link delete",
2465
+ "summary": "Page embed link delete",
2466
+ "sideEffect": "db",
2467
+ "tags": [
2468
+ "kind:delete",
2469
+ "resource:page-embed-link",
2470
+ "service:pageEmbedLinkService"
2471
+ ],
2472
+ "inputSchemaRef": "page-embed-link.delete.input",
2473
+ "outputSchemaRef": "page-embed-link.delete.output",
2474
+ "policy": {
2475
+ "scope": "tenant",
2476
+ "auth": {
2477
+ "required": true
2478
+ },
2479
+ "safety": {
2480
+ "destructive": true,
2481
+ "applyRequired": true,
2482
+ "confirmationRequired": false
2483
+ },
2484
+ "rateLimit": {
2485
+ "bucket": "docman-write-destructive",
2486
+ "max": 30,
2487
+ "windowSeconds": 60
2488
+ }
2489
+ },
2490
+ "aliases": [
2491
+ "page-embed-link.delete",
2492
+ "docman.page-embed-link.delete",
2493
+ "docman-page-embed-link-delete",
2494
+ "operations/page-embed-link/delete",
2495
+ "/operations/page-embed-link/delete"
2496
+ ],
2497
+ "notes": [
2498
+ "required args: id"
2499
+ ],
2500
+ "examples": [
2501
+ "{\"id\":\"<id>\"}"
2502
+ ],
2503
+ "route": {
2504
+ "method": "DELETE",
2505
+ "pattern": "/page-embed-links/:id"
2506
+ }
2507
+ },
2508
+ {
2509
+ "toolId": "docman.page-embed-link.get",
2510
+ "localToolId": "docman-page-embed-link-get",
2511
+ "domain": "docman",
2512
+ "operationId": "page-embed-link.get",
2513
+ "title": "Page embed link get",
2514
+ "summary": "Page embed link get",
2515
+ "sideEffect": "none",
2516
+ "tags": [
2517
+ "kind:get",
2518
+ "resource:page-embed-link",
2519
+ "service:pageEmbedLinkService"
2520
+ ],
2521
+ "inputSchemaRef": "page-embed-link.get.input",
2522
+ "outputSchemaRef": "page-embed-link.get.output",
2523
+ "policy": {
2524
+ "scope": "tenant",
2525
+ "auth": {
2526
+ "required": true
2527
+ },
2528
+ "rateLimit": {
2529
+ "bucket": "docman-read",
2530
+ "max": 240,
2531
+ "windowSeconds": 60
2532
+ }
2533
+ },
2534
+ "aliases": [
2535
+ "page-embed-link.get",
2536
+ "docman.page-embed-link.get",
2537
+ "docman-page-embed-link-get",
2538
+ "operations/page-embed-link/get",
2539
+ "/operations/page-embed-link/get"
2540
+ ],
2541
+ "notes": [
2542
+ "required args: id",
2543
+ "optional args: options"
2544
+ ],
2545
+ "examples": [
2546
+ "{\"id\":\"<id>\",\"options\":{}}"
2547
+ ],
2548
+ "route": {
2549
+ "method": "GET",
2550
+ "pattern": "/page-embed-links/:id"
2551
+ }
2552
+ },
2553
+ {
2554
+ "toolId": "docman.page-embed-link.list",
2555
+ "localToolId": "docman-page-embed-link-list",
2556
+ "domain": "docman",
2557
+ "operationId": "page-embed-link.list",
2558
+ "title": "Page embed link list",
2559
+ "summary": "Page embed link list",
2560
+ "sideEffect": "none",
2561
+ "tags": [
2562
+ "kind:list",
2563
+ "resource:page-embed-link",
2564
+ "service:pageEmbedLinkService"
2565
+ ],
2566
+ "inputSchemaRef": "page-embed-link.list.input",
2567
+ "outputSchemaRef": "page-embed-link.list.output",
2568
+ "policy": {
2569
+ "scope": "tenant",
2570
+ "auth": {
2571
+ "required": true
2572
+ },
2573
+ "rateLimit": {
2574
+ "bucket": "docman-read",
2575
+ "max": 180,
2576
+ "windowSeconds": 60
2577
+ }
2578
+ },
2579
+ "aliases": [
2580
+ "page-embed-link.list",
2581
+ "docman.page-embed-link.list",
2582
+ "docman-page-embed-link-list",
2583
+ "operations/page-embed-link/list",
2584
+ "/operations/page-embed-link/list"
2585
+ ],
2586
+ "notes": [
2587
+ "optional args: filter, options"
2588
+ ],
2589
+ "examples": [
2590
+ "{\"filter\":{},\"options\":{}}"
2591
+ ],
2592
+ "route": {
2593
+ "method": "GET",
2594
+ "pattern": "/page-embed-links"
2595
+ }
2596
+ },
2597
+ {
2598
+ "toolId": "docman.page-embed-link.update",
2599
+ "localToolId": "docman-page-embed-link-update",
2600
+ "domain": "docman",
2601
+ "operationId": "page-embed-link.update",
2602
+ "title": "Page embed link update",
2603
+ "summary": "Page embed link update",
2604
+ "sideEffect": "db",
2605
+ "tags": [
2606
+ "kind:update",
2607
+ "resource:page-embed-link",
2608
+ "service:pageEmbedLinkService"
2609
+ ],
2610
+ "inputSchemaRef": "page-embed-link.update.input",
2611
+ "outputSchemaRef": "page-embed-link.update.output",
2612
+ "policy": {
2613
+ "scope": "tenant",
2614
+ "auth": {
2615
+ "required": true
2616
+ },
2617
+ "safety": {
2618
+ "destructive": false,
2619
+ "applyRequired": true,
2620
+ "confirmationRequired": false
2621
+ },
2622
+ "rateLimit": {
2623
+ "bucket": "docman-write",
2624
+ "max": 60,
2625
+ "windowSeconds": 60
2626
+ }
2627
+ },
2628
+ "aliases": [
2629
+ "page-embed-link.update",
2630
+ "docman.page-embed-link.update",
2631
+ "docman-page-embed-link-update",
2632
+ "operations/page-embed-link/update",
2633
+ "/operations/page-embed-link/update"
2634
+ ],
2635
+ "notes": [
2636
+ "required args: id, patch"
2637
+ ],
2638
+ "examples": [
2639
+ "{\"id\":\"<id>\",\"patch\":{\"key\":\"<value>\"}}"
2640
+ ],
2641
+ "route": {
2642
+ "method": "PATCH",
2643
+ "pattern": "/page-embed-links/:id"
2644
+ }
2645
+ },
2646
+ {
2647
+ "toolId": "docman.page-snippet-link.create",
2648
+ "localToolId": "docman-page-snippet-link-create",
2649
+ "domain": "docman",
2650
+ "operationId": "page-snippet-link.create",
2651
+ "title": "Page snippet link create",
2652
+ "summary": "Page snippet link create",
2653
+ "sideEffect": "db",
2654
+ "tags": [
2655
+ "kind:create",
2656
+ "resource:page-snippet-link",
2657
+ "service:pageSnippetLinkService"
2658
+ ],
2659
+ "inputSchemaRef": "page-snippet-link.create.input",
2660
+ "outputSchemaRef": "page-snippet-link.create.output",
2661
+ "policy": {
2662
+ "scope": "tenant",
2663
+ "auth": {
2664
+ "required": true
2665
+ },
2666
+ "safety": {
2667
+ "destructive": false,
2668
+ "applyRequired": true,
2669
+ "confirmationRequired": false
2670
+ },
2671
+ "rateLimit": {
2672
+ "bucket": "docman-write",
2673
+ "max": 60,
2674
+ "windowSeconds": 60
2675
+ }
2676
+ },
2677
+ "aliases": [
2678
+ "page-snippet-link.create",
2679
+ "docman.page-snippet-link.create",
2680
+ "docman-page-snippet-link-create",
2681
+ "operations/page-snippet-link/create",
2682
+ "/operations/page-snippet-link/create"
2683
+ ],
2684
+ "notes": [
2685
+ "required args: data"
2686
+ ],
2687
+ "examples": [
2688
+ "{\"data\":{\"pageVersionId\":\"<pageVersionId>\",\"snippetId\":\"<snippetId>\",\"position\":1}}"
2689
+ ],
2690
+ "route": {
2691
+ "method": "POST",
2692
+ "pattern": "/page-snippet-links"
2693
+ }
2694
+ },
2695
+ {
2696
+ "toolId": "docman.page-snippet-link.delete",
2697
+ "localToolId": "docman-page-snippet-link-delete",
2698
+ "domain": "docman",
2699
+ "operationId": "page-snippet-link.delete",
2700
+ "title": "Page snippet link delete",
2701
+ "summary": "Page snippet link delete",
2702
+ "sideEffect": "db",
2703
+ "tags": [
2704
+ "kind:delete",
2705
+ "resource:page-snippet-link",
2706
+ "service:pageSnippetLinkService"
2707
+ ],
2708
+ "inputSchemaRef": "page-snippet-link.delete.input",
2709
+ "outputSchemaRef": "page-snippet-link.delete.output",
2710
+ "policy": {
2711
+ "scope": "tenant",
2712
+ "auth": {
2713
+ "required": true
2714
+ },
2715
+ "safety": {
2716
+ "destructive": true,
2717
+ "applyRequired": true,
2718
+ "confirmationRequired": false
2719
+ },
2720
+ "rateLimit": {
2721
+ "bucket": "docman-write-destructive",
2722
+ "max": 30,
2723
+ "windowSeconds": 60
2724
+ }
2725
+ },
2726
+ "aliases": [
2727
+ "page-snippet-link.delete",
2728
+ "docman.page-snippet-link.delete",
2729
+ "docman-page-snippet-link-delete",
2730
+ "operations/page-snippet-link/delete",
2731
+ "/operations/page-snippet-link/delete"
2732
+ ],
2733
+ "notes": [
2734
+ "required args: id"
2735
+ ],
2736
+ "examples": [
2737
+ "{\"id\":\"<id>\"}"
2738
+ ],
2739
+ "route": {
2740
+ "method": "DELETE",
2741
+ "pattern": "/page-snippet-links/:id"
2742
+ }
2743
+ },
2744
+ {
2745
+ "toolId": "docman.page-snippet-link.get",
2746
+ "localToolId": "docman-page-snippet-link-get",
2747
+ "domain": "docman",
2748
+ "operationId": "page-snippet-link.get",
2749
+ "title": "Page snippet link get",
2750
+ "summary": "Page snippet link get",
2751
+ "sideEffect": "none",
2752
+ "tags": [
2753
+ "kind:get",
2754
+ "resource:page-snippet-link",
2755
+ "service:pageSnippetLinkService"
2756
+ ],
2757
+ "inputSchemaRef": "page-snippet-link.get.input",
2758
+ "outputSchemaRef": "page-snippet-link.get.output",
2759
+ "policy": {
2760
+ "scope": "tenant",
2761
+ "auth": {
2762
+ "required": true
2763
+ },
2764
+ "rateLimit": {
2765
+ "bucket": "docman-read",
2766
+ "max": 240,
2767
+ "windowSeconds": 60
2768
+ }
2769
+ },
2770
+ "aliases": [
2771
+ "page-snippet-link.get",
2772
+ "docman.page-snippet-link.get",
2773
+ "docman-page-snippet-link-get",
2774
+ "operations/page-snippet-link/get",
2775
+ "/operations/page-snippet-link/get"
2776
+ ],
2777
+ "notes": [
2778
+ "required args: id",
2779
+ "optional args: options"
2780
+ ],
2781
+ "examples": [
2782
+ "{\"id\":\"<id>\",\"options\":{}}"
2783
+ ],
2784
+ "route": {
2785
+ "method": "GET",
2786
+ "pattern": "/page-snippet-links/:id"
2787
+ }
2788
+ },
2789
+ {
2790
+ "toolId": "docman.page-snippet-link.list",
2791
+ "localToolId": "docman-page-snippet-link-list",
2792
+ "domain": "docman",
2793
+ "operationId": "page-snippet-link.list",
2794
+ "title": "Page snippet link list",
2795
+ "summary": "Page snippet link list",
2796
+ "sideEffect": "none",
2797
+ "tags": [
2798
+ "kind:list",
2799
+ "resource:page-snippet-link",
2800
+ "service:pageSnippetLinkService"
2801
+ ],
2802
+ "inputSchemaRef": "page-snippet-link.list.input",
2803
+ "outputSchemaRef": "page-snippet-link.list.output",
2804
+ "policy": {
2805
+ "scope": "tenant",
2806
+ "auth": {
2807
+ "required": true
2808
+ },
2809
+ "rateLimit": {
2810
+ "bucket": "docman-read",
2811
+ "max": 180,
2812
+ "windowSeconds": 60
2813
+ }
2814
+ },
2815
+ "aliases": [
2816
+ "page-snippet-link.list",
2817
+ "docman.page-snippet-link.list",
2818
+ "docman-page-snippet-link-list",
2819
+ "operations/page-snippet-link/list",
2820
+ "/operations/page-snippet-link/list"
2821
+ ],
2822
+ "notes": [
2823
+ "optional args: filter, options"
2824
+ ],
2825
+ "examples": [
2826
+ "{\"filter\":{},\"options\":{}}"
2827
+ ],
2828
+ "route": {
2829
+ "method": "GET",
2830
+ "pattern": "/page-snippet-links"
2831
+ }
2832
+ },
2833
+ {
2834
+ "toolId": "docman.page-snippet-link.update",
2835
+ "localToolId": "docman-page-snippet-link-update",
2836
+ "domain": "docman",
2837
+ "operationId": "page-snippet-link.update",
2838
+ "title": "Page snippet link update",
2839
+ "summary": "Page snippet link update",
2840
+ "sideEffect": "db",
2841
+ "tags": [
2842
+ "kind:update",
2843
+ "resource:page-snippet-link",
2844
+ "service:pageSnippetLinkService"
2845
+ ],
2846
+ "inputSchemaRef": "page-snippet-link.update.input",
2847
+ "outputSchemaRef": "page-snippet-link.update.output",
2848
+ "policy": {
2849
+ "scope": "tenant",
2850
+ "auth": {
2851
+ "required": true
2852
+ },
2853
+ "safety": {
2854
+ "destructive": false,
2855
+ "applyRequired": true,
2856
+ "confirmationRequired": false
2857
+ },
2858
+ "rateLimit": {
2859
+ "bucket": "docman-write",
2860
+ "max": 60,
2861
+ "windowSeconds": 60
2862
+ }
2863
+ },
2864
+ "aliases": [
2865
+ "page-snippet-link.update",
2866
+ "docman.page-snippet-link.update",
2867
+ "docman-page-snippet-link-update",
2868
+ "operations/page-snippet-link/update",
2869
+ "/operations/page-snippet-link/update"
2870
+ ],
2871
+ "notes": [
2872
+ "required args: id, patch"
2873
+ ],
2874
+ "examples": [
2875
+ "{\"id\":\"<id>\",\"patch\":{\"key\":\"<value>\"}}"
2876
+ ],
2877
+ "route": {
2878
+ "method": "PATCH",
2879
+ "pattern": "/page-snippet-links/:id"
2880
+ }
2881
+ },
2882
+ {
2883
+ "toolId": "docman.page-version.create",
2884
+ "localToolId": "docman-page-version-create",
2885
+ "domain": "docman",
2886
+ "operationId": "page-version.create",
2887
+ "title": "Page version create",
2888
+ "summary": "Page version create",
2889
+ "sideEffect": "db",
2890
+ "tags": [
2891
+ "kind:create",
2892
+ "resource:page-version",
2893
+ "service:pageVersionService"
2894
+ ],
2895
+ "inputSchemaRef": "page-version.create.input",
2896
+ "outputSchemaRef": "page-version.create.output",
2897
+ "policy": {
2898
+ "scope": "tenant",
2899
+ "auth": {
2900
+ "required": true
2901
+ },
2902
+ "safety": {
2903
+ "destructive": false,
2904
+ "applyRequired": true,
2905
+ "confirmationRequired": false
2906
+ },
2907
+ "rateLimit": {
2908
+ "bucket": "docman-write",
2909
+ "max": 60,
2910
+ "windowSeconds": 60
2911
+ }
2912
+ },
2913
+ "aliases": [
2914
+ "page-version.create",
2915
+ "docman.page-version.create",
2916
+ "docman-page-version-create",
2917
+ "operations/page-version/create",
2918
+ "/operations/page-version/create"
2919
+ ],
2920
+ "notes": [
2921
+ "page-version owns source format; page remains format-agnostic identity metadata",
2922
+ "accepted source formats are md and mdx",
2923
+ "native compose/fetch accepts md and mdx page-version content only",
2924
+ "asset references inside md/mdx source should use asset://<assetUid-or-slug> or asset://<assetUid-or-slug>@<version>",
2925
+ "raw asset ids and filesystem-style asset paths are intentionally unsupported in page source",
2926
+ "required args: data"
2927
+ ],
2928
+ "examples": [
2929
+ "{\"data\":{\"pageId\":\"<pageId>\",\"version\":1,\"status\":\"draft\",\"title\":\"Sample page\",\"format\":\"md\",\"content\":\"# Sample page\\n\\nBody.\"}}"
2930
+ ],
2931
+ "route": {
2932
+ "method": "POST",
2933
+ "pattern": "/page-versions"
2934
+ }
2935
+ },
2936
+ {
2937
+ "toolId": "docman.page-version.delete",
2938
+ "localToolId": "docman-page-version-delete",
2939
+ "domain": "docman",
2940
+ "operationId": "page-version.delete",
2941
+ "title": "Page version delete",
2942
+ "summary": "Page version delete",
2943
+ "sideEffect": "db",
2944
+ "tags": [
2945
+ "kind:delete",
2946
+ "resource:page-version",
2947
+ "service:pageVersionService"
2948
+ ],
2949
+ "inputSchemaRef": "page-version.delete.input",
2950
+ "outputSchemaRef": "page-version.delete.output",
2951
+ "policy": {
2952
+ "scope": "tenant",
2953
+ "auth": {
2954
+ "required": true
2955
+ },
2956
+ "safety": {
2957
+ "destructive": true,
2958
+ "applyRequired": true,
2959
+ "confirmationRequired": false
2960
+ },
2961
+ "rateLimit": {
2962
+ "bucket": "docman-write-destructive",
2963
+ "max": 30,
2964
+ "windowSeconds": 60
2965
+ }
2966
+ },
2967
+ "aliases": [
2968
+ "page-version.delete",
2969
+ "docman.page-version.delete",
2970
+ "docman-page-version-delete",
2971
+ "operations/page-version/delete",
2972
+ "/operations/page-version/delete"
2973
+ ],
2974
+ "notes": [
2975
+ "required args: id"
2976
+ ],
2977
+ "examples": [
2978
+ "{\"id\":\"<id>\"}"
2979
+ ],
2980
+ "route": {
2981
+ "method": "DELETE",
2982
+ "pattern": "/page-versions/:id"
2983
+ }
2984
+ },
2985
+ {
2986
+ "toolId": "docman.page-version.get",
2987
+ "localToolId": "docman-page-version-get",
2988
+ "domain": "docman",
2989
+ "operationId": "page-version.get",
2990
+ "title": "Page version get",
2991
+ "summary": "Page version get",
2992
+ "sideEffect": "none",
2993
+ "tags": [
2994
+ "kind:get",
2995
+ "resource:page-version",
2996
+ "service:pageVersionService"
2997
+ ],
2998
+ "inputSchemaRef": "page-version.get.input",
2999
+ "outputSchemaRef": "page-version.get.output",
3000
+ "policy": {
3001
+ "scope": "tenant",
3002
+ "auth": {
3003
+ "required": true
3004
+ },
3005
+ "rateLimit": {
3006
+ "bucket": "docman-read",
3007
+ "max": 240,
3008
+ "windowSeconds": 60
3009
+ }
3010
+ },
3011
+ "aliases": [
3012
+ "page-version.get",
3013
+ "docman.page-version.get",
3014
+ "docman-page-version-get",
3015
+ "operations/page-version/get",
3016
+ "/operations/page-version/get"
3017
+ ],
3018
+ "notes": [
3019
+ "required args: id",
3020
+ "optional args: options"
3021
+ ],
3022
+ "examples": [
3023
+ "{\"id\":\"<id>\",\"options\":{}}"
3024
+ ],
3025
+ "route": {
3026
+ "method": "GET",
3027
+ "pattern": "/page-versions/:id"
3028
+ }
3029
+ },
3030
+ {
3031
+ "toolId": "docman.page-version.list",
3032
+ "localToolId": "docman-page-version-list",
3033
+ "domain": "docman",
3034
+ "operationId": "page-version.list",
3035
+ "title": "Page version list",
3036
+ "summary": "Page version list",
3037
+ "sideEffect": "none",
3038
+ "tags": [
3039
+ "kind:list",
3040
+ "resource:page-version",
3041
+ "service:pageVersionService"
3042
+ ],
3043
+ "inputSchemaRef": "page-version.list.input",
3044
+ "outputSchemaRef": "page-version.list.output",
3045
+ "policy": {
3046
+ "scope": "tenant",
3047
+ "auth": {
3048
+ "required": true
3049
+ },
3050
+ "rateLimit": {
3051
+ "bucket": "docman-read",
3052
+ "max": 180,
3053
+ "windowSeconds": 60
3054
+ }
3055
+ },
3056
+ "aliases": [
3057
+ "page-version.list",
3058
+ "docman.page-version.list",
3059
+ "docman-page-version-list",
3060
+ "operations/page-version/list",
3061
+ "/operations/page-version/list"
3062
+ ],
3063
+ "notes": [
3064
+ "optional args: filter, options"
3065
+ ],
3066
+ "examples": [
3067
+ "{\"filter\":{\"pageId\":\"<pageId>\"},\"options\":{}}"
3068
+ ],
3069
+ "route": {
3070
+ "method": "GET",
3071
+ "pattern": "/page-versions"
3072
+ }
3073
+ },
3074
+ {
3075
+ "toolId": "docman.page-version.update",
3076
+ "localToolId": "docman-page-version-update",
3077
+ "domain": "docman",
3078
+ "operationId": "page-version.update",
3079
+ "title": "Page version update",
3080
+ "summary": "Page version update",
3081
+ "sideEffect": "db",
3082
+ "tags": [
3083
+ "kind:update",
3084
+ "resource:page-version",
3085
+ "service:pageVersionService"
3086
+ ],
3087
+ "inputSchemaRef": "page-version.update.input",
3088
+ "outputSchemaRef": "page-version.update.output",
3089
+ "policy": {
3090
+ "scope": "tenant",
3091
+ "auth": {
3092
+ "required": true
3093
+ },
3094
+ "safety": {
3095
+ "destructive": false,
3096
+ "applyRequired": true,
3097
+ "confirmationRequired": false
3098
+ },
3099
+ "rateLimit": {
3100
+ "bucket": "docman-write",
3101
+ "max": 60,
3102
+ "windowSeconds": 60
3103
+ }
3104
+ },
3105
+ "aliases": [
3106
+ "page-version.update",
3107
+ "docman.page-version.update",
3108
+ "docman-page-version-update",
3109
+ "operations/page-version/update",
3110
+ "/operations/page-version/update"
3111
+ ],
3112
+ "notes": [
3113
+ "required args: id, patch"
3114
+ ],
3115
+ "examples": [
3116
+ "{\"id\":\"<id>\",\"patch\":{\"title\":\"Updated page version title\"}}"
3117
+ ],
3118
+ "route": {
3119
+ "method": "PATCH",
3120
+ "pattern": "/page-versions/:id"
3121
+ }
3122
+ },
3123
+ {
3124
+ "toolId": "docman.page.create",
3125
+ "localToolId": "docman-page-create",
3126
+ "domain": "docman",
3127
+ "operationId": "page.create",
3128
+ "title": "Page create",
3129
+ "summary": "Page create",
3130
+ "sideEffect": "db",
3131
+ "tags": [
3132
+ "kind:create",
3133
+ "resource:page",
3134
+ "service:pageService"
3135
+ ],
3136
+ "inputSchemaRef": "page.create.input",
3137
+ "outputSchemaRef": "page.create.output",
3138
+ "policy": {
3139
+ "scope": "tenant",
3140
+ "auth": {
3141
+ "required": true
3142
+ },
3143
+ "safety": {
3144
+ "destructive": false,
3145
+ "applyRequired": true,
3146
+ "confirmationRequired": false
3147
+ },
3148
+ "rateLimit": {
3149
+ "bucket": "docman-write",
3150
+ "max": 60,
3151
+ "windowSeconds": 60
3152
+ }
3153
+ },
3154
+ "aliases": [
3155
+ "page.create",
3156
+ "docman.page.create",
3157
+ "docman-page-create",
3158
+ "operations/page/create",
3159
+ "/operations/page/create"
3160
+ ],
3161
+ "notes": [
3162
+ "required args: data"
3163
+ ],
3164
+ "examples": [
3165
+ "{\"data\":{\"pageUid\":\"PAG-EXAMPLE-001\",\"title\":\"Sample page\",\"kind\":\"content\"}}"
3166
+ ],
3167
+ "route": {
3168
+ "method": "POST",
3169
+ "pattern": "/pages"
3170
+ }
3171
+ },
3172
+ {
3173
+ "toolId": "docman.page.delete",
3174
+ "localToolId": "docman-page-delete",
3175
+ "domain": "docman",
3176
+ "operationId": "page.delete",
3177
+ "title": "Page delete",
3178
+ "summary": "Page delete",
3179
+ "sideEffect": "db",
3180
+ "tags": [
3181
+ "kind:delete",
3182
+ "resource:page",
3183
+ "service:pageService"
3184
+ ],
3185
+ "inputSchemaRef": "page.delete.input",
3186
+ "outputSchemaRef": "page.delete.output",
3187
+ "policy": {
3188
+ "scope": "tenant",
3189
+ "auth": {
3190
+ "required": true
3191
+ },
3192
+ "safety": {
3193
+ "destructive": true,
3194
+ "applyRequired": true,
3195
+ "confirmationRequired": false
3196
+ },
3197
+ "rateLimit": {
3198
+ "bucket": "docman-write-destructive",
3199
+ "max": 30,
3200
+ "windowSeconds": 60
3201
+ }
3202
+ },
3203
+ "aliases": [
3204
+ "page.delete",
3205
+ "docman.page.delete",
3206
+ "docman-page-delete",
3207
+ "operations/page/delete",
3208
+ "/operations/page/delete"
3209
+ ],
3210
+ "notes": [
3211
+ "required args: id"
3212
+ ],
3213
+ "examples": [
3214
+ "{\"id\":\"<id>\"}"
3215
+ ],
3216
+ "route": {
3217
+ "method": "DELETE",
3218
+ "pattern": "/pages/:id"
3219
+ }
3220
+ },
3221
+ {
3222
+ "toolId": "docman.page.get",
3223
+ "localToolId": "docman-page-get",
3224
+ "domain": "docman",
3225
+ "operationId": "page.get",
3226
+ "title": "Page get",
3227
+ "summary": "Page get",
3228
+ "sideEffect": "none",
3229
+ "tags": [
3230
+ "kind:get",
3231
+ "resource:page",
3232
+ "service:pageService"
3233
+ ],
3234
+ "inputSchemaRef": "page.get.input",
3235
+ "outputSchemaRef": "page.get.output",
3236
+ "policy": {
3237
+ "scope": "tenant",
3238
+ "auth": {
3239
+ "required": true
3240
+ },
3241
+ "rateLimit": {
3242
+ "bucket": "docman-read",
3243
+ "max": 240,
3244
+ "windowSeconds": 60
3245
+ }
3246
+ },
3247
+ "aliases": [
3248
+ "page.get",
3249
+ "docman.page.get",
3250
+ "docman-page-get",
3251
+ "operations/page/get",
3252
+ "/operations/page/get"
3253
+ ],
3254
+ "notes": [
3255
+ "required args: id",
3256
+ "optional args: options"
3257
+ ],
3258
+ "examples": [
3259
+ "{\"id\":\"<id>\",\"options\":{}}"
3260
+ ],
3261
+ "route": {
3262
+ "method": "GET",
3263
+ "pattern": "/pages/:id"
3264
+ }
3265
+ },
3266
+ {
3267
+ "toolId": "docman.page.list",
3268
+ "localToolId": "docman-page-list",
3269
+ "domain": "docman",
3270
+ "operationId": "page.list",
3271
+ "title": "Page list",
3272
+ "summary": "Page list",
3273
+ "sideEffect": "none",
3274
+ "tags": [
3275
+ "kind:list",
3276
+ "resource:page",
3277
+ "service:pageService"
3278
+ ],
3279
+ "inputSchemaRef": "page.list.input",
3280
+ "outputSchemaRef": "page.list.output",
3281
+ "policy": {
3282
+ "scope": "tenant",
3283
+ "auth": {
3284
+ "required": true
3285
+ },
3286
+ "rateLimit": {
3287
+ "bucket": "docman-read",
3288
+ "max": 180,
3289
+ "windowSeconds": 60
3290
+ }
3291
+ },
3292
+ "aliases": [
3293
+ "page.list",
3294
+ "docman.page.list",
3295
+ "docman-page-list",
3296
+ "operations/page/list",
3297
+ "/operations/page/list"
3298
+ ],
3299
+ "notes": [
3300
+ "optional args: filter, options"
3301
+ ],
3302
+ "examples": [
3303
+ "{\"filter\":{},\"options\":{}}"
3304
+ ],
3305
+ "route": {
3306
+ "method": "GET",
3307
+ "pattern": "/pages"
3308
+ }
3309
+ },
3310
+ {
3311
+ "toolId": "docman.page.update",
3312
+ "localToolId": "docman-page-update",
3313
+ "domain": "docman",
3314
+ "operationId": "page.update",
3315
+ "title": "Page update",
3316
+ "summary": "Page update",
3317
+ "sideEffect": "db",
3318
+ "tags": [
3319
+ "kind:update",
3320
+ "resource:page",
3321
+ "service:pageService"
3322
+ ],
3323
+ "inputSchemaRef": "page.update.input",
3324
+ "outputSchemaRef": "page.update.output",
3325
+ "policy": {
3326
+ "scope": "tenant",
3327
+ "auth": {
3328
+ "required": true
3329
+ },
3330
+ "safety": {
3331
+ "destructive": false,
3332
+ "applyRequired": true,
3333
+ "confirmationRequired": false
3334
+ },
3335
+ "rateLimit": {
3336
+ "bucket": "docman-write",
3337
+ "max": 60,
3338
+ "windowSeconds": 60
3339
+ }
3340
+ },
3341
+ "aliases": [
3342
+ "page.update",
3343
+ "docman.page.update",
3344
+ "docman-page-update",
3345
+ "operations/page/update",
3346
+ "/operations/page/update"
3347
+ ],
3348
+ "notes": [
3349
+ "required args: id, patch"
3350
+ ],
3351
+ "examples": [
3352
+ "{\"id\":\"<id>\",\"patch\":{\"title\":\"Updated page title\"}}"
3353
+ ],
3354
+ "route": {
3355
+ "method": "PATCH",
3356
+ "pattern": "/pages/:id"
3357
+ }
3358
+ },
3359
+ {
3360
+ "toolId": "docman.section-page-link.create",
3361
+ "localToolId": "docman-section-page-link-create",
3362
+ "domain": "docman",
3363
+ "operationId": "section-page-link.create",
3364
+ "title": "Section page link create",
3365
+ "summary": "Section page link create",
3366
+ "sideEffect": "db",
3367
+ "tags": [
3368
+ "kind:create",
3369
+ "resource:section-page-link",
3370
+ "service:sectionPageLinkService"
3371
+ ],
3372
+ "inputSchemaRef": "section-page-link.create.input",
3373
+ "outputSchemaRef": "section-page-link.create.output",
3374
+ "policy": {
3375
+ "scope": "tenant",
3376
+ "auth": {
3377
+ "required": true
3378
+ },
3379
+ "safety": {
3380
+ "destructive": false,
3381
+ "applyRequired": true,
3382
+ "confirmationRequired": false
3383
+ },
3384
+ "rateLimit": {
3385
+ "bucket": "docman-write",
3386
+ "max": 60,
3387
+ "windowSeconds": 60
3388
+ }
3389
+ },
3390
+ "aliases": [
3391
+ "section-page-link.create",
3392
+ "docman.section-page-link.create",
3393
+ "docman-section-page-link-create",
3394
+ "operations/section-page-link/create",
3395
+ "/operations/section-page-link/create"
3396
+ ],
3397
+ "notes": [
3398
+ "section-page links are flat; pages live directly under a section",
3399
+ "position must be unique within the same sectionId",
3400
+ "required args: data"
3401
+ ],
3402
+ "examples": [
3403
+ "{\"data\":{\"sectionId\":\"<sectionId>\",\"pageVersionId\":\"<rootPageVersionId>\",\"position\":1}}",
3404
+ "{\"data\":{\"sectionId\":\"<sectionId>\",\"pageVersionId\":\"<siblingPageVersionId>\",\"position\":2}}"
3405
+ ],
3406
+ "route": {
3407
+ "method": "POST",
3408
+ "pattern": "/section-page-links"
3409
+ }
3410
+ },
3411
+ {
3412
+ "toolId": "docman.section-page-link.delete",
3413
+ "localToolId": "docman-section-page-link-delete",
3414
+ "domain": "docman",
3415
+ "operationId": "section-page-link.delete",
3416
+ "title": "Section page link delete",
3417
+ "summary": "Section page link delete",
3418
+ "sideEffect": "db",
3419
+ "tags": [
3420
+ "kind:delete",
3421
+ "resource:section-page-link",
3422
+ "service:sectionPageLinkService"
3423
+ ],
3424
+ "inputSchemaRef": "section-page-link.delete.input",
3425
+ "outputSchemaRef": "section-page-link.delete.output",
3426
+ "policy": {
3427
+ "scope": "tenant",
3428
+ "auth": {
3429
+ "required": true
3430
+ },
3431
+ "safety": {
3432
+ "destructive": true,
3433
+ "applyRequired": true,
3434
+ "confirmationRequired": false
3435
+ },
3436
+ "rateLimit": {
3437
+ "bucket": "docman-write-destructive",
3438
+ "max": 30,
3439
+ "windowSeconds": 60
3440
+ }
3441
+ },
3442
+ "aliases": [
3443
+ "section-page-link.delete",
3444
+ "docman.section-page-link.delete",
3445
+ "docman-section-page-link-delete",
3446
+ "operations/section-page-link/delete",
3447
+ "/operations/section-page-link/delete"
3448
+ ],
3449
+ "notes": [
3450
+ "required args: id"
3451
+ ],
3452
+ "examples": [
3453
+ "{\"id\":\"<id>\"}"
3454
+ ],
3455
+ "route": {
3456
+ "method": "DELETE",
3457
+ "pattern": "/section-page-links/:id"
3458
+ }
3459
+ },
3460
+ {
3461
+ "toolId": "docman.section-page-link.get",
3462
+ "localToolId": "docman-section-page-link-get",
3463
+ "domain": "docman",
3464
+ "operationId": "section-page-link.get",
3465
+ "title": "Section page link get",
3466
+ "summary": "Section page link get",
3467
+ "sideEffect": "none",
3468
+ "tags": [
3469
+ "kind:get",
3470
+ "resource:section-page-link",
3471
+ "service:sectionPageLinkService"
3472
+ ],
3473
+ "inputSchemaRef": "section-page-link.get.input",
3474
+ "outputSchemaRef": "section-page-link.get.output",
3475
+ "policy": {
3476
+ "scope": "tenant",
3477
+ "auth": {
3478
+ "required": true
3479
+ },
3480
+ "rateLimit": {
3481
+ "bucket": "docman-read",
3482
+ "max": 240,
3483
+ "windowSeconds": 60
3484
+ }
3485
+ },
3486
+ "aliases": [
3487
+ "section-page-link.get",
3488
+ "docman.section-page-link.get",
3489
+ "docman-section-page-link-get",
3490
+ "operations/section-page-link/get",
3491
+ "/operations/section-page-link/get"
3492
+ ],
3493
+ "notes": [
3494
+ "required args: id",
3495
+ "optional args: options"
3496
+ ],
3497
+ "examples": [
3498
+ "{\"id\":\"<id>\",\"options\":{}}"
3499
+ ],
3500
+ "route": {
3501
+ "method": "GET",
3502
+ "pattern": "/section-page-links/:id"
3503
+ }
3504
+ },
3505
+ {
3506
+ "toolId": "docman.section-page-link.list",
3507
+ "localToolId": "docman-section-page-link-list",
3508
+ "domain": "docman",
3509
+ "operationId": "section-page-link.list",
3510
+ "title": "Section page link list",
3511
+ "summary": "Section page link list",
3512
+ "sideEffect": "none",
3513
+ "tags": [
3514
+ "kind:list",
3515
+ "resource:section-page-link",
3516
+ "service:sectionPageLinkService"
3517
+ ],
3518
+ "inputSchemaRef": "section-page-link.list.input",
3519
+ "outputSchemaRef": "section-page-link.list.output",
3520
+ "policy": {
3521
+ "scope": "tenant",
3522
+ "auth": {
3523
+ "required": true
3524
+ },
3525
+ "rateLimit": {
3526
+ "bucket": "docman-read",
3527
+ "max": 180,
3528
+ "windowSeconds": 60
3529
+ }
3530
+ },
3531
+ "aliases": [
3532
+ "section-page-link.list",
3533
+ "docman.section-page-link.list",
3534
+ "docman-section-page-link-list",
3535
+ "operations/section-page-link/list",
3536
+ "/operations/section-page-link/list"
3537
+ ],
3538
+ "notes": [
3539
+ "optional args: filter, options"
3540
+ ],
3541
+ "examples": [
3542
+ "{\"filter\":{\"sectionId\":\"<sectionId>\"},\"options\":{}}"
3543
+ ],
3544
+ "route": {
3545
+ "method": "GET",
3546
+ "pattern": "/section-page-links"
3547
+ }
3548
+ },
3549
+ {
3550
+ "toolId": "docman.section-page-link.update",
3551
+ "localToolId": "docman-section-page-link-update",
3552
+ "domain": "docman",
3553
+ "operationId": "section-page-link.update",
3554
+ "title": "Section page link update",
3555
+ "summary": "Section page link update",
3556
+ "sideEffect": "db",
3557
+ "tags": [
3558
+ "kind:update",
3559
+ "resource:section-page-link",
3560
+ "service:sectionPageLinkService"
3561
+ ],
3562
+ "inputSchemaRef": "section-page-link.update.input",
3563
+ "outputSchemaRef": "section-page-link.update.output",
3564
+ "policy": {
3565
+ "scope": "tenant",
3566
+ "auth": {
3567
+ "required": true
3568
+ },
3569
+ "safety": {
3570
+ "destructive": false,
3571
+ "applyRequired": true,
3572
+ "confirmationRequired": false
3573
+ },
3574
+ "rateLimit": {
3575
+ "bucket": "docman-write",
3576
+ "max": 60,
3577
+ "windowSeconds": 60
3578
+ }
3579
+ },
3580
+ "aliases": [
3581
+ "section-page-link.update",
3582
+ "docman.section-page-link.update",
3583
+ "docman-section-page-link-update",
3584
+ "operations/section-page-link/update",
3585
+ "/operations/section-page-link/update"
3586
+ ],
3587
+ "notes": [
3588
+ "required args: id, patch"
3589
+ ],
3590
+ "examples": [
3591
+ "{\"id\":\"<id>\",\"patch\":{\"key\":\"<value>\"}}"
3592
+ ],
3593
+ "route": {
3594
+ "method": "PATCH",
3595
+ "pattern": "/section-page-links/:id"
3596
+ }
3597
+ },
3598
+ {
3599
+ "toolId": "docman.section.create",
3600
+ "localToolId": "docman-section-create",
3601
+ "domain": "docman",
3602
+ "operationId": "section.create",
3603
+ "title": "Section create",
3604
+ "summary": "Section create",
3605
+ "sideEffect": "db",
3606
+ "tags": [
3607
+ "kind:create",
3608
+ "resource:section",
3609
+ "service:sectionService"
3610
+ ],
3611
+ "inputSchemaRef": "section.create.input",
3612
+ "outputSchemaRef": "section.create.output",
3613
+ "policy": {
3614
+ "scope": "tenant",
3615
+ "auth": {
3616
+ "required": true
3617
+ },
3618
+ "safety": {
3619
+ "destructive": false,
3620
+ "applyRequired": true,
3621
+ "confirmationRequired": false
3622
+ },
3623
+ "rateLimit": {
3624
+ "bucket": "docman-write",
3625
+ "max": 60,
3626
+ "windowSeconds": 60
3627
+ }
3628
+ },
3629
+ "aliases": [
3630
+ "section.create",
3631
+ "docman.section.create",
3632
+ "docman-section-create",
3633
+ "operations/section/create",
3634
+ "/operations/section/create"
3635
+ ],
3636
+ "notes": [
3637
+ "required args: data"
3638
+ ],
3639
+ "examples": [
3640
+ "{\"data\":{\"sectionUid\":\"SEC-EXAMPLE-001\",\"title\":\"Introduction\",\"kind\":\"container\"}}"
3641
+ ],
3642
+ "route": {
3643
+ "method": "POST",
3644
+ "pattern": "/sections"
3645
+ }
3646
+ },
3647
+ {
3648
+ "toolId": "docman.section.delete",
3649
+ "localToolId": "docman-section-delete",
3650
+ "domain": "docman",
3651
+ "operationId": "section.delete",
3652
+ "title": "Section delete",
3653
+ "summary": "Section delete",
3654
+ "sideEffect": "db",
3655
+ "tags": [
3656
+ "kind:delete",
3657
+ "resource:section",
3658
+ "service:sectionService"
3659
+ ],
3660
+ "inputSchemaRef": "section.delete.input",
3661
+ "outputSchemaRef": "section.delete.output",
3662
+ "policy": {
3663
+ "scope": "tenant",
3664
+ "auth": {
3665
+ "required": true
3666
+ },
3667
+ "safety": {
3668
+ "destructive": true,
3669
+ "applyRequired": true,
3670
+ "confirmationRequired": false
3671
+ },
3672
+ "rateLimit": {
3673
+ "bucket": "docman-write-destructive",
3674
+ "max": 30,
3675
+ "windowSeconds": 60
3676
+ }
3677
+ },
3678
+ "aliases": [
3679
+ "section.delete",
3680
+ "docman.section.delete",
3681
+ "docman-section-delete",
3682
+ "operations/section/delete",
3683
+ "/operations/section/delete"
3684
+ ],
3685
+ "notes": [
3686
+ "required args: id"
3687
+ ],
3688
+ "examples": [
3689
+ "{\"id\":\"<id>\"}"
3690
+ ],
3691
+ "route": {
3692
+ "method": "DELETE",
3693
+ "pattern": "/sections/:id"
3694
+ }
3695
+ },
3696
+ {
3697
+ "toolId": "docman.section.get",
3698
+ "localToolId": "docman-section-get",
3699
+ "domain": "docman",
3700
+ "operationId": "section.get",
3701
+ "title": "Section get",
3702
+ "summary": "Section get",
3703
+ "sideEffect": "none",
3704
+ "tags": [
3705
+ "kind:get",
3706
+ "resource:section",
3707
+ "service:sectionService"
3708
+ ],
3709
+ "inputSchemaRef": "section.get.input",
3710
+ "outputSchemaRef": "section.get.output",
3711
+ "policy": {
3712
+ "scope": "tenant",
3713
+ "auth": {
3714
+ "required": true
3715
+ },
3716
+ "rateLimit": {
3717
+ "bucket": "docman-read",
3718
+ "max": 240,
3719
+ "windowSeconds": 60
3720
+ }
3721
+ },
3722
+ "aliases": [
3723
+ "section.get",
3724
+ "docman.section.get",
3725
+ "docman-section-get",
3726
+ "operations/section/get",
3727
+ "/operations/section/get"
3728
+ ],
3729
+ "notes": [
3730
+ "required args: id",
3731
+ "optional args: options"
3732
+ ],
3733
+ "examples": [
3734
+ "{\"id\":\"<id>\",\"options\":{}}"
3735
+ ],
3736
+ "route": {
3737
+ "method": "GET",
3738
+ "pattern": "/sections/:id"
3739
+ }
3740
+ },
3741
+ {
3742
+ "toolId": "docman.section.list",
3743
+ "localToolId": "docman-section-list",
3744
+ "domain": "docman",
3745
+ "operationId": "section.list",
3746
+ "title": "Section list",
3747
+ "summary": "Section list",
3748
+ "sideEffect": "none",
3749
+ "tags": [
3750
+ "kind:list",
3751
+ "resource:section",
3752
+ "service:sectionService"
3753
+ ],
3754
+ "inputSchemaRef": "section.list.input",
3755
+ "outputSchemaRef": "section.list.output",
3756
+ "policy": {
3757
+ "scope": "tenant",
3758
+ "auth": {
3759
+ "required": true
3760
+ },
3761
+ "rateLimit": {
3762
+ "bucket": "docman-read",
3763
+ "max": 180,
3764
+ "windowSeconds": 60
3765
+ }
3766
+ },
3767
+ "aliases": [
3768
+ "section.list",
3769
+ "docman.section.list",
3770
+ "docman-section-list",
3771
+ "operations/section/list",
3772
+ "/operations/section/list"
3773
+ ],
3774
+ "notes": [
3775
+ "optional args: filter, options"
3776
+ ],
3777
+ "examples": [
3778
+ "{\"filter\":{},\"options\":{}}"
3779
+ ],
3780
+ "route": {
3781
+ "method": "GET",
3782
+ "pattern": "/sections"
3783
+ }
3784
+ },
3785
+ {
3786
+ "toolId": "docman.section.update",
3787
+ "localToolId": "docman-section-update",
3788
+ "domain": "docman",
3789
+ "operationId": "section.update",
3790
+ "title": "Section update",
3791
+ "summary": "Section update",
3792
+ "sideEffect": "db",
3793
+ "tags": [
3794
+ "kind:update",
3795
+ "resource:section",
3796
+ "service:sectionService"
3797
+ ],
3798
+ "inputSchemaRef": "section.update.input",
3799
+ "outputSchemaRef": "section.update.output",
3800
+ "policy": {
3801
+ "scope": "tenant",
3802
+ "auth": {
3803
+ "required": true
3804
+ },
3805
+ "safety": {
3806
+ "destructive": false,
3807
+ "applyRequired": true,
3808
+ "confirmationRequired": false
3809
+ },
3810
+ "rateLimit": {
3811
+ "bucket": "docman-write",
3812
+ "max": 60,
3813
+ "windowSeconds": 60
3814
+ }
3815
+ },
3816
+ "aliases": [
3817
+ "section.update",
3818
+ "docman.section.update",
3819
+ "docman-section-update",
3820
+ "operations/section/update",
3821
+ "/operations/section/update"
3822
+ ],
3823
+ "notes": [
3824
+ "required args: id, patch"
3825
+ ],
3826
+ "examples": [
3827
+ "{\"id\":\"<id>\",\"patch\":{\"title\":\"Updated section title\"}}"
3828
+ ],
3829
+ "route": {
3830
+ "method": "PATCH",
3831
+ "pattern": "/sections/:id"
3832
+ }
3833
+ },
3834
+ {
3835
+ "toolId": "docman.snippet.create",
3836
+ "localToolId": "docman-snippet-create",
3837
+ "domain": "docman",
3838
+ "operationId": "snippet.create",
3839
+ "title": "Snippet create",
3840
+ "summary": "Snippet create",
3841
+ "sideEffect": "db",
3842
+ "tags": [
3843
+ "kind:create",
3844
+ "resource:snippet",
3845
+ "service:snippetService"
3846
+ ],
3847
+ "inputSchemaRef": "snippet.create.input",
3848
+ "outputSchemaRef": "snippet.create.output",
3849
+ "policy": {
3850
+ "scope": "tenant",
3851
+ "auth": {
3852
+ "required": true
3853
+ },
3854
+ "safety": {
3855
+ "destructive": false,
3856
+ "applyRequired": true,
3857
+ "confirmationRequired": false
3858
+ },
3859
+ "rateLimit": {
3860
+ "bucket": "docman-write",
3861
+ "max": 60,
3862
+ "windowSeconds": 60
3863
+ }
3864
+ },
3865
+ "aliases": [
3866
+ "snippet.create",
3867
+ "docman.snippet.create",
3868
+ "docman-snippet-create",
3869
+ "operations/snippet/create",
3870
+ "/operations/snippet/create"
3871
+ ],
3872
+ "notes": [
3873
+ "required args: data"
3874
+ ],
3875
+ "examples": [
3876
+ "{\"data\":{\"snippetUid\":\"SNP-EXAMPLE-001\",\"language\":\"ts\",\"title\":\"Hello snippet\",\"code\":\"console.log(\\\"hello\\\")\"}}"
3877
+ ],
3878
+ "route": {
3879
+ "method": "POST",
3880
+ "pattern": "/snippets"
3881
+ }
3882
+ },
3883
+ {
3884
+ "toolId": "docman.snippet.delete",
3885
+ "localToolId": "docman-snippet-delete",
3886
+ "domain": "docman",
3887
+ "operationId": "snippet.delete",
3888
+ "title": "Snippet delete",
3889
+ "summary": "Snippet delete",
3890
+ "sideEffect": "db",
3891
+ "tags": [
3892
+ "kind:delete",
3893
+ "resource:snippet",
3894
+ "service:snippetService"
3895
+ ],
3896
+ "inputSchemaRef": "snippet.delete.input",
3897
+ "outputSchemaRef": "snippet.delete.output",
3898
+ "policy": {
3899
+ "scope": "tenant",
3900
+ "auth": {
3901
+ "required": true
3902
+ },
3903
+ "safety": {
3904
+ "destructive": true,
3905
+ "applyRequired": true,
3906
+ "confirmationRequired": false
3907
+ },
3908
+ "rateLimit": {
3909
+ "bucket": "docman-write-destructive",
3910
+ "max": 30,
3911
+ "windowSeconds": 60
3912
+ }
3913
+ },
3914
+ "aliases": [
3915
+ "snippet.delete",
3916
+ "docman.snippet.delete",
3917
+ "docman-snippet-delete",
3918
+ "operations/snippet/delete",
3919
+ "/operations/snippet/delete"
3920
+ ],
3921
+ "notes": [
3922
+ "required args: id"
3923
+ ],
3924
+ "examples": [
3925
+ "{\"id\":\"<id>\"}"
3926
+ ],
3927
+ "route": {
3928
+ "method": "DELETE",
3929
+ "pattern": "/snippets/:id"
3930
+ }
3931
+ },
3932
+ {
3933
+ "toolId": "docman.snippet.get",
3934
+ "localToolId": "docman-snippet-get",
3935
+ "domain": "docman",
3936
+ "operationId": "snippet.get",
3937
+ "title": "Snippet get",
3938
+ "summary": "Snippet get",
3939
+ "sideEffect": "none",
3940
+ "tags": [
3941
+ "kind:get",
3942
+ "resource:snippet",
3943
+ "service:snippetService"
3944
+ ],
3945
+ "inputSchemaRef": "snippet.get.input",
3946
+ "outputSchemaRef": "snippet.get.output",
3947
+ "policy": {
3948
+ "scope": "tenant",
3949
+ "auth": {
3950
+ "required": true
3951
+ },
3952
+ "rateLimit": {
3953
+ "bucket": "docman-read",
3954
+ "max": 240,
3955
+ "windowSeconds": 60
3956
+ }
3957
+ },
3958
+ "aliases": [
3959
+ "snippet.get",
3960
+ "docman.snippet.get",
3961
+ "docman-snippet-get",
3962
+ "operations/snippet/get",
3963
+ "/operations/snippet/get"
3964
+ ],
3965
+ "notes": [
3966
+ "required args: id",
3967
+ "optional args: options"
3968
+ ],
3969
+ "examples": [
3970
+ "{\"id\":\"<id>\",\"options\":{}}"
3971
+ ],
3972
+ "route": {
3973
+ "method": "GET",
3974
+ "pattern": "/snippets/:id"
3975
+ }
3976
+ },
3977
+ {
3978
+ "toolId": "docman.snippet.list",
3979
+ "localToolId": "docman-snippet-list",
3980
+ "domain": "docman",
3981
+ "operationId": "snippet.list",
3982
+ "title": "Snippet list",
3983
+ "summary": "Snippet list",
3984
+ "sideEffect": "none",
3985
+ "tags": [
3986
+ "kind:list",
3987
+ "resource:snippet",
3988
+ "service:snippetService"
3989
+ ],
3990
+ "inputSchemaRef": "snippet.list.input",
3991
+ "outputSchemaRef": "snippet.list.output",
3992
+ "policy": {
3993
+ "scope": "tenant",
3994
+ "auth": {
3995
+ "required": true
3996
+ },
3997
+ "rateLimit": {
3998
+ "bucket": "docman-read",
3999
+ "max": 180,
4000
+ "windowSeconds": 60
4001
+ }
4002
+ },
4003
+ "aliases": [
4004
+ "snippet.list",
4005
+ "docman.snippet.list",
4006
+ "docman-snippet-list",
4007
+ "operations/snippet/list",
4008
+ "/operations/snippet/list"
4009
+ ],
4010
+ "notes": [
4011
+ "optional args: filter, options"
4012
+ ],
4013
+ "examples": [
4014
+ "{\"filter\":{},\"options\":{}}"
4015
+ ],
4016
+ "route": {
4017
+ "method": "GET",
4018
+ "pattern": "/snippets"
4019
+ }
4020
+ },
4021
+ {
4022
+ "toolId": "docman.snippet.update",
4023
+ "localToolId": "docman-snippet-update",
4024
+ "domain": "docman",
4025
+ "operationId": "snippet.update",
4026
+ "title": "Snippet update",
4027
+ "summary": "Snippet update",
4028
+ "sideEffect": "db",
4029
+ "tags": [
4030
+ "kind:update",
4031
+ "resource:snippet",
4032
+ "service:snippetService"
4033
+ ],
4034
+ "inputSchemaRef": "snippet.update.input",
4035
+ "outputSchemaRef": "snippet.update.output",
4036
+ "policy": {
4037
+ "scope": "tenant",
4038
+ "auth": {
4039
+ "required": true
4040
+ },
4041
+ "safety": {
4042
+ "destructive": false,
4043
+ "applyRequired": true,
4044
+ "confirmationRequired": false
4045
+ },
4046
+ "rateLimit": {
4047
+ "bucket": "docman-write",
4048
+ "max": 60,
4049
+ "windowSeconds": 60
4050
+ }
4051
+ },
4052
+ "aliases": [
4053
+ "snippet.update",
4054
+ "docman.snippet.update",
4055
+ "docman-snippet-update",
4056
+ "operations/snippet/update",
4057
+ "/operations/snippet/update"
4058
+ ],
4059
+ "notes": [
4060
+ "required args: id, patch"
4061
+ ],
4062
+ "examples": [
4063
+ "{\"id\":\"<id>\",\"patch\":{\"key\":\"<value>\"}}"
4064
+ ],
4065
+ "route": {
4066
+ "method": "PATCH",
4067
+ "pattern": "/snippets/:id"
4068
+ }
4069
+ }
4070
+ ]
4071
+ }