mcp-adr-analysis-server 2.0.21 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/README.md +94 -839
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/config/ai-config.d.ts.map +1 -1
  4. package/dist/src/config/ai-config.js +9 -9
  5. package/dist/src/config/ai-config.js.map +1 -1
  6. package/dist/src/index.d.ts +15 -0
  7. package/dist/src/index.d.ts.map +1 -1
  8. package/dist/src/index.js +1594 -837
  9. package/dist/src/index.js.map +1 -1
  10. package/dist/src/prompts/analysis-prompts.d.ts +4 -1
  11. package/dist/src/prompts/analysis-prompts.d.ts.map +1 -1
  12. package/dist/src/prompts/analysis-prompts.js +61 -30
  13. package/dist/src/prompts/analysis-prompts.js.map +1 -1
  14. package/dist/src/prompts/index.d.ts +17 -1
  15. package/dist/src/prompts/index.d.ts.map +1 -1
  16. package/dist/src/prompts/index.js +325 -1
  17. package/dist/src/prompts/index.js.map +1 -1
  18. package/dist/src/prompts/rule-generation-prompts.d.ts +5 -1
  19. package/dist/src/prompts/rule-generation-prompts.d.ts.map +1 -1
  20. package/dist/src/prompts/rule-generation-prompts.js +5 -1
  21. package/dist/src/prompts/rule-generation-prompts.js.map +1 -1
  22. package/dist/src/prompts/security-prompts.d.ts +6 -1
  23. package/dist/src/prompts/security-prompts.d.ts.map +1 -1
  24. package/dist/src/prompts/security-prompts.js +6 -1
  25. package/dist/src/prompts/security-prompts.js.map +1 -1
  26. package/dist/src/prompts/todo-prompts.d.ts +49 -0
  27. package/dist/src/prompts/todo-prompts.d.ts.map +1 -0
  28. package/dist/src/prompts/todo-prompts.js +824 -0
  29. package/dist/src/prompts/todo-prompts.js.map +1 -0
  30. package/dist/src/resources/index.d.ts.map +1 -1
  31. package/dist/src/resources/index.js +9 -7
  32. package/dist/src/resources/index.js.map +1 -1
  33. package/dist/src/tools/adr-bootstrap-validation-tool.d.ts +47 -0
  34. package/dist/src/tools/adr-bootstrap-validation-tool.d.ts.map +1 -0
  35. package/dist/src/tools/adr-bootstrap-validation-tool.js +979 -0
  36. package/dist/src/tools/adr-bootstrap-validation-tool.js.map +1 -0
  37. package/dist/src/tools/adr-suggestion-tool.d.ts +1 -0
  38. package/dist/src/tools/adr-suggestion-tool.d.ts.map +1 -1
  39. package/dist/src/tools/adr-suggestion-tool.js +330 -32
  40. package/dist/src/tools/adr-suggestion-tool.js.map +1 -1
  41. package/dist/src/tools/content-masking-tool.d.ts +5 -0
  42. package/dist/src/tools/content-masking-tool.d.ts.map +1 -1
  43. package/dist/src/tools/content-masking-tool.js +631 -28
  44. package/dist/src/tools/content-masking-tool.js.map +1 -1
  45. package/dist/src/tools/deployment-readiness-tool.d.ts +8 -5
  46. package/dist/src/tools/deployment-readiness-tool.d.ts.map +1 -1
  47. package/dist/src/tools/deployment-readiness-tool.js +1017 -93
  48. package/dist/src/tools/deployment-readiness-tool.js.map +1 -1
  49. package/dist/src/tools/environment-analysis-tool.d.ts +4 -0
  50. package/dist/src/tools/environment-analysis-tool.d.ts.map +1 -1
  51. package/dist/src/tools/environment-analysis-tool.js +568 -24
  52. package/dist/src/tools/environment-analysis-tool.js.map +1 -1
  53. package/dist/src/tools/interactive-adr-planning-tool.d.ts.map +1 -1
  54. package/dist/src/tools/interactive-adr-planning-tool.js +270 -108
  55. package/dist/src/tools/interactive-adr-planning-tool.js.map +1 -1
  56. package/dist/src/tools/mcp-planning-tool.d.ts.map +1 -1
  57. package/dist/src/tools/mcp-planning-tool.js +316 -183
  58. package/dist/src/tools/mcp-planning-tool.js.map +1 -1
  59. package/dist/src/tools/memory-loading-tool.d.ts +60 -0
  60. package/dist/src/tools/memory-loading-tool.d.ts.map +1 -0
  61. package/dist/src/tools/memory-loading-tool.js +457 -0
  62. package/dist/src/tools/memory-loading-tool.js.map +1 -0
  63. package/dist/src/tools/research-integration-tool.d.ts +4 -1
  64. package/dist/src/tools/research-integration-tool.d.ts.map +1 -1
  65. package/dist/src/tools/research-integration-tool.js +5 -1
  66. package/dist/src/tools/research-integration-tool.js.map +1 -1
  67. package/dist/src/tools/review-existing-adrs-tool.d.ts +19 -0
  68. package/dist/src/tools/review-existing-adrs-tool.d.ts.map +1 -0
  69. package/dist/src/tools/review-existing-adrs-tool.js +1204 -0
  70. package/dist/src/tools/review-existing-adrs-tool.js.map +1 -0
  71. package/dist/src/tools/rule-generation-tool.d.ts +2 -0
  72. package/dist/src/tools/rule-generation-tool.d.ts.map +1 -1
  73. package/dist/src/tools/rule-generation-tool.js +274 -33
  74. package/dist/src/tools/rule-generation-tool.js.map +1 -1
  75. package/dist/src/tools/smart-git-push-tool-v2.d.ts +4 -0
  76. package/dist/src/tools/smart-git-push-tool-v2.d.ts.map +1 -1
  77. package/dist/src/tools/smart-git-push-tool-v2.js +423 -229
  78. package/dist/src/tools/smart-git-push-tool-v2.js.map +1 -1
  79. package/dist/src/tools/smart-git-push-tool.d.ts +3 -0
  80. package/dist/src/tools/smart-git-push-tool.d.ts.map +1 -1
  81. package/dist/src/tools/smart-git-push-tool.js +241 -235
  82. package/dist/src/tools/smart-git-push-tool.js.map +1 -1
  83. package/dist/src/tools/tool-chain-orchestrator.d.ts +2 -2
  84. package/dist/src/tools/tool-chain-orchestrator.d.ts.map +1 -1
  85. package/dist/src/tools/tool-chain-orchestrator.js +152 -93
  86. package/dist/src/tools/tool-chain-orchestrator.js.map +1 -1
  87. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts +22 -13
  88. package/dist/src/tools/troubleshoot-guided-workflow-tool.d.ts.map +1 -1
  89. package/dist/src/tools/troubleshoot-guided-workflow-tool.js +660 -28
  90. package/dist/src/tools/troubleshoot-guided-workflow-tool.js.map +1 -1
  91. package/dist/src/types/ape-framework.d.ts +93 -0
  92. package/dist/src/types/ape-framework.d.ts.map +1 -1
  93. package/dist/src/types/ape-framework.js +10 -10
  94. package/dist/src/types/ape-framework.js.map +1 -1
  95. package/dist/src/types/enhanced-errors.d.ts +173 -0
  96. package/dist/src/types/enhanced-errors.d.ts.map +1 -0
  97. package/dist/src/types/enhanced-errors.js +668 -0
  98. package/dist/src/types/enhanced-errors.js.map +1 -0
  99. package/dist/src/types/index.d.ts +129 -3
  100. package/dist/src/types/index.d.ts.map +1 -1
  101. package/dist/src/types/index.js +15 -0
  102. package/dist/src/types/index.js.map +1 -1
  103. package/dist/src/types/knowledge-generation.d.ts +78 -0
  104. package/dist/src/types/knowledge-generation.d.ts.map +1 -1
  105. package/dist/src/types/knowledge-generation.js +10 -6
  106. package/dist/src/types/knowledge-generation.js.map +1 -1
  107. package/dist/src/types/knowledge-graph-schemas.d.ts +92 -0
  108. package/dist/src/types/knowledge-graph-schemas.d.ts.map +1 -1
  109. package/dist/src/types/knowledge-graph-schemas.js +45 -17
  110. package/dist/src/types/knowledge-graph-schemas.js.map +1 -1
  111. package/dist/src/types/memory-entities.d.ts +7209 -0
  112. package/dist/src/types/memory-entities.d.ts.map +1 -0
  113. package/dist/src/types/memory-entities.js +395 -0
  114. package/dist/src/types/memory-entities.js.map +1 -0
  115. package/dist/src/types/reflexion-framework.d.ts +44 -0
  116. package/dist/src/types/reflexion-framework.d.ts.map +1 -1
  117. package/dist/src/types/reflexion-framework.js +7 -7
  118. package/dist/src/types/reflexion-framework.js.map +1 -1
  119. package/dist/src/types/todo-json-schemas.d.ts +7 -653
  120. package/dist/src/types/todo-json-schemas.d.ts.map +1 -1
  121. package/dist/src/types/todo-json-schemas.js +6 -110
  122. package/dist/src/types/todo-json-schemas.js.map +1 -1
  123. package/dist/src/types/tool-arguments.d.ts +224 -0
  124. package/dist/src/types/tool-arguments.d.ts.map +1 -0
  125. package/dist/src/types/tool-arguments.js +6 -0
  126. package/dist/src/types/tool-arguments.js.map +1 -0
  127. package/dist/src/utils/actual-file-operations.d.ts.map +1 -1
  128. package/dist/src/utils/actual-file-operations.js +25 -9
  129. package/dist/src/utils/actual-file-operations.js.map +1 -1
  130. package/dist/src/utils/adr-discovery.d.ts +33 -1
  131. package/dist/src/utils/adr-discovery.d.ts.map +1 -1
  132. package/dist/src/utils/adr-discovery.js +14 -9
  133. package/dist/src/utils/adr-discovery.js.map +1 -1
  134. package/dist/src/utils/adr-suggestions.d.ts +72 -0
  135. package/dist/src/utils/adr-suggestions.d.ts.map +1 -1
  136. package/dist/src/utils/adr-suggestions.js +6 -0
  137. package/dist/src/utils/adr-suggestions.js.map +1 -1
  138. package/dist/src/utils/cache.d.ts.map +1 -1
  139. package/dist/src/utils/cache.js +22 -19
  140. package/dist/src/utils/cache.js.map +1 -1
  141. package/dist/src/utils/chain-of-thought-template.d.ts +13 -1
  142. package/dist/src/utils/chain-of-thought-template.d.ts.map +1 -1
  143. package/dist/src/utils/chain-of-thought-template.js +31 -22
  144. package/dist/src/utils/chain-of-thought-template.js.map +1 -1
  145. package/dist/src/utils/config.d.ts.map +1 -1
  146. package/dist/src/utils/config.js +1 -0
  147. package/dist/src/utils/config.js.map +1 -1
  148. package/dist/src/utils/directory-compat.js +1 -1
  149. package/dist/src/utils/directory-compat.js.map +1 -1
  150. package/dist/src/utils/enhanced-logging.d.ts +195 -0
  151. package/dist/src/utils/enhanced-logging.d.ts.map +1 -0
  152. package/dist/src/utils/enhanced-logging.js +449 -0
  153. package/dist/src/utils/enhanced-logging.js.map +1 -0
  154. package/dist/src/utils/file-system.d.ts +182 -34
  155. package/dist/src/utils/file-system.d.ts.map +1 -1
  156. package/dist/src/utils/file-system.js +648 -774
  157. package/dist/src/utils/file-system.js.map +1 -1
  158. package/dist/src/utils/gitleaks-detector.d.ts +50 -0
  159. package/dist/src/utils/gitleaks-detector.d.ts.map +1 -0
  160. package/dist/src/utils/gitleaks-detector.js +334 -0
  161. package/dist/src/utils/gitleaks-detector.js.map +1 -0
  162. package/dist/src/utils/interactive-approval.d.ts +1 -1
  163. package/dist/src/utils/interactive-approval.d.ts.map +1 -1
  164. package/dist/src/utils/interactive-approval.js +22 -17
  165. package/dist/src/utils/interactive-approval.js.map +1 -1
  166. package/dist/src/utils/json-safe.d.ts.map +1 -1
  167. package/dist/src/utils/json-safe.js +9 -6
  168. package/dist/src/utils/json-safe.js.map +1 -1
  169. package/dist/src/utils/knowledge-graph-manager.d.ts +37 -1
  170. package/dist/src/utils/knowledge-graph-manager.d.ts.map +1 -1
  171. package/dist/src/utils/knowledge-graph-manager.js +315 -70
  172. package/dist/src/utils/knowledge-graph-manager.js.map +1 -1
  173. package/dist/src/utils/location-filter.d.ts +35 -10
  174. package/dist/src/utils/location-filter.d.ts.map +1 -1
  175. package/dist/src/utils/location-filter.js +360 -94
  176. package/dist/src/utils/location-filter.js.map +1 -1
  177. package/dist/src/utils/mcp-response-validator.d.ts.map +1 -1
  178. package/dist/src/utils/mcp-response-validator.js +34 -19
  179. package/dist/src/utils/mcp-response-validator.js.map +1 -1
  180. package/dist/src/utils/memory-entity-manager.d.ts +134 -0
  181. package/dist/src/utils/memory-entity-manager.d.ts.map +1 -0
  182. package/dist/src/utils/memory-entity-manager.js +851 -0
  183. package/dist/src/utils/memory-entity-manager.js.map +1 -0
  184. package/dist/src/utils/memory-health-scoring.d.ts +125 -0
  185. package/dist/src/utils/memory-health-scoring.d.ts.map +1 -0
  186. package/dist/src/utils/memory-health-scoring.js +277 -0
  187. package/dist/src/utils/memory-health-scoring.js.map +1 -0
  188. package/dist/src/utils/memory-migration-manager.d.ts +93 -0
  189. package/dist/src/utils/memory-migration-manager.d.ts.map +1 -0
  190. package/dist/src/utils/memory-migration-manager.js +842 -0
  191. package/dist/src/utils/memory-migration-manager.js.map +1 -0
  192. package/dist/src/utils/memory-relationship-mapper.d.ts +87 -0
  193. package/dist/src/utils/memory-relationship-mapper.d.ts.map +1 -0
  194. package/dist/src/utils/memory-relationship-mapper.js +482 -0
  195. package/dist/src/utils/memory-relationship-mapper.js.map +1 -0
  196. package/dist/src/utils/memory-rollback-manager.d.ts +105 -0
  197. package/dist/src/utils/memory-rollback-manager.d.ts.map +1 -0
  198. package/dist/src/utils/memory-rollback-manager.js +575 -0
  199. package/dist/src/utils/memory-rollback-manager.js.map +1 -0
  200. package/dist/src/utils/memory-transformation.d.ts +59 -0
  201. package/dist/src/utils/memory-transformation.d.ts.map +1 -0
  202. package/dist/src/utils/memory-transformation.js +742 -0
  203. package/dist/src/utils/memory-transformation.js.map +1 -0
  204. package/dist/src/utils/output-masking.d.ts +12 -0
  205. package/dist/src/utils/output-masking.d.ts.map +1 -1
  206. package/dist/src/utils/output-masking.js +5 -0
  207. package/dist/src/utils/output-masking.js.map +1 -1
  208. package/dist/src/utils/prompt-execution.d.ts.map +1 -1
  209. package/dist/src/utils/prompt-execution.js +72 -51
  210. package/dist/src/utils/prompt-execution.js.map +1 -1
  211. package/dist/src/utils/release-readiness-detector.d.ts.map +1 -1
  212. package/dist/src/utils/release-readiness-detector.js +43 -42
  213. package/dist/src/utils/release-readiness-detector.js.map +1 -1
  214. package/dist/src/utils/research-integration.d.ts.map +1 -1
  215. package/dist/src/utils/research-integration.js +73 -44
  216. package/dist/src/utils/research-integration.js.map +1 -1
  217. package/dist/src/utils/research-questions.d.ts.map +1 -1
  218. package/dist/src/utils/research-questions.js +40 -14
  219. package/dist/src/utils/research-questions.js.map +1 -1
  220. package/dist/src/utils/ripgrep-wrapper.d.ts +84 -0
  221. package/dist/src/utils/ripgrep-wrapper.d.ts.map +1 -0
  222. package/dist/src/utils/ripgrep-wrapper.js +255 -0
  223. package/dist/src/utils/ripgrep-wrapper.js.map +1 -0
  224. package/dist/src/utils/rule-generation.d.ts.map +1 -1
  225. package/dist/src/utils/rule-generation.js +26 -15
  226. package/dist/src/utils/rule-generation.js.map +1 -1
  227. package/dist/src/utils/todo-file-watcher.d.ts +11 -23
  228. package/dist/src/utils/todo-file-watcher.d.ts.map +1 -1
  229. package/dist/src/utils/todo-file-watcher.js +18 -156
  230. package/dist/src/utils/todo-file-watcher.js.map +1 -1
  231. package/dist/src/utils/tree-sitter-analyzer.d.ts +185 -0
  232. package/dist/src/utils/tree-sitter-analyzer.d.ts.map +1 -0
  233. package/dist/src/utils/tree-sitter-analyzer.js +885 -0
  234. package/dist/src/utils/tree-sitter-analyzer.js.map +1 -0
  235. package/package.json +51 -10
  236. package/dist/src/tools/smart-score-tool.d.ts +0 -173
  237. package/dist/src/tools/smart-score-tool.d.ts.map +0 -1
  238. package/dist/src/tools/smart-score-tool.js +0 -681
  239. package/dist/src/tools/smart-score-tool.js.map +0 -1
  240. package/dist/src/tools/todo-management-tool-v2.d.ts +0 -368
  241. package/dist/src/tools/todo-management-tool-v2.d.ts.map +0 -1
  242. package/dist/src/tools/todo-management-tool-v2.js +0 -922
  243. package/dist/src/tools/todo-management-tool-v2.js.map +0 -1
  244. package/dist/src/utils/enhanced-sensitive-detector.d.ts +0 -61
  245. package/dist/src/utils/enhanced-sensitive-detector.d.ts.map +0 -1
  246. package/dist/src/utils/enhanced-sensitive-detector.js +0 -437
  247. package/dist/src/utils/enhanced-sensitive-detector.js.map +0 -1
  248. package/dist/src/utils/project-health-scoring.d.ts +0 -177
  249. package/dist/src/utils/project-health-scoring.d.ts.map +0 -1
  250. package/dist/src/utils/project-health-scoring.js +0 -370
  251. package/dist/src/utils/project-health-scoring.js.map +0 -1
  252. package/dist/src/utils/todo-json-manager.d.ts +0 -71
  253. package/dist/src/utils/todo-json-manager.d.ts.map +0 -1
  254. package/dist/src/utils/todo-json-manager.js +0 -396
  255. package/dist/src/utils/todo-json-manager.js.map +0 -1
  256. package/dist/src/utils/todo-markdown-converter.d.ts +0 -16
  257. package/dist/src/utils/todo-markdown-converter.d.ts.map +0 -1
  258. package/dist/src/utils/todo-markdown-converter.js +0 -362
  259. package/dist/src/utils/todo-markdown-converter.js.map +0 -1
  260. package/dist/src/utils/todo-migration.d.ts +0 -47
  261. package/dist/src/utils/todo-migration.d.ts.map +0 -1
  262. package/dist/src/utils/todo-migration.js +0 -261
  263. package/dist/src/utils/todo-migration.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"smart-git-push-tool.js","sourceRoot":"","sources":["../../../src/tools/smart-git-push-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smart-git-push-tool.js","sourceRoot":"","sources":["../../../src/tools/smart-git-push-tool.ts"],"names":[],"mappings":"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"}
