@tacuchi/agent-workflow-cli 4.0.0

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 (423) hide show
  1. package/README.md +70 -0
  2. package/dist/adapters/git-cli.d.ts +13 -0
  3. package/dist/adapters/git-cli.d.ts.map +1 -0
  4. package/dist/adapters/git-cli.js +73 -0
  5. package/dist/adapters/git-cli.js.map +1 -0
  6. package/dist/adapters/node-env.d.ts +7 -0
  7. package/dist/adapters/node-env.d.ts.map +1 -0
  8. package/dist/adapters/node-env.js +13 -0
  9. package/dist/adapters/node-env.js.map +1 -0
  10. package/dist/adapters/node-file-system.d.ts +10 -0
  11. package/dist/adapters/node-file-system.d.ts.map +1 -0
  12. package/dist/adapters/node-file-system.js +35 -0
  13. package/dist/adapters/node-file-system.js.map +1 -0
  14. package/dist/adapters/node-process.d.ts +6 -0
  15. package/dist/adapters/node-process.d.ts.map +1 -0
  16. package/dist/adapters/node-process.js +53 -0
  17. package/dist/adapters/node-process.js.map +1 -0
  18. package/dist/application/artifacts-service.d.ts +58 -0
  19. package/dist/application/artifacts-service.d.ts.map +1 -0
  20. package/dist/application/artifacts-service.js +129 -0
  21. package/dist/application/artifacts-service.js.map +1 -0
  22. package/dist/application/auto-plan.d.ts +19 -0
  23. package/dist/application/auto-plan.d.ts.map +1 -0
  24. package/dist/application/auto-plan.js +190 -0
  25. package/dist/application/auto-plan.js.map +1 -0
  26. package/dist/application/check-branch-service.d.ts +31 -0
  27. package/dist/application/check-branch-service.d.ts.map +1 -0
  28. package/dist/application/check-branch-service.js +140 -0
  29. package/dist/application/check-branch-service.js.map +1 -0
  30. package/dist/application/checkpoint-service.d.ts +77 -0
  31. package/dist/application/checkpoint-service.d.ts.map +1 -0
  32. package/dist/application/checkpoint-service.js +259 -0
  33. package/dist/application/checkpoint-service.js.map +1 -0
  34. package/dist/application/checkpoint-write-service.d.ts +42 -0
  35. package/dist/application/checkpoint-write-service.d.ts.map +1 -0
  36. package/dist/application/checkpoint-write-service.js +354 -0
  37. package/dist/application/checkpoint-write-service.js.map +1 -0
  38. package/dist/application/code-scan-service.d.ts +44 -0
  39. package/dist/application/code-scan-service.d.ts.map +1 -0
  40. package/dist/application/code-scan-service.js +211 -0
  41. package/dist/application/code-scan-service.js.map +1 -0
  42. package/dist/application/decisiones-service.d.ts +22 -0
  43. package/dist/application/decisiones-service.d.ts.map +1 -0
  44. package/dist/application/decisiones-service.js +31 -0
  45. package/dist/application/decisiones-service.js.map +1 -0
  46. package/dist/application/dependencias-service.d.ts +21 -0
  47. package/dist/application/dependencias-service.d.ts.map +1 -0
  48. package/dist/application/dependencias-service.js +31 -0
  49. package/dist/application/dependencias-service.js.map +1 -0
  50. package/dist/application/dev-bootstrap-dsn-service.d.ts +16 -0
  51. package/dist/application/dev-bootstrap-dsn-service.d.ts.map +1 -0
  52. package/dist/application/dev-bootstrap-dsn-service.js +31 -0
  53. package/dist/application/dev-bootstrap-dsn-service.js.map +1 -0
  54. package/dist/application/dev-graduate-service.d.ts +33 -0
  55. package/dist/application/dev-graduate-service.d.ts.map +1 -0
  56. package/dist/application/dev-graduate-service.js +116 -0
  57. package/dist/application/dev-graduate-service.js.map +1 -0
  58. package/dist/application/dev-only-services.d.ts +50 -0
  59. package/dist/application/dev-only-services.d.ts.map +1 -0
  60. package/dist/application/dev-only-services.js +155 -0
  61. package/dist/application/dev-only-services.js.map +1 -0
  62. package/dist/application/handoff.d.ts +19 -0
  63. package/dist/application/handoff.d.ts.map +1 -0
  64. package/dist/application/handoff.js +98 -0
  65. package/dist/application/handoff.js.map +1 -0
  66. package/dist/application/history-data-service.d.ts +26 -0
  67. package/dist/application/history-data-service.d.ts.map +1 -0
  68. package/dist/application/history-data-service.js +61 -0
  69. package/dist/application/history-data-service.js.map +1 -0
  70. package/dist/application/history-table.d.ts +16 -0
  71. package/dist/application/history-table.d.ts.map +1 -0
  72. package/dist/application/history-table.js +49 -0
  73. package/dist/application/history-table.js.map +1 -0
  74. package/dist/application/history-update-service.d.ts +24 -0
  75. package/dist/application/history-update-service.d.ts.map +1 -0
  76. package/dist/application/history-update-service.js +47 -0
  77. package/dist/application/history-update-service.js.map +1 -0
  78. package/dist/application/hook-branch-check.d.ts +22 -0
  79. package/dist/application/hook-branch-check.d.ts.map +1 -0
  80. package/dist/application/hook-branch-check.js +152 -0
  81. package/dist/application/hook-branch-check.js.map +1 -0
  82. package/dist/application/hook-sql-mutation-guard.d.ts +13 -0
  83. package/dist/application/hook-sql-mutation-guard.d.ts.map +1 -0
  84. package/dist/application/hook-sql-mutation-guard.js +119 -0
  85. package/dist/application/hook-sql-mutation-guard.js.map +1 -0
  86. package/dist/application/markdown.d.ts +4 -0
  87. package/dist/application/markdown.d.ts.map +1 -0
  88. package/dist/application/markdown.js +53 -0
  89. package/dist/application/markdown.js.map +1 -0
  90. package/dist/application/mcp-dbhub-launcher.d.ts +31 -0
  91. package/dist/application/mcp-dbhub-launcher.d.ts.map +1 -0
  92. package/dist/application/mcp-dbhub-launcher.js +84 -0
  93. package/dist/application/mcp-dbhub-launcher.js.map +1 -0
  94. package/dist/application/multiroot-service.d.ts +83 -0
  95. package/dist/application/multiroot-service.d.ts.map +1 -0
  96. package/dist/application/multiroot-service.js +440 -0
  97. package/dist/application/multiroot-service.js.map +1 -0
  98. package/dist/application/objetivo-service.d.ts +23 -0
  99. package/dist/application/objetivo-service.d.ts.map +1 -0
  100. package/dist/application/objetivo-service.js +32 -0
  101. package/dist/application/objetivo-service.js.map +1 -0
  102. package/dist/application/orchestration.d.ts +29 -0
  103. package/dist/application/orchestration.d.ts.map +1 -0
  104. package/dist/application/orchestration.js +291 -0
  105. package/dist/application/orchestration.js.map +1 -0
  106. package/dist/application/parsers/decisiones.d.ts +9 -0
  107. package/dist/application/parsers/decisiones.d.ts.map +1 -0
  108. package/dist/application/parsers/decisiones.js +55 -0
  109. package/dist/application/parsers/decisiones.js.map +1 -0
  110. package/dist/application/parsers/dependencias.d.ts +7 -0
  111. package/dist/application/parsers/dependencias.d.ts.map +1 -0
  112. package/dist/application/parsers/dependencias.js +76 -0
  113. package/dist/application/parsers/dependencias.js.map +1 -0
  114. package/dist/application/parsers/objetivo.d.ts +11 -0
  115. package/dist/application/parsers/objetivo.d.ts.map +1 -0
  116. package/dist/application/parsers/objetivo.js +73 -0
  117. package/dist/application/parsers/objetivo.js.map +1 -0
  118. package/dist/application/parsers/project-block.d.ts +35 -0
  119. package/dist/application/parsers/project-block.d.ts.map +1 -0
  120. package/dist/application/parsers/project-block.js +188 -0
  121. package/dist/application/parsers/project-block.js.map +1 -0
  122. package/dist/application/parsers/tasks.d.ts +17 -0
  123. package/dist/application/parsers/tasks.d.ts.map +1 -0
  124. package/dist/application/parsers/tasks.js +40 -0
  125. package/dist/application/parsers/tasks.js.map +1 -0
  126. package/dist/application/paths-service.d.ts +28 -0
  127. package/dist/application/paths-service.d.ts.map +1 -0
  128. package/dist/application/paths-service.js +67 -0
  129. package/dist/application/paths-service.js.map +1 -0
  130. package/dist/application/paths.d.ts +2 -0
  131. package/dist/application/paths.d.ts.map +1 -0
  132. package/dist/application/paths.js +12 -0
  133. package/dist/application/paths.js.map +1 -0
  134. package/dist/application/phase-detect-service.d.ts +28 -0
  135. package/dist/application/phase-detect-service.d.ts.map +1 -0
  136. package/dist/application/phase-detect-service.js +141 -0
  137. package/dist/application/phase-detect-service.js.map +1 -0
  138. package/dist/application/phase-next-service.d.ts +20 -0
  139. package/dist/application/phase-next-service.d.ts.map +1 -0
  140. package/dist/application/phase-next-service.js +97 -0
  141. package/dist/application/phase-next-service.js.map +1 -0
  142. package/dist/application/plugin-doctor-service.d.ts +60 -0
  143. package/dist/application/plugin-doctor-service.d.ts.map +1 -0
  144. package/dist/application/plugin-doctor-service.js +651 -0
  145. package/dist/application/plugin-doctor-service.js.map +1 -0
  146. package/dist/application/project-md-service.d.ts +13 -0
  147. package/dist/application/project-md-service.d.ts.map +1 -0
  148. package/dist/application/project-md-service.js +27 -0
  149. package/dist/application/project-md-service.js.map +1 -0
  150. package/dist/application/project-md-upsert-service.d.ts +48 -0
  151. package/dist/application/project-md-upsert-service.d.ts.map +1 -0
  152. package/dist/application/project-md-upsert-service.js +182 -0
  153. package/dist/application/project-md-upsert-service.js.map +1 -0
  154. package/dist/application/release-data-service.d.ts +81 -0
  155. package/dist/application/release-data-service.d.ts.map +1 -0
  156. package/dist/application/release-data-service.js +305 -0
  157. package/dist/application/release-data-service.js.map +1 -0
  158. package/dist/application/render/history-row.d.ts +10 -0
  159. package/dist/application/render/history-row.d.ts.map +1 -0
  160. package/dist/application/render/history-row.js +47 -0
  161. package/dist/application/render/history-row.js.map +1 -0
  162. package/dist/application/render/project-block.d.ts +17 -0
  163. package/dist/application/render/project-block.d.ts.map +1 -0
  164. package/dist/application/render/project-block.js +129 -0
  165. package/dist/application/render/project-block.js.map +1 -0
  166. package/dist/application/self/doctor-self.d.ts +27 -0
  167. package/dist/application/self/doctor-self.d.ts.map +1 -0
  168. package/dist/application/self/doctor-self.js +44 -0
  169. package/dist/application/self/doctor-self.js.map +1 -0
  170. package/dist/application/self/install-skill.d.ts +25 -0
  171. package/dist/application/self/install-skill.d.ts.map +1 -0
  172. package/dist/application/self/install-skill.js +176 -0
  173. package/dist/application/self/install-skill.js.map +1 -0
  174. package/dist/application/self/namespace-info.d.ts +8 -0
  175. package/dist/application/self/namespace-info.d.ts.map +1 -0
  176. package/dist/application/self/namespace-info.js +11 -0
  177. package/dist/application/self/namespace-info.js.map +1 -0
  178. package/dist/application/self/update-self.d.ts +10 -0
  179. package/dist/application/self/update-self.d.ts.map +1 -0
  180. package/dist/application/self/update-self.js +31 -0
  181. package/dist/application/self/update-self.js.map +1 -0
  182. package/dist/application/session-close-service.d.ts +30 -0
  183. package/dist/application/session-close-service.d.ts.map +1 -0
  184. package/dist/application/session-close-service.js +64 -0
  185. package/dist/application/session-close-service.js.map +1 -0
  186. package/dist/application/session-create-service.d.ts +40 -0
  187. package/dist/application/session-create-service.d.ts.map +1 -0
  188. package/dist/application/session-create-service.js +197 -0
  189. package/dist/application/session-create-service.js.map +1 -0
  190. package/dist/application/session-resolver.d.ts +39 -0
  191. package/dist/application/session-resolver.d.ts.map +1 -0
  192. package/dist/application/session-resolver.js +192 -0
  193. package/dist/application/session-resolver.js.map +1 -0
  194. package/dist/application/session-resume-service.d.ts +23 -0
  195. package/dist/application/session-resume-service.d.ts.map +1 -0
  196. package/dist/application/session-resume-service.js +44 -0
  197. package/dist/application/session-resume-service.js.map +1 -0
  198. package/dist/application/sessions-service.d.ts +31 -0
  199. package/dist/application/sessions-service.d.ts.map +1 -0
  200. package/dist/application/sessions-service.js +74 -0
  201. package/dist/application/sessions-service.js.map +1 -0
  202. package/dist/application/skill-index-service.d.ts +27 -0
  203. package/dist/application/skill-index-service.d.ts.map +1 -0
  204. package/dist/application/skill-index-service.js +99 -0
  205. package/dist/application/skill-index-service.js.map +1 -0
  206. package/dist/application/sources-service.d.ts +43 -0
  207. package/dist/application/sources-service.d.ts.map +1 -0
  208. package/dist/application/sources-service.js +176 -0
  209. package/dist/application/sources-service.js.map +1 -0
  210. package/dist/application/stack-detect.d.ts +7 -0
  211. package/dist/application/stack-detect.d.ts.map +1 -0
  212. package/dist/application/stack-detect.js +52 -0
  213. package/dist/application/stack-detect.js.map +1 -0
  214. package/dist/application/stack-service.d.ts +14 -0
  215. package/dist/application/stack-service.d.ts.map +1 -0
  216. package/dist/application/stack-service.js +13 -0
  217. package/dist/application/stack-service.js.map +1 -0
  218. package/dist/application/tasks-service.d.ts +27 -0
  219. package/dist/application/tasks-service.d.ts.map +1 -0
  220. package/dist/application/tasks-service.js +45 -0
  221. package/dist/application/tasks-service.js.map +1 -0
  222. package/dist/application/templates/objetivo.d.ts +3 -0
  223. package/dist/application/templates/objetivo.d.ts.map +1 -0
  224. package/dist/application/templates/objetivo.js +77 -0
  225. package/dist/application/templates/objetivo.js.map +1 -0
  226. package/dist/application/upgrade-hub-mode-service.d.ts +27 -0
  227. package/dist/application/upgrade-hub-mode-service.d.ts.map +1 -0
  228. package/dist/application/upgrade-hub-mode-service.js +114 -0
  229. package/dist/application/upgrade-hub-mode-service.js.map +1 -0
  230. package/dist/application/workspace-mode-service.d.ts +17 -0
  231. package/dist/application/workspace-mode-service.d.ts.map +1 -0
  232. package/dist/application/workspace-mode-service.js +39 -0
  233. package/dist/application/workspace-mode-service.js.map +1 -0
  234. package/dist/cli/commands/checkpoint-write.d.ts +4 -0
  235. package/dist/cli/commands/checkpoint-write.d.ts.map +1 -0
  236. package/dist/cli/commands/checkpoint-write.js +25 -0
  237. package/dist/cli/commands/checkpoint-write.js.map +1 -0
  238. package/dist/cli/commands/decisiones-list.d.ts +3 -0
  239. package/dist/cli/commands/decisiones-list.d.ts.map +1 -0
  240. package/dist/cli/commands/decisiones-list.js +17 -0
  241. package/dist/cli/commands/decisiones-list.js.map +1 -0
  242. package/dist/cli/commands/dependencias-list.d.ts +3 -0
  243. package/dist/cli/commands/dependencias-list.d.ts.map +1 -0
  244. package/dist/cli/commands/dependencias-list.js +11 -0
  245. package/dist/cli/commands/dependencias-list.js.map +1 -0
  246. package/dist/cli/commands/dev-only.d.ts +6 -0
  247. package/dist/cli/commands/dev-only.d.ts.map +1 -0
  248. package/dist/cli/commands/dev-only.js +51 -0
  249. package/dist/cli/commands/dev-only.js.map +1 -0
  250. package/dist/cli/commands/history-data.d.ts +3 -0
  251. package/dist/cli/commands/history-data.d.ts.map +1 -0
  252. package/dist/cli/commands/history-data.js +17 -0
  253. package/dist/cli/commands/history-data.js.map +1 -0
  254. package/dist/cli/commands/history-update.d.ts +3 -0
  255. package/dist/cli/commands/history-update.d.ts.map +1 -0
  256. package/dist/cli/commands/history-update.js +37 -0
  257. package/dist/cli/commands/history-update.js.map +1 -0
  258. package/dist/cli/commands/hook.d.ts +3 -0
  259. package/dist/cli/commands/hook.d.ts.map +1 -0
  260. package/dist/cli/commands/hook.js +53 -0
  261. package/dist/cli/commands/hook.js.map +1 -0
  262. package/dist/cli/commands/mcp.d.ts +3 -0
  263. package/dist/cli/commands/mcp.d.ts.map +1 -0
  264. package/dist/cli/commands/mcp.js +56 -0
  265. package/dist/cli/commands/mcp.js.map +1 -0
  266. package/dist/cli/commands/multiroot.d.ts +4 -0
  267. package/dist/cli/commands/multiroot.d.ts.map +1 -0
  268. package/dist/cli/commands/multiroot.js +50 -0
  269. package/dist/cli/commands/multiroot.js.map +1 -0
  270. package/dist/cli/commands/objetivo-data.d.ts +3 -0
  271. package/dist/cli/commands/objetivo-data.d.ts.map +1 -0
  272. package/dist/cli/commands/objetivo-data.js +11 -0
  273. package/dist/cli/commands/objetivo-data.js.map +1 -0
  274. package/dist/cli/commands/orchestration.d.ts +5 -0
  275. package/dist/cli/commands/orchestration.d.ts.map +1 -0
  276. package/dist/cli/commands/orchestration.js +84 -0
  277. package/dist/cli/commands/orchestration.js.map +1 -0
  278. package/dist/cli/commands/plugin-doctor.d.ts +3 -0
  279. package/dist/cli/commands/plugin-doctor.d.ts.map +1 -0
  280. package/dist/cli/commands/plugin-doctor.js +29 -0
  281. package/dist/cli/commands/plugin-doctor.js.map +1 -0
  282. package/dist/cli/commands/project-md-upsert.d.ts +3 -0
  283. package/dist/cli/commands/project-md-upsert.d.ts.map +1 -0
  284. package/dist/cli/commands/project-md-upsert.js +132 -0
  285. package/dist/cli/commands/project-md-upsert.js.map +1 -0
  286. package/dist/cli/commands/release-data.d.ts +3 -0
  287. package/dist/cli/commands/release-data.d.ts.map +1 -0
  288. package/dist/cli/commands/release-data.js +27 -0
  289. package/dist/cli/commands/release-data.js.map +1 -0
  290. package/dist/cli/commands/self.d.ts +3 -0
  291. package/dist/cli/commands/self.d.ts.map +1 -0
  292. package/dist/cli/commands/self.js +41 -0
  293. package/dist/cli/commands/self.js.map +1 -0
  294. package/dist/cli/commands/session-artifacts.d.ts +3 -0
  295. package/dist/cli/commands/session-artifacts.d.ts.map +1 -0
  296. package/dist/cli/commands/session-artifacts.js +17 -0
  297. package/dist/cli/commands/session-artifacts.js.map +1 -0
  298. package/dist/cli/commands/session-close.d.ts +3 -0
  299. package/dist/cli/commands/session-close.d.ts.map +1 -0
  300. package/dist/cli/commands/session-close.js +43 -0
  301. package/dist/cli/commands/session-close.js.map +1 -0
  302. package/dist/cli/commands/session-create.d.ts +3 -0
  303. package/dist/cli/commands/session-create.d.ts.map +1 -0
  304. package/dist/cli/commands/session-create.js +42 -0
  305. package/dist/cli/commands/session-create.js.map +1 -0
  306. package/dist/cli/commands/session-resume.d.ts +3 -0
  307. package/dist/cli/commands/session-resume.d.ts.map +1 -0
  308. package/dist/cli/commands/session-resume.js +11 -0
  309. package/dist/cli/commands/session-resume.js.map +1 -0
  310. package/dist/cli/commands/sessions.d.ts +4 -0
  311. package/dist/cli/commands/sessions.d.ts.map +1 -0
  312. package/dist/cli/commands/sessions.js +26 -0
  313. package/dist/cli/commands/sessions.js.map +1 -0
  314. package/dist/cli/commands/tasks-data.d.ts +3 -0
  315. package/dist/cli/commands/tasks-data.d.ts.map +1 -0
  316. package/dist/cli/commands/tasks-data.js +20 -0
  317. package/dist/cli/commands/tasks-data.js.map +1 -0
  318. package/dist/cli/commands/wave2-extras.d.ts +7 -0
  319. package/dist/cli/commands/wave2-extras.d.ts.map +1 -0
  320. package/dist/cli/commands/wave2-extras.js +87 -0
  321. package/dist/cli/commands/wave2-extras.js.map +1 -0
  322. package/dist/cli/commands/wave2-final.d.ts +8 -0
  323. package/dist/cli/commands/wave2-final.d.ts.map +1 -0
  324. package/dist/cli/commands/wave2-final.js +134 -0
  325. package/dist/cli/commands/wave2-final.js.map +1 -0
  326. package/dist/cli/commands/wave4d-simple.d.ts +6 -0
  327. package/dist/cli/commands/wave4d-simple.d.ts.map +1 -0
  328. package/dist/cli/commands/wave4d-simple.js +133 -0
  329. package/dist/cli/commands/wave4d-simple.js.map +1 -0
  330. package/dist/cli/interactive-menu.d.ts +9 -0
  331. package/dist/cli/interactive-menu.d.ts.map +1 -0
  332. package/dist/cli/interactive-menu.js +17 -0
  333. package/dist/cli/interactive-menu.js.map +1 -0
  334. package/dist/cli/main.d.ts +3 -0
  335. package/dist/cli/main.d.ts.map +1 -0
  336. package/dist/cli/main.js +208 -0
  337. package/dist/cli/main.js.map +1 -0
  338. package/dist/cli/parser.d.ts +17 -0
  339. package/dist/cli/parser.d.ts.map +1 -0
  340. package/dist/cli/parser.js +125 -0
  341. package/dist/cli/parser.js.map +1 -0
  342. package/dist/cli/registry.d.ts +15 -0
  343. package/dist/cli/registry.d.ts.map +1 -0
  344. package/dist/cli/registry.js +16 -0
  345. package/dist/cli/registry.js.map +1 -0
  346. package/dist/cli/render.d.ts +6 -0
  347. package/dist/cli/render.d.ts.map +1 -0
  348. package/dist/cli/render.js +13 -0
  349. package/dist/cli/render.js.map +1 -0
  350. package/dist/cli/types.d.ts +17 -0
  351. package/dist/cli/types.d.ts.map +1 -0
  352. package/dist/cli/types.js +2 -0
  353. package/dist/cli/types.js.map +1 -0
  354. package/dist/domain/plugin.d.ts +21 -0
  355. package/dist/domain/plugin.d.ts.map +1 -0
  356. package/dist/domain/plugin.js +2 -0
  357. package/dist/domain/plugin.js.map +1 -0
  358. package/dist/domain/project.d.ts +22 -0
  359. package/dist/domain/project.d.ts.map +1 -0
  360. package/dist/domain/project.js +2 -0
  361. package/dist/domain/project.js.map +1 -0
  362. package/dist/domain/session.d.ts +39 -0
  363. package/dist/domain/session.d.ts.map +1 -0
  364. package/dist/domain/session.js +2 -0
  365. package/dist/domain/session.js.map +1 -0
  366. package/dist/domain/types.d.ts +16 -0
  367. package/dist/domain/types.d.ts.map +1 -0
  368. package/dist/domain/types.js +2 -0
  369. package/dist/domain/types.js.map +1 -0
  370. package/dist/index.d.ts +22 -0
  371. package/dist/index.d.ts.map +1 -0
  372. package/dist/index.js +12 -0
  373. package/dist/index.js.map +1 -0
  374. package/dist/ports/env.d.ts +6 -0
  375. package/dist/ports/env.d.ts.map +1 -0
  376. package/dist/ports/env.js +2 -0
  377. package/dist/ports/env.js.map +1 -0
  378. package/dist/ports/file-system.d.ts +20 -0
  379. package/dist/ports/file-system.d.ts.map +1 -0
  380. package/dist/ports/file-system.js +2 -0
  381. package/dist/ports/file-system.js.map +1 -0
  382. package/dist/ports/git.d.ts +15 -0
  383. package/dist/ports/git.d.ts.map +1 -0
  384. package/dist/ports/git.js +2 -0
  385. package/dist/ports/git.js.map +1 -0
  386. package/dist/ports/process.d.ts +16 -0
  387. package/dist/ports/process.d.ts.map +1 -0
  388. package/dist/ports/process.js +2 -0
  389. package/dist/ports/process.js.map +1 -0
  390. package/dist/runtime/config-service.d.ts +19 -0
  391. package/dist/runtime/config-service.d.ts.map +1 -0
  392. package/dist/runtime/config-service.js +145 -0
  393. package/dist/runtime/config-service.js.map +1 -0
  394. package/dist/runtime/namespace-resolver.d.ts +18 -0
  395. package/dist/runtime/namespace-resolver.d.ts.map +1 -0
  396. package/dist/runtime/namespace-resolver.js +58 -0
  397. package/dist/runtime/namespace-resolver.js.map +1 -0
  398. package/dist/runtime/namespace.d.ts +7 -0
  399. package/dist/runtime/namespace.d.ts.map +1 -0
  400. package/dist/runtime/namespace.js +12 -0
  401. package/dist/runtime/namespace.js.map +1 -0
  402. package/dist/runtime/types.d.ts +43 -0
  403. package/dist/runtime/types.d.ts.map +1 -0
  404. package/dist/runtime/types.js +8 -0
  405. package/dist/runtime/types.js.map +1 -0
  406. package/package.json +57 -0
  407. package/skills/agent-workflow/LICENSE +21 -0
  408. package/skills/agent-workflow/MANUAL-FUNCIONAL.md +298 -0
  409. package/skills/agent-workflow/MANUAL-TECNICO.md +271 -0
  410. package/skills/agent-workflow/README.md +74 -0
  411. package/skills/agent-workflow/SKILL.md +111 -0
  412. package/skills/agent-workflow/docs/TEST-PLAN.md +163 -0
  413. package/skills/agent-workflow/references/checkpoint.md +59 -0
  414. package/skills/agent-workflow/references/dev-only.md +50 -0
  415. package/skills/agent-workflow/references/doctor.md +61 -0
  416. package/skills/agent-workflow/references/history.md +40 -0
  417. package/skills/agent-workflow/references/hooks.md +35 -0
  418. package/skills/agent-workflow/references/mcp.md +31 -0
  419. package/skills/agent-workflow/references/objetivo-tasks.md +64 -0
  420. package/skills/agent-workflow/references/orchestration.md +86 -0
  421. package/skills/agent-workflow/references/self.md +68 -0
  422. package/skills/agent-workflow/references/session-mgmt.md +109 -0
  423. package/skills/agent-workflow/references/sources.md +102 -0
