chainlesschain 0.145.0 → 0.152.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 (113) hide show
  1. package/package.json +1 -1
  2. package/src/commands/activitypub.js +207 -0
  3. package/src/commands/agent-network.js +217 -0
  4. package/src/commands/automation.js +201 -0
  5. package/src/commands/bi.js +203 -0
  6. package/src/commands/browse.js +213 -0
  7. package/src/commands/codegen.js +207 -0
  8. package/src/commands/collab.js +211 -0
  9. package/src/commands/compliance.js +410 -0
  10. package/src/commands/cowork.js +203 -0
  11. package/src/commands/dbevo.js +227 -0
  12. package/src/commands/dev.js +207 -0
  13. package/src/commands/did-v2.js +217 -0
  14. package/src/commands/did.js +221 -0
  15. package/src/commands/dlp.js +213 -0
  16. package/src/commands/evomap.js +205 -0
  17. package/src/commands/export.js +213 -0
  18. package/src/commands/federation.js +209 -0
  19. package/src/commands/fusion.js +205 -0
  20. package/src/commands/governance.js +209 -0
  21. package/src/commands/hook.js +209 -0
  22. package/src/commands/import.js +209 -0
  23. package/src/commands/infra.js +203 -0
  24. package/src/commands/instinct.js +209 -0
  25. package/src/commands/ipfs.js +207 -0
  26. package/src/commands/llm.js +217 -0
  27. package/src/commands/matrix.js +207 -0
  28. package/src/commands/mcp.js +217 -0
  29. package/src/commands/memory.js +209 -0
  30. package/src/commands/multimodal.js +203 -0
  31. package/src/commands/nlprog.js +225 -0
  32. package/src/commands/nostr.js +209 -0
  33. package/src/commands/note.js +205 -0
  34. package/src/commands/ops.js +219 -0
  35. package/src/commands/org.js +209 -0
  36. package/src/commands/p2p.js +209 -0
  37. package/src/commands/perception.js +209 -0
  38. package/src/commands/permmem.js +203 -0
  39. package/src/commands/plugin-ecosystem.js +209 -0
  40. package/src/commands/pqc.js +213 -0
  41. package/src/commands/quantization.js +207 -0
  42. package/src/commands/rcache.js +205 -0
  43. package/src/commands/recommend.js +233 -0
  44. package/src/commands/runtime.js +205 -0
  45. package/src/commands/scim.js +209 -0
  46. package/src/commands/session.js +209 -0
  47. package/src/commands/skill.js +207 -0
  48. package/src/commands/social.js +201 -0
  49. package/src/commands/sso.js +209 -0
  50. package/src/commands/sync.js +209 -0
  51. package/src/commands/tech.js +209 -0
  52. package/src/commands/tenant.js +217 -0
  53. package/src/commands/tokens.js +209 -0
  54. package/src/commands/trust.js +217 -0
  55. package/src/commands/wallet.js +209 -0
  56. package/src/commands/workflow.js +203 -0
  57. package/src/index.js +140 -0
  58. package/src/lib/activitypub-bridge.js +334 -0
  59. package/src/lib/agent-network.js +341 -0
  60. package/src/lib/aiops.js +346 -0
  61. package/src/lib/automation-engine.js +335 -0
  62. package/src/lib/autonomous-developer.js +332 -0
  63. package/src/lib/bi-engine.js +333 -0
  64. package/src/lib/browser-automation.js +334 -0
  65. package/src/lib/code-agent.js +339 -0
  66. package/src/lib/collaboration-governance.js +334 -0
  67. package/src/lib/community-governance.js +346 -0
  68. package/src/lib/content-recommendation.js +351 -0
  69. package/src/lib/cowork-share.js +338 -0
  70. package/src/lib/dbevo.js +351 -0
  71. package/src/lib/decentral-infra.js +330 -0
  72. package/src/lib/did-manager.js +341 -0
  73. package/src/lib/did-v2-manager.js +341 -0
  74. package/src/lib/dlp-engine.js +339 -0
  75. package/src/lib/evomap-governance.js +334 -0
  76. package/src/lib/federation-hardening.js +340 -0
  77. package/src/lib/hook-manager.js +341 -0
  78. package/src/lib/instinct-manager.js +346 -0
  79. package/src/lib/ipfs-storage.js +334 -0
  80. package/src/lib/knowledge-exporter.js +341 -0
  81. package/src/lib/knowledge-importer.js +341 -0
  82. package/src/lib/llm-providers.js +346 -0
  83. package/src/lib/matrix-bridge.js +339 -0
  84. package/src/lib/mcp-registry.js +346 -0
  85. package/src/lib/memory-manager.js +336 -0
  86. package/src/lib/multimodal.js +330 -0
  87. package/src/lib/nl-programming.js +341 -0
  88. package/src/lib/nostr-bridge.js +336 -0
  89. package/src/lib/note-versioning.js +339 -0
  90. package/src/lib/org-manager.js +336 -0
  91. package/src/lib/p2p-manager.js +341 -0
  92. package/src/lib/perception.js +346 -0
  93. package/src/lib/permanent-memory.js +327 -0
  94. package/src/lib/plugin-ecosystem.js +346 -0
  95. package/src/lib/pqc-manager.js +346 -0
  96. package/src/lib/protocol-fusion.js +338 -0
  97. package/src/lib/quantization.js +337 -0
  98. package/src/lib/response-cache.js +333 -0
  99. package/src/lib/scim-manager.js +346 -0
  100. package/src/lib/session-manager.js +334 -0
  101. package/src/lib/skill-loader.js +334 -0
  102. package/src/lib/social-manager.js +330 -0
  103. package/src/lib/sso-manager.js +340 -0
  104. package/src/lib/sync-manager.js +336 -0
  105. package/src/lib/tech-learning-engine.js +341 -0
  106. package/src/lib/tenant-saas.js +341 -0
  107. package/src/lib/threat-intel.js +330 -0
  108. package/src/lib/token-tracker.js +336 -0
  109. package/src/lib/trust-security.js +343 -0
  110. package/src/lib/ueba.js +340 -0
  111. package/src/lib/universal-runtime.js +330 -0
  112. package/src/lib/wallet-manager.js +336 -0
  113. package/src/lib/workflow-engine.js +330 -0