@@ -67,7 +67,6 @@ declare const ToolChainOrchestratorSchema: z.ZodObject<{
67
67
  stuckOnTask?: string | undefined;
68
68
  }>>;
69
69
  }, "strip", z.ZodTypeAny, {
70
- operation: "generate_plan" | "analyze_intent" | "suggest_tools" | "validate_plan" | "reality_check" | "session_guidance";
71
70
  projectContext: {
72
71
  projectPath: string;
73
72
  adrDirectory: string;
@@ -76,6 +75,7 @@ declare const ToolChainOrchestratorSchema: z.ZodObject<{
76
75
  hasADRs?: boolean | undefined;
77
76
  hasTODO?: boolean | undefined;
78
77
  };
78
+ operation: "generate_plan" | "analyze_intent" | "suggest_tools" | "validate_plan" | "reality_check" | "session_guidance";
79
79
  userRequest: string;
80
80
  constraints?: {
81
81
  maxSteps: number;
@@ -92,7 +92,6 @@ declare const ToolChainOrchestratorSchema: z.ZodObject<{
92
92
  stuckOnTask?: string | undefined;
93
93
  } | undefined;
94
94
  }, {
95
- operation: "generate_plan" | "analyze_intent" | "suggest_tools" | "validate_plan" | "reality_check" | "session_guidance";
96
95
  projectContext: {
97
96
  projectPath: string;
98
97
  projectType?: string | undefined;
@@ -101,6 +100,7 @@ declare const ToolChainOrchestratorSchema: z.ZodObject<{
101
100
  hasADRs?: boolean | undefined;
102
101
  hasTODO?: boolean | undefined;
103
102
  };
103
+ operation: "generate_plan" | "analyze_intent" | "suggest_tools" | "validate_plan" | "reality_check" | "session_guidance";
104
104
  userRequest: string;
105
105
  constraints?: {
106
106
  maxSteps?: number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"tool-chain-orchestrator.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-chain-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAuFxB,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyB/B,CAAC;AAEH,KAAK,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AA8a7E;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,GAAG,CAAC,CAmHzF"}
1
+ {"version":3,"file":"tool-chain-orchestrator.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-chain-orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AA8FxB,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsD/B,CAAC;AAEH,KAAK,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAid7E;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,GAAG,CAAC,CAoIzF"}
@@ -15,8 +15,11 @@ const ToolChainStepSchema = z.object({
15
15
  description: z.string().describe('What this step accomplishes'),
16
16
  dependsOn: z.array(z.string()).optional().describe('Previous step IDs this depends on'),
17
17
  stepId: z.string().describe('Unique identifier for this step'),
18
- conditional: z.boolean().default(false).describe('Whether this step should only run if previous steps succeed'),
19
- retryable: z.boolean().default(true).describe('Whether this step can be retried on failure')
18
+ conditional: z
19
+ .boolean()
20
+ .default(false)
21
+ .describe('Whether this step should only run if previous steps succeed'),
22
+ retryable: z.boolean().default(true).describe('Whether this step can be retried on failure'),
20
23
  });
21
24
  // Tool chain plan schema
22
25
  const ToolChainPlanSchema = z.object({
@@ -25,9 +28,12 @@ const ToolChainPlanSchema = z.object({
25
28
  confidence: z.number().min(0).max(1).describe('Confidence in the plan (0-1)'),
26
29
  estimatedDuration: z.string().describe('Estimated execution time'),
27
30
  steps: z.array(ToolChainStepSchema).describe('Ordered sequence of tool executions'),
28
- fallbackSteps: z.array(ToolChainStepSchema).optional().describe('Alternative steps if main plan fails'),
31
+ fallbackSteps: z
32
+ .array(ToolChainStepSchema)
33
+ .optional()
34
+ .describe('Alternative steps if main plan fails'),
29
35
  prerequisites: z.array(z.string()).optional().describe('Required conditions before execution'),
30
- expectedOutputs: z.array(z.string()).describe('What outputs the plan will generate')
36
+ expectedOutputs: z.array(z.string()).describe('What outputs the plan will generate'),
31
37
  });
32
38
  // Available MCP tools registry
33
39
  const AVAILABLE_TOOLS = [
@@ -55,62 +61,91 @@ const AVAILABLE_TOOLS = [
55
61
  'refactoring_suggestions',
56
62
  'api_documentation',
57
63
  'deployment_checklist',
58
- 'release_notes'
64
+ 'release_notes',
59
65
  ];
60
66
  // Tool capabilities mapping for AI context
61
67
  const TOOL_CAPABILITIES = {
62
- 'analyze_project_ecosystem': 'Analyze technology stack, dependencies, and architectural patterns',
63
- 'generate_adrs_from_prd': 'Convert Product Requirements Documents to Architectural Decision Records',
64
- 'suggest_adrs': 'Auto-suggest ADRs based on code analysis and project patterns',
65
- 'analyze_content_security': 'Detect and mask sensitive information in project content',
66
- 'generate_rules': 'Extract architectural rules and constraints from project analysis',
67
- 'generate_adr_todo': 'Generate TODO.md from ADRs with comprehensive task breakdown',
68
- 'compare_adr_progress': 'Validate TODO vs ADRs vs actual environment state',
69
- 'manage_todo': 'Comprehensive TODO.md lifecycle management and progress tracking',
70
- 'generate_deployment_guidance': 'AI-driven deployment procedures from architectural decisions',
71
- 'smart_score': 'Project health scoring with cross-tool synchronization',
72
- 'troubleshoot_guided_workflow': 'Systematic troubleshooting with ADR/TODO alignment',
73
- 'smart_git_push': 'Intelligent release readiness analysis and git operations',
74
- 'generate_research_questions': 'Generate targeted research questions for project analysis',
75
- 'validate_rules': 'Validate architectural rule compliance across the project',
76
- 'analyze_code_patterns': 'Identify code patterns and architectural consistency',
77
- 'suggest_improvements': 'Provide targeted improvement recommendations',
78
- 'generate_test_scenarios': 'Create comprehensive test scenarios and strategies',
79
- 'create_documentation': 'Generate project documentation from code and ADRs',
80
- 'security_audit': 'Comprehensive security analysis and vulnerability detection',
81
- 'performance_analysis': 'Analyze performance bottlenecks and optimization opportunities',
82
- 'dependency_analysis': 'Analyze project dependencies and potential issues',
83
- 'refactoring_suggestions': 'Suggest code refactoring based on architectural principles',
84
- 'api_documentation': 'Generate API documentation from code analysis',
85
- 'deployment_checklist': 'Create deployment checklists based on ADRs and project state',
86
- 'release_notes': 'Generate release notes from commits, ADRs, and TODO completion'
68
+ analyze_project_ecosystem: 'Analyze technology stack, dependencies, and architectural patterns',
69
+ generate_adrs_from_prd: 'Convert Product Requirements Documents to Architectural Decision Records',
70
+ suggest_adrs: 'Auto-suggest ADRs based on code analysis and project patterns',
71
+ analyze_content_security: 'Detect and mask sensitive information in project content',
72
+ generate_rules: 'Extract architectural rules and constraints from project analysis',
73
+ generate_adr_todo: 'Generate TODO.md from ADRs with comprehensive task breakdown',
74
+ compare_adr_progress: 'Validate TODO vs ADRs vs actual environment state',
75
+ manage_todo: 'Comprehensive TODO.md lifecycle management and progress tracking',
76
+ generate_deployment_guidance: 'AI-driven deployment procedures from architectural decisions',
77
+ smart_score: 'Project health scoring with cross-tool synchronization',
78
+ troubleshoot_guided_workflow: 'Systematic troubleshooting with ADR/TODO alignment',
79
+ smart_git_push: 'Intelligent release readiness analysis and git operations',
80
+ generate_research_questions: 'Generate targeted research questions for project analysis',
81
+ validate_rules: 'Validate architectural rule compliance across the project',
82
+ analyze_code_patterns: 'Identify code patterns and architectural consistency',
83
+ suggest_improvements: 'Provide targeted improvement recommendations',
84
+ generate_test_scenarios: 'Create comprehensive test scenarios and strategies',
85
+ create_documentation: 'Generate project documentation from code and ADRs',
86
+ security_audit: 'Comprehensive security analysis and vulnerability detection',
87
+ performance_analysis: 'Analyze performance bottlenecks and optimization opportunities',
88
+ dependency_analysis: 'Analyze project dependencies and potential issues',
89
+ refactoring_suggestions: 'Suggest code refactoring based on architectural principles',
90
+ api_documentation: 'Generate API documentation from code analysis',
91
+ deployment_checklist: 'Create deployment checklists based on ADRs and project state',
92
+ release_notes: 'Generate release notes from commits, ADRs, and TODO completion',
87
93
  };
88
94
  // Operation schema
89
95
  const ToolChainOrchestratorSchema = z.object({
90
- operation: z.enum(['generate_plan', 'analyze_intent', 'suggest_tools', 'validate_plan', 'reality_check', 'session_guidance']).describe('Orchestrator operation'),
96
+ operation: z
97
+ .enum([
98
+ 'generate_plan',
99
+ 'analyze_intent',
100
+ 'suggest_tools',
101
+ 'validate_plan',
102
+ 'reality_check',
103
+ 'session_guidance',
104
+ ])
105
+ .describe('Orchestrator operation'),
91
106
  userRequest: z.string().describe('Natural language user request'),
92
- projectContext: z.object({
107
+ projectContext: z
108
+ .object({
93
109
  projectPath: z.string().describe('Path to project directory'),
94
110
  adrDirectory: z.string().default('docs/adrs').describe('ADR directory path'),
95
111
  todoPath: z.string().default('TODO.md').describe('TODO.md file path'),
96
112
  hasADRs: z.boolean().optional().describe('Whether project has existing ADRs'),
97
113
  hasTODO: z.boolean().optional().describe('Whether project has TODO.md'),
98
- projectType: z.string().optional().describe('Project type (e.g., web-app, library, api)')
99
- }).describe('Project context information'),
100
- constraints: z.object({
114
+ projectType: z.string().optional().describe('Project type (e.g., web-app, library, api)'),
115
+ })
116
+ .describe('Project context information'),
117
+ constraints: z
118
+ .object({
101
119
  maxSteps: z.number().default(10).describe('Maximum number of steps in plan'),
102
120
  timeLimit: z.string().optional().describe('Time limit for execution'),
103
121
  excludeTools: z.array(z.string()).optional().describe('Tools to exclude from plan'),
104
- prioritizeSpeed: z.boolean().default(false).describe('Prioritize fast execution over thoroughness')
105
- }).optional().describe('Execution constraints'),
122
+ prioritizeSpeed: z
123
+ .boolean()
124
+ .default(false)
125
+ .describe('Prioritize fast execution over thoroughness'),
126
+ })
127
+ .optional()
128
+ .describe('Execution constraints'),
106
129
  customInstructions: z.string().optional().describe('Additional context or specific requirements'),
107
- sessionContext: z.object({
130
+ sessionContext: z
131
+ .object({
108
132
  conversationLength: z.number().optional().describe('Number of messages in current session'),
109
- previousActions: z.array(z.string()).optional().describe('Tools/actions already executed this session'),
110
- confusionIndicators: z.array(z.string()).optional().describe('Signs that LLM might be confused or hallucinating'),
111
- lastSuccessfulAction: z.string().optional().describe('Last action that produced good results'),
112
- stuckOnTask: z.string().optional().describe('Task the LLM seems stuck on')
113
- }).optional().describe('Session context for hallucination prevention')
133
+ previousActions: z
134
+ .array(z.string())
135
+ .optional()
136
+ .describe('Tools/actions already executed this session'),
137
+ confusionIndicators: z
138
+ .array(z.string())
139
+ .optional()
140
+ .describe('Signs that LLM might be confused or hallucinating'),
141
+ lastSuccessfulAction: z
142
+ .string()
143
+ .optional()
144
+ .describe('Last action that produced good results'),
145
+ stuckOnTask: z.string().optional().describe('Task the LLM seems stuck on'),
146
+ })
147
+ .optional()
148
+ .describe('Session context for hallucination prevention'),
114
149
  });
115
150
  /**
116
151
  * Generate AI-powered tool execution plan
@@ -124,7 +159,9 @@ async function generateToolChainPlan(args) {
124
159
  const systemPrompt = `You are an expert software architect and MCP tool orchestrator. Your job is to analyze user requests and generate intelligent tool execution plans.
125
160
 
126
161
  Available MCP Tools:
127
- ${Object.entries(TOOL_CAPABILITIES).map(([tool, desc]) => `- ${tool}: ${desc}`).join('\n')}
162
+ ${Object.entries(TOOL_CAPABILITIES)
163
+ .map(([tool, desc]) => `- ${tool}: ${desc}`)
164
+ .join('\n')}
128
165
 
129
166
  Project Context:
130
167
  - Project Path: ${args.projectContext.projectPath}
@@ -166,11 +203,13 @@ Return a JSON object matching this schema:
166
203
 
167
204
  ${args.customInstructions ? `Additional Instructions: ${args.customInstructions}` : ''}
168
205
 
169
- ${args.constraints ? `Constraints:
206
+ ${args.constraints
207
+ ? `Constraints:
170
208
  - Max Steps: ${args.constraints.maxSteps}
171
209
  - Time Limit: ${args.constraints.timeLimit || 'None'}
172
210
  - Exclude Tools: ${args.constraints.excludeTools?.join(', ') || 'None'}
173
- - Prioritize Speed: ${args.constraints.prioritizeSpeed ? 'Yes' : 'No'}` : ''}
211
+ - Prioritize Speed: ${args.constraints.prioritizeSpeed ? 'Yes' : 'No'}`
212
+ : ''}
174
213
 
175
214
  Generate the optimal tool execution plan.`;
176
215
  try {
@@ -178,21 +217,21 @@ Generate the optimal tool execution plan.`;
178
217
  const response = await fetch(aiConfig.baseURL + '/chat/completions', {
179
218
  method: 'POST',
180
219
  headers: {
181
- 'Authorization': `Bearer ${aiConfig.apiKey}`,
220
+ Authorization: `Bearer ${aiConfig.apiKey}`,
182
221
  'Content-Type': 'application/json',
183
222
  'HTTP-Referer': aiConfig.siteUrl || '',
184
- 'X-Title': aiConfig.siteName || ''
223
+ 'X-Title': aiConfig.siteName || '',
185
224
  },
186
225
  body: JSON.stringify({
187
226
  model: getRecommendedModel('analysis'),
188
227
  messages: [
189
228
  { role: 'system', content: systemPrompt },
190
- { role: 'user', content: userPrompt }
229
+ { role: 'user', content: userPrompt },
191
230
  ],
192
231
  temperature: 0.1, // Low temperature for consistent planning
193
232
  max_tokens: aiConfig.maxTokens,
194
- response_format: { type: 'json_object' }
195
- })
233
+ response_format: { type: 'json_object' },
234
+ }),
196
235
  });
197
236
  if (!response.ok) {
198
237
  throw new Error(`OpenRouter API error: ${response.status} ${response.statusText}`);
@@ -274,21 +313,21 @@ Return JSON with:
274
313
  const response = await fetch(aiConfig.baseURL + '/chat/completions', {
275
314
  method: 'POST',
276
315
  headers: {
277
- 'Authorization': `Bearer ${aiConfig.apiKey}`,
316
+ Authorization: `Bearer ${aiConfig.apiKey}`,
278
317
  'Content-Type': 'application/json',
279
318
  'HTTP-Referer': aiConfig.siteUrl || '',
280
- 'X-Title': aiConfig.siteName || ''
319
+ 'X-Title': aiConfig.siteName || '',
281
320
  },
282
321
  body: JSON.stringify({
283
322
  model: getRecommendedModel('quick-analysis', true), // Use cost-effective model
284
323
  messages: [
285
324
  { role: 'system', content: systemPrompt },
286
- { role: 'user', content: `Analyze this request: "${args.userRequest}"` }
325
+ { role: 'user', content: `Analyze this request: "${args.userRequest}"` },
287
326
  ],
288
327
  temperature: 0.1,
289
328
  max_tokens: 500,
290
- response_format: { type: 'json_object' }
291
- })
329
+ response_format: { type: 'json_object' },
330
+ }),
292
331
  });
293
332
  const result = await response.json();
294
333
  const analysisContent = result.choices?.[0]?.message?.content;
@@ -296,7 +335,7 @@ Return JSON with:
296
335
  return JSON.parse(analysisContent);
297
336
  }
298
337
  }
299
- catch (error) {
338
+ catch {
300
339
  // Fall back to keyword analysis
301
340
  }
302
341
  return fallbackIntentAnalysis(args.userRequest);
@@ -332,7 +371,16 @@ function performRealityCheck(args) {
332
371
  }
333
372
  }
334
373
  // Confusion indicators in the request
335
- const confusionKeywords = ['confused', 'not working', 'stuck', 'help', 'what should', 'don\'t know', 'error', 'failed'];
374
+ const confusionKeywords = [
375
+ 'confused',
376
+ 'not working',
377
+ 'stuck',
378
+ 'help',
379
+ 'what should',
380
+ "don't know",
381
+ 'error',
382
+ 'failed',
383
+ ];
336
384
  const foundKeywords = confusionKeywords.filter(keyword => request.includes(keyword));
337
385
  if (foundKeywords.length > 0) {
338
386
  riskScore += foundKeywords.length;
@@ -346,8 +394,7 @@ function performRealityCheck(args) {
346
394
  recommendations.push('Use human override to force progress on stuck task');
347
395
  }
348
396
  // Suggest actions based on risk level
349
- const hallucinationRisk = riskScore >= 5 ? 'high' :
350
- riskScore >= 2 ? 'medium' : 'low';
397
+ const hallucinationRisk = riskScore >= 5 ? 'high' : riskScore >= 2 ? 'medium' : 'low';
351
398
  if (hallucinationRisk === 'high') {
352
399
  suggestedActions.push('IMMEDIATE: Start fresh session with analyze_project_ecosystem to reload context', 'Avoid further AI planning - use predefined task patterns', 'Consider resetting the conversation context');
353
400
  }
@@ -361,7 +408,7 @@ function performRealityCheck(args) {
361
408
  hallucinationRisk,
362
409
  confusionIndicators,
363
410
  recommendations,
364
- suggestedActions
411
+ suggestedActions,
365
412
  };
366
413
  }
367
414
  /**
@@ -408,7 +455,7 @@ function generateSessionGuidance(args) {
408
455
  sessionStatus,
409
456
  guidance,
410
457
  recommendedNextStep,
411
- humanInterventionNeeded
458
+ humanInterventionNeeded,
412
459
  };
413
460
  }
414
461
  /**
@@ -418,14 +465,14 @@ function fallbackIntentAnalysis(userRequest) {
418
465
  const request = userRequest.toLowerCase();
419
466
  // Simple keyword matching
420
467
  const keywordMap = {
421
- 'analyze': ['analyze_project_ecosystem', 'analyze_content_security'],
422
- 'generate': ['generate_adrs_from_prd', 'generate_adr_todo', 'generate_deployment_guidance'],
423
- 'todo': ['manage_todo', 'generate_adr_todo'],
424
- 'adr': ['suggest_adrs', 'generate_adrs_from_prd', 'compare_adr_progress'],
425
- 'deploy': ['generate_deployment_guidance', 'smart_git_push'],
426
- 'score': ['smart_score'],
427
- 'troubleshoot': ['troubleshoot_guided_workflow'],
428
- 'security': ['analyze_content_security', 'security_audit']
468
+ analyze: ['analyze_project_ecosystem', 'analyze_content_security'],
469
+ generate: ['generate_adrs_from_prd', 'generate_adr_todo', 'generate_deployment_guidance'],
470
+ todo: ['manage_todo', 'generate_adr_todo'],
471
+ adr: ['suggest_adrs', 'generate_adrs_from_prd', 'compare_adr_progress'],
472
+ deploy: ['generate_deployment_guidance', 'smart_git_push'],
473
+ score: ['smart_score'],
474
+ troubleshoot: ['troubleshoot_guided_workflow'],
475
+ security: ['analyze_content_security', 'security_audit'],
429
476
  };
430
477
  const suggestedTools = [];
431
478
  let category = 'analysis';
@@ -453,7 +500,7 @@ function fallbackIntentAnalysis(userRequest) {
453
500
  category,
454
501
  complexity,
455
502
  suggestedTools: [...new Set(suggestedTools)].slice(0, 5),
456
- confidence: suggestedTools.length > 0 ? 0.7 : 0.3
503
+ confidence: suggestedTools.length > 0 ? 0.7 : 0.3,
457
504
  };
458
505
  }
459
506
  /**
@@ -473,67 +520,79 @@ export async function toolChainOrchestrator(args) {
473
520
  // Store plan generation in knowledge graph
474
521
  await kgManager.addToolExecution(intentId, 'tool_chain_orchestrator_generate_plan', validatedArgs, { plan }, true, [], [], undefined);
475
522
  return {
476
- content: [{
523
+ content: [
524
+ {
477
525
  type: 'text',
478
- text: `# šŸŽÆ AI-Generated Tool Execution Plan\n\n## Intent Analysis\n**User Intent**: ${plan.userIntent}\n**Confidence**: ${(plan.confidence * 100).toFixed(1)}%\n**Estimated Duration**: ${plan.estimatedDuration}\n\n## Execution Steps\n\n${plan.steps.map((step, i) => `### Step ${i + 1}: ${step.description}\n- **Tool**: \`${step.toolName}\`\n- **Step ID**: \`${step.stepId}\`\n${step.dependsOn && step.dependsOn.length > 0 ? `- **Depends On**: ${step.dependsOn.join(', ')}\n` : ''}- **Parameters**: \`\`\`json\n${JSON.stringify(step.parameters, null, 2)}\n\`\`\`\n${step.conditional ? '- **Conditional**: Only runs if previous steps succeed\n' : ''}${step.retryable ? '- **Retryable**: Can be retried on failure\n' : ''}`).join('\n\n')}\n\n## Expected Outputs\n${plan.expectedOutputs.map(output => `- ${output}`).join('\n')}\n\n${plan.fallbackSteps && plan.fallbackSteps.length > 0 ? `## Fallback Steps\n${plan.fallbackSteps.map(step => `- **${step.toolName}**: ${step.description}`).join('\n')}\n\n` : ''}${plan.prerequisites && plan.prerequisites.length > 0 ? `## Prerequisites\n${plan.prerequisites.map(req => `- ${req}`).join('\n')}\n\n` : ''}## Usage Instructions\n\n1. Execute steps in order, respecting dependencies\n2. Pass the provided parameters to each tool\n3. Handle conditional steps based on previous results\n4. Use fallback steps if main plan encounters issues\n\n*This plan was generated by AI analysis of your request and project context.*`
479
- }],
526
+ text: `# šŸŽÆ AI-Generated Tool Execution Plan\n\n## Intent Analysis\n**User Intent**: ${plan.userIntent}\n**Confidence**: ${(plan.confidence * 100).toFixed(1)}%\n**Estimated Duration**: ${plan.estimatedDuration}\n\n## Execution Steps\n\n${plan.steps.map((step, i) => `### Step ${i + 1}: ${step.description}\n- **Tool**: \`${step.toolName}\`\n- **Step ID**: \`${step.stepId}\`\n${step.dependsOn && step.dependsOn.length > 0 ? `- **Depends On**: ${step.dependsOn.join(', ')}\n` : ''}- **Parameters**: \`\`\`json\n${JSON.stringify(step.parameters, null, 2)}\n\`\`\`\n${step.conditional ? '- **Conditional**: Only runs if previous steps succeed\n' : ''}${step.retryable ? '- **Retryable**: Can be retried on failure\n' : ''}`).join('\n\n')}\n\n## Expected Outputs\n${plan.expectedOutputs.map(output => `- ${output}`).join('\n')}\n\n${plan.fallbackSteps && plan.fallbackSteps.length > 0 ? `## Fallback Steps\n${plan.fallbackSteps.map(step => `- **${step.toolName}**: ${step.description}`).join('\n')}\n\n` : ''}${plan.prerequisites && plan.prerequisites.length > 0 ? `## Prerequisites\n${plan.prerequisites.map(req => `- ${req}`).join('\n')}\n\n` : ''}## Usage Instructions\n\n1. Execute steps in order, respecting dependencies\n2. Pass the provided parameters to each tool\n3. Handle conditional steps based on previous results\n4. Use fallback steps if main plan encounters issues\n\n*This plan was generated by AI analysis of your request and project context.*`,
527
+ },
528
+ ],
480
529
  metadata: {
481
530
  intentId,
482
531
  planId: plan.planId,
483
532
  confidence: plan.confidence,
484
533
  stepCount: plan.steps.length,
485
- toolChain: plan.steps.map(s => s.toolName)
486
- }
534
+ toolChain: plan.steps.map(s => s.toolName),
535
+ },
487
536
  };
488
537
  }
489
538
  case 'analyze_intent': {
490
539
  const analysis = await analyzeUserIntent(validatedArgs);
491
540
  return {
492
- content: [{
541
+ content: [
542
+ {
493
543
  type: 'text',
494
- text: `# šŸŽÆ Intent Analysis\n\n**Intent**: ${analysis.intent}\n**Category**: ${analysis.category}\n**Complexity**: ${analysis.complexity}\n**Confidence**: ${(analysis.confidence * 100).toFixed(1)}%\n\n## Suggested Tools\n${analysis.suggestedTools.map(tool => `- **${tool}**: ${TOOL_CAPABILITIES[tool] || 'Tool capability description'}`).join('\n')}\n\n*Use 'generate_plan' operation to create a full execution plan.*`
495
- }]
544
+ text: `# šŸŽÆ Intent Analysis\n\n**Intent**: ${analysis.intent}\n**Category**: ${analysis.category}\n**Complexity**: ${analysis.complexity}\n**Confidence**: ${(analysis.confidence * 100).toFixed(1)}%\n\n## Suggested Tools\n${analysis.suggestedTools.map(tool => `- **${tool}**: ${TOOL_CAPABILITIES[tool] || 'Tool capability description'}`).join('\n')}\n\n*Use 'generate_plan' operation to create a full execution plan.*`,
545
+ },
546
+ ],
496
547
  };
497
548
  }
498
549
  case 'suggest_tools': {
499
550
  const analysis = await analyzeUserIntent(validatedArgs);
500
551
  return {
501
- content: [{
552
+ content: [
553
+ {
502
554
  type: 'text',
503
- text: `# šŸ› ļø Tool Suggestions\n\n${analysis.suggestedTools.map(tool => `## ${tool}\n${TOOL_CAPABILITIES[tool] || 'Tool capability description'}\n`).join('\n')}`
504
- }]
555
+ text: `# šŸ› ļø Tool Suggestions\n\n${analysis.suggestedTools.map(tool => `## ${tool}\n${TOOL_CAPABILITIES[tool] || 'Tool capability description'}\n`).join('\n')}`,
556
+ },
557
+ ],
505
558
  };
506
559
  }
507
560
  case 'validate_plan': {
508
561
  // This would validate a provided plan structure
509
562
  return {
510
- content: [{
563
+ content: [
564
+ {
511
565
  type: 'text',
512
- text: `# āœ… Plan Validation\n\nPlan validation functionality would analyze a provided plan structure for safety, dependencies, and feasibility.`
513
- }]
566
+ text: `# āœ… Plan Validation\n\nPlan validation functionality would analyze a provided plan structure for safety, dependencies, and feasibility.`,
567
+ },
568
+ ],
514
569
  };
515
570
  }
516
571
  case 'reality_check': {
517
572
  const realityCheck = performRealityCheck(validatedArgs);
518
573
  return {
519
- content: [{
574
+ content: [
575
+ {
520
576
  type: 'text',
521
- text: `# šŸ” Reality Check Results\n\n## Hallucination Risk Assessment\n**Risk Level**: ${realityCheck.hallucinationRisk.toUpperCase()} ${realityCheck.hallucinationRisk === 'high' ? '🚨' : realityCheck.hallucinationRisk === 'medium' ? 'āš ļø' : 'āœ…'}\n\n## Confusion Indicators\n${realityCheck.confusionIndicators.length > 0 ? realityCheck.confusionIndicators.map(indicator => `āš ļø ${indicator}`).join('\n') : 'āœ… No confusion indicators detected'}\n\n## Recommendations\n${realityCheck.recommendations.map(rec => `šŸ’” ${rec}`).join('\n')}\n\n## Suggested Actions\n${realityCheck.suggestedActions.map(action => `šŸŽÆ ${action}`).join('\n')}\n\n${realityCheck.hallucinationRisk === 'high' ? '## 🚨 IMMEDIATE ACTION REQUIRED\n\nHigh hallucination risk detected. Start a fresh session with `analyze_project_ecosystem` to reload context and restore control.\n\n' : ''}*Reality check helps maintain accuracy during long LLM sessions.*`
522
- }]
577
+ text: `# šŸ” Reality Check Results\n\n## Hallucination Risk Assessment\n**Risk Level**: ${realityCheck.hallucinationRisk.toUpperCase()} ${realityCheck.hallucinationRisk === 'high' ? '🚨' : realityCheck.hallucinationRisk === 'medium' ? 'āš ļø' : 'āœ…'}\n\n## Confusion Indicators\n${realityCheck.confusionIndicators.length > 0 ? realityCheck.confusionIndicators.map(indicator => `āš ļø ${indicator}`).join('\n') : 'āœ… No confusion indicators detected'}\n\n## Recommendations\n${realityCheck.recommendations.map(rec => `šŸ’” ${rec}`).join('\n')}\n\n## Suggested Actions\n${realityCheck.suggestedActions.map(action => `šŸŽÆ ${action}`).join('\n')}\n\n${realityCheck.hallucinationRisk === 'high' ? '## 🚨 IMMEDIATE ACTION REQUIRED\n\nHigh hallucination risk detected. Start a fresh session with `analyze_project_ecosystem` to reload context and restore control.\n\n' : ''}*Reality check helps maintain accuracy during long LLM sessions.*`,
578
+ },
579
+ ],
523
580
  };
524
581
  }
525
582
  case 'session_guidance': {
526
583
  const guidance = generateSessionGuidance(validatedArgs);
527
584
  return {
528
- content: [{
585
+ content: [
586
+ {
529
587
  type: 'text',
530
- text: `# 🧭 Session Guidance\n\n## Session Status: ${guidance.sessionStatus.toUpperCase()} ${guidance.sessionStatus === 'critical' ? '🚨' : guidance.sessionStatus === 'concerning' ? 'āš ļø' : 'āœ…'}\n\n## Guidance\n${guidance.guidance.join('\n')}\n\n## Recommended Next Step\nšŸŽÆ **${guidance.recommendedNextStep}**\n\n${guidance.humanInterventionNeeded ? '## 🚨 CONTEXT REFRESH NEEDED\n\nThe session has reached a state where a fresh start is strongly recommended to maintain progress and accuracy.\n\n**Start a fresh session to:**\n- Reload context with analyze_project_ecosystem\n- Break confusion cycles\n- Ensure task completion with clean state\n\n' : ''}*Session guidance helps maintain productive long conversations.*`
531
- }],
588
+ text: `# 🧭 Session Guidance\n\n## Session Status: ${guidance.sessionStatus.toUpperCase()} ${guidance.sessionStatus === 'critical' ? '🚨' : guidance.sessionStatus === 'concerning' ? 'āš ļø' : 'āœ…'}\n\n## Guidance\n${guidance.guidance.join('\n')}\n\n## Recommended Next Step\nšŸŽÆ **${guidance.recommendedNextStep}**\n\n${guidance.humanInterventionNeeded ? '## 🚨 CONTEXT REFRESH NEEDED\n\nThe session has reached a state where a fresh start is strongly recommended to maintain progress and accuracy.\n\n**Start a fresh session to:**\n- Reload context with analyze_project_ecosystem\n- Break confusion cycles\n- Ensure task completion with clean state\n\n' : ''}*Session guidance helps maintain productive long conversations.*`,
589
+ },
590
+ ],
532
591
  metadata: {
533
592
  sessionStatus: guidance.sessionStatus,
534
593
  humanInterventionNeeded: guidance.humanInterventionNeeded,
535
- recommendedNextStep: guidance.recommendedNextStep
536
- }
594
+ recommendedNextStep: guidance.recommendedNextStep,
595
+ },
537
596
  };
538
597
  }
539
598
  default: