maestro-flow 0.3.15 → 0.3.17

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 (390) hide show
  1. package/.claude/agents/workflow-planner.md +24 -8
  2. package/.claude/commands/maestro-amend.md +300 -0
  3. package/.claude/commands/maestro-analyze.md +1 -49
  4. package/.claude/commands/maestro-execute.md +2 -56
  5. package/.claude/commands/maestro-fork.md +3 -50
  6. package/.claude/commands/maestro-merge.md +2 -26
  7. package/.claude/commands/maestro-milestone-audit.md +1 -5
  8. package/.claude/commands/maestro-milestone-complete.md +1 -7
  9. package/.claude/commands/maestro-plan.md +6 -127
  10. package/.claude/commands/maestro-roadmap.md +3 -101
  11. package/.claude/commands/maestro-spec-generate.md +1 -25
  12. package/.claude/commands/maestro-ui-design.md +14 -73
  13. package/.claude/commands/maestro-verify.md +1 -32
  14. package/.claude/commands/maestro.md +13 -30
  15. package/.claude/commands/manage-harvest.md +7 -44
  16. package/.claude/commands/manage-knowhow-capture.md +193 -0
  17. package/.claude/commands/{manage-memory.md → manage-knowhow.md} +77 -88
  18. package/.claude/commands/manage-learn.md +3 -28
  19. package/.claude/commands/manage-status.md +1 -20
  20. package/.claude/commands/manage-wiki.md +1 -1
  21. package/.claude/commands/quality-business-test.md +1 -1
  22. package/.claude/commands/quality-debug.md +3 -18
  23. package/.claude/commands/quality-integration-test.md +3 -23
  24. package/.claude/commands/quality-retrospective.md +1 -28
  25. package/.claude/commands/quality-review.md +3 -52
  26. package/.claude/commands/quality-test-gen.md +1 -10
  27. package/.claude/commands/quality-test.md +3 -25
  28. package/.claude/commands/spec-add.md +1 -21
  29. package/.claude/commands/spec-load.md +1 -16
  30. package/.claude/commands/wiki-connect.md +2 -112
  31. package/.claude/commands/wiki-digest.md +2 -141
  32. package/.codex/skills/learn-decompose/SKILL.md +2 -8
  33. package/.codex/skills/maestro/SKILL.md +60 -146
  34. package/.codex/skills/maestro-analyze/SKILL.md +52 -150
  35. package/.codex/skills/maestro-brainstorm/SKILL.md +36 -91
  36. package/.codex/skills/maestro-composer/SKILL.md +4 -76
  37. package/.codex/skills/maestro-execute/SKILL.md +46 -177
  38. package/.codex/skills/maestro-init/SKILL.md +7 -51
  39. package/.codex/skills/maestro-link-coordinate/SKILL.md +56 -229
  40. package/.codex/skills/maestro-milestone-audit/SKILL.md +7 -36
  41. package/.codex/skills/maestro-milestone-complete/SKILL.md +11 -93
  42. package/.codex/skills/maestro-overlay/SKILL.md +23 -92
  43. package/.codex/skills/maestro-plan/SKILL.md +70 -166
  44. package/.codex/skills/maestro-player/SKILL.md +24 -149
  45. package/.codex/skills/maestro-quick/SKILL.md +5 -48
  46. package/.codex/skills/maestro-roadmap/SKILL.md +21 -66
  47. package/.codex/skills/maestro-spec-generate/SKILL.md +20 -56
  48. package/.codex/skills/maestro-ui-design/SKILL.md +6 -53
  49. package/.codex/skills/maestro-verify/SKILL.md +39 -136
  50. package/.codex/skills/manage-codebase-rebuild/SKILL.md +25 -75
  51. package/.codex/skills/manage-codebase-refresh/SKILL.md +5 -32
  52. package/.codex/skills/manage-issue/SKILL.md +1 -6
  53. package/.codex/skills/manage-issue-discover/SKILL.md +33 -93
  54. package/.codex/skills/{manage-memory → manage-knowhow}/SKILL.md +95 -95
  55. package/.codex/skills/manage-knowhow-capture/SKILL.md +110 -0
  56. package/.codex/skills/manage-learn/SKILL.md +17 -71
  57. package/.codex/skills/manage-status/SKILL.md +4 -35
  58. package/.codex/skills/manage-wiki/SKILL.md +1 -1
  59. package/.codex/skills/quality-business-test/SKILL.md +2 -14
  60. package/.codex/skills/quality-debug/SKILL.md +41 -133
  61. package/.codex/skills/quality-integration-test/SKILL.md +36 -145
  62. package/.codex/skills/quality-refactor/SKILL.md +6 -59
  63. package/.codex/skills/quality-retrospective/SKILL.md +292 -531
  64. package/.codex/skills/quality-review/SKILL.md +30 -65
  65. package/.codex/skills/quality-sync/SKILL.md +2 -11
  66. package/.codex/skills/quality-test/SKILL.md +4 -45
  67. package/.codex/skills/quality-test-gen/SKILL.md +33 -121
  68. package/.codex/skills/spec-add/SKILL.md +2 -9
  69. package/.codex/skills/spec-load/SKILL.md +4 -14
  70. package/.codex/skills/spec-map/SKILL.md +4 -37
  71. package/.codex/skills/spec-remove/SKILL.md +3 -35
  72. package/.codex/skills/spec-setup/SKILL.md +2 -19
  73. package/.codex/skills/team-coordinate/SKILL.md +20 -132
  74. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +61 -215
  75. package/.codex/skills/team-executor/SKILL.md +7 -66
  76. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +60 -182
  77. package/.codex/skills/team-executor/specs/session-schema.md +22 -56
  78. package/.codex/skills/team-lifecycle-v4/SKILL.md +22 -143
  79. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +31 -223
  80. package/.codex/skills/team-quality-assurance/SKILL.md +14 -88
  81. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +46 -186
  82. package/.codex/skills/team-review/SKILL.md +12 -86
  83. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +49 -187
  84. package/.codex/skills/team-tech-debt/SKILL.md +11 -50
  85. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +50 -239
  86. package/.codex/skills/team-testing/SKILL.md +14 -99
  87. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +52 -228
  88. package/.codex/skills/wiki-connect/SKILL.md +2 -5
  89. package/README.md +6 -0
  90. package/README.zh-CN.md +6 -0
  91. package/chains/_intent-map.json +7 -7
  92. package/chains/singles/{memory-capture.json → knowhow-capture.json} +5 -5
  93. package/chains/singles/{memory.json → knowhow.json} +6 -6
  94. package/dashboard/dist/assets/{ArtifactsPage-CUrrDGgN.js → ArtifactsPage-iJZtYsmR.js} +6 -6
  95. package/dashboard/dist/assets/ChatInput-DNnDLdQF.js +6 -0
  96. package/dashboard/dist/assets/ChatPage-BjBibfE4.js +22 -0
  97. package/dashboard/dist/assets/{CollabPage-DIUXeazv.js → CollabPage-8lUMUol_.js} +1 -1
  98. package/dashboard/dist/assets/{ExecutionPanel-VmYeADFj.js → ExecutionPanel-BKV3GZ7Q.js} +1 -1
  99. package/dashboard/dist/assets/{KanbanPage-DLq8v7hg.js → KanbanPage-diY3QmGd.js} +2 -2
  100. package/dashboard/dist/assets/{MarkdownRenderer-D7AehrnR.js → MarkdownRenderer-cYFfe1uX.js} +1 -1
  101. package/dashboard/dist/assets/McpPage-COjuIf7U.js +21 -0
  102. package/dashboard/dist/assets/MeetingRoomPage-wnvT7wlB.js +85 -0
  103. package/dashboard/dist/assets/{OutputPanel-B-Rjwgmv.js → OutputPanel-DDL90Idy.js} +1 -1
  104. package/dashboard/dist/assets/{ProblemsPanel-GEpF-oi4.js → ProblemsPanel-zFN9IIs0.js} +1 -1
  105. package/dashboard/dist/assets/{RequirementBoardPage-xs8uDM7I.js → RequirementBoardPage-DOPJoT0I.js} +2 -2
  106. package/dashboard/dist/assets/{RequirementPage-BKDSFwjA.js → RequirementPage-CEVquRgM.js} +1 -1
  107. package/dashboard/dist/assets/RoomsPage-D5USEWDh.js +1 -0
  108. package/dashboard/dist/assets/{SpecsPage-DLFb9ZH0.js → SpecsPage-BOwBin_o.js} +1 -1
  109. package/dashboard/dist/assets/{SupervisorPage-SOki_kgz.js → SupervisorPage-5iRyMU5T.js} +1 -1
  110. package/dashboard/dist/assets/TeamsPage-DlcEmr_Q.js +1 -0
  111. package/dashboard/dist/assets/{TreeBrowser-B9DHdULE.js → TreeBrowser-Y48Wz-QY.js} +1 -1
  112. package/dashboard/dist/assets/WorkflowPage-CmQaRVgL.js +6 -0
  113. package/dashboard/dist/assets/arrow-left-NCUOENvg.js +6 -0
  114. package/dashboard/dist/assets/{check-DJDk3A2a.js → check-o7nfGNHf.js} +1 -1
  115. package/dashboard/dist/assets/{chevron-right-C7bVDreZ.js → chevron-right-BXySK2fn.js} +1 -1
  116. package/dashboard/dist/assets/{circle-alert-Na1vf6qQ.js → circle-alert-DcSBokh4.js} +1 -1
  117. package/dashboard/dist/assets/{circle-check-CEGgy3NV.js → circle-check-Cd-jce4j.js} +1 -1
  118. package/dashboard/dist/assets/{circle-check-big-3JB8zRYj.js → circle-check-big-BN7Mdp4i.js} +1 -1
  119. package/dashboard/dist/assets/{circle-Qfgy4LB_.js → circle-cooAwnAR.js} +1 -1
  120. package/dashboard/dist/assets/{code-Ble63Idz.js → code-BQa9oL1n.js} +1 -1
  121. package/dashboard/dist/assets/{columns-3-BUcKlxve.js → columns-3-BzgxelGx.js} +1 -1
  122. package/dashboard/dist/assets/{download-CMqkfn8x.js → download-swRJnate.js} +1 -1
  123. package/dashboard/dist/assets/en-C_BD3UCD.js +1 -0
  124. package/dashboard/dist/assets/{folder-B9ewx9LL.js → folder-DbGbLNFN.js} +1 -1
  125. package/dashboard/dist/assets/index-BEUaOz_b.css +1 -0
  126. package/dashboard/dist/assets/{index-JTmGteaT.js → index-DIoMBMbv.js} +1 -1
  127. package/dashboard/dist/assets/index-DLBN_7fb.js +44 -0
  128. package/dashboard/dist/assets/index-uIqUCT8y.js +236 -0
  129. package/dashboard/dist/assets/{list-DI8Wn2aT.js → list-BTRAIvDq.js} +1 -1
  130. package/dashboard/dist/assets/loader-NHtB6Mdn.js +6 -0
  131. package/dashboard/dist/assets/{minus-Lp_BfctG.js → minus-BjMxRTET.js} +1 -1
  132. package/dashboard/dist/assets/{pen-line-Ch7sphzZ.js → pen-line-C4_O16H0.js} +1 -1
  133. package/dashboard/dist/assets/{pencil-_yRMHmGT.js → pencil-DTmKhyDY.js} +1 -1
  134. package/dashboard/dist/assets/{proxy-D72Y8a4Y.js → proxy-Dtx5p6IO.js} +1 -1
  135. package/dashboard/dist/assets/rows-2-GR1dZtRu.js +6 -0
  136. package/dashboard/dist/assets/{search-BS6fI6Bg.js → search-DVtgy2W7.js} +1 -1
  137. package/dashboard/dist/assets/{shallow-BXasQBvr.js → shallow-BOmvDNsv.js} +1 -1
  138. package/dashboard/dist/assets/{table-CeGlFjlP.js → table-DCzuJAFh.js} +1 -1
  139. package/dashboard/dist/assets/team-types-BPeOvVdA.js +6 -0
  140. package/dashboard/dist/assets/{terminal-BJic2yW-.js → terminal-CzogW4cl.js} +1 -1
  141. package/dashboard/dist/assets/{trash-2-Czz4X8Fb.js → trash-2-52LATVfW.js} +1 -1
  142. package/dashboard/dist/assets/users-DLFE2voE.js +6 -0
  143. package/dashboard/dist/assets/{zap-C3H0jVFA.js → zap-DhiYlgyZ.js} +1 -1
  144. package/dashboard/dist/assets/zh-CN-DvQKfow3.js +1 -0
  145. package/dashboard/dist/index.html +2 -2
  146. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.d.ts +2 -0
  147. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +19 -11
  148. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  149. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +5 -0
  150. package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -1
  151. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +1 -0
  152. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +21 -4
  153. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  154. package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js +8 -0
  155. package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js.map +1 -1
  156. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +6 -6
  157. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -1
  158. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js +2 -2
  159. package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js.map +1 -1
  160. package/dashboard/dist-server/dashboard/src/server/index.js +14 -3
  161. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  162. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.d.ts +24 -0
  163. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js +220 -0
  164. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.js.map +1 -0
  165. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.d.ts +1 -0
  166. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js +115 -0
  167. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/mcp-config-builder.test.js.map +1 -0
  168. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.d.ts +44 -0
  169. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js +260 -0
  170. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.js.map +1 -0
  171. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.d.ts +1 -0
  172. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js +194 -0
  173. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/meeting-room-mcp-server.test.js.map +1 -0
  174. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.d.ts +2 -0
  175. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js +279 -0
  176. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/stdio-bridge.js.map +1 -0
  177. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.d.ts +14 -0
  178. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js +131 -0
  179. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.js.map +1 -0
  180. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.d.ts +1 -0
  181. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js +134 -0
  182. package/dashboard/dist-server/dashboard/src/server/rooms/mcp-server/tcp-helpers.test.js.map +1 -0
  183. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.d.ts +51 -0
  184. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js +185 -0
  185. package/dashboard/dist-server/dashboard/src/server/rooms/meeting-room-session.js.map +1 -0
  186. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.d.ts +29 -0
  187. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js +125 -0
  188. package/dashboard/dist-server/dashboard/src/server/rooms/room-agent-registry.js.map +1 -0
  189. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.d.ts +18 -0
  190. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js +63 -0
  191. package/dashboard/dist-server/dashboard/src/server/rooms/room-mailbox.js.map +1 -0
  192. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.d.ts +19 -0
  193. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js +45 -0
  194. package/dashboard/dist-server/dashboard/src/server/rooms/room-session-manager.js.map +1 -0
  195. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.d.ts +25 -0
  196. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js +115 -0
  197. package/dashboard/dist-server/dashboard/src/server/rooms/room-task-board.js.map +1 -0
  198. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.d.ts +53 -0
  199. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js +5 -0
  200. package/dashboard/dist-server/dashboard/src/server/rooms/room-types.js.map +1 -0
  201. package/dashboard/dist-server/dashboard/src/server/routes/agents.js +6 -0
  202. package/dashboard/dist-server/dashboard/src/server/routes/agents.js.map +1 -1
  203. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js +20 -1
  204. package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js.map +1 -1
  205. package/dashboard/dist-server/dashboard/src/server/routes/index.d.ts +2 -1
  206. package/dashboard/dist-server/dashboard/src/server/routes/index.js +8 -1
  207. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  208. package/dashboard/dist-server/dashboard/src/server/routes/install.js +1 -1
  209. package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -1
  210. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js +2 -2
  211. package/dashboard/dist-server/dashboard/src/server/routes/mcp.js.map +1 -1
  212. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.d.ts +3 -0
  213. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js +246 -0
  214. package/dashboard/dist-server/dashboard/src/server/routes/room-mcp.js.map +1 -0
  215. package/dashboard/dist-server/dashboard/src/server/routes/rooms.d.ts +3 -0
  216. package/dashboard/dist-server/dashboard/src/server/routes/rooms.js +38 -0
  217. package/dashboard/dist-server/dashboard/src/server/routes/rooms.js.map +1 -0
  218. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +7 -7
  219. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
  220. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -1
  221. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  222. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +39 -1
  223. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +12 -0
  224. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  225. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -1
  226. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  227. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +25 -14
  228. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  229. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +6 -6
  230. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
  231. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +1 -1
  232. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +17 -16
  233. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
  234. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +1 -1
  235. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +18 -7
  236. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  237. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +3 -1
  238. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +75 -1
  239. package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -1
  240. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.d.ts +17 -0
  241. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js +192 -0
  242. package/dashboard/dist-server/dashboard/src/server/ws/handlers/room-handler.js.map +1 -0
  243. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.d.ts +13 -0
  244. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js +37 -0
  245. package/dashboard/dist-server/dashboard/src/server/ws/session-scoped-event-filter.js.map +1 -0
  246. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.d.ts +7 -1
  247. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js +39 -2
  248. package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js.map +1 -1
  249. package/dashboard/dist-server/dashboard/src/shared/constants.js +12 -0
  250. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  251. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.d.ts +1 -0
  252. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js +38 -0
  253. package/dashboard/dist-server/dashboard/src/shared/room-leader-prompt.js.map +1 -0
  254. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +66 -0
  255. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  256. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +24 -3
  257. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +76 -2
  258. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  259. package/dashboard/dist-server/shared/agent-types.d.ts +2 -0
  260. package/dashboard/dist-server/src/commands/delegate.js +11 -8
  261. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  262. package/dist/shared/agent-types.d.ts +2 -0
  263. package/dist/shared/agent-types.d.ts.map +1 -1
  264. package/dist/src/cli.js +2 -2
  265. package/dist/src/cli.js.map +1 -1
  266. package/dist/src/commands/delegate.d.ts.map +1 -1
  267. package/dist/src/commands/delegate.js +11 -8
  268. package/dist/src/commands/delegate.js.map +1 -1
  269. package/dist/src/commands/install-backend.d.ts +1 -1
  270. package/dist/src/commands/install-backend.d.ts.map +1 -1
  271. package/dist/src/commands/install-backend.js +1 -1
  272. package/dist/src/commands/install-backend.js.map +1 -1
  273. package/dist/src/commands/install-ui/ExecutionView.d.ts.map +1 -1
  274. package/dist/src/commands/install-ui/ExecutionView.js +4 -1
  275. package/dist/src/commands/install-ui/ExecutionView.js.map +1 -1
  276. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  277. package/dist/src/commands/install-ui/InstallExecution.js +4 -1
  278. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  279. package/dist/src/commands/install.js +5 -5
  280. package/dist/src/commands/install.js.map +1 -1
  281. package/dist/src/commands/knowhow.d.ts +10 -0
  282. package/dist/src/commands/knowhow.d.ts.map +1 -0
  283. package/dist/src/commands/knowhow.js +217 -0
  284. package/dist/src/commands/knowhow.js.map +1 -0
  285. package/dist/src/commands/overlay-ui/OverlayList.d.ts +2 -0
  286. package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -1
  287. package/dist/src/commands/overlay-ui/OverlayList.js +6 -3
  288. package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -1
  289. package/dist/src/commands/overlay-ui/index.d.ts.map +1 -1
  290. package/dist/src/commands/overlay-ui/index.js +70 -44
  291. package/dist/src/commands/overlay-ui/index.js.map +1 -1
  292. package/dist/src/commands/overlay.d.ts.map +1 -1
  293. package/dist/src/commands/overlay.js +4 -3
  294. package/dist/src/commands/overlay.js.map +1 -1
  295. package/dist/src/commands/update.d.ts.map +1 -1
  296. package/dist/src/commands/update.js +31 -21
  297. package/dist/src/commands/update.js.map +1 -1
  298. package/dist/src/core/manifest.d.ts +8 -1
  299. package/dist/src/core/manifest.d.ts.map +1 -1
  300. package/dist/src/core/manifest.js +3 -1
  301. package/dist/src/core/manifest.js.map +1 -1
  302. package/dist/src/core/overlay/applier.d.ts +1 -1
  303. package/dist/src/core/overlay/applier.d.ts.map +1 -1
  304. package/dist/src/core/overlay/applier.js +40 -13
  305. package/dist/src/core/overlay/applier.js.map +1 -1
  306. package/dist/src/core/overlay/loader.d.ts.map +1 -1
  307. package/dist/src/core/overlay/loader.js +6 -0
  308. package/dist/src/core/overlay/loader.js.map +1 -1
  309. package/dist/src/core/overlay/types.d.ts +5 -1
  310. package/dist/src/core/overlay/types.d.ts.map +1 -1
  311. package/dist/src/core/overlay/types.js +1 -1
  312. package/dist/src/core/overlay/types.js.map +1 -1
  313. package/dist/src/hooks/context-monitor.js +1 -1
  314. package/dist/src/hooks/context-monitor.js.map +1 -1
  315. package/dist/src/hooks/skill-context.js +1 -1
  316. package/dist/src/hooks/skill-context.js.map +1 -1
  317. package/dist/src/mcp/delegate-channel-relay.d.ts +4 -0
  318. package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -1
  319. package/dist/src/mcp/delegate-channel-relay.js +73 -4
  320. package/dist/src/mcp/delegate-channel-relay.js.map +1 -1
  321. package/dist/src/tools/index.js +2 -2
  322. package/dist/src/tools/index.js.map +1 -1
  323. package/dist/src/tools/store-knowhow.d.ts +21 -0
  324. package/dist/src/tools/store-knowhow.d.ts.map +1 -0
  325. package/dist/src/tools/store-knowhow.js +295 -0
  326. package/dist/src/tools/store-knowhow.js.map +1 -0
  327. package/package.json +1 -1
  328. package/shared/agent-types.ts +2 -0
  329. package/workflows/analyze.md +61 -185
  330. package/workflows/brainstorm.md +3 -23
  331. package/workflows/codebase-rebuild.md +79 -191
  332. package/workflows/codebase-refresh.md +26 -124
  333. package/workflows/debug.md +21 -141
  334. package/workflows/execute.md +183 -350
  335. package/workflows/fork.md +72 -230
  336. package/workflows/harvest.md +12 -79
  337. package/workflows/init.md +3 -17
  338. package/workflows/integration-test.md +21 -190
  339. package/workflows/issue-analyze.md +35 -153
  340. package/workflows/issue-discover.md +88 -263
  341. package/workflows/issue-execute.md +29 -208
  342. package/workflows/issue-plan.md +33 -154
  343. package/workflows/issue.md +44 -202
  344. package/workflows/knowhow.md +374 -0
  345. package/workflows/learn.md +30 -177
  346. package/workflows/maestro-coordinate.codex.md +77 -362
  347. package/workflows/maestro-link-coordinate.md +12 -61
  348. package/workflows/maestro.codex.md +124 -457
  349. package/workflows/maestro.md +562 -976
  350. package/workflows/map.md +16 -53
  351. package/workflows/merge.md +42 -197
  352. package/workflows/milestone-audit.md +5 -43
  353. package/workflows/milestone-complete.md +11 -60
  354. package/workflows/plan.md +188 -387
  355. package/workflows/quick.md +25 -174
  356. package/workflows/refactor.md +28 -221
  357. package/workflows/retrospective.md +104 -443
  358. package/workflows/review.md +87 -299
  359. package/workflows/roadmap.md +117 -97
  360. package/workflows/spec-generate.md +22 -118
  361. package/workflows/specs-add.md +5 -25
  362. package/workflows/specs-load.md +1 -5
  363. package/workflows/specs-remove.md +0 -11
  364. package/workflows/specs-setup.md +11 -47
  365. package/workflows/status.md +58 -200
  366. package/workflows/sync.md +28 -141
  367. package/workflows/test-gen.md +23 -100
  368. package/workflows/test.md +15 -125
  369. package/workflows/ui-design.md +139 -465
  370. package/workflows/ui-style.md +36 -228
  371. package/workflows/verify.md +52 -273
  372. package/workflows/wiki-connect.md +9 -46
  373. package/workflows/wiki-digest.md +7 -50
  374. package/workflows/wiki-manage.md +11 -108
  375. package/.claude/commands/maestro-coordinate.md +0 -63
  376. package/.claude/commands/manage-memory-capture.md +0 -59
  377. package/.codex/skills/maestro-coordinate/SKILL.md +0 -213
  378. package/.codex/skills/manage-memory-capture/SKILL.md +0 -93
  379. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +0 -49
  380. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +0 -27
  381. package/dashboard/dist/assets/McpPage-BY0SjTgw.js +0 -21
  382. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +0 -11
  383. package/dashboard/dist/assets/WorkflowPage-C8hWbYim.js +0 -6
  384. package/dashboard/dist/assets/en-ZbRpfzuP.js +0 -1
  385. package/dashboard/dist/assets/index-C2Mcb4TJ.js +0 -231
  386. package/dashboard/dist/assets/index-DyBbPc18.css +0 -1
  387. package/dashboard/dist/assets/loader-B5F6PzFT.js +0 -11
  388. package/dashboard/dist/assets/zh-CN-CoXBFuny.js +0 -1
  389. package/workflows/maestro-coordinate.md +0 -582
  390. package/workflows/memory.md +0 -451
