@monoes/monomindcli 2.9.22 → 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 (486) 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-protocol/SKILL.md +3 -3
  69. package/.claude/skills/memory-toolkit/SKILL.md +2 -2
  70. package/.claude/skills/{swarm-orchestration → monoswarm}/SKILL.md +106 -42
  71. package/.claude/skills/specialagent/SKILL.md +1 -1
  72. package/README.md +31 -12
  73. package/dist/src/autopilot-state.d.ts +0 -16
  74. package/dist/src/autopilot-state.d.ts.map +1 -1
  75. package/dist/src/autopilot-state.js +0 -15
  76. package/dist/src/autopilot-state.js.map +1 -1
  77. package/dist/src/browser/dashboard/server.js +3 -3
  78. package/dist/src/browser/dashboard/server.js.map +1 -1
  79. package/dist/src/browser/dashboard/ui.html +2 -2
  80. package/dist/src/capabilities/cap-documents.d.ts.map +1 -1
  81. package/dist/src/capabilities/cap-documents.js +49 -38
  82. package/dist/src/capabilities/cap-documents.js.map +1 -1
  83. package/dist/src/commands/agent-lifecycle.d.ts.map +1 -1
  84. package/dist/src/commands/agent-lifecycle.js +4 -9
  85. package/dist/src/commands/agent-lifecycle.js.map +1 -1
  86. package/dist/src/commands/agent-ops.d.ts.map +1 -1
  87. package/dist/src/commands/agent-ops.js +37 -24
  88. package/dist/src/commands/agent-ops.js.map +1 -1
  89. package/dist/src/commands/analyze-ast.d.ts +1 -1
  90. package/dist/src/commands/analyze-ast.d.ts.map +1 -1
  91. package/dist/src/commands/analyze-ast.js +8 -27
  92. package/dist/src/commands/analyze-ast.js.map +1 -1
  93. package/dist/src/commands/analyze-imports.d.ts.map +1 -1
  94. package/dist/src/commands/analyze-imports.js +18 -17
  95. package/dist/src/commands/analyze-imports.js.map +1 -1
  96. package/dist/src/commands/analyze-symbols.d.ts.map +1 -1
  97. package/dist/src/commands/analyze-symbols.js +10 -24
  98. package/dist/src/commands/analyze-symbols.js.map +1 -1
  99. package/dist/src/commands/analyze.d.ts +19 -6
  100. package/dist/src/commands/analyze.d.ts.map +1 -1
  101. package/dist/src/commands/analyze.js +61 -15
  102. package/dist/src/commands/analyze.js.map +1 -1
  103. package/dist/src/commands/autopilot.d.ts.map +1 -1
  104. package/dist/src/commands/autopilot.js +4 -89
  105. package/dist/src/commands/autopilot.js.map +1 -1
  106. package/dist/src/commands/browse.d.ts +1 -1
  107. package/dist/src/commands/cleanup.d.ts.map +1 -1
  108. package/dist/src/commands/cleanup.js +4 -2
  109. package/dist/src/commands/cleanup.js.map +1 -1
  110. package/dist/src/commands/completions.d.ts.map +1 -1
  111. package/dist/src/commands/completions.js +0 -1
  112. package/dist/src/commands/completions.js.map +1 -1
  113. package/dist/src/commands/config.js +7 -7
  114. package/dist/src/commands/config.js.map +1 -1
  115. package/dist/src/commands/doctor-project-checks.d.ts +7 -0
  116. package/dist/src/commands/doctor-project-checks.d.ts.map +1 -1
  117. package/dist/src/commands/doctor-project-checks.js +37 -5
  118. package/dist/src/commands/doctor-project-checks.js.map +1 -1
  119. package/dist/src/commands/doctor.d.ts.map +1 -1
  120. package/dist/src/commands/doctor.js +9 -3
  121. package/dist/src/commands/doctor.js.map +1 -1
  122. package/dist/src/commands/hooks-routing-commands.d.ts +1 -2
  123. package/dist/src/commands/hooks-routing-commands.d.ts.map +1 -1
  124. package/dist/src/commands/hooks-routing-commands.js +1 -101
  125. package/dist/src/commands/hooks-routing-commands.js.map +1 -1
  126. package/dist/src/commands/hooks-workers.d.ts.map +1 -1
  127. package/dist/src/commands/hooks-workers.js +19 -71
  128. package/dist/src/commands/hooks-workers.js.map +1 -1
  129. package/dist/src/commands/hooks.d.ts +1 -1
  130. package/dist/src/commands/hooks.d.ts.map +1 -1
  131. package/dist/src/commands/hooks.js +4 -7
  132. package/dist/src/commands/hooks.js.map +1 -1
  133. package/dist/src/commands/index.d.ts +1 -1
  134. package/dist/src/commands/index.d.ts.map +1 -1
  135. package/dist/src/commands/index.js +2 -2
  136. package/dist/src/commands/index.js.map +1 -1
  137. package/dist/src/commands/init-subcommands.d.ts.map +1 -1
  138. package/dist/src/commands/init-subcommands.js +4 -0
  139. package/dist/src/commands/init-subcommands.js.map +1 -1
  140. package/dist/src/commands/init-wizard.d.ts.map +1 -1
  141. package/dist/src/commands/init-wizard.js +0 -8
  142. package/dist/src/commands/init-wizard.js.map +1 -1
  143. package/dist/src/commands/init.d.ts.map +1 -1
  144. package/dist/src/commands/init.js +53 -23
  145. package/dist/src/commands/init.js.map +1 -1
  146. package/dist/src/commands/mcp.d.ts +1 -0
  147. package/dist/src/commands/mcp.d.ts.map +1 -1
  148. package/dist/src/commands/mcp.js +111 -60
  149. package/dist/src/commands/mcp.js.map +1 -1
  150. package/dist/src/commands/memory-crud.d.ts.map +1 -1
  151. package/dist/src/commands/memory-crud.js +33 -20
  152. package/dist/src/commands/memory-crud.js.map +1 -1
  153. package/dist/src/commands/monoswarm.d.ts +8 -0
  154. package/dist/src/commands/monoswarm.d.ts.map +1 -0
  155. package/dist/src/commands/{swarm.js → monoswarm.js} +83 -297
  156. package/dist/src/commands/monoswarm.js.map +1 -0
  157. package/dist/src/commands/neural-core.d.ts.map +1 -1
  158. package/dist/src/commands/neural-core.js +9 -1
  159. package/dist/src/commands/neural-core.js.map +1 -1
  160. package/dist/src/commands/neural-optimize.d.ts.map +1 -1
  161. package/dist/src/commands/neural-optimize.js +30 -110
  162. package/dist/src/commands/neural-optimize.js.map +1 -1
  163. package/dist/src/commands/neural-registry.d.ts +1 -2
  164. package/dist/src/commands/neural-registry.d.ts.map +1 -1
  165. package/dist/src/commands/neural-registry.js +21 -168
  166. package/dist/src/commands/neural-registry.js.map +1 -1
  167. package/dist/src/commands/org-observe.d.ts +13 -3
  168. package/dist/src/commands/org-observe.d.ts.map +1 -1
  169. package/dist/src/commands/org-observe.js +134 -45
  170. package/dist/src/commands/org-observe.js.map +1 -1
  171. package/dist/src/commands/org.d.ts +14 -0
  172. package/dist/src/commands/org.d.ts.map +1 -1
  173. package/dist/src/commands/org.js +98 -20
  174. package/dist/src/commands/org.js.map +1 -1
  175. package/dist/src/commands/performance.d.ts.map +1 -1
  176. package/dist/src/commands/performance.js +38 -31
  177. package/dist/src/commands/performance.js.map +1 -1
  178. package/dist/src/commands/security-misc.d.ts.map +1 -1
  179. package/dist/src/commands/security-misc.js +220 -90
  180. package/dist/src/commands/security-misc.js.map +1 -1
  181. package/dist/src/commands/security-scan.d.ts +13 -0
  182. package/dist/src/commands/security-scan.d.ts.map +1 -1
  183. package/dist/src/commands/security-scan.js +96 -27
  184. package/dist/src/commands/security-scan.js.map +1 -1
  185. package/dist/src/commands/security.js +1 -1
  186. package/dist/src/commands/security.js.map +1 -1
  187. package/dist/src/commands/start.d.ts.map +1 -1
  188. package/dist/src/commands/start.js +17 -96
  189. package/dist/src/commands/start.js.map +1 -1
  190. package/dist/src/commands/status.d.ts.map +1 -1
  191. package/dist/src/commands/status.js +72 -64
  192. package/dist/src/commands/status.js.map +1 -1
  193. package/dist/src/commands/tokens.d.ts.map +1 -1
  194. package/dist/src/commands/tokens.js +4 -5
  195. package/dist/src/commands/tokens.js.map +1 -1
  196. package/dist/src/consensus/audit-writer.d.ts +2 -2
  197. package/dist/src/consensus/audit-writer.d.ts.map +1 -1
  198. package/dist/src/consensus/audit-writer.js +1 -1
  199. package/dist/src/index.d.ts +2 -2
  200. package/dist/src/index.d.ts.map +1 -1
  201. package/dist/src/index.js +12 -10
  202. package/dist/src/index.js.map +1 -1
  203. package/dist/src/init/claudemd-generator.d.ts.map +1 -1
  204. package/dist/src/init/claudemd-generator.js +32 -31
  205. package/dist/src/init/claudemd-generator.js.map +1 -1
  206. package/dist/src/init/codex-generator.d.ts +10 -0
  207. package/dist/src/init/codex-generator.d.ts.map +1 -0
  208. package/dist/src/init/codex-generator.js +67 -0
  209. package/dist/src/init/codex-generator.js.map +1 -0
  210. package/dist/src/init/copy-assets.d.ts.map +1 -1
  211. package/dist/src/init/copy-assets.js +4 -8
  212. package/dist/src/init/copy-assets.js.map +1 -1
  213. package/dist/src/init/executor.d.ts.map +1 -1
  214. package/dist/src/init/executor.js +9 -2
  215. package/dist/src/init/executor.js.map +1 -1
  216. package/dist/src/init/helpers-generator.js +1 -1
  217. package/dist/src/init/index.d.ts +1 -0
  218. package/dist/src/init/index.d.ts.map +1 -1
  219. package/dist/src/init/index.js +1 -0
  220. package/dist/src/init/index.js.map +1 -1
  221. package/dist/src/init/opencode-generator.js +2 -2
  222. package/dist/src/init/opencode-generator.js.map +1 -1
  223. package/dist/src/init/settings-generator.d.ts.map +1 -1
  224. package/dist/src/init/settings-generator.js +1 -2
  225. package/dist/src/init/settings-generator.js.map +1 -1
  226. package/dist/src/init/shared.d.ts.map +1 -1
  227. package/dist/src/init/shared.js +3 -7
  228. package/dist/src/init/shared.js.map +1 -1
  229. package/dist/src/init/statusline-generator.js +19 -19
  230. package/dist/src/init/types.d.ts +9 -10
  231. package/dist/src/init/types.d.ts.map +1 -1
  232. package/dist/src/init/types.js +8 -6
  233. package/dist/src/init/types.js.map +1 -1
  234. package/dist/src/init/upgrade.js +5 -5
  235. package/dist/src/init/upgrade.js.map +1 -1
  236. package/dist/src/init/write-capabilities.d.ts.map +1 -1
  237. package/dist/src/init/write-capabilities.js +36 -49
  238. package/dist/src/init/write-capabilities.js.map +1 -1
  239. package/dist/src/init/write-claude.js +1 -1
  240. package/dist/src/init/write-claude.js.map +1 -1
  241. package/dist/src/init/write-codex.d.ts +4 -0
  242. package/dist/src/init/write-codex.d.ts.map +1 -0
  243. package/dist/src/init/write-codex.js +57 -0
  244. package/dist/src/init/write-codex.js.map +1 -0
  245. package/dist/src/init/write-runtime-config.d.ts.map +1 -1
  246. package/dist/src/init/write-runtime-config.js +4 -5
  247. package/dist/src/init/write-runtime-config.js.map +1 -1
  248. package/dist/src/knowledge/eval/golden-set.js +15 -15
  249. package/dist/src/knowledge/eval/golden-set.js.map +1 -1
  250. package/dist/src/mcp-client.d.ts.map +1 -1
  251. package/dist/src/mcp-client.js +1 -2
  252. package/dist/src/mcp-client.js.map +1 -1
  253. package/dist/src/mcp-server.js +1 -1
  254. package/dist/src/mcp-server.js.map +1 -1
  255. package/dist/src/mcp-tools/agent-tools.d.ts +1 -1
  256. package/dist/src/mcp-tools/agent-tools.d.ts.map +1 -1
  257. package/dist/src/mcp-tools/agent-tools.js +3 -3
  258. package/dist/src/mcp-tools/agent-tools.js.map +1 -1
  259. package/dist/src/mcp-tools/autopilot-tools.d.ts +1 -1
  260. package/dist/src/mcp-tools/autopilot-tools.d.ts.map +1 -1
  261. package/dist/src/mcp-tools/autopilot-tools.js +4 -62
  262. package/dist/src/mcp-tools/autopilot-tools.js.map +1 -1
  263. package/dist/src/mcp-tools/guidance-tools.d.ts.map +1 -1
  264. package/dist/src/mcp-tools/guidance-tools.js +21 -31
  265. package/dist/src/mcp-tools/guidance-tools.js.map +1 -1
  266. package/dist/src/mcp-tools/hooks-intelligence.d.ts +0 -1
  267. package/dist/src/mcp-tools/hooks-intelligence.d.ts.map +1 -1
  268. package/dist/src/mcp-tools/hooks-intelligence.js +56 -103
  269. package/dist/src/mcp-tools/hooks-intelligence.js.map +1 -1
  270. package/dist/src/mcp-tools/hooks-routing.d.ts +1 -2
  271. package/dist/src/mcp-tools/hooks-routing.d.ts.map +1 -1
  272. package/dist/src/mcp-tools/hooks-routing.js +78 -152
  273. package/dist/src/mcp-tools/hooks-routing.js.map +1 -1
  274. package/dist/src/mcp-tools/hooks-tools.d.ts.map +1 -1
  275. package/dist/src/mcp-tools/hooks-tools.js +2 -4
  276. package/dist/src/mcp-tools/hooks-tools.js.map +1 -1
  277. package/dist/src/mcp-tools/index.d.ts +1 -2
  278. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  279. package/dist/src/mcp-tools/index.js +1 -2
  280. package/dist/src/mcp-tools/index.js.map +1 -1
  281. package/dist/src/mcp-tools/memory-tools.js +10 -10
  282. package/dist/src/mcp-tools/memory-tools.js.map +1 -1
  283. package/dist/src/mcp-tools/monograph/query-tools.js +9 -9
  284. package/dist/src/mcp-tools/monograph/query-tools.js.map +1 -1
  285. package/dist/src/mcp-tools/monoswarm-tools.d.ts +17 -0
  286. package/dist/src/mcp-tools/monoswarm-tools.d.ts.map +1 -0
  287. package/dist/src/mcp-tools/monoswarm-tools.js +1153 -0
  288. package/dist/src/mcp-tools/monoswarm-tools.js.map +1 -0
  289. package/dist/src/mcp-tools/performance-tools.d.ts.map +1 -1
  290. package/dist/src/mcp-tools/performance-tools.js +32 -25
  291. package/dist/src/mcp-tools/performance-tools.js.map +1 -1
  292. package/dist/src/mcp-tools/system-tools.d.ts.map +1 -1
  293. package/dist/src/mcp-tools/system-tools.js +30 -13
  294. package/dist/src/mcp-tools/system-tools.js.map +1 -1
  295. package/dist/src/mcp-tools/transfer-tools.d.ts +8 -12
  296. package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -1
  297. package/dist/src/mcp-tools/transfer-tools.js +9 -13
  298. package/dist/src/mcp-tools/transfer-tools.js.map +1 -1
  299. package/dist/src/memory/embedding-operations.d.ts.map +1 -1
  300. package/dist/src/memory/embedding-operations.js +0 -37
  301. package/dist/src/memory/embedding-operations.js.map +1 -1
  302. package/dist/src/memory/hnsw-operations.d.ts +14 -74
  303. package/dist/src/memory/hnsw-operations.d.ts.map +1 -1
  304. package/dist/src/memory/hnsw-operations.js +22 -262
  305. package/dist/src/memory/hnsw-operations.js.map +1 -1
  306. package/dist/src/memory/intelligence.d.ts +2 -2
  307. package/dist/src/memory/intelligence.d.ts.map +1 -1
  308. package/dist/src/memory/intelligence.js +8 -7
  309. package/dist/src/memory/intelligence.js.map +1 -1
  310. package/dist/src/memory/memory-bridge.d.ts +24 -24
  311. package/dist/src/memory/memory-bridge.d.ts.map +1 -1
  312. package/dist/src/memory/memory-bridge.js +33 -34
  313. package/dist/src/memory/memory-bridge.js.map +1 -1
  314. package/dist/src/memory/memory-crud.d.ts.map +1 -1
  315. package/dist/src/memory/memory-crud.js +0 -20
  316. package/dist/src/memory/memory-crud.js.map +1 -1
  317. package/dist/src/memory/memory-initializer.d.ts +2 -3
  318. package/dist/src/memory/memory-initializer.d.ts.map +1 -1
  319. package/dist/src/memory/memory-initializer.js +2 -3
  320. package/dist/src/memory/memory-initializer.js.map +1 -1
  321. package/dist/src/memory/memory-read.d.ts.map +1 -1
  322. package/dist/src/memory/memory-read.js +5 -14
  323. package/dist/src/memory/memory-read.js.map +1 -1
  324. package/dist/src/memory/sona-optimizer.d.ts +1 -1
  325. package/dist/src/memory/sona-optimizer.js +1 -1
  326. package/dist/src/monovector/model-outcomes.d.ts +25 -0
  327. package/dist/src/monovector/model-outcomes.d.ts.map +1 -0
  328. package/dist/src/monovector/model-outcomes.js +113 -0
  329. package/dist/src/monovector/model-outcomes.js.map +1 -0
  330. package/dist/src/orgrt/agent-runner.d.ts +8 -2
  331. package/dist/src/orgrt/agent-runner.d.ts.map +1 -1
  332. package/dist/src/orgrt/agent-runner.js.map +1 -1
  333. package/dist/src/orgrt/antigravity-runner.d.ts +25 -2
  334. package/dist/src/orgrt/antigravity-runner.d.ts.map +1 -1
  335. package/dist/src/orgrt/antigravity-runner.js +265 -124
  336. package/dist/src/orgrt/antigravity-runner.js.map +1 -1
  337. package/dist/src/orgrt/approvals.d.ts.map +1 -1
  338. package/dist/src/orgrt/approvals.js +8 -0
  339. package/dist/src/orgrt/approvals.js.map +1 -1
  340. package/dist/src/orgrt/checkpoint-ops.d.ts +10 -16
  341. package/dist/src/orgrt/checkpoint-ops.d.ts.map +1 -1
  342. package/dist/src/orgrt/checkpoint-ops.js +12 -18
  343. package/dist/src/orgrt/checkpoint-ops.js.map +1 -1
  344. package/dist/src/orgrt/checkpoint.d.ts +12 -1
  345. package/dist/src/orgrt/checkpoint.d.ts.map +1 -1
  346. package/dist/src/orgrt/checkpoint.js +19 -3
  347. package/dist/src/orgrt/checkpoint.js.map +1 -1
  348. package/dist/src/orgrt/codex-runner.d.ts +26 -2
  349. package/dist/src/orgrt/codex-runner.d.ts.map +1 -1
  350. package/dist/src/orgrt/codex-runner.js +359 -128
  351. package/dist/src/orgrt/codex-runner.js.map +1 -1
  352. package/dist/src/orgrt/copilot-runner.d.ts.map +1 -1
  353. package/dist/src/orgrt/copilot-runner.js +12 -2
  354. package/dist/src/orgrt/copilot-runner.js.map +1 -1
  355. package/dist/src/orgrt/cross-org.d.ts.map +1 -1
  356. package/dist/src/orgrt/cross-org.js +11 -0
  357. package/dist/src/orgrt/cross-org.js.map +1 -1
  358. package/dist/src/orgrt/crush-runner.d.ts +4 -1
  359. package/dist/src/orgrt/crush-runner.d.ts.map +1 -1
  360. package/dist/src/orgrt/crush-runner.js +42 -30
  361. package/dist/src/orgrt/crush-runner.js.map +1 -1
  362. package/dist/src/orgrt/daemon.d.ts +38 -25
  363. package/dist/src/orgrt/daemon.d.ts.map +1 -1
  364. package/dist/src/orgrt/daemon.js +150 -28
  365. package/dist/src/orgrt/daemon.js.map +1 -1
  366. package/dist/src/orgrt/decisions.d.ts +1 -0
  367. package/dist/src/orgrt/decisions.d.ts.map +1 -1
  368. package/dist/src/orgrt/decisions.js +20 -0
  369. package/dist/src/orgrt/decisions.js.map +1 -1
  370. package/dist/src/orgrt/grok-runner.d.ts.map +1 -1
  371. package/dist/src/orgrt/grok-runner.js +39 -14
  372. package/dist/src/orgrt/grok-runner.js.map +1 -1
  373. package/dist/src/orgrt/kimicode-runner.d.ts +53 -7
  374. package/dist/src/orgrt/kimicode-runner.d.ts.map +1 -1
  375. package/dist/src/orgrt/kimicode-runner.js +246 -144
  376. package/dist/src/orgrt/kimicode-runner.js.map +1 -1
  377. package/dist/src/orgrt/mailbox.d.ts +26 -1
  378. package/dist/src/orgrt/mailbox.d.ts.map +1 -1
  379. package/dist/src/orgrt/mailbox.js +74 -2
  380. package/dist/src/orgrt/mailbox.js.map +1 -1
  381. package/dist/src/orgrt/pi-rpc-runner.d.ts.map +1 -1
  382. package/dist/src/orgrt/pi-rpc-runner.js +76 -91
  383. package/dist/src/orgrt/pi-rpc-runner.js.map +1 -1
  384. package/dist/src/orgrt/policy.d.ts +11 -0
  385. package/dist/src/orgrt/policy.d.ts.map +1 -1
  386. package/dist/src/orgrt/policy.js +25 -2
  387. package/dist/src/orgrt/policy.js.map +1 -1
  388. package/dist/src/orgrt/provider.d.ts +29 -1
  389. package/dist/src/orgrt/provider.d.ts.map +1 -1
  390. package/dist/src/orgrt/provider.js +62 -2
  391. package/dist/src/orgrt/provider.js.map +1 -1
  392. package/dist/src/orgrt/qwen-rpc-runner.d.ts +56 -0
  393. package/dist/src/orgrt/qwen-rpc-runner.d.ts.map +1 -0
  394. package/dist/src/orgrt/qwen-rpc-runner.js +346 -0
  395. package/dist/src/orgrt/qwen-rpc-runner.js.map +1 -0
  396. package/dist/src/orgrt/qwen-runner.d.ts.map +1 -1
  397. package/dist/src/orgrt/qwen-runner.js +11 -8
  398. package/dist/src/orgrt/qwen-runner.js.map +1 -1
  399. package/dist/src/orgrt/scheduler-integration.d.ts.map +1 -1
  400. package/dist/src/orgrt/scheduler-integration.js +7 -0
  401. package/dist/src/orgrt/scheduler-integration.js.map +1 -1
  402. package/dist/src/orgrt/session.d.ts +29 -1
  403. package/dist/src/orgrt/session.d.ts.map +1 -1
  404. package/dist/src/orgrt/session.js +87 -18
  405. package/dist/src/orgrt/session.js.map +1 -1
  406. package/dist/src/orgrt/task-dag.d.ts +29 -1
  407. package/dist/src/orgrt/task-dag.d.ts.map +1 -1
  408. package/dist/src/orgrt/task-dag.js +54 -0
  409. package/dist/src/orgrt/task-dag.js.map +1 -1
  410. package/dist/src/orgrt/test-loop.d.ts.map +1 -1
  411. package/dist/src/orgrt/test-loop.js +86 -9
  412. package/dist/src/orgrt/test-loop.js.map +1 -1
  413. package/dist/src/orgrt/tool-fence.d.ts.map +1 -1
  414. package/dist/src/orgrt/tool-fence.js +15 -0
  415. package/dist/src/orgrt/tool-fence.js.map +1 -1
  416. package/dist/src/orgrt/types.d.ts +32 -1
  417. package/dist/src/orgrt/types.d.ts.map +1 -1
  418. package/dist/src/orgrt/types.js +47 -4
  419. package/dist/src/orgrt/types.js.map +1 -1
  420. package/dist/src/pricing/model-pricing.d.ts.map +1 -1
  421. package/dist/src/pricing/model-pricing.js +0 -4
  422. package/dist/src/pricing/model-pricing.js.map +1 -1
  423. package/dist/src/security/audit-log.d.ts +47 -0
  424. package/dist/src/security/audit-log.d.ts.map +1 -0
  425. package/dist/src/security/audit-log.js +84 -0
  426. package/dist/src/security/audit-log.js.map +1 -0
  427. package/dist/src/services/config-file-manager.d.ts +2 -2
  428. package/dist/src/services/config-file-manager.d.ts.map +1 -1
  429. package/dist/src/services/config-file-manager.js +6 -7
  430. package/dist/src/services/config-file-manager.js.map +1 -1
  431. package/dist/src/suggest.d.ts.map +1 -1
  432. package/dist/src/suggest.js +4 -5
  433. package/dist/src/suggest.js.map +1 -1
  434. package/dist/src/transfer/anonymization/index.d.ts +1 -1
  435. package/dist/src/transfer/anonymization/index.js +1 -1
  436. package/dist/src/types.d.ts +3 -3
  437. package/dist/src/types.d.ts.map +1 -1
  438. package/dist/src/ui/collector.mjs +9 -13
  439. package/dist/src/ui/dashboard.html +30 -10
  440. package/dist/src/ui/data/agent-avatars.html +0 -12
  441. package/dist/src/ui/data/agent-avatars.json +10 -26
  442. package/dist/src/ui/routes-org.mjs +59 -16
  443. package/dist/src/ui/server.mjs +50 -23
  444. package/dist/src/utils/json-file.d.ts +12 -0
  445. package/dist/src/utils/json-file.d.ts.map +1 -1
  446. package/dist/src/utils/json-file.js +11 -0
  447. package/dist/src/utils/json-file.js.map +1 -1
  448. package/dist/tsconfig.tsbuildinfo +1 -1
  449. package/package.json +4 -4
  450. package/.claude/agents/consensus/crdt-synchronizer.md +0 -977
  451. package/.claude/commands/hive-mind/README.md +0 -42
  452. package/.claude/commands/hive-mind/hive-mind-consensus.md +0 -72
  453. package/.claude/commands/hive-mind/hive-mind-init.md +0 -68
  454. package/.claude/commands/hive-mind/hive-mind-memory.md +0 -73
  455. package/.claude/commands/hive-mind/hive-mind-spawn.md +0 -82
  456. package/.claude/commands/hive-mind/hive-mind-status.md +0 -56
  457. package/.claude/commands/hive-mind/hive-mind-stop.md +0 -55
  458. package/.claude/commands/hive-mind/hive-mind.md +0 -87
  459. package/.claude/commands/swarm/README.md +0 -40
  460. package/.claude/commands/swarm/swarm.md +0 -79
  461. package/.claude/skills/hive-mind-advanced/SKILL.md +0 -347
  462. package/.claude/skills/swarm-advanced/SKILL.md +0 -936
  463. package/dist/src/commands/swarm.d.ts +0 -8
  464. package/dist/src/commands/swarm.d.ts.map +0 -1
  465. package/dist/src/commands/swarm.js.map +0 -1
  466. package/dist/src/mcp-tools/hive-mind-tools.d.ts +0 -17
  467. package/dist/src/mcp-tools/hive-mind-tools.d.ts.map +0 -1
  468. package/dist/src/mcp-tools/hive-mind-tools.js +0 -1239
  469. package/dist/src/mcp-tools/hive-mind-tools.js.map +0 -1
  470. package/dist/src/mcp-tools/swarm-tools.d.ts +0 -9
  471. package/dist/src/mcp-tools/swarm-tools.d.ts.map +0 -1
  472. package/dist/src/mcp-tools/swarm-tools.js +0 -411
  473. package/dist/src/mcp-tools/swarm-tools.js.map +0 -1
  474. package/dist/src/ui/data/avatars/crdt-synchronizer.svg +0 -53
  475. package/dist/src/ui/data/avatars/gossip-coordinator.svg +0 -54
  476. package/scripts/deploy-ipfs-node.sh +0 -153
  477. package/scripts/setup-ipfs-registry.md +0 -365
  478. /package/.claude/agents/{hive-mind → monoswarm}/scout-explorer.md +0 -0
  479. /package/.claude/agents/{hive-mind → monoswarm}/worker-specialist.md +0 -0
  480. /package/.claude/commands/{swarm → monoswarm}/analysis.md +0 -0
  481. /package/.claude/commands/{swarm → monoswarm}/development.md +0 -0
  482. /package/.claude/commands/{swarm → monoswarm}/examples.md +0 -0
  483. /package/.claude/commands/{swarm → monoswarm}/maintenance.md +0 -0
  484. /package/.claude/commands/{swarm → monoswarm}/optimization.md +0 -0
  485. /package/.claude/commands/{swarm → monoswarm}/testing.md +0 -0
  486. /package/dist/src/ui/data/avatars/{code-review-swarm.svg → monoswarm-code-review.svg} +0 -0
