paean 0.7.4 → 0.7.6
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 +17 -0
- package/dist/agent/chat.legacy.d.ts.map +1 -1
- package/dist/agent/chat.legacy.js +37 -27
- package/dist/agent/chat.legacy.js.map +1 -1
- package/dist/agent/completer.d.ts +8 -1
- package/dist/agent/completer.d.ts.map +1 -1
- package/dist/agent/completer.js +51 -10
- package/dist/agent/completer.js.map +1 -1
- package/dist/agent/renderer.d.ts +23 -1
- package/dist/agent/renderer.d.ts.map +1 -1
- package/dist/agent/renderer.js +78 -22
- package/dist/agent/renderer.js.map +1 -1
- package/dist/agent/spinner.d.ts +12 -0
- package/dist/agent/spinner.d.ts.map +1 -1
- package/dist/agent/spinner.js +78 -0
- package/dist/agent/spinner.js.map +1 -1
- package/dist/commands/agent.d.ts.map +1 -1
- package/dist/commands/agent.js +59 -16
- package/dist/commands/agent.js.map +1 -1
- package/dist/commands/worker.d.ts.map +1 -1
- package/dist/commands/worker.js +3 -2
- package/dist/commands/worker.js.map +1 -1
- package/dist/mcp/worker-tools.js +1 -1
- package/dist/mcp/worker-tools.js.map +1 -1
- package/dist/ui/App.d.ts +1 -0
- package/dist/ui/App.d.ts.map +1 -1
- package/dist/ui/App.js +4 -2
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/components/Header.d.ts +2 -1
- package/dist/ui/components/Header.d.ts.map +1 -1
- package/dist/ui/components/Header.js +13 -1
- package/dist/ui/components/Header.js.map +1 -1
- package/dist/ui/components/InputArea.d.ts +1 -1
- package/dist/ui/components/InputArea.d.ts.map +1 -1
- package/dist/ui/components/InputArea.js +51 -34
- package/dist/ui/components/InputArea.js.map +1 -1
- package/dist/ui/components/MarkdownText.d.ts +16 -0
- package/dist/ui/components/MarkdownText.d.ts.map +1 -0
- package/dist/ui/components/MarkdownText.js +160 -0
- package/dist/ui/components/MarkdownText.js.map +1 -0
- package/dist/ui/components/Spinner.d.ts +4 -2
- package/dist/ui/components/Spinner.d.ts.map +1 -1
- package/dist/ui/components/Spinner.js +60 -3
- package/dist/ui/components/Spinner.js.map +1 -1
- package/dist/ui/components/StreamingText.d.ts +6 -0
- package/dist/ui/components/StreamingText.d.ts.map +1 -1
- package/dist/ui/components/StreamingText.js +32 -6
- package/dist/ui/components/StreamingText.js.map +1 -1
- package/dist/ui/components/index.d.ts +1 -0
- package/dist/ui/components/index.d.ts.map +1 -1
- package/dist/ui/components/index.js +1 -0
- package/dist/ui/components/index.js.map +1 -1
- package/dist/ui/hooks/useAgentStream.d.ts.map +1 -1
- package/dist/ui/hooks/useAgentStream.js +2 -1
- package/dist/ui/hooks/useAgentStream.js.map +1 -1
- package/dist/ui/theme/ink-theme.d.ts +39 -0
- package/dist/ui/theme/ink-theme.d.ts.map +1 -0
- package/dist/ui/theme/ink-theme.js +53 -0
- package/dist/ui/theme/ink-theme.js.map +1 -0
- package/dist/worker/executors/droid.d.ts +29 -0
- package/dist/worker/executors/droid.d.ts.map +1 -0
- package/dist/worker/executors/droid.js +121 -0
- package/dist/worker/executors/droid.js.map +1 -0
- package/dist/worker/index.d.ts +1 -0
- package/dist/worker/index.d.ts.map +1 -1
- package/dist/worker/index.js +1 -0
- package/dist/worker/index.js.map +1 -1
- package/dist/worker/supervisor.js +1 -1
- package/dist/worker/supervisor.js.map +1 -1
- package/dist/worker/types.d.ts +1 -1
- package/dist/worker/types.d.ts.map +1 -1
- package/dist/worker/types.js +1 -0
- package/dist/worker/types.js.map +1 -1
- package/package.json +3 -1
package/README.md
CHANGED
|
@@ -152,6 +152,23 @@ const response = await sendMessage("Hello");
|
|
|
152
152
|
- Node.js 18+ or Bun
|
|
153
153
|
- Paean AI account
|
|
154
154
|
|
|
155
|
+
## Development
|
|
156
|
+
|
|
157
|
+
### Running Locally
|
|
158
|
+
|
|
159
|
+
For development and debugging, **use npm/node instead of bun** to run the interactive agent mode. The [Ink](https://github.com/vadimdemedes/ink) library (React for CLI) has compatibility issues with Bun's runtime:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
# Recommended: Use npm for development
|
|
163
|
+
npm run dev:node
|
|
164
|
+
|
|
165
|
+
# Or run directly with node
|
|
166
|
+
node --import tsx src/cli.ts
|
|
167
|
+
|
|
168
|
+
# Bun works for building but may have Ink rendering issues
|
|
169
|
+
bun run dev # Not recommended for interactive mode
|
|
170
|
+
```
|
|
171
|
+
|
|
155
172
|
## Links
|
|
156
173
|
|
|
157
174
|
- **Website**: https://paean.ai
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.legacy.d.ts","sourceRoot":"","sources":["../../src/agent/chat.legacy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"chat.legacy.d.ts","sourceRoot":"","sources":["../../src/agent/chat.legacy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiCH,OAAO,EAGH,KAAK,cAAc,EACtB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAwB,MAAM,YAAY,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,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;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8YxE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA4CjB"}
|
|
@@ -6,14 +6,10 @@
|
|
|
6
6
|
import * as readline from 'readline';
|
|
7
7
|
import chalk from 'chalk';
|
|
8
8
|
import { agentService } from './service.js';
|
|
9
|
-
import { renderMarkdown, renderError, renderPrompt, renderAgentLabel, renderWelcome, renderGoodbye,
|
|
9
|
+
import { renderMarkdown, renderError, renderPrompt, renderAgentLabel, renderWelcome, renderGoodbye, renderSparkletCreated, renderMediaGenerated, renderInputBoxTop, renderInputBoxBottom, indentMultilineResponse, } from './renderer.js';
|
|
10
10
|
import { success, error as errorColor, warning, muted, primary, mcpSymbol, toolSymbol, } from '../ui/theme/index.js';
|
|
11
|
-
//
|
|
12
|
-
|
|
13
|
-
// createThinkingSpinner,
|
|
14
|
-
// createMcpSpinner,
|
|
15
|
-
// type SpinnerController,
|
|
16
|
-
// } from './spinner.js';
|
|
11
|
+
// Import thinking animation
|
|
12
|
+
import { createThinkingAnimation } from './spinner.js';
|
|
17
13
|
import { commandCompleter, renderCommandHelp, } from './completer.js';
|
|
18
14
|
import { isCliModeActive, isRawStreamEnabled, } from './cli-mode.js';
|
|
19
15
|
/**
|
|
@@ -98,11 +94,15 @@ export async function startChat(options = {}) {
|
|
|
98
94
|
};
|
|
99
95
|
process.on('exit', cleanup);
|
|
100
96
|
process.on('SIGTERM', cleanup);
|
|
101
|
-
// Prompt for user input
|
|
97
|
+
// Prompt for user input with styled input box
|
|
102
98
|
const promptUser = () => {
|
|
103
99
|
try {
|
|
100
|
+
// Display input box top border
|
|
101
|
+
console.log(renderInputBoxTop());
|
|
104
102
|
rl.question(renderPrompt(), async (input) => {
|
|
105
103
|
try {
|
|
104
|
+
// Display input box bottom border after input
|
|
105
|
+
console.log(renderInputBoxBottom());
|
|
106
106
|
const trimmedInput = input.trim();
|
|
107
107
|
if (!trimmedInput) {
|
|
108
108
|
promptUser();
|
|
@@ -210,14 +210,15 @@ export async function startChat(options = {}) {
|
|
|
210
210
|
isProcessing = true;
|
|
211
211
|
let responseText = '';
|
|
212
212
|
let isFirstContent = true;
|
|
213
|
-
//
|
|
214
|
-
|
|
213
|
+
// Create and start the thinking animation
|
|
214
|
+
const thinkingAnimation = createThinkingAnimation();
|
|
215
|
+
thinkingAnimation.start();
|
|
215
216
|
const callbacks = {
|
|
216
217
|
onContent: (text, partial) => {
|
|
217
218
|
if (rawStreamEnabled && partial) {
|
|
218
219
|
// Raw stream mode: output directly
|
|
219
220
|
if (isFirstContent) {
|
|
220
|
-
|
|
221
|
+
thinkingAnimation.clear();
|
|
221
222
|
process.stdout.write(renderAgentLabel());
|
|
222
223
|
isFirstContent = false;
|
|
223
224
|
}
|
|
@@ -227,6 +228,11 @@ export async function startChat(options = {}) {
|
|
|
227
228
|
// Buffered mode: accumulate text
|
|
228
229
|
if (partial) {
|
|
229
230
|
responseText += text;
|
|
231
|
+
// Update animation to show receiving progress
|
|
232
|
+
const charCount = responseText.length;
|
|
233
|
+
if (charCount > 0) {
|
|
234
|
+
thinkingAnimation.updateText(`📝 Receiving... (${charCount} chars)`);
|
|
235
|
+
}
|
|
230
236
|
}
|
|
231
237
|
else {
|
|
232
238
|
responseText = text;
|
|
@@ -235,32 +241,31 @@ export async function startChat(options = {}) {
|
|
|
235
241
|
},
|
|
236
242
|
onToolCall: (_id, name) => {
|
|
237
243
|
if (debug) {
|
|
244
|
+
thinkingAnimation.stop();
|
|
238
245
|
process.stdout.write('\r\x1b[K');
|
|
239
246
|
console.log(muted(`${toolSymbol()} ${primary(name)}...`));
|
|
240
|
-
|
|
247
|
+
thinkingAnimation.start();
|
|
241
248
|
}
|
|
242
249
|
},
|
|
243
250
|
onToolResult: (_id, _name) => {
|
|
244
|
-
|
|
245
|
-
process.stdout.write('\r\x1b[K');
|
|
246
|
-
process.stdout.write(renderThinking());
|
|
247
|
-
}
|
|
251
|
+
// Tool completed, animation continues
|
|
248
252
|
},
|
|
249
253
|
onMcpToolCall: async (callId, serverName, toolName, args) => {
|
|
250
|
-
//
|
|
254
|
+
// Pause animation and show MCP call
|
|
255
|
+
thinkingAnimation.stop();
|
|
251
256
|
process.stdout.write('\r\x1b[K');
|
|
252
257
|
console.log(muted(`${mcpSymbol()} [${warning(serverName)}] ${primary(toolName)}...`));
|
|
253
258
|
if (onMcpToolCall) {
|
|
254
259
|
try {
|
|
255
260
|
const result = await onMcpToolCall(callId, serverName, toolName, args);
|
|
256
261
|
console.log(muted(`${success('✓')} [${warning(serverName)}] ${primary(toolName)} completed`));
|
|
257
|
-
//
|
|
258
|
-
|
|
262
|
+
// Resume thinking animation
|
|
263
|
+
thinkingAnimation.start();
|
|
259
264
|
return result;
|
|
260
265
|
}
|
|
261
266
|
catch (error) {
|
|
262
267
|
console.log(muted(`${errorColor('✗')} [${warning(serverName)}] ${primary(toolName)} failed`));
|
|
263
|
-
|
|
268
|
+
thinkingAnimation.start();
|
|
264
269
|
return {
|
|
265
270
|
content: [
|
|
266
271
|
{
|
|
@@ -272,7 +277,7 @@ export async function startChat(options = {}) {
|
|
|
272
277
|
};
|
|
273
278
|
}
|
|
274
279
|
}
|
|
275
|
-
|
|
280
|
+
thinkingAnimation.start();
|
|
276
281
|
return {
|
|
277
282
|
content: [{ type: 'text', text: 'MCP not available' }],
|
|
278
283
|
isError: true,
|
|
@@ -280,9 +285,9 @@ export async function startChat(options = {}) {
|
|
|
280
285
|
},
|
|
281
286
|
onDone: (convId) => {
|
|
282
287
|
conversationId = convId;
|
|
283
|
-
// Clear thinking
|
|
288
|
+
// Clear thinking animation
|
|
289
|
+
thinkingAnimation.clear();
|
|
284
290
|
try {
|
|
285
|
-
process.stdout.write('\r\x1b[K');
|
|
286
291
|
if (responseText) {
|
|
287
292
|
if (rawStreamEnabled) {
|
|
288
293
|
// Raw mode: just add newline (content already streamed)
|
|
@@ -294,7 +299,9 @@ export async function startChat(options = {}) {
|
|
|
294
299
|
const rendered = cliModeEnabled
|
|
295
300
|
? responseText // CLI mode: plain text
|
|
296
301
|
: renderMarkdown(responseText); // Normal: markdown
|
|
297
|
-
|
|
302
|
+
// Indent multiline responses for better alignment
|
|
303
|
+
const indented = indentMultilineResponse(rendered.trim(), 2);
|
|
304
|
+
console.log(indented);
|
|
298
305
|
}
|
|
299
306
|
}
|
|
300
307
|
console.log(''); // New line after response
|
|
@@ -306,17 +313,19 @@ export async function startChat(options = {}) {
|
|
|
306
313
|
currentStreamAbort = null;
|
|
307
314
|
},
|
|
308
315
|
onSparkletCreated: (hashKey, title) => {
|
|
316
|
+
thinkingAnimation.stop();
|
|
309
317
|
process.stdout.write('\r\x1b[K'); // Clear line
|
|
310
318
|
console.log(renderSparkletCreated(hashKey, title));
|
|
311
|
-
|
|
319
|
+
thinkingAnimation.start();
|
|
312
320
|
},
|
|
313
321
|
onMediaGenerated: (media) => {
|
|
322
|
+
thinkingAnimation.stop();
|
|
314
323
|
process.stdout.write('\r\x1b[K'); // Clear line
|
|
315
324
|
console.log(renderMediaGenerated(media.assetType, media.fileName, media.signedUrl));
|
|
316
|
-
|
|
325
|
+
thinkingAnimation.start();
|
|
317
326
|
},
|
|
318
327
|
onError: (error) => {
|
|
319
|
-
|
|
328
|
+
thinkingAnimation.clear();
|
|
320
329
|
console.log(renderError(error));
|
|
321
330
|
isProcessing = false;
|
|
322
331
|
currentStreamAbort = null;
|
|
@@ -331,6 +340,7 @@ export async function startChat(options = {}) {
|
|
|
331
340
|
currentStreamAbort = abort;
|
|
332
341
|
}
|
|
333
342
|
catch (error) {
|
|
343
|
+
thinkingAnimation.clear();
|
|
334
344
|
console.log(renderError(error.message));
|
|
335
345
|
isProcessing = false;
|
|
336
346
|
currentStreamAbort = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.legacy.js","sourceRoot":"","sources":["../../src/agent/chat.legacy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.legacy.js","sourceRoot":"","sources":["../../src/agent/chat.legacy.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,12 +20,13 @@ export declare const COMMANDS: CommandDef[];
|
|
|
20
20
|
export declare function getAllCommandNames(): string[];
|
|
21
21
|
/**
|
|
22
22
|
* Readline completer function for slash commands
|
|
23
|
+
* Enhanced to show descriptions when multiple matches
|
|
23
24
|
* @param line Current input line
|
|
24
25
|
* @returns [completions, substring] tuple for readline
|
|
25
26
|
*/
|
|
26
27
|
export declare function commandCompleter(line: string): [string[], string];
|
|
27
28
|
/**
|
|
28
|
-
* Render command help as formatted string
|
|
29
|
+
* Render command help as formatted string with clean styling
|
|
29
30
|
*/
|
|
30
31
|
export declare function renderCommandHelp(): string;
|
|
31
32
|
/**
|
|
@@ -36,4 +37,10 @@ export declare function isCommand(input: string): boolean;
|
|
|
36
37
|
* Get command definition by name (including alias lookup)
|
|
37
38
|
*/
|
|
38
39
|
export declare function getCommandDef(input: string): CommandDef | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Render command suggestions inline (for real-time display)
|
|
42
|
+
* @param input Current input (starting with /)
|
|
43
|
+
* @returns Formatted suggestion string
|
|
44
|
+
*/
|
|
45
|
+
export declare function renderCommandSuggestions(input: string): string;
|
|
39
46
|
//# sourceMappingURL=completer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completer.d.ts","sourceRoot":"","sources":["../../src/agent/completer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,UAAU,EAShC,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAS7C;AAED
|
|
1
|
+
{"version":3,"file":"completer.d.ts","sourceRoot":"","sources":["../../src/agent/completer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH;;GAEG;AACH,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,EAAE,UAAU,EAShC,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAS7C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAkCjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAgC1C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAGhD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAenE;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA0B9D"}
|
package/dist/agent/completer.js
CHANGED
|
@@ -31,6 +31,7 @@ export function getAllCommandNames() {
|
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Readline completer function for slash commands
|
|
34
|
+
* Enhanced to show descriptions when multiple matches
|
|
34
35
|
* @param line Current input line
|
|
35
36
|
* @returns [completions, substring] tuple for readline
|
|
36
37
|
*/
|
|
@@ -45,34 +46,49 @@ export function commandCompleter(line) {
|
|
|
45
46
|
if (matches.length === 1) {
|
|
46
47
|
return [matches, line];
|
|
47
48
|
}
|
|
48
|
-
// If multiple matches
|
|
49
|
+
// If multiple matches, show formatted suggestions with descriptions
|
|
49
50
|
if (matches.length > 0) {
|
|
51
|
+
// Filter to unique primary commands for cleaner display
|
|
52
|
+
const primaryMatches = matches.filter(m => COMMANDS.some(c => c.name === m));
|
|
53
|
+
if (primaryMatches.length > 0) {
|
|
54
|
+
return [primaryMatches, line];
|
|
55
|
+
}
|
|
50
56
|
return [matches, line];
|
|
51
57
|
}
|
|
52
|
-
// No matches - show all commands
|
|
53
|
-
|
|
58
|
+
// No matches but starts with / - show all commands
|
|
59
|
+
if (line === '/') {
|
|
60
|
+
// Show all primary commands
|
|
61
|
+
return [COMMANDS.map(c => c.name), line];
|
|
62
|
+
}
|
|
63
|
+
return [[], line];
|
|
54
64
|
}
|
|
55
65
|
/**
|
|
56
|
-
* Render command help as formatted string
|
|
66
|
+
* Render command help as formatted string with clean styling
|
|
57
67
|
*/
|
|
58
68
|
export function renderCommandHelp() {
|
|
69
|
+
const width = process.stdout.columns || 80;
|
|
70
|
+
const line = '─'.repeat(width);
|
|
59
71
|
const lines = [
|
|
60
72
|
'',
|
|
61
|
-
|
|
73
|
+
muted(line),
|
|
74
|
+
info(' 📋 Available Commands'),
|
|
62
75
|
'',
|
|
63
76
|
];
|
|
64
77
|
for (const cmd of COMMANDS) {
|
|
65
78
|
const aliases = cmd.aliases?.length
|
|
66
79
|
? muted(` (${cmd.aliases.join(', ')})`)
|
|
67
80
|
: '';
|
|
68
|
-
lines.push(`
|
|
81
|
+
lines.push(` ${success(cmd.name.padEnd(10))} ${muted(cmd.description)}${aliases}`);
|
|
69
82
|
}
|
|
70
83
|
lines.push('');
|
|
71
|
-
lines.push(info('Shortcuts
|
|
72
|
-
lines.push(
|
|
73
|
-
lines.push(`
|
|
84
|
+
lines.push(info(' ⌨️ Shortcuts'));
|
|
85
|
+
lines.push('');
|
|
86
|
+
lines.push(` ${warning('Ctrl+C')} Exit or abort current operation`);
|
|
87
|
+
lines.push(` ${warning('Tab')} Command completion`);
|
|
88
|
+
lines.push(` ${warning('↑/↓')} History navigation`);
|
|
74
89
|
lines.push('');
|
|
75
|
-
lines.push(muted('
|
|
90
|
+
lines.push(muted(' 💡 Type / and press Tab to autocomplete commands'));
|
|
91
|
+
lines.push(muted(line));
|
|
76
92
|
lines.push('');
|
|
77
93
|
return lines.join('\n');
|
|
78
94
|
}
|
|
@@ -100,4 +116,29 @@ export function getCommandDef(input) {
|
|
|
100
116
|
}
|
|
101
117
|
return undefined;
|
|
102
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Render command suggestions inline (for real-time display)
|
|
121
|
+
* @param input Current input (starting with /)
|
|
122
|
+
* @returns Formatted suggestion string
|
|
123
|
+
*/
|
|
124
|
+
export function renderCommandSuggestions(input) {
|
|
125
|
+
if (!input.startsWith('/')) {
|
|
126
|
+
return '';
|
|
127
|
+
}
|
|
128
|
+
const allNames = getAllCommandNames();
|
|
129
|
+
const matches = allNames.filter(name => name.toLowerCase().startsWith(input.toLowerCase()) && name !== input.toLowerCase());
|
|
130
|
+
if (matches.length === 0) {
|
|
131
|
+
return '';
|
|
132
|
+
}
|
|
133
|
+
// Show up to 5 suggestions
|
|
134
|
+
const displayMatches = matches.slice(0, 5);
|
|
135
|
+
const suggestions = displayMatches.map(name => {
|
|
136
|
+
const cmd = COMMANDS.find(c => c.name === name || c.aliases?.includes(name));
|
|
137
|
+
const desc = cmd ? muted(` ${cmd.description}`) : '';
|
|
138
|
+
return ` ${success(name)}${desc}`;
|
|
139
|
+
});
|
|
140
|
+
const header = muted(' ┌─ Commands ─────────────────────────────────');
|
|
141
|
+
const footer = muted(' └─────────────────────────── Tab to complete');
|
|
142
|
+
return '\n' + header + '\n' + suggestions.join('\n') + '\n' + footer;
|
|
143
|
+
}
|
|
103
144
|
//# sourceMappingURL=completer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completer.js","sourceRoot":"","sources":["../../src/agent/completer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACH,OAAO,EACP,OAAO,EACP,IAAI,EACJ,KAAK,GACR,MAAM,sBAAsB,CAAC;AAW9B;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAiB;IAClC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;IACjF,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE;IACvD,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE;IACtE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAA0B,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE;IAC9E,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,yBAAyB,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;IAChF,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;IACpD,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,sCAAsC,EAAE;IACrE,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,4BAA4B,EAAE;CAC9D,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"completer.js","sourceRoot":"","sources":["../../src/agent/completer.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/renderer.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
6
|
* Render markdown text to styled terminal output
|
|
7
|
+
* Uses synchronous parsing to ensure consistent results
|
|
7
8
|
*/
|
|
8
9
|
export declare function renderMarkdown(text: string): string;
|
|
9
10
|
/**
|
|
@@ -30,16 +31,32 @@ export declare function renderError(message: string): string;
|
|
|
30
31
|
* Render a success message
|
|
31
32
|
*/
|
|
32
33
|
export declare function renderSuccess(message: string): string;
|
|
34
|
+
/**
|
|
35
|
+
* Get current terminal width
|
|
36
|
+
*/
|
|
37
|
+
export declare function getTerminalWidth(): number;
|
|
38
|
+
/**
|
|
39
|
+
* Render the input separator line (top) - simple horizontal line
|
|
40
|
+
*/
|
|
41
|
+
export declare function renderInputBoxTop(): string;
|
|
42
|
+
/**
|
|
43
|
+
* Render the input separator line (bottom)
|
|
44
|
+
*/
|
|
45
|
+
export declare function renderInputBoxBottom(): string;
|
|
33
46
|
/**
|
|
34
47
|
* Render the agent prompt
|
|
35
48
|
*/
|
|
36
49
|
export declare function renderPrompt(): string;
|
|
50
|
+
/**
|
|
51
|
+
* Render simple prompt (without box)
|
|
52
|
+
*/
|
|
53
|
+
export declare function renderSimplePrompt(): string;
|
|
37
54
|
/**
|
|
38
55
|
* Render the agent label
|
|
39
56
|
*/
|
|
40
57
|
export declare function renderAgentLabel(): string;
|
|
41
58
|
/**
|
|
42
|
-
* Render welcome message
|
|
59
|
+
* Render welcome message with clean styling
|
|
43
60
|
*/
|
|
44
61
|
export declare function renderWelcome(mcpToolCount?: number): string;
|
|
45
62
|
/**
|
|
@@ -50,6 +67,11 @@ export declare function renderGoodbye(): string;
|
|
|
50
67
|
* Render thinking indicator
|
|
51
68
|
*/
|
|
52
69
|
export declare function renderThinking(): string;
|
|
70
|
+
/**
|
|
71
|
+
* Indent multiline text for consistent display
|
|
72
|
+
* Adds prefix to continuation lines after the first
|
|
73
|
+
*/
|
|
74
|
+
export declare function indentMultilineResponse(text: string, indentSize?: number): string;
|
|
53
75
|
/**
|
|
54
76
|
* Render sparklet created indicator
|
|
55
77
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/agent/renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/agent/renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwDH;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAwBnD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAc,GAAG,MAAM,CAG9E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC7B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,GACjB,MAAM,CAIR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,OAAc,GACxB,MAAM,CAKR;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAI7C;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAqB3D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,MAAU,GAAG,MAAM,CAUpF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAChC,SAAS,EAAE,OAAO,GAAG,OAAO,EAC5B,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,GACnB,MAAM,CAKR"}
|
package/dist/agent/renderer.js
CHANGED
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
import { Marked } from 'marked';
|
|
6
6
|
import { markedTerminal } from 'marked-terminal';
|
|
7
7
|
import chalk from 'chalk';
|
|
8
|
-
import { primary, primaryBold, success, warning, error, muted, bold, code as codeStyle, link, toolSymbol, mcpSymbol, symbols, getLogoAscii, } from '../ui/theme/index.js';
|
|
8
|
+
import { primary, primaryBold, secondary, success, warning, error, muted, bold, code as codeStyle, link, toolSymbol, mcpSymbol, symbols, getLogoAscii, } from '../ui/theme/index.js';
|
|
9
9
|
// Configure marked with terminal renderer
|
|
10
|
+
// Use synchronous parsing by setting async: false
|
|
10
11
|
const marked = new Marked();
|
|
11
12
|
marked.use(markedTerminal({
|
|
12
13
|
// Code blocks
|
|
@@ -15,17 +16,19 @@ marked.use(markedTerminal({
|
|
|
15
16
|
// Headers
|
|
16
17
|
heading: primary.bold,
|
|
17
18
|
firstHeading: primaryBold,
|
|
18
|
-
// Text styles
|
|
19
|
-
strong: chalk.bold,
|
|
20
|
-
em: chalk.italic,
|
|
21
|
-
del: chalk.strikethrough.gray,
|
|
19
|
+
// Text styles - use explicit chalk functions for consistent rendering
|
|
20
|
+
strong: (text) => chalk.bold(text),
|
|
21
|
+
em: (text) => chalk.italic(text),
|
|
22
|
+
del: (text) => chalk.strikethrough.gray(text),
|
|
22
23
|
// Links and references
|
|
23
24
|
link: link,
|
|
24
25
|
href: link,
|
|
25
26
|
// Lists
|
|
26
27
|
listitem: chalk.reset,
|
|
27
|
-
// Code highlighting
|
|
28
|
-
codespan:
|
|
28
|
+
// Code highlighting - inline code
|
|
29
|
+
codespan: (text) => chalk.yellow(text),
|
|
30
|
+
// Paragraph - ensure proper rendering
|
|
31
|
+
paragraph: (text) => text,
|
|
29
32
|
// Misc
|
|
30
33
|
unescape: true,
|
|
31
34
|
emoji: true,
|
|
@@ -36,19 +39,28 @@ marked.use(markedTerminal({
|
|
|
36
39
|
}));
|
|
37
40
|
/**
|
|
38
41
|
* Render markdown text to styled terminal output
|
|
42
|
+
* Uses synchronous parsing to ensure consistent results
|
|
39
43
|
*/
|
|
40
44
|
export function renderMarkdown(text) {
|
|
45
|
+
if (!text || typeof text !== 'string') {
|
|
46
|
+
return text || '';
|
|
47
|
+
}
|
|
41
48
|
try {
|
|
42
|
-
|
|
43
|
-
//
|
|
49
|
+
// marked.parse can return string | Promise<string>
|
|
50
|
+
// With async: false, it should always return a string synchronously
|
|
51
|
+
const result = marked.parse(text, { async: false });
|
|
44
52
|
if (typeof result === 'string') {
|
|
45
53
|
return result;
|
|
46
54
|
}
|
|
47
|
-
//
|
|
55
|
+
// Fallback: if somehow we got a promise, return original text
|
|
56
|
+
console.warn('[renderMarkdown] Unexpected async result');
|
|
48
57
|
return text;
|
|
49
58
|
}
|
|
50
|
-
catch {
|
|
59
|
+
catch (err) {
|
|
51
60
|
// Fallback to plain text on error
|
|
61
|
+
if (process.env.DEBUG) {
|
|
62
|
+
console.error('[renderMarkdown] Error:', err);
|
|
63
|
+
}
|
|
52
64
|
return text;
|
|
53
65
|
}
|
|
54
66
|
}
|
|
@@ -90,37 +102,65 @@ export function renderError(message) {
|
|
|
90
102
|
export function renderSuccess(message) {
|
|
91
103
|
return success(`${symbols.success} ${message}`);
|
|
92
104
|
}
|
|
105
|
+
/**
|
|
106
|
+
* Get current terminal width
|
|
107
|
+
*/
|
|
108
|
+
export function getTerminalWidth() {
|
|
109
|
+
return process.stdout.columns || 80;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Render the input separator line (top) - simple horizontal line
|
|
113
|
+
*/
|
|
114
|
+
export function renderInputBoxTop() {
|
|
115
|
+
const width = getTerminalWidth();
|
|
116
|
+
const line = '─'.repeat(width);
|
|
117
|
+
return muted(line);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Render the input separator line (bottom)
|
|
121
|
+
*/
|
|
122
|
+
export function renderInputBoxBottom() {
|
|
123
|
+
const width = getTerminalWidth();
|
|
124
|
+
const line = '─'.repeat(width);
|
|
125
|
+
return muted(line);
|
|
126
|
+
}
|
|
93
127
|
/**
|
|
94
128
|
* Render the agent prompt
|
|
95
129
|
*/
|
|
96
130
|
export function renderPrompt() {
|
|
131
|
+
return `${primary('❯')} `;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Render simple prompt (without box)
|
|
135
|
+
*/
|
|
136
|
+
export function renderSimplePrompt() {
|
|
97
137
|
return primaryBold('You: ');
|
|
98
138
|
}
|
|
99
139
|
/**
|
|
100
140
|
* Render the agent label
|
|
101
141
|
*/
|
|
102
142
|
export function renderAgentLabel() {
|
|
103
|
-
return primaryBold('Pæan: ')
|
|
143
|
+
return `${secondary('❯')} ${primaryBold('Pæan: ')}`;
|
|
104
144
|
}
|
|
105
145
|
/**
|
|
106
|
-
* Render welcome message
|
|
146
|
+
* Render welcome message with clean styling
|
|
107
147
|
*/
|
|
108
148
|
export function renderWelcome(mcpToolCount) {
|
|
109
|
-
const width =
|
|
110
|
-
const line =
|
|
149
|
+
const width = getTerminalWidth();
|
|
150
|
+
const line = '─'.repeat(width);
|
|
111
151
|
const lines = [
|
|
112
152
|
'',
|
|
113
153
|
primary(getLogoAscii()),
|
|
114
|
-
line,
|
|
154
|
+
muted(line),
|
|
115
155
|
bold(' Interactive Agent Session'),
|
|
116
|
-
muted(' Type /help for commands, Ctrl+C to exit'),
|
|
117
|
-
line,
|
|
118
|
-
'',
|
|
119
156
|
];
|
|
120
157
|
if (mcpToolCount !== undefined && mcpToolCount > 0) {
|
|
121
|
-
lines.push(
|
|
158
|
+
lines.push(` ${mcpSymbol()} MCP: ${success(mcpToolCount.toString())} tools connected`);
|
|
122
159
|
}
|
|
123
|
-
lines.push(muted(' Type your message and press Enter to send
|
|
160
|
+
lines.push(muted(' 💡 Type your message and press Enter to send'));
|
|
161
|
+
lines.push(muted(' ⌨️ Type / then Tab for commands, Ctrl+C to exit'));
|
|
162
|
+
lines.push(muted(line));
|
|
163
|
+
lines.push('');
|
|
124
164
|
return lines.join('\n');
|
|
125
165
|
}
|
|
126
166
|
/**
|
|
@@ -133,7 +173,23 @@ export function renderGoodbye() {
|
|
|
133
173
|
* Render thinking indicator
|
|
134
174
|
*/
|
|
135
175
|
export function renderThinking() {
|
|
136
|
-
return muted('💭 Thinking...')
|
|
176
|
+
return `${secondary('❯')} ${muted('💭 Thinking...')}`;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Indent multiline text for consistent display
|
|
180
|
+
* Adds prefix to continuation lines after the first
|
|
181
|
+
*/
|
|
182
|
+
export function indentMultilineResponse(text, indentSize = 2) {
|
|
183
|
+
const lines = text.split('\n');
|
|
184
|
+
if (lines.length <= 1) {
|
|
185
|
+
return text;
|
|
186
|
+
}
|
|
187
|
+
const indent = ' '.repeat(indentSize);
|
|
188
|
+
return lines.map((line, index) => {
|
|
189
|
+
if (index === 0)
|
|
190
|
+
return line;
|
|
191
|
+
return indent + line;
|
|
192
|
+
}).join('\n');
|
|
137
193
|
}
|
|
138
194
|
/**
|
|
139
195
|
* Render sparklet created indicator
|