maestro-flow 0.3.11 → 0.3.13

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 (339) hide show
  1. package/.claude/CLAUDE.md +7 -0
  2. package/.claude/agents/conceptual-planning-agent.md +1 -0
  3. package/.claude/agents/workflow-analyzer.md +113 -114
  4. package/.claude/agents/workflow-collab-planner.md +143 -144
  5. package/.claude/agents/workflow-debugger.md +101 -103
  6. package/.claude/agents/workflow-executor.md +127 -128
  7. package/.claude/agents/workflow-integration-checker.md +82 -82
  8. package/.claude/agents/workflow-nyquist-auditor.md +84 -84
  9. package/.claude/agents/workflow-phase-researcher.md +85 -85
  10. package/.claude/agents/workflow-plan-checker.md +90 -90
  11. package/.claude/agents/workflow-planner.md +177 -178
  12. package/.claude/agents/workflow-roadmapper.md +81 -83
  13. package/.claude/agents/workflow-verifier.md +118 -119
  14. package/.claude/commands/learn-retro.md +2 -2
  15. package/.claude/commands/learn-second-opinion.md +2 -2
  16. package/.claude/commands/maestro-analyze.md +10 -2
  17. package/.claude/commands/maestro-brainstorm.md +2 -1
  18. package/.claude/commands/maestro-execute.md +21 -4
  19. package/.claude/commands/maestro-fork.md +133 -111
  20. package/.claude/commands/maestro-merge.md +85 -77
  21. package/.claude/commands/maestro-milestone-complete.md +14 -0
  22. package/.claude/commands/maestro-plan.md +100 -8
  23. package/.claude/commands/maestro-roadmap.md +113 -2
  24. package/.claude/commands/maestro-ui-design.md +7 -7
  25. package/.claude/commands/maestro-update.md +176 -0
  26. package/.claude/commands/maestro-verify.md +18 -3
  27. package/.claude/commands/maestro.md +1 -0
  28. package/.claude/commands/manage-codebase-rebuild.md +0 -1
  29. package/.claude/commands/manage-harvest.md +1 -1
  30. package/.claude/commands/manage-learn.md +5 -5
  31. package/.claude/commands/manage-memory-capture.md +4 -4
  32. package/.claude/commands/manage-memory.md +1 -1
  33. package/.claude/commands/manage-wiki.md +62 -0
  34. package/.claude/commands/quality-business-test.md +5 -5
  35. package/.claude/commands/quality-debug.md +53 -6
  36. package/.claude/commands/quality-retrospective.md +9 -7
  37. package/.claude/commands/quality-review.md +39 -7
  38. package/.claude/commands/quality-sync.md +1 -1
  39. package/.claude/commands/quality-test-gen.md +5 -4
  40. package/.claude/commands/quality-test.md +45 -12
  41. package/.claude/commands/spec-remove.md +51 -0
  42. package/.claude/commands/spec-setup.md +1 -3
  43. package/.claude/commands/wiki-connect.md +9 -5
  44. package/.claude/commands/wiki-digest.md +6 -3
  45. package/.codex/skills/maestro/SKILL.md +2 -2
  46. package/.codex/skills/maestro-analyze/SKILL.md +4 -4
  47. package/.codex/skills/maestro-brainstorm/SKILL.md +4 -4
  48. package/.codex/skills/maestro-coordinate/SKILL.md +2 -2
  49. package/.codex/skills/maestro-execute/SKILL.md +15 -5
  50. package/.codex/skills/maestro-fork/SKILL.md +98 -68
  51. package/.codex/skills/maestro-init/SKILL.md +5 -4
  52. package/.codex/skills/maestro-merge/SKILL.md +69 -62
  53. package/.codex/skills/maestro-milestone-complete/SKILL.md +18 -1
  54. package/.codex/skills/maestro-plan/SKILL.md +6 -6
  55. package/.codex/skills/maestro-roadmap/SKILL.md +3 -4
  56. package/.codex/skills/maestro-spec-generate/SKILL.md +2 -2
  57. package/.codex/skills/maestro-ui-design/SKILL.md +6 -6
  58. package/.codex/skills/maestro-verify/SKILL.md +29 -20
  59. package/.codex/skills/manage-codebase-rebuild/SKILL.md +4 -4
  60. package/.codex/skills/manage-harvest/SKILL.md +10 -1
  61. package/.codex/skills/manage-issue-discover/SKILL.md +3 -3
  62. package/.codex/skills/manage-learn/SKILL.md +3 -2
  63. package/.codex/skills/manage-memory/SKILL.md +3 -3
  64. package/.codex/skills/manage-memory-capture/SKILL.md +8 -14
  65. package/.codex/skills/manage-status/SKILL.md +9 -4
  66. package/.codex/skills/manage-wiki/SKILL.md +55 -0
  67. package/.codex/skills/quality-business-test/SKILL.md +8 -6
  68. package/.codex/skills/quality-debug/SKILL.md +22 -9
  69. package/.codex/skills/quality-integration-test/SKILL.md +11 -7
  70. package/.codex/skills/quality-retrospective/SKILL.md +48 -29
  71. package/.codex/skills/quality-review/SKILL.md +10 -7
  72. package/.codex/skills/quality-test/SKILL.md +10 -5
  73. package/.codex/skills/quality-test-gen/SKILL.md +13 -9
  74. package/.codex/skills/spec-add/SKILL.md +11 -3
  75. package/.codex/skills/spec-load/SKILL.md +7 -0
  76. package/.codex/skills/spec-map/SKILL.md +2 -2
  77. package/.codex/skills/spec-remove/SKILL.md +101 -0
  78. package/.codex/skills/spec-setup/SKILL.md +4 -8
  79. package/.codex/skills/wiki-connect/SKILL.md +6 -5
  80. package/.codex/skills/wiki-digest/SKILL.md +2 -2
  81. package/README.md +2 -0
  82. package/README.zh-CN.md +2 -0
  83. package/dashboard/dist/assets/{ArtifactsPage-DZNCi6tn.js → ArtifactsPage-CUrrDGgN.js} +1 -1
  84. package/dashboard/dist/assets/ChatInput-pUOLJIKE.js +49 -0
  85. package/dashboard/dist/assets/ChatPage-B8Xqkt0v.js +27 -0
  86. package/dashboard/dist/assets/{CollabPage-B4NAHXS2.js → CollabPage-DIUXeazv.js} +1 -1
  87. package/dashboard/dist/assets/{ExecutionPanel-CFt4LJyq.js → ExecutionPanel-VmYeADFj.js} +1 -1
  88. package/dashboard/dist/assets/KanbanPage-DLq8v7hg.js +21 -0
  89. package/dashboard/dist/assets/{MarkdownRenderer-X4af_WNb.js → MarkdownRenderer-D7AehrnR.js} +1 -1
  90. package/dashboard/dist/assets/{McpPage-BKfCVIyU.js → McpPage-BY0SjTgw.js} +2 -2
  91. package/dashboard/dist/assets/{OutputPanel-BlBQFJSW.js → OutputPanel-B-Rjwgmv.js} +1 -1
  92. package/dashboard/dist/assets/{ProblemsPanel-De3DLvoI.js → ProblemsPanel-GEpF-oi4.js} +1 -1
  93. package/dashboard/dist/assets/RequirementBoardPage-xs8uDM7I.js +6 -0
  94. package/dashboard/dist/assets/{RequirementPage-Bllxe2XI.js → RequirementPage-BKDSFwjA.js} +5 -10
  95. package/dashboard/dist/assets/SpecsPage-DLFb9ZH0.js +36 -0
  96. package/dashboard/dist/assets/SupervisorPage-SOki_kgz.js +6 -0
  97. package/dashboard/dist/assets/TeamsPage-BO2kP70F.js +11 -0
  98. package/dashboard/dist/assets/{TreeBrowser-Q12qobZs.js → TreeBrowser-B9DHdULE.js} +1 -1
  99. package/dashboard/dist/assets/{WorkflowPage-D_Fzdy3_.js → WorkflowPage-C8hWbYim.js} +1 -1
  100. package/dashboard/dist/assets/{check-u6fGOwQO.js → check-DJDk3A2a.js} +1 -1
  101. package/dashboard/dist/assets/{chevron-right-Csu22t58.js → chevron-right-C7bVDreZ.js} +1 -1
  102. package/dashboard/dist/assets/{circle-CMrkbRNg.js → circle-Qfgy4LB_.js} +1 -1
  103. package/dashboard/dist/assets/{circle-alert-c3tH1P4z.js → circle-alert-Na1vf6qQ.js} +1 -1
  104. package/dashboard/dist/assets/{circle-check-gYxxSYuH.js → circle-check-CEGgy3NV.js} +1 -1
  105. package/dashboard/dist/assets/{circle-check-big-TDSeWstm.js → circle-check-big-3JB8zRYj.js} +1 -1
  106. package/dashboard/dist/assets/{code-CFN2uX9V.js → code-Ble63Idz.js} +1 -1
  107. package/dashboard/dist/assets/{columns-3-38xIDlzy.js → columns-3-BUcKlxve.js} +1 -1
  108. package/dashboard/dist/assets/{download-DC7KkKyP.js → download-CMqkfn8x.js} +1 -1
  109. package/dashboard/dist/assets/{folder-CWq_lAnf.js → folder-B9ewx9LL.js} +1 -1
  110. package/dashboard/dist/assets/index-C2Mcb4TJ.js +231 -0
  111. package/dashboard/dist/assets/index-DyBbPc18.css +1 -0
  112. package/dashboard/dist/assets/{index-Do71weNR.js → index-JTmGteaT.js} +1 -1
  113. package/dashboard/dist/assets/{list-CgIP_2A-.js → list-DI8Wn2aT.js} +1 -1
  114. package/dashboard/dist/assets/loader-B5F6PzFT.js +11 -0
  115. package/dashboard/dist/assets/{minus-DYoN5UGk.js → minus-Lp_BfctG.js} +1 -1
  116. package/dashboard/dist/assets/{pen-line-Bh_WKYHm.js → pen-line-Ch7sphzZ.js} +1 -1
  117. package/dashboard/dist/assets/pencil-_yRMHmGT.js +6 -0
  118. package/dashboard/dist/assets/{proxy-BKxDAKTj.js → proxy-D72Y8a4Y.js} +1 -1
  119. package/dashboard/dist/assets/{search-SieXnOgr.js → search-BS6fI6Bg.js} +1 -1
  120. package/dashboard/dist/assets/{shallow-Bme1JY57.js → shallow-BXasQBvr.js} +1 -1
  121. package/dashboard/dist/assets/table-CeGlFjlP.js +6 -0
  122. package/dashboard/dist/assets/{terminal-BB3Xfuv5.js → terminal-BJic2yW-.js} +1 -1
  123. package/dashboard/dist/assets/{trash-2-C8f4vFFM.js → trash-2-Czz4X8Fb.js} +1 -1
  124. package/dashboard/dist/assets/{zap-4uwlzVm0.js → zap-C3H0jVFA.js} +1 -1
  125. package/dashboard/dist/index.html +2 -2
  126. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +16 -1
  127. package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -1
  128. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +9 -0
  129. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +109 -9
  130. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -1
  131. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.js +49 -0
  132. package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.js.map +1 -1
  133. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +1 -2
  134. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
  135. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +1 -1
  136. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +2 -1
  137. package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -1
  138. package/dashboard/dist-server/dashboard/src/server/index.js +3 -0
  139. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  140. package/dashboard/dist-server/dashboard/src/server/routes/collab.js +124 -0
  141. package/dashboard/dist-server/dashboard/src/server/routes/collab.js.map +1 -1
  142. package/dashboard/dist-server/dashboard/src/server/routes/index.js +5 -4
  143. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  144. package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +5 -13
  145. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +97 -155
  146. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  147. package/dashboard/dist-server/dashboard/src/server/routes/wiki.d.ts +11 -1
  148. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +27 -6
  149. package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -1
  150. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +25 -7
  151. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  152. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js +8 -0
  153. package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js.map +1 -1
  154. package/dashboard/dist-server/dashboard/src/server/wiki/search.js +1 -0
  155. package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
  156. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.d.ts +29 -0
  157. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js +148 -0
  158. package/dashboard/dist-server/dashboard/src/server/wiki/spec-entry-parser.js.map +1 -0
  159. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +4 -2
  160. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  161. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +8 -2
  162. package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -1
  163. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +5 -0
  164. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +80 -38
  165. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  166. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +8 -6
  167. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -1
  168. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +40 -5
  169. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +21 -23
  170. package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -1
  171. package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +33 -3
  172. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +184 -12
  173. package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -1
  174. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.d.ts +10 -0
  175. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js +73 -0
  176. package/dashboard/dist-server/dashboard/src/server/ws/handlers/team-handler.js.map +1 -0
  177. package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +31 -0
  178. package/dashboard/dist-server/dashboard/src/shared/collab-types.js +28 -0
  179. package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -1
  180. package/dashboard/dist-server/dashboard/src/shared/constants.js +5 -0
  181. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  182. package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +22 -0
  183. package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +12 -0
  184. package/dashboard/dist-server/dashboard/src/shared/issue-types.js +12 -0
  185. package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -1
  186. package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +1 -0
  187. package/dashboard/dist-server/dashboard/src/shared/team-types.js +7 -0
  188. package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -1
  189. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +27 -1
  190. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  191. package/dashboard/dist-server/shared/agent-types.d.ts +4 -0
  192. package/dashboard/dist-server/src/commands/delegate.js +26 -0
  193. package/dashboard/dist-server/src/commands/delegate.js.map +1 -1
  194. package/dashboard/dist-server/src/coordinator/graph-types.d.ts +11 -1
  195. package/dashboard/dist-server/src/coordinator/graph-walker.js +29 -2
  196. package/dashboard/dist-server/src/coordinator/graph-walker.js.map +1 -1
  197. package/dashboard/dist-server/src/coordinator/prompt-assembler.js +3 -2
  198. package/dashboard/dist-server/src/coordinator/prompt-assembler.js.map +1 -1
  199. package/dashboard/dist-server/src/hooks/constants.d.ts +29 -60
  200. package/dashboard/dist-server/src/hooks/constants.js +105 -82
  201. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  202. package/dashboard/dist-server/src/types/index.d.ts +2 -1
  203. package/dist/shared/agent-types.d.ts +4 -0
  204. package/dist/shared/agent-types.d.ts.map +1 -1
  205. package/dist/src/commands/delegate.d.ts.map +1 -1
  206. package/dist/src/commands/delegate.js +26 -0
  207. package/dist/src/commands/delegate.js.map +1 -1
  208. package/dist/src/commands/hooks.d.ts +2 -4
  209. package/dist/src/commands/hooks.d.ts.map +1 -1
  210. package/dist/src/commands/hooks.js +4 -7
  211. package/dist/src/commands/hooks.js.map +1 -1
  212. package/dist/src/commands/install-backend.d.ts.map +1 -1
  213. package/dist/src/commands/install-backend.js +29 -18
  214. package/dist/src/commands/install-backend.js.map +1 -1
  215. package/dist/src/commands/install-ui/InstallConfirm.d.ts +2 -3
  216. package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -1
  217. package/dist/src/commands/install-ui/InstallConfirm.js +1 -1
  218. package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
  219. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  220. package/dist/src/commands/install-ui/InstallExecution.js +1 -2
  221. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  222. package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
  223. package/dist/src/commands/install-ui/InstallFlow.js +5 -7
  224. package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
  225. package/dist/src/commands/install-ui/StatuslineConfig.d.ts +3 -6
  226. package/dist/src/commands/install-ui/StatuslineConfig.d.ts.map +1 -1
  227. package/dist/src/commands/install-ui/StatuslineConfig.js +21 -17
  228. package/dist/src/commands/install-ui/StatuslineConfig.js.map +1 -1
  229. package/dist/src/commands/update.d.ts.map +1 -1
  230. package/dist/src/commands/update.js +95 -0
  231. package/dist/src/commands/update.js.map +1 -1
  232. package/dist/src/commands/wiki.d.ts.map +1 -1
  233. package/dist/src/commands/wiki.js +75 -11
  234. package/dist/src/commands/wiki.js.map +1 -1
  235. package/dist/src/coordinator/graph-types.d.ts +11 -1
  236. package/dist/src/coordinator/graph-types.d.ts.map +1 -1
  237. package/dist/src/coordinator/graph-walker.d.ts.map +1 -1
  238. package/dist/src/coordinator/graph-walker.js +29 -2
  239. package/dist/src/coordinator/graph-walker.js.map +1 -1
  240. package/dist/src/coordinator/prompt-assembler.d.ts.map +1 -1
  241. package/dist/src/coordinator/prompt-assembler.js +3 -2
  242. package/dist/src/coordinator/prompt-assembler.js.map +1 -1
  243. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts +4 -1
  244. package/dist/src/hooks/__tests__/statusline-visual-test.d.ts.map +1 -1
  245. package/dist/src/hooks/__tests__/statusline-visual-test.js +55 -152
  246. package/dist/src/hooks/__tests__/statusline-visual-test.js.map +1 -1
  247. package/dist/src/hooks/constants.d.ts +29 -60
  248. package/dist/src/hooks/constants.d.ts.map +1 -1
  249. package/dist/src/hooks/constants.js +105 -82
  250. package/dist/src/hooks/constants.js.map +1 -1
  251. package/dist/src/hooks/skill-context.d.ts +3 -0
  252. package/dist/src/hooks/skill-context.d.ts.map +1 -1
  253. package/dist/src/hooks/skill-context.js +149 -15
  254. package/dist/src/hooks/skill-context.js.map +1 -1
  255. package/dist/src/hooks/statusline.d.ts +11 -8
  256. package/dist/src/hooks/statusline.d.ts.map +1 -1
  257. package/dist/src/hooks/statusline.js +284 -179
  258. package/dist/src/hooks/statusline.js.map +1 -1
  259. package/dist/src/hooks/workspace.d.ts.map +1 -1
  260. package/dist/src/hooks/workspace.js +2 -1
  261. package/dist/src/hooks/workspace.js.map +1 -1
  262. package/dist/src/migrations/_template.d.ts +12 -0
  263. package/dist/src/migrations/_template.d.ts.map +1 -0
  264. package/dist/src/migrations/_template.js +55 -0
  265. package/dist/src/migrations/_template.js.map +1 -0
  266. package/dist/src/migrations/index.d.ts +14 -0
  267. package/dist/src/migrations/index.d.ts.map +1 -0
  268. package/dist/src/migrations/index.js +20 -0
  269. package/dist/src/migrations/index.js.map +1 -0
  270. package/dist/src/migrations/run.d.ts +12 -0
  271. package/dist/src/migrations/run.d.ts.map +1 -0
  272. package/dist/src/migrations/run.js +119 -0
  273. package/dist/src/migrations/run.js.map +1 -0
  274. package/dist/src/migrations/v1-to-v2.d.ts +10 -0
  275. package/dist/src/migrations/v1-to-v2.d.ts.map +1 -0
  276. package/dist/src/migrations/v1-to-v2.js +71 -0
  277. package/dist/src/migrations/v1-to-v2.js.map +1 -0
  278. package/dist/src/tools/merge-validator.d.ts.map +1 -1
  279. package/dist/src/tools/merge-validator.js +114 -16
  280. package/dist/src/tools/merge-validator.js.map +1 -1
  281. package/dist/src/tools/team-activity.d.ts.map +1 -1
  282. package/dist/src/tools/team-activity.js +22 -0
  283. package/dist/src/tools/team-activity.js.map +1 -1
  284. package/dist/src/tools/transition-recorder.d.ts +2 -17
  285. package/dist/src/tools/transition-recorder.d.ts.map +1 -1
  286. package/dist/src/tools/transition-recorder.js +6 -3
  287. package/dist/src/tools/transition-recorder.js.map +1 -1
  288. package/dist/src/types/index.d.ts +2 -1
  289. package/dist/src/types/index.d.ts.map +1 -1
  290. package/dist/src/utils/migration-registry.d.ts +65 -0
  291. package/dist/src/utils/migration-registry.d.ts.map +1 -0
  292. package/dist/src/utils/migration-registry.js +117 -0
  293. package/dist/src/utils/migration-registry.js.map +1 -0
  294. package/dist/src/utils/state-schema.d.ts +153 -0
  295. package/dist/src/utils/state-schema.d.ts.map +1 -0
  296. package/dist/src/utils/state-schema.js +329 -0
  297. package/dist/src/utils/state-schema.js.map +1 -0
  298. package/package.json +1 -1
  299. package/shared/agent-types.ts +4 -0
  300. package/templates/state.json +17 -39
  301. package/templates/worktree-scope.json +9 -10
  302. package/templates/worktrees.json +26 -27
  303. package/workflows/brainstorm.md +10 -1
  304. package/workflows/codebase-rebuild.md +2 -12
  305. package/workflows/debug.md +17 -8
  306. package/workflows/execute.md +18 -4
  307. package/workflows/fork.md +52 -37
  308. package/workflows/init.md +1 -4
  309. package/workflows/integration-test.md +13 -2
  310. package/workflows/issue.md +8 -4
  311. package/workflows/learn.md +25 -10
  312. package/workflows/maestro.codex.md +8 -1
  313. package/workflows/maestro.md +13 -3
  314. package/workflows/memory.md +26 -71
  315. package/workflows/merge.md +48 -52
  316. package/workflows/milestone-complete.md +24 -7
  317. package/workflows/retrospective.md +87 -80
  318. package/workflows/review.md +11 -5
  319. package/workflows/specs-remove.md +115 -0
  320. package/workflows/specs-setup.md +10 -32
  321. package/workflows/status.md +291 -290
  322. package/workflows/sync.md +5 -5
  323. package/workflows/test.md +11 -2
  324. package/workflows/ui-style.md +8 -2
  325. package/workflows/verify.md +2 -2
  326. package/workflows/wiki-connect.md +188 -0
  327. package/workflows/wiki-digest.md +221 -0
  328. package/workflows/wiki-manage.md +204 -0
  329. package/dashboard/dist/assets/ChatInput-Bvr-FeEq.js +0 -49
  330. package/dashboard/dist/assets/ChatPage-D9zTkJZo.js +0 -22
  331. package/dashboard/dist/assets/KanbanPage-C8USth6H.js +0 -21
  332. package/dashboard/dist/assets/RequirementBoardPage-Bf1trzqs.js +0 -11
  333. package/dashboard/dist/assets/SpecsPage-9lwxKT27.js +0 -36
  334. package/dashboard/dist/assets/SupervisorPage-SusdfHFq.js +0 -6
  335. package/dashboard/dist/assets/TeamsPage-DsuM6OwC.js +0 -6
  336. package/dashboard/dist/assets/arrow-left-Bqtb2hle.js +0 -6
  337. package/dashboard/dist/assets/index-DWG-WrzT.js +0 -231
  338. package/dashboard/dist/assets/index-GUNJodSR.css +0 -1
  339. package/dashboard/dist/assets/table-llyEtj-7.js +0 -6