@@ -1,3 +1,18 @@
1
+ /** close() reasons that mean "paused, not dead" — the underlying condition
2
+ * (a budget cap) can be raised by an operator, unlike a crash/terminal
3
+ * close. Checked before re-closing a checkpointed mailbox on resume: a
4
+ * mailbox checkpointed with one of these reasons is left open instead of
5
+ * being re-closed, or the idle watchdog's "raise the budget and resume
6
+ * from checkpoint" remedy would silently do nothing — nothing in this
7
+ * codebase ever reopens a closed mailbox otherwise. The only production
8
+ * resume path is daemon.ts's inline spawnRole logic (where `new Mailbox()`
9
+ * is constructed for a role with a roleCheckpoint); checkpoint.ts's
10
+ * mergeCheckpoint() applies the same check but isn't currently called
11
+ * outside tests — keep both in sync if either changes. */
12
+ const BUDGET_CLOSE_REASONS = new Set(['token-budget', 'usd-budget']);
13
+ export function isRecoverableCloseReason(reason) {
14
+ return reason !== undefined && BUDGET_CLOSE_REASONS.has(reason);
15
+ }
1
16
  /**
2
17
  * Async message queue feeding one persistent SDK session.
3
18
  * push() from the daemon (deliveries from other agents / the user);
@@ -12,11 +27,21 @@ export class Mailbox {
12
27
  queue = [];
13
28
  wake = null;
14
29
  closed = false;
30
+ /** Why close() was called — e.g. 'token-budget' / 'usd-budget' — distinct
31
+ * from a crash/terminal close (undefined). Lets callers like the idle
32
+ * watchdog tell a recoverable budget pause from genuine unreachability. */
33
+ closeReasonValue;
15
34
  /** Bumped when a new stream() starts; stale generators see the mismatch and exit. */