@@ -859,3 +859,236 @@ function _registerRecommendCrV2(parent) {
859
859
  else console.log(s);
860
860
  });
861
861
  }
862
+
863
+ // === Iter24 V2 governance overlay ===
864
+ export function registerRcmdgovV2Commands(program) {
865
+ const parent = program.commands.find((c) => c.name() === "recommend");
866
+ if (!parent) return;
867
+ const L = async () => await import("../lib/content-recommendation.js");
868
+ parent
869
+ .command("rcmdgov-enums-v2")
870
+ .description("Show V2 enums")
871
+ .action(async () => {
872
+ const m = await L();
873
+ console.log(
874
+ JSON.stringify(
875
+ {
876
+ profileMaturity: m.RCMDGOV_PROFILE_MATURITY_V2,
877
+ recommendationLifecycle: m.RCMDGOV_RECOMMENDATION_LIFECYCLE_V2,
878
+ },
879
+ null,
880
+ 2,
881
+ ),
882
+ );
883
+ });
884
+ parent
885
+ .command("rcmdgov-config-v2")
886
+ .description("Show V2 config")
887
+ .action(async () => {
888
+ const m = await L();
889
+ console.log(
890
+ JSON.stringify(
891
+ {
892
+ maxActive: m.getMaxActiveRcmdgovProfilesPerOwnerV2(),
893
+ maxPending: m.getMaxPendingRcmdgovRecommendationsPerProfileV2(),
894
+ idleMs: m.getRcmdgovProfileIdleMsV2(),
895
+ stuckMs: m.getRcmdgovRecommendationStuckMsV2(),
896
+ },
897
+ null,
898
+ 2,
899
+ ),
900
+ );
901
+ });
902
+ parent
903
+ .command("rcmdgov-set-max-active-v2 <n>")
904
+ .description("Set max active")
905
+ .action(async (n) => {
906
+ (await L()).setMaxActiveRcmdgovProfilesPerOwnerV2(Number(n));
907
+ console.log("ok");
908
+ });
909
+ parent
910
+ .command("rcmdgov-set-max-pending-v2 <n>")
911
+ .description("Set max pending")
912
+ .action(async (n) => {
913
+ (await L()).setMaxPendingRcmdgovRecommendationsPerProfileV2(Number(n));
914
+ console.log("ok");
915
+ });
916
+ parent
917
+ .command("rcmdgov-set-idle-ms-v2 <n>")
918
+ .description("Set idle threshold ms")
919
+ .action(async (n) => {
920
+ (await L()).setRcmdgovProfileIdleMsV2(Number(n));
921
+ console.log("ok");
922
+ });
923
+ parent
924
+ .command("rcmdgov-set-stuck-ms-v2 <n>")
925
+ .description("Set stuck threshold ms")
926
+ .action(async (n) => {
927
+ (await L()).setRcmdgovRecommendationStuckMsV2(Number(n));
928
+ console.log("ok");
929
+ });
930
+ parent
931
+ .command("rcmdgov-register-v2 <id> <owner>")
932
+ .description("Register V2 profile")
933
+ .option("--channel <v>", "channel")
934
+ .action(async (id, owner, o) => {
935
+ const m = await L();
936
+ console.log(
937
+ JSON.stringify(
938
+ m.registerRcmdgovProfileV2({ id, owner, channel: o.channel }),
939
+ null,
940
+ 2,
941
+ ),
942
+ );
943
+ });
944
+ parent
945
+ .command("rcmdgov-activate-v2 <id>")
946
+ .description("Activate profile")
947
+ .action(async (id) => {
948
+ console.log(
949
+ JSON.stringify((await L()).activateRcmdgovProfileV2(id), null, 2),
950
+ );
951
+ });
952
+ parent
953
+ .command("rcmdgov-stale-v2 <id>")
954
+ .description("Stale profile")
955
+ .action(async (id) => {
956
+ console.log(
957
+ JSON.stringify((await L()).staleRcmdgovProfileV2(id), null, 2),
958
+ );
959
+ });
960
+ parent
961
+ .command("rcmdgov-archive-v2 <id>")
962
+ .description("Archive profile")
963
+ .action(async (id) => {
964
+ console.log(
965
+ JSON.stringify((await L()).archiveRcmdgovProfileV2(id), null, 2),
966
+ );
967
+ });
968
+ parent
969
+ .command("rcmdgov-touch-v2 <id>")
970
+ .description("Touch profile")
971
+ .action(async (id) => {
972
+ console.log(
973
+ JSON.stringify((await L()).touchRcmdgovProfileV2(id), null, 2),
974
+ );
975
+ });
976
+ parent
977
+ .command("rcmdgov-get-v2 <id>")
978
+ .description("Get profile")
979
+ .action(async (id) => {
980
+ console.log(JSON.stringify((await L()).getRcmdgovProfileV2(id), null, 2));
981
+ });
982
+ parent
983
+ .command("rcmdgov-list-v2")
984
+ .description("List profiles")
985
+ .action(async () => {
986
+ console.log(JSON.stringify((await L()).listRcmdgovProfilesV2(), null, 2));
987
+ });
988
+ parent
989
+ .command("rcmdgov-create-recommendation-v2 <id> <profileId>")
990
+ .description("Create recommendation")
991
+ .option("--user <v>", "user")
992
+ .action(async (id, profileId, o) => {
993
+ const m = await L();
994
+ console.log(
995
+ JSON.stringify(
996
+ m.createRcmdgovRecommendationV2({ id, profileId, user: o.user }),
997
+ null,
998
+ 2,
999
+ ),
1000
+ );
1001
+ });
1002
+ parent
1003
+ .command("rcmdgov-scoring-recommendation-v2 <id>")
1004
+ .description("Mark recommendation as scoring")
1005
+ .action(async (id) => {
1006
+ console.log(
1007
+ JSON.stringify((await L()).scoringRcmdgovRecommendationV2(id), null, 2),
1008
+ );
1009
+ });
1010
+ parent
1011
+ .command("rcmdgov-complete-recommendation-v2 <id>")
1012
+ .description("Complete recommendation")
1013
+ .action(async (id) => {
1014
+ console.log(
1015
+ JSON.stringify(
1016
+ (await L()).completeRecommendationRcmdgovV2(id),
1017
+ null,
1018
+ 2,
1019
+ ),
1020
+ );
1021
+ });
1022
+ parent
1023
+ .command("rcmdgov-fail-recommendation-v2 <id> [reason]")
1024
+ .description("Fail recommendation")
1025
+ .action(async (id, reason) => {
1026
+ console.log(
1027
+ JSON.stringify(
1028
+ (await L()).failRcmdgovRecommendationV2(id, reason),
1029
+ null,
1030
+ 2,
1031
+ ),
1032
+ );
1033
+ });
1034
+ parent
1035
+ .command("rcmdgov-cancel-recommendation-v2 <id> [reason]")
1036
+ .description("Cancel recommendation")
1037
+ .action(async (id, reason) => {
1038
+ console.log(
1039
+ JSON.stringify(
1040
+ (await L()).cancelRcmdgovRecommendationV2(id, reason),
1041
+ null,
1042
+ 2,
1043
+ ),
1044
+ );
1045
+ });
1046
+ parent
1047
+ .command("rcmdgov-get-recommendation-v2 <id>")
1048
+ .description("Get recommendation")
1049
+ .action(async (id) => {
1050
+ console.log(
1051
+ JSON.stringify((await L()).getRcmdgovRecommendationV2(id), null, 2),
1052
+ );
1053
+ });
1054
+ parent
1055
+ .command("rcmdgov-list-recommendations-v2")
1056
+ .description("List recommendations")
1057
+ .action(async () => {
1058
+ console.log(
1059
+ JSON.stringify((await L()).listRcmdgovRecommendationsV2(), null, 2),
1060
+ );
1061
+ });
1062
+ parent
1063
+ .command("rcmdgov-auto-stale-idle-v2")
1064
+ .description("Auto-stale idle")
1065
+ .action(async () => {
1066
+ console.log(
1067
+ JSON.stringify((await L()).autoStaleIdleRcmdgovProfilesV2(), null, 2),
1068
+ );
1069
+ });
1070
+ parent
1071
+ .command("rcmdgov-auto-fail-stuck-v2")
1072
+ .description("Auto-fail stuck recommendations")
1073
+ .action(async () => {
1074
+ console.log(
1075
+ JSON.stringify(
1076
+ (await L()).autoFailStuckRcmdgovRecommendationsV2(),
1077
+ null,
1078
+ 2,
1079
+ ),
1080
+ );
1081
+ });
1082
+ parent
1083
+ .command("rcmdgov-gov-stats-v2")
1084
+ .description("V2 gov stats")
1085
+ .action(async () => {
1086
+ console.log(
1087
+ JSON.stringify(
1088
+ (await L()).getContentRecommendationGovStatsV2(),
1089
+ null,
1090
+ 2,
1091
+ ),
1092
+ );
1093
+ });
1094
+ }
@@ -805,3 +805,208 @@ export function registerRuntimeCommand(program) {
805
805
 
806
806
  program.addCommand(runtime);
807
807
  }
