paean 0.8.0 → 0.8.1

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.
@@ -12,6 +12,9 @@ export interface ChatOptions {
12
12
  debug?: boolean;
13
13
  initialMessage?: string;
14
14
  resumeConversationId?: string;
15
+ cliMode?: {
16
+ enabled?: boolean;
17
+ };
15
18
  }
16
19
  /**
17
20
  * Start the interactive chat loop using Ink
@@ -19,7 +22,7 @@ export interface ChatOptions {
19
22
  export declare function startChat(options?: ChatOptions): Promise<void>;
20
23
  /**
21
24
  * Send a single message (non-interactive mode)
22
- * This is kept for programmatic usage
25
+ * Used for programmatic usage and one-shot commands
23
26
  */
24
- export { sendMessage } from './chat.legacy.js';
27
+ export declare function sendMessage(message: string, options?: ChatOptions): Promise<string>;
25
28
  //# sourceMappingURL=chat.ink.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.ink.d.ts","sourceRoot":"","sources":["../../src/agent/chat.ink.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE1D;;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,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBxE;AAED;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"chat.ink.d.ts","sourceRoot":"","sources":["../../src/agent/chat.ink.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,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,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACnC;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBxE;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA4CjB"}
@@ -5,6 +5,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  */
6
6
  import { render } from 'ink';
7
7
  import { App } from '../ui/App.js';
8
+ import { agentService } from './service.js';
9
+ import { renderMarkdown } from './renderer.js';
8
10
  /**
9
11
  * Start the interactive chat loop using Ink
10
12
  */
@@ -17,7 +19,46 @@ export async function startChat(options = {}) {
17
19
  }
18
20
  /**
19
21
  * Send a single message (non-interactive mode)
20
- * This is kept for programmatic usage
22
+ * Used for programmatic usage and one-shot commands
21
23
  */
22
- export { sendMessage } from './chat.legacy.js';
24
+ export async function sendMessage(message, options = {}) {
25
+ const { mcpState, onMcpToolCall } = options;
26
+ const cliModeEnabled = options.cliMode?.enabled ?? false;
27
+ return new Promise((resolve, reject) => {
28
+ let responseText = '';
29
+ const callbacks = {
30
+ onContent: (text, partial) => {
31
+ if (!partial) {
32
+ responseText = text;
33
+ }
34
+ else {
35
+ responseText += text;
36
+ }
37
+ },
38
+ onMcpToolCall: async (callId, serverName, toolName, args) => {
39
+ if (onMcpToolCall) {
40
+ return onMcpToolCall(callId, serverName, toolName, args);
41
+ }
42
+ return {
43
+ content: [{ type: 'text', text: 'MCP not available' }],
44
+ isError: true,
45
+ };
46
+ },
47
+ onDone: () => {
48
+ // Render based on mode
49
+ const rendered = cliModeEnabled
50
+ ? responseText
51
+ : renderMarkdown(responseText);
52
+ resolve(rendered.trim());
53
+ },
54
+ onError: (error) => {
55
+ reject(new Error(error));
56
+ },
57
+ };
58
+ agentService.streamMessage(message, callbacks, {
59
+ mcpState,
60
+ cliMode: cliModeEnabled ? { enabled: true } : undefined,
61
+ });
62
+ });
63
+ }
23
64
  //# sourceMappingURL=chat.ink.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat.ink.js","sourceRoot":"","sources":["../../src/agent/chat.ink.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAmBnC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAuB,EAAE;IACrD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;IAEzF,6BAA6B;IAC7B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC5B,KAAC,GAAG,IACA,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,oBAAoB,EAAE,oBAAoB,GAC5C,CACL,CAAC;IAEF,2BAA2B;IAC3B,MAAM,aAAa,EAAE,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"chat.ink.js","sourceRoot":"","sources":["../../src/agent/chat.ink.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAoB/C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAuB,EAAE;IACrD,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC;IAEzF,6BAA6B;IAC7B,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAC5B,KAAC,GAAG,IACA,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,oBAAoB,EAAE,oBAAoB,GAC5C,CACL,CAAC;IAEF,2BAA2B;IAC3B,MAAM,aAAa,EAAE,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,OAAe,EACf,UAAuB,EAAE;IAEzB,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;IAC5C,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;IAEzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,MAAM,SAAS,GAAyB;YACpC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;gBACzB,IAAI,CAAC,OAAO,EAAE,CAAC;oBACX,YAAY,GAAG,IAAI,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACJ,YAAY,IAAI,IAAI,CAAC;gBACzB,CAAC;YACL,CAAC;YAED,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;gBACxD,IAAI,aAAa,EAAE,CAAC;oBAChB,OAAO,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAC7D,CAAC;gBACD,OAAO;oBACH,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC;oBAC/D,OAAO,EAAE,IAAI;iBAChB,CAAC;YACN,CAAC;YAED,MAAM,EAAE,GAAG,EAAE;gBACT,uBAAuB;gBACvB,MAAM,QAAQ,GAAG,cAAc;oBAC3B,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC7B,CAAC;YAED,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7B,CAAC;SACJ,CAAC;QAEF,YAAY,CAAC,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE;YAC3C,QAAQ;YACR,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;SAC1D,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0CpC,eAAO,MAAM,YAAY,SA4JnB,CAAC;AAEP;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE;IACxC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC,GAAG,OAAO,CAAC,IAAI,CAAC,CAiHhB"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCpC,eAAO,MAAM,YAAY,SAuFnB,CAAC;AAEP;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE;IACxC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwChB"}
@@ -7,39 +7,28 @@ import chalk from 'chalk';
7
7
  import { initializeAgent, checkAuthentication } from '../agent/utils.js';
8
8
  import { analyzeProject, createPlan, formatPlan } from '../agent/planning.js';
9
9
  /**
10
- * Detect if running under Bun runtime
10
+ * Detect if running under Bun runtime and show warning
11
11
  */
12
- function isBunRuntime() {
13
- if (typeof process === 'undefined') {
14
- return false;
15
- }
16
- // Check for Bun-specific properties
17
- const versions = process.versions;
18
- if (versions?.bun !== undefined) {
19
- return true;
20
- }
21
- // Check for Bun global
22
- if (typeof globalThis.Bun !== 'undefined') {
23
- return true;
24
- }
25
- return false;
26
- }
27
- /**
28
- * Check if Ink mode should be used
29
- * - Default: Use Ink for Node.js (better rendering, streaming support)
30
- * - Use Legacy only for Bun (compatibility) or when explicitly forced
31
- */
32
- function shouldUseInkMode() {
33
- // Environment variable override (highest priority)
34
- if (process.env.PAEAN_FORCE_LEGACY === '1') {
35
- return false;
12
+ function checkBunRuntime() {
13
+ let isBun = false;
14
+ if (typeof process !== 'undefined') {
15
+ // Check for Bun-specific properties
16
+ const versions = process.versions;
17
+ if (versions?.bun !== undefined) {
18
+ isBun = true;
19
+ }
20
+ // Check for Bun global
21
+ if (typeof globalThis.Bun !== 'undefined') {
22
+ isBun = true;
23
+ }
36
24
  }
37
- if (process.env.PAEAN_FORCE_INK === '1') {
38
- return true;
25
+ if (isBun) {
26
+ console.error(chalk.yellow('⚠️ Bun runtime detected.'));
27
+ console.error(chalk.yellow(' Paean CLI requires Node.js for optimal experience.'));
28
+ console.error(chalk.yellow(' Please run with: npx paean or node $(which paean)'));
29
+ console.error('');
30
+ process.exit(1);
39
31
  }
40
- // Auto-detect: use Ink for Node.js (default), Legacy only for Bun
41
- // Since npm packages run on Node.js, default to Ink
42
- return !isBunRuntime();
43
32
  }
44
33
  export const agentCommand = new Command('agent')
45
34
  .description('Start interactive AI agent mode (default)')
@@ -49,6 +38,8 @@ export const agentCommand = new Command('agent')
49
38
  .option('-p, --plan', 'Show execution plan before proceeding')
50
39
  .option('-r, --resume <conversationId>', 'Resume a previous conversation session')
51
40
  .action(async (options) => {
41
+ // Check for Bun runtime
42
+ checkBunRuntime();
52
43
  // Validate message if provided
53
44
  if (options.message) {
54
45
  const message = String(options.message).trim();
@@ -92,97 +83,19 @@ export const agentCommand = new Command('agent')
92
83
  }
93
84
  }
94
85
  }
95
- if (options.message) {
96
- // Use the same mode selection logic for single message mode
97
- if (shouldUseInkMode()) {
98
- // For Ink mode, we need to use the interactive chat but with a message
99
- const { startChat: startInkChat } = await import('../agent/chat.ink.js');
100
- try {
101
- await startInkChat({
102
- mcpState,
103
- onMcpToolCall,
104
- debug,
105
- initialMessage: options.message,
106
- });
107
- }
108
- catch (error) {
109
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
110
- console.error(chalk.red(`\n❌ Error: ${errorMessage}`));
111
- if (debug) {
112
- console.error(chalk.dim(`\nStack trace:\n${error instanceof Error ? error.stack : ''}`));
113
- }
114
- process.exit(1);
115
- }
116
- finally {
117
- try {
118
- await mcpClient?.disconnectAll();
119
- }
120
- catch (cleanupError) {
121
- if (debug) {
122
- console.error(chalk.dim(`Warning: Error during cleanup: ${cleanupError.message}`));
123
- }
124
- }
125
- }
126
- }
127
- else {
128
- // Use legacy mode for Bun compatibility
129
- const { sendMessage } = await import('../agent/chat.legacy.js');
130
- try {
131
- const response = await sendMessage(options.message, {
132
- mcpState,
133
- onMcpToolCall,
134
- debug,
135
- });
136
- console.log(response);
137
- }
138
- catch (error) {
139
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
140
- console.error(chalk.red(`\n❌ Error: ${errorMessage}`));
141
- if (debug) {
142
- console.error(chalk.dim(`\nStack trace:\n${error instanceof Error ? error.stack : ''}`));
143
- }
144
- process.exit(1);
145
- }
146
- finally {
147
- try {
148
- await mcpClient?.disconnectAll();
149
- }
150
- catch (cleanupError) {
151
- if (debug) {
152
- console.error(chalk.dim(`Warning: Error during cleanup: ${cleanupError.message}`));
153
- }
154
- }
155
- }
156
- }
157
- return;
158
- }
159
86
  try {
160
- const useInk = shouldUseInkMode();
161
- if (debug) {
162
- console.log(chalk.dim(`[Debug] Using ${useInk ? 'Ink' : 'Legacy'} mode`));
163
- }
164
- if (useInk) {
165
- // Use Ink mode for Node.js (better UI, streaming, dynamic updates)
166
- const { startChat: startInkChat } = await import('../agent/chat.ink.js');
167
- await startInkChat({
168
- mcpState,
169
- onMcpToolCall,
170
- debug,
171
- });
172
- }
173
- else {
174
- // Use legacy mode for Bun compatibility
175
- const { startChat: startLegacyChat } = await import('../agent/chat.legacy.js');
176
- await startLegacyChat({
177
- mcpState,
178
- onMcpToolCall,
179
- debug,
180
- });
181
- }
87
+ const { startChat } = await import('../agent/chat.ink.js');
88
+ await startChat({
89
+ mcpState,
90
+ onMcpToolCall,
91
+ debug,
92
+ initialMessage: options.message,
93
+ resumeConversationId: options.resume,
94
+ });
182
95
  }
183
96
  catch (error) {
184
97
  const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
185
- console.error(chalk.red(`\n❌ Fatal error: ${errorMessage}`));
98
+ console.error(chalk.red(`\n❌ Error: ${errorMessage}`));
186
99
  if (debug) {
187
100
  console.error(chalk.dim(`\nStack trace:\n${error instanceof Error ? error.stack : ''}`));
188
101
  }
@@ -203,6 +116,8 @@ export const agentCommand = new Command('agent')
203
116
  * Start agent mode directly (for default command)
204
117
  */
205
118
  export async function runAgentMode(options) {
119
+ // Check for Bun runtime
120
+ checkBunRuntime();
206
121
  checkAuthentication();
207
122
  const debug = options.debug ?? false;
208
123
  const enableMcp = options.mcp !== false;
@@ -211,97 +126,15 @@ export async function runAgentMode(options) {
211
126
  mcp: enableMcp,
212
127
  debug
213
128
  });
214
- if (options.message) {
215
- // Use the same mode selection logic for single message mode
216
- if (shouldUseInkMode()) {
217
- // For Ink mode, we need to use the interactive chat but with a message
218
- const { startChat: startInkChat } = await import('../agent/chat.ink.js');
219
- try {
220
- await startInkChat({
221
- mcpState,
222
- onMcpToolCall,
223
- debug,
224
- initialMessage: options.message,
225
- resumeConversationId,
226
- });
227
- }
228
- catch (error) {
229
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
230
- console.error(chalk.red(`\n❌ Error: ${errorMessage}`));
231
- if (debug) {
232
- console.error(chalk.dim(`\nStack trace:\n${error instanceof Error ? error.stack : ''}`));
233
- }
234
- process.exit(1);
235
- }
236
- finally {
237
- try {
238
- await mcpClient?.disconnectAll();
239
- }
240
- catch (cleanupError) {
241
- if (debug) {
242
- console.error(chalk.dim(`Warning: Error during cleanup: ${cleanupError.message}`));
243
- }
244
- }
245
- }
246
- }
247
- else {
248
- // Use legacy mode for Bun compatibility
249
- const { sendMessage } = await import('../agent/chat.legacy.js');
250
- try {
251
- const response = await sendMessage(options.message, {
252
- mcpState,
253
- onMcpToolCall,
254
- debug,
255
- resumeConversationId,
256
- });
257
- console.log(response);
258
- }
259
- catch (error) {
260
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
261
- console.error(chalk.red(`\n❌ Error: ${errorMessage}`));
262
- if (debug) {
263
- console.error(chalk.dim(`\nStack trace:\n${error instanceof Error ? error.stack : ''}`));
264
- }
265
- process.exit(1);
266
- }
267
- finally {
268
- try {
269
- await mcpClient?.disconnectAll();
270
- }
271
- catch (cleanupError) {
272
- if (debug) {
273
- console.error(chalk.dim(`Warning: Error during cleanup: ${cleanupError.message}`));
274
- }
275
- }
276
- }
277
- }
278
- return;
279
- }
280
129
  try {
281
- const useInk = shouldUseInkMode();
282
- if (debug) {
283
- console.log(chalk.dim(`[Debug] Using ${useInk ? 'Ink' : 'Legacy'} mode`));
284
- }
285
- if (useInk) {
286
- // Use Ink mode for Node.js (better UI, streaming, dynamic updates)
287
- const { startChat: startInkChat } = await import('../agent/chat.ink.js');
288
- await startInkChat({
289
- mcpState,
290
- onMcpToolCall,
291
- debug,
292
- resumeConversationId,
293
- });
294
- }
295
- else {
296
- // Use legacy mode for Bun compatibility
297
- const { startChat: startLegacyChat } = await import('../agent/chat.legacy.js');
298
- await startLegacyChat({
299
- mcpState,
300
- onMcpToolCall,
301
- debug,
302
- resumeConversationId,
303
- });
304
- }
130
+ const { startChat } = await import('../agent/chat.ink.js');
131
+ await startChat({
132
+ mcpState,
133
+ onMcpToolCall,
134
+ debug,
135
+ initialMessage: options.message,
136
+ resumeConversationId,
137
+ });
305
138
  }
306
139
  catch (error) {
307
140
  const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -77,7 +77,7 @@ export const promptCommand = new Command('prompt')
77
77
  console.log(chalk.dim(' (LLM will decide: direct execution, chain tasks, or batch tasks)'));
78
78
  console.log('');
79
79
  // Use sendMessage to let LLM process and decide
80
- const { sendMessage } = await import('../agent/chat.legacy.js');
80
+ const { sendMessage } = await import('../agent/chat.ink.js');
81
81
  const response = await sendMessage(enhancedPrompt, {
82
82
  mcpState,
83
83
  onMcpToolCall,
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/commands/prompt.ts"],"names":[],"mappings":"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"}
@@ -19,12 +19,12 @@ export const BRAND_COLORS = {
19
19
  // ASCII Logo - Stylized 'AI Paean'
20
20
  export const getLogoAscii = () => {
21
21
  return `
22
- ██████╗ █████╗ ███████╗ █████╗ ███╗ ██╗
23
- ██╔══██╗██╔══██╗██╔════╝██╔══██╗████╗ ██║
24
- ██████╔╝███████║█████╗ ███████║██╔██╗ ██║
25
- ██╔═══╝ ██╔══██║██╔══╝ ██╔══██║██║╚██╗██║
26
- ██║ ██║ ██║███████╗██║ ██║██║ ╚████║
27
- ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝
22
+ ██████╗ █████╗ ███████╗ █████╗ ███╗ ██╗
23
+ ██╔══██╗██╔══██╗██╔════╝██╔══██╗████╗ ██║
24
+ ██████╔╝███████║█████╗ ███████║██╔██╗ ██║
25
+ ██╔═══╝ ██╔══██║██╔══╝ ██╔══██║██║╚██╗██║
26
+ ██║ ██║ ██║███████╗██║ ██║██║ ╚████║
27
+ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝
28
28
  `;
29
29
  };
30
30
  // Compact Logo for Headers
@@ -23,12 +23,12 @@ export const INK_COLORS = {
23
23
  };
24
24
  // ASCII Logo for Ink
25
25
  export const ASCII_LOGO = `
26
- ██████╗ █████╗ ███████╗ █████╗ ███╗ ██╗
27
- ██╔══██╗██╔══██╗██╔════╝██╔══██╗████╗ ██║
28
- ██████╔╝███████║█████╗ ███████║██╔██╗ ██║
29
- ██╔═══╝ ██╔══██║██╔══╝ ██╔══██║██║╚██╗██║
30
- ██║ ██║ ██║███████╗██║ ██║██║ ╚████║
31
- ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝
26
+ ██████╗ █████╗ ███████╗ █████╗ ███╗ ██╗
27
+ ██╔══██╗██╔══██╗██╔════╝██╔══██╗████╗ ██║
28
+ ██████╔╝███████║█████╗ ███████║██╔██╗ ██║
29
+ ██╔═══╝ ██╔══██║██╔══╝ ██╔══██║██║╚██╗██║
30
+ ██║ ██║ ██║███████╗██║ ██║██║ ╚████║
31
+ ╚═╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝
32
32
  `.trim();
33
33
  // Compact logo for small screens
34
34
  export const COMPACT_LOGO = '∩ Pæan';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "paean",
3
- "version": "0.8.0",
3
+ "version": "0.8.1",
4
4
  "description": "Paean AI CLI - Claude Code-like AI agent with local MCP integration, task management, and autonomous worker mode",
5
5
  "author": "Paean AI <dev@paean.ai>",
6
6
  "license": "MIT",
@@ -1,26 +0,0 @@
1
- /**
2
- * Interactive Chat Loop
3
- * Handles user input and agent responses in a REPL-style interface
4
- * Features: Dynamic spinners, Tab completion, CLI-friendly mode
5
- */
6
- import { type CliModeOptions } from './cli-mode.js';
7
- import type { McpState, McpToolResult } from './types.js';
8
- /**
9
- * Chat options
10
- */
11
- export interface ChatOptions {
12
- mcpState?: McpState;
13
- onMcpToolCall?: (callId: string, serverName: string, toolName: string, args: Record<string, unknown>) => Promise<McpToolResult>;
14
- debug?: boolean;
15
- cliMode?: Partial<CliModeOptions>;
16
- resumeConversationId?: string;
17
- }
18
- /**
19
- * Start the interactive chat loop
20
- */
21
- export declare function startChat(options?: ChatOptions): Promise<void>;
22
- /**
23
- * Send a single message (non-interactive mode)
24
- */
25
- export declare function sendMessage(message: string, options?: ChatOptions): Promise<string>;
26
- //# sourceMappingURL=chat.legacy.d.ts.map
@@ -1 +0,0 @@
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;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgcxE;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,WAAgB,GAC1B,OAAO,CAAC,MAAM,CAAC,CA4CjB"}
@@ -1,467 +0,0 @@
1
- /**
2
- * Interactive Chat Loop
3
- * Handles user input and agent responses in a REPL-style interface
4
- * Features: Dynamic spinners, Tab completion, CLI-friendly mode
5
- */
6
- import * as readline from 'readline';
7
- import chalk from 'chalk';
8
- import { agentService } from './service.js';
9
- import { renderMarkdown, renderError, renderPrompt, renderAgentLabel, renderWelcome, renderGoodbye, renderSparkletCreated, renderMediaGenerated, renderInputBoxTop, renderInputBoxBottom, indentMultilineResponse, } from './renderer.js';
10
- import { success, error as errorColor, warning, muted, primary, mcpSymbol, toolSymbol, } from '../ui/theme/index.js';
11
- // Import thinking animation
12
- import { createThinkingAnimation } from './spinner.js';
13
- import { commandCompleter, renderCommandHelp, } from './completer.js';
14
- import { isCliModeActive, isRawStreamEnabled, } from './cli-mode.js';
15
- /**
16
- * Start the interactive chat loop
17
- */
18
- export async function startChat(options = {}) {
19
- const { mcpState, onMcpToolCall, debug, resumeConversationId } = options;
20
- // CLI mode state
21
- let cliModeEnabled = isCliModeActive(options.cliMode);
22
- let rawStreamEnabled = isRawStreamEnabled(options.cliMode);
23
- // Calculate total MCP tools
24
- const mcpToolCount = mcpState?.mcpServers?.reduce((sum, server) => sum + (server.tools?.length || 0), 0);
25
- // Print welcome message
26
- console.log(renderWelcome(mcpToolCount));
27
- // Show resume info if resuming
28
- if (resumeConversationId) {
29
- console.log(muted(` Resuming conversation: ${resumeConversationId.slice(0, 8)}...`));
30
- console.log('');
31
- }
32
- // Create readline interface with completer
33
- const rl = readline.createInterface({
34
- input: process.stdin,
35
- output: process.stdout,
36
- terminal: true,
37
- completer: commandCompleter,
38
- });
39
- let conversationId = resumeConversationId;
40
- let isProcessing = false;
41
- let currentStreamAbort = null;
42
- let messageHistory = [];
43
- // Helper to print resume command
44
- const printResumeCommand = () => {
45
- if (conversationId) {
46
- console.log(`\nTo resume this session: paean --resume=${conversationId}\n`);
47
- }
48
- };
49
- // Handle Ctrl+C
50
- const handleSigint = () => {
51
- if (isProcessing) {
52
- // Abort current stream
53
- if (currentStreamAbort) {
54
- try {
55
- currentStreamAbort();
56
- }
57
- catch (e) {
58
- // Ignore abort errors
59
- }
60
- }
61
- console.log(chalk.dim('\n(interrupted)'));
62
- isProcessing = false;
63
- currentStreamAbort = null;
64
- // Use setImmediate to avoid readline issues
65
- setImmediate(() => {
66
- try {
67
- promptUser();
68
- }
69
- catch (e) {
70
- // If readline is closed, exit gracefully
71
- printResumeCommand();
72
- console.log(renderGoodbye());
73
- process.exit(0);
74
- }
75
- });
76
- }
77
- else {
78
- // Exit
79
- printResumeCommand();
80
- console.log(renderGoodbye());
81
- try {
82
- rl.close();
83
- }
84
- catch (e) {
85
- // Ignore close errors
86
- }
87
- process.exit(0);
88
- }
89
- };
90
- process.on('SIGINT', handleSigint);
91
- // Cleanup on process exit
92
- const cleanup = async () => {
93
- try {
94
- if (currentStreamAbort) {
95
- try {
96
- currentStreamAbort();
97
- }
98
- catch (e) {
99
- // Ignore abort errors
100
- }
101
- currentStreamAbort = null;
102
- }
103
- }
104
- catch (e) {
105
- // Ignore cleanup errors
106
- }
107
- try {
108
- rl.close();
109
- }
110
- catch (e) {
111
- // Ignore close errors (may already be closed)
112
- }
113
- };
114
- process.on('exit', () => {
115
- // Synchronous cleanup only
116
- try {
117
- rl.close();
118
- }
119
- catch (e) {
120
- // Ignore (may already be closed)
121
- }
122
- });
123
- process.on('SIGTERM', async () => {
124
- await cleanup();
125
- process.exit(0);
126
- });
127
- // Prompt for user input with styled input box
128
- const promptUser = () => {
129
- try {
130
- // Display input box top border
131
- console.log(renderInputBoxTop());
132
- rl.question(renderPrompt(), async (input) => {
133
- try {
134
- // Display input box bottom border after input
135
- console.log(renderInputBoxBottom());
136
- const trimmedInput = input.trim();
137
- if (!trimmedInput) {
138
- promptUser();
139
- return;
140
- }
141
- // Validate input length
142
- if (trimmedInput.length > 10000) {
143
- console.error(errorColor('❌ Error: Input is too long (max 10000 characters).'));
144
- promptUser();
145
- return;
146
- }
147
- // Handle slash commands
148
- if (trimmedInput.startsWith('/')) {
149
- const handled = handleCommand(trimmedInput);
150
- if (handled) {
151
- promptUser();
152
- return;
153
- }
154
- }
155
- // Add to message history
156
- messageHistory.push(trimmedInput);
157
- // Process the message
158
- await processMessage(trimmedInput);
159
- promptUser();
160
- }
161
- catch (error) {
162
- const errorMessage = error instanceof Error
163
- ? error.message
164
- : 'Unknown error occurred';
165
- console.error(errorColor(`\n❌ Error: ${errorMessage}`));
166
- promptUser();
167
- }
168
- });
169
- }
170
- catch (error) {
171
- // If readline is closed, exit gracefully
172
- const errorMessage = error instanceof Error ? error.message : '';
173
- if (errorMessage.includes('close') || errorMessage.includes('destroyed')) {
174
- printResumeCommand();
175
- console.log(renderGoodbye());
176
- process.exit(0);
177
- }
178
- else {
179
- throw error;
180
- }
181
- }
182
- };
183
- // Handle slash commands
184
- const handleCommand = (input) => {
185
- const cmd = input.toLowerCase();
186
- switch (cmd) {
187
- case '/exit':
188
- case '/quit':
189
- case '/q':
190
- printResumeCommand();
191
- console.log(renderGoodbye());
192
- rl.close();
193
- process.exit(0);
194
- case '/clear':
195
- case '/cls':
196
- console.clear();
197
- console.log(renderWelcome(mcpToolCount));
198
- return true;
199
- case '/reset':
200
- case '/new':
201
- conversationId = undefined;
202
- messageHistory = [];
203
- console.clear();
204
- console.log(renderWelcome(mcpToolCount));
205
- console.log(success(' Started new conversation context.'));
206
- return true;
207
- case '/help':
208
- case '/h':
209
- case '/?':
210
- console.log(renderCommandHelp());
211
- return true;
212
- case '/debug':
213
- options.debug = !options.debug;
214
- console.log(muted(` Debug mode: ${options.debug ? success('ON') : errorColor('OFF')}`));
215
- console.log('');
216
- return true;
217
- case '/raw':
218
- cliModeEnabled = !cliModeEnabled;
219
- rawStreamEnabled = cliModeEnabled;
220
- let output = muted(` Raw mode: ${cliModeEnabled ? success('ON') : errorColor('OFF')}`);
221
- if (cliModeEnabled) {
222
- output += '\n' + muted(' Agent will return plain text (no markdown)');
223
- }
224
- console.log(output);
225
- console.log('');
226
- return true;
227
- case '/mcp':
228
- if (mcpState?.mcpServers && mcpState.mcpServers.length > 0) {
229
- console.log(primary('\nMCP Connections:\n'));
230
- for (const server of mcpState.mcpServers) {
231
- const toolCount = server.tools?.length || 0;
232
- console.log(` ${success('●')} ${warning(server.name)}: ${success(toolCount)} tools`);
233
- }
234
- console.log('');
235
- }
236
- else {
237
- console.log(muted('\nNo MCP servers connected\n'));
238
- }
239
- return true;
240
- default:
241
- // Unknown command
242
- if (cmd.startsWith('/')) {
243
- console.log(errorColor(`\nUnknown command: ${cmd}`));
244
- console.log(muted('Type /help for available commands\n'));
245
- return true;
246
- }
247
- return false;
248
- }
249
- };
250
- // Process a message - simplified version following old working pattern
251
- const processMessage = async (message) => {
252
- isProcessing = true;
253
- let responseText = '';
254
- let isFirstContent = true;
255
- // Create and start the thinking animation
256
- const thinkingAnimation = createThinkingAnimation();
257
- thinkingAnimation.start();
258
- const callbacks = {
259
- onContent: (text, partial) => {
260
- if (rawStreamEnabled && partial) {
261
- // Raw stream mode: output directly
262
- if (isFirstContent) {
263
- thinkingAnimation.clear();
264
- process.stdout.write(renderAgentLabel());
265
- isFirstContent = false;
266
- }
267
- process.stdout.write(text);
268
- }
269
- else {
270
- // Buffered mode: accumulate text
271
- if (partial) {
272
- responseText += text;
273
- // Update animation to show receiving progress
274
- const charCount = responseText.length;
275
- if (charCount > 0) {
276
- thinkingAnimation.updateText(`📝 Receiving... (${charCount} chars)`);
277
- }
278
- }
279
- else {
280
- responseText = text;
281
- }
282
- }
283
- },
284
- onToolCall: (_id, name) => {
285
- if (debug) {
286
- thinkingAnimation.stop();
287
- process.stdout.write('\r\x1b[K');
288
- console.log(muted(`${toolSymbol()} ${primary(name)}...`));
289
- thinkingAnimation.start();
290
- }
291
- },
292
- onToolResult: (_id, _name) => {
293
- // Tool completed, animation continues
294
- },
295
- onMcpToolCall: async (callId, serverName, toolName, args) => {
296
- // Pause animation and show MCP call
297
- thinkingAnimation.stop();
298
- process.stdout.write('\r\x1b[K');
299
- console.log(muted(`${mcpSymbol()} [${warning(serverName)}] ${primary(toolName)}...`));
300
- if (onMcpToolCall) {
301
- try {
302
- const result = await onMcpToolCall(callId, serverName, toolName, args);
303
- console.log(muted(`${success('✓')} [${warning(serverName)}] ${primary(toolName)} completed`));
304
- // Resume thinking animation
305
- thinkingAnimation.start();
306
- return result;
307
- }
308
- catch (error) {
309
- console.log(muted(`${errorColor('✗')} [${warning(serverName)}] ${primary(toolName)} failed`));
310
- thinkingAnimation.start();
311
- return {
312
- content: [
313
- {
314
- type: 'text',
315
- text: `Error: ${error.message}`,
316
- },
317
- ],
318
- isError: true,
319
- };
320
- }
321
- }
322
- thinkingAnimation.start();
323
- return {
324
- content: [{ type: 'text', text: 'MCP not available' }],
325
- isError: true,
326
- };
327
- },
328
- onDone: (convId) => {
329
- conversationId = convId;
330
- // Clear thinking animation
331
- thinkingAnimation.clear();
332
- try {
333
- if (responseText) {
334
- if (rawStreamEnabled) {
335
- // Raw mode: just add newline (content already streamed)
336
- console.log('');
337
- }
338
- else {
339
- // Markdown mode: render complete response
340
- process.stdout.write(renderAgentLabel());
341
- const rendered = cliModeEnabled
342
- ? responseText // CLI mode: plain text
343
- : renderMarkdown(responseText); // Normal: markdown
344
- // Indent multiline responses for better alignment
345
- const indented = indentMultilineResponse(rendered.trim(), 2);
346
- console.log(indented);
347
- }
348
- }
349
- console.log(''); // New line after response
350
- }
351
- catch (e) {
352
- // Ignore stdout errors
353
- }
354
- isProcessing = false;
355
- currentStreamAbort = null;
356
- },
357
- onSparkletCreated: (hashKey, title) => {
358
- thinkingAnimation.stop();
359
- process.stdout.write('\r\x1b[K'); // Clear line
360
- console.log(renderSparkletCreated(hashKey, title));
361
- thinkingAnimation.start();
362
- },
363
- onMediaGenerated: (media) => {
364
- thinkingAnimation.stop();
365
- process.stdout.write('\r\x1b[K'); // Clear line
366
- console.log(renderMediaGenerated(media.assetType, media.fileName, media.signedUrl));
367
- thinkingAnimation.start();
368
- },
369
- onError: (error) => {
370
- thinkingAnimation.clear();
371
- console.log(renderError(error));
372
- isProcessing = false;
373
- currentStreamAbort = null;
374
- },
375
- };
376
- try {
377
- const { abort } = await agentService.streamMessage(message, callbacks, {
378
- conversationId,
379
- mcpState,
380
- cliMode: cliModeEnabled ? { enabled: true, streamRaw: rawStreamEnabled } : undefined,
381
- });
382
- currentStreamAbort = abort;
383
- }
384
- catch (error) {
385
- thinkingAnimation.clear();
386
- const errorMessage = error instanceof Error
387
- ? error.message
388
- : 'Unknown error occurred';
389
- console.log(renderError(errorMessage));
390
- isProcessing = false;
391
- currentStreamAbort = null;
392
- // Continue prompting after error
393
- setImmediate(() => {
394
- try {
395
- promptUser();
396
- }
397
- catch (e) {
398
- // If readline is closed, exit gracefully
399
- printResumeCommand();
400
- console.log(renderGoodbye());
401
- process.exit(0);
402
- }
403
- });
404
- }
405
- };
406
- // Start the prompt loop with error handling
407
- try {
408
- promptUser();
409
- }
410
- catch (error) {
411
- const errorMessage = error instanceof Error
412
- ? error.message
413
- : 'Unknown error occurred';
414
- console.error(errorColor(`\n❌ Failed to start chat: ${errorMessage}`));
415
- try {
416
- rl.close();
417
- }
418
- catch (e) {
419
- // Ignore cleanup errors
420
- }
421
- process.exit(1);
422
- }
423
- }
424
- /**
425
- * Send a single message (non-interactive mode)
426
- */
427
- export async function sendMessage(message, options = {}) {
428
- const { mcpState, onMcpToolCall } = options;
429
- const cliModeEnabled = isCliModeActive(options.cliMode);
430
- return new Promise((resolve, reject) => {
431
- let responseText = '';
432
- const callbacks = {
433
- onContent: (text, partial) => {
434
- if (!partial) {
435
- responseText = text;
436
- }
437
- else {
438
- responseText += text;
439
- }
440
- },
441
- onMcpToolCall: async (callId, serverName, toolName, args) => {
442
- if (onMcpToolCall) {
443
- return onMcpToolCall(callId, serverName, toolName, args);
444
- }
445
- return {
446
- content: [{ type: 'text', text: 'MCP not available' }],
447
- isError: true,
448
- };
449
- },
450
- onDone: () => {
451
- // Render based on mode
452
- const rendered = cliModeEnabled
453
- ? responseText
454
- : renderMarkdown(responseText);
455
- resolve(rendered.trim());
456
- },
457
- onError: (error) => {
458
- reject(new Error(error));
459
- },
460
- };
461
- agentService.streamMessage(message, callbacks, {
462
- mcpState,
463
- cliMode: cliModeEnabled ? { enabled: true } : undefined,
464
- });
465
- });
466
- }
467
- //# sourceMappingURL=chat.legacy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chat.legacy.js","sourceRoot":"","sources":["../../src/agent/chat.legacy.ts"],"names":[],"mappings":"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"}