16
35
  generation = 0;
17
36
  /** Monotonic count of REAL (non-continuation) messages consumed by stream().
18
37
  * The restart loop snapshots this around a session to tell progress from spin. */
19
38
  consumedReal = 0;
39
+ /** The most recently shift()ed-but-not-yet-confirmed-processed message: set
40
+ * right before stream() yields it, cleared once the generator is resumed
41
+ * for the next pull (proof the runner asked for more, i.e. the prior turn
42
+ * finished). If a session dies with this still set, the generator was
43
+ * abandoned mid-yield — see reclaimInFlight(). */
44
+ inFlight = null;
20
45
  /** Number of real (non-continuation) messages consumed so far across all sessions. */
21
46
  get consumedRealCount() { return this.consumedReal; }
22
47
  push(text) {
@@ -29,12 +54,26 @@ export class Mailbox {
29
54
  this.wake?.();
30
55
  this.wake = null;
31
56
  }
32
- close() {
57
+ close(reason) {
58
+ // First write wins. session.ts's result-message handler can call
59
+ // close() up to three times for one message (circuit-breaker trip,
60
+ // token-budget, USD-budget are independent sibling `if`s, not
61
+ // mutually exclusive) — without this guard the LAST call's reason
62
+ // silently overwrites the first, so a genuinely terminal
63
+ // circuit-breaker close could get misclassified as a recoverable
64
+ // budget close and the resume path would reopen a role that's
65
+ // supposed to require manual intervention.
66
+ if (this.closed)
67
+ return;
33
68
  this.closed = true;
69
+ this.closeReasonValue = reason;
34
70
  this.wake?.();
35
71
  this.wake = null;
36
72
  }
37
73
  get isClosed() { return this.closed; }
74
+ /** Why close() was called, if given a reason — undefined for a plain crash/
75
+ * terminal close. See the closeReasonValue field doc for intent. */
76
+ get closeReason() { return this.closeReasonValue; }
38
77
  /**
39
78
  * Detach the current waker WITHOUT resolving it. Called between sessions
40
79
  * (maxTurns restart, crash backoff): the dead session's generator may still
@@ -60,6 +99,10 @@ export class Mailbox {
60
99
  const gen = ++this.generation;
61
100
  // Drop (never resolve) any stale waker — see detach().
62
101
  this.wake = null;
102
+ // A fresh generator starts with nothing in flight — any prior value
103
+ // belonged to a now-dead generator and reclaimInFlight() (called from the
104
+ // crash-retry path, if at all) already had its chance to act on it.
105
+ this.inFlight = null;
63
106
  while (true) {
64
107
  while (this.queue.length > 0) {
65
108
  if (gen !== this.generation)
@@ -67,6 +110,7 @@ export class Mailbox {
67
110
  const content = this.queue.shift();
68
111
  if (!content.startsWith(Mailbox.CONTINUE_PREFIX))
69
112
  this.consumedReal++;
113
+ this.inFlight = content;
70
114
  yield {
71
115
  type: 'user',
72
116
  message: { role: 'user', content },
@@ -75,6 +119,10 @@ export class Mailbox {
75
119
  };
76
120
  if (gen !== this.generation)
77
121
  return;
122
+ // Resumed for another pull: the consumer asked for the next message,
123
+ // which only happens once it's done with this one — proof the prior
124
+ // turn completed rather than the session dying mid-processing.
125
+ this.inFlight = null;
78
126
  }
79
127
  if (this.closed || gen !== this.generation)
80
128
  return;
@@ -83,12 +131,33 @@ export class Mailbox {
83
131
  return;
84
132
  }
85
133
  }
134
+ /** Called by the crash-retry path right after a session dies abnormally. If
135
+ * a message was mid-flight — shifted for the crashed generator's yield but
136
+ * never confirmed processed, because the generator was abandoned at that
137
+ * yield rather than resumed for another pull — put it back at the front of
138
+ * the queue so the replacement session (built by the next stream() call)
139
+ * gets it first instead of the queue staying empty and the new session
140
+ * parking on the mailbox forever. A no-op when nothing was in flight
141
+ * (clean session end, or nothing was ever pulled). */
142
+ reclaimInFlight() {
143
+ if (this.inFlight === null)
144
+ return;
145
+ const content = this.inFlight;
146
+ this.inFlight = null;
147
+ this.queue.unshift(content);
148
+ // Undo the increment made when this message was shifted — it was never
149
+ // actually processed, so the restart loop's progress/spin detection
150
+ // should not count it as consumed.
151
+ if (!content.startsWith(Mailbox.CONTINUE_PREFIX))
152
+ this.consumedReal--;
153
+ }
86
154
  /** Serialize mailbox state for checkpoint/resume - Pattern 3 */
87
155
  serialize() {
88
156
  return {
89
157
  queue: [...this.queue], // Copy array - queue is public for checkpoint access
90
158
  closed: this.closed,
91
159
  consumedReal: this.consumedReal,
160
+ ...(this.closeReasonValue ? { closeReason: this.closeReasonValue } : {}),
92
161
  };
93
162
  }
94
163
  /** Deserialize mailbox state from checkpoint - Pattern 3 */
@@ -96,9 +165,12 @@ export class Mailbox {
96
165
  this.queue = [...state.queue]; // Restore queue content
97
166
  this.closed = state.closed;
98
167
  this.consumedReal = state.consumedReal;
99
- // Reset generation and wake - a new stream() call will set fresh values
168
+ this.closeReasonValue = state.closeReason; // undefined for checkpoints predating this field
169
+ // Reset generation, wake, and in-flight tracking - a new stream() call
170
+ // will set fresh values; nothing from a checkpointed run is "in flight".
100
171
  this.generation = 0;
101
172
  this.wake = null;
173
+ this.inFlight = null;
102
174
  }
103
175
  }
104
176
  //# sourceMappingURL=mailbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../../src/orgrt/mailbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mailbox.js","sourceRoot":"","sources":["../../../src/orgrt/mailbox.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pi-rpc-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/pi-rpc-runner.ts"],"names":[],"mappings":"AA2DA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUjF,UAAU,cAAc;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAE;AAC7I,UAAU,YAAY;IAAG,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;CAAE;AAEtD;;;;kBAIkB;AAClB,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAM;IACjB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAW7C;CACF;AAED;uDACuD;AACvD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE/F;AAED;;;;;mDAKmD;AACnD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAK9D;AAED;;;;;;iEAMiE;AACjE,MAAM,WAAW,YAAY;IAC3B,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,UAAU,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,YAAY,CAAC;AAKvI,qBAAa,gBAAiB,YAAW,WAAW;IACtC,OAAO,CAAC,KAAK,CAAC;IAAU,OAAO,CAAC,OAAO;IAAnD,YAAoB,KAAK,CAAC,EAAE,MAAM,YAAA,EAAU,OAAO,GAAE,UAA8B,EAAI;IAEhF,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAqR1D;CACF"}
1
+ {"version":3,"file":"pi-rpc-runner.d.ts","sourceRoot":"","sources":["../../../src/orgrt/pi-rpc-runner.ts"],"names":[],"mappings":"AAkEA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAWjF,UAAU,cAAc;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAAE;AAC7I,UAAU,YAAY;IAAG,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;CAAE;AAEtD;;;;kBAIkB;AAClB,qBAAa,YAAY;IACvB,OAAO,CAAC,GAAG,CAAM;IACjB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAW7C;CACF;AAED;uDACuD;AACvD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE/F;AAED;;;;;mDAKmD;AACnD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CAK9D;AAED;;;;;;iEAMiE;AACjE,MAAM,WAAW,YAAY;IAC3B,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,UAAU,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,YAAY,CAAC;AAKvI,qBAAa,gBAAiB,YAAW,WAAW;IACtC,OAAO,CAAC,KAAK,CAAC;IAAU,OAAO,CAAC,OAAO;IAAnD,YAAoB,KAAK,CAAC,EAAE,MAAM,YAAA,EAAU,OAAO,GAAE,UAA8B,EAAI;IAEhF,GAAG,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,CAgQ1D;CACF"}
@@ -11,57 +11,65 @@
11
11
  * session, so conversational context carries naturally (no --session-dir
12
12
  * resume guessing) and there's no per-turn spawn/bootstrap cost.
13
13
  *
14
- * Protocol — JSON objects, one per line (LF-delimited), verified against
15
- * pi-mono's rpc.md doc source directly (literal JSON examples quoted below,
16
- * not paraphrased from prose — unlike this file's sibling runners, which
17
- * work from public docs that don't always show raw wire examples):
14
+ * Protocol — JSON objects, one per line (LF-delimited). RESOLVED against a
15
+ * live pi v0.73.1 install (issue #179): pi's docs (docs/rpc.md, bundled with
16
+ * the package) define `agent_end` — "Emitted when the agent completes.
17
+ * Contains all messages generated during this run." — as a distinct event
18
+ * from `message_end`/`turn_end`, and it's exactly the "prompt is fully done"
19
+ * signal this runner needs. Confirmed live with a prompt that made pi run 3
20
+ * of its own native tools in sequence (read → edit → bash): the run produced
21
+ * 4 separate turn_start/turn_end cycles and many message_end events, but
22
+ * EXACTLY ONE agent_end, firing only after the last turn closed. This
23
+ * replaces the old get_state-polling heuristic entirely — no more `isStreaming`
24
+ * ambiguity to worry about.
18
25
  *
19
26
  * Client → server (this runner sends), each with an optional "id" for
20
27
  * response correlation:
21
28
  * {"type":"prompt","message":"<text>"} — new/continuing turn
22
- * {"type":"get_state"} — poll idle/streaming status
23
29
  * {"type":"abort"} — not used by this runner
24
30
  *
25
- * Server → client:
31
+ * Server → client (only agent_end is acted on; everything else — agent_start,
32
+ * turn_start/turn_end, message_start/message_update/message_end,
33
+ * tool_execution_* — is drained and ignored):
26
34
  * {"type":"response","command":"prompt","success":true}
27
- * {"type":"response","command":"get_state","success":true,
28
- * "data":{"isStreaming":false, ...}}
29
- * {"type":"agent_start"}
30
- * {"type":"message_update","usage":{"input":N,"output":N,"totalTokens":N,
31
- * "cost":{"total":N}},"assistantMessageEvent":{...}} — streaming deltas, ignored
32
- * {"type":"message_end","message":{"role":"assistant","content":[
33
- * {"type":"text","text":"..."},
34
- * {"type":"thinking","thinking":"..."},
35
- * {"type":"toolCall","id":"call_1","name":"bash","arguments":{...}}
36
- * ]}}
35
+ * {"type":"agent_end","messages":[
36
+ * {"role":"user","content":[{"type":"text","text":"..."}]},
37
+ * {"role":"assistant","content":[
38
+ * {"type":"thinking","thinking":"..."},
39
+ * {"type":"text","text":"..."},
40
+ * {"type":"toolCall","id":"call_1","name":"bash","arguments":{...}}
41
+ * ],"usage":{"input":N,"output":N,"totalTokens":N,"cost":{"total":N}}},
42
+ * {"role":"toolResult","content":[{"type":"text","text":"..."}]},
43
+ * ... (repeats per internal turn — one "assistant" entry per turn,
44
+ * each with ITS OWN per-turn `usage`, not cumulative)
45
+ * ]}
37
46
  *
38
- * KNOWN GAP — turn-completion detection is a best-effort HEURISTIC, not a
39
- * confirmed protocol contract: pi executes its own native tools (bash, file
40
- * edits, …) autonomously inside the RPC session, so a single `prompt` can
41
- * produce MULTIPLE agent_start/message_end cycles before pi is genuinely
42
- * done responding, and the docs don't show an explicit "fully idle" event
43
- * distinct from message_end. This runner sends `get_state` after every
44
- * message_end and treats `data.isStreaming === false` as "done" — a
45
- * reasonable, protocol-grounded inference (get_state IS documented), but
46
- * NOT independently verified against a live pi install (none was available
47
- * here). If pi's real behavior differs, this could end a turn early or hang
48
- * waiting past STARTUP_GRACE_MS. Validate against a real `pi --mode rpc`
49
- * session before relying on this in production; fall back to plain
50
- * `runtime: 'pi'` if it misbehaves.
47
+ * Usage accounting: `agent_end.messages` includes one `assistant` entry per
48
+ * internal turn, each carrying that turn's OWN `usage` (confirmed live: a
49
+ * 4-turn run had usage.output of 65/109/13/22 across the 4 assistant
50
+ * entries — small, turn-scoped numbers, not a running cumulative total).
51
+ * This runner sums `usage.input`/`usage.output` across every assistant
52
+ * entry in `agent_end.messages` to get the correct total for the prompt.
53
+ * The PREVIOUS implementation (overwriting from `message_update`'s running
54
+ * total, which only tracks the CURRENT assistant message) silently
55
+ * undercounted any prompt that triggered more than one internal turn —
56
+ * confirmed via the same live test above.
51
57
  *
