@nxuss/lemma 1.39.0 → 1.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (383) hide show
  1. package/README.md +45 -14
  2. package/bin/brain-ingest.js +41 -0
  3. package/bin/init.js +92 -92
  4. package/bin/postinstall.js +58 -4
  5. package/dashboard/dist/assets/index-Ca05LJvs.js +453 -0
  6. package/dashboard/dist/assets/{index-DNTQXLER.css → index-DdEVyDRj.css} +1 -1
  7. package/dashboard/dist/index.html +2 -2
  8. package/dist/cjs/cli/hostHooks.d.ts +14 -1
  9. package/dist/cjs/cli/hostHooks.d.ts.map +1 -1
  10. package/dist/cjs/cli/hostHooks.js +53 -6
  11. package/dist/cjs/cli/hostHooks.js.map +1 -1
  12. package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
  13. package/dist/cjs/cli/lemma-proxy.js +29 -10
  14. package/dist/cjs/cli/lemma-proxy.js.map +1 -1
  15. package/dist/cjs/contracts/evidence.d.ts +8 -1
  16. package/dist/cjs/contracts/evidence.d.ts.map +1 -1
  17. package/dist/cjs/mcp/cognitiveMap.d.ts.map +1 -1
  18. package/dist/cjs/mcp/cognitiveMap.js +6 -2
  19. package/dist/cjs/mcp/cognitiveMap.js.map +1 -1
  20. package/dist/cjs/mcp/index.js +21 -0
  21. package/dist/cjs/mcp/index.js.map +1 -1
  22. package/dist/cjs/mcp/prompts.d.ts +1 -1
  23. package/dist/cjs/mcp/prompts.d.ts.map +1 -1
  24. package/dist/cjs/mcp/prompts.js +6 -16
  25. package/dist/cjs/mcp/prompts.js.map +1 -1
  26. package/dist/cjs/mcp/tool-profiles.d.ts.map +1 -1
  27. package/dist/cjs/mcp/tool-profiles.js +8 -4
  28. package/dist/cjs/mcp/tool-profiles.js.map +1 -1
  29. package/dist/cjs/mcp/tools/context-tools.d.ts.map +1 -1
  30. package/dist/cjs/mcp/tools/context-tools.js +21 -17
  31. package/dist/cjs/mcp/tools/context-tools.js.map +1 -1
  32. package/dist/cjs/mcp/tools/devtools.d.ts.map +1 -1
  33. package/dist/cjs/mcp/tools/devtools.js +11 -1
  34. package/dist/cjs/mcp/tools/devtools.js.map +1 -1
  35. package/dist/cjs/mcp/tools/memory.d.ts.map +1 -1
  36. package/dist/cjs/mcp/tools/memory.js +82 -18
  37. package/dist/cjs/mcp/tools/memory.js.map +1 -1
  38. package/dist/cjs/mcp/tools/refactor.d.ts.map +1 -1
  39. package/dist/cjs/mcp/tools/refactor.js +129 -32
  40. package/dist/cjs/mcp/tools/refactor.js.map +1 -1
  41. package/dist/cjs/mcp/tools/workspace.d.ts.map +1 -1
  42. package/dist/cjs/mcp/tools/workspace.js +192 -49
  43. package/dist/cjs/mcp/tools/workspace.js.map +1 -1
  44. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  45. package/dist/cjs/mcp/tools.js +95 -34
  46. package/dist/cjs/mcp/tools.js.map +1 -1
  47. package/dist/cjs/mcp/utils.d.ts.map +1 -1
  48. package/dist/cjs/mcp/utils.js +6 -1
  49. package/dist/cjs/mcp/utils.js.map +1 -1
  50. package/dist/cjs/mcp/workspaceShared.d.ts.map +1 -1
  51. package/dist/cjs/mcp/workspaceShared.js +14 -9
  52. package/dist/cjs/mcp/workspaceShared.js.map +1 -1
  53. package/dist/cjs/proxy/KeyManager.d.ts +10 -0
  54. package/dist/cjs/proxy/KeyManager.d.ts.map +1 -1
  55. package/dist/cjs/proxy/KeyManager.js +45 -8
  56. package/dist/cjs/proxy/KeyManager.js.map +1 -1
  57. package/dist/cjs/proxy/ProjectStore.d.ts.map +1 -1
  58. package/dist/cjs/proxy/ProjectStore.js +9 -6
  59. package/dist/cjs/proxy/ProjectStore.js.map +1 -1
  60. package/dist/cjs/security/SemanticScrubber.d.ts.map +1 -1
  61. package/dist/cjs/security/SemanticScrubber.js +19 -1
  62. package/dist/cjs/security/SemanticScrubber.js.map +1 -1
  63. package/dist/cjs/subconscious/HostRecall.d.ts +7 -5
  64. package/dist/cjs/subconscious/HostRecall.d.ts.map +1 -1
  65. package/dist/cjs/subconscious/HostRecall.js +130 -18
  66. package/dist/cjs/subconscious/HostRecall.js.map +1 -1
  67. package/dist/cjs/subconscious/NarrowEvidence.d.ts +6 -0
  68. package/dist/cjs/subconscious/NarrowEvidence.d.ts.map +1 -1
  69. package/dist/cjs/subconscious/NarrowEvidence.js +32 -47
  70. package/dist/cjs/subconscious/NarrowEvidence.js.map +1 -1
  71. package/dist/cjs/subconscious/TheBrainV2.d.ts +17 -1
  72. package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
  73. package/dist/cjs/subconscious/TheBrainV2.js +101 -20
  74. package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
  75. package/dist/cjs/subconscious/freshness/LocalFsResolver.d.ts +3 -0
  76. package/dist/cjs/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
  77. package/dist/cjs/subconscious/freshness/LocalFsResolver.js +46 -13
  78. package/dist/cjs/subconscious/freshness/LocalFsResolver.js.map +1 -1
  79. package/dist/cjs/utils/AffectedTests.d.ts +1 -5
  80. package/dist/cjs/utils/AffectedTests.d.ts.map +1 -1
  81. package/dist/cjs/utils/AffectedTests.js +5 -37
  82. package/dist/cjs/utils/AffectedTests.js.map +1 -1
  83. package/dist/cjs/utils/AtomicFile.d.ts +14 -0
  84. package/dist/cjs/utils/AtomicFile.d.ts.map +1 -0
  85. package/dist/cjs/utils/AtomicFile.js +44 -0
  86. package/dist/cjs/utils/AtomicFile.js.map +1 -0
  87. package/dist/cjs/utils/AutoContextBundle.js +1 -1
  88. package/dist/cjs/utils/AutoContextBundle.js.map +1 -1
  89. package/dist/cjs/utils/BulkFileDigest.js +1 -1
  90. package/dist/cjs/utils/BulkFileDigest.js.map +1 -1
  91. package/dist/cjs/utils/CommandOutputDistiller.d.ts +10 -0
  92. package/dist/cjs/utils/CommandOutputDistiller.d.ts.map +1 -1
  93. package/dist/cjs/utils/CommandOutputDistiller.js +40 -2
  94. package/dist/cjs/utils/CommandOutputDistiller.js.map +1 -1
  95. package/dist/cjs/utils/ContextSqueezer.d.ts +49 -5
  96. package/dist/cjs/utils/ContextSqueezer.d.ts.map +1 -1
  97. package/dist/cjs/utils/ContextSqueezer.js +245 -24
  98. package/dist/cjs/utils/ContextSqueezer.js.map +1 -1
  99. package/dist/cjs/utils/FileLock.d.ts +2 -0
  100. package/dist/cjs/utils/FileLock.d.ts.map +1 -0
  101. package/dist/cjs/utils/FileLock.js +32 -0
  102. package/dist/cjs/utils/FileLock.js.map +1 -0
  103. package/dist/cjs/utils/FileOutline.d.ts +1 -1
  104. package/dist/cjs/utils/FileOutline.d.ts.map +1 -1
  105. package/dist/cjs/utils/FileOutline.js +5 -1
  106. package/dist/cjs/utils/FileOutline.js.map +1 -1
  107. package/dist/cjs/utils/FixCapture.d.ts.map +1 -1
  108. package/dist/cjs/utils/FixCapture.js +60 -3
  109. package/dist/cjs/utils/FixCapture.js.map +1 -1
  110. package/dist/cjs/utils/GitChanges.d.ts +11 -0
  111. package/dist/cjs/utils/GitChanges.d.ts.map +1 -0
  112. package/dist/cjs/utils/GitChanges.js +44 -0
  113. package/dist/cjs/utils/GitChanges.js.map +1 -0
  114. package/dist/cjs/utils/JsonKeys.d.ts +17 -0
  115. package/dist/cjs/utils/JsonKeys.d.ts.map +1 -0
  116. package/dist/cjs/utils/JsonKeys.js +75 -0
  117. package/dist/cjs/utils/JsonKeys.js.map +1 -0
  118. package/dist/cjs/utils/LineNumberMap.d.ts.map +1 -1
  119. package/dist/cjs/utils/LineNumberMap.js +27 -0
  120. package/dist/cjs/utils/LineNumberMap.js.map +1 -1
  121. package/dist/cjs/utils/LocalExclude.d.ts +3 -0
  122. package/dist/cjs/utils/LocalExclude.d.ts.map +1 -0
  123. package/dist/cjs/utils/LocalExclude.js +68 -0
  124. package/dist/cjs/utils/LocalExclude.js.map +1 -0
  125. package/dist/cjs/utils/OtherLanguageSymbols.d.ts.map +1 -1
  126. package/dist/cjs/utils/OtherLanguageSymbols.js +0 -7
  127. package/dist/cjs/utils/OtherLanguageSymbols.js.map +1 -1
  128. package/dist/cjs/utils/OutputDelta.d.ts +14 -2
  129. package/dist/cjs/utils/OutputDelta.d.ts.map +1 -1
  130. package/dist/cjs/utils/OutputDelta.js +22 -15
  131. package/dist/cjs/utils/OutputDelta.js.map +1 -1
  132. package/dist/cjs/utils/PatchMatcher.d.ts.map +1 -1
  133. package/dist/cjs/utils/PatchMatcher.js +26 -0
  134. package/dist/cjs/utils/PatchMatcher.js.map +1 -1
  135. package/dist/cjs/utils/ProLicense.d.ts +2 -0
  136. package/dist/cjs/utils/ProLicense.d.ts.map +1 -0
  137. package/dist/cjs/utils/ProLicense.js +31 -0
  138. package/dist/cjs/utils/ProLicense.js.map +1 -0
  139. package/dist/cjs/utils/RevivalThrottle.d.ts +9 -0
  140. package/dist/cjs/utils/RevivalThrottle.d.ts.map +1 -0
  141. package/dist/cjs/utils/RevivalThrottle.js +25 -0
  142. package/dist/cjs/utils/RevivalThrottle.js.map +1 -0
  143. package/dist/cjs/utils/RoiLedger.d.ts.map +1 -1
  144. package/dist/cjs/utils/RoiLedger.js +7 -3
  145. package/dist/cjs/utils/RoiLedger.js.map +1 -1
  146. package/dist/cjs/utils/SavingsLedger.d.ts +58 -18
  147. package/dist/cjs/utils/SavingsLedger.d.ts.map +1 -1
  148. package/dist/cjs/utils/SavingsLedger.js +333 -177
  149. package/dist/cjs/utils/SavingsLedger.js.map +1 -1
  150. package/dist/cjs/utils/SearchCache.d.ts +2 -2
  151. package/dist/cjs/utils/SearchCache.d.ts.map +1 -1
  152. package/dist/cjs/utils/SearchCache.js +8 -6
  153. package/dist/cjs/utils/SearchCache.js.map +1 -1
  154. package/dist/cjs/utils/SessionCapture.d.ts +65 -0
  155. package/dist/cjs/utils/SessionCapture.d.ts.map +1 -0
  156. package/dist/cjs/utils/SessionCapture.js +339 -0
  157. package/dist/cjs/utils/SessionCapture.js.map +1 -0
  158. package/dist/cjs/utils/SharedLedgerStore.d.ts.map +1 -1
  159. package/dist/cjs/utils/SharedLedgerStore.js +2 -1
  160. package/dist/cjs/utils/SharedLedgerStore.js.map +1 -1
  161. package/dist/cjs/utils/StaleDelta.d.ts +2 -0
  162. package/dist/cjs/utils/StaleDelta.d.ts.map +1 -0
  163. package/dist/cjs/utils/StaleDelta.js +60 -0
  164. package/dist/cjs/utils/StaleDelta.js.map +1 -0
  165. package/dist/cjs/utils/SurgicalASTInsert.d.ts.map +1 -1
  166. package/dist/cjs/utils/SurgicalASTInsert.js +2 -1
  167. package/dist/cjs/utils/SurgicalASTInsert.js.map +1 -1
  168. package/dist/cjs/utils/SymbolSurgicalContext.d.ts +2 -2
  169. package/dist/cjs/utils/SymbolSurgicalContext.d.ts.map +1 -1
  170. package/dist/cjs/utils/SymbolSurgicalContext.js +29 -62
  171. package/dist/cjs/utils/SymbolSurgicalContext.js.map +1 -1
  172. package/dist/cjs/utils/TokenBudgetedReader.d.ts.map +1 -1
  173. package/dist/cjs/utils/TokenBudgetedReader.js +56 -15
  174. package/dist/cjs/utils/TokenBudgetedReader.js.map +1 -1
  175. package/dist/cjs/utils/Utf8Guard.d.ts +23 -0
  176. package/dist/cjs/utils/Utf8Guard.d.ts.map +1 -0
  177. package/dist/cjs/utils/Utf8Guard.js +81 -0
  178. package/dist/cjs/utils/Utf8Guard.js.map +1 -0
  179. package/dist/cjs/utils/WorkspaceSearch.d.ts +8 -1
  180. package/dist/cjs/utils/WorkspaceSearch.d.ts.map +1 -1
  181. package/dist/cjs/utils/WorkspaceSearch.js +101 -13
  182. package/dist/cjs/utils/WorkspaceSearch.js.map +1 -1
  183. package/dist/cjs/utils/reportSavings.d.ts +3 -0
  184. package/dist/cjs/utils/reportSavings.d.ts.map +1 -1
  185. package/dist/cjs/utils/reportSavings.js +44 -5
  186. package/dist/cjs/utils/reportSavings.js.map +1 -1
  187. package/dist/cjs/utils/tsLoader.d.ts +5 -0
  188. package/dist/cjs/utils/tsLoader.d.ts.map +1 -0
  189. package/dist/cjs/utils/tsLoader.js +15 -0
  190. package/dist/cjs/utils/tsLoader.js.map +1 -0
  191. package/dist/esm/cli/hostHooks.d.ts +14 -1
  192. package/dist/esm/cli/hostHooks.d.ts.map +1 -1
  193. package/dist/esm/cli/hostHooks.js +52 -5
  194. package/dist/esm/cli/hostHooks.js.map +1 -1
  195. package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
  196. package/dist/esm/cli/lemma-proxy.js +30 -11
  197. package/dist/esm/cli/lemma-proxy.js.map +1 -1
  198. package/dist/esm/contracts/evidence.d.ts +8 -1
  199. package/dist/esm/contracts/evidence.d.ts.map +1 -1
  200. package/dist/esm/mcp/cognitiveMap.d.ts.map +1 -1
  201. package/dist/esm/mcp/cognitiveMap.js +6 -2
  202. package/dist/esm/mcp/cognitiveMap.js.map +1 -1
  203. package/dist/esm/mcp/index.js +22 -1
  204. package/dist/esm/mcp/index.js.map +1 -1
  205. package/dist/esm/mcp/prompts.d.ts +1 -1
  206. package/dist/esm/mcp/prompts.d.ts.map +1 -1
  207. package/dist/esm/mcp/prompts.js +6 -16
  208. package/dist/esm/mcp/prompts.js.map +1 -1
  209. package/dist/esm/mcp/tool-profiles.d.ts.map +1 -1
  210. package/dist/esm/mcp/tool-profiles.js +8 -4
  211. package/dist/esm/mcp/tool-profiles.js.map +1 -1
  212. package/dist/esm/mcp/tools/context-tools.d.ts.map +1 -1
  213. package/dist/esm/mcp/tools/context-tools.js +21 -17
  214. package/dist/esm/mcp/tools/context-tools.js.map +1 -1
  215. package/dist/esm/mcp/tools/devtools.d.ts.map +1 -1
  216. package/dist/esm/mcp/tools/devtools.js +11 -1
  217. package/dist/esm/mcp/tools/devtools.js.map +1 -1
  218. package/dist/esm/mcp/tools/memory.d.ts.map +1 -1
  219. package/dist/esm/mcp/tools/memory.js +83 -19
  220. package/dist/esm/mcp/tools/memory.js.map +1 -1
  221. package/dist/esm/mcp/tools/refactor.d.ts.map +1 -1
  222. package/dist/esm/mcp/tools/refactor.js +129 -32
  223. package/dist/esm/mcp/tools/refactor.js.map +1 -1
  224. package/dist/esm/mcp/tools/workspace.d.ts.map +1 -1
  225. package/dist/esm/mcp/tools/workspace.js +193 -50
  226. package/dist/esm/mcp/tools/workspace.js.map +1 -1
  227. package/dist/esm/mcp/tools.d.ts.map +1 -1
  228. package/dist/esm/mcp/tools.js +94 -33
  229. package/dist/esm/mcp/tools.js.map +1 -1
  230. package/dist/esm/mcp/utils.d.ts.map +1 -1
  231. package/dist/esm/mcp/utils.js +6 -1
  232. package/dist/esm/mcp/utils.js.map +1 -1
  233. package/dist/esm/mcp/workspaceShared.d.ts.map +1 -1
  234. package/dist/esm/mcp/workspaceShared.js +14 -9
  235. package/dist/esm/mcp/workspaceShared.js.map +1 -1
  236. package/dist/esm/proxy/KeyManager.d.ts +10 -0
  237. package/dist/esm/proxy/KeyManager.d.ts.map +1 -1
  238. package/dist/esm/proxy/KeyManager.js +43 -6
  239. package/dist/esm/proxy/KeyManager.js.map +1 -1
  240. package/dist/esm/proxy/ProjectStore.d.ts.map +1 -1
  241. package/dist/esm/proxy/ProjectStore.js +9 -6
  242. package/dist/esm/proxy/ProjectStore.js.map +1 -1
  243. package/dist/esm/security/SemanticScrubber.d.ts.map +1 -1
  244. package/dist/esm/security/SemanticScrubber.js +19 -1
  245. package/dist/esm/security/SemanticScrubber.js.map +1 -1
  246. package/dist/esm/subconscious/HostRecall.d.ts +7 -5
  247. package/dist/esm/subconscious/HostRecall.d.ts.map +1 -1
  248. package/dist/esm/subconscious/HostRecall.js +130 -19
  249. package/dist/esm/subconscious/HostRecall.js.map +1 -1
  250. package/dist/esm/subconscious/NarrowEvidence.d.ts +6 -0
  251. package/dist/esm/subconscious/NarrowEvidence.d.ts.map +1 -1
  252. package/dist/esm/subconscious/NarrowEvidence.js +24 -7
  253. package/dist/esm/subconscious/NarrowEvidence.js.map +1 -1
  254. package/dist/esm/subconscious/TheBrainV2.d.ts +17 -1
  255. package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
  256. package/dist/esm/subconscious/TheBrainV2.js +101 -20
  257. package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
  258. package/dist/esm/subconscious/freshness/LocalFsResolver.d.ts +3 -0
  259. package/dist/esm/subconscious/freshness/LocalFsResolver.d.ts.map +1 -1
  260. package/dist/esm/subconscious/freshness/LocalFsResolver.js +46 -13
  261. package/dist/esm/subconscious/freshness/LocalFsResolver.js.map +1 -1
  262. package/dist/esm/utils/AffectedTests.d.ts +1 -5
  263. package/dist/esm/utils/AffectedTests.d.ts.map +1 -1
  264. package/dist/esm/utils/AffectedTests.js +2 -35
  265. package/dist/esm/utils/AffectedTests.js.map +1 -1
  266. package/dist/esm/utils/AtomicFile.d.ts +14 -0
  267. package/dist/esm/utils/AtomicFile.d.ts.map +1 -0
  268. package/dist/esm/utils/AtomicFile.js +37 -0
  269. package/dist/esm/utils/AtomicFile.js.map +1 -0
  270. package/dist/esm/utils/AutoContextBundle.js +1 -1
  271. package/dist/esm/utils/AutoContextBundle.js.map +1 -1
  272. package/dist/esm/utils/BulkFileDigest.js +1 -1
  273. package/dist/esm/utils/BulkFileDigest.js.map +1 -1
  274. package/dist/esm/utils/CommandOutputDistiller.d.ts +10 -0
  275. package/dist/esm/utils/CommandOutputDistiller.d.ts.map +1 -1
  276. package/dist/esm/utils/CommandOutputDistiller.js +39 -2
  277. package/dist/esm/utils/CommandOutputDistiller.js.map +1 -1
  278. package/dist/esm/utils/ContextSqueezer.d.ts +49 -5
  279. package/dist/esm/utils/ContextSqueezer.d.ts.map +1 -1
  280. package/dist/esm/utils/ContextSqueezer.js +242 -24
  281. package/dist/esm/utils/ContextSqueezer.js.map +1 -1
  282. package/dist/esm/utils/FileLock.d.ts +2 -0
  283. package/dist/esm/utils/FileLock.d.ts.map +1 -0
  284. package/dist/esm/utils/FileLock.js +29 -0
  285. package/dist/esm/utils/FileLock.js.map +1 -0
  286. package/dist/esm/utils/FileOutline.d.ts +1 -1
  287. package/dist/esm/utils/FileOutline.d.ts.map +1 -1
  288. package/dist/esm/utils/FileOutline.js +5 -1
  289. package/dist/esm/utils/FileOutline.js.map +1 -1
  290. package/dist/esm/utils/FixCapture.d.ts.map +1 -1
  291. package/dist/esm/utils/FixCapture.js +59 -2
  292. package/dist/esm/utils/FixCapture.js.map +1 -1
  293. package/dist/esm/utils/GitChanges.d.ts +11 -0
  294. package/dist/esm/utils/GitChanges.d.ts.map +1 -0
  295. package/dist/esm/utils/GitChanges.js +41 -0
  296. package/dist/esm/utils/GitChanges.js.map +1 -0
  297. package/dist/esm/utils/JsonKeys.d.ts +17 -0
  298. package/dist/esm/utils/JsonKeys.d.ts.map +1 -0
  299. package/dist/esm/utils/JsonKeys.js +71 -0
  300. package/dist/esm/utils/JsonKeys.js.map +1 -0
  301. package/dist/esm/utils/LineNumberMap.d.ts.map +1 -1
  302. package/dist/esm/utils/LineNumberMap.js +27 -0
  303. package/dist/esm/utils/LineNumberMap.js.map +1 -1
  304. package/dist/esm/utils/LocalExclude.d.ts +3 -0
  305. package/dist/esm/utils/LocalExclude.d.ts.map +1 -0
  306. package/dist/esm/utils/LocalExclude.js +62 -0
  307. package/dist/esm/utils/LocalExclude.js.map +1 -0
  308. package/dist/esm/utils/OtherLanguageSymbols.d.ts.map +1 -1
  309. package/dist/esm/utils/OtherLanguageSymbols.js +0 -7
  310. package/dist/esm/utils/OtherLanguageSymbols.js.map +1 -1
  311. package/dist/esm/utils/OutputDelta.d.ts +14 -2
  312. package/dist/esm/utils/OutputDelta.d.ts.map +1 -1
  313. package/dist/esm/utils/OutputDelta.js +22 -15
  314. package/dist/esm/utils/OutputDelta.js.map +1 -1
  315. package/dist/esm/utils/PatchMatcher.d.ts.map +1 -1
  316. package/dist/esm/utils/PatchMatcher.js +26 -0
  317. package/dist/esm/utils/PatchMatcher.js.map +1 -1
  318. package/dist/esm/utils/ProLicense.d.ts +2 -0
  319. package/dist/esm/utils/ProLicense.d.ts.map +1 -0
  320. package/dist/esm/utils/ProLicense.js +25 -0
  321. package/dist/esm/utils/ProLicense.js.map +1 -0
  322. package/dist/esm/utils/RevivalThrottle.d.ts +9 -0
  323. package/dist/esm/utils/RevivalThrottle.d.ts.map +1 -0
  324. package/dist/esm/utils/RevivalThrottle.js +22 -0
  325. package/dist/esm/utils/RevivalThrottle.js.map +1 -0
  326. package/dist/esm/utils/RoiLedger.d.ts.map +1 -1
  327. package/dist/esm/utils/RoiLedger.js +7 -3
  328. package/dist/esm/utils/RoiLedger.js.map +1 -1
  329. package/dist/esm/utils/SavingsLedger.d.ts +58 -18
  330. package/dist/esm/utils/SavingsLedger.d.ts.map +1 -1
  331. package/dist/esm/utils/SavingsLedger.js +333 -177
  332. package/dist/esm/utils/SavingsLedger.js.map +1 -1
  333. package/dist/esm/utils/SearchCache.d.ts +2 -2
  334. package/dist/esm/utils/SearchCache.d.ts.map +1 -1
  335. package/dist/esm/utils/SearchCache.js +8 -6
  336. package/dist/esm/utils/SearchCache.js.map +1 -1
  337. package/dist/esm/utils/SessionCapture.d.ts +65 -0
  338. package/dist/esm/utils/SessionCapture.d.ts.map +1 -0
  339. package/dist/esm/utils/SessionCapture.js +328 -0
  340. package/dist/esm/utils/SessionCapture.js.map +1 -0
  341. package/dist/esm/utils/SharedLedgerStore.d.ts.map +1 -1
  342. package/dist/esm/utils/SharedLedgerStore.js +2 -1
  343. package/dist/esm/utils/SharedLedgerStore.js.map +1 -1
  344. package/dist/esm/utils/StaleDelta.d.ts +2 -0
  345. package/dist/esm/utils/StaleDelta.d.ts.map +1 -0
  346. package/dist/esm/utils/StaleDelta.js +54 -0
  347. package/dist/esm/utils/StaleDelta.js.map +1 -0
  348. package/dist/esm/utils/SurgicalASTInsert.d.ts.map +1 -1
  349. package/dist/esm/utils/SurgicalASTInsert.js +2 -1
  350. package/dist/esm/utils/SurgicalASTInsert.js.map +1 -1
  351. package/dist/esm/utils/SymbolSurgicalContext.d.ts +2 -2
  352. package/dist/esm/utils/SymbolSurgicalContext.d.ts.map +1 -1
  353. package/dist/esm/utils/SymbolSurgicalContext.js +1 -1
  354. package/dist/esm/utils/SymbolSurgicalContext.js.map +1 -1
  355. package/dist/esm/utils/TokenBudgetedReader.d.ts.map +1 -1
  356. package/dist/esm/utils/TokenBudgetedReader.js +56 -15
  357. package/dist/esm/utils/TokenBudgetedReader.js.map +1 -1
  358. package/dist/esm/utils/Utf8Guard.d.ts +23 -0
  359. package/dist/esm/utils/Utf8Guard.d.ts.map +1 -0
  360. package/dist/esm/utils/Utf8Guard.js +74 -0
  361. package/dist/esm/utils/Utf8Guard.js.map +1 -0
  362. package/dist/esm/utils/WorkspaceSearch.d.ts +8 -1
  363. package/dist/esm/utils/WorkspaceSearch.d.ts.map +1 -1
  364. package/dist/esm/utils/WorkspaceSearch.js +100 -13
  365. package/dist/esm/utils/WorkspaceSearch.js.map +1 -1
  366. package/dist/esm/utils/reportSavings.d.ts +3 -0
  367. package/dist/esm/utils/reportSavings.d.ts.map +1 -1
  368. package/dist/esm/utils/reportSavings.js +42 -5
  369. package/dist/esm/utils/reportSavings.js.map +1 -1
  370. package/dist/esm/utils/tsLoader.d.ts +5 -0
  371. package/dist/esm/utils/tsLoader.d.ts.map +1 -0
  372. package/dist/esm/utils/tsLoader.js +13 -0
  373. package/dist/esm/utils/tsLoader.js.map +1 -0
  374. package/package.json +5 -5
  375. package/dashboard/dist/assets/index-DzL_Zu3m.js +0 -452
  376. package/dist/cjs/examples/basic-usage.d.ts +0 -12
  377. package/dist/cjs/examples/basic-usage.d.ts.map +0 -1
  378. package/dist/cjs/examples/basic-usage.js +0 -128
  379. package/dist/cjs/examples/basic-usage.js.map +0 -1
  380. package/dist/esm/examples/basic-usage.d.ts +0 -12
  381. package/dist/esm/examples/basic-usage.d.ts.map +0 -1
  382. package/dist/esm/examples/basic-usage.js +0 -126
  383. package/dist/esm/examples/basic-usage.js.map +0 -1