@@ -0,0 +1,50 @@
1
+ import { runMultiroot } from "../../application/multiroot-service.js";
2
+ function buildInput(args) {
3
+ const input = {};
4
+ // Repeated --path support via argv scan (the parser overwrites map values).
5
+ const repeatedPaths = collectRepeated(process.argv.slice(2), "--path");
6
+ if (repeatedPaths.length > 0)
7
+ input.paths = repeatedPaths;
8
+ const csv = args.values.get("paths");
9
+ if (csv !== undefined)
10
+ input.pathsCsv = csv;
11
+ if (args.flags.has("--from-sources"))
12
+ input.fromSources = true;
13
+ if (args.flags.has("--global"))
14
+ input.useGlobal = true;
15
+ const ws = args.values.get("workspace");
16
+ if (ws !== undefined)
17
+ input.workspace = ws;
18
+ if (args.flags.has("--skip-claude"))
19
+ input.skipClaude = true;
20
+ if (args.flags.has("--skip-codex"))
21
+ input.skipCodex = true;
22
+ return input;
23
+ }
24
+ function collectRepeated(argv, flag) {
25
+ const out = [];
26
+ for (let i = 0; i < argv.length; i++) {
27
+ if (argv[i] === flag && i + 1 < argv.length) {
28
+ out.push(argv[i + 1] ?? "");
29
+ i += 1;
30
+ }
31
+ }
32
+ return out.filter((p) => p.length > 0);
33
+ }
34
+ export const attachMultirootCommand = {
35
+ name: "attach-multiroot",
36
+ describe: "Configura visibilidad multi-root en Claude Code y Codex CLI.",
37
+ async execute(args, ctx) {
38
+ const data = await runMultiroot(ctx.fs, ctx.env, ctx.paths, "attach", buildInput(args));
39
+ return { ok: true, data, exitCode: 0 };
40
+ },
41
+ };
42
+ export const detachMultirootCommand = {
43
+ name: "detach-multiroot",
44
+ describe: "Quita visibilidad multi-root previamente configurada.",
45
+ async execute(args, ctx) {
46
+ const data = await runMultiroot(ctx.fs, ctx.env, ctx.paths, "detach", buildInput(args));
47
+ return { ok: true, data, exitCode: 0 };
48
+ },
49
+ };
50
+ //# sourceMappingURL=multiroot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multiroot.js","sourceRoot":"","sources":["../../../src/cli/commands/multiroot.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { QtcCommand } from "../registry.js";
2
+ export declare const objetivoDataCommand: QtcCommand;
3
+ //# sourceMappingURL=objetivo-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objetivo-data.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/objetivo-data.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,mBAAmB,EAAE,UAcjC,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { runObjetivoCommand } from "../../application/objetivo-service.js";
2
+ export const objetivoDataCommand = {
3
+ name: "objetivo-data",
4
+ describe: "Parse OBJETIVO.md of a session into structured JSON.",
5
+ async execute(args, ctx) {
6
+ const code = args.values.get("code");
7
+ const data = await runObjetivoCommand(ctx.fs, ctx.env, ctx.paths, code !== undefined ? { code } : {}, ctx.runtime);
8
+ return { ok: true, data, exitCode: 0 };
9
+ },
10
+ };
11
+ //# sourceMappingURL=objetivo-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objetivo-data.js","sourceRoot":"","sources":["../../../src/cli/commands/objetivo-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAM3E,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,sDAAsD;IAChE,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,kBAAkB,CACnC,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,GAAG,EACP,GAAG,CAAC,KAAK,EACT,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAClC,GAAG,CAAC,OAAO,CACZ,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { QtcCommand } from "../registry.js";
2
+ export declare const autoPlanDecideCommand: QtcCommand;
3
+ export declare const topicChangeCheckCommand: QtcCommand;
4
+ export declare const specialtyChooseCommand: QtcCommand;
5
+ //# sourceMappingURL=orchestration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestration.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/orchestration.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAiBjD,eAAO,MAAM,qBAAqB,EAAE,UAUnC,CAAC;AASF,eAAO,MAAM,uBAAuB,EAAE,UAmBrC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,UA0BpC,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { shouldSkipFullPlan } from "../../application/auto-plan.js";
3
+ import { chooseSpecialty, detectTopicChange } from "../../application/orchestration.js";
4
+ import { writeStdout } from "../render.js";
5
+ async function readObjetivoIfPresent(args) {
6
+ const inline = args.values.get("objetivo");
7
+ if (inline !== undefined)
8
+ return inline;
9
+ const file = args.values.get("objetivo-file");
10
+ if (file !== undefined) {
11
+ try {
12
+ return await readFile(file, "utf8");
13
+ }
14
+ catch {
15
+ return undefined;
16
+ }
17
+ }
18
+ return undefined;
19
+ }
20
+ export const autoPlanDecideCommand = {
21
+ name: "auto-plan-decide",
22
+ describe: "Decide plan scope (skip|lite|full) for an OBJETIVO.",
23
+ async execute(args) {
24
+ const objetivo = await readObjetivoIfPresent(args);
25
+ const result = shouldSkipFullPlan(objetivo ?? "");
26
+ // Mirror Python json.dumps which emits floats with `.0` suffix even when integral.
27
+ writeStdout(`${stringifyWithFloatField(result, "eta_hours")}\n`);
28
+ return { ok: true, exitCode: 0 };
29
+ },
30
+ };
31
+ function stringifyWithFloatField(value, floatField) {
32
+ const json = JSON.stringify(value, null, 2);
33
+ // Replace `"floatField": <integer>` with `"floatField": <integer>.0` (preserve Python repr).
34
+ const re = new RegExp(`("${floatField}":\\s+)(-?\\d+)(,?)$`, "gm");
35
+ return json.replace(re, "$1$2.0$3");
36
+ }
37
+ export const topicChangeCheckCommand = {
38
+ name: "topic-change-check",
39
+ describe: "Check whether the current request diverges from session OBJETIVO.",
40
+ async execute(args) {
41
+ const objetivo = await readObjetivoIfPresent(args);
42
+ const request = args.values.get("request");
43
+ if (!objetivo || !request) {
44
+ return {
45
+ ok: false,
46
+ error: {
47
+ code: "INVALID_INPUT",
48
+ message: "se requieren --objetivo (o --objetivo-file) y --request",
49
+ },
50
+ data: { error: "se requieren --objetivo (o --objetivo-file) y --request" },
51
+ exitCode: 1,
52
+ };
53
+ }
54
+ return { ok: true, data: detectTopicChange(objetivo, request), exitCode: 0 };
55
+ },
56
+ };
57
+ export const specialtyChooseCommand = {
58
+ name: "specialty-choose",
59
+ describe: "Recommend specialty skills for a phase + OBJETIVO.",
60
+ async execute(args) {
61
+ const phase = args.values.get("phase");
62
+ if (!phase) {
63
+ return {
64
+ ok: false,
65
+ error: { code: "INVALID_INPUT", message: "--phase es obligatorio" },
66
+ data: { error: "--phase es obligatorio" },
67
+ exitCode: 1,
68
+ };
69
+ }
70
+ const objetivo = await readObjetivoIfPresent(args);
71
+ const result = chooseSpecialty(phase, objetivo ?? "");
72
+ return {
73
+ ok: true,
74
+ data: {
75
+ phase,
76
+ suggestions: result.suggestions,
77
+ rationale: result.rationale,
78
+ invoke_explicitly: result.invoke_explicitly,
79
+ },
80
+ exitCode: 0,
81
+ };
82
+ },
83
+ };
84
+ //# sourceMappingURL=orchestration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orchestration.js","sourceRoot":"","sources":["../../../src/cli/commands/orchestration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { QtcCommand } from "../registry.js";
2
+ export declare const pluginDoctorCommand: QtcCommand;
3
+ //# sourceMappingURL=plugin-doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/plugin-doctor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,mBAAmB,EAAE,UA2BjC,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { runPluginDoctor, } from "../../application/plugin-doctor-service.js";
2
+ export const pluginDoctorCommand = {
3
+ name: "plugin-doctor",
4
+ describe: "Health check del plugin (frontmatter, manifests, hooks, MCP, exports).",
5
+ async execute(args, ctx) {
6
+ const input = {};
7
+ const root = args.values.get("plugin-root") ?? args.plugin.pluginRoot;
8
+ if (root !== undefined)
9
+ input.pluginRoot = root;
10
+ const flow = args.plugin.flow;
11
+ if (flow !== undefined)
12
+ input.flow = flow;
13
+ const pluginVersion = args.plugin.pluginVersion ?? args.values.get("plugin-version");
14
+ if (pluginVersion !== undefined)
15
+ input.pluginVersion = pluginVersion;
16
+ const pluginName = args.values.get("plugin-name");
17
+ if (pluginName !== undefined)
18
+ input.pluginName = pluginName;
19
+ const compatRange = args.plugin.compat ?? args.values.get("compat-range");
20
+ if (compatRange !== undefined)
21
+ input.compatRange = compatRange;
22
+ const exportsFile = args.values.get("exports-file");
23
+ if (exportsFile !== undefined)
24
+ input.exportsFile = exportsFile;
25
+ const { data, hasError } = await runPluginDoctor(ctx.fs, ctx.env, ctx.paths, ctx.runtime, input);
26
+ return { ok: true, data, exitCode: hasError ? 1 : 0 };
27
+ },
28
+ };
29
+ //# sourceMappingURL=plugin-doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-doctor.js","sourceRoot":"","sources":["../../../src/cli/commands/plugin-doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAChB,MAAM,4CAA4C,CAAC;AAMpD,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,wEAAwE;IAClF,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QACtE,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9B,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACrF,IAAI,aAAa,KAAK,SAAS;YAAE,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,UAAU,KAAK,SAAS;YAAE,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;QAC5D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC1E,IAAI,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/D,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,WAAW,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;QAE/D,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,eAAe,CAC9C,GAAG,CAAC,EAAE,EACN,GAAG,CAAC,GAAG,EACP,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,OAAO,EACX,KAAK,CACN,CAAC;QACF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { QtcCommand } from "../registry.js";
2
+ export declare const projectMdUpsertCommand: QtcCommand;
3
+ //# sourceMappingURL=project-md-upsert.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-md-upsert.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/project-md-upsert.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,sBAAsB,EAAE,UAqEpC,CAAC"}
@@ -0,0 +1,132 @@
1
+ import { runProjectMdRead } from "../../application/project-md-service.js";
2
+ import { runProjectMdUpsertWrite, } from "../../application/project-md-upsert-service.js";
3
+ export const projectMdUpsertCommand = {
4
+ name: "project-md-upsert",
5
+ describe: "Read or update the QTC-PROJECT block in CLAUDE.md/AGENTS.md.",
6
+ async execute(args, ctx) {
7
+ const verbose = args.flags.has("--verbose");
8
+ if (args.flags.has("--read")) {
9
+ const data = await runProjectMdRead(ctx.fs, ctx.env, ctx.paths, { verbose });
10
+ return { ok: true, data, exitCode: 0 };
11
+ }
12
+ const opAndFolder = pickOperation(args);
13
+ if (!opAndFolder) {
14
+ return {
15
+ ok: false,
16
+ error: {
17
+ code: "INVALID_INPUT",
18
+ message: "Especifica una operación: --init | --add-session | --remove-session | --update-phase | --read",
19
+ },
20
+ exitCode: 1,
21
+ };
22
+ }
23
+ const input = {
24
+ op: opAndFolder.op,
25
+ verbose,
26
+ };
27
+ if (opAndFolder.folder !== undefined)
28
+ input.sessionFolder = opAndFolder.folder;
29
+ const phase = args.values.get("phase");
30
+ if (phase !== undefined)
31
+ input.phase = phase;
32
+ const branchesRaw = args.values.get("branches");
33
+ if (branchesRaw !== undefined) {
34
+ input.branches = branchesRaw
35
+ .split(",")
36
+ .map((s) => s.trim())
37
+ .filter((s) => s.length > 0);
38
+ }
39
+ const proyecto = args.values.get("proyecto");
40
+ if (proyecto !== undefined)
41
+ input.proyecto = proyecto;
42
+ const mode = args.values.get("mode");
43
+ if (mode === "hub" || mode === "project")
44
+ input.mode = mode;
45
+ const workingBranches = parseWorkingBranches(args.valuesMulti.get("working-branch") ?? []);
46
+ if (workingBranches !== undefined)
47
+ input.workingBranches = workingBranches;
48
+ const fuentesParsed = parseFuentesSpecs(args.valuesMulti.get("fuente") ?? []);
49
+ if ("error" in fuentesParsed) {
50
+ return {
51
+ ok: false,
52
+ error: { code: "INVALID_INPUT", message: fuentesParsed.error },
53
+ exitCode: 1,
54
+ };
55
+ }
56
+ if (fuentesParsed.fuentes.length > 0)
57
+ input.fuentes = fuentesParsed.fuentes;
58
+ const mainBranch = args.values.get("main-branch");
59
+ if (mainBranch !== undefined && mainBranch.length > 0)
60
+ input.mainBranch = mainBranch;
61
+ const data = await runProjectMdUpsertWrite(ctx.fs, ctx.env, ctx.paths, input);
62
+ if ("error" in data) {
63
+ return {
64
+ ok: false,
65
+ error: { code: "INVALID_INPUT", message: data.error },
66
+ data,
67
+ exitCode: 1,
68
+ };
69
+ }
70
+ return { ok: data.ok, data, exitCode: data.ok ? 0 : 1 };
71
+ },
72
+ };
73
+ function pickOperation(args) {
74
+ if (args.flags.has("--init"))
75
+ return { op: "init" };
76
+ for (const op of ["add-session", "remove-session", "update-phase"]) {
77
+ const folder = args.values.get(op);
78
+ if (folder !== undefined)
79
+ return { op, folder };
80
+ }
81
+ return null;
82
+ }
83
+ function parseWorkingBranches(specs) {
84
+ const out = {};
85
+ for (const raw of specs) {
86
+ const idx = raw.indexOf(":");
87
+ if (idx <= 0)
88
+ continue;
89
+ const alias = raw.slice(0, idx).trim();
90
+ const branch = raw.slice(idx + 1).trim();
91
+ if (alias && branch)
92
+ out[alias] = branch;
93
+ }
94
+ return Object.keys(out).length > 0 ? out : undefined;
95
+ }
96
+ function parseFuentesSpecs(specs) {
97
+ const out = [];
98
+ for (const raw of specs) {
99
+ const trimmed = raw.trim();
100
+ const firstColon = trimmed.indexOf(":");
101
+ if (firstColon <= 0) {
102
+ return {
103
+ error: `--fuente formato inválido '${raw}': se esperaba 'alias:path[:rama-principal]'`,
104
+ };
105
+ }
106
+ const alias = trimmed.slice(0, firstColon).trim();
107
+ const rest = trimmed.slice(firstColon + 1);
108
+ const lastColon = rest.lastIndexOf(":");
109
+ let path;
110
+ let rama;
111
+ if (lastColon < 0) {
112
+ path = rest.trim();
113
+ }
114
+ else {
115
+ path = rest.slice(0, lastColon).trim();
116
+ const ramaCandidate = rest.slice(lastColon + 1).trim();
117
+ if (ramaCandidate.length > 0)
118
+ rama = ramaCandidate;
119
+ }
120
+ if (!alias || !path) {
121
+ return {
122
+ error: `--fuente formato inválido '${raw}': alias y path son obligatorios`,
123
+ };
124
+ }
125
+ const entry = { alias, path };
126
+ if (rama !== undefined)
127
+ entry.mainBranch = rama;
128
+ out.push(entry);
129
+ }
130
+ return { fuentes: out };
131
+ }
132
+ //# sourceMappingURL=project-md-upsert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-md-upsert.js","sourceRoot":"","sources":["../../../src/cli/commands/project-md-upsert.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { QtcCommand } from "../registry.js";
2
+ export declare const releaseDataCommand: QtcCommand;
3
+ //# sourceMappingURL=release-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-data.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/release-data.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,kBAAkB,EAAE,UAkBhC,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { runReleaseData } from "../../application/release-data-service.js";
2
+ export const releaseDataCommand = {
3
+ name: "release-data",
4
+ describe: "Dump consolidado para los skills release y release-scripts.",
5
+ async execute(args, ctx) {
6
+ const input = {};
7
+ const since = args.values.get("since");
8
+ if (since !== undefined)
9
+ input.since = since;
10
+ const source = args.values.get("source");
11
+ if (source !== undefined)
12
+ input.sourceAlias = source;
13
+ if (args.flags.has("--include-graduated"))
14
+ input.includeGraduated = true;
15
+ if (args.flags.has("--no-open"))
16
+ input.includeOpen = false;
17
+ if (args.flags.has("--no-closed"))
18
+ input.includeClosed = false;
19
+ if (args.flags.has("--skip-content"))
20
+ input.skipContent = true;
21
+ if (args.flags.has("--verbose"))
22
+ input.verbose = true;
23
+ const data = await runReleaseData(ctx.fs, ctx.env, ctx.paths, input, ctx.runtime);
24
+ return { ok: true, data, exitCode: 0 };
25
+ },
26
+ };
27
+ //# sourceMappingURL=release-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"release-data.js","sourceRoot":"","sources":["../../../src/cli/commands/release-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAM3E,MAAM,CAAC,MAAM,kBAAkB,GAAe;IAC5C,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE,6DAA6D;IACvE,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAyC,EAAE,CAAC;QACvD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS;YAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC;QACrD,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAAE,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;QACzE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;QAC3D,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC;YAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;QAC/D,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC;YAAE,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QAC/D,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QAEtD,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAClF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { QtcCommand } from "../registry.js";
2
+ export declare const selfCommand: QtcCommand;
3
+ //# sourceMappingURL=self.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/self.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,WAAW,EAAE,UAmCzB,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { selfDoctor } from "../../application/self/doctor-self.js";
2
+ import { selfInstallSkill } from "../../application/self/install-skill.js";
3
+ import { selfNamespace } from "../../application/self/namespace-info.js";
4
+ import { selfUpdate } from "../../application/self/update-self.js";
5
+ export const selfCommand = {
6
+ name: "self",
7
+ describe: "Manage the agent-workflow CLI itself (namespace, doctor, update, install-skill).",
8
+ async execute(args, ctx) {
9
+ const sub = args.rest[0];
10
+ switch (sub) {
11
+ case "namespace":
12
+ return selfNamespace(ctx);
13
+ case "doctor":
14
+ return selfDoctor(ctx);
15
+ case "update":
16
+ return selfUpdate(ctx);
17
+ case "install-skill":
18
+ return selfInstallSkill(args, ctx);
19
+ case undefined:
20
+ case "":
21
+ return {
22
+ ok: false,
23
+ error: {
24
+ code: "INVALID_INPUT",
25
+ message: "uso: self <namespace|doctor|update|install-skill>",
26
+ },
27
+ exitCode: 1,
28
+ };
29
+ default:
30
+ return {
31
+ ok: false,
32
+ error: {
33
+ code: "INVALID_INPUT",
34
+ message: `unknown self subcommand: '${sub}'. uso: self <namespace|doctor|update|install-skill>`,
35
+ },
36
+ exitCode: 1,
37
+ };
38
+ }
39
+ },
40
+ };
41
+ //# sourceMappingURL=self.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"self.js","sourceRoot":"","sources":["../../../src/cli/commands/self.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,0CAA0C,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAMnE,MAAM,CAAC,MAAM,WAAW,GAAe;IACrC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,kFAAkF;IAC5F,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzB,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,WAAW;gBACd,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC;YAC5B,KAAK,QAAQ;gBACX,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;YACzB,KAAK,QAAQ;gBACX,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;YACzB,KAAK,eAAe;gBAClB,OAAO,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACrC,KAAK,SAAS,CAAC;YACf,KAAK,EAAE;gBACL,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,mDAAmD;qBAC7D;oBACD,QAAQ,EAAE,CAAC;iBACZ,CAAC;YACJ;gBACE,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,eAAe;wBACrB,OAAO,EAAE,6BAA6B,GAAG,sDAAsD;qBAChG;oBACD,QAAQ,EAAE,CAAC;iBACZ,CAAC;QACN,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { QtcCommand } from "../registry.js";
2
+ export declare const sessionArtifactsCommand: QtcCommand;
3
+ //# sourceMappingURL=session-artifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-artifacts.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/session-artifacts.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGjD,eAAO,MAAM,uBAAuB,EAAE,UAYrC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { runArtifactsCommand } from "../../application/artifacts-service.js";
2
+ export const sessionArtifactsCommand = {
3
+ name: "session-artifacts",
4
+ describe: "Consolidated dump of a session's artifacts (objetivo + tasks + flags).",
5
+ async execute(args, ctx) {
6
+ const code = args.values.get("code");
7
+ const verbose = args.flags.has("--verbose");
8
+ const input = {};
9
+ if (code !== undefined)
10
+ input.code = code;
11
+ if (verbose)
12
+ input.verbose = true;
13
+ const data = await runArtifactsCommand(ctx.fs, ctx.env, ctx.paths, input);
14
+ return { ok: true, data, exitCode: 0 };
15
+ },
16
+ };
17
+ //# sourceMappingURL=session-artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-artifacts.js","sourceRoot":"","sources":["../../../src/cli/commands/session-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAM7E,MAAM,CAAC,MAAM,uBAAuB,GAAe;IACjD,IAAI,EAAE,mBAAmB;IACzB,QAAQ,EAAE,wEAAwE;IAClF,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAyC,EAAE,CAAC;QACvD,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,IAAI,OAAO;YAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { QtcCommand } from "../registry.js";
2
+ export declare const sessionCloseCommand: QtcCommand;
3
+ //# sourceMappingURL=session-close.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-close.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/session-close.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,eAAO,MAAM,mBAAmB,EAAE,UAiCjC,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { runSessionClose, } from "../../application/session-close-service.js";
2
+ import { writeStdout } from "../render.js";
3
+ export const sessionCloseCommand = {
4
+ name: "session-close",
5
+ describe: "Close a session: mark HISTORY as closed and remove from QTC-PROJECT.",
6
+ async execute(args, ctx) {
7
+ const input = {};
8
+ const code = args.values.get("code");
9
+ if (code !== undefined)
10
+ input.code = code;
11
+ const dec = args.values.get("graduated-decisions");
12
+ if (dec !== undefined)
13
+ input.graduatedDecisions = dec;
14
+ const plan = args.values.get("graduated-plan");
15
+ if (plan !== undefined)
16
+ input.graduatedPlan = plan;
17
+ const scripts = args.values.get("graduated-scripts");
18
+ if (scripts !== undefined)
19
+ input.graduatedScripts = scripts;
20
+ const design = args.values.get("graduated-design");
21
+ if (design !== undefined)
22
+ input.graduatedDesign = design;
23
+ const rfc = args.values.get("graduated-rfc");
24
+ if (rfc !== undefined)
25
+ input.graduatedRfc = rfc;
26
+ const refs = args.values.get("refs");
27
+ if (refs !== undefined)
28
+ input.refs = refs;
29
+ const data = await runSessionClose(ctx.fs, ctx.env, ctx.paths, input);
30
+ if ("error" in data) {
31
+ return {
32
+ ok: false,
33
+ error: { code: "INVALID_INPUT", message: data.error },
34
+ data,
35
+ exitCode: 1,
36
+ };
37
+ }
38
+ // Mirror Python: cmd_project_md_upsert prints first, then cmd_session_close prints.
39
+ writeStdout(`${JSON.stringify(data.projectMd, null, 2)}\n`);
40
+ return { ok: true, data: data.sessionClose, exitCode: 0 };
41
+ },
42
+ };
43
+ //# sourceMappingURL=session-close.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-close.js","sourceRoot":"","sources":["../../../src/cli/commands/session-close.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,GAChB,MAAM,4CAA4C,CAAC;AAIpD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,CAAC,MAAM,mBAAmB,GAAe;IAC7C,IAAI,EAAE,eAAe;IACrB,QAAQ,EAAE,sEAAsE;IAChF,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnD,IAAI,GAAG,KAAK,SAAS;YAAE,KAAK,CAAC,kBAAkB,GAAG,GAAG,CAAC;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACrD,IAAI,OAAO,KAAK,SAAS;YAAE,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACnD,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,CAAC,eAAe,GAAG,MAAM,CAAC;QACzD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7C,IAAI,GAAG,KAAK,SAAS;YAAE,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAE1C,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrD,IAAI;gBACJ,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QACD,oFAAoF;QACpF,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC5D,CAAC;CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { QtcCommand } from "../registry.js";
2
+ export declare const sessionCreateCommand: QtcCommand;
3
+ //# sourceMappingURL=session-create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-create.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/session-create.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAIjD,eAAO,MAAM,oBAAoB,EAAE,UAgClC,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { runSessionCreate, } from "../../application/session-create-service.js";
2
+ import { writeStdout } from "../render.js";
3
+ export const sessionCreateCommand = {
4
+ name: "session-create",
5
+ describe: "Create a new session: folder + OBJETIVO + HISTORY row + QTC-PROJECT entry.",
6
+ async execute(args, ctx) {
7
+ const input = {};
8
+ const flow = args.values.get("flow") ?? args.plugin.flow;
9
+ if (flow !== undefined)
10
+ input.flow = flow;
11
+ const name = args.values.get("name");
12
+ if (name !== undefined)
13
+ input.name = name;
14
+ const objetivo = args.values.get("objetivo");
15
+ if (objetivo !== undefined)
16
+ input.objetivo = objetivo;
17
+ const branches = args.values.get("branches");
18
+ if (branches !== undefined)
19
+ input.branchesRaw = branches;
20
+ const from = args.values.get("from");
21
+ if (from !== undefined)
22
+ input.origenRaw = from;
23
+ const tipo = args.values.get("tipo");
24
+ if (tipo !== undefined)
25
+ input.tipo = tipo;
26
+ const modalidad = args.values.get("modalidad");
27
+ if (modalidad !== undefined)
28
+ input.modalidad = modalidad;
29
+ const data = await runSessionCreate(ctx.fs, ctx.env, ctx.paths, input);
30
+ if ("error" in data) {
31
+ return {
32
+ ok: false,
33
+ error: { code: "INVALID_INPUT", message: data.error },
34
+ data,
35
+ exitCode: 1,
36
+ };
37
+ }
38
+ writeStdout(`${JSON.stringify(data.projectMd, null, 2)}\n`);
39
+ return { ok: true, data: data.sessionCreate, exitCode: 0 };
40
+ },
41
+ };
42
+ //# sourceMappingURL=session-create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-create.js","sourceRoot":"","sources":["../../../src/cli/commands/session-create.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,GACjB,MAAM,6CAA6C,CAAC;AAIrD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,CAAC,MAAM,oBAAoB,GAAe;IAC9C,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,4EAA4E;IACtF,KAAK,CAAC,OAAO,CAAC,IAAgB,EAAE,GAAe;QAC7C,MAAM,KAAK,GAAuB,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QACzD,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7C,IAAI,QAAQ,KAAK,SAAS;YAAE,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrC,IAAI,IAAI,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,SAAS;YAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QAEzD,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvE,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE;gBACrD,IAAI;gBACJ,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QACD,WAAW,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IAC7D,CAAC;CACF,CAAC"}