agentrinse 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/README.md +281 -179
  2. package/dist/adapters/claude-cache.d.ts +3 -0
  3. package/dist/adapters/claude-cache.d.ts.map +1 -0
  4. package/dist/adapters/claude-cache.js +67 -0
  5. package/dist/adapters/claude-cache.js.map +1 -0
  6. package/dist/adapters/claude-debug.d.ts +3 -0
  7. package/dist/adapters/claude-debug.d.ts.map +1 -0
  8. package/dist/adapters/claude-debug.js +100 -0
  9. package/dist/adapters/claude-debug.js.map +1 -0
  10. package/dist/adapters/claude-retention.d.ts +36 -0
  11. package/dist/adapters/claude-retention.d.ts.map +1 -0
  12. package/dist/adapters/claude-retention.js +176 -0
  13. package/dist/adapters/claude-retention.js.map +1 -0
  14. package/dist/adapters/codex-database.d.ts +64 -0
  15. package/dist/adapters/codex-database.d.ts.map +1 -0
  16. package/dist/adapters/codex-database.js +409 -0
  17. package/dist/adapters/codex-database.js.map +1 -0
  18. package/dist/adapters/copilot-maintenance.d.ts +23 -0
  19. package/dist/adapters/copilot-maintenance.d.ts.map +1 -0
  20. package/dist/adapters/copilot-maintenance.js +53 -0
  21. package/dist/adapters/copilot-maintenance.js.map +1 -0
  22. package/dist/adapters/provider-adapter.d.ts +5 -0
  23. package/dist/adapters/provider-adapter.d.ts.map +1 -1
  24. package/dist/adapters/provider-adapter.js +352 -6
  25. package/dist/adapters/provider-adapter.js.map +1 -1
  26. package/dist/adapters/provider-root.d.ts +8 -0
  27. package/dist/adapters/provider-root.d.ts.map +1 -0
  28. package/dist/adapters/provider-root.js +27 -0
  29. package/dist/adapters/provider-root.js.map +1 -0
  30. package/dist/adapters/provider-specs.d.ts.map +1 -1
  31. package/dist/adapters/provider-specs.js +25 -0
  32. package/dist/adapters/provider-specs.js.map +1 -1
  33. package/dist/adapters/registry.d.ts +1 -0
  34. package/dist/adapters/registry.d.ts.map +1 -1
  35. package/dist/adapters/registry.js +2 -0
  36. package/dist/adapters/registry.js.map +1 -1
  37. package/dist/commands/adapters.d.ts.map +1 -1
  38. package/dist/commands/adapters.js +3 -1
  39. package/dist/commands/adapters.js.map +1 -1
  40. package/dist/commands/apply.d.ts +2 -0
  41. package/dist/commands/apply.d.ts.map +1 -1
  42. package/dist/commands/apply.js +24 -3
  43. package/dist/commands/apply.js.map +1 -1
  44. package/dist/commands/audit.d.ts +1 -0
  45. package/dist/commands/audit.d.ts.map +1 -1
  46. package/dist/commands/audit.js +3 -1
  47. package/dist/commands/audit.js.map +1 -1
  48. package/dist/commands/completion.js +1 -1
  49. package/dist/commands/doctor.d.ts.map +1 -1
  50. package/dist/commands/doctor.js +34 -0
  51. package/dist/commands/doctor.js.map +1 -1
  52. package/dist/commands/plan.d.ts +2 -0
  53. package/dist/commands/plan.d.ts.map +1 -1
  54. package/dist/commands/plan.js +11 -1
  55. package/dist/commands/plan.js.map +1 -1
  56. package/dist/commands/purge.d.ts +13 -1
  57. package/dist/commands/purge.d.ts.map +1 -1
  58. package/dist/commands/purge.js +52 -6
  59. package/dist/commands/purge.js.map +1 -1
  60. package/dist/commands/show.d.ts.map +1 -1
  61. package/dist/commands/show.js +6 -0
  62. package/dist/commands/show.js.map +1 -1
  63. package/dist/commands/undo.d.ts +7 -1
  64. package/dist/commands/undo.d.ts.map +1 -1
  65. package/dist/commands/undo.js +38 -3
  66. package/dist/commands/undo.js.map +1 -1
  67. package/dist/contracts/action.d.ts +517 -2
  68. package/dist/contracts/action.d.ts.map +1 -1
  69. package/dist/contracts/action.js +101 -1
  70. package/dist/contracts/action.js.map +1 -1
  71. package/dist/contracts/database-backup.d.ts +192 -0
  72. package/dist/contracts/database-backup.d.ts.map +1 -0
  73. package/dist/contracts/database-backup.js +70 -0
  74. package/dist/contracts/database-backup.js.map +1 -0
  75. package/dist/contracts/finding.d.ts +208 -2
  76. package/dist/contracts/finding.d.ts.map +1 -1
  77. package/dist/contracts/plan.d.ts +207 -2
  78. package/dist/contracts/plan.d.ts.map +1 -1
  79. package/dist/contracts/plan.js +11 -2
  80. package/dist/contracts/plan.js.map +1 -1
  81. package/dist/contracts/provider-file-quarantine.d.ts +221 -0
  82. package/dist/contracts/provider-file-quarantine.d.ts.map +1 -0
  83. package/dist/contracts/provider-file-quarantine.js +61 -0
  84. package/dist/contracts/provider-file-quarantine.js.map +1 -0
  85. package/dist/contracts/report.d.ts +208 -2
  86. package/dist/contracts/report.d.ts.map +1 -1
  87. package/dist/contracts/resource.d.ts +3 -0
  88. package/dist/contracts/resource.d.ts.map +1 -1
  89. package/dist/contracts/resource.js +1 -0
  90. package/dist/contracts/resource.js.map +1 -1
  91. package/dist/contracts/run.d.ts +194 -0
  92. package/dist/contracts/run.d.ts.map +1 -1
  93. package/dist/contracts/run.js +16 -0
  94. package/dist/contracts/run.js.map +1 -1
  95. package/dist/core/apply.d.ts +9 -1
  96. package/dist/core/apply.d.ts.map +1 -1
  97. package/dist/core/apply.js +147 -4
  98. package/dist/core/apply.js.map +1 -1
  99. package/dist/core/database-exclusion.d.ts +23 -0
  100. package/dist/core/database-exclusion.d.ts.map +1 -0
  101. package/dist/core/database-exclusion.js +133 -0
  102. package/dist/core/database-exclusion.js.map +1 -0
  103. package/dist/core/database-executor.d.ts +45 -0
  104. package/dist/core/database-executor.d.ts.map +1 -0
  105. package/dist/core/database-executor.js +436 -0
  106. package/dist/core/database-executor.js.map +1 -0
  107. package/dist/core/database-recovery.d.ts +25 -0
  108. package/dist/core/database-recovery.d.ts.map +1 -0
  109. package/dist/core/database-recovery.js +628 -0
  110. package/dist/core/database-recovery.js.map +1 -0
  111. package/dist/core/database-revalidation.d.ts +19 -0
  112. package/dist/core/database-revalidation.d.ts.map +1 -0
  113. package/dist/core/database-revalidation.js +70 -0
  114. package/dist/core/database-revalidation.js.map +1 -0
  115. package/dist/core/no-clobber-rename.d.ts +2 -0
  116. package/dist/core/no-clobber-rename.d.ts.map +1 -1
  117. package/dist/core/no-clobber-rename.js +88 -0
  118. package/dist/core/no-clobber-rename.js.map +1 -1
  119. package/dist/core/pinned-file.d.ts +37 -0
  120. package/dist/core/pinned-file.d.ts.map +1 -0
  121. package/dist/core/pinned-file.js +228 -0
  122. package/dist/core/pinned-file.js.map +1 -0
  123. package/dist/core/plan.d.ts.map +1 -1
  124. package/dist/core/plan.js +4 -1
  125. package/dist/core/plan.js.map +1 -1
  126. package/dist/core/process-ownership.d.ts +1 -0
  127. package/dist/core/process-ownership.d.ts.map +1 -1
  128. package/dist/core/process-ownership.js +17 -3
  129. package/dist/core/process-ownership.js.map +1 -1
  130. package/dist/core/provider-file-executor.d.ts +40 -0
  131. package/dist/core/provider-file-executor.d.ts.map +1 -0
  132. package/dist/core/provider-file-executor.js +259 -0
  133. package/dist/core/provider-file-executor.js.map +1 -0
  134. package/dist/core/provider-file-identity.d.ts +8 -0
  135. package/dist/core/provider-file-identity.d.ts.map +1 -0
  136. package/dist/core/provider-file-identity.js +113 -0
  137. package/dist/core/provider-file-identity.js.map +1 -0
  138. package/dist/core/provider-file-policy.d.ts +19 -0
  139. package/dist/core/provider-file-policy.d.ts.map +1 -0
  140. package/dist/core/provider-file-policy.js +72 -0
  141. package/dist/core/provider-file-policy.js.map +1 -0
  142. package/dist/core/provider-file-recovery.d.ts +25 -0
  143. package/dist/core/provider-file-recovery.d.ts.map +1 -0
  144. package/dist/core/provider-file-recovery.js +393 -0
  145. package/dist/core/provider-file-recovery.js.map +1 -0
  146. package/dist/core/provider-file-revalidation.d.ts +20 -0
  147. package/dist/core/provider-file-revalidation.d.ts.map +1 -0
  148. package/dist/core/provider-file-revalidation.js +60 -0
  149. package/dist/core/provider-file-revalidation.js.map +1 -0
  150. package/dist/core/provider-processes.d.ts +18 -0
  151. package/dist/core/provider-processes.d.ts.map +1 -0
  152. package/dist/core/provider-processes.js +90 -0
  153. package/dist/core/provider-processes.js.map +1 -0
  154. package/dist/index.d.ts +4 -2
  155. package/dist/index.d.ts.map +1 -1
  156. package/dist/index.js +4 -2
  157. package/dist/index.js.map +1 -1
  158. package/dist/main.d.ts.map +1 -1
  159. package/dist/main.js +4 -1
  160. package/dist/main.js.map +1 -1
  161. package/dist/state/json-file.d.ts +2 -1
  162. package/dist/state/json-file.d.ts.map +1 -1
  163. package/dist/state/json-file.js +59 -2
  164. package/dist/state/json-file.js.map +1 -1
  165. package/dist/state/layout.d.ts +2 -0
  166. package/dist/state/layout.d.ts.map +1 -1
  167. package/dist/state/layout.js +2 -0
  168. package/dist/state/layout.js.map +1 -1
  169. package/dist/state/run-journal.d.ts.map +1 -1
  170. package/dist/state/run-journal.js +8 -2
  171. package/dist/state/run-journal.js.map +1 -1
  172. package/dist/version.d.ts +1 -1
  173. package/dist/version.js +1 -1
  174. package/package.json +1 -1
  175. package/schemas/audit.schema.json +1029 -1
  176. package/schemas/database-backup.schema.json +648 -0
  177. package/schemas/plan.schema.json +1014 -1
  178. package/schemas/provider-file-quarantine.schema.json +741 -0
  179. package/schemas/run.schema.json +180 -0
