openpaean 0.1.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.
Files changed (163) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +129 -0
  3. package/dist/agent/chat.ink.d.ts +28 -0
  4. package/dist/agent/chat.ink.d.ts.map +1 -0
  5. package/dist/agent/chat.ink.js +57 -0
  6. package/dist/agent/chat.ink.js.map +1 -0
  7. package/dist/agent/chat.legacy.d.ts +25 -0
  8. package/dist/agent/chat.legacy.d.ts.map +1 -0
  9. package/dist/agent/chat.legacy.js +299 -0
  10. package/dist/agent/chat.legacy.js.map +1 -0
  11. package/dist/agent/cli-mode.d.ts +35 -0
  12. package/dist/agent/cli-mode.d.ts.map +1 -0
  13. package/dist/agent/cli-mode.js +69 -0
  14. package/dist/agent/cli-mode.js.map +1 -0
  15. package/dist/agent/completer.d.ts +39 -0
  16. package/dist/agent/completer.d.ts.map +1 -0
  17. package/dist/agent/completer.js +101 -0
  18. package/dist/agent/completer.js.map +1 -0
  19. package/dist/agent/index.d.ts +15 -0
  20. package/dist/agent/index.d.ts.map +1 -0
  21. package/dist/agent/index.js +11 -0
  22. package/dist/agent/index.js.map +1 -0
  23. package/dist/agent/renderer.d.ts +53 -0
  24. package/dist/agent/renderer.d.ts.map +1 -0
  25. package/dist/agent/renderer.js +133 -0
  26. package/dist/agent/renderer.js.map +1 -0
  27. package/dist/agent/service.d.ts +44 -0
  28. package/dist/agent/service.d.ts.map +1 -0
  29. package/dist/agent/service.js +192 -0
  30. package/dist/agent/service.js.map +1 -0
  31. package/dist/agent/spinner.d.ts +37 -0
  32. package/dist/agent/spinner.d.ts.map +1 -0
  33. package/dist/agent/spinner.js +200 -0
  34. package/dist/agent/spinner.js.map +1 -0
  35. package/dist/agent/types.d.ts +84 -0
  36. package/dist/agent/types.d.ts.map +1 -0
  37. package/dist/agent/types.js +6 -0
  38. package/dist/agent/types.js.map +1 -0
  39. package/dist/api/auth.d.ts +71 -0
  40. package/dist/api/auth.d.ts.map +1 -0
  41. package/dist/api/auth.js +261 -0
  42. package/dist/api/auth.js.map +1 -0
  43. package/dist/api/client.d.ts +37 -0
  44. package/dist/api/client.d.ts.map +1 -0
  45. package/dist/api/client.js +101 -0
  46. package/dist/api/client.js.map +1 -0
  47. package/dist/api/todo.d.ts +223 -0
  48. package/dist/api/todo.d.ts.map +1 -0
  49. package/dist/api/todo.js +196 -0
  50. package/dist/api/todo.js.map +1 -0
  51. package/dist/cli.d.ts +7 -0
  52. package/dist/cli.d.ts.map +1 -0
  53. package/dist/cli.js +55 -0
  54. package/dist/cli.js.map +1 -0
  55. package/dist/commands/agent.d.ts +16 -0
  56. package/dist/commands/agent.d.ts.map +1 -0
  57. package/dist/commands/agent.js +132 -0
  58. package/dist/commands/agent.js.map +1 -0
  59. package/dist/commands/context.d.ts +7 -0
  60. package/dist/commands/context.d.ts.map +1 -0
  61. package/dist/commands/context.js +155 -0
  62. package/dist/commands/context.js.map +1 -0
  63. package/dist/commands/login.d.ts +7 -0
  64. package/dist/commands/login.d.ts.map +1 -0
  65. package/dist/commands/login.js +109 -0
  66. package/dist/commands/login.js.map +1 -0
  67. package/dist/commands/logout.d.ts +7 -0
  68. package/dist/commands/logout.d.ts.map +1 -0
  69. package/dist/commands/logout.js +27 -0
  70. package/dist/commands/logout.js.map +1 -0
  71. package/dist/commands/serve.d.ts +7 -0
  72. package/dist/commands/serve.d.ts.map +1 -0
  73. package/dist/commands/serve.js +29 -0
  74. package/dist/commands/serve.js.map +1 -0
  75. package/dist/commands/tasks.d.ts +7 -0
  76. package/dist/commands/tasks.d.ts.map +1 -0
  77. package/dist/commands/tasks.js +277 -0
  78. package/dist/commands/tasks.js.map +1 -0
  79. package/dist/commands/validate.d.ts +7 -0
  80. package/dist/commands/validate.d.ts.map +1 -0
  81. package/dist/commands/validate.js +123 -0
  82. package/dist/commands/validate.js.map +1 -0
  83. package/dist/index.d.ts +15 -0
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/index.js +23 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/mcp/client.d.ts +115 -0
  88. package/dist/mcp/client.d.ts.map +1 -0
  89. package/dist/mcp/client.js +439 -0
  90. package/dist/mcp/client.js.map +1 -0
  91. package/dist/mcp/resources.d.ts +14 -0
  92. package/dist/mcp/resources.d.ts.map +1 -0
  93. package/dist/mcp/resources.js +195 -0
  94. package/dist/mcp/resources.js.map +1 -0
  95. package/dist/mcp/server.d.ts +12 -0
  96. package/dist/mcp/server.d.ts.map +1 -0
  97. package/dist/mcp/server.js +82 -0
  98. package/dist/mcp/server.js.map +1 -0
  99. package/dist/mcp/tools.d.ts +14 -0
  100. package/dist/mcp/tools.d.ts.map +1 -0
  101. package/dist/mcp/tools.js +582 -0
  102. package/dist/mcp/tools.js.map +1 -0
  103. package/dist/ui/App.d.ts +15 -0
  104. package/dist/ui/App.d.ts.map +1 -0
  105. package/dist/ui/App.js +80 -0
  106. package/dist/ui/App.js.map +1 -0
  107. package/dist/ui/FullscreenApp.d.ts +16 -0
  108. package/dist/ui/FullscreenApp.d.ts.map +1 -0
  109. package/dist/ui/FullscreenApp.js +48 -0
  110. package/dist/ui/FullscreenApp.js.map +1 -0
  111. package/dist/ui/components/Header.d.ts +11 -0
  112. package/dist/ui/components/Header.d.ts.map +1 -0
  113. package/dist/ui/components/Header.js +6 -0
  114. package/dist/ui/components/Header.js.map +1 -0
  115. package/dist/ui/components/InputArea.d.ts +16 -0
  116. package/dist/ui/components/InputArea.d.ts.map +1 -0
  117. package/dist/ui/components/InputArea.js +109 -0
  118. package/dist/ui/components/InputArea.js.map +1 -0
  119. package/dist/ui/components/Spinner.d.ts +12 -0
  120. package/dist/ui/components/Spinner.d.ts.map +1 -0
  121. package/dist/ui/components/Spinner.js +8 -0
  122. package/dist/ui/components/Spinner.js.map +1 -0
  123. package/dist/ui/components/StreamingText.d.ts +13 -0
  124. package/dist/ui/components/StreamingText.d.ts.map +1 -0
  125. package/dist/ui/components/StreamingText.js +8 -0
  126. package/dist/ui/components/StreamingText.js.map +1 -0
  127. package/dist/ui/components/ToolCallIndicator.d.ts +14 -0
  128. package/dist/ui/components/ToolCallIndicator.d.ts.map +1 -0
  129. package/dist/ui/components/ToolCallIndicator.js +10 -0
  130. package/dist/ui/components/ToolCallIndicator.js.map +1 -0
  131. package/dist/ui/components/index.d.ts +9 -0
  132. package/dist/ui/components/index.d.ts.map +1 -0
  133. package/dist/ui/components/index.js +9 -0
  134. package/dist/ui/components/index.js.map +1 -0
  135. package/dist/ui/hooks/index.d.ts +6 -0
  136. package/dist/ui/hooks/index.d.ts.map +1 -0
  137. package/dist/ui/hooks/index.js +6 -0
  138. package/dist/ui/hooks/index.js.map +1 -0
  139. package/dist/ui/hooks/useAgentStream.d.ts +37 -0
  140. package/dist/ui/hooks/useAgentStream.d.ts.map +1 -0
  141. package/dist/ui/hooks/useAgentStream.js +122 -0
  142. package/dist/ui/hooks/useAgentStream.js.map +1 -0
  143. package/dist/ui/hooks/useCommands.d.ts +31 -0
  144. package/dist/ui/hooks/useCommands.d.ts.map +1 -0
  145. package/dist/ui/hooks/useCommands.js +108 -0
  146. package/dist/ui/hooks/useCommands.js.map +1 -0
  147. package/dist/ui/index.d.ts +7 -0
  148. package/dist/ui/index.d.ts.map +1 -0
  149. package/dist/ui/index.js +7 -0
  150. package/dist/ui/index.js.map +1 -0
  151. package/dist/utils/config.d.ts +70 -0
  152. package/dist/utils/config.d.ts.map +1 -0
  153. package/dist/utils/config.js +130 -0
  154. package/dist/utils/config.js.map +1 -0
  155. package/dist/utils/output.d.ts +79 -0
  156. package/dist/utils/output.d.ts.map +1 -0
  157. package/dist/utils/output.js +157 -0
  158. package/dist/utils/output.js.map +1 -0
  159. package/dist/utils/project.d.ts +29 -0
  160. package/dist/utils/project.d.ts.map +1 -0
  161. package/dist/utils/project.js +135 -0
  162. package/dist/utils/project.js.map +1 -0
  163. package/package.json +81 -0
