@nxuss/lemma 1.31.1 → 1.32.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 (284) hide show
  1. package/README.md +45 -0
  2. package/dist/cjs/api/server.js +1 -1
  3. package/dist/cjs/api/server.js.map +1 -1
  4. package/dist/cjs/autopilot/AutopilotWatcher.js +2 -2
  5. package/dist/cjs/autopilot/AutopilotWatcher.js.map +1 -1
  6. package/dist/cjs/autopilot/Notifier.d.ts.map +1 -1
  7. package/dist/cjs/autopilot/Notifier.js +0 -1
  8. package/dist/cjs/autopilot/Notifier.js.map +1 -1
  9. package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
  10. package/dist/cjs/cli/lemma-proxy.js +18 -18
  11. package/dist/cjs/cli/lemma-proxy.js.map +1 -1
  12. package/dist/cjs/cli/stack.d.ts.map +1 -1
  13. package/dist/cjs/cli/stack.js.map +1 -1
  14. package/dist/cjs/cloud/TenantCache.d.ts.map +1 -1
  15. package/dist/cjs/cloud/TenantCache.js +0 -1
  16. package/dist/cjs/cloud/TenantCache.js.map +1 -1
  17. package/dist/cjs/cloud/server.js +4 -4
  18. package/dist/cjs/cloud/server.js.map +1 -1
  19. package/dist/cjs/cloud/store/FileBrainStore.d.ts.map +1 -1
  20. package/dist/cjs/cloud/store/FileBrainStore.js.map +1 -1
  21. package/dist/cjs/cloud/store/PostgresBrainStore.d.ts.map +1 -1
  22. package/dist/cjs/cloud/store/PostgresBrainStore.js +1 -1
  23. package/dist/cjs/cloud/store/PostgresBrainStore.js.map +1 -1
  24. package/dist/cjs/consensus/ConsensusEngine.d.ts.map +1 -1
  25. package/dist/cjs/consensus/ConsensusEngine.js +0 -1
  26. package/dist/cjs/consensus/ConsensusEngine.js.map +1 -1
  27. package/dist/cjs/core/GhostListener.d.ts.map +1 -1
  28. package/dist/cjs/core/GhostListener.js.map +1 -1
  29. package/dist/cjs/core/OrchestrationEngine.d.ts.map +1 -1
  30. package/dist/cjs/core/OrchestrationEngine.js +1 -1
  31. package/dist/cjs/core/OrchestrationEngine.js.map +1 -1
  32. package/dist/cjs/core/SubconsciousEngine.d.ts.map +1 -1
  33. package/dist/cjs/core/SubconsciousEngine.js.map +1 -1
  34. package/dist/cjs/core/router.d.ts.map +1 -1
  35. package/dist/cjs/core/router.js +2 -2
  36. package/dist/cjs/core/router.js.map +1 -1
  37. package/dist/cjs/embed/index.d.ts.map +1 -1
  38. package/dist/cjs/embed/index.js +0 -1
  39. package/dist/cjs/embed/index.js.map +1 -1
  40. package/dist/cjs/index.d.ts.map +1 -1
  41. package/dist/cjs/index.js +1 -1
  42. package/dist/cjs/index.js.map +1 -1
  43. package/dist/cjs/infra/analyzers/DriftDetector.js +1 -1
  44. package/dist/cjs/infra/analyzers/DriftDetector.js.map +1 -1
  45. package/dist/cjs/infra/config.d.ts.map +1 -1
  46. package/dist/cjs/infra/mcp-tools.d.ts.map +1 -1
  47. package/dist/cjs/infra/mcp-tools.js +29 -5
  48. package/dist/cjs/infra/mcp-tools.js.map +1 -1
  49. package/dist/cjs/infra/providers/InfraProvider.d.ts.map +1 -1
  50. package/dist/cjs/infra/providers/JenkinsProvider.js +1 -1
  51. package/dist/cjs/infra/templates/jenkins/index.d.ts.map +1 -1
  52. package/dist/cjs/infra/templates/jenkins/index.js +8 -4
  53. package/dist/cjs/infra/templates/jenkins/index.js.map +1 -1
  54. package/dist/cjs/mcp/index.js +1 -1
  55. package/dist/cjs/mcp/index.js.map +1 -1
  56. package/dist/cjs/mcp/tools/codenav.js +1 -1
  57. package/dist/cjs/mcp/tools/codenav.js.map +1 -1
  58. package/dist/cjs/mcp/tools/context-tools.d.ts.map +1 -1
  59. package/dist/cjs/mcp/tools/context-tools.js.map +1 -1
  60. package/dist/cjs/mcp/tools/refactor.d.ts.map +1 -1
  61. package/dist/cjs/mcp/tools/refactor.js +0 -3
  62. package/dist/cjs/mcp/tools/refactor.js.map +1 -1
  63. package/dist/cjs/mcp/tools/review.d.ts.map +1 -1
  64. package/dist/cjs/mcp/tools/review.js +12 -11
  65. package/dist/cjs/mcp/tools/review.js.map +1 -1
  66. package/dist/cjs/mcp/tools/workspace.d.ts.map +1 -1
  67. package/dist/cjs/mcp/tools/workspace.js +46 -9
  68. package/dist/cjs/mcp/tools/workspace.js.map +1 -1
  69. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  70. package/dist/cjs/mcp/tools.js.map +1 -1
  71. package/dist/cjs/mcp/utils.d.ts +1 -1
  72. package/dist/cjs/mcp/utils.d.ts.map +1 -1
  73. package/dist/cjs/mcp/utils.js +124 -7
  74. package/dist/cjs/mcp/utils.js.map +1 -1
  75. package/dist/cjs/mcp/workspaceShared.js +1 -1
  76. package/dist/cjs/mcp/workspaceShared.js.map +1 -1
  77. package/dist/cjs/pr-review/adapters/AzureDevOpsAdapter.d.ts +1 -1
  78. package/dist/cjs/pr-review/adapters/AzureDevOpsAdapter.d.ts.map +1 -1
  79. package/dist/cjs/pr-review/adapters/AzureDevOpsAdapter.js +5 -5
  80. package/dist/cjs/pr-review/adapters/AzureDevOpsAdapter.js.map +1 -1
  81. package/dist/cjs/pr-review/adapters/GitHubAdapter.d.ts +1 -1
  82. package/dist/cjs/pr-review/adapters/GitHubAdapter.d.ts.map +1 -1
  83. package/dist/cjs/pr-review/adapters/GitHubAdapter.js +1 -1
  84. package/dist/cjs/pr-review/adapters/GitHubAdapter.js.map +1 -1
  85. package/dist/cjs/pr-review/adapters/GitLabAdapter.d.ts +1 -1
  86. package/dist/cjs/pr-review/adapters/GitLabAdapter.d.ts.map +1 -1
  87. package/dist/cjs/pr-review/adapters/GitLabAdapter.js +1 -2
  88. package/dist/cjs/pr-review/adapters/GitLabAdapter.js.map +1 -1
  89. package/dist/cjs/pr-review/analyzers/RegressionDetector.d.ts +1 -1
  90. package/dist/cjs/pr-review/analyzers/RegressionDetector.d.ts.map +1 -1
  91. package/dist/cjs/pr-review/analyzers/RegressionDetector.js +1 -2
  92. package/dist/cjs/pr-review/analyzers/RegressionDetector.js.map +1 -1
  93. package/dist/cjs/pr-review/analyzers/SecurityScanner.js +2 -2
  94. package/dist/cjs/pr-review/analyzers/SecurityScanner.js.map +1 -1
  95. package/dist/cjs/pr-review/analyzers/StaticAnalyzer.d.ts.map +1 -1
  96. package/dist/cjs/pr-review/analyzers/StaticAnalyzer.js +0 -6
  97. package/dist/cjs/pr-review/analyzers/StaticAnalyzer.js.map +1 -1
  98. package/dist/cjs/protocol/flows.d.ts +4 -1
  99. package/dist/cjs/protocol/flows.d.ts.map +1 -1
  100. package/dist/cjs/protocol/flows.js +13 -8
  101. package/dist/cjs/protocol/flows.js.map +1 -1
  102. package/dist/cjs/protocol/validators.d.ts.map +1 -1
  103. package/dist/cjs/protocol/validators.js.map +1 -1
  104. package/dist/cjs/proxy/AgentMultiplexer.d.ts +1 -1
  105. package/dist/cjs/proxy/AgentMultiplexer.d.ts.map +1 -1
  106. package/dist/cjs/proxy/AgentMultiplexer.js +1 -1
  107. package/dist/cjs/proxy/AgentMultiplexer.js.map +1 -1
  108. package/dist/cjs/proxy/Gatekeeper.js +0 -1
  109. package/dist/cjs/proxy/Gatekeeper.js.map +1 -1
  110. package/dist/cjs/security/MessageSanitizer.d.ts.map +1 -1
  111. package/dist/cjs/security/MessageSanitizer.js +2 -1
  112. package/dist/cjs/security/MessageSanitizer.js.map +1 -1
  113. package/dist/cjs/security/SecurityMiddleware.d.ts.map +1 -1
  114. package/dist/cjs/security/SecurityMiddleware.js.map +1 -1
  115. package/dist/cjs/speculative/SpeculativeEngine.d.ts.map +1 -1
  116. package/dist/cjs/speculative/SpeculativeEngine.js.map +1 -1
  117. package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
  118. package/dist/cjs/subconscious/TheBrainV2.js +1 -13
  119. package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
  120. package/dist/cjs/utils/AutoContextBundle.d.ts.map +1 -1
  121. package/dist/cjs/utils/AutoContextBundle.js.map +1 -1
  122. package/dist/cjs/utils/ClipboardWatcher.js +1 -1
  123. package/dist/cjs/utils/ClipboardWatcher.js.map +1 -1
  124. package/dist/cjs/utils/CommandEnv.d.ts +26 -0
  125. package/dist/cjs/utils/CommandEnv.d.ts.map +1 -0
  126. package/dist/cjs/utils/CommandEnv.js +91 -0
  127. package/dist/cjs/utils/CommandEnv.js.map +1 -0
  128. package/dist/cjs/utils/CommandSandbox.d.ts +42 -0
  129. package/dist/cjs/utils/CommandSandbox.d.ts.map +1 -0
  130. package/dist/cjs/utils/CommandSandbox.js +135 -0
  131. package/dist/cjs/utils/CommandSandbox.js.map +1 -0
  132. package/dist/cjs/utils/ContextSqueezer.js +1 -1
  133. package/dist/cjs/utils/ContextSqueezer.js.map +1 -1
  134. package/dist/cjs/utils/SurgicalASTInsert.d.ts.map +1 -1
  135. package/dist/cjs/utils/SurgicalASTInsert.js.map +1 -1
  136. package/dist/cjs/utils/SymbolSurgicalContext.js +3 -3
  137. package/dist/cjs/utils/SymbolSurgicalContext.js.map +1 -1
  138. package/dist/cjs/utils/WorkspaceSearch.d.ts.map +1 -1
  139. package/dist/cjs/utils/WorkspaceSearch.js +1 -0
  140. package/dist/cjs/utils/WorkspaceSearch.js.map +1 -1
  141. package/dist/cjs/utils/WormholeCompressor.js +3 -3
  142. package/dist/cjs/utils/WormholeCompressor.js.map +1 -1
  143. package/dist/esm/api/server.js +1 -1
  144. package/dist/esm/api/server.js.map +1 -1
  145. package/dist/esm/autopilot/AutopilotWatcher.js +2 -2
  146. package/dist/esm/autopilot/AutopilotWatcher.js.map +1 -1
  147. package/dist/esm/autopilot/Notifier.d.ts.map +1 -1
  148. package/dist/esm/autopilot/Notifier.js +0 -1
  149. package/dist/esm/autopilot/Notifier.js.map +1 -1
  150. package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
  151. package/dist/esm/cli/lemma-proxy.js +18 -18
  152. package/dist/esm/cli/lemma-proxy.js.map +1 -1
  153. package/dist/esm/cli/stack.d.ts.map +1 -1
  154. package/dist/esm/cli/stack.js.map +1 -1
  155. package/dist/esm/cloud/TenantCache.d.ts.map +1 -1
  156. package/dist/esm/cloud/TenantCache.js +0 -1
  157. package/dist/esm/cloud/TenantCache.js.map +1 -1
  158. package/dist/esm/cloud/server.js +4 -4
  159. package/dist/esm/cloud/server.js.map +1 -1
  160. package/dist/esm/cloud/store/FileBrainStore.d.ts.map +1 -1
  161. package/dist/esm/cloud/store/FileBrainStore.js.map +1 -1
  162. package/dist/esm/cloud/store/PostgresBrainStore.d.ts.map +1 -1
  163. package/dist/esm/cloud/store/PostgresBrainStore.js +1 -1
  164. package/dist/esm/cloud/store/PostgresBrainStore.js.map +1 -1
  165. package/dist/esm/consensus/ConsensusEngine.d.ts.map +1 -1
  166. package/dist/esm/consensus/ConsensusEngine.js +0 -1
  167. package/dist/esm/consensus/ConsensusEngine.js.map +1 -1
  168. package/dist/esm/core/GhostListener.d.ts.map +1 -1
  169. package/dist/esm/core/GhostListener.js.map +1 -1
  170. package/dist/esm/core/OrchestrationEngine.d.ts.map +1 -1
  171. package/dist/esm/core/OrchestrationEngine.js +1 -1
  172. package/dist/esm/core/OrchestrationEngine.js.map +1 -1
  173. package/dist/esm/core/SubconsciousEngine.d.ts.map +1 -1
  174. package/dist/esm/core/SubconsciousEngine.js.map +1 -1
  175. package/dist/esm/core/router.d.ts.map +1 -1
  176. package/dist/esm/core/router.js +2 -2
  177. package/dist/esm/core/router.js.map +1 -1
  178. package/dist/esm/embed/index.d.ts.map +1 -1
  179. package/dist/esm/embed/index.js +0 -1
  180. package/dist/esm/embed/index.js.map +1 -1
  181. package/dist/esm/index.d.ts.map +1 -1
  182. package/dist/esm/index.js +1 -1
  183. package/dist/esm/index.js.map +1 -1
  184. package/dist/esm/infra/analyzers/DriftDetector.js +1 -1
  185. package/dist/esm/infra/analyzers/DriftDetector.js.map +1 -1
  186. package/dist/esm/infra/config.d.ts.map +1 -1
  187. package/dist/esm/infra/mcp-tools.d.ts.map +1 -1
  188. package/dist/esm/infra/mcp-tools.js +29 -5
  189. package/dist/esm/infra/mcp-tools.js.map +1 -1
  190. package/dist/esm/infra/providers/InfraProvider.d.ts.map +1 -1
  191. package/dist/esm/infra/providers/JenkinsProvider.js +1 -1
  192. package/dist/esm/infra/templates/jenkins/index.d.ts.map +1 -1
  193. package/dist/esm/infra/templates/jenkins/index.js +8 -4
  194. package/dist/esm/infra/templates/jenkins/index.js.map +1 -1
  195. package/dist/esm/mcp/index.js +1 -1
  196. package/dist/esm/mcp/index.js.map +1 -1
  197. package/dist/esm/mcp/tools/codenav.js +1 -1
  198. package/dist/esm/mcp/tools/codenav.js.map +1 -1
  199. package/dist/esm/mcp/tools/context-tools.d.ts.map +1 -1
  200. package/dist/esm/mcp/tools/context-tools.js.map +1 -1
  201. package/dist/esm/mcp/tools/refactor.d.ts.map +1 -1
  202. package/dist/esm/mcp/tools/refactor.js +0 -3
  203. package/dist/esm/mcp/tools/refactor.js.map +1 -1
  204. package/dist/esm/mcp/tools/review.d.ts.map +1 -1
  205. package/dist/esm/mcp/tools/review.js +12 -11
  206. package/dist/esm/mcp/tools/review.js.map +1 -1
  207. package/dist/esm/mcp/tools/workspace.d.ts.map +1 -1
  208. package/dist/esm/mcp/tools/workspace.js +46 -9
  209. package/dist/esm/mcp/tools/workspace.js.map +1 -1
  210. package/dist/esm/mcp/tools.d.ts.map +1 -1
  211. package/dist/esm/mcp/tools.js.map +1 -1
  212. package/dist/esm/mcp/utils.d.ts +1 -1
  213. package/dist/esm/mcp/utils.d.ts.map +1 -1
  214. package/dist/esm/mcp/utils.js +124 -7
  215. package/dist/esm/mcp/utils.js.map +1 -1
  216. package/dist/esm/mcp/workspaceShared.js +1 -1
  217. package/dist/esm/mcp/workspaceShared.js.map +1 -1
  218. package/dist/esm/pr-review/adapters/AzureDevOpsAdapter.d.ts +1 -1
  219. package/dist/esm/pr-review/adapters/AzureDevOpsAdapter.d.ts.map +1 -1
  220. package/dist/esm/pr-review/adapters/AzureDevOpsAdapter.js +5 -5
  221. package/dist/esm/pr-review/adapters/AzureDevOpsAdapter.js.map +1 -1
  222. package/dist/esm/pr-review/adapters/GitHubAdapter.d.ts +1 -1
  223. package/dist/esm/pr-review/adapters/GitHubAdapter.d.ts.map +1 -1
  224. package/dist/esm/pr-review/adapters/GitHubAdapter.js +1 -1
  225. package/dist/esm/pr-review/adapters/GitHubAdapter.js.map +1 -1
  226. package/dist/esm/pr-review/adapters/GitLabAdapter.d.ts +1 -1
  227. package/dist/esm/pr-review/adapters/GitLabAdapter.d.ts.map +1 -1
  228. package/dist/esm/pr-review/adapters/GitLabAdapter.js +1 -2
  229. package/dist/esm/pr-review/adapters/GitLabAdapter.js.map +1 -1
  230. package/dist/esm/pr-review/analyzers/RegressionDetector.d.ts +1 -1
  231. package/dist/esm/pr-review/analyzers/RegressionDetector.d.ts.map +1 -1
  232. package/dist/esm/pr-review/analyzers/RegressionDetector.js +1 -2
  233. package/dist/esm/pr-review/analyzers/RegressionDetector.js.map +1 -1
  234. package/dist/esm/pr-review/analyzers/SecurityScanner.js +2 -2
  235. package/dist/esm/pr-review/analyzers/SecurityScanner.js.map +1 -1
  236. package/dist/esm/pr-review/analyzers/StaticAnalyzer.d.ts.map +1 -1
  237. package/dist/esm/pr-review/analyzers/StaticAnalyzer.js +0 -6
  238. package/dist/esm/pr-review/analyzers/StaticAnalyzer.js.map +1 -1
  239. package/dist/esm/protocol/flows.d.ts +4 -1
  240. package/dist/esm/protocol/flows.d.ts.map +1 -1
  241. package/dist/esm/protocol/flows.js +13 -8
  242. package/dist/esm/protocol/flows.js.map +1 -1
  243. package/dist/esm/protocol/validators.d.ts.map +1 -1
  244. package/dist/esm/protocol/validators.js.map +1 -1
  245. package/dist/esm/proxy/AgentMultiplexer.d.ts +1 -1
  246. package/dist/esm/proxy/AgentMultiplexer.d.ts.map +1 -1
  247. package/dist/esm/proxy/AgentMultiplexer.js +1 -1
  248. package/dist/esm/proxy/AgentMultiplexer.js.map +1 -1
  249. package/dist/esm/proxy/Gatekeeper.js +0 -1
  250. package/dist/esm/proxy/Gatekeeper.js.map +1 -1
  251. package/dist/esm/security/MessageSanitizer.d.ts.map +1 -1
  252. package/dist/esm/security/MessageSanitizer.js +2 -1
  253. package/dist/esm/security/MessageSanitizer.js.map +1 -1
  254. package/dist/esm/security/SecurityMiddleware.d.ts.map +1 -1
  255. package/dist/esm/security/SecurityMiddleware.js.map +1 -1
  256. package/dist/esm/speculative/SpeculativeEngine.d.ts.map +1 -1
  257. package/dist/esm/speculative/SpeculativeEngine.js.map +1 -1
  258. package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
  259. package/dist/esm/subconscious/TheBrainV2.js +1 -13
  260. package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
  261. package/dist/esm/utils/AutoContextBundle.d.ts.map +1 -1
  262. package/dist/esm/utils/AutoContextBundle.js.map +1 -1
  263. package/dist/esm/utils/ClipboardWatcher.js +1 -1
  264. package/dist/esm/utils/ClipboardWatcher.js.map +1 -1
  265. package/dist/esm/utils/CommandEnv.d.ts +26 -0
  266. package/dist/esm/utils/CommandEnv.d.ts.map +1 -0
  267. package/dist/esm/utils/CommandEnv.js +84 -0
  268. package/dist/esm/utils/CommandEnv.js.map +1 -0
  269. package/dist/esm/utils/CommandSandbox.d.ts +42 -0
  270. package/dist/esm/utils/CommandSandbox.d.ts.map +1 -0
  271. package/dist/esm/utils/CommandSandbox.js +126 -0
  272. package/dist/esm/utils/CommandSandbox.js.map +1 -0
  273. package/dist/esm/utils/ContextSqueezer.js +1 -1
  274. package/dist/esm/utils/ContextSqueezer.js.map +1 -1
  275. package/dist/esm/utils/SurgicalASTInsert.d.ts.map +1 -1
  276. package/dist/esm/utils/SurgicalASTInsert.js.map +1 -1
  277. package/dist/esm/utils/SymbolSurgicalContext.js +3 -3
  278. package/dist/esm/utils/SymbolSurgicalContext.js.map +1 -1
  279. package/dist/esm/utils/WorkspaceSearch.d.ts.map +1 -1
  280. package/dist/esm/utils/WorkspaceSearch.js +1 -0
  281. package/dist/esm/utils/WorkspaceSearch.js.map +1 -1
  282. package/dist/esm/utils/WormholeCompressor.js +3 -3
  283. package/dist/esm/utils/WormholeCompressor.js.map +1 -1
  284. package/package.json +5 -2
