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,114 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // Graph Coordinator — Output Parser
3
- // Extracts structured data from agent raw output text.
4
- // ---------------------------------------------------------------------------
5
- const RESULT_MARKER = '--- COORDINATE RESULT ---';
6
- const FIELD_PATTERNS = {
7
- status: /^STATUS:\s*(.+)/i,
8
- phase: /^PHASE:\s*(.+)/i,
9
- verification_status: /^VERIFICATION_STATUS:\s*(.+)/i,
10
- review_verdict: /^REVIEW_VERDICT:\s*(.+)/i,
11
- uat_status: /^UAT_STATUS:\s*(.+)/i,
12
- artifacts: /^ARTIFACTS:\s*(.+)/i,
13
- summary: /^SUMMARY:\s*(.+)/i,
14
- };
15
- function makeFailureResult(summary) {
16
- return {
17
- structured: {
18
- status: 'FAILURE',
19
- phase: null,
20
- verification_status: null,
21
- review_verdict: null,
22
- uat_status: null,
23
- artifacts: [],
24
- summary,
25
- },
26
- };
27
- }
28
- function parseResultBlock(block) {
29
- const lines = block.split('\n');
30
- const raw = {};
31
- for (const line of lines) {
32
- const trimmed = line.trim();
33
- for (const [field, pattern] of Object.entries(FIELD_PATTERNS)) {
34
- const m = trimmed.match(pattern);
35
- if (m) {
36
- raw[field] = m[1].trim();
37
- }
38
- }
39
- }
40
- const status = raw.status?.toUpperCase() === 'SUCCESS' ? 'SUCCESS' : 'FAILURE';
41
- const phaseRaw = raw.phase;
42
- const phase = phaseRaw && phaseRaw.toLowerCase() !== 'none' ? phaseRaw : null;
43
- const verificationStatus = raw.verification_status || null;
44
- const reviewVerdict = raw.review_verdict || null;
45
- const uatStatus = raw.uat_status || null;
46
- const artifactsRaw = raw.artifacts;
47
- let artifacts = [];
48
- if (artifactsRaw && artifactsRaw.toLowerCase() !== 'none') {
49
- artifacts = artifactsRaw.split(',').map(s => s.trim()).filter(Boolean);
50
- }
51
- const summary = raw.summary || '';
52
- return {
53
- status,
54
- phase,
55
- verification_status: verificationStatus,
56
- review_verdict: reviewVerdict,
57
- uat_status: uatStatus,
58
- artifacts,
59
- summary,
60
- };
61
- }
62
- function applyExtractRules(rawOutput, extract, structured) {
63
- for (const rule of Object.values(extract)) {
64
- switch (rule.strategy) {
65
- case 'regex': {
66
- const m = rawOutput.match(new RegExp(rule.pattern));
67
- if (m && m[1] !== undefined) {
68
- structured[rule.target] = m[1];
69
- }
70
- break;
71
- }
72
- case 'line_match': {
73
- for (const line of rawOutput.split('\n')) {
74
- const trimmed = line.trim();
75
- if (trimmed.startsWith(rule.pattern)) {
76
- structured[rule.target] = trimmed.slice(rule.pattern.length).trim();
77
- break;
78
- }
79
- }
80
- break;
81
- }
82
- case 'json_path':
83
- // Reserved for future implementation
84
- break;
85
- }
86
- }
87
- }
88
- export class DefaultOutputParser {
89
- parse(rawOutput, node) {
90
- if (!rawOutput || rawOutput.trim() === '') {
91
- return makeFailureResult('Empty output');
92
- }
93
- // Find the LAST COORDINATE RESULT block
94
- const lastIdx = rawOutput.lastIndexOf(RESULT_MARKER);
95
- if (lastIdx !== -1) {
96
- const blockText = rawOutput.slice(lastIdx + RESULT_MARKER.length);
97
- const structured = parseResultBlock(blockText);
98
- if (node.extract) {
99
- applyExtractRules(rawOutput, node.extract, structured);
100
- }
101
- return { structured };
102
- }
103
- // No RESULT block — this is the contract the prompt assembler mandates,
104
- // so its absence is a protocol failure. Never infer SUCCESS from free-form
105
- // output: a silent-success fallback hides real failures and breaks decision
106
- // nodes that branch on verification_status / review_verdict.
107
- const result = makeFailureResult('No COORDINATE RESULT block found');
108
- if (node.extract) {
109
- applyExtractRules(rawOutput, node.extract, result.structured);
110
- }
111
- return result;
112
- }
113
- }
114
- //# sourceMappingURL=output-parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"output-parser.js","sourceRoot":"","sources":["../../src/coordinator/output-parser.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,oCAAoC;AACpC,uDAAuD;AACvD,8EAA8E;AAI9E,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAElD,MAAM,cAAc,GAA2B;IAC7C,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,iBAAiB;IACxB,mBAAmB,EAAE,+BAA+B;IACpD,cAAc,EAAE,0BAA0B;IAC1C,UAAU,EAAE,sBAAsB;IAClC,SAAS,EAAE,qBAAqB;IAChC,OAAO,EAAE,mBAAmB;CAC7B,CAAC;AAEF,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO;QACL,UAAU,EAAE;YACV,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,IAAI;YACX,mBAAmB,EAAE,IAAI;YACzB,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE;YACb,OAAO;SACR;KACF,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,GAAG,GAA2B,EAAE,CAAC;IAEvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,IAAI,CAAC,EAAE,CAAC;gBACN,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC,CAAC,SAAkB,CAAC;IAEjG,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;IAC3B,MAAM,KAAK,GAAG,QAAQ,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9E,MAAM,kBAAkB,GAAG,GAAG,CAAC,mBAAmB,IAAI,IAAI,CAAC;IAC3D,MAAM,aAAa,GAAG,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC;IACjD,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC;IAEzC,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC;IACnC,IAAI,SAAS,GAAa,EAAE,CAAC;IAC7B,IAAI,YAAY,IAAI,YAAY,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QAC1D,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;IAElC,OAAO;QACL,MAAM;QACN,KAAK;QACL,mBAAmB,EAAE,kBAAkB;QACvC,cAAc,EAAE,aAAa;QAC7B,UAAU,EAAE,SAAS;QACrB,SAAS;QACT,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CACxB,SAAiB,EACjB,OAAuC,EACvC,UAAsC;IAEtC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtB,KAAK,OAAO,CAAC,CAAC,CAAC;gBACb,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC5B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBACrC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;wBACpE,MAAM;oBACR,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YACD,KAAK,WAAW;gBACd,qCAAqC;gBACrC,MAAM;QACV,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,OAAO,mBAAmB;IAC9B,KAAK,CAAC,SAAiB,EAAE,IAAiB;QACxC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC1C,OAAO,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAC3C,CAAC;QAED,wCAAwC;QACxC,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YAClE,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAE/C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YACzD,CAAC;YAED,OAAO,EAAE,UAAU,EAAE,CAAC;QACxB,CAAC;QAED,wEAAwE;QACxE,2EAA2E;QAC3E,4EAA4E;QAC5E,6DAA6D;QAC7D,MAAM,MAAM,GAAG,iBAAiB,CAAC,kCAAkC,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -1,24 +0,0 @@
1
- import type { AgentType } from './graph-types.js';
2
- import type { ParallelCliRunner } from '../agents/parallel-cli-runner.js';
3
- export interface BranchTask {
4
- branchId: string;
5
- nodeId: string;
6
- prompt: string;
7
- workDir: string;
8
- agentType: AgentType;
9
- }
10
- export interface BranchResult {
11
- branchId: string;
12
- success: boolean;
13
- output: string;
14
- durationMs: number;
15
- }
16
- export interface ParallelCommandExecutor {
17
- executeBranches(branches: BranchTask[], joinStrategy: 'all' | 'any' | 'majority', signal?: AbortSignal): Promise<BranchResult[]>;
18
- }
19
- export declare class DefaultParallelExecutor implements ParallelCommandExecutor {
20
- private readonly runner;
21
- constructor(runner: ParallelCliRunner);
22
- executeBranches(branches: BranchTask[], joinStrategy: 'all' | 'any' | 'majority', signal?: AbortSignal): Promise<BranchResult[]>;
23
- }
24
- //# sourceMappingURL=parallel-executor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parallel-executor.d.ts","sourceRoot":"","sources":["../../src/coordinator/parallel-executor.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAM1E,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,eAAe,CACb,QAAQ,EAAE,UAAU,EAAE,EACtB,YAAY,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU,EACxC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;CAC5B;AAkBD,qBAAa,uBAAwB,YAAW,uBAAuB;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAEhD,eAAe,CACnB,QAAQ,EAAE,UAAU,EAAE,EACtB,YAAY,EAAE,KAAK,GAAG,KAAK,GAAG,UAAU,EACxC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC;CAqB3B"}
@@ -1,43 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // Parallel Executor — Bridge between GraphWalker fork/join and ParallelCliRunner.
3
- // Wraps ParallelCliRunner.runAll() behind a GraphWalker-friendly interface.
4
- // ---------------------------------------------------------------------------
5
- // ---------------------------------------------------------------------------
6
- // AgentType -> tool name mapping (reverse of parallel-cli-runner)
7
- // ---------------------------------------------------------------------------
8
- const AGENT_TYPE_TO_TOOL = {
9
- gemini: 'gemini',
10
- qwen: 'qwen',
11
- codex: 'codex',
12
- 'claude-code': 'claude',
13
- opencode: 'opencode',
14
- };
15
- // ---------------------------------------------------------------------------
16
- // DefaultParallelExecutor
17
- // ---------------------------------------------------------------------------
18
- export class DefaultParallelExecutor {
19
- runner;
20
- constructor(runner) {
21
- this.runner = runner;
22
- }
23
- async executeBranches(branches, joinStrategy, signal) {
24
- const tasks = branches.map((b) => ({
25
- id: b.branchId,
26
- prompt: b.prompt,
27
- tool: AGENT_TYPE_TO_TOOL[b.agentType] ?? 'gemini',
28
- workDir: b.workDir,
29
- mode: 'write',
30
- }));
31
- const { results } = await this.runner.runAll(tasks, {
32
- joinStrategy,
33
- signal,
34
- });
35
- return results.map((r) => ({
36
- branchId: r.id,
37
- success: r.success,
38
- output: r.output,
39
- durationMs: r.durationMs,
40
- }));
41
- }
42
- }
43
- //# sourceMappingURL=parallel-executor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parallel-executor.js","sourceRoot":"","sources":["../../src/coordinator/parallel-executor.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,kFAAkF;AAClF,4EAA4E;AAC5E,8EAA8E;AAgC9E,8EAA8E;AAC9E,kEAAkE;AAClE,8EAA8E;AAE9E,MAAM,kBAAkB,GAA2B;IACjD,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,aAAa,EAAE,QAAQ;IACvB,QAAQ,EAAE,UAAU;CACrB,CAAC;AAEF,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,MAAM,OAAO,uBAAuB;IACL;IAA7B,YAA6B,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAE1D,KAAK,CAAC,eAAe,CACnB,QAAsB,EACtB,YAAwC,EACxC,MAAoB;QAEpB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACjC,EAAE,EAAE,CAAC,CAAC,QAAQ;YACd,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,QAAQ;YACjD,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,IAAI,EAAE,OAAgB;SACvB,CAAC,CAAC,CAAC;QAEJ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YAClD,YAAY;YACZ,MAAM;SACP,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACzB,QAAQ,EAAE,CAAC,CAAC,EAAE;YACd,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,UAAU,EAAE,CAAC,CAAC,UAAU;SACzB,CAAC,CAAC,CAAC;IACN,CAAC;CACF"}
@@ -1,15 +0,0 @@
1
- import type { AssembleRequest, CommandNode, ProjectSnapshot, PromptAssembler, WalkerContext } from './graph-types.js';
2
- export declare class DefaultPromptAssembler implements PromptAssembler {
3
- private readonly workflowRoot;
4
- private readonly templateDir;
5
- constructor(workflowRoot: string, templateDir: string);
6
- assemble(req: AssembleRequest): Promise<string>;
7
- resolveArgs(args: string, ctx: WalkerContext): string;
8
- private resolveKey;
9
- buildCommand(node: CommandNode, resolvedArgs: string, autoMode: boolean): string;
10
- buildPreviousContext(req: AssembleRequest): string;
11
- buildStateSnapshot(project: ProjectSnapshot): string;
12
- private loadTemplate;
13
- renderTemplate(template: string, vars: Record<string, string>): string;
14
- }
15
- //# sourceMappingURL=prompt-assembler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-assembler.d.ts","sourceRoot":"","sources":["../../src/coordinator/prompt-assembler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EACX,eAAe,EACf,eAAe,EACf,aAAa,EACd,MAAM,kBAAkB,CAAC;AA2C1B,qBAAa,sBAAuB,YAAW,eAAe;IAE1D,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,WAAW;gBADX,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM;IAGhC,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BrD,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM;IAOrD,OAAO,CAAC,UAAU;IA0BlB,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAShF,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM;IAsDlD,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM;YAgCtC,YAAY;IAS1B,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM;CAkBvE"}
@@ -1,228 +0,0 @@
1
- // Graph Coordinator — Prompt Assembler
2
- // 6-phase pipeline: resolve args → build command → inject context →
3
- // inject state → apply template → auto directive.
4
- import { readFile } from 'node:fs/promises';
5
- import { join } from 'node:path';
6
- // Built-in default template (used when file template not found)
7
- const DEFAULT_TEMPLATE = `# Coordinate Step {{STEP_N}} — {{GRAPH_NAME}}
8
-
9
- ## Command
10
- {{COMMAND}}
11
-
12
- {{#AUTO_DIRECTIVE}}
13
- **Mode:** {{AUTO_DIRECTIVE}}
14
- {{/AUTO_DIRECTIVE}}
15
-
16
- {{#PREVIOUS_CONTEXT}}
17
- ## Context from Previous Step
18
- {{PREVIOUS_CONTEXT}}
19
- {{/PREVIOUS_CONTEXT}}
20
-
21
- {{#STATE_SNAPSHOT}}
22
- ## Current State
23
- {{STATE_SNAPSHOT}}
24
- {{/STATE_SNAPSHOT}}
25
-
26
- {{#INTENT}}
27
- ## Original Intent
28
- {{INTENT}}
29
- {{/INTENT}}
30
-
31
- ## Return Format
32
-
33
- Output MUST end with this exact block:
34
-
35
- \`\`\`
36
- --- COORDINATE RESULT ---
37
- STATUS: <SUCCESS or FAILURE>
38
- PHASE: <number, or "none">
39
- VERIFICATION_STATUS: <passed or failed or pending, if applicable>
40
- REVIEW_VERDICT: <PASS or WARN or BLOCK, if applicable>
41
- UAT_STATUS: <passed or failed or pending, if applicable>
42
- ARTIFACTS: <comma-separated file paths, or "none">
43
- SUMMARY: <one-line what was accomplished>
44
- \`\`\`
45
- `;
46
- export class DefaultPromptAssembler {
47
- workflowRoot;
48
- templateDir;
49
- constructor(workflowRoot, templateDir) {
50
- this.workflowRoot = workflowRoot;
51
- this.templateDir = templateDir;
52
- }
53
- async assemble(req) {
54
- const { node, context: ctx, graph, auto_mode } = req;
55
- const resolvedArgs = this.resolveArgs(node.args ?? '', ctx);
56
- const command = this.buildCommand(node, resolvedArgs, auto_mode);
57
- const previousContext = this.buildPreviousContext(req);
58
- const stateSnapshot = this.buildStateSnapshot(ctx.project);
59
- const autoDirective = auto_mode
60
- ? 'Auto-confirm all prompts. No interactive questions. Skip clarifications.'
61
- : '';
62
- const vars = {
63
- COMMAND: command,
64
- STEP_N: `${req.command_index}/${req.command_total}`,
65
- GRAPH_NAME: graph.name,
66
- GRAPH_ID: graph.id,
67
- NODE_ID: req.node_id,
68
- PREVIOUS_CONTEXT: previousContext,
69
- STATE_SNAPSHOT: stateSnapshot,
70
- AUTO_DIRECTIVE: autoDirective,
71
- INTENT: ctx.inputs['intent'] ?? '',
72
- };
73
- const template = await this.loadTemplate();
74
- return this.renderTemplate(template, vars);
75
- }
76
- // -- Phase 1: Resolve Args --
77
- resolveArgs(args, ctx) {
78
- return args.replace(/\{([^}]+)\}/g, (_match, key) => {
79
- const value = this.resolveKey(key.trim(), ctx);
80
- return value !== undefined ? String(value) : `{${key}}`;
81
- });
82
- }
83
- resolveKey(key, ctx) {
84
- // {var.xxx} or {var.xxx.yyy} — dig into ctx.var
85
- if (key.startsWith('var.')) {
86
- return dig(ctx.var, key.slice(4).split('.'));
87
- }
88
- // {word} — try ctx.inputs first, then ctx.var
89
- if (!key.includes('.')) {
90
- if (key in ctx.inputs)
91
- return ctx.inputs[key];
92
- if (key in ctx.var)
93
- return ctx.var[key];
94
- return undefined;
95
- }
96
- // {word.path} — try inputs[word] then var[word]
97
- const [first, ...rest] = key.split('.');
98
- if (first in ctx.inputs) {
99
- const root = ctx.inputs[first];
100
- return rest.length > 0 ? dig(root, rest) : root;
101
- }
102
- if (first in ctx.var) {
103
- const root = ctx.var[first];
104
- return rest.length > 0 ? dig(root, rest) : root;
105
- }
106
- return undefined;
107
- }
108
- // -- Phase 2: Build Command Block --
109
- buildCommand(node, resolvedArgs, autoMode) {
110
- const parts = [`/${node.cmd}`];
111
- if (resolvedArgs)
112
- parts.push(resolvedArgs);
113
- if (autoMode && node.auto_flag)
114
- parts.push(node.auto_flag);
115
- return parts.join(' ').trim();
116
- }
117
- // -- Phase 3: Inject Previous Context --
118
- buildPreviousContext(req) {
119
- const sections = [];
120
- const ctx = req.context;
121
- // 3a: Previous command
122
- if (req.previous_command) {
123
- const pc = req.previous_command;
124
- let section = `### Previous Step: ${pc.cmd} (${pc.outcome})`;
125
- if (pc.summary)
126
- section += `\n${pc.summary}`;
127
- sections.push(section);
128
- }
129
- // 3b: Previous result
130
- if (ctx.result) {
131
- const lines = ['### Previous Result'];
132
- const r = ctx.result;
133
- if (r['status'])
134
- lines.push(`- **Status:** ${r['status']}`);
135
- if (r['phase'])
136
- lines.push(`- **Phase:** ${r['phase']}`);
137
- if (r['artifacts'])
138
- lines.push(`- **Artifacts:** ${r['artifacts']}`);
139
- if (r['summary'])
140
- lines.push(`- **Summary:** ${r['summary']}`);
141
- sections.push(lines.join('\n'));
142
- }
143
- // 3c: Analysis hints
144
- if (ctx.analysis) {
145
- const a = ctx.analysis;
146
- const hints = a['next_step_hints'];
147
- const lines = ['### Analysis Hints'];
148
- if (hints) {
149
- if (hints['prompt_additions']) {
150
- lines.push(String(hints['prompt_additions']));
151
- }
152
- if (Array.isArray(hints['cautions']) && hints['cautions'].length > 0) {
153
- lines.push(`**Cautions:** ${hints['cautions'].join('; ')}`);
154
- }
155
- if (hints['context_to_carry']) {
156
- lines.push(String(hints['context_to_carry']));
157
- }
158
- }
159
- const score = a['quality_score'];
160
- if (score !== undefined && score !== null) {
161
- lines.push(`Previous step quality: ${score}/100`);
162
- }
163
- if (lines.length > 1)
164
- sections.push(lines.join('\n'));
165
- }
166
- return sections.join('\n\n');
167
- }
168
- // -- Phase 4: Inject State Snapshot --
169
- buildStateSnapshot(project) {
170
- if (!project.initialized)
171
- return 'Project not initialized.';
172
- const lines = [];
173
- lines.push(`Phase ${project.current_phase} | Status: ${project.phase_status}`);
174
- lines.push(`Progress: ${project.phases_completed}/${project.phases_total} phases`);
175
- if (project.execution.tasks_total > 0) {
176
- lines.push(`Tasks: ${project.execution.tasks_completed}/${project.execution.tasks_total}`);
177
- }
178
- if (project.verification_status !== 'pending') {
179
- lines.push(`Verification: ${project.verification_status}`);
180
- }
181
- if (project.review_verdict !== null) {
182
- lines.push(`Review: ${project.review_verdict}`);
183
- }
184
- if (project.uat_status !== 'pending') {
185
- lines.push(`UAT: ${project.uat_status}`);
186
- }
187
- const artifactList = Object.entries(project.artifacts)
188
- .filter(([, v]) => v)
189
- .map(([k]) => k);
190
- if (artifactList.length > 0) {
191
- lines.push(`Artifacts: ${artifactList.join(', ')}`);
192
- }
193
- return lines.join('\n');
194
- }
195
- // -- Phase 5: Apply Template --
196
- async loadTemplate() {
197
- const templatePath = join(this.templateDir, 'coordinate-step-v2.md');
198
- try {
199
- return await readFile(templatePath, 'utf-8');
200
- }
201
- catch {
202
- return DEFAULT_TEMPLATE;
203
- }
204
- }
205
- renderTemplate(template, vars) {
206
- // Conditional blocks: {{#FIELD}}...content...{{/FIELD}}
207
- let result = template.replace(/\{\{#(\w+)\}\}([\s\S]*?)\{\{\/\1\}\}/g, (_match, field, content) => {
208
- return vars[field] ? content : '';
209
- });
210
- // Simple variable replacement: {{VAR}}
211
- result = result.replace(/\{\{(\w+)\}\}/g, (_match, key) => {
212
- return vars[key] ?? '';
213
- });
214
- // Clean up excess blank lines (more than 2 consecutive)
215
- result = result.replace(/\n{3,}/g, '\n\n');
216
- return result.trim() + '\n';
217
- }
218
- }
219
- function dig(obj, path) {
220
- let cur = obj;
221
- for (const seg of path) {
222
- if (cur == null || typeof cur !== 'object')
223
- return undefined;
224
- cur = cur[seg];
225
- }
226
- return cur;
227
- }
228
- //# sourceMappingURL=prompt-assembler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-assembler.js","sourceRoot":"","sources":["../../src/coordinator/prompt-assembler.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { AnalysisResult, AssembleRequest, CommandNode, StepAnalyzer, WalkerContext } from './graph-types.js';
2
- import type { SpawnFn } from './cli-executor.js';
3
- export declare class GeminiStepAnalyzer implements StepAnalyzer {
4
- private readonly spawnFn;
5
- constructor(spawnFn: SpawnFn);
6
- analyze(node: CommandNode, rawOutput: string, _ctx: WalkerContext, prevCmd?: AssembleRequest['previous_command']): Promise<AnalysisResult>;
7
- }
8
- //# sourceMappingURL=step-analyzer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"step-analyzer.d.ts","sourceRoot":"","sources":["../../src/coordinator/step-analyzer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAUjD,qBAAa,kBAAmB,YAAW,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,OAAO;IAEvC,OAAO,CACX,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,EACnB,OAAO,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC,GAC5C,OAAO,CAAC,cAAc,CAAC;CA6C3B"}
@@ -1,82 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // Step Analyzer — Optional quality analysis via gemini after each command step.
3
- // Never throws; analysis failure returns a safe default result.
4
- // ---------------------------------------------------------------------------
5
- const MAX_OUTPUT_CHARS = 4000;
6
- const DEFAULT_RESULT = {
7
- quality_score: 50,
8
- issues: ['Analysis parsing failed'],
9
- next_step_hints: {},
10
- };
11
- export class GeminiStepAnalyzer {
12
- spawnFn;
13
- constructor(spawnFn) {
14
- this.spawnFn = spawnFn;
15
- }
16
- async analyze(node, rawOutput, _ctx, prevCmd) {
17
- const outputTail = rawOutput.length > MAX_OUTPUT_CHARS
18
- ? rawOutput.slice(-MAX_OUTPUT_CHARS)
19
- : rawOutput;
20
- const prevLine = prevCmd
21
- ? `Previous step: ${prevCmd.cmd} (${prevCmd.outcome})`
22
- : 'Previous step: none';
23
- const prompt = [
24
- 'Analyze the following maestro command output.',
25
- '',
26
- `Command: ${node.cmd}${node.args ? ' ' + node.args : ''}`,
27
- prevLine,
28
- '',
29
- 'Output (last 4000 chars):',
30
- outputTail,
31
- '',
32
- 'Return a JSON block with this exact format:',
33
- '```json',
34
- '{',
35
- ' "quality_score": <0-100>,',
36
- ' "issues": ["issue1", "issue2"],',
37
- ' "next_step_hints": {',
38
- ' "prompt_additions": "suggestions for next step",',
39
- ' "cautions": ["caution1"],',
40
- ' "context_to_carry": "key context"',
41
- ' }',
42
- '}',
43
- '```',
44
- ].join('\n');
45
- try {
46
- const result = await this.spawnFn({
47
- type: 'gemini',
48
- prompt,
49
- workDir: process.cwd(),
50
- approvalMode: 'suggest',
51
- });
52
- return parseAnalysis(result.output);
53
- }
54
- catch {
55
- return { ...DEFAULT_RESULT };
56
- }
57
- }
58
- }
59
- // ---------------------------------------------------------------------------
60
- // JSON extraction from gemini output
61
- // ---------------------------------------------------------------------------
62
- function parseAnalysis(output) {
63
- const match = output.match(/```json\s*([\s\S]*?)```/);
64
- if (!match)
65
- return { ...DEFAULT_RESULT };
66
- try {
67
- const parsed = JSON.parse(match[1].trim());
68
- if (typeof parsed.quality_score !== 'number' ||
69
- !Array.isArray(parsed.issues)) {
70
- return { ...DEFAULT_RESULT };
71
- }
72
- return {
73
- quality_score: parsed.quality_score,
74
- issues: parsed.issues,
75
- next_step_hints: (parsed.next_step_hints ?? {}),
76
- };
77
- }
78
- catch {
79
- return { ...DEFAULT_RESULT };
80
- }
81
- }
82
- //# sourceMappingURL=step-analyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"step-analyzer.js","sourceRoot":"","sources":["../../src/coordinator/step-analyzer.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gFAAgF;AAChF,gEAAgE;AAChE,8EAA8E;AAW9E,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,MAAM,cAAc,GAAmB;IACrC,aAAa,EAAE,EAAE;IACjB,MAAM,EAAE,CAAC,yBAAyB,CAAC;IACnC,eAAe,EAAE,EAAE;CACpB,CAAC;AAEF,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAEjD,KAAK,CAAC,OAAO,CACX,IAAiB,EACjB,SAAiB,EACjB,IAAmB,EACnB,OAA6C;QAE7C,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,GAAG,gBAAgB;YACpD,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,gBAAgB,CAAC;YACpC,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,QAAQ,GAAG,OAAO;YACtB,CAAC,CAAC,kBAAkB,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,OAAO,GAAG;YACtD,CAAC,CAAC,qBAAqB,CAAC;QAE1B,MAAM,MAAM,GAAG;YACb,+CAA+C;YAC/C,EAAE;YACF,YAAY,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACzD,QAAQ;YACR,EAAE;YACF,2BAA2B;YAC3B,UAAU;YACV,EAAE;YACF,6CAA6C;YAC7C,SAAS;YACT,GAAG;YACH,6BAA6B;YAC7B,mCAAmC;YACnC,wBAAwB;YACxB,sDAAsD;YACtD,+BAA+B;YAC/B,uCAAuC;YACvC,KAAK;YACL,GAAG;YACH,KAAK;SACN,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;gBAChC,IAAI,EAAE,QAAQ;gBACd,MAAM;gBACN,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,YAAY,EAAE,SAAS;aACxB,CAAC,CAAC;YAEH,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED,8EAA8E;AAC9E,qCAAqC;AACrC,8EAA8E;AAE9E,SAAS,aAAa,CAAC,MAAc;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAA4B,CAAC;QAEtE,IACE,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;YACxC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7B,CAAC;YACD,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO;YACL,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,MAAM,CAAC,MAAkB;YACjC,eAAe,EAAE,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAsC;SACrF,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,cAAc,EAAE,CAAC;IAC/B,CAAC;AACH,CAAC"}
@@ -1,11 +0,0 @@
1
- import type { ToolRegistry } from './tool-registry.js';
2
- export declare class ExtensionLoader {
3
- private registry;
4
- private loaded;
5
- constructor(registry: ToolRegistry);
6
- loadFromDir(dir: string): Promise<void>;
7
- loadExtension(extPath: string): Promise<void>;
8
- unloadAll(): Promise<void>;
9
- listLoaded(): string[];
10
- }
11
- //# sourceMappingURL=extension-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension-loader.d.ts","sourceRoot":"","sources":["../../src/core/extension-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,eAAe;IAGd,OAAO,CAAC,QAAQ;IAF5B,OAAO,CAAC,MAAM,CAAgC;gBAE1B,QAAQ,EAAE,YAAY;IAEpC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWvC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB7C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAShC,UAAU,IAAI,MAAM,EAAE;CAGvB"}
@@ -1,54 +0,0 @@
1
- import { readdirSync, existsSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- export class ExtensionLoader {
4
- registry;
5
- loaded = new Map();
6
- constructor(registry) {
7
- this.registry = registry;
8
- }
9
- async loadFromDir(dir) {
10
- if (!existsSync(dir))
11
- return;
12
- const entries = readdirSync(dir, { withFileTypes: true });
13
- for (const entry of entries) {
14
- if (!entry.isDirectory())
15
- continue;
16
- const extPath = join(dir, entry.name);
17
- await this.loadExtension(extPath);
18
- }
19
- }
20
- async loadExtension(extPath) {
21
- const entryFile = join(extPath, 'index.js');
22
- if (!existsSync(entryFile)) {
23
- console.warn(`Extension at ${extPath} missing index.js, skipping`);
24
- return;
25
- }
26
- try {
27
- const mod = await import(`file://${entryFile}`);
28
- const ext = mod.default ?? mod;
29
- const ctx = {
30
- registerTool: (tool) => this.registry.register(tool),
31
- config: {},
32
- log: (msg) => console.log(`[ext:${ext.name}] ${msg}`),
33
- };
34
- await ext.activate(ctx);
35
- this.loaded.set(ext.name, ext);
36
- console.log(`Loaded extension: ${ext.name}@${ext.version}`);
37
- }
38
- catch (err) {
39
- console.error(`Failed to load extension at ${extPath}:`, err);
40
- }
41
- }
42
- async unloadAll() {
43
- for (const [name, ext] of this.loaded) {
44
- if (ext.deactivate) {
45
- await ext.deactivate();
46
- }
47
- this.loaded.delete(name);
48
- }
49
- }
50
- listLoaded() {
51
- return Array.from(this.loaded.keys());
52
- }
53
- }
54
- //# sourceMappingURL=extension-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extension-loader.js","sourceRoot":"","sources":["../../src/core/extension-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,OAAO,eAAe;IAGN;IAFZ,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE9C,YAAoB,QAAsB;QAAtB,aAAQ,GAAR,QAAQ,CAAc;IAAG,CAAC;IAE9C,KAAK,CAAC,WAAW,CAAC,GAAW;QAC3B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO;QAE7B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;gBAAE,SAAS;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAe;QACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,gBAAgB,OAAO,6BAA6B,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,UAAU,SAAS,EAAE,CAAC,CAAC;YAChD,MAAM,GAAG,GAAc,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC;YAE1C,MAAM,GAAG,GAAqB;gBAC5B,YAAY,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC1D,MAAM,EAAE,EAAE;gBACV,GAAG,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;aAC9D,CAAC;YAEF,MAAM,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,qBAAqB,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,OAAO,GAAG,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS;QACb,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACnB,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;YACzB,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,UAAU;QACR,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;CACF"}