chainlesschain 0.145.0 → 0.156.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 (184) 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/activitypub.js +207 -0
  5. package/src/commands/agent-network.js +217 -0
  6. package/src/commands/agent.js +1250 -0
  7. package/src/commands/automation.js +201 -0
  8. package/src/commands/bi.js +203 -0
  9. package/src/commands/browse.js +213 -0
  10. package/src/commands/chat.js +605 -0
  11. package/src/commands/cli-anything.js +426 -0
  12. package/src/commands/codegen.js +207 -0
  13. package/src/commands/collab.js +211 -0
  14. package/src/commands/compliance.js +822 -0
  15. package/src/commands/config.js +213 -0
  16. package/src/commands/cowork.js +1666 -0
  17. package/src/commands/crosschain.js +203 -0
  18. package/src/commands/dao.js +203 -0
  19. package/src/commands/dbevo.js +227 -0
  20. package/src/commands/dev.js +207 -0
  21. package/src/commands/did-v2.js +217 -0
  22. package/src/commands/did.js +221 -0
  23. package/src/commands/dlp.js +213 -0
  24. package/src/commands/economy.js +199 -0
  25. package/src/commands/encrypt.js +201 -0
  26. package/src/commands/evolution.js +199 -0
  27. package/src/commands/evomap.js +830 -0
  28. package/src/commands/export.js +213 -0
  29. package/src/commands/federation.js +209 -0
  30. package/src/commands/fusion.js +205 -0
  31. package/src/commands/governance.js +209 -0
  32. package/src/commands/hmemory.js +203 -0
  33. package/src/commands/hook.js +209 -0
  34. package/src/commands/import.js +209 -0
  35. package/src/commands/inference.js +207 -0
  36. package/src/commands/infra.js +203 -0
  37. package/src/commands/instinct.js +209 -0
  38. package/src/commands/ipfs.js +207 -0
  39. package/src/commands/kg.js +195 -0
  40. package/src/commands/llm.js +426 -0
  41. package/src/commands/matrix.js +207 -0
  42. package/src/commands/mcp.js +217 -0
  43. package/src/commands/memory.js +412 -0
  44. package/src/commands/multimodal.js +203 -0
  45. package/src/commands/nlprog.js +225 -0
  46. package/src/commands/nostr.js +209 -0
  47. package/src/commands/note.js +205 -0
  48. package/src/commands/ops.js +219 -0
  49. package/src/commands/orchestrate.js +406 -0
  50. package/src/commands/org.js +209 -0
  51. package/src/commands/p2p.js +209 -0
  52. package/src/commands/perception.js +209 -0
  53. package/src/commands/permmem.js +203 -0
  54. package/src/commands/pipeline.js +199 -0
  55. package/src/commands/planmode.js +426 -0
  56. package/src/commands/plugin-ecosystem.js +209 -0
  57. package/src/commands/plugin.js +209 -0
  58. package/src/commands/pqc.js +213 -0
  59. package/src/commands/quantization.js +207 -0
  60. package/src/commands/rcache.js +205 -0
  61. package/src/commands/recommend.js +233 -0
  62. package/src/commands/runtime.js +205 -0
  63. package/src/commands/scim.js +209 -0
  64. package/src/commands/services.js +207 -0
  65. package/src/commands/session.js +209 -0
  66. package/src/commands/setup.js +205 -0
  67. package/src/commands/skill.js +414 -0
  68. package/src/commands/social.js +201 -0
  69. package/src/commands/sso.js +209 -0
  70. package/src/commands/start.js +209 -0
  71. package/src/commands/stream.js +213 -0
  72. package/src/commands/sync.js +209 -0
  73. package/src/commands/tech.js +209 -0
  74. package/src/commands/tenant.js +217 -0
  75. package/src/commands/tokens.js +209 -0
  76. package/src/commands/trust.js +217 -0
  77. package/src/commands/ui.js +225 -0
  78. package/src/commands/wallet.js +209 -0
  79. package/src/commands/workflow.js +412 -0
  80. package/src/index.js +252 -0
  81. package/src/lib/a2a-protocol.js +332 -0
  82. package/src/lib/activitypub-bridge.js +334 -0
  83. package/src/lib/agent-coordinator.js +334 -0
  84. package/src/lib/agent-economy.js +334 -0
  85. package/src/lib/agent-network.js +341 -0
  86. package/src/lib/agent-router.js +333 -0
  87. package/src/lib/aiops.js +346 -0
  88. package/src/lib/automation-engine.js +335 -0
  89. package/src/lib/autonomous-agent.js +332 -0
  90. package/src/lib/autonomous-developer.js +332 -0
  91. package/src/lib/bi-engine.js +333 -0
  92. package/src/lib/browser-automation.js +334 -0
  93. package/src/lib/chat-core.js +335 -0
  94. package/src/lib/cli-anything-bridge.js +341 -0
  95. package/src/lib/cli-context-engineering.js +351 -0
  96. package/src/lib/code-agent.js +339 -0
  97. package/src/lib/collaboration-governance.js +334 -0
  98. package/src/lib/community-governance.js +346 -0
  99. package/src/lib/compliance-manager.js +334 -0
  100. package/src/lib/content-recommendation.js +351 -0
  101. package/src/lib/cowork-adapter.js +336 -0
  102. package/src/lib/cowork-evomap-adapter.js +341 -0
  103. package/src/lib/cowork-mcp-tools.js +341 -0
  104. package/src/lib/cowork-observe-html.js +341 -0
  105. package/src/lib/cowork-observe.js +341 -0
  106. package/src/lib/cowork-share.js +338 -0
  107. package/src/lib/cowork-task-templates.js +342 -1
  108. package/src/lib/cowork-template-marketplace.js +340 -0
  109. package/src/lib/cross-chain.js +339 -0
  110. package/src/lib/crypto-manager.js +334 -0
  111. package/src/lib/dao-governance.js +339 -0
  112. package/src/lib/dbevo.js +351 -0
  113. package/src/lib/decentral-infra.js +330 -0
  114. package/src/lib/did-manager.js +341 -0
  115. package/src/lib/did-v2-manager.js +341 -0
  116. package/src/lib/dlp-engine.js +339 -0
  117. package/src/lib/downloader.js +334 -0
  118. package/src/lib/evolution-system.js +334 -0
  119. package/src/lib/evomap-client.js +342 -0
  120. package/src/lib/evomap-federation.js +338 -0
  121. package/src/lib/evomap-governance.js +334 -0
  122. package/src/lib/evomap-manager.js +330 -0
  123. package/src/lib/execution-backend.js +330 -0
  124. package/src/lib/federation-hardening.js +340 -0
  125. package/src/lib/hashline.js +338 -0
  126. package/src/lib/hierarchical-memory.js +334 -0
  127. package/src/lib/hook-manager.js +341 -0
  128. package/src/lib/inference-network.js +341 -0
  129. package/src/lib/instinct-manager.js +346 -0
  130. package/src/lib/interaction-adapter.js +330 -0
  131. package/src/lib/interactive-planner.js +354 -0
  132. package/src/lib/ipfs-storage.js +334 -0
  133. package/src/lib/knowledge-exporter.js +341 -0
  134. package/src/lib/knowledge-graph.js +331 -0
  135. package/src/lib/knowledge-importer.js +341 -0
  136. package/src/lib/llm-providers.js +346 -0
  137. package/src/lib/matrix-bridge.js +339 -0
  138. package/src/lib/mcp-registry.js +346 -0
  139. package/src/lib/memory-manager.js +336 -0
  140. package/src/lib/multimodal.js +330 -0
  141. package/src/lib/nl-programming.js +341 -0
  142. package/src/lib/nostr-bridge.js +336 -0
  143. package/src/lib/note-versioning.js +339 -0
  144. package/src/lib/org-manager.js +336 -0
  145. package/src/lib/p2p-manager.js +341 -0
  146. package/src/lib/perception.js +346 -0
  147. package/src/lib/permanent-memory.js +327 -0
  148. package/src/lib/pipeline-orchestrator.js +332 -0
  149. package/src/lib/plan-mode.js +336 -0
  150. package/src/lib/plugin-autodiscovery.js +334 -0
  151. package/src/lib/plugin-ecosystem.js +346 -0
  152. package/src/lib/pqc-manager.js +346 -0
  153. package/src/lib/process-manager.js +336 -0
  154. package/src/lib/protocol-fusion.js +338 -0
  155. package/src/lib/provider-options.js +346 -0
  156. package/src/lib/provider-stream.js +348 -0
  157. package/src/lib/quantization.js +337 -0
  158. package/src/lib/response-cache.js +333 -0
  159. package/src/lib/scim-manager.js +346 -0
  160. package/src/lib/service-manager.js +337 -0
  161. package/src/lib/session-core-singletons.js +341 -0
  162. package/src/lib/session-manager.js +334 -0
  163. package/src/lib/skill-loader.js +334 -0
  164. package/src/lib/skill-mcp.js +336 -0
  165. package/src/lib/social-manager.js +330 -0
  166. package/src/lib/sso-manager.js +340 -0
  167. package/src/lib/stix-parser.js +346 -0
  168. package/src/lib/sub-agent-context.js +343 -0
  169. package/src/lib/sub-agent-profiles.js +335 -0
  170. package/src/lib/sub-agent-registry.js +336 -0
  171. package/src/lib/sync-manager.js +336 -0
  172. package/src/lib/tech-learning-engine.js +341 -0
  173. package/src/lib/tenant-saas.js +341 -0
  174. package/src/lib/threat-intel.js +330 -0
  175. package/src/lib/todo-manager.js +336 -0
  176. package/src/lib/token-tracker.js +336 -0
  177. package/src/lib/trust-security.js +343 -0
  178. package/src/lib/ueba.js +340 -0
  179. package/src/lib/universal-runtime.js +330 -0
  180. package/src/lib/wallet-manager.js +336 -0
  181. package/src/lib/web-ui-server.js +348 -0
  182. package/src/lib/workflow-engine.js +330 -0
  183. package/src/lib/workflow-expr.js +346 -0
  184. package/src/lib/ws-chat-handler.js +337 -0