@@ -127,6 +127,7 @@
127
127
  "agent-home",
128
128
  "agent-session-store",
129
129
  "agent-log-store",
130
+ "agent-cache",
130
131
  "agent-database",
131
132
  "agent-snapshot-store",
132
133
  "agent-runtime",
@@ -205,7 +206,7 @@
205
206
  "default": [],
206
207
  "type": "array",
207
208
  "items": {
208
- "oneOf": [
209
+ "anyOf": [
209
210
  {
210
211
  "type": "object",
211
212
  "properties": {
@@ -425,6 +426,1033 @@
425
426
  "quarantineTtlMinutes",
426
427
  "target"
427
428
  ]
429
+ },
430
+ {
431
+ "type": "object",
432
+ "properties": {
433
+ "actionId": {
434
+ "type": "string",
435
+ "minLength": 1
436
+ },
437
+ "type": {
438
+ "type": "string",
439
+ "const": "database.vacuum"
440
+ },
441
+ "adapter": {
442
+ "type": "string",
443
+ "const": "codex"
444
+ },
445
+ "resourceId": {
446
+ "type": "string",
447
+ "minLength": 1
448
+ },
449
+ "risk": {
450
+ "type": "string",
451
+ "const": "experimental"
452
+ },
453
+ "description": {
454
+ "type": "string",
455
+ "minLength": 1
456
+ },
457
+ "expectedReclaimBytes": {
458
+ "type": "integer",
459
+ "exclusiveMinimum": 0,
460
+ "maximum": 9007199254740991
461
+ },
462
+ "backupTtlMinutes": {
463
+ "type": "integer",
464
+ "exclusiveMinimum": 0,
465
+ "maximum": 9007199254740991
466
+ },
467
+ "target": {
468
+ "type": "object",
469
+ "properties": {
470
+ "path": {
471
+ "type": "string",
472
+ "minLength": 1
473
+ },
474
+ "database": {
475
+ "type": "string",
476
+ "enum": ["state", "logs", "goals", "memories"]
477
+ },
478
+ "filename": {
479
+ "type": "string",
480
+ "enum": [
481
+ "state_5.sqlite",
482
+ "logs_2.sqlite",
483
+ "goals_1.sqlite",
484
+ "memories_1.sqlite"
485
+ ]
486
+ },
487
+ "device": {
488
+ "type": "integer",
489
+ "minimum": 0,
490
+ "maximum": 9007199254740991
491
+ },
492
+ "inode": {
493
+ "type": "integer",
494
+ "minimum": 0,
495
+ "maximum": 9007199254740991
496
+ },
497
+ "mode": {
498
+ "type": "integer",
499
+ "minimum": 0,
500
+ "maximum": 9007199254740991
501
+ },
502
+ "mtimeMs": {
503
+ "type": "number"
504
+ },
505
+ "measuredBytes": {
506
+ "type": "integer",
507
+ "minimum": 0,
508
+ "maximum": 9007199254740991
509
+ },
510
+ "pageSize": {
511
+ "type": "integer",
512
+ "exclusiveMinimum": 0,
513
+ "maximum": 9007199254740991
514
+ },
515
+ "pageCount": {
516
+ "type": "integer",
517
+ "minimum": 0,
518
+ "maximum": 9007199254740991
519
+ },
520
+ "freelistCount": {
521
+ "type": "integer",
522
+ "minimum": 0,
523
+ "maximum": 9007199254740991
524
+ },
525
+ "journalMode": {
526
+ "type": "string",
527
+ "const": "wal"
528
+ },
529
+ "autoVacuum": {
530
+ "type": "integer",
531
+ "minimum": 0,
532
+ "maximum": 2
533
+ },
534
+ "migrationVersion": {
535
+ "type": "integer",
536
+ "minimum": 0,
537
+ "maximum": 9007199254740991
538
+ },
539
+ "migrationDigest": {
540
+ "type": "string",
541
+ "pattern": "^[a-f0-9]{64}$"
542
+ },
543
+ "tables": {
544
+ "type": "array",
545
+ "items": {
546
+ "type": "string",
547
+ "minLength": 1
548
+ }
549
+ },
550
+ "wal": {
551
+ "type": "object",
552
+ "properties": {
553
+ "path": {
554
+ "type": "string",
555
+ "minLength": 1
556
+ },
557
+ "device": {
558
+ "type": "integer",
559
+ "minimum": 0,
560
+ "maximum": 9007199254740991
561
+ },
562
+ "inode": {
563
+ "type": "integer",
564
+ "minimum": 0,
565
+ "maximum": 9007199254740991
566
+ },
567
+ "mode": {
568
+ "type": "integer",
569
+ "minimum": 0,
570
+ "maximum": 9007199254740991
571
+ },
572
+ "mtimeMs": {
573
+ "type": "number"
574
+ },
575
+ "measuredBytes": {
576
+ "type": "integer",
577
+ "minimum": 0,
578
+ "maximum": 9007199254740991
579
+ }
580
+ },
581
+ "required": [
582
+ "path",
583
+ "device",
584
+ "inode",
585
+ "mode",
586
+ "mtimeMs",
587
+ "measuredBytes"
588
+ ]
589
+ },
590
+ "shm": {
591
+ "type": "object",
592
+ "properties": {
593
+ "path": {
594
+ "type": "string",
595
+ "minLength": 1
596
+ },
597
+ "device": {
598
+ "type": "integer",
599
+ "minimum": 0,
600
+ "maximum": 9007199254740991
601
+ },
602
+ "inode": {
603
+ "type": "integer",
604
+ "minimum": 0,
605
+ "maximum": 9007199254740991
606
+ },
607
+ "mode": {
608
+ "type": "integer",
609
+ "minimum": 0,
610
+ "maximum": 9007199254740991
611
+ },
612
+ "mtimeMs": {
613
+ "type": "number"
614
+ },
615
+ "measuredBytes": {
616
+ "type": "integer",
617
+ "minimum": 0,
618
+ "maximum": 9007199254740991
619
+ }
620
+ },
621
+ "required": [
622
+ "path",
623
+ "device",
624
+ "inode",
625
+ "mode",
626
+ "mtimeMs",
627
+ "measuredBytes"
628
+ ]
629
+ },
630
+ "schemaDigest": {
631
+ "type": "string",
632
+ "pattern": "^[a-f0-9]{64}$"
633
+ },
634
+ "fingerprint": {
635
+ "type": "string",
636
+ "pattern": "^[a-f0-9]{64}$"
637
+ }
638
+ },
639
+ "required": [
640
+ "path",
641
+ "database",
642
+ "filename",
643
+ "device",
644
+ "inode",
645
+ "mode",
646
+ "mtimeMs",
647
+ "measuredBytes",
648
+ "pageSize",
649
+ "pageCount",
650
+ "freelistCount",
651
+ "journalMode",
652
+ "autoVacuum",
653
+ "migrationVersion",
654
+ "migrationDigest",
655
+ "tables",
656
+ "schemaDigest",
657
+ "fingerprint"
658
+ ]
659
+ }
660
+ },
661
+ "required": [
662
+ "actionId",
663
+ "type",
664
+ "adapter",
665
+ "resourceId",
666
+ "risk",
667
+ "description",
668
+ "expectedReclaimBytes",
669
+ "backupTtlMinutes",
670
+ "target"
671
+ ]
672
+ },
673
+ {
674
+ "oneOf": [
675
+ {
676
+ "type": "object",
677
+ "properties": {
678
+ "actionId": {
679
+ "type": "string",
680
+ "minLength": 1
681
+ },
682
+ "type": {
683
+ "type": "string",
684
+ "const": "provider.file-quarantine"
685
+ },
686
+ "resourceId": {
687
+ "type": "string",
688
+ "minLength": 1
689
+ },
690
+ "policyId": {
691
+ "type": "string",
692
+ "pattern": "^[a-z0-9][a-z0-9.-]*$"
693
+ },
694
+ "risk": {
695
+ "type": "string",
696
+ "const": "recoverable"
697
+ },
698
+ "description": {
699
+ "type": "string",
700
+ "minLength": 1
701
+ },
702
+ "expectedReclaimBytes": {
703
+ "type": "number",
704
+ "const": 0
705
+ },
706
+ "pendingQuarantineBytes": {
707
+ "type": "integer",
708
+ "minimum": 0,
709
+ "maximum": 9007199254740991
710
+ },
711
+ "quarantineTtlMinutes": {
712
+ "type": "integer",
713
+ "exclusiveMinimum": 0,
714
+ "maximum": 9007199254740991
715
+ },
716
+ "adapter": {
717
+ "type": "string",
718
+ "const": "claude"
719
+ },
720
+ "target": {
721
+ "type": "object",
722
+ "properties": {
723
+ "path": {
724
+ "type": "string",
725
+ "minLength": 1
726
+ },
727
+ "ownerRoot": {
728
+ "type": "string",
729
+ "minLength": 1
730
+ },
731
+ "relativePath": {
732
+ "type": "string",
733
+ "minLength": 1
734
+ },
735
+ "provider": {
736
+ "type": "string",
737
+ "const": "claude"
738
+ },
739
+ "device": {
740
+ "type": "integer",
741
+ "minimum": 0,
742
+ "maximum": 9007199254740991
743
+ },
744
+ "inode": {
745
+ "type": "integer",
746
+ "minimum": 0,
747
+ "maximum": 9007199254740991
748
+ },
749
+ "linkCount": {
750
+ "type": "number",
751
+ "const": 1
752
+ },
753
+ "mode": {
754
+ "type": "integer",
755
+ "minimum": 0,
756
+ "maximum": 9007199254740991
757
+ },
758
+ "mtimeMs": {
759
+ "type": "number"
760
+ },
761
+ "measuredBytes": {
762
+ "type": "integer",
763
+ "minimum": 0,
764
+ "maximum": 9007199254740991
765
+ },
766
+ "contentSha256": {
767
+ "type": "string",
768
+ "pattern": "^[a-f0-9]{64}$"
769
+ },
770
+ "fingerprint": {
771
+ "type": "string",
772
+ "pattern": "^[a-f0-9]{64}$"
773
+ }
774
+ },
775
+ "required": [
776
+ "path",
777
+ "ownerRoot",
778
+ "relativePath",
779
+ "provider",
780
+ "device",
781
+ "inode",
782
+ "linkCount",
783
+ "mode",
784
+ "mtimeMs",
785
+ "measuredBytes",
786
+ "contentSha256",
787
+ "fingerprint"
788
+ ]
789
+ }
790
+ },
791
+ "required": [
792
+ "actionId",
793
+ "type",
794
+ "resourceId",
795
+ "policyId",
796
+ "risk",
797
+ "description",
798
+ "expectedReclaimBytes",
799
+ "pendingQuarantineBytes",
800
+ "quarantineTtlMinutes",
801
+ "adapter",
802
+ "target"
803
+ ]
804
+ },
805
+ {
806
+ "type": "object",
807
+ "properties": {
808
+ "actionId": {
809
+ "type": "string",
810
+ "minLength": 1
811
+ },
812
+ "type": {
813
+ "type": "string",
814
+ "const": "provider.file-quarantine"
815
+ },
816
+ "resourceId": {
817
+ "type": "string",
818
+ "minLength": 1
819
+ },
820
+ "policyId": {
821
+ "type": "string",
822
+ "pattern": "^[a-z0-9][a-z0-9.-]*$"
823
+ },
824
+ "risk": {
825
+ "type": "string",
826
+ "const": "recoverable"
827
+ },
828
+ "description": {
829
+ "type": "string",
830
+ "minLength": 1
831
+ },
832
+ "expectedReclaimBytes": {
833
+ "type": "number",
834
+ "const": 0
835
+ },
836
+ "pendingQuarantineBytes": {
837
+ "type": "integer",
838
+ "minimum": 0,
839
+ "maximum": 9007199254740991
840
+ },
841
+ "quarantineTtlMinutes": {
842
+ "type": "integer",
843
+ "exclusiveMinimum": 0,
844
+ "maximum": 9007199254740991
845
+ },
846
+ "adapter": {
847
+ "type": "string",
848
+ "const": "cursor"
849
+ },
850
+ "target": {
851
+ "type": "object",
852
+ "properties": {
853
+ "path": {
854
+ "type": "string",
855
+ "minLength": 1
856
+ },
857
+ "ownerRoot": {
858
+ "type": "string",
859
+ "minLength": 1
860
+ },
861
+ "relativePath": {
862
+ "type": "string",
863
+ "minLength": 1
864
+ },
865
+ "provider": {
866
+ "type": "string",
867
+ "const": "cursor"
868
+ },
869
+ "device": {
870
+ "type": "integer",
871
+ "minimum": 0,
872
+ "maximum": 9007199254740991
873
+ },
874
+ "inode": {
875
+ "type": "integer",
876
+ "minimum": 0,
877
+ "maximum": 9007199254740991
878
+ },
879
+ "linkCount": {
880
+ "type": "number",
881
+ "const": 1
882
+ },
883
+ "mode": {
884
+ "type": "integer",
885
+ "minimum": 0,
886
+ "maximum": 9007199254740991
887
+ },
888
+ "mtimeMs": {
889
+ "type": "number"
890
+ },
891
+ "measuredBytes": {
892
+ "type": "integer",
893
+ "minimum": 0,
894
+ "maximum": 9007199254740991
895
+ },
896
+ "contentSha256": {
897
+ "type": "string",
898
+ "pattern": "^[a-f0-9]{64}$"
899
+ },
900
+ "fingerprint": {
901
+ "type": "string",
902
+ "pattern": "^[a-f0-9]{64}$"
903
+ }
904
+ },
905
+ "required": [
906
+ "path",
907
+ "ownerRoot",
908
+ "relativePath",
909
+ "provider",
910
+ "device",
911
+ "inode",
912
+ "linkCount",
913
+ "mode",
914
+ "mtimeMs",
915
+ "measuredBytes",
916
+ "contentSha256",
917
+ "fingerprint"
918
+ ]
919
+ }
920
+ },
921
+ "required": [
922
+ "actionId",
923
+ "type",
924
+ "resourceId",
925
+ "policyId",
926
+ "risk",
927
+ "description",
928
+ "expectedReclaimBytes",
929
+ "pendingQuarantineBytes",
930
+ "quarantineTtlMinutes",
931
+ "adapter",
932
+ "target"
933
+ ]
934
+ },
935
+ {
936
+ "type": "object",
937
+ "properties": {
938
+ "actionId": {
939
+ "type": "string",
940
+ "minLength": 1
941
+ },
942
+ "type": {
943
+ "type": "string",
944
+ "const": "provider.file-quarantine"
945
+ },
946
+ "resourceId": {
947
+ "type": "string",
948
+ "minLength": 1
949
+ },
950
+ "policyId": {
951
+ "type": "string",
952
+ "pattern": "^[a-z0-9][a-z0-9.-]*$"
953
+ },
954
+ "risk": {
955
+ "type": "string",
956
+ "const": "recoverable"
957
+ },
958
+ "description": {
959
+ "type": "string",
960
+ "minLength": 1
961
+ },
962
+ "expectedReclaimBytes": {
963
+ "type": "number",
964
+ "const": 0
965
+ },
966
+ "pendingQuarantineBytes": {
967
+ "type": "integer",
968
+ "minimum": 0,
969
+ "maximum": 9007199254740991
970
+ },
971
+ "quarantineTtlMinutes": {
972
+ "type": "integer",
973
+ "exclusiveMinimum": 0,
974
+ "maximum": 9007199254740991
975
+ },
976
+ "adapter": {
977
+ "type": "string",
978
+ "const": "copilot"
979
+ },
980
+ "target": {
981
+ "type": "object",
982
+ "properties": {
983
+ "path": {
984
+ "type": "string",
985
+ "minLength": 1
986
+ },
987
+ "ownerRoot": {
988
+ "type": "string",
989
+ "minLength": 1
990
+ },
991
+ "relativePath": {
992
+ "type": "string",
993
+ "minLength": 1
994
+ },
995
+ "provider": {
996
+ "type": "string",
997
+ "const": "copilot"
998
+ },
999
+ "device": {
1000
+ "type": "integer",
1001
+ "minimum": 0,
1002
+ "maximum": 9007199254740991
1003
+ },
1004
+ "inode": {
1005
+ "type": "integer",
1006
+ "minimum": 0,
1007
+ "maximum": 9007199254740991
1008
+ },
1009
+ "linkCount": {
1010
+ "type": "number",
1011
+ "const": 1
1012
+ },
1013
+ "mode": {
1014
+ "type": "integer",
1015
+ "minimum": 0,
1016
+ "maximum": 9007199254740991
1017
+ },
1018
+ "mtimeMs": {
1019
+ "type": "number"
1020
+ },
1021
+ "measuredBytes": {
1022
+ "type": "integer",
1023
+ "minimum": 0,
1024
+ "maximum": 9007199254740991
1025
+ },
1026
+ "contentSha256": {
1027
+ "type": "string",
1028
+ "pattern": "^[a-f0-9]{64}$"
1029
+ },
1030
+ "fingerprint": {
1031
+ "type": "string",
1032
+ "pattern": "^[a-f0-9]{64}$"
1033
+ }
1034
+ },
1035
+ "required": [
1036
+ "path",
1037
+ "ownerRoot",
1038
+ "relativePath",
1039
+ "provider",
1040
+ "device",
1041
+ "inode",
1042
+ "linkCount",
1043
+ "mode",
1044
+ "mtimeMs",
1045
+ "measuredBytes",
1046
+ "contentSha256",
1047
+ "fingerprint"
1048
+ ]
1049
+ }
1050
+ },
1051
+ "required": [
1052
+ "actionId",
1053
+ "type",
1054
+ "resourceId",
1055
+ "policyId",
1056
+ "risk",
1057
+ "description",
1058
+ "expectedReclaimBytes",
1059
+ "pendingQuarantineBytes",
1060
+ "quarantineTtlMinutes",
1061
+ "adapter",
1062
+ "target"
1063
+ ]
1064
+ },
1065
+ {
1066
+ "type": "object",
1067
+ "properties": {
1068
+ "actionId": {
1069
+ "type": "string",
1070
+ "minLength": 1
1071
+ },
1072
+ "type": {
1073
+ "type": "string",
1074
+ "const": "provider.file-quarantine"
1075
+ },
1076
+ "resourceId": {
1077
+ "type": "string",
1078
+ "minLength": 1
1079
+ },
1080
+ "policyId": {
1081
+ "type": "string",
1082
+ "pattern": "^[a-z0-9][a-z0-9.-]*$"
1083
+ },
1084
+ "risk": {
1085
+ "type": "string",
1086
+ "const": "recoverable"
1087
+ },
1088
+ "description": {
1089
+ "type": "string",
1090
+ "minLength": 1
1091
+ },
1092
+ "expectedReclaimBytes": {
1093
+ "type": "number",
1094
+ "const": 0
1095
+ },
1096
+ "pendingQuarantineBytes": {
1097
+ "type": "integer",
1098
+ "minimum": 0,
1099
+ "maximum": 9007199254740991
1100
+ },
1101
+ "quarantineTtlMinutes": {
1102
+ "type": "integer",
1103
+ "exclusiveMinimum": 0,
1104
+ "maximum": 9007199254740991
1105
+ },
1106
+ "adapter": {
1107
+ "type": "string",
1108
+ "const": "zed"
1109
+ },
1110
+ "target": {
1111
+ "type": "object",
1112
+ "properties": {
1113
+ "path": {
1114
+ "type": "string",
1115
+ "minLength": 1
1116
+ },
1117
+ "ownerRoot": {
1118
+ "type": "string",
1119
+ "minLength": 1
1120
+ },
1121
+ "relativePath": {
1122
+ "type": "string",
1123
+ "minLength": 1
1124
+ },
1125
+ "provider": {
1126
+ "type": "string",
1127
+ "const": "zed"
1128
+ },
1129
+ "device": {
1130
+ "type": "integer",
1131
+ "minimum": 0,
1132
+ "maximum": 9007199254740991
1133
+ },
1134
+ "inode": {
1135
+ "type": "integer",
1136
+ "minimum": 0,
1137
+ "maximum": 9007199254740991
1138
+ },
1139
+ "linkCount": {
1140
+ "type": "number",
1141
+ "const": 1
1142
+ },
1143
+ "mode": {
1144
+ "type": "integer",
1145
+ "minimum": 0,
1146
+ "maximum": 9007199254740991
1147
+ },
1148
+ "mtimeMs": {
1149
+ "type": "number"
1150
+ },
1151
+ "measuredBytes": {
1152
+ "type": "integer",
1153
+ "minimum": 0,
1154
+ "maximum": 9007199254740991
1155
+ },
1156
+ "contentSha256": {
1157
+ "type": "string",
1158
+ "pattern": "^[a-f0-9]{64}$"
1159
+ },
1160
+ "fingerprint": {
1161
+ "type": "string",
1162
+ "pattern": "^[a-f0-9]{64}$"
1163
+ }
1164
+ },
1165
+ "required": [
1166
+ "path",
1167
+ "ownerRoot",
1168
+ "relativePath",
1169
+ "provider",
1170
+ "device",
1171
+ "inode",
1172
+ "linkCount",
1173
+ "mode",
1174
+ "mtimeMs",
1175
+ "measuredBytes",
1176
+ "contentSha256",
1177
+ "fingerprint"
1178
+ ]
1179
+ }
1180
+ },
1181
+ "required": [
1182
+ "actionId",
1183
+ "type",
1184
+ "resourceId",
1185
+ "policyId",
1186
+ "risk",
1187
+ "description",
1188
+ "expectedReclaimBytes",
1189
+ "pendingQuarantineBytes",
1190
+ "quarantineTtlMinutes",
1191
+ "adapter",
1192
+ "target"
1193
+ ]
1194
+ },
1195
+ {
1196
+ "type": "object",
1197
+ "properties": {
1198
+ "actionId": {
1199
+ "type": "string",
1200
+ "minLength": 1
1201
+ },
1202
+ "type": {
1203
+ "type": "string",
1204
+ "const": "provider.file-quarantine"
1205
+ },
1206
+ "resourceId": {
1207
+ "type": "string",
1208
+ "minLength": 1
1209
+ },
1210
+ "policyId": {
1211
+ "type": "string",
1212
+ "pattern": "^[a-z0-9][a-z0-9.-]*$"
1213
+ },
1214
+ "risk": {
1215
+ "type": "string",
1216
+ "const": "recoverable"
1217
+ },
1218
+ "description": {
1219
+ "type": "string",
1220
+ "minLength": 1
1221
+ },
1222
+ "expectedReclaimBytes": {
1223
+ "type": "number",
1224
+ "const": 0
1225
+ },
1226
+ "pendingQuarantineBytes": {
1227
+ "type": "integer",
1228
+ "minimum": 0,
1229
+ "maximum": 9007199254740991
1230
+ },
1231
+ "quarantineTtlMinutes": {
1232
+ "type": "integer",
1233
+ "exclusiveMinimum": 0,
1234
+ "maximum": 9007199254740991
1235
+ },
1236
+ "adapter": {
1237
+ "type": "string",
1238
+ "const": "opencode"
1239
+ },
1240
+ "target": {
1241
+ "type": "object",
1242
+ "properties": {
1243
+ "path": {
1244
+ "type": "string",
1245
+ "minLength": 1
1246
+ },
1247
+ "ownerRoot": {
1248
+ "type": "string",
1249
+ "minLength": 1
1250
+ },
1251
+ "relativePath": {
1252
+ "type": "string",
1253
+ "minLength": 1
1254
+ },
1255
+ "provider": {
1256
+ "type": "string",
1257
+ "const": "opencode"
1258
+ },
1259
+ "device": {
1260
+ "type": "integer",
1261
+ "minimum": 0,
1262
+ "maximum": 9007199254740991
1263
+ },
1264
+ "inode": {
1265
+ "type": "integer",
1266
+ "minimum": 0,
1267
+ "maximum": 9007199254740991
1268
+ },
1269
+ "linkCount": {
1270
+ "type": "number",
1271
+ "const": 1
1272
+ },
1273
+ "mode": {
1274
+ "type": "integer",
1275
+ "minimum": 0,
1276
+ "maximum": 9007199254740991
1277
+ },
1278
+ "mtimeMs": {
1279
+ "type": "number"
1280
+ },
1281
+ "measuredBytes": {
1282
+ "type": "integer",
1283
+ "minimum": 0,
1284
+ "maximum": 9007199254740991
1285
+ },
1286
+ "contentSha256": {
1287
+ "type": "string",
1288
+ "pattern": "^[a-f0-9]{64}$"
1289
+ },
1290
+ "fingerprint": {
1291
+ "type": "string",
1292
+ "pattern": "^[a-f0-9]{64}$"
1293
+ }
1294
+ },
1295
+ "required": [
1296
+ "path",
1297
+ "ownerRoot",
1298
+ "relativePath",
1299
+ "provider",
1300
+ "device",
1301
+ "inode",
1302
+ "linkCount",
1303
+ "mode",
1304
+ "mtimeMs",
1305
+ "measuredBytes",
1306
+ "contentSha256",
1307
+ "fingerprint"
1308
+ ]
1309
+ }
1310
+ },
1311
+ "required": [
1312
+ "actionId",
1313
+ "type",
1314
+ "resourceId",
1315
+ "policyId",
1316
+ "risk",
1317
+ "description",
1318
+ "expectedReclaimBytes",
1319
+ "pendingQuarantineBytes",
1320
+ "quarantineTtlMinutes",
1321
+ "adapter",
1322
+ "target"
1323
+ ]
1324
+ },
1325
+ {
1326
+ "type": "object",
1327
+ "properties": {
1328
+ "actionId": {
1329
+ "type": "string",
1330
+ "minLength": 1
1331
+ },
1332
+ "type": {
1333
+ "type": "string",
1334
+ "const": "provider.file-quarantine"
1335
+ },
1336
+ "resourceId": {
1337
+ "type": "string",
1338
+ "minLength": 1
1339
+ },
1340
+ "policyId": {
1341
+ "type": "string",
1342
+ "pattern": "^[a-z0-9][a-z0-9.-]*$"
1343
+ },
1344
+ "risk": {
1345
+ "type": "string",
1346
+ "const": "recoverable"
1347
+ },
1348
+ "description": {
1349
+ "type": "string",
1350
+ "minLength": 1
1351
+ },
1352
+ "expectedReclaimBytes": {
1353
+ "type": "number",
1354
+ "const": 0
1355
+ },
1356
+ "pendingQuarantineBytes": {
1357
+ "type": "integer",
1358
+ "minimum": 0,
1359
+ "maximum": 9007199254740991
1360
+ },
1361
+ "quarantineTtlMinutes": {
1362
+ "type": "integer",
1363
+ "exclusiveMinimum": 0,
1364
+ "maximum": 9007199254740991
1365
+ },
1366
+ "adapter": {
1367
+ "type": "string",
1368
+ "const": "grok"
1369
+ },
1370
+ "target": {
1371
+ "type": "object",
1372
+ "properties": {
1373
+ "path": {
1374
+ "type": "string",
1375
+ "minLength": 1
1376
+ },
1377
+ "ownerRoot": {
1378
+ "type": "string",
1379
+ "minLength": 1
1380
+ },
1381
+ "relativePath": {
1382
+ "type": "string",
1383
+ "minLength": 1
1384
+ },
1385
+ "provider": {
1386
+ "type": "string",
1387
+ "const": "grok"
1388
+ },
1389
+ "device": {
1390
+ "type": "integer",
1391
+ "minimum": 0,
1392
+ "maximum": 9007199254740991
1393
+ },
1394
+ "inode": {
1395
+ "type": "integer",
1396
+ "minimum": 0,
1397
+ "maximum": 9007199254740991
1398
+ },
1399
+ "linkCount": {
1400
+ "type": "number",
1401
+ "const": 1
1402
+ },
1403
+ "mode": {
1404
+ "type": "integer",
1405
+ "minimum": 0,
1406
+ "maximum": 9007199254740991
1407
+ },
1408
+ "mtimeMs": {
1409
+ "type": "number"
1410
+ },
1411
+ "measuredBytes": {
1412
+ "type": "integer",
1413
+ "minimum": 0,
1414
+ "maximum": 9007199254740991
1415
+ },
1416
+ "contentSha256": {
1417
+ "type": "string",
1418
+ "pattern": "^[a-f0-9]{64}$"
1419
+ },
1420
+ "fingerprint": {
1421
+ "type": "string",
1422
+ "pattern": "^[a-f0-9]{64}$"
1423
+ }
1424
+ },
1425
+ "required": [
1426
+ "path",
1427
+ "ownerRoot",
1428
+ "relativePath",
1429
+ "provider",
1430
+ "device",
1431
+ "inode",
1432
+ "linkCount",
1433
+ "mode",
1434
+ "mtimeMs",
1435
+ "measuredBytes",
1436
+ "contentSha256",
1437
+ "fingerprint"
1438
+ ]
1439
+ }
1440
+ },
1441
+ "required": [
1442
+ "actionId",
1443
+ "type",
1444
+ "resourceId",
1445
+ "policyId",
1446
+ "risk",
1447
+ "description",
1448
+ "expectedReclaimBytes",
1449
+ "pendingQuarantineBytes",
1450
+ "quarantineTtlMinutes",
1451
+ "adapter",
1452
+ "target"
1453
+ ]
1454
+ }
1455
+ ]
428
1456
  }
429
1457
  ]
430
1458
  }