package/README.md CHANGED
@@ -35,6 +35,17 @@ lemma start # gateway + dashboard on http://localhost:8081
35
35
  >
36
36
  > **🆕 v1.22.0 — Lemma auto-activates in every LLM client.** `npm i -g @nxuss/lemma` registers the skill in your **user** catalog (auto-loads in every `muse` session, any project) and `lemma init` wires each project for Muse, Claude Code, Cursor, Codex, Windsurf, Kiro and OpenCode. Health check: `lemma doctor`.
37
37
  >
38
+ > **🆕 v1.32.0 — what a command can see and reach.** `run_workspace_command` no longer hands the
39
+ > child the host's whole environment (tokens, API keys, the license key): it gets a short allowlist,
40
+ > extendable via `mcp.commandEnv.allow`. `cat`, `ls`, `grep`, `find`, `sed`… must keep their paths
41
+ > inside the workspace, and on Windows a backslash executable path no longer passes as a bare name.
42
+ > New and opt-in: `mcp.sandbox.mode: "docker"` runs each command in a throwaway container with only
43
+ > the workspace, no network, no host environment and a read-only root, and fails closed if Docker is
44
+ > unavailable. **Behavior change:** a command that relied on an inherited variable now needs it allowed
45
+ > by name (or `mcp.commandEnv.mode: "inherit"`). Also fixed: options a tool advertised and ignored
46
+ > (`generate_pr_workflow.autoApprove`, `jenkins_generate_pipeline`, `TaskLifecycle.cleanup`), now guarded
47
+ > by a test. See the [changelog](CHANGELOG.md).
48
+ >
38
49
  > **🆕 v1.31.1 — secrets, symlinks and stale fixes.** A second round of dogfooding (rounds 11-20)