52
58
  * Org tools (org_send, knowledge_search, ask_human, …) — FENCE PROTOCOL:
53
59
  * Pi's own native tools (bash, file edits) execute autonomously inside pi
54
60
  * itself and never reach this runner — only org tools ride the shared
55
- * tool-fence protocol (tool-fence.ts), extracted from message_end's text
56
- * content and fed back as a new `prompt` command in the SAME session.
61
+ * tool-fence protocol (tool-fence.ts), extracted from the assistant text
62
+ * in `agent_end.messages` and fed back as a new `prompt` command in the
63
+ * SAME session.
57
64
  */
58
65
  import { spawn } from 'node:child_process';
59
66
  import { join } from 'node:path';
60
67
  import { buildToolProtocol, parseToolCalls, executeToolCall, formatToolResults, MAX_TOOL_ROUNDS, TOOL_CALL_RE } from './tool-fence.js';
61
- /** Distinct from a turn timeout — this is how long we wait for pi to settle
62
- * to isStreaming:false after a message_end before giving up on the
63
- * heuristic and treating the turn as complete anyway (better to risk
64
- * cutting a turn slightly short than to hang forever on a wrong inference). */
68
+ /** Upper bound on how long a single prompt's wait for `agent_end` may run
69
+ * before the mid-session silence watchdog (below) considers pi wedged.
70
+ * Distinct from a hard per-turn deadline — a long-running prompt that's
71
+ * still producing events well within this window is not a hang; only
72
+ * total SILENCE past this bound is. */
65
73
  const SETTLE_TIMEOUT_MS = 10 * 60 * 1000; // 10 minutes