@@ -1,12 +1,12 @@
1
1
  import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
2
2
  import fs from "fs";
3
3
  import path from "path";
4
- import os from "os";
5
4
  import axios from "axios";
5
+ import { isProUser } from "../utils/ProLicense.js";
6
6
  import { SemanticScrubber } from "../security/SemanticScrubber.js";
7
7
  import { ComplexityRouter } from "../proxy/ComplexityRouter.js";
8
8
  import { squeezePrompt } from "../utils/ContextSqueezer.js";
9
- import { reportSavings, reportCost, takeSubstitutedChars } from "../utils/reportSavings.js";
9
+ import { reportSavings, reportCost, takeSubstitutedChars, noteConnectedClient } from "../utils/reportSavings.js";
10
10
  import { safeResolvePath, getProxyPort, logError, logWarn, estimateTokensFromResult, setMcpServerRef, getConnectedClientInfo } from "./utils.js";
11
11
  import { detectProjectName } from "../utils/ProjectIdentity.js";
12
12
  import { getBrain, deriveProjectId } from "../subconscious/TheBrainV2.js";
@@ -17,7 +17,7 @@ import { getInfraToolDefinitions, getInfraToolHandlers, INFRA_TOOL_NAMES } from
17
17
  import { resolveToolSurface, buildToolboxCatalog } from "./tool-profiles.js";
