erosolar-cli 1.5.2 → 1.5.4
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/config/security-deployment.json +54 -0
- package/dist/bin/adapters/node/index.js +33 -0
- package/dist/bin/adapters/types.js +1 -0
- package/dist/bin/alpha-zero/agentWrapper.js +165 -0
- package/dist/bin/alpha-zero/codeEvaluator.js +272 -0
- package/dist/bin/alpha-zero/competitiveRunner.js +219 -0
- package/dist/bin/alpha-zero/index.js +98 -0
- package/dist/bin/alpha-zero/introspection.js +298 -0
- package/dist/bin/alpha-zero/metricsTracker.js +207 -0
- package/dist/bin/alpha-zero/security/core.js +269 -0
- package/dist/bin/alpha-zero/security/google.js +308 -0
- package/dist/bin/alpha-zero/security/googleLoader.js +40 -0
- package/dist/bin/alpha-zero/security/index.js +31 -0
- package/dist/bin/alpha-zero/security/simulation.js +274 -0
- package/dist/bin/alpha-zero/selfModification.js +231 -0
- package/dist/bin/alpha-zero/types.js +30 -0
- package/dist/bin/bin/erosolar-optimized.js +205 -0
- package/dist/bin/capabilities/agentSpawningCapability.js +116 -0
- package/dist/bin/capabilities/bashCapability.js +22 -0
- package/dist/bin/capabilities/cloudCapability.js +36 -0
- package/dist/bin/capabilities/codeAnalysisCapability.js +22 -0
- package/dist/bin/capabilities/codeQualityCapability.js +23 -0
- package/dist/bin/capabilities/dependencySecurityCapability.js +22 -0
- package/dist/bin/capabilities/devCapability.js +22 -0
- package/dist/bin/capabilities/editCapability.js +28 -0
- package/dist/bin/capabilities/emailCapability.js +20 -0
- package/dist/bin/capabilities/enhancedGitCapability.js +221 -0
- package/dist/bin/capabilities/filesystemCapability.js +22 -0
- package/dist/bin/capabilities/globCapability.js +28 -0
- package/dist/bin/capabilities/interactionCapability.js +20 -0
- package/dist/bin/capabilities/learnCapability.js +22 -0
- package/dist/bin/capabilities/mcpCapability.js +20 -0
- package/dist/bin/capabilities/notebookCapability.js +28 -0
- package/dist/bin/capabilities/planningCapability.js +27 -0
- package/dist/bin/capabilities/refactoringCapability.js +23 -0
- package/dist/bin/capabilities/repoChecksCapability.js +22 -0
- package/dist/bin/capabilities/searchCapability.js +22 -0
- package/dist/bin/capabilities/skillCapability.js +76 -0
- package/dist/bin/capabilities/taskManagementCapability.js +20 -0
- package/dist/bin/capabilities/testingCapability.js +23 -0
- package/dist/bin/capabilities/toolManifest.js +159 -0
- package/dist/bin/capabilities/toolRegistry.js +114 -0
- package/dist/bin/capabilities/webCapability.js +20 -0
- package/dist/bin/config.js +139 -0
- package/dist/bin/contracts/v1/agent.js +7 -0
- package/dist/bin/contracts/v1/agentProfileManifest.js +8 -0
- package/dist/bin/contracts/v1/agentRules.js +9 -0
- package/dist/bin/contracts/v1/toolAccess.js +8 -0
- package/dist/bin/core/agent.js +362 -0
- package/dist/bin/core/agentProfileManifest.js +187 -0
- package/dist/bin/core/agentProfiles.js +34 -0
- package/dist/bin/core/agentRulebook.js +135 -0
- package/dist/bin/core/agentSchemaLoader.js +233 -0
- package/dist/bin/core/contextManager.js +412 -0
- package/dist/bin/core/contextWindow.js +122 -0
- package/dist/bin/core/customCommands.js +80 -0
- package/dist/bin/core/errors/apiKeyErrors.js +114 -0
- package/dist/bin/core/errors/errorTypes.js +340 -0
- package/dist/bin/core/errors/safetyValidator.js +304 -0
- package/dist/bin/core/errors.js +32 -0
- package/dist/bin/core/modelDiscovery.js +755 -0
- package/dist/bin/core/preferences.js +224 -0
- package/dist/bin/core/schemaValidator.js +92 -0
- package/dist/bin/core/secretStore.js +199 -0
- package/dist/bin/core/sessionStore.js +187 -0
- package/dist/bin/core/toolRuntime.js +290 -0
- package/dist/bin/core/types.js +1 -0
- package/dist/bin/erosolar-optimized.d.ts +12 -0
- package/dist/bin/erosolar-optimized.d.ts.map +1 -0
- package/dist/bin/erosolar-optimized.js +239 -0
- package/dist/bin/erosolar-optimized.js.map +1 -0
- package/dist/bin/erosolar.js +14 -0
- package/dist/bin/erosolar.js.map +1 -1
- package/dist/bin/headless/headlessApp.js +172 -0
- package/dist/bin/mcp/config.js +202 -0
- package/dist/bin/mcp/stdioClient.js +172 -0
- package/dist/bin/mcp/toolBridge.js +104 -0
- package/dist/bin/mcp/types.js +1 -0
- package/dist/bin/plugins/index.js +113 -0
- package/dist/bin/plugins/providers/anthropic/index.js +25 -0
- package/dist/bin/plugins/providers/deepseek/index.js +24 -0
- package/dist/bin/plugins/providers/google/index.js +26 -0
- package/dist/bin/plugins/providers/index.js +19 -0
- package/dist/bin/plugins/providers/ollama/index.js +59 -0
- package/dist/bin/plugins/providers/openai/index.js +26 -0
- package/dist/bin/plugins/providers/xai/index.js +24 -0
- package/dist/bin/plugins/tools/agentSpawning/agentSpawningPlugin.js +8 -0
- package/dist/bin/plugins/tools/bash/localBashPlugin.js +13 -0
- package/dist/bin/plugins/tools/checks/localRepoChecksPlugin.js +13 -0
- package/dist/bin/plugins/tools/cloud/cloudPlugin.js +13 -0
- package/dist/bin/plugins/tools/codeAnalysis/codeAnalysisPlugin.js +13 -0
- package/dist/bin/plugins/tools/codeQuality/codeQualityPlugin.js +13 -0
- package/dist/bin/plugins/tools/dependency/dependencyPlugin.js +11 -0
- package/dist/bin/plugins/tools/development/devPlugin.js +13 -0
- package/dist/bin/plugins/tools/edit/editPlugin.js +14 -0
- package/dist/bin/plugins/tools/email/emailPlugin.js +11 -0
- package/dist/bin/plugins/tools/enhancedGit/enhancedGitPlugin.js +8 -0
- package/dist/bin/plugins/tools/filesystem/localFilesystemPlugin.js +13 -0
- package/dist/bin/plugins/tools/glob/globPlugin.js +14 -0
- package/dist/bin/plugins/tools/index.js +2 -0
- package/dist/bin/plugins/tools/interaction/interactionPlugin.js +11 -0
- package/dist/bin/plugins/tools/learn/learnPlugin.js +13 -0
- package/dist/bin/plugins/tools/mcp/mcpPlugin.js +8 -0
- package/dist/bin/plugins/tools/nodeDefaults.js +56 -0
- package/dist/bin/plugins/tools/notebook/notebookPlugin.js +14 -0
- package/dist/bin/plugins/tools/planning/planningPlugin.js +14 -0
- package/dist/bin/plugins/tools/refactoring/refactoringPlugin.js +11 -0
- package/dist/bin/plugins/tools/registry.js +57 -0
- package/dist/bin/plugins/tools/search/localSearchPlugin.js +13 -0
- package/dist/bin/plugins/tools/skills/skillPlugin.js +8 -0
- package/dist/bin/plugins/tools/taskManagement/taskManagementPlugin.js +11 -0
- package/dist/bin/plugins/tools/testing/testingPlugin.js +11 -0
- package/dist/bin/plugins/tools/web/webPlugin.js +11 -0
- package/dist/bin/providers/anthropicProvider.js +329 -0
- package/dist/bin/providers/googleProvider.js +203 -0
- package/dist/bin/providers/openaiChatCompletionsProvider.js +208 -0
- package/dist/bin/providers/openaiResponsesProvider.js +249 -0
- package/dist/bin/providers/providerFactory.js +24 -0
- package/dist/bin/runtime/agentController.js +321 -0
- package/dist/bin/runtime/agentHost.js +153 -0
- package/dist/bin/runtime/agentSession.js +195 -0
- package/dist/bin/runtime/node.js +10 -0
- package/dist/bin/runtime/universal.js +28 -0
- package/dist/bin/shell/bracketedPasteManager.js +350 -0
- package/dist/bin/shell/fileChangeTracker.js +65 -0
- package/dist/bin/shell/interactiveShell.js +2908 -0
- package/dist/bin/shell/liveStatus.js +78 -0
- package/dist/bin/shell/shellApp.js +290 -0
- package/dist/bin/shell/systemPrompt.js +60 -0
- package/dist/bin/shell/updateManager.js +108 -0
- package/dist/bin/skills/skillRepository.js +236 -0
- package/dist/bin/skills/types.js +1 -0
- package/dist/bin/subagents/taskRunner.js +269 -0
- package/dist/bin/tools/backgroundBashTools.js +211 -0
- package/dist/bin/tools/bashTools.js +159 -0
- package/dist/bin/tools/cloudTools.js +864 -0
- package/dist/bin/tools/codeAnalysisTools.js +641 -0
- package/dist/bin/tools/codeQualityTools.js +294 -0
- package/dist/bin/tools/dependencyTools.js +282 -0
- package/dist/bin/tools/devTools.js +238 -0
- package/dist/bin/tools/diffUtils.js +137 -0
- package/dist/bin/tools/editTools.js +134 -0
- package/dist/bin/tools/emailTools.js +448 -0
- package/dist/bin/tools/fileTools.js +282 -0
- package/dist/bin/tools/globTools.js +173 -0
- package/dist/bin/tools/grepTools.js +332 -0
- package/dist/bin/tools/interactionTools.js +170 -0
- package/dist/bin/tools/learnTools.js +1818 -0
- package/dist/bin/tools/notebookEditTools.js +196 -0
- package/dist/bin/tools/planningTools.js +46 -0
- package/dist/bin/tools/refactoringTools.js +293 -0
- package/dist/bin/tools/repoChecksTools.js +160 -0
- package/dist/bin/tools/searchTools.js +206 -0
- package/dist/bin/tools/skillTools.js +177 -0
- package/dist/bin/tools/taskManagementTools.js +156 -0
- package/dist/bin/tools/testingTools.js +232 -0
- package/dist/bin/tools/webTools.js +480 -0
- package/dist/bin/ui/ShellUIAdapter.js +459 -0
- package/dist/bin/ui/UnifiedUIController.js +183 -0
- package/dist/bin/ui/animation/AnimationScheduler.js +430 -0
- package/dist/bin/ui/codeHighlighter.js +854 -0
- package/dist/bin/ui/designSystem.js +121 -0
- package/dist/bin/ui/display.js +1222 -0
- package/dist/bin/ui/interrupts/InterruptManager.js +437 -0
- package/dist/bin/ui/layout.js +139 -0
- package/dist/bin/ui/orchestration/StatusOrchestrator.js +403 -0
- package/dist/bin/ui/outputMode.js +38 -0
- package/dist/bin/ui/persistentPrompt.js +183 -0
- package/dist/bin/ui/richText.js +338 -0
- package/dist/bin/ui/shortcutsHelp.js +87 -0
- package/dist/bin/ui/telemetry/UITelemetry.js +443 -0
- package/dist/bin/ui/textHighlighter.js +210 -0
- package/dist/bin/ui/theme.js +116 -0
- package/dist/bin/ui/toolDisplay.js +423 -0
- package/dist/bin/ui/toolDisplayAdapter.js +357 -0
- package/dist/bin/workspace.js +106 -0
- package/dist/bin/workspace.validator.js +213 -0
- package/dist/capabilities/cloudCapability.d.ts +13 -0
- package/dist/capabilities/cloudCapability.d.ts.map +1 -0
- package/dist/capabilities/cloudCapability.js +38 -0
- package/dist/capabilities/cloudCapability.js.map +1 -0
- package/dist/capabilities/index.d.ts +1 -0
- package/dist/capabilities/index.d.ts.map +1 -1
- package/dist/capabilities/index.js +1 -0
- package/dist/capabilities/index.js.map +1 -1
- package/dist/capabilities/offensiveSecurityCapability.d.ts +26 -0
- package/dist/capabilities/offensiveSecurityCapability.d.ts.map +1 -0
- package/dist/capabilities/offensiveSecurityCapability.js +58 -0
- package/dist/capabilities/offensiveSecurityCapability.js.map +1 -0
- package/dist/capabilities/realSecurityCapability.d.ts +26 -0
- package/dist/capabilities/realSecurityCapability.d.ts.map +1 -0
- package/dist/capabilities/realSecurityCapability.js +53 -0
- package/dist/capabilities/realSecurityCapability.js.map +1 -0
- package/dist/capabilities/securityCapability.d.ts +32 -0
- package/dist/capabilities/securityCapability.d.ts.map +1 -0
- package/dist/capabilities/securityCapability.js +57 -0
- package/dist/capabilities/securityCapability.js.map +1 -0
- package/dist/capabilities/ultimateSecurityCapability.d.ts +42 -0
- package/dist/capabilities/ultimateSecurityCapability.d.ts.map +1 -0
- package/dist/capabilities/ultimateSecurityCapability.js +96 -0
- package/dist/capabilities/ultimateSecurityCapability.js.map +1 -0
- package/dist/core/LazyLoader.d.ts +129 -0
- package/dist/core/LazyLoader.d.ts.map +1 -0
- package/dist/core/LazyLoader.js +240 -0
- package/dist/core/LazyLoader.js.map +1 -0
- package/dist/core/intelligenceTools.d.ts +19 -0
- package/dist/core/intelligenceTools.d.ts.map +1 -0
- package/dist/core/intelligenceTools.js +453 -0
- package/dist/core/intelligenceTools.js.map +1 -0
- package/dist/core/operationalTools.d.ts +19 -0
- package/dist/core/operationalTools.d.ts.map +1 -0
- package/dist/core/operationalTools.js +467 -0
- package/dist/core/operationalTools.js.map +1 -0
- package/dist/offensive/core/offensive-engine.d.ts +171 -0
- package/dist/offensive/core/offensive-engine.d.ts.map +1 -0
- package/dist/offensive/core/offensive-engine.js +345 -0
- package/dist/offensive/core/offensive-engine.js.map +1 -0
- package/dist/offensive/core/offensive-integration.d.ts +129 -0
- package/dist/offensive/core/offensive-integration.d.ts.map +1 -0
- package/dist/offensive/core/offensive-integration.js +364 -0
- package/dist/offensive/core/offensive-integration.js.map +1 -0
- package/dist/offensive/core/offensive-tools.d.ts +55 -0
- package/dist/offensive/core/offensive-tools.d.ts.map +1 -0
- package/dist/offensive/core/offensive-tools.js +438 -0
- package/dist/offensive/core/offensive-tools.js.map +1 -0
- package/dist/offensive/offensive-cli.d.ts +48 -0
- package/dist/offensive/offensive-cli.d.ts.map +1 -0
- package/dist/offensive/offensive-cli.js +233 -0
- package/dist/offensive/offensive-cli.js.map +1 -0
- package/dist/plugins/index.d.ts +1 -1
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +2 -0
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/tools/cloud/cloudPlugin.d.ts +3 -0
- package/dist/plugins/tools/cloud/cloudPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/cloud/cloudPlugin.js +14 -0
- package/dist/plugins/tools/cloud/cloudPlugin.js.map +1 -0
- package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
- package/dist/plugins/tools/nodeDefaults.js +2 -0
- package/dist/plugins/tools/nodeDefaults.js.map +1 -1
- package/dist/security/advanced-persistence-research.d.ts +92 -0
- package/dist/security/advanced-persistence-research.d.ts.map +1 -0
- package/dist/security/advanced-persistence-research.js +195 -0
- package/dist/security/advanced-persistence-research.js.map +1 -0
- package/dist/security/apt-simulation-cli.d.ts +57 -0
- package/dist/security/apt-simulation-cli.d.ts.map +1 -0
- package/dist/security/apt-simulation-cli.js +278 -0
- package/dist/security/apt-simulation-cli.js.map +1 -0
- package/dist/security/apt-simulation-engine-complete.d.ts +97 -0
- package/dist/security/apt-simulation-engine-complete.d.ts.map +1 -0
- package/dist/security/apt-simulation-engine-complete.js +441 -0
- package/dist/security/apt-simulation-engine-complete.js.map +1 -0
- package/dist/security/apt-simulation-engine.d.ts +97 -0
- package/dist/security/apt-simulation-engine.d.ts.map +1 -0
- package/dist/security/apt-simulation-engine.js +441 -0
- package/dist/security/apt-simulation-engine.js.map +1 -0
- package/dist/security/assessment/vulnerabilityAssessment.d.ts +104 -0
- package/dist/security/assessment/vulnerabilityAssessment.d.ts.map +1 -0
- package/dist/security/assessment/vulnerabilityAssessment.js +315 -0
- package/dist/security/assessment/vulnerabilityAssessment.js.map +1 -0
- package/dist/security/authorization/securityAuthorization.d.ts +88 -0
- package/dist/security/authorization/securityAuthorization.d.ts.map +1 -0
- package/dist/security/authorization/securityAuthorization.js +172 -0
- package/dist/security/authorization/securityAuthorization.js.map +1 -0
- package/dist/security/authorization.d.ts +45 -0
- package/dist/security/authorization.d.ts.map +1 -0
- package/dist/security/authorization.js +128 -0
- package/dist/security/authorization.js.map +1 -0
- package/dist/security/comprehensive-security-research.d.ts +84 -0
- package/dist/security/comprehensive-security-research.d.ts.map +1 -0
- package/dist/security/comprehensive-security-research.js +211 -0
- package/dist/security/comprehensive-security-research.js.map +1 -0
- package/dist/security/offensive/exploitationEngine.d.ts +54 -0
- package/dist/security/offensive/exploitationEngine.d.ts.map +1 -0
- package/dist/security/offensive/exploitationEngine.js +263 -0
- package/dist/security/offensive/exploitationEngine.js.map +1 -0
- package/dist/security/persistence-analyzer.d.ts +56 -0
- package/dist/security/persistence-analyzer.d.ts.map +1 -0
- package/dist/security/persistence-analyzer.js +187 -0
- package/dist/security/persistence-analyzer.js.map +1 -0
- package/dist/security/persistence-cli.d.ts +36 -0
- package/dist/security/persistence-cli.d.ts.map +1 -0
- package/dist/security/persistence-cli.js +160 -0
- package/dist/security/persistence-cli.js.map +1 -0
- package/dist/security/persistence-research.d.ts +100 -0
- package/dist/security/persistence-research.d.ts.map +1 -0
- package/dist/security/persistence-research.js +372 -0
- package/dist/security/persistence-research.js.map +1 -0
- package/dist/security/real/networkExploitation.d.ts +92 -0
- package/dist/security/real/networkExploitation.d.ts.map +1 -0
- package/dist/security/real/networkExploitation.js +316 -0
- package/dist/security/real/networkExploitation.js.map +1 -0
- package/dist/security/real/persistenceImplementation.d.ts +62 -0
- package/dist/security/real/persistenceImplementation.d.ts.map +1 -0
- package/dist/security/real/persistenceImplementation.js +323 -0
- package/dist/security/real/persistenceImplementation.js.map +1 -0
- package/dist/security/real/vulnerabilityScanner.d.ts +73 -0
- package/dist/security/real/vulnerabilityScanner.d.ts.map +1 -0
- package/dist/security/real/vulnerabilityScanner.js +341 -0
- package/dist/security/real/vulnerabilityScanner.js.map +1 -0
- package/dist/security/research/persistenceResearch.d.ts +97 -0
- package/dist/security/research/persistenceResearch.d.ts.map +1 -0
- package/dist/security/research/persistenceResearch.js +282 -0
- package/dist/security/research/persistenceResearch.js.map +1 -0
- package/dist/security/security-testing-framework.d.ts +120 -0
- package/dist/security/security-testing-framework.d.ts.map +1 -0
- package/dist/security/security-testing-framework.js +372 -0
- package/dist/security/security-testing-framework.js.map +1 -0
- package/dist/security/simulation/attackSimulation.d.ts +93 -0
- package/dist/security/simulation/attackSimulation.d.ts.map +1 -0
- package/dist/security/simulation/attackSimulation.js +341 -0
- package/dist/security/simulation/attackSimulation.js.map +1 -0
- package/dist/shell/bracketedPasteManager.d.ts +76 -0
- package/dist/shell/bracketedPasteManager.d.ts.map +1 -1
- package/dist/shell/bracketedPasteManager.js +267 -9
- package/dist/shell/bracketedPasteManager.js.map +1 -1
- package/dist/shell/interactiveShell.d.ts +34 -1
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +304 -24
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/taskCompletionDetector.d.ts +101 -0
- package/dist/shell/taskCompletionDetector.d.ts.map +1 -0
- package/dist/shell/taskCompletionDetector.js +343 -0
- package/dist/shell/taskCompletionDetector.js.map +1 -0
- package/dist/tools/cloudTools.d.ts +57 -0
- package/dist/tools/cloudTools.d.ts.map +1 -0
- package/dist/tools/cloudTools.js +865 -0
- package/dist/tools/cloudTools.js.map +1 -0
- package/dist/tools/enhancedSecurityTools.d.ts +19 -0
- package/dist/tools/enhancedSecurityTools.d.ts.map +1 -0
- package/dist/tools/enhancedSecurityTools.js +215 -0
- package/dist/tools/enhancedSecurityTools.js.map +1 -0
- package/dist/tools/offensiveSecurityTools.d.ts +16 -0
- package/dist/tools/offensiveSecurityTools.d.ts.map +1 -0
- package/dist/tools/offensiveSecurityTools.js +285 -0
- package/dist/tools/offensiveSecurityTools.js.map +1 -0
- package/dist/tools/realSecurityTools.d.ts +18 -0
- package/dist/tools/realSecurityTools.d.ts.map +1 -0
- package/dist/tools/realSecurityTools.js +468 -0
- package/dist/tools/realSecurityTools.js.map +1 -0
- package/dist/tools/securityTools.d.ts +20 -0
- package/dist/tools/securityTools.d.ts.map +1 -0
- package/dist/tools/securityTools.js +449 -0
- package/dist/tools/securityTools.js.map +1 -0
- package/package.json +27 -12
- package/scripts/deploy-security-capabilities.js +178 -0
|
@@ -10,15 +10,120 @@ export class BracketedPasteManager {
|
|
|
10
10
|
enabled;
|
|
11
11
|
inPaste = false;
|
|
12
12
|
pasteBuffer = [];
|
|
13
|
+
/** Tracks accumulated multi-line input even without bracketed paste support */
|
|
14
|
+
multiLineBuffer = [];
|
|
15
|
+
multiLineMode = false;
|
|
16
|
+
lastInputTime = 0;
|
|
17
|
+
/** Time threshold (ms) to consider rapid input as paste */
|
|
18
|
+
PASTE_THRESHOLD_MS = 50;
|
|
19
|
+
/** Raw data buffer for capturing complete bracketed paste content */
|
|
20
|
+
rawPasteBuffer = '';
|
|
21
|
+
/** Callback for when raw paste is complete */
|
|
22
|
+
onRawPasteComplete = null;
|
|
23
|
+
/** Whether we're currently capturing raw data */
|
|
24
|
+
capturingRaw = false;
|
|
25
|
+
static START_MARKER = '\u001b[200~';
|
|
26
|
+
static END_MARKER = '\u001b[201~';
|
|
13
27
|
constructor(enabled) {
|
|
14
28
|
this.enabled = enabled;
|
|
15
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Process raw data from stdin before readline handles it.
|
|
32
|
+
* This intercepts bracketed paste content and captures it in full.
|
|
33
|
+
* Returns true if the data was consumed (should not be passed to readline).
|
|
34
|
+
*/
|
|
35
|
+
processRawData(data) {
|
|
36
|
+
if (!this.enabled) {
|
|
37
|
+
return { consumed: false };
|
|
38
|
+
}
|
|
39
|
+
const startIdx = data.indexOf(BracketedPasteManager.START_MARKER);
|
|
40
|
+
const endIdx = data.indexOf(BracketedPasteManager.END_MARKER);
|
|
41
|
+
// Case 1: Not in paste mode and no start marker - pass through
|
|
42
|
+
if (!this.capturingRaw && startIdx === -1) {
|
|
43
|
+
return { consumed: false };
|
|
44
|
+
}
|
|
45
|
+
// Case 2: Found start marker - begin capturing
|
|
46
|
+
if (!this.capturingRaw && startIdx !== -1) {
|
|
47
|
+
this.capturingRaw = true;
|
|
48
|
+
const beforeStart = data.substring(0, startIdx);
|
|
49
|
+
const afterStart = data.substring(startIdx + BracketedPasteManager.START_MARKER.length);
|
|
50
|
+
// Check if end marker is in same chunk
|
|
51
|
+
const endInAfter = afterStart.indexOf(BracketedPasteManager.END_MARKER);
|
|
52
|
+
if (endInAfter !== -1) {
|
|
53
|
+
// Complete paste in single chunk
|
|
54
|
+
const pasteContent = afterStart.substring(0, endInAfter);
|
|
55
|
+
const afterEnd = afterStart.substring(endInAfter + BracketedPasteManager.END_MARKER.length);
|
|
56
|
+
this.capturingRaw = false;
|
|
57
|
+
this.rawPasteBuffer = '';
|
|
58
|
+
// Emit the complete paste
|
|
59
|
+
if (this.onRawPasteComplete) {
|
|
60
|
+
this.onRawPasteComplete(pasteContent);
|
|
61
|
+
}
|
|
62
|
+
// Return any content before/after markers to be passed through
|
|
63
|
+
const passThrough = beforeStart + afterEnd;
|
|
64
|
+
return { consumed: true, passThrough: passThrough || undefined };
|
|
65
|
+
}
|
|
66
|
+
// Start marker found but no end marker yet
|
|
67
|
+
this.rawPasteBuffer = afterStart;
|
|
68
|
+
// Pass through anything before the start marker
|
|
69
|
+
return { consumed: true, passThrough: beforeStart || undefined };
|
|
70
|
+
}
|
|
71
|
+
// Case 3: Currently capturing and found end marker
|
|
72
|
+
if (this.capturingRaw && endIdx !== -1) {
|
|
73
|
+
const beforeEnd = data.substring(0, endIdx);
|
|
74
|
+
const afterEnd = data.substring(endIdx + BracketedPasteManager.END_MARKER.length);
|
|
75
|
+
const pasteContent = this.rawPasteBuffer + beforeEnd;
|
|
76
|
+
this.capturingRaw = false;
|
|
77
|
+
this.rawPasteBuffer = '';
|
|
78
|
+
// Emit the complete paste
|
|
79
|
+
if (this.onRawPasteComplete) {
|
|
80
|
+
this.onRawPasteComplete(pasteContent);
|
|
81
|
+
}
|
|
82
|
+
// Pass through anything after end marker
|
|
83
|
+
return { consumed: true, passThrough: afterEnd || undefined };
|
|
84
|
+
}
|
|
85
|
+
// Case 4: Currently capturing, no end marker - accumulate
|
|
86
|
+
if (this.capturingRaw) {
|
|
87
|
+
this.rawPasteBuffer += data;
|
|
88
|
+
return { consumed: true };
|
|
89
|
+
}
|
|
90
|
+
return { consumed: false };
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Set callback for when a complete paste is captured via raw data processing
|
|
94
|
+
*/
|
|
95
|
+
setRawPasteCallback(callback) {
|
|
96
|
+
this.onRawPasteComplete = callback;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Check if currently capturing raw paste data
|
|
100
|
+
*/
|
|
101
|
+
isCapturingRaw() {
|
|
102
|
+
return this.capturingRaw;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Get current raw buffer size (for display)
|
|
106
|
+
*/
|
|
107
|
+
getRawBufferLineCount() {
|
|
108
|
+
if (!this.rawPasteBuffer)
|
|
109
|
+
return 0;
|
|
110
|
+
return this.rawPasteBuffer.split('\n').length;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Get preview of raw buffer content
|
|
114
|
+
*/
|
|
115
|
+
getRawBufferPreview() {
|
|
116
|
+
if (!this.rawPasteBuffer)
|
|
117
|
+
return '';
|
|
118
|
+
const lines = this.rawPasteBuffer.split('\n');
|
|
119
|
+
return this.getPreview(lines);
|
|
120
|
+
}
|
|
16
121
|
/**
|
|
17
122
|
* Process input text, handling bracketed paste sequences
|
|
18
123
|
*/
|
|
19
124
|
process(input) {
|
|
20
125
|
if (!this.enabled) {
|
|
21
|
-
return
|
|
126
|
+
return this.processWithoutBracketed(input);
|
|
22
127
|
}
|
|
23
128
|
const startMarker = '\u001b[200~';
|
|
24
129
|
const endMarker = '\u001b[201~';
|
|
@@ -31,6 +136,8 @@ export class BracketedPasteManager {
|
|
|
31
136
|
const afterEnd = input.substring(endIndex + endMarker.length);
|
|
32
137
|
this.pasteBuffer.push(beforeEnd);
|
|
33
138
|
const result = this.pasteBuffer.join('\n');
|
|
139
|
+
const lineCount = this.pasteBuffer.length;
|
|
140
|
+
const preview = this.getPreview(this.pasteBuffer);
|
|
34
141
|
// Reset state
|
|
35
142
|
this.inPaste = false;
|
|
36
143
|
this.pasteBuffer = [];
|
|
@@ -38,16 +145,36 @@ export class BracketedPasteManager {
|
|
|
38
145
|
if (afterEnd) {
|
|
39
146
|
const afterResult = this.process(afterEnd);
|
|
40
147
|
if (afterResult.handled && afterResult.result !== undefined) {
|
|
41
|
-
return {
|
|
148
|
+
return {
|
|
149
|
+
handled: true,
|
|
150
|
+
result: result + afterResult.result,
|
|
151
|
+
lineCount,
|
|
152
|
+
preview,
|
|
153
|
+
};
|
|
42
154
|
}
|
|
43
|
-
return {
|
|
155
|
+
return {
|
|
156
|
+
handled: true,
|
|
157
|
+
result: result + afterEnd,
|
|
158
|
+
lineCount,
|
|
159
|
+
preview,
|
|
160
|
+
};
|
|
44
161
|
}
|
|
45
|
-
return {
|
|
162
|
+
return {
|
|
163
|
+
handled: true,
|
|
164
|
+
result,
|
|
165
|
+
lineCount,
|
|
166
|
+
preview,
|
|
167
|
+
};
|
|
46
168
|
}
|
|
47
169
|
else {
|
|
48
170
|
// Still in paste, no end marker found
|
|
49
171
|
this.pasteBuffer.push(input);
|
|
50
|
-
return {
|
|
172
|
+
return {
|
|
173
|
+
handled: true,
|
|
174
|
+
isPending: true,
|
|
175
|
+
lineCount: this.pasteBuffer.length,
|
|
176
|
+
preview: this.getPreview(this.pasteBuffer),
|
|
177
|
+
};
|
|
51
178
|
}
|
|
52
179
|
}
|
|
53
180
|
// Not in paste, look for start marker
|
|
@@ -63,25 +190,152 @@ export class BracketedPasteManager {
|
|
|
63
190
|
if (afterStart) {
|
|
64
191
|
const afterResult = this.process(afterStart);
|
|
65
192
|
if (afterResult.handled && afterResult.result !== undefined) {
|
|
66
|
-
return {
|
|
193
|
+
return {
|
|
194
|
+
handled: true,
|
|
195
|
+
result: beforeStart + afterResult.result,
|
|
196
|
+
lineCount: afterResult.lineCount,
|
|
197
|
+
preview: afterResult.preview,
|
|
198
|
+
};
|
|
67
199
|
}
|
|
200
|
+
// Still pending
|
|
201
|
+
return {
|
|
202
|
+
handled: true,
|
|
203
|
+
result: beforeStart,
|
|
204
|
+
isPending: this.inPaste,
|
|
205
|
+
lineCount: this.pasteBuffer.length,
|
|
206
|
+
preview: this.getPreview(this.pasteBuffer),
|
|
207
|
+
};
|
|
68
208
|
}
|
|
69
|
-
return {
|
|
209
|
+
return {
|
|
210
|
+
handled: true,
|
|
211
|
+
result: beforeStart,
|
|
212
|
+
isPending: true,
|
|
213
|
+
lineCount: 0,
|
|
214
|
+
};
|
|
70
215
|
}
|
|
71
216
|
// No paste markers found
|
|
72
217
|
return { handled: false };
|
|
73
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* Process input when bracketed paste is not enabled
|
|
221
|
+
* Uses timing heuristics to detect rapid multi-line input (likely paste)
|
|
222
|
+
*/
|
|
223
|
+
processWithoutBracketed(input) {
|
|
224
|
+
const now = Date.now();
|
|
225
|
+
const timeSinceLastInput = now - this.lastInputTime;
|
|
226
|
+
this.lastInputTime = now;
|
|
227
|
+
// Check if this looks like part of a rapid paste
|
|
228
|
+
if (timeSinceLastInput < this.PASTE_THRESHOLD_MS && this.multiLineBuffer.length > 0) {
|
|
229
|
+
// Continue accumulating
|
|
230
|
+
this.multiLineBuffer.push(input);
|
|
231
|
+
this.multiLineMode = true;
|
|
232
|
+
return {
|
|
233
|
+
handled: true,
|
|
234
|
+
isPending: true,
|
|
235
|
+
lineCount: this.multiLineBuffer.length,
|
|
236
|
+
preview: this.getPreview(this.multiLineBuffer),
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
// If we were in multi-line mode and there's a pause, finalize
|
|
240
|
+
if (this.multiLineMode && this.multiLineBuffer.length > 0) {
|
|
241
|
+
this.multiLineBuffer.push(input);
|
|
242
|
+
const result = this.multiLineBuffer.join('\n');
|
|
243
|
+
const lineCount = this.multiLineBuffer.length;
|
|
244
|
+
const preview = this.getPreview(this.multiLineBuffer);
|
|
245
|
+
this.multiLineBuffer = [];
|
|
246
|
+
this.multiLineMode = false;
|
|
247
|
+
return {
|
|
248
|
+
handled: true,
|
|
249
|
+
result,
|
|
250
|
+
lineCount,
|
|
251
|
+
preview,
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
// Check for embedded newlines in a single input (indicates paste)
|
|
255
|
+
if (input.includes('\n')) {
|
|
256
|
+
const lines = input.split('\n');
|
|
257
|
+
return {
|
|
258
|
+
handled: true,
|
|
259
|
+
result: input,
|
|
260
|
+
lineCount: lines.length,
|
|
261
|
+
preview: this.getPreview(lines),
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
// Start tracking for potential multi-line paste
|
|
265
|
+
this.multiLineBuffer = [input];
|
|
266
|
+
return { handled: false };
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Generate a preview string for multi-line content
|
|
270
|
+
*/
|
|
271
|
+
getPreview(lines) {
|
|
272
|
+
if (lines.length === 0) {
|
|
273
|
+
return '';
|
|
274
|
+
}
|
|
275
|
+
const firstLine = lines[0] || '';
|
|
276
|
+
const truncatedFirst = firstLine.length > 50
|
|
277
|
+
? firstLine.slice(0, 47) + '...'
|
|
278
|
+
: firstLine;
|
|
279
|
+
if (lines.length === 1) {
|
|
280
|
+
return truncatedFirst;
|
|
281
|
+
}
|
|
282
|
+
return `${truncatedFirst} [+${lines.length - 1} more lines]`;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Get current multi-line state for display purposes
|
|
286
|
+
*/
|
|
287
|
+
getMultiLineState() {
|
|
288
|
+
const buffer = this.inPaste ? this.pasteBuffer :
|
|
289
|
+
this.multiLineMode ? this.multiLineBuffer : null;
|
|
290
|
+
if (!buffer || buffer.length === 0) {
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
const firstLine = buffer[0] || '';
|
|
294
|
+
const lastLine = buffer[buffer.length - 1] || '';
|
|
295
|
+
return {
|
|
296
|
+
content: buffer.join('\n'),
|
|
297
|
+
lineCount: buffer.length,
|
|
298
|
+
firstLinePreview: firstLine.length > 40 ? firstLine.slice(0, 37) + '...' : firstLine,
|
|
299
|
+
lastLinePreview: lastLine.length > 40 ? lastLine.slice(0, 37) + '...' : lastLine,
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Format a multi-line paste as a collapsed block for display
|
|
304
|
+
*/
|
|
305
|
+
static formatCollapsedBlock(content, maxPreviewLength = 60) {
|
|
306
|
+
const lines = content.split('\n');
|
|
307
|
+
if (lines.length <= 1) {
|
|
308
|
+
return content;
|
|
309
|
+
}
|
|
310
|
+
const firstLine = (lines[0] || '').trim();
|
|
311
|
+
const truncatedFirst = firstLine.length > maxPreviewLength
|
|
312
|
+
? firstLine.slice(0, maxPreviewLength - 3) + '...'
|
|
313
|
+
: firstLine;
|
|
314
|
+
return `📋 ${truncatedFirst} [${lines.length} lines]`;
|
|
315
|
+
}
|
|
74
316
|
/**
|
|
75
317
|
* Check if currently processing a paste
|
|
76
318
|
*/
|
|
77
319
|
isInPaste() {
|
|
78
|
-
return this.inPaste;
|
|
320
|
+
return this.inPaste || this.multiLineMode;
|
|
79
321
|
}
|
|
80
322
|
/**
|
|
81
323
|
* Get the current paste buffer
|
|
82
324
|
*/
|
|
83
325
|
getPasteBuffer() {
|
|
84
|
-
return [...this.pasteBuffer];
|
|
326
|
+
return this.inPaste ? [...this.pasteBuffer] : [...this.multiLineBuffer];
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Finalize any pending multi-line input
|
|
330
|
+
*/
|
|
331
|
+
finalize() {
|
|
332
|
+
if (this.multiLineMode && this.multiLineBuffer.length > 1) {
|
|
333
|
+
const result = this.multiLineBuffer.join('\n');
|
|
334
|
+
this.multiLineBuffer = [];
|
|
335
|
+
this.multiLineMode = false;
|
|
336
|
+
return result;
|
|
337
|
+
}
|
|
338
|
+
return null;
|
|
85
339
|
}
|
|
86
340
|
/**
|
|
87
341
|
* Reset the paste state
|
|
@@ -89,6 +343,10 @@ export class BracketedPasteManager {
|
|
|
89
343
|
reset() {
|
|
90
344
|
this.inPaste = false;
|
|
91
345
|
this.pasteBuffer = [];
|
|
346
|
+
this.multiLineMode = false;
|
|
347
|
+
this.multiLineBuffer = [];
|
|
348
|
+
this.rawPasteBuffer = '';
|
|
349
|
+
this.capturingRaw = false;
|
|
92
350
|
}
|
|
93
351
|
}
|
|
94
352
|
//# sourceMappingURL=bracketedPasteManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bracketedPasteManager.js","sourceRoot":"","sources":["../../src/shell/bracketedPasteManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"bracketedPasteManager.js","sourceRoot":"","sources":["../../src/shell/bracketedPasteManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,7 @@ export declare class InteractiveShell {
|
|
|
48
48
|
private cleanupInProgress;
|
|
49
49
|
private slashPreviewVisible;
|
|
50
50
|
private keypressHandler;
|
|
51
|
+
private rawDataHandler;
|
|
51
52
|
private readonly skillRepository;
|
|
52
53
|
private readonly skillToolHandlers;
|
|
53
54
|
private thinkingMode;
|
|
@@ -60,6 +61,8 @@ export declare class InteractiveShell {
|
|
|
60
61
|
private readonly persistentPrompt;
|
|
61
62
|
private readonly alphaZeroMetrics;
|
|
62
63
|
private statusSubscription;
|
|
64
|
+
private readonly followUpQueue;
|
|
65
|
+
private isDrainingQueue;
|
|
63
66
|
private activeContextWindowTokens;
|
|
64
67
|
private readonly sessionPreferences;
|
|
65
68
|
private autosaveEnabled;
|
|
@@ -81,11 +84,18 @@ export declare class InteractiveShell {
|
|
|
81
84
|
private handleAgentSelectionInput;
|
|
82
85
|
private persistAgentSelection;
|
|
83
86
|
private setupHandlers;
|
|
87
|
+
/**
|
|
88
|
+
* Set up raw stdin data interception for bracketed paste mode.
|
|
89
|
+
* This intercepts data before readline processes it, allowing us to
|
|
90
|
+
* capture complete multi-line pastes without readline splitting them.
|
|
91
|
+
*/
|
|
92
|
+
private setupRawPasteHandler;
|
|
84
93
|
private setupSlashCommandPreviewHandler;
|
|
85
94
|
private setupStatusTracking;
|
|
86
95
|
private teardownStatusTracking;
|
|
87
96
|
private setIdleStatus;
|
|
88
97
|
private setProcessingStatus;
|
|
98
|
+
private describeStatusDetail;
|
|
89
99
|
private describeModelDetail;
|
|
90
100
|
private refreshContextGauge;
|
|
91
101
|
private handleSlashCommandPreviewChange;
|
|
@@ -99,7 +109,23 @@ export declare class InteractiveShell {
|
|
|
99
109
|
*/
|
|
100
110
|
private ensureReadlineReady;
|
|
101
111
|
private enqueueUserInput;
|
|
112
|
+
/**
|
|
113
|
+
* Show a preview indicator while accumulating multi-line paste
|
|
114
|
+
*/
|
|
115
|
+
private showMultiLinePastePreview;
|
|
116
|
+
/**
|
|
117
|
+
* Clear the multi-line paste preview
|
|
118
|
+
*/
|
|
119
|
+
private clearMultiLinePastePreview;
|
|
120
|
+
/**
|
|
121
|
+
* Display a collapsed summary of multi-line content that was submitted
|
|
122
|
+
*/
|
|
123
|
+
private displayMultiLineSubmission;
|
|
102
124
|
private flushBufferedInput;
|
|
125
|
+
private refreshQueueIndicators;
|
|
126
|
+
private enqueueFollowUpAction;
|
|
127
|
+
private scheduleQueueProcessing;
|
|
128
|
+
private processQueuedActions;
|
|
103
129
|
private processInputBlock;
|
|
104
130
|
/**
|
|
105
131
|
* Check if the command is a continuous/infinite loop command
|
|
@@ -163,13 +189,20 @@ export declare class InteractiveShell {
|
|
|
163
189
|
/**
|
|
164
190
|
* Process a continuous/infinite loop request.
|
|
165
191
|
* Runs the agent in a loop until:
|
|
166
|
-
* 1. The agent indicates completion (
|
|
192
|
+
* 1. The agent indicates completion (verified by AI confirmation)
|
|
167
193
|
* 2. User interrupts (Ctrl+C)
|
|
168
194
|
* 3. Maximum iterations reached (safety limit)
|
|
169
195
|
*
|
|
196
|
+
* Uses intelligent task completion detection with AI verification
|
|
197
|
+
* to ensure tasks are truly complete before stopping.
|
|
198
|
+
*
|
|
170
199
|
* Context is automatically managed - overflow errors trigger auto-recovery.
|
|
171
200
|
*/
|
|
172
201
|
private processContinuousRequest;
|
|
202
|
+
/**
|
|
203
|
+
* Extract tool names from a response by looking for tool call patterns
|
|
204
|
+
*/
|
|
205
|
+
private extractToolsFromResponse;
|
|
173
206
|
/**
|
|
174
207
|
* Check if an error is a context overflow error
|
|
175
208
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAiCtE,OAAO,EAAE,YAAY,EAAE,KAAK,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAyB,KAAK,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"interactiveShell.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell.ts"],"names":[],"mappings":"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"}
|