maestro-flow 0.3.0 → 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 (425) hide show
  1. package/.claude/commands/maestro-overlay.md +178 -122
  2. package/.claude/commands/manage-harvest.md +4 -4
  3. package/.codex/skills/maestro-coordinate/SKILL.md +3 -4
  4. package/dist/src/commands/launcher.js +1 -1
  5. package/dist/src/commands/launcher.js.map +1 -1
  6. package/dist/src/commands/overlay-ui/OverlayList.d.ts +35 -0
  7. package/dist/src/commands/overlay-ui/OverlayList.d.ts.map +1 -0
  8. package/dist/src/commands/overlay-ui/OverlayList.js +143 -0
  9. package/dist/src/commands/overlay-ui/OverlayList.js.map +1 -0
  10. package/dist/src/commands/overlay-ui/index.d.ts +2 -0
  11. package/dist/src/commands/overlay-ui/index.d.ts.map +1 -0
  12. package/dist/src/commands/overlay-ui/index.js +188 -0
  13. package/dist/src/commands/overlay-ui/index.js.map +1 -0
  14. package/dist/src/commands/overlay.d.ts.map +1 -1
  15. package/dist/src/commands/overlay.js +79 -59
  16. package/dist/src/commands/overlay.js.map +1 -1
  17. package/dist/src/core/overlay/applier.d.ts +32 -1
  18. package/dist/src/core/overlay/applier.d.ts.map +1 -1
  19. package/dist/src/core/overlay/applier.js +109 -1
  20. package/dist/src/core/overlay/applier.js.map +1 -1
  21. package/package.json +1 -1
  22. package/dist/agents/cli-agent-runner.d.ts +0 -131
  23. package/dist/agents/cli-agent-runner.d.ts.map +0 -1
  24. package/dist/agents/cli-agent-runner.js +0 -688
  25. package/dist/agents/cli-agent-runner.js.map +0 -1
  26. package/dist/agents/cli-history-store.d.ts +0 -63
  27. package/dist/agents/cli-history-store.d.ts.map +0 -1
  28. package/dist/agents/cli-history-store.js +0 -242
  29. package/dist/agents/cli-history-store.js.map +0 -1
  30. package/dist/agents/dashboard-bridge.d.ts +0 -39
  31. package/dist/agents/dashboard-bridge.d.ts.map +0 -1
  32. package/dist/agents/dashboard-bridge.js +0 -76
  33. package/dist/agents/dashboard-bridge.js.map +0 -1
  34. package/dist/agents/parallel-cli-runner.d.ts +0 -46
  35. package/dist/agents/parallel-cli-runner.d.ts.map +0 -1
  36. package/dist/agents/parallel-cli-runner.js +0 -277
  37. package/dist/agents/parallel-cli-runner.js.map +0 -1
  38. package/dist/agents/terminal-adapter.d.ts +0 -94
  39. package/dist/agents/terminal-adapter.d.ts.map +0 -1
  40. package/dist/agents/terminal-adapter.js +0 -132
  41. package/dist/agents/terminal-adapter.js.map +0 -1
  42. package/dist/agents/terminal-backend.d.ts +0 -53
  43. package/dist/agents/terminal-backend.d.ts.map +0 -1
  44. package/dist/agents/terminal-backend.js +0 -286
  45. package/dist/agents/terminal-backend.js.map +0 -1
  46. package/dist/async/delegate-broker-client.d.ts +0 -22
  47. package/dist/async/delegate-broker-client.d.ts.map +0 -1
  48. package/dist/async/delegate-broker-client.js +0 -47
  49. package/dist/async/delegate-broker-client.js.map +0 -1
  50. package/dist/async/delegate-broker.d.ts +0 -180
  51. package/dist/async/delegate-broker.d.ts.map +0 -1
  52. package/dist/async/delegate-broker.js +0 -1040
  53. package/dist/async/delegate-broker.js.map +0 -1
  54. package/dist/async/delegate-control.d.ts +0 -37
  55. package/dist/async/delegate-control.d.ts.map +0 -1
  56. package/dist/async/delegate-control.js +0 -155
  57. package/dist/async/delegate-control.js.map +0 -1
  58. package/dist/async/index.d.ts +0 -3
  59. package/dist/async/index.d.ts.map +0 -1
  60. package/dist/async/index.js +0 -3
  61. package/dist/async/index.js.map +0 -1
  62. package/dist/cli.d.ts +0 -2
  63. package/dist/cli.d.ts.map +0 -1
  64. package/dist/cli.js +0 -40
  65. package/dist/cli.js.map +0 -1
  66. package/dist/commands/cli.d.ts +0 -3
  67. package/dist/commands/cli.d.ts.map +0 -1
  68. package/dist/commands/cli.js +0 -262
  69. package/dist/commands/cli.js.map +0 -1
  70. package/dist/commands/coordinate.d.ts +0 -3
  71. package/dist/commands/coordinate.d.ts.map +0 -1
  72. package/dist/commands/coordinate.js +0 -275
  73. package/dist/commands/coordinate.js.map +0 -1
  74. package/dist/commands/delegate.d.ts +0 -37
  75. package/dist/commands/delegate.d.ts.map +0 -1
  76. package/dist/commands/delegate.js +0 -470
  77. package/dist/commands/delegate.js.map +0 -1
  78. package/dist/commands/ext.d.ts +0 -3
  79. package/dist/commands/ext.d.ts.map +0 -1
  80. package/dist/commands/ext.js +0 -28
  81. package/dist/commands/ext.js.map +0 -1
  82. package/dist/commands/hooks.d.ts +0 -3
  83. package/dist/commands/hooks.d.ts.map +0 -1
  84. package/dist/commands/hooks.js +0 -126
  85. package/dist/commands/hooks.js.map +0 -1
  86. package/dist/commands/install.d.ts +0 -3
  87. package/dist/commands/install.d.ts.map +0 -1
  88. package/dist/commands/install.js +0 -621
  89. package/dist/commands/install.js.map +0 -1
  90. package/dist/commands/launcher.d.ts +0 -3
  91. package/dist/commands/launcher.d.ts.map +0 -1
  92. package/dist/commands/launcher.js +0 -635
  93. package/dist/commands/launcher.js.map +0 -1
  94. package/dist/commands/link-coordinate.d.ts +0 -3
  95. package/dist/commands/link-coordinate.d.ts.map +0 -1
  96. package/dist/commands/link-coordinate.js +0 -225
  97. package/dist/commands/link-coordinate.js.map +0 -1
  98. package/dist/commands/msg.d.ts +0 -3
  99. package/dist/commands/msg.d.ts.map +0 -1
  100. package/dist/commands/msg.js +0 -110
  101. package/dist/commands/msg.js.map +0 -1
  102. package/dist/commands/overlay.d.ts +0 -3
  103. package/dist/commands/overlay.d.ts.map +0 -1
  104. package/dist/commands/overlay.js +0 -243
  105. package/dist/commands/overlay.js.map +0 -1
  106. package/dist/commands/run.d.ts +0 -3
  107. package/dist/commands/run.d.ts.map +0 -1
  108. package/dist/commands/run.js +0 -15
  109. package/dist/commands/run.js.map +0 -1
  110. package/dist/commands/serve.d.ts +0 -3
  111. package/dist/commands/serve.d.ts.map +0 -1
  112. package/dist/commands/serve.js +0 -16
  113. package/dist/commands/serve.js.map +0 -1
  114. package/dist/commands/spec.d.ts +0 -8
  115. package/dist/commands/spec.d.ts.map +0 -1
  116. package/dist/commands/spec.js +0 -147
  117. package/dist/commands/spec.js.map +0 -1
  118. package/dist/commands/stop.d.ts +0 -3
  119. package/dist/commands/stop.d.ts.map +0 -1
  120. package/dist/commands/stop.js +0 -218
  121. package/dist/commands/stop.js.map +0 -1
  122. package/dist/commands/tool.d.ts +0 -3
  123. package/dist/commands/tool.d.ts.map +0 -1
  124. package/dist/commands/tool.js +0 -29
  125. package/dist/commands/tool.js.map +0 -1
  126. package/dist/commands/uninstall.d.ts +0 -3
  127. package/dist/commands/uninstall.d.ts.map +0 -1
  128. package/dist/commands/uninstall.js +0 -77
  129. package/dist/commands/uninstall.js.map +0 -1
  130. package/dist/commands/view.d.ts +0 -3
  131. package/dist/commands/view.d.ts.map +0 -1
  132. package/dist/commands/view.js +0 -337
  133. package/dist/commands/view.js.map +0 -1
  134. package/dist/config/cli-tools-config.d.ts +0 -26
  135. package/dist/config/cli-tools-config.d.ts.map +0 -1
  136. package/dist/config/cli-tools-config.js +0 -49
  137. package/dist/config/cli-tools-config.js.map +0 -1
  138. package/dist/config/cli-tools-config.test.d.ts +0 -2
  139. package/dist/config/cli-tools-config.test.d.ts.map +0 -1
  140. package/dist/config/cli-tools-config.test.js +0 -59
  141. package/dist/config/cli-tools-config.test.js.map +0 -1
  142. package/dist/config/index.d.ts +0 -4
  143. package/dist/config/index.d.ts.map +0 -1
  144. package/dist/config/index.js +0 -27
  145. package/dist/config/index.js.map +0 -1
  146. package/dist/config/paths.d.ts +0 -15
  147. package/dist/config/paths.d.ts.map +0 -1
  148. package/dist/config/paths.js +0 -27
  149. package/dist/config/paths.js.map +0 -1
  150. package/dist/config/template-discovery.d.ts +0 -32
  151. package/dist/config/template-discovery.d.ts.map +0 -1
  152. package/dist/config/template-discovery.js +0 -128
  153. package/dist/config/template-discovery.js.map +0 -1
  154. package/dist/coordinator/cli-executor.d.ts +0 -22
  155. package/dist/coordinator/cli-executor.d.ts.map +0 -1
  156. package/dist/coordinator/cli-executor.js +0 -49
  157. package/dist/coordinator/cli-executor.js.map +0 -1
  158. package/dist/coordinator/expr-evaluator.d.ts +0 -11
  159. package/dist/coordinator/expr-evaluator.d.ts.map +0 -1
  160. package/dist/coordinator/expr-evaluator.js +0 -351
  161. package/dist/coordinator/expr-evaluator.js.map +0 -1
  162. package/dist/coordinator/graph-loader.d.ts +0 -16
  163. package/dist/coordinator/graph-loader.d.ts.map +0 -1
  164. package/dist/coordinator/graph-loader.js +0 -190
  165. package/dist/coordinator/graph-loader.js.map +0 -1
  166. package/dist/coordinator/graph-types.d.ts +0 -304
  167. package/dist/coordinator/graph-types.d.ts.map +0 -1
  168. package/dist/coordinator/graph-types.js +0 -6
  169. package/dist/coordinator/graph-types.js.map +0 -1
  170. package/dist/coordinator/graph-walker.d.ts +0 -51
  171. package/dist/coordinator/graph-walker.d.ts.map +0 -1
  172. package/dist/coordinator/graph-walker.js +0 -666
  173. package/dist/coordinator/graph-walker.js.map +0 -1
  174. package/dist/coordinator/index.d.ts +0 -13
  175. package/dist/coordinator/index.d.ts.map +0 -1
  176. package/dist/coordinator/index.js +0 -14
  177. package/dist/coordinator/index.js.map +0 -1
  178. package/dist/coordinator/intent-router.d.ts +0 -11
  179. package/dist/coordinator/intent-router.d.ts.map +0 -1
  180. package/dist/coordinator/intent-router.js +0 -65
  181. package/dist/coordinator/intent-router.js.map +0 -1
  182. package/dist/coordinator/link-session.d.ts +0 -29
  183. package/dist/coordinator/link-session.d.ts.map +0 -1
  184. package/dist/coordinator/link-session.js +0 -192
  185. package/dist/coordinator/link-session.js.map +0 -1
  186. package/dist/coordinator/link-walker.d.ts +0 -56
  187. package/dist/coordinator/link-walker.d.ts.map +0 -1
  188. package/dist/coordinator/link-walker.js +0 -548
  189. package/dist/coordinator/link-walker.js.map +0 -1
  190. package/dist/coordinator/output-parser.d.ts +0 -5
  191. package/dist/coordinator/output-parser.d.ts.map +0 -1
  192. package/dist/coordinator/output-parser.js +0 -114
  193. package/dist/coordinator/output-parser.js.map +0 -1
  194. package/dist/coordinator/parallel-executor.d.ts +0 -24
  195. package/dist/coordinator/parallel-executor.d.ts.map +0 -1
  196. package/dist/coordinator/parallel-executor.js +0 -43
  197. package/dist/coordinator/parallel-executor.js.map +0 -1
  198. package/dist/coordinator/prompt-assembler.d.ts +0 -15
  199. package/dist/coordinator/prompt-assembler.d.ts.map +0 -1
  200. package/dist/coordinator/prompt-assembler.js +0 -228
  201. package/dist/coordinator/prompt-assembler.js.map +0 -1
  202. package/dist/coordinator/step-analyzer.d.ts +0 -8
  203. package/dist/coordinator/step-analyzer.d.ts.map +0 -1
  204. package/dist/coordinator/step-analyzer.js +0 -82
  205. package/dist/coordinator/step-analyzer.js.map +0 -1
  206. package/dist/core/extension-loader.d.ts +0 -11
  207. package/dist/core/extension-loader.d.ts.map +0 -1
  208. package/dist/core/extension-loader.js +0 -54
  209. package/dist/core/extension-loader.js.map +0 -1
  210. package/dist/core/manifest.d.ts +0 -24
  211. package/dist/core/manifest.d.ts.map +0 -1
  212. package/dist/core/manifest.js +0 -139
  213. package/dist/core/manifest.js.map +0 -1
  214. package/dist/core/mcp-tool-registry.integration.test.d.ts +0 -2
  215. package/dist/core/mcp-tool-registry.integration.test.d.ts.map +0 -1
  216. package/dist/core/mcp-tool-registry.integration.test.js +0 -220
  217. package/dist/core/mcp-tool-registry.integration.test.js.map +0 -1
  218. package/dist/core/overlay/applier.d.ts +0 -73
  219. package/dist/core/overlay/applier.d.ts.map +0 -1
  220. package/dist/core/overlay/applier.js +0 -248
  221. package/dist/core/overlay/applier.js.map +0 -1
  222. package/dist/core/overlay/loader.d.ts +0 -26
  223. package/dist/core/overlay/loader.d.ts.map +0 -1
  224. package/dist/core/overlay/loader.js +0 -199
  225. package/dist/core/overlay/loader.js.map +0 -1
  226. package/dist/core/overlay/patcher.d.ts +0 -26
  227. package/dist/core/overlay/patcher.d.ts.map +0 -1
  228. package/dist/core/overlay/patcher.js +0 -212
  229. package/dist/core/overlay/patcher.js.map +0 -1
  230. package/dist/core/overlay/section-parser.d.ts +0 -25
  231. package/dist/core/overlay/section-parser.d.ts.map +0 -1
  232. package/dist/core/overlay/section-parser.js +0 -99
  233. package/dist/core/overlay/section-parser.js.map +0 -1
  234. package/dist/core/overlay/types.d.ts +0 -51
  235. package/dist/core/overlay/types.d.ts.map +0 -1
  236. package/dist/core/overlay/types.js +0 -15
  237. package/dist/core/overlay/types.js.map +0 -1
  238. package/dist/core/tool-registry.d.ts +0 -10
  239. package/dist/core/tool-registry.d.ts.map +0 -1
  240. package/dist/core/tool-registry.js +0 -29
  241. package/dist/core/tool-registry.js.map +0 -1
  242. package/dist/core/tool-registry.test.d.ts +0 -2
  243. package/dist/core/tool-registry.test.d.ts.map +0 -1
  244. package/dist/core/tool-registry.test.js +0 -78
  245. package/dist/core/tool-registry.test.js.map +0 -1
  246. package/dist/db/connection-pool.d.ts +0 -21
  247. package/dist/db/connection-pool.d.ts.map +0 -1
  248. package/dist/db/connection-pool.js +0 -53
  249. package/dist/db/connection-pool.js.map +0 -1
  250. package/dist/db/index.d.ts +0 -6
  251. package/dist/db/index.d.ts.map +0 -1
  252. package/dist/db/index.js +0 -9
  253. package/dist/db/index.js.map +0 -1
  254. package/dist/db/schema/core/index.d.ts +0 -5
  255. package/dist/db/schema/core/index.d.ts.map +0 -1
  256. package/dist/db/schema/core/index.js +0 -5
  257. package/dist/db/schema/core/index.js.map +0 -1
  258. package/dist/db/schema/core/organizations.d.ts +0 -244
  259. package/dist/db/schema/core/organizations.d.ts.map +0 -1
  260. package/dist/db/schema/core/organizations.js +0 -44
  261. package/dist/db/schema/core/organizations.js.map +0 -1
  262. package/dist/db/schema/core/permissions.d.ts +0 -158
  263. package/dist/db/schema/core/permissions.d.ts.map +0 -1
  264. package/dist/db/schema/core/permissions.js +0 -62
  265. package/dist/db/schema/core/permissions.js.map +0 -1
  266. package/dist/db/schema/core/refresh-tokens.d.ts +0 -147
  267. package/dist/db/schema/core/refresh-tokens.d.ts.map +0 -1
  268. package/dist/db/schema/core/refresh-tokens.js +0 -22
  269. package/dist/db/schema/core/refresh-tokens.js.map +0 -1
  270. package/dist/db/schema/core/users.d.ts +0 -178
  271. package/dist/db/schema/core/users.d.ts.map +0 -1
  272. package/dist/db/schema/core/users.js +0 -14
  273. package/dist/db/schema/core/users.js.map +0 -1
  274. package/dist/db/tenant-migrator.d.ts +0 -11
  275. package/dist/db/tenant-migrator.d.ts.map +0 -1
  276. package/dist/db/tenant-migrator.js +0 -74
  277. package/dist/db/tenant-migrator.js.map +0 -1
  278. package/dist/db/tenant-schema.d.ts +0 -290
  279. package/dist/db/tenant-schema.d.ts.map +0 -1
  280. package/dist/db/tenant-schema.js +0 -32
  281. package/dist/db/tenant-schema.js.map +0 -1
  282. package/dist/hooks/constants.d.ts +0 -40
  283. package/dist/hooks/constants.d.ts.map +0 -1
  284. package/dist/hooks/constants.js +0 -53
  285. package/dist/hooks/constants.js.map +0 -1
  286. package/dist/hooks/context-monitor.d.ts +0 -33
  287. package/dist/hooks/context-monitor.d.ts.map +0 -1
  288. package/dist/hooks/context-monitor.js +0 -117
  289. package/dist/hooks/context-monitor.js.map +0 -1
  290. package/dist/hooks/delegate-monitor.d.ts +0 -24
  291. package/dist/hooks/delegate-monitor.d.ts.map +0 -1
  292. package/dist/hooks/delegate-monitor.js +0 -76
  293. package/dist/hooks/delegate-monitor.js.map +0 -1
  294. package/dist/hooks/index.d.ts +0 -4
  295. package/dist/hooks/index.d.ts.map +0 -1
  296. package/dist/hooks/index.js +0 -4
  297. package/dist/hooks/index.js.map +0 -1
  298. package/dist/hooks/statusline.d.ts +0 -29
  299. package/dist/hooks/statusline.d.ts.map +0 -1
  300. package/dist/hooks/statusline.js +0 -134
  301. package/dist/hooks/statusline.js.map +0 -1
  302. package/dist/index.d.ts +0 -8
  303. package/dist/index.d.ts.map +0 -1
  304. package/dist/index.js +0 -6
  305. package/dist/index.js.map +0 -1
  306. package/dist/mcp/delegate-channel-relay.d.ts +0 -51
  307. package/dist/mcp/delegate-channel-relay.d.ts.map +0 -1
  308. package/dist/mcp/delegate-channel-relay.js +0 -307
  309. package/dist/mcp/delegate-channel-relay.js.map +0 -1
  310. package/dist/mcp/server.d.ts +0 -6
  311. package/dist/mcp/server.d.ts.map +0 -1
  312. package/dist/mcp/server.js +0 -64
  313. package/dist/mcp/server.js.map +0 -1
  314. package/dist/middleware/auth.d.ts +0 -13
  315. package/dist/middleware/auth.d.ts.map +0 -1
  316. package/dist/middleware/auth.js +0 -27
  317. package/dist/middleware/auth.js.map +0 -1
  318. package/dist/middleware/permission.d.ts +0 -9
  319. package/dist/middleware/permission.d.ts.map +0 -1
  320. package/dist/middleware/permission.js +0 -19
  321. package/dist/middleware/permission.js.map +0 -1
  322. package/dist/middleware/rate-limit.d.ts +0 -9
  323. package/dist/middleware/rate-limit.d.ts.map +0 -1
  324. package/dist/middleware/rate-limit.js +0 -40
  325. package/dist/middleware/rate-limit.js.map +0 -1
  326. package/dist/middleware/tenant.d.ts +0 -17
  327. package/dist/middleware/tenant.d.ts.map +0 -1
  328. package/dist/middleware/tenant.js +0 -57
  329. package/dist/middleware/tenant.js.map +0 -1
  330. package/dist/middleware/validation.d.ts +0 -40
  331. package/dist/middleware/validation.d.ts.map +0 -1
  332. package/dist/middleware/validation.js +0 -51
  333. package/dist/middleware/validation.js.map +0 -1
  334. package/dist/routes/auth.d.ts +0 -3
  335. package/dist/routes/auth.d.ts.map +0 -1
  336. package/dist/routes/auth.js +0 -77
  337. package/dist/routes/auth.js.map +0 -1
  338. package/dist/routes/members.d.ts +0 -4
  339. package/dist/routes/members.d.ts.map +0 -1
  340. package/dist/routes/members.js +0 -114
  341. package/dist/routes/members.js.map +0 -1
  342. package/dist/routes/organizations.d.ts +0 -5
  343. package/dist/routes/organizations.d.ts.map +0 -1
  344. package/dist/routes/organizations.js +0 -97
  345. package/dist/routes/organizations.js.map +0 -1
  346. package/dist/services/auth.service.d.ts +0 -24
  347. package/dist/services/auth.service.d.ts.map +0 -1
  348. package/dist/services/auth.service.js +0 -70
  349. package/dist/services/auth.service.js.map +0 -1
  350. package/dist/services/password.service.d.ts +0 -3
  351. package/dist/services/password.service.d.ts.map +0 -1
  352. package/dist/services/password.service.js +0 -18
  353. package/dist/services/password.service.js.map +0 -1
  354. package/dist/services/rbac.service.d.ts +0 -7
  355. package/dist/services/rbac.service.d.ts.map +0 -1
  356. package/dist/services/rbac.service.js +0 -36
  357. package/dist/services/rbac.service.js.map +0 -1
  358. package/dist/services/token.service.d.ts +0 -18
  359. package/dist/services/token.service.d.ts.map +0 -1
  360. package/dist/services/token.service.js +0 -86
  361. package/dist/services/token.service.js.map +0 -1
  362. package/dist/tools/core-memory.d.ts +0 -12
  363. package/dist/tools/core-memory.d.ts.map +0 -1
  364. package/dist/tools/core-memory.js +0 -276
  365. package/dist/tools/core-memory.js.map +0 -1
  366. package/dist/tools/edit-file.d.ts +0 -25
  367. package/dist/tools/edit-file.d.ts.map +0 -1
  368. package/dist/tools/edit-file.js +0 -462
  369. package/dist/tools/edit-file.js.map +0 -1
  370. package/dist/tools/index.d.ts +0 -8
  371. package/dist/tools/index.d.ts.map +0 -1
  372. package/dist/tools/index.js +0 -536
  373. package/dist/tools/index.js.map +0 -1
  374. package/dist/tools/read-file.d.ts +0 -13
  375. package/dist/tools/read-file.d.ts.map +0 -1
  376. package/dist/tools/read-file.js +0 -91
  377. package/dist/tools/read-file.js.map +0 -1
  378. package/dist/tools/read-many-files.d.ts +0 -15
  379. package/dist/tools/read-many-files.d.ts.map +0 -1
  380. package/dist/tools/read-many-files.js +0 -187
  381. package/dist/tools/read-many-files.js.map +0 -1
  382. package/dist/tools/spec-index-builder.d.ts +0 -58
  383. package/dist/tools/spec-index-builder.d.ts.map +0 -1
  384. package/dist/tools/spec-index-builder.js +0 -211
  385. package/dist/tools/spec-index-builder.js.map +0 -1
  386. package/dist/tools/spec-init.d.ts +0 -17
  387. package/dist/tools/spec-init.d.ts.map +0 -1
  388. package/dist/tools/spec-init.js +0 -215
  389. package/dist/tools/spec-init.js.map +0 -1
  390. package/dist/tools/spec-keyword-extractor.d.ts +0 -24
  391. package/dist/tools/spec-keyword-extractor.d.ts.map +0 -1
  392. package/dist/tools/spec-keyword-extractor.js +0 -84
  393. package/dist/tools/spec-keyword-extractor.js.map +0 -1
  394. package/dist/tools/spec-keyword-extractor.test.d.ts +0 -2
  395. package/dist/tools/spec-keyword-extractor.test.d.ts.map +0 -1
  396. package/dist/tools/spec-keyword-extractor.test.js +0 -99
  397. package/dist/tools/spec-keyword-extractor.test.js.map +0 -1
  398. package/dist/tools/spec-loader.d.ts +0 -15
  399. package/dist/tools/spec-loader.d.ts.map +0 -1
  400. package/dist/tools/spec-loader.js +0 -93
  401. package/dist/tools/spec-loader.js.map +0 -1
  402. package/dist/tools/team-msg.d.ts +0 -52
  403. package/dist/tools/team-msg.d.ts.map +0 -1
  404. package/dist/tools/team-msg.js +0 -449
  405. package/dist/tools/team-msg.js.map +0 -1
  406. package/dist/tools/write-file.d.ts +0 -19
  407. package/dist/tools/write-file.d.ts.map +0 -1
  408. package/dist/tools/write-file.js +0 -165
  409. package/dist/tools/write-file.js.map +0 -1
  410. package/dist/types/index.d.ts +0 -47
  411. package/dist/types/index.d.ts.map +0 -1
  412. package/dist/types/index.js +0 -2
  413. package/dist/types/index.js.map +0 -1
  414. package/dist/types/tool-schema.d.ts +0 -37
  415. package/dist/types/tool-schema.d.ts.map +0 -1
  416. package/dist/types/tool-schema.js +0 -24
  417. package/dist/types/tool-schema.js.map +0 -1
  418. package/dist/utils/file-reader.d.ts +0 -74
  419. package/dist/utils/file-reader.d.ts.map +0 -1
  420. package/dist/utils/file-reader.js +0 -217
  421. package/dist/utils/file-reader.js.map +0 -1
  422. package/dist/utils/path-validator.d.ts +0 -52
  423. package/dist/utils/path-validator.d.ts.map +0 -1
  424. package/dist/utils/path-validator.js +0 -151
  425. package/dist/utils/path-validator.js.map +0 -1
