@monoes/monomindcli 2.9.21 → 2.9.23

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 (505) hide show
  1. package/.claude/agents/consensus/quorum-manager.md +35 -54
  2. package/.claude/agents/core/coordinator.md +14 -18
  3. package/.claude/agents/core/researcher.md +1 -1
  4. package/.claude/agents/github/issue-tracker.md +3 -3
  5. package/.claude/agents/github/{code-review-swarm.md → monoswarm-code-review.md} +1 -1
  6. package/.claude/agents/github/{swarm-issue.md → monoswarm-issue.md} +1 -1
  7. package/.claude/agents/github/{multi-repo-swarm.md → monoswarm-multi-repo.md} +1 -1
  8. package/.claude/agents/github/{swarm-pr.md → monoswarm-pr.md} +1 -1
  9. package/.claude/agents/github/pr-manager.md +1 -1
  10. package/.claude/agents/github/release-manager.md +1 -1
  11. package/.claude/agents/github/repo-architect.md +1 -1
  12. package/.claude/agents/github/sync-coordinator.md +4 -4
  13. package/.claude/agents/{hive-mind → monoswarm}/collective-intelligence-coordinator.md +9 -16
  14. package/.claude/agents/{swarm → monoswarm}/mesh-coordinator.md +19 -24
  15. package/.claude/agents/{hive-mind/swarm-memory-manager.md → monoswarm/monoswarm-memory-manager.md} +1 -1
  16. package/.claude/agents/templates/{coordinator-swarm-init.md → coordinator-monoswarm-init.md} +1 -1
  17. package/.claude/agents/testing/{tdd-london-swarm.md → tdd-london-monoswarm.md} +2 -2
  18. package/.claude/commands/agents/agent-coordination.md +3 -3
  19. package/.claude/commands/agents/agent-types.md +1 -1
  20. package/.claude/commands/automation/self-healing.md +1 -1
  21. package/.claude/commands/automation/smart-spawn.md +1 -1
  22. package/.claude/commands/coordination/README.md +1 -1
  23. package/.claude/commands/coordination/{swarm-init.md → monoswarm-init.md} +2 -2
  24. package/.claude/commands/coordination/task-orchestrate.md +4 -4
  25. package/.claude/commands/github/README.md +1 -1
  26. package/.claude/commands/github/issue-tracker.md +2 -2
  27. package/.claude/commands/github/pr-manager.md +1 -1
  28. package/.claude/commands/github/release-manager.md +1 -1
  29. package/.claude/commands/github/repo-architect.md +1 -1
  30. package/.claude/commands/github/sync-coordinator.md +2 -2
  31. package/.claude/commands/hooks/README.md +1 -2
  32. package/.claude/commands/hooks/overview.md +1 -2
  33. package/.claude/commands/hooks/setup.md +0 -3
  34. package/.claude/commands/mastermind/createtask.md +2 -2
  35. package/.claude/commands/mastermind/do.md +3 -3
  36. package/.claude/commands/mastermind/help.md +2 -2
  37. package/.claude/commands/mastermind/ideate.md +1 -1
  38. package/.claude/commands/mastermind/improve.md +1 -1
  39. package/.claude/commands/mastermind/memory.md +2 -2
  40. package/.claude/commands/mastermind/{swarm.md → monoswarm.md} +13 -26
  41. package/.claude/commands/mastermind/topology.md +1 -1
  42. package/.claude/commands/memory/README.md +2 -2
  43. package/.claude/commands/memory/memory-search.md +1 -1
  44. package/.claude/commands/monoswarm/README.md +59 -0
  45. package/.claude/commands/monoswarm/consensus.md +61 -0
  46. package/.claude/commands/monoswarm/init.md +68 -0
  47. package/.claude/commands/monoswarm/memory.md +55 -0
  48. package/.claude/commands/monoswarm/monoswarm.md +139 -0
  49. package/.claude/commands/{swarm → monoswarm}/research.md +2 -2
  50. package/.claude/commands/monoswarm/spawn.md +49 -0
  51. package/.claude/commands/monoswarm/status.md +48 -0
  52. package/.claude/commands/monoswarm/stop.md +46 -0
  53. package/.claude/commands/optimization/auto-topology.md +9 -9
  54. package/.claude/commands/stream-chain/run.md +1 -1
  55. package/.claude/commands/workflows/development.md +1 -1
  56. package/.claude/commands/workflows/research.md +2 -2
  57. package/.claude/helpers/audit-log-writer.cjs +72 -0
  58. package/.claude/helpers/control-start.cjs +84 -26
  59. package/.claude/helpers/handlers/agent-start-handler.cjs +5 -5
  60. package/.claude/helpers/handlers/gates-handler.cjs +31 -10
  61. package/.claude/helpers/handlers/session-restore-handler.cjs +1 -1
  62. package/.claude/helpers/handlers/task-handler.cjs +4 -4
  63. package/.claude/helpers/skill-registry.json +4718 -3669
  64. package/.claude/helpers/statusline.cjs +21 -21
  65. package/.claude/helpers/token-tracker.cjs +0 -6
  66. package/.claude/settings.json +2 -3
  67. package/.claude/skills/hooks-automation/SKILL.md +5 -5
  68. package/.claude/skills/mastermind-createorg/SKILL.md +26 -3
  69. package/.claude/skills/mastermind-protocol/SKILL.md +3 -3
  70. package/.claude/skills/memory-toolkit/SKILL.md +2 -2
  71. package/.claude/skills/{swarm-orchestration → monoswarm}/SKILL.md +106 -42
  72. package/.claude/skills/specialagent/SKILL.md +1 -1
  73. package/README.md +31 -12
  74. package/dist/src/autopilot-state.d.ts +0 -16
  75. package/dist/src/autopilot-state.d.ts.map +1 -1
  76. package/dist/src/autopilot-state.js +0 -15
  77. package/dist/src/autopilot-state.js.map +1 -1
  78. package/dist/src/browser/dashboard/server.js +3 -3
  79. package/dist/src/browser/dashboard/server.js.map +1 -1
  80. package/dist/src/browser/dashboard/ui.html +2 -2
  81. package/dist/src/capabilities/cap-documents.d.ts.map +1 -1
  82. package/dist/src/capabilities/cap-documents.js +49 -38
  83. package/dist/src/capabilities/cap-documents.js.map +1 -1
  84. package/dist/src/commands/agent-lifecycle.d.ts.map +1 -1
  85. package/dist/src/commands/agent-lifecycle.js +4 -9
  86. package/dist/src/commands/agent-lifecycle.js.map +1 -1
  87. package/dist/src/commands/agent-ops.d.ts.map +1 -1
  88. package/dist/src/commands/agent-ops.js +37 -24
  89. package/dist/src/commands/agent-ops.js.map +1 -1
  90. package/dist/src/commands/analyze-ast.d.ts +1 -1
  91. package/dist/src/commands/analyze-ast.d.ts.map +1 -1
  92. package/dist/src/commands/analyze-ast.js +8 -27
  93. package/dist/src/commands/analyze-ast.js.map +1 -1
  94. package/dist/src/commands/analyze-imports.d.ts.map +1 -1
  95. package/dist/src/commands/analyze-imports.js +18 -17
  96. package/dist/src/commands/analyze-imports.js.map +1 -1
  97. package/dist/src/commands/analyze-symbols.d.ts.map +1 -1
  98. package/dist/src/commands/analyze-symbols.js +10 -24
  99. package/dist/src/commands/analyze-symbols.js.map +1 -1
  100. package/dist/src/commands/analyze.d.ts +19 -6
  101. package/dist/src/commands/analyze.d.ts.map +1 -1
  102. package/dist/src/commands/analyze.js +61 -15
  103. package/dist/src/commands/analyze.js.map +1 -1
  104. package/dist/src/commands/autopilot.d.ts.map +1 -1
  105. package/dist/src/commands/autopilot.js +4 -89
  106. package/dist/src/commands/autopilot.js.map +1 -1
  107. package/dist/src/commands/browse.d.ts +1 -1
  108. package/dist/src/commands/cleanup.d.ts.map +1 -1
  109. package/dist/src/commands/cleanup.js +4 -2
  110. package/dist/src/commands/cleanup.js.map +1 -1
  111. package/dist/src/commands/completions.d.ts.map +1 -1
  112. package/dist/src/commands/completions.js +0 -1
  113. package/dist/src/commands/completions.js.map +1 -1
  114. package/dist/src/commands/config.js +7 -7
  115. package/dist/src/commands/config.js.map +1 -1
  116. package/dist/src/commands/doctor-project-checks.d.ts +7 -0
  117. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  118. package/dist/src/commands/doctor-project-checks.js +37 -5
  119. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  120. package/dist/src/commands/doctor.d.ts.map +1 -1
  121. package/dist/src/commands/doctor.js +9 -3
  122. package/dist/src/commands/doctor.js.map +1 -1
  123. package/dist/src/commands/events.d.ts +9 -0
  124. package/dist/src/commands/events.d.ts.map +1 -0
  125. package/dist/src/commands/events.js +89 -0
  126. package/dist/src/commands/events.js.map +1 -0
  127. package/dist/src/commands/hooks-routing-commands.d.ts +1 -2
  128. package/dist/src/commands/hooks-routing-commands.d.ts.map +1 -1
  129. package/dist/src/commands/hooks-routing-commands.js +1 -101
  130. package/dist/src/commands/hooks-routing-commands.js.map +1 -1
  131. package/dist/src/commands/hooks-workers.d.ts.map +1 -1
  132. package/dist/src/commands/hooks-workers.js +19 -71
  133. package/dist/src/commands/hooks-workers.js.map +1 -1
  134. package/dist/src/commands/hooks.d.ts +1 -1
  135. package/dist/src/commands/hooks.d.ts.map +1 -1
  136. package/dist/src/commands/hooks.js +4 -7
  137. package/dist/src/commands/hooks.js.map +1 -1
  138. package/dist/src/commands/index.d.ts +2 -2
  139. package/dist/src/commands/index.d.ts.map +1 -1
  140. package/dist/src/commands/index.js +4 -3
  141. package/dist/src/commands/index.js.map +1 -1
  142. package/dist/src/commands/init-subcommands.d.ts.map +1 -1
  143. package/dist/src/commands/init-subcommands.js +4 -0
  144. package/dist/src/commands/init-subcommands.js.map +1 -1
  145. package/dist/src/commands/init-wizard.d.ts.map +1 -1
  146. package/dist/src/commands/init-wizard.js +0 -8
  147. package/dist/src/commands/init-wizard.js.map +1 -1
  148. package/dist/src/commands/init.d.ts.map +1 -1
  149. package/dist/src/commands/init.js +53 -23
  150. package/dist/src/commands/init.js.map +1 -1
  151. package/dist/src/commands/mcp.d.ts +1 -0
  152. package/dist/src/commands/mcp.d.ts.map +1 -1
  153. package/dist/src/commands/mcp.js +111 -60
  154. package/dist/src/commands/mcp.js.map +1 -1
  155. package/dist/src/commands/memory-crud.d.ts.map +1 -1
  156. package/dist/src/commands/memory-crud.js +33 -20
  157. package/dist/src/commands/memory-crud.js.map +1 -1
  158. package/dist/src/commands/monoswarm.d.ts +8 -0
  159. package/dist/src/commands/monoswarm.d.ts.map +1 -0
  160. package/dist/src/commands/{swarm.js → monoswarm.js} +83 -297
  161. package/dist/src/commands/monoswarm.js.map +1 -0
  162. package/dist/src/commands/neural-core.d.ts.map +1 -1
  163. package/dist/src/commands/neural-core.js +9 -1
  164. package/dist/src/commands/neural-core.js.map +1 -1
  165. package/dist/src/commands/neural-optimize.d.ts.map +1 -1
  166. package/dist/src/commands/neural-optimize.js +30 -110
  167. package/dist/src/commands/neural-optimize.js.map +1 -1
  168. package/dist/src/commands/neural-registry.d.ts +1 -2
  169. package/dist/src/commands/neural-registry.d.ts.map +1 -1
  170. package/dist/src/commands/neural-registry.js +21 -168
  171. package/dist/src/commands/neural-registry.js.map +1 -1
  172. package/dist/src/commands/org-observe.d.ts +34 -3
  173. package/dist/src/commands/org-observe.d.ts.map +1 -1
  174. package/dist/src/commands/org-observe.js +213 -45
  175. package/dist/src/commands/org-observe.js.map +1 -1
  176. package/dist/src/commands/org.d.ts +14 -0
  177. package/dist/src/commands/org.d.ts.map +1 -1
  178. package/dist/src/commands/org.js +118 -20
  179. package/dist/src/commands/org.js.map +1 -1
  180. package/dist/src/commands/performance.d.ts.map +1 -1
  181. package/dist/src/commands/performance.js +38 -31
  182. package/dist/src/commands/performance.js.map +1 -1
  183. package/dist/src/commands/security-misc.d.ts.map +1 -1
  184. package/dist/src/commands/security-misc.js +220 -90
  185. package/dist/src/commands/security-misc.js.map +1 -1
  186. package/dist/src/commands/security-scan.d.ts +13 -0
  187. package/dist/src/commands/security-scan.d.ts.map +1 -1
  188. package/dist/src/commands/security-scan.js +96 -27
  189. package/dist/src/commands/security-scan.js.map +1 -1
  190. package/dist/src/commands/security.js +1 -1
  191. package/dist/src/commands/security.js.map +1 -1
  192. package/dist/src/commands/start.d.ts.map +1 -1
  193. package/dist/src/commands/start.js +17 -96
  194. package/dist/src/commands/start.js.map +1 -1
  195. package/dist/src/commands/status.d.ts.map +1 -1
  196. package/dist/src/commands/status.js +72 -64
  197. package/dist/src/commands/status.js.map +1 -1
  198. package/dist/src/commands/tokens.d.ts.map +1 -1
  199. package/dist/src/commands/tokens.js +4 -5
  200. package/dist/src/commands/tokens.js.map +1 -1
  201. package/dist/src/consensus/audit-writer.d.ts +2 -2
  202. package/dist/src/consensus/audit-writer.d.ts.map +1 -1
  203. package/dist/src/consensus/audit-writer.js +1 -1
  204. package/dist/src/index.d.ts +2 -2
  205. package/dist/src/index.d.ts.map +1 -1
  206. package/dist/src/index.js +12 -10
  207. package/dist/src/index.js.map +1 -1
  208. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  209. package/dist/src/init/claudemd-generator.js +32 -31
  210. package/dist/src/init/claudemd-generator.js.map +1 -1
  211. package/dist/src/init/codex-generator.d.ts +10 -0
  212. package/dist/src/init/codex-generator.d.ts.map +1 -0
  213. package/dist/src/init/codex-generator.js +67 -0
  214. package/dist/src/init/codex-generator.js.map +1 -0
  215. package/dist/src/init/copy-assets.d.ts.map +1 -1
  216. package/dist/src/init/copy-assets.js +4 -8
  217. package/dist/src/init/copy-assets.js.map +1 -1
  218. package/dist/src/init/executor.d.ts.map +1 -1
  219. package/dist/src/init/executor.js +9 -2
  220. package/dist/src/init/executor.js.map +1 -1
  221. package/dist/src/init/helpers-generator.js +1 -1
  222. package/dist/src/init/index.d.ts +1 -0
  223. package/dist/src/init/index.d.ts.map +1 -1
  224. package/dist/src/init/index.js +1 -0
  225. package/dist/src/init/index.js.map +1 -1
  226. package/dist/src/init/opencode-generator.js +2 -2
  227. package/dist/src/init/opencode-generator.js.map +1 -1
  228. package/dist/src/init/settings-generator.d.ts.map +1 -1
  229. package/dist/src/init/settings-generator.js +1 -2
  230. package/dist/src/init/settings-generator.js.map +1 -1
  231. package/dist/src/init/shared.d.ts.map +1 -1
  232. package/dist/src/init/shared.js +3 -7
  233. package/dist/src/init/shared.js.map +1 -1
  234. package/dist/src/init/statusline-generator.js +19 -19
  235. package/dist/src/init/types.d.ts +9 -10
  236. package/dist/src/init/types.d.ts.map +1 -1
  237. package/dist/src/init/types.js +8 -6
  238. package/dist/src/init/types.js.map +1 -1
  239. package/dist/src/init/upgrade.js +5 -5
  240. package/dist/src/init/upgrade.js.map +1 -1
  241. package/dist/src/init/write-capabilities.d.ts.map +1 -1
  242. package/dist/src/init/write-capabilities.js +36 -49
  243. package/dist/src/init/write-capabilities.js.map +1 -1
  244. package/dist/src/init/write-claude.js +1 -1
  245. package/dist/src/init/write-claude.js.map +1 -1
  246. package/dist/src/init/write-codex.d.ts +4 -0
  247. package/dist/src/init/write-codex.d.ts.map +1 -0
  248. package/dist/src/init/write-codex.js +57 -0
  249. package/dist/src/init/write-codex.js.map +1 -0
  250. package/dist/src/init/write-runtime-config.d.ts.map +1 -1
  251. package/dist/src/init/write-runtime-config.js +4 -5
  252. package/dist/src/init/write-runtime-config.js.map +1 -1
  253. package/dist/src/knowledge/eval/golden-set.js +15 -15
  254. package/dist/src/knowledge/eval/golden-set.js.map +1 -1
  255. package/dist/src/mcp-client.d.ts.map +1 -1
  256. package/dist/src/mcp-client.js +1 -2
  257. package/dist/src/mcp-client.js.map +1 -1
  258. package/dist/src/mcp-server.js +1 -1
  259. package/dist/src/mcp-server.js.map +1 -1
  260. package/dist/src/mcp-tools/agent-tools.d.ts +1 -1
  261. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  262. package/dist/src/mcp-tools/agent-tools.js +3 -3
  263. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  264. package/dist/src/mcp-tools/autopilot-tools.d.ts +1 -1
  265. package/dist/src/mcp-tools/autopilot-tools.d.ts.map +1 -1
  266. package/dist/src/mcp-tools/autopilot-tools.js +4 -62
  267. package/dist/src/mcp-tools/autopilot-tools.js.map +1 -1
  268. package/dist/src/mcp-tools/guidance-tools.d.ts.map +1 -1
  269. package/dist/src/mcp-tools/guidance-tools.js +21 -31
  270. package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
  271. package/dist/src/mcp-tools/hooks-intelligence.d.ts +0 -1
  272. package/dist/src/mcp-tools/hooks-intelligence.d.ts.map +1 -1
  273. package/dist/src/mcp-tools/hooks-intelligence.js +56 -103
  274. package/dist/src/mcp-tools/hooks-intelligence.js.map +1 -1
  275. package/dist/src/mcp-tools/hooks-routing.d.ts +1 -2
  276. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  277. package/dist/src/mcp-tools/hooks-routing.js +78 -152
  278. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  279. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  280. package/dist/src/mcp-tools/hooks-tools.js +2 -4
  281. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  282. package/dist/src/mcp-tools/index.d.ts +1 -2
  283. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  284. package/dist/src/mcp-tools/index.js +1 -2
  285. package/dist/src/mcp-tools/index.js.map +1 -1
  286. package/dist/src/mcp-tools/memory-tools.js +10 -10
  287. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  288. package/dist/src/mcp-tools/monograph/query-tools.js +9 -9
  289. package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
  290. package/dist/src/mcp-tools/monoswarm-tools.d.ts +17 -0
  291. package/dist/src/mcp-tools/monoswarm-tools.d.ts.map +1 -0
  292. package/dist/src/mcp-tools/monoswarm-tools.js +1153 -0
  293. package/dist/src/mcp-tools/monoswarm-tools.js.map +1 -0
  294. package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -1
  295. package/dist/src/mcp-tools/performance-tools.js +32 -25
  296. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  297. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  298. package/dist/src/mcp-tools/system-tools.js +30 -13
  299. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  300. package/dist/src/mcp-tools/transfer-tools.d.ts +8 -12
  301. package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -1
  302. package/dist/src/mcp-tools/transfer-tools.js +9 -13
  303. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  304. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  305. package/dist/src/memory/embedding-operations.js +0 -37
  306. package/dist/src/memory/embedding-operations.js.map +1 -1
  307. package/dist/src/memory/hnsw-operations.d.ts +14 -74
  308. package/dist/src/memory/hnsw-operations.d.ts.map +1 -1
  309. package/dist/src/memory/hnsw-operations.js +22 -262
  310. package/dist/src/memory/hnsw-operations.js.map +1 -1
  311. package/dist/src/memory/intelligence.d.ts +2 -2
  312. package/dist/src/memory/intelligence.d.ts.map +1 -1
  313. package/dist/src/memory/intelligence.js +8 -7
  314. package/dist/src/memory/intelligence.js.map +1 -1
  315. package/dist/src/memory/memory-bridge.d.ts +24 -24
  316. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  317. package/dist/src/memory/memory-bridge.js +33 -34
  318. package/dist/src/memory/memory-bridge.js.map +1 -1
  319. package/dist/src/memory/memory-crud.d.ts.map +1 -1
  320. package/dist/src/memory/memory-crud.js +0 -20
  321. package/dist/src/memory/memory-crud.js.map +1 -1
  322. package/dist/src/memory/memory-initializer.d.ts +2 -3
  323. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  324. package/dist/src/memory/memory-initializer.js +2 -3
  325. package/dist/src/memory/memory-initializer.js.map +1 -1
  326. package/dist/src/memory/memory-read.d.ts.map +1 -1
  327. package/dist/src/memory/memory-read.js +5 -14
  328. package/dist/src/memory/memory-read.js.map +1 -1
  329. package/dist/src/memory/sona-optimizer.d.ts +1 -1
  330. package/dist/src/memory/sona-optimizer.js +1 -1
  331. package/dist/src/monovector/model-outcomes.d.ts +25 -0
  332. package/dist/src/monovector/model-outcomes.d.ts.map +1 -0
  333. package/dist/src/monovector/model-outcomes.js +113 -0
  334. package/dist/src/monovector/model-outcomes.js.map +1 -0
  335. package/dist/src/orgrt/agent-runner.d.ts +8 -2
  336. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  337. package/dist/src/orgrt/agent-runner.js.map +1 -1
  338. package/dist/src/orgrt/antigravity-runner.d.ts +25 -2
  339. package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
  340. package/dist/src/orgrt/antigravity-runner.js +265 -124
  341. package/dist/src/orgrt/antigravity-runner.js.map +1 -1
  342. package/dist/src/orgrt/approvals.d.ts +16 -1
  343. package/dist/src/orgrt/approvals.d.ts.map +1 -1
  344. package/dist/src/orgrt/approvals.js +47 -2
  345. package/dist/src/orgrt/approvals.js.map +1 -1
  346. package/dist/src/orgrt/checkpoint-ops.d.ts +10 -16
  347. package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
  348. package/dist/src/orgrt/checkpoint-ops.js +12 -18
  349. package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
  350. package/dist/src/orgrt/checkpoint.d.ts +12 -1
  351. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  352. package/dist/src/orgrt/checkpoint.js +19 -3
  353. package/dist/src/orgrt/checkpoint.js.map +1 -1
  354. package/dist/src/orgrt/codex-runner.d.ts +26 -2
  355. package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
  356. package/dist/src/orgrt/codex-runner.js +359 -128
  357. package/dist/src/orgrt/codex-runner.js.map +1 -1
  358. package/dist/src/orgrt/copilot-runner.d.ts +14 -0
  359. package/dist/src/orgrt/copilot-runner.d.ts.map +1 -0
  360. package/dist/src/orgrt/copilot-runner.js +260 -0
  361. package/dist/src/orgrt/copilot-runner.js.map +1 -0
  362. package/dist/src/orgrt/cross-org.d.ts.map +1 -1
  363. package/dist/src/orgrt/cross-org.js +11 -0
  364. package/dist/src/orgrt/cross-org.js.map +1 -1
  365. package/dist/src/orgrt/crush-runner.d.ts +27 -0
  366. package/dist/src/orgrt/crush-runner.d.ts.map +1 -0
  367. package/dist/src/orgrt/crush-runner.js +263 -0
  368. package/dist/src/orgrt/crush-runner.js.map +1 -0
  369. package/dist/src/orgrt/daemon.d.ts +68 -16
  370. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  371. package/dist/src/orgrt/daemon.js +212 -29
  372. package/dist/src/orgrt/daemon.js.map +1 -1
  373. package/dist/src/orgrt/decisions.d.ts +1 -0
  374. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  375. package/dist/src/orgrt/decisions.js +20 -0
  376. package/dist/src/orgrt/decisions.js.map +1 -1
  377. package/dist/src/orgrt/grok-runner.d.ts +18 -0
  378. package/dist/src/orgrt/grok-runner.d.ts.map +1 -0
  379. package/dist/src/orgrt/grok-runner.js +348 -0
  380. package/dist/src/orgrt/grok-runner.js.map +1 -0
  381. package/dist/src/orgrt/kimicode-runner.d.ts +53 -7
  382. package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
  383. package/dist/src/orgrt/kimicode-runner.js +246 -144
  384. package/dist/src/orgrt/kimicode-runner.js.map +1 -1
  385. package/dist/src/orgrt/mailbox.d.ts +26 -1
  386. package/dist/src/orgrt/mailbox.d.ts.map +1 -1
  387. package/dist/src/orgrt/mailbox.js +74 -2
  388. package/dist/src/orgrt/mailbox.js.map +1 -1
  389. package/dist/src/orgrt/pi-rpc-runner.d.ts +68 -0
  390. package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -0
  391. package/dist/src/orgrt/pi-rpc-runner.js +385 -0
  392. package/dist/src/orgrt/pi-rpc-runner.js.map +1 -0
  393. package/dist/src/orgrt/pi-runner.d.ts +16 -0
  394. package/dist/src/orgrt/pi-runner.d.ts.map +1 -0
  395. package/dist/src/orgrt/pi-runner.js +264 -0
  396. package/dist/src/orgrt/pi-runner.js.map +1 -0
  397. package/dist/src/orgrt/policy.d.ts +11 -0
  398. package/dist/src/orgrt/policy.d.ts.map +1 -1
  399. package/dist/src/orgrt/policy.js +25 -2
  400. package/dist/src/orgrt/policy.js.map +1 -1
  401. package/dist/src/orgrt/provider.d.ts +29 -1
  402. package/dist/src/orgrt/provider.d.ts.map +1 -1
  403. package/dist/src/orgrt/provider.js +62 -2
  404. package/dist/src/orgrt/provider.js.map +1 -1
  405. package/dist/src/orgrt/qwen-rpc-runner.d.ts +56 -0
  406. package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -0
  407. package/dist/src/orgrt/qwen-rpc-runner.js +346 -0
  408. package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -0
  409. package/dist/src/orgrt/qwen-runner.d.ts +18 -0
  410. package/dist/src/orgrt/qwen-runner.d.ts.map +1 -0
  411. package/dist/src/orgrt/qwen-runner.js +270 -0
  412. package/dist/src/orgrt/qwen-runner.js.map +1 -0
  413. package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
  414. package/dist/src/orgrt/scheduler-integration.js +7 -0
  415. package/dist/src/orgrt/scheduler-integration.js.map +1 -1
  416. package/dist/src/orgrt/session.d.ts +29 -1
  417. package/dist/src/orgrt/session.d.ts.map +1 -1
  418. package/dist/src/orgrt/session.js +87 -18
  419. package/dist/src/orgrt/session.js.map +1 -1
  420. package/dist/src/orgrt/task-dag.d.ts +29 -1
  421. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  422. package/dist/src/orgrt/task-dag.js +54 -0
  423. package/dist/src/orgrt/task-dag.js.map +1 -1
  424. package/dist/src/orgrt/test-loop.d.ts.map +1 -1
  425. package/dist/src/orgrt/test-loop.js +86 -9
  426. package/dist/src/orgrt/test-loop.js.map +1 -1
  427. package/dist/src/orgrt/tool-fence.d.ts.map +1 -1
  428. package/dist/src/orgrt/tool-fence.js +15 -0
  429. package/dist/src/orgrt/tool-fence.js.map +1 -1
  430. package/dist/src/orgrt/types.d.ts +50 -1
  431. package/dist/src/orgrt/types.d.ts.map +1 -1
  432. package/dist/src/orgrt/types.js +47 -4
  433. package/dist/src/orgrt/types.js.map +1 -1
  434. package/dist/src/orgrt/usage-proxy.d.ts +32 -0
  435. package/dist/src/orgrt/usage-proxy.d.ts.map +1 -0
  436. package/dist/src/orgrt/usage-proxy.js +226 -0
  437. package/dist/src/orgrt/usage-proxy.js.map +1 -0
  438. package/dist/src/pricing/model-pricing.d.ts.map +1 -1
  439. package/dist/src/pricing/model-pricing.js +0 -4
  440. package/dist/src/pricing/model-pricing.js.map +1 -1
  441. package/dist/src/security/audit-log.d.ts +47 -0
  442. package/dist/src/security/audit-log.d.ts.map +1 -0
  443. package/dist/src/security/audit-log.js +84 -0
  444. package/dist/src/security/audit-log.js.map +1 -0
  445. package/dist/src/services/config-file-manager.d.ts +2 -2
  446. package/dist/src/services/config-file-manager.d.ts.map +1 -1
  447. package/dist/src/services/config-file-manager.js +6 -7
  448. package/dist/src/services/config-file-manager.js.map +1 -1
  449. package/dist/src/suggest.d.ts.map +1 -1
  450. package/dist/src/suggest.js +4 -5
  451. package/dist/src/suggest.js.map +1 -1
  452. package/dist/src/transfer/anonymization/index.d.ts +1 -1
  453. package/dist/src/transfer/anonymization/index.js +1 -1
  454. package/dist/src/types.d.ts +3 -3
  455. package/dist/src/types.d.ts.map +1 -1
  456. package/dist/src/ui/collector.mjs +9 -13
  457. package/dist/src/ui/dashboard.html +93 -10
  458. package/dist/src/ui/data/agent-avatars.html +0 -12
  459. package/dist/src/ui/data/agent-avatars.json +10 -26
  460. package/dist/src/ui/orgs.html +8 -1
  461. package/dist/src/ui/routes-org.mjs +85 -16
  462. package/dist/src/ui/server.mjs +50 -23
  463. package/dist/src/utils/json-file.d.ts +12 -0
  464. package/dist/src/utils/json-file.d.ts.map +1 -1
  465. package/dist/src/utils/json-file.js +11 -0
  466. package/dist/src/utils/json-file.js.map +1 -1
  467. package/dist/tsconfig.tsbuildinfo +1 -1
  468. package/package.json +5 -5
  469. package/.claude/agents/consensus/crdt-synchronizer.md +0 -977
  470. package/.claude/commands/hive-mind/README.md +0 -42
  471. package/.claude/commands/hive-mind/hive-mind-consensus.md +0 -72
  472. package/.claude/commands/hive-mind/hive-mind-init.md +0 -68
  473. package/.claude/commands/hive-mind/hive-mind-memory.md +0 -73
  474. package/.claude/commands/hive-mind/hive-mind-spawn.md +0 -82
  475. package/.claude/commands/hive-mind/hive-mind-status.md +0 -56
  476. package/.claude/commands/hive-mind/hive-mind-stop.md +0 -55
  477. package/.claude/commands/hive-mind/hive-mind.md +0 -87
  478. package/.claude/commands/swarm/README.md +0 -40
  479. package/.claude/commands/swarm/swarm.md +0 -79
  480. package/.claude/skills/hive-mind-advanced/SKILL.md +0 -347
  481. package/.claude/skills/swarm-advanced/SKILL.md +0 -936
  482. package/dist/src/commands/swarm.d.ts +0 -8
  483. package/dist/src/commands/swarm.d.ts.map +0 -1
  484. package/dist/src/commands/swarm.js.map +0 -1
  485. package/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -17
  486. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +0 -1
  487. package/dist/src/mcp-tools/hive-mind-tools.js +0 -1239
  488. package/dist/src/mcp-tools/hive-mind-tools.js.map +0 -1
  489. package/dist/src/mcp-tools/swarm-tools.d.ts +0 -9
  490. package/dist/src/mcp-tools/swarm-tools.d.ts.map +0 -1
  491. package/dist/src/mcp-tools/swarm-tools.js +0 -411
  492. package/dist/src/mcp-tools/swarm-tools.js.map +0 -1
  493. package/dist/src/ui/data/avatars/crdt-synchronizer.svg +0 -53
  494. package/dist/src/ui/data/avatars/gossip-coordinator.svg +0 -54
  495. package/scripts/deploy-ipfs-node.sh +0 -153
  496. package/scripts/setup-ipfs-registry.md +0 -365
  497. /package/.claude/agents/{hive-mind → monoswarm}/scout-explorer.md +0 -0
  498. /package/.claude/agents/{hive-mind → monoswarm}/worker-specialist.md +0 -0
  499. /package/.claude/commands/{swarm → monoswarm}/analysis.md +0 -0
  500. /package/.claude/commands/{swarm → monoswarm}/development.md +0 -0
  501. /package/.claude/commands/{swarm → monoswarm}/examples.md +0 -0
  502. /package/.claude/commands/{swarm → monoswarm}/maintenance.md +0 -0
  503. /package/.claude/commands/{swarm → monoswarm}/optimization.md +0 -0
  504. /package/.claude/commands/{swarm → monoswarm}/testing.md +0 -0
  505. /package/dist/src/ui/data/avatars/{code-review-swarm.svg → monoswarm-code-review.svg} +0 -0
