@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,296 @@
1
+ /**
2
+ * Multi-file codemod tool: refactor (rename | move). Split out of ../tools.ts (see
3
+ * that file's history for why) β€” pure relocation, no behavior change.
4
+ */
5
+ import fs from "fs";
6
+ import path from "path";
7
+ import { execSync } from "child_process";
8
+ import * as ts from "typescript";
9
+ import { safeResolvePath, logError } from "../utils.js";
10
+ export const REFACTOR_TOOL_DEFINITIONS = [
11
+ {
12
+ name: "refactor",
13
+ annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: false },
14
+ description: "Declarative multi-file codemod engine. Rename symbols across the entire workspace or move files updating all imports. Uses TypeScript Compiler API β€” zero LLM calls. Supports dry-run diff preview and post-refactor tsc verification.",
15
+ inputSchema: {
16
+ type: "object",
17
+ properties: {
18
+ operation: { type: "string", enum: ["rename", "move"], description: "Refactor operation: 'rename' a symbol everywhere, or 'move' a file updating all importers" },
19
+ from: { type: "string", description: "Symbol name to rename (rename op) OR source file path relative to workspace root (move op)" },
20
+ to: { type: "string", description: "New symbol name (rename op) OR destination file path relative to workspace root (move op)" },
21
+ file: { type: "string", description: "File where the symbol is declared β€” required for 'rename' operation" },
22
+ dryRun: { type: "boolean", description: "Preview changes as a unified diff without applying them", default: false },
23
+ tscCheck: { type: "boolean", description: "Run tsc --noEmit after applying to guarantee zero TypeScript errors", default: false },
24
+ backup: { type: "boolean", description: "Create .bak backup of each modified file before changing", default: false },
25
+ },
26
+ required: ["operation", "from", "to"],
27
+ },
28
+ },
29
+ ];
30
+ function escapeRegexStr(s) {
31
+ return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
32
+ }
33
+ function findSymbolRefs(workspaceRoot, symbolName) {
34
+ const results = [];
35
+ const IGNORE_RF = new Set(["node_modules", ".git", "dist", "chroma_data", ".lemma", "build", "coverage", ".next"]);
36
+ function walkRF(dir) {
37
+ let entries = [];
38
+ try {
39
+ entries = fs.readdirSync(dir, { withFileTypes: true });
40
+ }
41
+ catch {
42
+ return;
43
+ }
44
+ for (const e of entries) {
45
+ if (IGNORE_RF.has(e.name))
46
+ continue;
47
+ const abs = path.join(dir, e.name);
48
+ if (e.isDirectory()) {
49
+ walkRF(abs);
50
+ }
51
+ else if (/\.(ts|tsx|js|jsx)$/.test(e.name) && !e.name.endsWith(".d.ts")) {
52
+ const rel = path.relative(workspaceRoot, abs).replace(/\\/g, "/");
53
+ try {
54
+ const content = fs.readFileSync(abs, "utf8");
55
+ if (!content.includes(symbolName))
56
+ continue;
57
+ const sf = ts.createSourceFile(abs, content, ts.ScriptTarget.Latest, true);
58
+ const contentLines = content.split("\n");
59
+ const identifierLines = new Set();
60
+ function collectIdents(node) {
61
+ if (ts.isIdentifier(node) && node.text === symbolName) {
62
+ const { line } = sf.getLineAndCharacterOfPosition(node.getStart());
63
+ identifierLines.add(line);
64
+ }
65
+ ts.forEachChild(node, collectIdents);
66
+ }
67
+ collectIdents(sf);
68
+ const matchingLines = [...identifierLines].map(li => ({ lineIndex: li, lineContent: contentLines[li] ?? "" }));
69
+ if (matchingLines.length > 0)
70
+ results.push({ abs, rel, lines: matchingLines });
71
+ }
72
+ catch { /* skip */ }
73
+ }
74
+ }
75
+ }
76
+ walkRF(workspaceRoot);
77
+ return results;
78
+ }
79
+ function applySymbolRenameInContent(content, fromName, toName) {
80
+ const regex = new RegExp(`(?<![a-zA-Z0-9_$])${escapeRegexStr(fromName)}(?![a-zA-Z0-9_$])`, "g");
81
+ return content.replace(regex, toName);
82
+ }
83
+ function buildUnifiedDiff(filePath, before, after) {
84
+ if (before === after)
85
+ return "";
86
+ const bl = before.split("\n");
87
+ const al = after.split("\n");
88
+ const diffLines = [`--- a/${filePath}`, `+++ b/${filePath}`];
89
+ const changed = new Set();
90
+ const maxLen = Math.max(bl.length, al.length);
91
+ for (let i = 0; i < maxLen; i++) {
92
+ if (bl[i] !== al[i])
93
+ changed.add(i);
94
+ }
95
+ let i = 0;
96
+ while (i < maxLen) {
97
+ if (!changed.has(i)) {
98
+ i++;
99
+ continue;
100
+ }
101
+ const hunkStart = Math.max(0, i - 2);
102
+ let hunkEnd = i + 1;
103
+ while (hunkEnd < maxLen && changed.has(hunkEnd))
104
+ hunkEnd++;
105
+ hunkEnd = Math.min(maxLen, hunkEnd + 2);
106
+ const bc = Math.min(hunkEnd, bl.length) - hunkStart;
107
+ const ac = Math.min(hunkEnd, al.length) - hunkStart;
108
+ diffLines.push(`@@ -${hunkStart + 1},${bc} +${hunkStart + 1},${ac} @@`);
109
+ for (let j = hunkStart; j < hunkEnd; j++) {
110
+ if (j >= maxLen)
111
+ break;
112
+ if (changed.has(j)) {
113
+ if (j < bl.length)
114
+ diffLines.push(`-${bl[j]}`);
115
+ if (j < al.length)
116
+ diffLines.push(`+${al[j]}`);
117
+ }
118
+ else {
119
+ if (j < bl.length)
120
+ diffLines.push(` ${bl[j]}`);
121
+ }
122
+ }
123
+ i = hunkEnd;
124
+ }
125
+ return diffLines.join("\n");
126
+ }
127
+ async function handleRefactorRename(args, workspaceRoot) {
128
+ const fromName = args.from;
129
+ const toName = args.to;
130
+ const dryRun = !!(args.dryRun);
131
+ const tscCheck = !!(args.tscCheck);
132
+ const backup = !!(args.backup);
133
+ if (!fromName || !toName)
134
+ throw new Error("'from' and 'to' are required for rename");
135
+ const refs = findSymbolRefs(workspaceRoot, fromName);
136
+ if (refs.length === 0) {
137
+ return { content: [{ type: "text", text: `No references found to symbol "${fromName}" in the workspace.` }] };
138
+ }
139
+ let filesModified = 0;
140
+ let totalRefs = 0;
141
+ const report = [];
142
+ const diffs = [];
143
+ for (const ref of refs) {
144
+ const before = fs.readFileSync(ref.abs, "utf8");
145
+ const after = applySymbolRenameInContent(before, fromName, toName);
146
+ if (before === after)
147
+ continue;
148
+ const count = (before.match(new RegExp(`(?<![a-zA-Z0-9_$])${escapeRegexStr(fromName)}(?![a-zA-Z0-9_$])`, "g")) || []).length;
149
+ totalRefs += count;
150
+ filesModified++;
151
+ if (dryRun) {
152
+ const d = buildUnifiedDiff(ref.rel, before, after);
153
+ if (d)
154
+ diffs.push(d);
155
+ }
156
+ else {
157
+ if (backup)
158
+ fs.writeFileSync(ref.abs + ".bak", before, "utf8");
159
+ fs.writeFileSync(ref.abs, after, "utf8");
160
+ report.push(` βœ… ${ref.rel} (${count} refs)`);
161
+ }
162
+ }
163
+ if (dryRun) {
164
+ return { content: [{ type: "text", text: [`πŸ” DRY RUN β€” Rename "${fromName}" β†’ "${toName}"`, ``, `Archivos que cambiarΓ­an: ${filesModified} | Referencias: ${totalRefs}`, ``, `=== DIFF PREVIEW ===`, ...diffs].join("\n") }] };
165
+ }
166
+ let tscOutput = "";
167
+ if (tscCheck && filesModified > 0) {
168
+ try {
169
+ const out = execSync("npx tsc --noEmit 2>&1 | head -30 || true", { cwd: workspaceRoot, encoding: "utf8", timeout: 30000 });
170
+ const errors = out.split("\n").filter((l) => l.includes("error TS"));
171
+ tscOutput = errors.length === 0 ? "\n\nβœ… tsc --noEmit: 0 errores" : `\n\n⚠️ tsc: ${errors.length} error(es):\n${errors.join("\n")}`;
172
+ }
173
+ catch (e) {
174
+ tscOutput = `\n\n⚠️ tsc check falló: ${e.message}`;
175
+ }
176
+ }
177
+ return { content: [{ type: "text", text: [`βœ… Rename: "${fromName}" β†’ "${toName}"`, ``, `πŸ“ ${filesModified} archivos | πŸ”— ${totalRefs} refs`, ``, ...report].join("\n") + tscOutput }] };
178
+ }
179
+ async function handleRefactorMove(args, workspaceRoot) {
180
+ const fromRel = args.from;
181
+ const toRel = args.to;
182
+ const dryRun = !!(args.dryRun);
183
+ const tscCheck = !!(args.tscCheck);
184
+ const backup = !!(args.backup);
185
+ const { resolved: fromAbs } = safeResolvePath(workspaceRoot, fromRel);
186
+ const toAbs = path.resolve(workspaceRoot, toRel);
187
+ const fromRelNorm = path.relative(workspaceRoot, fromAbs).replace(/\\/g, "/");
188
+ const toRelNorm = path.relative(workspaceRoot, toAbs).replace(/\\/g, "/");
189
+ if (!fs.existsSync(fromAbs)) {
190
+ return { content: [{ type: "text", text: `Source file not found: ${fromRelNorm}` }] };
191
+ }
192
+ const IGNORE_MV = new Set(["node_modules", ".git", "dist", "chroma_data", ".lemma", "build", "coverage", ".next"]);
193
+ const importers = [];
194
+ function walkMV(dir) {
195
+ let entries = [];
196
+ try {
197
+ entries = fs.readdirSync(dir, { withFileTypes: true });
198
+ }
199
+ catch {
200
+ return;
201
+ }
202
+ for (const e of entries) {
203
+ if (IGNORE_MV.has(e.name))
204
+ continue;
205
+ const abs = path.join(dir, e.name);
206
+ if (e.isDirectory()) {
207
+ walkMV(abs);
208
+ }
209
+ else if (/\.(ts|tsx|js|jsx)$/.test(e.name) && !e.name.endsWith(".d.ts")) {
210
+ const rel = path.relative(workspaceRoot, abs).replace(/\\/g, "/");
211
+ if (rel === fromRelNorm)
212
+ return;
213
+ try {
214
+ const content = fs.readFileSync(abs, "utf8");
215
+ const sf = ts.createSourceFile(abs, content, ts.ScriptTarget.Latest, true);
216
+ let found = false;
217
+ ts.forEachChild(sf, (n) => {
218
+ if (!found && ts.isImportDeclaration(n) && ts.isStringLiteral(n.moduleSpecifier)) {
219
+ const spec = n.moduleSpecifier.text;
220
+ if (spec.startsWith(".")) {
221
+ const res = path.resolve(path.dirname(abs), spec).replace(/\\/g, "/");
222
+ const fromN = fromAbs.replace(/\\/g, "/");
223
+ const fromNoExt = fromN.replace(/\.(ts|tsx|js|jsx)$/, "");
224
+ if (res === fromN || res === fromNoExt)
225
+ found = true;
226
+ }
227
+ }
228
+ });
229
+ if (found)
230
+ importers.push({ abs, rel, content });
231
+ }
232
+ catch { /* skip */ }
233
+ }
234
+ }
235
+ }
236
+ walkMV(workspaceRoot);
237
+ const addDot = (p) => p.startsWith(".") ? p : `./${p}`;
238
+ const patches = [];
239
+ for (const imp of importers) {
240
+ const oldRelImport = path.relative(path.dirname(imp.abs), fromAbs).replace(/\\/g, "/");
241
+ const newRelImport = path.relative(path.dirname(imp.abs), toAbs).replace(/\\/g, "/");
242
+ const oldSpec = addDot(oldRelImport.replace(/\.(ts|tsx|js|jsx)$/, ""));
243
+ const newSpec = addDot(newRelImport.replace(/\.(ts|tsx|js|jsx)$/, ""));
244
+ const after = imp.content.replace(new RegExp(`(['"])${escapeRegexStr(oldSpec)}(['"])`, "g"), `$1${newSpec}$2`);
245
+ if (after !== imp.content)
246
+ patches.push({ rel: imp.rel, abs: imp.abs, before: imp.content, after });
247
+ }
248
+ if (dryRun) {
249
+ const diffs = patches.map(p => buildUnifiedDiff(p.rel, p.before, p.after)).filter(Boolean);
250
+ return { content: [{ type: "text", text: [`πŸ” DRY RUN β€” Move "${fromRelNorm}" β†’ "${toRelNorm}"`, ``, `Importadores que se actualizarΓ­an: ${patches.length}`, ``, `=== DIFF PREVIEW ===`, ...diffs].join("\n") }] };
251
+ }
252
+ fs.mkdirSync(path.dirname(toAbs), { recursive: true });
253
+ if (backup)
254
+ fs.copyFileSync(fromAbs, fromAbs + ".bak");
255
+ fs.copyFileSync(fromAbs, toAbs);
256
+ fs.unlinkSync(fromAbs);
257
+ for (const p of patches) {
258
+ if (backup)
259
+ fs.writeFileSync(p.abs + ".bak", p.before, "utf8");
260
+ fs.writeFileSync(p.abs, p.after, "utf8");
261
+ }
262
+ let tscOutput = "";
263
+ if (tscCheck) {
264
+ try {
265
+ const out = execSync("npx tsc --noEmit 2>&1 | head -30 || true", { cwd: workspaceRoot, encoding: "utf8", timeout: 30000 });
266
+ const errors = out.split("\n").filter((l) => l.includes("error TS"));
267
+ tscOutput = errors.length === 0 ? "\n\nβœ… tsc --noEmit: 0 errores" : `\n\n⚠️ tsc: ${errors.length} error(es):\n${errors.join("\n")}`;
268
+ }
269
+ catch (e) {
270
+ tscOutput = `\n\n⚠️ tsc check falló: ${e.message}`;
271
+ }
272
+ }
273
+ return { content: [{ type: "text", text: [`βœ… Move: "${fromRelNorm}" β†’ "${toRelNorm}"`, ``, `πŸ“ ${patches.length} importadores actualizados:`, ...patches.map(p => ` βœ… ${p.rel}`)].join("\n") + tscOutput }] };
274
+ }
275
+ async function handleRefactor(args) {
276
+ const operation = args?.operation;
277
+ const workspaceRoot = process.cwd();
278
+ if (!operation)
279
+ throw new Error("'operation' is required (rename | move)");
280
+ try {
281
+ switch (operation) {
282
+ case "rename": return await handleRefactorRename(args, workspaceRoot);
283
+ case "move": return await handleRefactorMove(args, workspaceRoot);
284
+ default:
285
+ return { content: [{ type: "text", text: `Unknown operation: "${operation}". Supported: rename, move` }] };
286
+ }
287
+ }
288
+ catch (err) {
289
+ logError("refactor", err);
290
+ return { content: [{ type: "text", text: `refactor failed: ${err.message}` }] };
291
+ }
292
+ }
293
+ export const REFACTOR_TOOL_HANDLERS = {
294
+ refactor: handleRefactor,
295
+ };
296
+ //# sourceMappingURL=refactor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"refactor.js","sourceRoot":"","sources":["../../../../src/mcp/tools/refactor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * PR review tools: review_diff (local, zero-LLM static analysis of a raw diff),
3
+ * review_pr / pr_status (Pro, hits GitHub/Azure/GitLab APIs), and generate_pr_workflow
4
+ * (writes a CI file that runs review_pr on every PR). Split out of ../tools.ts (see that
5
+ * file's history for why) β€” pure relocation, no behavior change.
6
+ */
7
+ import type { ToolDefinition, ToolHandler } from "../toolTypes.js";
8
+ export declare const REVIEW_TOOL_DEFINITIONS: ToolDefinition[];
9
+ export declare const REVIEW_TOOL_HANDLERS: Record<string, ToolHandler>;
10
+ //# sourceMappingURL=review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/review.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhE,eAAO,MAAM,uBAAuB,EAAE,cAAc,EA6DnD,CAAC;AAiOF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAK5D,CAAC"}
@@ -0,0 +1,277 @@
1
+ /**
2
+ * PR review tools: review_diff (local, zero-LLM static analysis of a raw diff),
3
+ * review_pr / pr_status (Pro, hits GitHub/Azure/GitLab APIs), and generate_pr_workflow
4
+ * (writes a CI file that runs review_pr on every PR). Split out of ../tools.ts (see that
5
+ * file's history for why) β€” pure relocation, no behavior change.
6
+ */
7
+ import fs from "fs";
8
+ import path from "path";
9
+ import { runAnalysis, parseDiff } from "../../pr-review/PRReviewEngine.js";
10
+ import { ReviewStore } from "../../pr-review/ReviewStore.js";
11
+ import { runPRReview } from "../../pr-review/reviewRunner.js";
12
+ import { safeResolvePath, logError } from "../utils.js";
13
+ export const REVIEW_TOOL_DEFINITIONS = [
14
+ {
15
+ name: "review_diff",
16
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
17
+ description: "Analyze a raw git diff locally for regressions, security issues, code quality, and static analysis. Zero-cost static analysis using local TypeScript compiler API β€” no LLM calls. Returns score, verdict, and detailed findings with suggestions.",
18
+ inputSchema: {
19
+ type: "object",
20
+ properties: {
21
+ diff: { type: "string", description: "The git diff content to analyze" },
22
+ baseBranch: { type: "string", description: "Base branch for regression context", default: "main" },
23
+ threshold: { type: "number", description: "Quality score threshold for approval (0-100)", default: 90 },
24
+ },
25
+ required: ["diff"],
26
+ },
27
+ },
28
+ {
29
+ name: "review_pr",
30
+ annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: true },
31
+ description: "Analyze a Pull Request via GitHub, Azure DevOps, or GitLab API. Detects regressions, security issues, code quality problems, and breaking changes. Posts results as PR comments and can auto-approve if quality threshold is met. Pro license required.",
32
+ inputSchema: {
33
+ type: "object",
34
+ properties: {
35
+ platform: { type: "string", enum: ["github", "azure", "gitlab"], description: "Git platform" },
36
+ repo: { type: "string", description: "Full repo name (e.g., 'owner/repo' or 'org/project/repo')" },
37
+ prNumber: { type: "number", description: "Pull request number" },
38
+ autoApprove: { type: "boolean", description: "Auto-approve if score >= threshold", default: true },
39
+ threshold: { type: "number", description: "Quality score threshold (0-100)", default: 90 },
40
+ context: { type: "string", description: "Optional context from The Brain about this project" },
41
+ },
42
+ required: ["platform", "repo", "prNumber"],
43
+ },
44
+ },
45
+ {
46
+ name: "pr_status",
47
+ annotations: { readOnlyHint: true, openWorldHint: true },
48
+ description: "Get the status and detailed results of a previously reviewed PR. Returns score, verdict, findings, and approval status.",
49
+ inputSchema: {
50
+ type: "object",
51
+ properties: {
52
+ reviewId: { type: "string", description: "Review ID returned by review_pr" },
53
+ repo: { type: "string", description: "Optional repo to find by PR number" },
54
+ prNumber: { type: "number", description: "Optional PR number to find by repo" },
55
+ },
56
+ required: [],
57
+ },
58
+ },
59
+ {
60
+ name: "generate_pr_workflow",
61
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
62
+ description: "Generate a CI/CD workflow file (GitHub Actions or Azure Pipelines) that runs Lemma PR Review on every pull request. Writes the file to the workspace.",
63
+ inputSchema: {
64
+ type: "object",
65
+ properties: {
66
+ platform: { type: "string", enum: ["github", "azure"], description: "CI platform" },
67
+ outputPath: { type: "string", description: "Output path for the workflow file", default: ".github/workflows/lemma-pr-review.yml" },
68
+ autoApprove: { type: "boolean", description: "Enable auto-approve in the workflow", default: true },
69
+ threshold: { type: "number", description: "Quality threshold for auto-approve", default: 90 },
70
+ },
71
+ required: ["platform"],
72
+ },
73
+ },
74
+ ];
75
+ // ─── review_diff ─────────────────────────────────────────────────────────────
76
+ async function handleReviewDiff(args) {
77
+ const diff = args?.diff;
78
+ const baseBranch = args?.baseBranch || "main";
79
+ const threshold = args?.threshold || 90;
80
+ if (!diff)
81
+ throw new Error("diff is required");
82
+ const workspaceRoot = process.cwd();
83
+ try {
84
+ const diffFiles = parseDiff(diff);
85
+ if (diffFiles.length === 0) {
86
+ return { content: [{ type: "text", text: "No parseable diff files found. Ensure the input is a valid git diff output." }] };
87
+ }
88
+ const result = runAnalysis(diffFiles, { threshold, autoApprove: false }, workspaceRoot, baseBranch);
89
+ return {
90
+ content: [
91
+ {
92
+ type: "text",
93
+ text: [
94
+ `# πŸ” Lemma PR Review β€” Local Diff Analysis`,
95
+ ``,
96
+ `**Files analyzed:** ${diffFiles.length}`,
97
+ `**Score:** ${result.score}/100 | **Verdict:** ${result.verdict}`,
98
+ ``,
99
+ result.summary,
100
+ ].join("\n"),
101
+ },
102
+ ],
103
+ };
104
+ }
105
+ catch (err) {
106
+ logError("review_diff", err);
107
+ return { content: [{ type: "text", text: `PR review analysis failed: ${err.message}` }] };
108
+ }
109
+ }
110
+ // ─── review_pr ─────────────────────────────────────────────────────────────
111
+ async function handleReviewPR(args) {
112
+ const platform = args?.platform;
113
+ const repo = args?.repo;
114
+ const prNumber = args?.prNumber;
115
+ const autoApprove = args?.autoApprove !== false;
116
+ const threshold = args?.threshold || 90;
117
+ if (!platform || !repo || !prNumber) {
118
+ throw new Error("platform, repo, and prNumber are required");
119
+ }
120
+ try {
121
+ const result = await runPRReview(platform, repo, prNumber, { autoApprove, threshold });
122
+ return {
123
+ content: [
124
+ {
125
+ type: "text",
126
+ text: JSON.stringify(result, null, 2),
127
+ },
128
+ ],
129
+ };
130
+ }
131
+ catch (err) {
132
+ logError("review_pr", err);
133
+ return { content: [{ type: "text", text: `PR review failed: ${err.message}` }] };
134
+ }
135
+ }
136
+ // ─── pr_status ─────────────────────────────────────────────────────────────
137
+ async function handlePRStatus(args) {
138
+ const reviewId = args?.reviewId;
139
+ const repo = args?.repo;
140
+ const prNumber = args?.prNumber;
141
+ let review;
142
+ if (reviewId) {
143
+ review = ReviewStore.get(reviewId);
144
+ }
145
+ else if (repo && prNumber) {
146
+ review = ReviewStore.findByPR(repo, prNumber);
147
+ }
148
+ if (!review) {
149
+ const allReviews = ReviewStore.getAll();
150
+ return {
151
+ content: [
152
+ {
153
+ type: "text",
154
+ text: allReviews.length === 0
155
+ ? "No PR reviews found in this session."
156
+ : `PR reviews in this session:\n\n${allReviews.slice(-5).map(r => `- ${r.metadata?.repo || "?"} #${r.metadata?.prNumber || "?"}: ${r.score}/100 β€” ${r.verdict} (${r.reviewId})`).join("\n")}`,
157
+ },
158
+ ],
159
+ };
160
+ }
161
+ return {
162
+ content: [
163
+ {
164
+ type: "text",
165
+ text: [
166
+ `# πŸ“‹ PR Review Status`,
167
+ ``,
168
+ `**Review ID:** ${review.reviewId}`,
169
+ `**Repo:** ${review.metadata?.repo || "N/A"}`,
170
+ `**PR:** #${review.metadata?.prNumber || "N/A"}`,
171
+ `**Score:** ${review.score}/100`,
172
+ `**Verdict:** ${review.verdict}`,
173
+ `**Approved:** ${review.approved ? "βœ… Yes" : "❌ No"}`,
174
+ `**Timestamp:** ${review.timestamp}`,
175
+ ``,
176
+ review.summary,
177
+ ].join("\n"),
178
+ },
179
+ ],
180
+ };
181
+ }
182
+ // ─── generate_pr_workflow ─────────────────────────────────────────────────
183
+ async function handleGeneratePRWorkflow(args) {
184
+ const platform = args?.platform;
185
+ const outputPath = args?.outputPath || ".github/workflows/lemma-pr-review.yml";
186
+ const autoApprove = args?.autoApprove !== false;
187
+ const threshold = args?.threshold || 90;
188
+ if (!platform)
189
+ throw new Error("platform is required");
190
+ if (!["github", "azure"].includes(platform)) {
191
+ throw new Error("platform must be 'github' or 'azure'");
192
+ }
193
+ const workspaceRoot = process.cwd();
194
+ const { resolved } = safeResolvePath(workspaceRoot, outputPath);
195
+ const dir = path.dirname(resolved);
196
+ try {
197
+ if (!fs.existsSync(dir)) {
198
+ fs.mkdirSync(dir, { recursive: true });
199
+ }
200
+ const tokenName = platform === "github" ? "GITHUB_TOKEN" : "AZURE_DEVOPS_TOKEN";
201
+ const yaml = platform === "github"
202
+ ? generateGitHubWorkflowYaml(threshold)
203
+ : generateAzurePipelineYaml(threshold);
204
+ fs.writeFileSync(resolved, yaml, "utf8");
205
+ return {
206
+ content: [
207
+ {
208
+ type: "text",
209
+ text: `βœ… Workflow file generated at \`${outputPath}\`\n\nMake sure to add your Lemma license key and ${tokenName} as secrets in your ${platform === "github" ? "GitHub repository" : "Azure Pipeline"}.`,
210
+ },
211
+ ],
212
+ };
213
+ }
214
+ catch (err) {
215
+ logError("generate_pr_workflow", err);
216
+ return { content: [{ type: "text", text: `Failed to generate workflow: ${err.message}` }] };
217
+ }
218
+ }
219
+ function generateGitHubWorkflowYaml(threshold) {
220
+ return [
221
+ `name: Lemma PR Review`,
222
+ `on:`,
223
+ ` pull_request:`,
224
+ ` types: [opened, synchronize]`,
225
+ ``,
226
+ `jobs:`,
227
+ ` lemma-review:`,
228
+ ` runs-on: ubuntu-latest`,
229
+ ` steps:`,
230
+ ` - uses: actions/checkout@v4`,
231
+ ` with:`,
232
+ ` fetch-depth: 0`,
233
+ ` - uses: actions/setup-node@v4`,
234
+ ` - run: npm install -g @nxuss/lemma`,
235
+ ` - run: lemma pr-review --threshold ${threshold}`,
236
+ ` env:`,
237
+ ` LEMMA_LICENSE_KEY: \${{ secrets.LEMMA_LICENSE_KEY }}`,
238
+ ` GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}`,
239
+ ` LEMMA_PLATFORM: github`,
240
+ ` LEMMA_REPO: \${{ github.repository }}`,
241
+ ` LEMMA_PR_NUMBER: \${{ github.event.pull_request.number }}`,
242
+ ].join("\n");
243
+ }
244
+ function generateAzurePipelineYaml(threshold) {
245
+ return [
246
+ `trigger: none`,
247
+ `pr:`,
248
+ ` branches:`,
249
+ ` include:`,
250
+ ` - '*'`,
251
+ ``,
252
+ `pool:`,
253
+ ` vmImage: ubuntu-latest`,
254
+ ``,
255
+ `steps:`,
256
+ ` - checkout: self`,
257
+ ` fetchDepth: 0`,
258
+ ` - task: NodeTool@0`,
259
+ ` inputs:`,
260
+ ` versionSpec: '18'`,
261
+ ` - script: npm install -g @nxuss/lemma`,
262
+ ` - script: lemma pr-review --threshold ${threshold}`,
263
+ ` env:`,
264
+ ` LEMMA_LICENSE_KEY: \$(LEMMA_LICENSE_KEY)`,
265
+ ` LEMMA_PLATFORM: azure`,
266
+ ` LEMMA_REPO: \$(Build.Repository.Name)`,
267
+ ` LEMMA_PR_NUMBER: \$(System.PullRequest.PullRequestId)`,
268
+ ` AZURE_DEVOPS_TOKEN: \$(AZURE_DEVOPS_TOKEN)`,
269
+ ].join("\n");
270
+ }
271
+ export const REVIEW_TOOL_HANDLERS = {
272
+ review_diff: handleReviewDiff,
273
+ review_pr: handleReviewPR,
274
+ pr_status: handlePRStatus,
275
+ generate_pr_workflow: handleGeneratePRWorkflow,
276
+ };
277
+ //# sourceMappingURL=review.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../../src/mcp/tools/review.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Squeeze/cache primitives: turbosqueeze, compress_context, smarter_cache,
3
+ * state_hash_cache, token_receipt. Split out of ../tools.ts (see that file's history
4
+ * for why) β€” pure relocation, no behavior change.
5
+ *
6
+ * token_budget stayed behind in tools.ts on purpose: it reads getToolSchemaChars()/
7
+ * getToolSurfaceSummary(), which inspect tools.ts's own module-scope tool registry.
8
+ * Moving it here would form the same kind of import cycle batch_tool_calls avoids by
9
+ * staying put.
10
+ */
11
+ import type { ToolDefinition, ToolHandler } from "../toolTypes.js";
12
+ export declare const SQUEEZE_CACHE_TOOL_DEFINITIONS: ToolDefinition[];
13
+ export declare const SQUEEZE_CACHE_TOOL_HANDLERS: Record<string, ToolHandler>;
14
+ //# sourceMappingURL=squeeze-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"squeeze-cache.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/squeeze-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhE,eAAO,MAAM,8BAA8B,EAAE,cAAc,EAuI1D,CAAC;AAwPF,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAMnE,CAAC"}