chainlesschain 0.143.0 → 0.152.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/package.json +1 -1
  2. package/src/commands/a2a.js +196 -28
  3. package/src/commands/activitypub.js +364 -27
  4. package/src/commands/agent-network.js +217 -0
  5. package/src/commands/agent.js +587 -103
  6. package/src/commands/audit.js +206 -0
  7. package/src/commands/automation.js +201 -0
  8. package/src/commands/bi.js +355 -27
  9. package/src/commands/bm25.js +111 -27
  10. package/src/commands/browse.js +403 -29
  11. package/src/commands/ccron.js +128 -28
  12. package/src/commands/chat.js +207 -0
  13. package/src/commands/codegen.js +207 -0
  14. package/src/commands/collab.js +211 -0
  15. package/src/commands/compliance.js +824 -34
  16. package/src/commands/compt.js +127 -29
  17. package/src/commands/consol.js +8 -2
  18. package/src/commands/cowork.js +783 -34
  19. package/src/commands/crosschain.js +182 -28
  20. package/src/commands/dao.js +182 -28
  21. package/src/commands/dbevo.js +227 -0
  22. package/src/commands/dev.js +207 -0
  23. package/src/commands/did-v2.js +217 -0
  24. package/src/commands/did.js +221 -0
  25. package/src/commands/dlp.js +385 -27
  26. package/src/commands/economy.js +205 -50
  27. package/src/commands/evolution.js +203 -50
  28. package/src/commands/evomap.js +387 -27
  29. package/src/commands/export.js +213 -0
  30. package/src/commands/federation.js +209 -0
  31. package/src/commands/fflag.js +74 -22
  32. package/src/commands/fusion.js +205 -0
  33. package/src/commands/git.js +177 -37
  34. package/src/commands/governance.js +209 -0
  35. package/src/commands/hardening.js +209 -0
  36. package/src/commands/hmemory.js +204 -50
  37. package/src/commands/hook.js +209 -0
  38. package/src/commands/import.js +209 -0
  39. package/src/commands/incentive.js +209 -0
  40. package/src/commands/inference.js +170 -34
  41. package/src/commands/infra.js +203 -0
  42. package/src/commands/instinct.js +209 -0
  43. package/src/commands/ipfs.js +207 -0
  44. package/src/commands/itbudget.js +149 -33
  45. package/src/commands/kg.js +206 -0
  46. package/src/commands/llm.js +217 -0
  47. package/src/commands/lowcode.js +195 -38
  48. package/src/commands/marketplace.js +206 -0
  49. package/src/commands/matrix.js +386 -27
  50. package/src/commands/mcp.js +217 -0
  51. package/src/commands/mcpscaf.js +145 -33
  52. package/src/commands/meminj.js +145 -33
  53. package/src/commands/memory.js +209 -0
  54. package/src/commands/multimodal.js +203 -0
  55. package/src/commands/nlprog.js +225 -0
  56. package/src/commands/nostr.js +387 -27
  57. package/src/commands/note.js +205 -0
  58. package/src/commands/ops.js +219 -0
  59. package/src/commands/orchestrate.js +217 -0
  60. package/src/commands/orchgov.js +144 -33
  61. package/src/commands/org.js +209 -0
  62. package/src/commands/p2p.js +209 -0
  63. package/src/commands/pdfp.js +109 -27
  64. package/src/commands/perception.js +209 -0
  65. package/src/commands/perf.js +169 -32
  66. package/src/commands/perm.js +144 -33
  67. package/src/commands/permmem.js +203 -0
  68. package/src/commands/pipeline.js +207 -52
  69. package/src/commands/planmode.js +141 -32
  70. package/src/commands/plugin-ecosystem.js +209 -0
  71. package/src/commands/pqc.js +213 -0
  72. package/src/commands/privacy.js +203 -0
  73. package/src/commands/promcomp.js +111 -27
  74. package/src/commands/quantization.js +207 -0
  75. package/src/commands/rcache.js +205 -0
  76. package/src/commands/recommend.js +410 -34
  77. package/src/commands/reputation.js +208 -0
  78. package/src/commands/runtime.js +205 -0
  79. package/src/commands/sandbox.js +206 -0
  80. package/src/commands/scim.js +209 -0
  81. package/src/commands/seshhook.js +145 -33
  82. package/src/commands/seshsearch.js +141 -33
  83. package/src/commands/seshtail.js +144 -33
  84. package/src/commands/seshu.js +152 -33
  85. package/src/commands/session.js +209 -0
  86. package/src/commands/sganal.js +123 -29
  87. package/src/commands/siem.js +201 -34
  88. package/src/commands/skill.js +207 -0
  89. package/src/commands/sla.js +212 -0
  90. package/src/commands/slotfill.js +146 -33
  91. package/src/commands/social.js +358 -32
  92. package/src/commands/sso.js +209 -0
  93. package/src/commands/stress.js +206 -0
  94. package/src/commands/svccont.js +145 -33
  95. package/src/commands/sync.js +209 -0
  96. package/src/commands/tech.js +209 -0
  97. package/src/commands/tenant.js +217 -0
  98. package/src/commands/terraform.js +206 -0
  99. package/src/commands/tms.js +171 -33
  100. package/src/commands/tokens.js +209 -0
  101. package/src/commands/topiccls.js +146 -33
  102. package/src/commands/trust.js +217 -0
  103. package/src/commands/uprof.js +141 -32
  104. package/src/commands/vcheck.js +122 -28
  105. package/src/commands/wallet.js +209 -0
  106. package/src/commands/webfetch.js +141 -32
  107. package/src/commands/workflow.js +203 -0
  108. package/src/commands/zkp.js +184 -28
  109. package/src/index.js +180 -0
  110. package/src/lib/a2a-protocol.js +319 -51
  111. package/src/lib/activitypub-bridge.js +622 -50
  112. package/src/lib/agent-economy.js +304 -51
  113. package/src/lib/agent-network.js +341 -0
  114. package/src/lib/aiops.js +346 -0
  115. package/src/lib/app-builder.js +279 -46
  116. package/src/lib/audit-logger.js +321 -0
  117. package/src/lib/automation-engine.js +335 -0
  118. package/src/lib/autonomous-agent.js +284 -48
  119. package/src/lib/autonomous-developer.js +332 -0
  120. package/src/lib/bi-engine.js +616 -49
  121. package/src/lib/bm25-search.js +301 -49
  122. package/src/lib/browser-automation.js +630 -49
  123. package/src/lib/chat-core.js +336 -0
  124. package/src/lib/claude-code-bridge.js +341 -0
  125. package/src/lib/code-agent.js +339 -0
  126. package/src/lib/collaboration-governance.js +334 -0
  127. package/src/lib/community-governance.js +346 -0
  128. package/src/lib/compliance-framework-reporter.js +305 -51
  129. package/src/lib/compliance-manager.js +330 -0
  130. package/src/lib/compression-telemetry.js +301 -49
  131. package/src/lib/content-recommendation.js +351 -0
  132. package/src/lib/content-recommender.js +317 -52
  133. package/src/lib/cowork-cron.js +298 -49
  134. package/src/lib/cowork-learning.js +333 -0
  135. package/src/lib/cowork-share.js +338 -0
  136. package/src/lib/cowork-task-runner.js +308 -51
  137. package/src/lib/cowork-workflow.js +327 -0
  138. package/src/lib/cross-chain.js +311 -51
  139. package/src/lib/dao-governance.js +280 -46
  140. package/src/lib/dbevo.js +351 -0
  141. package/src/lib/decentral-infra.js +330 -0
  142. package/src/lib/did-manager.js +341 -0
  143. package/src/lib/did-v2-manager.js +341 -0
  144. package/src/lib/dlp-engine.js +626 -49
  145. package/src/lib/evolution-system.js +278 -47
  146. package/src/lib/evomap-governance.js +334 -0
  147. package/src/lib/evomap-manager.js +280 -46
  148. package/src/lib/execution-backend.js +294 -48
  149. package/src/lib/feature-flags.js +294 -49
  150. package/src/lib/federation-hardening.js +340 -0
  151. package/src/lib/git-integration.js +285 -47
  152. package/src/lib/hardening-manager.js +341 -0
  153. package/src/lib/hierarchical-memory.js +284 -48
  154. package/src/lib/hook-manager.js +341 -0
  155. package/src/lib/inference-network.js +308 -51
  156. package/src/lib/instinct-manager.js +346 -0
  157. package/src/lib/ipfs-storage.js +334 -0
  158. package/src/lib/iteration-budget.js +302 -50
  159. package/src/lib/knowledge-exporter.js +341 -0
  160. package/src/lib/knowledge-graph.js +333 -0
  161. package/src/lib/knowledge-importer.js +341 -0
  162. package/src/lib/llm-providers.js +346 -0
  163. package/src/lib/matrix-bridge.js +620 -47
  164. package/src/lib/mcp-registry.js +346 -0
  165. package/src/lib/mcp-scaffold.js +318 -54
  166. package/src/lib/memory-injection.js +288 -49
  167. package/src/lib/memory-manager.js +336 -0
  168. package/src/lib/multimodal.js +330 -0
  169. package/src/lib/nl-programming.js +341 -0
  170. package/src/lib/nostr-bridge.js +622 -49
  171. package/src/lib/note-versioning.js +339 -0
  172. package/src/lib/orchestrator.js +293 -48
  173. package/src/lib/org-manager.js +336 -0
  174. package/src/lib/p2p-manager.js +341 -0
  175. package/src/lib/pdf-parser.js +298 -49
  176. package/src/lib/perception.js +346 -0
  177. package/src/lib/perf-tuning.js +309 -50
  178. package/src/lib/permanent-memory.js +327 -0
  179. package/src/lib/permission-engine.js +287 -49
  180. package/src/lib/pipeline-orchestrator.js +289 -49
  181. package/src/lib/plan-mode.js +298 -51
  182. package/src/lib/plugin-ecosystem.js +346 -0
  183. package/src/lib/pqc-manager.js +346 -0
  184. package/src/lib/privacy-computing.js +335 -0
  185. package/src/lib/protocol-fusion.js +338 -0
  186. package/src/lib/quantization.js +337 -0
  187. package/src/lib/reputation-optimizer.js +340 -0
  188. package/src/lib/response-cache.js +333 -0
  189. package/src/lib/sandbox-v2.js +327 -0
  190. package/src/lib/scim-manager.js +346 -0
  191. package/src/lib/service-container.js +313 -52
  192. package/src/lib/session-consolidator.js +296 -49
  193. package/src/lib/session-hooks.js +312 -53
  194. package/src/lib/session-manager.js +334 -0
  195. package/src/lib/session-search.js +304 -51
  196. package/src/lib/session-tail.js +288 -49
  197. package/src/lib/session-usage.js +298 -52
  198. package/src/lib/siem-exporter.js +298 -51
  199. package/src/lib/skill-loader.js +334 -0
  200. package/src/lib/skill-marketplace.js +345 -0
  201. package/src/lib/sla-manager.js +341 -0
  202. package/src/lib/slot-filler.js +303 -51
  203. package/src/lib/social-graph-analytics.js +295 -49
  204. package/src/lib/social-graph.js +272 -49
  205. package/src/lib/social-manager.js +330 -0
  206. package/src/lib/sso-manager.js +340 -0
  207. package/src/lib/stress-tester.js +342 -0
  208. package/src/lib/sub-agent-registry.js +302 -53
  209. package/src/lib/sync-manager.js +336 -0
  210. package/src/lib/task-model-selector.js +302 -50
  211. package/src/lib/tech-learning-engine.js +341 -0
  212. package/src/lib/tenant-saas.js +341 -0
  213. package/src/lib/terraform-manager.js +333 -0
  214. package/src/lib/threat-intel.js +330 -0
  215. package/src/lib/todo-manager.js +281 -47
  216. package/src/lib/token-incentive.js +341 -0
  217. package/src/lib/token-tracker.js +336 -0
  218. package/src/lib/topic-classifier.js +297 -49
  219. package/src/lib/trust-security.js +343 -0
  220. package/src/lib/ueba.js +340 -0
  221. package/src/lib/universal-runtime.js +330 -0
  222. package/src/lib/user-profile.js +294 -50
  223. package/src/lib/version-checker.js +304 -50
  224. package/src/lib/wallet-manager.js +336 -0
  225. package/src/lib/web-fetch.js +292 -51
  226. package/src/lib/workflow-engine.js +330 -0
  227. package/src/lib/zkp-engine.js +286 -49
