@nxuss/lemma 1.18.0 → 1.18.2

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 (356) hide show
  1. package/dist/cjs/mcp/cognitiveMap.d.ts +27 -0
  2. package/dist/cjs/mcp/cognitiveMap.d.ts.map +1 -0
  3. package/dist/cjs/mcp/cognitiveMap.js +47 -0
  4. package/dist/cjs/mcp/cognitiveMap.js.map +1 -0
  5. package/dist/cjs/mcp/toolTypes.d.ts +39 -0
  6. package/dist/cjs/mcp/toolTypes.d.ts.map +1 -0
  7. package/dist/cjs/mcp/toolTypes.js +8 -0
  8. package/dist/cjs/mcp/toolTypes.js.map +1 -0
  9. package/dist/cjs/mcp/tools/analysis.d.ts +11 -0
  10. package/dist/cjs/mcp/tools/analysis.d.ts.map +1 -0
  11. package/dist/cjs/mcp/tools/analysis.js +933 -0
  12. package/dist/cjs/mcp/tools/analysis.js.map +1 -0
  13. package/dist/cjs/mcp/tools/codenav.d.ts +9 -0
  14. package/dist/cjs/mcp/tools/codenav.d.ts.map +1 -0
  15. package/dist/cjs/mcp/tools/codenav.js +524 -0
  16. package/dist/cjs/mcp/tools/codenav.js.map +1 -0
  17. package/dist/cjs/mcp/tools/context-tools.d.ts +20 -0
  18. package/dist/cjs/mcp/tools/context-tools.d.ts.map +1 -0
  19. package/dist/cjs/mcp/tools/context-tools.js +543 -0
  20. package/dist/cjs/mcp/tools/context-tools.js.map +1 -0
  21. package/dist/cjs/mcp/tools/depgraph.d.ts +8 -0
  22. package/dist/cjs/mcp/tools/depgraph.d.ts.map +1 -0
  23. package/dist/cjs/mcp/tools/depgraph.js +321 -0
  24. package/dist/cjs/mcp/tools/depgraph.js.map +1 -0
  25. package/dist/cjs/mcp/tools/dev-utils.d.ts +11 -0
  26. package/dist/cjs/mcp/tools/dev-utils.d.ts.map +1 -0
  27. package/dist/cjs/mcp/tools/dev-utils.js +519 -0
  28. package/dist/cjs/mcp/tools/dev-utils.js.map +1 -0
  29. package/dist/cjs/mcp/tools/devtools.d.ts +9 -0
  30. package/dist/cjs/mcp/tools/devtools.d.ts.map +1 -0
  31. package/dist/cjs/mcp/tools/devtools.js +445 -0
  32. package/dist/cjs/mcp/tools/devtools.js.map +1 -0
  33. package/dist/cjs/mcp/tools/memory.d.ts +10 -0
  34. package/dist/cjs/mcp/tools/memory.d.ts.map +1 -0
  35. package/dist/cjs/mcp/tools/memory.js +539 -0
  36. package/dist/cjs/mcp/tools/memory.js.map +1 -0
  37. package/dist/cjs/mcp/tools/misc.d.ts +10 -0
  38. package/dist/cjs/mcp/tools/misc.d.ts.map +1 -0
  39. package/dist/cjs/mcp/tools/misc.js +423 -0
  40. package/dist/cjs/mcp/tools/misc.js.map +1 -0
  41. package/dist/cjs/mcp/tools/refactor.d.ts +8 -0
  42. package/dist/cjs/mcp/tools/refactor.d.ts.map +1 -0
  43. package/dist/cjs/mcp/tools/refactor.js +335 -0
  44. package/dist/cjs/mcp/tools/refactor.js.map +1 -0
  45. package/dist/cjs/mcp/tools/review.d.ts +10 -0
  46. package/dist/cjs/mcp/tools/review.d.ts.map +1 -0
  47. package/dist/cjs/mcp/tools/review.js +283 -0
  48. package/dist/cjs/mcp/tools/review.js.map +1 -0
  49. package/dist/cjs/mcp/tools/squeeze-cache.d.ts +14 -0
  50. package/dist/cjs/mcp/tools/squeeze-cache.d.ts.map +1 -0
  51. package/dist/cjs/mcp/tools/squeeze-cache.js +418 -0
  52. package/dist/cjs/mcp/tools/squeeze-cache.js.map +1 -0
  53. package/dist/cjs/mcp/tools/text-ops.d.ts +14 -0
  54. package/dist/cjs/mcp/tools/text-ops.d.ts.map +1 -0
  55. package/dist/cjs/mcp/tools/text-ops.js +155 -0
  56. package/dist/cjs/mcp/tools/text-ops.js.map +1 -0
  57. package/dist/cjs/mcp/tools/workspace.d.ts +10 -0
  58. package/dist/cjs/mcp/tools/workspace.d.ts.map +1 -0
  59. package/dist/cjs/mcp/tools/workspace.js +675 -0
  60. package/dist/cjs/mcp/tools/workspace.js.map +1 -0
  61. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  62. package/dist/cjs/mcp/tools.js +636 -6388
  63. package/dist/cjs/mcp/tools.js.map +1 -1
  64. package/dist/cjs/mcp/utils.d.ts +55 -2
  65. package/dist/cjs/mcp/utils.d.ts.map +1 -1
  66. package/dist/cjs/mcp/utils.js +194 -10
  67. package/dist/cjs/mcp/utils.js.map +1 -1
  68. package/dist/cjs/mcp/workspaceShared.d.ts +19 -0
  69. package/dist/cjs/mcp/workspaceShared.d.ts.map +1 -0
  70. package/dist/cjs/mcp/workspaceShared.js +101 -0
  71. package/dist/cjs/mcp/workspaceShared.js.map +1 -0
  72. package/dist/cjs/package.json +3 -0
  73. package/dist/cjs/utils/ExecAuditLog.d.ts +27 -0
  74. package/dist/cjs/utils/ExecAuditLog.d.ts.map +1 -0
  75. package/dist/cjs/utils/ExecAuditLog.js +53 -0
  76. package/dist/cjs/utils/ExecAuditLog.js.map +1 -0
  77. package/dist/esm/api/dashboardRoutes.d.ts +3 -3
  78. package/dist/esm/api/dashboardRoutes.js +1 -1
  79. package/dist/esm/api/server.d.ts +4 -4
  80. package/dist/esm/api/server.js +3 -3
  81. package/dist/esm/autopilot/AutopilotWatcher.js +3 -3
  82. package/dist/esm/autopilot/Notifier.d.ts +1 -1
  83. package/dist/esm/cli/lemma-proxy.js +15 -15
  84. package/dist/esm/cli/stack.d.ts +4 -4
  85. package/dist/esm/cli/stack.js +5 -5
  86. package/dist/esm/cloud/KeyManager.d.ts +1 -1
  87. package/dist/esm/cloud/KeyManager.js +1 -1
  88. package/dist/esm/cloud/TenantCache.d.ts +1 -1
  89. package/dist/esm/cloud/identity/ApiKey.d.ts +1 -1
  90. package/dist/esm/cloud/identity/TenantResolver.d.ts +1 -1
  91. package/dist/esm/cloud/identity/TenantResolver.js +1 -1
  92. package/dist/esm/cloud/identity/authenticateV2.d.ts +3 -3
  93. package/dist/esm/cloud/identity/authenticateV2.js +3 -3
  94. package/dist/esm/cloud/identity/identityStore.d.ts +2 -2
  95. package/dist/esm/cloud/identity/index.d.ts +6 -6
  96. package/dist/esm/cloud/identity/index.js +6 -6
  97. package/dist/esm/cloud/index.d.ts +3 -3
  98. package/dist/esm/cloud/index.js +3 -3
  99. package/dist/esm/cloud/metering/UsageLedger.d.ts +1 -1
  100. package/dist/esm/cloud/metering/index.d.ts +2 -2
  101. package/dist/esm/cloud/metering/index.js +2 -2
  102. package/dist/esm/cloud/scrub/StatelessScrubber.d.ts +1 -1
  103. package/dist/esm/cloud/scrub/index.d.ts +1 -1
  104. package/dist/esm/cloud/scrub/index.js +1 -1
  105. package/dist/esm/cloud/server.d.ts +3 -3
  106. package/dist/esm/cloud/server.js +5 -5
  107. package/dist/esm/cloud/store/FileBrainStore.d.ts +1 -1
  108. package/dist/esm/cloud/store/FileBrainStore.js +1 -1
  109. package/dist/esm/cloud/store/PostgresBrainStore.d.ts +1 -1
  110. package/dist/esm/cloud/store/PostgresBrainStore.js +2 -2
  111. package/dist/esm/cloud/store/index.d.ts +2 -2
  112. package/dist/esm/cloud/store/index.js +2 -2
  113. package/dist/esm/cloud/v2/app.d.ts +1 -1
  114. package/dist/esm/cloud/v2/app.js +3 -3
  115. package/dist/esm/cloud/v2/routes/index.d.ts +5 -5
  116. package/dist/esm/cloud/v2/routes/index.js +7 -7
  117. package/dist/esm/cloud/v2/routes/memories.d.ts +4 -4
  118. package/dist/esm/cloud/v2/routes/memories.js +2 -2
  119. package/dist/esm/cloud/v2/routes/recall.d.ts +1 -1
  120. package/dist/esm/cloud/v2/routes/recall.js +1 -1
  121. package/dist/esm/cloud/v2/routes/scrub.d.ts +2 -2
  122. package/dist/esm/cloud/v2/routes/scrub.js +2 -2
  123. package/dist/esm/cloud/v2/routes/usage.d.ts +1 -1
  124. package/dist/esm/cloud/v2/routes/verify.d.ts +1 -1
  125. package/dist/esm/cloud/v2/routes/verify.js +1 -1
  126. package/dist/esm/cloud/v2/server.js +4 -4
  127. package/dist/esm/config/index.d.ts +1 -1
  128. package/dist/esm/config/index.js +1 -1
  129. package/dist/esm/consensus/index.d.ts +2 -2
  130. package/dist/esm/consensus/index.js +2 -2
  131. package/dist/esm/contracts/api-v2.types.d.ts +1 -1
  132. package/dist/esm/contracts/index.d.ts +4 -4
  133. package/dist/esm/contracts/index.js +4 -4
  134. package/dist/esm/core/AgentRegistry.d.ts +1 -1
  135. package/dist/esm/core/AgentRegistry.js +1 -1
  136. package/dist/esm/core/DashboardBroadcaster.d.ts +3 -3
  137. package/dist/esm/core/DashboardBroadcaster.js +2 -2
  138. package/dist/esm/core/DashboardWebSocketServer.d.ts +1 -1
  139. package/dist/esm/core/DashboardWebSocketServer.js +1 -1
  140. package/dist/esm/core/GhostAlchemist.js +1 -1
  141. package/dist/esm/core/GhostListener.js +2 -2
  142. package/dist/esm/core/OrchestrationEngine.d.ts +3 -3
  143. package/dist/esm/core/OrchestrationEngine.js +2 -2
  144. package/dist/esm/core/SubconsciousEngine.d.ts +1 -1
  145. package/dist/esm/core/SubconsciousEngine.js +2 -2
  146. package/dist/esm/core/WebSocketServer.d.ts +2 -2
  147. package/dist/esm/core/WebSocketServer.js +1 -1
  148. package/dist/esm/core/index.d.ts +6 -6
  149. package/dist/esm/core/index.js +6 -6
  150. package/dist/esm/core/router.d.ts +3 -3
  151. package/dist/esm/core/router.js +1 -1
  152. package/dist/esm/db/database.js +1 -1
  153. package/dist/esm/embed.d.ts +2 -2
  154. package/dist/esm/embed.js +2 -2
  155. package/dist/esm/examples/basic-usage.js +1 -1
  156. package/dist/esm/index.d.ts +14 -14
  157. package/dist/esm/index.js +14 -14
  158. package/dist/esm/infra/analyzers/DriftDetector.d.ts +1 -1
  159. package/dist/esm/infra/analyzers/InfraAnalyzer.d.ts +1 -1
  160. package/dist/esm/infra/analyzers/MonolithAnalyzer.d.ts +1 -1
  161. package/dist/esm/infra/analyzers/index.d.ts +3 -3
  162. package/dist/esm/infra/analyzers/index.js +3 -3
  163. package/dist/esm/infra/cli.js +2 -2
  164. package/dist/esm/infra/config.d.ts +1 -1
  165. package/dist/esm/infra/index.d.ts +5 -5
  166. package/dist/esm/infra/index.js +5 -5
  167. package/dist/esm/infra/mcp-tools.js +5 -5
  168. package/dist/esm/infra/providers/InfraProvider.d.ts +1 -1
  169. package/dist/esm/infra/providers/JenkinsProvider.d.ts +2 -2
  170. package/dist/esm/infra/providers/OKDProvider.d.ts +2 -2
  171. package/dist/esm/infra/providers/TerraformProvider.d.ts +2 -2
  172. package/dist/esm/infra/providers/index.d.ts +5 -5
  173. package/dist/esm/infra/providers/index.js +3 -3
  174. package/dist/esm/mcp/cognitiveMap.d.ts +27 -0
  175. package/dist/esm/mcp/cognitiveMap.d.ts.map +1 -0
  176. package/dist/esm/mcp/cognitiveMap.js +40 -0
  177. package/dist/esm/mcp/cognitiveMap.js.map +1 -0
  178. package/dist/esm/mcp/index.js +5 -5
  179. package/dist/esm/mcp/prompts.js +1 -1
  180. package/dist/esm/mcp/resources.js +2 -2
  181. package/dist/esm/mcp/tasks.js +1 -1
  182. package/dist/esm/mcp/tool-profiles.js +1 -1
  183. package/dist/esm/mcp/toolTypes.d.ts +39 -0
  184. package/dist/esm/mcp/toolTypes.d.ts.map +1 -0
  185. package/dist/esm/mcp/toolTypes.js +7 -0
  186. package/dist/esm/mcp/toolTypes.js.map +1 -0
  187. package/dist/esm/mcp/tools/analysis.d.ts +11 -0
  188. package/dist/esm/mcp/tools/analysis.d.ts.map +1 -0
  189. package/dist/esm/mcp/tools/analysis.js +894 -0
  190. package/dist/esm/mcp/tools/analysis.js.map +1 -0
  191. package/dist/esm/mcp/tools/codenav.d.ts +9 -0
  192. package/dist/esm/mcp/tools/codenav.d.ts.map +1 -0
  193. package/dist/esm/mcp/tools/codenav.js +485 -0
  194. package/dist/esm/mcp/tools/codenav.js.map +1 -0
  195. package/dist/esm/mcp/tools/context-tools.d.ts +20 -0
  196. package/dist/esm/mcp/tools/context-tools.d.ts.map +1 -0
  197. package/dist/esm/mcp/tools/context-tools.js +503 -0
  198. package/dist/esm/mcp/tools/context-tools.js.map +1 -0
  199. package/dist/esm/mcp/tools/depgraph.d.ts +8 -0
  200. package/dist/esm/mcp/tools/depgraph.d.ts.map +1 -0
  201. package/dist/esm/mcp/tools/depgraph.js +315 -0
  202. package/dist/esm/mcp/tools/depgraph.js.map +1 -0
  203. package/dist/esm/mcp/tools/dev-utils.d.ts +11 -0
  204. package/dist/esm/mcp/tools/dev-utils.d.ts.map +1 -0
  205. package/dist/esm/mcp/tools/dev-utils.js +516 -0
  206. package/dist/esm/mcp/tools/dev-utils.js.map +1 -0
  207. package/dist/esm/mcp/tools/devtools.d.ts +9 -0
  208. package/dist/esm/mcp/tools/devtools.d.ts.map +1 -0
  209. package/dist/esm/mcp/tools/devtools.js +406 -0
  210. package/dist/esm/mcp/tools/devtools.js.map +1 -0
  211. package/dist/esm/mcp/tools/memory.d.ts +10 -0
  212. package/dist/esm/mcp/tools/memory.d.ts.map +1 -0
  213. package/dist/esm/mcp/tools/memory.js +533 -0
  214. package/dist/esm/mcp/tools/memory.js.map +1 -0
  215. package/dist/esm/mcp/tools/misc.d.ts +10 -0
  216. package/dist/esm/mcp/tools/misc.d.ts.map +1 -0
  217. package/dist/esm/mcp/tools/misc.js +417 -0
  218. package/dist/esm/mcp/tools/misc.js.map +1 -0
  219. package/dist/esm/mcp/tools/refactor.d.ts +8 -0
  220. package/dist/esm/mcp/tools/refactor.d.ts.map +1 -0
  221. package/dist/esm/mcp/tools/refactor.js +296 -0
  222. package/dist/esm/mcp/tools/refactor.js.map +1 -0
  223. package/dist/esm/mcp/tools/review.d.ts +10 -0
  224. package/dist/esm/mcp/tools/review.d.ts.map +1 -0
  225. package/dist/esm/mcp/tools/review.js +277 -0
  226. package/dist/esm/mcp/tools/review.js.map +1 -0
  227. package/dist/esm/mcp/tools/squeeze-cache.d.ts +14 -0
  228. package/dist/esm/mcp/tools/squeeze-cache.d.ts.map +1 -0
  229. package/dist/esm/mcp/tools/squeeze-cache.js +382 -0
  230. package/dist/esm/mcp/tools/squeeze-cache.js.map +1 -0
  231. package/dist/esm/mcp/tools/text-ops.d.ts +14 -0
  232. package/dist/esm/mcp/tools/text-ops.d.ts.map +1 -0
  233. package/dist/esm/mcp/tools/text-ops.js +152 -0
  234. package/dist/esm/mcp/tools/text-ops.js.map +1 -0
  235. package/dist/esm/mcp/tools/workspace.d.ts +10 -0
  236. package/dist/esm/mcp/tools/workspace.d.ts.map +1 -0
  237. package/dist/esm/mcp/tools/workspace.js +669 -0
  238. package/dist/esm/mcp/tools/workspace.js.map +1 -0
  239. package/dist/esm/mcp/tools.d.ts +1 -1
  240. package/dist/esm/mcp/tools.d.ts.map +1 -1
  241. package/dist/esm/mcp/tools.js +652 -6404
  242. package/dist/esm/mcp/tools.js.map +1 -1
  243. package/dist/esm/mcp/utils.d.ts +55 -2
  244. package/dist/esm/mcp/utils.d.ts.map +1 -1
  245. package/dist/esm/mcp/utils.js +189 -10
  246. package/dist/esm/mcp/utils.js.map +1 -1
  247. package/dist/esm/mcp/workspaceShared.d.ts +19 -0
  248. package/dist/esm/mcp/workspaceShared.d.ts.map +1 -0
  249. package/dist/esm/mcp/workspaceShared.js +93 -0
  250. package/dist/esm/mcp/workspaceShared.js.map +1 -0
  251. package/dist/esm/observability/IdeContextSync.d.ts +1 -1
  252. package/dist/esm/observability/IdeContextSync.js +5 -5
  253. package/dist/esm/package.json +3 -0
  254. package/dist/esm/pr-review/PRReviewEngine.d.ts +1 -1
  255. package/dist/esm/pr-review/PRReviewEngine.js +4 -4
  256. package/dist/esm/pr-review/ReviewStore.d.ts +1 -1
  257. package/dist/esm/pr-review/adapters/AzureDevOpsAdapter.d.ts +2 -2
  258. package/dist/esm/pr-review/adapters/AzureDevOpsAdapter.js +1 -1
  259. package/dist/esm/pr-review/adapters/GitHubAdapter.d.ts +2 -2
  260. package/dist/esm/pr-review/adapters/GitHubAdapter.js +1 -1
  261. package/dist/esm/pr-review/adapters/GitLabAdapter.d.ts +2 -2
  262. package/dist/esm/pr-review/adapters/GitLabAdapter.js +1 -1
  263. package/dist/esm/pr-review/adapters/GitPlatformAdapter.d.ts +1 -1
  264. package/dist/esm/pr-review/adapters/index.d.ts +4 -4
  265. package/dist/esm/pr-review/adapters/index.js +3 -3
  266. package/dist/esm/pr-review/analyzers/QualityGrader.d.ts +1 -1
  267. package/dist/esm/pr-review/analyzers/RegressionDetector.d.ts +1 -1
  268. package/dist/esm/pr-review/analyzers/SecurityScanner.d.ts +1 -1
  269. package/dist/esm/pr-review/analyzers/StaticAnalyzer.d.ts +1 -1
  270. package/dist/esm/pr-review/analyzers/index.d.ts +8 -8
  271. package/dist/esm/pr-review/analyzers/index.js +4 -4
  272. package/dist/esm/pr-review/bridge/BrainBridge.d.ts +1 -1
  273. package/dist/esm/pr-review/bridge/BrainBridge.js +1 -1
  274. package/dist/esm/pr-review/bridge/index.d.ts +1 -1
  275. package/dist/esm/pr-review/bridge/index.js +1 -1
  276. package/dist/esm/pr-review/index.d.ts +4 -4
  277. package/dist/esm/pr-review/index.js +2 -2
  278. package/dist/esm/pr-review/reviewRunner.d.ts +2 -2
  279. package/dist/esm/pr-review/reviewRunner.js +6 -6
  280. package/dist/esm/pr-review/webhook/WebhookServer.js +1 -1
  281. package/dist/esm/pr-review/webhook/index.d.ts +1 -1
  282. package/dist/esm/pr-review/webhook/index.js +1 -1
  283. package/dist/esm/protocol/flows.d.ts +1 -1
  284. package/dist/esm/protocol/flows.js +1 -1
  285. package/dist/esm/protocol/index.d.ts +4 -4
  286. package/dist/esm/protocol/index.js +4 -4
  287. package/dist/esm/protocol/utils.d.ts +1 -1
  288. package/dist/esm/protocol/utils.js +2 -2
  289. package/dist/esm/protocol/validators.d.ts +1 -1
  290. package/dist/esm/protocol/validators.js +1 -1
  291. package/dist/esm/proxy/ContextInjector.d.ts +1 -1
  292. package/dist/esm/proxy/Gatekeeper.d.ts +1 -1
  293. package/dist/esm/security/SecurityMiddleware.d.ts +1 -1
  294. package/dist/esm/security/SecurityMiddleware.js +3 -3
  295. package/dist/esm/security/index.d.ts +4 -4
  296. package/dist/esm/security/index.js +4 -4
  297. package/dist/esm/speculative/SpeculativeCache.d.ts +2 -2
  298. package/dist/esm/speculative/SpeculativeEngine.d.ts +2 -2
  299. package/dist/esm/speculative/SpeculativeEngine.js +3 -3
  300. package/dist/esm/speculative/WorkerPool.d.ts +1 -1
  301. package/dist/esm/speculative/index.d.ts +4 -4
  302. package/dist/esm/speculative/index.js +4 -4
  303. package/dist/esm/subconscious/GitIngest.d.ts +1 -1
  304. package/dist/esm/subconscious/GitIngest.js +1 -1
  305. package/dist/esm/subconscious/SemanticCache.d.ts +2 -2
  306. package/dist/esm/subconscious/SemanticCache.js +2 -2
  307. package/dist/esm/subconscious/SubconsciousEngine.d.ts +1 -1
  308. package/dist/esm/subconscious/SubconsciousEngine.js +3 -3
  309. package/dist/esm/subconscious/TheBrainV2.d.ts +1 -1
  310. package/dist/esm/subconscious/TheBrainV2.js +2 -2
  311. package/dist/esm/subconscious/freshness/LocalFsResolver.d.ts +1 -1
  312. package/dist/esm/subconscious/freshness/LocalFsResolver.js +1 -1
  313. package/dist/esm/subconscious/freshness/SuppliedEvidenceResolver.d.ts +1 -1
  314. package/dist/esm/subconscious/freshness/index.d.ts +2 -2
  315. package/dist/esm/subconscious/freshness/index.js +2 -2
  316. package/dist/esm/subconscious/index.d.ts +4 -4
  317. package/dist/esm/subconscious/index.js +4 -4
  318. package/dist/esm/utils/AffectedTests.js +1 -1
  319. package/dist/esm/utils/AutoContextBundle.d.ts +1 -1
  320. package/dist/esm/utils/AutoContextBundle.js +4 -4
  321. package/dist/esm/utils/BulkFileDigest.js +2 -2
  322. package/dist/esm/utils/ClipboardWatcher.js +2 -2
  323. package/dist/esm/utils/ContextCollapser.js +1 -1
  324. package/dist/esm/utils/ConversationCheckpoint.js +1 -1
  325. package/dist/esm/utils/ExecAuditLog.d.ts +27 -0
  326. package/dist/esm/utils/ExecAuditLog.d.ts.map +1 -0
  327. package/dist/esm/utils/ExecAuditLog.js +45 -0
  328. package/dist/esm/utils/ExecAuditLog.js.map +1 -0
  329. package/dist/esm/utils/ExecutiveReport.js +1 -1
  330. package/dist/esm/utils/OutputLedger.js +2 -2
  331. package/dist/esm/utils/ReadWorkspaceCache.js +1 -1
  332. package/dist/esm/utils/SpeculativeWarmer.d.ts +1 -1
  333. package/dist/esm/utils/SpeculativeWarmer.js +2 -2
  334. package/dist/esm/utils/StateHashCache.js +1 -1
  335. package/dist/esm/utils/StructuralSearch.d.ts +1 -1
  336. package/dist/esm/utils/SurgicalASTInsert.js +1 -1
  337. package/dist/esm/utils/SymbolSurgicalContext.js +1 -1
  338. package/dist/esm/utils/TestAutofixInterceptor.js +1 -1
  339. package/dist/esm/utils/WorkspaceSearch.js +0 -0
  340. package/dist/esm/utils/logger.js +1 -1
  341. package/dist/esm/utils/reportSavings.js +1 -1
  342. package/package.json +3 -1
  343. package/sdks/crewai/dist/crewai/src/index.d.ts +131 -0
  344. package/sdks/crewai/dist/crewai/src/index.js +325 -0
  345. package/sdks/crewai/dist/crewai/src/memory.d.ts +36 -0
  346. package/sdks/crewai/dist/crewai/src/memory.js +61 -0
  347. package/sdks/crewai/dist/ts/src/client.d.ts +39 -0
  348. package/sdks/crewai/dist/ts/src/client.js +124 -0
  349. package/sdks/crewai/dist/ts/src/errors.d.ts +19 -0
  350. package/sdks/crewai/dist/ts/src/errors.js +18 -0
  351. package/sdks/crewai/dist/ts/src/evidence.d.ts +30 -0
  352. package/sdks/crewai/dist/ts/src/evidence.js +175 -0
  353. package/sdks/crewai/dist/ts/src/index.d.ts +4 -0
  354. package/sdks/crewai/dist/ts/src/index.js +27 -0
  355. package/sdks/crewai/dist/ts/src/types.d.ts +112 -0
  356. package/sdks/crewai/dist/ts/src/types.js +11 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis.js","sourceRoot":"","sources":["../../../../src/mcp/tools/analysis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Code-navigation tools: cognitive_map, semantic_grep, imports_skeleton_resolver,