@@ -1,7 +1,8 @@
1
- import { readFile, readdir, stat, lstat } from 'node:fs/promises';
1
+ import { readFile, readdir, stat, lstat, writeFile, mkdir } from 'node:fs/promises';
2
2
  import { basename, dirname, extname, join, relative, resolve, sep } from 'node:path';
3
3
  import { toForwardSlash } from '../../shared/utils.js';
4
4
  import { parseFrontmatter } from './frontmatter-util.js';
5
+ import { parseSpecEntries } from './spec-entry-parser.js';
5
6
  import { loadVirtualEntries } from './virtual-wiki-adapters.js';
6
7
  import { buildGraph } from './graph-analysis.js';
7
8
  import { buildInvertedIndex, searchBM25 } from './search.js';
@@ -56,7 +57,6 @@ export class WikiIndexer {
56
57
  project: [],
57
58
  roadmap: [],
58
59
  spec: [],
59
- phase: [],
60
60
  issue: [],
61
61
  lesson: [],
62
62
  memory: [],
@@ -77,6 +77,8 @@ export class WikiIndexer {
77
77
  this.cache = index;
78
78
  this.graphCache = null;
79
79
  this.searchCache = null;
80
+ // Persist lightweight index to disk (fire-and-forget).
81
+ this.persistIndex(index).catch(() => { });
80
82
  return index;
81
83
  })();
