@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.
- package/LICENSE +22 -0
- package/NOTICE +48 -0
- package/README.md +103 -0
- package/VENDOR.md +60 -0
- package/dist/agent/cleanSlateAgentExecutionPhase.d.ts +55 -0
- package/dist/agent/cleanSlateAgentExecutionPhase.d.ts.map +1 -0
- package/dist/agent/cleanSlateAgentExecutionPhase.js +474 -0
- package/dist/agent/cleanSlateAgentExecutionPhase.js.map +1 -0
- package/dist/agent/cleanSlateAgentExecutionSupport.d.ts +22 -0
- package/dist/agent/cleanSlateAgentExecutionSupport.d.ts.map +1 -0
- package/dist/agent/cleanSlateAgentExecutionSupport.js +205 -0
- package/dist/agent/cleanSlateAgentExecutionSupport.js.map +1 -0
- package/dist/agent/cleanSlateAgentParsing.d.ts +21 -0
- package/dist/agent/cleanSlateAgentParsing.d.ts.map +1 -0
- package/dist/agent/cleanSlateAgentParsing.js +106 -0
- package/dist/agent/cleanSlateAgentParsing.js.map +1 -0
- package/dist/agent/cleanSlateAgentSession.d.ts +44 -0
- package/dist/agent/cleanSlateAgentSession.d.ts.map +1 -0
- package/dist/agent/cleanSlateAgentSession.js +205 -0
- package/dist/agent/cleanSlateAgentSession.js.map +1 -0
- package/dist/agent/cleanSlateAgentTypes.d.ts +91 -0
- package/dist/agent/cleanSlateAgentTypes.d.ts.map +1 -0
- package/dist/agent/cleanSlateAgentTypes.js +27 -0
- package/dist/agent/cleanSlateAgentTypes.js.map +1 -0
- package/dist/agent/cleanSlateCommandPolicy.d.ts +12 -0
- package/dist/agent/cleanSlateCommandPolicy.d.ts.map +1 -0
- package/dist/agent/cleanSlateCommandPolicy.js +30 -0
- package/dist/agent/cleanSlateCommandPolicy.js.map +1 -0
- package/dist/agent/cleanSlateContextBudgetManager.d.ts +82 -0
- package/dist/agent/cleanSlateContextBudgetManager.d.ts.map +1 -0
- package/dist/agent/cleanSlateContextBudgetManager.js +419 -0
- package/dist/agent/cleanSlateContextBudgetManager.js.map +1 -0
- package/dist/agent/cleanSlateDomainProfile.d.ts +71 -0
- package/dist/agent/cleanSlateDomainProfile.d.ts.map +1 -0
- package/dist/agent/cleanSlateDomainProfile.js +124 -0
- package/dist/agent/cleanSlateDomainProfile.js.map +1 -0
- package/dist/agent/cleanSlateExecutionBudget.d.ts +19 -0
- package/dist/agent/cleanSlateExecutionBudget.d.ts.map +1 -0
- package/dist/agent/cleanSlateExecutionBudget.js +28 -0
- package/dist/agent/cleanSlateExecutionBudget.js.map +1 -0
- package/dist/agent/cleanSlateExecutionEditPolicy.d.ts +15 -0
- package/dist/agent/cleanSlateExecutionEditPolicy.d.ts.map +1 -0
- package/dist/agent/cleanSlateExecutionEditPolicy.js +148 -0
- package/dist/agent/cleanSlateExecutionEditPolicy.js.map +1 -0
- package/dist/agent/cleanSlateExecutionEvidenceLedger.d.ts +23 -0
- package/dist/agent/cleanSlateExecutionEvidenceLedger.d.ts.map +1 -0
- package/dist/agent/cleanSlateExecutionEvidenceLedger.js +121 -0
- package/dist/agent/cleanSlateExecutionEvidenceLedger.js.map +1 -0
- package/dist/agent/cleanSlateExecutionLoopPrompts.d.ts +5 -0
- package/dist/agent/cleanSlateExecutionLoopPrompts.d.ts.map +1 -0
- package/dist/agent/cleanSlateExecutionLoopPrompts.js +41 -0
- package/dist/agent/cleanSlateExecutionLoopPrompts.js.map +1 -0
- package/dist/agent/cleanSlateExecutionQuery.d.ts +162 -0
- package/dist/agent/cleanSlateExecutionQuery.d.ts.map +1 -0
- package/dist/agent/cleanSlateExecutionQuery.js +1448 -0
- package/dist/agent/cleanSlateExecutionQuery.js.map +1 -0
- package/dist/agent/cleanSlateFilesModifiedService.d.ts +96 -0
- package/dist/agent/cleanSlateFilesModifiedService.d.ts.map +1 -0
- package/dist/agent/cleanSlateFilesModifiedService.js +581 -0
- package/dist/agent/cleanSlateFilesModifiedService.js.map +1 -0
- package/dist/agent/cleanSlateNativeToolTranscript.d.ts +22 -0
- package/dist/agent/cleanSlateNativeToolTranscript.d.ts.map +1 -0
- package/dist/agent/cleanSlateNativeToolTranscript.js +77 -0
- package/dist/agent/cleanSlateNativeToolTranscript.js.map +1 -0
- package/dist/agent/cleanSlatePrompts.d.ts +30 -0
- package/dist/agent/cleanSlatePrompts.d.ts.map +1 -0
- package/dist/agent/cleanSlatePrompts.js +65 -0
- package/dist/agent/cleanSlatePrompts.js.map +1 -0
- package/dist/agent/cleanSlateQueryRunner.d.ts +56 -0
- package/dist/agent/cleanSlateQueryRunner.d.ts.map +1 -0
- package/dist/agent/cleanSlateQueryRunner.js +69 -0
- package/dist/agent/cleanSlateQueryRunner.js.map +1 -0
- package/dist/agent/cleanSlateRuntimePromptBuilder.d.ts +30 -0
- package/dist/agent/cleanSlateRuntimePromptBuilder.d.ts.map +1 -0
- package/dist/agent/cleanSlateRuntimePromptBuilder.js +99 -0
- package/dist/agent/cleanSlateRuntimePromptBuilder.js.map +1 -0
- package/dist/agent/cleanSlateStreamingToolExecutor.d.ts +55 -0
- package/dist/agent/cleanSlateStreamingToolExecutor.d.ts.map +1 -0
- package/dist/agent/cleanSlateStreamingToolExecutor.js +214 -0
- package/dist/agent/cleanSlateStreamingToolExecutor.js.map +1 -0
- package/dist/agent/cleanSlateToolCallLedger.d.ts +32 -0
- package/dist/agent/cleanSlateToolCallLedger.d.ts.map +1 -0
- package/dist/agent/cleanSlateToolCallLedger.js +164 -0
- package/dist/agent/cleanSlateToolCallLedger.js.map +1 -0
- package/dist/agent/cleanSlateToolResultPromptSerializer.d.ts +9 -0
- package/dist/agent/cleanSlateToolResultPromptSerializer.d.ts.map +1 -0
- package/dist/agent/cleanSlateToolResultPromptSerializer.js +184 -0
- package/dist/agent/cleanSlateToolResultPromptSerializer.js.map +1 -0
- package/dist/composer/commands/slashCommands.d.ts +8 -0
- package/dist/composer/commands/slashCommands.d.ts.map +1 -0
- package/dist/composer/commands/slashCommands.js +46 -0
- package/dist/composer/commands/slashCommands.js.map +1 -0
- package/dist/composer/instructions/baseInstructions.d.ts +3 -0
- package/dist/composer/instructions/baseInstructions.d.ts.map +1 -0
- package/dist/composer/instructions/baseInstructions.js +35 -0
- package/dist/composer/instructions/baseInstructions.js.map +1 -0
- package/dist/composer/instructions/runtimeInstructions.d.ts +11 -0
- package/dist/composer/instructions/runtimeInstructions.d.ts.map +1 -0
- package/dist/composer/instructions/runtimeInstructions.js +31 -0
- package/dist/composer/instructions/runtimeInstructions.js.map +1 -0
- package/dist/composer/kernel/coreKernel.d.ts +3 -0
- package/dist/composer/kernel/coreKernel.d.ts.map +1 -0
- package/dist/composer/kernel/coreKernel.js +11 -0
- package/dist/composer/kernel/coreKernel.js.map +1 -0
- package/dist/composer/kernel/editingRules.d.ts +3 -0
- package/dist/composer/kernel/editingRules.d.ts.map +1 -0
- package/dist/composer/kernel/editingRules.js +24 -0
- package/dist/composer/kernel/editingRules.js.map +1 -0
- package/dist/composer/kernel/toolProtocols.d.ts +2 -0
- package/dist/composer/kernel/toolProtocols.d.ts.map +1 -0
- package/dist/composer/kernel/toolProtocols.js +32 -0
- package/dist/composer/kernel/toolProtocols.js.map +1 -0
- package/dist/composer/modes/execution.mode.d.ts +2 -0
- package/dist/composer/modes/execution.mode.d.ts.map +1 -0
- package/dist/composer/modes/execution.mode.js +21 -0
- package/dist/composer/modes/execution.mode.js.map +1 -0
- package/dist/composer/modes/planning.mode.d.ts +2 -0
- package/dist/composer/modes/planning.mode.d.ts.map +1 -0
- package/dist/composer/modes/planning.mode.js +23 -0
- package/dist/composer/modes/planning.mode.js.map +1 -0
- package/dist/composer/promptComposer.d.ts +22 -0
- package/dist/composer/promptComposer.d.ts.map +1 -0
- package/dist/composer/promptComposer.js +62 -0
- package/dist/composer/promptComposer.js.map +1 -0
- package/dist/composer/registry/agentSchema.d.ts +16 -0
- package/dist/composer/registry/agentSchema.d.ts.map +1 -0
- package/dist/composer/registry/agentSchema.js +6 -0
- package/dist/composer/registry/agentSchema.js.map +1 -0
- package/dist/core/arrays.d.ts +311 -0
- package/dist/core/arrays.d.ts.map +1 -0
- package/dist/core/arrays.js +811 -0
- package/dist/core/arrays.js.map +1 -0
- package/dist/core/arraysFind.d.ts +72 -0
- package/dist/core/arraysFind.d.ts.map +1 -0
- package/dist/core/arraysFind.js +200 -0
- package/dist/core/arraysFind.js.map +1 -0
- package/dist/core/assert.d.ts +36 -0
- package/dist/core/assert.d.ts.map +1 -0
- package/dist/core/assert.js +84 -0
- package/dist/core/assert.js.map +1 -0
- package/dist/core/async.d.ts +11 -0
- package/dist/core/async.d.ts.map +1 -0
- package/dist/core/async.js +6 -0
- package/dist/core/async.js.map +1 -0
- package/dist/core/buffer.d.ts +23 -0
- package/dist/core/buffer.d.ts.map +1 -0
- package/dist/core/buffer.js +40 -0
- package/dist/core/buffer.js.map +1 -0
- package/dist/core/cancellation.d.ts +52 -0
- package/dist/core/cancellation.d.ts.map +1 -0
- package/dist/core/cancellation.js +169 -0
- package/dist/core/cancellation.js.map +1 -0
- package/dist/core/charCode.d.ts +428 -0
- package/dist/core/charCode.d.ts.map +1 -0
- package/dist/core/charCode.js +439 -0
- package/dist/core/charCode.js.map +1 -0
- package/dist/core/collections.d.ts +49 -0
- package/dist/core/collections.d.ts.map +1 -0
- package/dist/core/collections.js +132 -0
- package/dist/core/collections.js.map +1 -0
- package/dist/core/diff/diff.d.ts +151 -0
- package/dist/core/diff/diff.d.ts.map +1 -0
- package/dist/core/diff/diff.js +1076 -0
- package/dist/core/diff/diff.js.map +1 -0
- package/dist/core/diff/diffChange.d.ts +39 -0
- package/dist/core/diff/diffChange.d.ts.map +1 -0
- package/dist/core/diff/diffChange.js +37 -0
- package/dist/core/diff/diffChange.js.map +1 -0
- package/dist/core/errors.d.ts +114 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +258 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/event.d.ts +595 -0
- package/dist/core/event.d.ts.map +1 -0
- package/dist/core/event.js +1479 -0
- package/dist/core/event.js.map +1 -0
- package/dist/core/functional.d.ts +5 -0
- package/dist/core/functional.d.ts.map +1 -0
- package/dist/core/functional.js +35 -0
- package/dist/core/functional.js.map +1 -0
- package/dist/core/hash.d.ts +15 -0
- package/dist/core/hash.d.ts.map +1 -0
- package/dist/core/hash.js +27 -0
- package/dist/core/hash.js.map +1 -0
- package/dist/core/iterator.d.ts +33 -0
- package/dist/core/iterator.d.ts.map +1 -0
- package/dist/core/iterator.js +188 -0
- package/dist/core/iterator.js.map +1 -0
- package/dist/core/lifecycle.d.ts +313 -0
- package/dist/core/lifecycle.d.ts.map +1 -0
- package/dist/core/lifecycle.js +789 -0
- package/dist/core/lifecycle.js.map +1 -0
- package/dist/core/linkedList.d.ts +17 -0
- package/dist/core/linkedList.d.ts.map +1 -0
- package/dist/core/linkedList.js +138 -0
- package/dist/core/linkedList.js.map +1 -0
- package/dist/core/map.d.ts +175 -0
- package/dist/core/map.d.ts.map +1 -0
- package/dist/core/map.js +796 -0
- package/dist/core/map.js.map +1 -0
- package/dist/core/marshallingIds.d.ts +29 -0
- package/dist/core/marshallingIds.d.ts.map +1 -0
- package/dist/core/marshallingIds.js +38 -0
- package/dist/core/marshallingIds.js.map +1 -0
- package/dist/core/observable.d.ts +28 -0
- package/dist/core/observable.d.ts.map +1 -0
- package/dist/core/observable.js +6 -0
- package/dist/core/observable.js.map +1 -0
- package/dist/core/platform.d.ts +4 -0
- package/dist/core/platform.d.ts.map +1 -0
- package/dist/core/platform.js +17 -0
- package/dist/core/platform.js.map +1 -0
- package/dist/core/position.d.ts +91 -0
- package/dist/core/position.d.ts.map +1 -0
- package/dist/core/position.js +145 -0
- package/dist/core/position.js.map +1 -0
- package/dist/core/range.d.ts +198 -0
- package/dist/core/range.d.ts.map +1 -0
- package/dist/core/range.js +426 -0
- package/dist/core/range.js.map +1 -0
- package/dist/core/resources.d.ts +10 -0
- package/dist/core/resources.d.ts.map +1 -0
- package/dist/core/resources.js +126 -0
- package/dist/core/resources.js.map +1 -0
- package/dist/core/sequence.d.ts +20 -0
- package/dist/core/sequence.d.ts.map +1 -0
- package/dist/core/sequence.js +21 -0
- package/dist/core/sequence.js.map +1 -0
- package/dist/core/stopwatch.d.ts +11 -0
- package/dist/core/stopwatch.d.ts.map +1 -0
- package/dist/core/stopwatch.js +33 -0
- package/dist/core/stopwatch.js.map +1 -0
- package/dist/core/symbols.d.ts +5 -0
- package/dist/core/symbols.d.ts.map +1 -0
- package/dist/core/symbols.js +13 -0
- package/dist/core/symbols.js.map +1 -0
- package/dist/core/types.d.ts +229 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +278 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/uint.d.ts +32 -0
- package/dist/core/uint.d.ts.map +1 -0
- package/dist/core/uint.js +57 -0
- package/dist/core/uint.js.map +1 -0
- package/dist/core/uri.d.ts +172 -0
- package/dist/core/uri.d.ts.map +1 -0
- package/dist/core/uri.js +623 -0
- package/dist/core/uri.js.map +1 -0
- package/dist/host/browserAutomation.d.ts +276 -0
- package/dist/host/browserAutomation.d.ts.map +1 -0
- package/dist/host/browserAutomation.js +6 -0
- package/dist/host/browserAutomation.js.map +1 -0
- package/dist/host/diagnostics.d.ts +68 -0
- package/dist/host/diagnostics.d.ts.map +1 -0
- package/dist/host/diagnostics.js +41 -0
- package/dist/host/diagnostics.js.map +1 -0
- package/dist/host/files.d.ts +70 -0
- package/dist/host/files.d.ts.map +1 -0
- package/dist/host/files.js +54 -0
- package/dist/host/files.js.map +1 -0
- package/dist/host/services.d.ts +106 -0
- package/dist/host/services.d.ts.map +1 -0
- package/dist/host/services.js +6 -0
- package/dist/host/services.js.map +1 -0
- package/dist/host/symbols.d.ts +45 -0
- package/dist/host/symbols.d.ts.map +1 -0
- package/dist/host/symbols.js +43 -0
- package/dist/host/symbols.js.map +1 -0
- package/dist/host/textModel.d.ts +83 -0
- package/dist/host/textModel.d.ts.map +1 -0
- package/dist/host/textModel.js +6 -0
- package/dist/host/textModel.js.map +1 -0
- package/dist/host/workspace.d.ts +123 -0
- package/dist/host/workspace.d.ts.map +1 -0
- package/dist/host/workspace.js +32 -0
- package/dist/host/workspace.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +26 -0
- package/dist/index.js.map +1 -0
- package/dist/node/cleanSlateAnthropicMessageAdapter.d.ts +12 -0
- package/dist/node/cleanSlateAnthropicMessageAdapter.d.ts.map +1 -0
- package/dist/node/cleanSlateAnthropicMessageAdapter.js +130 -0
- package/dist/node/cleanSlateAnthropicMessageAdapter.js.map +1 -0
- package/dist/node/cleanSlateHeadlessRunner.d.ts +63 -0
- package/dist/node/cleanSlateHeadlessRunner.d.ts.map +1 -0
- package/dist/node/cleanSlateHeadlessRunner.js +84 -0
- package/dist/node/cleanSlateHeadlessRunner.js.map +1 -0
- package/dist/node/cleanSlateNodeAgentRuntime.d.ts +94 -0
- package/dist/node/cleanSlateNodeAgentRuntime.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeAgentRuntime.js +339 -0
- package/dist/node/cleanSlateNodeAgentRuntime.js.map +1 -0
- package/dist/node/cleanSlateNodeBrowserAutomation.d.ts +279 -0
- package/dist/node/cleanSlateNodeBrowserAutomation.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeBrowserAutomation.js +470 -0
- package/dist/node/cleanSlateNodeBrowserAutomation.js.map +1 -0
- package/dist/node/cleanSlateNodeCommandService.d.ts +40 -0
- package/dist/node/cleanSlateNodeCommandService.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeCommandService.js +435 -0
- package/dist/node/cleanSlateNodeCommandService.js.map +1 -0
- package/dist/node/cleanSlateNodeFileServices.d.ts +68 -0
- package/dist/node/cleanSlateNodeFileServices.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeFileServices.js +138 -0
- package/dist/node/cleanSlateNodeFileServices.js.map +1 -0
- package/dist/node/cleanSlateNodeIndexService.d.ts +17 -0
- package/dist/node/cleanSlateNodeIndexService.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeIndexService.js +128 -0
- package/dist/node/cleanSlateNodeIndexService.js.map +1 -0
- package/dist/node/cleanSlateNodeLanguageCommands.d.ts +11 -0
- package/dist/node/cleanSlateNodeLanguageCommands.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeLanguageCommands.js +146 -0
- package/dist/node/cleanSlateNodeLanguageCommands.js.map +1 -0
- package/dist/node/cleanSlateNodeMainService.d.ts +87 -0
- package/dist/node/cleanSlateNodeMainService.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeMainService.js +1304 -0
- package/dist/node/cleanSlateNodeMainService.js.map +1 -0
- package/dist/node/cleanSlateNodeMcpClient.d.ts +20 -0
- package/dist/node/cleanSlateNodeMcpClient.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeMcpClient.js +184 -0
- package/dist/node/cleanSlateNodeMcpClient.js.map +1 -0
- package/dist/node/cleanSlateNodeSearchService.d.ts +14 -0
- package/dist/node/cleanSlateNodeSearchService.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeSearchService.js +180 -0
- package/dist/node/cleanSlateNodeSearchService.js.map +1 -0
- package/dist/node/cleanSlateNodeTextModel.d.ts +56 -0
- package/dist/node/cleanSlateNodeTextModel.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeTextModel.js +127 -0
- package/dist/node/cleanSlateNodeTextModel.js.map +1 -0
- package/dist/node/cleanSlateNodeToolContext.d.ts +50 -0
- package/dist/node/cleanSlateNodeToolContext.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeToolContext.js +134 -0
- package/dist/node/cleanSlateNodeToolContext.js.map +1 -0
- package/dist/node/cleanSlateNodeWebRetrieval.d.ts +20 -0
- package/dist/node/cleanSlateNodeWebRetrieval.d.ts.map +1 -0
- package/dist/node/cleanSlateNodeWebRetrieval.js +379 -0
- package/dist/node/cleanSlateNodeWebRetrieval.js.map +1 -0
- package/dist/node/cleanSlateOpenAIMessageAdapter.d.ts +8 -0
- package/dist/node/cleanSlateOpenAIMessageAdapter.d.ts.map +1 -0
- package/dist/node/cleanSlateOpenAIMessageAdapter.js +111 -0
- package/dist/node/cleanSlateOpenAIMessageAdapter.js.map +1 -0
- package/dist/node/cleanSlateProviderSchemaNormalizer.d.ts +18 -0
- package/dist/node/cleanSlateProviderSchemaNormalizer.d.ts.map +1 -0
- package/dist/node/cleanSlateProviderSchemaNormalizer.js +175 -0
- package/dist/node/cleanSlateProviderSchemaNormalizer.js.map +1 -0
- package/dist/node/index.d.ts +25 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +28 -0
- package/dist/node/index.js.map +1 -0
- package/dist/protocol/cleanSlateAI.d.ts +964 -0
- package/dist/protocol/cleanSlateAI.d.ts.map +1 -0
- package/dist/protocol/cleanSlateAI.js +35 -0
- package/dist/protocol/cleanSlateAI.js.map +1 -0
- package/dist/protocol/cleanSlateModelCapabilities.d.ts +86 -0
- package/dist/protocol/cleanSlateModelCapabilities.d.ts.map +1 -0
- package/dist/protocol/cleanSlateModelCapabilities.js +1104 -0
- package/dist/protocol/cleanSlateModelCapabilities.js.map +1 -0
- package/dist/protocol/cleanSlateProviderMessageTransforms.d.ts +11 -0
- package/dist/protocol/cleanSlateProviderMessageTransforms.d.ts.map +1 -0
- package/dist/protocol/cleanSlateProviderMessageTransforms.js +178 -0
- package/dist/protocol/cleanSlateProviderMessageTransforms.js.map +1 -0
- package/dist/protocol/cleanSlateService.d.ts +68 -0
- package/dist/protocol/cleanSlateService.d.ts.map +1 -0
- package/dist/protocol/cleanSlateService.js +1149 -0
- package/dist/protocol/cleanSlateService.js.map +1 -0
- package/dist/services/cleanSlateCancellation.d.ts +7 -0
- package/dist/services/cleanSlateCancellation.d.ts.map +1 -0
- package/dist/services/cleanSlateCancellation.js +56 -0
- package/dist/services/cleanSlateCancellation.js.map +1 -0
- package/dist/services/cleanSlateCommandExecutionService.d.ts +25 -0
- package/dist/services/cleanSlateCommandExecutionService.d.ts.map +1 -0
- package/dist/services/cleanSlateCommandExecutionService.js +31 -0
- package/dist/services/cleanSlateCommandExecutionService.js.map +1 -0
- package/dist/services/cleanSlateDiffService.d.ts +62 -0
- package/dist/services/cleanSlateDiffService.d.ts.map +1 -0
- package/dist/services/cleanSlateDiffService.js +428 -0
- package/dist/services/cleanSlateDiffService.js.map +1 -0
- package/dist/services/cleanSlateEditMatchValidator.d.ts +63 -0
- package/dist/services/cleanSlateEditMatchValidator.d.ts.map +1 -0
- package/dist/services/cleanSlateEditMatchValidator.js +341 -0
- package/dist/services/cleanSlateEditMatchValidator.js.map +1 -0
- package/dist/services/cleanSlateEditService.d.ts +155 -0
- package/dist/services/cleanSlateEditService.d.ts.map +1 -0
- package/dist/services/cleanSlateEditService.js +848 -0
- package/dist/services/cleanSlateEditService.js.map +1 -0
- package/dist/services/cleanSlateFileHistory.d.ts +56 -0
- package/dist/services/cleanSlateFileHistory.d.ts.map +1 -0
- package/dist/services/cleanSlateFileHistory.js +157 -0
- package/dist/services/cleanSlateFileHistory.js.map +1 -0
- package/dist/services/cleanSlateTaskEvidenceCodec.d.ts +15 -0
- package/dist/services/cleanSlateTaskEvidenceCodec.d.ts.map +1 -0
- package/dist/services/cleanSlateTaskEvidenceCodec.js +151 -0
- package/dist/services/cleanSlateTaskEvidenceCodec.js.map +1 -0
- package/dist/services/cleanSlateTaskSessionService.d.ts +258 -0
- package/dist/services/cleanSlateTaskSessionService.d.ts.map +1 -0
- package/dist/services/cleanSlateTaskSessionService.js +1079 -0
- package/dist/services/cleanSlateTaskSessionService.js.map +1 -0
- package/dist/services/cleanSlateTaskState.d.ts +32 -0
- package/dist/services/cleanSlateTaskState.d.ts.map +1 -0
- package/dist/services/cleanSlateTaskState.js +40 -0
- package/dist/services/cleanSlateTaskState.js.map +1 -0
- package/dist/services/cleanSlateThreadService.d.ts +64 -0
- package/dist/services/cleanSlateThreadService.d.ts.map +1 -0
- package/dist/services/cleanSlateThreadService.js +188 -0
- package/dist/services/cleanSlateThreadService.js.map +1 -0
- package/dist/services/cleanSlateTools.d.ts +29 -0
- package/dist/services/cleanSlateTools.d.ts.map +1 -0
- package/dist/services/cleanSlateTools.js +38 -0
- package/dist/services/cleanSlateTools.js.map +1 -0
- package/dist/services/cleanSlateVerificationTargetTracker.d.ts +23 -0
- package/dist/services/cleanSlateVerificationTargetTracker.d.ts.map +1 -0
- package/dist/services/cleanSlateVerificationTargetTracker.js +214 -0
- package/dist/services/cleanSlateVerificationTargetTracker.js.map +1 -0
- package/dist/skills/cleanSlateSkillCatalog.d.ts +29 -0
- package/dist/skills/cleanSlateSkillCatalog.d.ts.map +1 -0
- package/dist/skills/cleanSlateSkillCatalog.js +225 -0
- package/dist/skills/cleanSlateSkillCatalog.js.map +1 -0
- package/dist/tools/ApplyEditTool.d.ts +73 -0
- package/dist/tools/ApplyEditTool.d.ts.map +1 -0
- package/dist/tools/ApplyEditTool.js +741 -0
- package/dist/tools/ApplyEditTool.js.map +1 -0
- package/dist/tools/AskQuestionTool.d.ts +3 -0
- package/dist/tools/AskQuestionTool.d.ts.map +1 -0
- package/dist/tools/AskQuestionTool.js +113 -0
- package/dist/tools/AskQuestionTool.js.map +1 -0
- package/dist/tools/BrowserAutomationTools.d.ts +28 -0
- package/dist/tools/BrowserAutomationTools.d.ts.map +1 -0
- package/dist/tools/BrowserAutomationTools.js +639 -0
- package/dist/tools/BrowserAutomationTools.js.map +1 -0
- package/dist/tools/CreateMultipleFilesTool.d.ts +6 -0
- package/dist/tools/CreateMultipleFilesTool.d.ts.map +1 -0
- package/dist/tools/CreateMultipleFilesTool.js +115 -0
- package/dist/tools/CreateMultipleFilesTool.js.map +1 -0
- package/dist/tools/ExecuteCommandTool.d.ts +12 -0
- package/dist/tools/ExecuteCommandTool.d.ts.map +1 -0
- package/dist/tools/ExecuteCommandTool.js +378 -0
- package/dist/tools/ExecuteCommandTool.js.map +1 -0
- package/dist/tools/FileHistoryRewindTool.d.ts +3 -0
- package/dist/tools/FileHistoryRewindTool.d.ts.map +1 -0
- package/dist/tools/FileHistoryRewindTool.js +45 -0
- package/dist/tools/FileHistoryRewindTool.js.map +1 -0
- package/dist/tools/FindByNameTool.d.ts +6 -0
- package/dist/tools/FindByNameTool.d.ts.map +1 -0
- package/dist/tools/FindByNameTool.js +80 -0
- package/dist/tools/FindByNameTool.js.map +1 -0
- package/dist/tools/FindReferencesTool.d.ts +3 -0
- package/dist/tools/FindReferencesTool.d.ts.map +1 -0
- package/dist/tools/FindReferencesTool.js +128 -0
- package/dist/tools/FindReferencesTool.js.map +1 -0
- package/dist/tools/GetDefinitionsTool.d.ts +3 -0
- package/dist/tools/GetDefinitionsTool.d.ts.map +1 -0
- package/dist/tools/GetDefinitionsTool.js +136 -0
- package/dist/tools/GetDefinitionsTool.js.map +1 -0
- package/dist/tools/GetOpenFilesTool.d.ts +6 -0
- package/dist/tools/GetOpenFilesTool.d.ts.map +1 -0
- package/dist/tools/GetOpenFilesTool.js +21 -0
- package/dist/tools/GetOpenFilesTool.js.map +1 -0
- package/dist/tools/GrepSearchTool.d.ts +7 -0
- package/dist/tools/GrepSearchTool.d.ts.map +1 -0
- package/dist/tools/GrepSearchTool.js +95 -0
- package/dist/tools/GrepSearchTool.js.map +1 -0
- package/dist/tools/ListDirTool.d.ts +6 -0
- package/dist/tools/ListDirTool.d.ts.map +1 -0
- package/dist/tools/ListDirTool.js +39 -0
- package/dist/tools/ListDirTool.js.map +1 -0
- package/dist/tools/MCPTools.d.ts +6 -0
- package/dist/tools/MCPTools.d.ts.map +1 -0
- package/dist/tools/MCPTools.js +103 -0
- package/dist/tools/MCPTools.js.map +1 -0
- package/dist/tools/MultiFileReplaceTool.d.ts +6 -0
- package/dist/tools/MultiFileReplaceTool.d.ts.map +1 -0
- package/dist/tools/MultiFileReplaceTool.js +345 -0
- package/dist/tools/MultiFileReplaceTool.js.map +1 -0
- package/dist/tools/ReadFileRangeTool.d.ts +6 -0
- package/dist/tools/ReadFileRangeTool.d.ts.map +1 -0
- package/dist/tools/ReadFileRangeTool.js +150 -0
- package/dist/tools/ReadFileRangeTool.js.map +1 -0
- package/dist/tools/ReadFileTool.d.ts +6 -0
- package/dist/tools/ReadFileTool.d.ts.map +1 -0
- package/dist/tools/ReadFileTool.js +183 -0
- package/dist/tools/ReadFileTool.js.map +1 -0
- package/dist/tools/ReadLintsTool.d.ts +6 -0
- package/dist/tools/ReadLintsTool.d.ts.map +1 -0
- package/dist/tools/ReadLintsTool.js +83 -0
- package/dist/tools/ReadLintsTool.js.map +1 -0
- package/dist/tools/ReadReferenceTool.d.ts +6 -0
- package/dist/tools/ReadReferenceTool.d.ts.map +1 -0
- package/dist/tools/ReadReferenceTool.js +24 -0
- package/dist/tools/ReadReferenceTool.js.map +1 -0
- package/dist/tools/ReadSymbolsTool.d.ts +3 -0
- package/dist/tools/ReadSymbolsTool.d.ts.map +1 -0
- package/dist/tools/ReadSymbolsTool.js +100 -0
- package/dist/tools/ReadSymbolsTool.js.map +1 -0
- package/dist/tools/SearchCodebaseTool.d.ts +6 -0
- package/dist/tools/SearchCodebaseTool.d.ts.map +1 -0
- package/dist/tools/SearchCodebaseTool.js +30 -0
- package/dist/tools/SearchCodebaseTool.js.map +1 -0
- package/dist/tools/SearchWorkspaceTool.d.ts +7 -0
- package/dist/tools/SearchWorkspaceTool.d.ts.map +1 -0
- package/dist/tools/SearchWorkspaceTool.js +21 -0
- package/dist/tools/SearchWorkspaceTool.js.map +1 -0
- package/dist/tools/SemanticSearchTool.d.ts +12 -0
- package/dist/tools/SemanticSearchTool.d.ts.map +1 -0
- package/dist/tools/SemanticSearchTool.js +46 -0
- package/dist/tools/SemanticSearchTool.js.map +1 -0
- package/dist/tools/SkillTools.d.ts +3 -0
- package/dist/tools/SkillTools.d.ts.map +1 -0
- package/dist/tools/SkillTools.js +108 -0
- package/dist/tools/SkillTools.js.map +1 -0
- package/dist/tools/SpawnWorkerTool.d.ts +6 -0
- package/dist/tools/SpawnWorkerTool.d.ts.map +1 -0
- package/dist/tools/SpawnWorkerTool.js +28 -0
- package/dist/tools/SpawnWorkerTool.js.map +1 -0
- package/dist/tools/SubmitArtifactTool.d.ts +3 -0
- package/dist/tools/SubmitArtifactTool.d.ts.map +1 -0
- package/dist/tools/SubmitArtifactTool.js +121 -0
- package/dist/tools/SubmitArtifactTool.js.map +1 -0
- package/dist/tools/UndoEditTool.d.ts +3 -0
- package/dist/tools/UndoEditTool.d.ts.map +1 -0
- package/dist/tools/UndoEditTool.js +66 -0
- package/dist/tools/UndoEditTool.js.map +1 -0
- package/dist/tools/UpdateTodoTool.d.ts +6 -0
- package/dist/tools/UpdateTodoTool.d.ts.map +1 -0
- package/dist/tools/UpdateTodoTool.js +116 -0
- package/dist/tools/UpdateTodoTool.js.map +1 -0
- package/dist/tools/WebRetrievalTools.d.ts +4 -0
- package/dist/tools/WebRetrievalTools.d.ts.map +1 -0
- package/dist/tools/WebRetrievalTools.js +169 -0
- package/dist/tools/WebRetrievalTools.js.map +1 -0
- package/dist/tools/WriteFileTool.d.ts +6 -0
- package/dist/tools/WriteFileTool.d.ts.map +1 -0
- package/dist/tools/WriteFileTool.js +145 -0
- package/dist/tools/WriteFileTool.js.map +1 -0
- package/dist/tools/cleanSlateFileReadPolicy.d.ts +33 -0
- package/dist/tools/cleanSlateFileReadPolicy.d.ts.map +1 -0
- package/dist/tools/cleanSlateFileReadPolicy.js +84 -0
- package/dist/tools/cleanSlateFileReadPolicy.js.map +1 -0
- package/dist/tools/cleanSlateHostTypes.d.ts +100 -0
- package/dist/tools/cleanSlateHostTypes.d.ts.map +1 -0
- package/dist/tools/cleanSlateHostTypes.js +6 -0
- package/dist/tools/cleanSlateHostTypes.js.map +1 -0
- package/dist/tools/cleanSlatePlanArtifactPolicy.d.ts +47 -0
- package/dist/tools/cleanSlatePlanArtifactPolicy.d.ts.map +1 -0
- package/dist/tools/cleanSlatePlanArtifactPolicy.js +126 -0
- package/dist/tools/cleanSlatePlanArtifactPolicy.js.map +1 -0
- package/dist/tools/cleanSlateStaleDiagnosticPolicy.d.ts +3 -0
- package/dist/tools/cleanSlateStaleDiagnosticPolicy.d.ts.map +1 -0
- package/dist/tools/cleanSlateStaleDiagnosticPolicy.js +13 -0
- package/dist/tools/cleanSlateStaleDiagnosticPolicy.js.map +1 -0
- package/dist/tools/languageFeatureActivation.d.ts +13 -0
- package/dist/tools/languageFeatureActivation.d.ts.map +1 -0
- package/dist/tools/languageFeatureActivation.js +95 -0
- package/dist/tools/languageFeatureActivation.js.map +1 -0
- package/dist/tools/registry.d.ts +5 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +104 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/structuredEditCanonicalizer.d.ts +11 -0
- package/dist/tools/structuredEditCanonicalizer.d.ts.map +1 -0
- package/dist/tools/structuredEditCanonicalizer.js +44 -0
- package/dist/tools/structuredEditCanonicalizer.js.map +1 -0
- package/dist/tools/symbolContext.d.ts +36 -0
- package/dist/tools/symbolContext.d.ts.map +1 -0
- package/dist/tools/symbolContext.js +146 -0
- package/dist/tools/symbolContext.js.map +1 -0
- package/dist/tools/symbolEditResolver.d.ts +11 -0
- package/dist/tools/symbolEditResolver.d.ts.map +1 -0
- package/dist/tools/symbolEditResolver.js +259 -0
- package/dist/tools/symbolEditResolver.js.map +1 -0
- package/dist/tools/symbolIndex.d.ts +18 -0
- package/dist/tools/symbolIndex.d.ts.map +1 -0
- package/dist/tools/symbolIndex.js +235 -0
- package/dist/tools/symbolIndex.js.map +1 -0
- package/dist/tools/types.d.ts +108 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +6 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/utils.d.ts +56 -0
- package/dist/tools/utils.d.ts.map +1 -0
- package/dist/tools/utils.js +205 -0
- package/dist/tools/utils.js.map +1 -0
- 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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"}
|