3
+ * ast_flow_visualizer. Split out of ../tools.ts (see that file's history for why) —
4
+ * pure relocation, no behavior change.
5
+ */
6
+ import type { ToolDefinition, ToolHandler } from "../toolTypes.js";
7
+ export declare const CODENAV_TOOL_DEFINITIONS: ToolDefinition[];
8
+ export declare const CODENAV_TOOL_HANDLERS: Record<string, ToolHandler>;
9
+ //# sourceMappingURL=codenav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codenav.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/codenav.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhE,eAAO,MAAM,wBAAwB,EAAE,cAAc,EA+DpD,CAAC;AA+bF,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAK7D,CAAC"}
@@ -0,0 +1,485 @@
1
+ /**
2
+ * Code-navigation tools: cognitive_map, semantic_grep, imports_skeleton_resolver,
3
+ * ast_flow_visualizer. Split out of ../tools.ts (see that file's history for why) —
4
+ * pure relocation, no behavior change.
5
+ */
6
+ import fs from "fs";
7
+ import path from "path";
8
+ import * as ts from "typescript";
9
+ import { safeResolvePath } from "../utils.js";
10
+ import { listDirRecursive } from "../workspaceShared.js";
11
+ import { COG_MAP_FILE } from "../cognitiveMap.js";
12
+ export const CODENAV_TOOL_DEFINITIONS = [
13
+ {
14
+ name: "cognitive_map",
15
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
16
+ description: "Access and interact with the Auto-Cognitive Mind Map of the workspace (persisted globally). Holds structured high-level system domains, patterns, decisions, and bugs.",
17
+ inputSchema: {
18
+ type: "object",
19
+ properties: {
20
+ action: { type: "string", enum: ["build", "get", "query", "update", "file_context"], description: "Action to perform", default: "get" },
21
+ domain: { type: "string", description: "Target domain for 'query' or 'update'" },
22
+ filePath: { type: "string", description: "Target file path for 'file_context'" },
23
+ updates: {
24
+ type: "object",
25
+ properties: {
26
+ patterns: { type: "array", items: { type: "string" } },
27
+ knownBugs: { type: "array", items: { type: "string" } },
28
+ decisions: { type: "array", items: { type: "string" } }
29
+ },
30
+ description: "Metadata to append/merge into the specified domain"
31
+ }
32
+ },
33
+ required: ["action"]
34
+ }
35
+ },
36
+ {
37
+ name: "semantic_grep",
38
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
39
+ description: "Search the codebase for conceptual terms using natural language and BM25 token relevance instead of exact substring matching.",
40
+ inputSchema: {
41
+ type: "object",
42
+ properties: {
43
+ query: { type: "string", description: "Natural language concept to search (e.g., 'jwt timeout expiration')" },
44
+ dirPath: { type: "string", description: "Limit search to folder path (default: '')", default: "" },
45
+ limit: { type: "number", description: "Maximum file matches (default: 5)", default: 5 }
46
+ },
47
+ required: ["query"]
48
+ }
49
+ },
50
+ {
51
+ name: "imports_skeleton_resolver",
52
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
53
+ description: "Resolve all imported local files inside a file and print only their signatures (classes, functions, interfaces) in a consolidated view.",
54
+ inputSchema: {
55
+ type: "object",
56
+ properties: {
57
+ filePath: { type: "string", description: "Path to the target file relative to project root" }
58
+ },
59
+ required: ["filePath"]
60
+ }
61
+ },
62
+ {
63
+ name: "ast_flow_visualizer",
64
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
65
+ description: "Analyze a function's control flow statements (ifs, loops, try/catch) inside a file using AST compilation and output a visual flowchart in Mermaid syntax.",
66
+ inputSchema: {
67
+ type: "object",
68
+ properties: {
69
+ filePath: { type: "string", description: "Path to the target file relative to project root" },
70
+ functionName: { type: "string", description: "Name of the function or method to visualize" }
71
+ },
72
+ required: ["filePath", "functionName"]
73
+ }
74
+ },
75
+ ];
76
+ // ── Cognitive Map ────────────────────────────────────────────────────
77
+ // Types and on-disk path live in ../cognitiveMap — shared with store_memory's domain
78
+ // auto-derivation (see the memory tools module).
79
+ async function handleCognitiveMap(args) {
80
+ const action = args.action;
81
+ const domain = args.domain;
82
+ const filePath = args.filePath;
83
+ const updates = args.updates;
84
+ const workspaceRoot = process.cwd();
85
+ // Helper to load map
86
+ const loadMap = () => {
87
+ if (fs.existsSync(COG_MAP_FILE)) {
88
+ try {
89
+ return JSON.parse(fs.readFileSync(COG_MAP_FILE, "utf8"));
90
+ }
91
+ catch { }
92
+ }
93
+ return { workspace: path.basename(workspaceRoot), lastBuilt: new Date().toISOString(), nodes: {} };
94
+ };
95
+ // Helper to save map
96
+ const saveMap = (m) => {
97
+ const dir = path.dirname(COG_MAP_FILE);
98
+ if (!fs.existsSync(dir))
99
+ fs.mkdirSync(dir, { recursive: true });
100
+ fs.writeFileSync(COG_MAP_FILE, JSON.stringify(m, null, 2), "utf8");
101
+ };
102
+ const map = loadMap();
103
+ switch (action) {
104
+ case "build": {
105
+ // Automatically scan the workspace recursively to populate the Cognitive Map
106
+ const files = listDirRecursive(workspaceRoot, "", 1, 3).filter(f => f.endsWith(".ts") || f.endsWith(".js"));
107
+ const nodes = {};
108
+ files.forEach((f) => {
109
+ // Group files by domain intent
110
+ let dom = "general";
111
+ if (f.includes("mcp"))
112
+ dom = "mcp";
113
+ else if (f.includes("subconscious") || f.includes("brain"))
114
+ dom = "memory";
115
+ else if (f.includes("security") || f.includes("scrubber"))
116
+ dom = "security";
117
+ else if (f.includes("pr-review"))
118
+ dom = "pr-review";
119
+ else if (f.includes("utils"))
120
+ dom = "utils";
121
+ if (!nodes[dom]) {
122
+ nodes[dom] = { domain: dom, files: [], patterns: [], knownBugs: [], decisions: [], symbols: [] };
123
+ }
124
+ nodes[dom].files.push(f);
125
+ // Simple AST parsing to retrieve export symbols
126
+ try {
127
+ const fullPath = path.resolve(workspaceRoot, f);
128
+ const src = fs.readFileSync(fullPath, "utf8");
129
+ const sf = ts.createSourceFile(fullPath, src, ts.ScriptTarget.Latest, true);
130
+ ts.forEachChild(sf, (node) => {
131
+ if ((ts.isClassDeclaration(node) || ts.isInterfaceDeclaration(node) || ts.isFunctionDeclaration(node)) && node.name) {
132
+ nodes[dom].symbols.push(node.name.text);
133
+ }
134
+ });
135
+ }
136
+ catch { }
137
+ });
138
+ // Preserve previously manually enriched patterns/knownBugs/decisions
139
+ for (const [dom, node] of Object.entries(nodes)) {
140
+ if (map.nodes[dom]) {
141
+ node.patterns = [...new Set([...node.patterns, ...map.nodes[dom].patterns])];
142
+ node.knownBugs = [...new Set([...node.knownBugs, ...map.nodes[dom].knownBugs])];
143
+ node.decisions = [...new Set([...node.decisions, ...map.nodes[dom].decisions])];
144
+ }
145
+ }
146
+ map.nodes = nodes;
147
+ map.lastBuilt = new Date().toISOString();
148
+ saveMap(map);
149
+ return { content: [{ type: "text", text: `Cognitive Map successfully built with ${Object.keys(nodes).length} domains.` }] };
150
+ }
151
+ case "get": {
152
+ return { content: [{ type: "text", text: JSON.stringify(map, null, 2) }] };
153
+ }
154
+ case "query": {
155
+ if (!domain || !map.nodes[domain]) {
156
+ return { content: [{ type: "text", text: `Domain "${domain}" not found in Cognitive Map.` }] };
157
+ }
158
+ return { content: [{ type: "text", text: JSON.stringify(map.nodes[domain], null, 2) }] };
159
+ }
160
+ case "update": {
161
+ if (!domain)
162
+ throw new Error("domain is required for update action");
163
+ if (!map.nodes[domain]) {
164
+ map.nodes[domain] = { domain, files: [], patterns: [], knownBugs: [], decisions: [], symbols: [] };
165
+ }
166
+ const node = map.nodes[domain];
167
+ if (updates) {
168
+ if (Array.isArray(updates.patterns))
169
+ node.patterns = [...new Set([...node.patterns, ...updates.patterns])];
170
+ if (Array.isArray(updates.knownBugs))
171
+ node.knownBugs = [...new Set([...node.knownBugs, ...updates.knownBugs])];
172
+ if (Array.isArray(updates.decisions))
173
+ node.decisions = [...new Set([...node.decisions, ...updates.decisions])];
174
+ }
175
+ saveMap(map);
176
+ return { content: [{ type: "text", text: `Cognitive Map domain "${domain}" updated successfully.` }] };
177
+ }
178
+ case "file_context": {
179
+ if (!filePath)
180
+ throw new Error("filePath is required for file_context action");
181
+ const norm = filePath.replace(/^\//, "");
182
+ let foundDomain = null;
183
+ for (const node of Object.values(map.nodes)) {
184
+ if (node.files.includes(norm)) {
185
+ foundDomain = node;
186
+ break;
187
+ }
188
+ }
189
+ if (!foundDomain) {
190
+ return { content: [{ type: "text", text: `No specific domain found for file "${filePath}".` }] };
191
+ }
192
+ return { content: [{ type: "text", text: JSON.stringify(foundDomain, null, 2) }] };
193
+ }
194
+ default:
195
+ throw new Error(`Unknown action: ${action}`);
196
+ }
197
+ }
198
+ // ── Semantic Grep ───────────────────────────────────────────────────
199
+ async function handleSemanticGrep(args) {
200
+ const query = args.query;
201
+ const dirPath = args.dirPath || "";
202
+ const limit = typeof args.limit === "number" ? args.limit : 5;
203
+ const workspaceRoot = process.cwd();
204
+ try {
205
+ const { resolved } = safeResolvePath(workspaceRoot, dirPath);
206
+ const files = listDirRecursive(resolved, dirPath, 1, 4)
207
+ .filter(f => f.endsWith(".ts") || f.endsWith(".js") || f.endsWith(".json") || f.endsWith(".md"));
208
+ const queryTokens = query.toLowerCase()
209
+ .replace(/([a-z])([A-Z])/g, '$1 $2')
210
+ .replace(/[_\-]/g, ' ')
211
+ .replace(/[^\w\s]/g, ' ')
212
+ .split(/\s+/)
213
+ .filter(t => t.length >= 2);
214
+ if (queryTokens.length === 0) {
215
+ return { content: [{ type: "text", text: "Query does not contain searchable tokens." }] };
216
+ }
217
+ const scoredFiles = [];
218
+ files.forEach((f) => {
219
+ try {
220
+ const fullPath = path.resolve(workspaceRoot, f);
221
+ const content = fs.readFileSync(fullPath, "utf8");
222
+ const lines = content.split("\n");
223
+ const fileLower = content.toLowerCase();
224
+ let tokenMatches = 0;
225
+ queryTokens.forEach(t => {
226
+ if (fileLower.includes(t))
227
+ tokenMatches++;
228
+ });
229
+ if (tokenMatches > 0) {
230
+ const matchedLines = [];
231
+ lines.forEach((line, idx) => {
232
+ const lineLower = line.toLowerCase();
233
+ const matchesQuery = queryTokens.some(t => lineLower.includes(t));
234
+ if (matchesQuery && matchedLines.length < 3) {
235
+ matchedLines.push(` L${idx + 1}: ${line.trim()}`);
236
+ }
237
+ });
238
+ // simple score calculation based on percentage match + file hits
239
+ const score = tokenMatches / queryTokens.length;
240
+ scoredFiles.push({ filePath: f, score, matchedLines });
241
+ }
242
+ }
243
+ catch { }
244
+ });
245
+ // Sort by score desc
246
+ scoredFiles.sort((a, b) => b.score - a.score);
247
+ const topMatches = scoredFiles.slice(0, limit);
248
+ if (topMatches.length === 0) {
249
+ return { content: [{ type: "text", text: `No relevant files found matching concept: "${query}"` }] };
250
+ }
251
+ let summary = `### Semantic Grep matches for "${query}":\n\n`;
252
+ topMatches.forEach((m, idx) => {
253
+ summary += `🎯 **[${idx + 1}] ${m.filePath}** (Relevance: ${(m.score * 100).toFixed(0)}%)\n`;
254
+ summary += m.matchedLines.join("\n") + "\n\n";
255
+ });
256
+ return { content: [{ type: "text", text: summary }] };
257
+ }
258
+ catch (e) {
259
+ return { content: [{ type: "text", text: `Semantic grep failed: ${e.message}` }] };
260
+ }
261
+ }
262
+ // ── Imports Skeleton Resolver ───────────────────────────────────────
263
+ async function handleImportsSkeletonResolver(args) {
264
+ const filePath = args.filePath;
265
+ const workspaceRoot = process.cwd();
266
+ try {
267
+ const { resolved } = safeResolvePath(workspaceRoot, filePath);
268
+ const content = fs.readFileSync(resolved, "utf8");
269
+ const sourceFile = ts.createSourceFile(resolved, content, ts.ScriptTarget.Latest, true);
270
+ const importDeclarations = [];
271
+ ts.forEachChild(sourceFile, (node) => {
272
+ if (ts.isImportDeclaration(node)) {
273
+ importDeclarations.push(node);
274
+ }
275
+ });
276
+ if (importDeclarations.length === 0) {
277
+ return { content: [{ type: "text", text: `No import statements found in ${filePath}.` }] };
278
+ }
279
+ let output = `# Import reference signatures for \`${filePath}\`:\n\n`;
280
+ let foundImportsCount = 0;
281
+ for (const imp of importDeclarations) {
282
+ const moduleSpec = imp.moduleSpecifier.getText(sourceFile).replace(/['"]/g, "");
283
+ // Skip node_modules/external library imports
284
+ if (moduleSpec.startsWith(".") || moduleSpec.startsWith("/")) {
285
+ foundImportsCount++;
286
+ const targetPath = path.resolve(path.dirname(resolved), moduleSpec);
287
+ // Find matching file path with ts/js extensions
288
+ let matchPath = "";
289
+ const extensions = [".ts", ".tsx", ".d.ts", ".js", ".jsx"];
290
+ if (fs.existsSync(targetPath) && fs.statSync(targetPath).isFile()) {
291
+ matchPath = targetPath;
292
+ }
293
+ else {
294
+ for (const ext of extensions) {
295
+ if (fs.existsSync(targetPath + ext)) {
296
+ matchPath = targetPath + ext;
297
+ break;
298
+ }
299
+ }
300
+ }
301
+ if (matchPath) {
302
+ const relMatchPath = path.relative(workspaceRoot, matchPath);
303
+ output += `## 📦 Signatures from: \`${relMatchPath}\` (imported via \`${moduleSpec}\`)\n`;
304
+ try {
305
+ const importContent = fs.readFileSync(matchPath, "utf8");
306
+ const importSourceFile = ts.createSourceFile(matchPath, importContent, ts.ScriptTarget.Latest, true);
307
+ const exportedSignatures = [];
308
+ // Simple AST traverse to collect exported signatures
309
+ ts.forEachChild(importSourceFile, (node) => {
310
+ const mods = ts.canHaveModifiers(node) ? ts.getModifiers(node) : undefined;
311
+ const isExported = mods?.some(m => m.kind === ts.SyntaxKind.ExportKeyword);
312
+ if (isExported) {
313
+ if (ts.isClassDeclaration(node) || ts.isInterfaceDeclaration(node) || ts.isTypeAliasDeclaration(node) || ts.isEnumDeclaration(node)) {
314
+ const printer = ts.createPrinter({ removeComments: true });
315
+ // Strip method body implementation code where applicable
316
+ const printed = printer.printNode(ts.EmitHint.Unspecified, node, importSourceFile);
317
+ exportedSignatures.push(printed);
318
+ }
319
+ else if (ts.isFunctionDeclaration(node)) {
320
+ // Print just the header/signature of the function
321
+ const printer = ts.createPrinter({ removeComments: true });
322
+ const printed = printer.printNode(ts.EmitHint.Unspecified, node, importSourceFile);
323
+ // Quick strip of function implementation body if present
324
+ const bodyIndex = printed.indexOf(" {");
325
+ if (bodyIndex !== -1) {
326
+ exportedSignatures.push(printed.substring(0, bodyIndex) + ";");
327
+ }
328
+ else {
329
+ exportedSignatures.push(printed);
330
+ }
331
+ }
332
+ }
333
+ });
334
+ if (exportedSignatures.length > 0) {
335
+ output += "```typescript\n" + exportedSignatures.join("\n\n") + "\n```\n\n";
336
+ }
337
+ else {
338
+ output += "*No public exported symbols found in this file.*\n\n";
339
+ }
340
+ }
341
+ catch (e) {
342
+ output += `*Failed to parse signatures: ${e.message}*\n\n`;
343
+ }
344
+ }
345
+ else {
346
+ output += `## 📦 Signatures from: \`${moduleSpec}\`\n*Local source file not found.*\n\n`;
347
+ }
348
+ }
349
+ }
350
+ if (foundImportsCount === 0) {
351
+ return { content: [{ type: "text", text: "No local imports detected." }] };
352
+ }
353
+ return { content: [{ type: "text", text: output }] };
354
+ }
355
+ catch (e) {
356
+ return { content: [{ type: "text", text: `Import resolution failed: ${e.message}` }] };
357
+ }
358
+ }
359
+ // ── AST Flow Visualizer ──────────────────────────────────────────────
360
+ async function handleAstFlowVisualizer(args) {
361
+ const filePath = args.filePath;
362
+ const functionName = args.functionName;
363
+ const workspaceRoot = process.cwd();
364
+ try {
365
+ const { resolved } = safeResolvePath(workspaceRoot, filePath);
366
+ const content = fs.readFileSync(resolved, "utf8");
367
+ const sourceFile = ts.createSourceFile(resolved, content, ts.ScriptTarget.Latest, true);
368
+ let targetNode = null;
369
+ function findFunction(node) {
370
+ const nameText = (ts.isFunctionDeclaration(node) || ts.isMethodDeclaration(node)) && node.name ? node.name.getText(sourceFile) : "";
371
+ if (nameText === functionName) {
372
+ targetNode = node;
373
+ }
374
+ else if (ts.isVariableDeclaration(node) && node.name && ts.isIdentifier(node.name) && node.name.text === functionName) {
375
+ if (node.initializer && (ts.isArrowFunction(node.initializer) || ts.isFunctionExpression(node.initializer))) {
376
+ targetNode = node.initializer;
377
+ }
378
+ }
379
+ if (!targetNode) {
380
+ ts.forEachChild(node, findFunction);
381
+ }
382
+ }
383
+ findFunction(sourceFile);
384
+ if (!targetNode) {
385
+ return { content: [{ type: "text", text: `Function/Method "${functionName}" not found in file ${filePath}.` }] };
386
+ }
387
+ const bodyNode = targetNode.body;
388
+ if (!bodyNode) {
389
+ return { content: [{ type: "text", text: `Function "${functionName}" has no parseable implementation body.` }] };
390
+ }
391
+ // Traversal state
392
+ let mermaid = "flowchart TD\n";
393
+ let nodeId = 0;
394
+ function getNextId() {
395
+ return `node_${nodeId++}`;
396
+ }
397
+ function formatLabel(text) {
398
+ return text.trim()
399
+ .replace(/"/g, "'")
400
+ .replace(/[{}()]/g, "")
401
+ .substring(0, 55);
402
+ }
403
+ function traverse(n, parentId) {
404
+ if (ts.isIfStatement(n)) {
405
+ const condId = getNextId();
406
+ const condText = formatLabel(n.expression.getText(sourceFile));
407
+ mermaid += ` ${parentId} --> ${condId}{"if ${condText}"}\n`;
408
+ const thenId = getNextId();
409
+ mermaid += ` ${condId} -->|true| ${thenId}["then block"]\n`;
410
+ const lastThen = traverse(n.thenStatement, thenId);
411
+ const joinId = getNextId();
412
+ mermaid += ` ${joinId}(("join"))\n`;
413
+ mermaid += ` ${lastThen} --> ${joinId}\n`;
414
+ if (n.elseStatement) {
415
+ const elseId = getNextId();
416
+ mermaid += ` ${condId} -->|false| ${elseId}["else block"]\n`;
417
+ const lastElse = traverse(n.elseStatement, elseId);
418
+ mermaid += ` ${lastElse} --> ${joinId}\n`;
419
+ }
420
+ else {
421
+ mermaid += ` ${condId} -->|false| ${joinId}\n`;
422
+ }
423
+ return joinId;
424
+ }
425
+ if (ts.isTryStatement(n)) {
426
+ const tryId = getNextId();
427
+ mermaid += ` ${parentId} --> ${tryId}["try block"]\n`;
428
+ const lastTry = traverse(n.tryBlock, tryId);
429
+ const joinId = getNextId();
430
+ mermaid += ` ${joinId}(("join"))\n`;
431
+ mermaid += ` ${lastTry} --> ${joinId}\n`;
432
+ if (n.catchClause) {
433
+ const catchId = getNextId();
434
+ mermaid += ` ${parentId} -.->|on error| ${catchId}["catch block"]\n`;
435
+ const lastCatch = traverse(n.catchClause.block, catchId);
436
+ mermaid += ` ${lastCatch} --> ${joinId}\n`;
437
+ }
438
+ return joinId;
439
+ }
440
+ if (ts.isForStatement(n) || ts.isForOfStatement(n) || ts.isForInStatement(n) || ts.isWhileStatement(n)) {
441
+ const loopId = getNextId();
442
+ const condText = ts.isWhileStatement(n)
443
+ ? formatLabel(n.expression.getText(sourceFile))
444
+ : "loop condition";
445
+ mermaid += ` ${parentId} --> ${loopId}{"loop: ${condText}"}\n`;
446
+ const bodyId = getNextId();
447
+ mermaid += ` ${loopId} -->|iterate| ${bodyId}["loop body"]\n`;
448
+ const lastBody = traverse(n.statement, bodyId);
449
+ mermaid += ` ${lastBody} --> ${loopId}\n`;
450
+ const endId = getNextId();
451
+ mermaid += ` ${loopId} -->|done| ${endId}(("end loop"))\n`;
452
+ return endId;
453
+ }
454
+ if (ts.isBlock(n)) {
455
+ let currentParent = parentId;
456
+ n.statements.forEach((stmt) => {
457
+ currentParent = traverse(stmt, currentParent);
458
+ });
459
+ return currentParent;
460
+ }
461
+ const text = formatLabel(n.getText(sourceFile));
462
+ if (text.length > 0) {
463
+ const id = getNextId();
464
+ mermaid += ` ${parentId} --> ${id}["${text}"]\n`;
465
+ return id;
466
+ }
467
+ return parentId;
468
+ }
469
+ const startId = getNextId();
470
+ mermaid += ` ${startId}(("Start: ${functionName}"))\n`;
471
+ traverse(bodyNode, startId);
472
+ const wrappedMermaid = `\`\`\`mermaid\n${mermaid}\`\`\``;
473
+ return { content: [{ type: "text", text: `### Visual AST Flowchart for \`${functionName}\` inside \`${filePath}\`:\n\n${wrappedMermaid}` }] };
474
+ }
475
+ catch (e) {
476
+ return { content: [{ type: "text", text: `AST flow visualization failed: ${e.message}` }] };
477
+ }
478
+ }
479
+ export const CODENAV_TOOL_HANDLERS = {
480
+ cognitive_map: handleCognitiveMap,
481
+ semantic_grep: handleSemanticGrep,
482
+ imports_skeleton_resolver: handleImportsSkeletonResolver,
483
+ ast_flow_visualizer: handleAstFlowVisualizer,
484
+ };
485
+ //# sourceMappingURL=codenav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codenav.js","sourceRoot":"","sources":["../../../../src/mcp/tools/codenav.ts"],"names":[],"mappings":"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"}