@@ -1,277 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // Parallel CLI Runner — Async multi-CLI scheduler with semaphore concurrency.
3
- // Standalone scheduler with SpawnFn injection, decoupled from GraphWalker.
4
- //
5
- // Concurrency model (from Bridge's PerSessionWorkerPool):
6
- // - Tasks with same sessionKey (tool+workDir) run serially
7
- // - Tasks with different sessionKeys run in parallel
8
- // - Global maxConcurrency limits total parallel processes
9
- // ---------------------------------------------------------------------------
10
- // ---------------------------------------------------------------------------
11
- // Tool name -> AgentType mapping (mirrors cli-agent-runner.ts)
12
- // ---------------------------------------------------------------------------
13
- const TOOL_TO_AGENT_TYPE = {
14
- gemini: 'gemini',
15
- qwen: 'qwen',
16
- codex: 'codex',
17
- claude: 'claude-code',
18
- opencode: 'opencode',
19
- };
20
- const TOOL_TO_TERMINAL_CMD = {
21
- gemini: 'gemini',
22
- qwen: 'qwen',
23
- codex: 'codex',
24
- claude: 'claude',
25
- opencode: 'opencode',
26
- };
27
- // ---------------------------------------------------------------------------
28
- // Semaphore — simple counter-based concurrency limiter
29
- // ---------------------------------------------------------------------------
30
- class Semaphore {
31
- max;
32
- current = 0;
33
- waiters = [];
34
- constructor(max) {
35
- this.max = max;
36
- }
37
- async acquire() {
38
- if (this.current < this.max) {
39
- this.current++;
40
- return;
41
- }
42
- return new Promise((resolve) => {
43
- this.waiters.push(() => {
44
- this.current++;
45
- resolve();
46
- });
47
- });
48
- }
49
- release() {
50
- this.current--;
51
- const next = this.waiters.shift();
52
- if (next)
53
- next();
54
- }
55
- }
56
- // ---------------------------------------------------------------------------
57
- // Default per-task timeout (10 min ceiling)
58
- // ---------------------------------------------------------------------------
59
- const DEFAULT_TASK_TIMEOUT_MS = 10 * 60 * 1000;
60
- // ---------------------------------------------------------------------------
61
- // ParallelCliRunner
62
- // ---------------------------------------------------------------------------
63
- export class ParallelCliRunner {
64
- spawn;
65
- terminalBackend;
66
- constructor(spawn, terminalBackend) {
67
- this.spawn = spawn;
68
- this.terminalBackend = terminalBackend;
69
- }
70
- /**
71
- * Execute tasks in parallel with session-key grouping and join strategy.
72
- *
73
- * Tasks sharing the same sessionKey (defaults to tool+workDir) execute
74
- * serially within their group. Different groups run in parallel, limited
75
- * by maxConcurrency.
76
- */
77
- async runAll(tasks, options) {
78
- const { maxConcurrency = 4, joinStrategy, signal: globalSignal, } = options;
79
- if (tasks.length === 0) {
80
- return { results: [], success: true };
81
- }
82
- // Group by session key
83
- const groups = this.groupBySession(tasks);
84
- const semaphore = new Semaphore(maxConcurrency);
85
- const results = [];
86
- // For 'any' strategy, wrap global signal so we can abort remaining
87
- // groups once the first group completes.
88
- const effectiveAbort = joinStrategy === 'any'
89
- ? new AbortController()
90
- : undefined;
91
- if (effectiveAbort && globalSignal) {
92
- globalSignal.addEventListener('abort', () => effectiveAbort.abort(), { once: true });
93
- }
94
- const effectiveSignal = effectiveAbort?.signal ?? globalSignal;
95
- // Create per-group serial chains, run groups in parallel
96
- const groupPromises = [...groups.values()].map((queue) => this.runSessionGroup(queue, semaphore, results, effectiveSignal));
97
- if (joinStrategy === 'any') {
98
- // First group to finish triggers abort of the rest
99
- await Promise.race(groupPromises);
100
- effectiveAbort.abort();
101
- await Promise.allSettled(groupPromises);
102
- }
103
- else {
104
- // 'all' and 'majority' both wait for all groups to settle
105
- await Promise.allSettled(groupPromises);
106
- }
107
- const success = this.evaluateJoin(results, tasks.length, joinStrategy);
108
- return { results, success };
109
- }
110
- // -------------------------------------------------------------------------
111
- // Session grouping
112
- // -------------------------------------------------------------------------
113
- groupBySession(tasks) {
114
- const groups = new Map();
115
- for (const task of tasks) {
116
- const key = task.sessionKey ?? `${task.tool}:${task.workDir}`;
117
- if (!groups.has(key))
118
- groups.set(key, []);
119
- groups.get(key).push(task);
120
- }
121
- return groups;
122
- }
123
- // -------------------------------------------------------------------------
124
- // Serial execution within a session group
125
- // -------------------------------------------------------------------------
126
- async runSessionGroup(queue, semaphore, results, signal) {
127
- for (const task of queue) {
128
- if (signal?.aborted)
129
- break;
130
- await semaphore.acquire();
131
- if (signal?.aborted) {
132
- semaphore.release();
133
- break;
134
- }
135
- try {
136
- const result = await this.executeTask(task, signal);
137
- results.push(result);
138
- }
139
- finally {
140
- semaphore.release();
141
- }
142
- }
143
- }
144
- // -------------------------------------------------------------------------
145
- // Single task execution — routes to SpawnFn or TerminalAdapter
146
- // -------------------------------------------------------------------------
147
- async executeTask(task, globalSignal) {
148
- if (task.backend === 'terminal' && this.terminalBackend) {
149
- return this.executeViaTerminal(task, globalSignal);
150
- }
151
- return this.executeViaSpawn(task, globalSignal);
152
- }
153
- // -------------------------------------------------------------------------
154
- // Execution via SpawnFn (direct adapter — default)
155
- // -------------------------------------------------------------------------
156
- async executeViaSpawn(task, globalSignal) {
157
- const startTime = Date.now();
158
- const agentType = TOOL_TO_AGENT_TYPE[task.tool];
159
- if (!agentType) {
160
- return {
161
- id: task.id,
162
- success: false,
163
- output: `Unknown tool: ${task.tool}`,
164
- execId: '',
165
- durationMs: Date.now() - startTime,
166
- };
167
- }
168
- // Per-task abort: merges global signal + timeout ceiling
169
- const taskAbort = new AbortController();
170
- const timeout = setTimeout(() => taskAbort.abort(), DEFAULT_TASK_TIMEOUT_MS);
171
- const onGlobalAbort = () => taskAbort.abort();
172
- globalSignal?.addEventListener('abort', onGlobalAbort, { once: true });
173
- try {
174
- const result = await this.spawn({
175
- type: agentType,
176
- prompt: task.prompt,
177
- workDir: task.workDir,
178
- approvalMode: task.mode === 'write' ? 'auto' : 'suggest',
179
- signal: taskAbort.signal,
180
- });
181
- return {
182
- id: task.id,
183
- success: result.success,
184
- output: result.output,
185
- execId: result.execId,
186
- durationMs: result.durationMs,
187
- };
188
- }
189
- catch (err) {
190
- return {
191
- id: task.id,
192
- success: false,
193
- output: err instanceof Error ? err.message : String(err),
194
- execId: '',
195
- durationMs: Date.now() - startTime,
196
- };
197
- }
198
- finally {
199
- clearTimeout(timeout);
200
- globalSignal?.removeEventListener('abort', onGlobalAbort);
201
- }
202
- }
203
- // -------------------------------------------------------------------------
204
- // Execution via TerminalAdapter (tmux/wezterm pane)
205
- // -------------------------------------------------------------------------
206
- async executeViaTerminal(task, globalSignal) {
207
- const startTime = Date.now();
208
- const agentType = TOOL_TO_AGENT_TYPE[task.tool];
209
- if (!agentType) {
210
- return {
211
- id: task.id, success: false,
212
- output: `Unknown tool: ${task.tool}`, execId: '', durationMs: 0,
213
- };
214
- }
215
- const { TerminalAdapter } = await import('./terminal-adapter.js');
216
- const cmd = TOOL_TO_TERMINAL_CMD[task.tool] ?? task.tool;
217
- const adapter = new TerminalAdapter(this.terminalBackend, cmd);
218
- // Cast needed: graph-types AgentType includes 'claude', terminal-adapter's is narrower
219
- const proc = await adapter.spawn({
220
- type: agentType,
221
- prompt: task.prompt,
222
- workDir: task.workDir,
223
- approvalMode: task.mode === 'write' ? 'auto' : 'suggest',
224
- });
225
- return new Promise((resolve) => {
226
- let output = '';
227
- let settled = false;
228
- const settle = (success) => {
229
- if (settled)
230
- return;
231
- settled = true;
232
- clearTimeout(timeout);
233
- globalSignal?.removeEventListener('abort', onAbort);
234
- unsub();
235
- resolve({
236
- id: task.id, success, output,
237
- execId: proc.id, durationMs: Date.now() - startTime,
238
- });
239
- };
240
- const timeout = setTimeout(() => {
241
- adapter.stop(proc.id);
242
- settle(false);
243
- }, DEFAULT_TASK_TIMEOUT_MS);
244
- const onAbort = () => {
245
- adapter.stop(proc.id);
246
- settle(false);
247
- };
248
- globalSignal?.addEventListener('abort', onAbort, { once: true });
249
- const unsub = adapter.onEntry(proc.id, (entry) => {
250
- if (entry.type === 'assistant_message') {
251
- output += entry.content;
252
- }
253
- if (entry.type === 'status_change') {
254
- if (entry.status === 'stopped')
255
- settle(true);
256
- else if (entry.status === 'error')
257
- settle(false);
258
- }
259
- });
260
- });
261
- }
262
- // -------------------------------------------------------------------------
263
- // Join strategy evaluation
264
- // -------------------------------------------------------------------------
265
- evaluateJoin(results, totalTasks, strategy) {
266
- const successCount = results.filter((r) => r.success).length;
267
- switch (strategy) {
268
- case 'all':
269
- return successCount === totalTasks;
270
- case 'any':
271
- return successCount >= 1;
272
- case 'majority':
273
- return successCount > totalTasks / 2;
274
- }
275
- }
276
- }
277
- //# sourceMappingURL=parallel-cli-runner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parallel-cli-runner.js","sourceRoot":"","sources":["../../src/agents/parallel-cli-runner.ts"],"names":[],"mappings":"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"}
@@ -1,94 +0,0 @@
1
- import type { TerminalBackend } from './terminal-backend.js';
2
- type AgentType = 'claude-code' | 'codex' | 'gemini' | 'qwen' | 'opencode';
3
- type AgentProcessStatus = 'spawning' | 'running' | 'paused' | 'stopping' | 'stopped' | 'error';
4
- interface AgentConfig {
5
- type: AgentType;
6
- prompt: string;
7
- workDir: string;
8
- env?: Record<string, string>;
9
- model?: string;
10
- approvalMode?: 'suggest' | 'auto';
11
- }
12
- interface AgentProcess {
13
- id: string;
14
- type: AgentType;
15
- status: AgentProcessStatus;
16
- config: AgentConfig;
17
- startedAt: string;
18
- pid?: number;
19
- }
20
- interface NormalizedEntryBase {
21
- id: string;
22
- processId: string;
23
- timestamp: string;
24
- }
25
- type NormalizedEntry = (NormalizedEntryBase & {
26
- type: 'user_message';
27
- content: string;
28
- }) | (NormalizedEntryBase & {
29
- type: 'assistant_message';
30
- content: string;
31
- partial: boolean;
32
- }) | (NormalizedEntryBase & {
33
- type: 'thinking';
34
- content: string;
35
- }) | (NormalizedEntryBase & {
36
- type: 'tool_use';
37
- name: string;
38
- input: Record<string, unknown>;
39
- status: string;
40
- result?: string;
41
- }) | (NormalizedEntryBase & {
42
- type: 'file_change';
43
- path: string;
44
- action: string;
45
- diff?: string;
46
- }) | (NormalizedEntryBase & {
47
- type: 'command_exec';
48
- command: string;
49
- exitCode?: number;
50
- output?: string;
51
- }) | (NormalizedEntryBase & {
52
- type: 'approval_request';
53
- toolName: string;
54
- toolInput: Record<string, unknown>;
55
- requestId: string;
56
- }) | (NormalizedEntryBase & {
57
- type: 'approval_response';
58
- requestId: string;
59
- allowed: boolean;
60
- }) | (NormalizedEntryBase & {
61
- type: 'error';
62
- message: string;
63
- code?: string;
64
- }) | (NormalizedEntryBase & {
65
- type: 'status_change';
66
- status: AgentProcessStatus;
67
- reason?: string;
68
- }) | (NormalizedEntryBase & {
69
- type: 'token_usage';
70
- inputTokens: number;
71
- outputTokens: number;
72
- cacheReadTokens?: number;
73
- cacheWriteTokens?: number;
74
- });
75
- /** Minimal adapter interface matching BaseAgentAdapter's public surface */
76
- interface AdapterLike {
77
- spawn(config: AgentConfig): Promise<AgentProcess>;
78
- stop(processId: string): Promise<void>;
79
- onEntry(processId: string, cb: (entry: NormalizedEntry) => void): () => void;
80
- }
81
- export declare class TerminalAdapter implements AdapterLike {
82
- private readonly backend;
83
- private readonly toolCmd;
84
- private readonly panes;
85
- private readonly listeners;
86
- constructor(backend: TerminalBackend, toolCmd: string);
87
- spawn(config: AgentConfig): Promise<AgentProcess>;
88
- stop(processId: string): Promise<void>;
89
- onEntry(processId: string, cb: (entry: NormalizedEntry) => void): () => void;
90
- private pollOutput;
91
- private emit;
92
- }
93
- export {};
94
- //# sourceMappingURL=terminal-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-adapter.d.ts","sourceRoot":"","sources":["../../src/agents/terminal-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,132 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // Terminal Adapter — wraps TerminalBackend into AdapterLike interface
3
- // with 2s polling output collection and 120s stale timeout.
4
- // ---------------------------------------------------------------------------
5
- // ---------------------------------------------------------------------------
6
- // Constants
7
- // ---------------------------------------------------------------------------
8
- const POLL_INTERVAL_MS = 2000;
9
- const MAX_STALE_CYCLES = 60; // 60 * 2s = 120s stale timeout
10
- const STARTUP_DELAY_MS = 1000;
11
- function sleep(ms) {
12
- return new Promise(resolve => setTimeout(resolve, ms));
13
- }
14
- export class TerminalAdapter {
15
- backend;
16
- toolCmd;
17
- panes = new Map();
18
- listeners = new Map();
19
- constructor(backend, toolCmd) {
20
- this.backend = backend;
21
- this.toolCmd = toolCmd;
22
- }
23
- async spawn(config) {
24
- const processId = `term-${Date.now()}-${Math.random().toString(36).slice(2, 6)}`;
25
- // Create pane with the CLI tool running
26
- const paneId = await this.backend.createPane({
27
- cwd: config.workDir,
28
- cmd: this.toolCmd,
29
- });
30
- this.panes.set(processId, { paneId, polling: true });
31
- // Wait for tool to start, then inject prompt
32
- await sleep(STARTUP_DELAY_MS);
33
- await this.backend.sendText(paneId, config.prompt);
34
- // Start polling for output (fire-and-forget async loop)
35
- this.pollOutput(processId, paneId);
36
- return {
37
- id: processId,
38
- type: config.type,
39
- status: 'running',
40
- config,
41
- startedAt: new Date().toISOString(),
42
- };
43
- }
44
- async stop(processId) {
45
- const pane = this.panes.get(processId);
46
- if (!pane)
47
- return;
48
- pane.polling = false;
49
- await this.backend.killPane(pane.paneId);
50
- this.panes.delete(processId);
51
- this.emit(processId, {
52
- id: `${processId}-stop`,
53
- processId,
54
- timestamp: new Date().toISOString(),
55
- type: 'status_change',
56
- status: 'stopped',
57
- reason: 'manual stop',
58
- });
59
- }
60
- onEntry(processId, cb) {
61
- if (!this.listeners.has(processId)) {
62
- this.listeners.set(processId, new Set());
63
- }
64
- this.listeners.get(processId).add(cb);
65
- return () => {
66
- this.listeners.get(processId)?.delete(cb);
67
- };
68
- }
69
- // -------------------------------------------------------------------------
70
- // Polling loop — getText diff every 2s, 120s stale timeout
71
- // -------------------------------------------------------------------------
72
- async pollOutput(processId, paneId) {
73
- let lastContent = '';
74
- let staleCount = 0;
75
- while (this.panes.get(processId)?.polling) {
76
- await sleep(POLL_INTERVAL_MS);
77
- // Check if pane is still alive
78
- const alive = await this.backend.isAlive(paneId);
79
- if (!alive) {
80
- this.emit(processId, {
81
- id: `${processId}-done`,
82
- processId,
83
- timestamp: new Date().toISOString(),
84
- type: 'status_change',
85
- status: 'stopped',
86
- reason: 'pane exited',
87
- });
88
- this.panes.delete(processId);
89
- break;
90
- }
91
- // Capture pane content and diff against previous snapshot
92
- const content = await this.backend.getText(paneId, 100);
93
- if (content !== lastContent) {
94
- const newContent = content.slice(lastContent.length);
95
- if (newContent.trim()) {
96
- this.emit(processId, {
97
- id: `${processId}-${Date.now()}`,
98
- processId,
99
- timestamp: new Date().toISOString(),
100
- type: 'assistant_message',
101
- content: newContent,
102
- partial: true,
103
- });
104
- }
105
- lastContent = content;
106
- staleCount = 0;
107
- }
108
- else {
109
- staleCount++;
110
- if (staleCount >= MAX_STALE_CYCLES) {
111
- this.emit(processId, {
112
- id: `${processId}-timeout`,
113
- processId,
114
- timestamp: new Date().toISOString(),
115
- type: 'status_change',
116
- status: 'stopped',
117
- reason: 'output stale timeout (120s)',
118
- });
119
- this.panes.delete(processId);
120
- break;
121
- }
122
- }
123
- }
124
- }
125
- emit(processId, entry) {
126
- const cbs = this.listeners.get(processId);
127
- if (cbs) {
128
- cbs.forEach(cb => cb(entry));
129
- }
130
- }
131
- }
132
- //# sourceMappingURL=terminal-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-adapter.js","sourceRoot":"","sources":["../../src/agents/terminal-adapter.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- import { type ExecFileOptions } from 'node:child_process';
2
- /** Common child_process options with windowsHide:true for all calls. */
3
- export declare function subprocessOpts(cwd?: string): ExecFileOptions;
4
- export interface CreatePaneOptions {
5
- cwd: string;
6
- cmd?: string;
7
- direction?: 'right' | 'bottom';
8
- percent?: number;
9
- parentPaneId?: string;
10
- }
11
- export interface TerminalBackend {
12
- readonly type: 'tmux' | 'wezterm';
13
- createPane(options: CreatePaneOptions): Promise<string>;
14
- sendText(paneId: string, text: string): Promise<void>;
15
- isAlive(paneId: string): Promise<boolean>;
16
- getText(paneId: string, lines?: number): Promise<string>;
17
- killPane(paneId: string): Promise<void>;
18
- }
19
- export declare class TmuxBackend implements TerminalBackend {
20
- readonly type: "tmux";
21
- private enterDelay;
22
- constructor(options?: {
23
- enterDelayMs?: number;
24
- });
25
- createPane(options: CreatePaneOptions): Promise<string>;
26
- sendText(paneId: string, text: string): Promise<void>;
27
- isAlive(paneId: string): Promise<boolean>;
28
- getText(paneId: string, lines?: number): Promise<string>;
29
- killPane(paneId: string): Promise<void>;
30
- }
31
- export declare class WeztermBackend implements TerminalBackend {
32
- readonly type: "wezterm";
33
- private enterDelay;
34
- private weztermBin;
35
- constructor(options?: {
36
- enterDelayMs?: number;
37
- weztermBin?: string;
38
- });
39
- createPane(options: CreatePaneOptions): Promise<string>;
40
- sendText(paneId: string, text: string): Promise<void>;
41
- /**
42
- * 3-level Enter key fallback:
43
- * 1. wezterm cli send-key --key Enter (flag form)
44
- * 2. wezterm cli send-key Enter (positional form)
45
- * 3. CR byte via send-text --no-paste (final fallback)
46
- */
47
- private sendEnter;
48
- isAlive(paneId: string): Promise<boolean>;
49
- getText(paneId: string, lines?: number): Promise<string>;
50
- killPane(paneId: string): Promise<void>;
51
- }
52
- export declare function detectBackend(): TerminalBackend | null;
53
- //# sourceMappingURL=terminal-backend.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-backend.d.ts","sourceRoot":"","sources":["../../src/agents/terminal-backend.ts"],"names":[],"mappings":"AAIA,OAAO,EAAY,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAuBpE,wEAAwE;AACxE,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,eAAe,CAO5D;AAUD,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC;AAMD,qBAAa,WAAY,YAAW,eAAe;IACjD,QAAQ,CAAC,IAAI,EAAG,MAAM,CAAU;IAChC,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;IAKzC,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAmCvD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDrD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAQpD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAO9C;AAMD,qBAAa,cAAe,YAAW,eAAe;IACpD,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IACnC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;gBAEf,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAQ9D,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBvD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B3D;;;;;OAKG;YACW,SAAS;IA2BjB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBzC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IASpD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM9C;AAMD,wBAAgB,aAAa,IAAI,eAAe,GAAG,IAAI,CAQtD"}