erosolar-cli 1.7.54 → 1.7.56

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 (283) hide show
  1. package/dist/core/agent.d.ts.map +1 -1
  2. package/dist/core/agent.js +14 -4
  3. package/dist/core/agent.js.map +1 -1
  4. package/dist/providers/anthropicProvider.d.ts.map +1 -1
  5. package/dist/providers/anthropicProvider.js +2 -1
  6. package/dist/providers/anthropicProvider.js.map +1 -1
  7. package/dist/ui/persistentPrompt.d.ts +24 -0
  8. package/dist/ui/persistentPrompt.d.ts.map +1 -1
  9. package/dist/ui/persistentPrompt.js +86 -4
  10. package/dist/ui/persistentPrompt.js.map +1 -1
  11. package/package.json +1 -1
  12. package/dist/active-stack-security.d.ts +0 -110
  13. package/dist/active-stack-security.js +0 -313
  14. package/dist/active-stack-security.js.map +0 -1
  15. package/dist/advanced-targeting.d.ts +0 -113
  16. package/dist/advanced-targeting.js +0 -252
  17. package/dist/advanced-targeting.js.map +0 -1
  18. package/dist/bin/adapters/node/index.js +0 -33
  19. package/dist/bin/adapters/types.js +0 -1
  20. package/dist/bin/alpha-zero/agentWrapper.js +0 -165
  21. package/dist/bin/alpha-zero/codeEvaluator.js +0 -272
  22. package/dist/bin/alpha-zero/competitiveRunner.js +0 -219
  23. package/dist/bin/alpha-zero/index.js +0 -98
  24. package/dist/bin/alpha-zero/introspection.js +0 -298
  25. package/dist/bin/alpha-zero/metricsTracker.js +0 -207
  26. package/dist/bin/alpha-zero/security/core.js +0 -269
  27. package/dist/bin/alpha-zero/security/google.js +0 -308
  28. package/dist/bin/alpha-zero/security/googleLoader.js +0 -40
  29. package/dist/bin/alpha-zero/security/index.js +0 -31
  30. package/dist/bin/alpha-zero/security/simulation.js +0 -274
  31. package/dist/bin/alpha-zero/selfModification.js +0 -231
  32. package/dist/bin/alpha-zero/types.js +0 -30
  33. package/dist/bin/bin/erosolar-optimized.js +0 -205
  34. package/dist/bin/capabilities/agentSpawningCapability.js +0 -116
  35. package/dist/bin/capabilities/bashCapability.js +0 -22
  36. package/dist/bin/capabilities/cloudCapability.js +0 -36
  37. package/dist/bin/capabilities/codeAnalysisCapability.js +0 -22
  38. package/dist/bin/capabilities/codeQualityCapability.js +0 -23
  39. package/dist/bin/capabilities/dependencySecurityCapability.js +0 -22
  40. package/dist/bin/capabilities/devCapability.js +0 -22
  41. package/dist/bin/capabilities/editCapability.js +0 -28
  42. package/dist/bin/capabilities/emailCapability.js +0 -20
  43. package/dist/bin/capabilities/enhancedGitCapability.js +0 -221
  44. package/dist/bin/capabilities/filesystemCapability.js +0 -22
  45. package/dist/bin/capabilities/globCapability.js +0 -28
  46. package/dist/bin/capabilities/interactionCapability.js +0 -20
  47. package/dist/bin/capabilities/learnCapability.js +0 -22
  48. package/dist/bin/capabilities/mcpCapability.js +0 -20
  49. package/dist/bin/capabilities/notebookCapability.js +0 -28
  50. package/dist/bin/capabilities/planningCapability.js +0 -27
  51. package/dist/bin/capabilities/refactoringCapability.js +0 -23
  52. package/dist/bin/capabilities/repoChecksCapability.js +0 -22
  53. package/dist/bin/capabilities/searchCapability.js +0 -22
  54. package/dist/bin/capabilities/skillCapability.js +0 -76
  55. package/dist/bin/capabilities/taskManagementCapability.js +0 -20
  56. package/dist/bin/capabilities/testingCapability.js +0 -23
  57. package/dist/bin/capabilities/toolManifest.js +0 -159
  58. package/dist/bin/capabilities/toolRegistry.js +0 -114
  59. package/dist/bin/capabilities/webCapability.js +0 -20
  60. package/dist/bin/config.js +0 -139
  61. package/dist/bin/contracts/v1/agent.js +0 -7
  62. package/dist/bin/contracts/v1/agentProfileManifest.js +0 -8
  63. package/dist/bin/contracts/v1/agentRules.js +0 -9
  64. package/dist/bin/contracts/v1/toolAccess.js +0 -8
  65. package/dist/bin/erosolar-optimized.d.ts +0 -12
  66. package/dist/bin/erosolar-optimized.d.ts.map +0 -1
  67. package/dist/bin/erosolar-optimized.js +0 -239
  68. package/dist/bin/erosolar-optimized.js.map +0 -1
  69. package/dist/bin/headless/headlessApp.js +0 -172
  70. package/dist/bin/mcp/config.js +0 -202
  71. package/dist/bin/mcp/stdioClient.js +0 -172
  72. package/dist/bin/mcp/toolBridge.js +0 -104
  73. package/dist/bin/mcp/types.js +0 -1
  74. package/dist/bin/plugins/index.js +0 -113
  75. package/dist/bin/plugins/providers/anthropic/index.js +0 -25
  76. package/dist/bin/plugins/providers/deepseek/index.js +0 -24
  77. package/dist/bin/plugins/providers/google/index.js +0 -26
  78. package/dist/bin/plugins/providers/index.js +0 -19
  79. package/dist/bin/plugins/providers/ollama/index.js +0 -59
  80. package/dist/bin/plugins/providers/openai/index.js +0 -26
  81. package/dist/bin/plugins/providers/xai/index.js +0 -24
  82. package/dist/bin/plugins/tools/agentSpawning/agentSpawningPlugin.js +0 -8
  83. package/dist/bin/plugins/tools/bash/localBashPlugin.js +0 -13
  84. package/dist/bin/plugins/tools/checks/localRepoChecksPlugin.js +0 -13
  85. package/dist/bin/plugins/tools/cloud/cloudPlugin.js +0 -13
  86. package/dist/bin/plugins/tools/codeAnalysis/codeAnalysisPlugin.js +0 -13
  87. package/dist/bin/plugins/tools/codeQuality/codeQualityPlugin.js +0 -13
  88. package/dist/bin/plugins/tools/dependency/dependencyPlugin.js +0 -11
  89. package/dist/bin/plugins/tools/development/devPlugin.js +0 -13
  90. package/dist/bin/plugins/tools/edit/editPlugin.js +0 -14
  91. package/dist/bin/plugins/tools/email/emailPlugin.js +0 -11
  92. package/dist/bin/plugins/tools/enhancedGit/enhancedGitPlugin.js +0 -8
  93. package/dist/bin/plugins/tools/filesystem/localFilesystemPlugin.js +0 -13
  94. package/dist/bin/plugins/tools/glob/globPlugin.js +0 -14
  95. package/dist/bin/plugins/tools/index.js +0 -2
  96. package/dist/bin/plugins/tools/interaction/interactionPlugin.js +0 -11
  97. package/dist/bin/plugins/tools/learn/learnPlugin.js +0 -13
  98. package/dist/bin/plugins/tools/mcp/mcpPlugin.js +0 -8
  99. package/dist/bin/plugins/tools/nodeDefaults.js +0 -56
  100. package/dist/bin/plugins/tools/notebook/notebookPlugin.js +0 -14
  101. package/dist/bin/plugins/tools/planning/planningPlugin.js +0 -14
  102. package/dist/bin/plugins/tools/refactoring/refactoringPlugin.js +0 -11
  103. package/dist/bin/plugins/tools/registry.js +0 -57
  104. package/dist/bin/plugins/tools/search/localSearchPlugin.js +0 -13
  105. package/dist/bin/plugins/tools/skills/skillPlugin.js +0 -8
  106. package/dist/bin/plugins/tools/taskManagement/taskManagementPlugin.js +0 -11
  107. package/dist/bin/plugins/tools/testing/testingPlugin.js +0 -11
  108. package/dist/bin/plugins/tools/web/webPlugin.js +0 -11
  109. package/dist/bin/providers/anthropicProvider.js +0 -329
  110. package/dist/bin/providers/googleProvider.js +0 -203
  111. package/dist/bin/providers/openaiChatCompletionsProvider.js +0 -208
  112. package/dist/bin/providers/openaiResponsesProvider.js +0 -249
  113. package/dist/bin/providers/providerFactory.js +0 -24
  114. package/dist/bin/runtime/agentController.js +0 -321
  115. package/dist/bin/runtime/agentHost.js +0 -153
  116. package/dist/bin/runtime/agentSession.js +0 -195
  117. package/dist/bin/runtime/node.js +0 -10
  118. package/dist/bin/runtime/universal.js +0 -28
  119. package/dist/bin/skills/skillRepository.js +0 -236
  120. package/dist/bin/skills/types.js +0 -1
  121. package/dist/bin/subagents/taskRunner.js +0 -269
  122. package/dist/bin/tools/backgroundBashTools.js +0 -211
  123. package/dist/bin/tools/bashTools.js +0 -159
  124. package/dist/bin/tools/cloudTools.js +0 -864
  125. package/dist/bin/tools/codeAnalysisTools.js +0 -641
  126. package/dist/bin/tools/codeQualityTools.js +0 -294
  127. package/dist/bin/tools/dependencyTools.js +0 -282
  128. package/dist/bin/tools/devTools.js +0 -238
  129. package/dist/bin/tools/diffUtils.js +0 -137
  130. package/dist/bin/tools/editTools.js +0 -134
  131. package/dist/bin/tools/emailTools.js +0 -448
  132. package/dist/bin/tools/fileTools.js +0 -282
  133. package/dist/bin/tools/globTools.js +0 -173
  134. package/dist/bin/tools/grepTools.js +0 -332
  135. package/dist/bin/tools/interactionTools.js +0 -170
  136. package/dist/bin/tools/learnTools.js +0 -1818
  137. package/dist/bin/tools/notebookEditTools.js +0 -196
  138. package/dist/bin/tools/planningTools.js +0 -46
  139. package/dist/bin/tools/refactoringTools.js +0 -293
  140. package/dist/bin/tools/repoChecksTools.js +0 -160
  141. package/dist/bin/tools/searchTools.js +0 -206
  142. package/dist/bin/tools/skillTools.js +0 -177
  143. package/dist/bin/tools/taskManagementTools.js +0 -156
  144. package/dist/bin/tools/testingTools.js +0 -232
  145. package/dist/bin/tools/webTools.js +0 -480
  146. package/dist/bin/workspace.js +0 -106
  147. package/dist/bin/workspace.validator.js +0 -213
  148. package/dist/capabilities/offensiveSecurityCapability.d.ts +0 -26
  149. package/dist/capabilities/offensiveSecurityCapability.d.ts.map +0 -1
  150. package/dist/capabilities/offensiveSecurityCapability.js +0 -58
  151. package/dist/capabilities/offensiveSecurityCapability.js.map +0 -1
  152. package/dist/capabilities/realSecurityCapability.d.ts +0 -26
  153. package/dist/capabilities/realSecurityCapability.d.ts.map +0 -1
  154. package/dist/capabilities/realSecurityCapability.js +0 -53
  155. package/dist/capabilities/realSecurityCapability.js.map +0 -1
  156. package/dist/capabilities/securityCapability.d.ts +0 -32
  157. package/dist/capabilities/securityCapability.d.ts.map +0 -1
  158. package/dist/capabilities/securityCapability.js +0 -57
  159. package/dist/capabilities/securityCapability.js.map +0 -1
  160. package/dist/capabilities/ultimateSecurityCapability.d.ts +0 -42
  161. package/dist/capabilities/ultimateSecurityCapability.d.ts.map +0 -1
  162. package/dist/capabilities/ultimateSecurityCapability.js +0 -96
  163. package/dist/capabilities/ultimateSecurityCapability.js.map +0 -1
  164. package/dist/core/designThoughtCheck.d.ts +0 -196
  165. package/dist/core/designThoughtCheck.d.ts.map +0 -1
  166. package/dist/core/designThoughtCheck.js +0 -287
  167. package/dist/core/designThoughtCheck.js.map +0 -1
  168. package/dist/core/designThoughtCheckEngine.d.ts +0 -58
  169. package/dist/core/designThoughtCheckEngine.d.ts.map +0 -1
  170. package/dist/core/designThoughtCheckEngine.js +0 -358
  171. package/dist/core/designThoughtCheckEngine.js.map +0 -1
  172. package/dist/core/designThoughtCheckIntegration.d.ts +0 -103
  173. package/dist/core/designThoughtCheckIntegration.d.ts.map +0 -1
  174. package/dist/core/designThoughtCheckIntegration.js +0 -207
  175. package/dist/core/designThoughtCheckIntegration.js.map +0 -1
  176. package/dist/core/intelligenceTools.d.ts +0 -19
  177. package/dist/core/intelligenceTools.d.ts.map +0 -1
  178. package/dist/core/intelligenceTools.js +0 -453
  179. package/dist/core/intelligenceTools.js.map +0 -1
  180. package/dist/core/operationalTools.d.ts +0 -19
  181. package/dist/core/operationalTools.d.ts.map +0 -1
  182. package/dist/core/operationalTools.js +0 -467
  183. package/dist/core/operationalTools.js.map +0 -1
  184. package/dist/offensive/core/offensive-engine.d.ts +0 -171
  185. package/dist/offensive/core/offensive-engine.d.ts.map +0 -1
  186. package/dist/offensive/core/offensive-engine.js +0 -345
  187. package/dist/offensive/core/offensive-engine.js.map +0 -1
  188. package/dist/offensive/core/offensive-integration.d.ts +0 -129
  189. package/dist/offensive/core/offensive-integration.d.ts.map +0 -1
  190. package/dist/offensive/core/offensive-integration.js +0 -364
  191. package/dist/offensive/core/offensive-integration.js.map +0 -1
  192. package/dist/offensive/core/offensive-tools.d.ts +0 -55
  193. package/dist/offensive/core/offensive-tools.d.ts.map +0 -1
  194. package/dist/offensive/core/offensive-tools.js +0 -438
  195. package/dist/offensive/core/offensive-tools.js.map +0 -1
  196. package/dist/offensive/offensive-cli.d.ts +0 -48
  197. package/dist/offensive/offensive-cli.d.ts.map +0 -1
  198. package/dist/offensive/offensive-cli.js +0 -233
  199. package/dist/offensive/offensive-cli.js.map +0 -1
  200. package/dist/security/apt-simulation-cli.d.ts +0 -57
  201. package/dist/security/apt-simulation-cli.d.ts.map +0 -1
  202. package/dist/security/apt-simulation-cli.js +0 -278
  203. package/dist/security/apt-simulation-cli.js.map +0 -1
  204. package/dist/security/apt-simulation-engine-complete.d.ts +0 -97
  205. package/dist/security/apt-simulation-engine-complete.d.ts.map +0 -1
  206. package/dist/security/apt-simulation-engine-complete.js +0 -441
  207. package/dist/security/apt-simulation-engine-complete.js.map +0 -1
  208. package/dist/security/apt-simulation-engine.d.ts +0 -97
  209. package/dist/security/apt-simulation-engine.d.ts.map +0 -1
  210. package/dist/security/apt-simulation-engine.js +0 -441
  211. package/dist/security/apt-simulation-engine.js.map +0 -1
  212. package/dist/security/authorization.d.ts +0 -45
  213. package/dist/security/authorization.d.ts.map +0 -1
  214. package/dist/security/authorization.js +0 -128
  215. package/dist/security/authorization.js.map +0 -1
  216. package/dist/security/comprehensive-security-research.d.ts +0 -84
  217. package/dist/security/comprehensive-security-research.d.ts.map +0 -1
  218. package/dist/security/comprehensive-security-research.js +0 -211
  219. package/dist/security/comprehensive-security-research.js.map +0 -1
  220. package/dist/security/offensive/exploitationEngine.d.ts +0 -54
  221. package/dist/security/offensive/exploitationEngine.d.ts.map +0 -1
  222. package/dist/security/offensive/exploitationEngine.js +0 -263
  223. package/dist/security/offensive/exploitationEngine.js.map +0 -1
  224. package/dist/security/real/networkExploitation.d.ts +0 -92
  225. package/dist/security/real/networkExploitation.d.ts.map +0 -1
  226. package/dist/security/real/networkExploitation.js +0 -316
  227. package/dist/security/real/networkExploitation.js.map +0 -1
  228. package/dist/security/real/persistenceImplementation.d.ts +0 -62
  229. package/dist/security/real/persistenceImplementation.d.ts.map +0 -1
  230. package/dist/security/real/persistenceImplementation.js +0 -323
  231. package/dist/security/real/persistenceImplementation.js.map +0 -1
  232. package/dist/security/real/vulnerabilityScanner.d.ts +0 -73
  233. package/dist/security/real/vulnerabilityScanner.d.ts.map +0 -1
  234. package/dist/security/real/vulnerabilityScanner.js +0 -341
  235. package/dist/security/real/vulnerabilityScanner.js.map +0 -1
  236. package/dist/shell/capturePastePatch.d.ts +0 -9
  237. package/dist/shell/capturePastePatch.d.ts.map +0 -1
  238. package/dist/shell/capturePastePatch.js +0 -98
  239. package/dist/shell/capturePastePatch.js.map +0 -1
  240. package/dist/shell/enhancedInteractiveShell.d.ts +0 -90
  241. package/dist/shell/enhancedInteractiveShell.d.ts.map +0 -1
  242. package/dist/shell/enhancedInteractiveShell.js +0 -248
  243. package/dist/shell/enhancedInteractiveShell.js.map +0 -1
  244. package/dist/shell/inputProcessor.d.ts +0 -56
  245. package/dist/shell/inputProcessor.d.ts.map +0 -1
  246. package/dist/shell/inputProcessor.js +0 -172
  247. package/dist/shell/inputProcessor.js.map +0 -1
  248. package/dist/shell/interactiveShell-patch.d.ts +0 -27
  249. package/dist/shell/interactiveShell-patch.d.ts.map +0 -1
  250. package/dist/shell/interactiveShell-patch.js +0 -38
  251. package/dist/shell/interactiveShell-patch.js.map +0 -1
  252. package/dist/shell/interactiveShell-robust.d.ts +0 -26
  253. package/dist/shell/interactiveShell-robust.d.ts.map +0 -1
  254. package/dist/shell/interactiveShell-robust.js +0 -34
  255. package/dist/shell/interactiveShell-robust.js.map +0 -1
  256. package/dist/shell/multiLinePasteManager.d.ts +0 -106
  257. package/dist/shell/multiLinePasteManager.d.ts.map +0 -1
  258. package/dist/shell/multiLinePasteManager.js +0 -308
  259. package/dist/shell/multiLinePasteManager.js.map +0 -1
  260. package/dist/shell/processInputBlockPatch.d.ts +0 -8
  261. package/dist/shell/processInputBlockPatch.d.ts.map +0 -1
  262. package/dist/shell/processInputBlockPatch.js +0 -133
  263. package/dist/shell/processInputBlockPatch.js.map +0 -1
  264. package/dist/shell/unifiedInputProcessor.d.ts +0 -22
  265. package/dist/shell/unifiedInputProcessor.d.ts.map +0 -1
  266. package/dist/shell/unifiedInputProcessor.js +0 -78
  267. package/dist/shell/unifiedInputProcessor.js.map +0 -1
  268. package/dist/tools/enhancedSecurityTools.d.ts +0 -19
  269. package/dist/tools/enhancedSecurityTools.d.ts.map +0 -1
  270. package/dist/tools/enhancedSecurityTools.js +0 -215
  271. package/dist/tools/enhancedSecurityTools.js.map +0 -1
  272. package/dist/tools/offensiveSecurityTools.d.ts +0 -16
  273. package/dist/tools/offensiveSecurityTools.d.ts.map +0 -1
  274. package/dist/tools/offensiveSecurityTools.js +0 -285
  275. package/dist/tools/offensiveSecurityTools.js.map +0 -1
  276. package/dist/tools/realSecurityTools.d.ts +0 -18
  277. package/dist/tools/realSecurityTools.d.ts.map +0 -1
  278. package/dist/tools/realSecurityTools.js +0 -468
  279. package/dist/tools/realSecurityTools.js.map +0 -1
  280. package/dist/tools/securityTools.d.ts +0 -20
  281. package/dist/tools/securityTools.d.ts.map +0 -1
  282. package/dist/tools/securityTools.js +0 -449
  283. package/dist/tools/securityTools.js.map +0 -1
