erosolar-cli 1.7.214 → 1.7.216
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/dist/shell/claudeCodeStreamHandler.d.ts.map +1 -1
- package/dist/shell/claudeCodeStreamHandler.js +7 -7
- package/dist/shell/claudeCodeStreamHandler.js.map +1 -1
- package/dist/shell/interactiveShell.d.ts.map +1 -1
- package/dist/shell/interactiveShell.js +15 -24
- package/dist/shell/interactiveShell.js.map +1 -1
- package/dist/shell/shellApp.d.ts.map +1 -1
- package/dist/shell/shellApp.js +3 -0
- package/dist/shell/shellApp.js.map +1 -1
- package/dist/shell/streamingOutputManager.d.ts.map +1 -1
- package/dist/shell/streamingOutputManager.js +6 -5
- package/dist/shell/streamingOutputManager.js.map +1 -1
- package/dist/shell/terminalInput.d.ts +9 -6
- package/dist/shell/terminalInput.d.ts.map +1 -1
- package/dist/shell/terminalInput.js +43 -70
- package/dist/shell/terminalInput.js.map +1 -1
- package/dist/ui/display.d.ts +13 -9
- package/dist/ui/display.d.ts.map +1 -1
- package/dist/ui/display.js +115 -121
- package/dist/ui/display.js.map +1 -1
- package/dist/ui/globalWriteLock.d.ts +35 -9
- package/dist/ui/globalWriteLock.d.ts.map +1 -1
- package/dist/ui/globalWriteLock.js +48 -29
- package/dist/ui/globalWriteLock.js.map +1 -1
- package/dist/ui/unified/layout.d.ts +20 -0
- package/dist/ui/unified/layout.d.ts.map +1 -0
- package/dist/ui/unified/layout.js +102 -0
- package/dist/ui/unified/layout.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,35 +1,54 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Global
|
|
2
|
+
* Global Write Lock - Simplified streaming-safe output coordination
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* This module provides a simple mechanism to ensure streaming content
|
|
5
|
+
* is not interrupted by other UI components during streaming.
|
|
6
|
+
*
|
|
7
|
+
* Design Principle:
|
|
8
|
+
* - During streaming, ONLY streaming content writes to stdout
|
|
9
|
+
* - All other UI components (status, input area, etc.) wait until streaming ends
|
|
10
|
+
* - No complex lock nesting or queuing - just a simple boolean flag
|
|
11
|
+
*
|
|
12
|
+
* This prevents the garbled output and cutoffs that occur when multiple
|
|
13
|
+
* components try to write simultaneously with cursor positioning.
|
|
14
|
+
*/
|
|
15
|
+
let streamingActive = false;
|
|
16
|
+
/**
|
|
17
|
+
* Check if streaming mode is currently active
|
|
18
|
+
*/
|
|
19
|
+
export function isStreamingMode() {
|
|
20
|
+
return streamingActive;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Enter streaming mode - blocks all non-streaming output
|
|
24
|
+
*/
|
|
25
|
+
export function enterStreamingMode() {
|
|
26
|
+
streamingActive = true;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Exit streaming mode - allows normal UI output to resume
|
|
30
|
+
*/
|
|
31
|
+
export function exitStreamingMode() {
|
|
32
|
+
streamingActive = false;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Execute a callback only if not in streaming mode.
|
|
36
|
+
* Returns true if the callback was executed, false if skipped.
|
|
6
37
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
for (const stream of streams) {
|
|
11
|
-
if (!stream || typeof stream.write !== 'function') {
|
|
12
|
-
continue;
|
|
13
|
-
}
|
|
14
|
-
// Avoid double wrapping
|
|
15
|
-
if (stream[WRAPPED_FLAG]) {
|
|
16
|
-
continue;
|
|
17
|
-
}
|
|
18
|
-
const originalWrite = stream.write.bind(stream);
|
|
19
|
-
const lockedWrite = function lockedWrite(chunk, encoding, cb) {
|
|
20
|
-
let result = true;
|
|
21
|
-
const run = () => {
|
|
22
|
-
result = originalWrite(chunk, encoding, cb);
|
|
23
|
-
};
|
|
24
|
-
if (writeLock.isLocked()) {
|
|
25
|
-
writeLock.safeWrite(run);
|
|
26
|
-
return result;
|
|
27
|
-
}
|
|
28
|
-
writeLock.withLock(run, 'global-stream-write');
|
|
29
|
-
return result;
|
|
30
|
-
};
|
|
31
|
-
stream.write = lockedWrite;
|
|
32
|
-
stream[WRAPPED_FLAG] = true;
|
|
38
|
+
export function ifNotStreaming(callback) {
|
|
39
|
+
if (streamingActive) {
|
|
40
|
+
return false;
|
|
33
41
|
}
|
|
42
|
+
callback();
|
|
43
|
+
return true;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Legacy: installGlobalWriteLock is now a no-op
|
|
47
|
+
* The old approach of wrapping stdout.write caused nested lock issues.
|
|
48
|
+
* We now use a simpler streaming mode flag instead.
|
|
49
|
+
*/
|
|
50
|
+
export function installGlobalWriteLock() {
|
|
51
|
+
// No-op - we no longer wrap stdout.write
|
|
52
|
+
// The streaming mode flag handles coordination instead
|
|
34
53
|
}
|
|
35
54
|
//# sourceMappingURL=globalWriteLock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"globalWriteLock.js","sourceRoot":"","sources":["../../src/ui/globalWriteLock.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"globalWriteLock.js","sourceRoot":"","sources":["../../src/ui/globalWriteLock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,eAAe,GAAG,KAAK,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAoB;IACjD,IAAI,eAAe,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,QAAQ,EAAE,CAAC;IACX,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,yCAAyC;IACzC,uDAAuD;AACzD,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface FrameOptions {
|
|
2
|
+
width?: number;
|
|
3
|
+
}
|
|
4
|
+
export interface SessionFrameProps extends FrameOptions {
|
|
5
|
+
profileLabel: string;
|
|
6
|
+
profileName: string;
|
|
7
|
+
model: string;
|
|
8
|
+
provider: string;
|
|
9
|
+
workspace: string;
|
|
10
|
+
version?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface StatusLinePart {
|
|
13
|
+
text: string;
|
|
14
|
+
tone?: 'info' | 'warn' | 'error' | 'success' | 'muted';
|
|
15
|
+
}
|
|
16
|
+
export declare const renderSessionFrame: (props: SessionFrameProps) => string;
|
|
17
|
+
export declare const renderDivider: (width: number, label?: string) => string;
|
|
18
|
+
export declare const renderStatusLine: (parts: StatusLinePart[], width: number) => string;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/ui/unified/layout.ts"],"names":[],"mappings":"AAIA,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAkB,SAAQ,YAAY;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;CACxD;AA2BD,eAAO,MAAM,kBAAkB,GAAI,OAAO,iBAAiB,KAAG,MAgB7D,CAAC;AAIF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,MAY7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,OAAO,cAAc,EAAE,EAAE,OAAO,MAAM,KAAG,MAwBzE,CAAC"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { theme } from '../theme.js';
|
|
2
|
+
const ANSI_PATTERN = /\u001B\[[0-?]*[ -/]*[@-~]/g;
|
|
3
|
+
const clampWidth = (width, min = 42, max = 110) => {
|
|
4
|
+
if (!Number.isFinite(width) || !width) {
|
|
5
|
+
return max;
|
|
6
|
+
}
|
|
7
|
+
return Math.max(min, Math.min(max, Math.floor(width)));
|
|
8
|
+
};
|
|
9
|
+
const stripAnsi = (value) => value.replace(ANSI_PATTERN, '');
|
|
10
|
+
const visibleLength = (value) => stripAnsi(value).length;
|
|
11
|
+
const padLine = (content, innerWidth) => {
|
|
12
|
+
const visible = visibleLength(content);
|
|
13
|
+
const padding = Math.max(0, innerWidth - visible);
|
|
14
|
+
return `${theme.ui.border('┃')} ${content}${' '.repeat(padding)} ${theme.ui.border('┃')}`;
|
|
15
|
+
};
|
|
16
|
+
const framedBlock = (lines, width) => {
|
|
17
|
+
const innerWidth = clampWidth(width ? width - 2 : undefined, 32, 96);
|
|
18
|
+
const top = theme.ui.border(`╭${'─'.repeat(innerWidth)}╮`);
|
|
19
|
+
const bottom = theme.ui.border(`╰${'─'.repeat(innerWidth)}╯`);
|
|
20
|
+
const body = lines.map((line) => padLine(line, innerWidth));
|
|
21
|
+
return [top, ...body, bottom].join('\n');
|
|
22
|
+
};
|
|
23
|
+
export const renderSessionFrame = (props) => {
|
|
24
|
+
const versionStr = props.version ? `v${props.version}` : 'live';
|
|
25
|
+
const profile = props.profileLabel || props.profileName || 'Default';
|
|
26
|
+
const modelLabel = props.model;
|
|
27
|
+
const workspace = abbreviatePath(props.workspace, Math.max(16, clampWidth(props.width) - 18));
|
|
28
|
+
const shortcuts = theme.ui.muted('/help · /model · /clear · /quit');
|
|
29
|
+
const lines = [
|
|
30
|
+
`${theme.gradient.cool('⚡ EROSOLAR CLI')} ${theme.ui.muted(versionStr)}`,
|
|
31
|
+
`${theme.ui.muted('Profile')} ${theme.info(profile)}`,
|
|
32
|
+
`${theme.ui.muted('Model')} ${theme.info(modelLabel)} ${theme.ui.muted('via')} ${theme.accent(props.provider)}`,
|
|
33
|
+
`${theme.ui.muted('Workspace')} ${workspace}`,
|
|
34
|
+
`${theme.ui.muted('Shortcuts')} ${shortcuts}`,
|
|
35
|
+
];
|
|
36
|
+
return framedBlock(lines, props.width);
|
|
37
|
+
};
|
|
38
|
+
// renderLiveFrame removed - unified session frame is now the only frame
|
|
39
|
+
export const renderDivider = (width, label) => {
|
|
40
|
+
const maxWidth = clampWidth(width, 16, 140);
|
|
41
|
+
if (!label) {
|
|
42
|
+
return theme.ui.muted('─'.repeat(maxWidth));
|
|
43
|
+
}
|
|
44
|
+
const cleanLabel = theme.ui.muted(`[${label}]`);
|
|
45
|
+
const labelLen = visibleLength(cleanLabel);
|
|
46
|
+
const side = Math.max(2, Math.floor((maxWidth - labelLen - 2) / 2));
|
|
47
|
+
const left = '─'.repeat(side);
|
|
48
|
+
const right = '─'.repeat(Math.max(0, maxWidth - side - labelLen - 2));
|
|
49
|
+
return theme.ui.muted(`${left} ${cleanLabel} ${right}`);
|
|
50
|
+
};
|
|
51
|
+
export const renderStatusLine = (parts, width) => {
|
|
52
|
+
const segments = parts
|
|
53
|
+
.filter((part) => part.text.trim())
|
|
54
|
+
.map((part) => colorize(part.text.trim(), part.tone));
|
|
55
|
+
// Join with muted separators for consistent rhythm
|
|
56
|
+
const separator = theme.ui.muted(' · ');
|
|
57
|
+
const joined = segments.join(separator);
|
|
58
|
+
const maxLen = clampWidth(width, 8, 180);
|
|
59
|
+
if (visibleLength(joined) <= maxLen) {
|
|
60
|
+
return joined;
|
|
61
|
+
}
|
|
62
|
+
let result = '';
|
|
63
|
+
for (const segment of segments) {
|
|
64
|
+
const next = result ? `${result}${separator}${segment}` : segment;
|
|
65
|
+
if (visibleLength(next) > maxLen) {
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
result = next;
|
|
69
|
+
}
|
|
70
|
+
return result || segments.slice(0, 1).join('');
|
|
71
|
+
};
|
|
72
|
+
const colorize = (text, tone) => {
|
|
73
|
+
switch (tone) {
|
|
74
|
+
case 'info':
|
|
75
|
+
return theme.info(text);
|
|
76
|
+
case 'warn':
|
|
77
|
+
return theme.warning(text);
|
|
78
|
+
case 'error':
|
|
79
|
+
return theme.error(text);
|
|
80
|
+
case 'success':
|
|
81
|
+
return theme.success(text);
|
|
82
|
+
case 'muted':
|
|
83
|
+
default:
|
|
84
|
+
return theme.ui.muted(text);
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
const abbreviatePath = (path, maxLen) => {
|
|
88
|
+
if (!path)
|
|
89
|
+
return '';
|
|
90
|
+
if (visibleLength(path) <= maxLen)
|
|
91
|
+
return path;
|
|
92
|
+
const parts = path.split('/').filter(Boolean);
|
|
93
|
+
if (parts.length <= 2) {
|
|
94
|
+
return `${path.slice(0, maxLen - 3)}...`;
|
|
95
|
+
}
|
|
96
|
+
const first = parts[0] ?? '';
|
|
97
|
+
const last = parts[parts.length - 1] ?? '';
|
|
98
|
+
const middleBudget = Math.max(0, maxLen - visibleLength(first) - visibleLength(last) - 7);
|
|
99
|
+
const middle = middleBudget > 0 ? parts.slice(1, -1).join('/').slice(0, middleBudget) : '';
|
|
100
|
+
return `${first}/.../${middle ? `${middle}/` : ''}${last}`;
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/ui/unified/layout.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "erosolar-cli",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.216",
|
|
4
4
|
"description": "Unified AI agent framework for the command line - Multi-provider support with schema-driven tools, code intelligence, and transparent reasoning",
|
|
5
5
|
"main": "dist/bin/erosolar.js",
|
|
6
6
|
"type": "module",
|