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
@@ -264,3 +264,429 @@ export function registerCliAnythingCommand(program) {
264
264
  }
265
265
  });
266
266
  }
267
+
268
+ // === Iter25 V2 governance overlay ===
269
+ export function registerClibgovV2Commands(program) {
270
+ const parent = program.commands.find((c) => c.name() === "cli-anything");
271
+ if (!parent) return;
272
+ const L = async () => await import("../lib/cli-anything-bridge.js");
273
+ parent
274
+ .command("clibgov-enums-v2")
275
+ .description("Show V2 enums")
276
+ .action(async () => {
277
+ const m = await L();
278
+ console.log(
279
+ JSON.stringify(
280
+ {
281
+ profileMaturity: m.CLIBGOV_PROFILE_MATURITY_V2,
282
+ bridgeLifecycle: m.CLIBGOV_BRIDGE_LIFECYCLE_V2,
283
+ },
284
+ null,
285
+ 2,
286
+ ),
287
+ );
288
+ });
289
+ parent
290
+ .command("clibgov-config-v2")
291
+ .description("Show V2 config")
292
+ .action(async () => {
293
+ const m = await L();
294
+ console.log(
295
+ JSON.stringify(
296
+ {
297
+ maxActive: m.getMaxActiveClibgovProfilesPerOwnerV2(),
298
+ maxPending: m.getMaxPendingClibgovBridgesPerProfileV2(),
299
+ idleMs: m.getClibgovProfileIdleMsV2(),
300
+ stuckMs: m.getClibgovBridgeStuckMsV2(),
301
+ },
302
+ null,
303
+ 2,
304
+ ),
305
+ );
306
+ });
307
+ parent
308
+ .command("clibgov-set-max-active-v2 <n>")
309
+ .description("Set max active")
310
+ .action(async (n) => {
311
+ (await L()).setMaxActiveClibgovProfilesPerOwnerV2(Number(n));
312
+ console.log("ok");
313
+ });
314
+ parent
315
+ .command("clibgov-set-max-pending-v2 <n>")
316
+ .description("Set max pending")
317
+ .action(async (n) => {
318
+ (await L()).setMaxPendingClibgovBridgesPerProfileV2(Number(n));
319
+ console.log("ok");
320
+ });
321
+ parent
322
+ .command("clibgov-set-idle-ms-v2 <n>")
323
+ .description("Set idle threshold ms")
324
+ .action(async (n) => {
325
+ (await L()).setClibgovProfileIdleMsV2(Number(n));
326
+ console.log("ok");
327
+ });
328
+ parent
329
+ .command("clibgov-set-stuck-ms-v2 <n>")
330
+ .description("Set stuck threshold ms")
331
+ .action(async (n) => {
332
+ (await L()).setClibgovBridgeStuckMsV2(Number(n));
333
+ console.log("ok");
334
+ });
335
+ parent
336
+ .command("clibgov-register-v2 <id> <owner>")
337
+ .description("Register V2 profile")
338
+ .option("--tool <v>", "tool")
339
+ .action(async (id, owner, o) => {
340
+ const m = await L();
341
+ console.log(
342
+ JSON.stringify(
343
+ m.registerClibgovProfileV2({ id, owner, tool: o.tool }),
344
+ null,
345
+ 2,
346
+ ),
347
+ );
348
+ });
349
+ parent
350
+ .command("clibgov-activate-v2 <id>")
351
+ .description("Activate profile")
352
+ .action(async (id) => {
353
+ console.log(
354
+ JSON.stringify((await L()).activateClibgovProfileV2(id), null, 2),
355
+ );
356
+ });
357
+ parent
358
+ .command("clibgov-degrade-v2 <id>")
359
+ .description("Degrade profile")
360
+ .action(async (id) => {
361
+ console.log(
362
+ JSON.stringify((await L()).degradeClibgovProfileV2(id), null, 2),
363
+ );
364
+ });
365
+ parent
366
+ .command("clibgov-archive-v2 <id>")
367
+ .description("Archive profile")
368
+ .action(async (id) => {
369
+ console.log(
370
+ JSON.stringify((await L()).archiveClibgovProfileV2(id), null, 2),
371
+ );
372
+ });
373
+ parent
374
+ .command("clibgov-touch-v2 <id>")
375
+ .description("Touch profile")
376
+ .action(async (id) => {
377
+ console.log(
378
+ JSON.stringify((await L()).touchClibgovProfileV2(id), null, 2),
379
+ );
380
+ });
381
+ parent
382
+ .command("clibgov-get-v2 <id>")
383
+ .description("Get profile")
384
+ .action(async (id) => {
385
+ console.log(JSON.stringify((await L()).getClibgovProfileV2(id), null, 2));
386
+ });
387
+ parent
388
+ .command("clibgov-list-v2")
389
+ .description("List profiles")
390
+ .action(async () => {
391
+ console.log(JSON.stringify((await L()).listClibgovProfilesV2(), null, 2));
392
+ });
393
+ parent
394
+ .command("clibgov-create-bridge-v2 <id> <profileId>")
395
+ .description("Create bridge")
396
+ .option("--command <v>", "command")
397
+ .action(async (id, profileId, o) => {
398
+ const m = await L();
399
+ console.log(
400
+ JSON.stringify(
401
+ m.createClibgovBridgeV2({ id, profileId, command: o.command }),
402
+ null,
403
+ 2,
404
+ ),
405
+ );
406
+ });
407
+ parent
408
+ .command("clibgov-bridging-bridge-v2 <id>")
409
+ .description("Mark bridge as bridging")
410
+ .action(async (id) => {
411
+ console.log(
412
+ JSON.stringify((await L()).bridgingClibgovBridgeV2(id), null, 2),
413
+ );
414
+ });
415
+ parent
416
+ .command("clibgov-complete-bridge-v2 <id>")
417
+ .description("Complete bridge")
418
+ .action(async (id) => {
419
+ console.log(
420
+ JSON.stringify((await L()).completeBridgeClibgovV2(id), null, 2),
421
+ );
422
+ });
423
+ parent
424
+ .command("clibgov-fail-bridge-v2 <id> [reason]")
425
+ .description("Fail bridge")
426
+ .action(async (id, reason) => {
427
+ console.log(
428
+ JSON.stringify((await L()).failClibgovBridgeV2(id, reason), null, 2),
429
+ );
430
+ });
431
+ parent
432
+ .command("clibgov-cancel-bridge-v2 <id> [reason]")
433
+ .description("Cancel bridge")
434
+ .action(async (id, reason) => {
435
+ console.log(
436
+ JSON.stringify((await L()).cancelClibgovBridgeV2(id, reason), null, 2),
437
+ );
438
+ });
439
+ parent
440
+ .command("clibgov-get-bridge-v2 <id>")
441
+ .description("Get bridge")
442
+ .action(async (id) => {
443
+ console.log(JSON.stringify((await L()).getClibgovBridgeV2(id), null, 2));
444
+ });
445
+ parent
446
+ .command("clibgov-list-bridges-v2")
447
+ .description("List bridges")
448
+ .action(async () => {
449
+ console.log(JSON.stringify((await L()).listClibgovBridgesV2(), null, 2));
450
+ });
451
+ parent
452
+ .command("clibgov-auto-degrade-idle-v2")
453
+ .description("Auto-degrade idle")
454
+ .action(async () => {
455
+ console.log(
456
+ JSON.stringify((await L()).autoDegradeIdleClibgovProfilesV2(), null, 2),
457
+ );
458
+ });
459
+ parent
460
+ .command("clibgov-auto-fail-stuck-v2")
461
+ .description("Auto-fail stuck bridges")
462
+ .action(async () => {
463
+ console.log(
464
+ JSON.stringify((await L()).autoFailStuckClibgovBridgesV2(), null, 2),
465
+ );
466
+ });
467
+ parent
468
+ .command("clibgov-gov-stats-v2")
469
+ .description("V2 gov stats")
470
+ .action(async () => {
471
+ console.log(
472
+ JSON.stringify((await L()).getCliAnythingBridgeGovStatsV2(), null, 2),
473
+ );
474
+ });
475
+ }
476
+
477
+ // === Iter26 V2 governance overlay ===
478
+ export function registerCtxenggovV2Commands(program) {
479
+ const parent = program.commands.find((c) => c.name() === "cli-anything");
480
+ if (!parent) return;
481
+ const L = async () => await import("../lib/cli-context-engineering.js");
482
+ parent
483
+ .command("ctxenggov-enums-v2")
484
+ .description("Show V2 enums")
485
+ .action(async () => {
486
+ const m = await L();
487
+ console.log(
488
+ JSON.stringify(
489
+ {
490
+ profileMaturity: m.CTXENGGOV_PROFILE_MATURITY_V2,
491
+ buildLifecycle: m.CTXENGGOV_BUILD_LIFECYCLE_V2,
492
+ },
493
+ null,
494
+ 2,
495
+ ),
496
+ );
497
+ });
498
+ parent
499
+ .command("ctxenggov-config-v2")
500
+ .description("Show V2 config")
501
+ .action(async () => {
502
+ const m = await L();
503
+ console.log(
504
+ JSON.stringify(
505
+ {
506
+ maxActive: m.getMaxActiveCtxenggovProfilesPerOwnerV2(),
507
+ maxPending: m.getMaxPendingCtxenggovBuildsPerProfileV2(),
508
+ idleMs: m.getCtxenggovProfileIdleMsV2(),
509
+ stuckMs: m.getCtxenggovBuildStuckMsV2(),
510
+ },
511
+ null,
512
+ 2,
513
+ ),
514
+ );
515
+ });
516
+ parent
517
+ .command("ctxenggov-set-max-active-v2 <n>")
518
+ .description("Set max active")
519
+ .action(async (n) => {
520
+ (await L()).setMaxActiveCtxenggovProfilesPerOwnerV2(Number(n));
521
+ console.log("ok");
522
+ });
523
+ parent
524
+ .command("ctxenggov-set-max-pending-v2 <n>")
525
+ .description("Set max pending")
526
+ .action(async (n) => {
527
+ (await L()).setMaxPendingCtxenggovBuildsPerProfileV2(Number(n));
528
+ console.log("ok");
529
+ });
530
+ parent
531
+ .command("ctxenggov-set-idle-ms-v2 <n>")
532
+ .description("Set idle threshold ms")
533
+ .action(async (n) => {
534
+ (await L()).setCtxenggovProfileIdleMsV2(Number(n));
535
+ console.log("ok");
536
+ });
537
+ parent
538
+ .command("ctxenggov-set-stuck-ms-v2 <n>")
539
+ .description("Set stuck threshold ms")
540
+ .action(async (n) => {
541
+ (await L()).setCtxenggovBuildStuckMsV2(Number(n));
542
+ console.log("ok");
543
+ });
544
+ parent
545
+ .command("ctxenggov-register-v2 <id> <owner>")
546
+ .description("Register V2 profile")
547
+ .option("--scope <v>", "scope")
548
+ .action(async (id, owner, o) => {
549
+ const m = await L();
550
+ console.log(
551
+ JSON.stringify(
552
+ m.registerCtxenggovProfileV2({ id, owner, scope: o.scope }),
553
+ null,
554
+ 2,
555
+ ),
556
+ );
557
+ });
558
+ parent
559
+ .command("ctxenggov-activate-v2 <id>")
560
+ .description("Activate profile")
561
+ .action(async (id) => {
562
+ console.log(
563
+ JSON.stringify((await L()).activateCtxenggovProfileV2(id), null, 2),
564
+ );
565
+ });
566
+ parent
567
+ .command("ctxenggov-stale-v2 <id>")
568
+ .description("Stale profile")
569
+ .action(async (id) => {
570
+ console.log(
571
+ JSON.stringify((await L()).staleCtxenggovProfileV2(id), null, 2),
572
+ );
573
+ });
574
+ parent
575
+ .command("ctxenggov-archive-v2 <id>")
576
+ .description("Archive profile")
577
+ .action(async (id) => {
578
+ console.log(
579
+ JSON.stringify((await L()).archiveCtxenggovProfileV2(id), null, 2),
580
+ );
581
+ });
582
+ parent
583
+ .command("ctxenggov-touch-v2 <id>")
584
+ .description("Touch profile")
585
+ .action(async (id) => {
586
+ console.log(
587
+ JSON.stringify((await L()).touchCtxenggovProfileV2(id), null, 2),
588
+ );
589
+ });
590
+ parent
591
+ .command("ctxenggov-get-v2 <id>")
592
+ .description("Get profile")
593
+ .action(async (id) => {
594
+ console.log(
595
+ JSON.stringify((await L()).getCtxenggovProfileV2(id), null, 2),
596
+ );
597
+ });
598
+ parent
599
+ .command("ctxenggov-list-v2")
600
+ .description("List profiles")
601
+ .action(async () => {
602
+ console.log(
603
+ JSON.stringify((await L()).listCtxenggovProfilesV2(), null, 2),
604
+ );
605
+ });
606
+ parent
607
+ .command("ctxenggov-create-build-v2 <id> <profileId>")
608
+ .description("Create build")
609
+ .option("--prompt <v>", "prompt")
610
+ .action(async (id, profileId, o) => {
611
+ const m = await L();
612
+ console.log(
613
+ JSON.stringify(
614
+ m.createCtxenggovBuildV2({ id, profileId, prompt: o.prompt }),
615
+ null,
616
+ 2,
617
+ ),
618
+ );
619
+ });
620
+ parent
621
+ .command("ctxenggov-building-build-v2 <id>")
622
+ .description("Mark build as building")
623
+ .action(async (id) => {
624
+ console.log(
625
+ JSON.stringify((await L()).buildingCtxenggovBuildV2(id), null, 2),
626
+ );
627
+ });
628
+ parent
629
+ .command("ctxenggov-complete-build-v2 <id>")
630
+ .description("Complete build")
631
+ .action(async (id) => {
632
+ console.log(
633
+ JSON.stringify((await L()).completeBuildCtxenggovV2(id), null, 2),
634
+ );
635
+ });
636
+ parent
637
+ .command("ctxenggov-fail-build-v2 <id> [reason]")
638
+ .description("Fail build")
639
+ .action(async (id, reason) => {
640
+ console.log(
641
+ JSON.stringify((await L()).failCtxenggovBuildV2(id, reason), null, 2),
642
+ );
643
+ });
644
+ parent
645
+ .command("ctxenggov-cancel-build-v2 <id> [reason]")
646
+ .description("Cancel build")
647
+ .action(async (id, reason) => {
648
+ console.log(
649
+ JSON.stringify((await L()).cancelCtxenggovBuildV2(id, reason), null, 2),
650
+ );
651
+ });
652
+ parent
653
+ .command("ctxenggov-get-build-v2 <id>")
654
+ .description("Get build")
655
+ .action(async (id) => {
656
+ console.log(JSON.stringify((await L()).getCtxenggovBuildV2(id), null, 2));
657
+ });
658
+ parent
659
+ .command("ctxenggov-list-builds-v2")
660
+ .description("List builds")
661
+ .action(async () => {
662
+ console.log(JSON.stringify((await L()).listCtxenggovBuildsV2(), null, 2));
663
+ });
664
+ parent
665
+ .command("ctxenggov-auto-stale-idle-v2")
666
+ .description("Auto-stale idle")
667
+ .action(async () => {
668
+ console.log(
669
+ JSON.stringify((await L()).autoStaleIdleCtxenggovProfilesV2(), null, 2),
670
+ );
671
+ });
672
+ parent
673
+ .command("ctxenggov-auto-fail-stuck-v2")
674
+ .description("Auto-fail stuck builds")
675
+ .action(async () => {
676
+ console.log(
677
+ JSON.stringify((await L()).autoFailStuckCtxenggovBuildsV2(), null, 2),
678
+ );
679
+ });
680
+ parent
681
+ .command("ctxenggov-gov-stats-v2")
682
+ .description("V2 gov stats")
683
+ .action(async () => {
684
+ console.log(
685
+ JSON.stringify(
686
+ (await L()).getCliContextEngineeringGovStatsV2(),
687
+ null,
688
+ 2,
689
+ ),
690
+ );
691
+ });
692
+ }
@@ -525,3 +525,210 @@ export function registerCodegenCommand(program) {
525
525
 
526
526
  program.addCommand(cg);
527
527
  }