808
+
809
+ // === Iter23 V2 governance overlay ===
810
+ export function registerRtgovV2Commands(program) {
811
+ const parent = program.commands.find((c) => c.name() === "runtime");
812
+ if (!parent) return;
813
+ const L = async () => await import("../lib/universal-runtime.js");
814
+ parent
815
+ .command("rtgov-enums-v2")
816
+ .description("Show V2 enums")
817
+ .action(async () => {
818
+ const m = await L();
819
+ console.log(
820
+ JSON.stringify(
821
+ {
822
+ profileMaturity: m.RTGOV_PROFILE_MATURITY_V2,
823
+ taskLifecycle: m.RTGOV_TASK_LIFECYCLE_V2,
824
+ },
825
+ null,
826
+ 2,
827
+ ),
828
+ );
829
+ });
830
+ parent
831
+ .command("rtgov-config-v2")
832
+ .description("Show V2 config")
833
+ .action(async () => {
834
+ const m = await L();
835
+ console.log(
836
+ JSON.stringify(
837
+ {
838
+ maxActive: m.getMaxActiveRtgovProfilesPerOwnerV2(),
839
+ maxPending: m.getMaxPendingRtgovTasksPerProfileV2(),
840
+ idleMs: m.getRtgovProfileIdleMsV2(),
841
+ stuckMs: m.getRtgovTaskStuckMsV2(),
842
+ },
843
+ null,
844
+ 2,
845
+ ),
846
+ );
847
+ });
848
+ parent
849
+ .command("rtgov-set-max-active-v2 <n>")
850
+ .description("Set max active")
851
+ .action(async (n) => {
852
+ (await L()).setMaxActiveRtgovProfilesPerOwnerV2(Number(n));
853
+ console.log("ok");
854
+ });
855
+ parent
856
+ .command("rtgov-set-max-pending-v2 <n>")
857
+ .description("Set max pending")
858
+ .action(async (n) => {
859
+ (await L()).setMaxPendingRtgovTasksPerProfileV2(Number(n));
860
+ console.log("ok");
861
+ });
862
+ parent
863
+ .command("rtgov-set-idle-ms-v2 <n>")
864
+ .description("Set idle threshold ms")
865
+ .action(async (n) => {
866
+ (await L()).setRtgovProfileIdleMsV2(Number(n));
867
+ console.log("ok");
868
+ });
869
+ parent
870
+ .command("rtgov-set-stuck-ms-v2 <n>")
871
+ .description("Set stuck threshold ms")
872
+ .action(async (n) => {
873
+ (await L()).setRtgovTaskStuckMsV2(Number(n));
874
+ console.log("ok");
875
+ });
876
+ parent
877
+ .command("rtgov-register-v2 <id> <owner>")
878
+ .description("Register V2 profile")
879
+ .option("--runtime <v>", "runtime")
880
+ .action(async (id, owner, o) => {
881
+ const m = await L();
882
+ console.log(
883
+ JSON.stringify(
884
+ m.registerRtgovProfileV2({ id, owner, runtime: o.runtime }),
885
+ null,
886
+ 2,
887
+ ),
888
+ );
889
+ });
890
+ parent
891
+ .command("rtgov-activate-v2 <id>")
892
+ .description("Activate profile")
893
+ .action(async (id) => {
894
+ console.log(
895
+ JSON.stringify((await L()).activateRtgovProfileV2(id), null, 2),
896
+ );
897
+ });
898
+ parent
899
+ .command("rtgov-degrade-v2 <id>")
900
+ .description("Degrade profile")
901
+ .action(async (id) => {
902
+ console.log(
903
+ JSON.stringify((await L()).degradeRtgovProfileV2(id), null, 2),
904
+ );
905
+ });
906
+ parent
907
+ .command("rtgov-archive-v2 <id>")
908
+ .description("Archive profile")
909
+ .action(async (id) => {
910
+ console.log(
911
+ JSON.stringify((await L()).archiveRtgovProfileV2(id), null, 2),
912
+ );
913
+ });
914
+ parent
915
+ .command("rtgov-touch-v2 <id>")
916
+ .description("Touch profile")
917
+ .action(async (id) => {
918
+ console.log(JSON.stringify((await L()).touchRtgovProfileV2(id), null, 2));
919
+ });
920
+ parent
921
+ .command("rtgov-get-v2 <id>")
922
+ .description("Get profile")
923
+ .action(async (id) => {
924
+ console.log(JSON.stringify((await L()).getRtgovProfileV2(id), null, 2));
925
+ });
926
+ parent
927
+ .command("rtgov-list-v2")
928
+ .description("List profiles")
929
+ .action(async () => {
930
+ console.log(JSON.stringify((await L()).listRtgovProfilesV2(), null, 2));
931
+ });
932
+ parent
933
+ .command("rtgov-create-task-v2 <id> <profileId>")
934
+ .description("Create task")
935
+ .option("--kind <v>", "kind")
936
+ .action(async (id, profileId, o) => {
937
+ const m = await L();
938
+ console.log(
939
+ JSON.stringify(
940
+ m.createRtgovTaskV2({ id, profileId, kind: o.kind }),
941
+ null,
942
+ 2,
943
+ ),
944
+ );
945
+ });
946
+ parent
947
+ .command("rtgov-executing-task-v2 <id>")
948
+ .description("Mark task as executing")
949
+ .action(async (id) => {
950
+ console.log(
951
+ JSON.stringify((await L()).executingRtgovTaskV2(id), null, 2),
952
+ );
953
+ });
954
+ parent
955
+ .command("rtgov-complete-task-v2 <id>")
956
+ .description("Complete task")
957
+ .action(async (id) => {
958
+ console.log(JSON.stringify((await L()).completeTaskRtgovV2(id), null, 2));
959
+ });
960
+ parent
961
+ .command("rtgov-fail-task-v2 <id> [reason]")
962
+ .description("Fail task")
963
+ .action(async (id, reason) => {
964
+ console.log(
965
+ JSON.stringify((await L()).failRtgovTaskV2(id, reason), null, 2),
966
+ );
967
+ });
968
+ parent
969
+ .command("rtgov-cancel-task-v2 <id> [reason]")
970
+ .description("Cancel task")
971
+ .action(async (id, reason) => {
972
+ console.log(
973
+ JSON.stringify((await L()).cancelRtgovTaskV2(id, reason), null, 2),
974
+ );
975
+ });
976
+ parent
977
+ .command("rtgov-get-task-v2 <id>")
978
+ .description("Get task")
979
+ .action(async (id) => {
980
+ console.log(JSON.stringify((await L()).getRtgovTaskV2(id), null, 2));
981
+ });
982
+ parent
983
+ .command("rtgov-list-tasks-v2")
984
+ .description("List tasks")
985
+ .action(async () => {
986
+ console.log(JSON.stringify((await L()).listRtgovTasksV2(), null, 2));
987
+ });
988
+ parent
989
+ .command("rtgov-auto-degrade-idle-v2")
990
+ .description("Auto-degrade idle")
991
+ .action(async () => {
992
+ console.log(
993
+ JSON.stringify((await L()).autoDegradeIdleRtgovProfilesV2(), null, 2),
994
+ );
995
+ });
996
+ parent
997
+ .command("rtgov-auto-fail-stuck-v2")
998
+ .description("Auto-fail stuck tasks")
999
+ .action(async () => {
1000
+ console.log(
1001
+ JSON.stringify((await L()).autoFailStuckRtgovTasksV2(), null, 2),
1002
+ );
1003
+ });
1004
+ parent
1005
+ .command("rtgov-gov-stats-v2")
1006
+ .description("V2 gov stats")
1007
+ .action(async () => {
1008
+ console.log(
1009
+ JSON.stringify((await L()).getUniversalRuntimeGovStatsV2(), null, 2),
1010
+ );
1011
+ });
1012
+ }
@@ -478,3 +478,212 @@ export function registerScimCommand(program) {
478
478
  console.log(JSON.stringify(flipped, null, 2));
479
479
  });