18
18
  import { recordReceiptEvent, getLedgerLength, getLastReceiptType } from "../utils/TokenReceipt.js";
19
19
  import { registerTaskHandlers, runAsTask, TASK_CAPABLE_TOOLS } from "./tasks.js";
20
- import { searchWorkspace, groupSearchResults, parseExtensionFilter } from "../utils/WorkspaceSearch.js";
20
+ import { searchWorkspace, groupSearchResults, parseExtensionFilter, compileSearchRegex } from "../utils/WorkspaceSearch.js";
21
21
  import { rankCandidates } from "../utils/LocalPrefilter.js";
22
22
  import { ledgerKey, checkOutput, recordOutput as recordLedgerOutput } from "../utils/OutputLedger.js";
23
23
  import { registerSymbolExtractor } from "../utils/SpeculativeWarmer.js";
@@ -36,35 +36,23 @@ import { DEPGRAPH_TOOL_DEFINITIONS, DEPGRAPH_TOOL_HANDLERS } from "./tools/depgr
36
36
  import { REFACTOR_TOOL_DEFINITIONS, REFACTOR_TOOL_HANDLERS } from "./tools/refactor.js";
37
37
  import { MISC_TOOL_DEFINITIONS, MISC_TOOL_HANDLERS } from "./tools/misc.js";
