@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
@@ -7,6 +7,8 @@
7
7
  import fs from "fs";
8
8
  import path from "path";
9
9
  import { spawn } from "child_process";
10
+ import { buildCommandEnv, loadCommandEnvPolicy } from "../../utils/CommandEnv.js";
11
+ import { buildDockerInvocation, loadSandboxPolicy } from "../../utils/CommandSandbox.js";
10
12
  import { SemanticScrubber } from "../../security/SemanticScrubber.js";
11
13
  import { getBrain } from "../../subconscious/TheBrainV2.js";
12
14
  import { squeezeCode } from "../../utils/ContextSqueezer.js";
@@ -442,19 +444,22 @@ async function handleApplyWorkspacePatch(args) {
442
444
  // would otherwise defeat the point of making the tool pollable. `spawn` keeps the event loop
443
445
  // free while the command runs. Shape of the resolved value mirrors spawnSync's return value
444
446
  // on the fields the caller actually reads, so the rest of handleRunWorkspaceCommand is unchanged.
445
- function spawnCollect(command, cwd, timeoutMs) {
447
+ function spawnCollect(command, cwd, timeoutMs, sandbox) {
446
448
  return new Promise((resolve) => {
447
- const child = spawn(command, {
449
+ // Sandboxed: run the docker CLI itself (no host shell); the command is an argv entry inside the container.
450
+ const spawnOptions = {
448
451
  cwd,
449
- shell: true,
450
- env: { ...process.env },
452
+ env: sandbox ? sandbox.env : buildCommandEnv(process.env, loadCommandEnvPolicy(cwd)).env,
451
453
  // spawnSync closed stdin immediately (no `input` option given), so a command reading
452
454
  // from stdin (e.g. `sed` with no file argument) saw EOF right away. Plain `spawn`
453
455
  // leaves stdin as an open pipe by default — nothing ever writes to or closes it — so
454
456
  // the same command hangs until the timeout kills it. "ignore" reproduces the old,
455
457
  // immediate-EOF behavior.
456
458
  stdio: ["ignore", "pipe", "pipe"],
457
- });
459
+ };
460
+ const child = sandbox
461
+ ? spawn(sandbox.invocation.file, sandbox.invocation.args, { ...spawnOptions, shell: false })
462
+ : spawn(command, { ...spawnOptions, shell: true });
458
463
  let stdout = "";
459
464
  let stderr = "";
460
465
  let stdoutBytes = 0;
@@ -465,6 +470,9 @@ function spawnCollect(command, cwd, timeoutMs) {
465
470
  const timer = setTimeout(() => {
466
471
  timedOut = true;
467
472
  child.kill("SIGTERM");
473
+ // Killing the docker CLI is not guaranteed to stop the container; kill it by name too.
474
+ if (sandbox)
475
+ spawn("docker", ["kill", sandbox.invocation.name], { stdio: "ignore" }).on("error", () => undefined);
468
476
  }, timeoutMs);
469
477
  child.stdout?.on("data", (chunk) => {
470
478
  if (stdoutBytes >= MAX_BUFFER)
@@ -498,8 +506,9 @@ async function handleRunWorkspaceCommand(args) {
498
506
  const command = args?.command;
499
507
  if (!command)
500
508
  throw new Error("command is required");
509
+ const workspaceRoot = process.cwd();
501
510
  // ── Security: allowlist check ──────────────────────────────────────────────
502
- const check = isCommandAllowed(command);
511
+ const check = isCommandAllowed(command, workspaceRoot);
503
512
  if (!check.allowed) {
504
513
  recordExecAudit({ tool: "run_workspace_command", detail: command, allowed: false, reason: check.reason });
505
514
  const allowed = loadAllowedCommands().join(', ');
@@ -522,7 +531,6 @@ async function handleRunWorkspaceCommand(args) {
522
531
  };
523
532
  }
524
533
  // ── End allowlist check ────────────────────────────────────────────────
525
- const workspaceRoot = process.cwd();
526
534
  try {
527
535
  // spawn (via spawnCollect above) rather than execSync: execSync leaves stderr attached to
528
536
  // the parent unless stdio is overridden, which silently dropped the output of every tool
@@ -539,15 +547,44 @@ async function handleRunWorkspaceCommand(args) {
539
547
  if (elicited.supported && !elicited.confirmed) {
540
548
  return { content: [{ type: "text", text: `Command was not run: declined during confirmation.\n\nCommand: ${command}` }] };
541
549
  }
542
- const result = await spawnCollect(command, workspaceRoot, timeoutMs);
550
+ // Opt-in container isolation. Fail closed: a sandbox that is enabled but cannot start means the
551
+ // command is not run, never that it quietly runs on the host instead.
552
+ let sandbox;
553
+ try {
554
+ const policy = loadSandboxPolicy(workspaceRoot);
555
+ if (policy.mode === "docker") {
556
+ const envPolicy = loadCommandEnvPolicy(workspaceRoot);
557
+ const filtered = buildCommandEnv(process.env, envPolicy).env;
558
+ const hostEnv = { ...filtered };
559
+ // The docker CLI needs to find its daemon and config; the container never sees these.
560
+ for (const name of ["DOCKER_HOST", "DOCKER_CONTEXT", "DOCKER_CONFIG", "DOCKER_TLS_VERIFY", "DOCKER_CERT_PATH"]) {
561
+ if (process.env[name] !== undefined)
562
+ hostEnv[name] = process.env[name];
563
+ }
564
+ sandbox = { invocation: buildDockerInvocation(command, workspaceRoot, policy, filtered, envPolicy.allow), env: hostEnv };
565
+ }
566
+ }
567
+ catch (err) {
568
+ recordExecAudit({ tool: "run_workspace_command", detail: command, allowed: false, reason: `sandbox config: ${err.message}` });
569
+ return { content: [{ type: "text", text: `Command was not run: the sandbox is misconfigured. ${err.message}` }] };
570
+ }
571
+ const result = await spawnCollect(command, workspaceRoot, timeoutMs, sandbox);
543
572
  const timedOut = result.timedOut;
544
573
  recordExecAudit({
545
574
  tool: "run_workspace_command",
546
575
  detail: command,
547
576
  allowed: true,
548
577
  exitCode: result.status,
549
- reason: timedOut ? "timed out" : undefined,
578
+ reason: timedOut ? "timed out" : sandbox ? "sandbox:docker" : undefined,
550
579
  });
580
+ // `docker run` exits 125 when Docker itself fails (daemon down, image missing, bad flag), as opposed
581
+ // to the contained command's own exit code.
582
+ if (sandbox && !timedOut && (result.error || result.status === 125)) {
583
+ const why = result.error ? result.error.message : (result.stderr || "").trim().split("\n").slice(-3).join(" ");
584
+ return {
585
+ content: [{ type: "text", text: `Command was not run: the Docker sandbox could not start (mcp.sandbox.mode is "docker"). It did NOT fall back to running on the host. ${why}\n\nCheck that Docker is running and the image exists (docker pull ${sandbox.invocation.image}), or set mcp.sandbox.mode to "off".` }],
586
+ };
587
+ }
551
588
  if (result.error && !timedOut) {
552
589
  return {
553
590
  content: [{ type: "text", text: `Command could not be executed: ${result.error.message}` }],
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../src/mcp/tools/workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../../src/mcp/tools/workspace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAyB,MAAM,4BAA4B,CAAC;AAE7G,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,QAAQ,EACR,OAAO,EACP,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,QAAQ,EAAE,WAAW,IAAI,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAC1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAe,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC9F,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACtG,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGpH,MAAM,CAAC,MAAM,0BAA0B,GAAqB;IAC1D;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QAC/E,WAAW,EAAE,gsBAAgsB;QAC7sB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBAC9E,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,6CAA6C,EAAE,OAAO,EAAE,IAAI,EAAE;gBACvG,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,wEAAwE,EAAE,OAAO,EAAE,KAAK,EAAE;gBACjI,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,iEAAiE,EAAE,OAAO,EAAE,IAAI,EAAE;gBAC/H,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iEAAiE,EAAE;gBAC1G,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8DAA8D,EAAE;aACvG;YACD,QAAQ,EAAE,CAAC,UAAU,CAAC;SACvB;KACF;IACD;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QACvG,WAAW,EAAE,+FAA+F;QAC5G,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBAC9E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+BAA+B,EAAE;aAC1E;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;SAClC;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACzG,WAAW,EAAE,2SAA2S;QACxT,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oDAAoD,EAAE;gBAC/F,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+CAA+C,EAAE;aAC1F;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;SAClC;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACxG,WAAW,EAAE,2VAA2V;QACxW,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mCAAmC,EAAE;gBAC9E,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;gBAChF,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;aACzE;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,gBAAgB,CAAC;SAC1D;KACF;IACD;QACE,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;QACvG,SAAS,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;QACtC,WAAW,EACT,mrBAAmrB;QACrrB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE;gBACnE,GAAG,EAAE;oBACH,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,oEAAoE;oBACjF,OAAO,EAAE,KAAK;iBACf;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,wEAAwE;oBACrF,OAAO,EAAE,MAAM;iBAChB;aACF;YACD,QAAQ,EAAE,CAAC,SAAS,CAAC;SACtB;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QAC/E,WAAW,EACT,+VAA+V;QACjW,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;gBACvF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iEAAiE,EAAE;gBAC3G,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6CAA6C,EAAE;gBACzF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4CAA4C,EAAE;gBACtF,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,mCAAmC,EAAE,OAAO,EAAE,KAAK,EAAE;aAC3F;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QAC/E,WAAW,EAAE,iFAAiF;QAC9F,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oCAAoC,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC3F,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAC,EAAE;aACjF;SACF;KACF;CACF,CAAC;AAEF,KAAK,UAAU,uBAAuB,CAAC,IAAyB;IAC9D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAkB,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAO,KAAK,KAAK,CAAC;IACxC,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;IAC5B,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,KAAK,KAAK,CAAC;IAChD,MAAM,MAAM,GAAG,OAAO,IAAI,EAAE,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzG,MAAM,KAAK,GAAG,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrG,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAEvD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAErD,wFAAwF;QACxF,+EAA+E;QAC/E,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QACzF,MAAM,MAAM,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;QAC/F,MAAM,WAAW,GACf,MAAM,IAAI,KAAK;YACb,CAAC,CAAC,UAAU,UAAU,GAAG,CAAC,IAAI,QAAQ,OAAO,QAAQ,CAAC,MAAM,OAAO,QAAQ,KAAK;YAChF,CAAC,CAAC,EAAE,CAAC;QAET,IAAI,OAAO,GAAG,MAAM,CAAC;QACrB,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;QACpC,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAExD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YAC9B,aAAa,CAAC;gBACZ,MAAM,EAAE,gBAAgB;gBACxB,WAAW,EAAE,YAAY;gBACzB,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,qBAAqB;gBAC/B,QAAQ;aACT,CAAC,CAAC;YACH,qFAAqF;YACrF,uFAAuF;YACvF,uFAAuF;YACvF,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACrE,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE;4BACJ,cAAc,QAAQ,6DAA6D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,+BAA+B;4BACzI,0EAA0E;4BAC1E,OAAO;yBACR,CAAC,IAAI,CAAC,IAAI,CAAC;qBACb;iBACF;aACF,CAAC;QACJ,CAAC;QAED,mFAAmF;QACnF,iFAAiF;QACjF,IAAI,OAAO,GAAgC,IAAI,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;YACtG,CAAC;YACD,OAAO,GAAG,QAAQ,CAAC;YACnB,IAAI,OAAO,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;gBAClC,aAAa,CAAC;oBACZ,MAAM,EAAE,gBAAgB;oBACxB,WAAW,EAAE,YAAY;oBACzB,UAAU,EAAE,OAAO,CAAC,MAAM;oBAC1B,QAAQ,EAAE,qBAAqB;oBAC/B,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,EAAE,CAAC;YACvB,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACxC,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,sFAAsF;YACtF,+EAA+E;YAC/E,IAAI,OAAO,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;gBAC9E,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;YACD,OAAO,GAAG,YAAY,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,qBAAqB,EAAE,gDAAgD,CAAC,CAAC;QACnF,CAAC;QAED,IAAI,OAAO;YAAE,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAEzD,qFAAqF;QACrF,oFAAoF;QACpF,iFAAiF;QACjF,oFAAoF;QACpF,iFAAiF;QACjF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,eAAe,GAAG,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACvD,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,eAAe,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBACxD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,aAAa,CAAC;wBACZ,MAAM,EAAE,gBAAgB;wBACxB,WAAW,EAAE,OAAO,CAAC,MAAM;wBAC3B,UAAU,EAAE,KAAK,CAAC,IAAK,CAAC,MAAM;wBAC9B,QAAQ,EAAE,qBAAqB;wBAC/B,QAAQ;qBACT,CAAC,CAAC;oBACH,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBAChD,aAAa,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;oBACvC,OAAO;wBACL,OAAO,EAAE;4BACP;gCACE,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE;oCACJ,YAAY,QAAQ,MAAM,KAAK,CAAC,SAAS,cAAc,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,0BAA0B;oCAC9G,oGAAoG;oCACpG,4DAA4D;oCAC5D,EAAE;oCACF,KAAK,CAAC,IAAK;iCACZ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC;6BACzF;yBACF;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAED,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1B,aAAa,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,GAAG,mBAAmB,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;IAClJ,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QACrC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IACrF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,IAAyB;IAC/D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAkB,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAiB,CAAC;IACxC,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAE7F,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,eAAe,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1B,MAAM,WAAW,GAAG,qBAAqB,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,QAAQ,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC;IACrG,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,QAAQ,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,uBAAuB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IACrF,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,KAAK,UAAU,yBAAyB,CAAC,IAAyB;IAChE,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAkB,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,EAAE,OAAiB,CAAC;IACxC,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAE7F,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC9D,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iCAAiC,QAAQ,mEAAmE,EAAE,CAAC,EAAE,CAAC;QAC7J,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,eAAe,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC1B,sEAAsE;QACtE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC;IACzE,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wBAAwB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IACtF,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,MAAM,MAAM,GAAG,cAAc,CAAC;IAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACxD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,+EAA+E;AAC/E,iFAAiF;AACjF,KAAK,UAAU,UAAU,CACvB,KAAkB,EAClB,QAAgB,EAChB,QAAgB,EAChB,eAAuB,EACvB,aAAqB,EACrB,cAAsB;IAEtB,IAAI,cAAsB,CAAC;IAE3B,+FAA+F;IAC/F,uGAAuG;IACvG,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;IAEvC,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/F,gFAAgF;QAChF,uEAAuE;QACvE,cAAc,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/I,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,mBAAmB,CACtC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EACrC,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,EACpC,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,EAC7B,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CACxF,CAAC;QACF,8FAA8F;QAC9F,+EAA+E;QAC/E,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,YAAY,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpJ,cAAc,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,QAAQ,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjI,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAC1C,oBAAoB,QAAQ,mBAAmB,aAAa,CAAC,MAAM,iBAAiB,cAAc,CAAC,MAAM,WAAW;QAClH,oBAAoB,KAAK,CAAC,SAAS,GAAG,CAAC,GAAG,CAC7C,CAAC;IACF,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,QAAQ,iDAAiD,EAAE,CAAC,EAAE,CAAC;IACtH,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IACnD,eAAe,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACpF,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE1B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,KAAK,CAAC,QAAQ,WAAW,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACnH,MAAM,WAAW,GAAG,qBAAqB,CAAC,QAAQ,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0CAA0C,QAAQ,GAAG,IAAI,GAAG,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC;AAC1H,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,IAAyB;IAChE,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAkB,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,EAAE,aAAuB,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,EAAE,cAAwB,CAAC;IAClD,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,aAAa,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACvD,4FAA4F;IAC5F,uFAAuF;IACvF,uEAAuE;IACvE,MAAM,cAAc,GAAG,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEpG,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,QAAQ,kBAAkB,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QACD,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,SAAS,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAE9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACvC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,IAAI,EAAE,CAAC;gBAChD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,MAAM,GAAG,MAAM,eAAe,CAClC,GAAG,UAAU,CAAC,MAAM,yDAAyD,QAAQ,gCAAgC,EACrH,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACrB,KAAK,EAAE,QAAQ,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;qBAC/E,CAAC,CAAC,CACJ,CAAC;oBACF,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;wBAC1B,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;oBAClH,CAAC;gBACH,CAAC;gBACD,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,0JAA0J;yBACjK;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,IAAI,WAAW,CAAC,aAAa,EAAE,CAAC;gBAC9B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,kFAAkF,WAAW,CAAC,kBAAkB,0DAA0D,WAAW,CAAC,aAAa,EAAE;yBAC5M;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,iGAAiG;qBACxG;iBACF;aACF,CAAC;QACJ,CAAC;QAED,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACxG,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IACvF,CAAC;AACH,CAAC;AAUD,oFAAoF;AACpF,2FAA2F;AAC3F,6FAA6F;AAC7F,6FAA6F;AAC7F,4FAA4F;AAC5F,kGAAkG;AAClG,SAAS,YAAY,CAAC,OAAe,EAAE,GAAW,EAAE,SAAiB,EAAE,OAAkE;IACvI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,2GAA2G;QAC3G,MAAM,YAAY,GAAG;YACnB,GAAG;YACH,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YACxF,qFAAqF;YACrF,kFAAkF;YAClF,qFAAqF;YACrF,kFAAkF;YAClF,0BAA0B;YAC1B,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAA+B;SAChE,CAAC;QACF,MAAM,KAAK,GAAG,OAAO;YACnB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC5F,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAErD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;QACpC,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,uFAAuF;YACvF,IAAI,OAAO;gBAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACpH,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,IAAI,WAAW,IAAI,UAAU;gBAAE,OAAO;YACtC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,IAAI,WAAW,IAAI,UAAU;gBAAE,OAAO;YACtC,WAAW,IAAI,KAAK,CAAC,MAAM,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,IAAyB;IAChE,MAAM,OAAO,GAAG,IAAI,EAAE,OAAiB,CAAC;IACxC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAErD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEpC,8EAA8E;IAC9E,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACvD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACnB,eAAe,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1G,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE;wBACJ,6CAA6C;wBAC7C,EAAE;wBACF,YAAY,OAAO,EAAE;wBACrB,WAAW,KAAK,CAAC,MAAM,IAAI,8CAA8C,EAAE;wBAC3E,EAAE;wBACF,2BAA2B;wBAC3B,KAAK,OAAO,EAAE;wBACd,EAAE;wBACF,oDAAoD;wBACpD,6DAA6D;qBAC9D,CAAC,IAAI,CAAC,IAAI,CAAC;iBACb,CAAC;SACH,CAAC;IACJ,CAAC;IACD,0EAA0E;IAE1E,IAAI,CAAC;QACH,0FAA0F;QAC1F,yFAAyF;QACzF,sFAAsF;QACtF,8FAA8F;QAC9F,uFAAuF;QACvF,yFAAyF;QACzF,wFAAwF;QACxF,MAAM,kBAAkB,GAAG,MAAO,CAAC;QACnC,MAAM,cAAc,GAAG,MAAO,CAAC;QAC/B,MAAM,SAAS,GAAG,OAAO,IAAI,EAAE,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAClH,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC,CAAC;QAElE,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,8CAA8C,OAAO,EAAE,CAAC,CAAC;QACtG,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;YAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kEAAkE,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;QAC5H,CAAC;QAED,gGAAgG;QAChG,sEAAsE;QACtE,IAAI,OAA6E,CAAC;QAClF,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,SAAS,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBACtD,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,GAAG,CAAC;gBAC7D,MAAM,OAAO,GAAsB,EAAE,GAAG,QAAQ,EAAE,CAAC;gBACnD,sFAAsF;gBACtF,KAAK,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,CAAC,EAAE,CAAC;oBAC/G,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,SAAS;wBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,GAAG,EAAE,UAAU,EAAE,qBAAqB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;YAC3H,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,eAAe,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9H,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;QACpH,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,eAAe,CAAC;YACd,IAAI,EAAE,uBAAuB;YAC7B,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,MAAM,CAAC,MAAM;YACvB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS;SACxE,CAAC,CAAC;QAEH,qGAAqG;QACrG,4CAA4C;QAC5C,IAAI,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;YACpE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/G,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,wIAAwI,GAAG,sEAAsE,OAAO,CAAC,UAAU,CAAC,KAAK,sCAAsC,EAAE,CAAC;aACnT,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAkC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;aAC5F,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACnC,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnF,yFAAyF;QACzF,0FAA0F;QAC1F,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,uBAAuB,EAAE,6CAA6C,CAAC,CAAC;YAChF,QAAQ,GAAG,4CAA4C,CAAC;QAC1D,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;QAElC,wFAAwF;QACxF,yFAAyF;QACzF,yBAAyB;QACzB,MAAM,OAAO,GAAG,QAAQ;YACtB,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;YACd,CAAC,CAAC,CAAC,GAAG,EAAE;gBACJ,IAAI,CAAC;oBACH,OAAO,oBAAoB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACvG,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,+DAA+D;gBACtF,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QAET,uFAAuF;QACvF,kFAAkF;QAClF,MAAM,MAAM,GAAG,QAAQ;YACrB,CAAC,CAAC,2BAA2B,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,OAAO,oIAAoI;YACnN,CAAC,CAAC,MAAM,KAAK,CAAC;gBACZ,CAAC,CAAC,iCAAiC;gBACnC,CAAC,CAAC,iCAAiC,MAAM,GAAG,CAAC;QAEjD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YACrB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,kBAAkB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAC1F,CAAC;QAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;QACvF,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,kBAAkB,CAAC,WAAW,EAAE,oCAAoC,SAAS,CAAC,MAAM,GAAG,EAAE;gBACvF,OAAO;gBACP,aAAa,EAAE,SAAS,CAAC,aAAa;gBACtC,cAAc,EAAE,SAAS,CAAC,cAAc;gBACxC,MAAM,EAAE,SAAS,CAAC,MAAM;aACzB,CAAC,CAAC;QACL,CAAC;QAED,oFAAoF;QACpF,wFAAwF;QACxF,kFAAkF;QAClF,qFAAqF;QACrF,8EAA8E;QAC9E,MAAM,IAAI,GAAG,GAAG,MAAM,gBAAgB,SAAS,CAAC,IAAI,EAAE,CAAC;QACvD,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,SAAS,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;QACzG,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE;YACpC,KAAK,EAAE,KAAK,OAAO,IAAI;YACvB,SAAS,EAAE,kFAAkF;SAC9F,CAAC,CAAC;QACH,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE9B,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,aAAa,CAAC;gBACZ,MAAM,EAAE,gBAAgB;gBACxB,WAAW,EAAE,IAAI,CAAC,MAAM;gBACxB,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM;gBACrC,QAAQ,EAAE,uBAAuB;aAClC,CAAC,CAAC;YACH,kBAAkB,CAAC,WAAW,EAAE,yBAAyB,MAAM,CAAC,MAAM,kBAAkB,EAAE;gBACxF,OAAO;gBACP,UAAU,EAAE,MAAM,CAAC,UAAU;aAC9B,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE;aACrD;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,kCAAkC,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;iBACtE;aACF;SACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,IAAyB;IACzD,MAAM,MAAM,GAAG,IAAI,EAAE,MAAgB,CAAC;IACtC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,UAAU,CAAC;QACxB,MAAM;QACN,OAAO,EAAE,IAAI,EAAE,OAAO;QACtB,SAAS,EAAE,IAAI,EAAE,SAAS;QAC1B,OAAO,EAAE,IAAI,EAAE,OAAO;QACtB,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,IAAI;KACxB,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,qCAAqC,MAAM,IAAI,CAAC,CAAC;QAChF,IAAI,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1F,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IACjE,CAAC;IAED,MAAM,KAAK,GACT,MAAM,CAAC,SAAS,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,UAAU;QAC5D,CAAC,CAAC,oBAAoB,MAAM,CAAC,UAAU,SAAS;QAChD,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,OAAO,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAE5E,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,oBAAoB,MAAM,CAAC,OAAO,IAAI,GAAG,QAAQ,KAAK,kBAAkB,MAAM,CAAC,IAAI,EAAE;aAC5F;SACF;KACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,IAAyB;IAC7D,MAAM,OAAO,GAAI,IAAI,EAAE,OAAkB,IAAI,EAAE,CAAC;IAChD,MAAM,QAAQ,GAAI,IAAI,EAAE,QAAmB,IAAI,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEpC,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC7D,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;QAC7D,0FAA0F;QAC1F,2FAA2F;QAC3F,MAAM,WAAW,GAAG,IAAI,CAAC;QACzB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACzC,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC;YACtB,CAAC,CAAC,SAAS,OAAO,4BAA4B,GAAG,CAAC,MAAM,6EAA6E;YACrI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,sCAAsC;iBACxF;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,QAAQ,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,4BAA4B,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAgC;IAClE,mBAAmB,EAAE,uBAAuB;IAC5C,oBAAoB,EAAE,wBAAwB;IAC9C,qBAAqB,EAAE,yBAAyB;IAChD,qBAAqB,EAAE,yBAAyB;IAChD,qBAAqB,EAAE,yBAAyB;IAChD,aAAa,EAAE,kBAAkB;IACjC,kBAAkB,EAAE,sBAAsB;CAC3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAgBnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAmS7D,oFAAoF;AACpF,wBAAgB,kBAAkB,IAAI,MAAM,CAM3C;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAED,iEAAiE;AACjE,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,IAAI;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAQA;AAkED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmBD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,MAAM,CAK7F;AAiDD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAC1C,IAAI,CA+HN;AAkPD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsExD;AAKD,eAAO,MAAM,yBAAyB,0BAAoB,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAanE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAuQ7D,oFAAoF;AACpF,wBAAgB,kBAAkB,IAAI,MAAM,CAM3C;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAED,iEAAiE;AACjE,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,IAAI;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAQA;AAkED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAmBD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,MAAM,CAK7F;AAiDD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAC1C,IAAI,CA+HN;AAkPD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsExD;AAKD,eAAO,MAAM,yBAAyB,0BAAoB,CAAC"}
@@ -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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"}
@@ -70,7 +70,7 @@ export declare function loadAllowedCommands(): string[];
70
70
  * substitution, backgrounding, and subshells are rejected outright rather than enumerated
71
71
  * as "not yet seen as dangerous".
72
72
  */
73
- export declare function isCommandAllowed(command: string): {
73
+ export declare function isCommandAllowed(command: string, workspaceRoot?: string): {
74
74
  allowed: boolean;
75
75
  prefix?: string;
76
76
  reason?: string;
@@ -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;AA8HD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAgB9C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAiDxG"}
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"}
@@ -312,11 +312,120 @@ const TRUSTED_EXEC_DIRS = new Set(["/usr/bin", "/bin", "/usr/local/bin", "/opt/h
312
312
  * allowed command ran with the allowlist's blessing.
313
313
  */
314
314
  function isTrustedExecutable(token) {
315
- if (!token.includes("/"))
315
+ // Backslash is a path separator on Windows: `..\tools\git` has no "/" and used to pass as a bare name.
316
+ const normalized = token.replace(/\\/g, "/");
317
+ if (!normalized.includes("/"))
316
318
  return true;
317
- const dir = path.dirname(token).replace(/\\/g, "/");
319
+ const dir = path.posix.dirname(normalized);
318
320
  return TRUSTED_EXEC_DIRS.has(dir) || /(^|\/)node_modules\/\.bin$/.test(dir);
319
321
  }
322
+ /**
323
+ * Marker left in a token where the shell would expand a variable. shell-quote replaces an undefined
324
+ * variable with '' by default, which made `ls $HOME` look like `ls ''`.
325
+ */
326
+ const ENV_MARK = "\uE000";
327
+ const envMarker = (name) => `${ENV_MARK}${name}${ENV_MARK}`;
328
+ /** Commands whose operands are files they read (or, for sort -o and sed -i, write). */
329
+ const FILE_OPERAND_COMMANDS = new Set([
330
+ "cat", "head", "tail", "ls", "wc", "file", "stat", "du", "diff", "sort", "uniq", "cut", "realpath",
331
+ ]);
332
+ /** Like FILE_OPERAND_COMMANDS, but the first operand is a pattern/program unless given via a flag. */
333
+ const PATTERN_FIRST_COMMANDS = {
334
+ grep: ["-e", "-f", "--regexp", "--file"],
335
+ rg: ["-e", "-f", "--regexp", "--file"],
336
+ ag: ["-f"],
337
+ sed: ["-e", "-f", "--expression", "--file"],
338
+ awk: ["-f", "--file"],
339
+ jq: ["-f", "--from-file"],
340
+ yq: ["-f", "--from-file"],
341
+ };
342
+ const WINDOWS_ABSOLUTE = /^([A-Za-z]:[\\/]|\\\\)/;
343
+ /** Looks like it could point somewhere other than a plain relative path inside the cwd. */
344
+ function isEscapeShaped(operand) {
345
+ if (operand.includes(ENV_MARK))
346
+ return true;
347
+ if (operand.startsWith("~") || operand.startsWith("/") || WINDOWS_ABSOLUTE.test(operand))
348
+ return true;
349
+ if (process.platform === "win32" && /%[^%\s]+%/.test(operand))
350
+ return true;
351
+ return operand.split(/[\\/]/).includes("..");
352
+ }
353
+ /** The path operands of a clause, or the reason the clause cannot be checked. */
354
+ function pathOperands(baseName, args) {
355
+ const patternFlags = PATTERN_FIRST_COMMANDS[baseName];
356
+ const operands = [];
357
+ let afterDashDash = false;
358
+ let patternConsumed = !patternFlags;
359
+ const hasPatternFlag = !!patternFlags && args.some((a) => patternFlags.includes(a) || patternFlags.some((f) => f.startsWith("--") && a.startsWith(f + "=")));
360
+ if (hasPatternFlag)
361
+ patternConsumed = true;
362
+ const pushFromFlag = (flag) => {
363
+ // `--output=/etc/x` and `-o/etc/x`: the path is glued to the flag.
364
+ const eq = flag.indexOf("=");
365
+ const glued = eq >= 0 ? flag.slice(eq + 1) : !flag.startsWith("--") && flag.length > 2 ? flag.slice(2) : "";
366
+ if (glued && isEscapeShaped(glued))
367
+ operands.push(glued);
368
+ };
369
+ if (baseName === "find") {
370
+ // Only the start points before the first expression are paths; later words are patterns.
371
+ for (const a of args) {
372
+ if (a === "-H" || a === "-L" || a === "-P")
373
+ continue;
374
+ if (a.startsWith("-") || a === "(" || a === "!" || a === ")")
375
+ break;
376
+ operands.push(a);
377
+ }
378
+ return operands;
379
+ }
380
+ for (const a of args) {
381
+ if (!afterDashDash && a === "--") {
382
+ afterDashDash = true;
383
+ continue;
384
+ }
385
+ if (!afterDashDash && a.startsWith("-") && a !== "-") {
386
+ pushFromFlag(a);
387
+ continue;
388
+ }
389
+ if (!patternConsumed) {
390
+ patternConsumed = true;
391
+ continue;
392
+ }
393
+ operands.push(a);
394
+ }
395
+ return operands;
396
+ }
397
+ /**
398
+ * Keeps read-style commands inside the workspace. `cat /etc/passwd`, `ls ~`, `grep -r x ../..`,
399
+ * `head $HOME/.ssh/id_rsa` and a symlink pointing out of the tree all pass the command allowlist
400
+ * (the command name is fine) while reading outside it. Returns the reason, or undefined if fine.
401
+ * Not a sandbox: commands that run code (node, python, npm run, git -C …) are out of reach.
402
+ */
403
+ function checkPathOperands(baseName, args, workspaceRoot) {
404
+ if (!FILE_OPERAND_COMMANDS.has(baseName) && !(baseName in PATTERN_FIRST_COMMANDS) && baseName !== "find")
405
+ return undefined;
406
+ for (const operand of pathOperands(baseName, args)) {
407
+ if (operand === "" || operand === "-")
408
+ continue;
409
+ const shown = operand.split(ENV_MARK).join("$");
410
+ if (operand.includes(ENV_MARK)) {
411
+ return `"${baseName}" operand "${shown}" uses an environment variable, so it cannot be checked against the workspace`;
412
+ }
413
+ // `~`, and `C:\…` / `\\server\…` off Windows, mean nothing to path.resolve: it would treat them as a
414
+ // file of that name inside the workspace and approve a path the shell sends somewhere else.
415
+ const unresolvable = operand.startsWith("~") ||
416
+ (process.platform !== "win32" && WINDOWS_ABSOLUTE.test(operand)) ||
417
+ (process.platform === "win32" && /%[^%\s]+%/.test(operand));
418
+ if (unresolvable)
419
+ return `"${baseName}" operand "${shown}" resolves outside the workspace`;
420
+ try {
421
+ safeResolvePath(workspaceRoot, operand);
422
+ }
423
+ catch {
424
+ return `"${baseName}" operand "${shown}" resolves outside the workspace`;
425
+ }
426
+ }
427
+ return undefined;
428
+ }
320
429
  /** `env [-i] [-u NAME] [VAR=val…] [command …]`: the tokens of the command env would run, if any. */
321
430
  function envWrappedCommand(clause, envIndex) {
322
431
  let i = envIndex + 1;
@@ -338,7 +447,7 @@ function envWrappedCommand(clause, envIndex) {
338
447
  }
339
448
  return clause.slice(i);
340
449
  }
341
- function validateClause(clause, allowed) {
450
+ function validateClause(clause, allowed, workspaceRoot) {
342
451
  const firstToken = clause.find((t) => !t.includes("=")) ?? clause[0];
343
452
  if (!firstToken)
344
453
  return { allowed: false, reason: "empty command clause" };
@@ -353,6 +462,11 @@ function validateClause(clause, allowed) {
353
462
  reason: `"${firstToken}" is a path outside the system bin directories and node_modules/.bin; only a bare command name or a trusted bin directory is allowed`,
354
463
  };
355
464
  }
465
+ if (workspaceRoot) {
466
+ const reason = checkPathOperands(baseName, clause.slice(clause.indexOf(firstToken) + 1), workspaceRoot);
467
+ if (reason)
468
+ return { allowed: false, reason };
469
+ }
356
470
  if (baseName === "find" && clause.some((t) => DANGEROUS_FIND_FLAGS.has(t))) {
357
471
  return {
358
472
  allowed: false,
@@ -364,7 +478,7 @@ function validateClause(clause, allowed) {
364
478
  if (baseName === "env") {
365
479
  const wrapped = envWrappedCommand(clause, clause.indexOf(firstToken));
366
480
  if (wrapped.length > 0) {
367
- const inner = validateClause(wrapped, allowed);
481
+ const inner = validateClause(wrapped, allowed, workspaceRoot);
368
482
  if (!inner.allowed)
369
483
  return { allowed: false, reason: `env runs "${wrapped[0]}": ${inner.reason}` };
370
484
  }
@@ -413,7 +527,7 @@ export function loadAllowedCommands() {
413
527
  * substitution, backgrounding, and subshells are rejected outright rather than enumerated
414
528
  * as "not yet seen as dangerous".
415
529
  */
416
- export function isCommandAllowed(command) {
530
+ export function isCommandAllowed(command, workspaceRoot) {
417
531
  const trimmed = command.trim();
418
532
  if (!trimmed)
419
533
  return { allowed: false, reason: "empty command" };
@@ -425,7 +539,10 @@ export function isCommandAllowed(command) {
425
539
  }
426
540
  let parsed;
427
541
  try {
428
- parsed = shellParse(trimmed);
542
+ // shell-quote follows POSIX rules and drops an unquoted backslash (C:\Windows\x becomes
543
+ // C:Windowsx), but cmd.exe treats it as a path separator, so on Windows the validator would
544
+ // check a different string than the one that runs. Doubling keeps the backslashes.
545
+ parsed = shellParse(process.platform === "win32" ? trimmed.replace(/\\/g, "\\\\") : trimmed, envMarker);
429
546
  }
430
547
  catch {
431
548
  return { allowed: false, reason: "command could not be safely parsed" };
@@ -454,7 +571,7 @@ export function isCommandAllowed(command) {
454
571
  const allowed = loadAllowedCommands();
455
572
  let matchedPrefix;
456
573
  for (const clause of clauses) {
457
- const verdict = validateClause(clause, allowed);
574
+ const verdict = validateClause(clause, allowed, workspaceRoot);
458
575
  if (!verdict.allowed)
459
576
  return verdict;
460
577
  matchedPrefix = matchedPrefix ?? verdict.prefix;