39
50
  > found that `run_workspace_command` handed `.env` secrets to the model in clear (`cat .env`,
40
51
  > `grep -r PASSWORD .`) while `read_workspace_file` masked them — command output is now scrubbed too.
@@ -346,6 +357,40 @@ JS/TS, Python, Go, Rust, Ruby, JVM, `make`, git/gh, read-only shell utilities, a
346
357
  CLIs. Extend via `lemma.config.json` → `mcp.allowedCommandPrefixes`. See
347
358
  [`.env.security.example`](.env.security.example) for every security-related env var.
348
359
 
360
+ **What commands can reach.** Two guards apply by default, on macOS, Linux and Windows:
361
+
362
+ - *Environment.* Commands no longer inherit the host's whole environment (tokens, API keys, the
363
+ license key). They get `PATH`, home/temp dirs, locale, terminal and toolchain-location variables
364
+ only. If a command needs more (for example `HTTPS_PROXY`), allow it by name, or restore the old
365
+ behavior:
366
+
367
+ ```json
368
+ { "mcp": { "commandEnv": { "allow": ["HTTPS_PROXY"] } } }
369
+ { "mcp": { "commandEnv": { "mode": "inherit" } } }
370
+ ```
371
+
372
+ - *Paths.* `cat`, `head`, `tail`, `ls`, `find`, `grep`, `rg`, `sed`, `awk`, `diff`, `sort`, `wc` and
373
+ similar must keep their file operands inside the workspace: absolute paths, `~`, `..` that climb
374
+ out, environment variables in a path, and symlinks pointing outside are refused.
375
+
376
+ Those two are guards, not a sandbox: commands that run code (`node -e`, `python -c`, `npm run`,
377
+ `git -C …`) can still reach anything the user can. For real isolation, opt in to the Docker sandbox
378
+ (Docker is the one layer that works the same on macOS, Linux and Windows):
379
+
380
+ ```json
381
+ { "mcp": { "sandbox": { "mode": "docker", "image": "node:22-bookworm", "network": "none" } } }
382
+ ```
383
+
384
+ Each validated command then runs in a throwaway container that sees only the workspace (mounted at
385
+ `/workspace`), with no network (`"network": "bridge"` allows it, for `npm install` or `git fetch`),
386
+ none of the host's environment, no capabilities, a read-only root filesystem, and bounded memory,
387
+ CPUs and processes (`memory`, `cpus`, `pidsLimit`). Files it creates belong to you, not to root.
388
+ It fails closed: if Docker is down or the image is missing, the command is **not** run on the host.
389
+
390
+ The image must contain the toolchain your commands use (`node:22-bookworm` has node, npm, git,
391
+ python3, make and gcc; there is no `cargo` or `go`). Run `docker pull <image>` once beforehand,
392
+ since a first download counts against the command's timeout.
393
+
349
394
  **Confirmations.** `run_workspace_command`, `apply_workspace_patch` and `forget_memory` no longer