528
+
529
+ // === Iter19 V2 governance overlay ===
530
+ export function registerCdagovV2Commands(program) {
531
+ const parent = program.commands.find((c) => c.name() === "codegen");
532
+ if (!parent) return;
533
+ const L = async () => await import("../lib/code-agent.js");
534
+ parent
535
+ .command("cdagov-enums-v2")
536
+ .description("Show V2 enums")
537
+ .action(async () => {
538
+ const m = await L();
539
+ console.log(
540
+ JSON.stringify(
541
+ {
542
+ profileMaturity: m.CDAGOV_PROFILE_MATURITY_V2,
543
+ editLifecycle: m.CDAGOV_EDIT_LIFECYCLE_V2,
544
+ },
545
+ null,
546
+ 2,
547
+ ),
548
+ );
549
+ });
550
+ parent
551
+ .command("cdagov-config-v2")
552
+ .description("Show V2 config")
553
+ .action(async () => {
554
+ const m = await L();
555
+ console.log(
556
+ JSON.stringify(
557
+ {
558
+ maxActive: m.getMaxActiveCdagovProfilesPerOwnerV2(),
559
+ maxPending: m.getMaxPendingCdagovEditsPerProfileV2(),
560
+ idleMs: m.getCdagovProfileIdleMsV2(),
561
+ stuckMs: m.getCdagovEditStuckMsV2(),
562
+ },
563
+ null,
564
+ 2,
565
+ ),
566
+ );
567
+ });
568
+ parent
569
+ .command("cdagov-set-max-active-v2 <n>")
570
+ .description("Set max active")
571
+ .action(async (n) => {
572
+ (await L()).setMaxActiveCdagovProfilesPerOwnerV2(Number(n));
573
+ console.log("ok");
574
+ });
575
+ parent
576
+ .command("cdagov-set-max-pending-v2 <n>")
577
+ .description("Set max pending")
578
+ .action(async (n) => {
579
+ (await L()).setMaxPendingCdagovEditsPerProfileV2(Number(n));
580
+ console.log("ok");
581
+ });
582
+ parent
583
+ .command("cdagov-set-idle-ms-v2 <n>")
584
+ .description("Set idle threshold ms")
585
+ .action(async (n) => {
586
+ (await L()).setCdagovProfileIdleMsV2(Number(n));
587
+ console.log("ok");
588
+ });
589
+ parent
590
+ .command("cdagov-set-stuck-ms-v2 <n>")
591
+ .description("Set stuck threshold ms")
592
+ .action(async (n) => {
593
+ (await L()).setCdagovEditStuckMsV2(Number(n));
594
+ console.log("ok");
595
+ });
596
+ parent
597
+ .command("cdagov-register-v2 <id> <owner>")
598
+ .description("Register V2 profile")
599
+ .option("--language <v>", "language")
600
+ .action(async (id, owner, o) => {
601
+ const m = await L();
602
+ console.log(
603
+ JSON.stringify(
604
+ m.registerCdagovProfileV2({ id, owner, language: o.language }),
605
+ null,
606
+ 2,
607
+ ),
608
+ );
609
+ });
610
+ parent
611
+ .command("cdagov-activate-v2 <id>")
612
+ .description("Activate profile")
613
+ .action(async (id) => {
614
+ console.log(
615
+ JSON.stringify((await L()).activateCdagovProfileV2(id), null, 2),
616
+ );
617
+ });
618
+ parent
619
+ .command("cdagov-stale-v2 <id>")
620
+ .description("Stale profile")
621
+ .action(async (id) => {
622
+ console.log(
623
+ JSON.stringify((await L()).staleCdagovProfileV2(id), null, 2),
624
+ );
625
+ });
626
+ parent
627
+ .command("cdagov-archive-v2 <id>")
628
+ .description("Archive profile")
629
+ .action(async (id) => {
630
+ console.log(
631
+ JSON.stringify((await L()).archiveCdagovProfileV2(id), null, 2),
632
+ );
633
+ });
634
+ parent
635
+ .command("cdagov-touch-v2 <id>")
636
+ .description("Touch profile")
637
+ .action(async (id) => {
638
+ console.log(
639
+ JSON.stringify((await L()).touchCdagovProfileV2(id), null, 2),
640
+ );
641
+ });
642
+ parent
643
+ .command("cdagov-get-v2 <id>")
644
+ .description("Get profile")
645
+ .action(async (id) => {
646
+ console.log(JSON.stringify((await L()).getCdagovProfileV2(id), null, 2));
647
+ });
648
+ parent
649
+ .command("cdagov-list-v2")
650
+ .description("List profiles")
651
+ .action(async () => {
652
+ console.log(JSON.stringify((await L()).listCdagovProfilesV2(), null, 2));
653
+ });
654
+ parent
655
+ .command("cdagov-create-edit-v2 <id> <profileId>")
656
+ .description("Create edit")
657
+ .option("--target <v>", "target")
658
+ .action(async (id, profileId, o) => {
659
+ const m = await L();
660
+ console.log(
661
+ JSON.stringify(
662
+ m.createCdagovEditV2({ id, profileId, target: o.target }),
663
+ null,
664
+ 2,
665
+ ),
666
+ );
667
+ });
668
+ parent
669
+ .command("cdagov-editing-edit-v2 <id>")
670
+ .description("Mark edit as editing")
671
+ .action(async (id) => {
672
+ console.log(JSON.stringify((await L()).editingCdagovEditV2(id), null, 2));
673
+ });
674
+ parent
675
+ .command("cdagov-complete-edit-v2 <id>")
676
+ .description("Complete edit")
677
+ .action(async (id) => {
678
+ console.log(
679
+ JSON.stringify((await L()).completeEditCdagovV2(id), null, 2),
680
+ );
681
+ });
682
+ parent
683
+ .command("cdagov-fail-edit-v2 <id> [reason]")
684
+ .description("Fail edit")
685
+ .action(async (id, reason) => {
686
+ console.log(
687
+ JSON.stringify((await L()).failCdagovEditV2(id, reason), null, 2),
688
+ );
689
+ });
690
+ parent
691
+ .command("cdagov-cancel-edit-v2 <id> [reason]")
692
+ .description("Cancel edit")
693
+ .action(async (id, reason) => {
694
+ console.log(
695
+ JSON.stringify((await L()).cancelCdagovEditV2(id, reason), null, 2),
696
+ );
697
+ });
698
+ parent
699
+ .command("cdagov-get-edit-v2 <id>")
700
+ .description("Get edit")
701
+ .action(async (id) => {
702
+ console.log(JSON.stringify((await L()).getCdagovEditV2(id), null, 2));
703
+ });
704
+ parent
705
+ .command("cdagov-list-edits-v2")
706
+ .description("List edits")
707
+ .action(async () => {
708
+ console.log(JSON.stringify((await L()).listCdagovEditsV2(), null, 2));
709
+ });
710
+ parent
711
+ .command("cdagov-auto-stale-idle-v2")
712
+ .description("Auto-stale idle")
713
+ .action(async () => {
714
+ console.log(
715
+ JSON.stringify((await L()).autoStaleIdleCdagovProfilesV2(), null, 2),
716
+ );
717
+ });
718
+ parent
719
+ .command("cdagov-auto-fail-stuck-v2")
720
+ .description("Auto-fail stuck edits")
721
+ .action(async () => {
722
+ console.log(
723
+ JSON.stringify((await L()).autoFailStuckCdagovEditsV2(), null, 2),
724
+ );
725
+ });
726
+ parent
727
+ .command("cdagov-gov-stats-v2")
728
+ .description("V2 gov stats")
729
+ .action(async () => {
730
+ console.log(
731
+ JSON.stringify((await L()).getCodeAgentGovStatsV2(), null, 2),
732
+ );
733
+ });
734
+ }