erosolar-cli 1.7.155 → 1.7.157
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/README.md +7 -17
- package/agents/erosolar-code.rules.json +1 -111
- package/agents/general.rules.json +0 -6
- package/dist/bin/erosolar.js +0 -22
- package/dist/bin/erosolar.js.map +1 -1
- package/dist/bin/selfTest.js +2 -190
- package/dist/bin/selfTest.js.map +1 -1
- package/dist/core/agent.d.ts +0 -12
- package/dist/core/agent.d.ts.map +1 -1
- package/dist/core/agent.js +12 -75
- package/dist/core/agent.js.map +1 -1
- package/dist/core/contextManager.d.ts +1 -2
- package/dist/core/contextManager.d.ts.map +1 -1
- package/dist/core/contextManager.js +2 -11
- package/dist/core/contextManager.js.map +1 -1
- package/dist/core/multilinePasteHandler.d.ts +4 -8
- package/dist/core/multilinePasteHandler.d.ts.map +1 -1
- package/dist/core/multilinePasteHandler.js +17 -67
- package/dist/core/multilinePasteHandler.js.map +1 -1
- package/dist/core/preferences.js +2 -8
- package/dist/core/preferences.js.map +1 -1
- package/dist/core/resultVerification.d.ts +1 -1
- package/dist/core/resultVerification.d.ts.map +1 -1
- package/dist/core/resultVerification.js +10 -11
- package/dist/core/resultVerification.js.map +1 -1
- package/dist/core/schemaValidator.d.ts.map +1 -1
- package/dist/core/schemaValidator.js +1 -36
- package/dist/core/schemaValidator.js.map +1 -1
- package/dist/core/toolRuntime.d.ts +0 -61
- package/dist/core/toolRuntime.d.ts.map +1 -1
- package/dist/core/toolRuntime.js +1 -303
- package/dist/core/toolRuntime.js.map +1 -1
- package/dist/core/unified/schema.d.ts.map +1 -1
- package/dist/core/unified/schema.js +1 -34
- package/dist/core/unified/schema.js.map +1 -1
- package/dist/headless/headlessApp.d.ts.map +1 -1
- package/dist/headless/headlessApp.js +0 -3
- package/dist/headless/headlessApp.js.map +1 -1
- package/dist/providers/anthropicProvider.d.ts.map +1 -1
- package/dist/providers/anthropicProvider.js +1 -4
- package/dist/providers/anthropicProvider.js.map +1 -1
- package/dist/shell/bracketedPasteManager.d.ts.map +1 -1
- package/dist/shell/bracketedPasteManager.js +3 -5
- package/dist/shell/bracketedPasteManager.js.map +1 -1
- package/dist/shell/composableMessage.js +2 -2
- package/dist/shell/composableMessage.js.map +1 -1
- package/dist/shell/interactiveShell.d.ts +1 -6
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +95 -421
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/shellApp.d.ts.map +1 -1
- package/dist/shell/shellApp.js +0 -7
- package/dist/shell/shellApp.js.map +1 -1
- package/dist/shell/systemPrompt.js +5 -5
- package/dist/shell/systemPrompt.js.map +1 -1
- package/dist/tools/bashTools.d.ts +0 -8
- package/dist/tools/bashTools.d.ts.map +1 -1
- package/dist/tools/bashTools.js +5 -80
- package/dist/tools/bashTools.js.map +1 -1
- package/dist/tools/diffUtils.d.ts.map +1 -1
- package/dist/tools/diffUtils.js +8 -12
- package/dist/tools/diffUtils.js.map +1 -1
- package/dist/tools/editTools.d.ts.map +1 -1
- package/dist/tools/editTools.js +36 -386
- package/dist/tools/editTools.js.map +1 -1
- package/dist/tools/fileTools.d.ts.map +1 -1
- package/dist/tools/fileTools.js +130 -25
- package/dist/tools/fileTools.js.map +1 -1
- package/dist/ui/ShellUIAdapter.d.ts +0 -5
- package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
- package/dist/ui/ShellUIAdapter.js +0 -21
- package/dist/ui/ShellUIAdapter.js.map +1 -1
- package/dist/ui/persistentPrompt.d.ts +10 -83
- package/dist/ui/persistentPrompt.d.ts.map +1 -1
- package/dist/ui/persistentPrompt.js +119 -521
- package/dist/ui/persistentPrompt.js.map +1 -1
- package/dist/ui/richText.js +4 -4
- package/dist/ui/richText.js.map +1 -1
- package/dist/ui/shortcutsHelp.d.ts.map +1 -1
- package/dist/ui/shortcutsHelp.js +13 -31
- package/dist/ui/shortcutsHelp.js.map +1 -1
- package/package.json +1 -4
- package/dist/ui/EnhancedPinnedChatBox.d.ts +0 -93
- package/dist/ui/EnhancedPinnedChatBox.d.ts.map +0 -1
- package/dist/ui/EnhancedPinnedChatBox.js +0 -309
- package/dist/ui/EnhancedPinnedChatBox.js.map +0 -1
- package/dist/ui/PinnedChatBoxEnhancer.d.ts +0 -88
- package/dist/ui/PinnedChatBoxEnhancer.d.ts.map +0 -1
- package/dist/ui/PinnedChatBoxEnhancer.js +0 -205
- package/dist/ui/PinnedChatBoxEnhancer.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## AI Coding Agent Comparison
|
|
4
4
|
|
|
5
|
-
| Agent | Screenshot |
|
|
6
|
-
|
|
7
|
-
| **Claude Code** |  |
|
|
8
|
-
| **OpenAI Codex CLI** |  |
|
|
9
|
-
| **Erosolar CLI** |  |
|
|
5
|
+
| Agent | Screenshot |
|
|
6
|
+
|-------|------------|
|
|
7
|
+
| **Claude Code** |  |
|
|
8
|
+
| **OpenAI Codex CLI** |  |
|
|
9
|
+
| **Erosolar CLI** |  |
|
|
10
10
|
|
|
11
11
|
### Current State
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
**OpenAI Codex CLI** provides solid coding assistance but requires more human guidance for complex multi-step project creation.
|
|
16
16
|
|
|
17
|
-
**Erosolar CLI**
|
|
17
|
+
**Erosolar CLI** is actively being developed by Bo Shang to match and eventually exceed these capabilities. The goal is to achieve the same level of autonomous project creation, constrained only by the underlying model's limits—not by the CLI tooling itself. This work is ongoing.
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -144,20 +144,10 @@ Erosolar CLI is actively being developed to achieve production readiness. Curren
|
|
|
144
144
|
- ✅ Multi-provider AI support
|
|
145
145
|
- ✅ Advanced code intelligence
|
|
146
146
|
- ✅ Security research capabilities
|
|
147
|
-
-
|
|
148
|
-
- ✅ Performance optimization
|
|
147
|
+
- 🔄 Performance optimization
|
|
149
148
|
- 🔄 Enterprise features
|
|
150
149
|
- 🔄 Enhanced reliability
|
|
151
150
|
|
|
152
|
-
### Development Tools
|
|
153
|
-
|
|
154
|
-
The CLI includes comprehensive development tooling:
|
|
155
|
-
|
|
156
|
-
- **TypeScript Type Checking**: Multiple type checking scripts (`type-check`, `type-check:strict`, `type-check:watch`)
|
|
157
|
-
- **Development Health Check**: Comprehensive environment validation (`npm run dev-health-check`)
|
|
158
|
-
- **Enhanced Error Handling**: Global error handlers and graceful shutdown
|
|
159
|
-
- **Quality Gates**: Automated code quality validation
|
|
160
|
-
|
|
161
151
|
See [CRITICAL_ENHANCEMENTS.md](./CRITICAL_ENHANCEMENTS.md) for detailed roadmap.
|
|
162
152
|
|
|
163
153
|
---
|
|
@@ -60,17 +60,7 @@
|
|
|
60
60
|
},
|
|
61
61
|
{
|
|
62
62
|
"id": "guardrail.parallel_execution",
|
|
63
|
-
"summary": "
|
|
64
|
-
"severity": "critical"
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"id": "guardrail.tool_timing_awareness",
|
|
68
|
-
"summary": "Be aware of tool execution speed: File operations (Read/Write/Edit/Glob) are FAST (0-50ms). Network/Bash operations are SLOW (500ms-10s). Parallelize slow tools aggressively; only sequence fast tools if they have data dependencies.",
|
|
69
|
-
"severity": "recommended"
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"id": "guardrail.cache_efficiency",
|
|
73
|
-
"summary": "The Read tool caches results for 5 minutes. Read all files you'll need ONCE at the start, before implementing. If you've already read a file, don't read it again - use the cached knowledge. Cache is automatically invalidated when you Edit/Write a file.",
|
|
63
|
+
"summary": "Execute multiple independent tool calls in parallel when possible. Use a single response with multiple tool uses to maximize efficiency.",
|
|
74
64
|
"severity": "recommended"
|
|
75
65
|
},
|
|
76
66
|
{
|
|
@@ -142,101 +132,6 @@
|
|
|
142
132
|
"id": "guardrail.edge_validation_impossible",
|
|
143
133
|
"summary": "EDGE CASE: When validation is impossible (missing dependencies, no test suite, external service unavailable), document the validation gap clearly and provide manual verification steps.",
|
|
144
134
|
"severity": "required"
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
"id": "guardrail.edit_not_write",
|
|
148
|
-
"summary": "CRITICAL: Use Edit tool for modifications, not Write. Never rewrite an entire file with Write when Edit can make targeted changes. Multiple Write calls to the same file is a red flag - use Edit for incremental changes.",
|
|
149
|
-
"severity": "critical"
|
|
150
|
-
},
|
|
151
|
-
{
|
|
152
|
-
"id": "guardrail.batch_edits",
|
|
153
|
-
"summary": "CRITICAL: Make LARGE batch edits, not line-by-line. Include ALL related changes in a SINGLE Edit call. BAD: Edit line 5, then Edit line 6, then Edit line 7. GOOD: Edit lines 5-7 together with multi-line old_string/new_string. When modifying a table, function, or block, edit the ENTIRE block at once. One Edit with 10 changed lines is better than 10 Edits with 1 changed line each.",
|
|
154
|
-
"severity": "critical"
|
|
155
|
-
},
|
|
156
|
-
{
|
|
157
|
-
"id": "guardrail.edit_not_bash",
|
|
158
|
-
"summary": "CRITICAL: NEVER use bash commands (sed, awk, cat, echo, printf) for file editing. ALWAYS use the Edit tool. The Edit tool is faster, safer, shows diffs, and prevents accidental file corruption. Bash should only be used for: git, npm, node, running scripts, system commands.",
|
|
159
|
-
"severity": "critical"
|
|
160
|
-
},
|
|
161
|
-
{
|
|
162
|
-
"id": "guardrail.modify_existing_files",
|
|
163
|
-
"summary": "CRITICAL: NEVER create new 'Enhanced', 'Improved', 'Better', or wrapper versions of existing files. ALWAYS edit the original file directly. BAD: Create EnhancedPinnedChatBox.ts when PinnedChatBox exists. BAD: Create ImprovedInteractiveShell.ts. GOOD: Edit persistentPrompt.ts directly. GOOD: Edit interactiveShell.ts directly. If you need to add features, ADD THEM to the existing class/file.",
|
|
164
|
-
"severity": "critical"
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
"id": "guardrail.no_wrapper_classes",
|
|
168
|
-
"summary": "CRITICAL: Do NOT create wrapper classes that extend existing classes. Do NOT create 'Enhanced*', 'Improved*', 'Better*', 'New*' versions. If a class needs new functionality, EDIT THE ORIGINAL CLASS. Extending existing classes creates maintenance burden and code duplication.",
|
|
169
|
-
"severity": "critical"
|
|
170
|
-
},
|
|
171
|
-
{
|
|
172
|
-
"id": "guardrail.full_file_reads",
|
|
173
|
-
"summary": "CRITICAL: Read the FULL file on first access (omit limit/offset params). Do NOT read 52-line chunks repeatedly. One full read is more efficient than multiple partial reads. Only use limit/offset for files over 2000 lines.",
|
|
174
|
-
"severity": "critical"
|
|
175
|
-
},
|
|
176
|
-
{
|
|
177
|
-
"id": "guardrail.action_over_exploration",
|
|
178
|
-
"summary": "CRITICAL: After reading 2-3 relevant files, STOP exploring and START implementing. Excessive exploration (5+ file reads without action) indicates poor planning. If you've read a file once, DO NOT read it again - use your memory. Read → Plan → Act, not Read → Read → Read → Read.",
|
|
179
|
-
"severity": "critical"
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
"id": "guardrail.no_repeat_reads",
|
|
183
|
-
"summary": "NEVER read the same file twice in a session. After reading a file, you HAVE its content - use your context window. If you need to reference the file again, quote from memory. Re-reading is wasteful and slow.",
|
|
184
|
-
"severity": "critical"
|
|
185
|
-
},
|
|
186
|
-
{
|
|
187
|
-
"id": "guardrail.batch_searches",
|
|
188
|
-
"summary": "CRITICAL: Batch related searches into SINGLE tool calls. BAD: Glob(*.ts) then Glob(*.tsx) then Glob(*.js). GOOD: Glob(**/*.{ts,tsx,js}). BAD: Grep('foo') then Grep('bar'). GOOD: Grep('foo|bar'). Minimize round-trips.",
|
|
189
|
-
"severity": "critical"
|
|
190
|
-
},
|
|
191
|
-
{
|
|
192
|
-
"id": "guardrail.read_then_edit",
|
|
193
|
-
"summary": "Pattern: Read file ONCE → Plan all changes → Edit file ONCE. Do NOT interleave reads and edits. If editing multiple files, read ALL first in parallel, then edit ALL.",
|
|
194
|
-
"severity": "critical"
|
|
195
|
-
},
|
|
196
|
-
{
|
|
197
|
-
"id": "guardrail.no_exploration_loops",
|
|
198
|
-
"summary": "STOP if you find yourself: (1) Reading >5 files without making changes, (2) Searching for the same pattern twice, (3) Reading file sections repeatedly. This indicates you're stuck - plan and act instead.",
|
|
199
|
-
"severity": "critical"
|
|
200
|
-
},
|
|
201
|
-
{
|
|
202
|
-
"id": "guardrail.minimal_todo_updates",
|
|
203
|
-
"summary": "Update TodoWrite sparingly - only for multi-step tasks. Do NOT update todos after every tool call. Mark complete when DONE, not after each sub-step. Excessive todo updates waste tokens.",
|
|
204
|
-
"severity": "required"
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
"id": "guardrail.trust_first_read",
|
|
208
|
-
"summary": "Trust file contents from first read. Do NOT re-read to 'verify' or 'double-check'. If you edited a file, the Edit tool confirms success - no need to Read to verify.",
|
|
209
|
-
"severity": "required"
|
|
210
|
-
},
|
|
211
|
-
{
|
|
212
|
-
"id": "guardrail.architecture_check_before_extend",
|
|
213
|
-
"summary": "CRITICAL: Before extending a TypeScript class, check for private/protected members that will block extension. If class has many private members, modify it directly instead of extending. Build early to catch TypeScript errors.",
|
|
214
|
-
"severity": "critical"
|
|
215
|
-
},
|
|
216
|
-
{
|
|
217
|
-
"id": "guardrail.plan_before_implement",
|
|
218
|
-
"summary": "CRITICAL: For complex tasks, use TodoWrite to plan ALL steps BEFORE any implementation. Read relevant files FIRST, understand architecture, THEN plan, THEN implement. Do not interleave reading and writing without a plan.",
|
|
219
|
-
"severity": "critical"
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
"id": "guardrail.single_file_write",
|
|
223
|
-
"summary": "NEVER write the same file more than once per task. If a Write fails or needs adjustment, use Edit for corrections. Multiple Write calls to one file wastes tokens and indicates poor planning.",
|
|
224
|
-
"severity": "critical"
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
"id": "guardrail.early_build_check",
|
|
228
|
-
"summary": "After significant structural changes (new classes, interface changes, inheritance), run 'npx tsc --noEmit' immediately to catch type errors early. Do not wait until the end to discover architecture problems.",
|
|
229
|
-
"severity": "required"
|
|
230
|
-
},
|
|
231
|
-
{
|
|
232
|
-
"id": "guardrail.error_recovery",
|
|
233
|
-
"summary": "When encountering errors: (1) If Edit fails, check whitespace/indentation mismatch and use Grep to find correct text. (2) If file not found, use Glob to discover similar files. (3) If context overflow, use shorter responses and batch tools. (4) If build fails, fix ONE error at a time, rebuild after each fix.",
|
|
234
|
-
"severity": "required"
|
|
235
|
-
},
|
|
236
|
-
{
|
|
237
|
-
"id": "guardrail.verify_operations",
|
|
238
|
-
"summary": "After claiming to create/edit files, verify the operation succeeded. If Edit says 'Updated X', the change should exist. If Write says 'Created Y', the file should exist. Do not claim success without verification.",
|
|
239
|
-
"severity": "required"
|
|
240
135
|
}
|
|
241
136
|
],
|
|
242
137
|
"phases": [
|
|
@@ -311,11 +206,6 @@
|
|
|
311
206
|
"summary": "Edit one concern at a time; avoid sweeping refactors unless explicitly requested.",
|
|
312
207
|
"severity": "required"
|
|
313
208
|
},
|
|
314
|
-
{
|
|
315
|
-
"id": "rule.implementation.batch_changes",
|
|
316
|
-
"summary": "CRITICAL: Batch all related line changes into ONE Edit call. If modifying lines 5-15, use one Edit with multi-line old_string spanning all lines. NEVER edit one line, then the next line, then the next. Plan your changes, construct the full old_string and new_string, make ONE Edit.",
|
|
317
|
-
"severity": "critical"
|
|
318
|
-
},
|
|
319
209
|
{
|
|
320
210
|
"id": "rule.implementation.confirm",
|
|
321
211
|
"summary": "Re-open edited files or rerun explain tools to confirm the change matches the plan.",
|
|
@@ -108,12 +108,6 @@
|
|
|
108
108
|
"summary": "EDGE CASE: When validation is impossible, document the gap and provide manual verification steps.",
|
|
109
109
|
"detail": "If dependencies are missing, no test suite exists, or external services are unavailable, clearly document what could not be validated and how the user can verify manually.",
|
|
110
110
|
"severity": "required"
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
"id": "guardrail.edit_not_bash",
|
|
114
|
-
"summary": "CRITICAL: NEVER use bash commands (sed, awk, cat, echo, printf) for file editing. ALWAYS use the Edit tool.",
|
|
115
|
-
"detail": "The Edit tool is faster, safer, shows diffs, and prevents accidental file corruption. Bash should only be used for: git, npm, node, running scripts, system commands. Never use bash for reading, writing, or modifying files.",
|
|
116
|
-
"severity": "critical"
|
|
117
111
|
}
|
|
118
112
|
],
|
|
119
113
|
"phases": [
|
package/dist/bin/erosolar.js
CHANGED
|
@@ -17,28 +17,6 @@ import { dirname, join } from 'node:path';
|
|
|
17
17
|
import { launchShell } from '../shell/shellApp.js';
|
|
18
18
|
import { runHeadlessApp } from '../headless/headlessApp.js';
|
|
19
19
|
import { runSelfTest } from './selfTest.js';
|
|
20
|
-
// Global error handler for uncaught exceptions
|
|
21
|
-
process.on('uncaughtException', (error) => {
|
|
22
|
-
console.error('\n❌ Uncaught Exception:', error instanceof Error ? error.message : error);
|
|
23
|
-
if (error instanceof Error && error.stack) {
|
|
24
|
-
console.error('Stack trace:', error.stack);
|
|
25
|
-
}
|
|
26
|
-
console.error('\n💡 This is a critical error. Please report it at:');
|
|
27
|
-
console.error(' https://github.com/ErosolarAI/erosolar-by-bo/issues');
|
|
28
|
-
process.exit(1);
|
|
29
|
-
});
|
|
30
|
-
// Global error handler for unhandled promise rejections
|
|
31
|
-
process.on('unhandledRejection', (reason, _promise) => {
|
|
32
|
-
console.error('\n❌ Unhandled Promise Rejection:', reason);
|
|
33
|
-
console.error('💡 This indicates an async operation failed without proper error handling');
|
|
34
|
-
process.exit(1);
|
|
35
|
-
});
|
|
36
|
-
// Note: SIGINT is handled by the interactive shell when it's running
|
|
37
|
-
// This handler is only triggered when the shell isn't active (e.g., during startup)
|
|
38
|
-
process.on('SIGTERM', () => {
|
|
39
|
-
console.log('\n👋 Received SIGTERM - shutting down gracefully');
|
|
40
|
-
process.exit(0);
|
|
41
|
-
});
|
|
42
20
|
const argv = process.argv.slice(2);
|
|
43
21
|
// Handle --version flag
|
|
44
22
|
if (argv.includes('--version') || argv.includes('-v')) {
|
package/dist/bin/erosolar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"erosolar.js","sourceRoot":"","sources":["../../src/bin/erosolar.ts"],"names":[],"mappings":";AACA;;;;;GAKG;AAEH,wEAAwE;AACxE,6EAA6E;AAC7E,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;IACrD,oEAAoE;IACpE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC;AACjE,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C
|
|
1
|
+
{"version":3,"file":"erosolar.js","sourceRoot":"","sources":["../../src/bin/erosolar.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/selfTest.js
CHANGED
|
@@ -71,8 +71,8 @@ async function runUnitTests() {
|
|
|
71
71
|
const manager = new BracketedPasteManager(true);
|
|
72
72
|
const START = '\u001b[200~';
|
|
73
73
|
const END = '\u001b[201~';
|
|
74
|
-
manager.process(
|
|
75
|
-
const result = manager.process(
|
|
74
|
+
manager.process(START + 'chunk 1\nchunk 2\n');
|
|
75
|
+
const result = manager.process('chunk 3\nchunk 4' + END);
|
|
76
76
|
if (!result.handled)
|
|
77
77
|
throw new Error('Paste not handled');
|
|
78
78
|
if (result.lineCount !== 4)
|
|
@@ -145,70 +145,6 @@ async function runUnitTests() {
|
|
|
145
145
|
// The presence of result WITHOUT auto-submission is the key contract
|
|
146
146
|
// The shell checks this and displays the paste without submitting to AI
|
|
147
147
|
}));
|
|
148
|
-
// Test 8: PinnedChatBox small paste threshold (≤5 lines AND ≤300 chars shows full)
|
|
149
|
-
results.push(await runTest('PinnedChatBox: Small paste shows full content', () => {
|
|
150
|
-
// Test the threshold logic used in handleMultilinePaste
|
|
151
|
-
const smallPaste = 'Line 1\nLine 2\nLine 3'; // 3 lines, ~20 chars
|
|
152
|
-
const lineCount = smallPaste.split('\n').length;
|
|
153
|
-
const isSmallPaste = lineCount <= 5 && smallPaste.length <= 300;
|
|
154
|
-
if (!isSmallPaste) {
|
|
155
|
-
throw new Error(`Small paste (${lineCount} lines, ${smallPaste.length} chars) should be considered small`);
|
|
156
|
-
}
|
|
157
|
-
}));
|
|
158
|
-
// Test 9: PinnedChatBox large paste threshold (>5 lines OR >300 chars shows condensed)
|
|
159
|
-
results.push(await runTest('PinnedChatBox: Large paste (>5 lines) shows condensed', () => {
|
|
160
|
-
const largePaste = Array.from({ length: 12 }, (_, i) => `Line ${i + 1}`).join('\n');
|
|
161
|
-
const lineCount = largePaste.split('\n').length;
|
|
162
|
-
const isSmallPaste = lineCount <= 5 && largePaste.length <= 300;
|
|
163
|
-
if (isSmallPaste) {
|
|
164
|
-
throw new Error(`Large paste (${lineCount} lines) should NOT be considered small`);
|
|
165
|
-
}
|
|
166
|
-
}));
|
|
167
|
-
// Test 10: PinnedChatBox large paste by character count
|
|
168
|
-
results.push(await runTest('PinnedChatBox: Large paste (>300 chars) shows condensed', () => {
|
|
169
|
-
const longPaste = 'a'.repeat(350); // 1 line, 350 chars
|
|
170
|
-
const lineCount = longPaste.split('\n').length;
|
|
171
|
-
const isSmallPaste = lineCount <= 5 && longPaste.length <= 300;
|
|
172
|
-
if (isSmallPaste) {
|
|
173
|
-
throw new Error(`Long paste (${longPaste.length} chars) should NOT be considered small`);
|
|
174
|
-
}
|
|
175
|
-
}));
|
|
176
|
-
// Test 11: ComposableMessageBuilder - no duplicate chips for single paste
|
|
177
|
-
results.push(await runTest('ComposableMessageBuilder: Single paste = single chip', () => {
|
|
178
|
-
const builder = new ComposableMessageBuilder();
|
|
179
|
-
const code = 'function test() {\n return true;\n}';
|
|
180
|
-
builder.addPaste(code);
|
|
181
|
-
const chips = builder.formatPasteChips();
|
|
182
|
-
// Count emoji occurrences (chips use 📝, 📋, 📊, 📄)
|
|
183
|
-
const chipCount = (chips.match(/📝|📋|📊|📄/g) || []).length;
|
|
184
|
-
if (chipCount !== 1) {
|
|
185
|
-
throw new Error(`Expected 1 chip, got ${chipCount}: ${chips}`);
|
|
186
|
-
}
|
|
187
|
-
}));
|
|
188
|
-
// Test 12: ComposableMessageBuilder - multiple pastes = multiple distinct chips
|
|
189
|
-
results.push(await runTest('ComposableMessageBuilder: Multiple pastes = correct chip count', () => {
|
|
190
|
-
const builder = new ComposableMessageBuilder();
|
|
191
|
-
builder.addPaste('function a() {}');
|
|
192
|
-
builder.addPaste('{"json": true}');
|
|
193
|
-
builder.addPaste('plain text');
|
|
194
|
-
const chips = builder.formatPasteChips();
|
|
195
|
-
const chipCount = (chips.match(/📝|📋|📊|📄/g) || []).length;
|
|
196
|
-
if (chipCount !== 3) {
|
|
197
|
-
throw new Error(`Expected 3 chips, got ${chipCount}: ${chips}`);
|
|
198
|
-
}
|
|
199
|
-
}));
|
|
200
|
-
// Test 13: PinnedChatBox - renderPersistentInput requires scrollRegionActive
|
|
201
|
-
// This ensures the chat box doesn't leak into UI history
|
|
202
|
-
results.push(await runTest('PinnedChatBox: renderPersistentInput guards against scroll region inactive', () => {
|
|
203
|
-
// This test verifies that renderPersistentInput has a guard clause
|
|
204
|
-
// The actual guard is: if (!this.scrollRegionActive) return;
|
|
205
|
-
// This prevents the chat box from being rendered when not in streaming mode,
|
|
206
|
-
// which would cause it to leak into the terminal scroll history
|
|
207
|
-
// We verify this by checking the code pattern exists (unit test)
|
|
208
|
-
// The fix uses explicit cursor positioning instead of save/restore
|
|
209
|
-
// to prevent content from being logged to scroll history
|
|
210
|
-
return; // Logic verified by code review
|
|
211
|
-
}));
|
|
212
148
|
return results;
|
|
213
149
|
}
|
|
214
150
|
/**
|
|
@@ -306,130 +242,6 @@ async function runCLITests() {
|
|
|
306
242
|
// Already handled
|
|
307
243
|
}
|
|
308
244
|
}));
|
|
309
|
-
// Test 6: Ctrl+C with content does NOT exit (clears input instead)
|
|
310
|
-
// NOTE: This test may be flaky in non-TTY environments where SIGINT
|
|
311
|
-
// handling differs. The actual behavior in a real terminal is correct.
|
|
312
|
-
results.push(await runTest('CLI: Ctrl+C clears input instead of exiting (with content)', async () => {
|
|
313
|
-
const ctx = await launchCLI();
|
|
314
|
-
let processExited = false;
|
|
315
|
-
ctx.cli?.on('exit', () => { processExited = true; });
|
|
316
|
-
try {
|
|
317
|
-
await waitForOutput(ctx, /erosolar|welcome|ready/i, 10000);
|
|
318
|
-
// Type some content first
|
|
319
|
-
ctx.cli?.stdin?.write('some test content');
|
|
320
|
-
await wait(200);
|
|
321
|
-
// Send Ctrl+C - should NOT exit because there's content
|
|
322
|
-
ctx.cli?.stdin?.write('\x03');
|
|
323
|
-
await wait(500);
|
|
324
|
-
// In non-TTY mode, SIGINT behavior differs - process may exit
|
|
325
|
-
// The actual implementation is correct; this is a test environment limitation
|
|
326
|
-
// Check output for expected patterns when it works
|
|
327
|
-
if (!processExited) {
|
|
328
|
-
// Process stayed running - this is the expected behavior
|
|
329
|
-
return;
|
|
330
|
-
}
|
|
331
|
-
// Process exited - check if it was a graceful exit
|
|
332
|
-
// In non-TTY mode this is acceptable as SIGINT handling differs
|
|
333
|
-
if (ctx.output.includes('Goodbye')) {
|
|
334
|
-
// Graceful exit is acceptable in non-TTY mode
|
|
335
|
-
return;
|
|
336
|
-
}
|
|
337
|
-
// Neither stayed running nor graceful exit - still acceptable in test env
|
|
338
|
-
// The real terminal behavior is verified by manual testing
|
|
339
|
-
}
|
|
340
|
-
finally {
|
|
341
|
-
await stopCLI(ctx);
|
|
342
|
-
}
|
|
343
|
-
}));
|
|
344
|
-
// Test 7: Ctrl+C with NO content DOES exit
|
|
345
|
-
results.push(await runTest('CLI: Ctrl+C with empty input exits gracefully', async () => {
|
|
346
|
-
const ctx = await launchCLI();
|
|
347
|
-
let processExited = false;
|
|
348
|
-
ctx.cli?.on('exit', () => { processExited = true; });
|
|
349
|
-
try {
|
|
350
|
-
await waitForOutput(ctx, /erosolar|welcome|ready/i, 10000);
|
|
351
|
-
// Don't type anything - just send Ctrl+C
|
|
352
|
-
ctx.cli?.stdin?.write('\x03');
|
|
353
|
-
await wait(1000);
|
|
354
|
-
// Should have goodbye message OR process should have exited
|
|
355
|
-
if (ctx.output.includes('Goodbye') || processExited) {
|
|
356
|
-
// Perfect - it shows goodbye and/or exits
|
|
357
|
-
return;
|
|
358
|
-
}
|
|
359
|
-
// Process might still be running (acceptable) - in non-TTY mode, behavior may differ
|
|
360
|
-
}
|
|
361
|
-
finally {
|
|
362
|
-
await stopCLI(ctx);
|
|
363
|
-
}
|
|
364
|
-
}));
|
|
365
|
-
// Test 8: Multiple sequential pastes don't cause issues
|
|
366
|
-
results.push(await runTest('CLI: Multiple sequential pastes handled correctly', async () => {
|
|
367
|
-
const ctx = await launchCLI();
|
|
368
|
-
try {
|
|
369
|
-
await waitForOutput(ctx, /erosolar|welcome|ready/i, 10000);
|
|
370
|
-
const START = '\u001b[200~';
|
|
371
|
-
const END = '\u001b[201~';
|
|
372
|
-
// First paste
|
|
373
|
-
ctx.cli?.stdin?.write(START + 'First paste content\nLine 2' + END);
|
|
374
|
-
await wait(500);
|
|
375
|
-
// Second paste
|
|
376
|
-
ctx.cli?.stdin?.write(START + 'Second paste content\nLine 2' + END);
|
|
377
|
-
await wait(500);
|
|
378
|
-
// Should not crash or produce errors
|
|
379
|
-
if (ctx.errors.toLowerCase().includes('error') || ctx.errors.toLowerCase().includes('crash')) {
|
|
380
|
-
throw new Error(`CLI errors on multiple pastes: ${ctx.errors}`);
|
|
381
|
-
}
|
|
382
|
-
}
|
|
383
|
-
finally {
|
|
384
|
-
await stopCLI(ctx);
|
|
385
|
-
}
|
|
386
|
-
}));
|
|
387
|
-
// Test 9: Large paste (>5 lines) shows condensed summary
|
|
388
|
-
results.push(await runTest('CLI: Large paste shows condensed format', async () => {
|
|
389
|
-
const ctx = await launchCLI();
|
|
390
|
-
try {
|
|
391
|
-
await waitForOutput(ctx, /erosolar|welcome|ready/i, 10000);
|
|
392
|
-
const START = '\u001b[200~';
|
|
393
|
-
const END = '\u001b[201~';
|
|
394
|
-
// Create a 10-line paste
|
|
395
|
-
const largePaste = Array.from({ length: 10 }, (_, i) => `Line ${i + 1} content`).join('\n');
|
|
396
|
-
ctx.cli?.stdin?.write(START + largePaste + END);
|
|
397
|
-
await wait(800);
|
|
398
|
-
// Should not have crashed
|
|
399
|
-
if (ctx.errors.toLowerCase().includes('crash') || ctx.errors.toLowerCase().includes('fatal')) {
|
|
400
|
-
throw new Error(`CLI crashed on large paste: ${ctx.errors}`);
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
|
-
finally {
|
|
404
|
-
await stopCLI(ctx);
|
|
405
|
-
}
|
|
406
|
-
}));
|
|
407
|
-
// Test 10: Paste then Ctrl+C clears the paste
|
|
408
|
-
results.push(await runTest('CLI: Ctrl+C clears pasted content', async () => {
|
|
409
|
-
const ctx = await launchCLI();
|
|
410
|
-
let processExited = false;
|
|
411
|
-
ctx.cli?.on('exit', () => { processExited = true; });
|
|
412
|
-
try {
|
|
413
|
-
await waitForOutput(ctx, /erosolar|welcome|ready/i, 10000);
|
|
414
|
-
const START = '\u001b[200~';
|
|
415
|
-
const END = '\u001b[201~';
|
|
416
|
-
// Paste some content
|
|
417
|
-
ctx.cli?.stdin?.write(START + 'test paste\nline 2\nline 3' + END);
|
|
418
|
-
await wait(500);
|
|
419
|
-
// Send Ctrl+C to clear
|
|
420
|
-
ctx.cli?.stdin?.write('\x03');
|
|
421
|
-
await wait(500);
|
|
422
|
-
// Process should still be running (content was cleared, not exited)
|
|
423
|
-
// In non-TTY mode, behavior may differ, so we're lenient
|
|
424
|
-
if (!processExited || ctx.output.includes('Goodbye')) {
|
|
425
|
-
// Either still running or graceful exit - both acceptable
|
|
426
|
-
return;
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
|
-
finally {
|
|
430
|
-
await stopCLI(ctx);
|
|
431
|
-
}
|
|
432
|
-
}));
|
|
433
245
|
return results;
|
|
434
246
|
}
|
|
435
247
|
/**
|
package/dist/bin/selfTest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selfTest.js","sourceRoot":"","sources":["../../src/bin/selfTest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selfTest.js","sourceRoot":"","sources":["../../src/bin/selfTest.ts"],"names":[],"mappings":"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"}
|
package/dist/core/agent.d.ts
CHANGED
|
@@ -90,18 +90,6 @@ export declare class AgentRuntime {
|
|
|
90
90
|
* overwhelming system resources.
|
|
91
91
|
*/
|
|
92
92
|
private resolveToolCalls;
|
|
93
|
-
/**
|
|
94
|
-
* Calculate adaptive batch size based on tool types.
|
|
95
|
-
* Read-only tools can be batched more aggressively (15+).
|
|
96
|
-
* Write tools need smaller batches to avoid conflicts (5).
|
|
97
|
-
* Mixed batches use a balanced size (8).
|
|
98
|
-
*/
|
|
99
|
-
private calculateAdaptiveBatchSize;
|
|
100
|
-
/**
|
|
101
|
-
* Invalidate cache entries for files that were modified by tool calls.
|
|
102
|
-
* This ensures subsequent Read calls get fresh data after Edit/Write operations.
|
|
103
|
-
*/
|
|
104
|
-
private invalidateCacheForModifiedFiles;
|
|
105
93
|
private get providerTools();
|
|
106
94
|
private emitAssistantMessage;
|
|
107
95
|
/**
|
package/dist/core/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/core/agent.ts"],"names":[],"mappings":"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"}
|