@@ -1044,3 +1044,212 @@ export function registerSessionCommand(program) {
1044
1044
  console.log(JSON.stringify(flipped, null, 2));
1045
1045
  });
1046
1046
  }
1047
+
1048
+ // === Iter21 V2 governance overlay ===
1049
+ export function registerSesgovV2Commands(program) {
1050
+ const parent = program.commands.find((c) => c.name() === "session");
1051
+ if (!parent) return;
1052
+ const L = async () => await import("../lib/session-manager.js");
1053
+ parent
1054
+ .command("sesgov-enums-v2")
1055
+ .description("Show V2 enums")
1056
+ .action(async () => {
1057
+ const m = await L();
1058
+ console.log(
1059
+ JSON.stringify(
1060
+ {
1061
+ profileMaturity: m.SESGOV_PROFILE_MATURITY_V2,
1062
+ turnLifecycle: m.SESGOV_TURN_LIFECYCLE_V2,
1063
+ },
1064
+ null,
1065
+ 2,
1066
+ ),
1067
+ );
1068
+ });
1069
+ parent
1070
+ .command("sesgov-config-v2")
1071
+ .description("Show V2 config")
1072
+ .action(async () => {
1073
+ const m = await L();
1074
+ console.log(
1075
+ JSON.stringify(
1076
+ {
1077
+ maxActive: m.getMaxActiveSesgovProfilesPerOwnerV2(),
1078
+ maxPending: m.getMaxPendingSesgovTurnsPerProfileV2(),
1079
+ idleMs: m.getSesgovProfileIdleMsV2(),
1080
+ stuckMs: m.getSesgovTurnStuckMsV2(),
1081
+ },
1082
+ null,
1083
+ 2,
1084
+ ),
1085
+ );
1086
+ });
1087
+ parent
1088
+ .command("sesgov-set-max-active-v2 <n>")
1089
+ .description("Set max active")
1090
+ .action(async (n) => {
1091
+ (await L()).setMaxActiveSesgovProfilesPerOwnerV2(Number(n));
1092
+ console.log("ok");
1093
+ });
1094
+ parent
1095
+ .command("sesgov-set-max-pending-v2 <n>")
1096
+ .description("Set max pending")
1097
+ .action(async (n) => {
1098
+ (await L()).setMaxPendingSesgovTurnsPerProfileV2(Number(n));
1099
+ console.log("ok");
1100
+ });
1101
+ parent
1102
+ .command("sesgov-set-idle-ms-v2 <n>")
1103
+ .description("Set idle threshold ms")
1104
+ .action(async (n) => {
1105
+ (await L()).setSesgovProfileIdleMsV2(Number(n));
1106
+ console.log("ok");
1107
+ });
1108
+ parent
1109
+ .command("sesgov-set-stuck-ms-v2 <n>")
1110
+ .description("Set stuck threshold ms")
1111
+ .action(async (n) => {
1112
+ (await L()).setSesgovTurnStuckMsV2(Number(n));
1113
+ console.log("ok");
1114
+ });
1115
+ parent
1116
+ .command("sesgov-register-v2 <id> <owner>")
1117
+ .description("Register V2 profile")
1118
+ .option("--channel <v>", "channel")
1119
+ .action(async (id, owner, o) => {
1120
+ const m = await L();
1121
+ console.log(
1122
+ JSON.stringify(
1123
+ m.registerSesgovProfileV2({ id, owner, channel: o.channel }),
1124
+ null,
1125
+ 2,
1126
+ ),
1127
+ );
1128
+ });
1129
+ parent
1130
+ .command("sesgov-activate-v2 <id>")
1131
+ .description("Activate profile")
1132
+ .action(async (id) => {
1133
+ console.log(
1134
+ JSON.stringify((await L()).activateSesgovProfileV2(id), null, 2),
1135
+ );
1136
+ });
1137
+ parent
1138
+ .command("sesgov-pause-v2 <id>")
1139
+ .description("Pause profile")
1140
+ .action(async (id) => {
1141
+ console.log(
1142
+ JSON.stringify((await L()).pauseSesgovProfileV2(id), null, 2),
1143
+ );
1144
+ });
1145
+ parent
1146
+ .command("sesgov-archive-v2 <id>")
1147
+ .description("Archive profile")
1148
+ .action(async (id) => {
1149
+ console.log(
1150
+ JSON.stringify((await L()).archiveSesgovProfileV2(id), null, 2),
1151
+ );
1152
+ });
1153
+ parent
1154
+ .command("sesgov-touch-v2 <id>")
1155
+ .description("Touch profile")
1156
+ .action(async (id) => {
1157
+ console.log(
1158
+ JSON.stringify((await L()).touchSesgovProfileV2(id), null, 2),
1159
+ );
1160
+ });
1161
+ parent
1162
+ .command("sesgov-get-v2 <id>")
1163
+ .description("Get profile")
1164
+ .action(async (id) => {
1165
+ console.log(JSON.stringify((await L()).getSesgovProfileV2(id), null, 2));
1166
+ });
1167
+ parent
1168
+ .command("sesgov-list-v2")
1169
+ .description("List profiles")
1170
+ .action(async () => {
1171
+ console.log(JSON.stringify((await L()).listSesgovProfilesV2(), null, 2));
1172
+ });
1173
+ parent
1174
+ .command("sesgov-create-turn-v2 <id> <profileId>")
1175
+ .description("Create turn")
1176
+ .option("--topic <v>", "topic")
1177
+ .action(async (id, profileId, o) => {
1178
+ const m = await L();
1179
+ console.log(
1180
+ JSON.stringify(
1181
+ m.createSesgovTurnV2({ id, profileId, topic: o.topic }),
1182
+ null,
1183
+ 2,
1184
+ ),
1185
+ );
1186
+ });
1187
+ parent
1188
+ .command("sesgov-advancing-turn-v2 <id>")
1189
+ .description("Mark turn as advancing")
1190
+ .action(async (id) => {
1191
+ console.log(
1192
+ JSON.stringify((await L()).advancingSesgovTurnV2(id), null, 2),
1193
+ );
1194
+ });
1195
+ parent
1196
+ .command("sesgov-complete-turn-v2 <id>")
1197
+ .description("Complete turn")
1198
+ .action(async (id) => {
1199
+ console.log(
1200
+ JSON.stringify((await L()).completeTurnSesgovV2(id), null, 2),
1201
+ );
1202
+ });
1203
+ parent
1204
+ .command("sesgov-fail-turn-v2 <id> [reason]")
1205
+ .description("Fail turn")
1206
+ .action(async (id, reason) => {
1207
+ console.log(
1208
+ JSON.stringify((await L()).failSesgovTurnV2(id, reason), null, 2),
1209
+ );
1210
+ });
1211
+ parent
1212
+ .command("sesgov-cancel-turn-v2 <id> [reason]")
1213
+ .description("Cancel turn")
1214
+ .action(async (id, reason) => {
1215
+ console.log(
1216
+ JSON.stringify((await L()).cancelSesgovTurnV2(id, reason), null, 2),
1217
+ );
1218
+ });
1219
+ parent
1220
+ .command("sesgov-get-turn-v2 <id>")
1221
+ .description("Get turn")
1222
+ .action(async (id) => {
1223
+ console.log(JSON.stringify((await L()).getSesgovTurnV2(id), null, 2));
1224
+ });
1225
+ parent
1226
+ .command("sesgov-list-turns-v2")
1227
+ .description("List turns")
1228
+ .action(async () => {
1229
+ console.log(JSON.stringify((await L()).listSesgovTurnsV2(), null, 2));
1230
+ });
1231
+ parent
1232
+ .command("sesgov-auto-pause-idle-v2")
1233
+ .description("Auto-pause idle")
1234
+ .action(async () => {
1235
+ console.log(
1236
+ JSON.stringify((await L()).autoPauseIdleSesgovProfilesV2(), null, 2),
1237
+ );
1238
+ });
1239
+ parent
1240
+ .command("sesgov-auto-fail-stuck-v2")
1241
+ .description("Auto-fail stuck turns")
1242
+ .action(async () => {
1243
+ console.log(
1244
+ JSON.stringify((await L()).autoFailStuckSesgovTurnsV2(), null, 2),
1245
+ );
1246
+ });
1247
+ parent
1248
+ .command("sesgov-gov-stats-v2")
1249
+ .description("V2 gov stats")
1250
+ .action(async () => {
1251
+ console.log(
1252
+ JSON.stringify((await L()).getSessionManagerGovStatsV2(), null, 2),
1253
+ );
1254
+ });
1255
+ }
@@ -197,3 +197,208 @@ async function runSetup(options) {
197
197
  );