@@ -1,4 +1,7 @@
1
1
  import { WebSocket } from 'ws';
2
+ import { readFileSync, writeFileSync, existsSync } from 'node:fs';
3
+ import { join, resolve } from 'node:path';
4
+ import { tmpdir } from 'node:os';
2
5
  import { loadDashboardAgentSettings } from '../../config.js';
3
6
  import { EntryNormalizer } from '../../agents/entry-normalizer.js';
4
7
  import { handleDelegateMessage } from '../../../../../src/async/delegate-control.js';
@@ -10,6 +13,7 @@ export class AgentWsHandler {
10
13
  eventBus;
11
14
  workflowRoot;
12
15
  delegateMessage;
16
+ roomSessionManager;
13
17
  actions = [
14
18
  'spawn',
15
19
  'stop',
@@ -20,11 +24,12 @@ export class AgentWsHandler {
20
24
  'cli:entry',
21
25
  'cli:stopped',
22
26
  ];
23
- constructor(agentManager, eventBus, workflowRoot, delegateMessage = handleDelegateMessage) {
27
+ constructor(agentManager, eventBus, workflowRoot, delegateMessage = handleDelegateMessage, roomSessionManager) {
24
28
  this.agentManager = agentManager;
25
29
  this.eventBus = eventBus;
26
30
  this.workflowRoot = workflowRoot;
27
31
  this.delegateMessage = delegateMessage;
32
+ this.roomSessionManager = roomSessionManager;
28
33
  }
29
34
  async handle(action, data, ws, broadcast) {
30
35
  const msg = data;
@@ -108,7 +113,76 @@ export class AgentWsHandler {
108
113
  settingsFile: (config.settingsFile ?? saved?.settingsFile) || undefined,
109
114
  envFile: (config.envFile ?? saved?.envFile) || undefined,
110
115
  };
116
+ // Inject MCP config if agent is being added to a meeting room
117
+ const roomSessionId = mergedConfig.metadata?.roomSessionId;
118
+ const roomRole = mergedConfig.metadata?.roomRole;
119
+ if (roomSessionId && roomRole && this.roomSessionManager) {
120
+ const session = this.roomSessionManager.getSession(roomSessionId);
121
+ if (session) {
122
+ // Ensure MCP TCP server is running (idempotent)
123
+ await session.startMcp();
124
+ const projectRoot = resolve(this.workflowRoot, '..');
125
+ // Inject MCP config based on agent type
126
+ const MCP_AGENT_TYPES = {
127
+ 'claude-code': 'claude-code',
128
+ 'agent-sdk': 'agent-sdk',
129
+ 'codex': 'codex',
130
+ };
131
+ const mcpAgentType = MCP_AGENT_TYPES[mergedConfig.type];
132
+ if (mcpAgentType) {
133
+ if (mcpAgentType === 'claude-code') {
134
+ // Use HTTP transport — Claude Code --print mode doesn't connect
135
+ // stdio MCP servers (stays "pending" forever). HTTP servers connect
136
+ // immediately since the dashboard HTTP server is already running.
137
+ const mcpInfo = session.getMcpInfo();
138
+ const httpUrl = `http://127.0.0.1:3001/api/rooms/${roomSessionId}/mcp?token=${mcpInfo?.token ?? ''}&agentId=${roomRole}`;
139
+ const mcpJsonPath = join(projectRoot, '.mcp.json');
140
+ try {
141
+ const existing = existsSync(mcpJsonPath)
142
+ ? JSON.parse(readFileSync(mcpJsonPath, 'utf-8'))
143
+ : { mcpServers: {} };
144
+ existing.mcpServers['meeting-room'] = {
145
+ type: 'http',
146
+ url: httpUrl,
147
+ };
148
+ writeFileSync(mcpJsonPath, JSON.stringify(existing, null, 2));
149
+ }
150
+ catch {
151
+ // Fallback to --mcp-config tmp file
152
+ const tmpPath = join(tmpdir(), `mr-mcp-${roomSessionId}-${roomRole}.json`);
153
+ writeFileSync(tmpPath, JSON.stringify({
154
+ mcpServers: { 'meeting-room': { type: 'http', url: httpUrl } },
155
+ }));
156
+ mergedConfig.mcpConfigPath = tmpPath;
157
+ }
158
+ }
159
+ else if (mcpAgentType === 'agent-sdk') {
160
+ const mcpServer = session.getMcpConfig('agent-sdk', roomRole);
161
+ mergedConfig.metadata = { ...mergedConfig.metadata, roomMcpServer: mcpServer };
162
+ }
163
+ // codex uses stdio config via env vars (handled by adapter)
164
+ }
165
+ // Claude Code in room → force interactive mode for follow-up wake messages
166
+ // Also set workDir to project root so it finds .mcp.json
167
+ if (mergedConfig.type === 'claude-code') {
168
+ mergedConfig.interactive = true;
169
+ mergedConfig.workDir = projectRoot;
170
+ }
171
+ // Leader → auto bypass permissions (needs free MCP tool access)
172
+ if (roomRole === 'leader') {
173
+ mergedConfig.approvalMode = mergedConfig.approvalMode ?? 'auto';
174
+ }
175
+ }
176
+ }
111
177
  const proc = await this.agentManager.spawn(mergedConfig.type, mergedConfig);
178
+ // Auto-link to meeting room if metadata contains room context
179
+ if (roomSessionId && roomRole && this.roomSessionManager) {
180
+ const session = this.roomSessionManager.getSession(roomSessionId);
181
+ if (session) {
182
+ const agent = session.addAgent(roomRole, proc.id);
183
+ this.eventBus.emit('room:agent_joined', { sessionId: roomSessionId, agent });
184
+ }
185
+ }
112
186
  const response = {
113
187
  type: 'agent:spawned',
114
188
  data: proc,
@@ -1 +1 @@
1
- {"version":3,"file":"agent-handler.js","sourceRoot":"","sources":["../../../../../../src/server/ws/handlers/agent-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-handler.js","sourceRoot":"","sources":["../../../../../../src/server/ws/handlers/agent-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { WebSocket } from 'ws';
2
+ import type { WsHandler } from '../ws-handler.js';
3
+ import type { WsEventType } from '../../../shared/ws-protocol.js';
4
+ import type { DashboardEventBus } from '../../state/event-bus.js';
5
+ import type { RoomSessionManager } from '../../rooms/room-session-manager.js';
6
+ import type { SessionScopedEventFilter } from '../session-scoped-event-filter.js';
7
+ export declare class RoomWsHandler implements WsHandler {
8
+ private readonly sessionManager;
9
+ private readonly eventBus;
10
+ private readonly filter;
11
+ private readonly workflowRoot?;
12
+ readonly actions: readonly ["room:create", "room:close", "room:subscribe", "room:unsubscribe", "room:add_agent", "room:remove_agent", "room:set_agent_status", "room:send_message", "room:broadcast", "room:create_task", "room:update_task", "room:snapshot"];
13
+ constructor(sessionManager: RoomSessionManager, eventBus: DashboardEventBus, filter: SessionScopedEventFilter, workflowRoot?: string | undefined);
14
+ handle(action: string, data: unknown, ws: WebSocket, _broadcast: (type: WsEventType, data: unknown) => void): Promise<void>;
15
+ /** Remove the meeting-room entry from .mcp.json after room destruction. */
16
+ private cleanupMcpJson;
17
+ }
@@ -0,0 +1,192 @@
1
+ import { readFileSync, writeFileSync, existsSync } from 'node:fs';
2
+ import { join, resolve } from 'node:path';
3
+ // ---------------------------------------------------------------------------
4
+ // RoomWsHandler — client-to-server room actions
5
+ // room:create -> create a new room session
6
+ // room:close -> destroy a room session
7
+ // room:subscribe -> subscribe to session events + get snapshot
8
+ // room:unsubscribe -> unsubscribe from session events
9
+ // room:add_agent -> add agent to session
10
+ // room:remove_agent -> remove agent from session
11
+ // room:set_agent_status -> update agent status
12
+ // room:send_message -> send message to specific agent
13
+ // room:broadcast -> broadcast message to all agents
14
+ // room:create_task -> create a task
15
+ // room:update_task -> update a task
16
+ // room:snapshot -> request current snapshot
17
+ // ---------------------------------------------------------------------------
18
+ export class RoomWsHandler {
19
+ sessionManager;
20
+ eventBus;
21
+ filter;
22
+ workflowRoot;
23
+ actions = [
24
+ 'room:create',
25
+ 'room:close',
26
+ 'room:subscribe',
27
+ 'room:unsubscribe',
28
+ 'room:add_agent',
29
+ 'room:remove_agent',
30
+ 'room:set_agent_status',
31
+ 'room:send_message',
32
+ 'room:broadcast',
33
+ 'room:create_task',
34
+ 'room:update_task',
35
+ 'room:snapshot',
36
+ ];
37
+ constructor(sessionManager, eventBus, filter, workflowRoot) {
38
+ this.sessionManager = sessionManager;
39
+ this.eventBus = eventBus;
40
+ this.filter = filter;
41
+ this.workflowRoot = workflowRoot;
42
+ }
43
+ async handle(action, data, ws, _broadcast) {
44
+ const msg = data;
45
+ const sessionId = (msg.sessionId ?? msg.roomId);
46
+ switch (action) {
47
+ case 'room:create': {
48
+ const session = this.sessionManager.createSession(sessionId);
49
+ // Start MCP TCP server for this room (agents will connect to it)
50
+ await session.startMcp();
51
+ // Auto-subscribe the creator so they receive room:created and all subsequent events
52
+ this.filter.subscribe(ws, sessionId);
53
+ const snapshot = session.getSnapshot();
54
+ this.eventBus.emit('room:created', {
55
+ sessionId: snapshot.sessionId,
56
+ status: snapshot.status,
57
+ agentCount: snapshot.agents.length,
58
+ taskCount: snapshot.tasks.length,
59
+ messageCount: snapshot.messages.length,
60
+ createdAt: snapshot.createdAt,
61
+ });
62
+ break;
63
+ }
64
+ case 'room:close': {
65
+ const destroyed = await this.sessionManager.destroySession(sessionId);
66
+ if (destroyed) {
67
+ this.eventBus.emit('room:closed', { sessionId });
68
+ // Clean up meeting-room entry from .mcp.json
69
+ this.cleanupMcpJson();
70
+ }
71
+ break;
72
+ }
73
+ case 'room:subscribe': {
74
+ this.filter.subscribe(ws, sessionId);
75
+ // Send current snapshot to the subscribing client
76
+ const session = this.sessionManager.getSession(sessionId);
77
+ if (session) {
78
+ const snapshot = session.getSnapshot();
79
+ this.eventBus.emit('room:snapshot', snapshot);
80
+ }
81
+ break;
82
+ }
83
+ case 'room:unsubscribe': {
84
+ this.filter.unsubscribe(ws, sessionId);
85
+ break;
86
+ }
87
+ case 'room:add_agent': {
88
+ const session = this.sessionManager.getSession(sessionId);
89
+ if (!session)
90
+ break;
91
+ const agent = session.addAgent(msg.role, msg.processId);
92
+ this.eventBus.emit('room:agent_joined', { sessionId, agent });
93
+ break;
94
+ }
95
+ case 'room:remove_agent': {
96
+ const session = this.sessionManager.getSession(sessionId);
97
+ if (!session)
98
+ break;
99
+ const removed = session.removeAgent(msg.role);
100
+ if (removed) {
101
+ this.eventBus.emit('room:agent_left', {
102
+ sessionId,
103
+ role: msg.role,
104
+ });
105
+ }
106
+ break;
107
+ }
108
+ case 'room:set_agent_status': {
109
+ const session = this.sessionManager.getSession(sessionId);
110
+ if (!session)
111
+ break;
112
+ session.setAgentStatus(msg.role, msg.status);
113
+ this.eventBus.emit('room:agent_status', {
114
+ sessionId,
115
+ role: msg.role,
116
+ status: msg.status,
117
+ });
118
+ break;
119
+ }
120
+ case 'room:send_message': {
121
+ const session = this.sessionManager.getSession(sessionId);
122
+ if (!session)
123
+ break;
124
+ const from = msg.from || 'user';
125
+ const mailMsg = await session.sendMessage(from, msg.to, msg.content, msg.priority || 'normal');
126
+ this.eventBus.emit('room:message', { sessionId, message: mailMsg });
127
+ break;
128
+ }
129
+ case 'room:broadcast': {
130
+ const session = this.sessionManager.getSession(sessionId);
131
+ if (!session)
132
+ break;
133
+ const bcastFrom = msg.from || 'user';
134
+ const bcastMsg = await session.broadcastMessage(bcastFrom, msg.content, msg.priority || 'normal');
135
+ this.eventBus.emit('room:broadcast', { sessionId, message: bcastMsg });
136
+ break;
137
+ }
138
+ case 'room:create_task': {
139
+ const session = this.sessionManager.getSession(sessionId);
140
+ if (!session)
141
+ break;
142
+ // Accept both nested msg.task and flat fields
143
+ const taskInput = msg.task ?? {
144
+ title: msg.title,
145
+ description: msg.description ?? '',
146
+ owner: msg.assignedTo ?? msg.owner,
147
+ blockedBy: msg.blockedBy,
148
+ };
149
+ const task = session.createTask(taskInput);
150
+ this.eventBus.emit('room:task_created', { sessionId, task });
151
+ break;
152
+ }
153
+ case 'room:update_task': {
154
+ const session = this.sessionManager.getSession(sessionId);
155
+ if (!session)
156
+ break;
157
+ const updated = session.updateTask(msg.taskId, msg.patch);
158
+ if (updated) {
159
+ this.eventBus.emit('room:task_updated', { sessionId, task: updated });
160
+ }
161
+ break;
162
+ }
163
+ case 'room:snapshot': {
164
+ const session = this.sessionManager.getSession(sessionId);
165
+ if (session) {
166
+ this.eventBus.emit('room:snapshot', session.getSnapshot());
167
+ }
168
+ break;
169
+ }
170
+ }
171
+ }
172
+ /** Remove the meeting-room entry from .mcp.json after room destruction. */
173
+ cleanupMcpJson() {
174
+ if (!this.workflowRoot)
175
+ return;
176
+ const projectRoot = resolve(this.workflowRoot, '..');
177
+ const mcpJsonPath = join(projectRoot, '.mcp.json');
178
+ try {
179
+ if (!existsSync(mcpJsonPath))
180
+ return;
181
+ const config = JSON.parse(readFileSync(mcpJsonPath, 'utf-8'));
182
+ if (config.mcpServers?.['meeting-room']) {
183
+ delete config.mcpServers['meeting-room'];
184
+ writeFileSync(mcpJsonPath, JSON.stringify(config, null, 2));
185
+ }
186
+ }
187
+ catch {
188
+ // Best-effort cleanup
189
+ }
190
+ }
191
+ }
192
+ //# sourceMappingURL=room-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"room-handler.js","sourceRoot":"","sources":["../../../../../../src/server/ws/handlers/room-handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAc1C,8EAA8E;AAC9E,gDAAgD;AAChD,uDAAuD;AACvD,oDAAoD;AACpD,wEAAwE;AACxE,6DAA6D;AAC7D,kDAAkD;AAClD,uDAAuD;AACvD,iDAAiD;AACjD,4DAA4D;AAC5D,6DAA6D;AAC7D,2CAA2C;AAC3C,2CAA2C;AAC3C,sDAAsD;AACtD,8EAA8E;AAE9E,MAAM,OAAO,aAAa;IAiBL;IACA;IACA;IACA;IAnBV,OAAO,GAAG;QACjB,aAAa;QACb,YAAY;QACZ,gBAAgB;QAChB,kBAAkB;QAClB,gBAAgB;QAChB,mBAAmB;QACnB,uBAAuB;QACvB,mBAAmB;QACnB,gBAAgB;QAChB,kBAAkB;QAClB,kBAAkB;QAClB,eAAe;KACP,CAAC;IAEX,YACmB,cAAkC,EAClC,QAA2B,EAC3B,MAAgC,EAChC,YAAqB;QAHrB,mBAAc,GAAd,cAAc,CAAoB;QAClC,aAAQ,GAAR,QAAQ,CAAmB;QAC3B,WAAM,GAAN,MAAM,CAA0B;QAChC,iBAAY,GAAZ,YAAY,CAAS;IACrC,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,MAAc,EACd,IAAa,EACb,EAAa,EACb,UAAsD;QAEtD,MAAM,GAAG,GAAG,IAA+B,CAAC;QAC5C,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,CAAW,CAAC;QAE1D,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAC7D,iEAAiE;gBACjE,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACzB,oFAAoF;gBACpF,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;gBACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE;oBACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;oBAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM;oBAClC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;oBAChC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;oBACtC,SAAS,EAAE,QAAQ,CAAC,SAAS;iBAC9B,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;gBACtE,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;oBACjD,6CAA6C;oBAC7C,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACrC,kDAAkD;gBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;oBACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;gBAChD,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;gBACvC,MAAM;YACR,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO;oBAAE,MAAM;gBACpB,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAC5B,GAAG,CAAC,IAAc,EAClB,GAAG,CAAC,SAA+B,CACpC,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9D,MAAM;YACR,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO;oBAAE,MAAM;gBACpB,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,IAAc,CAAC,CAAC;gBACxD,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,EAAE;wBACpC,SAAS;wBACT,IAAI,EAAE,GAAG,CAAC,IAAc;qBACzB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO;oBAAE,MAAM;gBACpB,OAAO,CAAC,cAAc,CACpB,GAAG,CAAC,IAAc,EAClB,GAAG,CAAC,MAAyB,CAC9B,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBACtC,SAAS;oBACT,IAAI,EAAE,GAAG,CAAC,IAAc;oBACxB,MAAM,EAAE,GAAG,CAAC,MAAyB;iBACtC,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO;oBAAE,MAAM;gBACpB,MAAM,IAAI,GAAI,GAAG,CAAC,IAAe,IAAI,MAAM,CAAC;gBAC5C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CACvC,IAAI,EACJ,GAAG,CAAC,EAAY,EAChB,GAAG,CAAC,OAAiB,EACpB,GAAG,CAAC,QAAgC,IAAI,QAAQ,CAClD,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;gBACpE,MAAM;YACR,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO;oBAAE,MAAM;gBACpB,MAAM,SAAS,GAAI,GAAG,CAAC,IAAe,IAAI,MAAM,CAAC;gBACjD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAC7C,SAAS,EACT,GAAG,CAAC,OAAiB,EACpB,GAAG,CAAC,QAAgC,IAAI,QAAQ,CAClD,CAAC;gBACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACvE,MAAM;YACR,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO;oBAAE,MAAM;gBACpB,8CAA8C;gBAC9C,MAAM,SAAS,GAAoB,GAAG,CAAC,IAAuB,IAAI;oBAChE,KAAK,EAAE,GAAG,CAAC,KAAe;oBAC1B,WAAW,EAAG,GAAG,CAAC,WAAsB,IAAI,EAAE;oBAC9C,KAAK,EAAG,GAAG,CAAC,UAAqB,IAAK,GAAG,CAAC,KAAgB;oBAC1D,SAAS,EAAE,GAAG,CAAC,SAAiC;iBACjD,CAAC;gBACF,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC7D,MAAM;YACR,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,CAAC,OAAO;oBAAE,MAAM;gBACpB,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAChC,GAAG,CAAC,MAAgB,EACpB,GAAG,CAAC,KAAuB,CAC5B,CAAC;gBACF,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;gBAC1D,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC7D,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,2EAA2E;IACnE,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,OAAO;YACrC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9D,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;gBACxC,OAAO,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBACzC,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,sBAAsB;QACxB,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,13 @@
1
+ import type { WebSocket } from 'ws';
2
+ export declare class SessionScopedEventFilter {
3
+ /** Map of WebSocket client -> set of subscribed session IDs */
4
+ private readonly subscriptions;
5
+ /** Subscribe a client to a specific room session */
6
+ subscribe(ws: WebSocket, sessionId: string): void;
7
+ /** Unsubscribe a client from a specific room session */
8
+ unsubscribe(ws: WebSocket, sessionId: string): void;
9
+ /** Check if a client is subscribed to a specific room session */
10
+ isSubscribed(ws: WebSocket, sessionId: string): boolean;
11
+ /** Remove all subscriptions for a client (called on disconnect) */
12
+ unsubscribeAll(ws: WebSocket): void;
13
+ }
@@ -0,0 +1,37 @@
1
+ // ---------------------------------------------------------------------------
2
+ // SessionScopedEventFilter — tracks which room sessions each WS client
3
+ // subscribes to, so room:* events are only sent to interested clients.
4
+ // ---------------------------------------------------------------------------
5
+ export class SessionScopedEventFilter {
6
+ /** Map of WebSocket client -> set of subscribed session IDs */
7
+ subscriptions = new Map();
8
+ /** Subscribe a client to a specific room session */
9
+ subscribe(ws, sessionId) {
10
+ let sessions = this.subscriptions.get(ws);
11
+ if (!sessions) {
12
+ sessions = new Set();
13
+ this.subscriptions.set(ws, sessions);
14
+ }
15
+ sessions.add(sessionId);
16
+ }
17
+ /** Unsubscribe a client from a specific room session */
18
+ unsubscribe(ws, sessionId) {
19
+ const sessions = this.subscriptions.get(ws);
20
+ if (!sessions)
21
+ return;
22
+ sessions.delete(sessionId);
23
+ if (sessions.size === 0) {
24
+ this.subscriptions.delete(ws);
25
+ }
26
+ }
27
+ /** Check if a client is subscribed to a specific room session */
28
+ isSubscribed(ws, sessionId) {
29
+ const sessions = this.subscriptions.get(ws);
30
+ return sessions !== undefined && sessions.has(sessionId);
31
+ }
32
+ /** Remove all subscriptions for a client (called on disconnect) */
33
+ unsubscribeAll(ws) {
34
+ this.subscriptions.delete(ws);
35
+ }
36
+ }
37
+ //# sourceMappingURL=session-scoped-event-filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-scoped-event-filter.js","sourceRoot":"","sources":["../../../../../src/server/ws/session-scoped-event-filter.ts"],"names":[],"mappings":"AAEA,8EAA8E;AAC9E,uEAAuE;AACvE,uEAAuE;AACvE,8EAA8E;AAE9E,MAAM,OAAO,wBAAwB;IACnC,+DAA+D;IAC9C,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;IAEnE,oDAAoD;IACpD,SAAS,CAAC,EAAa,EAAE,SAAiB;QACxC,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED,wDAAwD;IACxD,WAAW,CAAC,EAAa,EAAE,SAAiB;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3B,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,YAAY,CAAC,EAAa,EAAE,SAAiB;QAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC5C,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,mEAAmE;IACnE,cAAc,CAAC,EAAa;QAC1B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC;CACF"}
@@ -3,13 +3,15 @@ import type { Duplex } from 'node:stream';
3
3
  import type { WsEventType } from '../../shared/ws-protocol.js';
4
4
  import type { DashboardEventBus } from '../state/event-bus.js';
5
5
  import type { WsHandler } from './ws-handler.js';
6
+ import type { SessionScopedEventFilter } from './session-scoped-event-filter.js';
6
7
  export declare class WebSocketManager {
7
8
  private readonly eventBus;
9
+ private readonly sessionFilter?;
8
10
  private readonly wss;
9
11
  private readonly clients;
10
12
  private readonly eventListener;
11
13
  private readonly routingTable;
12
- constructor(eventBus: DashboardEventBus, handlers: WsHandler[]);
14
+ constructor(eventBus: DashboardEventBus, handlers: WsHandler[], sessionFilter?: SessionScopedEventFilter | undefined);
13
15
  /**
14
16
  * Handle HTTP upgrade request — call from server 'upgrade' event.
15
17
  */
@@ -18,6 +20,10 @@ export declare class WebSocketManager {
18
20
  * Broadcast a typed message to all connected WS clients.
19
21
  */
20
22
  broadcast(type: WsEventType, data: unknown): void;
23
+ /**
24
+ * Broadcast a session-scoped message only to clients subscribed to that session.
25
+ */
26
+ private broadcastToSubscribed;
21
27
  /**
22
28
  * Send an error response back to the originating client.
23
29
  */
@@ -4,12 +4,14 @@ import { WebSocketServer, WebSocket } from 'ws';
4
4
  // ---------------------------------------------------------------------------
5
5
  export class WebSocketManager {
6
6
  eventBus;
7
+ sessionFilter;
7
8
  wss;
8
9
  clients = new Set();
9
10
  eventListener;
10
11
  routingTable = new Map();
11
- constructor(eventBus, handlers) {
12
+ constructor(eventBus, handlers, sessionFilter) {
12
13
  this.eventBus = eventBus;
14
+ this.sessionFilter = sessionFilter;
13
15
  // Build routing table from handlers
14
16
  for (const handler of handlers) {
15
17
  for (const action of handler.actions) {
@@ -17,8 +19,22 @@ export class WebSocketManager {
17
19
  }
18
20
  }
19
21
  this.wss = new WebSocketServer({ noServer: true });
20
- // Subscribe to all EventBus events and broadcast as WsServerMessage
22
+ // Subscribe to all EventBus events and broadcast as WsServerMessage.
23
+ // Session-scoped room events are only sent to subscribed clients;
24
+ // lifecycle events (room:created, room:closed) and all non-room events
25
+ // continue broadcasting to every connected client.
21
26
  this.eventListener = (event) => {
27
+ if (this.sessionFilter &&
28
+ event.type.startsWith('room:') &&
29
+ event.type !== 'room:created' &&
30
+ event.type !== 'room:closed') {
31
+ const payload = event.data;
32
+ const sessionId = payload?.sessionId;
33
+ if (sessionId) {
34
+ this.broadcastToSubscribed(event.type, event.data, sessionId);
35
+ return;
36
+ }
37
+ }
22
38
  this.broadcast(event.type, event.data);
23
39
  };
24
40
  this.eventBus.onAny(this.eventListener);
@@ -46,9 +62,11 @@ export class WebSocketManager {
46
62
  // Clean up on close
47
63
  ws.on('close', () => {
48
64
  this.clients.delete(ws);
65
+ this.sessionFilter?.unsubscribeAll(ws);
49
66
  });
50
67
  ws.on('error', () => {
51
68
  this.clients.delete(ws);
69
+ this.sessionFilter?.unsubscribeAll(ws);
52
70
  });
53
71
  });
54
72
  }
@@ -78,6 +96,25 @@ export class WebSocketManager {
78
96
  }
79
97
  }
80
98
  }
99
+ /**
100
+ * Broadcast a session-scoped message only to clients subscribed to that session.
101
+ */
102
+ broadcastToSubscribed(type, data, sessionId) {
103
+ if (this.clients.size === 0 || !this.sessionFilter)
104
+ return;
105
+ const msg = {
106
+ type,
107
+ data,
108
+ timestamp: new Date().toISOString(),
109
+ };
110
+ const payload = JSON.stringify(msg);
111
+ for (const client of this.clients) {
112
+ if (client.readyState === WebSocket.OPEN &&
113
+ this.sessionFilter.isSubscribed(client, sessionId)) {
114
+ client.send(payload);
115
+ }
116
+ }
117
+ }
81
118
  /**
82
119
  * Send an error response back to the originating client.
83
120
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ws-manager.js","sourceRoot":"","sources":["../../../../../src/server/ws/ws-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws-manager.js","sourceRoot":"","sources":["../../../../../src/server/ws/ws-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAUhD,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAE9E,MAAM,OAAO,gBAAgB;IAOR;IAEA;IARF,GAAG,CAAkB;IACrB,OAAO,GAAG,IAAI,GAAG,EAAa,CAAC;IAC/B,aAAa,CAA4B;IACzC,YAAY,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE7D,YACmB,QAA2B,EAC5C,QAAqB,EACJ,aAAwC;QAFxC,aAAQ,GAAR,QAAQ,CAAmB;QAE3B,kBAAa,GAAb,aAAa,CAA2B;QAEzD,oCAAoC;QACpC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnD,qEAAqE;QACrE,kEAAkE;QAClE,uEAAuE;QACvE,mDAAmD;QACnD,IAAI,CAAC,aAAa,GAAG,CAAC,KAAe,EAAE,EAAE;YACvC,IACE,IAAI,CAAC,aAAa;gBAClB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC9B,KAAK,CAAC,IAAI,KAAK,cAAc;gBAC7B,KAAK,CAAC,IAAI,KAAK,aAAa,EAC5B,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAsC,CAAC;gBAC7D,MAAM,SAAS,GAAG,OAAO,EAAE,SAA+B,CAAC;gBAC3D,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAC9D,OAAO;gBACT,CAAC;YACH,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAExC,yBAAyB;QACzB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,EAAa,EAAE,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAErB,iCAAiC;YACjC,MAAM,YAAY,GAA0B;gBAC1C,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI;gBACV,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;YACF,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;YAEtC,uCAAuC;YACvC,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAoC,EAAE,EAAE;gBACxD,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;oBAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;oBAChD,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACpC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,oBAAoB;YACpB,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxB,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa,CACX,OAAwB,EACxB,MAAc,EACd,IAAY;QAEZ,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;YACnD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAiB,EAAE,IAAa;QACxC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAEpC,MAAM,GAAG,GAAoB;YAC3B,IAAI;YACJ,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,IAAiB,EAAE,IAAa,EAAE,SAAiB;QAC/E,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3D,MAAM,GAAG,GAAoB;YAC3B,IAAI;YACJ,IAAI;YACJ,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAEpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,IACE,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;gBACpC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC,EAClD,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,SAAS,CAAC,EAAa,EAAE,MAAc,EAAE,KAAa;QAC5D,IAAI,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;YAAE,OAAO;QAC7C,MAAM,GAAG,GAAuD;YAC9D,IAAI,EAAE,cAAc;YACpB,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,EAAa,EAAE,GAAoB;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACzD,OAAO;QACT,CAAC;QAED,OAAO;aACJ,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aACvE,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6CAA6C;IAC7C,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,0EAA0E;IAC1E,OAAO;QACL,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEzC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;CACF"}
@@ -174,6 +174,18 @@ export const WS_EVENT_TYPES = {
174
174
  TEAM_DISPATCH: 'team:dispatch',
175
175
  TEAM_PHASE: 'team:phase',
176
176
  TEAM_AGENT_STATUS: 'team:agent_status',
177
+ // Room events
178
+ ROOM_CREATED: 'room:created',
179
+ ROOM_CLOSED: 'room:closed',
180
+ ROOM_AGENT_JOINED: 'room:agent_joined',
181
+ ROOM_AGENT_LEFT: 'room:agent_left',
182
+ ROOM_AGENT_STATUS: 'room:agent_status',
183
+ ROOM_MESSAGE: 'room:message',
184
+ ROOM_BROADCAST: 'room:broadcast',
185
+ ROOM_TASK_CREATED: 'room:task_created',
186
+ ROOM_TASK_UPDATED: 'room:task_updated',
187
+ ROOM_PHASE_CHANGED: 'room:phase_changed',
188
+ ROOM_SNAPSHOT: 'room:snapshot',
177
189
  };
178
190
  // ---------------------------------------------------------------------------
179
191
  // Agent API endpoint paths
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/shared/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/shared/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const ROOM_LEADER_SYSTEM_PROMPT = "You are the LEADER of a multi-agent meeting room. Your job is to coordinate the team to accomplish the user's goal.\n\n## Your MCP Tools\n\nYou have 8 coordination tools available:\n\n### Communication\n- **team_send_message** \u2014 Send a message to a specific agent by role name\n- **team_read_messages** \u2014 Read your unread messages from other agents\n\n### Task Management\n- **team_create_task** \u2014 Create a task and assign it to an agent (supports dependency chains)\n- **team_update_task** \u2014 Update task status (pending \u2192 in_progress \u2192 completed)\n- **team_list_tasks** \u2014 List all tasks and their status\n\n### Team Management\n- **team_get_agents** \u2014 See all agents in the room and their status\n- **team_spawn_agent** \u2014 Add a new agent to the room (leader-only)\n- **team_shutdown_agent** \u2014 Remove an agent from the room (leader-only)\n\n## Coordination Strategy\n\n1. Break the user's goal into tasks using team_create_task\n2. Assign each task to the most suitable agent\n3. Use team_send_message to give instructions to agents\n4. Monitor progress with team_list_tasks and team_read_messages\n5. Synthesize results and report back to the user\n\n## Rules\n- Always check team_get_agents before assigning work\n- Use team_read_messages regularly to stay updated\n- Create tasks with clear descriptions and ownership\n- Report progress and final results in your messages\n";