@tacuchi/agent-workflow-cli 5.0.2 → 5.3.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 (230) hide show
  1. package/dist/adapters/node-file-system.d.ts +7 -0
  2. package/dist/adapters/node-file-system.d.ts.map +1 -1
  3. package/dist/adapters/node-file-system.js +22 -2
  4. package/dist/adapters/node-file-system.js.map +1 -1
  5. package/dist/application/artifacts-service.d.ts.map +1 -1
  6. package/dist/application/artifacts-service.js +15 -13
  7. package/dist/application/artifacts-service.js.map +1 -1
  8. package/dist/application/checkpoint/markdown.d.ts +3 -0
  9. package/dist/application/checkpoint/markdown.d.ts.map +1 -0
  10. package/dist/application/checkpoint/markdown.js +86 -0
  11. package/dist/application/checkpoint/markdown.js.map +1 -0
  12. package/dist/application/checkpoint/state-reader.d.ts +28 -0
  13. package/dist/application/checkpoint/state-reader.d.ts.map +1 -0
  14. package/dist/application/checkpoint/state-reader.js +152 -0
  15. package/dist/application/checkpoint/state-reader.js.map +1 -0
  16. package/dist/application/checkpoint-service.d.ts.map +1 -1
  17. package/dist/application/checkpoint-service.js +15 -16
  18. package/dist/application/checkpoint-service.js.map +1 -1
  19. package/dist/application/checkpoint-write-service.d.ts.map +1 -1
  20. package/dist/application/checkpoint-write-service.js +2 -235
  21. package/dist/application/checkpoint-write-service.js.map +1 -1
  22. package/dist/application/decisiones-service.d.ts.map +1 -1
  23. package/dist/application/decisiones-service.js +5 -5
  24. package/dist/application/decisiones-service.js.map +1 -1
  25. package/dist/application/dependencias-service.d.ts.map +1 -1
  26. package/dist/application/dependencias-service.js +5 -5
  27. package/dist/application/dependencias-service.js.map +1 -1
  28. package/dist/application/dev-graduate-service.d.ts +2 -48
  29. package/dist/application/dev-graduate-service.d.ts.map +1 -1
  30. package/dist/application/dev-graduate-service.js +1 -226
  31. package/dist/application/dev-graduate-service.js.map +1 -1
  32. package/dist/application/graduate/handlers.d.ts +61 -0
  33. package/dist/application/graduate/handlers.d.ts.map +1 -0
  34. package/dist/application/graduate/handlers.js +148 -0
  35. package/dist/application/graduate/handlers.js.map +1 -0
  36. package/dist/application/graduate/helpers.d.ts +13 -0
  37. package/dist/application/graduate/helpers.d.ts.map +1 -0
  38. package/dist/application/graduate/helpers.js +82 -0
  39. package/dist/application/graduate/helpers.js.map +1 -0
  40. package/dist/application/handoff.d.ts.map +1 -1
  41. package/dist/application/handoff.js +14 -11
  42. package/dist/application/handoff.js.map +1 -1
  43. package/dist/application/markdown.d.ts +18 -0
  44. package/dist/application/markdown.d.ts.map +1 -1
  45. package/dist/application/markdown.js +129 -0
  46. package/dist/application/markdown.js.map +1 -1
  47. package/dist/application/multiroot/claude.d.ts +26 -0
  48. package/dist/application/multiroot/claude.d.ts.map +1 -0
  49. package/dist/application/multiroot/claude.js +125 -0
  50. package/dist/application/multiroot/claude.js.map +1 -0
  51. package/dist/application/multiroot/codex.d.ts +36 -0
  52. package/dist/application/multiroot/codex.d.ts.map +1 -0
  53. package/dist/application/multiroot/codex.js +221 -0
  54. package/dist/application/multiroot/codex.js.map +1 -0
  55. package/dist/application/multiroot/paths.d.ts +6 -0
  56. package/dist/application/multiroot/paths.d.ts.map +1 -0
  57. package/dist/application/multiroot/paths.js +23 -0
  58. package/dist/application/multiroot/paths.js.map +1 -0
  59. package/dist/application/multiroot-service.d.ts +2 -52
  60. package/dist/application/multiroot-service.d.ts.map +1 -1
  61. package/dist/application/multiroot-service.js +2 -364
  62. package/dist/application/multiroot-service.js.map +1 -1
  63. package/dist/application/objetivo-service.d.ts.map +1 -1
  64. package/dist/application/objetivo-service.js +3 -3
  65. package/dist/application/objetivo-service.js.map +1 -1
  66. package/dist/application/parsers/objetivo.d.ts.map +1 -1
  67. package/dist/application/parsers/objetivo.js +7 -10
  68. package/dist/application/parsers/objetivo.js.map +1 -1
  69. package/dist/application/phase-detect-service.d.ts.map +1 -1
  70. package/dist/application/phase-detect-service.js +6 -6
  71. package/dist/application/phase-detect-service.js.map +1 -1
  72. package/dist/application/plugin-doctor/common.d.ts +27 -0
  73. package/dist/application/plugin-doctor/common.d.ts.map +1 -0
  74. package/dist/application/plugin-doctor/common.js +28 -0
  75. package/dist/application/plugin-doctor/common.js.map +1 -0
  76. package/dist/application/plugin-doctor/exported-skills.d.ts +8 -0
  77. package/dist/application/plugin-doctor/exported-skills.d.ts.map +1 -0
  78. package/dist/application/plugin-doctor/exported-skills.js +128 -0
  79. package/dist/application/plugin-doctor/exported-skills.js.map +1 -0
  80. package/dist/application/plugin-doctor/hooks.d.ts +8 -0
  81. package/dist/application/plugin-doctor/hooks.d.ts.map +1 -0
  82. package/dist/application/plugin-doctor/hooks.js +53 -0
  83. package/dist/application/plugin-doctor/hooks.js.map +1 -0
  84. package/dist/application/plugin-doctor/manifests.d.ts +11 -0
  85. package/dist/application/plugin-doctor/manifests.d.ts.map +1 -0
  86. package/dist/application/plugin-doctor/manifests.js +83 -0
  87. package/dist/application/plugin-doctor/manifests.js.map +1 -0
  88. package/dist/application/plugin-doctor/mcp.d.ts +10 -0
  89. package/dist/application/plugin-doctor/mcp.d.ts.map +1 -0
  90. package/dist/application/plugin-doctor/mcp.js +58 -0
  91. package/dist/application/plugin-doctor/mcp.js.map +1 -0
  92. package/dist/application/plugin-doctor/skills.d.ts +16 -0
  93. package/dist/application/plugin-doctor/skills.d.ts.map +1 -0
  94. package/dist/application/plugin-doctor/skills.js +167 -0
  95. package/dist/application/plugin-doctor/skills.js.map +1 -0
  96. package/dist/application/plugin-doctor-service.d.ts +2 -23
  97. package/dist/application/plugin-doctor-service.d.ts.map +1 -1
  98. package/dist/application/plugin-doctor-service.js +10 -514
  99. package/dist/application/plugin-doctor-service.js.map +1 -1
  100. package/dist/application/release-data/artifacts.d.ts +32 -0
  101. package/dist/application/release-data/artifacts.d.ts.map +1 -0
  102. package/dist/application/release-data/artifacts.js +105 -0
  103. package/dist/application/release-data/artifacts.js.map +1 -0
  104. package/dist/application/release-data/bundles.d.ts +15 -0
  105. package/dist/application/release-data/bundles.d.ts.map +1 -0
  106. package/dist/application/release-data/bundles.js +42 -0
  107. package/dist/application/release-data/bundles.js.map +1 -0
  108. package/dist/application/release-data/common.d.ts +11 -0
  109. package/dist/application/release-data/common.d.ts.map +1 -0
  110. package/dist/application/release-data/common.js +61 -0
  111. package/dist/application/release-data/common.js.map +1 -0
  112. package/dist/application/release-data/sessions.d.ts +19 -0
  113. package/dist/application/release-data/sessions.d.ts.map +1 -0
  114. package/dist/application/release-data/sessions.js +51 -0
  115. package/dist/application/release-data/sessions.js.map +1 -0
  116. package/dist/application/release-data-service.d.ts +8 -50
  117. package/dist/application/release-data-service.d.ts.map +1 -1
  118. package/dist/application/release-data-service.js +14 -252
  119. package/dist/application/release-data-service.js.map +1 -1
  120. package/dist/application/session-artifacts.d.ts +48 -0
  121. package/dist/application/session-artifacts.d.ts.map +1 -0
  122. package/dist/application/session-artifacts.js +116 -0
  123. package/dist/application/session-artifacts.js.map +1 -0
  124. package/dist/application/session-create-service.d.ts.map +1 -1
  125. package/dist/application/session-create-service.js +45 -15
  126. package/dist/application/session-create-service.js.map +1 -1
  127. package/dist/application/session-resolver.d.ts.map +1 -1
  128. package/dist/application/session-resolver.js +10 -15
  129. package/dist/application/session-resolver.js.map +1 -1
  130. package/dist/application/session-resume-service.d.ts.map +1 -1
  131. package/dist/application/session-resume-service.js +3 -2
  132. package/dist/application/session-resume-service.js.map +1 -1
  133. package/dist/application/templates/objetivo.js +32 -32
  134. package/dist/cli/commands/auto-plan-decide.d.ts +3 -0
  135. package/dist/cli/commands/auto-plan-decide.d.ts.map +1 -0
  136. package/dist/cli/commands/auto-plan-decide.js +19 -0
  137. package/dist/cli/commands/auto-plan-decide.js.map +1 -0
  138. package/dist/cli/commands/bootstrap-dsn.d.ts +3 -0
  139. package/dist/cli/commands/bootstrap-dsn.d.ts.map +1 -0
  140. package/dist/cli/commands/bootstrap-dsn.js +20 -0
  141. package/dist/cli/commands/bootstrap-dsn.js.map +1 -0
  142. package/dist/cli/commands/check-branch.d.ts +3 -0
  143. package/dist/cli/commands/check-branch.d.ts.map +1 -0
  144. package/dist/cli/commands/check-branch.js +30 -0
  145. package/dist/cli/commands/check-branch.js.map +1 -0
  146. package/dist/cli/commands/checkpoint-read.d.ts +3 -0
  147. package/dist/cli/commands/checkpoint-read.d.ts.map +1 -0
  148. package/dist/cli/commands/checkpoint-read.js +19 -0
  149. package/dist/cli/commands/checkpoint-read.js.map +1 -0
  150. package/dist/cli/commands/code-scan.d.ts +3 -0
  151. package/dist/cli/commands/code-scan.d.ts.map +1 -0
  152. package/dist/cli/commands/code-scan.js +74 -0
  153. package/dist/cli/commands/code-scan.js.map +1 -0
  154. package/dist/cli/commands/compress-checkpoint.d.ts +3 -0
  155. package/dist/cli/commands/compress-checkpoint.d.ts.map +1 -0
  156. package/dist/cli/commands/compress-checkpoint.js +28 -0
  157. package/dist/cli/commands/compress-checkpoint.js.map +1 -0
  158. package/dist/cli/commands/graduate.d.ts +3 -0
  159. package/dist/cli/commands/graduate.d.ts.map +1 -0
  160. package/dist/cli/commands/graduate.js +36 -0
  161. package/dist/cli/commands/graduate.js.map +1 -0
  162. package/dist/cli/commands/hub-init.d.ts.map +1 -1
  163. package/dist/cli/commands/hub-init.js +13 -43
  164. package/dist/cli/commands/hub-init.js.map +1 -1
  165. package/dist/cli/commands/phase-detect.d.ts +3 -0
  166. package/dist/cli/commands/phase-detect.d.ts.map +1 -0
  167. package/dist/cli/commands/phase-detect.js +19 -0
  168. package/dist/cli/commands/phase-detect.js.map +1 -0
  169. package/dist/cli/commands/phase-next.d.ts +3 -0
  170. package/dist/cli/commands/phase-next.d.ts.map +1 -0
  171. package/dist/cli/commands/phase-next.js +23 -0
  172. package/dist/cli/commands/phase-next.js.map +1 -0
  173. package/dist/cli/commands/project-md-upsert.d.ts.map +1 -1
  174. package/dist/cli/commands/project-md-upsert.js +2 -49
  175. package/dist/cli/commands/project-md-upsert.js.map +1 -1
  176. package/dist/cli/commands/resume-summary.d.ts +3 -0
  177. package/dist/cli/commands/resume-summary.d.ts.map +1 -0
  178. package/dist/cli/commands/resume-summary.js +10 -0
  179. package/dist/cli/commands/resume-summary.js.map +1 -0
  180. package/dist/cli/commands/session-create.js +2 -2
  181. package/dist/cli/commands/session-create.js.map +1 -1
  182. package/dist/cli/commands/skill-index.d.ts +3 -0
  183. package/dist/cli/commands/skill-index.d.ts.map +1 -0
  184. package/dist/cli/commands/skill-index.js +20 -0
  185. package/dist/cli/commands/skill-index.js.map +1 -0
  186. package/dist/cli/commands/sources.d.ts +3 -0
  187. package/dist/cli/commands/sources.d.ts.map +1 -0
  188. package/dist/cli/commands/sources.js +30 -0
  189. package/dist/cli/commands/sources.js.map +1 -0
  190. package/dist/cli/commands/specialty-choose.d.ts +3 -0
  191. package/dist/cli/commands/specialty-choose.d.ts.map +1 -0
  192. package/dist/cli/commands/specialty-choose.js +30 -0
  193. package/dist/cli/commands/specialty-choose.js.map +1 -0
  194. package/dist/cli/commands/stack.d.ts +3 -0
  195. package/dist/cli/commands/stack.d.ts.map +1 -0
  196. package/dist/cli/commands/stack.js +11 -0
  197. package/dist/cli/commands/stack.js.map +1 -0
  198. package/dist/cli/commands/topic-change-check.d.ts +3 -0
  199. package/dist/cli/commands/topic-change-check.d.ts.map +1 -0
  200. package/dist/cli/commands/topic-change-check.js +23 -0
  201. package/dist/cli/commands/topic-change-check.js.map +1 -0
  202. package/dist/cli/commands/upgrade-hub-mode.d.ts +3 -0
  203. package/dist/cli/commands/upgrade-hub-mode.d.ts.map +1 -0
  204. package/dist/cli/commands/upgrade-hub-mode.js +11 -0
  205. package/dist/cli/commands/upgrade-hub-mode.js.map +1 -0
  206. package/dist/cli/commands/workflows.d.ts +3 -0
  207. package/dist/cli/commands/workflows.d.ts.map +1 -0
  208. package/dist/cli/commands/workflows.js +30 -0
  209. package/dist/cli/commands/workflows.js.map +1 -0
  210. package/dist/cli/commands/workspace-mode.d.ts +3 -0
  211. package/dist/cli/commands/workspace-mode.d.ts.map +1 -0
  212. package/dist/cli/commands/workspace-mode.js +11 -0
  213. package/dist/cli/commands/workspace-mode.js.map +1 -0
  214. package/dist/cli/helpers/objetivo-loader.d.ts +3 -0
  215. package/dist/cli/helpers/objetivo-loader.d.ts.map +1 -0
  216. package/dist/cli/helpers/objetivo-loader.js +17 -0
  217. package/dist/cli/helpers/objetivo-loader.js.map +1 -0
  218. package/dist/cli/main.js +18 -4
  219. package/dist/cli/main.js.map +1 -1
  220. package/dist/cli/parsers/fuentes.d.ts +11 -0
  221. package/dist/cli/parsers/fuentes.d.ts.map +1 -0
  222. package/dist/cli/parsers/fuentes.js +37 -0
  223. package/dist/cli/parsers/fuentes.js.map +1 -0
  224. package/dist/cli/parsers/working-branches.d.ts +2 -0
  225. package/dist/cli/parsers/working-branches.d.ts.map +1 -0
  226. package/dist/cli/parsers/working-branches.js +14 -0
  227. package/dist/cli/parsers/working-branches.js.map +1 -0
  228. package/dist/domain/session.d.ts +2 -2
  229. package/dist/domain/session.d.ts.map +1 -1
  230. package/package.json +1 -1
