maestro-flow 0.3.1 → 0.3.2

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 (424) hide show
  1. package/.claude/commands/maestro-overlay.md +178 -122
  2. package/.codex/skills/maestro-coordinate/SKILL.md +3 -4
  3. package/dist/src/commands/launcher.js +1 -1
  4. package/dist/src/commands/launcher.js.map +1 -1
  5. package/dist/src/commands/overlay-ui/OverlayList.d.ts +35 -0
  6. package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -0
  7. package/dist/src/commands/overlay-ui/OverlayList.js +143 -0
  8. package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -0
  9. package/dist/src/commands/overlay-ui/index.d.ts +2 -0
  10. package/dist/src/commands/overlay-ui/index.d.ts.map +1 -0
  11. package/dist/src/commands/overlay-ui/index.js +188 -0
  12. package/dist/src/commands/overlay-ui/index.js.map +1 -0
  13. package/dist/src/commands/overlay.d.ts.map +1 -1
  14. package/dist/src/commands/overlay.js +79 -59
  15. package/dist/src/commands/overlay.js.map +1 -1
  16. package/dist/src/core/overlay/applier.d.ts +32 -1
  17. package/dist/src/core/overlay/applier.d.ts.map +1 -1
  18. package/dist/src/core/overlay/applier.js +109 -1
  19. package/dist/src/core/overlay/applier.js.map +1 -1
  20. package/package.json +1 -1
  21. package/dist/agents/cli-agent-runner.d.ts +0 -131
  22. package/dist/agents/cli-agent-runner.d.ts.map +0 -1
  23. package/dist/agents/cli-agent-runner.js +0 -688
  24. package/dist/agents/cli-agent-runner.js.map +0 -1
  25. package/dist/agents/cli-history-store.d.ts +0 -63
  26. package/dist/agents/cli-history-store.d.ts.map +0 -1
  27. package/dist/agents/cli-history-store.js +0 -242
  28. package/dist/agents/cli-history-store.js.map +0 -1
  29. package/dist/agents/dashboard-bridge.d.ts +0 -39
  30. package/dist/agents/dashboard-bridge.d.ts.map +0 -1
  31. package/dist/agents/dashboard-bridge.js +0 -76
  32. package/dist/agents/dashboard-bridge.js.map +0 -1
  33. package/dist/agents/parallel-cli-runner.d.ts +0 -46
  34. package/dist/agents/parallel-cli-runner.d.ts.map +0 -1
  35. package/dist/agents/parallel-cli-runner.js +0 -277
  36. package/dist/agents/parallel-cli-runner.js.map +0 -1
  37. package/dist/agents/terminal-adapter.d.ts +0 -94
  38. package/dist/agents/terminal-adapter.d.ts.map +0 -1
  39. package/dist/agents/terminal-adapter.js +0 -132
  40. package/dist/agents/terminal-adapter.js.map +0 -1
  41. package/dist/agents/terminal-backend.d.ts +0 -53
  42. package/dist/agents/terminal-backend.d.ts.map +0 -1
  43. package/dist/agents/terminal-backend.js +0 -286
  44. package/dist/agents/terminal-backend.js.map +0 -1
  45. package/dist/async/delegate-broker-client.d.ts +0 -22
  46. package/dist/async/delegate-broker-client.d.ts.map +0 -1
  47. package/dist/async/delegate-broker-client.js +0 -47
  48. package/dist/async/delegate-broker-client.js.map +0 -1
  49. package/dist/async/delegate-broker.d.ts +0 -180
  50. package/dist/async/delegate-broker.d.ts.map +0 -1
  51. package/dist/async/delegate-broker.js +0 -1040
  52. package/dist/async/delegate-broker.js.map +0 -1
  53. package/dist/async/delegate-control.d.ts +0 -37
  54. package/dist/async/delegate-control.d.ts.map +0 -1
  55. package/dist/async/delegate-control.js +0 -155
  56. package/dist/async/delegate-control.js.map +0 -1
  57. package/dist/async/index.d.ts +0 -3
  58. package/dist/async/index.d.ts.map +0 -1
  59. package/dist/async/index.js +0 -3
  60. package/dist/async/index.js.map +0 -1
  61. package/dist/cli.d.ts +0 -2
  62. package/dist/cli.d.ts.map +0 -1
  63. package/dist/cli.js +0 -40
  64. package/dist/cli.js.map +0 -1
  65. package/dist/commands/cli.d.ts +0 -3
  66. package/dist/commands/cli.d.ts.map +0 -1
  67. package/dist/commands/cli.js +0 -262
  68. package/dist/commands/cli.js.map +0 -1
  69. package/dist/commands/coordinate.d.ts +0 -3
  70. package/dist/commands/coordinate.d.ts.map +0 -1
  71. package/dist/commands/coordinate.js +0 -275
  72. package/dist/commands/coordinate.js.map +0 -1
  73. package/dist/commands/delegate.d.ts +0 -37
  74. package/dist/commands/delegate.d.ts.map +0 -1
  75. package/dist/commands/delegate.js +0 -470
  76. package/dist/commands/delegate.js.map +0 -1
  77. package/dist/commands/ext.d.ts +0 -3
  78. package/dist/commands/ext.d.ts.map +0 -1
  79. package/dist/commands/ext.js +0 -28
  80. package/dist/commands/ext.js.map +0 -1
  81. package/dist/commands/hooks.d.ts +0 -3
  82. package/dist/commands/hooks.d.ts.map +0 -1
  83. package/dist/commands/hooks.js +0 -126
  84. package/dist/commands/hooks.js.map +0 -1
  85. package/dist/commands/install.d.ts +0 -3
  86. package/dist/commands/install.d.ts.map +0 -1
  87. package/dist/commands/install.js +0 -621
  88. package/dist/commands/install.js.map +0 -1
  89. package/dist/commands/launcher.d.ts +0 -3
  90. package/dist/commands/launcher.d.ts.map +0 -1
  91. package/dist/commands/launcher.js +0 -635
  92. package/dist/commands/launcher.js.map +0 -1
  93. package/dist/commands/link-coordinate.d.ts +0 -3
  94. package/dist/commands/link-coordinate.d.ts.map +0 -1
  95. package/dist/commands/link-coordinate.js +0 -225
  96. package/dist/commands/link-coordinate.js.map +0 -1
  97. package/dist/commands/msg.d.ts +0 -3
  98. package/dist/commands/msg.d.ts.map +0 -1
  99. package/dist/commands/msg.js +0 -110
  100. package/dist/commands/msg.js.map +0 -1
  101. package/dist/commands/overlay.d.ts +0 -3
  102. package/dist/commands/overlay.d.ts.map +0 -1
  103. package/dist/commands/overlay.js +0 -243
  104. package/dist/commands/overlay.js.map +0 -1
  105. package/dist/commands/run.d.ts +0 -3
  106. package/dist/commands/run.d.ts.map +0 -1
  107. package/dist/commands/run.js +0 -15
  108. package/dist/commands/run.js.map +0 -1
  109. package/dist/commands/serve.d.ts +0 -3
  110. package/dist/commands/serve.d.ts.map +0 -1
  111. package/dist/commands/serve.js +0 -16
  112. package/dist/commands/serve.js.map +0 -1
  113. package/dist/commands/spec.d.ts +0 -8
  114. package/dist/commands/spec.d.ts.map +0 -1
  115. package/dist/commands/spec.js +0 -147
  116. package/dist/commands/spec.js.map +0 -1
  117. package/dist/commands/stop.d.ts +0 -3
  118. package/dist/commands/stop.d.ts.map +0 -1
  119. package/dist/commands/stop.js +0 -218
  120. package/dist/commands/stop.js.map +0 -1
  121. package/dist/commands/tool.d.ts +0 -3
  122. package/dist/commands/tool.d.ts.map +0 -1
  123. package/dist/commands/tool.js +0 -29
  124. package/dist/commands/tool.js.map +0 -1
  125. package/dist/commands/uninstall.d.ts +0 -3
  126. package/dist/commands/uninstall.d.ts.map +0 -1
  127. package/dist/commands/uninstall.js +0 -77
  128. package/dist/commands/uninstall.js.map +0 -1
  129. package/dist/commands/view.d.ts +0 -3
  130. package/dist/commands/view.d.ts.map +0 -1
  131. package/dist/commands/view.js +0 -337
  132. package/dist/commands/view.js.map +0 -1
  133. package/dist/config/cli-tools-config.d.ts +0 -26
  134. package/dist/config/cli-tools-config.d.ts.map +0 -1
  135. package/dist/config/cli-tools-config.js +0 -49
  136. package/dist/config/cli-tools-config.js.map +0 -1
  137. package/dist/config/cli-tools-config.test.d.ts +0 -2
  138. package/dist/config/cli-tools-config.test.d.ts.map +0 -1
  139. package/dist/config/cli-tools-config.test.js +0 -59
  140. package/dist/config/cli-tools-config.test.js.map +0 -1
  141. package/dist/config/index.d.ts +0 -4
  142. package/dist/config/index.d.ts.map +0 -1
  143. package/dist/config/index.js +0 -27
  144. package/dist/config/index.js.map +0 -1
  145. package/dist/config/paths.d.ts +0 -15
  146. package/dist/config/paths.d.ts.map +0 -1
  147. package/dist/config/paths.js +0 -27
  148. package/dist/config/paths.js.map +0 -1
  149. package/dist/config/template-discovery.d.ts +0 -32
  150. package/dist/config/template-discovery.d.ts.map +0 -1
  151. package/dist/config/template-discovery.js +0 -128
  152. package/dist/config/template-discovery.js.map +0 -1
  153. package/dist/coordinator/cli-executor.d.ts +0 -22
  154. package/dist/coordinator/cli-executor.d.ts.map +0 -1
  155. package/dist/coordinator/cli-executor.js +0 -49
  156. package/dist/coordinator/cli-executor.js.map +0 -1
  157. package/dist/coordinator/expr-evaluator.d.ts +0 -11
  158. package/dist/coordinator/expr-evaluator.d.ts.map +0 -1
  159. package/dist/coordinator/expr-evaluator.js +0 -351
  160. package/dist/coordinator/expr-evaluator.js.map +0 -1
  161. package/dist/coordinator/graph-loader.d.ts +0 -16
  162. package/dist/coordinator/graph-loader.d.ts.map +0 -1
  163. package/dist/coordinator/graph-loader.js +0 -190
  164. package/dist/coordinator/graph-loader.js.map +0 -1
  165. package/dist/coordinator/graph-types.d.ts +0 -304
  166. package/dist/coordinator/graph-types.d.ts.map +0 -1
  167. package/dist/coordinator/graph-types.js +0 -6
  168. package/dist/coordinator/graph-types.js.map +0 -1
  169. package/dist/coordinator/graph-walker.d.ts +0 -51
  170. package/dist/coordinator/graph-walker.d.ts.map +0 -1
  171. package/dist/coordinator/graph-walker.js +0 -666
  172. package/dist/coordinator/graph-walker.js.map +0 -1
  173. package/dist/coordinator/index.d.ts +0 -13
  174. package/dist/coordinator/index.d.ts.map +0 -1
  175. package/dist/coordinator/index.js +0 -14
  176. package/dist/coordinator/index.js.map +0 -1
  177. package/dist/coordinator/intent-router.d.ts +0 -11
  178. package/dist/coordinator/intent-router.d.ts.map +0 -1
  179. package/dist/coordinator/intent-router.js +0 -65
  180. package/dist/coordinator/intent-router.js.map +0 -1
  181. package/dist/coordinator/link-session.d.ts +0 -29
  182. package/dist/coordinator/link-session.d.ts.map +0 -1
  183. package/dist/coordinator/link-session.js +0 -192
  184. package/dist/coordinator/link-session.js.map +0 -1
  185. package/dist/coordinator/link-walker.d.ts +0 -56
  186. package/dist/coordinator/link-walker.d.ts.map +0 -1
  187. package/dist/coordinator/link-walker.js +0 -548
  188. package/dist/coordinator/link-walker.js.map +0 -1
  189. package/dist/coordinator/output-parser.d.ts +0 -5
  190. package/dist/coordinator/output-parser.d.ts.map +0 -1
  191. package/dist/coordinator/output-parser.js +0 -114
  192. package/dist/coordinator/output-parser.js.map +0 -1
  193. package/dist/coordinator/parallel-executor.d.ts +0 -24
  194. package/dist/coordinator/parallel-executor.d.ts.map +0 -1
  195. package/dist/coordinator/parallel-executor.js +0 -43
  196. package/dist/coordinator/parallel-executor.js.map +0 -1
  197. package/dist/coordinator/prompt-assembler.d.ts +0 -15
  198. package/dist/coordinator/prompt-assembler.d.ts.map +0 -1
  199. package/dist/coordinator/prompt-assembler.js +0 -228
  200. package/dist/coordinator/prompt-assembler.js.map +0 -1
  201. package/dist/coordinator/step-analyzer.d.ts +0 -8
  202. package/dist/coordinator/step-analyzer.d.ts.map +0 -1
  203. package/dist/coordinator/step-analyzer.js +0 -82
  204. package/dist/coordinator/step-analyzer.js.map +0 -1
  205. package/dist/core/extension-loader.d.ts +0 -11
  206. package/dist/core/extension-loader.d.ts.map +0 -1
  207. package/dist/core/extension-loader.js +0 -54
  208. package/dist/core/extension-loader.js.map +0 -1
  209. package/dist/core/manifest.d.ts +0 -24
  210. package/dist/core/manifest.d.ts.map +0 -1
  211. package/dist/core/manifest.js +0 -139
  212. package/dist/core/manifest.js.map +0 -1
  213. package/dist/core/mcp-tool-registry.integration.test.d.ts +0 -2
  214. package/dist/core/mcp-tool-registry.integration.test.d.ts.map +0 -1
  215. package/dist/core/mcp-tool-registry.integration.test.js +0 -220
  216. package/dist/core/mcp-tool-registry.integration.test.js.map +0 -1
  217. package/dist/core/overlay/applier.d.ts +0 -73
  218. package/dist/core/overlay/applier.d.ts.map +0 -1
  219. package/dist/core/overlay/applier.js +0 -248
  220. package/dist/core/overlay/applier.js.map +0 -1
  221. package/dist/core/overlay/loader.d.ts +0 -26
  222. package/dist/core/overlay/loader.d.ts.map +0 -1
  223. package/dist/core/overlay/loader.js +0 -199
  224. package/dist/core/overlay/loader.js.map +0 -1
  225. package/dist/core/overlay/patcher.d.ts +0 -26
  226. package/dist/core/overlay/patcher.d.ts.map +0 -1
  227. package/dist/core/overlay/patcher.js +0 -212
  228. package/dist/core/overlay/patcher.js.map +0 -1
  229. package/dist/core/overlay/section-parser.d.ts +0 -25
  230. package/dist/core/overlay/section-parser.d.ts.map +0 -1
  231. package/dist/core/overlay/section-parser.js +0 -99
  232. package/dist/core/overlay/section-parser.js.map +0 -1
  233. package/dist/core/overlay/types.d.ts +0 -51
  234. package/dist/core/overlay/types.d.ts.map +0 -1
  235. package/dist/core/overlay/types.js +0 -15
  236. package/dist/core/overlay/types.js.map +0 -1
  237. package/dist/core/tool-registry.d.ts +0 -10
  238. package/dist/core/tool-registry.d.ts.map +0 -1
  239. package/dist/core/tool-registry.js +0 -29
  240. package/dist/core/tool-registry.js.map +0 -1
  241. package/dist/core/tool-registry.test.d.ts +0 -2
  242. package/dist/core/tool-registry.test.d.ts.map +0 -1
  243. package/dist/core/tool-registry.test.js +0 -78
  244. package/dist/core/tool-registry.test.js.map +0 -1
  245. package/dist/db/connection-pool.d.ts +0 -21
  246. package/dist/db/connection-pool.d.ts.map +0 -1
  247. package/dist/db/connection-pool.js +0 -53
  248. package/dist/db/connection-pool.js.map +0 -1
  249. package/dist/db/index.d.ts +0 -6
  250. package/dist/db/index.d.ts.map +0 -1
  251. package/dist/db/index.js +0 -9
  252. package/dist/db/index.js.map +0 -1
  253. package/dist/db/schema/core/index.d.ts +0 -5
  254. package/dist/db/schema/core/index.d.ts.map +0 -1
  255. package/dist/db/schema/core/index.js +0 -5
  256. package/dist/db/schema/core/index.js.map +0 -1
  257. package/dist/db/schema/core/organizations.d.ts +0 -244
  258. package/dist/db/schema/core/organizations.d.ts.map +0 -1
  259. package/dist/db/schema/core/organizations.js +0 -44
  260. package/dist/db/schema/core/organizations.js.map +0 -1
  261. package/dist/db/schema/core/permissions.d.ts +0 -158
  262. package/dist/db/schema/core/permissions.d.ts.map +0 -1
  263. package/dist/db/schema/core/permissions.js +0 -62
  264. package/dist/db/schema/core/permissions.js.map +0 -1
  265. package/dist/db/schema/core/refresh-tokens.d.ts +0 -147
  266. package/dist/db/schema/core/refresh-tokens.d.ts.map +0 -1
  267. package/dist/db/schema/core/refresh-tokens.js +0 -22
  268. package/dist/db/schema/core/refresh-tokens.js.map +0 -1
  269. package/dist/db/schema/core/users.d.ts +0 -178
  270. package/dist/db/schema/core/users.d.ts.map +0 -1
  271. package/dist/db/schema/core/users.js +0 -14
  272. package/dist/db/schema/core/users.js.map +0 -1
  273. package/dist/db/tenant-migrator.d.ts +0 -11
  274. package/dist/db/tenant-migrator.d.ts.map +0 -1
  275. package/dist/db/tenant-migrator.js +0 -74
  276. package/dist/db/tenant-migrator.js.map +0 -1
  277. package/dist/db/tenant-schema.d.ts +0 -290
  278. package/dist/db/tenant-schema.d.ts.map +0 -1
  279. package/dist/db/tenant-schema.js +0 -32
  280. package/dist/db/tenant-schema.js.map +0 -1
  281. package/dist/hooks/constants.d.ts +0 -40
  282. package/dist/hooks/constants.d.ts.map +0 -1
  283. package/dist/hooks/constants.js +0 -53
  284. package/dist/hooks/constants.js.map +0 -1
  285. package/dist/hooks/context-monitor.d.ts +0 -33
  286. package/dist/hooks/context-monitor.d.ts.map +0 -1
  287. package/dist/hooks/context-monitor.js +0 -117
  288. package/dist/hooks/context-monitor.js.map +0 -1
  289. package/dist/hooks/delegate-monitor.d.ts +0 -24
  290. package/dist/hooks/delegate-monitor.d.ts.map +0 -1
  291. package/dist/hooks/delegate-monitor.js +0 -76
  292. package/dist/hooks/delegate-monitor.js.map +0 -1
  293. package/dist/hooks/index.d.ts +0 -4
  294. package/dist/hooks/index.d.ts.map +0 -1
  295. package/dist/hooks/index.js +0 -4
  296. package/dist/hooks/index.js.map +0 -1
  297. package/dist/hooks/statusline.d.ts +0 -29
  298. package/dist/hooks/statusline.d.ts.map +0 -1
  299. package/dist/hooks/statusline.js +0 -134
  300. package/dist/hooks/statusline.js.map +0 -1
  301. package/dist/index.d.ts +0 -8
  302. package/dist/index.d.ts.map +0 -1
  303. package/dist/index.js +0 -6
  304. package/dist/index.js.map +0 -1
  305. package/dist/mcp/delegate-channel-relay.d.ts +0 -51
  306. package/dist/mcp/delegate-channel-relay.d.ts.map +0 -1
  307. package/dist/mcp/delegate-channel-relay.js +0 -307
  308. package/dist/mcp/delegate-channel-relay.js.map +0 -1
  309. package/dist/mcp/server.d.ts +0 -6
  310. package/dist/mcp/server.d.ts.map +0 -1
  311. package/dist/mcp/server.js +0 -64
  312. package/dist/mcp/server.js.map +0 -1
  313. package/dist/middleware/auth.d.ts +0 -13
  314. package/dist/middleware/auth.d.ts.map +0 -1
  315. package/dist/middleware/auth.js +0 -27
  316. package/dist/middleware/auth.js.map +0 -1
  317. package/dist/middleware/permission.d.ts +0 -9
  318. package/dist/middleware/permission.d.ts.map +0 -1
  319. package/dist/middleware/permission.js +0 -19
  320. package/dist/middleware/permission.js.map +0 -1
  321. package/dist/middleware/rate-limit.d.ts +0 -9
  322. package/dist/middleware/rate-limit.d.ts.map +0 -1
  323. package/dist/middleware/rate-limit.js +0 -40
  324. package/dist/middleware/rate-limit.js.map +0 -1
  325. package/dist/middleware/tenant.d.ts +0 -17
  326. package/dist/middleware/tenant.d.ts.map +0 -1
  327. package/dist/middleware/tenant.js +0 -57
  328. package/dist/middleware/tenant.js.map +0 -1
  329. package/dist/middleware/validation.d.ts +0 -40
  330. package/dist/middleware/validation.d.ts.map +0 -1
  331. package/dist/middleware/validation.js +0 -51
  332. package/dist/middleware/validation.js.map +0 -1
  333. package/dist/routes/auth.d.ts +0 -3
  334. package/dist/routes/auth.d.ts.map +0 -1
  335. package/dist/routes/auth.js +0 -77
  336. package/dist/routes/auth.js.map +0 -1
  337. package/dist/routes/members.d.ts +0 -4
  338. package/dist/routes/members.d.ts.map +0 -1
  339. package/dist/routes/members.js +0 -114
  340. package/dist/routes/members.js.map +0 -1
  341. package/dist/routes/organizations.d.ts +0 -5
  342. package/dist/routes/organizations.d.ts.map +0 -1
  343. package/dist/routes/organizations.js +0 -97
  344. package/dist/routes/organizations.js.map +0 -1
  345. package/dist/services/auth.service.d.ts +0 -24
  346. package/dist/services/auth.service.d.ts.map +0 -1
  347. package/dist/services/auth.service.js +0 -70
  348. package/dist/services/auth.service.js.map +0 -1
  349. package/dist/services/password.service.d.ts +0 -3
  350. package/dist/services/password.service.d.ts.map +0 -1
  351. package/dist/services/password.service.js +0 -18
  352. package/dist/services/password.service.js.map +0 -1
  353. package/dist/services/rbac.service.d.ts +0 -7
  354. package/dist/services/rbac.service.d.ts.map +0 -1
  355. package/dist/services/rbac.service.js +0 -36
  356. package/dist/services/rbac.service.js.map +0 -1
  357. package/dist/services/token.service.d.ts +0 -18
  358. package/dist/services/token.service.d.ts.map +0 -1
  359. package/dist/services/token.service.js +0 -86
  360. package/dist/services/token.service.js.map +0 -1
  361. package/dist/tools/core-memory.d.ts +0 -12
  362. package/dist/tools/core-memory.d.ts.map +0 -1
  363. package/dist/tools/core-memory.js +0 -276
  364. package/dist/tools/core-memory.js.map +0 -1
  365. package/dist/tools/edit-file.d.ts +0 -25
  366. package/dist/tools/edit-file.d.ts.map +0 -1
  367. package/dist/tools/edit-file.js +0 -462
  368. package/dist/tools/edit-file.js.map +0 -1
  369. package/dist/tools/index.d.ts +0 -8
  370. package/dist/tools/index.d.ts.map +0 -1
  371. package/dist/tools/index.js +0 -536
  372. package/dist/tools/index.js.map +0 -1
  373. package/dist/tools/read-file.d.ts +0 -13
  374. package/dist/tools/read-file.d.ts.map +0 -1
  375. package/dist/tools/read-file.js +0 -91
  376. package/dist/tools/read-file.js.map +0 -1
  377. package/dist/tools/read-many-files.d.ts +0 -15
  378. package/dist/tools/read-many-files.d.ts.map +0 -1
  379. package/dist/tools/read-many-files.js +0 -187
  380. package/dist/tools/read-many-files.js.map +0 -1
  381. package/dist/tools/spec-index-builder.d.ts +0 -58
  382. package/dist/tools/spec-index-builder.d.ts.map +0 -1
  383. package/dist/tools/spec-index-builder.js +0 -211
  384. package/dist/tools/spec-index-builder.js.map +0 -1
  385. package/dist/tools/spec-init.d.ts +0 -17
  386. package/dist/tools/spec-init.d.ts.map +0 -1
  387. package/dist/tools/spec-init.js +0 -215
  388. package/dist/tools/spec-init.js.map +0 -1
  389. package/dist/tools/spec-keyword-extractor.d.ts +0 -24
  390. package/dist/tools/spec-keyword-extractor.d.ts.map +0 -1
  391. package/dist/tools/spec-keyword-extractor.js +0 -84
  392. package/dist/tools/spec-keyword-extractor.js.map +0 -1
  393. package/dist/tools/spec-keyword-extractor.test.d.ts +0 -2
  394. package/dist/tools/spec-keyword-extractor.test.d.ts.map +0 -1
  395. package/dist/tools/spec-keyword-extractor.test.js +0 -99
  396. package/dist/tools/spec-keyword-extractor.test.js.map +0 -1
  397. package/dist/tools/spec-loader.d.ts +0 -15
  398. package/dist/tools/spec-loader.d.ts.map +0 -1
  399. package/dist/tools/spec-loader.js +0 -93
  400. package/dist/tools/spec-loader.js.map +0 -1
  401. package/dist/tools/team-msg.d.ts +0 -52
  402. package/dist/tools/team-msg.d.ts.map +0 -1
  403. package/dist/tools/team-msg.js +0 -449
  404. package/dist/tools/team-msg.js.map +0 -1
  405. package/dist/tools/write-file.d.ts +0 -19
  406. package/dist/tools/write-file.d.ts.map +0 -1
  407. package/dist/tools/write-file.js +0 -165
  408. package/dist/tools/write-file.js.map +0 -1
  409. package/dist/types/index.d.ts +0 -47
  410. package/dist/types/index.d.ts.map +0 -1
  411. package/dist/types/index.js +0 -2
  412. package/dist/types/index.js.map +0 -1
  413. package/dist/types/tool-schema.d.ts +0 -37
  414. package/dist/types/tool-schema.d.ts.map +0 -1
  415. package/dist/types/tool-schema.js +0 -24
  416. package/dist/types/tool-schema.js.map +0 -1
  417. package/dist/utils/file-reader.d.ts +0 -74
  418. package/dist/utils/file-reader.d.ts.map +0 -1
  419. package/dist/utils/file-reader.js +0 -217
  420. package/dist/utils/file-reader.js.map +0 -1
  421. package/dist/utils/path-validator.d.ts +0 -52
  422. package/dist/utils/path-validator.d.ts.map +0 -1
  423. package/dist/utils/path-validator.js +0 -151
  424. package/dist/utils/path-validator.js.map +0 -1