480
480
  }
481
+
482
+ // === Iter19 V2 governance overlay ===
483
+ export function registerScimgovV2Commands(program) {
484
+ const parent = program.commands.find((c) => c.name() === "scim");
485
+ if (!parent) return;
486
+ const L = async () => await import("../lib/scim-manager.js");
487
+ parent
488
+ .command("scimgov-enums-v2")
489
+ .description("Show V2 enums")
490
+ .action(async () => {
491
+ const m = await L();
492
+ console.log(
493
+ JSON.stringify(
494
+ {
495
+ profileMaturity: m.SCIMGOV_PROFILE_MATURITY_V2,
496
+ syncLifecycle: m.SCIMGOV_SYNC_LIFECYCLE_V2,
497
+ },
498
+ null,
499
+ 2,
500
+ ),
501
+ );
502
+ });
503
+ parent
504
+ .command("scimgov-config-v2")
505
+ .description("Show V2 config")
506
+ .action(async () => {
507
+ const m = await L();
508
+ console.log(
509
+ JSON.stringify(
510
+ {
511
+ maxActive: m.getMaxActiveScimgovProfilesPerOwnerV2(),
512
+ maxPending: m.getMaxPendingScimgovSyncsPerProfileV2(),
513
+ idleMs: m.getScimgovProfileIdleMsV2(),
514
+ stuckMs: m.getScimgovSyncStuckMsV2(),
515
+ },
516
+ null,
517
+ 2,
518
+ ),
519
+ );
520
+ });
521
+ parent
522
+ .command("scimgov-set-max-active-v2 <n>")
523
+ .description("Set max active")
524
+ .action(async (n) => {
525
+ (await L()).setMaxActiveScimgovProfilesPerOwnerV2(Number(n));
526
+ console.log("ok");
527
+ });
528
+ parent
529
+ .command("scimgov-set-max-pending-v2 <n>")
530
+ .description("Set max pending")
531
+ .action(async (n) => {
532
+ (await L()).setMaxPendingScimgovSyncsPerProfileV2(Number(n));
533
+ console.log("ok");
534
+ });
535
+ parent
536
+ .command("scimgov-set-idle-ms-v2 <n>")
537
+ .description("Set idle threshold ms")
538
+ .action(async (n) => {
539
+ (await L()).setScimgovProfileIdleMsV2(Number(n));
540
+ console.log("ok");
541
+ });
542
+ parent
543
+ .command("scimgov-set-stuck-ms-v2 <n>")
544
+ .description("Set stuck threshold ms")
545
+ .action(async (n) => {
546
+ (await L()).setScimgovSyncStuckMsV2(Number(n));
547
+ console.log("ok");
548
+ });
549
+ parent
550
+ .command("scimgov-register-v2 <id> <owner>")
551
+ .description("Register V2 profile")
552
+ .option("--resource <v>", "resource")
553
+ .action(async (id, owner, o) => {
554
+ const m = await L();
555
+ console.log(
556
+ JSON.stringify(
557
+ m.registerScimgovProfileV2({ id, owner, resource: o.resource }),
558
+ null,
559
+ 2,
560
+ ),
561
+ );
562
+ });
563
+ parent
564
+ .command("scimgov-activate-v2 <id>")
565
+ .description("Activate profile")
566
+ .action(async (id) => {
567
+ console.log(
568
+ JSON.stringify((await L()).activateScimgovProfileV2(id), null, 2),
569
+ );
570
+ });
571
+ parent
572
+ .command("scimgov-stale-v2 <id>")
573
+ .description("Stale profile")
574
+ .action(async (id) => {
575
+ console.log(
576
+ JSON.stringify((await L()).staleScimgovProfileV2(id), null, 2),
577
+ );
578
+ });
579
+ parent
580
+ .command("scimgov-archive-v2 <id>")
581
+ .description("Archive profile")
582
+ .action(async (id) => {
583
+ console.log(
584
+ JSON.stringify((await L()).archiveScimgovProfileV2(id), null, 2),
585
+ );
586
+ });
587
+ parent
588
+ .command("scimgov-touch-v2 <id>")
589
+ .description("Touch profile")
590
+ .action(async (id) => {
591
+ console.log(
592
+ JSON.stringify((await L()).touchScimgovProfileV2(id), null, 2),
593
+ );
594
+ });
595
+ parent
596
+ .command("scimgov-get-v2 <id>")
597
+ .description("Get profile")
598
+ .action(async (id) => {
599
+ console.log(JSON.stringify((await L()).getScimgovProfileV2(id), null, 2));
600
+ });
601
+ parent
602
+ .command("scimgov-list-v2")
603
+ .description("List profiles")
604
+ .action(async () => {
605
+ console.log(JSON.stringify((await L()).listScimgovProfilesV2(), null, 2));
606
+ });
607
+ parent
608
+ .command("scimgov-create-sync-v2 <id> <profileId>")
609
+ .description("Create sync")
610
+ .option("--endpoint <v>", "endpoint")
611
+ .action(async (id, profileId, o) => {
612
+ const m = await L();
613
+ console.log(
614
+ JSON.stringify(
615
+ m.createScimgovSyncV2({ id, profileId, endpoint: o.endpoint }),
616
+ null,
617
+ 2,
618
+ ),
619
+ );
620
+ });
621
+ parent
622
+ .command("scimgov-syncing-sync-v2 <id>")
623
+ .description("Mark sync as syncing")
624
+ .action(async (id) => {
625
+ console.log(
626
+ JSON.stringify((await L()).syncingScimgovSyncV2(id), null, 2),
627
+ );
628
+ });
629
+ parent
630
+ .command("scimgov-complete-sync-v2 <id>")
631
+ .description("Complete sync")
632
+ .action(async (id) => {
633
+ console.log(
634
+ JSON.stringify((await L()).completeSyncScimgovV2(id), null, 2),
635
+ );
636
+ });
637
+ parent
638
+ .command("scimgov-fail-sync-v2 <id> [reason]")
639
+ .description("Fail sync")
640
+ .action(async (id, reason) => {
641
+ console.log(
642
+ JSON.stringify((await L()).failScimgovSyncV2(id, reason), null, 2),
643
+ );
644
+ });
645
+ parent
646
+ .command("scimgov-cancel-sync-v2 <id> [reason]")
647
+ .description("Cancel sync")
648
+ .action(async (id, reason) => {
649
+ console.log(
650
+ JSON.stringify((await L()).cancelScimgovSyncV2(id, reason), null, 2),
651
+ );
652
+ });
653
+ parent
654
+ .command("scimgov-get-sync-v2 <id>")
655
+ .description("Get sync")
656
+ .action(async (id) => {
657
+ console.log(JSON.stringify((await L()).getScimgovSyncV2(id), null, 2));
658
+ });
659
+ parent
660
+ .command("scimgov-list-syncs-v2")
661
+ .description("List syncs")
662
+ .action(async () => {
663
+ console.log(JSON.stringify((await L()).listScimgovSyncsV2(), null, 2));
664
+ });
665
+ parent
666
+ .command("scimgov-auto-stale-idle-v2")
667
+ .description("Auto-stale idle")
668
+ .action(async () => {
669
+ console.log(
670
+ JSON.stringify((await L()).autoStaleIdleScimgovProfilesV2(), null, 2),
671
+ );
672
+ });
673
+ parent
674
+ .command("scimgov-auto-fail-stuck-v2")
675
+ .description("Auto-fail stuck syncs")
676
+ .action(async () => {
677
+ console.log(
678
+ JSON.stringify((await L()).autoFailStuckScimgovSyncsV2(), null, 2),
679
+ );
680
+ });
681
+ parent
682
+ .command("scimgov-gov-stats-v2")
683
+ .description("V2 gov stats")
684
+ .action(async () => {
685
+ console.log(
686
+ JSON.stringify((await L()).getScimManagerGovStatsV2(), null, 2),
687
+ );
688
+ });
689
+ }