82
84
  try {
@@ -114,7 +116,6 @@ export class WikiIndexer {
114
116
  project: [],
115
117
  roadmap: [],
116
118
  spec: [],
117
- phase: [],
118
119
  issue: [],
119
120
  lesson: [],
120
121
  memory: [],
@@ -160,35 +161,39 @@ export class WikiIndexer {
160
161
  if (entry)
161
162
  out.push(entry);
162
163
  }
163
- // specs/*.md
164
+ // specs/*.md — container node + sub-nodes from <spec-entry> blocks
164
165
  for (const name of await safeReaddir(join(this.workflowRoot, 'specs'))) {
165
166
  if (extname(name).toLowerCase() !== '.md')
166
167
  continue;
167
- const entry = await this.parseFileEntry(join(this.workflowRoot, 'specs', name), 'spec');
168
- if (entry)
169
- out.push(entry);
170
- }
171
- // phases/NN-slug/*.md
172
- const phasesRoot = join(this.workflowRoot, 'phases');
173
- for (const phaseDir of await safeReaddir(phasesRoot)) {
174
- const abs = join(phasesRoot, phaseDir);
175
- let isDir = false;
176
- try {
177
- const s = await stat(abs);
178
- isDir = s.isDirectory();
179
- }
180
- catch {
181
- continue;
182
- }
183
- if (!isDir)
168
+ const absPath = join(this.workflowRoot, 'specs', name);
169
+ const container = await this.parseFileEntry(absPath, 'spec');
170
+ if (!container)
184
171
  continue;
185
- const phaseRef = parsePhaseRef(phaseDir);
186
- for (const name of await safeReaddir(abs)) {
187
- if (extname(name).toLowerCase() !== '.md')
188
- continue;
189
- const entry = await this.parseFileEntry(join(abs, name), 'phase', { phaseRef });
190
- if (entry)
191
- out.push(entry);
172
+ out.push(container);
173
+ // Parse <spec-entry> blocks into sub-node WikiEntries
174
+ const specEntries = parseSpecEntries(container.body, name, {
175
+ category: container.category ?? undefined,
176
+ keywords: container.tags,
177
+ });
178
+ for (const se of specEntries) {
179
+ out.push({
180
+ id: `spec-${se.id}`,
181
+ type: 'spec',
182
+ title: se.title,
183
+ summary: se.content.slice(0, 240).replace(/\s+/g, ' '),
184
+ tags: se.keywords,
185
+ status: 'active',
186
+ created: container.created,
187
+ updated: container.updated,
188
+ related: [],
189
+ source: container.source,
190
+ body: se.content,
191
+ ext: { entryType: se.type, timestamp: se.timestamp },
192
+ category: se.category || container.category,
193
+ createdBy: container.createdBy,
194
+ sourceRef: container.sourceRef,
195
+ parent: container.id,
196
+ });
192
197
  }
193
198
  }
194
199
  // memory/*.md (MEM-* → memory, TIP-* → note, others → memory)
@@ -225,7 +230,7 @@ export class WikiIndexer {
225
230
  }
226
231
  return out;
227
232
  }
228
- async parseFileEntry(absPath, type, opts = {}) {
233
+ async parseFileEntry(absPath, type) {
229
234
  if (!this.isInsideRoot(absPath))
230
235
  return null;
231
236
  try {
@@ -255,8 +260,12 @@ export class WikiIndexer {
255
260
  const tags = extractTags(data);
256
261
  const status = asStatus(data.status) ?? inferStatus(type);
257
262
  const related = normalizeRelated(data.related);
258
- const phaseRef = opts.phaseRef ?? parsePhaseRef(basename(dirname(absPath)));
259
263
  const ext = extractExt(data);
264
+ // Enrichment fields from frontmatter
265
+ const category = asString(data.category) || null;
266
+ const createdBy = asString(data.createdBy) || null;
267
+ const sourceRef = asString(data.sourceRef) || null;
268
+ const parent = asString(data.parent) || null;
260
269
  const rel = toForwardSlash(relative(this.workflowRoot, absPath));
261
270
  // Memory/note files live under memory/ with MEM-<slug>.md or TIP-<slug>.md
262
271
  // naming. Strip the prefix from the id-generating stem so the id matches
@@ -276,11 +285,14 @@ export class WikiIndexer {
276
285
  status,
277
286
  created: new Date(stats.birthtimeMs || stats.mtimeMs).toISOString(),
278
287
  updated: new Date(stats.mtimeMs).toISOString(),
279
- phaseRef: phaseRef ?? null,
280
288
  related,
281
289
  source: { kind: 'file', path: rel },
282
290
  body: content,
283
291
  ext,
292
+ category,
293
+ createdBy,
294
+ sourceRef,
295
+ parent,
284
296
  };
285
297
  }
286
298
  buildBacklinks(entries, byId) {
@@ -309,6 +321,35 @@ export class WikiIndexer {
309
321
  }
310
322
  return bl;
311
323
  }
324
+ /**
325
+ * Write a lightweight persistent index to `.workflow/wiki-index.json`.
326
+ * Strips body/raw/ext to keep the file small and fast to parse externally.
327
+ */
328
+ async persistIndex(index) {
329
+ const persisted = {
330
+ version: 2,
331
+ generatedAt: index.generatedAt,
332
+ entries: index.entries.map((e) => ({
333
+ id: e.id,
334
+ type: e.type,
335
+ title: e.title,
336
+ summary: e.summary,
337
+ tags: e.tags,
338
+ status: e.status,
339
+ created: e.created,
340
+ updated: e.updated,
341
+ category: e.category,
342
+ createdBy: e.createdBy,
343
+ sourceRef: e.sourceRef,
344
+ parent: e.parent,
345
+ related: e.related,
346
+ source: e.source,
347
+ })),
348
+ };
349
+ const target = join(this.workflowRoot, 'wiki-index.json');
350
+ await mkdir(dirname(target), { recursive: true });
351
+ await writeFile(target, JSON.stringify(persisted, null, 2), 'utf-8');
352
+ }
312
353
  isInsideRoot(absPath) {
313
354
  const requested = resolve(absPath);
314
355
  return requested === this.workflowRoot || requested.startsWith(this.workflowRoot + sep);
@@ -362,7 +403,10 @@ function normalizeRelated(value) {
362
403
  return out;
363
404
  }
364
405
  function extractExt(data) {
365
- const known = new Set(['title', 'summary', 'tags', 'status', 'related']);
406
+ const known = new Set([
407
+ 'title', 'summary', 'tags', 'status', 'related',
408
+ 'category', 'createdBy', 'sourceRef', 'parent',
409
+ ]);
366
410
  const out = {};
367
411
  for (const [k, v] of Object.entries(data)) {
368
412
  if (!known.has(k))
@@ -370,10 +414,6 @@ function extractExt(data) {
370
414
  }
371
415
  return out;
372
416
  }
373
- function parsePhaseRef(dirName) {
374
- const m = dirName.match(/^(\d+)-/);
375
- return m ? Number(m[1]) : null;
376
- }
377
417
  function slugify(input) {
378
418
  return input
379
419
  .toLowerCase()
@@ -400,10 +440,12 @@ export function filterEntries(entries, filters) {
400
440
  return false;
401
441
  if (filters.tag && !d.tags.includes(filters.tag))
402
442
  return false;
403
- if (filters.phase !== undefined && d.phaseRef !== filters.phase)
404
- return false;
405
443
  if (filters.status && d.status !== filters.status)
406
444
  return false;
445
+ if (filters.category && d.category !== filters.category)
446
+ return false;
447
+ if (filters.createdBy && d.createdBy !== filters.createdBy)
448
+ return false;
407
449
  if (filters.q) {
408
450
  const q = filters.q.toLowerCase();
409
451
  if (!d.title.toLowerCase().includes(q) && !d.summary.toLowerCase().includes(q)) {
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-indexer.js","sourceRoot":"","sources":["../../../../../src/server/wiki/wiki-indexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiki-indexer.js","sourceRoot":"","sources":["../../../../../src/server/wiki/wiki-indexer.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ beforeEach(async () => {
16
16
  tmpRoot = await mkdtemp(join(tmpdir(), 'wiki-test-'));
17
17
  });
18
18
  afterEach(async () => {
19
- await rm(tmpRoot, { recursive: true, force: true });
19
+ await rm(tmpRoot, { recursive: true, force: true, maxRetries: 3 });
20
20
  });
21
21
  describe('WikiIndexer', () => {
22
22
  it('indexes files across workflow subtrees', async () => {
@@ -125,11 +125,12 @@ describe('WikiWriter', () => {
125
125
  })).rejects.toThrow(WikiWriteError);
126
126
  });
127
127
  it('returns 409 on stale expectedHash', async () => {
128
- await write('specs/s.md', `---\ntitle: S\n---\n# S\norig`);
128
+ // Use memory path for body-update hash test (spec body updates are blocked)
129
+ await write('memory/MEM-s.md', `---\ntitle: S\n---\n# S\norig`);
129
130
  const indexer = new WikiIndexer({ workflowRoot: tmpRoot });
130
131
  const writer = new WikiWriter(tmpRoot, indexer);
131
132
  try {
132
- await writer.update('spec-s', {
133
+ await writer.update('memory-s', {
133
134
  body: 'updated',
134
135
  expectedHash: 'deadbeef',
135
136
  });
@@ -140,11 +141,12 @@ describe('WikiWriter', () => {
140
141
  expect(err.code).toBe('CONFLICT');
141
142
  }
142
143
  });
143
- it('updates existing spec preserving frontmatter', async () => {
144
- await write('specs/s.md', `---\ntitle: Old\ntags:\n - a\n---\n# Old\nbody`);
144
+ it('updates existing entry preserving frontmatter', async () => {
145
+ // Use memory path for body-update test (spec body updates are blocked)
146
+ await write('memory/MEM-s.md', `---\ntitle: Old\ntags:\n - a\n---\n# Old\nbody`);
145
147
  const indexer = new WikiIndexer({ workflowRoot: tmpRoot });
146
148
  const writer = new WikiWriter(tmpRoot, indexer);
147
- const entry = await writer.update('spec-s', {
149
+ const entry = await writer.update('memory-s', {
148
150
  title: 'New',
149
151
  body: 'new body',
150
152
  });
@@ -1 +1 @@
1
- {"version":3,"file":"wiki-indexer.test.js","sourceRoot":"","sources":["../../../../../src/server/wiki/wiki-indexer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiki-indexer.test.js","sourceRoot":"","sources":["../../../../../src/server/wiki/wiki-indexer.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type WikiNodeType = 'project' | 'roadmap' | 'spec' | 'phase' | 'issue' | 'lesson' | 'memory' | 'note';
1
+ export type WikiNodeType = 'project' | 'roadmap' | 'spec' | 'issue' | 'lesson' | 'memory' | 'note';
2
2
  export type WikiStatus = 'draft' | 'active' | 'completed' | 'blocked' | 'archived';
3
3
  export interface WikiSource {
4
4
  kind: 'file' | 'virtual';
@@ -19,8 +19,6 @@ export interface WikiEntry {
19
19
  created: string;
20
20
  /** ISO string from fs.stat.mtimeMs (or JSONL updated_at). */
21
21
  updated: string;
22
- /** Parsed from `phases/(\d+)-` directory pattern. */
23
- phaseRef: number | null;
24
22
  /** Normalized wikilink ids declared via frontmatter `related`. */
25
23
  related: string[];
26
24
  source: WikiSource;
@@ -30,9 +28,17 @@ export interface WikiEntry {
30
28
  raw?: unknown;
31
29
  /**
32
30
  * Preserves non-standard frontmatter fields so existing specs keep their
33
- * `category`, `readMode`, `priority`, `keywords` etc. intact.
31
+ * `readMode`, `priority`, `keywords` etc. intact.
34
32
  */
35
33
  ext: Record<string, unknown>;
34
+ /** Content category: arch|coding|debug|learning|quality|execution|design|security|decision|... */
35
+ category: string | null;
36
+ /** Command/skill that created this entry, e.g. "manage-harvest", "memory-capture", "manual". */
37
+ createdBy: string | null;
38
+ /** Source anchor: session ID, harvest fragment ID, commit hash, issue ID, etc. */
39
+ sourceRef: string | null;
40
+ /** Parent entry ID for hierarchical relationships (child→parent). */
41
+ parent: string | null;
36
42
  }
37
43
  export interface WikiIndex {
38
44
  entries: WikiEntry[];
@@ -45,8 +51,37 @@ export interface WikiIndex {
45
51
  export interface WikiFilters {
46
52
  type?: WikiNodeType;
47
53
  tag?: string;
48
- phase?: number;
49
54
  status?: WikiStatus;
50
55
  /** BM25 query string — tokenized against title + summary + tags + body. */
51
56
  q?: string;
57
+ /** Filter by content category. */
58
+ category?: string;
59
+ /** Filter by creating command/skill. */
60
+ createdBy?: string;
61
+ }
62
+ /** Lightweight entry for the persisted index (no body/raw/ext). */
63
+ export interface PersistedEntry {
64
+ id: string;
65
+ type: WikiNodeType;
66
+ title: string;
67
+ summary: string;
68
+ tags: string[];
69
+ status: WikiStatus;
70
+ created: string;
71
+ updated: string;
72
+ category: string | null;
73
+ createdBy: string | null;
74
+ sourceRef: string | null;
75
+ parent: string | null;
76
+ related: string[];
77
+ source: WikiSource;
78
+ }
79
+ export interface PersistedWikiIndex {
80
+ version: 2;
81
+ generatedAt: number;
82
+ entries: PersistedEntry[];
83
+ graph?: {
84
+ forwardLinks: Record<string, string[]>;
85
+ backlinks: Record<string, string[]>;
86
+ };
52
87
  }
@@ -19,7 +19,7 @@ beforeEach(async () => {
19
19
  tmpRoot = await mkdtemp(join(tmpdir(), 'wiki-writer-stress-'));
20
20
  });
21
21
  afterEach(async () => {
22
- await rm(tmpRoot, { recursive: true, force: true });
22
+ await rm(tmpRoot, { recursive: true, force: true, maxRetries: 3 });
23
23
  });
24
24
  describe('WikiWriter security — path traversal', () => {
25
25
  it('rejects absolute path slug', async () => {
@@ -57,23 +57,11 @@ describe('WikiWriter security — path traversal', () => {
57
57
  const writer = new WikiWriter(tmpRoot, indexer);
58
58
  await expect(writer.create({ type: 'spec', slug: 'ok', title: ' ', body: 'x' })).rejects.toThrow(WikiWriteError);
59
59
  });
60
- it('phase requires phaseRef', async () => {
60
+ it('rejects phase type (removed)', async () => {
61
61
  const indexer = new WikiIndexer({ workflowRoot: tmpRoot });
62
62
  const writer = new WikiWriter(tmpRoot, indexer);
63
63
  await expect(writer.create({ type: 'phase', slug: 'ok', title: 'T', body: 'x' })).rejects.toThrow(WikiWriteError);
64
64
  });
65
- it('phase writes to phases/NN-slug/slug.md', async () => {
66
- const indexer = new WikiIndexer({ workflowRoot: tmpRoot });
67
- const writer = new WikiWriter(tmpRoot, indexer);
68
- const entry = await writer.create({
69
- type: 'phase',
70
- slug: 'setup',
71
- phaseRef: 3,
72
- title: 'Setup Phase',
73
- body: '# Setup',
74
- });
75
- expect(entry.source.path).toBe('phases/03-setup/setup.md');
76
- });
77
65
  it('memory writes to memory/MEM-slug.md', async () => {
78
66
  const indexer = new WikiIndexer({ workflowRoot: tmpRoot });
79
67
  const writer = new WikiWriter(tmpRoot, indexer);
@@ -146,16 +134,17 @@ describe('WikiWriter virtual entries — read-only', () => {
146
134
  });
147
135
  describe('WikiWriter concurrency', () => {
148
136
  it('concurrent PUTs — one wins, others see CONFLICT with stale hash', async () => {
149
- await seed('specs/s.md', `---\ntitle: Initial\n---\n# s\nv0`);
137
+ // Use memory path (not specs/) since spec body updates are blocked
138
+ await seed('memory/MEM-s.md', `---\ntitle: Initial\n---\n# s\nv0`);
150
139
  const indexer = new WikiIndexer({ workflowRoot: tmpRoot });
151
140
  const writer = new WikiWriter(tmpRoot, indexer);
152
141
  // Capture the initial hash
153
- const raw = await readFile(join(tmpRoot, 'specs', 's.md'));
142
+ const raw = await readFile(join(tmpRoot, 'memory', 'MEM-s.md'));
154
143
  const initialHash = createHash('sha256').update(raw).digest('hex');
155
144
  // Fire 5 concurrent PUTs all providing the SAME stale hash. Each update
156
145
  // serializes through readFile → writeFile, but after the first success the
157
146
  // hash on disk changes, so the remaining 4 must see CONFLICT.
158
- const results = await Promise.allSettled(Array.from({ length: 5 }, (_, i) => writer.update('spec-s', {
147
+ const results = await Promise.allSettled(Array.from({ length: 5 }, (_, i) => writer.update('memory-s', {
159
148
  body: `v${i + 1}`,
160
149
  expectedHash: initialHash,
161
150
  })));
@@ -165,26 +154,35 @@ describe('WikiWriter concurrency', () => {
165
154
  expect(ok.length).toBe(1);
166
155
  expect(conflicts.length).toBe(4);
167
156
  });
157
+ it('spec body update is blocked — use spec API instead', async () => {
158
+ await seed('specs/s.md', `---\ntitle: Protected\n---\n# Protected\nbody`);
159
+ const indexer = new WikiIndexer({ workflowRoot: tmpRoot });
160
+ const writer = new WikiWriter(tmpRoot, indexer);
161
+ await expect(writer.update('spec-s', { body: 'overwritten' })).rejects.toMatchObject({ code: 'FORBIDDEN' });
162
+ // Frontmatter-only updates should still work
163
+ const updated = await writer.update('spec-s', { title: 'New Title' });
164
+ expect(updated.title).toBe('New Title');
165
+ });
168
166
  it('rapid create → update → delete round-trip keeps index consistent', async () => {
169
167
  const indexer = new WikiIndexer({ workflowRoot: tmpRoot });
170
168
  const writer = new WikiWriter(tmpRoot, indexer);
171
169
  const created = await writer.create({
172
- type: 'spec',
170
+ type: 'memory',
173
171
  slug: 'rt',
174
172
  title: 'Initial',
175
173
  body: '# body',
176
174
  });
177
- expect(created.id).toBe('spec-rt');
178
- const updated = await writer.update('spec-rt', {
175
+ expect(created.id).toBe('memory-rt');
176
+ const updated = await writer.update('memory-rt', {
179
177
  title: 'Updated',
180
178
  body: '# updated',
181
179
  });
182
180
  expect(updated.title).toBe('Updated');
183
- await writer.remove('spec-rt');
181
+ await writer.remove('memory-rt');
184
182
  const index = await indexer.get();
185
- expect(index.byId['spec-rt']).toBeUndefined();
183
+ expect(index.byId['memory-rt']).toBeUndefined();
186
184
  // File should be gone from disk too
187
- await expect(stat(join(tmpRoot, 'specs', 'rt.md'))).rejects.toThrow();
185
+ await expect(stat(join(tmpRoot, 'memory', 'MEM-rt.md'))).rejects.toThrow();
188
186
  });
189
187
  it('create with frontmatter serializes arrays and strings correctly', async () => {
190
188
  const indexer = new WikiIndexer({ workflowRoot: tmpRoot });
@@ -1 +1 @@
1
- {"version":3,"file":"writer-stress.test.js","sourceRoot":"","sources":["../../../../../src/server/wiki/writer-stress.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writer-stress.test.js","sourceRoot":"","sources":["../../../../../src/server/wiki/writer-stress.test.ts"],"names":[],"mappings":"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"}