@@ -0,0 +1,69 @@
1
+ /**
2
+ * CLI Mode Configuration
3
+ * Configures agent to return CLI-friendly output without markdown
4
+ */
5
+ /**
6
+ * System prompt suffix for CLI mode
7
+ * Instructs the agent to return plain text instead of markdown
8
+ */
9
+ export const CLI_MODE_PROMPT = `
10
+ [CLI Terminal Mode Active]
11
+ You are running in a CLI terminal environment. Follow these formatting rules:
12
+
13
+ OUTPUT FORMAT:
14
+ - Do NOT use markdown formatting (no **, *, #, \`\`\`, etc.)
15
+ - Use plain text with appropriate spacing and line breaks
16
+ - For code snippets, show as-is without code fences
17
+ - For lists, use simple dashes (-) or numbers (1. 2. 3.)
18
+ - For emphasis, use CAPS or [brackets] sparingly
19
+ - Keep output concise and scannable
20
+
21
+ STRUCTURE:
22
+ - Use blank lines to separate sections
23
+ - Indent nested content with 2 spaces
24
+ - Use --- for horizontal separators if needed
25
+ - Keep line width under 80 characters when possible
26
+
27
+ This ensures optimal display in terminal interfaces.
28
+ `;
29
+ /**
30
+ * Default CLI mode settings
31
+ */
32
+ export const DEFAULT_CLI_MODE = {
33
+ enabled: false,
34
+ streamRaw: false,
35
+ };
36
+ /**
37
+ * Create CLI mode configuration for API requests
38
+ */
39
+ export function createCliModeConfig(options = {}) {
40
+ return {
41
+ ...DEFAULT_CLI_MODE,
42
+ ...options,
43
+ };
44
+ }
45
+ /**
46
+ * Check if CLI mode is active based on environment or options
47
+ */
48
+ export function isCliModeActive(options) {
49
+ // Check environment variable
50
+ if (process.env.PAEAN_CLI_MODE === 'true' || process.env.PAEAN_CLI_MODE === '1') {
51
+ return true;
52
+ }
53
+ // Check explicit option
54
+ return options?.enabled ?? false;
55
+ }
56
+ /**
57
+ * Check if raw streaming is enabled
58
+ */
59
+ export function isRawStreamEnabled(options) {
60
+ if (!isCliModeActive(options)) {
61
+ return false;
62
+ }
63
+ // Check environment variable
64
+ if (process.env.PAEAN_RAW_STREAM === 'true' || process.env.PAEAN_RAW_STREAM === '1') {
65
+ return true;
66
+ }
67
+ return options?.streamRaw ?? false;
68
+ }
69
+ //# sourceMappingURL=cli-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-mode.js","sourceRoot":"","sources":["../../src/agent/cli-mode.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;CAmB9B,CAAC;AAYF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAmB;IAC5C,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,KAAK;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAmC,EAAE;IACrE,OAAO;QACH,GAAG,gBAAgB;QACnB,GAAG,OAAO;KACb,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAiC;IAC7D,6BAA6B;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,GAAG,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wBAAwB;IACxB,OAAO,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAiC;IAChE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,GAAG,EAAE,CAAC;QAClF,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,OAAO,EAAE,SAAS,IAAI,KAAK,CAAC;AACvC,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Command Completer for CLI
3
+ * Provides tab completion for slash commands
4
+ */
5
+ /**
6
+ * Command definition
7
+ */
8
+ export interface CommandDef {
9
+ name: string;
10
+ description: string;
11
+ aliases?: string[];
12
+ }
13
+ /**
14
+ * Available slash commands
15
+ */
16
+ export declare const COMMANDS: CommandDef[];
17
+ /**
18
+ * Get all command names (including aliases)
19
+ */
20
+ export declare function getAllCommandNames(): string[];
21
+ /**
22
+ * Readline completer function for slash commands
23
+ * @param line Current input line
24
+ * @returns [completions, substring] tuple for readline
25
+ */
26
+ export declare function commandCompleter(line: string): [string[], string];
27
+ /**
28
+ * Render command help as formatted string
29
+ */
30
+ export declare function renderCommandHelp(): string;
31
+ /**
32
+ * Check if input is a known command
33
+ */
34
+ export declare function isCommand(input: string): boolean;
35
+ /**
36
+ * Get command definition by name (including alias lookup)
37
+ */
38
+ export declare function getCommandDef(input: string): CommandDef | undefined;
39
+ //# sourceMappingURL=completer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completer.d.ts","sourceRoot":"","sources":["../../src/agent/completer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;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,EAWhC,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,EAAE,CAS7C;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAqBjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAqB1C;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"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Command Completer for CLI
3
+ * Provides tab completion for slash commands
4
+ */
5
+ import chalk from 'chalk';
6
+ /**
7
+ * Available slash commands
8
+ */
9
+ export const COMMANDS = [
10
+ { name: '/exit', description: 'Exit the chat session', aliases: ['/quit', '/q'] },
11
+ { name: '/quit', description: 'Exit the chat session' },
12
+ { name: '/clear', description: 'Clear the screen', aliases: ['/cls'] },
13
+ { name: '/help', description: 'Show available commands', aliases: ['/h', '/?'] },
14
+ { name: '/model', description: 'Switch AI model' },
15
+ { name: '/debug', description: 'Toggle debug mode' },
16
+ { name: '/mcp', description: 'Show MCP connection status' },
17
+ { name: '/history', description: 'Show conversation history' },
18
+ { name: '/export', description: 'Export conversation to file' },
19
+ { name: '/raw', description: 'Toggle raw output mode (no markdown)' },
20
+ ];
21
+ /**
22
+ * Get all command names (including aliases)
23
+ */
24
+ export function getAllCommandNames() {
25
+ const names = [];
26
+ for (const cmd of COMMANDS) {
27
+ names.push(cmd.name);
28
+ if (cmd.aliases) {
29
+ names.push(...cmd.aliases);
30
+ }
31
+ }
32
+ return names;
33
+ }
34
+ /**
35
+ * Readline completer function for slash commands
36
+ * @param line Current input line
37
+ * @returns [completions, substring] tuple for readline
38
+ */
39
+ export function commandCompleter(line) {
40
+ // Only complete if line starts with /
41
+ if (!line.startsWith('/')) {
42
+ return [[], line];
43
+ }
44
+ const allNames = getAllCommandNames();
45
+ const matches = allNames.filter(name => name.startsWith(line.toLowerCase()));
46
+ // If exact match exists, return it
47
+ if (matches.length === 1) {
48
+ return [matches, line];
49
+ }
50
+ // If multiple matches or no matches, show all matching commands
51
+ if (matches.length > 0) {
52
+ return [matches, line];
53
+ }
54
+ // No matches - show all commands
55
+ return [COMMANDS.map(c => c.name), line];
56
+ }
57
+ /**
58
+ * Render command help as formatted string
59
+ */
60
+ export function renderCommandHelp() {
61
+ const lines = [
62
+ '',
63
+ chalk.bold.cyan(' Available Commands:'),
64
+ '',
65
+ ];
66
+ for (const cmd of COMMANDS) {
67
+ const aliases = cmd.aliases?.length
68
+ ? chalk.dim(` (${cmd.aliases.join(', ')})`)
69
+ : '';
70
+ lines.push(` ${chalk.yellow(cmd.name.padEnd(12))} ${chalk.dim(cmd.description)}${aliases}`);
71
+ }
72
+ lines.push('');
73
+ lines.push(chalk.dim(' Press Tab after / to autocomplete commands'));
74
+ lines.push('');
75
+ return lines.join('\n');
76
+ }
77
+ /**
78
+ * Check if input is a known command
79
+ */
80
+ export function isCommand(input) {
81
+ const normalized = input.toLowerCase().trim();
82
+ return getAllCommandNames().includes(normalized);
83
+ }
84
+ /**
85
+ * Get command definition by name (including alias lookup)
86
+ */
87
+ export function getCommandDef(input) {
88
+ const normalized = input.toLowerCase().trim();
89
+ // Direct match
90
+ const direct = COMMANDS.find(c => c.name === normalized);
91
+ if (direct)
92
+ return direct;
93
+ // Alias match
94
+ for (const cmd of COMMANDS) {
95
+ if (cmd.aliases?.includes(normalized)) {
96
+ return cmd;
97
+ }
98
+ }
99
+ return undefined;
100
+ }
101
+ //# sourceMappingURL=completer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completer.js","sourceRoot":"","sources":["../../src/agent/completer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Agent Module Index
3
+ * Export agent functionality
4
+ */
5
+ export { AgentService, agentService } from './service.js';
6
+ export { startChat, sendMessage } from './chat.ink.js';
7
+ export { renderMarkdown, renderToolCall, renderToolResult, renderMcpToolCall, renderMcpToolResult, renderError, renderSuccess, renderPrompt, renderAgentLabel, renderWelcome, renderGoodbye, renderThinking, } from './renderer.js';
8
+ export { createThinkingSpinner, createToolCallSpinner, createMcpSpinner, createLoadingSpinner, } from './spinner.js';
9
+ export type { SpinnerController, SpinnerType } from './spinner.js';
10
+ export { commandCompleter, renderCommandHelp, COMMANDS, getAllCommandNames, isCommand, getCommandDef, } from './completer.js';
11
+ export type { CommandDef } from './completer.js';
12
+ export { CLI_MODE_PROMPT, DEFAULT_CLI_MODE, createCliModeConfig, isCliModeActive, isRawStreamEnabled, } from './cli-mode.js';
13
+ export type { CliModeOptions } from './cli-mode.js';
14
+ export type { AgentStreamEvent, AgentStreamCallbacks, McpState, McpToolResult, McpContentItem, McpServerStatus, McpToolInfo, } from './types.js';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EACH,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACvB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,SAAS,EACT,aAAa,GAChB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACH,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACrB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EACR,gBAAgB,EAChB,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,cAAc,EACd,eAAe,EACf,WAAW,GACd,MAAM,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Agent Module Index
3
+ * Export agent functionality
4
+ */
5
+ export { AgentService, agentService } from './service.js';
6
+ export { startChat, sendMessage } from './chat.ink.js';
7
+ export { renderMarkdown, renderToolCall, renderToolResult, renderMcpToolCall, renderMcpToolResult, renderError, renderSuccess, renderPrompt, renderAgentLabel, renderWelcome, renderGoodbye, renderThinking, } from './renderer.js';
8
+ export { createThinkingSpinner, createToolCallSpinner, createMcpSpinner, createLoadingSpinner, } from './spinner.js';
9
+ export { commandCompleter, renderCommandHelp, COMMANDS, getAllCommandNames, isCommand, getCommandDef, } from './completer.js';
10
+ export { CLI_MODE_PROMPT, DEFAULT_CLI_MODE, createCliModeConfig, isCliModeActive, isRawStreamEnabled, } from './cli-mode.js';
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EACH,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,cAAc,GACjB,MAAM,eAAe,CAAC;AACvB,OAAO,EACH,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,GACvB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,kBAAkB,EAClB,SAAS,EACT,aAAa,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACH,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,GACrB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Markdown Renderer for CLI
3
+ * Beautiful terminal markdown rendering using marked + marked-terminal
4
+ */
5
+ /**
6
+ * Render markdown text to styled terminal output
7
+ */
8
+ export declare function renderMarkdown(text: string): string;
9
+ /**
10
+ * Render a tool call indicator
11
+ */
12
+ export declare function renderToolCall(name: string): string;
13
+ /**
14
+ * Render a tool result indicator
15
+ */
16
+ export declare function renderToolResult(name: string, success?: boolean): string;
17
+ /**
18
+ * Render MCP tool call indicator
19
+ */
20
+ export declare function renderMcpToolCall(serverName: string, toolName: string): string;
21
+ /**
22
+ * Render MCP tool result indicator
23
+ */
24
+ export declare function renderMcpToolResult(serverName: string, toolName: string, success?: boolean): string;
25
+ /**
26
+ * Render an error message
27
+ */
28
+ export declare function renderError(message: string): string;
29
+ /**
30
+ * Render a success message
31
+ */
32
+ export declare function renderSuccess(message: string): string;
33
+ /**
34
+ * Render the agent prompt
35
+ */
36
+ export declare function renderPrompt(): string;
37
+ /**
38
+ * Render the agent label
39
+ */
40
+ export declare function renderAgentLabel(): string;
41
+ /**
42
+ * Render welcome message
43
+ */
44
+ export declare function renderWelcome(mcpToolCount?: number): string;
45
+ /**
46
+ * Render goodbye message
47
+ */
48
+ export declare function renderGoodbye(): string;
49
+ /**
50
+ * Render thinking indicator
51
+ */
52
+ export declare function renderThinking(): string;
53
+ //# sourceMappingURL=renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/agent/renderer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqCH;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAanD;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,YAAY,IAAI,MAAM,CAErC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB3D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Markdown Renderer for CLI
3
+ * Beautiful terminal markdown rendering using marked + marked-terminal
4
+ */
5
+ import { Marked } from 'marked';
6
+ import { markedTerminal } from 'marked-terminal';
7
+ import chalk from 'chalk';
8
+ // Configure marked with terminal renderer
9
+ const marked = new Marked();
10
+ marked.use(markedTerminal({
11
+ // Code blocks
12
+ code: chalk.bgGray.white,
13
+ blockquote: chalk.gray.italic,
14
+ // Headers
15
+ heading: chalk.bold.cyan,
16
+ firstHeading: chalk.bold.magenta,
17
+ // Text styles
18
+ strong: chalk.bold,
19
+ em: chalk.italic,
20
+ del: chalk.strikethrough.gray,
21
+ // Links and references
22
+ link: chalk.blue.underline,
23
+ href: chalk.blue.underline,
24
+ // Lists
25
+ listitem: chalk.reset,
26
+ // Code highlighting
27
+ codespan: chalk.yellow,
28
+ // Misc
29
+ unescape: true,
30
+ emoji: true,
31
+ width: process.stdout.columns || 80,
32
+ showSectionPrefix: false,
33
+ reflowText: true,
34
+ tab: 2,
35
+ }));
36
+ /**
37
+ * Render markdown text to styled terminal output
38
+ */
39
+ export function renderMarkdown(text) {
40
+ try {
41
+ const result = marked.parse(text);
42
+ // Handle both sync and async results (marked can return a promise)
43
+ if (typeof result === 'string') {
44
+ return result;
45
+ }
46
+ // If it's a promise, we'll handle it synchronously for now
47
+ return text;
48
+ }
49
+ catch {
50
+ // Fallback to plain text on error
51
+ return text;
52
+ }
53
+ }
54
+ /**
55
+ * Render a tool call indicator
56
+ */
57
+ export function renderToolCall(name) {
58
+ return chalk.dim(`๐Ÿ”ง Using tool: ${chalk.cyan(name)}...`);
59
+ }
60
+ /**
61
+ * Render a tool result indicator
62
+ */
63
+ export function renderToolResult(name, success = true) {
64
+ const icon = success ? chalk.green('โœ“') : chalk.red('โœ—');
65
+ return chalk.dim(`${icon} Tool ${chalk.cyan(name)} completed`);
66
+ }
67
+ /**
68
+ * Render MCP tool call indicator
69
+ */
70
+ export function renderMcpToolCall(serverName, toolName) {
71
+ return chalk.dim(`๐Ÿ”— MCP: ${chalk.yellow(serverName)} โ†’ ${chalk.cyan(toolName)}...`);
72
+ }
73
+ /**
74
+ * Render MCP tool result indicator
75
+ */
76
+ export function renderMcpToolResult(serverName, toolName, success = true) {
77
+ const icon = success ? chalk.green('โœ“') : chalk.red('โœ—');
78
+ return chalk.dim(`${icon} MCP: ${chalk.yellow(serverName)} โ†’ ${chalk.cyan(toolName)} completed`);
79
+ }
80
+ /**
81
+ * Render an error message
82
+ */
83
+ export function renderError(message) {
84
+ return chalk.red(`\nโŒ Error: ${message}\n`);
85
+ }
86
+ /**
87
+ * Render a success message
88
+ */
89
+ export function renderSuccess(message) {
90
+ return chalk.green(`โœ“ ${message}`);
91
+ }
92
+ /**
93
+ * Render the agent prompt
94
+ */
95
+ export function renderPrompt() {
96
+ return chalk.bold.blue('You: ');
97
+ }
98
+ /**
99
+ * Render the agent label
100
+ */
101
+ export function renderAgentLabel() {
102
+ return chalk.bold.magenta('Pรฆan: ');
103
+ }
104
+ /**
105
+ * Render welcome message
106
+ */
107
+ export function renderWelcome(mcpToolCount) {
108
+ const lines = [
109
+ '',
110
+ chalk.bold.cyan('โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ'),
111
+ chalk.bold.cyan('โ”‚') + chalk.bold.white(' Pรฆan AI Agent Mode ') + chalk.bold.cyan('โ”‚'),
112
+ chalk.bold.cyan('โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ'),
113
+ '',
114
+ ];
115
+ if (mcpToolCount !== undefined && mcpToolCount > 0) {
116
+ lines.push(chalk.dim(` ๐Ÿ”— MCP: ${chalk.green(mcpToolCount)} tools connected`));
117
+ }
118
+ lines.push(chalk.dim(' Type your message and press Enter to send.'), chalk.dim(' Press Ctrl+C to exit.'), '');
119
+ return lines.join('\n');
120
+ }
121
+ /**
122
+ * Render goodbye message
123
+ */
124
+ export function renderGoodbye() {
125
+ return chalk.dim('\n๐Ÿ‘‹ Goodbye!\n');
126
+ }
127
+ /**
128
+ * Render thinking indicator
129
+ */
130
+ export function renderThinking() {
131
+ return chalk.dim('๐Ÿ’ญ Thinking...');
132
+ }
133
+ //# sourceMappingURL=renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/agent/renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Agent Service
3
+ * SSE-based streaming agent service for communicating with Paean AI cloud
4
+ */
5
+ import type { CliModeOptions } from './cli-mode.js';
6
+ import type { AgentStreamCallbacks, McpState, McpToolResult } from './types.js';
7
+ /**
8
+ * Stream options for agent messages
9
+ */
10
+ export interface StreamOptions {
11
+ conversationId?: string;
12
+ mcpState?: McpState;
13
+ cliMode?: Partial<CliModeOptions>;
14
+ }
15
+ /**
16
+ * Agent Service class for streaming communication
17
+ */
18
+ export declare class AgentService {
19
+ private abortController;
20
+ /**
21
+ * Stream a message to the agent and handle SSE events
22
+ */
23
+ streamMessage(message: string, callbacks: AgentStreamCallbacks, options?: StreamOptions): Promise<{
24
+ abort: () => void;
25
+ }>;
26
+ /**
27
+ * Process SSE stream
28
+ */
29
+ private processStream;
30
+ /**
31
+ * Handle individual SSE events
32
+ */
33
+ private handleEvent;
34
+ /**
35
+ * Submit MCP tool result back to the API
36
+ */
37
+ submitMcpResult(conversationId: string, callId: string, result: McpToolResult): Promise<boolean>;
38
+ /**
39
+ * Abort the current stream
40
+ */
41
+ abort(): void;
42
+ }
43
+ export declare const agentService: AgentService;
44
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/agent/service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,KAAK,EAER,oBAAoB,EACpB,QAAQ,EACR,aAAa,EAChB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,qBAAa,YAAY;IACrB,OAAO,CAAC,eAAe,CAAgC;IAEvD;;OAEG;IACG,aAAa,CACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,oBAAoB,EAC/B,OAAO,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAmDjC;;OAEG;YACW,aAAa;IAuC3B;;OAEG;YACW,WAAW;IAgGzB;;OAEG;IACG,eAAe,CACjB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,aAAa,GACtB,OAAO,CAAC,OAAO,CAAC;IAqBnB;;OAEG;IACH,KAAK,IAAI,IAAI;CAGhB;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC"}