38
38
  // ── Pro License Gate ──────────────────────────────────────────────────────────
39
- const LICENSE_FILE = path.join(os.homedir(), '.lemma-cache', 'license.json');
40
- let _proStatusCache = null;
41
- function isProUser() {
42
- if (_proStatusCache !== null)
43
- return _proStatusCache;
44
- try {
45
- if (fs.existsSync(LICENSE_FILE)) {
46
- const data = JSON.parse(fs.readFileSync(LICENSE_FILE, 'utf8'));
47
- _proStatusCache = !!(data.isPro || data.tier === 'pro');
48
- return _proStatusCache;
49
- }
50
- }
51
- catch { }
52
- _proStatusCache = false;
53
- return false;
54
- }
39
+ /** Pro entitlement lives in utils/ProLicense so the host hooks gate on the same file. */
55
40
  const FREE_TOOLS = new Set([
56
41
  // Cache & Memory — the hook that shows instant value
57
- "smarter_cache", "state_hash_cache", "token_receipt", "search_memory", "get_memory", "store_memory", "update_memory", "downvote_memory", "verify_memory", "get_project_history",
58
- // Memory upkeep. Deleting your own memories, re-verifying them, and getting them back out
59
- // of the tool must never be behind a paywall — a user who cannot export or forget what a
42
+ "smarter_cache", "state_hash_cache", "token_receipt", "search_memory", "get_memory", "store_memory", "update_memory", "downvote_memory", "get_project_history",
43
+ // Memory upkeep. Deleting your own memories and getting them back out of the tool must never be
44
+ // behind a paywall. Pro is what keeps memories true over time: verify_memory, refresh_memory,
45
+ // brain_team (sharing with the team) and the automatic end-of-session capture (utils/SessionCapture) — a user who cannot export or forget what a
60
46
  // free tier collected does not really own it.
61
47
  // Reading your own memories back by id, and correcting them in place, belong here for the
62
48
  // same reason: a tier that can only append to a corpus it cannot read or fix is not one
63
49
  // where the user owns their own memories.
64
- "forget_memory", "refresh_memory", "brain_stats", "brain_export", "brain_import",
50
+ "forget_memory", "brain_stats", "brain_export", "brain_import",
65
51
  "brain_trash", "brain_upkeep", "brain_merge", "list_memories",
66
- // Sharing your own verified memories with your own team, through your own repo.
67
- "brain_team",
52
+ // What the host agent already does natively (run a command, search, read, patch, outline a file):
53
+ // withholding these only made the free tier worse than the agent with no Lemma at all. Measured in
54
+ // bench/huge-output and bench/memory-hard: they save no tokens, so they are not what Pro sells.
55
+ "run_workspace_command", "search_workspace", "get_ast_hologram", "apply_workspace_patch", "output_region",
68
56
  // Token optimization — shows what they're saving
69
57
  "token_budget", "squeeze_prompt", "turbosqueeze",
70
58
  // Utility — just enough to function
@@ -162,7 +150,8 @@ const toolDefinitions = [
162
150
  inputSchema: {
163
151
  type: "object",
164
152
  properties: {
165
- query: { type: "string", description: "The keyword or text pattern to search for" },
153
+ query: { type: "string", description: "The text to search for (literal unless regex is true)" },
154
+ regex: { type: "boolean", description: "Treat query as a case-insensitive JavaScript regular expression, e.g. 'foo|bar' or 'handle\\w+'. Default false: literal text.", default: false },
166
155
  extension: { type: "string", description: "Optional file extension filter, comma-separated for multiple (e.g., 'ts,tsx')" },
167
156
  maxResults: { type: "number", description: "Maximum total matches to return before truncating", default: 200 },
168
157
  dirPath: { type: "string", description: "Optional workspace-relative directory to search instead of the whole project (e.g., 'src/mcp'). Narrowing here is the cheapest way to cut a noisy result." },
@@ -173,7 +162,7 @@ const toolDefinitions = [
173
162
  {
174
163
  name: "squeeze_prompt",
175
164
  annotations: { readOnlyHint: true, idempotentHint: true, openWorldHint: false },
176
- description: "Compress code blocks, comments, and boilerplate in any prompt. Saves up to 80% tokens.",
165
+ description: "Compress code blocks, comments, and boilerplate in any prompt.",
177
166
  inputSchema: {
178
167
  type: "object",
179
168
  properties: {
@@ -401,6 +390,15 @@ export function effectiveToolName(name, args) {
401
390
  }
402
391
  return name;
403
392
  }
393
+ /** Tell the usage reporter who is connected; a host that never said, or a stub, is ignored. */
394
+ function noteClient() {
395
+ try {
396
+ noteConnectedClient(getConnectedClientInfo()?.name);
397
+ }
398
+ catch {
399
+ // Accounting must never break a tool call
400
+ }
401
+ }
404
402
  /** Connected-host label for cost attribution; "unknown" when the client never said. */
405
403
  function attributionHost() {
406
404
  try {
@@ -454,6 +452,7 @@ export function setupToolsHandlers(server, onToolCall, onFirstToolsList) {
454
452
  // overhead, so the overhead is charged here, once per process — not at connect.
455
453
  let toolsListed = false;
456
454
  server.setRequestHandler(ListToolsRequestSchema, async () => {
455
+ noteClient();
457
456
  if (!toolsListed) {
458
457
  toolsListed = true;
459
458
  try {
@@ -497,6 +496,7 @@ export function setupToolsHandlers(server, onToolCall, onFirstToolsList) {
497
496
  // Attribute wrapper-level events to the tool that actually ran (AN-18): for a
498
497
  // toolbox-dispatched call that is the inner tool, not the dispatcher.
499
498
  const attributedTool = effectiveToolName(name, (args || {}));
499
+ noteClient();
500
500
  const costHost = attributionHost();
501
501
  // ── Task-augmented call: hand off to tasks.ts instead of awaiting inline ────
502
502
  // A task-unaware client never sends `request.params.task`, so this only triggers when
@@ -711,26 +711,35 @@ export async function handleSearchWorkspace(args) {
711
711
  }
712
712
  try {
713
713
  const extensions = parseExtensionFilter(extension);
714
- const cached = getCachedSearch(workspaceRoot, query, extensions, maxResults, scope);
714
+ const useRegex = args?.regex === true;
715
+ // Compiled once up front so a bad pattern is reported even when the result would come from cache.
716
+ if (useRegex)
717
+ compileSearchRegex(query);
718
+ const cached = getCachedSearch(workspaceRoot, query, extensions, maxResults, scope, useRegex);
715
719
  // `SearchCache` spares the filesystem walk, but it still hands back the full result
716
720
  // text — and re-emitting an identical wall of matches costs exactly as many tokens as
717
721
  // producing it did. The ledger below is what turns that into a saving, so both the
718
722
  // cached and freshly-computed paths converge on one `resultText` first.
719
723
  let resultText;
724
+ // What the native grep would have printed for these same matches ("path:line:text" per hit).
725
+ // Measured on the matches, not guessed; the matches carry trimmed, snippet-capped text, so
726
+ // this under-counts native output and the saving it yields is a floor. 0 on a cache replay.
727
+ let nativeChars = 0;
720
728
  if (cached.text !== null) {
721
729
  reportSavings({ source: "cache", tokens: Math.floor(cached.text.length / 4), toolName: "search_workspace", query: query.substring(0, 100) });
722
730
  resultText = cached.text;
723
731
  }
724
732
  else {
725
- const { matches, truncated } = searchWorkspace(workspaceRoot, query, extensions, maxResults, scope);
733
+ const { matches, truncated } = searchWorkspace(workspaceRoot, query, extensions, maxResults, scope, useRegex);
726
734
  if (matches.length === 0) {
727
- resultText = `No matches found in ${scope ? `"${scope}"` : "the workspace"} for "${query}".`;
728
- setCachedSearch(query, extensions, maxResults, cached.fingerprint, resultText, scope);
735
+ resultText = `No matches found in ${scope ? `"${scope}"` : "the workspace"} for ${useRegex ? "regex " : ""}"${query}".`;
736
+ setCachedSearch(query, extensions, maxResults, cached.fingerprint, resultText, scope, useRegex);
729
737
  }
730
738
  else {
731
739
  // Opt-in: a local model ranks the matching files so the expensive model only reads
732
740
  // the ones likely to matter. It only ever reorders and truncates with disclosure —
733
741
  // and returns null on any doubt, in which case `matches` is used untouched.
742
+ nativeChars = matches.reduce((n, m) => n + m.filePath.length + String(m.line).length + m.text.length + 3, 0);
734
743
  const prefilter = await prefilterSearchMatches(query, matches);
735
744
  const grouped = groupSearchResults(prefilter.matches, truncated, undefined, workspaceRoot);
736
745
  let formatted = grouped.formatted + prefilter.note;
@@ -751,11 +760,11 @@ export async function handleSearchWorkspace(args) {
751
760
  // whose local model was unavailable, silently serving a subset as if it were the
752
761
  // whole search. Repeats are handled by the output ledger below instead.
753
762
  if (!prefilter.applied) {
754
- setCachedSearch(query, extensions, maxResults, cached.fingerprint, resultText, scope);
763
+ setCachedSearch(query, extensions, maxResults, cached.fingerprint, resultText, scope, useRegex);
755
764
  }
756
765
  }
757
766
  }
758
- const key = ledgerKey("search_workspace", { query, extension: extension ?? null, maxResults, scope, cwd: workspaceRoot });
767
+ const key = ledgerKey("search_workspace", { query, regex: useRegex, extension: extension ?? null, maxResults, scope, cwd: workspaceRoot });
759
768
  const ledger = checkOutput(key, resultText, { label: `search for "${query}"` });
760
769
  recordLedgerOutput(key, resultText);
761
770
  if (ledger.replacement) {
@@ -768,6 +777,18 @@ export async function handleSearchWorkspace(args) {
768
777
  });
769
778
  return { content: [{ type: "text", text: ledger.replacement }] };
770
779
  }
780
+ // Without this the whole result was charged as cost against a zero baseline, though the
781
+ // native grep it replaces would have filled context too. Booked only when Lemma's output is
782
+ // actually smaller, so a result that is bigger than grep's is charged in full.
783
+ if (nativeChars > resultText.length) {
784
+ reportSavings({
785
+ source: "contextSqueeze",
786
+ charsBefore: nativeChars,
787
+ charsAfter: resultText.length,
788
+ toolName: "search_workspace",
789
+ query: query.substring(0, 100),
790
+ });
791
+ }
771
792
  return {
772
793
  content: [
773
794
  {
@@ -1013,6 +1034,32 @@ async function handleTokenBudget(_args) {
1013
1034
  const spentByTool = topBy(attribution.byTool, 10);
1014
1035
  const spentByHost = topBy(attribution.byHost, 10);
1015
1036
  const spentByOrigin = topBy(attribution.byOrigin, 10);
1037
+ // Who called which tool: the cross neither byTool nor byHost can give. A split on the first "|"
1038
+ // (tool names never contain one); the overflow bucket has no pair and is reported as such.
1039
+ const spentByToolAndHost = Object.entries((attribution.byToolHost ?? {}))
1040
+ .sort(([, x], [, y]) => y.tokensSpent - x.tokensSpent)
1041
+ .slice(0, 15)
1042
+ .map(([key, s]) => {
1043
+ const cut = key.indexOf("|");
1044
+ return cut < 0
1045
+ ? { tool: key, host: "(overflow)", events: s.events, tokensSpent: s.tokensSpent }
1046
+ : { tool: key.slice(0, cut), host: key.slice(cut + 1), events: s.events, tokensSpent: s.tokensSpent };
1047
+ });
1048
+ // Savings by "<source>:<tool>". Whatever the sum leaves out of tokensSaved was recorded without
1049
+ // a tool name (older events, or the proxy's own squeezes): reported as such, never spread over tools.
1050
+ const savedRows = Object.entries((snapshot.savingsAttribution?.byTool ?? {}));
1051
+ const attributedSaved = savedRows.reduce((sum, [, v]) => sum + (v.tokensSaved || 0), 0);
1052
+ const savedByTool = savedRows
1053
+ .sort(([, a], [, b]) => b.tokensSaved - a.tokensSaved)
1054
+ .slice(0, 10)
1055
+ .map(([name, v]) => ({ sourceAndTool: name, events: v.events, tokensSaved: v.tokensSaved }));
1056
+ // The ledger is daemon-wide; projectTotals is the part of it that carries a project. Everything
1057
+ // recorded before projects were attributed is in the totals above and in none of these rows.
1058
+ const projectRows = Object.entries((snapshot.projectTotals ?? {}))
1059
+ .filter(([key]) => key !== "__other")
1060
+ .sort(([, x], [, y]) => Math.abs(y.netTokens) - Math.abs(x.netTokens));
1061
+ const cwdKey = process.cwd().replace(/[\\/]+$/, "");
1062
+ const thisProject = (snapshot.projectTotals ?? {})[cwdKey] ?? null;
1016
1063
  const toolResultEvents = snapshot.costs?.toolResult?.events ?? 0;
1017
1064
  const attributedToolEvents = Object.values((attribution.byTool ?? {})).reduce((sum, s) => sum + (s.events || 0), 0);
1018
1065
  return {
@@ -1053,8 +1100,22 @@ async function handleTokenBudget(_args) {
1053
1100
  unattributedToolEvents: Math.max(0, toolResultEvents - attributedToolEvents),
1054
1101
  spentByTool,
1055
1102
  spentByHost,
1103
+ spentByToolAndHost,
1056
1104
  spentByOrigin,
1057
1105
  },
1106
+ // The totals above are the whole daemon. This project's own slice, and the other projects
1107
+ // next to it; both start at zero when projects were first attributed, never retroactively.
1108
+ projects: {
1109
+ thisProject: thisProject ? { path: cwdKey, ...thisProject } : "sin eventos atribuidos a este proyecto todavía",
1110
+ top: projectRows.slice(0, 10).map(([path, t]) => ({ path, ...t })),
1111
+ },
1112
+ // Where the savings came from. The all-time contextSqueeze total predates this breakdown, so
1113
+ // most of it shows as unattributed; only savings recorded since carry a tool name.
1114
+ savingsAttribution: {
1115
+ attributedTokens: attributedSaved,
1116
+ unattributedTokens: Math.max(0, total.tokensSaved - attributedSaved),
1117
+ savedByTool,
1118
+ },
1058
1119
  // The fixed cost of being connected, re-sent on every request of the session.
1059
1120
  perTurnOverhead: {
1060
1121
  ...getToolSurfaceSummary(),
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/mcp/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,wBAAgB,YAAY,IAAI,MAAM,CAYrC;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AA4DD,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAqBnH;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAcrF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAK5D;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAG9D;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9D;AASD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAEtF;AAED;;;GAGG;AACH,eAAO,MAAM,+BAA+B,OAAO,CAAC;AAEpD,wBAAgB,oBAAoB,IAAI,OAAO,CAU9C;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAgChH;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA6B/I;AAsOD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAgB9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAoDhI"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/mcp/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAIxE,wBAAgB,YAAY,IAAI,MAAM,CAYrC;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AA4DD,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAqBnH;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAcrF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAK5D;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAG9D;AAED,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE9D;AASD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAEtF;AAED;;;GAGG;AACH,eAAO,MAAM,+BAA+B,OAAO,CAAC;AAEpD,wBAAgB,oBAAoB,IAAI,OAAO,CAU9C;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAgChH;AAED;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA6B/I;AAsOD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAgB9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA0DhI"}
@@ -537,12 +537,17 @@ export function isCommandAllowed(command, workspaceRoot) {
537
537
  reason: "command/process substitution ($(...), `...`, <(...), >(...)) is not allowed",
538
538
  };
539
539
  }
540
+ // `2>&1` only points stderr at stdout; it cannot write a file, so it is no redirection in the sense
541
+ // this validator exists for. Agents append it by habit (`npx vitest run 2>&1 | tail -80`), and the
542
+ // refusal cost every one of them a wasted turn and a retry: the tool already captures stderr. Only
543
+ // the exact token, set off by whitespace, is accepted. `>`, `>>`, `2>file`, `&>` are still refused.
544
+ const forParsing = trimmed.replace(/(^|\s)2>&1(?=\s|$)/g, "$1");
540
545
  let parsed;
541
546
  try {
542
547
  // shell-quote follows POSIX rules and drops an unquoted backslash (C:\Windows\x becomes
543
548
  // C:Windowsx), but cmd.exe treats it as a path separator, so on Windows the validator would
544
549
  // check a different string than the one that runs. Doubling keeps the backslashes.
545
- parsed = shellParse(process.platform === "win32" ? trimmed.replace(/\\/g, "\\\\") : trimmed, envMarker);
550
+ parsed = shellParse(process.platform === "win32" ? forParsing.replace(/\\/g, "\\\\") : forParsing, envMarker);
546
551
  }
547
552
  catch {
548
553
  return { allowed: false, reason: "command could not be safely parsed" };
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/mcp/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/mcp/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspaceShared.d.ts","sourceRoot":"","sources":["../../../src/mcp/workspaceShared.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAK9E,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAoBV;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAWvE;AAmBD,4EAA4E;AAC5E,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,SAAI,GAAG,MAAM,CAErD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAuB9E;AAWD,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAenF"}
1
+ {"version":3,"file":"workspaceShared.d.ts","sourceRoot":"","sources":["../../../src/mcp/workspaceShared.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAY,KAAK,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAK9E,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAoBV;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAWvE;AAyBD,4EAA4E;AAC5E,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAG,SAAI,GAAG,MAAM,CAErD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAqB9E;AAWD,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAenF"}
@@ -72,27 +72,32 @@ export function formatBlastRadiusNote(result) {
72
72
  * headlines rather than bodies (see recallDigest) — pulling whole memories into every file read
73
73
  * would spend far more context than it saves; get_memory fetches the one that matters.
74
74
  */
75
- const _recallNoted = new Set();
75
+ /**
76
+ * Memories already listed by a note in this process. The note used to be keyed by file + the whole
77
+ * set of ids, so a memory tracking several files (a decision that touches a hub) was listed again
78
+ * on every one of them, and each listing stays in the transcript and is paid for on every later
79
+ * turn. Keyed by memory instead, the way the host hook already is (becacb9a1f60).
80
+ */
81
+ const _recallOffered = new Set();
76
82
  /** "a, b, c, d, e (+N more)" — at most `max` ids, the rest only counted. */
77
83
  export function capIds(ids, max = 5) {
78
84
  return ids.length > max ? `${ids.slice(0, max).join(", ")} (+${ids.length - max} more)` : ids.join(", ");
79
85
  }
80
86
  export function formatRecallNote(filePath, symbolName) {
81
87
  try {
82
- const hits = recallableHits(getBrain(), getBrain().findBlastRadius(filePath, symbolName).hits);
88
+ const all = recallableHits(getBrain(), getBrain().findBlastRadius(filePath, symbolName).hits);
89
+ // Repeating a memory the agent was already shown is nagging, not signal: only the ones not
90
+ // yet listed in this process count. Nothing new means silence.
91
+ const hits = all.filter((h) => !_recallOffered.has(h.id));
83
92
  if (hits.length === 0)
84
93
  return "";
85
- // Repeating the identical note on every read of the same file is nagging, not signal.
86
- // Keyed by the memory set, so a note reappears when the set genuinely changes.
87
- const ids = hits.map((h) => h.id).sort();
88
- const key = `${path.resolve(filePath)}::${symbolName || ""}::${ids.join(",")}`;
89
- if (_recallNoted.has(key))
90
- return "";
91
- _recallNoted.add(key);
92
94
  const subject = symbolName ? `\`${symbolName}\`` : "this file";
93
95
  // Hub files (package.json: 103 memories, CHANGELOG.md: 51) used to print every id. A digest
94
96
  // of the few worth opening — headline, freshness, age — is something an agent acts on.
95
97
  const digest = digestFileHits(getBrain(), hits);
98
+ // Only the ones actually listed are marked: the "+N more" stay eligible for the next file.
99
+ for (const id of digest.ids)
100
+ _recallOffered.add(id);
96
101
  // Long-lived process: no need to wait for the proxy's answer.
97
102
  void reportRecall({ projectPath: process.cwd(), trigger: "read", memoryIds: digest.ids });
98
103
  return `\n\n${formatFileDigest(subject, digest)}`;