@cleanslate/sdk 0.1.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 (581) hide show
  1. package/LICENSE +22 -0
  2. package/NOTICE +48 -0
  3. package/README.md +103 -0
  4. package/VENDOR.md +60 -0
  5. package/dist/agent/cleanSlateAgentExecutionPhase.d.ts +55 -0
  6. package/dist/agent/cleanSlateAgentExecutionPhase.d.ts.map +1 -0
  7. package/dist/agent/cleanSlateAgentExecutionPhase.js +474 -0
  8. package/dist/agent/cleanSlateAgentExecutionPhase.js.map +1 -0
  9. package/dist/agent/cleanSlateAgentExecutionSupport.d.ts +22 -0
  10. package/dist/agent/cleanSlateAgentExecutionSupport.d.ts.map +1 -0
  11. package/dist/agent/cleanSlateAgentExecutionSupport.js +205 -0
  12. package/dist/agent/cleanSlateAgentExecutionSupport.js.map +1 -0
  13. package/dist/agent/cleanSlateAgentParsing.d.ts +21 -0
  14. package/dist/agent/cleanSlateAgentParsing.d.ts.map +1 -0
  15. package/dist/agent/cleanSlateAgentParsing.js +106 -0
  16. package/dist/agent/cleanSlateAgentParsing.js.map +1 -0
  17. package/dist/agent/cleanSlateAgentSession.d.ts +44 -0
  18. package/dist/agent/cleanSlateAgentSession.d.ts.map +1 -0
  19. package/dist/agent/cleanSlateAgentSession.js +205 -0
  20. package/dist/agent/cleanSlateAgentSession.js.map +1 -0
  21. package/dist/agent/cleanSlateAgentTypes.d.ts +91 -0
  22. package/dist/agent/cleanSlateAgentTypes.d.ts.map +1 -0
  23. package/dist/agent/cleanSlateAgentTypes.js +27 -0
  24. package/dist/agent/cleanSlateAgentTypes.js.map +1 -0
  25. package/dist/agent/cleanSlateCommandPolicy.d.ts +12 -0
  26. package/dist/agent/cleanSlateCommandPolicy.d.ts.map +1 -0
  27. package/dist/agent/cleanSlateCommandPolicy.js +30 -0
  28. package/dist/agent/cleanSlateCommandPolicy.js.map +1 -0
  29. package/dist/agent/cleanSlateContextBudgetManager.d.ts +82 -0
  30. package/dist/agent/cleanSlateContextBudgetManager.d.ts.map +1 -0
  31. package/dist/agent/cleanSlateContextBudgetManager.js +419 -0
  32. package/dist/agent/cleanSlateContextBudgetManager.js.map +1 -0
  33. package/dist/agent/cleanSlateDomainProfile.d.ts +71 -0
  34. package/dist/agent/cleanSlateDomainProfile.d.ts.map +1 -0
  35. package/dist/agent/cleanSlateDomainProfile.js +124 -0
  36. package/dist/agent/cleanSlateDomainProfile.js.map +1 -0
  37. package/dist/agent/cleanSlateExecutionBudget.d.ts +19 -0
  38. package/dist/agent/cleanSlateExecutionBudget.d.ts.map +1 -0
  39. package/dist/agent/cleanSlateExecutionBudget.js +28 -0
  40. package/dist/agent/cleanSlateExecutionBudget.js.map +1 -0
  41. package/dist/agent/cleanSlateExecutionEditPolicy.d.ts +15 -0
  42. package/dist/agent/cleanSlateExecutionEditPolicy.d.ts.map +1 -0
  43. package/dist/agent/cleanSlateExecutionEditPolicy.js +148 -0
  44. package/dist/agent/cleanSlateExecutionEditPolicy.js.map +1 -0
  45. package/dist/agent/cleanSlateExecutionEvidenceLedger.d.ts +23 -0
  46. package/dist/agent/cleanSlateExecutionEvidenceLedger.d.ts.map +1 -0
  47. package/dist/agent/cleanSlateExecutionEvidenceLedger.js +121 -0
  48. package/dist/agent/cleanSlateExecutionEvidenceLedger.js.map +1 -0
  49. package/dist/agent/cleanSlateExecutionLoopPrompts.d.ts +5 -0
  50. package/dist/agent/cleanSlateExecutionLoopPrompts.d.ts.map +1 -0
  51. package/dist/agent/cleanSlateExecutionLoopPrompts.js +41 -0
  52. package/dist/agent/cleanSlateExecutionLoopPrompts.js.map +1 -0
  53. package/dist/agent/cleanSlateExecutionQuery.d.ts +162 -0
  54. package/dist/agent/cleanSlateExecutionQuery.d.ts.map +1 -0
  55. package/dist/agent/cleanSlateExecutionQuery.js +1448 -0
  56. package/dist/agent/cleanSlateExecutionQuery.js.map +1 -0
  57. package/dist/agent/cleanSlateFilesModifiedService.d.ts +96 -0
  58. package/dist/agent/cleanSlateFilesModifiedService.d.ts.map +1 -0
  59. package/dist/agent/cleanSlateFilesModifiedService.js +581 -0
  60. package/dist/agent/cleanSlateFilesModifiedService.js.map +1 -0
  61. package/dist/agent/cleanSlateNativeToolTranscript.d.ts +22 -0
  62. package/dist/agent/cleanSlateNativeToolTranscript.d.ts.map +1 -0
  63. package/dist/agent/cleanSlateNativeToolTranscript.js +77 -0
  64. package/dist/agent/cleanSlateNativeToolTranscript.js.map +1 -0
  65. package/dist/agent/cleanSlatePrompts.d.ts +30 -0
  66. package/dist/agent/cleanSlatePrompts.d.ts.map +1 -0
  67. package/dist/agent/cleanSlatePrompts.js +65 -0
  68. package/dist/agent/cleanSlatePrompts.js.map +1 -0
  69. package/dist/agent/cleanSlateQueryRunner.d.ts +56 -0
  70. package/dist/agent/cleanSlateQueryRunner.d.ts.map +1 -0
  71. package/dist/agent/cleanSlateQueryRunner.js +69 -0
  72. package/dist/agent/cleanSlateQueryRunner.js.map +1 -0
  73. package/dist/agent/cleanSlateRuntimePromptBuilder.d.ts +30 -0
  74. package/dist/agent/cleanSlateRuntimePromptBuilder.d.ts.map +1 -0
  75. package/dist/agent/cleanSlateRuntimePromptBuilder.js +99 -0
  76. package/dist/agent/cleanSlateRuntimePromptBuilder.js.map +1 -0
  77. package/dist/agent/cleanSlateStreamingToolExecutor.d.ts +55 -0
  78. package/dist/agent/cleanSlateStreamingToolExecutor.d.ts.map +1 -0
  79. package/dist/agent/cleanSlateStreamingToolExecutor.js +214 -0
  80. package/dist/agent/cleanSlateStreamingToolExecutor.js.map +1 -0
  81. package/dist/agent/cleanSlateToolCallLedger.d.ts +32 -0
  82. package/dist/agent/cleanSlateToolCallLedger.d.ts.map +1 -0
  83. package/dist/agent/cleanSlateToolCallLedger.js +164 -0
  84. package/dist/agent/cleanSlateToolCallLedger.js.map +1 -0
  85. package/dist/agent/cleanSlateToolResultPromptSerializer.d.ts +9 -0
  86. package/dist/agent/cleanSlateToolResultPromptSerializer.d.ts.map +1 -0
  87. package/dist/agent/cleanSlateToolResultPromptSerializer.js +184 -0
  88. package/dist/agent/cleanSlateToolResultPromptSerializer.js.map +1 -0
  89. package/dist/composer/commands/slashCommands.d.ts +8 -0
  90. package/dist/composer/commands/slashCommands.d.ts.map +1 -0
  91. package/dist/composer/commands/slashCommands.js +46 -0
  92. package/dist/composer/commands/slashCommands.js.map +1 -0
  93. package/dist/composer/instructions/baseInstructions.d.ts +3 -0
  94. package/dist/composer/instructions/baseInstructions.d.ts.map +1 -0
  95. package/dist/composer/instructions/baseInstructions.js +35 -0
  96. package/dist/composer/instructions/baseInstructions.js.map +1 -0
  97. package/dist/composer/instructions/runtimeInstructions.d.ts +11 -0
  98. package/dist/composer/instructions/runtimeInstructions.d.ts.map +1 -0
  99. package/dist/composer/instructions/runtimeInstructions.js +31 -0
  100. package/dist/composer/instructions/runtimeInstructions.js.map +1 -0
  101. package/dist/composer/kernel/coreKernel.d.ts +3 -0
  102. package/dist/composer/kernel/coreKernel.d.ts.map +1 -0
  103. package/dist/composer/kernel/coreKernel.js +11 -0
  104. package/dist/composer/kernel/coreKernel.js.map +1 -0
  105. package/dist/composer/kernel/editingRules.d.ts +3 -0
  106. package/dist/composer/kernel/editingRules.d.ts.map +1 -0
  107. package/dist/composer/kernel/editingRules.js +24 -0
  108. package/dist/composer/kernel/editingRules.js.map +1 -0
  109. package/dist/composer/kernel/toolProtocols.d.ts +2 -0
  110. package/dist/composer/kernel/toolProtocols.d.ts.map +1 -0
  111. package/dist/composer/kernel/toolProtocols.js +32 -0
  112. package/dist/composer/kernel/toolProtocols.js.map +1 -0
  113. package/dist/composer/modes/execution.mode.d.ts +2 -0
  114. package/dist/composer/modes/execution.mode.d.ts.map +1 -0
  115. package/dist/composer/modes/execution.mode.js +21 -0
  116. package/dist/composer/modes/execution.mode.js.map +1 -0
  117. package/dist/composer/modes/planning.mode.d.ts +2 -0
  118. package/dist/composer/modes/planning.mode.d.ts.map +1 -0
  119. package/dist/composer/modes/planning.mode.js +23 -0
  120. package/dist/composer/modes/planning.mode.js.map +1 -0
  121. package/dist/composer/promptComposer.d.ts +22 -0
  122. package/dist/composer/promptComposer.d.ts.map +1 -0
  123. package/dist/composer/promptComposer.js +62 -0
  124. package/dist/composer/promptComposer.js.map +1 -0
  125. package/dist/composer/registry/agentSchema.d.ts +16 -0
  126. package/dist/composer/registry/agentSchema.d.ts.map +1 -0
  127. package/dist/composer/registry/agentSchema.js +6 -0
  128. package/dist/composer/registry/agentSchema.js.map +1 -0
  129. package/dist/core/arrays.d.ts +311 -0
  130. package/dist/core/arrays.d.ts.map +1 -0
  131. package/dist/core/arrays.js +811 -0
  132. package/dist/core/arrays.js.map +1 -0
  133. package/dist/core/arraysFind.d.ts +72 -0
  134. package/dist/core/arraysFind.d.ts.map +1 -0
  135. package/dist/core/arraysFind.js +200 -0
  136. package/dist/core/arraysFind.js.map +1 -0
  137. package/dist/core/assert.d.ts +36 -0
  138. package/dist/core/assert.d.ts.map +1 -0
  139. package/dist/core/assert.js +84 -0
  140. package/dist/core/assert.js.map +1 -0
  141. package/dist/core/async.d.ts +11 -0
  142. package/dist/core/async.d.ts.map +1 -0
  143. package/dist/core/async.js +6 -0
  144. package/dist/core/async.js.map +1 -0
  145. package/dist/core/buffer.d.ts +23 -0
  146. package/dist/core/buffer.d.ts.map +1 -0
  147. package/dist/core/buffer.js +40 -0
  148. package/dist/core/buffer.js.map +1 -0
  149. package/dist/core/cancellation.d.ts +52 -0
  150. package/dist/core/cancellation.d.ts.map +1 -0
  151. package/dist/core/cancellation.js +169 -0
  152. package/dist/core/cancellation.js.map +1 -0
  153. package/dist/core/charCode.d.ts +428 -0
  154. package/dist/core/charCode.d.ts.map +1 -0
  155. package/dist/core/charCode.js +439 -0
  156. package/dist/core/charCode.js.map +1 -0
  157. package/dist/core/collections.d.ts +49 -0
  158. package/dist/core/collections.d.ts.map +1 -0
  159. package/dist/core/collections.js +132 -0
  160. package/dist/core/collections.js.map +1 -0
  161. package/dist/core/diff/diff.d.ts +151 -0
  162. package/dist/core/diff/diff.d.ts.map +1 -0
  163. package/dist/core/diff/diff.js +1076 -0
  164. package/dist/core/diff/diff.js.map +1 -0
  165. package/dist/core/diff/diffChange.d.ts +39 -0
  166. package/dist/core/diff/diffChange.d.ts.map +1 -0
  167. package/dist/core/diff/diffChange.js +37 -0
  168. package/dist/core/diff/diffChange.js.map +1 -0
  169. package/dist/core/errors.d.ts +114 -0
  170. package/dist/core/errors.d.ts.map +1 -0
  171. package/dist/core/errors.js +258 -0
  172. package/dist/core/errors.js.map +1 -0
  173. package/dist/core/event.d.ts +595 -0
  174. package/dist/core/event.d.ts.map +1 -0
  175. package/dist/core/event.js +1479 -0
  176. package/dist/core/event.js.map +1 -0
  177. package/dist/core/functional.d.ts +5 -0
  178. package/dist/core/functional.d.ts.map +1 -0
  179. package/dist/core/functional.js +35 -0
  180. package/dist/core/functional.js.map +1 -0
  181. package/dist/core/hash.d.ts +15 -0
  182. package/dist/core/hash.d.ts.map +1 -0
  183. package/dist/core/hash.js +27 -0
  184. package/dist/core/hash.js.map +1 -0
  185. package/dist/core/iterator.d.ts +33 -0
  186. package/dist/core/iterator.d.ts.map +1 -0
  187. package/dist/core/iterator.js +188 -0
  188. package/dist/core/iterator.js.map +1 -0
  189. package/dist/core/lifecycle.d.ts +313 -0
  190. package/dist/core/lifecycle.d.ts.map +1 -0
  191. package/dist/core/lifecycle.js +789 -0
  192. package/dist/core/lifecycle.js.map +1 -0
  193. package/dist/core/linkedList.d.ts +17 -0
  194. package/dist/core/linkedList.d.ts.map +1 -0
  195. package/dist/core/linkedList.js +138 -0
  196. package/dist/core/linkedList.js.map +1 -0
  197. package/dist/core/map.d.ts +175 -0
  198. package/dist/core/map.d.ts.map +1 -0
  199. package/dist/core/map.js +796 -0
  200. package/dist/core/map.js.map +1 -0
  201. package/dist/core/marshallingIds.d.ts +29 -0
  202. package/dist/core/marshallingIds.d.ts.map +1 -0
  203. package/dist/core/marshallingIds.js +38 -0
  204. package/dist/core/marshallingIds.js.map +1 -0
  205. package/dist/core/observable.d.ts +28 -0
  206. package/dist/core/observable.d.ts.map +1 -0
  207. package/dist/core/observable.js +6 -0
  208. package/dist/core/observable.js.map +1 -0
  209. package/dist/core/platform.d.ts +4 -0
  210. package/dist/core/platform.d.ts.map +1 -0
  211. package/dist/core/platform.js +17 -0
  212. package/dist/core/platform.js.map +1 -0
  213. package/dist/core/position.d.ts +91 -0
  214. package/dist/core/position.d.ts.map +1 -0
  215. package/dist/core/position.js +145 -0
  216. package/dist/core/position.js.map +1 -0
  217. package/dist/core/range.d.ts +198 -0
  218. package/dist/core/range.d.ts.map +1 -0
  219. package/dist/core/range.js +426 -0
  220. package/dist/core/range.js.map +1 -0
  221. package/dist/core/resources.d.ts +10 -0
  222. package/dist/core/resources.d.ts.map +1 -0
  223. package/dist/core/resources.js +126 -0
  224. package/dist/core/resources.js.map +1 -0
  225. package/dist/core/sequence.d.ts +20 -0
  226. package/dist/core/sequence.d.ts.map +1 -0
  227. package/dist/core/sequence.js +21 -0
  228. package/dist/core/sequence.js.map +1 -0
  229. package/dist/core/stopwatch.d.ts +11 -0
  230. package/dist/core/stopwatch.d.ts.map +1 -0
  231. package/dist/core/stopwatch.js +33 -0
  232. package/dist/core/stopwatch.js.map +1 -0
  233. package/dist/core/symbols.d.ts +5 -0
  234. package/dist/core/symbols.d.ts.map +1 -0
  235. package/dist/core/symbols.js +13 -0
  236. package/dist/core/symbols.js.map +1 -0
  237. package/dist/core/types.d.ts +229 -0
  238. package/dist/core/types.d.ts.map +1 -0
  239. package/dist/core/types.js +278 -0
  240. package/dist/core/types.js.map +1 -0
  241. package/dist/core/uint.d.ts +32 -0
  242. package/dist/core/uint.d.ts.map +1 -0
  243. package/dist/core/uint.js +57 -0
  244. package/dist/core/uint.js.map +1 -0
  245. package/dist/core/uri.d.ts +172 -0
  246. package/dist/core/uri.d.ts.map +1 -0
  247. package/dist/core/uri.js +623 -0
  248. package/dist/core/uri.js.map +1 -0
  249. package/dist/host/browserAutomation.d.ts +276 -0
  250. package/dist/host/browserAutomation.d.ts.map +1 -0
  251. package/dist/host/browserAutomation.js +6 -0
  252. package/dist/host/browserAutomation.js.map +1 -0
  253. package/dist/host/diagnostics.d.ts +68 -0
  254. package/dist/host/diagnostics.d.ts.map +1 -0
  255. package/dist/host/diagnostics.js +41 -0
  256. package/dist/host/diagnostics.js.map +1 -0
  257. package/dist/host/files.d.ts +70 -0
  258. package/dist/host/files.d.ts.map +1 -0
  259. package/dist/host/files.js +54 -0
  260. package/dist/host/files.js.map +1 -0
  261. package/dist/host/services.d.ts +106 -0
  262. package/dist/host/services.d.ts.map +1 -0
  263. package/dist/host/services.js +6 -0
  264. package/dist/host/services.js.map +1 -0
  265. package/dist/host/symbols.d.ts +45 -0
  266. package/dist/host/symbols.d.ts.map +1 -0
  267. package/dist/host/symbols.js +43 -0
  268. package/dist/host/symbols.js.map +1 -0
  269. package/dist/host/textModel.d.ts +83 -0
  270. package/dist/host/textModel.d.ts.map +1 -0
  271. package/dist/host/textModel.js +6 -0
  272. package/dist/host/textModel.js.map +1 -0
  273. package/dist/host/workspace.d.ts +123 -0
  274. package/dist/host/workspace.d.ts.map +1 -0
  275. package/dist/host/workspace.js +32 -0
  276. package/dist/host/workspace.js.map +1 -0
  277. package/dist/index.d.ts +40 -0
  278. package/dist/index.d.ts.map +1 -0
  279. package/dist/index.js +26 -0
  280. package/dist/index.js.map +1 -0
  281. package/dist/node/cleanSlateAnthropicMessageAdapter.d.ts +12 -0
  282. package/dist/node/cleanSlateAnthropicMessageAdapter.d.ts.map +1 -0
  283. package/dist/node/cleanSlateAnthropicMessageAdapter.js +130 -0
  284. package/dist/node/cleanSlateAnthropicMessageAdapter.js.map +1 -0
  285. package/dist/node/cleanSlateHeadlessRunner.d.ts +63 -0
  286. package/dist/node/cleanSlateHeadlessRunner.d.ts.map +1 -0
  287. package/dist/node/cleanSlateHeadlessRunner.js +84 -0
  288. package/dist/node/cleanSlateHeadlessRunner.js.map +1 -0
  289. package/dist/node/cleanSlateNodeAgentRuntime.d.ts +94 -0
  290. package/dist/node/cleanSlateNodeAgentRuntime.d.ts.map +1 -0
  291. package/dist/node/cleanSlateNodeAgentRuntime.js +339 -0
  292. package/dist/node/cleanSlateNodeAgentRuntime.js.map +1 -0
  293. package/dist/node/cleanSlateNodeBrowserAutomation.d.ts +279 -0
  294. package/dist/node/cleanSlateNodeBrowserAutomation.d.ts.map +1 -0
  295. package/dist/node/cleanSlateNodeBrowserAutomation.js +470 -0
  296. package/dist/node/cleanSlateNodeBrowserAutomation.js.map +1 -0
  297. package/dist/node/cleanSlateNodeCommandService.d.ts +40 -0
  298. package/dist/node/cleanSlateNodeCommandService.d.ts.map +1 -0
  299. package/dist/node/cleanSlateNodeCommandService.js +435 -0
  300. package/dist/node/cleanSlateNodeCommandService.js.map +1 -0
  301. package/dist/node/cleanSlateNodeFileServices.d.ts +68 -0
  302. package/dist/node/cleanSlateNodeFileServices.d.ts.map +1 -0
  303. package/dist/node/cleanSlateNodeFileServices.js +138 -0
  304. package/dist/node/cleanSlateNodeFileServices.js.map +1 -0
  305. package/dist/node/cleanSlateNodeIndexService.d.ts +17 -0
  306. package/dist/node/cleanSlateNodeIndexService.d.ts.map +1 -0
  307. package/dist/node/cleanSlateNodeIndexService.js +128 -0
  308. package/dist/node/cleanSlateNodeIndexService.js.map +1 -0
  309. package/dist/node/cleanSlateNodeLanguageCommands.d.ts +11 -0
  310. package/dist/node/cleanSlateNodeLanguageCommands.d.ts.map +1 -0
  311. package/dist/node/cleanSlateNodeLanguageCommands.js +146 -0
  312. package/dist/node/cleanSlateNodeLanguageCommands.js.map +1 -0
  313. package/dist/node/cleanSlateNodeMainService.d.ts +87 -0
  314. package/dist/node/cleanSlateNodeMainService.d.ts.map +1 -0
  315. package/dist/node/cleanSlateNodeMainService.js +1304 -0
  316. package/dist/node/cleanSlateNodeMainService.js.map +1 -0
  317. package/dist/node/cleanSlateNodeMcpClient.d.ts +20 -0
  318. package/dist/node/cleanSlateNodeMcpClient.d.ts.map +1 -0
  319. package/dist/node/cleanSlateNodeMcpClient.js +184 -0
  320. package/dist/node/cleanSlateNodeMcpClient.js.map +1 -0
  321. package/dist/node/cleanSlateNodeSearchService.d.ts +14 -0
  322. package/dist/node/cleanSlateNodeSearchService.d.ts.map +1 -0
  323. package/dist/node/cleanSlateNodeSearchService.js +180 -0
  324. package/dist/node/cleanSlateNodeSearchService.js.map +1 -0
  325. package/dist/node/cleanSlateNodeTextModel.d.ts +56 -0
  326. package/dist/node/cleanSlateNodeTextModel.d.ts.map +1 -0
  327. package/dist/node/cleanSlateNodeTextModel.js +127 -0
  328. package/dist/node/cleanSlateNodeTextModel.js.map +1 -0
  329. package/dist/node/cleanSlateNodeToolContext.d.ts +50 -0
  330. package/dist/node/cleanSlateNodeToolContext.d.ts.map +1 -0
  331. package/dist/node/cleanSlateNodeToolContext.js +134 -0
  332. package/dist/node/cleanSlateNodeToolContext.js.map +1 -0
  333. package/dist/node/cleanSlateNodeWebRetrieval.d.ts +20 -0
  334. package/dist/node/cleanSlateNodeWebRetrieval.d.ts.map +1 -0
  335. package/dist/node/cleanSlateNodeWebRetrieval.js +379 -0
  336. package/dist/node/cleanSlateNodeWebRetrieval.js.map +1 -0
  337. package/dist/node/cleanSlateOpenAIMessageAdapter.d.ts +8 -0
  338. package/dist/node/cleanSlateOpenAIMessageAdapter.d.ts.map +1 -0
  339. package/dist/node/cleanSlateOpenAIMessageAdapter.js +111 -0
  340. package/dist/node/cleanSlateOpenAIMessageAdapter.js.map +1 -0
  341. package/dist/node/cleanSlateProviderSchemaNormalizer.d.ts +18 -0
  342. package/dist/node/cleanSlateProviderSchemaNormalizer.d.ts.map +1 -0
  343. package/dist/node/cleanSlateProviderSchemaNormalizer.js +175 -0
  344. package/dist/node/cleanSlateProviderSchemaNormalizer.js.map +1 -0
  345. package/dist/node/index.d.ts +25 -0
  346. package/dist/node/index.d.ts.map +1 -0
  347. package/dist/node/index.js +28 -0
  348. package/dist/node/index.js.map +1 -0
  349. package/dist/protocol/cleanSlateAI.d.ts +964 -0
  350. package/dist/protocol/cleanSlateAI.d.ts.map +1 -0
  351. package/dist/protocol/cleanSlateAI.js +35 -0
  352. package/dist/protocol/cleanSlateAI.js.map +1 -0
  353. package/dist/protocol/cleanSlateModelCapabilities.d.ts +86 -0
  354. package/dist/protocol/cleanSlateModelCapabilities.d.ts.map +1 -0
  355. package/dist/protocol/cleanSlateModelCapabilities.js +1104 -0
  356. package/dist/protocol/cleanSlateModelCapabilities.js.map +1 -0
  357. package/dist/protocol/cleanSlateProviderMessageTransforms.d.ts +11 -0
  358. package/dist/protocol/cleanSlateProviderMessageTransforms.d.ts.map +1 -0
  359. package/dist/protocol/cleanSlateProviderMessageTransforms.js +178 -0
  360. package/dist/protocol/cleanSlateProviderMessageTransforms.js.map +1 -0
  361. package/dist/protocol/cleanSlateService.d.ts +68 -0
  362. package/dist/protocol/cleanSlateService.d.ts.map +1 -0
  363. package/dist/protocol/cleanSlateService.js +1149 -0
  364. package/dist/protocol/cleanSlateService.js.map +1 -0
  365. package/dist/services/cleanSlateCancellation.d.ts +7 -0
  366. package/dist/services/cleanSlateCancellation.d.ts.map +1 -0
  367. package/dist/services/cleanSlateCancellation.js +56 -0
  368. package/dist/services/cleanSlateCancellation.js.map +1 -0
  369. package/dist/services/cleanSlateCommandExecutionService.d.ts +25 -0
  370. package/dist/services/cleanSlateCommandExecutionService.d.ts.map +1 -0
  371. package/dist/services/cleanSlateCommandExecutionService.js +31 -0
  372. package/dist/services/cleanSlateCommandExecutionService.js.map +1 -0
  373. package/dist/services/cleanSlateDiffService.d.ts +62 -0
  374. package/dist/services/cleanSlateDiffService.d.ts.map +1 -0
  375. package/dist/services/cleanSlateDiffService.js +428 -0
  376. package/dist/services/cleanSlateDiffService.js.map +1 -0
  377. package/dist/services/cleanSlateEditMatchValidator.d.ts +63 -0
  378. package/dist/services/cleanSlateEditMatchValidator.d.ts.map +1 -0
  379. package/dist/services/cleanSlateEditMatchValidator.js +341 -0
  380. package/dist/services/cleanSlateEditMatchValidator.js.map +1 -0
  381. package/dist/services/cleanSlateEditService.d.ts +155 -0
  382. package/dist/services/cleanSlateEditService.d.ts.map +1 -0
  383. package/dist/services/cleanSlateEditService.js +848 -0
  384. package/dist/services/cleanSlateEditService.js.map +1 -0
  385. package/dist/services/cleanSlateFileHistory.d.ts +56 -0
  386. package/dist/services/cleanSlateFileHistory.d.ts.map +1 -0
  387. package/dist/services/cleanSlateFileHistory.js +157 -0
  388. package/dist/services/cleanSlateFileHistory.js.map +1 -0
  389. package/dist/services/cleanSlateTaskEvidenceCodec.d.ts +15 -0
  390. package/dist/services/cleanSlateTaskEvidenceCodec.d.ts.map +1 -0
  391. package/dist/services/cleanSlateTaskEvidenceCodec.js +151 -0
  392. package/dist/services/cleanSlateTaskEvidenceCodec.js.map +1 -0
  393. package/dist/services/cleanSlateTaskSessionService.d.ts +258 -0
  394. package/dist/services/cleanSlateTaskSessionService.d.ts.map +1 -0
  395. package/dist/services/cleanSlateTaskSessionService.js +1079 -0
  396. package/dist/services/cleanSlateTaskSessionService.js.map +1 -0
  397. package/dist/services/cleanSlateTaskState.d.ts +32 -0
  398. package/dist/services/cleanSlateTaskState.d.ts.map +1 -0
  399. package/dist/services/cleanSlateTaskState.js +40 -0
  400. package/dist/services/cleanSlateTaskState.js.map +1 -0
  401. package/dist/services/cleanSlateThreadService.d.ts +64 -0
  402. package/dist/services/cleanSlateThreadService.d.ts.map +1 -0
  403. package/dist/services/cleanSlateThreadService.js +188 -0
  404. package/dist/services/cleanSlateThreadService.js.map +1 -0
  405. package/dist/services/cleanSlateTools.d.ts +29 -0
  406. package/dist/services/cleanSlateTools.d.ts.map +1 -0
  407. package/dist/services/cleanSlateTools.js +38 -0
  408. package/dist/services/cleanSlateTools.js.map +1 -0
  409. package/dist/services/cleanSlateVerificationTargetTracker.d.ts +23 -0
  410. package/dist/services/cleanSlateVerificationTargetTracker.d.ts.map +1 -0
  411. package/dist/services/cleanSlateVerificationTargetTracker.js +214 -0
  412. package/dist/services/cleanSlateVerificationTargetTracker.js.map +1 -0
  413. package/dist/skills/cleanSlateSkillCatalog.d.ts +29 -0
  414. package/dist/skills/cleanSlateSkillCatalog.d.ts.map +1 -0
  415. package/dist/skills/cleanSlateSkillCatalog.js +225 -0
  416. package/dist/skills/cleanSlateSkillCatalog.js.map +1 -0
  417. package/dist/tools/ApplyEditTool.d.ts +73 -0
  418. package/dist/tools/ApplyEditTool.d.ts.map +1 -0
  419. package/dist/tools/ApplyEditTool.js +741 -0
  420. package/dist/tools/ApplyEditTool.js.map +1 -0
  421. package/dist/tools/AskQuestionTool.d.ts +3 -0
  422. package/dist/tools/AskQuestionTool.d.ts.map +1 -0
  423. package/dist/tools/AskQuestionTool.js +113 -0
  424. package/dist/tools/AskQuestionTool.js.map +1 -0
  425. package/dist/tools/BrowserAutomationTools.d.ts +28 -0
  426. package/dist/tools/BrowserAutomationTools.d.ts.map +1 -0
  427. package/dist/tools/BrowserAutomationTools.js +639 -0
  428. package/dist/tools/BrowserAutomationTools.js.map +1 -0
  429. package/dist/tools/CreateMultipleFilesTool.d.ts +6 -0
  430. package/dist/tools/CreateMultipleFilesTool.d.ts.map +1 -0
  431. package/dist/tools/CreateMultipleFilesTool.js +115 -0
  432. package/dist/tools/CreateMultipleFilesTool.js.map +1 -0
  433. package/dist/tools/ExecuteCommandTool.d.ts +12 -0
  434. package/dist/tools/ExecuteCommandTool.d.ts.map +1 -0
  435. package/dist/tools/ExecuteCommandTool.js +378 -0
  436. package/dist/tools/ExecuteCommandTool.js.map +1 -0
  437. package/dist/tools/FileHistoryRewindTool.d.ts +3 -0
  438. package/dist/tools/FileHistoryRewindTool.d.ts.map +1 -0
  439. package/dist/tools/FileHistoryRewindTool.js +45 -0
  440. package/dist/tools/FileHistoryRewindTool.js.map +1 -0
  441. package/dist/tools/FindByNameTool.d.ts +6 -0
  442. package/dist/tools/FindByNameTool.d.ts.map +1 -0
  443. package/dist/tools/FindByNameTool.js +80 -0
  444. package/dist/tools/FindByNameTool.js.map +1 -0
  445. package/dist/tools/FindReferencesTool.d.ts +3 -0
  446. package/dist/tools/FindReferencesTool.d.ts.map +1 -0
  447. package/dist/tools/FindReferencesTool.js +128 -0
  448. package/dist/tools/FindReferencesTool.js.map +1 -0
  449. package/dist/tools/GetDefinitionsTool.d.ts +3 -0
  450. package/dist/tools/GetDefinitionsTool.d.ts.map +1 -0
  451. package/dist/tools/GetDefinitionsTool.js +136 -0
  452. package/dist/tools/GetDefinitionsTool.js.map +1 -0
  453. package/dist/tools/GetOpenFilesTool.d.ts +6 -0
  454. package/dist/tools/GetOpenFilesTool.d.ts.map +1 -0
  455. package/dist/tools/GetOpenFilesTool.js +21 -0
  456. package/dist/tools/GetOpenFilesTool.js.map +1 -0
  457. package/dist/tools/GrepSearchTool.d.ts +7 -0
  458. package/dist/tools/GrepSearchTool.d.ts.map +1 -0
  459. package/dist/tools/GrepSearchTool.js +95 -0
  460. package/dist/tools/GrepSearchTool.js.map +1 -0
  461. package/dist/tools/ListDirTool.d.ts +6 -0
  462. package/dist/tools/ListDirTool.d.ts.map +1 -0
  463. package/dist/tools/ListDirTool.js +39 -0
  464. package/dist/tools/ListDirTool.js.map +1 -0
  465. package/dist/tools/MCPTools.d.ts +6 -0
  466. package/dist/tools/MCPTools.d.ts.map +1 -0
  467. package/dist/tools/MCPTools.js +103 -0
  468. package/dist/tools/MCPTools.js.map +1 -0
  469. package/dist/tools/MultiFileReplaceTool.d.ts +6 -0
  470. package/dist/tools/MultiFileReplaceTool.d.ts.map +1 -0
  471. package/dist/tools/MultiFileReplaceTool.js +345 -0
  472. package/dist/tools/MultiFileReplaceTool.js.map +1 -0
  473. package/dist/tools/ReadFileRangeTool.d.ts +6 -0
  474. package/dist/tools/ReadFileRangeTool.d.ts.map +1 -0
  475. package/dist/tools/ReadFileRangeTool.js +150 -0
  476. package/dist/tools/ReadFileRangeTool.js.map +1 -0
  477. package/dist/tools/ReadFileTool.d.ts +6 -0
  478. package/dist/tools/ReadFileTool.d.ts.map +1 -0
  479. package/dist/tools/ReadFileTool.js +183 -0
  480. package/dist/tools/ReadFileTool.js.map +1 -0
  481. package/dist/tools/ReadLintsTool.d.ts +6 -0
  482. package/dist/tools/ReadLintsTool.d.ts.map +1 -0
  483. package/dist/tools/ReadLintsTool.js +83 -0
  484. package/dist/tools/ReadLintsTool.js.map +1 -0
  485. package/dist/tools/ReadReferenceTool.d.ts +6 -0
  486. package/dist/tools/ReadReferenceTool.d.ts.map +1 -0
  487. package/dist/tools/ReadReferenceTool.js +24 -0
  488. package/dist/tools/ReadReferenceTool.js.map +1 -0
  489. package/dist/tools/ReadSymbolsTool.d.ts +3 -0
  490. package/dist/tools/ReadSymbolsTool.d.ts.map +1 -0
  491. package/dist/tools/ReadSymbolsTool.js +100 -0
  492. package/dist/tools/ReadSymbolsTool.js.map +1 -0
  493. package/dist/tools/SearchCodebaseTool.d.ts +6 -0
  494. package/dist/tools/SearchCodebaseTool.d.ts.map +1 -0
  495. package/dist/tools/SearchCodebaseTool.js +30 -0
  496. package/dist/tools/SearchCodebaseTool.js.map +1 -0
  497. package/dist/tools/SearchWorkspaceTool.d.ts +7 -0
  498. package/dist/tools/SearchWorkspaceTool.d.ts.map +1 -0
  499. package/dist/tools/SearchWorkspaceTool.js +21 -0
  500. package/dist/tools/SearchWorkspaceTool.js.map +1 -0
  501. package/dist/tools/SemanticSearchTool.d.ts +12 -0
  502. package/dist/tools/SemanticSearchTool.d.ts.map +1 -0
  503. package/dist/tools/SemanticSearchTool.js +46 -0
  504. package/dist/tools/SemanticSearchTool.js.map +1 -0
  505. package/dist/tools/SkillTools.d.ts +3 -0
  506. package/dist/tools/SkillTools.d.ts.map +1 -0
  507. package/dist/tools/SkillTools.js +108 -0
  508. package/dist/tools/SkillTools.js.map +1 -0
  509. package/dist/tools/SpawnWorkerTool.d.ts +6 -0
  510. package/dist/tools/SpawnWorkerTool.d.ts.map +1 -0
  511. package/dist/tools/SpawnWorkerTool.js +28 -0
  512. package/dist/tools/SpawnWorkerTool.js.map +1 -0
  513. package/dist/tools/SubmitArtifactTool.d.ts +3 -0
  514. package/dist/tools/SubmitArtifactTool.d.ts.map +1 -0
  515. package/dist/tools/SubmitArtifactTool.js +121 -0
  516. package/dist/tools/SubmitArtifactTool.js.map +1 -0
  517. package/dist/tools/UndoEditTool.d.ts +3 -0
  518. package/dist/tools/UndoEditTool.d.ts.map +1 -0
  519. package/dist/tools/UndoEditTool.js +66 -0
  520. package/dist/tools/UndoEditTool.js.map +1 -0
  521. package/dist/tools/UpdateTodoTool.d.ts +6 -0
  522. package/dist/tools/UpdateTodoTool.d.ts.map +1 -0
  523. package/dist/tools/UpdateTodoTool.js +116 -0
  524. package/dist/tools/UpdateTodoTool.js.map +1 -0
  525. package/dist/tools/WebRetrievalTools.d.ts +4 -0
  526. package/dist/tools/WebRetrievalTools.d.ts.map +1 -0
  527. package/dist/tools/WebRetrievalTools.js +169 -0
  528. package/dist/tools/WebRetrievalTools.js.map +1 -0
  529. package/dist/tools/WriteFileTool.d.ts +6 -0
  530. package/dist/tools/WriteFileTool.d.ts.map +1 -0
  531. package/dist/tools/WriteFileTool.js +145 -0
  532. package/dist/tools/WriteFileTool.js.map +1 -0
  533. package/dist/tools/cleanSlateFileReadPolicy.d.ts +33 -0
  534. package/dist/tools/cleanSlateFileReadPolicy.d.ts.map +1 -0
  535. package/dist/tools/cleanSlateFileReadPolicy.js +84 -0
  536. package/dist/tools/cleanSlateFileReadPolicy.js.map +1 -0
  537. package/dist/tools/cleanSlateHostTypes.d.ts +100 -0
  538. package/dist/tools/cleanSlateHostTypes.d.ts.map +1 -0
  539. package/dist/tools/cleanSlateHostTypes.js +6 -0
  540. package/dist/tools/cleanSlateHostTypes.js.map +1 -0
  541. package/dist/tools/cleanSlatePlanArtifactPolicy.d.ts +47 -0
  542. package/dist/tools/cleanSlatePlanArtifactPolicy.d.ts.map +1 -0
  543. package/dist/tools/cleanSlatePlanArtifactPolicy.js +126 -0
  544. package/dist/tools/cleanSlatePlanArtifactPolicy.js.map +1 -0
  545. package/dist/tools/cleanSlateStaleDiagnosticPolicy.d.ts +3 -0
  546. package/dist/tools/cleanSlateStaleDiagnosticPolicy.d.ts.map +1 -0
  547. package/dist/tools/cleanSlateStaleDiagnosticPolicy.js +13 -0
  548. package/dist/tools/cleanSlateStaleDiagnosticPolicy.js.map +1 -0
  549. package/dist/tools/languageFeatureActivation.d.ts +13 -0
  550. package/dist/tools/languageFeatureActivation.d.ts.map +1 -0
  551. package/dist/tools/languageFeatureActivation.js +95 -0
  552. package/dist/tools/languageFeatureActivation.js.map +1 -0
  553. package/dist/tools/registry.d.ts +5 -0
  554. package/dist/tools/registry.d.ts.map +1 -0
  555. package/dist/tools/registry.js +104 -0
  556. package/dist/tools/registry.js.map +1 -0
  557. package/dist/tools/structuredEditCanonicalizer.d.ts +11 -0
  558. package/dist/tools/structuredEditCanonicalizer.d.ts.map +1 -0
  559. package/dist/tools/structuredEditCanonicalizer.js +44 -0
  560. package/dist/tools/structuredEditCanonicalizer.js.map +1 -0
  561. package/dist/tools/symbolContext.d.ts +36 -0
  562. package/dist/tools/symbolContext.d.ts.map +1 -0
  563. package/dist/tools/symbolContext.js +146 -0
  564. package/dist/tools/symbolContext.js.map +1 -0
  565. package/dist/tools/symbolEditResolver.d.ts +11 -0
  566. package/dist/tools/symbolEditResolver.d.ts.map +1 -0
  567. package/dist/tools/symbolEditResolver.js +259 -0
  568. package/dist/tools/symbolEditResolver.js.map +1 -0
  569. package/dist/tools/symbolIndex.d.ts +18 -0
  570. package/dist/tools/symbolIndex.d.ts.map +1 -0
  571. package/dist/tools/symbolIndex.js +235 -0
  572. package/dist/tools/symbolIndex.js.map +1 -0
  573. package/dist/tools/types.d.ts +108 -0
  574. package/dist/tools/types.d.ts.map +1 -0
  575. package/dist/tools/types.js +6 -0
  576. package/dist/tools/types.js.map +1 -0
  577. package/dist/tools/utils.d.ts +56 -0
  578. package/dist/tools/utils.d.ts.map +1 -0
  579. package/dist/tools/utils.js +205 -0
  580. package/dist/tools/utils.js.map +1 -0
  581. package/package.json +71 -0
