popeye-cli 2.2.0 → 2.7.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 (323) hide show
  1. package/dist/adapters/gemini.d.ts +14 -0
  2. package/dist/adapters/gemini.d.ts.map +1 -1
  3. package/dist/adapters/gemini.js +41 -6
  4. package/dist/adapters/gemini.js.map +1 -1
  5. package/dist/adapters/grok.d.ts +14 -0
  6. package/dist/adapters/grok.d.ts.map +1 -1
  7. package/dist/adapters/grok.js +42 -6
  8. package/dist/adapters/grok.js.map +1 -1
  9. package/dist/adapters/openai.d.ts +10 -0
  10. package/dist/adapters/openai.d.ts.map +1 -1
  11. package/dist/adapters/openai.js +44 -5
  12. package/dist/adapters/openai.js.map +1 -1
  13. package/dist/cli/commands/create.js +1 -1
  14. package/dist/cli/commands/create.js.map +1 -1
  15. package/dist/cli/interactive.d.ts.map +1 -1
  16. package/dist/cli/interactive.js +324 -20
  17. package/dist/cli/interactive.js.map +1 -1
  18. package/dist/generators/all.d.ts.map +1 -1
  19. package/dist/generators/all.js +3 -2
  20. package/dist/generators/all.js.map +1 -1
  21. package/dist/generators/doc-parser.d.ts +21 -6
  22. package/dist/generators/doc-parser.d.ts.map +1 -1
  23. package/dist/generators/doc-parser.js +55 -4
  24. package/dist/generators/doc-parser.js.map +1 -1
  25. package/dist/generators/templates/fullstack.js +1 -1
  26. package/dist/generators/templates/website-components.js +1 -1
  27. package/dist/generators/templates/website-components.js.map +1 -1
  28. package/dist/generators/templates/website-config.d.ts +4 -1
  29. package/dist/generators/templates/website-config.d.ts.map +1 -1
  30. package/dist/generators/templates/website-config.js +17 -11
  31. package/dist/generators/templates/website-config.js.map +1 -1
  32. package/dist/generators/templates/website-conversion.js +1 -1
  33. package/dist/generators/templates/website-conversion.js.map +1 -1
  34. package/dist/generators/templates/website-landing.js +1 -1
  35. package/dist/generators/templates/website-landing.js.map +1 -1
  36. package/dist/generators/templates/website-layout.d.ts +36 -4
  37. package/dist/generators/templates/website-layout.d.ts.map +1 -1
  38. package/dist/generators/templates/website-layout.js +466 -23
  39. package/dist/generators/templates/website-layout.js.map +1 -1
  40. package/dist/generators/templates/website-pricing.js +1 -1
  41. package/dist/generators/templates/website-pricing.js.map +1 -1
  42. package/dist/generators/templates/website-sections.js +1 -1
  43. package/dist/generators/templates/website-sections.js.map +1 -1
  44. package/dist/generators/templates/website-seo.d.ts.map +1 -1
  45. package/dist/generators/templates/website-seo.js +4 -1
  46. package/dist/generators/templates/website-seo.js.map +1 -1
  47. package/dist/generators/templates/website.d.ts +1 -1
  48. package/dist/generators/templates/website.d.ts.map +1 -1
  49. package/dist/generators/templates/website.js +1 -1
  50. package/dist/generators/templates/website.js.map +1 -1
  51. package/dist/generators/website-content-ai.d.ts +52 -0
  52. package/dist/generators/website-content-ai.d.ts.map +1 -0
  53. package/dist/generators/website-content-ai.js +141 -0
  54. package/dist/generators/website-content-ai.js.map +1 -0
  55. package/dist/generators/website-content-scanner.d.ts +1 -1
  56. package/dist/generators/website-content-scanner.d.ts.map +1 -1
  57. package/dist/generators/website-content-scanner.js +98 -1
  58. package/dist/generators/website-content-scanner.js.map +1 -1
  59. package/dist/generators/website-context.d.ts +34 -1
  60. package/dist/generators/website-context.d.ts.map +1 -1
  61. package/dist/generators/website-context.js +131 -9
  62. package/dist/generators/website-context.js.map +1 -1
  63. package/dist/generators/website-debug.d.ts +12 -0
  64. package/dist/generators/website-debug.d.ts.map +1 -1
  65. package/dist/generators/website-debug.js +16 -0
  66. package/dist/generators/website-debug.js.map +1 -1
  67. package/dist/generators/website.d.ts.map +1 -1
  68. package/dist/generators/website.js +26 -4
  69. package/dist/generators/website.js.map +1 -1
  70. package/dist/pipeline/auto-recovery.d.ts +56 -0
  71. package/dist/pipeline/auto-recovery.d.ts.map +1 -0
  72. package/dist/pipeline/auto-recovery.js +185 -0
  73. package/dist/pipeline/auto-recovery.js.map +1 -0
  74. package/dist/pipeline/change-request.d.ts +39 -0
  75. package/dist/pipeline/change-request.d.ts.map +1 -1
  76. package/dist/pipeline/change-request.js +40 -1
  77. package/dist/pipeline/change-request.js.map +1 -1
  78. package/dist/pipeline/check-runner.d.ts +30 -1
  79. package/dist/pipeline/check-runner.d.ts.map +1 -1
  80. package/dist/pipeline/check-runner.js +122 -1
  81. package/dist/pipeline/check-runner.js.map +1 -1
  82. package/dist/pipeline/command-resolver.d.ts.map +1 -1
  83. package/dist/pipeline/command-resolver.js +33 -2
  84. package/dist/pipeline/command-resolver.js.map +1 -1
  85. package/dist/pipeline/consensus/arbitrator-query.d.ts +22 -0
  86. package/dist/pipeline/consensus/arbitrator-query.d.ts.map +1 -0
  87. package/dist/pipeline/consensus/arbitrator-query.js +70 -0
  88. package/dist/pipeline/consensus/arbitrator-query.js.map +1 -0
  89. package/dist/pipeline/consensus/consensus-runner.d.ts +131 -7
  90. package/dist/pipeline/consensus/consensus-runner.d.ts.map +1 -1
  91. package/dist/pipeline/consensus/consensus-runner.js +809 -35
  92. package/dist/pipeline/consensus/consensus-runner.js.map +1 -1
  93. package/dist/pipeline/cr-lifecycle.d.ts +42 -0
  94. package/dist/pipeline/cr-lifecycle.d.ts.map +1 -0
  95. package/dist/pipeline/cr-lifecycle.js +89 -0
  96. package/dist/pipeline/cr-lifecycle.js.map +1 -0
  97. package/dist/pipeline/gate-engine.d.ts +1 -0
  98. package/dist/pipeline/gate-engine.d.ts.map +1 -1
  99. package/dist/pipeline/gate-engine.js +26 -7
  100. package/dist/pipeline/gate-engine.js.map +1 -1
  101. package/dist/pipeline/orchestrator.d.ts +1 -1
  102. package/dist/pipeline/orchestrator.d.ts.map +1 -1
  103. package/dist/pipeline/orchestrator.js +306 -16
  104. package/dist/pipeline/orchestrator.js.map +1 -1
  105. package/dist/pipeline/packets/consensus-packet-builder.d.ts +15 -4
  106. package/dist/pipeline/packets/consensus-packet-builder.d.ts.map +1 -1
  107. package/dist/pipeline/packets/consensus-packet-builder.js +29 -17
  108. package/dist/pipeline/packets/consensus-packet-builder.js.map +1 -1
  109. package/dist/pipeline/phases/architecture.d.ts.map +1 -1
  110. package/dist/pipeline/phases/architecture.js +5 -3
  111. package/dist/pipeline/phases/architecture.js.map +1 -1
  112. package/dist/pipeline/phases/audit.d.ts.map +1 -1
  113. package/dist/pipeline/phases/audit.js +5 -3
  114. package/dist/pipeline/phases/audit.js.map +1 -1
  115. package/dist/pipeline/phases/consensus-architecture.d.ts.map +1 -1
  116. package/dist/pipeline/phases/consensus-architecture.js +10 -1
  117. package/dist/pipeline/phases/consensus-architecture.js.map +1 -1
  118. package/dist/pipeline/phases/consensus-master-plan.d.ts.map +1 -1
  119. package/dist/pipeline/phases/consensus-master-plan.js +10 -3
  120. package/dist/pipeline/phases/consensus-master-plan.js.map +1 -1
  121. package/dist/pipeline/phases/consensus-role-plans.d.ts.map +1 -1
  122. package/dist/pipeline/phases/consensus-role-plans.js +10 -1
  123. package/dist/pipeline/phases/consensus-role-plans.js.map +1 -1
  124. package/dist/pipeline/phases/done.d.ts.map +1 -1
  125. package/dist/pipeline/phases/done.js +9 -4
  126. package/dist/pipeline/phases/done.js.map +1 -1
  127. package/dist/pipeline/phases/intake.d.ts.map +1 -1
  128. package/dist/pipeline/phases/intake.js +7 -3
  129. package/dist/pipeline/phases/intake.js.map +1 -1
  130. package/dist/pipeline/phases/phase-context.d.ts +2 -0
  131. package/dist/pipeline/phases/phase-context.d.ts.map +1 -1
  132. package/dist/pipeline/phases/phase-context.js +3 -1
  133. package/dist/pipeline/phases/phase-context.js.map +1 -1
  134. package/dist/pipeline/phases/production-gate.d.ts.map +1 -1
  135. package/dist/pipeline/phases/production-gate.js +28 -3
  136. package/dist/pipeline/phases/production-gate.js.map +1 -1
  137. package/dist/pipeline/phases/qa-validation.d.ts.map +1 -1
  138. package/dist/pipeline/phases/qa-validation.js +38 -5
  139. package/dist/pipeline/phases/qa-validation.js.map +1 -1
  140. package/dist/pipeline/phases/recovery-loop.d.ts +2 -0
  141. package/dist/pipeline/phases/recovery-loop.d.ts.map +1 -1
  142. package/dist/pipeline/phases/recovery-loop.js +200 -6
  143. package/dist/pipeline/phases/recovery-loop.js.map +1 -1
  144. package/dist/pipeline/phases/review.d.ts.map +1 -1
  145. package/dist/pipeline/phases/review.js +58 -28
  146. package/dist/pipeline/phases/review.js.map +1 -1
  147. package/dist/pipeline/phases/role-planning.d.ts.map +1 -1
  148. package/dist/pipeline/phases/role-planning.js +18 -2
  149. package/dist/pipeline/phases/role-planning.js.map +1 -1
  150. package/dist/pipeline/phases/stuck.d.ts.map +1 -1
  151. package/dist/pipeline/phases/stuck.js +10 -0
  152. package/dist/pipeline/phases/stuck.js.map +1 -1
  153. package/dist/pipeline/repo-snapshot.d.ts.map +1 -1
  154. package/dist/pipeline/repo-snapshot.js +3 -0
  155. package/dist/pipeline/repo-snapshot.js.map +1 -1
  156. package/dist/pipeline/role-execution-adapter.d.ts +2 -1
  157. package/dist/pipeline/role-execution-adapter.d.ts.map +1 -1
  158. package/dist/pipeline/role-execution-adapter.js +22 -7
  159. package/dist/pipeline/role-execution-adapter.js.map +1 -1
  160. package/dist/pipeline/skill-loader.d.ts +19 -0
  161. package/dist/pipeline/skill-loader.d.ts.map +1 -1
  162. package/dist/pipeline/skill-loader.js +22 -0
  163. package/dist/pipeline/skill-loader.js.map +1 -1
  164. package/dist/pipeline/skills/coverage-gate.d.ts +44 -0
  165. package/dist/pipeline/skills/coverage-gate.d.ts.map +1 -0
  166. package/dist/pipeline/skills/coverage-gate.js +143 -0
  167. package/dist/pipeline/skills/coverage-gate.js.map +1 -0
  168. package/dist/pipeline/skills/usage-registry.d.ts +48 -0
  169. package/dist/pipeline/skills/usage-registry.d.ts.map +1 -0
  170. package/dist/pipeline/skills/usage-registry.js +55 -0
  171. package/dist/pipeline/skills/usage-registry.js.map +1 -0
  172. package/dist/pipeline/strategy-context.d.ts +20 -0
  173. package/dist/pipeline/strategy-context.d.ts.map +1 -0
  174. package/dist/pipeline/strategy-context.js +55 -0
  175. package/dist/pipeline/strategy-context.js.map +1 -0
  176. package/dist/pipeline/type-defs/artifacts.d.ts +25 -5
  177. package/dist/pipeline/type-defs/artifacts.d.ts.map +1 -1
  178. package/dist/pipeline/type-defs/artifacts.js +4 -0
  179. package/dist/pipeline/type-defs/artifacts.js.map +1 -1
  180. package/dist/pipeline/type-defs/audit.d.ts +25 -13
  181. package/dist/pipeline/type-defs/audit.d.ts.map +1 -1
  182. package/dist/pipeline/type-defs/checks.d.ts +18 -8
  183. package/dist/pipeline/type-defs/checks.d.ts.map +1 -1
  184. package/dist/pipeline/type-defs/checks.js +4 -0
  185. package/dist/pipeline/type-defs/checks.js.map +1 -1
  186. package/dist/pipeline/type-defs/packets.d.ts +104 -18
  187. package/dist/pipeline/type-defs/packets.d.ts.map +1 -1
  188. package/dist/pipeline/type-defs/packets.js +17 -1
  189. package/dist/pipeline/type-defs/packets.js.map +1 -1
  190. package/dist/pipeline/type-defs/state.d.ts +160 -16
  191. package/dist/pipeline/type-defs/state.d.ts.map +1 -1
  192. package/dist/pipeline/type-defs/state.js +26 -1
  193. package/dist/pipeline/type-defs/state.js.map +1 -1
  194. package/dist/shared/text-utils.d.ts +23 -0
  195. package/dist/shared/text-utils.d.ts.map +1 -0
  196. package/dist/shared/text-utils.js +66 -0
  197. package/dist/shared/text-utils.js.map +1 -0
  198. package/dist/shared/website-strategy-format.d.ts +18 -0
  199. package/dist/shared/website-strategy-format.d.ts.map +1 -0
  200. package/dist/shared/website-strategy-format.js +47 -0
  201. package/dist/shared/website-strategy-format.js.map +1 -0
  202. package/dist/state/index.d.ts +2 -0
  203. package/dist/state/index.d.ts.map +1 -1
  204. package/dist/state/index.js +57 -8
  205. package/dist/state/index.js.map +1 -1
  206. package/dist/types/consensus.d.ts +1 -0
  207. package/dist/types/consensus.d.ts.map +1 -1
  208. package/dist/types/consensus.js.map +1 -1
  209. package/dist/types/website-strategy.d.ts +1 -1
  210. package/dist/types/workflow.d.ts +447 -0
  211. package/dist/types/workflow.d.ts.map +1 -1
  212. package/dist/types/workflow.js +3 -0
  213. package/dist/types/workflow.js.map +1 -1
  214. package/dist/upgrade/handlers.d.ts.map +1 -1
  215. package/dist/upgrade/handlers.js +6 -3
  216. package/dist/upgrade/handlers.js.map +1 -1
  217. package/dist/workflow/consensus.d.ts.map +1 -1
  218. package/dist/workflow/consensus.js +1 -0
  219. package/dist/workflow/consensus.js.map +1 -1
  220. package/dist/workflow/website-strategy.d.ts.map +1 -1
  221. package/dist/workflow/website-strategy.js +2 -29
  222. package/dist/workflow/website-strategy.js.map +1 -1
  223. package/dist/workflow/website-updater.d.ts.map +1 -1
  224. package/dist/workflow/website-updater.js +3 -2
  225. package/dist/workflow/website-updater.js.map +1 -1
  226. package/package.json +1 -1
  227. package/src/adapters/gemini.ts +51 -6
  228. package/src/adapters/grok.ts +51 -6
  229. package/src/adapters/openai.ts +53 -5
  230. package/src/cli/commands/create.ts +1 -1
  231. package/src/cli/interactive.ts +333 -19
  232. package/src/generators/all.ts +3 -2
  233. package/src/generators/doc-parser.ts +75 -15
  234. package/src/generators/templates/fullstack.ts +1 -1
  235. package/src/generators/templates/website-components.ts +1 -1
  236. package/src/generators/templates/website-config.ts +23 -11
  237. package/src/generators/templates/website-conversion.ts +1 -1
  238. package/src/generators/templates/website-landing.ts +1 -1
  239. package/src/generators/templates/website-layout.ts +491 -23
  240. package/src/generators/templates/website-pricing.ts +1 -1
  241. package/src/generators/templates/website-sections.ts +1 -1
  242. package/src/generators/templates/website-seo.ts +4 -1
  243. package/src/generators/templates/website.ts +3 -0
  244. package/src/generators/website-content-ai.ts +186 -0
  245. package/src/generators/website-content-scanner.ts +113 -1
  246. package/src/generators/website-context.ts +151 -12
  247. package/src/generators/website-debug.ts +26 -0
  248. package/src/generators/website.ts +28 -3
  249. package/src/pipeline/auto-recovery.ts +283 -0
  250. package/src/pipeline/change-request.ts +63 -1
  251. package/src/pipeline/check-runner.ts +141 -2
  252. package/src/pipeline/command-resolver.ts +34 -2
  253. package/src/pipeline/consensus/arbitrator-query.ts +101 -0
  254. package/src/pipeline/consensus/consensus-runner.ts +1099 -42
  255. package/src/pipeline/cr-lifecycle.ts +103 -0
  256. package/src/pipeline/gate-engine.ts +35 -7
  257. package/src/pipeline/orchestrator.ts +361 -16
  258. package/src/pipeline/packets/consensus-packet-builder.ts +44 -18
  259. package/src/pipeline/phases/architecture.ts +6 -3
  260. package/src/pipeline/phases/audit.ts +6 -3
  261. package/src/pipeline/phases/consensus-architecture.ts +10 -1
  262. package/src/pipeline/phases/consensus-master-plan.ts +10 -3
  263. package/src/pipeline/phases/consensus-role-plans.ts +10 -1
  264. package/src/pipeline/phases/done.ts +15 -4
  265. package/src/pipeline/phases/intake.ts +7 -3
  266. package/src/pipeline/phases/phase-context.ts +6 -1
  267. package/src/pipeline/phases/production-gate.ts +41 -3
  268. package/src/pipeline/phases/qa-validation.ts +51 -5
  269. package/src/pipeline/phases/recovery-loop.ts +229 -7
  270. package/src/pipeline/phases/review.ts +73 -30
  271. package/src/pipeline/phases/role-planning.ts +21 -2
  272. package/src/pipeline/phases/stuck.ts +10 -0
  273. package/src/pipeline/repo-snapshot.ts +3 -0
  274. package/src/pipeline/role-execution-adapter.ts +30 -4
  275. package/src/pipeline/skill-loader.ts +33 -0
  276. package/src/pipeline/skills/coverage-gate.ts +199 -0
  277. package/src/pipeline/skills/usage-registry.ts +87 -0
  278. package/src/pipeline/strategy-context.ts +60 -0
  279. package/src/pipeline/type-defs/artifacts.ts +4 -0
  280. package/src/pipeline/type-defs/checks.ts +4 -0
  281. package/src/pipeline/type-defs/packets.ts +18 -1
  282. package/src/pipeline/type-defs/state.ts +26 -1
  283. package/src/shared/text-utils.ts +70 -0
  284. package/src/shared/website-strategy-format.ts +56 -0
  285. package/src/state/index.ts +60 -8
  286. package/src/types/consensus.ts +1 -0
  287. package/src/types/workflow.ts +6 -0
  288. package/src/upgrade/handlers.ts +9 -3
  289. package/src/workflow/consensus.ts +1 -0
  290. package/src/workflow/website-strategy.ts +2 -36
  291. package/src/workflow/website-updater.ts +4 -2
  292. package/tests/adapters/gemini.test.ts +165 -0
  293. package/tests/adapters/grok.test.ts +137 -0
  294. package/tests/adapters/openai.test.ts +128 -0
  295. package/tests/generators/doc-parser.test.ts +88 -9
  296. package/tests/generators/quality-gate.test.ts +19 -3
  297. package/tests/generators/website-components.test.ts +34 -0
  298. package/tests/generators/website-content-ai.test.ts +308 -0
  299. package/tests/generators/website-content-scanner.test.ts +86 -0
  300. package/tests/generators/website-context.test.ts +3 -2
  301. package/tests/integration/smokestack-scaffold.test.ts +385 -0
  302. package/tests/pipeline/auto-recovery.test.ts +337 -0
  303. package/tests/pipeline/change-request.test.ts +70 -0
  304. package/tests/pipeline/command-resolver.test.ts +42 -0
  305. package/tests/pipeline/consensus/arbitrator-query.test.ts +107 -0
  306. package/tests/pipeline/consensus-runner.test.ts +1333 -10
  307. package/tests/pipeline/consensus-scoring.test.ts +602 -18
  308. package/tests/pipeline/gate-engine.test.ts +34 -0
  309. package/tests/pipeline/install-check.test.ts +261 -0
  310. package/tests/pipeline/orchestrator.test.ts +1506 -15
  311. package/tests/pipeline/packets/builders.test.ts +29 -6
  312. package/tests/pipeline/phases/role-planning.strategy.test.ts +204 -0
  313. package/tests/pipeline/pipeline-persistence.test.ts +230 -0
  314. package/tests/pipeline/recovery-loop-guidance.test.ts +280 -0
  315. package/tests/pipeline/role-execution-adapter.test.ts +88 -0
  316. package/tests/pipeline/skills/coverage-gate.test.ts +370 -0
  317. package/tests/pipeline/skills/usage-registry.test.ts +114 -0
  318. package/tests/pipeline/strategy-context.test.ts +148 -0
  319. package/tests/shared/text-utils.test.ts +155 -0
  320. package/tests/state/progress-analysis.test.ts +375 -0
  321. package/tests/upgrade/handlers.test.ts +33 -2
  322. package/tests/workflow/consensus.test.ts +6 -0
  323. package/tsconfig.json +1 -1
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Skill Usage Registry — in-memory helper wrapping the persistent
3
+ * SkillUsageEvent[] array from PipelineState.
4
+ *
5
+ * Records when a skill is actually injected into an LLM prompt
6
+ * or execution context (not on mere load).
7
+ */
8
+ // ─── Registry ────────────────────────────────────────────
9
+ /**
10
+ * Wraps the persistent events array from PipelineState.
11
+ * Pushes directly into the shared array reference so state
12
+ * serialization captures all recorded events.
13
+ */
14
+ export class SkillUsageRegistry {
15
+ events;
16
+ constructor(events) {
17
+ this.events = events;
18
+ }
19
+ /**
20
+ * Record a usage event.
21
+ *
22
+ * Call ONLY when skill is injected into an LLM prompt
23
+ * or execution context, not on mere load.
24
+ *
25
+ * Args:
26
+ * role: The pipeline role whose skill was used.
27
+ * phase: The phase during which usage occurred.
28
+ * usedAs: How the skill was consumed.
29
+ * skillSource: Whether from project override or defaults.
30
+ * version: Optional skill version string.
31
+ */
32
+ record(role, phase, usedAs, skillSource, version) {
33
+ this.events.push({
34
+ role,
35
+ phase,
36
+ used_as: usedAs,
37
+ skill_source: skillSource,
38
+ skill_version: version,
39
+ timestamp: new Date().toISOString(),
40
+ });
41
+ }
42
+ /** Get a copy of all recorded events. */
43
+ getEvents() {
44
+ return [...this.events];
45
+ }
46
+ /** Get events for a specific role. */
47
+ getEventsForRole(role) {
48
+ return this.events.filter((e) => e.role === role);
49
+ }
50
+ /** Check if any usage has been recorded for a role. */
51
+ hasUsage(role) {
52
+ return this.events.some((e) => e.role === role);
53
+ }
54
+ }
55
+ //# sourceMappingURL=usage-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-registry.js","sourceRoot":"","sources":["../../../src/pipeline/skills/usage-registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0BH,4DAA4D;AAE5D;;;;GAIG;AACH,MAAM,OAAO,kBAAkB;IACA;IAA7B,YAA6B,MAAyB;QAAzB,WAAM,GAAN,MAAM,CAAmB;IAAG,CAAC;IAE1D;;;;;;;;;;;;OAYG;IACH,MAAM,CACJ,IAAkB,EAClB,KAAoB,EACpB,MAAmB,EACnB,WAAwB,EACxB,OAAgB;QAEhB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YACf,IAAI;YACJ,KAAK;YACL,OAAO,EAAE,MAAM;YACf,YAAY,EAAE,WAAW;YACzB,aAAa,EAAE,OAAO;YACtB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,yCAAyC;IACzC,SAAS;QACP,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED,sCAAsC;IACtC,gBAAgB,CAAC,IAAkB;QACjC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,uDAAuD;IACvD,QAAQ,CAAC,IAAkB;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAClD,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Strategy context loader for pipeline roles.
3
+ * Loads website strategy from disk and formats it for injection
4
+ * into role planning and execution prompts.
5
+ */
6
+ import type { PipelineRole } from './types.js';
7
+ /** Roles that should receive website strategy context */
8
+ export declare const STRATEGY_ROLES: readonly PipelineRole[];
9
+ /**
10
+ * Load website strategy from disk and format for prompt injection.
11
+ * Checks known paths in order. Returns undefined if no valid strategy found.
12
+ *
13
+ * Args:
14
+ * projectDir: Root project directory containing .popeye/.
15
+ *
16
+ * Returns:
17
+ * string | undefined: Formatted strategy text, or undefined if not found/invalid.
18
+ */
19
+ export declare function loadStrategyForRole(projectDir: string): string | undefined;
20
+ //# sourceMappingURL=strategy-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy-context.d.ts","sourceRoot":"","sources":["../../src/pipeline/strategy-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI/C,yDAAyD;AACzD,eAAO,MAAM,cAAc,EAAE,SAAS,YAAY,EAIjD,CAAC;AAQF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAuB1E"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Strategy context loader for pipeline roles.
3
+ * Loads website strategy from disk and formats it for injection
4
+ * into role planning and execution prompts.
5
+ */
6
+ import { existsSync, readFileSync } from 'node:fs';
7
+ import { join } from 'node:path';
8
+ import { WebsiteStrategySchema } from '../types/website-strategy.js';
9
+ import { formatWebsiteStrategy } from '../shared/website-strategy-format.js';
10
+ /** Roles that should receive website strategy context */
11
+ export const STRATEGY_ROLES = [
12
+ 'WEBSITE_PROGRAMMER',
13
+ 'MARKETING_EXPERT',
14
+ 'SOCIAL_EXPERT',
15
+ ];
16
+ /** Known strategy file locations, checked in order */
17
+ const STRATEGY_PATHS = [
18
+ '.popeye/website-strategy.json',
19
+ '.popeye/website-strategy.md',
20
+ ];
21
+ /**
22
+ * Load website strategy from disk and format for prompt injection.
23
+ * Checks known paths in order. Returns undefined if no valid strategy found.
24
+ *
25
+ * Args:
26
+ * projectDir: Root project directory containing .popeye/.
27
+ *
28
+ * Returns:
29
+ * string | undefined: Formatted strategy text, or undefined if not found/invalid.
30
+ */
31
+ export function loadStrategyForRole(projectDir) {
32
+ for (const relPath of STRATEGY_PATHS) {
33
+ const fullPath = join(projectDir, relPath);
34
+ if (!existsSync(fullPath))
35
+ continue;
36
+ try {
37
+ const raw = readFileSync(fullPath, 'utf-8');
38
+ // .md files: return raw content directly
39
+ if (relPath.endsWith('.md'))
40
+ return raw;
41
+ // .json files: parse, validate, format
42
+ const parsed = JSON.parse(raw);
43
+ const strategyData = parsed.strategy ?? parsed;
44
+ const result = WebsiteStrategySchema.safeParse(strategyData);
45
+ if (!result.success)
46
+ continue;
47
+ return formatWebsiteStrategy(result.data);
48
+ }
49
+ catch {
50
+ continue; // Malformed file, try next path
51
+ }
52
+ }
53
+ return undefined;
54
+ }
55
+ //# sourceMappingURL=strategy-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy-context.js","sourceRoot":"","sources":["../../src/pipeline/strategy-context.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAE7E,yDAAyD;AACzD,MAAM,CAAC,MAAM,cAAc,GAA4B;IACrD,oBAAoB;IACpB,kBAAkB;IAClB,eAAe;CAChB,CAAC;AAEF,sDAAsD;AACtD,MAAM,cAAc,GAAG;IACrB,+BAA+B;IAC/B,6BAA6B;CACrB,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACpD,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QAEpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE5C,yCAAyC;YACzC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAAE,OAAO,GAAG,CAAC;YAExC,uCAAuC;YACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC;YAC/C,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC7D,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,SAAS;YAE9B,OAAO,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,gCAAgC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -4,10 +4,10 @@
4
4
  import { z } from 'zod';
