chainlesschain 0.66.0 → 0.132.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 (143) hide show
  1. package/bin/chainlesschain.js +0 -0
  2. package/package.json +1 -1
  3. package/src/commands/a2a.js +380 -0
  4. package/src/commands/agent-network.js +254 -1
  5. package/src/commands/audit.js +302 -0
  6. package/src/commands/automation.js +271 -1
  7. package/src/commands/bi.js +348 -0
  8. package/src/commands/codegen.js +224 -0
  9. package/src/commands/collab.js +341 -0
  10. package/src/commands/compliance.js +1035 -0
  11. package/src/commands/cowork.js +221 -0
  12. package/src/commands/crosschain.js +218 -0
  13. package/src/commands/dbevo.js +284 -0
  14. package/src/commands/dev.js +252 -0
  15. package/src/commands/did.js +358 -0
  16. package/src/commands/dlp.js +341 -0
  17. package/src/commands/encrypt.js +341 -0
  18. package/src/commands/evomap.js +394 -0
  19. package/src/commands/export.js +256 -1
  20. package/src/commands/federation.js +283 -0
  21. package/src/commands/fusion.js +258 -0
  22. package/src/commands/governance.js +325 -0
  23. package/src/commands/hardening.js +411 -0
  24. package/src/commands/hook.js +148 -0
  25. package/src/commands/import.js +252 -0
  26. package/src/commands/incentive.js +322 -0
  27. package/src/commands/inference.js +318 -0
  28. package/src/commands/infra.js +244 -0
  29. package/src/commands/instinct.js +260 -0
  30. package/src/commands/ipfs.js +318 -0
  31. package/src/commands/kg.js +387 -0
  32. package/src/commands/llm.js +263 -0
  33. package/src/commands/lowcode.js +356 -0
  34. package/src/commands/marketplace.js +256 -0
  35. package/src/commands/mcp.js +221 -0
  36. package/src/commands/memory.js +248 -0
  37. package/src/commands/multimodal.js +296 -0
  38. package/src/commands/nlprog.js +356 -0
  39. package/src/commands/note.js +244 -0
  40. package/src/commands/ops.js +354 -0
  41. package/src/commands/orchestrate.js +166 -0
  42. package/src/commands/org.js +277 -0
  43. package/src/commands/p2p.js +390 -0
  44. package/src/commands/perception.js +290 -0
  45. package/src/commands/permmem.js +251 -0
  46. package/src/commands/plugin-ecosystem.js +273 -0
  47. package/src/commands/pqc.js +393 -0
  48. package/src/commands/privacy.js +321 -0
  49. package/src/commands/quantization.js +351 -0
  50. package/src/commands/rcache.js +271 -0
  51. package/src/commands/recommend.js +340 -0
  52. package/src/commands/reputation.js +261 -0
  53. package/src/commands/runtime.js +307 -0
  54. package/src/commands/scim.js +262 -0
  55. package/src/commands/session.js +258 -0
  56. package/src/commands/siem.js +246 -0
  57. package/src/commands/skill.js +267 -1
  58. package/src/commands/sla.js +259 -0
  59. package/src/commands/social.js +256 -0
  60. package/src/commands/sso.js +186 -1
  61. package/src/commands/stress.js +230 -0
  62. package/src/commands/sync.js +256 -0
  63. package/src/commands/tech.js +338 -0
  64. package/src/commands/tenant.js +351 -0
  65. package/src/commands/terraform.js +245 -0
  66. package/src/commands/tokens.js +269 -0
  67. package/src/commands/trust.js +249 -0
  68. package/src/commands/wallet.js +277 -0
  69. package/src/commands/workflow.js +171 -0
  70. package/src/commands/zkp.js +335 -0
  71. package/src/index.js +4 -0
  72. package/src/lib/a2a-protocol.js +451 -0
  73. package/src/lib/agent-coordinator.js +325 -0
  74. package/src/lib/agent-network.js +387 -0
  75. package/src/lib/agent-router.js +395 -0
  76. package/src/lib/aiops.js +478 -0
  77. package/src/lib/app-builder.js +239 -0
  78. package/src/lib/audit-logger.js +379 -0
  79. package/src/lib/automation-engine.js +330 -0
  80. package/src/lib/autonomous-developer.js +350 -0
  81. package/src/lib/bi-engine.js +338 -0
  82. package/src/lib/code-agent.js +323 -0
  83. package/src/lib/collaboration-governance.js +364 -0
  84. package/src/lib/community-governance.js +436 -0
  85. package/src/lib/compliance-manager.js +434 -0
  86. package/src/lib/content-recommendation.js +469 -0
  87. package/src/lib/cross-chain.js +345 -0
  88. package/src/lib/crypto-manager.js +350 -0
  89. package/src/lib/dbevo.js +338 -0
  90. package/src/lib/decentral-infra.js +340 -0
  91. package/src/lib/did-manager.js +367 -0
  92. package/src/lib/dlp-engine.js +389 -0
  93. package/src/lib/evomap-federation.js +177 -0
  94. package/src/lib/evomap-governance.js +276 -0
  95. package/src/lib/federation-hardening.js +259 -0
  96. package/src/lib/hardening-manager.js +348 -0
  97. package/src/lib/hook-manager.js +380 -0
  98. package/src/lib/inference-network.js +330 -0
  99. package/src/lib/instinct-manager.js +332 -0
  100. package/src/lib/ipfs-storage.js +334 -0
  101. package/src/lib/knowledge-exporter.js +381 -0
  102. package/src/lib/knowledge-graph.js +432 -0
  103. package/src/lib/knowledge-importer.js +379 -0
  104. package/src/lib/llm-providers.js +391 -0
  105. package/src/lib/mcp-registry.js +333 -0
  106. package/src/lib/memory-manager.js +330 -0
  107. package/src/lib/multimodal.js +346 -0
  108. package/src/lib/nl-programming.js +343 -0
  109. package/src/lib/note-versioning.js +327 -0
  110. package/src/lib/org-manager.js +323 -0
  111. package/src/lib/p2p-manager.js +387 -0
  112. package/src/lib/perception.js +346 -0
  113. package/src/lib/perf-tuning.js +4 -1
  114. package/src/lib/permanent-memory.js +320 -0
  115. package/src/lib/plugin-ecosystem.js +377 -0
  116. package/src/lib/pqc-manager.js +368 -0
  117. package/src/lib/privacy-computing.js +427 -0
  118. package/src/lib/protocol-fusion.js +417 -0
  119. package/src/lib/quantization.js +325 -0
  120. package/src/lib/reputation-optimizer.js +299 -0
  121. package/src/lib/response-cache.js +327 -0
  122. package/src/lib/scim-manager.js +329 -0
  123. package/src/lib/session-manager.js +329 -0
  124. package/src/lib/siem-exporter.js +333 -0
  125. package/src/lib/skill-loader.js +377 -0
  126. package/src/lib/skill-marketplace.js +325 -0
  127. package/src/lib/sla-manager.js +275 -0
  128. package/src/lib/social-manager.js +326 -0
  129. package/src/lib/sso-manager.js +332 -0
  130. package/src/lib/stress-tester.js +330 -0
  131. package/src/lib/sync-manager.js +326 -0
  132. package/src/lib/tech-learning-engine.js +369 -0
  133. package/src/lib/tenant-saas.js +460 -0
  134. package/src/lib/terraform-manager.js +363 -0
  135. package/src/lib/threat-intel.js +335 -0
  136. package/src/lib/token-incentive.js +293 -0
  137. package/src/lib/token-tracker.js +329 -0
  138. package/src/lib/trust-security.js +390 -0
  139. package/src/lib/ueba.js +389 -0
  140. package/src/lib/universal-runtime.js +325 -0
  141. package/src/lib/wallet-manager.js +326 -0
  142. package/src/lib/workflow-engine.js +322 -0
  143. package/src/lib/zkp-engine.js +274 -0