@@ -0,0 +1,39 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) CleanSlate. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { resolvePathToUri } from './utils.js';
6
+ /**
7
+ * Tool: list_dir
8
+ */
9
+ export const listDirTool = {
10
+ name: 'list_dir',
11
+ description: 'Lists files and directories in a given path. Input: { path: string }. Returns: Array<{ name: string, type: "file" | "dir" }>',
12
+ category: "discovery",
13
+ parametersSchema: {
14
+ path: "string"
15
+ },
16
+ async run(input, context) {
17
+ const { path } = input;
18
+ if (!path)
19
+ throw new Error('list_dir requires a "path" parameter');
20
+ try {
21
+ const uri = resolvePathToUri(path, context);
22
+ const stat = await context.fileService.resolve(uri);
23
+ if (!stat.children)
24
+ return [];
25
+ return stat.children.map((child) => ({
26
+ name: child.name,
27
+ type: child.isDirectory ? 'dir' : 'file'
28
+ }));
29
+ }
30
+ catch (error) {
31
+ // Return a structured error so the agent can pivot gracefully
32
+ return {
33
+ success: false,
34
+ message: `Directory not found: "${path}". This path might not exist in the current workspace. Try listing the root directory "." to see the actual project structure.`
35
+ };
36
+ }
37
+ }
38
+ };
39
+ //# sourceMappingURL=ListDirTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListDirTool.js","sourceRoot":"","sources":["../../src/tools/ListDirTool.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAGhG,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACvC,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,8HAA8H;IAC3I,QAAQ,EAAE,WAAW;IACrB,gBAAgB,EAAE;QACd,IAAI,EAAE,QAAQ;KACjB;IACD,KAAK,CAAC,GAAG,CAAC,KAAuB,EAAE,OAA8B;QAC7D,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAEnE,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAE9B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC;gBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;aAC3C,CAAC,CAAC,CAAC;QACR,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,8DAA8D;YAC9D,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,yBAAyB,IAAI,gIAAgI;aACzK,CAAC;QACN,CAAC;IACL,CAAC;CACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { CleanSlateTool, CleanSlateToolContext } from './types.js';
2
+ import type { MCPTool } from '../protocol/cleanSlateAI.js';
3
+ export declare function requestMcpToolApproval(tool: MCPTool, input: any, context: CleanSlateToolContext): Promise<boolean>;
4
+ export declare const mcpListToolsTool: CleanSlateTool;
5
+ export declare const mcpCallTool: CleanSlateTool;
6
+ //# sourceMappingURL=MCPTools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCPTools.d.ts","sourceRoot":"","sources":["../../src/tools/MCPTools.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAG3D,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAexH;AAED,eAAO,MAAM,gBAAgB,EAAE,cAoC9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,cA+CzB,CAAC"}
@@ -0,0 +1,103 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) CleanSlate. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { cancellationTokenFromAbortSignal } from '../services/cleanSlateCancellation.js';
6
+ export async function requestMcpToolApproval(tool, input, context) {
7
+ if (tool.readOnlyHint === true && tool.openWorldHint !== true) {
8
+ return true;
9
+ }
10
+ const server = tool.serverName?.trim();
11
+ const preview = JSON.stringify({
12
+ server: server || undefined,
13
+ tool: tool.originalName || tool.name,
14
+ input: input ?? {}
15
+ }, undefined, 2);
16
+ return context.requestCommandApproval({
17
+ command: preview,
18
+ reason: `MCP tool "${tool.originalName || tool.name}"${server ? ` from "${server}"` : ''} wants to run`,
19
+ toolName: tool.name
20
+ });
21
+ }
22
+ export const mcpListToolsTool = {
23
+ name: 'mcp_list_tools',
24
+ description: 'List tools exposed by configured Model Context Protocol servers. Use this before calling external tools such as GitHub, Jira, search, databases, or custom MCP servers.',
25
+ category: 'system',
26
+ parametersSchema: {
27
+ type: 'object',
28
+ properties: {
29
+ refresh: { type: 'boolean', description: 'Reconnect configured MCP servers before listing tools.' }
30
+ }
31
+ },
32
+ async run(input, context) {
33
+ if (!context.mcpClientService) {
34
+ return {
35
+ success: false,
36
+ code: 'mcp_unavailable',
37
+ message: 'MCP client service is not available in this CleanSlate environment.'
38
+ };
39
+ }
40
+ if (input?.refresh) {
41
+ await context.mcpClientService.refreshServers(cancellationTokenFromAbortSignal(context.signal));
42
+ }
43
+ const tools = await context.mcpClientService.getTools(cancellationTokenFromAbortSignal(context.signal));
44
+ return {
45
+ success: true,
46
+ count: tools.length,
47
+ tools: tools.map((tool) => ({
48
+ name: tool.name,
49
+ originalName: tool.originalName,
50
+ description: tool.description,
51
+ serverName: tool.serverName,
52
+ inputSchema: tool.inputSchema
53
+ }))
54
+ };
55
+ }
56
+ };
57
+ export const mcpCallTool = {
58
+ name: 'mcp_call_tool',
59
+ description: 'Call a tool exposed by a configured Model Context Protocol server. Input: { toolName: string, input: object }.',
60
+ category: 'system',
61
+ parametersSchema: {
62
+ type: 'object',
63
+ properties: {
64
+ toolName: { type: 'string', description: 'Exact MCP tool name from mcp_list_tools.' },
65
+ input: { type: 'object', description: 'Arguments matching the MCP tool inputSchema.' }
66
+ },
67
+ required: ['toolName', 'input']
68
+ },
69
+ async run(input, context) {
70
+ if (!context.mcpClientService) {
71
+ return {
72
+ success: false,
73
+ code: 'mcp_unavailable',
74
+ message: 'MCP client service is not available in this CleanSlate environment.'
75
+ };
76
+ }
77
+ if (!input?.toolName) {
78
+ throw new Error('mcp_call_tool requires "toolName".');
79
+ }
80
+ const token = cancellationTokenFromAbortSignal(context.signal);
81
+ const tools = await context.mcpClientService.getTools(token);
82
+ const tool = tools.find(candidate => candidate.name === input.toolName || candidate.originalName === input.toolName) ?? {
83
+ name: input.toolName,
84
+ description: '',
85
+ inputSchema: {}
86
+ };
87
+ if (!await requestMcpToolApproval(tool, input.input ?? {}, context)) {
88
+ return {
89
+ success: false,
90
+ code: 'user_cancelled',
91
+ toolName: input.toolName,
92
+ message: 'The user declined this MCP tool call. Do not retry it unless explicitly requested.'
93
+ };
94
+ }
95
+ const result = await context.mcpClientService.executeTool(input.toolName, input.input ?? {}, token);
96
+ return {
97
+ success: true,
98
+ toolName: input.toolName,
99
+ result
100
+ };
101
+ }
102
+ };
103
+ //# sourceMappingURL=MCPTools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MCPTools.js","sourceRoot":"","sources":["../../src/tools/MCPTools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { CleanSlateTool } from './types.js';
2
+ /**
3
+ * Tool: multi_file_replace
4
+ */
5
+ export declare const multiFileReplaceTool: CleanSlateTool;
6
+ //# sourceMappingURL=MultiFileReplaceTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiFileReplaceTool.d.ts","sourceRoot":"","sources":["../../src/tools/MultiFileReplaceTool.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,cAAc,EAAyB,MAAM,YAAY,CAAC;AAyBnE;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,cA+XlC,CAAC"}
@@ -0,0 +1,345 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) CleanSlate. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { CleanSlateEditService } from '../services/cleanSlateEditService.js';
6
+ import { resolvePathToUri, isUriInIdeWorkspace, resolveTextModelHeadless } from './utils.js';
7
+ import { canonicalizeStructuredEdits } from './structuredEditCanonicalizer.js';
8
+ import { CleanSlateFileHistory } from '../services/cleanSlateFileHistory.js';
9
+ import { URI } from '../core/uri.js';
10
+ import { assessRewriteScope, getFileMtime, normalizeApplyEditRequest, resolveSafeExpectedVersionId, validateReadBeforeEdit, validateSourceCodeRangeEditBudget } from './ApplyEditTool.js';
11
+ /**
12
+ * Tool: multi_file_replace
13
+ */
14
+ export const multiFileReplaceTool = {
15
+ name: 'multi_file_replace',
16
+ description: 'Atomically applies exact current-string replacements to multiple previously read files. Each old_string must be unique in its file unless replace_all is true.',
17
+ category: 'edit',
18
+ parametersSchema: {
19
+ type: 'object',
20
+ additionalProperties: false,
21
+ properties: {
22
+ edits: {
23
+ type: 'array',
24
+ description: 'Exact string replacements, one per file.',
25
+ items: {
26
+ type: 'object',
27
+ additionalProperties: false,
28
+ properties: {
29
+ file_path: { type: 'string' },
30
+ old_string: { type: 'string' },
31
+ new_string: { type: 'string' },
32
+ replace_all: { type: 'boolean' }
33
+ },
34
+ required: ['file_path', 'old_string', 'new_string']
35
+ }
36
+ }
37
+ },
38
+ required: ['edits']
39
+ },
40
+ async run(input, context) {
41
+ if (!Array.isArray(input.edits) || input.edits.length === 0) {
42
+ throw new Error('multi_file_replace: The "edits" parameter must be a non-empty array.');
43
+ }
44
+ const plannedFiles = [];
45
+ const failures = [];
46
+ const seenPaths = new Set();
47
+ for (const rawEntry of input.edits) {
48
+ const requestedPath = rawEntry?.file_path ?? rawEntry?.path;
49
+ if (!requestedPath) {
50
+ failures.push({
51
+ path: '',
52
+ code: 'invalid_input',
53
+ diagnostics: [],
54
+ message: 'Each multi_file_replace entry must include a "file_path".'
55
+ });
56
+ continue;
57
+ }
58
+ let entry = { ...rawEntry, path: requestedPath };
59
+ const pathKey = requestedPath.replace(/\\/g, '/').toLowerCase();
60
+ if (seenPaths.has(pathKey)) {
61
+ failures.push({
62
+ path: requestedPath,
63
+ code: 'invalid_input',
64
+ diagnostics: [],
65
+ message: `Duplicate multi_file_replace target "${requestedPath}" is not allowed.`
66
+ });
67
+ continue;
68
+ }
69
+ seenPaths.add(pathKey);
70
+ try {
71
+ const uri = resolvePathToUri(requestedPath, context, { allowWorkspaceRootRelativeAbsolute: false });
72
+ let model = context.modelService.getModel(uri);
73
+ if (!model) {
74
+ model = await resolveTextModelHeadless(uri, context);
75
+ }
76
+ if (!model) {
77
+ failures.push({
78
+ path: requestedPath,
79
+ code: 'invalid_input',
80
+ diagnostics: [],
81
+ message: `Could not load file model for ${requestedPath}.`
82
+ });
83
+ continue;
84
+ }
85
+ const currentVersionId = model.getVersionId();
86
+ const beforeContent = model.getValue();
87
+ const normalizedRequest = normalizeApplyEditRequest(entry, beforeContent);
88
+ if (!normalizedRequest.ok) {
89
+ failures.push({
90
+ path: uri.fsPath,
91
+ code: normalizedRequest.result.code ?? 'invalid_input',
92
+ diagnostics: [],
93
+ currentVersionId,
94
+ recoveryHint: normalizedRequest.result.recoveryHint,
95
+ message: normalizedRequest.result.message
96
+ });
97
+ continue;
98
+ }
99
+ entry = { ...entry, edits: normalizedRequest.edits };
100
+ const readGuard = await validateReadBeforeEdit(uri, currentVersionId, entry, context, beforeContent);
101
+ if (!readGuard.ok) {
102
+ failures.push({
103
+ path: uri.fsPath,
104
+ code: readGuard.result.code ?? 'file_not_read',
105
+ primaryDiagnostic: readGuard.result.primaryDiagnostic,
106
+ diagnostics: readGuard.result.diagnostics ?? [],
107
+ currentVersionId: readGuard.result.currentVersionId ?? currentVersionId,
108
+ attemptedEdits: entry.edits.length,
109
+ failures: readGuard.result.failures,
110
+ recoveryHint: readGuard.result.recoveryHint,
111
+ message: readGuard.result.message ?? 'File must be read before editing.'
112
+ });
113
+ continue;
114
+ }
115
+ const canonicalizedEdits = await canonicalizeStructuredEdits(requestedPath, model, entry.edits, context);
116
+ if (!canonicalizedEdits.ok) {
117
+ failures.push(canonicalizedEdits.failure);
118
+ continue;
119
+ }
120
+ const rangeBudgetGuard = validateSourceCodeRangeEditBudget(model, canonicalizedEdits.edits, uri.fsPath);
121
+ if (!rangeBudgetGuard.ok) {
122
+ failures.push({
123
+ path: uri.fsPath,
124
+ code: rangeBudgetGuard.result.code ?? 'range_too_broad_for_source_code',
125
+ diagnostics: [],
126
+ currentVersionId: model.getVersionId(),
127
+ attemptedEdits: entry.edits.length,
128
+ recoveryHint: rangeBudgetGuard.result.recoveryHint,
129
+ message: rangeBudgetGuard.result.message
130
+ });
131
+ continue;
132
+ }
133
+ const versionGuard = resolveSafeExpectedVersionId(model, entry, readGuard.readState, canonicalizedEdits.edits, uri.fsPath);
134
+ if (!versionGuard.ok) {
135
+ failures.push({
136
+ path: uri.fsPath,
137
+ code: versionGuard.result.code ?? 'stale_expected_version_without_anchor',
138
+ diagnostics: [],
139
+ currentVersionId: model.getVersionId(),
140
+ attemptedEdits: entry.edits.length,
141
+ recoveryHint: versionGuard.result.recoveryHint,
142
+ message: versionGuard.result.message
143
+ });
144
+ continue;
145
+ }
146
+ const plan = CleanSlateEditService.planEdits(model, {
147
+ edits: canonicalizedEdits.edits,
148
+ expectedVersionId: versionGuard.expectedVersionId
149
+ });
150
+ if (!plan.ok) {
151
+ const primaryDiagnostic = plan.diagnostics[0];
152
+ failures.push({
153
+ path: uri.fsPath,
154
+ code: primaryDiagnostic?.code ?? 'invalid_input',
155
+ primaryDiagnostic,
156
+ allMatches: primaryDiagnostic?.allMatches,
157
+ diagnostics: plan.diagnostics,
158
+ recoveryHint: CleanSlateEditService.buildRecoveryHint(primaryDiagnostic, model),
159
+ currentVersionId: model.getVersionId(),
160
+ attemptedEdits: entry.edits.length,
161
+ message: CleanSlateEditService.formatFailure(plan)
162
+ });
163
+ continue;
164
+ }
165
+ const rewriteAssessment = assessRewriteScope(model, plan.edits, uri.fsPath);
166
+ const preflightDiagnostics = [];
167
+ const appliedChanges = plan.edits.map((edit) => ({
168
+ range: edit.range,
169
+ oldText: model.getValueInRange(edit.range),
170
+ newText: edit.text,
171
+ strategy: edit.strategy,
172
+ confidence: edit.confidence
173
+ }));
174
+ plannedFiles.push({
175
+ path: uri.fsPath,
176
+ uri,
177
+ versionId: model.getVersionId(),
178
+ beforeContent,
179
+ edits: plan.edits,
180
+ originalEdits: appliedChanges.map(change => ({
181
+ range: change.range,
182
+ text: change.oldText,
183
+ originalStartLine: change.range.startLineNumber
184
+ })),
185
+ added: appliedChanges.reduce((sum, change) => sum + (change.newText.length > 0 ? change.newText.split('\n').length : 0), 0),
186
+ deleted: appliedChanges.reduce((sum, change) => sum + (change.oldText.length > 0 ? change.oldText.split('\n').length : 0), 0),
187
+ totalLinesChanged: appliedChanges.reduce((sum, change) => sum + (change.range.endLineNumber - change.range.startLineNumber + 1), 0),
188
+ strategies: [...new Set(plan.edits.map(edit => edit.strategy))],
189
+ confidences: plan.edits
190
+ .map(edit => edit.confidence)
191
+ .filter((confidence) => typeof confidence === 'number'),
192
+ preflightDiagnostics,
193
+ rewriteAssessment
194
+ });
195
+ }
196
+ catch (error) {
197
+ failures.push({
198
+ path: requestedPath,
199
+ code: 'invalid_input',
200
+ diagnostics: [],
201
+ message: `Failed to prepare edits for ${requestedPath}: ${String(error)}`
202
+ });
203
+ }
204
+ }
205
+ if (failures.length > 0) {
206
+ return {
207
+ success: false,
208
+ code: failures[0]?.code ?? 'invalid_input',
209
+ failures,
210
+ message: `multi_file_replace failed to plan edits for ${failures.length} file(s). Nothing was applied.`
211
+ };
212
+ }
213
+ const markerBaselines = new Map();
214
+ const markerWaiters = new Map();
215
+ for (const file of plannedFiles) {
216
+ markerBaselines.set(file.path, CleanSlateEditService.captureMarkerValidationBaseline(context.markerService, file.uri));
217
+ markerWaiters.set(file.path, CleanSlateEditService.createMarkerRefreshWaiter(context.markerService, file.uri));
218
+ const workspaceId = context.workspaceContextService.getWorkspace().id;
219
+ const storageRoot = context.environmentService ? URI.joinPath(context.environmentService.workspaceStorageHome, workspaceId) : undefined;
220
+ file.historyEntry = await CleanSlateFileHistory.trackEdit({
221
+ workspaceRoot: context.workspaceContextService.getWorkspaceFolder(file.uri)?.uri,
222
+ storageRoot,
223
+ resource: file.uri,
224
+ fileService: context.fileService,
225
+ modelService: context.modelService,
226
+ operation: 'multi_file_replace',
227
+ toolName: multiFileReplaceTool.name,
228
+ versionId: file.versionId
229
+ });
230
+ }
231
+ // Descriptors, not editor objects — the host builds the real edit. See
232
+ // ICleanSlateResourceTextEditDescriptor for why constructing it here
233
+ // would fail silently.
234
+ const workspaceEdits = plannedFiles.flatMap(file => file.edits.map(edit => ({
235
+ resource: file.uri,
236
+ range: edit.range,
237
+ text: edit.text,
238
+ versionId: file.versionId
239
+ })));
240
+ if (workspaceEdits.length === 0) {
241
+ for (const waiter of markerWaiters.values()) {
242
+ waiter.dispose();
243
+ }
244
+ return {
245
+ success: false,
246
+ code: 'no_op',
247
+ failures: [],
248
+ message: 'multi_file_replace produced no file changes.'
249
+ };
250
+ }
251
+ if (context.bulkEditService) {
252
+ const applyResult = await context.bulkEditService.applyTextEdits(workspaceEdits, {
253
+ label: 'CleanSlate multi-file edit',
254
+ respectAutoSaveConfig: false
255
+ });
256
+ if (!applyResult.isApplied) {
257
+ for (const waiter of markerWaiters.values()) {
258
+ waiter.dispose();
259
+ }
260
+ return {
261
+ success: false,
262
+ code: 'invalid_input',
263
+ failures: [],
264
+ message: 'multi_file_replace was cancelled before any edits were applied.'
265
+ };
266
+ }
267
+ }
268
+ else {
269
+ for (const file of plannedFiles) {
270
+ const model = context.modelService.getModel(file.uri);
271
+ if (!model) {
272
+ throw new Error(`multi_file_replace: Lost model for ${file.path} before applying edits.`);
273
+ }
274
+ model.pushStackElement();
275
+ model.pushEditOperations(null, file.edits.map(edit => ({ range: edit.range, text: edit.text })), () => null);
276
+ model.pushStackElement();
277
+ }
278
+ }
279
+ const validationDiagnostics = [];
280
+ for (const file of plannedFiles) {
281
+ const baseline = markerBaselines.get(file.path);
282
+ if (!baseline) {
283
+ continue;
284
+ }
285
+ const validation = await CleanSlateEditService.validateMarkersAfterEdit(context.markerService, file.uri, baseline, markerWaiters.get(file.path));
286
+ if (!validation.ok) {
287
+ validationDiagnostics.push({
288
+ path: file.path,
289
+ diagnostics: validation.issues.map(issue => `[marker] ${issue.message} (${issue.startLineNumber}:${issue.startColumn})`)
290
+ });
291
+ }
292
+ }
293
+ for (const file of plannedFiles) {
294
+ await context.textFileService.save(file.uri);
295
+ const model = context.modelService.getModel(file.uri);
296
+ const afterContent = model?.getValue();
297
+ context.readFileState?.set(file.uri.toString(), {
298
+ path: file.path,
299
+ uri: file.uri.toString(),
300
+ content: afterContent,
301
+ currentVersionId: model?.getVersionId(),
302
+ mtime: await getFileMtime(file.uri, context),
303
+ totalLines: afterContent ? afterContent.split('\n').length : undefined,
304
+ isPartialView: false,
305
+ readAt: Date.now()
306
+ });
307
+ if (isUriInIdeWorkspace(context, file.uri)) {
308
+ context.editorDecorationHost?.registerPostApplySession(file.uri, file.edits.map(edit => ({ range: edit.range, text: edit.text })), file.originalEdits, file.beforeContent);
309
+ }
310
+ }
311
+ const results = plannedFiles.map(file => ({
312
+ path: file.path,
313
+ appliedBlocks: file.edits.length,
314
+ added: file.added,
315
+ deleted: file.deleted,
316
+ totalLinesChanged: file.totalLinesChanged,
317
+ strategies: file.strategies,
318
+ confidences: file.confidences,
319
+ rewriteAssessment: file.rewriteAssessment,
320
+ historyEntryId: file.historyEntry?.id,
321
+ diagnostics: [
322
+ ...file.preflightDiagnostics,
323
+ ...(validationDiagnostics.find(entry => entry.path === file.path)?.diagnostics ?? [])
324
+ ],
325
+ beforeContent: file.beforeContent,
326
+ afterContent: context.modelService.getModel(file.uri)?.getValue()
327
+ }));
328
+ const totalDiagnostics = results.reduce((sum, file) => sum + file.diagnostics.length, 0);
329
+ return {
330
+ success: true,
331
+ results,
332
+ affectedFiles: plannedFiles.map(file => file.path),
333
+ totalFiles: plannedFiles.length,
334
+ totalAppliedBlocks: plannedFiles.reduce((sum, file) => sum + file.edits.length, 0),
335
+ added: plannedFiles.reduce((sum, file) => sum + file.added, 0),
336
+ deleted: plannedFiles.reduce((sum, file) => sum + file.deleted, 0),
337
+ appliedWithDiagnostics: totalDiagnostics > 0,
338
+ validationDiagnostics,
339
+ message: totalDiagnostics > 0
340
+ ? `SUCCESS WITH DIAGNOSTICS: Applied exact replacements to ${plannedFiles.length} file(s). New syntax/compiler diagnostics were preserved for follow-up fixes.`
341
+ : `SUCCESS: Applied exact replacements to ${plannedFiles.length} file(s).`
342
+ };
343
+ }
344
+ };
345
+ //# sourceMappingURL=MultiFileReplaceTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiFileReplaceTool.js","sourceRoot":"","sources":["../../src/tools/MultiFileReplaceTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { CleanSlateTool } from './types.js';
2
+ /**
3
+ * Tool: read_file_range
4
+ */
5
+ export declare const readFileRangeTool: CleanSlateTool;
6
+ //# sourceMappingURL=ReadFileRangeTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReadFileRangeTool.d.ts","sourceRoot":"","sources":["../../src/tools/ReadFileRangeTool.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAyB,MAAM,YAAY,CAAC;AAInE;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAgJ/B,CAAC"}