@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
@@ -40,6 +40,11 @@ const DELTA_MIN_CHARS = 1200;
40
40
  * (and latency the user waits on) than the tokens it could save, so we decline.
41
41
  */
42
42
  const MAX_DIFF_LINES = 4000;
43
+ /** What a line says, without the ` 17| ` gutter that `withLineNumbers` put in front of it. */
44
+ const stripGutter = (line) => {
45
+ const at = line.indexOf("| ");
46
+ return at === -1 ? line : line.slice(at + 2);
47
+ };
43
48
  /**
44
49
  * Longest-common-subsequence over lines.
45
50
  *
@@ -48,22 +53,24 @@ const MAX_DIFF_LINES = 4000;
48
53
  * few dozen lines instead of a few thousand, which is what keeps this affordable enough
49
54
  * to run on every read.
50
55
  */
51
- function diffLines(oldLines, newLines) {
56
+ function diffLines(oldLines, newLines, key = (l) => l) {
52
57
  let start = 0;
53
- while (start < oldLines.length && start < newLines.length && oldLines[start] === newLines[start]) {
58
+ while (start < oldLines.length && start < newLines.length && key(oldLines[start]) === key(newLines[start])) {
54
59
  start++;
55
60
  }
56
61
  let endOld = oldLines.length;
57
62
  let endNew = newLines.length;
58
- while (endOld > start && endNew > start && oldLines[endOld - 1] === newLines[endNew - 1]) {
63
+ while (endOld > start && endNew > start && key(oldLines[endOld - 1]) === key(newLines[endNew - 1])) {
59
64
  endOld--;
60
65
  endNew--;
61
66
  }
62
67
  const a = oldLines.slice(start, endOld);
63
68
  const b = newLines.slice(start, endNew);
64
69
  const ops = [];
70
+ // An equal line is shown as it reads in the NEW text: when lines were inserted above it, that is
71
+ // the number it has on disk now.
65
72
  for (let i = 0; i < start; i++)
66
- ops.push({ type: "equal", line: oldLines[i] });
73
+ ops.push({ type: "equal", line: newLines[i] });
67
74
  // DP table of LCS lengths. Sized on the trimmed middle, which is why the trimming above
68
75
  // matters: without it this allocates (n+1)*(m+1) numbers for the whole file.
69
76
  const n = a.length;
@@ -71,14 +78,14 @@ function diffLines(oldLines, newLines) {
71
78
  const table = Array.from({ length: n + 1 }, () => new Array(m + 1).fill(0));
72
79
  for (let i = n - 1; i >= 0; i--) {
73
80
  for (let j = m - 1; j >= 0; j--) {
74
- table[i][j] = a[i] === b[j] ? table[i + 1][j + 1] + 1 : Math.max(table[i + 1][j], table[i][j + 1]);
81
+ table[i][j] = key(a[i]) === key(b[j]) ? table[i + 1][j + 1] + 1 : Math.max(table[i + 1][j], table[i][j + 1]);
75
82
  }
76
83
  }
77
84
  let i = 0;
78
85
  let j = 0;
79
86
  while (i < n && j < m) {
80
- if (a[i] === b[j]) {
81
- ops.push({ type: "equal", line: a[i] });
87
+ if (key(a[i]) === key(b[j])) {
88
+ ops.push({ type: "equal", line: b[j] });
82
89
  i++;
83
90
  j++;
84
91
  }
@@ -95,8 +102,8 @@ function diffLines(oldLines, newLines) {
95
102
  ops.push({ type: "del", line: a[i++] });
96
103
  while (j < m)
97
104
  ops.push({ type: "ins", line: b[j++] });
98
- for (let k = endOld; k < oldLines.length; k++)
99
- ops.push({ type: "equal", line: oldLines[k] });
105
+ for (let k = endNew; k < newLines.length; k++)
106
+ ops.push({ type: "equal", line: newLines[k] });
100
107
  return ops;
101
108
  }
102
109
  /** Group an op stream into unified-diff hunks with `CONTEXT_LINES` of surrounding context. */
@@ -162,18 +169,18 @@ function buildHunks(ops) {
162
169
  return hunks;
163
170
  }
164
171
  /** Line-level diff between the text the model already has and the text we would send now. */
165
- export function computeDiff(previous, next) {
172
+ export function computeDiff(previous, next, options = {}) {
166
173
  if (previous === next)
167
174
  return { hunks: [], added: 0, removed: 0, identical: true };
168
175
  const oldLines = previous.split("\n");
169
176
  const newLines = next.split("\n");
170
177
  if (oldLines.length > MAX_DIFF_LINES || newLines.length > MAX_DIFF_LINES)
171
178
  return null;
172
- const ops = diffLines(oldLines, newLines);
179
+ const ops = diffLines(oldLines, newLines, options.gutter ? stripGutter : undefined);
173
180
  const hunks = buildHunks(ops);
174
181
  const added = ops.filter((o) => o.type === "ins").length;
175
182
  const removed = ops.filter((o) => o.type === "del").length;
176
- return { hunks, added, removed, identical: false };
183
+ return { hunks, added, removed, identical: false, renumberedOnly: hunks.length === 0 };
177
184
  }
178
185
  /** Render hunks as a unified diff body (no ---/+++ file headers; the caller supplies context). */
179
186
  export function renderDiff(diff) {
@@ -187,18 +194,18 @@ export function renderDiff(diff) {
187
194
  * Declining is the safe direction: the caller falls back to sending everything, which is
188
195
  * always correct. So every uncertain case here resolves to `emit: false`.
189
196
  */
190
- export function shouldEmitDelta(previous, next) {
197
+ export function shouldEmitDelta(previous, next, options = {}) {
191
198
  const empty = { emit: false, added: 0, removed: 0, hunkCount: 0 };
192
199
  if (next.length < DELTA_MIN_CHARS) {
193
200
  return { ...empty, reason: "full text is small enough that a diff saves nothing" };
194
201
  }
195
- const diff = computeDiff(previous, next);
202
+ const diff = computeDiff(previous, next, options);
196
203
  if (!diff)
197
204
  return { ...empty, reason: "too large to diff affordably" };
198
205
  if (diff.identical)
199
206
  return { ...empty, reason: "identical" };
200
207
  if (diff.hunks.length === 0)
201
- return { ...empty, reason: "no hunks" };
208
+ return { ...empty, renumberedOnly: diff.renumberedOnly, reason: "no hunks" };
202
209
  const body = renderDiff(diff);
203
210
  const ratio = body.length / next.length;
204
211
  if (ratio > DELTA_MAX_RATIO) {
@@ -1 +1 @@
1
- {"version":3,"file":"OutputDelta.js","sourceRoot":"","sources":["../../../src/utils/OutputDelta.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OutputDelta.js","sourceRoot":"","sources":["../../../src/utils/OutputDelta.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PatchMatcher.d.ts","sourceRoot":"","sources":["../../../src/utils/PatchMatcher.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,OAAO,CAAC;AAE5F,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IAId,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;CAC5B;AAgED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,MAAM,CA4CR;AAsFD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,QAAQ,SAAK,GAAG,MAAM,CA2BpG;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,YAAY,CAgC9F"}
1
+ {"version":3,"file":"PatchMatcher.d.ts","sourceRoot":"","sources":["../../../src/utils/PatchMatcher.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,uBAAuB,GAAG,iBAAiB,GAAG,OAAO,CAAC;AAE5F,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IAId,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,GAAG,WAAW,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;CAC5B;AAsED,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,MAAM,CAiER;AAsFD,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,QAAQ,SAAK,GAAG,MAAM,CA2BpG;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,EAAE,GAAG,YAAY,CAgC9F"}
@@ -62,6 +62,11 @@ function spaceIndentUnit(lines) {
62
62
  unit = Math.min(unit, widths[i] - widths[i - 1]);
63
63
  return Number.isFinite(unit) && unit > 0 ? unit : 4;
64
64
  }
65
+ /** Like spaceIndentUnit, but null when fewer than two distinct indents make the unit a guess. */
66
+ function measuredSpaceUnit(lines) {
67
+ const widths = new Set(lines.filter((l) => l.trim() !== "").map((l) => leadingWhitespace(l).length));
68
+ return widths.size < 2 ? null : spaceIndentUnit(lines);
69
+ }
65
70
  export function reindentReplacement(replaceContent, searchContent, matchedFirstLine, matchedBlock) {
66
71
  const searchFirstLine = searchContent.split("\n")[0] ?? "";
67
72
  const searchIndent = leadingWhitespace(searchFirstLine);
@@ -92,6 +97,27 @@ export function reindentReplacement(replaceContent, searchContent, matchedFirstL
92
97
  })
93
98
  .join("\n");
94
99
  }
100
+ // Both blocks use spaces but one level is a different width: read_workspace_file's compact view
101
+ // halves indentation, so a block built from it matches the file yet nests at half the width, and
102
+ // comparing only the first line leaves every inner line at the wrong depth. Re-scale each line's
103
+ // depth below the first line from the two measured level widths.
104
+ if (sStyle === "space" && mStyle === "space") {
105
+ const unitS = measuredSpaceUnit(searchLines);
106
+ const unitM = measuredSpaceUnit(matchedBlock ?? [matchedFirstLine]);
107
+ if (unitS && unitM && unitS !== unitM) {
108
+ const base = searchIndent.length;
109
+ return replaceContent
110
+ .split("\n")
111
+ .map((line) => {
112
+ if (line.trim() === "")
113
+ return line;
114
+ const levels = Math.round((leadingWhitespace(line).length - base) / unitS);
115
+ const width = Math.max(0, matchedIndent.length + levels * unitM);
116
+ return " ".repeat(width) + line.replace(/^[ \t]*/, "");
117
+ })
118
+ .join("\n");
119
+ }
120
+ }
95
121
  if (searchIndent === matchedIndent)
96
122
  return replaceContent;
97
123
  const delta = matchedIndent.length - searchIndent.length;
@@ -1 +1 @@
1
- {"version":3,"file":"PatchMatcher.js","sourceRoot":"","sources":["../../../src/utils/PatchMatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PatchMatcher.js","sourceRoot":"","sources":["../../../src/utils/PatchMatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function isProUser(): boolean;
2
+ //# sourceMappingURL=ProLicense.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProLicense.d.ts","sourceRoot":"","sources":["../../../src/utils/ProLicense.ts"],"names":[],"mappings":"AAWA,wBAAgB,SAAS,IAAI,OAAO,CAYnC"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Pro entitlement, read from `~/.lemma-cache/license.json`. One place for the MCP tool gate and for the
3
+ * host hooks, so the two cannot disagree about who is on Pro. Cached per process: a hook is a short-lived
4
+ * process and the MCP server re-reads on restart.
5
+ */
6
+ import fs from 'fs';
7
+ import os from 'os';
8
+ import path from 'path';
9
+ let cache = null;
10
+ export function isProUser() {
11
+ if (cache !== null)
12
+ return cache;
13
+ try {
14
+ const file = path.join(os.homedir(), '.lemma-cache', 'license.json');
15
+ if (fs.existsSync(file)) {
16
+ const data = JSON.parse(fs.readFileSync(file, 'utf8'));
17
+ cache = !!(data.isPro || data.tier === 'pro');
18
+ return cache;
19
+ }
20
+ }
21
+ catch { }
22
+ cache = false;
23
+ return false;
24
+ }
25
+ //# sourceMappingURL=ProLicense.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProLicense.js","sourceRoot":"","sources":["../../../src/utils/ProLicense.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,IAAI,KAAK,GAAmB,IAAI,CAAC;AAEjC,MAAM,UAAU,SAAS;IACvB,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;QACrE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACvD,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,KAAK,GAAG,KAAK,CAAC;IACd,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Decides when it is acceptable to try to bring the proxy back after a report found it down.
3
+ *
4
+ * Every attempt spawns a process (and on Windows a console window), so it is limited twice: at
5
+ * most one attempt per `minGapMs`, and `maxAttempts` per MCP process. After that the proxy is left
6
+ * alone: something is killing it and respawning forever would hide that, not fix it.
7
+ */
8
+ export declare function createRevivalGate(minGapMs: number, maxAttempts: number, now?: () => number): () => boolean;
9
+ //# sourceMappingURL=RevivalThrottle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevivalThrottle.d.ts","sourceRoot":"","sources":["../../../src/utils/RevivalThrottle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,MAAiB,GAAG,MAAM,OAAO,CAWpH"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Decides when it is acceptable to try to bring the proxy back after a report found it down.
3
+ *
4
+ * Every attempt spawns a process (and on Windows a console window), so it is limited twice: at
5
+ * most one attempt per `minGapMs`, and `maxAttempts` per MCP process. After that the proxy is left
6
+ * alone: something is killing it and respawning forever would hide that, not fix it.
7
+ */
8
+ export function createRevivalGate(minGapMs, maxAttempts, now = Date.now) {
9
+ let last = -Infinity;
10
+ let attempts = 0;
11
+ return () => {
12
+ if (attempts >= maxAttempts)
13
+ return false;
14
+ const t = now();
15
+ if (t - last < minGapMs)
16
+ return false;
17
+ last = t;
18
+ attempts++;
19
+ return true;
20
+ };
21
+ }
22
+ //# sourceMappingURL=RevivalThrottle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevivalThrottle.js","sourceRoot":"","sources":["../../../src/utils/RevivalThrottle.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB,EAAE,WAAmB,EAAE,MAAoB,IAAI,CAAC,GAAG;IACnG,IAAI,IAAI,GAAG,CAAC,QAAQ,CAAC;IACrB,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,OAAO,GAAG,EAAE;QACV,IAAI,QAAQ,IAAI,WAAW;YAAE,OAAO,KAAK,CAAC;QAC1C,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,IAAI,GAAG,QAAQ;YAAE,OAAO,KAAK,CAAC;QACtC,IAAI,GAAG,CAAC,CAAC;QACT,QAAQ,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RoiLedger.d.ts","sourceRoot":"","sources":["../../../src/utils/RoiLedger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AA8DD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAExF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAExF;AAED,gGAAgG;AAChG,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAM1E;AAED,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMrD"}
1
+ {"version":3,"file":"RoiLedger.d.ts","sourceRoot":"","sources":["../../../src/utils/RoiLedger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAOH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAgED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAExF;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAExF;AAED,gGAAgG;AAChG,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAM1E;AAED,yFAAyF;AACzF,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMrD"}
@@ -20,6 +20,7 @@
20
20
  import fs from "fs";
21
21
  import path from "path";
22
22
  import crypto from "crypto";
23
+ import { writeFileAtomic, quarantineCorrupt } from "./AtomicFile.js";
23
24
  const HOME = process.env.HOME || process.env.USERPROFILE || "~";
24
25
  const ROI_DIR = path.join(HOME, ".lemma-cache", "roi");
25
26
  function repoHash(repoRoot) {
@@ -40,8 +41,11 @@ function load(repoRoot) {
40
41
  return parsed;
41
42
  }
42
43
  }
43
- catch {
44
- // Corrupt or unreadable file must never break the caller — start clean for this write.
44
+ catch (err) {
45
+ // Corrupt or unreadable file must never break the caller — start clean for this write, but set
46
+ // the old one aside first: that write would otherwise destroy whatever history is left in it.
47
+ if (err instanceof SyntaxError)
48
+ quarantineCorrupt(roiFilePath(repoRoot));
45
49
  }
46
50
  return { tools: {}, updatedAt: Date.now() };
47
51
  }
@@ -50,7 +54,7 @@ function save(repoRoot, data) {
50
54
  if (!fs.existsSync(ROI_DIR))
51
55
  fs.mkdirSync(ROI_DIR, { recursive: true });
52
56
  data.updatedAt = Date.now();
53
- fs.writeFileSync(roiFilePath(repoRoot), JSON.stringify(data, null, 2), "utf8");
57
+ writeFileAtomic(roiFilePath(repoRoot), JSON.stringify(data, null, 2));
54
58
  }
55
59
  catch {
56
60
  // Non-critical: losing one write just means the next read sees slightly stale history.
@@ -1 +1 @@
1
- {"version":3,"file":"RoiLedger.js","sourceRoot":"","sources":["../../../src/utils/RoiLedger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RoiLedger.js","sourceRoot":"","sources":["../../../src/utils/RoiLedger.ts"],"names":[],"mappings":"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"}
@@ -48,12 +48,29 @@ export interface CostAttribution {
48
48
  * through an explicit channel — never inferred by dividing totals by call counts.
49
49
  */
50
50
  origin?: string;
51
+ /** Workspace the call ran in (the MCP process cwd). Absent for what the proxy computes itself. */
52
+ project?: string;
51
53
  }
52
54
  /** Per-tool rollup of one CostSource — the breakdown token_budget prints. Bounded. */
53
55
  export interface ToolCostStats {
54
56
  events: number;
55
57
  tokensSpent: number;
56
58
  }
59
+ /**
60
+ * Per-(source, tool) rollup of what was SAVED, keyed "<source>:<tool>". The ledger used to say
61
+ * "contextSqueeze saved 4.6M" with no way to see which tool produced it, so the claim could not be
62
+ * audited. Bounded like the cost rollups.
63
+ */
64
+ export interface ToolSavedStats {
65
+ events: number;
66
+ tokensSaved: number;
67
+ }
68
+ /** Who a saving belongs to. Optional: older callers and the proxy's own squeezes carry none. */
69
+ export interface SavingAttribution {
70
+ tool?: string;
71
+ /** Workspace the saving happened in; absent for the proxy's own squeezes. */
72
+ project?: string;
73
+ }
57
74
  export interface NetStats {
58
75
  /** tokensSaved - tokensSpent. Negative means Lemma cost more than it saved. */
59
76
  netTokens: number;
@@ -104,38 +121,58 @@ export interface SavingsSnapshot {
104
121
  byTool: Record<string, ToolCostStats>;
105
122
  byHost: Record<string, ToolCostStats>;
106
123
  byOrigin: Record<string, ToolCostStats>;
124
+ /** "<tool>|<host>" → cost: who called which tool. Tool names never contain "|", so split on the first one. */
125
+ byToolHost: Record<string, ToolCostStats>;
126
+ };
127
+ /**
128
+ * Which tool each saving came from, keyed "<source>:<tool>". Savings recorded without a tool
129
+ * name (the proxy's own squeezes) are in the source totals but in no row here: compare the sum
130
+ * of the rows with the source total to see how much is unattributed.
131
+ */
132
+ savingsAttribution: {
133
+ byTool: Record<string, ToolSavedStats>;
107
134
  };
135
+ /** Which project this snapshot is scoped to; null = the whole daemon. */
136
+ project: string | null;
137
+ /**
138
+ * Saved/spent per project, always the whole picture whatever the snapshot is scoped to, so the
139
+ * dashboard can rank projects and show how much of the total belongs to none. Only events that
140
+ * carried a project are in here: everything recorded before projects were attributed, and what
141
+ * the proxy computes itself (clipboard, its own squeezes), is in the total and in no row.
142
+ */
143
+ projectTotals: Record<string, ProjectTotals>;
144
+ }
145
+ /** One project's net position, for ranking next to the others. */
146
+ export interface ProjectTotals {
147
+ tokensSaved: number;
148
+ tokensSpent: number;
149
+ netTokens: number;
108
150
  }
109
151
  /** Average blended cost per input token across GPT-4o / Claude Sonnet / Gemini Pro */
110
152
  export declare const AVG_COST_PER_TOKEN = 0.000008;
111
153
  declare class SavingsLedger {
112
- private sources;
113
- private costs;
114
- /** Per-tool rollup of toolResult spend: tool name -> { events, tokensSpent }. */
115
- private costByTool;
116
- /** Per-host rollup (hosts are a handful of known values — no cap needed). */
117
- private costByHost;
118
- /** Per-origin rollup: "lemma" vs anything explicitly reported otherwise. */
119
- private costByOrigin;
154
+ /** The whole daemon: every event, with or without a project. */
155
+ private readonly all;
156
+ /** One slice per workspace path, fed only by events that said which project they came from. */
157
+ private projects;
120
158
  private readonly sessionStartedAt;
121
- /** Local day (YYYY-MM-DD) -> tokens saved/spent that day. */
122
- private daily;
123
159
  constructor();
124
160
  private load;
125
161
  private save;
162
+ /** The slice an event belongs to, created on first sight; past MAX_PROJECTS they share one overflow slice. */
163
+ private projectState;
164
+ private applySaved;
126
165
  /**
127
166
  * Record a savings event by char counts (automatically converts to token estimate).
128
167
  * @param source Which module recorded the savings
129
168
  * @param charsBefore Original char count before compression/routing
130
169
  * @param charsAfter Resulting char count after compression/routing
131
170
  */
132
- record(source: SavingsSource, charsBefore: number, charsAfter: number): void;
133
- /** Adds to today's totals and drops days past MAX_DAYS_KEPT. */
134
- private bumpDay;
171
+ record(source: SavingsSource, charsBefore: number, charsAfter: number, attribution?: SavingAttribution): void;
135
172
  /**
136
173
  * Record a savings event directly in tokens (for sources that already know their token count).
137
174
  */
138
- recordTokens(source: SavingsSource, tokensSaved: number): void;
175
+ recordTokens(source: SavingsSource, tokensSaved: number, attribution?: SavingAttribution): void;
139
176
  /**
140
177
  * Record tokens Lemma *spent*. Counterpart to record()/recordTokens() — without
141
178
  * this the ledger can only ever grow, which is not evidence of anything.
@@ -146,12 +183,15 @@ declare class SavingsLedger {
146
183
  * ever incremented alongside the bucket they annotate.
147
184
  */
148
185
  recordCost(source: CostSource, tokensSpent: number, attribution?: CostAttribution): void;
149
- /** One attributed event into a rollup map. byTool is capped; host/origin are naturally small. */
150
- private bumpRollup;
151
186
  /** Record a cost event by char count (converts with the same chars/4 heuristic). */
152
187
  recordCostChars(source: CostSource, chars: number, attribution?: CostAttribution): void;
153
- /** Returns a full snapshot including computed totals, costs and net position */
154
- getSnapshot(): SavingsSnapshot;
188
+ private projectTotals;
189
+ /**
190
+ * A full snapshot: totals, costs and net position. With `project`, the same shape scoped to that
191
+ * workspace (zeros when nothing was attributed to it yet — never the daemon's totals, which would
192
+ * read as that project's own).
193
+ */
194
+ getSnapshot(project?: string | null): SavingsSnapshot;
155
195
  /** Returns a pretty terminal summary block */
156
196
  getTerminalSummary(): string;
157
197
  /** Reset all counters (e.g., on cache clear) */
@@ -1 +1 @@
1
- {"version":3,"file":"SavingsLedger.d.ts","sourceRoot":"","sources":["../../../src/utils/SavingsLedger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SavingsLedger.d.ts","sourceRoot":"","sources":["../../../src/utils/SavingsLedger.ts"],"names":[],"mappings":"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"}