66
74
  const STARTUP_GRACE_MS = 45_000;
67
75
  /** Pure, transport-independent JSONL line decoder — feed it raw string
@@ -116,7 +124,13 @@ export class PiRpcAgentRunner {
116
124
  async *run(args) {
117
125
  const bin = this.piBin || process.env.PI_CLI_BIN || 'pi';
118
126
  const sessionDir = join(args.cwd, '.monomind-pi-session');
119
- const cliArgs = ['--mode', 'rpc', '--approve', '--session-dir', sessionDir];
127
+ // No --approve: confirmed against a live v0.73.1 install that pi rejects
128
+ // it outright ("Unknown option: --approve") — no such flag exists.
129
+ // Confirmed unnecessary too: built-in tools (read/edit/bash) execute
130
+ // autonomously in --mode rpc with zero confirmation gating (a live
131
+ // multi-tool prompt — read, edit, bash — ran end-to-end with no prompt
132
+ // or block). See #179.
133
+ const cliArgs = ['--mode', 'rpc', '--session-dir', sessionDir];
120
134
  if (args.model)
121
135
  cliArgs.push('--model', args.model);
122
136
  const child = this.spawnFn(bin, cliArgs, {
@@ -216,7 +230,7 @@ export class PiRpcAgentRunner {
216
230
  // the check entirely for the duration is the correct fix in both cases.
217
231
  let toolCallInFlight = false;
218
232
  let turnInFlight = false;
219
- const MID_SESSION_SILENCE_MS = SETTLE_TIMEOUT_MS; // reuse the same bound the settle-heuristic gives up at
233
+ const MID_SESSION_SILENCE_MS = SETTLE_TIMEOUT_MS; // reuse the same bound as the ceiling for total event silence
220
234
  const silenceWatchdog = setInterval(() => {
221
235
  if (closed || toolCallInFlight || !turnInFlight)
222
236
  return;
@@ -245,20 +259,11 @@ export class PiRpcAgentRunner {
245
259
  try {
246
260
  turnLoop: for (;;) {
247
261
  send({ type: 'prompt', message: nextMessage });
248
- const collectedText = [];
249
- const settleDeadline = Date.now() + SETTLE_TIMEOUT_MS;
250
- let sawMessageEnd = false;
262
+ let agentEndMessages;
251
263
  for (;;) {
252
264
  const ev = await nextEvent();
253
265
  disarmHang();
254
266
  const kind = ev.type;
255
- // Checked on EVERY event, not only get_state responses — a
256
- // stream of message_update/message_end events with pi never
257
- // actually answering get_state (e.g. it doesn't recognize the
258
- // command, or a response gets lost) would otherwise never hit
259
- // the deadline check below and could wait past it indefinitely.
260
- if (sawMessageEnd && Date.now() > settleDeadline)
261
- break;
262
267
  if (kind === '__closed__' || kind === '__error__' || kind === '__hang__') {
263
268
  if (kind === '__error__') {
264
269
  // Rethrow the ORIGINAL spawn error (not a fresh generic one)
@@ -276,53 +281,33 @@ export class PiRpcAgentRunner {
276
281
  : `PiRpcAgentRunner: pi rpc process ended unexpectedly (${kind})` +
277
282
  (stderrTail ? `\nstderr: ${stderrTail.slice(-500)}` : ''));
278
283
  }
279
- if (kind === 'message_update') {
280
- // Overwrite (not accumulate) — the confirmed example in this
281
- // file's header shows `usage` as a running total FOR THE
282
- // CURRENT RESPONSE, so the latest value read during a turn is
283
- // that turn's correct total. UNCONFIRMED: whether it's scoped
284
- // to the current prompt or to the whole (session-lifetime) rpc
285
- // process. If it turns out to be session-cumulative, every
286
- // turn after the first would over-report by including prior
287
- // turns' tokens — inflating org budget consumption. Validate
288
- // against a live pi install before relying on this for tight
289
- // budget enforcement; this is exactly the kind of gap opt-in
290
- // 'pi-rpc' (vs. default 'pi') is meant to warn callers about.
291
- const usage = ev.usage;
292
- if (usage) {
293
- turnInputTokens = usage.input ?? turnInputTokens;
294
- turnOutputTokens = usage.output ?? turnOutputTokens;
295
- }
296
- continue;
297
- }
298
- if (kind === 'message_end') {
299
- sawMessageEnd = true;
300
- const message = ev.message;
301
- if (message) {
302
- const text2 = extractPiRpcText(message);
303
- if (text2)
304
- collectedText.push(text2);
305
- }
306
- // See file header: get_state is the documented, best-effort
307
- // signal for "pi is done responding to this prompt", since a
308
- // single prompt can trigger multiple internal tool-use cycles.
309
- send({ type: 'get_state' });
310
- continue;
284
+ if (kind === 'agent_end') {
285
+ // See file header: agent_end is pi's own, confirmed-live,
286
+ // single unambiguous "this prompt is fully done" signal —
287
+ // fires exactly once even across multiple internal
288
+ // turn_start/turn_end cycles from pi's own native tool use.
289
+ agentEndMessages = ev.messages;
290
+ break;
311
291
  }
312
- if (kind === 'response' && ev.command === 'get_state') {
313
- const data = ev.data;
314
- if (data?.isStreaming === false)
315
- break; // turn settled — fall through to tool-fence handling below
316
- if (Date.now() > settleDeadline)
317
- break; // heuristic gave up — proceed rather than hang forever
318
- continue; // still streaming — keep waiting for more message_end cycles
292
+ // agent_start, turn_start/turn_end, message_start/message_update/
293
+ // message_end, tool_execution_* (pi's own native tools), other
294
+ // response acks — all drained and ignored; agent_end alone
295
+ // carries everything this runner needs (final text + usage).
296
+ }
297
+ if (!agentEndMessages)
298
+ break turnLoop; // process closed before agent_end — nothing to extract this round
299
+ const assistantMessages = agentEndMessages.filter((m) => m.role === 'assistant');
300
+ for (const m of assistantMessages) {
301
+ // Summed, not overwritten: each assistant entry carries ITS OWN
302
+ // per-turn usage (confirmed live — see file header), so summing
303
+ // across every internal turn in this agent_end is the correct
304
+ // total for the prompt just sent.
305
+ if (m.usage) {
306
+ turnInputTokens += m.usage.input ?? 0;
307
+ turnOutputTokens += m.usage.output ?? 0;
319
308
  }
320
- // agent_start, other response acks, tool_execution_* (pi's own
321
- // native tools — nothing for this runner to do) — ignored.
322
309
  }
323
- if (!sawMessageEnd)
324
- break turnLoop; // nothing to extract this round — avoid an infinite loop on an empty settle
325
- const rawText = collectedText.join('\n');
310
+ const rawText = assistantMessages.map((m) => extractPiRpcText(m)).filter(Boolean).join('\n');
326
311
  const visibleText = rawText.replace(TOOL_CALL_RE, '').trim();
327
312
  if (visibleText)
328
313
  yield { type: 'assistant', text: visibleText };
@@ -1 +1 @@
1
- {"version":3,"file":"pi-rpc-runner.js","sourceRoot":"","sources":["../../../src/orgrt/pi-rpc-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pi-rpc-runner.js","sourceRoot":"","sources":["../../../src/orgrt/pi-rpc-runner.ts"],"names":[],"mappings":"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"}
@@ -19,12 +19,23 @@ export declare class PolicyEngine {
19
19
  private bus;
20
20
  private cwd;
21
21
  private used;
22
+ /** ORG-7: accumulated USD cost for this role, mirrors `used` (tokens). */
23
+ private usedUsd;
22
24
  constructor(role: string, policy: RolePolicy, bus: OrgBus, cwd: string);
