openpaean 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent/chat.ink.d.ts +5 -0
- package/dist/agent/chat.ink.d.ts.map +1 -1
- package/dist/agent/chat.ink.js +9 -0
- package/dist/agent/chat.ink.js.map +1 -1
- package/dist/cli.js +3 -3
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +6 -5
- package/dist/commands/agent.js.map +1 -1
- package/dist/ui/terminal/ErrorDisplay.d.ts +63 -0
- package/dist/ui/terminal/ErrorDisplay.d.ts.map +1 -0
- package/dist/ui/terminal/ErrorDisplay.js +113 -0
- package/dist/ui/terminal/ErrorDisplay.js.map +1 -0
- package/dist/ui/terminal/HelpDisplay.d.ts +21 -0
- package/dist/ui/terminal/HelpDisplay.d.ts.map +1 -0
- package/dist/ui/terminal/HelpDisplay.js +89 -0
- package/dist/ui/terminal/HelpDisplay.js.map +1 -0
- package/dist/ui/terminal/Spinner.d.ts +65 -0
- package/dist/ui/terminal/Spinner.d.ts.map +1 -0
- package/dist/ui/terminal/Spinner.js +130 -0
- package/dist/ui/terminal/Spinner.js.map +1 -0
- package/dist/ui/terminal/StatusBar.d.ts +27 -0
- package/dist/ui/terminal/StatusBar.d.ts.map +1 -0
- package/dist/ui/terminal/StatusBar.js +79 -0
- package/dist/ui/terminal/StatusBar.js.map +1 -0
- package/dist/ui/terminal/TerminalApp.d.ts +137 -0
- package/dist/ui/terminal/TerminalApp.d.ts.map +1 -0
- package/dist/ui/terminal/TerminalApp.js +450 -0
- package/dist/ui/terminal/TerminalApp.js.map +1 -0
- package/dist/ui/terminal/output.d.ts +91 -0
- package/dist/ui/terminal/output.d.ts.map +1 -0
- package/dist/ui/terminal/output.js +138 -0
- package/dist/ui/terminal/output.js.map +1 -0
- package/dist/ui/theme/index.d.ts +157 -0
- package/dist/ui/theme/index.d.ts.map +1 -0
- package/dist/ui/theme/index.js +236 -0
- package/dist/ui/theme/index.js.map +1 -0
- package/dist/utils/inputHistory.d.ts +88 -0
- package/dist/utils/inputHistory.d.ts.map +1 -0
- package/dist/utils/inputHistory.js +206 -0
- package/dist/utils/inputHistory.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../src/ui/terminal/Spinner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status Bar Component
|
|
3
|
+
* Displays helpful hints and status information at the bottom
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Status bar state
|
|
7
|
+
*/
|
|
8
|
+
export interface StatusBarState {
|
|
9
|
+
isProcessing: boolean;
|
|
10
|
+
hasInput: boolean;
|
|
11
|
+
mcpToolCount: number;
|
|
12
|
+
isRawMode: boolean;
|
|
13
|
+
isDebugMode: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Default status bar state
|
|
17
|
+
*/
|
|
18
|
+
export declare const defaultStatusBarState: StatusBarState;
|
|
19
|
+
/**
|
|
20
|
+
* Format the status bar content
|
|
21
|
+
*/
|
|
22
|
+
export declare function formatStatusBar(state?: Partial<StatusBarState>): string;
|
|
23
|
+
/**
|
|
24
|
+
* Get just the hints part (for input area integration)
|
|
25
|
+
*/
|
|
26
|
+
export declare function getStatusHints(state?: Partial<StatusBarState>): string;
|
|
27
|
+
//# sourceMappingURL=StatusBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../src/ui/terminal/StatusBar.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,cAMnC,CAAC;AAkBF;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,MAAM,CAyC3E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,GAAE,OAAO,CAAC,cAAc,CAAM,GAAG,MAAM,CAS1E"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status Bar Component
|
|
3
|
+
* Displays helpful hints and status information at the bottom
|
|
4
|
+
*/
|
|
5
|
+
import { ANSI, colorize, getTerminalWidth, style } from './output.js';
|
|
6
|
+
import { primary, warning } from '../theme/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Default status bar state
|
|
9
|
+
*/
|
|
10
|
+
export const defaultStatusBarState = {
|
|
11
|
+
isProcessing: false,
|
|
12
|
+
hasInput: false,
|
|
13
|
+
mcpToolCount: 0,
|
|
14
|
+
isRawMode: false,
|
|
15
|
+
isDebugMode: false,
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Status bar key hints
|
|
19
|
+
*/
|
|
20
|
+
const KEY_HINTS = {
|
|
21
|
+
default: () => primary('[/]') + ' Commands ' +
|
|
22
|
+
primary('[?]') + ' Help ' +
|
|
23
|
+
primary('[Tab]') + ' Complete ' +
|
|
24
|
+
primary('[Ctrl+C]') + ' Exit',
|
|
25
|
+
processing: () => colorize('[Ctrl+C]', ANSI.brightRed) + ' Abort',
|
|
26
|
+
withInput: () => primary('[Tab]') + ' Complete ' +
|
|
27
|
+
primary('[Ctrl+R]') + ' History ' +
|
|
28
|
+
primary('[Esc]') + ' Clear',
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Format the status bar content
|
|
32
|
+
*/
|
|
33
|
+
export function formatStatusBar(state = {}) {
|
|
34
|
+
const mergedState = { ...defaultStatusBarState, ...state };
|
|
35
|
+
// Choose hints based on state
|
|
36
|
+
let hints;
|
|
37
|
+
if (mergedState.isProcessing) {
|
|
38
|
+
hints = KEY_HINTS.processing();
|
|
39
|
+
}
|
|
40
|
+
else if (mergedState.hasInput) {
|
|
41
|
+
hints = KEY_HINTS.withInput();
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
hints = KEY_HINTS.default();
|
|
45
|
+
}
|
|
46
|
+
// Build status indicators
|
|
47
|
+
const indicators = [];
|
|
48
|
+
if (mergedState.mcpToolCount > 0) {
|
|
49
|
+
indicators.push(primary(`🔗 ${mergedState.mcpToolCount} tools`));
|
|
50
|
+
}
|
|
51
|
+
if (mergedState.isRawMode) {
|
|
52
|
+
indicators.push(warning('[RAW]'));
|
|
53
|
+
}
|
|
54
|
+
if (mergedState.isDebugMode) {
|
|
55
|
+
indicators.push(warning('[DEBUG]'));
|
|
56
|
+
}
|
|
57
|
+
// Build full status bar
|
|
58
|
+
const width = getTerminalWidth();
|
|
59
|
+
const leftPart = hints;
|
|
60
|
+
const rightPart = indicators.length > 0 ? ' ' + indicators.join(' ') : '';
|
|
61
|
+
// Calculate padding
|
|
62
|
+
const totalLength = leftPart.length + rightPart.length;
|
|
63
|
+
const padding = Math.max(0, width - totalLength - 2);
|
|
64
|
+
return style(leftPart + ' '.repeat(padding) + rightPart, ANSI.dim);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Get just the hints part (for input area integration)
|
|
68
|
+
*/
|
|
69
|
+
export function getStatusHints(state = {}) {
|
|
70
|
+
const mergedState = { ...defaultStatusBarState, ...state };
|
|
71
|
+
if (mergedState.isProcessing) {
|
|
72
|
+
return colorize('[Ctrl+C] Abort', ANSI.brightRed);
|
|
73
|
+
}
|
|
74
|
+
else if (mergedState.hasInput) {
|
|
75
|
+
return primary('[Tab]') + ' Complete ' + primary('[Ctrl+R]') + ' History';
|
|
76
|
+
}
|
|
77
|
+
return primary('[/]') + ' Commands ' + primary('[?]') + ' Help';
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=StatusBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../src/ui/terminal/StatusBar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalApp - Scrolling Mode Chat Interface
|
|
3
|
+
* Claude Code style: messages scroll naturally, input fixed at bottom
|
|
4
|
+
*/
|
|
5
|
+
import type { McpState, McpToolResult } from '../../agent/types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Message types
|
|
8
|
+
*/
|
|
9
|
+
export type MessageType = 'user' | 'assistant' | 'system' | 'error' | 'tool';
|
|
10
|
+
/**
|
|
11
|
+
* Message interface
|
|
12
|
+
*/
|
|
13
|
+
export interface Message {
|
|
14
|
+
id: string;
|
|
15
|
+
type: MessageType;
|
|
16
|
+
content: string;
|
|
17
|
+
timestamp: number;
|
|
18
|
+
toolName?: string;
|
|
19
|
+
serverName?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* TerminalApp options
|
|
23
|
+
*/
|
|
24
|
+
export interface TerminalAppOptions {
|
|
25
|
+
mcpState?: McpState;
|
|
26
|
+
onMcpToolCall?: (callId: string, serverName: string, toolName: string, args: Record<string, unknown>) => Promise<McpToolResult>;
|
|
27
|
+
debug?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* TerminalApp class - Scrolling mode chat interface
|
|
31
|
+
*/
|
|
32
|
+
export declare class TerminalApp {
|
|
33
|
+
private rl;
|
|
34
|
+
private messages;
|
|
35
|
+
private isProcessing;
|
|
36
|
+
private currentAbort;
|
|
37
|
+
private statusState;
|
|
38
|
+
private agentService;
|
|
39
|
+
private options;
|
|
40
|
+
private streamBuffer;
|
|
41
|
+
private streamingMessageId;
|
|
42
|
+
private get mcpToolCount();
|
|
43
|
+
constructor(options?: TerminalAppOptions);
|
|
44
|
+
/**
|
|
45
|
+
* Tab completer for commands
|
|
46
|
+
*/
|
|
47
|
+
private completer;
|
|
48
|
+
/**
|
|
49
|
+
* Setup readline event handlers
|
|
50
|
+
*/
|
|
51
|
+
private setupReadline;
|
|
52
|
+
/**
|
|
53
|
+
* Start the interactive loop
|
|
54
|
+
*/
|
|
55
|
+
start(): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Print welcome message
|
|
58
|
+
*/
|
|
59
|
+
private printWelcome;
|
|
60
|
+
/**
|
|
61
|
+
* Update the prompt with status hints
|
|
62
|
+
*/
|
|
63
|
+
private updatePrompt;
|
|
64
|
+
/**
|
|
65
|
+
* Get current status hints
|
|
66
|
+
*/
|
|
67
|
+
private getStatusHints;
|
|
68
|
+
/**
|
|
69
|
+
* Show status hints below prompt
|
|
70
|
+
*/
|
|
71
|
+
private showStatusHints;
|
|
72
|
+
/**
|
|
73
|
+
* Handle user input
|
|
74
|
+
*/
|
|
75
|
+
private handleInput;
|
|
76
|
+
/**
|
|
77
|
+
* Handle slash commands
|
|
78
|
+
*/
|
|
79
|
+
private handleCommand;
|
|
80
|
+
/**
|
|
81
|
+
* Get help text
|
|
82
|
+
*/
|
|
83
|
+
private getHelpText;
|
|
84
|
+
/**
|
|
85
|
+
* Get MCP status
|
|
86
|
+
*/
|
|
87
|
+
private getMcpStatus;
|
|
88
|
+
/**
|
|
89
|
+
* Process a message through the agent
|
|
90
|
+
*/
|
|
91
|
+
private processMessage;
|
|
92
|
+
/**
|
|
93
|
+
* Handle streaming content
|
|
94
|
+
*/
|
|
95
|
+
private handleStreamContent;
|
|
96
|
+
/**
|
|
97
|
+
* Handle tool call
|
|
98
|
+
*/
|
|
99
|
+
private handleToolCall;
|
|
100
|
+
/**
|
|
101
|
+
* Handle tool result
|
|
102
|
+
*/
|
|
103
|
+
private handleToolResult;
|
|
104
|
+
/**
|
|
105
|
+
* Handle MCP tool call
|
|
106
|
+
*/
|
|
107
|
+
private handleMcpToolCall;
|
|
108
|
+
/**
|
|
109
|
+
* Handle stream done
|
|
110
|
+
*/
|
|
111
|
+
private handleStreamDone;
|
|
112
|
+
/**
|
|
113
|
+
* Handle error
|
|
114
|
+
*/
|
|
115
|
+
private handleError;
|
|
116
|
+
/**
|
|
117
|
+
* Abort current processing
|
|
118
|
+
*/
|
|
119
|
+
private abortProcessing;
|
|
120
|
+
/**
|
|
121
|
+
* Add a message to history
|
|
122
|
+
*/
|
|
123
|
+
private addMessage;
|
|
124
|
+
/**
|
|
125
|
+
* Generate unique ID
|
|
126
|
+
*/
|
|
127
|
+
private generateId;
|
|
128
|
+
/**
|
|
129
|
+
* Exit the application
|
|
130
|
+
*/
|
|
131
|
+
exit(): void;
|
|
132
|
+
/**
|
|
133
|
+
* Cleanup resources
|
|
134
|
+
*/
|
|
135
|
+
private cleanup;
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=TerminalApp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalApp.d.ts","sourceRoot":"","sources":["../../../src/ui/terminal/TerminalApp.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAmBpE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAmBD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,CACZ,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC5B,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,EAAE,CAAW;IACrB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAMjB;IACF,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,kBAAkB,CAAuB;IAGjD,OAAO,KAAK,YAAY,GAKvB;gBAEW,OAAO,GAAE,kBAAuB;IAqB5C;;OAEG;IACH,OAAO,CAAC,SAAS;IAajB;;OAEG;IACH,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAc5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAUpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;YACW,WAAW;IAkCzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAiDrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAsBnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAepB;;OAEG;YACW,cAAc;IAiD5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;YACW,iBAAiB;IAiC/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,IAAI,IAAI,IAAI;IAMZ;;OAEG;IACH,OAAO,CAAC,OAAO;CAIlB"}
|