@@ -38,3 +38,210 @@ export function registerChatCommand(program) {
38
38
  }
39
39
  });
40
40
  }
41
+
42
+ // === Iter17 V2 governance overlay ===
43
+ export function registerChatgovV2Commands(program) {
44
+ const parent = program.commands.find((c) => c.name() === "chat");
45
+ if (!parent) return;
46
+ const L = async () => await import("../lib/chat-core.js");
47
+ parent
48
+ .command("chatgov-enums-v2")
49
+ .description("Show V2 enums")
50
+ .action(async () => {
51
+ const m = await L();
52
+ console.log(
53
+ JSON.stringify(
54
+ {
55
+ profileMaturity: m.CHATGOV_PROFILE_MATURITY_V2,
56
+ messageLifecycle: m.CHATGOV_MESSAGE_LIFECYCLE_V2,
57
+ },
58
+ null,
59
+ 2,
60
+ ),
61
+ );
62
+ });
63
+ parent
64
+ .command("chatgov-config-v2")
65
+ .description("Show V2 config")
66
+ .action(async () => {
67
+ const m = await L();
68
+ console.log(
69
+ JSON.stringify(
70
+ {
71
+ maxActive: m.getMaxActiveChatgovProfilesPerOwnerV2(),
72
+ maxPending: m.getMaxPendingChatgovMessagesPerProfileV2(),
73
+ idleMs: m.getChatgovProfileIdleMsV2(),
74
+ stuckMs: m.getChatgovMessageStuckMsV2(),
75
+ },
76
+ null,
77
+ 2,
78
+ ),
79
+ );
80
+ });
81
+ parent
82
+ .command("chatgov-set-max-active-v2 <n>")
83
+ .description("Set max active")
84
+ .action(async (n) => {
85
+ (await L()).setMaxActiveChatgovProfilesPerOwnerV2(Number(n));
86
+ console.log("ok");
87
+ });
88
+ parent
89
+ .command("chatgov-set-max-pending-v2 <n>")
90
+ .description("Set max pending")
91
+ .action(async (n) => {
92
+ (await L()).setMaxPendingChatgovMessagesPerProfileV2(Number(n));
93
+ console.log("ok");
94
+ });
95
+ parent
96
+ .command("chatgov-set-idle-ms-v2 <n>")
97
+ .description("Set idle threshold ms")
98
+ .action(async (n) => {
99
+ (await L()).setChatgovProfileIdleMsV2(Number(n));
100
+ console.log("ok");
101
+ });
102
+ parent
103
+ .command("chatgov-set-stuck-ms-v2 <n>")
104
+ .description("Set stuck threshold ms")
105
+ .action(async (n) => {
106
+ (await L()).setChatgovMessageStuckMsV2(Number(n));
107
+ console.log("ok");
108
+ });
109
+ parent
110
+ .command("chatgov-register-v2 <id> <owner>")
111
+ .description("Register V2 profile")
112
+ .option("--mode <v>", "mode")
113
+ .action(async (id, owner, o) => {
114
+ const m = await L();
115
+ console.log(
116
+ JSON.stringify(
117
+ m.registerChatgovProfileV2({ id, owner, mode: o.mode }),
118
+ null,
119
+ 2,
120
+ ),
121
+ );
122
+ });
123
+ parent
124
+ .command("chatgov-activate-v2 <id>")
125
+ .description("Activate profile")
126
+ .action(async (id) => {
127
+ console.log(
128
+ JSON.stringify((await L()).activateChatgovProfileV2(id), null, 2),
129
+ );
130
+ });
131
+ parent
132
+ .command("chatgov-stale-v2 <id>")
133
+ .description("Stale profile")
134
+ .action(async (id) => {
135
+ console.log(
136
+ JSON.stringify((await L()).staleChatgovProfileV2(id), null, 2),
137
+ );
138
+ });
139
+ parent
140
+ .command("chatgov-archive-v2 <id>")
141
+ .description("Archive profile")
142
+ .action(async (id) => {
143
+ console.log(
144
+ JSON.stringify((await L()).archiveChatgovProfileV2(id), null, 2),
145
+ );
146
+ });
147
+ parent
148
+ .command("chatgov-touch-v2 <id>")
149
+ .description("Touch profile")
150
+ .action(async (id) => {
151
+ console.log(
152
+ JSON.stringify((await L()).touchChatgovProfileV2(id), null, 2),
153
+ );
154
+ });
155
+ parent
156
+ .command("chatgov-get-v2 <id>")
157
+ .description("Get profile")
158
+ .action(async (id) => {
159
+ console.log(JSON.stringify((await L()).getChatgovProfileV2(id), null, 2));
160
+ });
161
+ parent
162
+ .command("chatgov-list-v2")
163
+ .description("List profiles")
164
+ .action(async () => {
165
+ console.log(JSON.stringify((await L()).listChatgovProfilesV2(), null, 2));
166
+ });
167
+ parent
168
+ .command("chatgov-create-message-v2 <id> <profileId>")
169
+ .description("Create message")
170
+ .option("--role <v>", "role")
171
+ .action(async (id, profileId, o) => {
172
+ const m = await L();
173
+ console.log(
174
+ JSON.stringify(
175
+ m.createChatgovMessageV2({ id, profileId, role: o.role }),
176
+ null,
177
+ 2,
178
+ ),
179
+ );
180
+ });
181
+ parent
182
+ .command("chatgov-sending-message-v2 <id>")
183
+ .description("Mark message as sending")
184
+ .action(async (id) => {
185
+ console.log(
186
+ JSON.stringify((await L()).sendingChatgovMessageV2(id), null, 2),
187
+ );
188
+ });
189
+ parent
190
+ .command("chatgov-complete-message-v2 <id>")
191
+ .description("Complete message")
192
+ .action(async (id) => {
193
+ console.log(
194
+ JSON.stringify((await L()).completeMessageChatgovV2(id), null, 2),
195
+ );
196
+ });
197
+ parent
198
+ .command("chatgov-fail-message-v2 <id> [reason]")
199
+ .description("Fail message")
200
+ .action(async (id, reason) => {
201
+ console.log(
202
+ JSON.stringify((await L()).failChatgovMessageV2(id, reason), null, 2),
203
+ );
204
+ });
205
+ parent
206
+ .command("chatgov-cancel-message-v2 <id> [reason]")
207
+ .description("Cancel message")
208
+ .action(async (id, reason) => {
209
+ console.log(
210
+ JSON.stringify((await L()).cancelChatgovMessageV2(id, reason), null, 2),
211
+ );
212
+ });
213
+ parent
214
+ .command("chatgov-get-message-v2 <id>")
215
+ .description("Get message")
216
+ .action(async (id) => {
217
+ console.log(JSON.stringify((await L()).getChatgovMessageV2(id), null, 2));
218
+ });
219
+ parent
220
+ .command("chatgov-list-messages-v2")
221
+ .description("List messages")
222
+ .action(async () => {
223
+ console.log(JSON.stringify((await L()).listChatgovMessagesV2(), null, 2));
224
+ });
225
+ parent
226
+ .command("chatgov-auto-stale-idle-v2")
227
+ .description("Auto-stale idle")
228
+ .action(async () => {
229
+ console.log(
230
+ JSON.stringify((await L()).autoStaleIdleChatgovProfilesV2(), null, 2),
231
+ );
232
+ });
233
+ parent
234
+ .command("chatgov-auto-fail-stuck-v2")
235
+ .description("Auto-fail stuck messages")
236
+ .action(async () => {
237
+ console.log(
238
+ JSON.stringify((await L()).autoFailStuckChatgovMessagesV2(), null, 2),
239
+ );
240
+ });
241
+ parent
242
+ .command("chatgov-gov-stats-v2")
243
+ .description("V2 gov stats")
244
+ .action(async () => {
245
+ console.log(JSON.stringify((await L()).getChatCoreGovStatsV2(), null, 2));
246
+ });
247
+ }
@@ -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
+ }
@@ -821,3 +821,214 @@ export function registerCollabCommand(program) {
821
821
  console.log(JSON.stringify(autoWithdrawStuckProposalsV2(), null, 2));
822
822
  });
