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,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"}