198
198
  logger.newline();
199
199
  }
200
+
201
+ // === Iter27 V2 governance overlay ===
202
+ export function registerDlgovV2Commands(program) {
203
+ const parent = program.commands.find((c) => c.name() === "setup");
204
+ if (!parent) return;
205
+ const L = async () => await import("../lib/downloader.js");
206
+ parent
207
+ .command("dlgov-enums-v2")
208
+ .description("Show V2 enums")
209
+ .action(async () => {
210
+ const m = await L();
211
+ console.log(
212
+ JSON.stringify(
213
+ {
214
+ profileMaturity: m.DLGOV_PROFILE_MATURITY_V2,
215
+ downloadLifecycle: m.DLGOV_DOWNLOAD_LIFECYCLE_V2,
216
+ },
217
+ null,
218
+ 2,
219
+ ),
220
+ );
221
+ });
222
+ parent
223
+ .command("dlgov-config-v2")
224
+ .description("Show V2 config")
225
+ .action(async () => {
226
+ const m = await L();
227
+ console.log(
228
+ JSON.stringify(
229
+ {
230
+ maxActive: m.getMaxActiveDlgovProfilesPerOwnerV2(),
231
+ maxPending: m.getMaxPendingDlgovDownloadsPerProfileV2(),
232
+ idleMs: m.getDlgovProfileIdleMsV2(),
233
+ stuckMs: m.getDlgovDownloadStuckMsV2(),
234
+ },
235
+ null,
236
+ 2,
237
+ ),
238
+ );
239
+ });
240
+ parent
241
+ .command("dlgov-set-max-active-v2 <n>")
242
+ .description("Set max active")
243
+ .action(async (n) => {
244
+ (await L()).setMaxActiveDlgovProfilesPerOwnerV2(Number(n));
245
+ console.log("ok");
246
+ });
247
+ parent
248
+ .command("dlgov-set-max-pending-v2 <n>")
249
+ .description("Set max pending")
250
+ .action(async (n) => {
251
+ (await L()).setMaxPendingDlgovDownloadsPerProfileV2(Number(n));
252
+ console.log("ok");
253
+ });
254
+ parent
255
+ .command("dlgov-set-idle-ms-v2 <n>")
256
+ .description("Set idle threshold ms")
257
+ .action(async (n) => {
258
+ (await L()).setDlgovProfileIdleMsV2(Number(n));
259
+ console.log("ok");
260
+ });
261
+ parent
262
+ .command("dlgov-set-stuck-ms-v2 <n>")
263
+ .description("Set stuck threshold ms")
264
+ .action(async (n) => {
265
+ (await L()).setDlgovDownloadStuckMsV2(Number(n));
266
+ console.log("ok");
267
+ });
268
+ parent
269
+ .command("dlgov-register-v2 <id> <owner>")
270
+ .description("Register V2 profile")
271
+ .option("--mirror <v>", "mirror")
272
+ .action(async (id, owner, o) => {
273
+ const m = await L();
274
+ console.log(
275
+ JSON.stringify(
276
+ m.registerDlgovProfileV2({ id, owner, mirror: o.mirror }),
277
+ null,
278
+ 2,
279
+ ),
280
+ );
281
+ });
282
+ parent
283
+ .command("dlgov-activate-v2 <id>")
284
+ .description("Activate profile")
285
+ .action(async (id) => {
286
+ console.log(
287
+ JSON.stringify((await L()).activateDlgovProfileV2(id), null, 2),
288
+ );
289
+ });
290
+ parent
291
+ .command("dlgov-stale-v2 <id>")
292
+ .description("Stale profile")
293
+ .action(async (id) => {
294
+ console.log(JSON.stringify((await L()).staleDlgovProfileV2(id), null, 2));
295
+ });
296
+ parent
297
+ .command("dlgov-archive-v2 <id>")
298
+ .description("Archive profile")
299
+ .action(async (id) => {
300
+ console.log(
301
+ JSON.stringify((await L()).archiveDlgovProfileV2(id), null, 2),
302
+ );
303
+ });
304
+ parent
305
+ .command("dlgov-touch-v2 <id>")
306
+ .description("Touch profile")
307
+ .action(async (id) => {
308
+ console.log(JSON.stringify((await L()).touchDlgovProfileV2(id), null, 2));
309
+ });
310
+ parent
311
+ .command("dlgov-get-v2 <id>")
312
+ .description("Get profile")
313
+ .action(async (id) => {
314
+ console.log(JSON.stringify((await L()).getDlgovProfileV2(id), null, 2));
315
+ });
316
+ parent
317
+ .command("dlgov-list-v2")
318
+ .description("List profiles")
319
+ .action(async () => {
320
+ console.log(JSON.stringify((await L()).listDlgovProfilesV2(), null, 2));
321
+ });
322
+ parent
323
+ .command("dlgov-create-download-v2 <id> <profileId>")
324
+ .description("Create download")
325
+ .option("--url <v>", "url")
326
+ .action(async (id, profileId, o) => {
327
+ const m = await L();
328
+ console.log(
329
+ JSON.stringify(
330
+ m.createDlgovDownloadV2({ id, profileId, url: o.url }),
331
+ null,
332
+ 2,
333
+ ),
334
+ );
335
+ });
336
+ parent
337
+ .command("dlgov-fetching-download-v2 <id>")
338
+ .description("Mark download as fetching")
339
+ .action(async (id) => {
340
+ console.log(
341
+ JSON.stringify((await L()).fetchingDlgovDownloadV2(id), null, 2),
342
+ );
343
+ });
344
+ parent
345
+ .command("dlgov-complete-download-v2 <id>")
346
+ .description("Complete download")
347
+ .action(async (id) => {
348
+ console.log(
349
+ JSON.stringify((await L()).completeDownloadDlgovV2(id), null, 2),
350
+ );
351
+ });
352
+ parent
353
+ .command("dlgov-fail-download-v2 <id> [reason]")
354
+ .description("Fail download")
355
+ .action(async (id, reason) => {
356
+ console.log(
357
+ JSON.stringify((await L()).failDlgovDownloadV2(id, reason), null, 2),
358
+ );
359
+ });
360
+ parent
361
+ .command("dlgov-cancel-download-v2 <id> [reason]")
362
+ .description("Cancel download")
363
+ .action(async (id, reason) => {
364
+ console.log(
365
+ JSON.stringify((await L()).cancelDlgovDownloadV2(id, reason), null, 2),
366
+ );
367
+ });
368
+ parent
369
+ .command("dlgov-get-download-v2 <id>")
370
+ .description("Get download")
371
+ .action(async (id) => {
372
+ console.log(JSON.stringify((await L()).getDlgovDownloadV2(id), null, 2));
373
+ });
374
+ parent
375
+ .command("dlgov-list-downloads-v2")
376
+ .description("List downloads")
377
+ .action(async () => {
378
+ console.log(JSON.stringify((await L()).listDlgovDownloadsV2(), null, 2));
379
+ });
380
+ parent
381
+ .command("dlgov-auto-stale-idle-v2")
382
+ .description("Auto-stale idle")
383
+ .action(async () => {
384
+ console.log(
385
+ JSON.stringify((await L()).autoStaleIdleDlgovProfilesV2(), null, 2),
386
+ );
387
+ });
388
+ parent
389
+ .command("dlgov-auto-fail-stuck-v2")
390
+ .description("Auto-fail stuck downloads")
391
+ .action(async () => {
392
+ console.log(
393
+ JSON.stringify((await L()).autoFailStuckDlgovDownloadsV2(), null, 2),
394
+ );
395
+ });
396
+ parent
397
+ .command("dlgov-gov-stats-v2")
398
+ .description("V2 gov stats")
399
+ .action(async () => {
400
+ console.log(
401
+ JSON.stringify((await L()).getDownloaderGovStatsV2(), null, 2),
402
+ );
403
+ });
404
+ }