mcp-adr-analysis-server 2.1.9 → 2.1.20

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 (408) hide show
  1. package/README.md +55 -8
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/index.d.ts +78 -2
  4. package/dist/src/index.d.ts.map +1 -1
  5. package/dist/src/index.js +1793 -577
  6. package/dist/src/index.js.map +1 -1
  7. package/dist/src/prompts/index.d.ts.map +1 -1
  8. package/dist/src/prompts/index.js +23 -6
  9. package/dist/src/prompts/index.js.map +1 -1
  10. package/dist/src/prompts/validated-pattern-prompts.d.ts +33 -0
  11. package/dist/src/prompts/validated-pattern-prompts.d.ts.map +1 -0
  12. package/dist/src/prompts/validated-pattern-prompts.js +337 -0
  13. package/dist/src/prompts/validated-pattern-prompts.js.map +1 -0
  14. package/dist/src/resources/adr-by-id-resource.d.ts +116 -0
  15. package/dist/src/resources/adr-by-id-resource.d.ts.map +1 -0
  16. package/dist/src/resources/adr-by-id-resource.js +213 -0
  17. package/dist/src/resources/adr-by-id-resource.js.map +1 -0
  18. package/dist/src/resources/code-quality-resource.d.ts +105 -0
  19. package/dist/src/resources/code-quality-resource.d.ts.map +1 -0
  20. package/dist/src/resources/code-quality-resource.js +282 -0
  21. package/dist/src/resources/code-quality-resource.js.map +1 -0
  22. package/dist/src/resources/deployment-history-resource.d.ts +214 -0
  23. package/dist/src/resources/deployment-history-resource.d.ts.map +1 -0
  24. package/dist/src/resources/deployment-history-resource.js +308 -0
  25. package/dist/src/resources/deployment-history-resource.js.map +1 -0
  26. package/dist/src/resources/deployment-status-resource.d.ts +256 -0
  27. package/dist/src/resources/deployment-status-resource.d.ts.map +1 -0
  28. package/dist/src/resources/deployment-status-resource.js +665 -0
  29. package/dist/src/resources/deployment-status-resource.js.map +1 -0
  30. package/dist/src/resources/environment-analysis-resource.d.ts +237 -0
  31. package/dist/src/resources/environment-analysis-resource.d.ts.map +1 -0
  32. package/dist/src/resources/environment-analysis-resource.js +646 -0
  33. package/dist/src/resources/environment-analysis-resource.js.map +1 -0
  34. package/dist/src/resources/index.d.ts +6 -2
  35. package/dist/src/resources/index.d.ts.map +1 -1
  36. package/dist/src/resources/index.js +247 -492
  37. package/dist/src/resources/index.js.map +1 -1
  38. package/dist/src/resources/memory-snapshots-resource.d.ts +180 -0
  39. package/dist/src/resources/memory-snapshots-resource.d.ts.map +1 -0
  40. package/dist/src/resources/memory-snapshots-resource.js +847 -0
  41. package/dist/src/resources/memory-snapshots-resource.js.map +1 -0
  42. package/dist/src/resources/pattern-base-code-by-platform-resource.d.ts +35 -0
  43. package/dist/src/resources/pattern-base-code-by-platform-resource.d.ts.map +1 -0
  44. package/dist/src/resources/pattern-base-code-by-platform-resource.js +72 -0
  45. package/dist/src/resources/pattern-base-code-by-platform-resource.js.map +1 -0
  46. package/dist/src/resources/pattern-by-name-resource.d.ts +53 -0
  47. package/dist/src/resources/pattern-by-name-resource.d.ts.map +1 -0
  48. package/dist/src/resources/pattern-by-name-resource.js +200 -0
  49. package/dist/src/resources/pattern-by-name-resource.js.map +1 -0
  50. package/dist/src/resources/pattern-sources-by-platform-resource.d.ts +26 -0
  51. package/dist/src/resources/pattern-sources-by-platform-resource.d.ts.map +1 -0
  52. package/dist/src/resources/pattern-sources-by-platform-resource.js +59 -0
  53. package/dist/src/resources/pattern-sources-by-platform-resource.js.map +1 -0
  54. package/dist/src/resources/project-metrics-resource.d.ts +180 -0
  55. package/dist/src/resources/project-metrics-resource.d.ts.map +1 -0
  56. package/dist/src/resources/project-metrics-resource.js +487 -0
  57. package/dist/src/resources/project-metrics-resource.js.map +1 -0
  58. package/dist/src/resources/project-status-resource.d.ts +75 -0
  59. package/dist/src/resources/project-status-resource.d.ts.map +1 -0
  60. package/dist/src/resources/project-status-resource.js +189 -0
  61. package/dist/src/resources/project-status-resource.js.map +1 -0
  62. package/dist/src/resources/research-by-topic-resource.d.ts +21 -0
  63. package/dist/src/resources/research-by-topic-resource.d.ts.map +1 -0
  64. package/dist/src/resources/research-by-topic-resource.js +125 -0
  65. package/dist/src/resources/research-by-topic-resource.js.map +1 -0
  66. package/dist/src/resources/research-index-resource.d.ts +100 -0
  67. package/dist/src/resources/research-index-resource.d.ts.map +1 -0
  68. package/dist/src/resources/research-index-resource.js +200 -0
  69. package/dist/src/resources/research-index-resource.js.map +1 -0
  70. package/dist/src/resources/resource-cache.d.ts +144 -0
  71. package/dist/src/resources/resource-cache.d.ts.map +1 -0
  72. package/dist/src/resources/resource-cache.js +316 -0
  73. package/dist/src/resources/resource-cache.js.map +1 -0
  74. package/dist/src/resources/resource-router.d.ts +45 -0
  75. package/dist/src/resources/resource-router.d.ts.map +1 -0
  76. package/dist/src/resources/resource-router.js +96 -0
  77. package/dist/src/resources/resource-router.js.map +1 -0
  78. package/dist/src/resources/rule-by-id-resource.d.ts +38 -0
  79. package/dist/src/resources/rule-by-id-resource.d.ts.map +1 -0
  80. package/dist/src/resources/rule-by-id-resource.js +104 -0
  81. package/dist/src/resources/rule-by-id-resource.js.map +1 -0
  82. package/dist/src/resources/rule-catalog-resource.d.ts +126 -0
  83. package/dist/src/resources/rule-catalog-resource.d.ts.map +1 -0
  84. package/dist/src/resources/rule-catalog-resource.js +224 -0
  85. package/dist/src/resources/rule-catalog-resource.js.map +1 -0
  86. package/dist/src/resources/rule-generation-resource.d.ts +80 -0
  87. package/dist/src/resources/rule-generation-resource.d.ts.map +1 -0
  88. package/dist/src/resources/rule-generation-resource.js +282 -0
  89. package/dist/src/resources/rule-generation-resource.js.map +1 -0
  90. package/dist/src/resources/technology-by-name-resource.d.ts +43 -0
  91. package/dist/src/resources/technology-by-name-resource.d.ts.map +1 -0
  92. package/dist/src/resources/technology-by-name-resource.js +176 -0
  93. package/dist/src/resources/technology-by-name-resource.js.map +1 -0
  94. package/dist/src/resources/todo-by-id-resource.d.ts +46 -0
  95. package/dist/src/resources/todo-by-id-resource.d.ts.map +1 -0
  96. package/dist/src/resources/todo-by-id-resource.js +192 -0
  97. package/dist/src/resources/todo-by-id-resource.js.map +1 -0
  98. package/dist/src/resources/todo-list-resource.d.ts +96 -0
  99. package/dist/src/resources/todo-list-resource.d.ts.map +1 -0
  100. package/dist/src/resources/todo-list-resource.js +209 -0
  101. package/dist/src/resources/todo-list-resource.js.map +1 -0
  102. package/dist/src/resources/validated-pattern-by-platform-resource.d.ts +14 -0
  103. package/dist/src/resources/validated-pattern-by-platform-resource.d.ts.map +1 -0
  104. package/dist/src/resources/validated-pattern-by-platform-resource.js +45 -0
  105. package/dist/src/resources/validated-pattern-by-platform-resource.js.map +1 -0
  106. package/dist/src/resources/validated-patterns-catalog-resource.d.ts +36 -0
  107. package/dist/src/resources/validated-patterns-catalog-resource.d.ts.map +1 -0
  108. package/dist/src/resources/validated-patterns-catalog-resource.js +57 -0
  109. package/dist/src/resources/validated-patterns-catalog-resource.js.map +1 -0
  110. package/dist/src/templates/domain-knowledge-templates.d.ts.map +1 -1
  111. package/dist/src/templates/domain-knowledge-templates.js +49 -49
  112. package/dist/src/templates/domain-knowledge-templates.js.map +1 -1
  113. package/dist/src/tools/adr-bootstrap-validation-tool.d.ts.map +1 -1
  114. package/dist/src/tools/adr-bootstrap-validation-tool.js +214 -4
  115. package/dist/src/tools/adr-bootstrap-validation-tool.js.map +1 -1
  116. package/dist/src/tools/adr-suggestion-tool.d.ts +2 -2
  117. package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
  118. package/dist/src/tools/adr-suggestion-tool.js +129 -12
  119. package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
  120. package/dist/src/tools/adr-validation-tool.d.ts +98 -0
  121. package/dist/src/tools/adr-validation-tool.d.ts.map +1 -0
  122. package/dist/src/tools/adr-validation-tool.js +372 -0
  123. package/dist/src/tools/adr-validation-tool.js.map +1 -0
  124. package/dist/src/tools/bootstrap-validation-loop-tool.d.ts +262 -0
  125. package/dist/src/tools/bootstrap-validation-loop-tool.d.ts.map +1 -0
  126. package/dist/src/tools/bootstrap-validation-loop-tool.js +1934 -0
  127. package/dist/src/tools/bootstrap-validation-loop-tool.js.map +1 -0
  128. package/dist/src/tools/conversation-memory-tool.d.ts +48 -0
  129. package/dist/src/tools/conversation-memory-tool.d.ts.map +1 -0
  130. package/dist/src/tools/conversation-memory-tool.js +254 -0
  131. package/dist/src/tools/conversation-memory-tool.js.map +1 -0
  132. package/dist/src/tools/deployment-analysis-tool.d.ts.map +1 -1
  133. package/dist/src/tools/deployment-analysis-tool.js +82 -6
  134. package/dist/src/tools/deployment-analysis-tool.js.map +1 -1
  135. package/dist/src/tools/deployment-guidance-tool.d.ts.map +1 -1
  136. package/dist/src/tools/deployment-guidance-tool.js +126 -25
  137. package/dist/src/tools/deployment-guidance-tool.js.map +1 -1
  138. package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -1
  139. package/dist/src/tools/deployment-readiness-tool.js +166 -5
  140. package/dist/src/tools/deployment-readiness-tool.js.map +1 -1
  141. package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
  142. package/dist/src/tools/environment-analysis-tool.js +36 -1
  143. package/dist/src/tools/environment-analysis-tool.js.map +1 -1
  144. package/dist/src/tools/expand-analysis-tool.d.ts +23 -0
  145. package/dist/src/tools/expand-analysis-tool.d.ts.map +1 -0
  146. package/dist/src/tools/expand-analysis-tool.js +107 -0
  147. package/dist/src/tools/expand-analysis-tool.js.map +1 -0
  148. package/dist/src/tools/get-server-context-tool.d.ts +67 -0
  149. package/dist/src/tools/get-server-context-tool.d.ts.map +1 -0
  150. package/dist/src/tools/get-server-context-tool.js +75 -0
  151. package/dist/src/tools/get-server-context-tool.js.map +1 -0
  152. package/dist/src/tools/interactive-adr-planning-tool.d.ts.map +1 -1
  153. package/dist/src/tools/interactive-adr-planning-tool.js +82 -9
  154. package/dist/src/tools/interactive-adr-planning-tool.js.map +1 -1
  155. package/dist/src/tools/llm-cloud-management-tool.d.ts +62 -0
  156. package/dist/src/tools/llm-cloud-management-tool.d.ts.map +1 -0
  157. package/dist/src/tools/llm-cloud-management-tool.js +202 -0
  158. package/dist/src/tools/llm-cloud-management-tool.js.map +1 -0
  159. package/dist/src/tools/llm-database-management-tool.d.ts +62 -0
  160. package/dist/src/tools/llm-database-management-tool.d.ts.map +1 -0
  161. package/dist/src/tools/llm-database-management-tool.js +203 -0
  162. package/dist/src/tools/llm-database-management-tool.js.map +1 -0
  163. package/dist/src/tools/llm-web-search-tool.d.ts +59 -0
  164. package/dist/src/tools/llm-web-search-tool.d.ts.map +1 -0
  165. package/dist/src/tools/llm-web-search-tool.js +165 -0
  166. package/dist/src/tools/llm-web-search-tool.js.map +1 -0
  167. package/dist/src/tools/mcp-planning-tool.d.ts.map +1 -1
  168. package/dist/src/tools/mcp-planning-tool.js +10 -3
  169. package/dist/src/tools/mcp-planning-tool.js.map +1 -1
  170. package/dist/src/tools/memory-loading-tool.d.ts.map +1 -1
  171. package/dist/src/tools/memory-loading-tool.js +4 -2
  172. package/dist/src/tools/memory-loading-tool.js.map +1 -1
  173. package/dist/src/tools/perform-research-tool.d.ts +61 -0
  174. package/dist/src/tools/perform-research-tool.d.ts.map +1 -0
  175. package/dist/src/tools/perform-research-tool.js +324 -0
  176. package/dist/src/tools/perform-research-tool.js.map +1 -0
  177. package/dist/src/tools/research-question-tool.d.ts.map +1 -1
  178. package/dist/src/tools/research-question-tool.js +11 -9
  179. package/dist/src/tools/research-question-tool.js.map +1 -1
  180. package/dist/src/tools/review-existing-adrs-tool.d.ts.map +1 -1
  181. package/dist/src/tools/review-existing-adrs-tool.js +42 -3
  182. package/dist/src/tools/review-existing-adrs-tool.js.map +1 -1
  183. package/dist/src/tools/tool-chain-orchestrator.d.ts +15 -94
  184. package/dist/src/tools/tool-chain-orchestrator.d.ts.map +1 -1
  185. package/dist/src/tools/tool-chain-orchestrator.js +2 -2
  186. package/dist/src/tools/tool-chain-orchestrator.js.map +1 -1
  187. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +25 -120
  188. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -1
  189. package/dist/src/tools/troubleshoot-guided-workflow-tool.js +91 -2
  190. package/dist/src/tools/troubleshoot-guided-workflow-tool.js.map +1 -1
  191. package/dist/src/types/ape-framework.d.ts +50 -283
  192. package/dist/src/types/ape-framework.d.ts.map +1 -1
  193. package/dist/src/types/conversation-context.d.ts.map +1 -1
  194. package/dist/src/types/conversation-context.js +12 -12
  195. package/dist/src/types/conversation-context.js.map +1 -1
  196. package/dist/src/types/conversation-memory.d.ts +184 -0
  197. package/dist/src/types/conversation-memory.d.ts.map +1 -0
  198. package/dist/src/types/conversation-memory.js +8 -0
  199. package/dist/src/types/conversation-memory.js.map +1 -0
  200. package/dist/src/types/index.d.ts +112 -339
  201. package/dist/src/types/index.d.ts.map +1 -1
  202. package/dist/src/types/knowledge-generation.d.ts +96 -401
  203. package/dist/src/types/knowledge-generation.d.ts.map +1 -1
  204. package/dist/src/types/knowledge-graph-schemas.d.ts +77 -715
  205. package/dist/src/types/knowledge-graph-schemas.d.ts.map +1 -1
  206. package/dist/src/types/knowledge-graph-schemas.js +8 -8
  207. package/dist/src/types/knowledge-graph-schemas.js.map +1 -1
  208. package/dist/src/types/memory-entities.d.ts +1230 -6164
  209. package/dist/src/types/memory-entities.d.ts.map +1 -1
  210. package/dist/src/types/memory-entities.js +8 -8
  211. package/dist/src/types/memory-entities.js.map +1 -1
  212. package/dist/src/types/reflexion-framework.d.ts +35 -264
  213. package/dist/src/types/reflexion-framework.d.ts.map +1 -1
  214. package/dist/src/types/reflexion-framework.js +1 -1
  215. package/dist/src/types/reflexion-framework.js.map +1 -1
  216. package/dist/src/types/state-reinforcement.d.ts +87 -0
  217. package/dist/src/types/state-reinforcement.d.ts.map +1 -0
  218. package/dist/src/types/state-reinforcement.js +5 -0
  219. package/dist/src/types/state-reinforcement.js.map +1 -0
  220. package/dist/src/types/tiered-response.d.ts +61 -0
  221. package/dist/src/types/tiered-response.d.ts.map +1 -0
  222. package/dist/src/types/tiered-response.js +8 -0
  223. package/dist/src/types/tiered-response.js.map +1 -0
  224. package/dist/src/types/tool-context.d.ts +50 -0
  225. package/dist/src/types/tool-context.d.ts.map +1 -0
  226. package/dist/src/types/tool-context.js +20 -0
  227. package/dist/src/types/tool-context.js.map +1 -0
  228. package/dist/src/utils/adr-action-analyzer.d.ts +23 -0
  229. package/dist/src/utils/adr-action-analyzer.d.ts.map +1 -0
  230. package/dist/src/utils/adr-action-analyzer.js +323 -0
  231. package/dist/src/utils/adr-action-analyzer.js.map +1 -0
  232. package/dist/src/utils/adr-context-detector.d.ts +33 -0
  233. package/dist/src/utils/adr-context-detector.d.ts.map +1 -0
  234. package/dist/src/utils/adr-context-detector.js +279 -0
  235. package/dist/src/utils/adr-context-detector.js.map +1 -0
  236. package/dist/src/utils/adr-discovery.d.ts +28 -2
  237. package/dist/src/utils/adr-discovery.d.ts.map +1 -1
  238. package/dist/src/utils/adr-discovery.js +91 -7
  239. package/dist/src/utils/adr-discovery.js.map +1 -1
  240. package/dist/src/utils/adr-knowledge-initializer.d.ts +54 -0
  241. package/dist/src/utils/adr-knowledge-initializer.d.ts.map +1 -0
  242. package/dist/src/utils/adr-knowledge-initializer.js +240 -0
  243. package/dist/src/utils/adr-knowledge-initializer.js.map +1 -0
  244. package/dist/src/utils/adr-timeline-extractor.d.ts +21 -0
  245. package/dist/src/utils/adr-timeline-extractor.d.ts.map +1 -0
  246. package/dist/src/utils/adr-timeline-extractor.js +294 -0
  247. package/dist/src/utils/adr-timeline-extractor.js.map +1 -0
  248. package/dist/src/utils/adr-timeline-types.d.ts +234 -0
  249. package/dist/src/utils/adr-timeline-types.d.ts.map +1 -0
  250. package/dist/src/utils/adr-timeline-types.js +7 -0
  251. package/dist/src/utils/adr-timeline-types.js.map +1 -0
  252. package/dist/src/utils/ai-executor.d.ts +36 -0
  253. package/dist/src/utils/ai-executor.d.ts.map +1 -1
  254. package/dist/src/utils/ai-executor.js +39 -3
  255. package/dist/src/utils/ai-executor.js.map +1 -1
  256. package/dist/src/utils/apply-cot-enhancement.d.ts.map +1 -1
  257. package/dist/src/utils/apply-cot-enhancement.js +15 -15
  258. package/dist/src/utils/apply-cot-enhancement.js.map +1 -1
  259. package/dist/src/utils/automatic-prompt-engineering.d.ts.map +1 -1
  260. package/dist/src/utils/automatic-prompt-engineering.js +68 -58
  261. package/dist/src/utils/automatic-prompt-engineering.js.map +1 -1
  262. package/dist/src/utils/conditional-request.d.ts +105 -0
  263. package/dist/src/utils/conditional-request.d.ts.map +1 -0
  264. package/dist/src/utils/conditional-request.js +186 -0
  265. package/dist/src/utils/conditional-request.js.map +1 -0
  266. package/dist/src/utils/config.d.ts +72 -18
  267. package/dist/src/utils/config.d.ts.map +1 -1
  268. package/dist/src/utils/config.js +75 -0
  269. package/dist/src/utils/config.js.map +1 -1
  270. package/dist/src/utils/context-document-manager.d.ts +112 -0
  271. package/dist/src/utils/context-document-manager.d.ts.map +1 -0
  272. package/dist/src/utils/context-document-manager.js +351 -0
  273. package/dist/src/utils/context-document-manager.js.map +1 -0
  274. package/dist/src/utils/conversation-memory-manager.d.ts +86 -0
  275. package/dist/src/utils/conversation-memory-manager.d.ts.map +1 -0
  276. package/dist/src/utils/conversation-memory-manager.js +443 -0
  277. package/dist/src/utils/conversation-memory-manager.js.map +1 -0
  278. package/dist/src/utils/dag-executor.d.ts +106 -0
  279. package/dist/src/utils/dag-executor.d.ts.map +1 -0
  280. package/dist/src/utils/dag-executor.js +453 -0
  281. package/dist/src/utils/dag-executor.js.map +1 -0
  282. package/dist/src/utils/deployment-analysis.d.ts.map +1 -1
  283. package/dist/src/utils/deployment-analysis.js +17 -9
  284. package/dist/src/utils/deployment-analysis.js.map +1 -1
  285. package/dist/src/utils/deployment-type-registry.d.ts +52 -0
  286. package/dist/src/utils/deployment-type-registry.d.ts.map +1 -0
  287. package/dist/src/utils/deployment-type-registry.js +543 -0
  288. package/dist/src/utils/deployment-type-registry.js.map +1 -0
  289. package/dist/src/utils/dynamic-deployment-intelligence.d.ts +117 -0
  290. package/dist/src/utils/dynamic-deployment-intelligence.d.ts.map +1 -0
  291. package/dist/src/utils/dynamic-deployment-intelligence.js +445 -0
  292. package/dist/src/utils/dynamic-deployment-intelligence.js.map +1 -0
  293. package/dist/src/utils/environment-analysis.d.ts.map +1 -1
  294. package/dist/src/utils/environment-analysis.js +63 -44
  295. package/dist/src/utils/environment-analysis.js.map +1 -1
  296. package/dist/src/utils/environment-capability-registry.d.ts +101 -0
  297. package/dist/src/utils/environment-capability-registry.d.ts.map +1 -0
  298. package/dist/src/utils/environment-capability-registry.js +489 -0
  299. package/dist/src/utils/environment-capability-registry.js.map +1 -0
  300. package/dist/src/utils/index.d.ts +3 -3
  301. package/dist/src/utils/index.d.ts.map +1 -1
  302. package/dist/src/utils/index.js +3 -3
  303. package/dist/src/utils/index.js.map +1 -1
  304. package/dist/src/utils/knowledge-generation.d.ts.map +1 -1
  305. package/dist/src/utils/knowledge-generation.js +61 -35
  306. package/dist/src/utils/knowledge-generation.js.map +1 -1
  307. package/dist/src/utils/knowledge-graph-manager.d.ts +19 -0
  308. package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
  309. package/dist/src/utils/knowledge-graph-manager.js +165 -1
  310. package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
  311. package/dist/src/utils/llm-artifact-detector.d.ts.map +1 -1
  312. package/dist/src/utils/llm-artifact-detector.js +28 -24
  313. package/dist/src/utils/llm-artifact-detector.js.map +1 -1
  314. package/dist/src/utils/mermaid-diagrams.d.ts +101 -0
  315. package/dist/src/utils/mermaid-diagrams.d.ts.map +1 -0
  316. package/dist/src/utils/mermaid-diagrams.js +445 -0
  317. package/dist/src/utils/mermaid-diagrams.js.map +1 -0
  318. package/dist/src/utils/monitoring.d.ts +249 -0
  319. package/dist/src/utils/monitoring.d.ts.map +1 -0
  320. package/dist/src/utils/monitoring.js +513 -0
  321. package/dist/src/utils/monitoring.js.map +1 -0
  322. package/dist/src/utils/pattern-contribution-helper.d.ts +60 -0
  323. package/dist/src/utils/pattern-contribution-helper.d.ts.map +1 -0
  324. package/dist/src/utils/pattern-contribution-helper.js +308 -0
  325. package/dist/src/utils/pattern-contribution-helper.js.map +1 -0
  326. package/dist/src/utils/pattern-loader.d.ts +183 -0
  327. package/dist/src/utils/pattern-loader.d.ts.map +1 -0
  328. package/dist/src/utils/pattern-loader.js +200 -0
  329. package/dist/src/utils/pattern-loader.js.map +1 -0
  330. package/dist/src/utils/pattern-research-utility.d.ts +107 -0
  331. package/dist/src/utils/pattern-research-utility.d.ts.map +1 -0
  332. package/dist/src/utils/pattern-research-utility.js +360 -0
  333. package/dist/src/utils/pattern-research-utility.js.map +1 -0
  334. package/dist/src/utils/pattern-to-dag-converter.d.ts +62 -0
  335. package/dist/src/utils/pattern-to-dag-converter.d.ts.map +1 -0
  336. package/dist/src/utils/pattern-to-dag-converter.js +265 -0
  337. package/dist/src/utils/pattern-to-dag-converter.js.map +1 -0
  338. package/dist/src/utils/platform-detector.d.ts +86 -0
  339. package/dist/src/utils/platform-detector.d.ts.map +1 -0
  340. package/dist/src/utils/platform-detector.js +509 -0
  341. package/dist/src/utils/platform-detector.js.map +1 -0
  342. package/dist/src/utils/prompt-composition.d.ts.map +1 -1
  343. package/dist/src/utils/prompt-composition.js +1 -4
  344. package/dist/src/utils/prompt-composition.js.map +1 -1
  345. package/dist/src/utils/reflexion.d.ts.map +1 -1
  346. package/dist/src/utils/reflexion.js +51 -42
  347. package/dist/src/utils/reflexion.js.map +1 -1
  348. package/dist/src/utils/research-integration.d.ts.map +1 -1
  349. package/dist/src/utils/research-integration.js +8 -2
  350. package/dist/src/utils/research-integration.js.map +1 -1
  351. package/dist/src/utils/research-orchestrator.d.ts +209 -0
  352. package/dist/src/utils/research-orchestrator.d.ts.map +1 -0
  353. package/dist/src/utils/research-orchestrator.js +863 -0
  354. package/dist/src/utils/research-orchestrator.js.map +1 -0
  355. package/dist/src/utils/research-questions.d.ts.map +1 -1
  356. package/dist/src/utils/research-questions.js +4 -1
  357. package/dist/src/utils/research-questions.js.map +1 -1
  358. package/dist/src/utils/resource-extractor.d.ts +57 -0
  359. package/dist/src/utils/resource-extractor.d.ts.map +1 -0
  360. package/dist/src/utils/resource-extractor.js +323 -0
  361. package/dist/src/utils/resource-extractor.js.map +1 -0
  362. package/dist/src/utils/resource-versioning.d.ts +124 -0
  363. package/dist/src/utils/resource-versioning.d.ts.map +1 -0
  364. package/dist/src/utils/resource-versioning.js +272 -0
  365. package/dist/src/utils/resource-versioning.js.map +1 -0
  366. package/dist/src/utils/root-manager.d.ts +118 -0
  367. package/dist/src/utils/root-manager.d.ts.map +1 -0
  368. package/dist/src/utils/root-manager.js +154 -0
  369. package/dist/src/utils/root-manager.js.map +1 -0
  370. package/dist/src/utils/rule-generation.d.ts.map +1 -1
  371. package/dist/src/utils/rule-generation.js +4 -1
  372. package/dist/src/utils/rule-generation.js.map +1 -1
  373. package/dist/src/utils/server-context-generator.d.ts +47 -0
  374. package/dist/src/utils/server-context-generator.d.ts.map +1 -0
  375. package/dist/src/utils/server-context-generator.js +666 -0
  376. package/dist/src/utils/server-context-generator.js.map +1 -0
  377. package/dist/src/utils/state-reinforcement-manager.d.ts +60 -0
  378. package/dist/src/utils/state-reinforcement-manager.d.ts.map +1 -0
  379. package/dist/src/utils/state-reinforcement-manager.js +200 -0
  380. package/dist/src/utils/state-reinforcement-manager.js.map +1 -0
  381. package/dist/src/utils/system-card-manager.d.ts +194 -0
  382. package/dist/src/utils/system-card-manager.d.ts.map +1 -0
  383. package/dist/src/utils/system-card-manager.js +336 -0
  384. package/dist/src/utils/system-card-manager.js.map +1 -0
  385. package/dist/src/utils/tiered-response-manager.d.ts +40 -0
  386. package/dist/src/utils/tiered-response-manager.d.ts.map +1 -0
  387. package/dist/src/utils/tiered-response-manager.js +243 -0
  388. package/dist/src/utils/tiered-response-manager.js.map +1 -0
  389. package/dist/src/utils/tree-sitter-analyzer.d.ts.map +1 -1
  390. package/dist/src/utils/tree-sitter-analyzer.js +83 -11
  391. package/dist/src/utils/tree-sitter-analyzer.js.map +1 -1
  392. package/dist/src/utils/validated-pattern-definitions.d.ts +219 -0
  393. package/dist/src/utils/validated-pattern-definitions.d.ts.map +1 -0
  394. package/dist/src/utils/validated-pattern-definitions.js +1511 -0
  395. package/dist/src/utils/validated-pattern-definitions.js.map +1 -0
  396. package/package.json +22 -13
  397. package/dist/src/prompts/todo-prompts.d.ts +0 -49
  398. package/dist/src/prompts/todo-prompts.d.ts.map +0 -1
  399. package/dist/src/prompts/todo-prompts.js +0 -824
  400. package/dist/src/prompts/todo-prompts.js.map +0 -1
  401. package/dist/src/types/todo-json-schemas.d.ts +0 -17
  402. package/dist/src/types/todo-json-schemas.d.ts.map +0 -1
  403. package/dist/src/types/todo-json-schemas.js +0 -9
  404. package/dist/src/types/todo-json-schemas.js.map +0 -1
  405. package/dist/src/utils/todo-file-watcher.d.ts +0 -14
  406. package/dist/src/utils/todo-file-watcher.d.ts.map +0 -1
  407. package/dist/src/utils/todo-file-watcher.js +0 -25
  408. package/dist/src/utils/todo-file-watcher.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"environment-analysis.js","sourceRoot":"","sources":["../../../src/utils/environment-analysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"environment-analysis.js","sourceRoot":"","sources":["../../../src/utils/environment-analysis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Environment Capability Registry
3
+ *
4
+ * Auto-detects and queries available runtime environment capabilities:
5
+ * - Kubernetes/OpenShift clusters
6
+ * - Docker/Podman containers
7
+ * - Operating system resources
8
+ * - Red Hat tooling (Ansible, etc.)
9
+ */
10
+ export interface EnvironmentCapability {
11
+ name: string;
12
+ type: 'kubernetes' | 'openshift' | 'docker' | 'podman' | 'os' | 'ansible' | 'cloud' | 'database';
13
+ detector: () => Promise<boolean>;
14
+ executor: (query: string) => Promise<any>;
15
+ metadata?: {
16
+ version?: string;
17
+ provider?: string;
18
+ available?: boolean;
19
+ };
20
+ }
21
+ export interface CapabilityQueryResult {
22
+ capability: string;
23
+ found: boolean;
24
+ data: any;
25
+ confidence: number;
26
+ timestamp: string;
27
+ }
28
+ type ExecFunction = (command: string) => Promise<{
29
+ stdout: string;
30
+ stderr: string;
31
+ }>;
32
+ export declare class EnvironmentCapabilityRegistry {
33
+ private capabilities;
34
+ private logger;
35
+ private projectPath;
36
+ private discoveryComplete;
37
+ private execAsync;
38
+ constructor(projectPath?: string, execFunction?: ExecFunction);
39
+ /**
40
+ * Discover all available environment capabilities
41
+ */
42
+ discoverCapabilities(): Promise<void>;
43
+ /**
44
+ * Register Operating System capability (always available)
45
+ */
46
+ private registerOSCapability;
47
+ /**
48
+ * Register Docker capability
49
+ */
50
+ private registerDockerCapability;
51
+ /**
52
+ * Register Podman capability (Red Hat container runtime)
53
+ */
54
+ private registerPodmanCapability;
55
+ /**
56
+ * Register Kubernetes capability
57
+ */
58
+ private registerKubernetesCapability;
59
+ /**
60
+ * Register OpenShift capability (Red Hat Kubernetes distribution)
61
+ */
62
+ private registerOpenShiftCapability;
63
+ /**
64
+ * Register Ansible capability (Red Hat automation)
65
+ */
66
+ private registerAnsibleCapability;
67
+ /**
68
+ * Register a capability if it's available
69
+ */
70
+ registerCapability(capability: EnvironmentCapability): Promise<void>;
71
+ /**
72
+ * Query capabilities for research question
73
+ */
74
+ query(question: string): Promise<CapabilityQueryResult[]>;
75
+ /**
76
+ * Match capabilities to question
77
+ */
78
+ private matchCapabilities;
79
+ /**
80
+ * Get keywords for capability type
81
+ */
82
+ private getCapabilityKeywords;
83
+ /**
84
+ * Calculate confidence for capability data
85
+ */
86
+ private calculateCapabilityConfidence;
87
+ /**
88
+ * List all available capabilities
89
+ */
90
+ listCapabilities(): string[];
91
+ /**
92
+ * Check if capability is available
93
+ */
94
+ has(capabilityName: string): boolean;
95
+ /**
96
+ * Get capability metadata
97
+ */
98
+ getCapabilityMetadata(capabilityName: string): any;
99
+ }
100
+ export {};
101
+ //# sourceMappingURL=environment-capability-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-capability-registry.d.ts","sourceRoot":"","sources":["../../../src/utils/environment-capability-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAOH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;IACjG,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;CACH;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,YAAY,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAErF,qBAAa,6BAA6B;IACxC,OAAO,CAAC,YAAY,CAAiD;IACrE,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,SAAS,CAAe;gBAEpB,WAAW,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY;IAM7D;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAyB3C;;OAEG;YACW,oBAAoB;IAoDlC;;OAEG;YACW,wBAAwB;IAqEtC;;OAEG;YACW,wBAAwB;IAoDtC;;OAEG;YACW,4BAA4B;IA6E1C;;OAEG;YACW,2BAA2B;IAkEzC;;OAEG;YACW,yBAAyB;IAgEvC;;OAEG;IACG,kBAAkB,CAAC,UAAU,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B1E;;OAEG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IA4B/D;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAUrC;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;OAEG;IACH,GAAG,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAIpC;;OAEG;IACH,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,GAAG;CAInD"}
@@ -0,0 +1,489 @@
1
+ /**
2
+ * Environment Capability Registry
3
+ *
4
+ * Auto-detects and queries available runtime environment capabilities:
5
+ * - Kubernetes/OpenShift clusters
6
+ * - Docker/Podman containers
7
+ * - Operating system resources
8
+ * - Red Hat tooling (Ansible, etc.)
9
+ */
10
+ import { exec } from 'child_process';
11
+ import { promisify } from 'util';
12
+ import * as os from 'os';
13
+ import { EnhancedLogger } from './enhanced-logging.js';
14
+ export class EnvironmentCapabilityRegistry {
15
+ capabilities = new Map();
16
+ logger;
17
+ projectPath;
18
+ discoveryComplete = false;
19
+ execAsync;
20
+ constructor(projectPath, execFunction) {
21
+ this.logger = new EnhancedLogger();
22
+ this.projectPath = projectPath || process.cwd();
23
+ this.execAsync = execFunction || promisify(exec);
24
+ }
25
+ /**
26
+ * Discover all available environment capabilities
27
+ */
28
+ async discoverCapabilities() {
29
+ if (this.discoveryComplete) {
30
+ return;
31
+ }
32
+ this.logger.info('Starting environment capability discovery', 'EnvironmentCapabilityRegistry');
33
+ // Register all known capabilities
34
+ await this.registerOSCapability();
35
+ await this.registerDockerCapability();
36
+ await this.registerPodmanCapability();
37
+ await this.registerKubernetesCapability();
38
+ await this.registerOpenShiftCapability();
39
+ await this.registerAnsibleCapability();
40
+ this.discoveryComplete = true;
41
+ const availableCapabilities = this.listCapabilities();
42
+ this.logger.info(`Discovery complete: ${availableCapabilities.length} capabilities available`, 'EnvironmentCapabilityRegistry', { capabilities: availableCapabilities });
43
+ }
44
+ /**
45
+ * Register Operating System capability (always available)
46
+ */
47
+ async registerOSCapability() {
48
+ const capability = {
49
+ name: 'operating-system',
50
+ type: 'os',
51
+ detector: async () => true, // Always available
52
+ executor: async (query) => {
53
+ const queryLower = query.toLowerCase();
54
+ const result = {
55
+ platform: process.platform,
56
+ arch: os.arch(),
57
+ release: os.release(),
58
+ type: os.type(),
59
+ };
60
+ if (queryLower.includes('cpu') || queryLower.includes('processor')) {
61
+ result.cpus = os.cpus();
62
+ result.cpuCount = os.cpus().length;
63
+ }
64
+ if (queryLower.includes('memory') || queryLower.includes('ram')) {
65
+ result.totalMemory = os.totalmem();
66
+ result.freeMemory = os.freemem();
67
+ result.memoryUsagePercent = ((os.totalmem() - os.freemem()) / os.totalmem()) * 100;
68
+ }
69
+ if (queryLower.includes('disk') || queryLower.includes('storage')) {
70
+ try {
71
+ const { stdout } = await this.execAsync('df -h');
72
+ result.diskUsage = stdout;
73
+ }
74
+ catch {
75
+ result.diskUsage = 'Unable to query disk usage';
76
+ }
77
+ }
78
+ if (queryLower.includes('network')) {
79
+ result.networkInterfaces = os.networkInterfaces();
80
+ }
81
+ return result;
82
+ },
83
+ metadata: {
84
+ version: os.release(),
85
+ provider: os.type(),
86
+ available: true,
87
+ },
88
+ };
89
+ await this.registerCapability(capability);
90
+ }
91
+ /**
92
+ * Register Docker capability
93
+ */
94
+ async registerDockerCapability() {
95
+ const capability = {
96
+ name: 'docker',
97
+ type: 'docker',
98
+ detector: async () => {
99
+ try {
100
+ await this.execAsync('docker version --format "{{.Server.Version}}"');
101
+ return true;
102
+ }
103
+ catch {
104
+ return false;
105
+ }
106
+ },
107
+ executor: async (query) => {
108
+ const queryLower = query.toLowerCase();
109
+ const result = {};
110
+ try {
111
+ if (queryLower.includes('container') ||
112
+ queryLower.includes('running') ||
113
+ queryLower.includes('status')) {
114
+ const { stdout: ps } = await this.execAsync('docker ps --format json');
115
+ result.runningContainers = ps
116
+ .trim()
117
+ .split('\n')
118
+ .filter(line => line)
119
+ .map(line => JSON.parse(line));
120
+ }
121
+ if (queryLower.includes('image')) {
122
+ const { stdout: images } = await this.execAsync('docker images --format json');
123
+ result.images = images
124
+ .trim()
125
+ .split('\n')
126
+ .filter(line => line)
127
+ .map(line => JSON.parse(line));
128
+ }
129
+ if (queryLower.includes('network')) {
130
+ const { stdout: networks } = await this.execAsync('docker network ls --format json');
131
+ result.networks = networks
132
+ .trim()
133
+ .split('\n')
134
+ .filter(line => line)
135
+ .map(line => JSON.parse(line));
136
+ }
137
+ if (queryLower.includes('volume')) {
138
+ const { stdout: volumes } = await this.execAsync('docker volume ls --format json');
139
+ result.volumes = volumes
140
+ .trim()
141
+ .split('\n')
142
+ .filter(line => line)
143
+ .map(line => JSON.parse(line));
144
+ }
145
+ return result;
146
+ }
147
+ catch (_error) {
148
+ return { error: 'Failed to query Docker', details: _error.message };
149
+ }
150
+ },
151
+ };
152
+ await this.registerCapability(capability);
153
+ }
154
+ /**
155
+ * Register Podman capability (Red Hat container runtime)
156
+ */
157
+ async registerPodmanCapability() {
158
+ const capability = {
159
+ name: 'podman',
160
+ type: 'podman',
161
+ detector: async () => {
162
+ try {
163
+ await this.execAsync('podman version --format json');
164
+ return true;
165
+ }
166
+ catch {
167
+ return false;
168
+ }
169
+ },
170
+ executor: async (query) => {
171
+ const queryLower = query.toLowerCase();
172
+ const result = {};
173
+ try {
174
+ if (queryLower.includes('container') ||
175
+ queryLower.includes('pod') ||
176
+ queryLower.includes('running')) {
177
+ const { stdout: ps } = await this.execAsync('podman ps --format json');
178
+ result.runningContainers = JSON.parse(ps);
179
+ // Check for pods (unique to Podman)
180
+ const { stdout: pods } = await this.execAsync('podman pod ps --format json');
181
+ result.pods = JSON.parse(pods);
182
+ }
183
+ if (queryLower.includes('image')) {
184
+ const { stdout: images } = await this.execAsync('podman images --format json');
185
+ result.images = JSON.parse(images);
186
+ }
187
+ if (queryLower.includes('network')) {
188
+ const { stdout: networks } = await this.execAsync('podman network ls --format json');
189
+ result.networks = JSON.parse(networks);
190
+ }
191
+ return result;
192
+ }
193
+ catch (_error) {
194
+ return { error: 'Failed to query Podman', details: _error.message };
195
+ }
196
+ },
197
+ };
198
+ await this.registerCapability(capability);
199
+ }
200
+ /**
201
+ * Register Kubernetes capability
202
+ */
203
+ async registerKubernetesCapability() {
204
+ const capability = {
205
+ name: 'kubernetes',
206
+ type: 'kubernetes',
207
+ detector: async () => {
208
+ try {
209
+ await this.execAsync('kubectl version --client --output=json');
210
+ return true;
211
+ }
212
+ catch {
213
+ return false;
214
+ }
215
+ },
216
+ executor: async (query) => {
217
+ const queryLower = query.toLowerCase();
218
+ const result = {};
219
+ try {
220
+ // Get current context
221
+ const { stdout: context } = await this.execAsync('kubectl config current-context');
222
+ result.currentContext = context.trim();
223
+ if (queryLower.includes('pod')) {
224
+ const { stdout: pods } = await this.execAsync('kubectl get pods --all-namespaces -o json');
225
+ result.pods = JSON.parse(pods);
226
+ }
227
+ if (queryLower.includes('deployment')) {
228
+ const { stdout: deployments } = await this.execAsync('kubectl get deployments --all-namespaces -o json');
229
+ result.deployments = JSON.parse(deployments);
230
+ }
231
+ if (queryLower.includes('service')) {
232
+ const { stdout: services } = await this.execAsync('kubectl get services --all-namespaces -o json');
233
+ result.services = JSON.parse(services);
234
+ }
235
+ if (queryLower.includes('node')) {
236
+ const { stdout: nodes } = await this.execAsync('kubectl get nodes -o json');
237
+ result.nodes = JSON.parse(nodes);
238
+ }
239
+ if (queryLower.includes('namespace')) {
240
+ const { stdout: namespaces } = await this.execAsync('kubectl get namespaces -o json');
241
+ result.namespaces = JSON.parse(namespaces);
242
+ }
243
+ if (queryLower.includes('resource') ||
244
+ queryLower.includes('usage') ||
245
+ queryLower.includes('metrics')) {
246
+ try {
247
+ const { stdout: metrics } = await this.execAsync('kubectl top nodes');
248
+ result.nodeMetrics = metrics;
249
+ }
250
+ catch {
251
+ result.nodeMetrics = 'Metrics server not available';
252
+ }
253
+ }
254
+ return result;
255
+ }
256
+ catch (_error) {
257
+ return { error: 'Failed to query Kubernetes', details: _error.message };
258
+ }
259
+ },
260
+ };
261
+ await this.registerCapability(capability);
262
+ }
263
+ /**
264
+ * Register OpenShift capability (Red Hat Kubernetes distribution)
265
+ */
266
+ async registerOpenShiftCapability() {
267
+ const capability = {
268
+ name: 'openshift',
269
+ type: 'openshift',
270
+ detector: async () => {
271
+ try {
272
+ await this.execAsync('oc version --client -o json');
273
+ return true;
274
+ }
275
+ catch {
276
+ return false;
277
+ }
278
+ },
279
+ executor: async (query) => {
280
+ const queryLower = query.toLowerCase();
281
+ const result = {};
282
+ try {
283
+ // Get current project (OpenShift terminology for namespace)
284
+ const { stdout: project } = await this.execAsync('oc project -q');
285
+ result.currentProject = project.trim();
286
+ // Get cluster info
287
+ const { stdout: version } = await this.execAsync('oc version -o json');
288
+ result.version = JSON.parse(version);
289
+ if (queryLower.includes('pod')) {
290
+ const { stdout: pods } = await this.execAsync('oc get pods --all-namespaces -o json');
291
+ result.pods = JSON.parse(pods);
292
+ }
293
+ if (queryLower.includes('deployment') || queryLower.includes('dc')) {
294
+ const { stdout: dc } = await this.execAsync('oc get dc --all-namespaces -o json');
295
+ result.deploymentConfigs = JSON.parse(dc);
296
+ }
297
+ if (queryLower.includes('route')) {
298
+ const { stdout: routes } = await this.execAsync('oc get routes --all-namespaces -o json');
299
+ result.routes = JSON.parse(routes);
300
+ }
301
+ if (queryLower.includes('build') || queryLower.includes('buildconfig')) {
302
+ const { stdout: builds } = await this.execAsync('oc get builds --all-namespaces -o json');
303
+ result.builds = JSON.parse(builds);
304
+ }
305
+ if (queryLower.includes('project') || queryLower.includes('namespace')) {
306
+ const { stdout: projects } = await this.execAsync('oc get projects -o json');
307
+ result.projects = JSON.parse(projects);
308
+ }
309
+ return result;
310
+ }
311
+ catch (_error) {
312
+ return { error: 'Failed to query OpenShift', details: _error.message };
313
+ }
314
+ },
315
+ };
316
+ await this.registerCapability(capability);
317
+ }
318
+ /**
319
+ * Register Ansible capability (Red Hat automation)
320
+ */
321
+ async registerAnsibleCapability() {
322
+ const capability = {
323
+ name: 'ansible',
324
+ type: 'ansible',
325
+ detector: async () => {
326
+ try {
327
+ await this.execAsync('ansible --version');
328
+ return true;
329
+ }
330
+ catch {
331
+ return false;
332
+ }
333
+ },
334
+ executor: async (query) => {
335
+ const queryLower = query.toLowerCase();
336
+ const result = {};
337
+ try {
338
+ // Get Ansible version
339
+ const { stdout: version } = await this.execAsync('ansible --version');
340
+ result.version = version;
341
+ if (queryLower.includes('inventory') || queryLower.includes('host')) {
342
+ try {
343
+ const { stdout: inventory } = await this.execAsync('ansible-inventory --list');
344
+ result.inventory = JSON.parse(inventory);
345
+ }
346
+ catch {
347
+ result.inventory = 'No inventory file found';
348
+ }
349
+ }
350
+ if (queryLower.includes('playbook')) {
351
+ try {
352
+ const { stdout: playbooks } = await this.execAsync(`find ${this.projectPath} -name "*.yml" -o -name "*.yaml" | grep -E "(playbook|play)" | head -20`);
353
+ result.playbooks = playbooks.trim().split('\n').filter(Boolean);
354
+ }
355
+ catch {
356
+ result.playbooks = [];
357
+ }
358
+ }
359
+ if (queryLower.includes('role')) {
360
+ try {
361
+ const { stdout: roles } = await this.execAsync(`find ${this.projectPath} -type d -name "roles" | head -10`);
362
+ result.roles = roles.trim().split('\n').filter(Boolean);
363
+ }
364
+ catch {
365
+ result.roles = [];
366
+ }
367
+ }
368
+ return result;
369
+ }
370
+ catch (_error) {
371
+ return { error: 'Failed to query Ansible', details: _error.message };
372
+ }
373
+ },
374
+ };
375
+ await this.registerCapability(capability);
376
+ }
377
+ /**
378
+ * Register a capability if it's available
379
+ */
380
+ async registerCapability(capability) {
381
+ try {
382
+ const isAvailable = await capability.detector();
383
+ if (isAvailable) {
384
+ this.capabilities.set(capability.name, capability);
385
+ // Update metadata
386
+ if (capability.metadata) {
387
+ capability.metadata.available = true;
388
+ }
389
+ this.logger.info(`✅ Capability registered: ${capability.name}`, 'EnvironmentCapabilityRegistry');
390
+ }
391
+ else {
392
+ this.logger.debug(`❌ Capability not available: ${capability.name}`, 'EnvironmentCapabilityRegistry');
393
+ }
394
+ }
395
+ catch {
396
+ this.logger.warn(`Failed to register capability: ${capability.name}`, 'EnvironmentCapabilityRegistry');
397
+ }
398
+ }
399
+ /**
400
+ * Query capabilities for research question
401
+ */
402
+ async query(question) {
403
+ const results = [];
404
+ // Match capabilities to question
405
+ const relevantCapabilities = this.matchCapabilities(question);
406
+ for (const capability of relevantCapabilities) {
407
+ try {
408
+ const data = await capability.executor(question);
409
+ results.push({
410
+ capability: capability.name,
411
+ found: data && Object.keys(data).length > 0 && !data.error,
412
+ data,
413
+ confidence: this.calculateCapabilityConfidence(data),
414
+ timestamp: new Date().toISOString(),
415
+ });
416
+ }
417
+ catch {
418
+ this.logger.warn(`Failed to query capability: ${capability.name}`, 'EnvironmentCapabilityRegistry');
419
+ }
420
+ }
421
+ return results;
422
+ }
423
+ /**
424
+ * Match capabilities to question
425
+ */
426
+ matchCapabilities(question) {
427
+ const questionLower = question.toLowerCase();
428
+ const matched = [];
429
+ for (const capability of this.capabilities.values()) {
430
+ // Check if question mentions capability name
431
+ if (questionLower.includes(capability.name) || questionLower.includes(capability.type)) {
432
+ matched.push(capability);
433
+ continue;
434
+ }
435
+ // Check for related keywords
436
+ const keywords = this.getCapabilityKeywords(capability.type);
437
+ if (keywords.some(keyword => questionLower.includes(keyword))) {
438
+ matched.push(capability);
439
+ }
440
+ }
441
+ return matched;
442
+ }
443
+ /**
444
+ * Get keywords for capability type
445
+ */
446
+ getCapabilityKeywords(type) {
447
+ const keywordMap = {
448
+ kubernetes: ['k8s', 'pod', 'deployment', 'service', 'cluster'],
449
+ openshift: ['ocp', 'route', 'buildconfig', 'project', 'build'],
450
+ docker: ['container', 'image', 'volume'],
451
+ podman: ['pod', 'container', 'image'],
452
+ ansible: ['playbook', 'inventory', 'role', 'automation'],
453
+ os: ['system', 'cpu', 'memory', 'disk', 'network', 'os', 'platform'],
454
+ };
455
+ return keywordMap[type] || [];
456
+ }
457
+ /**
458
+ * Calculate confidence for capability data
459
+ */
460
+ calculateCapabilityConfidence(data) {
461
+ if (!data || data.error)
462
+ return 0;
463
+ const keys = Object.keys(data);
464
+ if (keys.length === 0)
465
+ return 0;
466
+ // Higher confidence for more data points
467
+ return Math.min(0.5 + keys.length * 0.1, 0.95);
468
+ }
469
+ /**
470
+ * List all available capabilities
471
+ */
472
+ listCapabilities() {
473
+ return Array.from(this.capabilities.keys());
474
+ }
475
+ /**
476
+ * Check if capability is available
477
+ */
478
+ has(capabilityName) {
479
+ return this.capabilities.has(capabilityName);
480
+ }
481
+ /**
482
+ * Get capability metadata
483
+ */
484
+ getCapabilityMetadata(capabilityName) {
485
+ const capability = this.capabilities.get(capabilityName);
486
+ return capability?.metadata || null;
487
+ }
488
+ }
489
+ //# sourceMappingURL=environment-capability-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment-capability-registry.js","sourceRoot":"","sources":["../../../src/utils/environment-capability-registry.ts"],"names":[],"mappings":"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"}