@@ -2,6 +2,8 @@ import type { EnvPort } from "../ports/env.js";
2
2
  import type { FileSystemPort } from "../ports/file-system.js";
3
3
  import type { ResolvedRuntime } from "../runtime/types.js";
4
4
  import type { PathsService } from "./paths-service.js";
5
+ import type { DoctorFinding, ExportedSkillRecord, HooksInfoValue, McpServerInfo, SkillFrontmatterInfo } from "./plugin-doctor/common.js";
6
+ export type { DoctorFinding, ExportedSkillRecord, HooksInfoValue, McpServerInfo, SkillFrontmatterInfo, } from "./plugin-doctor/common.js";
5
7
  export interface PluginDoctorInput {
6
8
  pluginRoot?: string;
7
9
  flow?: string;
@@ -10,29 +12,6 @@ export interface PluginDoctorInput {
10
12
  compatRange?: string;
11
13
  exportsFile?: string;
12
14
  }
13
- export interface DoctorFinding {
14
- level: "error" | "warn";
15
- file: string;
16
- msg: string;
17
- }
18
- export interface SkillFrontmatterInfo {
19
- dir: string;
20
- name: string | null;
21
- version: string | null;
22
- }
23
- export type HooksInfoValue = string[] | "invalid-structure" | null;
24
- export type McpServerInfo = "missing" | {
25
- dsn_env: string | null;
26
- env_set: boolean | null;
27
- };
28
- export interface ExportedSkillRecord {
29
- namespace: string;
30
- version_declared: string | null;
31
- since: string | null;
32
- exists_in_disk: boolean;
33
- frontmatter_ok: boolean;
34
- version_in_skill?: string;
35
- }
36
15
  export interface DoctorOutput {
37
16
  status: "ok" | "warn" | "error";
38
17
  plugin: string;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-doctor-service.d.ts","sourceRoot":"","sources":["../../src/application/plugin-doctor-service.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAUvD,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,EAAE,GAAG,mBAAmB,GAAG,IAAI,CAAC;AACnE,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG;IAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;CAAE,CAAC;AAE5F,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAgEpD"}
1
+ {"version":3,"file":"plugin-doctor-service.d.ts","sourceRoot":"","sources":["../../src/application/plugin-doctor-service.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAWnC,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,kBAAkB,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,eAAe,EAAE,mBAAmB,EAAE,CAAC;IACvC,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,cAAc,EAClB,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,eAAe,EACxB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC,CAgEpD"}
@@ -4,26 +4,17 @@
4
4
  // `runtime.expectedMcpServers` (vacio = no expectations).
5
5
  //
6
6
  // Post-session013 (RFC 002 G4 H-08): la gate `qtcContractVersion < 6.3`
7
- // (dual-path legacy) fue eliminada. Todo plugin actual opera en single-path,
8
- // por lo que `installed_marker`, `qtc_core_installed`, `compat_ok` y
9
- // `python_version` son siempre `null` en el output. Se mantienen los campos
10
- // en `DoctorOutput` por back-compat de shape, no de comportamiento.
7
+ // (dual-path legacy) fue eliminada. `installed_marker`, `qtc_core_installed`,
8
+ // `compat_ok` y `python_version` son siempre `null` (back-compat de shape).
11
9
  //
12
- // `exported_skills` se lee de `.claude-plugin/plugin.json:exportedSkills` o
13
- // de un --exports-file JSON.
14
- //
15
- // Estructura interna (post-session011 G2 refactor):
16
- // `runPluginDoctor` orquesta 7 helpers self-contained, cada uno con
17
- // complexity <= 15. Cada helper retorna `{...result, findings}` y el orchestrator
18
- // agrega los findings al final.
19
- import { basename, extname, join, relative, resolve, sep } from "node:path";
20
- const SESSION_SPECIFIC_MARKERS = [
21
- "session034",
22
- "idNegocioFinanciero",
23
- "usuario-editar.component",
24
- "AuthUserServiceImpl",
25
- "tb_acceso_usuario_rol",
26
- ];
10
+ // Estructura interna: `runPluginDoctor` orquesta 6 helpers self-contained
11
+ // (skills/manifests/hooks/mcp/exported-skills), cada uno devuelve `{...result, findings}`.
12
+ import { basename, join, resolve } from "node:path";
13
+ import { validateExportedSkills } from "./plugin-doctor/exported-skills.js";
14
+ import { parseHooks } from "./plugin-doctor/hooks.js";
15
+ import { parseManifests } from "./plugin-doctor/manifests.js";
16
+ import { validateMcp } from "./plugin-doctor/mcp.js";
17
+ import { checkFrontendDesignGeneralization, checkReadmeSync, checkSkillsFrontmatter, } from "./plugin-doctor/skills.js";
27
18
  export async function runPluginDoctor(fs, env, paths, runtime, input) {
28
19
  const cwd = env.cwd();
29
20
  const pluginRoot = input.pluginRoot
@@ -79,499 +70,4 @@ export async function runPluginDoctor(fs, env, paths, runtime, input) {
79
70
  hasError,
80
71
  };
81
72
  }
82
- async function checkSkillsFrontmatter(skillsDir, fs) {
83
- const findings = [];
84
- const skillsInfo = [];
85
- const skillDirs = await collectSkillDirs(skillsDir, fs);
86
- for (const sd of skillDirs) {
87
- const skillMd = join(sd, "SKILL.md");
88
- const dirName = sd.split(sep).pop() ?? "";
89
- const parsed = await parseSkillFile(skillMd, fs);
90
- if (parsed.error) {
91
- findings.push({ level: "error", file: skillMd, msg: parsed.error });
92
- skillsInfo.push({ dir: dirName, name: null, version: null });
93
- continue;
94
- }
95
- validateSkillFrontmatter(skillMd, dirName, parsed.frontmatter, findings);
96
- skillsInfo.push({
97
- dir: dirName,
98
- name: parsed.frontmatter.name ?? null,
99
- version: parsed.frontmatter.version ?? null,
100
- });
101
- }
102
- return { skillsCount: skillDirs.length, skillsInfo, findings };
103
- }
104
- async function collectSkillDirs(skillsDir, fs) {
105
- const out = [];
106
- if (!(await fs.exists(skillsDir)))
107
- return out;
108
- const entries = await fs.list(skillsDir);
109
- for (const entry of entries) {
110
- if (entry.type !== "dir")
111
- continue;
112
- const skillMd = join(entry.path, "SKILL.md");
113
- if (await fs.exists(skillMd))
114
- out.push(entry.path);
115
- }
116
- out.sort((a, b) => a.localeCompare(b));
117
- return out;
118
- }
119
- async function parseSkillFile(skillMd, fs) {
120
- let content;
121
- try {
122
- content = await fs.readText(skillMd);
123
- }
124
- catch (e) {
125
- return { frontmatter: {}, error: `cannot read: ${e.message}` };
126
- }
127
- const lines = content.split(/\r?\n/);
128
- if (lines.length === 0 || (lines[0] ?? "").trim() !== "---") {
129
- return { frontmatter: {}, error: "missing frontmatter opening ---" };
130
- }
131
- let endIdx = -1;
132
- for (let i = 1; i < lines.length; i++) {
133
- if ((lines[i] ?? "").trim() === "---") {
134
- endIdx = i;
135
- break;
136
- }
137
- }
138
- if (endIdx === -1) {
139
- return { frontmatter: {}, error: "missing frontmatter closing ---" };
140
- }
141
- const fm = {};
142
- for (let i = 1; i < endIdx; i++) {
143
- const m = (lines[i] ?? "").match(/^(\w+):\s*(.+)$/);
144
- if (m?.[1] && m[2] !== undefined)
145
- fm[m[1]] = m[2].trim();
146
- }
147
- return { frontmatter: fm, error: null };
148
- }
149
- function validateSkillFrontmatter(skillMd, dirName, fm, findings) {
150
- const { name, version, description } = fm;
151
- if (!name) {
152
- findings.push({ level: "error", file: skillMd, msg: "missing 'name' in frontmatter" });
153
- }
154
- else if (name !== dirName) {
155
- findings.push({
156
- level: "warn",
157
- file: skillMd,
158
- msg: `frontmatter name '${name}' differs from directory '${dirName}'`,
159
- });
160
- }
161
- if (!description) {
162
- findings.push({ level: "error", file: skillMd, msg: "missing 'description' in frontmatter" });
163
- }
164
- if (!version) {
165
- findings.push({ level: "warn", file: skillMd, msg: "missing 'version' in frontmatter" });
166
- }
167
- else if (!/^\d+\.\d+\.\d+$/.test(version)) {
168
- findings.push({
169
- level: "warn",
170
- file: skillMd,
171
- msg: `version '${version}' not semver-compatible`,
172
- });
173
- }
174
- }
175
- async function checkReadmeSync(readmePath, skillsCount, fs) {
176
- const findings = [];
177
- if (!(await fs.exists(readmePath))) {
178
- findings.push({ level: "warn", file: "README.md", msg: "README.md not found at plugin root" });
179
- return { readmeCountExpected: null, readmeCountMatch: null, findings };
180
- }
181
- let readmeText;
182
- try {
183
- readmeText = await fs.readText(readmePath);
184
- }
185
- catch (e) {
186
- findings.push({
187
- level: "warn",
188
- file: "README.md",
189
- msg: `cannot read: ${e.message}`,
190
- });
191
- return { readmeCountExpected: null, readmeCountMatch: null, findings };
192
- }
193
- const m = readmeText.match(/\*\*Skills\*\*\s*\((\d+)/);
194
- if (!m?.[1]) {
195
- return { readmeCountExpected: null, readmeCountMatch: null, findings };
196
- }
197
- const readmeCountExpected = Number.parseInt(m[1], 10);
198
- const readmeCountMatch = readmeCountExpected === skillsCount;
199
- if (!readmeCountMatch) {
200
- findings.push({
201
- level: "warn",
202
- file: "README.md",
203
- msg: `Skills count mismatch: README claims ${readmeCountExpected}, actual ${skillsCount}`,
204
- });
205
- }
206
- return { readmeCountExpected, readmeCountMatch, findings };
207
- }
208
- // ---------- 3. Frontend-design generalization ----------
209
- async function checkFrontendDesignGeneralization(skillsDir, pluginRoot, fs) {
210
- const findings = [];
211
- const fdDir = join(skillsDir, "frontend-design");
212
- if (!(await fs.exists(skillsDir)) || !(await fs.exists(fdDir)))
213
- return findings;
214
- const mdFiles = await collectMarkdownFiles(fs, fdDir);
215
- mdFiles.sort((a, b) => a.localeCompare(b));
216
- for (const mdFile of mdFiles) {
217
- let text;
218
- try {
219
- text = await fs.readText(mdFile);
220
- }
221
- catch {
222
- continue;
223
- }
224
- scanForSessionMarkers(text, mdFile, pluginRoot, findings);
225
- }
226
- return findings;
227
- }
228
- function scanForSessionMarkers(text, mdFile, pluginRoot, findings) {
229
- for (const marker of SESSION_SPECIFIC_MARKERS) {
230
- if (!text.includes(marker))
231
- continue;
232
- const rel = relative(pluginRoot, mdFile).split(sep).join("/");
233
- findings.push({
234
- level: "error",
235
- file: rel,
236
- msg: `contains session-specific name '${marker}' (frontend-design must stay generalized)`,
237
- });
238
- }
239
- }
240
- async function parseManifests(pluginRoot, fs, inputPluginVersion) {
241
- const findings = [];
242
- const manifestsInfo = {};
243
- let canonicalVersion = inputPluginVersion;
244
- let manifestPluginName = null;
245
- let manifestQtcContractVersion = null;
246
- for (const relPath of [".claude-plugin/plugin.json", ".codex-plugin/plugin.json"]) {
247
- const parsed = await parseManifestFile(join(pluginRoot, relPath), relPath, fs);
248
- manifestsInfo[relPath] = parsed.version;
249
- findings.push(...parsed.findings);
250
- if (parsed.parseError)
251
- continue;
252
- if (manifestPluginName === null && parsed.name !== null) {
253
- manifestPluginName = parsed.name;
254
- }
255
- if (canonicalVersion === null && parsed.version !== null) {
256
- canonicalVersion = parsed.version;
257
- }
258
- else if (canonicalVersion !== null &&
259
- parsed.version !== null &&
260
- parsed.version !== canonicalVersion) {
261
- findings.push({
262
- level: "error",
263
- file: relPath,
264
- msg: `version drift: manifest=${parsed.version} vs declared=${canonicalVersion}`,
265
- });
266
- }
267
- if (manifestQtcContractVersion === null && parsed.qtcContractVersion !== null) {
268
- manifestQtcContractVersion = parsed.qtcContractVersion;
269
- }
270
- }
271
- return {
272
- manifestsInfo,
273
- canonicalVersion,
274
- manifestPluginName,
275
- manifestQtcContractVersion,
276
- findings,
277
- };
278
- }
279
- async function parseManifestFile(manifestPath, relPath, fs) {
280
- const findings = [];
281
- if (!(await fs.exists(manifestPath))) {
282
- findings.push({ level: "warn", file: relPath, msg: "manifest missing" });
283
- return { version: null, name: null, qtcContractVersion: null, parseError: true, findings };
284
- }
285
- let raw;
286
- try {
287
- raw = await fs.readText(manifestPath);
288
- }
289
- catch (e) {
290
- findings.push({
291
- level: "error",
292
- file: relPath,
293
- msg: `invalid JSON: ${e.message}`,
294
- });
295
- return { version: null, name: null, qtcContractVersion: null, parseError: true, findings };
296
- }
297
- let data;
298
- try {
299
- data = JSON.parse(raw);
300
- }
301
- catch (e) {
302
- findings.push({
303
- level: "error",
304
- file: relPath,
305
- msg: `invalid JSON: ${e.message}`,
306
- });
307
- return { version: null, name: null, qtcContractVersion: null, parseError: true, findings };
308
- }
309
- if (!isRecord(data)) {
310
- return { version: null, name: null, qtcContractVersion: null, parseError: false, findings };
311
- }
312
- return {
313
- version: typeof data.version === "string" ? data.version : null,
314
- name: typeof data.name === "string" && data.name.length > 0 ? data.name : null,
315
- qtcContractVersion: typeof data.qtcContractVersion === "string" ? data.qtcContractVersion : null,
316
- parseError: false,
317
- findings,
318
- };
319
- }
320
- async function parseHooks(pluginRoot, fs) {
321
- const findings = [];
322
- const hooksInfo = {};
323
- for (const relPath of ["hooks/hooks.json", "codex-hooks/hooks.json"]) {
324
- const result = await parseHookFile(join(pluginRoot, relPath), relPath, fs);
325
- hooksInfo[relPath] = result.value;
326
- findings.push(...result.findings);
327
- }
328
- return { hooksInfo, findings };
329
- }
330
- async function parseHookFile(hookPath, relPath, fs) {
331
- const findings = [];
332
- if (!(await fs.exists(hookPath))) {
333
- findings.push({ level: "warn", file: relPath, msg: "hooks file missing" });
334
- return { value: null, findings };
335
- }
336
- let raw;
337
- try {
338
- raw = await fs.readText(hookPath);
339
- }
340
- catch (e) {
341
- findings.push({
342
- level: "error",
343
- file: relPath,
344
- msg: `invalid JSON: ${e.message}`,
345
- });
346
- return { value: null, findings };
347
- }
348
- let data;
349
- try {
350
- data = JSON.parse(raw);
351
- }
352
- catch (e) {
353
- findings.push({
354
- level: "error",
355
- file: relPath,
356
- msg: `invalid JSON: ${e.message}`,
357
- });
358
- return { value: null, findings };
359
- }
360
- if (!isRecord(data) || !("hooks" in data) || !isRecord(data.hooks)) {
361
- findings.push({
362
- level: "warn",
363
- file: relPath,
364
- msg: "hooks JSON missing top-level 'hooks' key",
365
- });
366
- return { value: "invalid-structure", findings };
367
- }
368
- return { value: Object.keys(data.hooks).sort(), findings };
369
- }
370
- async function validateMcp(pluginRoot, runtime, env, fs) {
371
- const findings = [];
372
- const mcpInfo = {};
373
- const mcpPath = join(pluginRoot, ".mcp.json");
374
- const expectedMcpServers = runtime.expectedMcpServers ?? [];
375
- if (expectedMcpServers.length === 0 || !(await fs.exists(mcpPath))) {
376
- return { mcpInfo, findings };
377
- }
378
- let mcpData = null;
379
- try {
380
- mcpData = JSON.parse(await fs.readText(mcpPath));
381
- }
382
- catch (e) {
383
- findings.push({
384
- level: "error",
385
- file: ".mcp.json",
386
- msg: `invalid JSON: ${e.message}`,
387
- });
388
- return { mcpInfo, findings };
389
- }
390
- if (!isRecord(mcpData))
391
- return { mcpInfo, findings };
392
- const servers = isRecord(mcpData.mcpServers) ? mcpData.mcpServers : {};
393
- for (const exp of expectedMcpServers) {
394
- const server = servers[exp];
395
- mcpInfo[exp] = validateMcpServer(server, exp, env, findings);
396
- }
397
- return { mcpInfo, findings };
398
- }
399
- function validateMcpServer(server, exp, env, findings) {
400
- if (server === undefined) {
401
- findings.push({
402
- level: "warn",
403
- file: ".mcp.json",
404
- msg: `expected server '${exp}' not configured`,
405
- });
406
- return "missing";
407
- }
408
- const dsnRaw = isRecord(server) && isRecord(server.env) && typeof server.env.DSN === "string"
409
- ? server.env.DSN
410
- : "";
411
- const m = dsnRaw.match(/^\$\{(\w+)\}$/);
412
- if (!m?.[1])
413
- return { dsn_env: null, env_set: null };
414
- const envVar = m[1];
415
- const envSet = Boolean(env.get(envVar));
416
- if (!envSet) {
417
- findings.push({
418
- level: "warn",
419
- file: ".mcp.json",
420
- msg: `env var ${envVar} not set (required by mcp server '${exp}')`,
421
- });
422
- }
423
- return { dsn_env: envVar, env_set: envSet };
424
- }
425
- async function validateExportedSkills(skillsDir, pluginRoot, exportsFile, pluginName, skillsInfo, fs) {
426
- const findings = [];
427
- const exportedInfo = [];
428
- const exportedSkills = await loadExportedSkills(fs, pluginRoot, exportsFile, pluginName);
429
- const skillsByDirName = new Map();
430
- for (const s of skillsInfo) {
431
- if (s.name)
432
- skillsByDirName.set(s.dir, s);
433
- }
434
- const skillsDirExists = await fs.exists(skillsDir);
435
- for (const exp of exportedSkills) {
436
- const record = await validateSingleExportedSkill(exp, skillsDir, skillsDirExists, skillsByDirName, fs, findings);
437
- exportedInfo.push(record);
438
- }
439
- return { exportedInfo, findings };
440
- }
441
- async function validateSingleExportedSkill(exp, skillsDir, skillsDirExists, skillsByDirName, fs, findings) {
442
- const expSkillName = exp.skill;
443
- const record = {
444
- namespace: exp.namespace,
445
- version_declared: exp.version ?? null,
446
- since: exp.since ?? null,
447
- exists_in_disk: false,
448
- frontmatter_ok: false,
449
- };
450
- if (!skillsDirExists) {
451
- findings.push({
452
- level: "error",
453
- file: "skills/",
454
- msg: `exported skill '${exp.namespace}' registered but plugin has no skills/ directory`,
455
- });
456
- return record;
457
- }
458
- const targetSkill = join(skillsDir, expSkillName, "SKILL.md");
459
- if (!(await fs.exists(targetSkill))) {
460
- findings.push({
461
- level: "error",
462
- file: `skills/${expSkillName}/SKILL.md`,
463
- msg: `exported skill '${exp.namespace}' registered but not found in plugin's skills/ directory — fix the register_exported_skill call or add the SKILL.md`,
464
- });
465
- return record;
466
- }
467
- record.exists_in_disk = true;
468
- const diskSkill = skillsByDirName.get(expSkillName);
469
- if (!diskSkill?.name || !diskSkill.version) {
470
- findings.push({
471
- level: "error",
472
- file: `skills/${expSkillName}/SKILL.md`,
473
- msg: "exported skill SKILL.md missing required frontmatter (name + version)",
474
- });
475
- return record;
476
- }
477
- record.frontmatter_ok = true;
478
- record.version_in_skill = diskSkill.version;
479
- if (exp.version && diskSkill.version !== exp.version) {
480
- findings.push({
481
- level: "warn",
482
- file: `skills/${expSkillName}/SKILL.md`,
483
- msg: `exported skill version drift: registry declares ${exp.version}, SKILL.md frontmatter declares ${diskSkill.version}`,
484
- });
485
- }
486
- return record;
487
- }
488
- async function loadExportedSkills(fs, pluginRoot, exportsFile, pluginName) {
489
- const sources = exportsFile
490
- ? await readExportsFromCustomFile(fs, exportsFile)
491
- : await readExportsFromClaudeManifest(fs, pluginRoot);
492
- return parseExportedSkillEntries(sources, pluginName);
493
- }
494
- async function readExportsFromCustomFile(fs, exportsFile) {
495
- if (!(await fs.exists(exportsFile)))
496
- return [];
497
- try {
498
- return [JSON.parse(await fs.readText(exportsFile))];
499
- }
500
- catch {
501
- return [];
502
- }
503
- }
504
- async function readExportsFromClaudeManifest(fs, pluginRoot) {
505
- const claudeManifest = join(pluginRoot, ".claude-plugin", "plugin.json");
506
- if (!(await fs.exists(claudeManifest)))
507
- return [];
508
- try {
509
- const data = JSON.parse(await fs.readText(claudeManifest));
510
- if (isRecord(data) && Array.isArray(data.exportedSkills)) {
511
- return [data.exportedSkills];
512
- }
513
- }
514
- catch {
515
- // ignore
516
- }
517
- return [];
518
- }
519
- function parseExportedSkillEntries(sources, pluginName) {
520
- const out = [];
521
- for (const src of sources) {
522
- if (!Array.isArray(src))
523
- continue;
524
- for (const item of src) {
525
- const entry = parseExportedSkillItem(item, pluginName);
526
- if (entry)
527
- out.push(entry);
528
- }
529
- }
530
- return out;
531
- }
532
- function parseExportedSkillItem(item, pluginName) {
533
- if (!isRecord(item))
534
- return null;
535
- const skill = typeof item.skill === "string" ? item.skill : null;
536
- if (!skill)
537
- return null;
538
- const plugin = typeof item.plugin === "string" && item.plugin.length > 0 ? item.plugin : pluginName;
539
- const namespace = typeof item.namespace === "string" && item.namespace.length > 0
540
- ? item.namespace
541
- : `${plugin}:${skill}`;
542
- return {
543
- plugin,
544
- skill,
545
- namespace,
546
- version: typeof item.version === "string" ? item.version : null,
547
- since: typeof item.since === "string" ? item.since : null,
548
- };
549
- }
550
- // ---------- low-level utilities (unchanged) ----------
551
- async function collectMarkdownFiles(fs, dir) {
552
- const out = [];
553
- const stack = [dir];
554
- while (stack.length > 0) {
555
- const current = stack.pop();
556
- if (!current)
557
- break;
558
- let entries;
559
- try {
560
- entries = await fs.list(current);
561
- }
562
- catch {
563
- continue;
564
- }
565
- for (const e of entries) {
566
- if (e.type === "dir")
567
- stack.push(e.path);
568
- else if (e.type === "file" && extname(e.name).toLowerCase() === ".md")
569
- out.push(e.path);
570
- }
571
- }
572
- return out;
573
- }
574
- function isRecord(v) {
575
- return typeof v === "object" && v !== null && !Array.isArray(v);
576
- }
577
73
  //# sourceMappingURL=plugin-doctor-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-doctor-service.js","sourceRoot":"","sources":["../../src/application/plugin-doctor-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin-doctor-service.js","sourceRoot":"","sources":["../../src/application/plugin-doctor-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { EnvPort } from "../../ports/env.js";
2
+ import type { FileSystemPort } from "../../ports/file-system.js";
3
+ import type { ResolvedRuntime } from "../../runtime/types.js";
4
+ import type { PathsService } from "../paths-service.js";
5
+ export interface SessionArtifactsResult {
6
+ session?: string;
7
+ path?: string;
8
+ code?: string | null;
9
+ flow?: string | null;
10
+ state?: string;
11
+ phase?: string;
12
+ scripts?: {
13
+ name: string;
14
+ path: string;
15
+ size: number | null;
16
+ is_rollback: boolean;
17
+ }[];
18
+ error?: string;
19
+ hint?: string;
20
+ [k: string]: unknown | {
21
+ path: string;
22
+ content: string;
23
+ size: number;
24
+ } | {
25
+ path: string;
26
+ error: string;
27
+ } | {
28
+ error: string;
29
+ } | null;
30
+ }
31
+ export declare function readSessionArtifacts(fs: FileSystemPort, env: EnvPort, paths: PathsService, sessionCode: string, kinds?: string[], runtime?: ResolvedRuntime): Promise<SessionArtifactsResult>;
32
+ //# sourceMappingURL=artifacts.d.ts.map