823
823
  }
824
+
825
+ // === Iter19 V2 governance overlay ===
826
+ export function registerCogovV2Commands(program) {
827
+ const parent = program.commands.find((c) => c.name() === "collab");
828
+ if (!parent) return;
829
+ const L = async () => await import("../lib/collaboration-governance.js");
830
+ parent
831
+ .command("cogov-enums-v2")
832
+ .description("Show V2 enums")
833
+ .action(async () => {
834
+ const m = await L();
835
+ console.log(
836
+ JSON.stringify(
837
+ {
838
+ profileMaturity: m.COGOV_PROFILE_MATURITY_V2,
839
+ decisionLifecycle: m.COGOV_DECISION_LIFECYCLE_V2,
840
+ },
841
+ null,
842
+ 2,
843
+ ),
844
+ );
845
+ });
846
+ parent
847
+ .command("cogov-config-v2")
848
+ .description("Show V2 config")
849
+ .action(async () => {
850
+ const m = await L();
851
+ console.log(
852
+ JSON.stringify(
853
+ {
854
+ maxActive: m.getMaxActiveCogovProfilesPerOwnerV2(),
855
+ maxPending: m.getMaxPendingCogovDecisionsPerProfileV2(),
856
+ idleMs: m.getCogovProfileIdleMsV2(),
857
+ stuckMs: m.getCogovDecisionStuckMsV2(),
858
+ },
859
+ null,
860
+ 2,
861
+ ),
862
+ );
863
+ });
864
+ parent
865
+ .command("cogov-set-max-active-v2 <n>")
866
+ .description("Set max active")
867
+ .action(async (n) => {
868
+ (await L()).setMaxActiveCogovProfilesPerOwnerV2(Number(n));
869
+ console.log("ok");
870
+ });
871
+ parent
872
+ .command("cogov-set-max-pending-v2 <n>")
873
+ .description("Set max pending")
874
+ .action(async (n) => {
875
+ (await L()).setMaxPendingCogovDecisionsPerProfileV2(Number(n));
876
+ console.log("ok");
877
+ });
878
+ parent
879
+ .command("cogov-set-idle-ms-v2 <n>")
880
+ .description("Set idle threshold ms")
881
+ .action(async (n) => {
882
+ (await L()).setCogovProfileIdleMsV2(Number(n));
883
+ console.log("ok");
884
+ });
885
+ parent
886
+ .command("cogov-set-stuck-ms-v2 <n>")
887
+ .description("Set stuck threshold ms")
888
+ .action(async (n) => {
889
+ (await L()).setCogovDecisionStuckMsV2(Number(n));
890
+ console.log("ok");
891
+ });
892
+ parent
893
+ .command("cogov-register-v2 <id> <owner>")
894
+ .description("Register V2 profile")
895
+ .option("--scope <v>", "scope")
896
+ .action(async (id, owner, o) => {
897
+ const m = await L();
898
+ console.log(
899
+ JSON.stringify(
900
+ m.registerCogovProfileV2({ id, owner, scope: o.scope }),
901
+ null,
902
+ 2,
903
+ ),
904
+ );
905
+ });
906
+ parent
907
+ .command("cogov-activate-v2 <id>")
908
+ .description("Activate profile")
909
+ .action(async (id) => {
910
+ console.log(
911
+ JSON.stringify((await L()).activateCogovProfileV2(id), null, 2),
912
+ );
913
+ });
914
+ parent
915
+ .command("cogov-suspend-v2 <id>")
916
+ .description("Suspend profile")
917
+ .action(async (id) => {
918
+ console.log(
919
+ JSON.stringify((await L()).suspendCogovProfileV2(id), null, 2),
920
+ );
921
+ });
922
+ parent
923
+ .command("cogov-archive-v2 <id>")
924
+ .description("Archive profile")
925
+ .action(async (id) => {
926
+ console.log(
927
+ JSON.stringify((await L()).archiveCogovProfileV2(id), null, 2),
928
+ );
929
+ });
930
+ parent
931
+ .command("cogov-touch-v2 <id>")
932
+ .description("Touch profile")
933
+ .action(async (id) => {
934
+ console.log(JSON.stringify((await L()).touchCogovProfileV2(id), null, 2));
935
+ });
936
+ parent
937
+ .command("cogov-get-v2 <id>")
938
+ .description("Get profile")
939
+ .action(async (id) => {
940
+ console.log(JSON.stringify((await L()).getCogovProfileV2(id), null, 2));
941
+ });
942
+ parent
943
+ .command("cogov-list-v2")
944
+ .description("List profiles")
945
+ .action(async () => {
946
+ console.log(JSON.stringify((await L()).listCogovProfilesV2(), null, 2));
947
+ });
948
+ parent
949
+ .command("cogov-create-decision-v2 <id> <profileId>")
950
+ .description("Create decision")
951
+ .option("--topic <v>", "topic")
952
+ .action(async (id, profileId, o) => {
953
+ const m = await L();
954
+ console.log(
955
+ JSON.stringify(
956
+ m.createCogovDecisionV2({ id, profileId, topic: o.topic }),
957
+ null,
958
+ 2,
959
+ ),
960
+ );
961
+ });
962
+ parent
963
+ .command("cogov-deliberating-decision-v2 <id>")
964
+ .description("Mark decision as deliberating")
965
+ .action(async (id) => {
966
+ console.log(
967
+ JSON.stringify((await L()).deliberatingCogovDecisionV2(id), null, 2),
968
+ );
969
+ });
970
+ parent
971
+ .command("cogov-complete-decision-v2 <id>")
972
+ .description("Complete decision")
973
+ .action(async (id) => {
974
+ console.log(
975
+ JSON.stringify((await L()).completeDecisionCogovV2(id), null, 2),
976
+ );
977
+ });
978
+ parent
979
+ .command("cogov-fail-decision-v2 <id> [reason]")
980
+ .description("Fail decision")
981
+ .action(async (id, reason) => {
982
+ console.log(
983
+ JSON.stringify((await L()).failCogovDecisionV2(id, reason), null, 2),
984
+ );
985
+ });
986
+ parent
987
+ .command("cogov-cancel-decision-v2 <id> [reason]")
988
+ .description("Cancel decision")
989
+ .action(async (id, reason) => {
990
+ console.log(
991
+ JSON.stringify((await L()).cancelCogovDecisionV2(id, reason), null, 2),
992
+ );
993
+ });
994
+ parent
995
+ .command("cogov-get-decision-v2 <id>")
996
+ .description("Get decision")
997
+ .action(async (id) => {
998
+ console.log(JSON.stringify((await L()).getCogovDecisionV2(id), null, 2));
999
+ });
1000
+ parent
1001
+ .command("cogov-list-decisions-v2")
1002
+ .description("List decisions")
1003
+ .action(async () => {
1004
+ console.log(JSON.stringify((await L()).listCogovDecisionsV2(), null, 2));
1005
+ });
1006
+ parent
1007
+ .command("cogov-auto-suspend-idle-v2")
1008
+ .description("Auto-suspend idle")
1009
+ .action(async () => {
1010
+ console.log(
1011
+ JSON.stringify((await L()).autoSuspendIdleCogovProfilesV2(), null, 2),
1012
+ );
1013
+ });
1014
+ parent
1015
+ .command("cogov-auto-fail-stuck-v2")
1016
+ .description("Auto-fail stuck decisions")
1017
+ .action(async () => {
1018
+ console.log(
1019
+ JSON.stringify((await L()).autoFailStuckCogovDecisionsV2(), null, 2),
1020
+ );
1021
+ });
1022
+ parent
1023
+ .command("cogov-gov-stats-v2")
1024
+ .description("V2 gov stats")
1025
+ .action(async () => {
1026
+ console.log(
1027
+ JSON.stringify(
1028
+ (await L()).getCollaborationGovernanceGovStatsV2(),
1029
+ null,
1030
+ 2,
1031
+ ),
1032
+ );
1033
+ });
1034
+ }