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
@@ -0,0 +1,336 @@
1
+ import { promises as fs } from 'fs';
2
+ import * as path from 'path';
3
+ import * as yaml from 'js-yaml';
4
+ import { EnhancedLogger } from './enhanced-logging.js';
5
+ /**
6
+ * Manages SystemCard creation, updates, and persistence
7
+ */
8
+ export class SystemCardManager {
9
+ systemCardPath;
10
+ logger;
11
+ currentCard = null;
12
+ constructor(projectPath) {
13
+ this.systemCardPath = path.join(projectPath, 'systemcard.yaml');
14
+ this.logger = new EnhancedLogger();
15
+ }
16
+ /**
17
+ * Initialize a new SystemCard
18
+ */
19
+ async initialize(options) {
20
+ try {
21
+ this.currentCard = {
22
+ version: '1.0',
23
+ systemId: options.systemId,
24
+ created: options.created,
25
+ lastUpdated: options.created,
26
+ platform: options.platform,
27
+ bootstrapContext: options.bootstrapContext,
28
+ resources: {},
29
+ cleanup: {
30
+ strategy: 'label-based',
31
+ labelSelector: {
32
+ 'managed-by': 'mcp-adr-server',
33
+ 'bootstrap-id': options.bootstrapContext.bootstrapId,
34
+ },
35
+ phases: [],
36
+ },
37
+ ...(options.metadata && { metadata: options.metadata }),
38
+ };
39
+ await this.save();
40
+ this.logger.info(`SystemCard initialized: ${this.systemCardPath}`, 'SystemCardManager');
41
+ }
42
+ catch (error) {
43
+ this.logger.error('Failed to initialize SystemCard', 'SystemCardManager', error);
44
+ throw error;
45
+ }
46
+ }
47
+ /**
48
+ * Load existing SystemCard from disk
49
+ */
50
+ async load() {
51
+ try {
52
+ const content = await fs.readFile(this.systemCardPath, 'utf-8');
53
+ this.currentCard = yaml.load(content);
54
+ this.logger.info('SystemCard loaded successfully', 'SystemCardManager');
55
+ return this.currentCard;
56
+ }
57
+ catch (error) {
58
+ if (error.code === 'ENOENT') {
59
+ this.logger.warn('SystemCard not found', 'SystemCardManager');
60
+ return null;
61
+ }
62
+ this.logger.error('Failed to load SystemCard', 'SystemCardManager', error);
63
+ throw error;
64
+ }
65
+ }
66
+ /**
67
+ * Save current SystemCard to disk
68
+ */
69
+ async save() {
70
+ if (!this.currentCard) {
71
+ throw new Error('No SystemCard initialized. Call initialize() first.');
72
+ }
73
+ try {
74
+ this.currentCard.lastUpdated = new Date().toISOString();
75
+ const yamlContent = yaml.dump(this.currentCard, {
76
+ indent: 2,
77
+ lineWidth: -1,
78
+ noRefs: true,
79
+ });
80
+ await fs.writeFile(this.systemCardPath, yamlContent, 'utf-8');
81
+ this.logger.info('SystemCard saved successfully', 'SystemCardManager');
82
+ }
83
+ catch (error) {
84
+ this.logger.error('Failed to save SystemCard', 'SystemCardManager', error);
85
+ throw error;
86
+ }
87
+ }
88
+ /**
89
+ * Add resources to the SystemCard
90
+ */
91
+ async addResources(resources, context) {
92
+ if (!this.currentCard) {
93
+ throw new Error('No SystemCard loaded. Call load() or initialize() first.');
94
+ }
95
+ try {
96
+ for (const resource of resources) {
97
+ // Add phase/task context if provided
98
+ if (context?.phase) {
99
+ resource.createdByPhase = context.phase;
100
+ }
101
+ if (context?.taskId && !resource.createdByTask) {
102
+ resource.createdByTask = context.taskId;
103
+ }
104
+ // Categorize by type
105
+ const category = this.getResourceCategory(resource.type);
106
+ if (!this.currentCard.resources[category]) {
107
+ this.currentCard.resources[category] = [];
108
+ }
109
+ // Check for duplicates
110
+ const exists = this.currentCard.resources[category].some(r => r.name === resource.name && r.namespace === resource.namespace);
111
+ if (!exists) {
112
+ this.currentCard.resources[category].push(resource);
113
+ this.logger.info(`Added resource: ${resource.type}/${resource.name}`, 'SystemCardManager');
114
+ }
115
+ }
116
+ await this.save();
117
+ }
118
+ catch (error) {
119
+ this.logger.error('Failed to add resources', 'SystemCardManager', error);
120
+ throw error;
121
+ }
122
+ }
123
+ /**
124
+ * Remove a resource from the SystemCard
125
+ */
126
+ async removeResource(type, name, namespace) {
127
+ if (!this.currentCard) {
128
+ throw new Error('No SystemCard loaded.');
129
+ }
130
+ try {
131
+ const category = this.getResourceCategory(type);
132
+ const resources = this.currentCard.resources[category];
133
+ if (resources) {
134
+ const index = resources.findIndex(r => r.name === name && (namespace ? r.namespace === namespace : true));
135
+ if (index !== -1) {
136
+ resources.splice(index, 1);
137
+ this.logger.info(`Removed resource: ${type}/${name}`, 'SystemCardManager');
138
+ await this.save();
139
+ }
140
+ }
141
+ }
142
+ catch (error) {
143
+ this.logger.error('Failed to remove resource', 'SystemCardManager', error);
144
+ throw error;
145
+ }
146
+ }
147
+ /**
148
+ * Generate cleanup phases from current resources
149
+ * Resources are ordered in reverse of typical deployment order
150
+ */
151
+ async generateCleanupPhases() {
152
+ if (!this.currentCard) {
153
+ throw new Error('No SystemCard loaded.');
154
+ }
155
+ try {
156
+ const phases = [];
157
+ let order = 1;
158
+ // Order of cleanup (reverse of typical deployment)
159
+ const cleanupOrder = [
160
+ 'ingresses',
161
+ 'services',
162
+ 'deployments',
163
+ 'statefulsets',
164
+ 'pods',
165
+ 'configmaps',
166
+ 'secrets',
167
+ 'persistentvolumeclaims',
168
+ 'namespaces',
169
+ 'custom',
170
+ ];
171
+ for (const category of cleanupOrder) {
172
+ const resources = this.currentCard.resources[category];
173
+ if (resources && resources.length > 0) {
174
+ const phase = {
175
+ order: order++,
176
+ name: `Delete ${category}`,
177
+ description: `Remove all ${category} created during bootstrap`,
178
+ commands: resources.map(r => ({
179
+ description: `Delete ${r.type} ${r.name}`,
180
+ command: r.cleanupCommand,
181
+ expectedExitCode: 0,
182
+ continueOnError: false,
183
+ })),
184
+ canParallelize: true,
185
+ estimatedDuration: `${resources.length * 2}-${resources.length * 5} seconds`,
186
+ };
187
+ phases.push(phase);
188
+ }
189
+ }
190
+ // Update SystemCard with generated cleanup phases
191
+ this.currentCard.cleanup.phases = phases;
192
+ await this.save();
193
+ this.logger.info(`Generated ${phases.length} cleanup phases`, 'SystemCardManager');
194
+ return phases;
195
+ }
196
+ catch (error) {
197
+ this.logger.error('Failed to generate cleanup phases', 'SystemCardManager', error);
198
+ throw error;
199
+ }
200
+ }
201
+ /**
202
+ * Create a state snapshot for rollback capability
203
+ */
204
+ async createSnapshot(beforeAction) {
205
+ if (!this.currentCard) {
206
+ throw new Error('No SystemCard loaded.');
207
+ }
208
+ try {
209
+ const resourceCount = Object.values(this.currentCard.resources)
210
+ .filter(arr => Array.isArray(arr))
211
+ .reduce((sum, arr) => sum + arr.length, 0);
212
+ const checksum = this.calculateChecksum(this.currentCard);
213
+ const snapshot = {
214
+ timestamp: new Date().toISOString(),
215
+ beforeAction,
216
+ resourceCount,
217
+ checksum,
218
+ };
219
+ if (!this.currentCard.snapshots) {
220
+ this.currentCard.snapshots = [];
221
+ }
222
+ this.currentCard.snapshots.push(snapshot);
223
+ await this.save();
224
+ this.logger.info(`Snapshot created: ${beforeAction}`, 'SystemCardManager');
225
+ return snapshot;
226
+ }
227
+ catch (error) {
228
+ this.logger.error('Failed to create snapshot', 'SystemCardManager', error);
229
+ throw error;
230
+ }
231
+ }
232
+ /**
233
+ * Get all resources of a specific type
234
+ */
235
+ getResourcesByType(type) {
236
+ if (!this.currentCard) {
237
+ return [];
238
+ }
239
+ const category = this.getResourceCategory(type);
240
+ return this.currentCard.resources[category] || [];
241
+ }
242
+ /**
243
+ * Get all resources created by a specific task
244
+ */
245
+ getResourcesByTask(taskId) {
246
+ if (!this.currentCard) {
247
+ return [];
248
+ }
249
+ const allResources = [];
250
+ for (const category of Object.keys(this.currentCard.resources)) {
251
+ const resources = this.currentCard.resources[category];
252
+ if (resources) {
253
+ allResources.push(...resources.filter(r => r.createdByTask === taskId));
254
+ }
255
+ }
256
+ return allResources;
257
+ }
258
+ /**
259
+ * Get total count of all resources
260
+ */
261
+ getResourceCount() {
262
+ if (!this.currentCard) {
263
+ return 0;
264
+ }
265
+ return Object.values(this.currentCard.resources)
266
+ .filter(arr => Array.isArray(arr))
267
+ .reduce((sum, arr) => sum + arr.length, 0);
268
+ }
269
+ /**
270
+ * Get current SystemCard
271
+ */
272
+ getCurrentCard() {
273
+ return this.currentCard;
274
+ }
275
+ /**
276
+ * Check if SystemCard exists on disk
277
+ */
278
+ async exists() {
279
+ try {
280
+ await fs.access(this.systemCardPath);
281
+ return true;
282
+ }
283
+ catch {
284
+ return false;
285
+ }
286
+ }
287
+ /**
288
+ * Delete SystemCard file from disk
289
+ */
290
+ async delete() {
291
+ try {
292
+ await fs.unlink(this.systemCardPath);
293
+ this.currentCard = null;
294
+ this.logger.info('SystemCard deleted', 'SystemCardManager');
295
+ }
296
+ catch (error) {
297
+ if (error.code !== 'ENOENT') {
298
+ this.logger.error('Failed to delete SystemCard', 'SystemCardManager', error);
299
+ throw error;
300
+ }
301
+ }
302
+ }
303
+ /**
304
+ * Map resource type to storage category
305
+ */
306
+ getResourceCategory(type) {
307
+ const typeMap = {
308
+ namespace: 'namespaces',
309
+ deployment: 'deployments',
310
+ service: 'services',
311
+ configmap: 'configmaps',
312
+ secret: 'secrets',
313
+ ingress: 'ingresses',
314
+ statefulset: 'statefulsets',
315
+ pod: 'pods',
316
+ persistentvolumeclaim: 'persistentvolumeclaims',
317
+ custom: 'custom',
318
+ };
319
+ return typeMap[type] || 'custom';
320
+ }
321
+ /**
322
+ * Calculate checksum for state verification
323
+ */
324
+ calculateChecksum(card) {
325
+ const contentString = JSON.stringify(card.resources);
326
+ // Simple hash function (in production, use crypto.createHash)
327
+ let hash = 0;
328
+ for (let i = 0; i < contentString.length; i++) {
329
+ const char = contentString.charCodeAt(i);
330
+ hash = (hash << 5) - hash + char;
331
+ hash = hash & hash; // Convert to 32-bit integer
332
+ }
333
+ return hash.toString(16);
334
+ }
335
+ }
336
+ //# sourceMappingURL=system-card-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-card-manager.js","sourceRoot":"","sources":["../../../src/utils/system-card-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Tiered Response Manager
3
+ *
4
+ * Manages creation and retrieval of tiered responses for conversational summarization.
5
+ * Implements token-efficient responses with expandable sections stored in memory.
6
+ */
7
+ import { MemoryEntityManager } from './memory-entity-manager.js';
8
+ import { TieredResponse, ExpandableContent, TieredResponseConfig } from '../types/tiered-response.js';
9
+ export declare class TieredResponseManager {
10
+ private memoryManager;
11
+ private logger;
12
+ private config;
13
+ constructor(memoryManager?: MemoryEntityManager, config?: TieredResponseConfig);
14
+ initialize(): Promise<void>;
15
+ /**
16
+ * Create a tiered response from full analysis content
17
+ */
18
+ createTieredResponse(toolName: string, fullContent: string, sections: Record<string, string>, toolArgs?: any): Promise<TieredResponse>;
19
+ /**
20
+ * Generate a summary using AI or fallback to truncation
21
+ */
22
+ private generateSummary;
23
+ /**
24
+ * Fallback: Truncate content to approximate token limit
25
+ */
26
+ private truncateSummary;
27
+ /**
28
+ * Store expandable content in memory system
29
+ */
30
+ private storeExpandableContent;
31
+ /**
32
+ * Retrieve expandable content from memory
33
+ */
34
+ getExpandableContent(expandableId: string): Promise<ExpandableContent | null>;
35
+ /**
36
+ * Format tiered response for display
37
+ */
38
+ formatTieredResponse(response: TieredResponse): string;
39
+ }
40
+ //# sourceMappingURL=tiered-response-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiered-response-manager.d.ts","sourceRoot":"","sources":["../../../src/utils/tiered-response-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EACL,cAAc,EAEd,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,6BAA6B,CAAC;AAIrC,qBAAa,qBAAqB;IAChC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAiC;gBAEnC,aAAa,CAAC,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,oBAAoB;IAYxE,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAIjC;;OAEG;IACG,oBAAoB,CACxB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,CAAC,EAAE,GAAG,GACb,OAAO,CAAC,cAAc,CAAC;IAqF1B;;OAEG;YACW,eAAe;IAmD7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;YACW,sBAAsB;IAuBpC;;OAEG;IACG,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IA2BnF;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM;CAsDvD"}
@@ -0,0 +1,243 @@
1
+ /**
2
+ * Tiered Response Manager
3
+ *
4
+ * Manages creation and retrieval of tiered responses for conversational summarization.
5
+ * Implements token-efficient responses with expandable sections stored in memory.
6
+ */
7
+ import crypto from 'crypto';
8
+ import { MemoryEntityManager } from './memory-entity-manager.js';
9
+ import { executePromptWithFallback } from './prompt-execution.js';
10
+ import { EnhancedLogger } from './enhanced-logging.js';
11
+ export class TieredResponseManager {
12
+ memoryManager;
13
+ logger;
14
+ config;
15
+ constructor(memoryManager, config) {
16
+ this.memoryManager = memoryManager || new MemoryEntityManager();
17
+ this.logger = new EnhancedLogger();
18
+ this.config = {
19
+ maxSummaryTokens: config?.maxSummaryTokens || 500,
20
+ maxSectionSummaryTokens: config?.maxSectionSummaryTokens || 150,
21
+ useAiSummarization: config?.useAiSummarization ?? true,
22
+ summarizationTemperature: config?.summarizationTemperature || 0.3,
23
+ tieringThreshold: config?.tieringThreshold || 2000,
24
+ };
25
+ }
26
+ async initialize() {
27
+ await this.memoryManager.initialize();
28
+ }
29
+ /**
30
+ * Create a tiered response from full analysis content
31
+ */
32
+ async createTieredResponse(toolName, fullContent, sections, toolArgs) {
33
+ const expandableId = crypto.randomUUID();
34
+ const timestamp = new Date().toISOString();
35
+ // Estimate token counts (rough: 1 token ā‰ˆ 4 characters)
36
+ const fullTokens = Math.ceil(fullContent.length / 4);
37
+ const shouldTier = fullTokens >= this.config.tieringThreshold;
38
+ if (!shouldTier) {
39
+ // Content is small enough - no tiering needed
40
+ return {
41
+ summary: fullContent,
42
+ expandableId,
43
+ timestamp,
44
+ toolName,
45
+ sections: {},
46
+ tokenSavings: {
47
+ summaryTokens: fullTokens,
48
+ fullTokens,
49
+ savingsPercent: 0,
50
+ },
51
+ };
52
+ }
53
+ // Generate executive summary
54
+ const summary = await this.generateSummary(fullContent, this.config.maxSummaryTokens, 'executive');
55
+ // Generate section summaries
56
+ const sectionSummaries = {};
57
+ for (const [sectionName, sectionContent] of Object.entries(sections)) {
58
+ const sectionSummary = await this.generateSummary(sectionContent, this.config.maxSectionSummaryTokens, 'section');
59
+ sectionSummaries[sectionName] = {
60
+ summary: sectionSummary,
61
+ hasDetails: true,
62
+ fullTokenCount: Math.ceil(sectionContent.length / 4),
63
+ };
64
+ }
65
+ // Store expandable content in memory
66
+ const expandableContent = {
67
+ content: fullContent,
68
+ sections,
69
+ metadata: {
70
+ toolName,
71
+ timestamp,
72
+ toolArgs,
73
+ tokenCount: fullTokens,
74
+ },
75
+ };
76
+ await this.storeExpandableContent(expandableId, expandableContent);
77
+ // Calculate token savings
78
+ const summaryTokens = Math.ceil(summary.length / 4);
79
+ const tokenSavings = {
80
+ summaryTokens,
81
+ fullTokens,
82
+ savingsPercent: Math.round(((fullTokens - summaryTokens) / fullTokens) * 100),
83
+ };
84
+ this.logger.info(`Created tiered response: ${tokenSavings.savingsPercent}% token reduction`, 'TieredResponseManager', { expandableId, toolName, fullTokens, summaryTokens });
85
+ return {
86
+ summary,
87
+ expandableId,
88
+ timestamp,
89
+ toolName,
90
+ sections: sectionSummaries,
91
+ tokenSavings,
92
+ };
93
+ }
94
+ /**
95
+ * Generate a summary using AI or fallback to truncation
96
+ */
97
+ async generateSummary(content, maxTokens, type) {
98
+ if (!this.config.useAiSummarization) {
99
+ return this.truncateSummary(content, maxTokens);
100
+ }
101
+ try {
102
+ const prompt = type === 'executive'
103
+ ? `Provide a concise executive summary of the following analysis in ${maxTokens} tokens or less. Focus on key findings, critical insights, and actionable recommendations. Maintain technical accuracy while being brief.
104
+
105
+ ANALYSIS:
106
+ ${content}
107
+
108
+ EXECUTIVE SUMMARY (max ${maxTokens} tokens):`
109
+ : `Summarize the following section in ${maxTokens} tokens or less. Capture the essential information and key points concisely.
110
+
111
+ SECTION CONTENT:
112
+ ${content}
113
+
114
+ SUMMARY (max ${maxTokens} tokens):`;
115
+ const result = await executePromptWithFallback(prompt, 'Generate a concise summary of analysis content', {
116
+ temperature: this.config.summarizationTemperature,
117
+ maxTokens,
118
+ systemPrompt: 'You are a technical writer specializing in concise, accurate summaries. Focus on clarity and actionable insights.',
119
+ responseFormat: 'text',
120
+ });
121
+ if (result.isAIGenerated) {
122
+ return result.content;
123
+ }
124
+ // Fallback to truncation if AI fails
125
+ return this.truncateSummary(content, maxTokens);
126
+ }
127
+ catch (error) {
128
+ this.logger.warn('AI summarization failed, using truncation', 'TieredResponseManager', {
129
+ error: error instanceof Error ? error.message : String(error),
130
+ });
131
+ return this.truncateSummary(content, maxTokens);
132
+ }
133
+ }
134
+ /**
135
+ * Fallback: Truncate content to approximate token limit
136
+ */
137
+ truncateSummary(content, maxTokens) {
138
+ const maxChars = maxTokens * 4; // Rough approximation
139
+ if (content.length <= maxChars) {
140
+ return content;
141
+ }
142
+ // Truncate at sentence boundary
143
+ const truncated = content.substring(0, maxChars);
144
+ const lastPeriod = truncated.lastIndexOf('.');
145
+ const lastNewline = truncated.lastIndexOf('\n');
146
+ const cutPoint = Math.max(lastPeriod, lastNewline);
147
+ if (cutPoint > maxChars * 0.8) {
148
+ // Good cutpoint found
149
+ return truncated.substring(0, cutPoint + 1) + '\n\n[...continued in full analysis]';
150
+ }
151
+ // No good cutpoint, hard truncate
152
+ return truncated + '...\n\n[...continued in full analysis]';
153
+ }
154
+ /**
155
+ * Store expandable content in memory system
156
+ */
157
+ async storeExpandableContent(expandableId, content) {
158
+ await this.memoryManager.upsertEntity({
159
+ id: expandableId,
160
+ type: 'knowledge_artifact',
161
+ title: `Expandable Analysis: ${content.metadata.toolName}`,
162
+ description: `Full analysis content from ${content.metadata.toolName} tool. Token count: ${content.metadata.tokenCount}. Expandable ID: ${expandableId}`,
163
+ artifactData: {
164
+ artifactType: 'analysis',
165
+ content: JSON.stringify(content),
166
+ format: 'json',
167
+ sourceReliability: 1.0,
168
+ applicabilityScope: ['deployment', 'analysis', content.metadata.toolName],
169
+ keyInsights: [],
170
+ actionableItems: [],
171
+ },
172
+ tags: ['expandable', 'tiered-response', content.metadata.toolName, `id:${expandableId}`],
173
+ confidence: 1.0,
174
+ });
175
+ }
176
+ /**
177
+ * Retrieve expandable content from memory
178
+ */
179
+ async getExpandableContent(expandableId) {
180
+ try {
181
+ const entity = await this.memoryManager.getEntity(expandableId);
182
+ if (!entity || entity.type !== 'knowledge_artifact') {
183
+ return null;
184
+ }
185
+ const artifactContent = entity.artifactData?.content;
186
+ if (!artifactContent) {
187
+ return null;
188
+ }
189
+ return JSON.parse(artifactContent);
190
+ }
191
+ catch (error) {
192
+ this.logger.error('Failed to retrieve expandable content', 'TieredResponseManager', error instanceof Error ? error : undefined, {
193
+ expandableId,
194
+ errorMessage: error instanceof Error ? error.message : String(error),
195
+ });
196
+ return null;
197
+ }
198
+ }
199
+ /**
200
+ * Format tiered response for display
201
+ */
202
+ formatTieredResponse(response) {
203
+ const parts = [
204
+ `# ${response.toolName} Analysis`,
205
+ '',
206
+ '## šŸ“Š Executive Summary',
207
+ response.summary,
208
+ '',
209
+ ];
210
+ // Add sections if available
211
+ if (Object.keys(response.sections).length > 0) {
212
+ parts.push('## šŸ“‘ Sections (Summaries)');
213
+ parts.push('');
214
+ for (const [name, section] of Object.entries(response.sections)) {
215
+ parts.push(`### ${name}`);
216
+ parts.push(section.summary);
217
+ if (section.hasDetails) {
218
+ parts.push(`\nšŸ’” *Full details available (${section.fullTokenCount || '~'} tokens) - use \`expand_analysis_section\` with section: "${name}"*`);
219
+ }
220
+ parts.push('');
221
+ }
222
+ }
223
+ // Add expansion info
224
+ parts.push('---');
225
+ parts.push('## šŸ” Full Analysis Available');
226
+ parts.push('');
227
+ parts.push(`**Expandable ID:** \`${response.expandableId}\``);
228
+ parts.push(`**Tool:** ${response.toolName} | **Generated:** ${new Date(response.timestamp).toLocaleString()}`);
229
+ if (response.tokenSavings) {
230
+ parts.push('');
231
+ parts.push('### Token Efficiency');
232
+ parts.push(`- Summary: ${response.tokenSavings.summaryTokens} tokens`);
233
+ parts.push(`- Full Analysis: ${response.tokenSavings.fullTokens} tokens`);
234
+ parts.push(`- **Savings: ${response.tokenSavings.savingsPercent}%** (${response.tokenSavings.fullTokens - response.tokenSavings.summaryTokens} tokens saved)`);
235
+ }
236
+ parts.push('');
237
+ parts.push('šŸ’” **To view full analysis:** Use `expand_analysis_section` tool with `expandableId: "' +
238
+ response.expandableId +
239
+ '"`');
240
+ return parts.join('\n');
241
+ }
242
+ }
243
+ //# sourceMappingURL=tiered-response-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tiered-response-manager.js","sourceRoot":"","sources":["../../../src/utils/tiered-response-manager.ts"],"names":[],"mappings":"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"}