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,248 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // Applier — filesystem orchestration for overlay apply/remove.
3
- //
4
- // Reads overlays from `overlayDir`, applies each enabled overlay to its
5
- // declared targets under `<targetBase>/.claude/commands/`, and writes an
6
- // overlay manifest to `~/.maestro/manifests/overlays-<scope>.json`.
7
- //
8
- // Idempotent: re-running with no overlay changes produces byte-identical
9
- // output. Safe to call from install flow or standalone.
10
- // ---------------------------------------------------------------------------
11
- import { existsSync, mkdirSync, readFileSync, writeFileSync, readdirSync, unlinkSync, copyFileSync, statSync, } from 'node:fs';
12
- import { join, dirname, resolve } from 'node:path';
13
- import { paths } from '../../config/paths.js';
14
- import { loadAllOverlays, loadOverlay } from './loader.js';
15
- import { applyOverlay, removeOverlay as stripMarkers } from './patcher.js';
16
- import { OVERLAY_MANIFEST_VERSION, } from './types.js';
17
- // ---------------------------------------------------------------------------
18
- // Manifest persistence
19
- // ---------------------------------------------------------------------------
20
- function overlayManifestDir() {
21
- return join(paths.home, 'manifests');
22
- }
23
- function overlayManifestPath(scope, targetBase) {
24
- const safe = scope === 'global'
25
- ? 'global'
26
- : `project-${targetBase.replace(/[:\\/]+/g, '_')}`;
27
- return join(overlayManifestDir(), `overlays-${safe}.json`);
28
- }
29
- export function loadOverlayManifest(scope, targetBase) {
30
- const fp = overlayManifestPath(scope, targetBase);
31
- if (!existsSync(fp))
32
- return null;
33
- try {
34
- return JSON.parse(readFileSync(fp, 'utf-8'));
35
- }
36
- catch {
37
- return null;
38
- }
39
- }
40
- function saveOverlayManifest(manifest) {
41
- const dir = overlayManifestDir();
42
- if (!existsSync(dir))
43
- mkdirSync(dir, { recursive: true });
44
- const fp = overlayManifestPath(manifest.scope, manifest.targetBase);
45
- writeFileSync(fp, JSON.stringify(manifest, null, 2), 'utf-8');
46
- return fp;
47
- }
48
- export function deleteOverlayManifest(scope, targetBase) {
49
- const fp = overlayManifestPath(scope, targetBase);
50
- if (existsSync(fp))
51
- unlinkSync(fp);
52
- }
53
- export function applyOverlays(opts) {
54
- const log = opts.logger ?? ((msg) => console.error(msg));
55
- const commandsDir = join(opts.targetBase, '.claude', 'commands');
56
- const { overlays, errors: loadErrors } = loadAllOverlays(opts.overlayDir);
57
- const enabledOverlays = overlays.filter((o) => o.meta.enabled !== false);
58
- const skipped = [];
59
- const appliedOverlays = [];
60
- let filesChanged = 0;
61
- let filesUnchanged = 0;
62
- // Group patches by target so each target file is read and written once
63
- // per applyOverlays invocation.
64
- const byTarget = new Map();
65
- for (const overlay of enabledOverlays) {
66
- for (const target of overlay.meta.targets) {
67
- const cmdPath = join(commandsDir, `${target}.md`);
68
- const disabledPath = cmdPath + '.disabled';
69
- if (!existsSync(cmdPath)) {
70
- if (existsSync(disabledPath)) {
71
- skipped.push({ overlay: overlay.meta.name, target, reason: 'disabled' });
72
- }
73
- else {
74
- skipped.push({ overlay: overlay.meta.name, target, reason: 'missing' });
75
- }
76
- continue;
77
- }
78
- const list = byTarget.get(cmdPath) ?? [];
79
- list.push({ overlay, cmdPath });
80
- byTarget.set(cmdPath, list);
81
- }
82
- }
83
- // Track applied targets per overlay for manifest
84
- const appliedByOverlay = new Map();
85
- for (const overlay of enabledOverlays) {
86
- appliedByOverlay.set(overlay.meta.name, {
87
- overlayName: overlay.meta.name,
88
- overlayHash: overlay.hash,
89
- targets: [],
90
- });
91
- }
92
- for (const [cmdPath, entries] of byTarget) {
93
- let text = readFileSync(cmdPath, 'utf-8');
94
- const originalText = text;
95
- const appliedHere = [];
96
- for (const { overlay } of entries) {
97
- const result = applyOverlay(text, overlay, cmdPath.split(/[\\/]/).pop()?.replace(/\.md$/, '') ?? '', cmdPath);
98
- text = result.text;
99
- if (result.applied.markerIds.length > 0) {
100
- appliedHere.push(result.applied);
101
- appliedByOverlay.get(overlay.meta.name).targets.push(result.applied);
102
- }
103
- }
104
- if (text !== originalText) {
105
- writeFileSync(cmdPath, text, 'utf-8');
106
- filesChanged++;
107
- }
108
- else {
109
- filesUnchanged++;
110
- }
111
- }
112
- for (const [, ao] of appliedByOverlay) {
113
- if (ao.targets.length > 0)
114
- appliedOverlays.push(ao);
115
- }
116
- const manifest = {
117
- version: OVERLAY_MANIFEST_VERSION,
118
- scope: opts.scope,
119
- targetBase: opts.targetBase,
120
- installedAt: new Date().toISOString(),
121
- appliedOverlays,
122
- };
123
- const manifestPath = saveOverlayManifest(manifest);
124
- if (loadErrors.length > 0) {
125
- log(` Overlay load errors: ${loadErrors.length}`);
126
- for (const { path, errors } of loadErrors) {
127
- log(` ${path}: ${errors.join('; ')}`);
128
- }
129
- }
130
- return {
131
- manifest,
132
- manifestPath,
133
- overlaysLoaded: overlays.length,
134
- overlaysApplied: appliedOverlays.length,
135
- filesChanged,
136
- filesUnchanged,
137
- loadErrors,
138
- skipped,
139
- };
140
- }
141
- /**
142
- * Remove all marker blocks for the given overlay name from every target
143
- * command file recorded in the overlay manifest. Updates the manifest.
144
- */
145
- export function removeOverlayFromTargets(overlayName, scope, targetBase) {
146
- const manifest = loadOverlayManifest(scope, targetBase);
147
- if (!manifest)
148
- return { targetsCleaned: 0, filesChanged: 0 };
149
- const entry = manifest.appliedOverlays.find((o) => o.overlayName === overlayName);
150
- if (!entry)
151
- return { targetsCleaned: 0, filesChanged: 0 };
152
- let filesChanged = 0;
153
- for (const tgt of entry.targets) {
154
- if (!existsSync(tgt.commandPath))
155
- continue;
156
- const text = readFileSync(tgt.commandPath, 'utf-8');
157
- const { text: cleaned } = stripMarkers(text, overlayName);
158
- if (cleaned !== text) {
159
- writeFileSync(tgt.commandPath, cleaned, 'utf-8');
160
- filesChanged++;
161
- }
162
- }
163
- // Update manifest
164
- manifest.appliedOverlays = manifest.appliedOverlays.filter((o) => o.overlayName !== overlayName);
165
- saveOverlayManifest(manifest);
166
- return { targetsCleaned: entry.targets.length, filesChanged };
167
- }
168
- export function ensureOverlayDir(overlayDir) {
169
- if (!existsSync(overlayDir))
170
- mkdirSync(overlayDir, { recursive: true });
171
- // Ensure docs subdir for overlay-referenced docs
172
- const docsDir = join(overlayDir, 'docs');
173
- if (!existsSync(docsDir))
174
- mkdirSync(docsDir, { recursive: true });
175
- }
176
- /**
177
- * Export an overlay by name from `overlayDir` to `outPath`.
178
- *
179
- * - If `outPath` is a directory, writes `<name>.json` inside it.
180
- * - If `outPath` is a file path, writes verbatim (overwriting if present).
181
- * - Throws if the overlay name is not found in `overlayDir`.
182
- */
183
- export function exportOverlayFile(overlayDir, name, outPath) {
184
- if (!existsSync(overlayDir)) {
185
- throw new Error(`Overlay directory not found: ${overlayDir}`);
186
- }
187
- // Scan overlayDir (top-level only) for an overlay whose parsed name matches.
188
- let source = null;
189
- for (const entry of readdirSync(overlayDir)) {
190
- if (!entry.endsWith('.json') || entry.startsWith('_'))
191
- continue;
192
- const fp = join(overlayDir, entry);
193
- try {
194
- const ov = loadOverlay(fp);
195
- if (ov.meta.name === name) {
196
- source = fp;
197
- break;
198
- }
199
- }
200
- catch {
201
- // Skip unparseable files
202
- }
203
- }
204
- if (!source) {
205
- throw new Error(`Overlay not found: ${name} (searched ${overlayDir})`);
206
- }
207
- let dest = resolve(outPath);
208
- if (existsSync(dest) && statSync(dest).isDirectory()) {
209
- dest = join(dest, `${name}.json`);
210
- }
211
- const destDir = dirname(dest);
212
- if (!existsSync(destDir))
213
- mkdirSync(destDir, { recursive: true });
214
- copyFileSync(source, dest);
215
- return { source, dest, overlayName: name };
216
- }
217
- /**
218
- * Import an overlay JSON file into `overlayDir`. Validates before copy and
219
- * throws if the file is not a valid overlay. Returns the destination path.
220
- *
221
- * Does not auto-apply — callers that want immediate effect should invoke
222
- * `applyOverlays` afterwards.
223
- */
224
- export function importOverlayFile(srcPath, overlayDir) {
225
- const source = resolve(srcPath);
226
- if (!existsSync(source)) {
227
- throw new Error(`File not found: ${source}`);
228
- }
229
- if (!statSync(source).isFile()) {
230
- throw new Error(`Not a file: ${source}`);
231
- }
232
- // Validate (throws OverlayLoadError on failure).
233
- const overlay = loadOverlay(source);
234
- ensureOverlayDir(overlayDir);
235
- // Use the overlay's declared name as filename for consistency on disk.
236
- const dest = join(overlayDir, `${overlay.meta.name}.json`);
237
- const overwritten = existsSync(dest) && resolve(dest) !== source;
238
- if (resolve(dest) !== source) {
239
- copyFileSync(source, dest);
240
- }
241
- return {
242
- source,
243
- dest,
244
- overlayName: overlay.meta.name,
245
- overwritten,
246
- };
247
- }
248
- //# sourceMappingURL=applier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"applier.js","sourceRoot":"","sources":["../../../src/core/overlay/applier.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import { type OverlayFile } from './types.js';
2
- export declare class OverlayLoadError extends Error {
3
- readonly filePath: string;
4
- readonly errors: string[];
5
- constructor(filePath: string, errors: string[]);
6
- }
7
- export declare function loadOverlay(filePath: string): OverlayFile;
8
- /** Returns a list of validation error strings. Empty = valid. */
9
- export declare function validateOverlayMeta(input: unknown): string[];
10
- export interface LoadAllResult {
11
- overlays: OverlayFile[];
12
- errors: {
13
- path: string;
14
- errors: string[];
15
- }[];
16
- }
17
- /**
18
- * Load all valid top-level overlay JSON files from `dir`.
19
- * Ignores subdirectories (docs/, _shipped/ etc), files starting with `_`,
20
- * and non-.json files. Returns both successful overlays and collected errors
21
- * so callers can report them without throwing.
22
- *
23
- * Sorted by (priority ?? 50) asc, then name asc.
24
- */
25
- export declare function loadAllOverlays(dir: string): LoadAllResult;
26
- //# sourceMappingURL=loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../src/core/overlay/loader.ts"],"names":[],"mappings":"AAyBA,OAAO,EAEL,KAAK,WAAW,EAIjB,MAAM,YAAY,CAAC;AAKpB,qBAAa,gBAAiB,SAAQ,KAAK;aAEvB,QAAQ,EAAE,MAAM;aAChB,MAAM,EAAE,MAAM,EAAE;gBADhB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE;CAKnC;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAwBzD;AAED,iEAAiE;AACjE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAwD5D;AAiCD,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;CAC9C;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAwC1D"}
@@ -1,199 +0,0 @@
1
- // ---------------------------------------------------------------------------
2
- // Loader — reads overlay files from disk and validates them.
3
- //
4
- // Overlay file format: JSON at `~/.maestro/overlays/<name>.json`
5
- //
6
- // Example:
7
- // {
8
- // "name": "cli-verify-after-execute",
9
- // "description": "Add CLI verification after execute",
10
- // "targets": ["maestro-execute", "maestro-plan"],
11
- // "priority": 50,
12
- // "enabled": true,
13
- // "patches": [
14
- // {
15
- // "section": "execution",
16
- // "mode": "append",
17
- // "content": "## CLI Verification\nRun `ccw cli ...`"
18
- // }
19
- // ]
20
- // }
21
- // ---------------------------------------------------------------------------
22
- import { readdirSync, readFileSync, existsSync } from 'node:fs';
23
- import { join } from 'node:path';
24
- import { createHash } from 'node:crypto';
25
- import { KNOWN_SECTIONS, } from './types.js';
26
- const VALID_MODES = ['append', 'prepend', 'replace', 'new-section'];
27
- const NAME_RE = /^[a-z0-9][a-z0-9-_]*$/;
28
- export class OverlayLoadError extends Error {
29
- filePath;
30
- errors;
31
- constructor(filePath, errors) {
32
- super(`Overlay load error in ${filePath}:\n - ${errors.join('\n - ')}`);
33
- this.filePath = filePath;
34
- this.errors = errors;
35
- this.name = 'OverlayLoadError';
36
- }
37
- }
38
- export function loadOverlay(filePath) {
39
- const raw = readFileSync(filePath, 'utf-8');
40
- let parsed;
41
- try {
42
- parsed = JSON.parse(raw);
43
- }
44
- catch (err) {
45
- const msg = err instanceof Error ? err.message : String(err);
46
- throw new OverlayLoadError(filePath, [`invalid JSON: ${msg}`]);
47
- }
48
- const errors = validateOverlayMeta(parsed);
49
- if (errors.length > 0) {
50
- throw new OverlayLoadError(filePath, errors);
51
- }
52
- const meta = parsed;
53
- const hash = createHash('sha256').update(raw).digest('hex').slice(0, 8);
54
- return {
55
- meta,
56
- sourcePath: filePath,
57
- raw,
58
- hash,
59
- };
60
- }
61
- /** Returns a list of validation error strings. Empty = valid. */
62
- export function validateOverlayMeta(input) {
63
- const errors = [];
64
- if (!input || typeof input !== 'object') {
65
- return ['overlay must be a JSON object'];
66
- }
67
- const obj = input;
68
- if (typeof obj.name !== 'string' || !NAME_RE.test(obj.name)) {
69
- errors.push('`name` must match /^[a-z0-9][a-z0-9-_]*$/');
70
- }
71
- if (obj.description !== undefined && typeof obj.description !== 'string') {
72
- errors.push('`description` must be a string');
73
- }
74
- if (!Array.isArray(obj.targets) || obj.targets.length === 0) {
75
- errors.push('`targets` must be a non-empty string array');
76
- }
77
- else {
78
- for (const t of obj.targets) {
79
- if (typeof t !== 'string' || !t.trim()) {
80
- errors.push(`invalid target entry: ${JSON.stringify(t)}`);
81
- }
82
- }
83
- }
84
- if (obj.priority !== undefined && typeof obj.priority !== 'number') {
85
- errors.push('`priority` must be a number');
86
- }
87
- if (obj.enabled !== undefined && typeof obj.enabled !== 'boolean') {
88
- errors.push('`enabled` must be a boolean');
89
- }
90
- if (obj.scope !== undefined &&
91
- obj.scope !== 'global' &&
92
- obj.scope !== 'project' &&
93
- obj.scope !== 'any') {
94
- errors.push('`scope` must be one of: global | project | any');
95
- }
96
- if (obj.docs !== undefined) {
97
- if (!Array.isArray(obj.docs)) {
98
- errors.push('`docs` must be a string array');
99
- }
100
- else {
101
- for (const d of obj.docs) {
102
- if (typeof d !== 'string') {
103
- errors.push(`invalid docs entry: ${JSON.stringify(d)}`);
104
- }
105
- }
106
- }
107
- }
108
- if (!Array.isArray(obj.patches) || obj.patches.length === 0) {
109
- errors.push('`patches` must be a non-empty array');
110
- }
111
- else {
112
- obj.patches.forEach((p, idx) => {
113
- errors.push(...validatePatch(p, idx));
114
- });
115
- }
116
- return errors;
117
- }
118
- function validatePatch(input, idx) {
119
- const errs = [];
120
- const prefix = `patches[${idx}]`;
121
- if (!input || typeof input !== 'object') {
122
- return [`${prefix}: must be an object`];
123
- }
124
- const p = input;
125
- if (typeof p.section !== 'string' || !p.section.trim()) {
126
- errs.push(`${prefix}.section must be a non-empty string`);
127
- }
128
- if (typeof p.mode !== 'string' || !VALID_MODES.includes(p.mode)) {
129
- errs.push(`${prefix}.mode must be one of: ${VALID_MODES.join(' | ')}`);
130
- }
131
- if (typeof p.content !== 'string') {
132
- errs.push(`${prefix}.content must be a string`);
133
- }
134
- if (p.mode === 'new-section') {
135
- if (p.afterSection !== undefined && typeof p.afterSection !== 'string') {
136
- errs.push(`${prefix}.afterSection must be a string if provided`);
137
- }
138
- }
139
- else if (typeof p.section === 'string') {
140
- // For existing-section modes, the section should be a known tag.
141
- if (!KNOWN_SECTIONS.includes(p.section)) {
142
- errs.push(`${prefix}.section "${p.section}" is not a known section (${KNOWN_SECTIONS.join(', ')})`);
143
- }
144
- }
145
- return errs;
146
- }
147
- /**
148
- * Load all valid top-level overlay JSON files from `dir`.
149
- * Ignores subdirectories (docs/, _shipped/ etc), files starting with `_`,
150
- * and non-.json files. Returns both successful overlays and collected errors
151
- * so callers can report them without throwing.
152
- *
153
- * Sorted by (priority ?? 50) asc, then name asc.
154
- */
155
- export function loadAllOverlays(dir) {
156
- const result = { overlays: [], errors: [] };
157
- if (!existsSync(dir))
158
- return result;
159
- const seenNames = new Set();
160
- for (const entry of readdirSync(dir, { withFileTypes: true })) {
161
- if (!entry.isFile())
162
- continue;
163
- if (!entry.name.endsWith('.json'))
164
- continue;
165
- if (entry.name.startsWith('_'))
166
- continue;
167
- const fp = join(dir, entry.name);
168
- try {
169
- const overlay = loadOverlay(fp);
170
- if (seenNames.has(overlay.meta.name)) {
171
- result.errors.push({
172
- path: fp,
173
- errors: [`duplicate overlay name: ${overlay.meta.name}`],
174
- });
175
- continue;
176
- }
177
- seenNames.add(overlay.meta.name);
178
- result.overlays.push(overlay);
179
- }
180
- catch (err) {
181
- if (err instanceof OverlayLoadError) {
182
- result.errors.push({ path: err.filePath, errors: err.errors });
183
- }
184
- else {
185
- const msg = err instanceof Error ? err.message : String(err);
186
- result.errors.push({ path: fp, errors: [msg] });
187
- }
188
- }
189
- }
190
- result.overlays.sort((a, b) => {
191
- const pa = a.meta.priority ?? 50;
192
- const pb = b.meta.priority ?? 50;
193
- if (pa !== pb)
194
- return pa - pb;
195
- return a.meta.name.localeCompare(b.meta.name);
196
- });
197
- return result;
198
- }
199
- //# sourceMappingURL=loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../src/core/overlay/loader.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import type { AppliedTarget, OverlayFile } from './types.js';
2
- export declare function shortHash(input: string): string;
3
- export interface ApplyResult {
4
- text: string;
5
- applied: AppliedTarget;
6
- /** True if the output is byte-identical to the input. */
7
- unchanged: boolean;
8
- }
9
- /**
10
- * Apply all of an overlay's patches to the target file content.
11
- *
12
- * The file is reparsed after each marker edit so subsequent patches see
13
- * the updated line indices.
14
- */
15
- export declare function applyOverlay(text: string, overlay: OverlayFile, commandName: string, commandPath: string): ApplyResult;
16
- /**
17
- * Remove every marker block for a given overlay name from the text.
18
- * Returns the cleaned text and the patch indices that were removed.
19
- */
20
- export declare function removeOverlay(text: string, overlayName: string): {
21
- text: string;
22
- removed: number[];
23
- };
24
- /** Detect whether `text` already contains markers for this overlay name. */
25
- export declare function hasMarkers(text: string, overlayName: string): boolean;
26
- //# sourceMappingURL=patcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"patcher.d.ts","sourceRoot":"","sources":["../../../src/core/overlay/patcher.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EACV,aAAa,EACb,WAAW,EAEZ,MAAM,YAAY,CAAC;AAEpB,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C;AA4GD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,WAAW,EACpB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,WAAW,CAqCb;AA8ED;;;GAGG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAcrC;AAED,4EAA4E;AAC5E,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAKrE"}