5
5
  export declare const ArtifactTypeSchema: z.ZodEnum<{
6
6
  consensus: "consensus";
7
- arbitration: "arbitration";
8
7
  master_plan: "master_plan";
9
8
  architecture: "architecture";
10
9
  role_plan: "role_plan";
10
+ arbitration: "arbitration";
11
11
  audit_report: "audit_report";
12
12
  rca_report: "rca_report";
13
13
  production_readiness: "production_readiness";
@@ -27,8 +27,12 @@ export declare const ArtifactTypeSchema: z.ZodEnum<{
27
27
  resolved_commands: "resolved_commands";
28
28
  constitution: "constitution";
29
29
  change_request: "change_request";
30
+ recovery_fix_plan: "recovery_fix_plan";
31
+ auto_recovery_guidance: "auto_recovery_guidance";
30
32
  additional_context: "additional_context";
31
33
  skill_generation_log: "skill_generation_log";
34
+ skill_usage_log: "skill_usage_log";
35
+ install_check: "install_check";
32
36
  }>;
33
37
  export type ArtifactType = z.infer<typeof ArtifactTypeSchema>;
34
38
  export declare const ContentTypeSchema: z.ZodEnum<{
@@ -44,10 +48,10 @@ export declare const ArtifactRefSchema: z.ZodObject<{
44
48
  version: z.ZodNumber;
45
49
  type: z.ZodEnum<{
46
50
  consensus: "consensus";
47
- arbitration: "arbitration";
48
51
  master_plan: "master_plan";
49
52
  architecture: "architecture";
50
53
  role_plan: "role_plan";
54
+ arbitration: "arbitration";
51
55
  audit_report: "audit_report";
52
56
  rca_report: "rca_report";
53
57
  production_readiness: "production_readiness";
@@ -67,8 +71,12 @@ export declare const ArtifactRefSchema: z.ZodObject<{
67
71
  resolved_commands: "resolved_commands";
68
72
  constitution: "constitution";
69
73
  change_request: "change_request";
74
+ recovery_fix_plan: "recovery_fix_plan";
75
+ auto_recovery_guidance: "auto_recovery_guidance";
70
76
  additional_context: "additional_context";
71
77
  skill_generation_log: "skill_generation_log";
78
+ skill_usage_log: "skill_usage_log";
79
+ install_check: "install_check";
72
80
  }>;
73
81
  }, z.core.$strip>;
74
82
  export type ArtifactRef = z.infer<typeof ArtifactRefSchema>;
@@ -77,10 +85,10 @@ export declare const ArtifactEntrySchema: z.ZodObject<{
77
85
  id: z.ZodString;
78
86
  type: z.ZodEnum<{
79
87
  consensus: "consensus";
80
- arbitration: "arbitration";
81
88
  master_plan: "master_plan";
82
89
  architecture: "architecture";
83
90
  role_plan: "role_plan";
91
+ arbitration: "arbitration";
84
92
  audit_report: "audit_report";
85
93
  rca_report: "rca_report";
86
94
  production_readiness: "production_readiness";
@@ -100,8 +108,12 @@ export declare const ArtifactEntrySchema: z.ZodObject<{
100
108
  resolved_commands: "resolved_commands";
101
109
  constitution: "constitution";
102
110
  change_request: "change_request";
111
+ recovery_fix_plan: "recovery_fix_plan";
112
+ auto_recovery_guidance: "auto_recovery_guidance";
103
113
  additional_context: "additional_context";
104
114
  skill_generation_log: "skill_generation_log";
115
+ skill_usage_log: "skill_usage_log";
116
+ install_check: "install_check";
105
117
  }>;
106
118
  phase: z.ZodEnum<{
107
119
  INTAKE: "INTAKE";
@@ -141,10 +153,10 @@ export declare const DependencyEdgeSchema: z.ZodObject<{
141
153
  version: z.ZodNumber;
142
154
  type: z.ZodEnum<{
143
155
  consensus: "consensus";
144
- arbitration: "arbitration";
145
156
  master_plan: "master_plan";
146
157
  architecture: "architecture";
147
158
  role_plan: "role_plan";
159
+ arbitration: "arbitration";
148
160
  audit_report: "audit_report";
149
161
  rca_report: "rca_report";
150
162
  production_readiness: "production_readiness";
@@ -164,8 +176,12 @@ export declare const DependencyEdgeSchema: z.ZodObject<{
164
176
  resolved_commands: "resolved_commands";
165
177
  constitution: "constitution";
166
178
  change_request: "change_request";
179
+ recovery_fix_plan: "recovery_fix_plan";
180
+ auto_recovery_guidance: "auto_recovery_guidance";
167
181
  additional_context: "additional_context";
168
182
  skill_generation_log: "skill_generation_log";
183
+ skill_usage_log: "skill_usage_log";
184
+ install_check: "install_check";
169
185
  }>;
170
186
  }, z.core.$strip>;
171
187
  to: z.ZodObject<{
@@ -175,10 +191,10 @@ export declare const DependencyEdgeSchema: z.ZodObject<{
175
191
  version: z.ZodNumber;
176
192
  type: z.ZodEnum<{
177
193
  consensus: "consensus";
178
- arbitration: "arbitration";
179
194
  master_plan: "master_plan";
180
195
  architecture: "architecture";
181
196
  role_plan: "role_plan";
197
+ arbitration: "arbitration";
182
198
  audit_report: "audit_report";
183
199
  rca_report: "rca_report";
184
200
  production_readiness: "production_readiness";
@@ -198,8 +214,12 @@ export declare const DependencyEdgeSchema: z.ZodObject<{
198
214
  resolved_commands: "resolved_commands";
199
215
  constitution: "constitution";
200
216
  change_request: "change_request";
217
+ recovery_fix_plan: "recovery_fix_plan";
218
+ auto_recovery_guidance: "auto_recovery_guidance";
201
219
  additional_context: "additional_context";
202
220
  skill_generation_log: "skill_generation_log";
221
+ skill_usage_log: "skill_usage_log";
222
+ install_check: "install_check";
203
223
  }>;
204
224
  }, z.core.$strip>;
205
225
  relationship: z.ZodEnum<{
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../src/pipeline/type-defs/artifacts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,eAAO,MAAM,iBAAiB;;;EAA+B,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,sDAAsD;AACtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,wDAAwD;AACxD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAY9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAIhE,wCAAwC;AACxC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"artifacts.d.ts","sourceRoot":"","sources":["../../../src/pipeline/type-defs/artifacts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+B7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,eAAO,MAAM,iBAAiB;;;EAA+B,CAAC;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,sDAAsD;AACtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,wDAAwD;AACxD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAY9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAIhE,wCAAwC;AACxC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAI/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -29,8 +29,12 @@ export const ArtifactTypeSchema = z.enum([
29
29
  'resolved_commands',
30
30
  'constitution',
31
31
  'change_request',
32
+ 'recovery_fix_plan',
33
+ 'auto_recovery_guidance',
32
34
  'additional_context',
33
35
  'skill_generation_log',
36
+ 'skill_usage_log',
37
+ 'install_check',
34
38
  ]);
35
39
  // ─── Content Type ────────────────────────────────────────
36
40
  export const ContentTypeSchema = z.enum(['markdown', 'json']);
@@ -1 +1 @@
1
- {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/pipeline/type-defs/artifacts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,4DAA4D;AAE5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,aAAa;IACb,cAAc;IACd,WAAW;IACX,WAAW;IACX,aAAa;IACb,cAAc;IACd,YAAY;IACZ,sBAAsB;IACtB,eAAe;IACf,YAAY;IACZ,UAAU;IACV,eAAe;IACf,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,mBAAmB;IACnB,cAAc;IACd,gBAAgB;IAChB,oBAAoB;IACpB,sBAAsB;CACvB,CAAC,CAAC;AAGH,4DAA4D;AAE5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAG9D,4DAA4D;AAE5D,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAGH,4DAA4D;AAE5D,wDAAwD;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,mBAAmB;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1B,YAAY,EAAE,iBAAiB;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAGH,4DAA4D;AAE5D,wCAAwC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,iBAAiB;IACvB,EAAE,EAAE,iBAAiB;IACrB,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;CACjE,CAAC,CAAC"}
1
+ {"version":3,"file":"artifacts.js","sourceRoot":"","sources":["../../../src/pipeline/type-defs/artifacts.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,4DAA4D;AAE5D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC;IACvC,aAAa;IACb,cAAc;IACd,WAAW;IACX,WAAW;IACX,aAAa;IACb,cAAc;IACd,YAAY;IACZ,sBAAsB;IACtB,eAAe;IACf,YAAY;IACZ,UAAU;IACV,eAAe;IACf,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,iBAAiB;IACjB,cAAc;IACd,kBAAkB;IAClB,mBAAmB;IACnB,cAAc;IACd,gBAAgB;IAChB,mBAAmB;IACnB,wBAAwB;IACxB,oBAAoB;IACpB,sBAAsB;IACtB,iBAAiB;IACjB,eAAe;CAChB,CAAC,CAAC;AAGH,4DAA4D;AAE5D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;AAG9D,4DAA4D;AAE5D,sDAAsD;AACtD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAGH,4DAA4D;AAE5D,wDAAwD;AACxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,mBAAmB;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1B,YAAY,EAAE,iBAAiB;IAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAGH,4DAA4D;AAE5D,wCAAwC;AACxC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,iBAAiB;IACvB,EAAE,EAAE,iBAAiB;IACrB,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;CACjE,CAAC,CAAC"}
@@ -12,9 +12,9 @@ export type AuditSeverity = z.infer<typeof AuditSeveritySchema>;
12
12
  export declare const AuditCategorySchema: z.ZodEnum<{
13
13
  tests: "tests";
14
14
  integration: "integration";
15
+ deployment: "deployment";
15
16
  config: "config";
16
17
  schema: "schema";
17
- deployment: "deployment";
18
18
  security: "security";
19
19
  }>;
20
20
  export declare const AuditFindingSchema: z.ZodObject<{
@@ -28,9 +28,9 @@ export declare const AuditFindingSchema: z.ZodObject<{
28
28
  category: z.ZodEnum<{
29
29
  tests: "tests";
30
30
  integration: "integration";
31
+ deployment: "deployment";
31
32
  config: "config";
32
33
  schema: "schema";
33
- deployment: "deployment";
34
34
  security: "security";
35
35
  }>;
36
36
  description: z.ZodString;
@@ -41,10 +41,10 @@ export declare const AuditFindingSchema: z.ZodObject<{
41
41
  version: z.ZodNumber;
42
42
  type: z.ZodEnum<{
43
43
  consensus: "consensus";
44
- arbitration: "arbitration";
45
44
  master_plan: "master_plan";
46
45
  architecture: "architecture";
47
46
  role_plan: "role_plan";
47
+ arbitration: "arbitration";
48
48
  audit_report: "audit_report";
49
49
  rca_report: "rca_report";
50
50
  production_readiness: "production_readiness";
@@ -64,8 +64,12 @@ export declare const AuditFindingSchema: z.ZodObject<{
64
64
  resolved_commands: "resolved_commands";
65
65
  constitution: "constitution";
66
66
  change_request: "change_request";
67
+ recovery_fix_plan: "recovery_fix_plan";
68
+ auto_recovery_guidance: "auto_recovery_guidance";
67
69
  additional_context: "additional_context";
68
70
  skill_generation_log: "skill_generation_log";
71
+ skill_usage_log: "skill_usage_log";
72
+ install_check: "install_check";
69
73
  }>;
70
74
  }, z.core.$strip>>;
71
75
  file_path: z.ZodOptional<z.ZodString>;
@@ -101,10 +105,10 @@ export declare const AuditReportSchema: z.ZodObject<{
101
105
  version: z.ZodNumber;
102
106
  type: z.ZodEnum<{
103
107
  consensus: "consensus";
104
- arbitration: "arbitration";
105
108
  master_plan: "master_plan";
106
109
  architecture: "architecture";
107
110
  role_plan: "role_plan";
111
+ arbitration: "arbitration";
108
112
  audit_report: "audit_report";
109
113
  rca_report: "rca_report";
110
114
  production_readiness: "production_readiness";
@@ -124,8 +128,12 @@ export declare const AuditReportSchema: z.ZodObject<{
124
128
  resolved_commands: "resolved_commands";
125
129
  constitution: "constitution";
126
130
  change_request: "change_request";
131
+ recovery_fix_plan: "recovery_fix_plan";
132
+ auto_recovery_guidance: "auto_recovery_guidance";
127
133
  additional_context: "additional_context";
128
134
  skill_generation_log: "skill_generation_log";
135
+ skill_usage_log: "skill_usage_log";
136
+ install_check: "install_check";
129
137
  }>;
130
138
  }, z.core.$strip>;
131
139
  overall_status: z.ZodEnum<{
@@ -143,9 +151,9 @@ export declare const AuditReportSchema: z.ZodObject<{
143
151
  category: z.ZodEnum<{
144
152
  tests: "tests";
145
153
  integration: "integration";
154
+ deployment: "deployment";
146
155
  config: "config";
147
156
  schema: "schema";
148
- deployment: "deployment";
149
157
  security: "security";
150
158
  }>;
151
159
  description: z.ZodString;
@@ -156,10 +164,10 @@ export declare const AuditReportSchema: z.ZodObject<{
156
164
  version: z.ZodNumber;
157
165
  type: z.ZodEnum<{
158
166
  consensus: "consensus";
159
- arbitration: "arbitration";
160
167
  master_plan: "master_plan";
161
168
  architecture: "architecture";
162
169
  role_plan: "role_plan";
170
+ arbitration: "arbitration";
163
171
  audit_report: "audit_report";
164
172
  rca_report: "rca_report";
165
173
  production_readiness: "production_readiness";
@@ -179,8 +187,12 @@ export declare const AuditReportSchema: z.ZodObject<{
179
187
  resolved_commands: "resolved_commands";
180
188
  constitution: "constitution";
181
189
  change_request: "change_request";
190
+ recovery_fix_plan: "recovery_fix_plan";
191
+ auto_recovery_guidance: "auto_recovery_guidance";
182
192
  additional_context: "additional_context";
183
193
  skill_generation_log: "skill_generation_log";
194
+ skill_usage_log: "skill_usage_log";
195
+ install_check: "install_check";
184
196
  }>;
185
197
  }, z.core.$strip>>;
186
198
  file_path: z.ZodOptional<z.ZodString>;
@@ -213,28 +225,28 @@ export declare const ProductionReadinessSchema: z.ZodObject<{
213
225
  production_id: z.ZodString;
214
226
  timestamp: z.ZodString;
215
227
  build_status: z.ZodEnum<{
216
- fail: "fail";
217
228
  pass: "pass";
229
+ fail: "fail";
218
230
  skip: "skip";
219
231
  }>;
220
232
  test_status: z.ZodEnum<{
221
- fail: "fail";
222
233
  pass: "pass";
234
+ fail: "fail";
223
235
  skip: "skip";
224
236
  }>;
225
237
  lint_status: z.ZodEnum<{
226
- fail: "fail";
227
238
  pass: "pass";
239
+ fail: "fail";
228
240
  skip: "skip";
229
241
  }>;
230
242
  typecheck_status: z.ZodEnum<{
231
- fail: "fail";
232
243
  pass: "pass";
244
+ fail: "fail";
233
245
  skip: "skip";
234
246
  }>;
235
247
  migration_status: z.ZodEnum<{
236
- fail: "fail";
237
248
  pass: "pass";
249
+ fail: "fail";
238
250
  skip: "skip";
239
251
  "n/a": "n/a";
240
252
  }>;
@@ -243,13 +255,13 @@ export declare const ProductionReadinessSchema: z.ZodObject<{
243
255
  FAIL: "FAIL";
244
256
  }>;
245
257
  placeholder_scan_status: z.ZodEnum<{
246
- fail: "fail";
247
258
  pass: "pass";
259
+ fail: "fail";
248
260
  skip: "skip";
249
261
  }>;
250
262
  security_status: z.ZodEnum<{
251
- fail: "fail";
252
263
  pass: "pass";
264
+ fail: "fail";
253
265
  skip: "skip";
254
266
  }>;
255
267
  unresolved_blockers: z.ZodArray<z.ZodString>;
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/pipeline/type-defs/audit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,mBAAmB;;;;;EAAmC,CAAC;AACpE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;;;EAO9B,CAAC;AAIH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAapC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/pipeline/type-defs/audit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,mBAAmB;;;;;EAAmC,CAAC;AACpE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;;;EAO9B,CAAC;AAIH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAI5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAapC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -3,30 +3,34 @@
3
3
  */
4
4
  import { z } from 'zod';
5
5
  export declare const GateCheckTypeSchema: z.ZodEnum<{
6
- test: "test";
7
- build: "build";
8
- migration: "migration";
9
6
  placeholder_scan: "placeholder_scan";
7
+ build: "build";
8
+ test: "test";
10
9
  lint: "lint";
11
10
  typecheck: "typecheck";
11
+ migration: "migration";
12
12
  start: "start";
13
13
  env_check: "env_check";
14
+ skill_coverage: "skill_coverage";
15
+ install: "install";
14
16
  }>;
15
17
  export type GateCheckType = z.infer<typeof GateCheckTypeSchema>;
16
18
  export declare const GateCheckResultSchema: z.ZodObject<{
17
19
  check_type: z.ZodEnum<{
18
- test: "test";
19
- build: "build";
20
- migration: "migration";
21
20
  placeholder_scan: "placeholder_scan";
21
+ build: "build";
22
+ test: "test";
22
23
  lint: "lint";
23
24
  typecheck: "typecheck";
25
+ migration: "migration";
24
26
  start: "start";
25
27
  env_check: "env_check";
28
+ skill_coverage: "skill_coverage";
29
+ install: "install";
26
30
  }>;
27
31
  status: z.ZodEnum<{
28
- fail: "fail";
29
32
  pass: "pass";
33
+ fail: "fail";
30
34
  skip: "skip";
31
35
  }>;
32
36
  command: z.ZodString;
@@ -38,10 +42,10 @@ export declare const GateCheckResultSchema: z.ZodObject<{
38
42
  version: z.ZodNumber;
39
43
  type: z.ZodEnum<{
40
44
  consensus: "consensus";
41
- arbitration: "arbitration";
42
45
  master_plan: "master_plan";
43
46
  architecture: "architecture";
44
47
  role_plan: "role_plan";
48
+ arbitration: "arbitration";
45
49
  audit_report: "audit_report";
46
50
  rca_report: "rca_report";
47
51
  production_readiness: "production_readiness";
@@ -61,8 +65,12 @@ export declare const GateCheckResultSchema: z.ZodObject<{
61
65
  resolved_commands: "resolved_commands";
62
66
  constitution: "constitution";
63
67
  change_request: "change_request";
68
+ recovery_fix_plan: "recovery_fix_plan";
69
+ auto_recovery_guidance: "auto_recovery_guidance";
64
70
  additional_context: "additional_context";
65
71
  skill_generation_log: "skill_generation_log";
72
+ skill_usage_log: "skill_usage_log";
73
+ install_check: "install_check";
66
74
  }>;
67
75
  }, z.core.$strip>>;
68
76
  stderr_summary: z.ZodOptional<z.ZodString>;
@@ -77,6 +85,8 @@ export declare const ResolvedCommandsSchema: z.ZodObject<{
77
85
  typecheck: z.ZodOptional<z.ZodString>;
78
86
  migrations: z.ZodOptional<z.ZodString>;
79
87
  start: z.ZodOptional<z.ZodString>;
88
+ install: z.ZodOptional<z.ZodString>;
89
+ install_cwd: z.ZodOptional<z.ZodString>;
80
90
  resolved_from: z.ZodString;
81
91
  }, z.core.$strip>;
82
92
  export type ResolvedCommands = z.infer<typeof ResolvedCommandsSchema>;
@@ -1 +1 @@
1
- {"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../../src/pipeline/type-defs/checks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,mBAAmB;;;;;;;;;EAS9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAIhE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAShC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,sBAAsB;;;;;;;;iBAQjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../../../src/pipeline/type-defs/checks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,mBAAmB;;;;;;;;;;;EAW9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAIhE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAShC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAIpE,eAAO,MAAM,sBAAsB;;;;;;;;;;iBAUjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -13,6 +13,8 @@ export const GateCheckTypeSchema = z.enum([
13
13
  'placeholder_scan',
14
14
  'start',
15
15
  'env_check',
16
+ 'skill_coverage',
17
+ 'install',
16
18
  ]);
17
19
  // ─── Gate Check Result ───────────────────────────────────
18
20
  export const GateCheckResultSchema = z.object({
@@ -33,6 +35,8 @@ export const ResolvedCommandsSchema = z.object({
33
35
  typecheck: z.string().optional(),
34
36
  migrations: z.string().optional(),
35
37
  start: z.string().optional(),
38
+ install: z.string().optional(),
39
+ install_cwd: z.string().optional(),
36
40
  resolved_from: z.string(),
37
41
  });
38
42
  //# sourceMappingURL=checks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checks.js","sourceRoot":"","sources":["../../../src/pipeline/type-defs/checks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,4DAA4D;AAE5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC;IACxC,OAAO;IACP,MAAM;IACN,MAAM;IACN,WAAW;IACX,WAAW;IACX,kBAAkB;IAClB,OAAO;IACP,WAAW;CACZ,CAAC,CAAC;AAGH,4DAA4D;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,UAAU,EAAE,mBAAmB;IAC/B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC3B,eAAe,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAC7C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAGH,4DAA4D;AAE5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"checks.js","sourceRoot":"","sources":["../../../src/pipeline/type-defs/checks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,4DAA4D;AAE5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC;IACxC,OAAO;IACP,MAAM;IACN,MAAM;IACN,WAAW;IACX,WAAW;IACX,kBAAkB;IAClB,OAAO;IACP,WAAW;IACX,gBAAgB;IAChB,SAAS;CACV,CAAC,CAAC;AAGH,4DAA4D;AAE5D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,UAAU,EAAE,mBAAmB;IAC/B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC3B,eAAe,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAC7C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAGH,4DAA4D;AAE5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE;CAC1B,CAAC,CAAC"}