@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,595 @@
1
+ import { CancelablePromise } from './async.js';
2
+ import { CancellationToken } from './cancellation.js';
3
+ import { DisposableStore, IDisposable } from './lifecycle.js';
4
+ import { LinkedList } from './linkedList.js';
5
+ import { IObservable } from './observable.js';
6
+ import { MicrotaskDelay } from './symbols.js';
7
+ /**
8
+ * An event with zero or one parameters that can be subscribed to. The event is a function itself.
9
+ */
10
+ export interface Event<T> {
11
+ (listener: (e: T) => unknown, thisArgs?: any, disposables?: IDisposable[] | DisposableStore): IDisposable;
12
+ }
13
+ export declare namespace Event {
14
+ const None: Event<any>;
15
+ /**
16
+ * Given an event, returns another event which debounces calls and defers the listeners to a later task via a shared
17
+ * `setTimeout`. The event is converted into a signal (`Event<void>`) to avoid additional object creation as a
18
+ * result of merging events and to try prevent race conditions that could arise when using related deferred and
19
+ * non-deferred events.
20
+ *
21
+ * This is useful for deferring non-critical work (eg. general UI updates) to ensure it does not block critical work
22
+ * (eg. latency of keypress to text rendered).
23
+ *
24
+ * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
25
+ * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
26
+ * returned event causes this utility to leak a listener on the original event.
27
+ *
28
+ * @param event The event source for the new event.
29
+ * @param flushOnListenerRemove Whether to fire all debounced events when a listener is removed. If this is not
30
+ * specified, some events could go missing. Use this if it's important that all events are processed, even if the
31
+ * listener gets disposed before the debounced event fires.
32
+ * @param disposable A disposable store to add the new EventEmitter to.
33
+ */
34
+ function defer(event: Event<unknown>, flushOnListenerRemove?: boolean, disposable?: DisposableStore): Event<void>;
35
+ /**
36
+ * Given an event, returns another event which only fires once.
37
+ *
38
+ * @param event The event source for the new event.
39
+ */
40
+ function once<T>(event: Event<T>): Event<T>;
41
+ /**
42
+ * Given an event, returns another event which only fires once, and only when the condition is met.
43
+ *
44
+ * @param event The event source for the new event.
45
+ */
46
+ function onceIf<T>(event: Event<T>, condition: (e: T) => boolean): Event<T>;
47
+ /**
48
+ * Maps an event of one type into an event of another type using a mapping function, similar to how
49
+ * `Array.prototype.map` works.
50
+ *
51
+ * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
52
+ * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
53
+ * returned event causes this utility to leak a listener on the original event.
54
+ *
55
+ * @param event The event source for the new event.
56
+ * @param map The mapping function.
57
+ * @param disposable A disposable store to add the new EventEmitter to.
58
+ */
59
+ function map<I, O>(event: Event<I>, map: (i: I) => O, disposable?: DisposableStore): Event<O>;
60
+ /**
61
+ * Wraps an event in another event that performs some function on the event object before firing.
62
+ *
63
+ * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
64
+ * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
65
+ * returned event causes this utility to leak a listener on the original event.
66
+ *
67
+ * @param event The event source for the new event.
68
+ * @param each The function to perform on the event object.
69
+ * @param disposable A disposable store to add the new EventEmitter to.
70
+ */
71
+ function forEach<I>(event: Event<I>, each: (i: I) => void, disposable?: DisposableStore): Event<I>;
72
+ /**
73
+ * Wraps an event in another event that fires only when some condition is met.
74
+ *
75
+ * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
76
+ * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
77
+ * returned event causes this utility to leak a listener on the original event.
78
+ *
79
+ * @param event The event source for the new event.
80
+ * @param filter The filter function that defines the condition. The event will fire for the object if this function
81
+ * returns true.
82
+ * @param disposable A disposable store to add the new EventEmitter to.
83
+ */
84
+ function filter<T, U>(event: Event<T | U>, filter: (e: T | U) => e is T, disposable?: DisposableStore): Event<T>;
85
+ function filter<T>(event: Event<T>, filter: (e: T) => boolean, disposable?: DisposableStore): Event<T>;
86
+ function filter<T, R>(event: Event<T | R>, filter: (e: T | R) => e is R, disposable?: DisposableStore): Event<R>;
87
+ /**
88
+ * Given an event, returns the same event but typed as `Event<void>`.
89
+ */
90
+ function signal<T>(event: Event<T>): Event<void>;
91
+ /**
92
+ * Given a collection of events, returns a single event which emits whenever any of the provided events emit.
93
+ */
94
+ function any<T>(...events: Event<T>[]): Event<T>;
95
+ function any(...events: Event<any>[]): Event<void>;
96
+ /**
97
+ * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
98
+ * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
99
+ * returned event causes this utility to leak a listener on the original event.
100
+ */
101
+ function reduce<I, O>(event: Event<I>, merge: (last: O | undefined, event: I) => O, initial?: O, disposable?: DisposableStore): Event<O>;
102
+ /**
103
+ * Given an event, creates a new emitter that event that will debounce events based on {@link delay} and give an
104
+ * array event object of all events that fired.
105
+ *
106
+ * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
107
+ * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
108
+ * returned event causes this utility to leak a listener on the original event.
109
+ *
110
+ * @param event The original event to debounce.
111
+ * @param merge A function that reduces all events into a single event.
112
+ * @param delay The number of milliseconds to debounce.
113
+ * @param leading Whether to fire a leading event without debouncing.
114
+ * @param flushOnListenerRemove Whether to fire all debounced events when a listener is removed. If this is not
115
+ * specified, some events could go missing. Use this if it's important that all events are processed, even if the
116
+ * listener gets disposed before the debounced event fires.
117
+ * @param leakWarningThreshold See {@link EmitterOptions.leakWarningThreshold}.
118
+ * @param disposable A disposable store to register the debounce emitter to.
119
+ */
120
+ function debounce<T>(event: Event<T>, merge: (last: T | undefined, event: T) => T, delay?: number | typeof MicrotaskDelay, leading?: boolean, flushOnListenerRemove?: boolean, leakWarningThreshold?: number, disposable?: DisposableStore): Event<T>;
121
+ function debounce<I, O>(event: Event<I>, merge: (last: O | undefined, event: I) => O, delay?: number | typeof MicrotaskDelay, leading?: boolean, flushOnListenerRemove?: boolean, leakWarningThreshold?: number, disposable?: DisposableStore): Event<O>;
122
+ /**
123
+ * Debounces an event, firing after some delay (default=0) with an array of all event original objects.
124
+ *
125
+ * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
126
+ * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
127
+ * returned event causes this utility to leak a listener on the original event.
128
+ *
129
+ * @param event The event source for the new event.
130
+ * @param delay The number of milliseconds to debounce.
131
+ * @param flushOnListenerRemove Whether to fire all debounced events when a listener is removed. If this is not
132
+ * specified, some events could go missing. Use this if it's important that all events are processed, even if the
133
+ * listener gets disposed before the debounced event fires.
134
+ * @param disposable A disposable store to add the new EventEmitter to.
135
+ */
136
+ function accumulate<T>(event: Event<T>, delay?: number | typeof MicrotaskDelay, flushOnListenerRemove?: boolean, disposable?: DisposableStore): Event<T[]>;
137
+ /**
138
+ * Throttles an event, ensuring the event is fired at most once during the specified delay period.
139
+ * Unlike debounce, throttle will fire immediately on the leading edge and/or after the delay on the trailing edge.
140
+ *
141
+ * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
142
+ * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
143
+ * returned event causes this utility to leak a listener on the original event.
144
+ *
145
+ * @param event The event source for the new event.
146
+ * @param merge An accumulator function that merges events if multiple occur during the throttle period.
147
+ * @param delay The number of milliseconds to throttle.
148
+ * @param leading Whether to fire on the leading edge (immediately on first event).
149
+ * @param trailing Whether to fire on the trailing edge (after delay with the last value).
150
+ * @param leakWarningThreshold See {@link EmitterOptions.leakWarningThreshold}.
151
+ * @param disposable A disposable store to register the throttle emitter to.
152
+ */
153
+ function throttle<T>(event: Event<T>, merge: (last: T | undefined, event: T) => T, delay?: number | typeof MicrotaskDelay, leading?: boolean, trailing?: boolean, leakWarningThreshold?: number, disposable?: DisposableStore): Event<T>;
154
+ function throttle<I, O>(event: Event<I>, merge: (last: O | undefined, event: I) => O, delay?: number | typeof MicrotaskDelay, leading?: boolean, trailing?: boolean, leakWarningThreshold?: number, disposable?: DisposableStore): Event<O>;
155
+ /**
156
+ * Filters an event such that some condition is _not_ met more than once in a row, effectively ensuring duplicate
157
+ * event objects from different sources do not fire the same event object.
158
+ *
159
+ * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
160
+ * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
161
+ * returned event causes this utility to leak a listener on the original event.
162
+ *
163
+ * @param event The event source for the new event.
164
+ * @param equals The equality condition.
165
+ * @param disposable A disposable store to add the new EventEmitter to.
166
+ *
167
+ * @example
168
+ * ```
169
+ * // Fire only one time when a single window is opened or focused
170
+ * Event.latch(Event.any(onDidOpenWindow, onDidFocusWindow))
171
+ * ```
172
+ */
173
+ function latch<T>(event: Event<T>, equals?: (a: T, b: T) => boolean, disposable?: DisposableStore): Event<T>;
174
+ /**
175
+ * Splits an event whose parameter is a union type into 2 separate events for each type in the union.
176
+ *
177
+ * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
178
+ * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
179
+ * returned event causes this utility to leak a listener on the original event.
180
+ *
181
+ * @example
182
+ * ```
183
+ * const event = new EventEmitter<number | undefined>().event;
184
+ * const [numberEvent, undefinedEvent] = Event.split(event, isUndefined);
185
+ * ```
186
+ *
187
+ * @param event The event source for the new event.
188
+ * @param isT A function that determines what event is of the first type.
189
+ * @param disposable A disposable store to add the new EventEmitter to.
190
+ */
191
+ function split<T, U>(event: Event<T | U>, isT: (e: T | U) => e is T, disposable?: DisposableStore): [Event<T>, Event<U>];
192
+ /**
193
+ * Buffers an event until it has a listener attached.
194
+ *
195
+ * *NOTE* that this function returns an `Event` and it MUST be called with a `DisposableStore` whenever the returned
196
+ * event is accessible to "third parties", e.g the event is a public property. Otherwise a leaked listener on the
197
+ * returned event causes this utility to leak a listener on the original event.
198
+ *
199
+ * @param event The event source for the new event.
200
+ * @param flushAfterTimeout Determines whether to flush the buffer after a timeout immediately or after a
201
+ * `setTimeout` when the first event listener is added.
202
+ * @param _buffer Internal: A source event array used for tests.
203
+ *
204
+ * @example
205
+ * ```
206
+ * // Start accumulating events, when the first listener is attached, flush
207
+ * // the event after a timeout such that multiple listeners attached before
208
+ * // the timeout would receive the event
209
+ * this.onInstallExtension = Event.buffer(service.onInstallExtension, true);
210
+ * ```
211
+ */
212
+ function buffer<T>(event: Event<T>, flushAfterTimeout?: boolean, _buffer?: T[], disposable?: DisposableStore): Event<T>;
213
+ /**
214
+ * Wraps the event in an {@link IChainableEvent}, allowing a more functional programming style.
215
+ *
216
+ * @example
217
+ * ```
218
+ * // Normal
219
+ * const onEnterPressNormal = Event.filter(
220
+ * Event.map(onKeyPress.event, e => new StandardKeyboardEvent(e)),
221
+ * e.keyCode === KeyCode.Enter
222
+ * ).event;
223
+ *
224
+ * // Using chain
225
+ * const onEnterPressChain = Event.chain(onKeyPress.event, $ => $
226
+ * .map(e => new StandardKeyboardEvent(e))
227
+ * .filter(e => e.keyCode === KeyCode.Enter)
228
+ * );
229
+ * ```
230
+ */
231
+ function chain<T, R>(event: Event<T>, sythensize: ($: IChainableSythensis<T>) => IChainableSythensis<R>): Event<R>;
232
+ interface IChainableSythensis<T> {
233
+ map<O>(fn: (i: T) => O): IChainableSythensis<O>;
234
+ forEach(fn: (i: T) => void): IChainableSythensis<T>;
235
+ filter<R extends T>(fn: (e: T) => e is R): IChainableSythensis<R>;
236
+ filter(fn: (e: T) => boolean): IChainableSythensis<T>;
237
+ reduce<R>(merge: (last: R, event: T) => R, initial: R): IChainableSythensis<R>;
238
+ reduce<R>(merge: (last: R | undefined, event: T) => R): IChainableSythensis<R>;
239
+ latch(equals?: (a: T, b: T) => boolean): IChainableSythensis<T>;
240
+ }
241
+ interface NodeEventEmitter {
242
+ on(event: string | symbol, listener: Function): unknown;
243
+ removeListener(event: string | symbol, listener: Function): unknown;
244
+ }
245
+ /**
246
+ * Creates an {@link Event} from a node event emitter.
247
+ */
248
+ function fromNodeEventEmitter<T>(emitter: NodeEventEmitter, eventName: string, map?: (...args: any[]) => T): Event<T>;
249
+ interface DOMEventEmitter {
250
+ addEventListener(event: string | symbol, listener: Function): void;
251
+ removeEventListener(event: string | symbol, listener: Function): void;
252
+ }
253
+ /**
254
+ * Creates an {@link Event} from a DOM event emitter.
255
+ */
256
+ function fromDOMEventEmitter<T>(emitter: DOMEventEmitter, eventName: string, map?: (...args: any[]) => T): Event<T>;
257
+ /**
258
+ * Creates a promise out of an event, using the {@link Event.once} helper.
259
+ */
260
+ function toPromise<T>(event: Event<T>, disposables?: IDisposable[] | DisposableStore): CancelablePromise<T>;
261
+ /**
262
+ * A convenience function for forwarding an event to another emitter which
263
+ * improves readability.
264
+ *
265
+ * This is similar to {@link Relay} but allows instantiating and forwarding
266
+ * on a single line and also allows for multiple source events.
267
+ * @param from The event to forward.
268
+ * @param to The emitter to forward the event to.
269
+ * @example
270
+ * Event.forward(event, emitter);
271
+ * // equivalent to
272
+ * event(e => emitter.fire(e));
273
+ * // equivalent to
274
+ * event(emitter.fire, emitter);
275
+ */
276
+ function forward<T>(from: Event<T>, to: Emitter<T>): IDisposable;
277
+ /**
278
+ * Adds a listener to an event and calls the listener immediately with undefined as the event object.
279
+ *
280
+ * @example
281
+ * ```
282
+ * // Initialize the UI and update it when dataChangeEvent fires
283
+ * runAndSubscribe(dataChangeEvent, () => this._updateUI());
284
+ * ```
285
+ */
286
+ function runAndSubscribe<T>(event: Event<T>, handler: (e: T) => unknown, initial: T): IDisposable;
287
+ function runAndSubscribe<T>(event: Event<T>, handler: (e: T | undefined) => unknown): IDisposable;
288
+ /**
289
+ * Creates an event emitter that is fired when the observable changes.
290
+ * Each listeners subscribes to the emitter.
291
+ */
292
+ function fromObservable<T>(obs: IObservable<T>, store?: DisposableStore): Event<T>;
293
+ /**
294
+ * Each listener is attached to the observable directly.
295
+ */
296
+ function fromObservableLight(observable: IObservable<unknown>): Event<void>;
297
+ }
298
+ export interface EmitterOptions {
299
+ /**
300
+ * Optional function that's called *before* the very first listener is added
301
+ */
302
+ onWillAddFirstListener?: Function;
303
+ /**
304
+ * Optional function that's called *after* the very first listener is added
305
+ */
306
+ onDidAddFirstListener?: Function;
307
+ /**
308
+ * Optional function that's called after a listener is added
309
+ */
310
+ onDidAddListener?: Function;
311
+ /**
312
+ * Optional function that's called *after* remove the very last listener
313
+ */
314
+ onDidRemoveLastListener?: Function;
315
+ /**
316
+ * Optional function that's called *before* a listener is removed
317
+ */
318
+ onWillRemoveListener?: Function;
319
+ /**
320
+ * Optional function that's called when a listener throws an error. Defaults to
321
+ * {@link onUnexpectedError}
322
+ */
323
+ onListenerError?: (e: any) => void;
324
+ /**
325
+ * Number of listeners that are allowed before assuming a leak. Default to
326
+ * a globally configured value
327
+ *
328
+ * @see setGlobalLeakWarningThreshold
329
+ */
330
+ leakWarningThreshold?: number;
331
+ /**
332
+ * Pass in a delivery queue, which is useful for ensuring
333
+ * in order event delivery across multiple emitters.
334
+ */
335
+ deliveryQueue?: EventDeliveryQueue;
336
+ /** ONLY enable this during development */
337
+ _profName?: string;
338
+ }
339
+ export declare class EventProfiling {
340
+ static readonly all: Set<EventProfiling>;
341
+ private static _idPool;
342
+ readonly name: string;
343
+ listenerCount: number;
344
+ invocationCount: number;
345
+ elapsedOverall: number;
346
+ durations: number[];
347
+ private _stopWatch?;
348
+ constructor(name: string);
349
+ start(listenerCount: number): void;
350
+ stop(): void;
351
+ }
352
+ export declare function setGlobalLeakWarningThreshold(n: number): IDisposable;
353
+ declare class Stacktrace {
354
+ readonly value: string;
355
+ static create(): Stacktrace;
356
+ private constructor();
357
+ print(): void;
358
+ }
359
+ export declare class ListenerLeakError extends Error {
360
+ constructor(message: string, stack: string);
361
+ }
362
+ export declare class ListenerRefusalError extends Error {
363
+ constructor(message: string, stack: string);
364
+ }
365
+ declare class UniqueContainer<T> {
366
+ readonly value: T;
367
+ stack?: Stacktrace;
368
+ id: number;
369
+ constructor(value: T);
370
+ }
371
+ type ListenerContainer<T> = UniqueContainer<(data: T) => void>;
372
+ type ListenerOrListeners<T> = (ListenerContainer<T> | undefined)[] | ListenerContainer<T>;
373
+ /**
374
+ * The Emitter can be used to expose an Event to the public
375
+ * to fire it from the insides.
376
+ * Sample:
377
+ class Document {
378
+
379
+ private readonly _onDidChange = new Emitter<(value:string)=>any>();
380
+
381
+ public onDidChange = this._onDidChange.event;
382
+
383
+ // getter-style
384
+ // get onDidChange(): Event<(value:string)=>any> {
385
+ // return this._onDidChange.event;
386
+ // }
387
+
388
+ private _doIt() {
389
+ //...
390
+ this._onDidChange.fire(value);
391
+ }
392
+ }
393
+ */
394
+ export declare class Emitter<T> {
395
+ private readonly _options?;
396
+ private readonly _leakageMon?;
397
+ private readonly _perfMon?;
398
+ private _disposed?;
399
+ private _event?;
400
+ /**
401
+ * A listener, or list of listeners. A single listener is the most common
402
+ * for event emitters (#185789), so we optimize that special case to avoid
403
+ * wrapping it in an array (just like Node.js itself.)
404
+ *
405
+ * A list of listeners never 'downgrades' back to a plain function if
406
+ * listeners are removed, for two reasons:
407
+ *
408
+ * 1. That's complicated (especially with the deliveryQueue)
409
+ * 2. A listener with >1 listener is likely to have >1 listener again at
410
+ * some point, and swapping between arrays and functions may[citation needed]
411
+ * introduce unnecessary work and garbage.
412
+ *
413
+ * The array listeners can be 'sparse', to avoid reallocating the array
414
+ * whenever any listener is added or removed. If more than `1 / compactionThreshold`
415
+ * of the array is empty, only then is it resized.
416
+ */
417
+ protected _listeners?: ListenerOrListeners<T>;
418
+ /**
419
+ * Always to be defined if _listeners is an array. It's no longer a true
420
+ * queue, but holds the dispatching 'state'. If `fire()` is called on an
421
+ * emitter, any work left in the _deliveryQueue is finished first.
422
+ */
423
+ private _deliveryQueue?;
424
+ protected _size: number;
425
+ constructor(options?: EmitterOptions);
426
+ dispose(): void;
427
+ /**
428
+ * For the public to allow to subscribe
429
+ * to events from this Emitter
430
+ */
431
+ get event(): Event<T>;
432
+ private _removeListener;
433
+ private _deliver;
434
+ /** Delivers items in the queue. Assumes the queue is ready to go. */
435
+ private _deliverQueue;
436
+ /**
437
+ * To be kept private to fire an event to
438
+ * subscribers
439
+ */
440
+ fire(event: T): void;
441
+ hasListeners(): boolean;
442
+ }
443
+ export interface EventDeliveryQueue {
444
+ _isEventDeliveryQueue: true;
445
+ }
446
+ export declare const createEventDeliveryQueue: () => EventDeliveryQueue;
447
+ export interface IWaitUntil {
448
+ token: CancellationToken;
449
+ waitUntil(thenable: Promise<unknown>): void;
450
+ }
451
+ export type IWaitUntilData<T> = Omit<Omit<T, 'waitUntil'>, 'token'>;
452
+ export declare class AsyncEmitter<T extends IWaitUntil> extends Emitter<T> {
453
+ private _asyncDeliveryQueue?;
454
+ fireAsync(data: IWaitUntilData<T>, token: CancellationToken, promiseJoin?: (p: Promise<unknown>, listener: Function) => Promise<unknown>): Promise<void>;
455
+ }
456
+ export declare class PauseableEmitter<T> extends Emitter<T> {
457
+ private _isPaused;
458
+ protected _eventQueue: LinkedList<T>;
459
+ private _mergeFn?;
460
+ get isPaused(): boolean;
461
+ constructor(options?: EmitterOptions & {
462
+ merge?: (input: T[]) => T;
463
+ });
464
+ pause(): void;
465
+ resume(): void;
466
+ fire(event: T): void;
467
+ }
468
+ export declare class DebounceEmitter<T> extends PauseableEmitter<T> {
469
+ private readonly _delay;
470
+ private _handle;
471
+ constructor(options: EmitterOptions & {
472
+ merge: (input: T[]) => T;
473
+ delay?: number;
474
+ });
475
+ fire(event: T): void;
476
+ }
477
+ /**
478
+ * An emitter which queue all events and then process them at the
479
+ * end of the event loop.
480
+ */
481
+ export declare class MicrotaskEmitter<T> extends Emitter<T> {
482
+ private _queuedEvents;
483
+ private _mergeFn?;
484
+ constructor(options?: EmitterOptions & {
485
+ merge?: (input: T[]) => T;
486
+ });
487
+ fire(event: T): void;
488
+ }
489
+ /**
490
+ * An event emitter that multiplexes many events into a single event.
491
+ *
492
+ * @example Listen to the `onData` event of all `Thing`s, dynamically adding and removing `Thing`s
493
+ * to the multiplexer as needed.
494
+ *
495
+ * ```typescript
496
+ * const anythingDataMultiplexer = new EventMultiplexer<{ data: string }>();
497
+ *
498
+ * const thingListeners = DisposableMap<Thing, IDisposable>();
499
+ *
500
+ * thingService.onDidAddThing(thing => {
501
+ * thingListeners.set(thing, anythingDataMultiplexer.add(thing.onData);
502
+ * });
503
+ * thingService.onDidRemoveThing(thing => {
504
+ * thingListeners.deleteAndDispose(thing);
505
+ * });
506
+ *
507
+ * anythingDataMultiplexer.event(e => {
508
+ * console.log('Something fired data ' + e.data)
509
+ * });
510
+ * ```
511
+ */
512
+ export declare class EventMultiplexer<T> implements IDisposable {
513
+ private readonly emitter;
514
+ private hasListeners;
515
+ private events;
516
+ constructor();
517
+ get event(): Event<T>;
518
+ add(event: Event<T>): IDisposable;
519
+ private onFirstListenerAdd;
520
+ private onLastListenerRemove;
521
+ private hook;
522
+ private unhook;
523
+ dispose(): void;
524
+ }
525
+ export interface IDynamicListEventMultiplexer<TEventType> extends IDisposable {
526
+ readonly event: Event<TEventType>;
527
+ }
528
+ export declare class DynamicListEventMultiplexer<TItem, TEventType> implements IDynamicListEventMultiplexer<TEventType> {
529
+ private readonly _store;
530
+ readonly event: Event<TEventType>;
531
+ constructor(items: TItem[], onAddItem: Event<TItem>, onRemoveItem: Event<TItem>, getEvent: (item: TItem) => Event<TEventType>);
532
+ dispose(): void;
533
+ }
534
+ /**
535
+ * The EventBufferer is useful in situations in which you want
536
+ * to delay firing your events during some code.
537
+ * You can wrap that code and be sure that the event will not
538
+ * be fired during that wrap.
539
+ *
540
+ * ```
541
+ * const emitter: Emitter;
542
+ * const delayer = new EventDelayer();
543
+ * const delayedEvent = delayer.wrapEvent(emitter.event);
544
+ *
545
+ * delayedEvent(console.log);
546
+ *
547
+ * delayer.bufferEvents(() => {
548
+ * emitter.fire(); // event will not be fired yet
549
+ * });
550
+ *
551
+ * // event will only be fired at this point
552
+ * ```
553
+ */
554
+ export declare class EventBufferer {
555
+ private data;
556
+ wrapEvent<T>(event: Event<T>): Event<T>;
557
+ wrapEvent<T>(event: Event<T>, reduce: (last: T | undefined, event: T) => T): Event<T>;
558
+ wrapEvent<T, O>(event: Event<T>, reduce: (last: O | undefined, event: T) => O, initial: O): Event<O>;
559
+ bufferEvents<R = void>(fn: () => R): R;
560
+ }
561
+ /**
562
+ * A Relay is an event forwarder which functions as a replugabble event pipe.
563
+ * Once created, you can connect an input event to it and it will simply forward
564
+ * events from that input event through its own `event` property. The `input`
565
+ * can be changed at any point in time.
566
+ */
567
+ export declare class Relay<T> implements IDisposable {
568
+ private listening;
569
+ private inputEvent;
570
+ private inputEventListener;
571
+ private readonly emitter;
572
+ readonly event: Event<T>;
573
+ set input(event: Event<T>);
574
+ dispose(): void;
575
+ }
576
+ export interface IValueWithChangeEvent<T> {
577
+ readonly onDidChange: Event<void>;
578
+ get value(): T;
579
+ }
580
+ export declare class ValueWithChangeEvent<T> implements IValueWithChangeEvent<T> {
581
+ private _value;
582
+ static const<T>(value: T): IValueWithChangeEvent<T>;
583
+ private readonly _onDidChange;
584
+ readonly onDidChange: Event<void>;
585
+ constructor(_value: T);
586
+ get value(): T;
587
+ set value(value: T);
588
+ }
589
+ /**
590
+ * @param handleItem Is called for each item in the set (but only the first time the item is seen in the set).
591
+ * The returned disposable is disposed if the item is no longer in the set.
592
+ */
593
+ export declare function trackSetChanges<T>(getData: () => ReadonlySet<T>, onDidChangeData: Event<unknown>, handleItem: (d: T) => IDisposable): IDisposable;
594
+ export {};
595
+ //# sourceMappingURL=event.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/core/event.ts"],"names":[],"mappings":"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"}