@@ -169,6 +169,172 @@ export function registerOrchestrateCommand(program) {
169
169
  // Pretty output
170
170
  _runPretty(orch, taskText, options, cwd);
171
171
  });
172
+
173
+ // ===== V2 governance subcommands (agent-router V2) =====
174
+ const router = program
175
+ .command("router")
176
+ .description("Agent router V2 governance");
177
+ router
178
+ .command("maturities-v2")
179
+ .description("List router profile maturity states (V2)")
180
+ .action(async () => {
181
+ const m = await import("../lib/agent-router.js");
182
+ console.log(JSON.stringify(m.ROUTER_PROFILE_MATURITY_V2, null, 2));
183
+ });
184
+ router
185
+ .command("dispatch-lifecycle-v2")
186
+ .description("List router dispatch lifecycle states (V2)")
187
+ .action(async () => {
188
+ const m = await import("../lib/agent-router.js");
189
+ console.log(JSON.stringify(m.ROUTER_DISPATCH_LIFECYCLE_V2, null, 2));
190
+ });
191
+ router
192
+ .command("stats-v2")
193
+ .description("Show agent-router V2 stats")
194
+ .action(async () => {
195
+ const m = await import("../lib/agent-router.js");
196
+ console.log(JSON.stringify(m.getAgentRouterStatsV2(), null, 2));
197
+ });
198
+ router
199
+ .command("config-v2")
200
+ .description("Show agent-router V2 config")
201
+ .action(async () => {
202
+ const m = await import("../lib/agent-router.js");
203
+ console.log(
204
+ JSON.stringify(
205
+ {
206
+ maxActiveProfilesPerOwner: m.getMaxActiveProfilesPerOwnerRouterV2(),
207
+ maxPendingDispatchesPerProfile:
208
+ m.getMaxPendingDispatchesPerProfileV2(),
209
+ profileIdleMs: m.getProfileIdleMsRouterV2(),
210
+ dispatchStuckMs: m.getDispatchStuckMsV2(),
211
+ },
212
+ null,
213
+ 2,
214
+ ),
215
+ );
216
+ });
217
+ router
218
+ .command("register-profile-v2 <id> <owner>")
219
+ .description("Register a router profile (V2)")
220
+ .action(async (id, owner) => {
221
+ const m = await import("../lib/agent-router.js");
222
+ console.log(
223
+ JSON.stringify(m.registerRouterProfileV2({ id, owner }), null, 2),
224
+ );
225
+ });
226
+ router.command("activate-profile-v2 <id>").action(async (id) => {
227
+ const m = await import("../lib/agent-router.js");
228
+ console.log(JSON.stringify(m.activateRouterProfileV2(id), null, 2));
229
+ });
230
+ router.command("degrade-profile-v2 <id>").action(async (id) => {
231
+ const m = await import("../lib/agent-router.js");
232
+ console.log(JSON.stringify(m.degradeRouterProfileV2(id), null, 2));
233
+ });
234
+ router.command("retire-profile-v2 <id>").action(async (id) => {
235
+ const m = await import("../lib/agent-router.js");
236
+ console.log(JSON.stringify(m.retireRouterProfileV2(id), null, 2));
237
+ });
238
+ router.command("touch-profile-v2 <id>").action(async (id) => {
239
+ const m = await import("../lib/agent-router.js");
240
+ console.log(JSON.stringify(m.touchRouterProfileV2(id), null, 2));
241
+ });
242
+ router.command("get-profile-v2 <id>").action(async (id) => {
243
+ const m = await import("../lib/agent-router.js");
244
+ console.log(JSON.stringify(m.getRouterProfileV2(id), null, 2));
245
+ });
246
+ router.command("list-profiles-v2").action(async () => {
247
+ const m = await import("../lib/agent-router.js");
248
+ console.log(JSON.stringify(m.listRouterProfilesV2(), null, 2));
249
+ });
250
+ router
251
+ .command("create-dispatch-v2 <id> <profileId> [task]")
252
+ .action(async (id, profileId, task) => {
253
+ const m = await import("../lib/agent-router.js");
254
+ console.log(
255
+ JSON.stringify(m.createDispatchV2({ id, profileId, task }), null, 2),
256
+ );
257
+ });
258
+ router.command("dispatch-v2 <id>").action(async (id) => {
259
+ const m = await import("../lib/agent-router.js");
260
+ console.log(JSON.stringify(m.dispatchDispatchV2(id), null, 2));
261
+ });
262
+ router.command("complete-dispatch-v2 <id>").action(async (id) => {
263
+ const m = await import("../lib/agent-router.js");
264
+ console.log(JSON.stringify(m.completeDispatchV2(id), null, 2));
265
+ });
266
+ router
267
+ .command("fail-dispatch-v2 <id> [reason]")
268
+ .action(async (id, reason) => {
269
+ const m = await import("../lib/agent-router.js");
270
+ console.log(JSON.stringify(m.failDispatchV2(id, reason), null, 2));
271
+ });
272
+ router
273
+ .command("cancel-dispatch-v2 <id> [reason]")
274
+ .action(async (id, reason) => {
275
+ const m = await import("../lib/agent-router.js");
276
+ console.log(JSON.stringify(m.cancelDispatchV2(id, reason), null, 2));
277
+ });
278
+ router.command("get-dispatch-v2 <id>").action(async (id) => {
279
+ const m = await import("../lib/agent-router.js");
280
+ console.log(JSON.stringify(m.getDispatchV2(id), null, 2));
281
+ });
282
+ router.command("list-dispatches-v2").action(async () => {
283
+ const m = await import("../lib/agent-router.js");
284
+ console.log(JSON.stringify(m.listDispatchesV2(), null, 2));
285
+ });
286
+ router.command("auto-degrade-idle-v2").action(async () => {
287
+ const m = await import("../lib/agent-router.js");
288
+ console.log(JSON.stringify(m.autoDegradeIdleProfilesRouterV2(), null, 2));
289
+ });
290
+ router.command("auto-fail-stuck-v2").action(async () => {
291
+ const m = await import("../lib/agent-router.js");
292
+ console.log(JSON.stringify(m.autoFailStuckDispatchesV2(), null, 2));
293
+ });
294
+ router.command("set-max-active-profiles-v2 <n>").action(async (n) => {
295
+ const m = await import("../lib/agent-router.js");
296
+ m.setMaxActiveProfilesPerOwnerRouterV2(parseInt(n, 10));
297
+ console.log(
298
+ JSON.stringify(
299
+ { maxActiveProfilesPerOwner: m.getMaxActiveProfilesPerOwnerRouterV2() },
300
+ null,
301
+ 2,
302
+ ),
303
+ );
304
+ });
305
+ router.command("set-max-pending-dispatches-v2 <n>").action(async (n) => {
306
+ const m = await import("../lib/agent-router.js");
307
+ m.setMaxPendingDispatchesPerProfileV2(parseInt(n, 10));
308
+ console.log(
309
+ JSON.stringify(
310
+ {
311
+ maxPendingDispatchesPerProfile:
312
+ m.getMaxPendingDispatchesPerProfileV2(),
313
+ },
314
+ null,
315
+ 2,
316
+ ),
317
+ );
318
+ });
319
+ router.command("set-profile-idle-ms-v2 <n>").action(async (n) => {
320
+ const m = await import("../lib/agent-router.js");
321
+ m.setProfileIdleMsRouterV2(parseInt(n, 10));
322
+ console.log(
323
+ JSON.stringify({ profileIdleMs: m.getProfileIdleMsRouterV2() }, null, 2),
324
+ );
325
+ });
326
+ router.command("set-dispatch-stuck-ms-v2 <n>").action(async (n) => {
327
+ const m = await import("../lib/agent-router.js");
328
+ m.setDispatchStuckMsV2(parseInt(n, 10));
329
+ console.log(
330
+ JSON.stringify({ dispatchStuckMs: m.getDispatchStuckMsV2() }, null, 2),
331
+ );
332
+ });
333
+ router.command("reset-state-v2").action(async () => {
334
+ const m = await import("../lib/agent-router.js");
335
+ m._resetStateAgentRouterV2();
336
+ console.log(JSON.stringify({ ok: true }, null, 2));
337
+ });
172
338
  }
