chainlesschain 0.152.0 → 0.156.2

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 (80) hide show
  1. package/README.md +52 -3
  2. package/package.json +1 -1
  3. package/src/commands/a2a.js +201 -0
  4. package/src/commands/agent.js +1250 -0
  5. package/src/commands/chat.js +605 -0
  6. package/src/commands/cli-anything.js +426 -0
  7. package/src/commands/compliance.js +412 -0
  8. package/src/commands/config.js +213 -0
  9. package/src/commands/cowork.js +1463 -0
  10. package/src/commands/crosschain.js +203 -0
  11. package/src/commands/dao.js +203 -0
  12. package/src/commands/economy.js +199 -0
  13. package/src/commands/encrypt.js +201 -0
  14. package/src/commands/evolution.js +199 -0
  15. package/src/commands/evomap.js +625 -0
  16. package/src/commands/hmemory.js +203 -0
  17. package/src/commands/inference.js +207 -0
  18. package/src/commands/kg.js +195 -0
  19. package/src/commands/llm.js +209 -0
  20. package/src/commands/memory.js +203 -0
  21. package/src/commands/orchestrate.js +406 -0
  22. package/src/commands/pipeline.js +199 -0
  23. package/src/commands/planmode.js +426 -0
  24. package/src/commands/plugin.js +209 -0
  25. package/src/commands/services.js +207 -0
  26. package/src/commands/setup.js +205 -0
  27. package/src/commands/skill.js +207 -0
  28. package/src/commands/start.js +209 -0
  29. package/src/commands/stream.js +213 -0
  30. package/src/commands/ui.js +225 -0
  31. package/src/commands/workflow.js +209 -0
  32. package/src/index.js +112 -0
  33. package/src/lib/a2a-protocol.js +332 -0
  34. package/src/lib/agent-coordinator.js +334 -0
  35. package/src/lib/agent-economy.js +334 -0
  36. package/src/lib/agent-router.js +333 -0
  37. package/src/lib/autonomous-agent.js +332 -0
  38. package/src/lib/chat-core.js +335 -0
  39. package/src/lib/cli-anything-bridge.js +341 -0
  40. package/src/lib/cli-context-engineering.js +351 -0
  41. package/src/lib/compliance-manager.js +334 -0
  42. package/src/lib/cowork-adapter.js +336 -0
  43. package/src/lib/cowork-evomap-adapter.js +341 -0
  44. package/src/lib/cowork-mcp-tools.js +341 -0
  45. package/src/lib/cowork-observe-html.js +341 -0
  46. package/src/lib/cowork-observe.js +341 -0
  47. package/src/lib/cowork-task-templates.js +342 -1
  48. package/src/lib/cowork-template-marketplace.js +340 -0
  49. package/src/lib/cross-chain.js +339 -0
  50. package/src/lib/crypto-manager.js +334 -0
  51. package/src/lib/dao-governance.js +339 -0
  52. package/src/lib/downloader.js +334 -0
  53. package/src/lib/evolution-system.js +334 -0
  54. package/src/lib/evomap-client.js +342 -0
  55. package/src/lib/evomap-federation.js +338 -0
  56. package/src/lib/evomap-manager.js +330 -0
  57. package/src/lib/execution-backend.js +330 -0
  58. package/src/lib/hashline.js +338 -0
  59. package/src/lib/hierarchical-memory.js +334 -0
  60. package/src/lib/inference-network.js +341 -0
  61. package/src/lib/interaction-adapter.js +330 -0
  62. package/src/lib/interactive-planner.js +354 -0
  63. package/src/lib/knowledge-graph.js +331 -0
  64. package/src/lib/pipeline-orchestrator.js +332 -0
  65. package/src/lib/plan-mode.js +336 -0
  66. package/src/lib/plugin-autodiscovery.js +334 -0
  67. package/src/lib/process-manager.js +336 -0
  68. package/src/lib/provider-options.js +346 -0
  69. package/src/lib/provider-stream.js +348 -0
  70. package/src/lib/service-manager.js +337 -0
  71. package/src/lib/session-core-singletons.js +341 -0
  72. package/src/lib/skill-mcp.js +336 -0
  73. package/src/lib/stix-parser.js +346 -0
  74. package/src/lib/sub-agent-context.js +343 -0
  75. package/src/lib/sub-agent-profiles.js +335 -0
  76. package/src/lib/sub-agent-registry.js +336 -0
  77. package/src/lib/todo-manager.js +336 -0
  78. package/src/lib/web-ui-server.js +348 -0
  79. package/src/lib/workflow-expr.js +346 -0
  80. package/src/lib/ws-chat-handler.js +337 -0
