@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 @@
1
+ {"version":3,"file":"cleanSlateEditService.js","sourceRoot":"","sources":["../../src/services/cleanSlateEditService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { URI } from '../core/uri.js';
2
+ import { IModelHost } from '../host/textModel.js';
3
+ import { IFileHost } from '../host/files.js';
4
+ import { ITextFileHost } from '../host/textModel.js';
5
+ export interface CleanSlateFileHistoryEntry {
6
+ id: string;
7
+ createdAt: string;
8
+ operation: string;
9
+ toolName: string;
10
+ resource: string;
11
+ path: string;
12
+ backupPath: string;
13
+ existed: boolean;
14
+ versionId?: number;
15
+ }
16
+ export interface CleanSlateFileHistoryTrackRequest {
17
+ workspaceRoot: URI | undefined;
18
+ storageRoot?: URI;
19
+ resource: URI;
20
+ fileService: IFileHost;
21
+ modelService?: IModelHost;
22
+ operation: string;
23
+ toolName: string;
24
+ contentOverride?: string;
25
+ existedOverride?: boolean;
26
+ versionId?: number;
27
+ }
28
+ export interface CleanSlateFileHistoryRewindRequest {
29
+ workspaceRoot: URI | undefined;
30
+ storageRoot?: URI;
31
+ resource?: URI;
32
+ historyEntryId?: string;
33
+ fileService: IFileHost;
34
+ modelService?: IModelHost;
35
+ textFileService?: ITextFileHost;
36
+ }
37
+ export declare class CleanSlateFileHistory {
38
+ private static readonly historyFolder;
39
+ private static readonly entriesFolder;
40
+ private static readonly manifestFile;
41
+ private static entryCounter;
42
+ static trackEdit(request: CleanSlateFileHistoryTrackRequest): Promise<CleanSlateFileHistoryEntry | undefined>;
43
+ static rewind(request: CleanSlateFileHistoryRewindRequest): Promise<{
44
+ success: boolean;
45
+ entry?: CleanSlateFileHistoryEntry;
46
+ message: string;
47
+ }>;
48
+ private static restoreContent;
49
+ private static findRewindEntry;
50
+ private static readManifest;
51
+ private static writeManifest;
52
+ private static isEntry;
53
+ private static createEntryId;
54
+ private static normalizePath;
55
+ }
56
+ //# sourceMappingURL=cleanSlateFileHistory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanSlateFileHistory.d.ts","sourceRoot":"","sources":["../../src/services/cleanSlateFileHistory.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAuB,SAAS,EAAyB,MAAM,kBAAkB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,0BAA0B;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAOD,MAAM,WAAW,iCAAiC;IACjD,aAAa,EAAE,GAAG,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,EAAE,GAAG,CAAC;IACd,WAAW,EAAE,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kCAAkC;IAClD,aAAa,EAAE,GAAG,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,UAAU,CAAC;IAC1B,eAAe,CAAC,EAAE,aAAa,CAAC;CAChC;AAED,qBAAa,qBAAqB;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAA8B;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAsC;IAC3E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAA4C;IAChF,OAAO,CAAC,MAAM,CAAC,YAAY,CAAK;WAEZ,SAAS,CAAC,OAAO,EAAE,iCAAiC,GAAG,OAAO,CAAC,0BAA0B,GAAG,SAAS,CAAC;WA0CtG,MAAM,CAAC,OAAO,EAAE,kCAAkC,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,0BAA0B,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;mBAoCtI,cAAc;IAqBnC,OAAO,CAAC,MAAM,CAAC,eAAe;mBA0BT,YAAY;mBAqBZ,aAAa;IASlC,OAAO,CAAC,MAAM,CAAC,OAAO;IAWtB,OAAO,CAAC,MAAM,CAAC,aAAa;IAO5B,OAAO,CAAC,MAAM,CAAC,aAAa;CAG5B"}
@@ -0,0 +1,157 @@
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 { VSBuffer } from '../core/buffer.js';
6
+ import { basename, joinPath, relativePath } from '../core/resources.js';
7
+ import { URI } from '../core/uri.js';
8
+ import { FileOperationResult, toFileOperationResult } from '../host/files.js';
9
+ export class CleanSlateFileHistory {
10
+ static { this.historyFolder = '.cleanslate/file-history'; }
11
+ static { this.entriesFolder = '.cleanslate/file-history/entries'; }
12
+ static { this.manifestFile = '.cleanslate/file-history/manifest.json'; }
13
+ static { this.entryCounter = 0; }
14
+ static async trackEdit(request) {
15
+ if (!request.workspaceRoot || request.resource.scheme !== request.workspaceRoot.scheme) {
16
+ return undefined;
17
+ }
18
+ const storageBase = request.storageRoot ?? request.workspaceRoot;
19
+ const historyRoot = joinPath(storageBase, this.historyFolder);
20
+ const entriesRoot = joinPath(storageBase, this.entriesFolder);
21
+ await request.fileService.createFolder(entriesRoot);
22
+ const relativeResourcePath = relativePath(request.workspaceRoot, request.resource) ?? request.resource.fsPath;
23
+ const model = request.modelService?.getModel(request.resource);
24
+ const exists = request.existedOverride ?? (model ? true : await request.fileService.exists(request.resource));
25
+ const content = request.contentOverride ?? (model
26
+ ? model.getValue()
27
+ : exists
28
+ ? (await request.fileService.readFile(request.resource)).value.toString()
29
+ : '');
30
+ const entryId = this.createEntryId(request.resource);
31
+ const backupRelativePath = `${this.entriesFolder}/${entryId}.txt`;
32
+ const backupResource = joinPath(request.storageRoot ?? request.workspaceRoot, backupRelativePath);
33
+ await request.fileService.writeFile(backupResource, VSBuffer.fromString(content));
34
+ const entry = {
35
+ id: entryId,
36
+ createdAt: new Date().toISOString(),
37
+ operation: request.operation,
38
+ toolName: request.toolName,
39
+ resource: request.resource.toString(),
40
+ path: relativeResourcePath,
41
+ backupPath: backupRelativePath,
42
+ existed: exists,
43
+ versionId: request.versionId ?? model?.getVersionId()
44
+ };
45
+ const manifest = await this.readManifest(request.fileService, historyRoot);
46
+ manifest.entries.push(entry);
47
+ await this.writeManifest(request.fileService, request.storageRoot ?? request.workspaceRoot, manifest);
48
+ return entry;
49
+ }
50
+ static async rewind(request) {
51
+ if (!request.workspaceRoot) {
52
+ return { success: false, message: 'No workspace root is available for CleanSlate file history.' };
53
+ }
54
+ const storageBase = request.storageRoot ?? request.workspaceRoot;
55
+ const historyRoot = joinPath(storageBase, this.historyFolder);
56
+ const manifest = await this.readManifest(request.fileService, historyRoot);
57
+ const entry = this.findRewindEntry(manifest, request.workspaceRoot, request.resource, request.historyEntryId);
58
+ if (!entry) {
59
+ const target = request.historyEntryId ?? request.resource?.fsPath ?? 'requested file';
60
+ return { success: false, message: `No CleanSlate file history entry was found for ${target}.` };
61
+ }
62
+ const targetResource = request.resource ?? URI.parse(entry.resource);
63
+ if (!entry.existed) {
64
+ if (await request.fileService.exists(targetResource)) {
65
+ await request.fileService.del(targetResource, { useTrash: false, recursive: false });
66
+ }
67
+ return {
68
+ success: true,
69
+ entry,
70
+ message: `Restored ${entry.path} to its pre-edit state by deleting the file created in history entry ${entry.id}.`
71
+ };
72
+ }
73
+ const backupResource = joinPath(request.storageRoot ?? request.workspaceRoot, entry.backupPath);
74
+ const backupContent = (await request.fileService.readFile(backupResource)).value.toString();
75
+ await this.restoreContent(targetResource, backupContent, request.fileService, request.modelService, request.textFileService);
76
+ return {
77
+ success: true,
78
+ entry,
79
+ message: `Restored ${entry.path} from CleanSlate file history entry ${entry.id}.`
80
+ };
81
+ }
82
+ static async restoreContent(resource, content, fileService, modelService, textFileService) {
83
+ const model = modelService?.getModel(resource);
84
+ if (model) {
85
+ model.pushStackElement();
86
+ model.pushEditOperations(null, [{ range: model.getFullModelRange(), text: content }], () => null);
87
+ model.pushStackElement();
88
+ if (textFileService) {
89
+ await textFileService.save(resource);
90
+ return;
91
+ }
92
+ }
93
+ await fileService.writeFile(resource, VSBuffer.fromString(content));
94
+ }
95
+ static findRewindEntry(manifest, workspaceRoot, resource, historyEntryId) {
96
+ if (historyEntryId) {
97
+ return manifest.entries.find(entry => entry.id === historyEntryId);
98
+ }
99
+ if (!resource) {
100
+ return manifest.entries[manifest.entries.length - 1];
101
+ }
102
+ const resourceString = resource.toString();
103
+ const resourcePath = relativePath(workspaceRoot, resource) ?? resource.fsPath;
104
+ const normalizedPath = this.normalizePath(resourcePath);
105
+ for (let index = manifest.entries.length - 1; index >= 0; index--) {
106
+ const entry = manifest.entries[index];
107
+ if (entry.resource === resourceString || this.normalizePath(entry.path) === normalizedPath) {
108
+ return entry;
109
+ }
110
+ }
111
+ return undefined;
112
+ }
113
+ static async readManifest(fileService, historyRoot) {
114
+ const manifestResource = joinPath(historyRoot, 'manifest.json');
115
+ if (!await fileService.exists(manifestResource)) {
116
+ return { version: 1, entries: [] };
117
+ }
118
+ try {
119
+ const raw = (await fileService.readFile(manifestResource)).value.toString();
120
+ const parsed = JSON.parse(raw);
121
+ return {
122
+ version: 1,
123
+ entries: Array.isArray(parsed.entries) ? parsed.entries.filter(this.isEntry) : []
124
+ };
125
+ }
126
+ catch (error) {
127
+ if (toFileOperationResult(error) === FileOperationResult.FILE_NOT_FOUND) {
128
+ return { version: 1, entries: [] };
129
+ }
130
+ throw error;
131
+ }
132
+ }
133
+ static async writeManifest(fileService, workspaceRoot, manifest) {
134
+ const manifestResource = joinPath(workspaceRoot, this.manifestFile);
135
+ await fileService.writeFile(manifestResource, VSBuffer.fromString(JSON.stringify(manifest, null, 2)));
136
+ }
137
+ static isEntry(value) {
138
+ const entry = value;
139
+ return !!entry
140
+ && typeof entry.id === 'string'
141
+ && typeof entry.createdAt === 'string'
142
+ && typeof entry.resource === 'string'
143
+ && typeof entry.path === 'string'
144
+ && typeof entry.backupPath === 'string'
145
+ && typeof entry.existed === 'boolean';
146
+ }
147
+ static createEntryId(resource) {
148
+ const counter = (this.entryCounter++).toString(36);
149
+ const stamp = `${Date.now().toString(36)}-${counter}`;
150
+ const safeName = basename(resource).replace(/[^A-Za-z0-9._-]/g, '_').slice(0, 80) || 'file';
151
+ return `${stamp}-${safeName}`;
152
+ }
153
+ static normalizePath(path) {
154
+ return path.replace(/\\/g, '/').toLowerCase();
155
+ }
156
+ }
157
+ //# sourceMappingURL=cleanSlateFileHistory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanSlateFileHistory.js","sourceRoot":"","sources":["../../src/services/cleanSlateFileHistory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ICleanSlateTaskFileChange } from './cleanSlateTaskSessionService.js';
2
+ /** Bounds evidence payloads and canonicalizes paths/file-change records. */
3
+ export declare class CleanSlateTaskEvidenceCodec {
4
+ private static readonly MAX_EVIDENCE_STRING_LENGTH;
5
+ private static readonly MAX_EVIDENCE_COLLECTION_ITEMS;
6
+ private static readonly MAX_EVIDENCE_OBJECT_KEYS;
7
+ trimOptional(value: unknown): string | undefined;
8
+ private truncateEvidenceString;
9
+ sanitizeEvidenceValue(value: unknown, depth?: number): unknown;
10
+ normalizeEvidencePaths(paths: unknown): string[];
11
+ normalizeFileChanges(changes: unknown): ICleanSlateTaskFileChange[];
12
+ private normalizePath;
13
+ mergeFileChanges(primary: Iterable<ICleanSlateTaskFileChange>, secondary: Iterable<ICleanSlateTaskFileChange>): ICleanSlateTaskFileChange[];
14
+ }
15
+ //# sourceMappingURL=cleanSlateTaskEvidenceCodec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanSlateTaskEvidenceCodec.d.ts","sourceRoot":"","sources":["../../src/services/cleanSlateTaskEvidenceCodec.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAEnF,4EAA4E;AAC5E,qBAAa,2BAA2B;IACpC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,0BAA0B,CAAS;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAAM;IAC3D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAM;IAE/C,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;IAQvD,OAAO,CAAC,sBAAsB;IAOvB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAI,GAAG,OAAO;IA+CzD,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE;IAyBhD,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,yBAAyB,EAAE;IAkC1E,OAAO,CAAC,aAAa;IAQd,gBAAgB,CACnB,OAAO,EAAE,QAAQ,CAAC,yBAAyB,CAAC,EAC5C,SAAS,EAAE,QAAQ,CAAC,yBAAyB,CAAC,GAC/C,yBAAyB,EAAE;CAmBjC"}
@@ -0,0 +1,151 @@
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
+ /** Bounds evidence payloads and canonicalizes paths/file-change records. */
6
+ export class CleanSlateTaskEvidenceCodec {
7
+ static { this.MAX_EVIDENCE_STRING_LENGTH = 1_000; }
8
+ static { this.MAX_EVIDENCE_COLLECTION_ITEMS = 20; }
9
+ static { this.MAX_EVIDENCE_OBJECT_KEYS = 24; }
10
+ trimOptional(value) {
11
+ if (typeof value !== 'string') {
12
+ return undefined;
13
+ }
14
+ const trimmed = value.trim();
15
+ return trimmed.length > 0 ? this.truncateEvidenceString(trimmed) : undefined;
16
+ }
17
+ truncateEvidenceString(value) {
18
+ if (value.length <= CleanSlateTaskEvidenceCodec.MAX_EVIDENCE_STRING_LENGTH) {
19
+ return value;
20
+ }
21
+ return `${value.slice(0, CleanSlateTaskEvidenceCodec.MAX_EVIDENCE_STRING_LENGTH)}...`;
22
+ }
23
+ sanitizeEvidenceValue(value, depth = 0) {
24
+ if (value === undefined || value === null) {
25
+ return value;
26
+ }
27
+ if (typeof value === 'string') {
28
+ if (value.startsWith('data:image/')) {
29
+ return '[image-data]';
30
+ }
31
+ return this.truncateEvidenceString(value);
32
+ }
33
+ if (typeof value === 'number' || typeof value === 'boolean') {
34
+ return value;
35
+ }
36
+ if (depth >= 4) {
37
+ return Array.isArray(value) ? '[array]' : '[object]';
38
+ }
39
+ if (Array.isArray(value)) {
40
+ const sanitized = value
41
+ .slice(0, CleanSlateTaskEvidenceCodec.MAX_EVIDENCE_COLLECTION_ITEMS)
42
+ .map(item => this.sanitizeEvidenceValue(item, depth + 1));
43
+ if (value.length > CleanSlateTaskEvidenceCodec.MAX_EVIDENCE_COLLECTION_ITEMS) {
44
+ sanitized.push({ truncatedItems: value.length - CleanSlateTaskEvidenceCodec.MAX_EVIDENCE_COLLECTION_ITEMS });
45
+ }
46
+ return sanitized;
47
+ }
48
+ if (typeof value === 'object') {
49
+ const source = value;
50
+ const sanitized = {};
51
+ const keys = Object.keys(source);
52
+ for (const key of keys.slice(0, CleanSlateTaskEvidenceCodec.MAX_EVIDENCE_OBJECT_KEYS)) {
53
+ const keyLower = key.toLowerCase();
54
+ const child = source[key];
55
+ if (typeof child === 'string' && child.length > CleanSlateTaskEvidenceCodec.MAX_EVIDENCE_STRING_LENGTH
56
+ && (keyLower.includes('screenshot') || keyLower.includes('image') || keyLower.includes('base64'))) {
57
+ sanitized[key] = '[large-media]';
58
+ continue;
59
+ }
60
+ sanitized[key] = this.sanitizeEvidenceValue(child, depth + 1);
61
+ }
62
+ if (keys.length > CleanSlateTaskEvidenceCodec.MAX_EVIDENCE_OBJECT_KEYS) {
63
+ sanitized.truncatedKeys = keys.length - CleanSlateTaskEvidenceCodec.MAX_EVIDENCE_OBJECT_KEYS;
64
+ }
65
+ return sanitized;
66
+ }
67
+ return undefined;
68
+ }
69
+ normalizeEvidencePaths(paths) {
70
+ if (!Array.isArray(paths)) {
71
+ return [];
72
+ }
73
+ const normalized = [];
74
+ const seen = new Set();
75
+ for (const path of paths) {
76
+ if (typeof path !== 'string') {
77
+ continue;
78
+ }
79
+ const cleanPath = this.normalizePath(path);
80
+ if (!cleanPath) {
81
+ continue;
82
+ }
83
+ const key = cleanPath.toLowerCase();
84
+ if (seen.has(key)) {
85
+ continue;
86
+ }
87
+ seen.add(key);
88
+ normalized.push(cleanPath);
89
+ }
90
+ return normalized;
91
+ }
92
+ normalizeFileChanges(changes) {
93
+ if (!Array.isArray(changes)) {
94
+ return [];
95
+ }
96
+ const normalized = [];
97
+ const seen = new Set();
98
+ for (const change of changes) {
99
+ if (!change || typeof change !== 'object') {
100
+ continue;
101
+ }
102
+ const candidate = change;
103
+ const path = this.normalizePath(candidate.path);
104
+ if (!path) {
105
+ continue;
106
+ }
107
+ const key = path.toLowerCase();
108
+ if (seen.has(key)) {
109
+ const existingIndex = normalized.findIndex(item => item.path.toLowerCase() === key);
110
+ if (existingIndex !== -1) {
111
+ normalized.splice(existingIndex, 1);
112
+ }
113
+ }
114
+ else {
115
+ seen.add(key);
116
+ }
117
+ normalized.push({
118
+ path,
119
+ added: typeof candidate.added === 'number' && Number.isFinite(candidate.added) ? candidate.added : undefined,
120
+ deleted: typeof candidate.deleted === 'number' && Number.isFinite(candidate.deleted) ? candidate.deleted : undefined
121
+ });
122
+ }
123
+ return normalized;
124
+ }
125
+ normalizePath(path) {
126
+ if (typeof path !== 'string') {
127
+ return undefined;
128
+ }
129
+ const normalized = path.trim().split('\\').join('/');
130
+ return normalized.length > 0 ? normalized : undefined;
131
+ }
132
+ mergeFileChanges(primary, secondary) {
133
+ const merged = new Map();
134
+ for (const source of [primary, secondary]) {
135
+ for (const change of source) {
136
+ const path = this.normalizePath(change?.path);
137
+ if (!path) {
138
+ continue;
139
+ }
140
+ const key = path.toLowerCase();
141
+ merged.set(key, {
142
+ path,
143
+ added: typeof change.added === 'number' && Number.isFinite(change.added) ? change.added : undefined,
144
+ deleted: typeof change.deleted === 'number' && Number.isFinite(change.deleted) ? change.deleted : undefined
145
+ });
146
+ }
147
+ }
148
+ return Array.from(merged.values());
149
+ }
150
+ }
151
+ //# sourceMappingURL=cleanSlateTaskEvidenceCodec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanSlateTaskEvidenceCodec.js","sourceRoot":"","sources":["../../src/services/cleanSlateTaskEvidenceCodec.ts"],"names":[],"mappings":"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"}