350
395
  ask the host for a second "Proceed?" by default — the allowlist, the rejection of shell chaining and
351
396
  the workspace-root path checks are what protect you, and your host has its own permission layer. To
@@ -52,7 +52,7 @@ class DashboardAPIServer {
52
52
  next();
53
53
  });
54
54
  // Error handling
55
- this.app.use((err, req, res, next) => {
55
+ this.app.use((err, req, res, _next) => {
56
56
  logger.error('Unhandled error:', err);
57
57
  res.status(500).json({ error: 'Internal server error' });
58
58
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/api/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/api/server.ts"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ class AutopilotWatcher {
38
38
  }, 1500);
39
39
  });
40
40
  }
41
- triggerBuild(modifiedFile) {
41
+ triggerBuild(_modifiedFile) {
42
42
  if (this.activeBuildProcess) {
43
43
  this.activeBuildProcess.kill();
44
44
  this.activeBuildProcess = null;
@@ -62,7 +62,7 @@ class AutopilotWatcher {
62
62
  if (!error)
63
63
  return;
64
64
  const output = stdout + '\n' + stderr;
65
- const tsErrorRegex = /([^\s\n]+\.(?:ts|tsx|js|jsx))[\s\(:]+(\d+)[\s,:]+(\d+)?[\s\)]*[\s-:]+error\s+(TS\d+):\s+([^\n]+)/;
65
+ const tsErrorRegex = /([^\s\n]+\.(?:ts|tsx|js|jsx))[\s(:]+(\d+)[\s,:]+(\d+)?[\s)]*[\s-:]+error\s+(TS\d+):\s+([^\n]+)/;
66
66
  const match = output.match(tsErrorRegex);
67
67
  if (!match)
68
68
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"AutopilotWatcher.js","sourceRoot":"","sources":["../../../src/autopilot/AutopilotWatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutopilotWatcher.js","sourceRoot":"","sources":["../../../src/autopilot/AutopilotWatcher.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Notifier.d.ts","sourceRoot":"","sources":["../../../src/autopilot/Notifier.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAyBzC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKvF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAO9C;AAgBD,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
1
+ {"version":3,"file":"Notifier.d.ts","sourceRoot":"","sources":["../../../src/autopilot/Notifier.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAwBzC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKvF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAO9C;AAgBD,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
@@ -10,7 +10,6 @@ const child_process_1 = require("child_process");
10
10
  const axios_1 = __importDefault(require("axios"));
11
11
  const path_1 = __importDefault(require("path"));
12
12
  const DASHBOARD_API_BASE = 'http://localhost:8081';
13
- const LEMMA_ICON = path_1.default.join(__dirname, '..', '..', 'assets', 'icon.png');
14
13
  function osascriptNotify(title, subtitle, message) {
15
14
  try {
16
15
  (0, child_process_1.execSync)(`osascript -e 'display notification "${message.replace(/"/g, '\\"')}" with title "${title.replace(/"/g, '\\"')}" subtitle "${subtitle.replace(/"/g, '\\"')}" sound name "default"'`, { timeout: 3000 });
@@ -1 +1 @@
1
- {"version":3,"file":"Notifier.js","sourceRoot":"","sources":["../../../src/autopilot/Notifier.ts"],"names":[],"mappings":";;;;;AA6BA,4CAKC;AAED,kCAOC;AAgBD,kCAEC;AA7DD,iDAAwC;AACxC,kDAAyB;AACzB,gDAAuB;AAIvB,MAAM,kBAAkB,GAAG,uBAAuB,CAAA;AAClD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAA;AAEzE,SAAS,eAAe,CAAC,KAAa,EAAE,QAAgB,EAAE,OAAe;IACvE,IAAI,CAAC;QACH,IAAA,wBAAQ,EACN,uCAAuC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,iBAAiB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,yBAAyB,EACnL,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,QAAgB,EAAE,OAAe;IAC9E,IAAI,CAAC;QACH,IAAA,wBAAQ,EACN,6BAA6B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,8BAA8B,EAC7K,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAa,EAAE,QAAgB,EAAE,OAAe;IAC/E,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS;YAAE,OAAM;QACnD,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,KAAY;IACtC,MAAM,KAAK,GAAG,aAAa,KAAK,CAAC,SAAS,EAAE,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;IACjE,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAE/C,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;IACtC,eAAe,CAAC,KAAK,CAAC,CAAA;AACxB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,KAAY;IACzC,IAAI,CAAC;QACH,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,qBAAqB,EAAE;YAC3D,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,SAAgB,WAAW;IACzB,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAA;AACxE,CAAC"}
1
+ {"version":3,"file":"Notifier.js","sourceRoot":"","sources":["../../../src/autopilot/Notifier.ts"],"names":[],"mappings":";;;;;AA2BA,4CAKC;AAED,kCAOC;AAgBD,kCAEC;AA3DD,iDAAwC;AACxC,kDAAyB;AACzB,gDAAuB;AAGvB,MAAM,kBAAkB,GAAG,uBAAuB,CAAA;AAElD,SAAS,eAAe,CAAC,KAAa,EAAE,QAAgB,EAAE,OAAe;IACvE,IAAI,CAAC;QACH,IAAA,wBAAQ,EACN,uCAAuC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,iBAAiB,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,yBAAyB,EACnL,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,QAAgB,EAAE,OAAe;IAC9E,IAAI,CAAC;QACH,IAAA,wBAAQ,EACN,6BAA6B,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,eAAe,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,8BAA8B,EAC7K,EAAE,OAAO,EAAE,IAAI,EAAE,CAClB,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAa,EAAE,QAAgB,EAAE,OAAe;IAC/E,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS;YAAE,OAAM;QACnD,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;IAClD,CAAC;AACH,CAAC;AAED,SAAgB,WAAW,CAAC,KAAY;IACtC,MAAM,KAAK,GAAG,aAAa,KAAK,CAAC,SAAS,EAAE,CAAA;IAC5C,MAAM,QAAQ,GAAG,GAAG,cAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAA;IACjE,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IAE/C,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;IACtC,eAAe,CAAC,KAAK,CAAC,CAAA;AACxB,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,KAAY;IACzC,IAAI,CAAC;QACH,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,qBAAqB,EAAE;YAC3D,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;IACvB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,SAAgB,WAAW;IACzB,gBAAgB,CAAC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,CAAC,CAAA;AACxE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lemma-proxy.d.ts","sourceRoot":"","sources":["../../../src/cli/lemma-proxy.ts"],"names":[],"mappings":";AAidA,wBAAgB,+BAA+B,CAAC,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CA8DvF;AAqfD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGtD;AA4tDD,wBAAsB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8KhL"}
1
+ {"version":3,"file":"lemma-proxy.d.ts","sourceRoot":"","sources":["../../../src/cli/lemma-proxy.ts"],"names":[],"mappings":";AAwcA,wBAAgB,+BAA+B,CAAC,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CA8DvF;AAifD,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAGtD;AA6tDD,wBAAsB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA8KhL"}
@@ -61,7 +61,7 @@ const gitHooks_1 = require("./gitHooks");
61
61
  const hostHooks_1 = require("./hostHooks");
62
62
  const TheBrainV2_1 = require("../subconscious/TheBrainV2");
63
63
  const chroma = new chromadb_1.ChromaClient({ host: 'localhost', port: 8000 });
64
- const dummyEmbeddingFunction = { generate: (texts) => Promise.resolve([]) };
64
+ const dummyEmbeddingFunction = { generate: (_texts) => Promise.resolve([]) };
65
65
  const complexityRouter = new ComplexityRouter_1.default();
66
66
  const semanticScrubber = new SemanticScrubber_1.default();
67
67
  const cloudSync = new CloudSyncClient_1.default();
@@ -70,15 +70,6 @@ const keyManager = new KeyManager_1.KeyManager();
70
70
  const gatekeeper = new Gatekeeper_1.Gatekeeper(keyManager);
71
71
  // ── Paths ──────────────────────────────────────────────────────────────────────
72
72
  const VALIDATE_URL = 'https://lemma.nxus.studio/api/validate-license';
73
- async function checkDependency(url) {
74
- try {
75
- const resp = await fetch(url, { method: 'HEAD', signal: AbortSignal.timeout(2000) });
76
- return resp.ok;
77
- }
78
- catch {
79
- return false;
80
- }
81
- }
82
73
  function getPidByPort(port) {
83
74
  try {
84
75
  const result = require('child_process').execSync(`lsof -ti :${port} 2>/dev/null`, { encoding: 'utf8' }).trim();
@@ -626,12 +617,18 @@ async function recordStat(stats, project, fromCache, latencyMs, provider, tokens
626
617
  const s = stats[project];
627
618
  s.total++;
628
619
  s.totalLatency += latencyMs;
629
- fromCache ? s.hits++ : s.misses++;
620
+ if (fromCache)
621
+ s.hits++;
622
+ else
623
+ s.misses++;
630
624
  const tkSaved = fromCache ? (tokensSaved || 2000) : (tokensSaved || 0);
631
625
  s.totalTokensSaved += tkSaved;
632
626
  if (!s.providers[provider])
633
627
  s.providers[provider] = { hits: 0, misses: 0 };
634
- fromCache ? s.providers[provider].hits++ : s.providers[provider].misses++;
628
+ if (fromCache)
629
+ s.providers[provider].hits++;
630
+ else
631
+ s.providers[provider].misses++;
635
632
  // Only measured savings reach the ledger. `tokensSaved === undefined` means the
636
633
  // caller never counted, so tkSaved is the 2000 placeholder — usable for the
637
634
  // dashboard, not for a net-position claim.
@@ -1260,7 +1257,7 @@ class LemmaServer {
1260
1257
  const emb = await getEmbedding(query);
1261
1258
  if (!emb)
1262
1259
  throw new Error('Failed to generate embedding');
1263
- let allResults = [];
1260
+ const allResults = [];
1264
1261
  // 1. Query all collections starting with 'lemma-cache' for cross-project search
1265
1262
  const collections = await chroma.listCollections();
1266
1263
  const targetCollections = collections.filter((c) => c.name.startsWith('lemma-cache'));
@@ -1367,7 +1364,7 @@ class LemmaServer {
1367
1364
  // and look like a Brain nobody uses, so they're dropped rather than shown misleadingly.
1368
1365
  this.app.get('/api/brain/stats', (req, res) => {
1369
1366
  try {
1370
- const { cacheHits, cacheMisses, ...stats } = (0, TheBrainV2_1.getBrain)().getStats();
1367
+ const { cacheHits: _cacheHits, cacheMisses: _cacheMisses, ...stats } = (0, TheBrainV2_1.getBrain)().getStats();
1371
1368
  res.json(stats);
1372
1369
  }
1373
1370
  catch (e) {
@@ -1571,7 +1568,10 @@ class LemmaServer {
1571
1568
  }
1572
1569
  if (!s.providers['mcp'])
1573
1570
  s.providers['mcp'] = { hits: 0, misses: 0 };
1574
- source === 'cache' ? s.providers['mcp'].hits++ : s.providers['mcp'].misses++;
1571
+ if (source === 'cache')
1572
+ s.providers['mcp'].hits++;
1573
+ else
1574
+ s.providers['mcp'].misses++;
1575
1575
  // Write updated stats back to disk immediately
1576
1576
  writeJson(ProjectStore_1.STATS_FILE, this.stats);
1577
1577
  // Push to live telemetry logEvent array so the Dashboard event timeline updates instantly!
@@ -2070,7 +2070,7 @@ Adjusted Answer:`;
2070
2070
  }
2071
2071
  }
2072
2072
  async callUpstream(body, provider) {
2073
- let apiKey = provider === 'openai' ? process.env.OPENAI_API_KEY : (provider === 'anthropic' ? process.env.ANTHROPIC_API_KEY : process.env.GEMINI_API_KEY);
2073
+ const apiKey = provider === 'openai' ? process.env.OPENAI_API_KEY : (provider === 'anthropic' ? process.env.ANTHROPIC_API_KEY : process.env.GEMINI_API_KEY);
2074
2074
  // If the API key is an OpenAI key (sk-proj-) but requested for Anthropic or Gemini,
2075
2075
  // multiplex it internally to OpenAI gpt-4o-mini to allow live, cheap simulated provider routing.
2076
2076
  const isMockedProvider = apiKey && apiKey.startsWith('sk-') && provider !== 'openai';
@@ -2660,7 +2660,7 @@ Return your response in a clear JSON format with two keys:
2660
2660
  Ensure you return strictly JSON. Do not return any other text outside the JSON block.`;
2661
2661
  // Call local Ollama or the premium model
2662
2662
  console.log('🧠 Running AI Diagnostics...');
2663
- let apiKey = process.env.OPENAI_API_KEY || process.env.ANTHROPIC_API_KEY || process.env.GEMINI_API_KEY;
2663
+ const apiKey = process.env.OPENAI_API_KEY || process.env.ANTHROPIC_API_KEY || process.env.GEMINI_API_KEY;
2664
2664
  let fixedJson = null;
2665
2665
  try {
2666
2666
  if (!apiKey) {
@@ -2790,7 +2790,7 @@ commander_1.program.command('patches')
2790
2790
  .option('--pending', 'Show only pending patches')
2791
2791
  .option('--all', 'Show all patches (including applied/discarded)')
2792
2792
  .action((opts) => {
2793
- const { listPatches, countPending } = require('../autopilot/PatchStore');
2793
+ const { listPatches, countPending: _countPending } = require('../autopilot/PatchStore');
2794
2794
  const status = opts.pending ? 'pending' : undefined;
2795
2795
  const showAll = opts.all;
2796
2796
  const patches = showAll ? listPatches() : listPatches(status);