@@ -894,3 +894,409 @@ export function registerCcbgovV2Commands(program) {
894
894
  );
895
895
  });
896
896
  }
897
+
898
+ // === Iter25 V2 governance overlay ===
899
+ export function registerArgovV2Commands(program) {
900
+ const parent = program.commands.find((c) => c.name() === "orchestrate");
901
+ if (!parent) return;
902
+ const L = async () => await import("../lib/agent-router.js");
903
+ parent
904
+ .command("argov-enums-v2")
905
+ .description("Show V2 enums")
906
+ .action(async () => {
907
+ const m = await L();
908
+ console.log(
909
+ JSON.stringify(
910
+ {
911
+ profileMaturity: m.ARGOV_PROFILE_MATURITY_V2,
912
+ routingLifecycle: m.ARGOV_ROUTING_LIFECYCLE_V2,
913
+ },
914
+ null,
915
+ 2,
916
+ ),
917
+ );
918
+ });
919
+ parent
920
+ .command("argov-config-v2")
921
+ .description("Show V2 config")
922
+ .action(async () => {
923
+ const m = await L();
924
+ console.log(
925
+ JSON.stringify(
926
+ {
927
+ maxActive: m.getMaxActiveArgovProfilesPerOwnerV2(),
928
+ maxPending: m.getMaxPendingArgovRoutingsPerProfileV2(),
929
+ idleMs: m.getArgovProfileIdleMsV2(),
930
+ stuckMs: m.getArgovRoutingStuckMsV2(),
931
+ },
932
+ null,
933
+ 2,
934
+ ),
935
+ );
936
+ });
937
+ parent
938
+ .command("argov-set-max-active-v2 <n>")
939
+ .description("Set max active")
940
+ .action(async (n) => {
941
+ (await L()).setMaxActiveArgovProfilesPerOwnerV2(Number(n));
942
+ console.log("ok");
943
+ });
944
+ parent
945
+ .command("argov-set-max-pending-v2 <n>")
946
+ .description("Set max pending")
947
+ .action(async (n) => {
948
+ (await L()).setMaxPendingArgovRoutingsPerProfileV2(Number(n));
949
+ console.log("ok");
950
+ });
951
+ parent
952
+ .command("argov-set-idle-ms-v2 <n>")
953
+ .description("Set idle threshold ms")
954
+ .action(async (n) => {
955
+ (await L()).setArgovProfileIdleMsV2(Number(n));
956
+ console.log("ok");
957
+ });
958
+ parent
959
+ .command("argov-set-stuck-ms-v2 <n>")
960
+ .description("Set stuck threshold ms")
961
+ .action(async (n) => {
962
+ (await L()).setArgovRoutingStuckMsV2(Number(n));
963
+ console.log("ok");
964
+ });
965
+ parent
966
+ .command("argov-register-v2 <id> <owner>")
967
+ .description("Register V2 profile")
968
+ .option("--strategy <v>", "strategy")
969
+ .action(async (id, owner, o) => {
970
+ const m = await L();
971
+ console.log(
972
+ JSON.stringify(
973
+ m.registerArgovProfileV2({ id, owner, strategy: o.strategy }),
974
+ null,
975
+ 2,
976
+ ),
977
+ );
978
+ });
979
+ parent
980
+ .command("argov-activate-v2 <id>")
981
+ .description("Activate profile")
982
+ .action(async (id) => {
983
+ console.log(
984
+ JSON.stringify((await L()).activateArgovProfileV2(id), null, 2),
985
+ );
986
+ });
987
+ parent
988
+ .command("argov-stale-v2 <id>")
989
+ .description("Stale profile")
990
+ .action(async (id) => {
991
+ console.log(JSON.stringify((await L()).staleArgovProfileV2(id), null, 2));
992
+ });
993
+ parent
994
+ .command("argov-archive-v2 <id>")
995
+ .description("Archive profile")
996
+ .action(async (id) => {
997
+ console.log(
998
+ JSON.stringify((await L()).archiveArgovProfileV2(id), null, 2),
999
+ );
1000
+ });
1001
+ parent
1002
+ .command("argov-touch-v2 <id>")
1003
+ .description("Touch profile")
1004
+ .action(async (id) => {
1005
+ console.log(JSON.stringify((await L()).touchArgovProfileV2(id), null, 2));
1006
+ });
1007
+ parent
1008
+ .command("argov-get-v2 <id>")
1009
+ .description("Get profile")
1010
+ .action(async (id) => {
1011
+ console.log(JSON.stringify((await L()).getArgovProfileV2(id), null, 2));
1012
+ });
1013
+ parent
1014
+ .command("argov-list-v2")
1015
+ .description("List profiles")
1016
+ .action(async () => {
1017
+ console.log(JSON.stringify((await L()).listArgovProfilesV2(), null, 2));
1018
+ });
1019
+ parent
1020
+ .command("argov-create-routing-v2 <id> <profileId>")
1021
+ .description("Create routing")
1022
+ .option("--target <v>", "target")
1023
+ .action(async (id, profileId, o) => {
1024
+ const m = await L();
1025
+ console.log(
1026
+ JSON.stringify(
1027
+ m.createArgovRoutingV2({ id, profileId, target: o.target }),
1028
+ null,
1029
+ 2,
1030
+ ),
1031
+ );
1032
+ });
1033
+ parent
1034
+ .command("argov-running-routing-v2 <id>")
1035
+ .description("Mark routing as running")
1036
+ .action(async (id) => {
1037
+ console.log(
1038
+ JSON.stringify((await L()).runningArgovRoutingV2(id), null, 2),
1039
+ );
1040
+ });
1041
+ parent
1042
+ .command("argov-complete-routing-v2 <id>")
1043
+ .description("Complete routing")
1044
+ .action(async (id) => {
1045
+ console.log(
1046
+ JSON.stringify((await L()).completeRoutingArgovV2(id), null, 2),
1047
+ );
1048
+ });
1049
+ parent
1050
+ .command("argov-fail-routing-v2 <id> [reason]")
1051
+ .description("Fail routing")
1052
+ .action(async (id, reason) => {
1053
+ console.log(
1054
+ JSON.stringify((await L()).failArgovRoutingV2(id, reason), null, 2),
1055
+ );
1056
+ });
1057
+ parent
1058
+ .command("argov-cancel-routing-v2 <id> [reason]")
1059
+ .description("Cancel routing")
1060
+ .action(async (id, reason) => {
1061
+ console.log(
1062
+ JSON.stringify((await L()).cancelArgovRoutingV2(id, reason), null, 2),
1063
+ );
1064
+ });
1065
+ parent
1066
+ .command("argov-get-routing-v2 <id>")
1067
+ .description("Get routing")
1068
+ .action(async (id) => {
1069
+ console.log(JSON.stringify((await L()).getArgovRoutingV2(id), null, 2));
1070
+ });
1071
+ parent
1072
+ .command("argov-list-routings-v2")
1073
+ .description("List routings")
1074
+ .action(async () => {
1075
+ console.log(JSON.stringify((await L()).listArgovRoutingsV2(), null, 2));
1076
+ });
1077
+ parent
1078
+ .command("argov-auto-stale-idle-v2")
1079
+ .description("Auto-stale idle")
1080
+ .action(async () => {
1081
+ console.log(
1082
+ JSON.stringify((await L()).autoStaleIdleArgovProfilesV2(), null, 2),
1083
+ );
1084
+ });
1085
+ parent
1086
+ .command("argov-auto-fail-stuck-v2")
1087
+ .description("Auto-fail stuck routings")
1088
+ .action(async () => {
1089
+ console.log(
1090
+ JSON.stringify((await L()).autoFailStuckArgovRoutingsV2(), null, 2),
1091
+ );
1092
+ });
1093
+ parent
1094
+ .command("argov-gov-stats-v2")
1095
+ .description("V2 gov stats")
1096
+ .action(async () => {
1097
+ console.log(
1098
+ JSON.stringify((await L()).getAgentRouterGovStatsV2(), null, 2),
1099
+ );
1100
+ });
1101
+ }
1102
+
1103
+ // === Iter28 V2 governance overlay: Acrdgov ===
1104
+ export function registerAcrdV2Commands(program) {
1105
+ const parent = program.commands.find((c) => c.name() === "orchestrate");
1106
+ if (!parent) return;
1107
+ const L = async () => await import("../lib/agent-coordinator.js");
1108
+ parent
1109
+ .command("acrdgov-enums-v2")
1110
+ .description("Show V2 enums")
1111
+ .action(async () => {
1112
+ const m = await L();
1113
+ console.log(
1114
+ JSON.stringify(
1115
+ {
1116
+ profileMaturity: m.ACRDGOV_PROFILE_MATURITY_V2,
1117
+ coordLifecycle: m.ACRDGOV_COORD_LIFECYCLE_V2,
1118
+ },
1119
+ null,
1120
+ 2,
1121
+ ),
1122
+ );
1123
+ });
1124
+ parent
1125
+ .command("acrdgov-config-v2")
1126
+ .description("Show V2 config")
1127
+ .action(async () => {
1128
+ const m = await L();
1129
+ console.log(
1130
+ JSON.stringify(
1131
+ {
1132
+ maxActive: m.getMaxActiveAcrdProfilesPerOwnerV2(),
1133
+ maxPending: m.getMaxPendingAcrdCoordsPerProfileV2(),
1134
+ idleMs: m.getAcrdProfileIdleMsV2(),
1135
+ stuckMs: m.getAcrdCoordStuckMsV2(),
1136
+ },
1137
+ null,
1138
+ 2,
1139
+ ),
1140
+ );
1141
+ });
1142
+ parent
1143
+ .command("acrdgov-set-max-active-v2 <n>")
1144
+ .description("Set max active")
1145
+ .action(async (n) => {
1146
+ (await L()).setMaxActiveAcrdProfilesPerOwnerV2(Number(n));
1147
+ console.log("ok");
1148
+ });
1149
+ parent
1150
+ .command("acrdgov-set-max-pending-v2 <n>")
1151
+ .description("Set max pending")
1152
+ .action(async (n) => {
1153
+ (await L()).setMaxPendingAcrdCoordsPerProfileV2(Number(n));
1154
+ console.log("ok");
1155
+ });
1156
+ parent
1157
+ .command("acrdgov-set-idle-ms-v2 <n>")
1158
+ .description("Set idle threshold ms")
1159
+ .action(async (n) => {
1160
+ (await L()).setAcrdProfileIdleMsV2(Number(n));
1161
+ console.log("ok");
1162
+ });
1163
+ parent
1164
+ .command("acrdgov-set-stuck-ms-v2 <n>")
1165
+ .description("Set stuck threshold ms")
1166
+ .action(async (n) => {
1167
+ (await L()).setAcrdCoordStuckMsV2(Number(n));
1168
+ console.log("ok");
1169
+ });
1170
+ parent
1171
+ .command("acrdgov-register-v2 <id> <owner>")
1172
+ .description("Register V2 profile")
1173
+ .option("--role <v>", "role")
1174
+ .action(async (id, owner, o) => {
1175
+ const m = await L();
1176
+ console.log(
1177
+ JSON.stringify(
1178
+ m.registerAcrdProfileV2({ id, owner, role: o.role }),
1179
+ null,
1180
+ 2,
1181
+ ),
1182
+ );
1183
+ });
1184
+ parent
1185
+ .command("acrdgov-activate-v2 <id>")
1186
+ .description("Activate profile")
1187
+ .action(async (id) => {
1188
+ console.log(
1189
+ JSON.stringify((await L()).activateAcrdProfileV2(id), null, 2),
1190
+ );
1191
+ });
1192
+ parent
1193
+ .command("acrdgov-idle-v2 <id>")
1194
+ .description("Idle profile")
1195
+ .action(async (id) => {
1196
+ console.log(JSON.stringify((await L()).idleAcrdProfileV2(id), null, 2));
1197
+ });
1198
+ parent
1199
+ .command("acrdgov-archive-v2 <id>")
1200
+ .description("Archive profile")
1201
+ .action(async (id) => {
1202
+ console.log(
1203
+ JSON.stringify((await L()).archiveAcrdProfileV2(id), null, 2),
1204
+ );
1205
+ });
1206
+ parent
1207
+ .command("acrdgov-touch-v2 <id>")
1208
+ .description("Touch profile")
1209
+ .action(async (id) => {
1210
+ console.log(JSON.stringify((await L()).touchAcrdProfileV2(id), null, 2));
1211
+ });
1212
+ parent
1213
+ .command("acrdgov-get-v2 <id>")
1214
+ .description("Get profile")
1215
+ .action(async (id) => {
1216
+ console.log(JSON.stringify((await L()).getAcrdProfileV2(id), null, 2));
1217
+ });
1218
+ parent
1219
+ .command("acrdgov-list-v2")
1220
+ .description("List profiles")
1221
+ .action(async () => {
1222
+ console.log(JSON.stringify((await L()).listAcrdProfilesV2(), null, 2));
1223
+ });
1224
+ parent
1225
+ .command("acrdgov-create-coord-v2 <id> <profileId>")
1226
+ .description("Create coord")
1227
+ .option("--taskId <v>", "taskId")
1228
+ .action(async (id, profileId, o) => {
1229
+ const m = await L();
1230
+ console.log(
1231
+ JSON.stringify(
1232
+ m.createAcrdCoordV2({ id, profileId, taskId: o.taskId }),
1233
+ null,
1234
+ 2,
1235
+ ),
1236
+ );
1237
+ });
1238
+ parent
1239
+ .command("acrdgov-coordinating-coord-v2 <id>")
1240
+ .description("Mark coord as coordinating")
1241
+ .action(async (id) => {
1242
+ console.log(
1243
+ JSON.stringify((await L()).coordinatingAcrdCoordV2(id), null, 2),
1244
+ );
1245
+ });
1246
+ parent
1247
+ .command("acrdgov-complete-coord-v2 <id>")
1248
+ .description("Complete coord")
1249
+ .action(async (id) => {
1250
+ console.log(JSON.stringify((await L()).completeCoordAcrdV2(id), null, 2));
1251
+ });
1252
+ parent
1253
+ .command("acrdgov-fail-coord-v2 <id> [reason]")
1254
+ .description("Fail coord")
1255
+ .action(async (id, reason) => {
1256
+ console.log(
1257
+ JSON.stringify((await L()).failAcrdCoordV2(id, reason), null, 2),
1258
+ );
1259
+ });
1260
+ parent
1261
+ .command("acrdgov-cancel-coord-v2 <id> [reason]")
1262
+ .description("Cancel coord")
1263
+ .action(async (id, reason) => {
1264
+ console.log(
1265
+ JSON.stringify((await L()).cancelAcrdCoordV2(id, reason), null, 2),
1266
+ );
1267
+ });
1268
+ parent
1269
+ .command("acrdgov-get-coord-v2 <id>")
1270
+ .description("Get coord")
1271
+ .action(async (id) => {
1272
+ console.log(JSON.stringify((await L()).getAcrdCoordV2(id), null, 2));
1273
+ });
1274
+ parent
1275
+ .command("acrdgov-list-coords-v2")
1276
+ .description("List coords")
1277
+ .action(async () => {
1278
+ console.log(JSON.stringify((await L()).listAcrdCoordsV2(), null, 2));
1279
+ });
1280
+ parent
1281
+ .command("acrdgov-auto-idle-idle-v2")
1282
+ .description("Auto-idle idle")
1283
+ .action(async () => {
1284
+ console.log(
1285
+ JSON.stringify((await L()).autoIdleIdleAcrdProfilesV2(), null, 2),
1286
+ );
1287
+ });
1288
+ parent
1289
+ .command("acrdgov-auto-fail-stuck-v2")
1290
+ .description("Auto-fail stuck coords")
1291
+ .action(async () => {
1292
+ console.log(
1293
+ JSON.stringify((await L()).autoFailStuckAcrdCoordsV2(), null, 2),
1294
+ );
1295
+ });
1296
+ parent
1297
+ .command("acrdgov-gov-stats-v2")
1298
+ .description("V2 gov stats")
1299
+ .action(async () => {
1300
+ console.log(JSON.stringify((await L()).getAcrdgovStatsV2(), null, 2));
1301
+ });
1302
+ }
@@ -658,3 +658,202 @@ function _registerPipelineV2Commands(parent) {
658
658
  );