@@ -0,0 +1,56 @@
1
+ import type { AgentRunner, AgentRunArgs, AgentMessage } from './agent-runner.js';
2
+ interface QwenRpcContentBlock {
3
+ type: string;
4
+ text?: string;
5
+ thinking?: string;
6
+ }
7
+ interface QwenRpcMessage {
8
+ content?: QwenRpcContentBlock[];
9
+ }
10
+ /** Pure, transport-independent JSONL line decoder — same shape as
11
+ * pi-rpc-runner.ts's JsonlDecoder. Exported for unit testing without a
12
+ * real subprocess. */
13
+ export declare class QwenJsonlDecoder {
14
+ private buf;
15
+ feed(chunk: string): Record<string, unknown>[];
16
+ }
17
+ /** Encode a client→server `user` message as one LF-terminated JSON line —
18
+ * the plain-string content form (see file header for why the
19
+ * content-block-array form isn't used). Exported for unit testing the
20
+ * exact wire format. */
21
+ export declare function encodeQwenRpcUserMessage(text: string): string;
22
+ /** Extract assistant-visible text from an `assistant` event's
23
+ * `message.content` array. `thinking` blocks are dropped (internal
24
+ * reasoning, not meant for the bus). Exported for unit testing against
25
+ * fixture content arrays. */
26
+ export declare function extractQwenRpcText(message: QwenRpcMessage): string;
27
+ /** The subset of a spawned child process this runner needs — same
28
+ * duck-typed seam as pi-rpc-runner.ts's PiRpcProcess, so tests can supply
29
+ * a fake implementation to exercise the full turn-completion state
30
+ * machine without a real `qwen` binary. */
31
+ export interface QwenRpcProcess {
32
+ stdin: {
33
+ write(data: string): void;
34
+ } | null;
35
+ stdout: {
36
+ on(event: 'data', cb: (chunk: Buffer) => void): void;
37
+ } | null;
38
+ stderr: {
39
+ on(event: 'data', cb: (chunk: Buffer) => void): void;
40
+ } | null;
41
+ on(event: 'close', cb: (code: number | null) => void): void;
42
+ on(event: 'error', cb: (err: Error) => void): void;
43
+ kill(signal?: string): void;
44
+ }
45
+ export type SpawnQwenRpc = (bin: string, args: string[], opts: {
46
+ cwd: string;
47
+ env: Record<string, string | undefined>;
48
+ }) => QwenRpcProcess;
49
+ export declare class QwenRpcAgentRunner implements AgentRunner {
50
+ private qwenBin?;
51
+ private spawnFn;
52
+ constructor(qwenBin?: string | undefined, spawnFn?: SpawnQwenRpc);
53
+ run(args: AgentRunArgs): AsyncIterable<AgentMessage>;
54
+ }
55
+ export {};
56
+ //# sourceMappingURL=qwen-rpc-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen-rpc-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/qwen-rpc-runner.ts"],"names":[],"mappings":"AA+EA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQjF,UAAU,mBAAmB;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAAE;AACjF,UAAU,cAAc;IAAG,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAAE;AAE7D;;uBAEuB;AACvB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,GAAG,CAAM;IACjB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAW7C;CACF;AAED;;;yBAGyB;AACzB,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;8BAG8B;AAC9B,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAKlE;AAED;;;4CAG4C;AAC5C,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE;QAAE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5C,MAAM,EAAE;QAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACxE,MAAM,EAAE;QAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IACxE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;IAC5D,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IACnD,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;CAAE,KAAK,cAAc,CAAC;AAK3I,qBAAa,kBAAmB,YAAW,WAAW;IACxC,OAAO,CAAC,OAAO,CAAC;IAAU,OAAO,CAAC,OAAO;IAArD,YAAoB,OAAO,CAAC,EAAE,MAAM,YAAA,EAAU,OAAO,GAAE,YAAkC,EAAI;IAEtF,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAgN1D;CACF"}
@@ -0,0 +1,346 @@
1
+ // packages/@monomind/cli/src/orgrt/qwen-rpc-runner.ts
2
+ /**
3
+ * QwenRpcAgentRunner — AgentRunner impl backed by the Qwen Code CLI's
4
+ * bidirectional `--input-format stream-json --output-format stream-json`
5
+ * mode (session-lifetime), instead of the default QwenAgentRunner
6
+ * (qwen-runner.ts), which spawns a fresh `qwen -p "<prompt>"` process per
7
+ * mailbox turn.
8
+ *
9
+ * OPT-IN, not the default. Select via role/org `runtime: 'qwen-rpc'`.
10
+ * Prefer plain `runtime: 'qwen'` (QwenAgentRunner) unless you specifically
11
+ * want the benefit this buys: the subprocess stays alive for the WHOLE
12
+ * mailbox session, so conversational context carries naturally (no
13
+ * `--resume <sessionId>` round-trip per turn) and there's no per-turn
14
+ * spawn/bootstrap cost.
15
+ *
16
+ * Protocol — LIVE-VERIFIED against qwen-code v0.21.13 (issue #182). The
17
+ * flag exists but is hidden from `qwen --help`; found by reading the
18
+ * bundled minified source (`packages/cli`'s yargs config,
19
+ * `.option("input-format", { choices: ["text","stream-json"] })`) and
20
+ * confirmed the exact message schema from the CLI's own bundled source
21
+ * (`packages/cli/src/nonInteractive/types.ts`, compiled into
22
+ * `chunks/session-*.js`) — the `isCLIUserMessage`/`extractUserMessageText`
23
+ * predicates there define the client→server shape literally, not from
24
+ * prose docs. Then confirmed LIVE: sent both message forms below on the
25
+ * same persistent subprocess against a z.ai/GLM-5.3 backend — both
26
+ * answered correctly, on the SAME session_id, proving session-lifetime
27
+ * persistence:
28
+ *
29
+ * Client → server (this runner sends):
30
+ * {"type":"user","message":{"content":"<text>"}}
31
+ * (a content-block-array form is also accepted —
32
+ * {"type":"user","message":{"content":[{"type":"text","text":"..."}]}}
33
+ * — but the plain-string form is simpler and was used for all live
34
+ * verification, so this runner sticks to it)
35
+ *
36
+ * Server → client (same vocabulary as QwenAgentRunner's per-spawn
37
+ * stream-json, confirmed identical live under RPC mode too):
38
+ * {"type":"system","subtype":"init","session_id":"...",...}
39
+ * {"type":"assistant","session_id":"...",
40
+ * "message":{"content":[{"type":"text","text":"..."},
41
+ * {"type":"thinking","thinking":"..."}]}}
42
+ * {"type":"result","subtype":"success"|"error","session_id":"...",
43
+ * "usage":{"input_tokens":N,"output_tokens":N,...},
44
+ * "error":{"message":"..."}|"<string>"}
45
+ * `result` is a single-fire-per-turn completion signal — confirmed live
46
+ * (same as the non-RPC QwenAgentRunner already relies on for its
47
+ * per-spawn invocations). A `system`/`init` event was also observed
48
+ * re-emitted at the start of a SECOND turn on the same subprocess — not
49
+ * treated as a new-session signal here, since session_id stayed
50
+ * identical across it in the live test.
51
+ *
52
+ * NOT verified live: a turn where qwen runs multiple of its OWN native
53
+ * tools (read/edit/bash) in sequence before responding — same class of gap
54
+ * pi-rpc-runner.ts disclosed for pi before its own live verification
55
+ * confirmed a single fire-once completion signal there too. `result`
56
+ * firing exactly once per submitted `user` message (not once per internal
57
+ * tool-use cycle) is inferred by symmetry with the non-RPC QwenAgentRunner
58
+ * (which already treats `result` this way across a `-p` invocation that
59
+ * CAN involve multiple internal tool calls) rather than independently
60
+ * re-confirmed here. Revalidate if this runner ends a turn early or hangs
61
+ * on a heavily tool-call-heavy prompt; fall back to plain `runtime: 'qwen'`
62
+ * if it misbehaves.
63
+ *
64
+ * Auth: inherited from the CLI's own login flow — same as QwenAgentRunner.
65
+ * No env vars set here. (Live verification against a custom
66
+ * OpenAI-compatible backend needed `--auth-type openai` plus
67
+ * `OPENAI_API_KEY`/`OPENAI_BASE_URL`/`OPENAI_MODEL` env vars, per
68
+ * qwen-runner.ts's own header — not something this runner forces, since a
69
+ * real deployment's own qwen config/subscription should already be set up
70
+ * the way its operator wants.)
71
+ *
72
+ * Org tools (org_send, knowledge_search, ask_human, …) — FENCE PROTOCOL:
73
+ * Qwen's own native tools (read/edit/bash) execute autonomously inside
74
+ * qwen itself and never reach this runner — only org tools ride the
75
+ * shared tool-fence protocol (tool-fence.ts), extracted from assistant
76
+ * text collected before `result` and fed back as a new `user` message in
77
+ * the SAME session.
78
+ */
79
+ import { spawn } from 'node:child_process';
80
+ import { buildToolProtocol, parseToolCalls, executeToolCall, formatToolResults, MAX_TOOL_ROUNDS, TOOL_CALL_RE } from './tool-fence.js';
81
+ /** Upper bound on how long a single turn's wait for `result` may run before
82
+ * the mid-session silence watchdog (below) considers qwen wedged. */
83
+ const SETTLE_TIMEOUT_MS = 10 * 60 * 1000; // 10 minutes
84
+ const STARTUP_GRACE_MS = 45_000;
85
+ /** Pure, transport-independent JSONL line decoder — same shape as
86
+ * pi-rpc-runner.ts's JsonlDecoder. Exported for unit testing without a
87
+ * real subprocess. */
88
+ export class QwenJsonlDecoder {
89
+ buf = '';
90
+ feed(chunk) {
91
+ this.buf += chunk;
92
+ const parts = this.buf.split('\n');
93
+ this.buf = parts.pop() ?? '';
94
+ const out = [];
95
+ for (const line of parts) {
96
+ const trimmed = line.trim();
97
+ if (!trimmed)
98
+ continue;
99
+ try {
100
+ out.push(JSON.parse(trimmed));
101
+ }
102
+ catch { /* skip malformed line */ }
103
+ }
104
+ return out;
105
+ }
106
+ }
107
+ /** Encode a client→server `user` message as one LF-terminated JSON line —
108
+ * the plain-string content form (see file header for why the
109
+ * content-block-array form isn't used). Exported for unit testing the
110
+ * exact wire format. */
111
+ export function encodeQwenRpcUserMessage(text) {
112
+ return JSON.stringify({ type: 'user', message: { content: text } }) + '\n';
113
+ }
114
+ /** Extract assistant-visible text from an `assistant` event's
115
+ * `message.content` array. `thinking` blocks are dropped (internal
116
+ * reasoning, not meant for the bus). Exported for unit testing against
117
+ * fixture content arrays. */
118
+ export function extractQwenRpcText(message) {
119
+ return (message.content ?? [])
120
+ .filter((b) => b.type === 'text' && typeof b.text === 'string')
121
+ .map((b) => b.text)
122
+ .join('\n');
123
+ }
124
+ const defaultSpawnQwenRpc = (bin, args, opts) => spawn(bin, args, { cwd: opts.cwd, env: opts.env, stdio: ['pipe', 'pipe', 'pipe'] });
125
+ export class QwenRpcAgentRunner {
126
+ qwenBin;
127
+ spawnFn;
128
+ constructor(qwenBin, spawnFn = defaultSpawnQwenRpc) {
129
+ this.qwenBin = qwenBin;
130
+ this.spawnFn = spawnFn;
131
+ }
132
+ async *run(args) {
133
+ const bin = this.qwenBin || process.env.QWEN_CLI_BIN || 'qwen';
134
+ const cliArgs = ['--input-format', 'stream-json', '--output-format', 'stream-json', '--yolo'];
135
+ if (args.model)
136
+ cliArgs.push('-m', args.model);
137
+ const child = this.spawnFn(bin, cliArgs, {
138
+ cwd: args.cwd,
139
+ env: { ...process.env, ...args.env },
140
+ });
141
+ let stderrTail = '';
142
+ child.stderr?.on('data', (c) => { stderrTail = (stderrTail + c.toString()).slice(-4000); });
143
+ const decoder = new QwenJsonlDecoder();
144
+ const eventQueue = [];
145
+ const waiters = [];
146
+ let closed = false;
147
+ let closeCode = null;
148
+ let lastEventAt = Date.now();
149
+ const pushEvents = (evs) => {
150
+ for (const ev of evs) {
151
+ const waiter = waiters.shift();
152
+ if (waiter)
153
+ waiter(ev);
154
+ else
155
+ eventQueue.push(ev);
156
+ }
157
+ };
158
+ child.stdout?.on('data', (c) => { lastEventAt = Date.now(); pushEvents(decoder.feed(c.toString())); });
159
+ let processExited = false;
160
+ child.on('close', (code) => { closed = true; processExited = true; closeCode = code; pushEvents([{ type: '__closed__', code }]); });
161
+ child.on('error', (err) => { closed = true; pushEvents([{ type: '__error__', error: err }]); });
162
+ const nextEvent = () => {
163
+ const queued = eventQueue.shift();
164
+ if (queued)
165
+ return Promise.resolve(queued);
166
+ if (closed)
167
+ return Promise.resolve({ type: '__closed__', code: closeCode });
168
+ return new Promise((resolve) => waiters.push(resolve));
169
+ };
170
+ const send = (text) => {
171
+ child.stdin?.write(encodeQwenRpcUserMessage(text));
172
+ };
173
+ const KILL_GRACE_MS = 5000;
174
+ let killTimer;
175
+ const killChild = () => {
176
+ try {
177
+ child.kill('SIGTERM');
178
+ }
179
+ catch { /* already gone */ }
180
+ killTimer = setTimeout(() => { try {
181
+ child.kill('SIGKILL');
182
+ }
183
+ catch { /* already gone */ } }, KILL_GRACE_MS);
184
+ killTimer.unref?.();
185
+ };
186
+ let sawAnyEvent = false;
187
+ let hangTimer = setTimeout(() => {
188
+ if (!sawAnyEvent) {
189
+ closed = true;
190
+ killChild();
191
+ pushEvents([{ type: '__hang__' }]);
192
+ }
193
+ }, STARTUP_GRACE_MS);
194
+ const disarmHang = () => { if (!sawAnyEvent) {
195
+ sawAnyEvent = true;
196
+ if (hangTimer) {
197
+ clearTimeout(hangTimer);
198
+ hangTimer = undefined;
199
+ }
200
+ } };
201
+ // Rolling watchdog — same rationale/pause logic as pi-rpc-runner.ts:
202
+ // paused whenever an org tool call is in flight (ask_human can
203
+ // legitimately block far longer than the silence window) or there's no
204
+ // turn in flight at all (idling on the role's own mailbox is normal).
205
+ let toolCallInFlight = false;
206
+ let turnInFlight = false;
207
+ const MID_SESSION_SILENCE_MS = SETTLE_TIMEOUT_MS;
208
+ const silenceWatchdog = setInterval(() => {
209
+ if (closed || toolCallInFlight || !turnInFlight)
210
+ return;
211
+ if (Date.now() - lastEventAt > MID_SESSION_SILENCE_MS) {
212
+ closed = true;
213
+ killChild();
214
+ pushEvents([{ type: '__hang__' }]);
215
+ }
216
+ }, 30_000);
217
+ silenceWatchdog.unref?.();
218
+ let sessionId;
219
+ try {
220
+ let first = true;
221
+ for await (const p of args.prompt) {
222
+ const text = typeof p === 'string' ? p : (p?.message?.content ?? String(p ?? ''));
223
+ let nextMessage = first ? `${args.systemPrompt}${buildToolProtocol(args.tools)}\n\n---\n\n${text}` : text;
224
+ first = false;
225
+ let turnInputTokens = 0;
226
+ let turnOutputTokens = 0;
227
+ let round = 0;
228
+ turnInFlight = true;
229
+ try {
230
+ turnLoop: for (;;) {
231
+ send(nextMessage);
232
+ const collectedText = [];
233
+ let sawResult = false;
234
+ let resultError;
235
+ for (;;) {
236
+ const ev = await nextEvent();
237
+ disarmHang();
238
+ const kind = ev.type;
239
+ if (kind === '__closed__' || kind === '__error__' || kind === '__hang__') {
240
+ if (kind === '__error__') {
241
+ throw ev.error;
242
+ }
243
+ const hangSuspected = kind === '__hang__';
244
+ throw new Error(hangSuspected
245
+ ? `QwenRpcAgentRunner: qwen produced no output within ${STARTUP_GRACE_MS / 1000}s and was killed. ` +
246
+ 'This usually means it is stuck on a prompt headless mode has no way to answer. Run `qwen` ' +
247
+ `once manually in a real terminal in this project to check, then retry.${stderrTail ? `\nstderr: ${stderrTail.slice(-500)}` : ''}`
248
+ : `QwenRpcAgentRunner: qwen rpc process ended unexpectedly (${kind})` +
249
+ (stderrTail ? `\nstderr: ${stderrTail.slice(-500)}` : ''));
250
+ }
251
+ const evSessionId = ev.session_id;
252
+ if (evSessionId)
253
+ sessionId = evSessionId;
254
+ if (kind === 'assistant') {
255
+ const message = ev.message;
256
+ if (message) {
257
+ const t = extractQwenRpcText(message);
258
+ if (t)
259
+ collectedText.push(t);
260
+ }
261
+ continue;
262
+ }
263
+ if (kind === 'result') {
264
+ sawResult = true;
265
+ const usage = ev.usage;
266
+ if (usage) {
267
+ turnInputTokens += usage.input_tokens ?? 0;
268
+ turnOutputTokens += usage.output_tokens ?? 0;
269
+ }
270
+ if (ev.subtype === 'error') {
271
+ const err = ev.error;
272
+ resultError = typeof err === 'string' ? err : err?.message ?? 'qwen result: error';
273
+ }
274
+ break;
275
+ }
276
+ // system/init and anything else — drained and ignored.
277
+ }
278
+ if (resultError) {
279
+ throw new Error(`QwenRpcAgentRunner: qwen turn failed: ${resultError}` + (stderrTail ? `\nstderr: ${stderrTail.slice(-500)}` : ''));
280
+ }
281
+ if (!sawResult)
282
+ break turnLoop; // process closed before result — nothing to extract this round
283
+ const rawText = collectedText.join('\n');
284
+ const visibleText = rawText.replace(TOOL_CALL_RE, '').trim();
285
+ if (visibleText)
286
+ yield { type: 'assistant', session_id: sessionId, text: visibleText };
287
+ const malformed = [];
288
+ const calls = parseToolCalls([rawText], (raw, err) => malformed.push(`[monomind] ignored malformed tool_call fence (${err}): ${raw.slice(0, 200)}`));
289
+ for (const note of malformed)
290
+ yield { type: 'assistant', session_id: sessionId, text: note };
291
+ if (calls.length === 0)
292
+ break turnLoop;
293
+ round += 1;
294
+ if (round > MAX_TOOL_ROUNDS) {
295
+ yield { type: 'assistant', session_id: sessionId, text: `[monomind] tool-call round cap (${MAX_TOOL_ROUNDS}) reached — dropping ${calls.length} pending tool call(s)` };
296
+ break turnLoop;
297
+ }
298
+ toolCallInFlight = true;
299
+ const results = [];
300
+ try {
301
+ for (const call of calls)
302
+ results.push(await executeToolCall(args.tools, call, args.canUseTool));
303
+ }
304
+ finally {
305
+ toolCallInFlight = false;
306
+ lastEventAt = Date.now();
307
+ }
308
+ nextMessage = formatToolResults(calls, results);
309
+ }
310
+ }
311
+ finally {
312
+ turnInFlight = false;
313
+ }
314
+ yield {
315
+ type: 'result',
316
+ session_id: sessionId,
317
+ subtype: 'success',
318
+ input_tokens: turnInputTokens,
319
+ output_tokens: turnOutputTokens,
320
+ };
321
+ }
322
+ }
323
+ catch (err) {
324
+ if (err.code === 'ENOENT') {
325
+ throw new Error('QwenRpcAgentRunner requires the Qwen Code CLI (qwen) on PATH. ' +
326
+ 'Install it: npm install -g @qwen-code/qwen-code, then run `qwen` once ' +
327
+ 'to authenticate. Or unset the runtime to use Claude.');
328
+ }
329
+ throw err;
330
+ }
331
+ finally {
332
+ if (hangTimer)
333
+ clearTimeout(hangTimer);
334
+ clearInterval(silenceWatchdog);
335
+ if (processExited) {
336
+ if (killTimer)
337
+ clearTimeout(killTimer);
338
+ }
339
+ else {
340
+ if (!killTimer)
341
+ killChild();
342
+ }
343
+ }
344
+ }
345
+ }
346
+ //# sourceMappingURL=qwen-rpc-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen-rpc-runner.js","sourceRoot":"","sources":["../../../src/orgrt/qwen-rpc-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { AgentRunner, AgentRunArgs, AgentMessage } from './agent-runner.js';
2
+ /** Pure stream-json parser — exported for unit testing against fixture lines
3
+ * built from Qwen Code's documented event schema (qwen-runner.test.ts). */
4
+ export declare function parseQwenEvents(lines: string[]): {
5
+ texts: string[];
6
+ rawTexts: string[];
7
+ sessionId?: string;
8
+ inputTokens: number;
9
+ outputTokens: number;
10
+ error?: string;
11
+ };
12
+ export declare class QwenAgentRunner implements AgentRunner {
13
+ private qwenBin?;
14
+ constructor(qwenBin?: string | undefined);
15
+ run(args: AgentRunArgs): AsyncIterable<AgentMessage>;
16
+ private runTurn;
17
+ }
18
+ //# sourceMappingURL=qwen-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qwen-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/qwen-runner.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAyCjF;4EAC4E;AAC5E,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG;IAChD,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACpH,CAoCA;AAED,qBAAa,eAAgB,YAAW,WAAW;IACrC,OAAO,CAAC,OAAO,CAAC;IAA5B,YAAoB,OAAO,CAAC,EAAE,MAAM,YAAA,EAAI;IAEjC,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAsF1D;IAED,OAAO,CAAC,OAAO;CAgGhB"}