@@ -1,248 +0,0 @@
1
- /**
2
- * EnhancedInteractiveShell - Improved shell with better multi-line paste UX
3
- *
4
- * Features:
5
- * - Short block descriptions for pastes: "[Pasted: 15 lines]"
6
- * - Full content sent to AI on Enter
7
- * - Visual feedback during paste operations
8
- * - Graceful handling of large pastes
9
- */
10
- import readline from 'node:readline';
11
- import { stdin as input, stdout as output } from 'node:process';
12
- import { MultiLinePasteManager } from './multiLinePasteManager.js';
13
- import { ComposableMessageBuilder } from './composableMessage.js';
14
- import { display } from '../ui/display.js';
15
- import { theme } from '../ui/theme.js';
16
- const BRACKETED_PASTE_ENABLE = '\u001b[?2004h';
17
- const BRACKETED_PASTE_DISABLE = '\u001b[?2004l';
18
- export class EnhancedInteractiveShell {
19
- rl;
20
- pasteManager;
21
- messageBuilder;
22
- bracketedPasteEnabled = false;
23
- currentPrompt = '';
24
- onInputCallback = null;
25
- onExitCallback = null;
26
- constructor() {
27
- this.pasteManager = new MultiLinePasteManager({
28
- enabled: true,
29
- maxPreviewLength: 60,
30
- pasteThresholdMs: 50,
31
- debug: false,
32
- showVisualIndicators: true
33
- });
34
- this.messageBuilder = new ComposableMessageBuilder();
35
- this.rl = readline.createInterface({
36
- input,
37
- output,
38
- prompt: '',
39
- terminal: true,
40
- historySize: 1000
41
- });
42
- this.setupEventHandlers();
43
- this.enableBracketedPasteMode();
44
- }
45
- /**
46
- * Set up event handlers for the readline interface
47
- */
48
- setupEventHandlers() {
49
- this.rl.on('line', (line) => {
50
- this.handleLineInput(line);
51
- });
52
- this.rl.on('close', () => {
53
- this.handleClose();
54
- });
55
- // Handle raw input for paste detection
56
- input.on('data', (data) => {
57
- this.handleRawInput(data.toString());
58
- });
59
- }
60
- /**
61
- * Handle raw input for paste detection
62
- */
63
- handleRawInput(data) {
64
- const result = this.pasteManager.process(data);
65
- if (result.handled) {
66
- if (result.isPending) {
67
- // Show preview while paste is in progress
68
- this.showPastePreview(result.preview || '');
69
- }
70
- else if (result.result) {
71
- // Paste completed, add to message builder
72
- this.messageBuilder.addPasteBlock(result.result);
73
- this.showCurrentMessageState();
74
- }
75
- }
76
- }
77
- /**
78
- * Handle line input (Enter key)
79
- */
80
- handleLineInput(line) {
81
- // Finalize any pending paste
82
- const finalResult = this.pasteManager.finalize();
83
- if (finalResult?.result) {
84
- this.messageBuilder.addPasteBlock(finalResult.result);
85
- }
86
- // Add any typed text
87
- if (line.trim()) {
88
- this.messageBuilder.addTextBlock(line);
89
- }
90
- // If we have any content, send it
91
- if (this.messageBuilder.hasContent()) {
92
- const fullMessage = this.messageBuilder.assembleFullMessage();
93
- // Show what's being sent
94
- this.showSendingMessage(fullMessage);
95
- // Send to AI
96
- if (this.onInputCallback) {
97
- this.onInputCallback(fullMessage);
98
- }
99
- // Reset for next input
100
- this.messageBuilder.reset();
101
- this.clearPastePreview();
102
- }
103
- else {
104
- // No content, just show prompt again
105
- this.showPrompt();
106
- }
107
- }
108
- /**
109
- * Show preview of current paste operation
110
- */
111
- showPastePreview(preview) {
112
- // Clear current line and show preview
113
- readline.clearLine(output, 0);
114
- readline.cursorTo(output, 0);
115
- const previewText = theme.pastePreview(preview);
116
- output.write(previewText);
117
- // Move cursor to next line for continued input
118
- output.write('\n');
119
- this.showPrompt();
120
- }
121
- /**
122
- * Clear paste preview
123
- */
124
- clearPastePreview() {
125
- readline.clearLine(output, 0);
126
- readline.cursorTo(output, 0);
127
- }
128
- /**
129
- * Show current message state (text + paste blocks)
130
- */
131
- showCurrentMessageState() {
132
- const pasteChips = this.messageBuilder.formatPasteChips();
133
- const currentDraft = this.messageBuilder.getCurrentDraft();
134
- this.clearPastePreview();
135
- if (pasteChips) {
136
- const chipsText = theme.pasteChips(pasteChips);
137
- output.write(chipsText + ' ');
138
- }
139
- if (currentDraft) {
140
- output.write(currentDraft);
141
- }
142
- }
143
- /**
144
- * Show message being sent to AI
145
- */
146
- showSendingMessage(message) {
147
- const lines = message.split('\n');
148
- const lineCount = lines.length;
149
- this.clearPastePreview();
150
- if (lineCount > 1) {
151
- const firstLine = lines[0] ?? '';
152
- const preview = firstLine.slice(0, 50) + (firstLine.length > 50 ? '...' : '');
153
- display.showSystemMessage(`📤 Sending ${lineCount} lines to AI: "${preview}"`);
154
- }
155
- else {
156
- display.showSystemMessage(`📤 Sending message to AI`);
157
- }
158
- }
159
- /**
160
- * Show the prompt
161
- */
162
- showPrompt() {
163
- this.currentPrompt = theme.prompt('> ');
164
- this.rl.setPrompt(this.currentPrompt);
165
- this.rl.prompt();
166
- }
167
- /**
168
- * Handle shell close
169
- */
170
- handleClose() {
171
- this.disableBracketedPasteMode();
172
- if (this.onExitCallback) {
173
- this.onExitCallback();
174
- }
175
- }
176
- /**
177
- * Enable bracketed paste mode
178
- */
179
- enableBracketedPasteMode() {
180
- if (!input.isTTY || !output.isTTY) {
181
- return false;
182
- }
183
- try {
184
- output.write(BRACKETED_PASTE_ENABLE);
185
- this.bracketedPasteEnabled = true;
186
- return true;
187
- }
188
- catch (error) {
189
- const message = error instanceof Error ? error.message : String(error);
190
- display.showWarning(`Unable to enable bracketed paste: ${message}`);
191
- return false;
192
- }
193
- }
194
- /**
195
- * Disable bracketed paste mode
196
- */
197
- disableBracketedPasteMode() {
198
- if (!this.bracketedPasteEnabled || !output.isTTY) {
199
- return;
200
- }
201
- try {
202
- output.write(BRACKETED_PASTE_DISABLE);
203
- }
204
- finally {
205
- this.bracketedPasteEnabled = false;
206
- this.pasteManager.reset();
207
- }
208
- }
209
- /**
210
- * Start the enhanced shell
211
- */
212
- start() {
213
- display.showSystemMessage('Enhanced interactive shell started with improved multi-line paste support');
214
- this.showPrompt();
215
- }
216
- /**
217
- * Stop the shell
218
- */
219
- stop() {
220
- this.disableBracketedPasteMode();
221
- this.rl.close();
222
- }
223
- /**
224
- * Set callback for user input
225
- */
226
- onInput(callback) {
227
- this.onInputCallback = callback;
228
- }
229
- /**
230
- * Set callback for shell exit
231
- */
232
- onExit(callback) {
233
- this.onExitCallback = callback;
234
- }
235
- /**
236
- * Get current paste manager for debugging
237
- */
238
- getPasteManager() {
239
- return this.pasteManager;
240
- }
241
- /**
242
- * Get current message builder for debugging
243
- */
244
- getMessageBuilder() {
245
- return this.messageBuilder;
246
- }
247
- }
248
- //# sourceMappingURL=enhancedInteractiveShell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enhancedInteractiveShell.js","sourceRoot":"","sources":["../../src/shell/enhancedInteractiveShell.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- /**
2
- * Robust Input Processor for Erosolar CLI
3
- *
4
- * Fixes issues with:
5
- * - Multi-line paste handling
6
- * - Display formatting consistency
7
- * - User input accuracy
8
- * - Warning message placement
9
- */
10
- export interface InputProcessingResult {
11
- content: string;
12
- isMultiLine: boolean;
13
- lineCount: number;
14
- displayFormat: 'inline' | 'block' | 'paste-chip';
15
- summary?: string;
16
- }
17
- export declare class RobustInputProcessor {
18
- private readonly MAX_INLINE_LINES;
19
- private readonly MAX_SUMMARY_LENGTH;
20
- /**
21
- * Process user input with robust multi-line handling
22
- */
23
- processInput(input: string): InputProcessingResult;
24
- /**
25
- * Determine the best display format for the input
26
- */
27
- private determineDisplayFormat;
28
- /**
29
- * Generate appropriate summary based on display format
30
- */
31
- private generateSummary;
32
- /**
33
- * Format content for display based on the determined format
34
- */
35
- formatForDisplay(result: InputProcessingResult): string;
36
- /**
37
- * Check if input contains initialization warnings that should be handled.
38
- * Only matches specific warning phrases with ellipsis to avoid false positives.
39
- */
40
- containsInitializationWarning(input: string): boolean;
41
- /**
42
- * Extract actual content from input that may contain warnings
43
- */
44
- extractContentFromWarning(input: string): {
45
- content: string;
46
- hadWarning: boolean;
47
- };
48
- /**
49
- * Validate input for common issues
50
- */
51
- validateInput(input: string): {
52
- isValid: boolean;
53
- issues: string[];
54
- };
55
- }
56
- //# sourceMappingURL=inputProcessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inputProcessor.d.ts","sourceRoot":"","sources":["../../src/shell/inputProcessor.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAEzC;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB;IA8BlD;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA8B9B;;OAEG;IACH,OAAO,CAAC,eAAe;IA6BvB;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM;IAsBvD;;;OAGG;IACH,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAYrD;;OAEG;IACH,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE;IAyBlF;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;CAwBrE"}
@@ -1,172 +0,0 @@
1
- /**
2
- * Robust Input Processor for Erosolar CLI
3
- *
4
- * Fixes issues with:
5
- * - Multi-line paste handling
6
- * - Display formatting consistency
7
- * - User input accuracy
8
- * - Warning message placement
9
- */
10
- export class RobustInputProcessor {
11
- MAX_INLINE_LINES = 3;
12
- MAX_SUMMARY_LENGTH = 80;
13
- /**
14
- * Process user input with robust multi-line handling
15
- */
16
- processInput(input) {
17
- const trimmed = input.trim();
18
- const lines = trimmed.split('\n').filter(line => line.trim().length > 0);
19
- const lineCount = lines.length;
20
- // Handle empty input
21
- if (lineCount === 0) {
22
- return {
23
- content: '',
24
- isMultiLine: false,
25
- lineCount: 0,
26
- displayFormat: 'inline'
27
- };
28
- }
29
- // Determine display format based on content characteristics
30
- const displayFormat = this.determineDisplayFormat(trimmed, lineCount);
31
- // Generate appropriate summary
32
- const summary = this.generateSummary(lines, displayFormat);
33
- return {
34
- content: trimmed,
35
- isMultiLine: lineCount > 1,
36
- lineCount,
37
- displayFormat,
38
- summary
39
- };
40
- }
41
- /**
42
- * Determine the best display format for the input
43
- */
44
- determineDisplayFormat(content, lineCount) {
45
- // Single line always inline
46
- if (lineCount === 1) {
47
- return 'inline';
48
- }
49
- // Short multi-line content can be inline
50
- if (lineCount <= this.MAX_INLINE_LINES) {
51
- const totalLength = content.length;
52
- const avgLineLength = totalLength / lineCount;
53
- // If lines are short, display inline with visual indicators
54
- if (avgLineLength < 60) {
55
- return 'inline';
56
- }
57
- }
58
- // Long multi-line content gets block or paste-chip format
59
- // Use paste-chip for very long content (> 10 lines)
60
- if (lineCount > 10) {
61
- return 'paste-chip';
62
- }
63
- // Moderate multi-line content gets block format
64
- return 'block';
65
- }
66
- /**
67
- * Generate appropriate summary based on display format
68
- */
69
- generateSummary(lines, displayFormat) {
70
- if (displayFormat === 'inline') {
71
- return undefined; // No summary needed for inline
72
- }
73
- if (displayFormat === 'paste-chip') {
74
- const firstLine = lines[0] || '';
75
- const truncated = firstLine.length > this.MAX_SUMMARY_LENGTH
76
- ? `${firstLine.slice(0, this.MAX_SUMMARY_LENGTH - 3)}...`
77
- : firstLine;
78
- return `[Pasted text +${lines.length} lines] ${truncated}`;
79
- }
80
- // Block format - show first line preview
81
- if (lines.length > 0) {
82
- const firstLine = lines[0] || '';
83
- if (firstLine.length > this.MAX_SUMMARY_LENGTH) {
84
- return `${firstLine.slice(0, this.MAX_SUMMARY_LENGTH - 3)}...`;
85
- }
86
- return firstLine;
87
- }
88
- return undefined;
89
- }
90
- /**
91
- * Format content for display based on the determined format
92
- */
93
- formatForDisplay(result) {
94
- const { content, displayFormat, lineCount, summary } = result;
95
- switch (displayFormat) {
96
- case 'inline':
97
- if (lineCount === 1) {
98
- return content;
99
- }
100
- // Multi-line inline - join with visual indicators
101
- return content.replace(/\n/g, ' ↵ ');
102
- case 'block':
103
- return content; // Return as-is for block display
104
- case 'paste-chip':
105
- return summary || `[Pasted text +${lineCount} lines]`;
106
- default:
107
- return content;
108
- }
109
- }
110
- /**
111
- * Check if input contains initialization warnings that should be handled.
112
- * Only matches specific warning phrases with ellipsis to avoid false positives.
113
- */
114
- containsInitializationWarning(input) {
115
- const warningPatterns = [
116
- /take a moment for complex initialization/i,
117
- /initializing\.\.\./i,
118
- /loading\.\.\./i,
119
- /please wait\.\.\./i,
120
- /starting up\.\.\./i
121
- ];
122
- return warningPatterns.some(pattern => pattern.test(input));
123
- }
124
- /**
125
- * Extract actual content from input that may contain warnings
126
- */
127
- extractContentFromWarning(input) {
128
- const warningPatterns = [
129
- /take a moment for complex initialization\.\.\.\s*/i,
130
- /initializing\.\.\.\s*/i,
131
- /loading\.\.\.\s*/i,
132
- /please wait\.\.\.\s*/i,
133
- /starting up\.\.\.\s*/i
134
- ];
135
- let cleaned = input;
136
- let hadWarning = false;
137
- for (const pattern of warningPatterns) {
138
- if (pattern.test(cleaned)) {
139
- cleaned = cleaned.replace(pattern, '');
140
- hadWarning = true;
141
- }
142
- }
143
- return {
144
- content: cleaned.trim(),
145
- hadWarning
146
- };
147
- }
148
- /**
149
- * Validate input for common issues
150
- */
151
- validateInput(input) {
152
- const issues = [];
153
- // Check for empty input
154
- if (!input.trim()) {
155
- issues.push('Input is empty');
156
- }
157
- // Check for excessive length
158
- if (input.length > 10000) {
159
- issues.push('Input exceeds maximum length (10,000 characters)');
160
- }
161
- // Check for control characters that might cause issues
162
- const controlChars = input.match(/[\x00-\x1F\x7F]/g);
163
- if (controlChars && controlChars.length > 5) {
164
- issues.push('Input contains excessive control characters');
165
- }
166
- return {
167
- isValid: issues.length === 0,
168
- issues
169
- };
170
- }
171
- }
172
- //# sourceMappingURL=inputProcessor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inputProcessor.js","sourceRoot":"","sources":["../../src/shell/inputProcessor.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Patch for InteractiveShell to add robust input processing
3
- */
4
- export {};
5
- /**
6
- * Instructions for manual patching:
7
- *
8
- * 1. Add the imports at the top of src/shell/interactiveShell.ts:
9
- * import { RobustInputProcessor } from './inputProcessor.js';
10
- * import { createRobustCapturePaste, handleInlinePaste, handleBlockPaste, handlePasteChip } from './capturePastePatch.js';
11
- * import { createRobustProcessInputBlock, handleComposableMessage, handleControlCommands } from './processInputBlockPatch.js';
12
- *
13
- * 2. Add this line around line 225 (after other private readonly properties):
14
- * private readonly inputProcessor = new RobustInputProcessor();
15
- *
16
- * 3. Replace the capturePaste method (around line 1081) with:
17
- * private capturePaste = createRobustCapturePaste(this.inputProcessor);
18
- * private handleInlinePaste = handleInlinePaste;
19
- * private handleBlockPaste = handleBlockPaste;
20
- * private handlePasteChip = handlePasteChip;
21
- *
22
- * 4. Replace the processInputBlock method (around line 1211) with:
23
- * private processInputBlock = createRobustProcessInputBlock(this.inputProcessor);
24
- * private handleComposableMessage = handleComposableMessage;
25
- * private handleControlCommands = handleControlCommands;
26
- */
27
- //# sourceMappingURL=interactiveShell-patch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interactiveShell-patch.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell-patch.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAqBH;;;;;;;;;;;;;;;;;;;;;GAqBG"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Patch for InteractiveShell to add robust input processing
3
- */
4
- export {};
5
- // Add this property to the InteractiveShell class (around line 225)
6
- // private readonly inputProcessor = new RobustInputProcessor();
7
- // Replace the capturePaste method (around line 1081)
8
- // private capturePaste = createRobustCapturePaste(this.inputProcessor);
9
- // private handleInlinePaste = handleInlinePaste;
10
- // private handleBlockPaste = handleBlockPaste;
11
- // private handlePasteChip = handlePasteChip;
12
- // Replace the processInputBlock method (around line 1211)
13
- // private processInputBlock = createRobustProcessInputBlock(this.inputProcessor);
14
- // private handleComposableMessage = handleComposableMessage;
15
- // private handleControlCommands = handleControlCommands;
16
- /**
17
- * Instructions for manual patching:
18
- *
19
- * 1. Add the imports at the top of src/shell/interactiveShell.ts:
20
- * import { RobustInputProcessor } from './inputProcessor.js';
21
- * import { createRobustCapturePaste, handleInlinePaste, handleBlockPaste, handlePasteChip } from './capturePastePatch.js';
22
- * import { createRobustProcessInputBlock, handleComposableMessage, handleControlCommands } from './processInputBlockPatch.js';
23
- *
24
- * 2. Add this line around line 225 (after other private readonly properties):
25
- * private readonly inputProcessor = new RobustInputProcessor();
26
- *
27
- * 3. Replace the capturePaste method (around line 1081) with:
28
- * private capturePaste = createRobustCapturePaste(this.inputProcessor);
29
- * private handleInlinePaste = handleInlinePaste;
30
- * private handleBlockPaste = handleBlockPaste;
31
- * private handlePasteChip = handlePasteChip;
32
- *
33
- * 4. Replace the processInputBlock method (around line 1211) with:
34
- * private processInputBlock = createRobustProcessInputBlock(this.inputProcessor);
35
- * private handleComposableMessage = handleComposableMessage;
36
- * private handleControlCommands = handleControlCommands;
37
- */
38
- //# sourceMappingURL=interactiveShell-patch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interactiveShell-patch.js","sourceRoot":"","sources":["../../src/shell/interactiveShell-patch.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAOH,oEAAoE;AACpE,gEAAgE;AAEhE,qDAAqD;AACrD,wEAAwE;AACxE,iDAAiD;AACjD,+CAA+C;AAC/C,6CAA6C;AAE7C,0DAA0D;AAC1D,kFAAkF;AAClF,6DAA6D;AAC7D,yDAAyD;AAEzD;;;;;;;;;;;;;;;;;;;;;GAqBG"}
@@ -1,26 +0,0 @@
1
- /**
2
- * Interactive shell for Erosolar CLI with robust input processing
3
- */
4
- export declare class InteractiveShell {
5
- private readonly rl;
6
- private readonly profile;
7
- private readonly profileLabel;
8
- private readonly workingDir;
9
- private readonly runtimeSession;
10
- private readonly uiAdapter;
11
- private readonly persistentPrompt;
12
- private readonly bracketedPaste;
13
- private readonly inputProcessor;
14
- private readonly composableMessage;
15
- /**
16
- * Robust input processing methods
17
- */
18
- private capturePaste;
19
- private handleInlinePaste;
20
- private handleBlockPaste;
21
- private handlePasteChip;
22
- private processInputBlock;
23
- private handleComposableMessage;
24
- private handleControlCommands;
25
- }
26
- //# sourceMappingURL=interactiveShell-robust.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interactiveShell-robust.d.ts","sourceRoot":"","sources":["../../src/shell/interactiveShell-robust.ts"],"names":[],"mappings":"AA0DA;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAqB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiB;IAC3C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IAGvD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA8B;IAC7D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAkC;IAIpE;;OAEG;IACH,OAAO,CAAC,YAAY,CAAiD;IACrE,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,iBAAiB,CAAsD;IAC/E,OAAO,CAAC,uBAAuB,CAA2B;IAC1D,OAAO,CAAC,qBAAqB,CAAyB;CAGvD"}
@@ -1,34 +0,0 @@
1
- import { ComposableMessageBuilder } from './composableMessage.js';
2
- // Import our robust input processing components
3
- import { RobustInputProcessor } from './inputProcessor.js';
4
- import { createRobustCapturePaste, handleInlinePaste, handleBlockPaste, handlePasteChip } from './capturePastePatch.js';
5
- import { createRobustProcessInputBlock, handleComposableMessage, handleControlCommands } from './processInputBlockPatch.js';
6
- // ... [rest of the imports]
7
- /**
8
- * Interactive shell for Erosolar CLI with robust input processing
9
- */
10
- export class InteractiveShell {
11
- rl;
12
- profile;
13
- profileLabel;
14
- workingDir;
15
- runtimeSession;
16
- uiAdapter;
17
- persistentPrompt;
18
- bracketedPaste;
19
- // Robust input processing components
20
- inputProcessor = new RobustInputProcessor();
21
- composableMessage = new ComposableMessageBuilder();
22
- // ... [other properties]
23
- /**
24
- * Robust input processing methods
25
- */
26
- capturePaste = createRobustCapturePaste(this.inputProcessor);
27
- handleInlinePaste = handleInlinePaste;
28
- handleBlockPaste = handleBlockPaste;
29
- handlePasteChip = handlePasteChip;
30
- processInputBlock = createRobustProcessInputBlock(this.inputProcessor);
31
- handleComposableMessage = handleComposableMessage;
32
- handleControlCommands = handleControlCommands;
33
- }
34
- //# sourceMappingURL=interactiveShell-robust.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interactiveShell-robust.js","sourceRoot":"","sources":["../../src/shell/interactiveShell-robust.ts"],"names":[],"mappings":"AA8CA,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAKlE,gDAAgD;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxH,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAE5H,4BAA4B;AAE5B;;GAEG;AACH,MAAM,OAAO,gBAAgB;IACV,EAAE,CAAqB;IACvB,OAAO,CAAc;IACrB,YAAY,CAAS;IACrB,UAAU,CAAS;IACnB,cAAc,CAAe;IAC7B,SAAS,CAAiB;IAC1B,gBAAgB,CAAmB;IACnC,cAAc,CAAwB;IAEvD,qCAAqC;IACpB,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC5C,iBAAiB,GAAG,IAAI,wBAAwB,EAAE,CAAC;IAEpE,yBAAyB;IAEzB;;OAEG;IACK,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7D,iBAAiB,GAAG,iBAAiB,CAAC;IACtC,gBAAgB,GAAG,gBAAgB,CAAC;IACpC,eAAe,GAAG,eAAe,CAAC;IAClC,iBAAiB,GAAG,6BAA6B,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACvE,uBAAuB,GAAG,uBAAuB,CAAC;IAClD,qBAAqB,GAAG,qBAAqB,CAAC;CAGvD"}