@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,516 @@
1
+ /**
2
+ * Thin wrapper tools around already-separate util modules: file_fingerprint,
3
+ * git_blame_heat, type_coverage_report, import_tree_context, read_token_budgeted,
4
+ * bulk_file_digest, auto_context_bundle, repeat_guard, conversation_checkpoint,
5
+ * test_autofix_interceptor, prompt_pattern_cache. Split out of ../tools.ts (see that
6
+ * file's history for why) — pure relocation, no behavior change.
7
+ */
8
+ import { computeFingerprint } from "../../utils/FileFingerprint.js";
9
+ import { analyzeBlameHeat } from "../../utils/GitBlameHeat.js";
10
+ import { analyzeTypeCoverage } from "../../utils/TypeCoverage.js";
11
+ import { buildImportTree } from "../../utils/ImportTreeContext.js";
12
+ import { readTokenBudgeted } from "../../utils/TokenBudgetedReader.js";
13
+ import { bulkFileDigest } from "../../utils/BulkFileDigest.js";
14
+ import { autoContextBundle } from "../../utils/AutoContextBundle.js";
15
+ import { checkRepeat, recordOutput } from "../../utils/RepeatGuard.js";
16
+ import { saveCheckpoint, loadLatestCheckpoint, buildCheckpointSummary } from "../../utils/ConversationCheckpoint.js";
17
+ import { runTestAutofix } from "../../utils/TestAutofixInterceptor.js";
18
+ import { findPattern, storePattern, getPatternStats } from "../../utils/PromptPatternCache.js";
19
+ import { reportSavings } from "../../utils/reportSavings.js";
20
+ import { logError } from "../utils.js";
21
+ export const DEV_UTILS_TOOL_DEFINITIONS = [
22
+ {
23
+ name: "file_fingerprint",
24
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
25
+ description: "Compute SHA256 fingerprint of a file. Returns 'unchanged' if hash matches cache, avoiding full re-reads. Saves 60-70% tokens on repeated file access.",
26
+ inputSchema: {
27
+ type: "object",
28
+ properties: {
29
+ filePath: { type: "string", description: "Path relative to the project root" },
30
+ forceRefresh: { type: "boolean", description: "Force re-read even if hash matches", default: false }
31
+ },
32
+ required: ["filePath"]
33
+ }
34
+ },
35
+ {
36
+ name: "git_blame_heat",
37
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
38
+ description: "Analyze git blame history to identify high-risk lines and authors. Zero LLM cost. Returns risk scores per line, hotspots, and top contributors by risk.",
39
+ inputSchema: {
40
+ type: "object",
41
+ properties: {
42
+ filePath: { type: "string", description: "Path relative to the project root" }
43
+ },
44
+ required: ["filePath"]
45
+ }
46
+ },
47
+ {
48
+ name: "type_coverage_report",
49
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
50
+ description: "Analyze TypeScript type coverage of a file using AST. Returns declaration count, typed vs untyped ratio, any-usage count, and a safety score 0-100. Zero LLM cost.",
51
+ inputSchema: {
52
+ type: "object",
53
+ properties: {
54
+ filePath: { type: "string", description: "Path relative to the project root" }
55
+ },
56
+ required: ["filePath"]
57
+ }
58
+ },
59
+ {
60
+ name: "import_tree_context",
61
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
62
+ description: "Build a bidirectional import graph for a file. Shows what it imports, what imports it, and external dependencies. Zero LLM cost. Essential before refactors.",
63
+ inputSchema: {
64
+ type: "object",
65
+ properties: {
66
+ filePath: { type: "string", description: "Path relative to the project root" },
67
+ depth: { type: "number", description: "Traversal depth (default: 2)", default: 2 }
68
+ },
69
+ required: ["filePath"]
70
+ }
71
+ },
72
+ {
73
+ name: "read_token_budgeted",
74
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
75
+ description: "Read a file with a hard token budget. Returns only the most relevant sections up to maxTokens. Saves 70-90% vs full reads.",
76
+ inputSchema: {
77
+ type: "object",
78
+ properties: {
79
+ filePath: { type: "string", description: "Path relative to the project root" },
80
+ query: { type: "string", description: "Search query to determine relevance", default: "" },
81
+ maxTokens: { type: "number", description: "Maximum tokens to return (default: 2000)", default: 2000 }
82
+ },
83
+ required: ["filePath"]
84
+ }
85
+ },
86
+ {
87
+ name: "bulk_file_digest",
88
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
89
+ description: "Read multiple files in one call and return a compressed digest. Saves 80% round-trips vs reading files individually.",
90
+ inputSchema: {
91
+ type: "object",
92
+ properties: {
93
+ filePaths: {
94
+ type: "array",
95
+ items: { type: "string" },
96
+ description: "Array of file paths relative to the project root"
97
+ },
98
+ query: { type: "string", description: "Search query for relevance ranking", default: "" },
99
+ maxTotalTokens: { type: "number", description: "Total token budget for all files (default: 4000)", default: 4000 }
100
+ },
101
+ required: ["filePaths"]
102
+ }
103
+ },
104
+ {
105
+ name: "auto_context_bundle",
106
+ annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
107
+ description: "Get everything about a file in one call: compressed content, import graph, schema types, and telepathic hints from The Brain. Replaces 4-5 separate tool calls.",
108
+ inputSchema: {
109
+ type: "object",
110
+ properties: {
111
+ filePath: { type: "string", description: "Path relative to the project root" }
112
+ },
113
+ required: ["filePath"]
114
+ }
115
+ },
116
+ {
117
+ name: "repeat_guard",
118
+ annotations: { readOnlyHint: true, openWorldHint: false },
119
+ description: "Check if a draft output is repetitive compared to recent responses. Returns similarity score and suggestion. Prevents duplicate explanations.",
120
+ inputSchema: {
121
+ type: "object",
122
+ properties: {
123
+ draftOutput: { type: "string", description: "The draft output to check for repetition" },
124
+ threshold: { type: "number", description: "Similarity threshold 0-1 (default: 0.75)", default: 0.75 }
125
+ },
126
+ required: ["draftOutput"]
127
+ }
128
+ },
129
+ {
130
+ name: "conversation_checkpoint",
131
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true, openWorldHint: false },
132
+ description: "Save or load session state. Prevents re-explaining context across turns. Save current progress or load last checkpoint.",
133
+ inputSchema: {
134
+ type: "object",
135
+ properties: {
136
+ action: { type: "string", enum: ["save", "load", "summary"], description: "Action to perform", default: "load" },
137
+ filesModified: { type: "array", items: { type: "string" }, description: "Files modified in this session" },
138
+ decisionsMade: { type: "array", items: { type: "string" }, description: "Decisions made" },
139
+ bugsResolved: { type: "array", items: { type: "string" }, description: "Bugs resolved" },
140
+ tasksPending: { type: "array", items: { type: "string" }, description: "Pending tasks" }
141
+ },
142
+ required: ["action"]
143
+ }
144
+ },
145
+ {
146
+ name: "test_autofix_interceptor",
147
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true },
148
+ description: "Run tests and auto-search The Brain for fixes to failures. Returns failure list with suggested fixes from past sessions. Saves 4-5 turns of debugging.",
149
+ inputSchema: {
150
+ type: "object",
151
+ properties: {
152
+ command: { type: "string", description: "Test command (default: 'npm test')", default: "npm test" }
153
+ }
154
+ }
155
+ },
156
+ {
157
+ name: "prompt_pattern_cache",
158
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
159
+ description: "Find or store optimized prompt templates. Reuses past prompt patterns to save 20-30% tokens on repetitive operations.",
160
+ inputSchema: {
161
+ type: "object",
162
+ properties: {
163
+ action: { type: "string", enum: ["find", "store", "stats"], description: "Action to perform", default: "find" },
164
+ query: { type: "string", description: "The prompt/query to search or store" },
165
+ template: { type: "string", description: "The optimized template to store (for 'store' action)" },
166
+ tokensSaved: { type: "number", description: "Estimated tokens saved by this template", default: 0 }
167
+ },
168
+ required: ["action"]
169
+ }
170
+ }
171
+ ];
172
+ // ── File Fingerprint ──────────────────────────────────────────────────
173
+ async function handleFileFingerprint(args) {
174
+ const filePath = args.filePath;
175
+ const forceRefresh = !!args.forceRefresh;
176
+ if (!filePath)
177
+ throw new Error("filePath is required");
178
+ const workspaceRoot = process.cwd();
179
+ try {
180
+ const result = computeFingerprint(filePath, workspaceRoot, forceRefresh);
181
+ if (result.status === "unchanged") {
182
+ return { content: [{ type: "text", text: `UNCHANGED: ${filePath} (hash: ${result.hash}, ${result.lines} lines)` }] };
183
+ }
184
+ if (result.status === "new") {
185
+ return { content: [{ type: "text", text: `NEW: ${filePath} (hash: ${result.hash}, ${result.lines} lines)` }] };
186
+ }
187
+ reportSavings({ source: "cache", charsBefore: (result.content || "").length, charsAfter: 0, toolName: "file_fingerprint", filePath });
188
+ return { content: [{ type: "text", text: `CHANGED: ${filePath} (hash: ${result.hash}, ${result.lines} lines)\n\n${result.content}` }] };
189
+ }
190
+ catch (e) {
191
+ logError("file_fingerprint", e);
192
+ return { content: [{ type: "text", text: `Fingerprint failed: ${e.message}` }] };
193
+ }
194
+ }
195
+ // ── Git Blame Heat ────────────────────────────────────────────────────
196
+ async function handleGitBlameHeat(args) {
197
+ const filePath = args.filePath;
198
+ if (!filePath)
199
+ throw new Error("filePath is required");
200
+ const workspaceRoot = process.cwd();
201
+ try {
202
+ const result = analyzeBlameHeat(filePath, workspaceRoot);
203
+ const lines = [
204
+ `# Git Blame Heat: ${result.file}`,
205
+ `**Total lines:** ${result.totalLines} | **Risk Score:** ${result.riskScore}/100`,
206
+ "",
207
+ ];
208
+ if (result.topAuthors.length > 0) {
209
+ lines.push("## Top Authors by Risk");
210
+ for (const a of result.topAuthors) {
211
+ lines.push(`- **${a.author}**: ${a.lines} lines, risk ${a.risk}`);
212
+ }
213
+ lines.push("");
214
+ }
215
+ if (result.hotspots.length > 0) {
216
+ lines.push("## Hotspots (risk > 50)");
217
+ for (const h of result.hotspots.slice(0, 10)) {
218
+ lines.push(`- L${h.line}: risk=${h.riskScore.toFixed(1)}, author=${h.author}, age=${h.age}d, changes=${h.changeCount}`);
219
+ }
220
+ }
221
+ return { content: [{ type: "text", text: lines.join("\n") }] };
222
+ }
223
+ catch (e) {
224
+ logError("git_blame_heat", e);
225
+ return { content: [{ type: "text", text: `Git blame heat failed: ${e.message}` }] };
226
+ }
227
+ }
228
+ // ── Type Coverage Report ──────────────────────────────────────────────
229
+ async function handleTypeCoverageReport(args) {
230
+ const filePath = args.filePath;
231
+ if (!filePath)
232
+ throw new Error("filePath is required");
233
+ const workspaceRoot = process.cwd();
234
+ try {
235
+ const result = analyzeTypeCoverage(filePath, workspaceRoot);
236
+ const lines = [
237
+ `# Type Coverage: ${result.file}`,
238
+ `**Score:** ${result.score}/100 | **Coverage:** ${result.coveragePercent}%`,
239
+ `**Declarations:** ${result.typedDeclarations}/${result.totalDeclarations} typed | **any count:** ${result.anyCount}`,
240
+ "",
241
+ ];
242
+ if (result.missingTypes.length > 0) {
243
+ lines.push("## Missing Types (first 10)");
244
+ for (const m of result.missingTypes.slice(0, 10)) {
245
+ lines.push(`- L${m.line}: \`${m.code}\``);
246
+ }
247
+ }
248
+ return { content: [{ type: "text", text: lines.join("\n") }] };
249
+ }
250
+ catch (e) {
251
+ logError("type_coverage_report", e);
252
+ return { content: [{ type: "text", text: `Type coverage analysis failed: ${e.message}` }] };
253
+ }
254
+ }
255
+ // ── Import Tree Context ───────────────────────────────────────────────
256
+ async function handleImportTreeContext(args) {
257
+ const filePath = args.filePath;
258
+ const depth = args.depth || 2;
259
+ if (!filePath)
260
+ throw new Error("filePath is required");
261
+ const workspaceRoot = process.cwd();
262
+ try {
263
+ const result = buildImportTree(filePath, workspaceRoot, depth);
264
+ return { content: [{ type: "text", text: result.summary }] };
265
+ }
266
+ catch (e) {
267
+ logError("import_tree_context", e);
268
+ return { content: [{ type: "text", text: `Import tree failed: ${e.message}` }] };
269
+ }
270
+ }
271
+ // ── Token Budgeted Reader ─────────────────────────────────────────────
272
+ async function handleReadTokenBudgeted(args) {
273
+ const filePath = args.filePath;
274
+ const query = args.query || '';
275
+ const maxTokens = args.maxTokens || 2000;
276
+ if (!filePath)
277
+ throw new Error("filePath is required");
278
+ const workspaceRoot = process.cwd();
279
+ try {
280
+ const result = readTokenBudgeted(filePath, workspaceRoot, query, maxTokens);
281
+ if (!result.truncated) {
282
+ return { content: [{ type: "text", text: `FULL READ: ${result.filePath} (${result.tokensUsed} tokens)\n\n${result.content}` }] };
283
+ }
284
+ const sections = result.relevantSections.map(s => `L${s.start}-L${s.end} (${s.reason})`).join(', ');
285
+ return { content: [{ type: "text", text: `BUDGETED READ: ${result.filePath} (${result.tokensUsed}/${result.tokensBudget} tokens, ${result.relevantSections.length} sections)\nSections: ${sections}\n\n${result.content}` }] };
286
+ }
287
+ catch (e) {
288
+ logError("read_token_budgeted", e);
289
+ return { content: [{ type: "text", text: `Token budgeted read failed: ${e.message}` }] };
290
+ }
291
+ }
292
+ // ── Bulk File Digest ──────────────────────────────────────────────────
293
+ async function handleBulkFileDigest(args) {
294
+ const filePaths = args.filePaths;
295
+ const query = args.query || '';
296
+ const maxTotalTokens = args.maxTotalTokens || 4000;
297
+ if (!filePaths || filePaths.length === 0)
298
+ throw new Error("filePaths array is required");
299
+ const workspaceRoot = process.cwd();
300
+ try {
301
+ const result = bulkFileDigest(filePaths, workspaceRoot, query, maxTotalTokens);
302
+ const lines = [`# Bulk Digest: ${result.files.length} files (${result.totalTokens} tokens)\n`];
303
+ for (const f of result.files) {
304
+ const flag = f.truncated ? ' [TRUNCATED]' : '';
305
+ lines.push(`## ${f.path} (${f.tokenCount} tokens)${flag}\n${f.summary}\n`);
306
+ }
307
+ return { content: [{ type: "text", text: lines.join("\n") }] };
308
+ }
309
+ catch (e) {
310
+ logError("bulk_file_digest", e);
311
+ return { content: [{ type: "text", text: `Bulk digest failed: ${e.message}` }] };
312
+ }
313
+ }
314
+ // ── Auto Context Bundle ───────────────────────────────────────────────
315
+ async function handleAutoContextBundle(args) {
316
+ const filePath = args.filePath;
317
+ if (!filePath)
318
+ throw new Error("filePath is required");
319
+ const workspaceRoot = process.cwd();
320
+ try {
321
+ const result = autoContextBundle(filePath, workspaceRoot);
322
+ const lines = [
323
+ `# Auto Context: ${result.filePath}`,
324
+ `**Hash:** ${result.fingerprint} | **Tokens:** ~${result.tokenEstimate}`,
325
+ "",
326
+ ];
327
+ if (result.imports.length > 0) {
328
+ const localImps = result.imports.filter(i => i.isLocal);
329
+ const extImps = result.imports.filter(i => !i.isLocal);
330
+ if (localImps.length > 0)
331
+ lines.push(`**Local imports:** ${localImps.map(i => `${i.symbols.join(', ')} from ${i.source}`).join('; ')}`);
332
+ if (extImps.length > 0)
333
+ lines.push(`**External:** ${extImps.map(i => i.source.split('/')[0]).join(', ')}`);
334
+ lines.push("");
335
+ }
336
+ if (result.importedBy.length > 0) {
337
+ lines.push(`**Imported by:** ${result.importedBy.join(', ')}`);
338
+ lines.push("");
339
+ }
340
+ if (result.schemaTypes) {
341
+ lines.push(`## Types\n\`\`\`typescript\n${result.schemaTypes}\n\`\`\`\n`);
342
+ }
343
+ if (result.telepathicHints.length > 0) {
344
+ lines.push("## Relevant Brain Memories");
345
+ for (const h of result.telepathicHints) {
346
+ lines.push(`- **${h.query}:** ${h.response.slice(0, 200)}`);
347
+ }
348
+ lines.push("");
349
+ }
350
+ lines.push(`## Content\n${result.content}`);
351
+ return { content: [{ type: "text", text: lines.join("\n") }] };
352
+ }
353
+ catch (e) {
354
+ logError("auto_context_bundle", e);
355
+ return { content: [{ type: "text", text: `Auto context bundle failed: ${e.message}` }] };
356
+ }
357
+ }
358
+ // ── Repeat Guard ──────────────────────────────────────────────────────
359
+ async function handleRepeatGuard(args) {
360
+ const draftOutput = args.draftOutput;
361
+ const threshold = args.threshold || 0.75;
362
+ if (!draftOutput)
363
+ throw new Error("draftOutput is required");
364
+ const workspaceRoot = process.cwd();
365
+ try {
366
+ const result = checkRepeat(draftOutput, workspaceRoot, threshold);
367
+ recordOutput(draftOutput, workspaceRoot);
368
+ const icon = result.isRepeat ? '⚠️' : '✅';
369
+ const lines = [
370
+ `${icon} Repeat Guard`,
371
+ `**Similarity:** ${Math.round(result.similarity * 100)}% | **Threshold:** ${Math.round(threshold * 100)}%`,
372
+ `**Verdict:** ${result.isRepeat ? 'REPETITIVE' : 'OK'}`,
373
+ `**Note:** ${result.suggestion}`,
374
+ ];
375
+ if (result.previousOutput) {
376
+ lines.push(`\n**Previous output preview:** ${result.previousOutput}`);
377
+ }
378
+ return { content: [{ type: "text", text: lines.join("\n") }] };
379
+ }
380
+ catch (e) {
381
+ logError("repeat_guard", e);
382
+ return { content: [{ type: "text", text: `Repeat guard failed: ${e.message}` }] };
383
+ }
384
+ }
385
+ // ── Conversation Checkpoint ───────────────────────────────────────────
386
+ async function handleConversationCheckpoint(args) {
387
+ const action = args.action || 'load';
388
+ const workspaceRoot = process.cwd();
389
+ try {
390
+ if (action === 'load') {
391
+ const cp = loadLatestCheckpoint(workspaceRoot);
392
+ if (!cp) {
393
+ return { content: [{ type: "text", text: 'No checkpoint found. Starting fresh session.' }] };
394
+ }
395
+ const age = Math.floor((Date.now() - cp.timestamp) / 60000);
396
+ const lines = [
397
+ `# Session Checkpoint (${age}min ago)`,
398
+ `**Summary:** ${cp.summary}`,
399
+ `**Files modified:** ${cp.filesModified.length}`,
400
+ `**Decisions:** ${cp.decisionsMade.length}`,
401
+ `**Bugs resolved:** ${cp.bugsResolved.length}`,
402
+ `**Pending tasks:** ${cp.tasksPending.length}`,
403
+ `**Token estimate:** ~${cp.tokenEstimate}`,
404
+ ];
405
+ if (cp.tasksPending.length > 0) {
406
+ lines.push('\n## Pending Tasks');
407
+ for (const t of cp.tasksPending)
408
+ lines.push(`- ${t}`);
409
+ }
410
+ return { content: [{ type: "text", text: lines.join("\n") }] };
411
+ }
412
+ if (action === 'save') {
413
+ const filesModified = args.filesModified || [];
414
+ const decisionsMade = args.decisionsMade || [];
415
+ const bugsResolved = args.bugsResolved || [];
416
+ const tasksPending = args.tasksPending || [];
417
+ const summary = buildCheckpointSummary(filesModified, decisionsMade, bugsResolved, tasksPending);
418
+ const cp = saveCheckpoint({ projectPath: workspaceRoot, filesModified, decisionsMade, bugsResolved, tasksPending, summary }, workspaceRoot);
419
+ return { content: [{ type: "text", text: `Checkpoint saved (${cp.tokenEstimate} tokens estimated).` }] };
420
+ }
421
+ if (action === 'summary') {
422
+ const cp = loadLatestCheckpoint(workspaceRoot);
423
+ return { content: [{ type: "text", text: cp ? cp.summary : 'No checkpoint available.' }] };
424
+ }
425
+ return { content: [{ type: "text", text: `Unknown action: ${action}. Use 'save', 'load', or 'summary'.` }] };
426
+ }
427
+ catch (e) {
428
+ logError("conversation_checkpoint", e);
429
+ return { content: [{ type: "text", text: `Checkpoint failed: ${e.message}` }] };
430
+ }
431
+ }
432
+ // ── Test Autofix Interceptor ──────────────────────────────────────────
433
+ async function handleTestAutofixInterceptor(args) {
434
+ const command = args.command || 'npm test';
435
+ const workspaceRoot = process.cwd();
436
+ try {
437
+ const result = runTestAutofix(command, workspaceRoot);
438
+ const lines = [
439
+ `# Test Results: ${result.passed}/${result.totalTests} passed, ${result.failed} failed`,
440
+ ];
441
+ if (result.failures.length > 0) {
442
+ lines.push(`\n## ${result.failures.length} Failure(s) (${result.autoFixAvailable} with brain fix)\n`);
443
+ for (const f of result.failures) {
444
+ lines.push(`### ${f.testName}${f.file ? ` (${f.file})` : ''}`);
445
+ lines.push(`\`\`\`\n${f.error.slice(0, 300)}\n\`\`\``);
446
+ if (f.brainHit && f.suggestedFix) {
447
+ lines.push(`**Suggested fix (from Brain):** ${f.suggestedFix.slice(0, 400)}`);
448
+ }
449
+ else {
450
+ lines.push('**Brain:** No matching fix found.');
451
+ }
452
+ lines.push('');
453
+ }
454
+ }
455
+ return { content: [{ type: "text", text: lines.join("\n") }] };
456
+ }
457
+ catch (e) {
458
+ logError("test_autofix_interceptor", e);
459
+ return { content: [{ type: "text", text: `Test autofix failed: ${e.message}` }] };
460
+ }
461
+ }
462
+ // ── Prompt Pattern Cache ──────────────────────────────────────────────
463
+ async function handlePromptPatternCache(args) {
464
+ const action = args.action || 'find';
465
+ const query = args.query || '';
466
+ const template = args.template || '';
467
+ const tokensSaved = args.tokensSaved || 0;
468
+ const workspaceRoot = process.cwd();
469
+ try {
470
+ if (action === 'find') {
471
+ if (!query)
472
+ throw new Error("query is required for 'find'");
473
+ const pattern = findPattern(query, workspaceRoot);
474
+ if (pattern) {
475
+ return { content: [{ type: "text", text: `Pattern found (hit #${pattern.hitCount}):\n\n**Keywords:** ${pattern.keywords.join(', ')}\n**Template:**\n${pattern.template}\n\n**Avg tokens saved:** ${pattern.avgTokensSaved}` }] };
476
+ }
477
+ return { content: [{ type: "text", text: 'No matching pattern found. Consider storing one with action "store".' }] };
478
+ }
479
+ if (action === 'store') {
480
+ if (!query || !template)
481
+ throw new Error("query and template are required for 'store'");
482
+ const pattern = storePattern(query, template, tokensSaved, workspaceRoot);
483
+ return { content: [{ type: "text", text: `Pattern stored (id: ${pattern.id}). Keywords: ${pattern.keywords.join(', ')}` }] };
484
+ }
485
+ if (action === 'stats') {
486
+ const stats = getPatternStats(workspaceRoot);
487
+ const lines = [`# Prompt Pattern Cache: ${stats.totalPatterns} patterns\n`];
488
+ if (stats.topPatterns.length > 0) {
489
+ lines.push('## Top Patterns');
490
+ for (const p of stats.topPatterns) {
491
+ lines.push(`- **${p.id}**: hits=${p.hitCount}, saved=${p.avgTokensSaved}tok, kw=[${p.keywords.slice(0, 5).join(', ')}]`);
492
+ }
493
+ }
494
+ return { content: [{ type: "text", text: lines.join("\n") }] };
495
+ }
496
+ return { content: [{ type: "text", text: `Unknown action: ${action}. Use 'find', 'store', or 'stats'.` }] };
497
+ }
498
+ catch (e) {
499
+ logError("prompt_pattern_cache", e);
500
+ return { content: [{ type: "text", text: `Prompt pattern cache failed: ${e.message}` }] };
501
+ }
502
+ }
503
+ export const DEV_UTILS_TOOL_HANDLERS = {
504
+ file_fingerprint: handleFileFingerprint,
505
+ git_blame_heat: handleGitBlameHeat,
506
+ type_coverage_report: handleTypeCoverageReport,
507
+ import_tree_context: handleImportTreeContext,
508
+ read_token_budgeted: handleReadTokenBudgeted,
509
+ bulk_file_digest: handleBulkFileDigest,
510
+ auto_context_bundle: handleAutoContextBundle,
511
+ repeat_guard: handleRepeatGuard,
512
+ conversation_checkpoint: handleConversationCheckpoint,
513
+ test_autofix_interceptor: handleTestAutofixInterceptor,
514
+ prompt_pattern_cache: handlePromptPatternCache,
515
+ };
516
+ //# sourceMappingURL=dev-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-utils.js","sourceRoot":"","sources":["../../../../src/mcp/tools/dev-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Small standalone zero-LLM dev tools: schema_extract, changelog_auto, spec_to_stub,
3
+ * env_snapshot, migration_tracer, multi_file_patch, file_intent_index. Split out of
4
+ * ../tools.ts (see that file's history for why) — pure relocation, no behavior change.
5
+ */
6
+ import type { ToolDefinition, ToolHandler } from "../toolTypes.js";
7
+ export declare const DEVTOOLS_TOOL_DEFINITIONS: ToolDefinition[];
8
+ export declare const DEVTOOLS_TOOL_HANDLERS: Record<string, ToolHandler>;
9
+ //# sourceMappingURL=devtools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/devtools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhE,eAAO,MAAM,yBAAyB,EAAE,cAAc,EA6FrD,CAAC;AAkTF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAQ9D,CAAC"}