659
659
  });
660
660
  }
661
+
662
+ // === Iter28 V2 governance overlay: Pipogov ===
663
+ export function registerPipoV2Commands(program) {
664
+ const parent = program.commands.find((c) => c.name() === "pipeline");
665
+ if (!parent) return;
666
+ const L = async () => await import("../lib/pipeline-orchestrator.js");
667
+ parent
668
+ .command("pipogov-enums-v2")
669
+ .description("Show V2 enums")
670
+ .action(async () => {
671
+ const m = await L();
672
+ console.log(
673
+ JSON.stringify(
674
+ {
675
+ profileMaturity: m.PIPOGOV_PROFILE_MATURITY_V2,
676
+ runLifecycle: m.PIPOGOV_RUN_LIFECYCLE_V2,
677
+ },
678
+ null,
679
+ 2,
680
+ ),
681
+ );
682
+ });
683
+ parent
684
+ .command("pipogov-config-v2")
685
+ .description("Show V2 config")
686
+ .action(async () => {
687
+ const m = await L();
688
+ console.log(
689
+ JSON.stringify(
690
+ {
691
+ maxActive: m.getMaxActivePipoProfilesPerOwnerV2(),
692
+ maxPending: m.getMaxPendingPipoRunsPerProfileV2(),
693
+ idleMs: m.getPipoProfileIdleMsV2(),
694
+ stuckMs: m.getPipoRunStuckMsV2(),
695
+ },
696
+ null,
697
+ 2,
698
+ ),
699
+ );
700
+ });
701
+ parent
702
+ .command("pipogov-set-max-active-v2 <n>")
703
+ .description("Set max active")
704
+ .action(async (n) => {
705
+ (await L()).setMaxActivePipoProfilesPerOwnerV2(Number(n));
706
+ console.log("ok");
707
+ });
708
+ parent
709
+ .command("pipogov-set-max-pending-v2 <n>")
710
+ .description("Set max pending")
711
+ .action(async (n) => {
712
+ (await L()).setMaxPendingPipoRunsPerProfileV2(Number(n));
713
+ console.log("ok");
714
+ });
715
+ parent
716
+ .command("pipogov-set-idle-ms-v2 <n>")
717
+ .description("Set idle threshold ms")
718
+ .action(async (n) => {
719
+ (await L()).setPipoProfileIdleMsV2(Number(n));
720
+ console.log("ok");
721
+ });
722
+ parent
723
+ .command("pipogov-set-stuck-ms-v2 <n>")
724
+ .description("Set stuck threshold ms")
725
+ .action(async (n) => {
726
+ (await L()).setPipoRunStuckMsV2(Number(n));
727
+ console.log("ok");
728
+ });
729
+ parent
730
+ .command("pipogov-register-v2 <id> <owner>")
731
+ .description("Register V2 profile")
732
+ .option("--pipeline <v>", "pipeline")
733
+ .action(async (id, owner, o) => {
734
+ const m = await L();
735
+ console.log(
736
+ JSON.stringify(
737
+ m.registerPipoProfileV2({ id, owner, pipeline: o.pipeline }),
738
+ null,
739
+ 2,
740
+ ),
741
+ );
742
+ });
743
+ parent
744
+ .command("pipogov-activate-v2 <id>")
745
+ .description("Activate profile")
746
+ .action(async (id) => {
747
+ console.log(
748
+ JSON.stringify((await L()).activatePipoProfileV2(id), null, 2),
749
+ );
750
+ });
751
+ parent
752
+ .command("pipogov-paused-v2 <id>")
753
+ .description("Paused profile")
754
+ .action(async (id) => {
755
+ console.log(JSON.stringify((await L()).pausedPipoProfileV2(id), null, 2));
756
+ });
757
+ parent
758
+ .command("pipogov-archive-v2 <id>")
759
+ .description("Archive profile")
760
+ .action(async (id) => {
761
+ console.log(
762
+ JSON.stringify((await L()).archivePipoProfileV2(id), null, 2),
763
+ );
764
+ });
765
+ parent
766
+ .command("pipogov-touch-v2 <id>")
767
+ .description("Touch profile")
768
+ .action(async (id) => {
769
+ console.log(JSON.stringify((await L()).touchPipoProfileV2(id), null, 2));
770
+ });
771
+ parent
772
+ .command("pipogov-get-v2 <id>")
773
+ .description("Get profile")
774
+ .action(async (id) => {
775
+ console.log(JSON.stringify((await L()).getPipoProfileV2(id), null, 2));
776
+ });
777
+ parent
778
+ .command("pipogov-list-v2")
779
+ .description("List profiles")
780
+ .action(async () => {
781
+ console.log(JSON.stringify((await L()).listPipoProfilesV2(), null, 2));
782
+ });
783
+ parent
784
+ .command("pipogov-create-run-v2 <id> <profileId>")
785
+ .description("Create run")
786
+ .option("--runId <v>", "runId")
787
+ .action(async (id, profileId, o) => {
788
+ const m = await L();
789
+ console.log(
790
+ JSON.stringify(
791
+ m.createPipoRunV2({ id, profileId, runId: o.runId }),
792
+ null,
793
+ 2,
794
+ ),
795
+ );
796
+ });
797
+ parent
798
+ .command("pipogov-running-run-v2 <id>")
799
+ .description("Mark run as running")
800
+ .action(async (id) => {
801
+ console.log(JSON.stringify((await L()).runningPipoRunV2(id), null, 2));
802
+ });
803
+ parent
804
+ .command("pipogov-complete-run-v2 <id>")
805
+ .description("Complete run")
806
+ .action(async (id) => {
807
+ console.log(JSON.stringify((await L()).completeRunPipoV2(id), null, 2));
808
+ });
809
+ parent
810
+ .command("pipogov-fail-run-v2 <id> [reason]")
811
+ .description("Fail run")
812
+ .action(async (id, reason) => {
813
+ console.log(
814
+ JSON.stringify((await L()).failPipoRunV2(id, reason), null, 2),
815
+ );
816
+ });
817
+ parent
818
+ .command("pipogov-cancel-run-v2 <id> [reason]")
819
+ .description("Cancel run")
820
+ .action(async (id, reason) => {
821
+ console.log(
822
+ JSON.stringify((await L()).cancelPipoRunV2(id, reason), null, 2),
823
+ );
824
+ });
825
+ parent
826
+ .command("pipogov-get-run-v2 <id>")
827
+ .description("Get run")
828
+ .action(async (id) => {
829
+ console.log(JSON.stringify((await L()).getPipoRunV2(id), null, 2));
830
+ });
831
+ parent
832
+ .command("pipogov-list-runs-v2")
833
+ .description("List runs")
834
+ .action(async () => {
835
+ console.log(JSON.stringify((await L()).listPipoRunsV2(), null, 2));
836
+ });
837
+ parent
838
+ .command("pipogov-auto-paused-idle-v2")
839
+ .description("Auto-paused idle")
840
+ .action(async () => {
841
+ console.log(
842
+ JSON.stringify((await L()).autoPausedIdlePipoProfilesV2(), null, 2),
843
+ );
844
+ });
845
+ parent
846
+ .command("pipogov-auto-fail-stuck-v2")
847
+ .description("Auto-fail stuck runs")
848
+ .action(async () => {
849
+ console.log(
850
+ JSON.stringify((await L()).autoFailStuckPipoRunsV2(), null, 2),
851
+ );
852
+ });
853
+ parent
854
+ .command("pipogov-gov-stats-v2")
855
+ .description("V2 gov stats")
856
+ .action(async () => {
857
+ console.log(JSON.stringify((await L()).getPipogovStatsV2(), null, 2));
858
+ });
859
+ }