173
339
 
174
340
  // ─── Pretty (interactive) run ────────────────────────────────────
@@ -28,6 +28,37 @@ import {
28
28
  rejectRequest,
29
29
  getApprovals,
30
30
  getOrgSummary,
31
+ ORG_MATURITY_V2,
32
+ MEMBER_LIFECYCLE_V2,
33
+ getMaxActiveOrgsPerOwnerV2,
34
+ setMaxActiveOrgsPerOwnerV2,
35
+ getMaxActiveMembersPerOrgV2,
36
+ setMaxActiveMembersPerOrgV2,
37
+ getOrgIdleMsV2,
38
+ setOrgIdleMsV2,
39
+ getInviteStaleMsV2,
40
+ setInviteStaleMsV2,
41
+ getActiveOrgCountV2,
42
+ getActiveMemberCountV2,
43
+ registerOrgV2,
44
+ getOrgV2,
45
+ listOrgsV2,
46
+ setOrgMaturityV2,
47
+ activateOrgV2,
48
+ suspendOrgV2,
49
+ archiveOrgV2,
50
+ touchOrgV2,
51
+ inviteMemberV2,
52
+ getMemberV2,
53
+ listMembersV2,
54
+ setMemberStatusV2,
55
+ activateMemberV2,
56
+ suspendMemberV2,
57
+ revokeMemberV2,
58
+ departMemberV2,
59
+ autoArchiveIdleOrgsV2,
60
+ autoRevokeStaleInvitesV2,
61
+ getOrgManagerStatsV2,
31
62
  } from "../lib/org-manager.js";