@@ -1,337 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // `maestro view` — launch the dashboard kanban board
3
- //
4
- // If the server is already running, opens browser (reports current workspace).
5
- // If not, spawns the dashboard server and opens browser.
6
- // ---------------------------------------------------------------------------
7
- import { resolve, join } from 'node:path';
8
- import { existsSync } from 'node:fs';
9
- import { spawn, execSync } from 'node:child_process';
10
- import { fileURLToPath } from 'node:url';
11
- // ---------------------------------------------------------------------------
12
- // Constants
13
- // ---------------------------------------------------------------------------
14
- const DEFAULT_PORT = 3001;
15
- const HEALTH_TIMEOUT_MS = 1000;
16
- const STARTUP_POLL_MS = 500;
17
- const STARTUP_MAX_WAIT_MS = 15_000;
18
- // ---------------------------------------------------------------------------
19
- // Helpers
20
- // ---------------------------------------------------------------------------
21
- function getDashboardDir() {
22
- return resolve(fileURLToPath(import.meta.url), '..', '..', '..', 'dashboard');
23
- }
24
- async function checkHealth(host, port) {
25
- // Always probe localhost — even if binding 0.0.0.0, localhost will respond
26
- const probeHost = (host === '0.0.0.0' || host === '::') ? '127.0.0.1' : host;
27
- try {
28
- const controller = new AbortController();
29
- const timeoutId = setTimeout(() => controller.abort(), HEALTH_TIMEOUT_MS);
30
- const res = await fetch(`http://${probeHost}:${port}/api/health`, {
31
- signal: controller.signal,
32
- });
33
- clearTimeout(timeoutId);
34
- if (res.ok) {
35
- return await res.json();
36
- }
37
- return { status: 'up' };
38
- }
39
- catch {
40
- return null;
41
- }
42
- }
43
- function openBrowser(url) {
44
- try {
45
- if (process.platform === 'win32') {
46
- execSync(`start "" "${url}"`, { stdio: 'ignore' });
47
- }
48
- else if (process.platform === 'darwin') {
49
- execSync(`open "${url}"`, { stdio: 'ignore' });
50
- }
51
- else {
52
- execSync(`xdg-open "${url}"`, { stdio: 'ignore' });
53
- }
54
- }
55
- catch {
56
- console.error(` Could not open browser. Open manually: ${url}`);
57
- }
58
- }
59
- async function waitForServer(host, port) {
60
- const start = Date.now();
61
- while (Date.now() - start < STARTUP_MAX_WAIT_MS) {
62
- if (await checkHealth(host, port))
63
- return true;
64
- await new Promise(r => setTimeout(r, STARTUP_POLL_MS));
65
- }
66
- return false;
67
- }
68
- // ---------------------------------------------------------------------------
69
- // Command registration
70
- // ---------------------------------------------------------------------------
71
- export function registerViewCommand(program) {
72
- program
73
- .command('view')
74
- .description('Launch the maestro dashboard kanban board')
75
- .option('-p, --port <port>', 'Dashboard port', String(DEFAULT_PORT))
76
- .option('--host <host>', 'Bind host', '127.0.0.1')
77
- .option('--path <dir>', 'Path to maestro workspace root containing .workflow/ (hot-switches running server without restart)')
78
- .option('--no-browser', 'Do not open browser')
79
- .option('--tui', 'Launch terminal UI instead of browser')
80
- .option('--dev', 'Use Vite dev server with HMR (hot reload)')
81
- .action(async (opts) => {
82
- const port = parseInt(opts.port, 10) || DEFAULT_PORT;
83
- const host = opts.host;
84
- const browserHost = (host === '0.0.0.0' || host === '::') ? 'localhost' : host;
85
- const workDir = resolve(opts.path ?? process.cwd());
86
- const workflowRoot = join(workDir, '.workflow');
87
- const dashboardDir = getDashboardDir();
88
- console.error('');
89
- console.error(' Maestro Dashboard');
90
- console.error('');
91
- // ------------------------------------------------------------------
92
- // TUI mode: launch terminal UI
93
- // ------------------------------------------------------------------
94
- if (opts.tui) {
95
- // Ensure dashboard server is running
96
- const health = await checkHealth(host, port);
97
- if (!health) {
98
- // Spawn server using same logic as production mode
99
- const serverEntry = join(dashboardDir, 'dist-server', 'server', 'index.js');
100
- const hasBuild = existsSync(serverEntry)
101
- && existsSync(join(dashboardDir, 'dist', 'index.html'));
102
- const env = {
103
- ...process.env,
104
- PORT: String(port),
105
- HOST: host,
106
- WORKFLOW_ROOT: workflowRoot,
107
- };
108
- if (!hasBuild) {
109
- const tsEntry = join(dashboardDir, 'src', 'server', 'index.ts');
110
- if (!existsSync(tsEntry)) {
111
- console.error(` Error: Dashboard server not found at ${dashboardDir}`);
112
- console.error(' Run `cd dashboard && npm run build` first.');
113
- process.exit(1);
114
- }
115
- console.error(` Starting dashboard server on port ${port}...`);
116
- const child = spawn('npx', ['tsx', tsEntry], {
117
- cwd: dashboardDir,
118
- env,
119
- stdio: ['ignore', 'pipe', 'pipe'],
120
- detached: true,
121
- shell: true,
122
- windowsHide: true,
123
- });
124
- child.stderr?.on('data', (d) => process.stderr.write(d));
125
- child.stdout?.on('data', (d) => process.stderr.write(d));
126
- child.unref();
127
- }
128
- else {
129
- console.error(` Starting dashboard server on port ${port}...`);
130
- const child = spawn(process.execPath, [serverEntry], {
131
- cwd: dashboardDir,
132
- env,
133
- stdio: ['ignore', 'pipe', 'pipe'],
134
- detached: true,
135
- });
136
- child.stderr?.on('data', (d) => process.stderr.write(d));
137
- child.stdout?.on('data', (d) => process.stderr.write(d));
138
- child.unref();
139
- }
140
- const ready = await waitForServer(host, port);
141
- if (!ready) {
142
- console.error(' Warning: Server did not respond in time.');
143
- }
144
- }
145
- else {
146
- console.error(` Server already running on port ${port}`);
147
- }
148
- // Launch TUI process
149
- const tuiEntry = join(dashboardDir, 'tui', 'dist', 'index.js');
150
- if (!existsSync(tuiEntry)) {
151
- console.error(` Error: TUI build not found at ${tuiEntry}`);
152
- console.error(' Run `cd dashboard/tui && npm run build` first.');
153
- process.exit(1);
154
- }
155
- console.error(` Launching TUI...`);
156
- console.error('');
157
- const tuiChild = spawn(process.execPath, [tuiEntry], {
158
- cwd: dashboardDir,
159
- env: {
160
- ...process.env,
161
- PORT: String(port),
162
- HOST: host,
163
- WORKFLOW_ROOT: workflowRoot,
164
- },
165
- stdio: 'inherit',
166
- });
167
- tuiChild.on('exit', (code) => {
168
- process.exit(code ?? 0);
169
- });
170
- return;
171
- }
172
- // ------------------------------------------------------------------
173
- // Dev mode: use `npm run dev` (Vite HMR + tsx --watch backend)
174
- // ------------------------------------------------------------------
175
- if (opts.dev) {
176
- // Check if already running
177
- const health = await checkHealth(host, port);
178
- if (health) {
179
- console.error(` Server already running on port ${port}`);
180
- if (opts.browser)
181
- openBrowser(`http://${browserHost}:${port}`);
182
- console.error('');
183
- return;
184
- }
185
- console.error(` Starting dashboard (dev + HMR) ...`);
186
- console.error(` Backend: port ${port}`);
187
- console.error(` Workspace: ${workflowRoot}`);
188
- console.error('');
189
- const env = {
190
- ...process.env,
191
- PORT: String(port),
192
- HOST: host,
193
- WORKFLOW_ROOT: workflowRoot,
194
- };
195
- // Spawn: concurrently runs Vite dev server + tsx backend
196
- const child = spawn('npm', ['run', 'dev'], {
197
- cwd: dashboardDir,
198
- env,
199
- stdio: ['ignore', 'pipe', 'pipe'],
200
- shell: true,
201
- windowsHide: true,
202
- });
203
- // Parse Vite's actual port from output (e.g. "Local: http://localhost:5174/")
204
- let vitePort = null;
205
- const vitePortRe = /Local:\s+http:\/\/localhost:(\d+)/;
206
- const handleOutput = (d) => {
207
- const text = d.toString();
208
- process.stderr.write(d);
209
- if (!vitePort) {
210
- const match = text.match(vitePortRe);
211
- if (match) {
212
- vitePort = parseInt(match[1], 10);
213
- }
214
- }
215
- };
216
- child.stdout?.on('data', handleOutput);
217
- child.stderr?.on('data', handleOutput);
218
- // Wait for backend to be ready
219
- const ready = await waitForServer(host, port);
220
- if (!ready) {
221
- console.error(' Warning: Backend server did not respond in time.');
222
- }
223
- const url = vitePort
224
- ? `http://${browserHost}:${vitePort}`
225
- : `http://${browserHost}:${port}`;
226
- if (opts.browser) {
227
- console.error(` Opening ${url}`);
228
- openBrowser(url);
229
- }
230
- console.error(` Dashboard (dev) running at ${url}`);
231
- console.error(` HMR enabled — changes auto-reload in browser`);
232
- console.error('');
233
- // Keep the process alive (don't unref in dev mode)
234
- process.on('SIGINT', () => {
235
- child.kill('SIGTERM');
236
- process.exit(0);
237
- });
238
- return;
239
- }
240
- // ------------------------------------------------------------------
241
- // Production mode (existing behavior)
242
- // ------------------------------------------------------------------
243
- const url = `http://${browserHost}:${port}`;
244
- // Check if server is already running
245
- const health = await checkHealth(host, port);
246
- if (health) {
247
- console.error(` Server already running on port ${port}`);
248
- if (health.workspace) {
249
- console.error(` Workspace: ${health.workspace}`);
250
- }
251
- const currentWorkspace = health.workspace ?? '';
252
- const normalizedCurrent = currentWorkspace.replace(/[\\/]+$/, '').toLowerCase();
253
- const normalizedRequested = workDir.replace(/[\\/]+$/, '').toLowerCase();
254
- if (normalizedCurrent !== normalizedRequested && existsSync(workflowRoot)) {
255
- // Hot-switch workspace via API
256
- try {
257
- const res = await fetch(`http://${host}:${port}/api/workspace`, {
258
- method: 'POST',
259
- headers: { 'Content-Type': 'application/json' },
260
- body: JSON.stringify({ path: workDir }),
261
- });
262
- if (!res.ok) {
263
- const text = await res.text().catch(() => res.statusText);
264
- console.error(` Error: Failed to switch workspace — ${text}`);
265
- process.exit(1);
266
- }
267
- console.error(` Workspace switched to ${workDir}`);
268
- }
269
- catch (err) {
270
- console.error(` Error: Failed to switch workspace — ${err.message}`);
271
- process.exit(1);
272
- }
273
- }
274
- if (opts.browser) {
275
- console.error(` Opening ${url}`);
276
- openBrowser(url);
277
- }
278
- console.error('');
279
- return;
280
- }
281
- // Spawn dashboard server
282
- const serverEntry = join(dashboardDir, 'dist-server', 'server', 'index.js');
283
- const hasBuild = existsSync(serverEntry)
284
- && existsSync(join(dashboardDir, 'dist', 'index.html'));
285
- const env = {
286
- ...process.env,
287
- PORT: String(port),
288
- HOST: host,
289
- WORKFLOW_ROOT: workflowRoot,
290
- };
291
- if (!hasBuild) {
292
- const tsEntry = join(dashboardDir, 'src', 'server', 'index.ts');
293
- if (!existsSync(tsEntry)) {
294
- console.error(` Error: Dashboard not found at ${dashboardDir}`);
295
- console.error(' Run `cd dashboard && npm run build` first.');
296
- process.exit(1);
297
- }
298
- console.error(` Starting dashboard (dev) on port ${port}...`);
299
- console.error(` Workspace: ${workflowRoot}`);
300
- const child = spawn('npx', ['tsx', tsEntry], {
301
- cwd: dashboardDir,
302
- env,
303
- stdio: ['ignore', 'pipe', 'pipe'],
304
- detached: true,
305
- shell: true,
306
- windowsHide: true,
307
- });
308
- child.stderr?.on('data', (d) => process.stderr.write(d));
309
- child.stdout?.on('data', (d) => process.stderr.write(d));
310
- child.unref();
311
- }
312
- else {
313
- console.error(` Starting dashboard on port ${port}...`);
314
- console.error(` Workspace: ${workflowRoot}`);
315
- const child = spawn(process.execPath, [serverEntry], {
316
- cwd: dashboardDir,
317
- env,
318
- stdio: ['ignore', 'pipe', 'pipe'],
319
- detached: true,
320
- });
321
- child.stderr?.on('data', (d) => process.stderr.write(d));
322
- child.stdout?.on('data', (d) => process.stderr.write(d));
323
- child.unref();
324
- }
325
- const ready = await waitForServer(host, port);
326
- if (!ready) {
327
- console.error(' Warning: Server did not respond in time.');
328
- }
329
- if (opts.browser) {
330
- console.error(` Opening ${url}`);
331
- openBrowser(url);
332
- }
333
- console.error(` Dashboard running at ${url}`);
334
- console.error('');
335
- });
336
- }
337
- //# sourceMappingURL=view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"view.js","sourceRoot":"","sources":["../../src/commands/view.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- export interface ToolEntry {
2
- enabled: boolean;
3
- primaryModel: string;
4
- secondaryModel?: string;
5
- tags: string[];
6
- type: string;
7
- }
8
- export interface CliToolsConfig {
9
- version: string;
10
- tools: Record<string, ToolEntry>;
11
- }
12
- /**
13
- * Load CLI tools configuration from ~/.maestro/cli-tools.json.
14
- * Returns a default empty config if the file does not exist or is invalid.
15
- */
16
- export declare function loadCliToolsConfig(): Promise<CliToolsConfig>;
17
- export interface SelectedTool {
18
- name: string;
19
- entry: ToolEntry;
20
- }
21
- /**
22
- * Select a tool by explicit name or fall back to the first enabled tool.
23
- * Returns undefined when no tool can be resolved.
24
- */
25
- export declare function selectTool(name: string | undefined, config: CliToolsConfig): SelectedTool | undefined;
26
- //# sourceMappingURL=cli-tools-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-tools-config.d.ts","sourceRoot":"","sources":["../../src/config/cli-tools-config.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAClC;AAeD;;;GAGG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,CAQlE;AAMD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,cAAc,GACrB,YAAY,GAAG,SAAS,CAc1B"}
@@ -1,49 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // CLI Tools configuration loader
3
- // Reads ~/.maestro/cli-tools.json for tool selection and model routing.
4
- // ---------------------------------------------------------------------------
5
- import { readFile } from 'node:fs/promises';
6
- import { homedir } from 'node:os';
7
- import { join } from 'node:path';
8
- // ---------------------------------------------------------------------------
9
- // Defaults
10
- // ---------------------------------------------------------------------------
11
- const DEFAULT_CONFIG = {
12
- version: '1.0.0',
13
- tools: {},
14
- };
15
- // ---------------------------------------------------------------------------
16
- // Loader
17
- // ---------------------------------------------------------------------------
18
- /**
19
- * Load CLI tools configuration from ~/.maestro/cli-tools.json.
20
- * Returns a default empty config if the file does not exist or is invalid.
21
- */
22
- export async function loadCliToolsConfig() {
23
- const configPath = join(homedir(), '.maestro', 'cli-tools.json');
24
- try {
25
- const raw = await readFile(configPath, 'utf-8');
26
- return JSON.parse(raw);
27
- }
28
- catch {
29
- return DEFAULT_CONFIG;
30
- }
31
- }
32
- /**
33
- * Select a tool by explicit name or fall back to the first enabled tool.
34
- * Returns undefined when no tool can be resolved.
35
- */
36
- export function selectTool(name, config) {
37
- // Exact match by name
38
- if (name && config.tools[name]?.enabled) {
39
- return { name, entry: config.tools[name] };
40
- }
41
- // Fallback: first enabled tool in config order
42
- for (const [toolName, entry] of Object.entries(config.tools)) {
43
- if (entry.enabled) {
44
- return { name: toolName, entry };
45
- }
46
- }
47
- return undefined;
48
- }
49
- //# sourceMappingURL=cli-tools-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-tools-config.js","sourceRoot":"","sources":["../../src/config/cli-tools-config.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iCAAiC;AACjC,wEAAwE;AACxE,8EAA8E;AAE9E,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAmBjC,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,cAAc,GAAmB;IACrC,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,EAAE;CACV,CAAC;AAEF,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAmB,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,cAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAWD;;;GAGG;AACH,MAAM,UAAU,UAAU,CACxB,IAAwB,EACxB,MAAsB;IAEtB,sBAAsB;IACtB,IAAI,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7C,CAAC;IAED,+CAA+C;IAC/C,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cli-tools-config.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-tools-config.test.d.ts","sourceRoot":"","sources":["../../src/config/cli-tools-config.test.ts"],"names":[],"mappings":""}
@@ -1,59 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { selectTool } from './cli-tools-config.js';
3
- function makeEntry(overrides = {}) {
4
- return {
5
- enabled: true,
6
- primaryModel: 'test-model',
7
- tags: [],
8
- type: 'builtin',
9
- ...overrides,
10
- };
11
- }
12
- function makeConfig(tools = {}) {
13
- return { version: '1.0.0', tools };
14
- }
15
- describe('selectTool', () => {
16
- it('selects by exact name when enabled', () => {
17
- const config = makeConfig({
18
- gemini: makeEntry(),
19
- qwen: makeEntry(),
20
- });
21
- const result = selectTool('gemini', config);
22
- expect(result).toBeDefined();
23
- expect(result.name).toBe('gemini');
24
- });
25
- it('returns undefined when named tool is disabled', () => {
26
- const config = makeConfig({
27
- gemini: makeEntry({ enabled: false }),
28
- });
29
- expect(selectTool('gemini', config)).toBeUndefined();
30
- });
31
- it('falls back to first enabled tool when name is undefined', () => {
32
- const config = makeConfig({
33
- disabled: makeEntry({ enabled: false }),
34
- fallback: makeEntry({ enabled: true }),
35
- });
36
- const result = selectTool(undefined, config);
37
- expect(result).toBeDefined();
38
- expect(result.name).toBe('fallback');
39
- });
40
- it('returns undefined when no tools are enabled', () => {
41
- const config = makeConfig({
42
- a: makeEntry({ enabled: false }),
43
- b: makeEntry({ enabled: false }),
44
- });
45
- expect(selectTool(undefined, config)).toBeUndefined();
46
- });
47
- it('returns undefined for empty tools config', () => {
48
- expect(selectTool(undefined, makeConfig())).toBeUndefined();
49
- });
50
- it('falls back when named tool does not exist', () => {
51
- const config = makeConfig({
52
- existing: makeEntry(),
53
- });
54
- const result = selectTool('missing', config);
55
- expect(result).toBeDefined();
56
- expect(result.name).toBe('existing');
57
- });
58
- });
59
- //# sourceMappingURL=cli-tools-config.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli-tools-config.test.js","sourceRoot":"","sources":["../../src/config/cli-tools-config.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { MaestroConfig } from '../types/index.js';
2
- export declare function loadConfig(): MaestroConfig;
3
- export declare function saveConfig(config: MaestroConfig): void;
4
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAgBvD,wBAAgB,UAAU,IAAI,aAAa,CAM1C;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAGtD"}
@@ -1,27 +0,0 @@
1
- import { readFileSync, existsSync, writeFileSync } from 'node:fs';
2
- import { paths } from './paths.js';
3
- const DEFAULT_CONFIG = {
4
- version: '0.1.0',
5
- extensions: [],
6
- mcp: {
7
- port: 3600,
8
- host: 'localhost',
9
- enabledTools: ['all'],
10
- },
11
- workflows: {
12
- templatesDir: 'templates',
13
- workflowsDir: 'workflows',
14
- },
15
- };
16
- export function loadConfig() {
17
- if (!existsSync(paths.config)) {
18
- return { ...DEFAULT_CONFIG };
19
- }
20
- const raw = readFileSync(paths.config, 'utf-8');
21
- return { ...DEFAULT_CONFIG, ...JSON.parse(raw) };
22
- }
23
- export function saveConfig(config) {
24
- paths.ensure(paths.home);
25
- writeFileSync(paths.config, JSON.stringify(config, null, 2));
26
- }
27
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,MAAM,cAAc,GAAkB;IACpC,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,EAAE;IACd,GAAG,EAAE;QACH,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,WAAW;QACjB,YAAY,EAAE,CAAC,KAAK,CAAC;KACtB;IACD,SAAS,EAAE;QACT,YAAY,EAAE,WAAW;QACzB,YAAY,EAAE,WAAW;KAC1B;CACF,CAAC;AAEF,MAAM,UAAU,UAAU;IACxB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;IACD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAqB;IAC9C,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACzB,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC"}
@@ -1,15 +0,0 @@
1
- export declare const paths: {
2
- readonly home: string;
3
- readonly config: string;
4
- readonly extensions: string;
5
- readonly data: string;
6
- readonly logs: string;
7
- readonly cliHistory: string;
8
- readonly project: (root: string) => {
9
- root: string;
10
- workflow: string;
11
- templates: string;
12
- };
13
- readonly ensure: (...dirs: string[]) => void;
14
- };
15
- //# sourceMappingURL=paths.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,KAAK;;;;;;;6BAQF,MAAM;;;;;+BAQJ,MAAM,EAAE;CAOhB,CAAC"}
@@ -1,27 +0,0 @@
1
- import { homedir } from 'node:os';
2
- import { join, resolve } from 'node:path';
3
- import { existsSync, mkdirSync } from 'node:fs';
4
- const MAESTRO_HOME = process.env.MAESTRO_HOME ?? join(homedir(), '.maestro');
5
- export const paths = {
6
- home: MAESTRO_HOME,
7
- config: join(MAESTRO_HOME, 'config.json'),
8
- extensions: join(MAESTRO_HOME, 'extensions'),
9
- data: join(MAESTRO_HOME, 'data'),
10
- logs: join(MAESTRO_HOME, 'logs'),
11
- cliHistory: join(MAESTRO_HOME, 'cli-history'),
12
- project(root) {
13
- return {
14
- root: resolve(root),
15
- workflow: join(root, '.workflow'),
16
- templates: join(root, 'templates'),
17
- };
18
- },
19
- ensure(...dirs) {
20
- for (const dir of dirs) {
21
- if (!existsSync(dir)) {
22
- mkdirSync(dir, { recursive: true });
23
- }
24
- }
25
- },
26
- };
27
- //# sourceMappingURL=paths.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEhD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;AAE7E,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC;IACzC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5C,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC;IAChC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC;IAChC,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC;IAE7C,OAAO,CAAC,IAAY;QAClB,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;YACnB,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YACjC,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;SACnC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,GAAG,IAAc;QACtB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;CACO,CAAC"}
@@ -1,32 +0,0 @@
1
- export interface TemplateMeta {
2
- name: string;
3
- category: string;
4
- path: string;
5
- }
6
- export declare function getPromptsDir(): string;
7
- export declare function getProtocolsDir(): string;
8
- /**
9
- * Scan the prompts directory and build an in-memory index of templates.
10
- * Results are cached — call with forceRescan=true to invalidate.
11
- */
12
- export declare function scanTemplates(forceRescan?: boolean): Promise<Map<string, TemplateMeta>>;
13
- /**
14
- * Find a template by full name or short name (without category prefix).
15
- * Returns the TemplateMeta or undefined.
16
- */
17
- export declare function findTemplate(nameOrShort: string): Promise<TemplateMeta | undefined>;
18
- /**
19
- * Load a template file content by name (full or short).
20
- * Returns the file content or null if not found.
21
- */
22
- export declare function loadTemplate(nameOrShort: string): Promise<string | null>;
23
- /**
24
- * Load a mode-specific protocol file.
25
- * Returns the protocol content or null if not found.
26
- */
27
- export declare function loadProtocol(mode: 'analysis' | 'write'): Promise<string | null>;
28
- /**
29
- * List all available template names grouped by category.
30
- */
31
- export declare function listTemplates(): Promise<Record<string, string[]>>;
32
- //# sourceMappingURL=template-discovery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-discovery.d.ts","sourceRoot":"","sources":["../../src/config/template-discovery.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AA2BD,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAMD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,WAAW,UAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CA0B3F;AAMD;;;GAGG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAiBzF;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAS9E;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOrF;AAED;;GAEG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAYvE"}