23
25
  addUsage(tokens: number): void;
24
26
  get usage(): number;
25
27
  /** Set usage counter directly for checkpoint/resume - Pattern 3 */
26
28
  setUsage(tokens: number): void;
27
29
  get overBudget(): boolean;
30
+ /** ORG-7: accumulate real USD cost (from 'usage' bus events' data.cost_usd). */
31
+ addUsageUsd(costUsd: number): void;
32
+ get usageUsd(): number;
33
+ /** Set USD usage counter directly for checkpoint/resume, mirrors setUsage(). */
34
+ setUsageUsd(costUsd: number): void;
35
+ /** ORG-7: parallel to overBudget (token), but for the role's USD spend cap
36
+ * (policy.maxUsd, from OrgRole.budget_usd). Unset maxUsd means no USD
37
+ * enforcement for this role — only overBudget (tokens) applies. */
38
+ get overBudgetUsd(): boolean;
28
39
  decide(tool: string, input: Record<string, unknown>): Promise<Decision>;
29
40
  }
30
41
  /** webAllow entry matcher. `*` allows any host (the intuitive "no
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/orgrt/policy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC5D;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAgB1C;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYjD;AAED,qBAAa,YAAY;IAGrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,UAAU;IAC3B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,GAAG;IALb,OAAO,CAAC,IAAI,CAAK;IACjB,YACW,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACjB;IAEJ,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAyB;IACvD,IAAI,KAAK,IAAI,MAAM,CAAsB;IACzC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAwB;IACtD,IAAI,UAAU,IAAI,OAAO,CAExB;IAEK,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAqE5E;CACF;AAED;;2EAE2E;AAC3E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOvE"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/orgrt/policy.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,MAAM,QAAQ,GAChB;IAAE,QAAQ,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC5D;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAgB1C;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYjD;AAED,qBAAa,YAAY;IAKrB,QAAQ,CAAC,IAAI,EAAE,MAAM;IACrB,QAAQ,CAAC,MAAM,EAAE,UAAU;IAC3B,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,GAAG;IAPb,OAAO,CAAC,IAAI,CAAK;IACjB,0EAA0E;IAC1E,OAAO,CAAC,OAAO,CAAK;IACpB,YACW,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EACnB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,EACjB;IAEJ,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAyB;IACvD,IAAI,KAAK,IAAI,MAAM,CAAsB;IACzC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAwB;IACtD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,gFAAgF;IAChF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAA6B;IAC/D,IAAI,QAAQ,IAAI,MAAM,CAAyB;IAC/C,gFAAgF;IAChF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAA4B;IAC9D;;wEAEoE;IACpE,IAAI,aAAa,IAAI,OAAO,CAE3B;IAEK,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8E5E;CACF;AAED;;2EAE2E;AAC3E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOvE"}
@@ -1,5 +1,5 @@
1
1
  // packages/@monomind/cli/src/orgrt/policy.ts
2
- import { relative, resolve } from 'node:path';
2
+ import { relative, resolve, sep } from 'node:path';
3
3
  const WRITE_TOOLS = new Set(['Write', 'Edit', 'NotebookEdit']);
4
4
  /** Harness messaging tools that bypass the org bus. Always denied: an agent
5
5
  * that picks one gets the SDK's misleading "no agent named X is reachable"
@@ -53,6 +53,8 @@ export class PolicyEngine {
53
53
  bus;
54
54
  cwd;
55
55
  used = 0;
56
+ /** ORG-7: accumulated USD cost for this role, mirrors `used` (tokens). */
57
+ usedUsd = 0;
56
58
  constructor(role, policy, bus, cwd) {
57
59
  this.role = role;
58
60
  this.policy = policy;
@@ -66,6 +68,17 @@ export class PolicyEngine {
66
68
  get overBudget() {
67
69
  return this.policy.maxTokens != null && this.used >= this.policy.maxTokens;
68
70
  }
71
+ /** ORG-7: accumulate real USD cost (from 'usage' bus events' data.cost_usd). */
72
+ addUsageUsd(costUsd) { this.usedUsd += costUsd; }
73
+ get usageUsd() { return this.usedUsd; }
74
+ /** Set USD usage counter directly for checkpoint/resume, mirrors setUsage(). */
75
+ setUsageUsd(costUsd) { this.usedUsd = costUsd; }
76
+ /** ORG-7: parallel to overBudget (token), but for the role's USD spend cap
77
+ * (policy.maxUsd, from OrgRole.budget_usd). Unset maxUsd means no USD
78
+ * enforcement for this role — only overBudget (tokens) applies. */
79
+ get overBudgetUsd() {
80
+ return this.policy.maxUsd != null && this.usedUsd >= this.policy.maxUsd;
81
+ }
69
82
  async decide(tool, input) {
70
83
  const deny = (reason) => {
71
84
  this.bus.emit({ type: 'tool', from: this.role, tool, decision: 'deny', reason, data: { input: summarize(input) } });
@@ -94,6 +107,8 @@ export class PolicyEngine {
94
107
  return deny(`${tool} does not reach org agents — inter-agent messaging goes through the org_send tool only; resend via org_send (to, subject, message)`);
95
108
  if (this.overBudget)
96
109
  return deny(`token budget exhausted (${this.used}/${this.policy.maxTokens})`);
110
+ if (this.overBudgetUsd)
111
+ return deny(`USD budget exhausted ($${this.usedUsd.toFixed(4)}/$${this.policy.maxUsd})`);
97
112
  if (this.policy.denyTools?.includes(tool))
98
113
  return deny(`tool ${tool} is denied for role ${this.role}`);
99
114
  if (this.policy.allowTools && !this.policy.allowTools.includes(tool) && !tool.startsWith('mcp__org__'))
@@ -114,7 +129,15 @@ export class PolicyEngine {
114
129
  const rel = relative(this.cwd, resolve(this.cwd, p));
115
130
  if (rel.startsWith('..'))
116
131
  return deny(`path escapes org workdir: ${p}`);
117
- if (!globs.some(g => globToRegExp(g).test(rel)))
132
+ // fileWrite/fileRead globs are always authored with '/' separators (POSIX
133
+ // convention, matches every example in types.ts and the skill docs) — but
134
+ // path.relative()/path.resolve() return '\'-separated paths on Windows, and
135
+ // globToRegExp treats '\' as a literal character, not a separator. Without
136
+ // normalizing, every glob with a '/' in it silently fails to match on
137
+ // Windows and a role with ANY fileWrite/fileRead scope narrower than the
138
+ // unrestricted ['**'] default is denied on every single call.
139
+ const relPosix = rel.split(sep).join('/');
140
+ if (!globs.some(g => globToRegExp(g).test(relPosix)))
118
141
  return deny(`path ${rel} outside ${WRITE_TOOLS.has(tool) ? 'write' : 'read'} scope`);
119
142
  }
120
143
  }
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/orgrt/policy.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQ9C,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AAC/D;;;4DAG4D;AAC5D,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AACzD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACrD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AACrD;uFACuF;AACvF,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,IAAI,UAAU,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACvE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,IAAI,IAAI,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAAC,GAAG,IAAI,OAAO,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACjD,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC/D,GAAG,IAAI,CAAC,CAAC;QAAC,CAAC,EAAE,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,OAAO,YAAY;IAGZ,IAAI;IACJ,MAAM;IACP,GAAG;IACH,GAAG;IALL,IAAI,GAAG,CAAC,CAAC;IACjB,YACW,IAAY,EACZ,MAAkB,EACnB,GAAW,EACX,GAAW;oBAHV,IAAI;sBACJ,MAAM;mBACP,GAAG;mBACH,GAAG;IACV,CAAC;IAEJ,QAAQ,CAAC,MAAc,IAAU,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,mEAAmE;IACnE,QAAQ,CAAC,MAAc,IAAU,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IACtD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,KAA8B;QACvD,MAAM,IAAI,GAAG,CAAC,MAAc,EAAY,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACpH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,MAAM,EAAE,EAAE,CAAC;QACjE,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,GAAa,EAAE;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7G,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACjE,2EAA2E;gBAC3E,0EAA0E;gBAC1E,0EAA0E;gBAC1E,uEAAuE;gBACvE,uEAAuE;gBACvE,yEAAyE;gBACzE,wEAAwE;gBACxE,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;uBAChE,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;oBAC7D,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QACpD,CAAC,CAAC;QAEF,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC;YACnC,OAAO,IAAI,CAAC,GAAG,IAAI,oIAAoI,CAAC,CAAC;QAC3J,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,2BAA2B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QACnG,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,IAAI,uBAAuB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YACpG,OAAO,IAAI,CAAC,QAAQ,IAAI,8BAA8B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAErE,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3G,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YAC7D,MAAM,CAAC,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;gBAC7D,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChC,uEAAuE;gBACvE,mEAAmE;gBACnE,qEAAqE;gBACrE,uEAAuE;gBACvE,OAAO,IAAI,CAAC,GAAG,IAAI,mCAAmC,IAAI,CAAC,IAAI,MAAM,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,kDAAkD,CAAC,CAAC;YACnK,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC,QAAQ,GAAG,YAAY,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC;YACxI,CAAC;QACH,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC;YAC3C,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,SAAS;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,gCAAgC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAChG,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBACrE,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,GAAG,4BAA4B,CAAC,CAAC;YACnE,CAAC;YACD,kEAAkE;QACpE,CAAC;QAED,OAAO,KAAK,EAAE,CAAC;IACjB,CAAC;CACF;AAED;;2EAE2E;AAC3E,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAY;IAC5D,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,8EAA8E;AAC9E,+EAA+E;AAC/E,uEAAuE;AACvE,8EAA8E;AAC9E,2EAA2E;AAC3E,MAAM,aAAa,GAAG,4IAA4I,CAAC;AACnK,MAAM,eAAe,GAAG,+GAA+G,CAAC;AACxI,MAAM,aAAa,GAAG,gDAAgD,CAAC;AAEvE;;+BAE+B;AAC/B,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AAE5H;;;;;;;;;;;;;;;GAeG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,oEAAoE;QACpE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QACpD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAuB,uBAAuB;YAC5E,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC,CAAC,cAAc;YACpE,CAAC,IAAI,CAAC,CAAC,CAA8C,0BAA0B;QACjF,CAAC;QACD,8EAA8E;QAC9E,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,KAA0C;IAC7E,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,oCAAoC;IAE5E,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,+DAA+D,CAAC;IAE7F,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,qCAAqC;QAE5E,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAO,OAAO,GAAG,wBAAwB,KAAK,oDAAoD,CAAC;YACzH,SAAS;QACX,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAO,OAAO,GAAG,uFAAuF,CAAC;YAC/H,SAAS;QACX,CAAC;QACD,uEAAuE;QACvE,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,OAAO,GAAG,yDAAyD,CAAC;IACnG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC;QAAC,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC9D,CAAC;AACD,SAAS,SAAS,CAAC,KAA8B;IAC/C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,GAAG,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../src/orgrt/policy.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAQnD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;AAC/D;;;4DAG4D;AAC5D,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AACzD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AACrD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;AACrD;uFACuF;AACvF,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAElC,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3D;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAY;IACvC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,IAAI,UAAU,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACvE,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,IAAI,IAAI,CAAC;YAAC,CAAC,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAAC,GAAG,IAAI,OAAO,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QACjD,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC;YAAC,CAAC,EAAE,CAAC;YAAC,SAAS;QAAC,CAAC;QAC/D,GAAG,IAAI,CAAC,CAAC;QAAC,CAAC,EAAE,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,OAAO,YAAY;IAKZ,IAAI;IACJ,MAAM;IACP,GAAG;IACH,GAAG;IAPL,IAAI,GAAG,CAAC,CAAC;IACjB,0EAA0E;IAClE,OAAO,GAAG,CAAC,CAAC;IACpB,YACW,IAAY,EACZ,MAAkB,EACnB,GAAW,EACX,GAAW;oBAHV,IAAI;sBACJ,MAAM;mBACP,GAAG;mBACH,GAAG;IACV,CAAC;IAEJ,QAAQ,CAAC,MAAc,IAAU,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,mEAAmE;IACnE,QAAQ,CAAC,MAAc,IAAU,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;IACtD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;IAC7E,CAAC;IAED,gFAAgF;IAChF,WAAW,CAAC,OAAe,IAAU,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC;IAC/D,IAAI,QAAQ,KAAa,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/C,gFAAgF;IAChF,WAAW,CAAC,OAAe,IAAU,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAC9D;;wEAEoE;IACpE,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,KAA8B;QACvD,MAAM,IAAI,GAAG,CAAC,MAAc,EAAY,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YACpH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,MAAM,EAAE,EAAE,CAAC;QACjE,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,GAAa,EAAE;YAC3B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7G,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACjE,2EAA2E;gBAC3E,0EAA0E;gBAC1E,0EAA0E;gBAC1E,uEAAuE;gBACvE,uEAAuE;gBACvE,yEAAyE;gBACzE,wEAAwE;gBACxE,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;uBAChE,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC5E,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;oBAC7D,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxD,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;QACpD,CAAC,CAAC;QAEF,IAAI,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC;YACnC,OAAO,IAAI,CAAC,GAAG,IAAI,oIAAoI,CAAC,CAAC;QAC3J,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,2BAA2B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC;QACnG,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,0BAA0B,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QACjH,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,QAAQ,IAAI,uBAAuB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACvG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;YACpG,OAAO,IAAI,CAAC,QAAQ,IAAI,8BAA8B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAErE,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3G,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;YAC7D,MAAM,CAAC,GAAG,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;gBAC7D,CAAC,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACvD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChC,uEAAuE;gBACvE,mEAAmE;gBACnE,qEAAqE;gBACrE,uEAAuE;gBACvE,OAAO,IAAI,CAAC,GAAG,IAAI,mCAAmC,IAAI,CAAC,IAAI,MAAM,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,kDAAkD,CAAC,CAAC;YACnK,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrD,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;oBAAE,OAAO,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;gBACxE,0EAA0E;gBAC1E,0EAA0E;gBAC1E,4EAA4E;gBAC5E,2EAA2E;gBAC3E,sEAAsE;gBACtE,yEAAyE;gBACzE,8DAA8D;gBAC9D,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAAE,OAAO,IAAI,CAAC,QAAQ,GAAG,YAAY,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,CAAC;YAC7I,CAAC;QACH,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC;YAC3C,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,SAAS;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,gCAAgC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAChG,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/C,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;oBACrE,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,GAAG,4BAA4B,CAAC,CAAC;YACnE,CAAC;YACD,kEAAkE;QACpE,CAAC;QAED,OAAO,KAAK,EAAE,CAAC;IACjB,CAAC;CACF;AAED;;2EAE2E;AAC3E,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,IAAY;IAC5D,IAAI,OAAO,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,8EAA8E;AAC9E,+EAA+E;AAC/E,uEAAuE;AACvE,8EAA8E;AAC9E,2EAA2E;AAC3E,MAAM,aAAa,GAAG,4IAA4I,CAAC;AACnK,MAAM,eAAe,GAAG,+GAA+G,CAAC;AACxI,MAAM,aAAa,GAAG,gDAAgD,CAAC;AAEvE;;+BAE+B;AAC/B,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC;AAE5H;;;;;;;;;;;;;;;GAeG;AACH,SAAS,cAAc,CAAC,GAAW;IACjC,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,oEAAoE;QACpE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QACpD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACd,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,MAAM,CAAuB,uBAAuB;YAC5E,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAAC,CAAC,IAAI,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC,CAAC,cAAc;YACpE,CAAC,IAAI,CAAC,CAAC,CAA8C,0BAA0B;QACjF,CAAC;QACD,8EAA8E;QAC9E,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,KAA0C;IAC7E,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,oCAAoC;IAE5E,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,+DAA+D,CAAC;IAE7F,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,qCAAqC;QAE5E,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAO,OAAO,GAAG,wBAAwB,KAAK,oDAAoD,CAAC;YACzH,SAAS;QACX,CAAC;QACD,IAAI,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,KAAK,KAAK,MAAM;gBAAE,OAAO,OAAO,GAAG,uFAAuF,CAAC;YAC/H,SAAS;QACX,CAAC;QACD,uEAAuE;QACvE,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,OAAO,GAAG,yDAAyD,CAAC;IACnG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,CAAC;QAAC,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;AAC9D,CAAC;AACD,SAAS,SAAS,CAAC,KAA8B;IAC/C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;QACxC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,GAAG,CAAC;AACb,CAAC"}