32
63
 
33
64
  export function registerOrgCommand(program) {
@@ -502,4 +533,250 @@ export function registerOrgCommand(program) {
502
533
  process.exit(1);
503
534
  }
504
535
  });
536
+
537
+ /* ═══ Org V2 — in-memory maturity + member lifecycle ═══ */
538
+
539
+ org
540
+ .command("maturities-v2")
541
+ .description("List org maturity states (V2)")
542
+ .action(() => {
543
+ for (const v of Object.values(ORG_MATURITY_V2)) console.log(` ${v}`);
544
+ });
545
+
546
+ org
547
+ .command("member-lifecycles-v2")
548
+ .description("List member lifecycle states (V2)")
549
+ .action(() => {
550
+ for (const v of Object.values(MEMBER_LIFECYCLE_V2)) console.log(` ${v}`);
551
+ });
552
+
553
+ org
554
+ .command("stats-v2")
555
+ .description("Show V2 org/member stats")
556
+ .action(() => {
557
+ console.log(JSON.stringify(getOrgManagerStatsV2(), null, 2));
558
+ });
559
+
560
+ org
561
+ .command("max-active-orgs-per-owner")
562
+ .argument("[n]", "New cap")
563
+ .description("Get/set max active orgs per owner (V2)")
564
+ .action((n) => {
565
+ if (n !== undefined) setMaxActiveOrgsPerOwnerV2(n);
566
+ console.log(getMaxActiveOrgsPerOwnerV2());
567
+ });
568
+
569
+ org
570
+ .command("max-active-members-per-org")
571
+ .argument("[n]", "New cap")
572
+ .description("Get/set max active members per org (V2)")
573
+ .action((n) => {
574
+ if (n !== undefined) setMaxActiveMembersPerOrgV2(n);
575
+ console.log(getMaxActiveMembersPerOrgV2());
576
+ });
577
+
578
+ org
579
+ .command("org-idle-ms")
580
+ .argument("[ms]", "New idle window")
581
+ .description("Get/set org idle window ms (V2)")
582
+ .action((ms) => {
583
+ if (ms !== undefined) setOrgIdleMsV2(ms);
584
+ console.log(getOrgIdleMsV2());
585
+ });
586
+
587
+ org
588
+ .command("invite-stale-ms")
589
+ .argument("[ms]", "New invite stale window")
590
+ .description("Get/set invite stale window ms (V2)")
591
+ .action((ms) => {
592
+ if (ms !== undefined) setInviteStaleMsV2(ms);
593
+ console.log(getInviteStaleMsV2());
594
+ });
595
+
596
+ org
597
+ .command("active-org-count-v2 <owner>")
598
+ .description("Count active orgs for owner (V2)")
599
+ .action((owner) => {
600
+ console.log(getActiveOrgCountV2(owner));
601
+ });
602
+
603
+ org
604
+ .command("active-member-count-v2 <orgId>")
605
+ .description("Count active members for org (V2)")
606
+ .action((orgId) => {
607
+ console.log(getActiveMemberCountV2(orgId));
608
+ });
609
+
610
+ org
611
+ .command("register-org-v2 <id>")
612
+ .requiredOption("-o, --owner <owner>", "Owner")
613
+ .requiredOption("-n, --name <name>", "Org name")
614
+ .description("Register a new provisional org (V2)")
615
+ .action((id, opts) => {
616
+ console.log(
617
+ JSON.stringify(
618
+ registerOrgV2(id, { owner: opts.owner, name: opts.name }),
619
+ null,
620
+ 2,
621
+ ),
622
+ );
623
+ });
624
+
625
+ org
626
+ .command("org-v2 <id>")
627
+ .description("Show org by id (V2)")
628
+ .action((id) => {
629
+ const o = getOrgV2(id);
630
+ if (!o) {
631
+ console.error(`org ${id} not found`);
632
+ process.exit(1);
633
+ }
634
+ console.log(JSON.stringify(o, null, 2));
635
+ });
636
+
637
+ org
638
+ .command("list-orgs-v2")
639
+ .option("-o, --owner <owner>", "Filter by owner")
640
+ .option("-m, --maturity <m>", "Filter by maturity")
641
+ .description("List orgs (V2)")
642
+ .action((opts) => {
643
+ console.log(
644
+ JSON.stringify(
645
+ listOrgsV2({ owner: opts.owner, maturity: opts.maturity }),
646
+ null,
647
+ 2,
648
+ ),
649
+ );
650
+ });
651
+
652
+ org
653
+ .command("set-org-maturity-v2 <id> <next>")
654
+ .description("Transition org maturity (V2)")
655
+ .action((id, next) => {
656
+ console.log(JSON.stringify(setOrgMaturityV2(id, next), null, 2));
657
+ });
658
+
659
+ org
660
+ .command("activate-org-v2 <id>")
661
+ .description("Activate org (V2)")
662
+ .action((id) => {
663
+ console.log(JSON.stringify(activateOrgV2(id), null, 2));
664
+ });
665
+
666
+ org
667
+ .command("suspend-org-v2 <id>")
668
+ .description("Suspend org (V2)")
669
+ .action((id) => {
670
+ console.log(JSON.stringify(suspendOrgV2(id), null, 2));
671
+ });
672
+
673
+ org
674
+ .command("archive-org-v2 <id>")
675
+ .description("Archive org terminally (V2)")
676
+ .action((id) => {
677
+ console.log(JSON.stringify(archiveOrgV2(id), null, 2));
678
+ });
679
+
680
+ org
681
+ .command("touch-org-v2 <id>")
682
+ .description("Update org lastSeenAt (V2)")
683
+ .action((id) => {
684
+ console.log(JSON.stringify(touchOrgV2(id), null, 2));
685
+ });
686
+
687
+ org
688
+ .command("invite-member-v2 <id>")
689
+ .requiredOption("-o, --org <orgId>", "Org id")
690
+ .requiredOption("-u, --user <userId>", "User id")
691
+ .option("-r, --role <role>", "Role", "member")
692
+ .description("Invite a member to an org (V2)")
693
+ .action((id, opts) => {
694
+ console.log(
695
+ JSON.stringify(
696
+ inviteMemberV2(id, {
697
+ orgId: opts.org,
698
+ userId: opts.user,
699
+ role: opts.role,
700
+ }),
701
+ null,
702
+ 2,
703
+ ),
704
+ );
705
+ });
706
+
707
+ org
708
+ .command("member-v2 <id>")
709
+ .description("Show member by id (V2)")
710
+ .action((id) => {
711
+ const m = getMemberV2(id);
712
+ if (!m) {
713
+ console.error(`member ${id} not found`);
714
+ process.exit(1);
715
+ }
716
+ console.log(JSON.stringify(m, null, 2));
717
+ });
718
+
719
+ org
720
+ .command("list-members-v2")
721
+ .option("-o, --org <orgId>", "Filter by orgId")
722
+ .option("-s, --status <s>", "Filter by status")
723
+ .description("List members (V2)")
724
+ .action((opts) => {
725
+ console.log(
726
+ JSON.stringify(
727
+ listMembersV2({ orgId: opts.org, status: opts.status }),
728
+ null,
729
+ 2,
730
+ ),
731
+ );
732
+ });
733
+
734
+ org
735
+ .command("set-member-status-v2 <id> <next>")
736
+ .description("Transition member status (V2)")
737
+ .action((id, next) => {
738
+ console.log(JSON.stringify(setMemberStatusV2(id, next), null, 2));
739
+ });
740
+
741
+ org
742
+ .command("activate-member-v2 <id>")
743
+ .description("Activate member (V2)")
744
+ .action((id) => {
745
+ console.log(JSON.stringify(activateMemberV2(id), null, 2));
746
+ });
747
+
748
+ org
749
+ .command("suspend-member-v2 <id>")
750
+ .description("Suspend member (V2)")
751
+ .action((id) => {
752
+ console.log(JSON.stringify(suspendMemberV2(id), null, 2));
753
+ });
754
+
755
+ org
756
+ .command("revoke-member-v2 <id>")
757
+ .description("Revoke member terminally (V2)")
758
+ .action((id) => {
759
+ console.log(JSON.stringify(revokeMemberV2(id), null, 2));
760
+ });
761
+
762
+ org
763
+ .command("depart-member-v2 <id>")
764
+ .description("Depart member terminally (V2)")
765
+ .action((id) => {
766
+ console.log(JSON.stringify(departMemberV2(id), null, 2));
767
+ });
768
+
769
+ org
770
+ .command("auto-archive-idle-orgs")
771
+ .description("Auto-archive non-provisional orgs idle past window (V2)")
772
+ .action(() => {
773
+ console.log(JSON.stringify(autoArchiveIdleOrgsV2(), null, 2));
774
+ });
775
+
776
+ org
777
+ .command("auto-revoke-stale-invites")
778
+ .description("Auto-revoke invited members stale past window (V2)")
779
+ .action(() => {
780
+ console.log(JSON.stringify(autoRevokeStaleInvitesV2(), null, 2));
781
+ });
505
782
  }