paean 0.9.9 → 0.10.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.
Files changed (59) hide show
  1. package/dist/agent/cli-mode.d.ts.map +1 -1
  2. package/dist/agent/cli-mode.js +21 -13
  3. package/dist/agent/cli-mode.js.map +1 -1
  4. package/dist/agent/completer.d.ts.map +1 -1
  5. package/dist/agent/completer.js +12 -4
  6. package/dist/agent/completer.js.map +1 -1
  7. package/dist/mcp/coding-tools.d.ts +18 -0
  8. package/dist/mcp/coding-tools.d.ts.map +1 -0
  9. package/dist/mcp/coding-tools.js +920 -0
  10. package/dist/mcp/coding-tools.js.map +1 -0
  11. package/dist/mcp/tools.d.ts.map +1 -1
  12. package/dist/mcp/tools.js +16 -4
  13. package/dist/mcp/tools.js.map +1 -1
  14. package/dist/ui/App.d.ts.map +1 -1
  15. package/dist/ui/App.js +7 -7
  16. package/dist/ui/App.js.map +1 -1
  17. package/dist/ui/ToolCallDisplay.d.ts +1 -1
  18. package/dist/ui/ToolCallDisplay.d.ts.map +1 -1
  19. package/dist/ui/ToolCallDisplay.js +102 -27
  20. package/dist/ui/ToolCallDisplay.js.map +1 -1
  21. package/dist/ui/components/Header.d.ts +1 -2
  22. package/dist/ui/components/Header.d.ts.map +1 -1
  23. package/dist/ui/components/Header.js +17 -19
  24. package/dist/ui/components/Header.js.map +1 -1
  25. package/dist/ui/components/InputArea.d.ts.map +1 -1
  26. package/dist/ui/components/InputArea.js +4 -10
  27. package/dist/ui/components/InputArea.js.map +1 -1
  28. package/dist/ui/components/Spinner.d.ts +1 -2
  29. package/dist/ui/components/Spinner.d.ts.map +1 -1
  30. package/dist/ui/components/Spinner.js +13 -56
  31. package/dist/ui/components/Spinner.js.map +1 -1
  32. package/dist/ui/components/StatusBar.d.ts +13 -0
  33. package/dist/ui/components/StatusBar.d.ts.map +1 -0
  34. package/dist/ui/components/StatusBar.js +37 -0
  35. package/dist/ui/components/StatusBar.js.map +1 -0
  36. package/dist/ui/components/StreamingText.d.ts +1 -2
  37. package/dist/ui/components/StreamingText.d.ts.map +1 -1
  38. package/dist/ui/components/StreamingText.js +6 -22
  39. package/dist/ui/components/StreamingText.js.map +1 -1
  40. package/dist/ui/components/ToolCallIndicator.d.ts +22 -19
  41. package/dist/ui/components/ToolCallIndicator.d.ts.map +1 -1
  42. package/dist/ui/components/ToolCallIndicator.js +187 -22
  43. package/dist/ui/components/ToolCallIndicator.js.map +1 -1
  44. package/dist/ui/components/index.d.ts +1 -0
  45. package/dist/ui/components/index.d.ts.map +1 -1
  46. package/dist/ui/components/index.js +1 -0
  47. package/dist/ui/components/index.js.map +1 -1
  48. package/dist/ui/hooks/useAgentStream.d.ts.map +1 -1
  49. package/dist/ui/hooks/useAgentStream.js +17 -6
  50. package/dist/ui/hooks/useAgentStream.js.map +1 -1
  51. package/dist/ui/hooks/useCommands.d.ts +12 -1
  52. package/dist/ui/hooks/useCommands.d.ts.map +1 -1
  53. package/dist/ui/hooks/useCommands.js +155 -37
  54. package/dist/ui/hooks/useCommands.js.map +1 -1
  55. package/dist/ui/theme/ink-theme.d.ts +24 -1
  56. package/dist/ui/theme/ink-theme.d.ts.map +1 -1
  57. package/dist/ui/theme/ink-theme.js +47 -24
  58. package/dist/ui/theme/ink-theme.js.map +1 -1
  59. package/package.json +1 -1
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Header Component
3
- * Compact header with box-drawing ASCII logo + status info side-by-side
4
- * Box-drawing chars (╭╮│─) connect seamlessly across cell boundaries
3
+ * Compact branded header with status badges
5
4
  */
6
5
  import React from 'react';
7
6
  interface HeaderProps {
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Header.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC,UAAU,WAAW;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAaD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA8CxC,CAAC"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Header.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC,UAAU,WAAW;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAYD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA+CxC,CAAC"}
@@ -1,36 +1,34 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  * Header Component
4
- * Compact header with box-drawing ASCII logo + status info side-by-side
5
- * Box-drawing chars (╭╮│─) connect seamlessly across cell boundaries
4
+ * Compact branded header with status badges
6
5
  */
7
6
  import { useMemo } from 'react';
8
7
  import { Box, Text } from 'ink';
9
- import { ASCII_LOGO, INK_COLORS, SEPARATOR_CHAR } from '../theme/ink-theme.js';
8
+ import { ASCII_LOGO, SEPARATOR_CHAR, COLORS } from '../theme/ink-theme.js';
10
9
  import { useTerminalSize } from '../hooks/index.js';
11
- /** Render a single logo line's segments with appropriate colors */
12
- const LogoLine = ({ segments }) => (_jsx(_Fragment, { children: segments.map((seg, i) => (_jsx(Text, { color: seg.accent ? '#3DD8EB' : INK_COLORS.primary, children: seg.text }, i))) }));
10
+ const LogoLine = ({ segments }) => (_jsx(_Fragment, { children: segments.map((seg, i) => (_jsx(Text, { color: seg.accent ? COLORS.primary : COLORS.primaryDim, children: seg.text }, i))) }));
13
11
  export const Header = ({ mcpToolCount, gatewayOnline, wechatOnline }) => {
14
12
  const { columns } = useTerminalSize();
15
13
  const separatorLine = useMemo(() => {
16
- const width = Math.max(0, columns - 2);
17
- return SEPARATOR_CHAR.repeat(width);
14
+ return SEPARATOR_CHAR.repeat(Math.max(0, columns - 2));
18
15
  }, [columns]);
19
- // Build status badges
20
- const badges = [];
21
- if (mcpToolCount && mcpToolCount > 0)
22
- badges.push(`⚡ ${mcpToolCount} tools`);
23
- if (gatewayOnline)
24
- badges.push('⬡ Gateway');
25
- if (wechatOnline)
26
- badges.push('💬 WeChat');
27
16
  const cwd = process.cwd().replace(process.env['HOME'] ?? '', '~');
28
- // Build info lines to match logo row count
17
+ const badges = useMemo(() => {
18
+ const b = [];
19
+ if (mcpToolCount && mcpToolCount > 0)
20
+ b.push({ label: `${mcpToolCount} tools`, color: COLORS.success });
21
+ if (gatewayOnline)
22
+ b.push({ label: 'Gateway', color: COLORS.success });
23
+ if (wechatOnline)
24
+ b.push({ label: 'WeChat', color: '#07C160' });
25
+ return b;
26
+ }, [mcpToolCount, gatewayOnline, wechatOnline]);
29
27
  const infoElements = [
30
- _jsx(Text, { bold: true, children: "Paean Agent CLI" }, "name"),
28
+ _jsx(Text, { color: COLORS.primary, bold: true, children: "Paean Agent CLI" }, "name"),
31
29
  badges.length > 0
32
- ? _jsx(Text, { color: INK_COLORS.success, children: badges.join(' · ') }, "status")
33
- : _jsx(Text, { dimColor: true, children: "Interactive Agent Session" }, "status"),
30
+ ? _jsx(Box, { gap: 1, children: badges.map((b, i) => (_jsx(Text, { color: b.color, children: b.label }, i))) }, "badges")
31
+ : _jsx(Text, { dimColor: true, children: "Interactive Session" }, "status"),
34
32
  _jsx(Text, { dimColor: true, children: cwd }, "cwd"),
35
33
  ];
36
34
  return (_jsxs(Box, { flexDirection: "column", marginBottom: 0, children: [ASCII_LOGO.map((segments, i) => (_jsxs(Box, { children: [_jsx(LogoLine, { segments: segments }), infoElements[i] && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), infoElements[i]] }))] }, i))), _jsx(Box, { children: _jsx(Text, { color: "gray", children: separatorLine }) })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/ui/components/Header.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUpD,mEAAmE;AACnE,MAAM,QAAQ,GAA0C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACtE,4BACK,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,KAAC,IAAI,IAAS,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,YAC3D,GAAG,CAAC,IAAI,IADF,CAAC,CAEL,CACV,CAAC,GACH,CACN,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAA0B,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE;IAC3F,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IAEtC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QACvC,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,sBAAsB;IACtB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,YAAY,IAAI,YAAY,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,QAAQ,CAAC,CAAC;IAC7E,IAAI,aAAa;QAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,YAAY;QAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IAElE,2CAA2C;IAC3C,MAAM,YAAY,GAAG;QACjB,KAAC,IAAI,IAAY,IAAI,uCAAX,MAAM,CAA4B;QAC5C,MAAM,CAAC,MAAM,GAAG,CAAC;YACb,CAAC,CAAC,KAAC,IAAI,IAAc,KAAK,EAAE,UAAU,CAAC,OAAO,YAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAvD,QAAQ,CAAuD;YAC3E,CAAC,CAAC,KAAC,IAAI,IAAc,QAAQ,iDAAjB,QAAQ,CAA0C;QAClE,KAAC,IAAI,IAAW,QAAQ,kBAAE,GAAG,IAAnB,KAAK,CAAsB;KACxC,CAAC;IAEF,OAAO,CACH,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aAEtC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAC7B,MAAC,GAAG,eACA,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAC/B,YAAY,CAAC,CAAC,CAAC,IAAI,CAChB,8BACI,KAAC,IAAI,qBAAU,EACd,YAAY,CAAC,CAAC,CAAC,IACjB,CACN,KAPK,CAAC,CAQL,CACT,CAAC,EAGF,KAAC,GAAG,cACA,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,aAAa,GAAQ,GACvC,IACJ,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/ui/components/Header.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAA+C,MAAM,OAAO,CAAC;AAWpE,UAAU,cAAc;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAkW9C,CAAC"}
1
+ {"version":3,"file":"InputArea.d.ts","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAU3D,UAAU,cAAc;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAgV9C,CAAC"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  /**
3
3
  * InputArea Component
4
4
  * User input with command handling using useStdin for raw input handling
@@ -6,10 +6,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
6
6
  * input history (Up/Down), cursor movement (Left/Right),
7
7
  * and multi-line input (backslash continuation)
8
8
  */
9
- import { useState, useEffect, useRef, useMemo } from 'react';
9
+ import { useState, useEffect, useRef } from 'react';
10
10
  import { Box, Text, useStdin } from 'ink';
11
- import { SYMBOLS, INK_COLORS, SEPARATOR_CHAR } from '../theme/ink-theme.js';
12
- import { useTerminalSize } from '../hooks/index.js';
11
+ import { SYMBOLS, INK_COLORS } from '../theme/ink-theme.js';
13
12
  /** Maximum number of input history entries to retain */
14
13
  const MAX_HISTORY = 100;
15
14
  /** Debounce window for batching rapid IME composition input (ms) */
@@ -42,11 +41,6 @@ export const InputArea = ({ onSubmit, onInputChange, onTabComplete, suggestions
42
41
  callbacksRef.current.onInputChange?.(value);
43
42
  }
44
43
  }, [value]);
45
- const { columns } = useTerminalSize();
46
- const separatorLine = useMemo(() => {
47
- const width = Math.max(0, columns - 2);
48
- return SEPARATOR_CHAR.repeat(width);
49
- }, [columns]);
50
44
  useEffect(() => {
51
45
  setRawMode(true);
52
46
  rawModeRef.current = true;
@@ -276,6 +270,6 @@ export const InputArea = ({ onSubmit, onInputChange, onTabComplete, suggestions
276
270
  const beforeCursor = value.slice(0, cursorPos);
277
271
  const afterCursor = value.slice(cursorPos);
278
272
  const isMultiLine = value.includes('\n');
279
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { children: _jsx(Text, { color: "gray", children: separatorLine }) }), _jsxs(Box, { marginTop: 0, children: [_jsxs(Text, { color: INK_COLORS.primary, children: [SYMBOLS.prompt, " "] }), disabled ? (_jsx(Text, { dimColor: true, children: "..." })) : (_jsxs(_Fragment, { children: [_jsx(Text, { children: beforeCursor }), _jsx(Text, { color: INK_COLORS.primary, children: "\u258C" }), _jsx(Text, { children: afterCursor })] }))] }), !disabled && isMultiLine && (_jsx(Box, { marginLeft: 2, children: _jsx(Text, { dimColor: true, children: "... (multi-line, press Enter to send)" }) })), !disabled && suggestions.length > 0 && (_jsxs(Box, { marginLeft: 2, marginTop: 0, flexDirection: "column", children: [_jsx(Text, { dimColor: true, children: "+- Commands -+" }), suggestions.slice(0, 5).map((suggestion, i) => (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: "| " }), _jsx(Text, { color: INK_COLORS.success, children: suggestion })] }, i))), _jsx(Text, { dimColor: true, children: "+-- Tab to complete" })] })), _jsx(Box, { marginTop: 0, children: _jsx(Text, { color: "gray", children: separatorLine }) })] }));
273
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { marginTop: 0, children: [_jsxs(Text, { color: disabled ? 'gray' : INK_COLORS.primary, children: [SYMBOLS.prompt, " "] }), disabled ? (_jsx(Text, { dimColor: true, children: "Processing\u2026" })) : (_jsxs(_Fragment, { children: [_jsx(Text, { children: beforeCursor }), _jsx(Text, { inverse: true, children: " " }), _jsx(Text, { children: afterCursor })] }))] }), !disabled && isMultiLine && (_jsx(Box, { marginLeft: 2, children: _jsx(Text, { dimColor: true, children: "\u2026 (multi-line, Enter to send)" }) })), !disabled && suggestions.length > 0 && (_jsxs(Box, { marginLeft: 2, marginTop: 0, flexDirection: "column", children: [suggestions.slice(0, 6).map((suggestion, i) => (_jsxs(Box, { children: [_jsx(Text, { dimColor: true, children: " " }), _jsx(Text, { color: INK_COLORS.success, children: suggestion })] }, i))), _jsx(Text, { dimColor: true, children: " Tab to complete" })] }))] }));
280
274
  };
281
275
  //# sourceMappingURL=InputArea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputArea.js","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputArea.js","sourceRoot":"","sources":["../../../src/ui/components/InputArea.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Spinner Component
3
- * Loading indicator with Paean brand styling
4
- * Features: Animated thinking indicator with glow effect, tool call status, MCP status
3
+ * Animated loading indicator with contextual messages
5
4
  */
6
5
  import React from 'react';
7
6
  interface SpinnerProps {
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Spinner.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAuC,MAAM,OAAO,CAAC;AAI5D,UAAU,YAAY;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAwF1C,CAAC"}
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Spinner.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,UAAU,YAAY;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,CAAC;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAmC1C,CAAC"}
@@ -1,75 +1,32 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  * Spinner Component
4
- * Loading indicator with Paean brand styling
5
- * Features: Animated thinking indicator with glow effect, tool call status, MCP status
4
+ * Animated loading indicator with contextual messages
6
5
  */
7
- import { useState, useEffect, useMemo } from 'react';
6
+ import { useState, useEffect } from 'react';
8
7
  import { Box, Text } from 'ink';
9
- import { SYMBOLS, INK_COLORS, THINKING_FRAMES, THINKING_MESSAGES } from '../theme/ink-theme.js';
10
- export const Spinner = ({ label = 'Thinking...', type = 'thinking', charCount }) => {
11
- const [frameIndex, setFrameIndex] = useState(0);
12
- const [glowIntensity, setGlowIntensity] = useState(0);
8
+ import InkSpinner from 'ink-spinner';
9
+ import { COLORS, THINKING_MESSAGES } from '../theme/ink-theme.js';
10
+ export const Spinner = ({ label = 'Thinking…', type = 'thinking', charCount }) => {
13
11
  const [messageIndex, setMessageIndex] = useState(0);
14
- // Animation effect
15
- useEffect(() => {
16
- const interval = setInterval(() => {
17
- setFrameIndex(prev => (prev + 1) % THINKING_FRAMES.length);
18
- // Glow intensity cycles 0-4 for pulsing effect
19
- setGlowIntensity(prev => (prev + 1) % 5);
20
- }, 100);
21
- return () => clearInterval(interval);
22
- }, []);
23
- // Cycle through thinking messages every 2 seconds
24
12
  useEffect(() => {
25
13
  if (type === 'thinking') {
26
14
  const interval = setInterval(() => {
27
15
  setMessageIndex(prev => (prev + 1) % THINKING_MESSAGES.length);
28
- }, 2000);
16
+ }, 3000);
29
17
  return () => clearInterval(interval);
30
18
  }
31
19
  return undefined;
32
20
  }, [type]);
33
- // Color based on type
34
- const color = type === 'mcp' ? INK_COLORS.warning
35
- : type === 'tool' ? INK_COLORS.secondary
36
- : type === 'receiving' ? INK_COLORS.success
37
- : INK_COLORS.primary;
38
- // Icon based on type - use animated frames for thinking
39
- const icon = type === 'mcp' ? SYMBOLS.mcp
40
- : type === 'tool' ? SYMBOLS.tool
41
- : type === 'receiving' ? '📝'
42
- : THINKING_FRAMES[frameIndex];
43
- // Dynamic label for thinking or receiving
21
+ const color = type === 'mcp' ? COLORS.warning
22
+ : type === 'tool' ? COLORS.secondary
23
+ : type === 'receiving' ? COLORS.success
24
+ : COLORS.primary;
44
25
  const displayLabel = type === 'thinking'
45
26
  ? THINKING_MESSAGES[messageIndex]
46
27
  : type === 'receiving' && charCount !== undefined
47
- ? `Receiving... (${charCount} chars)`
28
+ ? `Receiving (${charCount} chars)`
48
29
  : label;
49
- // Glow effect using brightness cycling
50
- const glowStyles = useMemo(() => {
51
- if (type !== 'thinking')
52
- return null;
53
- // Cycle through different effects based on glowIntensity
54
- const intensity = glowIntensity;
55
- return { intensity, color };
56
- }, [glowIntensity, type, color]);
57
- return (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: color, children: [SYMBOLS.prompt, " "] }), _jsx(Text, { children: " " }), type === 'thinking' && glowStyles ? (
58
- // Animated glow text for thinking state
59
- _jsx(Text, { children: displayLabel.split('').map((char, i) => {
60
- // Create a wave glow effect across the text
61
- const charPos = i % 5;
62
- const isInGlow = charPos === glowStyles.intensity;
63
- const isNearGlow = Math.abs(charPos - glowStyles.intensity) <= 1;
64
- if (isInGlow) {
65
- return _jsx(Text, { color: glowStyles.color, bold: true, children: char }, i);
66
- }
67
- else if (isNearGlow) {
68
- return _jsx(Text, { color: glowStyles.color, children: char }, i);
69
- }
70
- return _jsx(Text, { dimColor: true, children: char }, i);
71
- }) })) : (
72
- // Standard display for other states
73
- _jsxs(Text, { children: [icon, " ", _jsx(Text, { dimColor: true, children: displayLabel })] }))] }));
30
+ return (_jsxs(Box, { children: [_jsx(Text, { color: color, children: _jsx(InkSpinner, { type: "dots" }) }), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: displayLabel })] }));
74
31
  };
75
32
  //# sourceMappingURL=Spinner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../src/ui/components/Spinner.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAQhG,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAC5C,KAAK,GAAG,aAAa,EACrB,IAAI,GAAG,UAAU,EACjB,SAAS,EACZ,EAAE,EAAE;IACD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpD,mBAAmB;IACnB,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;YAC3D,+CAA+C;YAC/C,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,CAAC,EAAE,GAAG,CAAC,CAAC;QAER,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,kDAAkD;IAClD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC9B,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACnE,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,sBAAsB;IACtB,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO;QAC7C,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS;YACpC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO;gBACvC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;IAEjC,wDAAwD;IACxD,MAAM,IAAI,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG;QACrC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI;YAC5B,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI;gBACzB,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAE1C,0CAA0C;IAC1C,MAAM,YAAY,GAAG,IAAI,KAAK,UAAU;QACpC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC;QACjC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,SAAS,KAAK,SAAS;YAC7C,CAAC,CAAC,iBAAiB,SAAS,SAAS;YACrC,CAAC,CAAC,KAAK,CAAC;IAEhB,uCAAuC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,IAAI,IAAI,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QACrC,yDAAyD;QACzD,MAAM,SAAS,GAAG,aAAa,CAAC;QAChC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAChC,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAEjC,OAAO,CACH,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,aACpB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,aAAG,OAAO,CAAC,MAAM,SAAS,EAC5C,KAAC,IAAI,oBAAS,EACb,IAAI,KAAK,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC;YACjC,wCAAwC;YACxC,KAAC,IAAI,cACA,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;oBACpC,4CAA4C;oBAC5C,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM,QAAQ,GAAG,OAAO,KAAK,UAAU,CAAC,SAAS,CAAC;oBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBAEjE,IAAI,QAAQ,EAAE,CAAC;wBACX,OAAO,KAAC,IAAI,IAAS,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,IAAI,kBAAE,IAAI,IAAtC,CAAC,CAA6C,CAAC;oBACrE,CAAC;yBAAM,IAAI,UAAU,EAAE,CAAC;wBACpB,OAAO,KAAC,IAAI,IAAS,KAAK,EAAE,UAAU,CAAC,KAAK,YAAG,IAAI,IAAjC,CAAC,CAAwC,CAAC;oBAChE,CAAC;oBACD,OAAO,KAAC,IAAI,IAAS,QAAQ,kBAAE,IAAI,IAAjB,CAAC,CAAwB,CAAC;gBAChD,CAAC,CAAC,GACC,CACV,CAAC,CAAC,CAAC;YACA,oCAAoC;YACpC,MAAC,IAAI,eACA,IAAI,OAAE,KAAC,IAAI,IAAC,QAAQ,kBAAE,YAAY,GAAQ,IACxC,CACV,IACC,CACT,CAAC;AACN,CAAC,CAAC"}
1
+ {"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../src/ui/components/Spinner.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAQlE,MAAM,CAAC,MAAM,OAAO,GAA2B,CAAC,EAC5C,KAAK,GAAG,WAAW,EACnB,IAAI,GAAG,UAAU,EACjB,SAAS,EACZ,EAAE,EAAE;IACD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEpD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC9B,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;YACnE,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,KAAK,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;QACzC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS;YACpC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO;gBACvC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IAErB,MAAM,YAAY,GAAG,IAAI,KAAK,UAAU;QACpC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC;QACjC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,SAAS,KAAK,SAAS;YAC7C,CAAC,CAAC,eAAe,SAAS,SAAS;YACnC,CAAC,CAAC,KAAK,CAAC;IAEhB,OAAO,CACH,MAAC,GAAG,eACA,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,YAAE,KAAC,UAAU,IAAC,IAAI,EAAC,MAAM,GAAG,GAAO,EACrD,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,QAAQ,kBAAE,YAAY,GAAQ,IAClC,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * StatusBar Component
3
+ * Minimal context bar showing session stats
4
+ */
5
+ import React from 'react';
6
+ import type { SessionStats } from '../hooks/useCommands.js';
7
+ interface StatusBarProps {
8
+ conversationId?: string;
9
+ stats: SessionStats;
10
+ }
11
+ export declare const StatusBar: React.FC<StatusBarProps>;
12
+ export {};
13
+ //# sourceMappingURL=StatusBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../src/ui/components/StatusBar.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAGvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,UAAU,cAAc;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;CACvB;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA6C9C,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * StatusBar Component
4
+ * Minimal context bar showing session stats
5
+ */
6
+ import { useMemo } from 'react';
7
+ import { Box, Text } from 'ink';
8
+ import { useTerminalSize } from '../hooks/index.js';
9
+ export const StatusBar = ({ conversationId, stats, }) => {
10
+ const { columns } = useTerminalSize();
11
+ const leftParts = useMemo(() => {
12
+ const parts = [];
13
+ if (conversationId) {
14
+ parts.push(conversationId.substring(0, 8));
15
+ }
16
+ if (stats.toolCallCount > 0) {
17
+ parts.push(`${stats.toolCallCount} tools`);
18
+ }
19
+ if (stats.filesModified.size > 0) {
20
+ parts.push(`${stats.filesModified.size} files modified`);
21
+ }
22
+ const elapsed = Date.now() - stats.startedAt;
23
+ const mins = Math.floor(elapsed / 60000);
24
+ if (mins > 0) {
25
+ parts.push(`${mins}m`);
26
+ }
27
+ return parts.join(' · ');
28
+ }, [conversationId, stats.toolCallCount, stats.filesModified.size, stats.startedAt]);
29
+ const rightContent = useMemo(() => {
30
+ const full = process.cwd();
31
+ const home = process.env['HOME'] ?? '';
32
+ return full.replace(home, '~');
33
+ }, []);
34
+ const spacer = Math.max(1, columns - 4 - leftParts.length - rightContent.length);
35
+ return (_jsxs(Box, { marginTop: 0, children: [_jsx(Text, { dimColor: true, children: leftParts }), _jsx(Text, { children: ' '.repeat(spacer) }), _jsx(Text, { dimColor: true, children: rightContent })] }));
36
+ };
37
+ //# sourceMappingURL=StatusBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../src/ui/components/StatusBar.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAQpD,MAAM,CAAC,MAAM,SAAS,GAA6B,CAAC,EAChD,cAAc,EACd,KAAK,GACR,EAAE,EAAE;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IAEtC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,IAAI,cAAc,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,aAAa,QAAQ,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,iBAAiB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;QACzC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAErF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IAEjF,OAAO,CACH,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,aACb,KAAC,IAAI,IAAC,QAAQ,kBAAE,SAAS,GAAQ,EACjC,KAAC,IAAI,cAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,GAAQ,EACjC,KAAC,IAAI,IAAC,QAAQ,kBAAE,YAAY,GAAQ,IAClC,CACT,CAAC;AACN,CAAC,CAAC"}
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * StreamingText Component
3
- * Displays streaming text response with Paean brand styling
4
- * Features: Animated cursor, character count, markdown support
3
+ * Displays the in-progress response with a blinking cursor
5
4
  */
6
5
  interface StreamingTextProps {
7
6
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"StreamingText.d.ts","sourceRoot":"","sources":["../../../src/ui/components/StreamingText.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,UAAU,kBAAkB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,aAAa,0DA+DxB,CAAC"}
1
+ {"version":3,"file":"StreamingText.d.ts","sourceRoot":"","sources":["../../../src/ui/components/StreamingText.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,UAAU,kBAAkB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,aAAa,0DAqCxB,CAAC"}
@@ -1,39 +1,23 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  /**
3
3
  * StreamingText Component
4
- * Displays streaming text response with Paean brand styling
5
- * Features: Animated cursor, character count, markdown support
4
+ * Displays the in-progress response with a blinking cursor
6
5
  */
7
- import { memo, useMemo, useState, useEffect } from 'react';
6
+ import { memo, useState, useEffect } from 'react';
8
7
  import { Box, Text } from 'ink';
9
- import { INK_COLORS, SYMBOLS, SEPARATOR_CHAR } from '../theme/ink-theme.js';
8
+ import { INK_COLORS, SYMBOLS, COLORS } from '../theme/ink-theme.js';
10
9
  import { MarkdownText } from './MarkdownText.js';
11
- import { useTerminalSize } from '../hooks/index.js';
12
- export const StreamingText = memo(({ text, isComplete = false, rawMode = false, showCharCount = true }) => {
10
+ export const StreamingText = memo(({ text, isComplete = false, rawMode = false, }) => {
13
11
  const [cursorVisible, setCursorVisible] = useState(true);
14
- // Blinking cursor effect
15
12
  useEffect(() => {
16
13
  if (isComplete)
17
14
  return;
18
15
  const interval = setInterval(() => {
19
16
  setCursorVisible(prev => !prev);
20
- }, 500);
17
+ }, 530);
21
18
  return () => clearInterval(interval);
22
19
  }, [isComplete]);
23
- // Reactive terminal size for separator width
24
- const { columns } = useTerminalSize();
25
- // Separator line - reactive to terminal resize
26
- const separatorLine = useMemo(() => {
27
- const width = Math.min(Math.max(0, columns - 2), 60);
28
- return SEPARATOR_CHAR.repeat(width);
29
- }, [columns]);
30
- // Character count display
31
- const charCountDisplay = useMemo(() => {
32
- if (!showCharCount || isComplete)
33
- return null;
34
- return `${text.length} chars`;
35
- }, [showCharCount, isComplete, text.length]);
36
- return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { color: INK_COLORS.secondary, children: [SYMBOLS.arch, " "] }), _jsx(Text, { color: INK_COLORS.secondary, bold: true, children: "P\u00E6an" }), charCountDisplay && (_jsxs(Text, { dimColor: true, children: [" (", charCountDisplay, ")"] }))] }), _jsx(Box, { children: _jsx(Text, { dimColor: true, children: separatorLine }) }), _jsxs(Box, { marginLeft: 0, flexDirection: "column", children: [rawMode ? (_jsx(Text, { wrap: "wrap", children: text })) : (_jsx(MarkdownText, { children: text })), !isComplete && (_jsx(Text, { color: INK_COLORS.primary, children: cursorVisible ? '▌' : ' ' }))] })] }));
20
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { marginBottom: 0, children: _jsxs(Text, { color: INK_COLORS.secondary, bold: true, children: [SYMBOLS.arch, " P\u00E6an"] }) }), _jsxs(Box, { paddingLeft: 2, flexDirection: "column", children: [rawMode ? (_jsx(Text, { wrap: "wrap", children: text })) : (_jsx(MarkdownText, { children: text })), !isComplete && (_jsx(Text, { color: COLORS.primary, children: cursorVisible ? '▌' : ' ' }))] })] }));
37
21
  });
38
22
  StreamingText.displayName = 'StreamingText';
39
23
  //# sourceMappingURL=StreamingText.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StreamingText.js","sourceRoot":"","sources":["../../../src/ui/components/StreamingText.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamingText.js","sourceRoot":"","sources":["../../../src/ui/components/StreamingText.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AASjD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAqB,CAAC,EACnD,IAAI,EACJ,UAAU,GAAG,KAAK,EAClB,OAAO,GAAG,KAAK,GAClB,EAAE,EAAE;IACD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEzD,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,UAAU;YAAE,OAAO;QACvB,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,CACH,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aAEvB,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YAChB,MAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,SAAS,EAAE,IAAI,mBAAE,OAAO,CAAC,IAAI,kBAAa,GAChE,EAGN,MAAC,GAAG,IAAC,WAAW,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACtC,OAAO,CAAC,CAAC,CAAC,CACP,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,YAAE,IAAI,GAAQ,CAClC,CAAC,CAAC,CAAC,CACA,KAAC,YAAY,cAAE,IAAI,GAAgB,CACtC,EACA,CAAC,UAAU,IAAI,CACZ,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,YACtB,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GACvB,CACV,IACC,IACJ,CACT,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,aAAa,CAAC,WAAW,GAAG,eAAe,CAAC"}
@@ -1,26 +1,15 @@
1
1
  /**
2
- * ToolCallIndicator Component
3
- * Visual indicator for tool calls and MCP operations
4
- * Supports both current (spinning) and historical (completed/error) states
2
+ * ToolCallIndicator — Ink components for tool call display
3
+ *
4
+ * Renders tool calls in a bordered group with:
5
+ * - Status icon (spinner / ✓ / ✗)
6
+ * - Human-readable name + contextual description
7
+ * - Collapsible inline result (diffs, shell output, grep hits)
8
+ *
9
+ * Inspired by gemini-cli's ToolGroupMessage / ToolMessage pattern.
5
10
  */
6
11
  import React from 'react';
7
- /**
8
- * Convert internal tool names to human-friendly display names.
9
- * e.g. "paean_list_tasks" → "List Tasks"
10
- * "getTodoItems" → "Get Todo Items"
11
- * "searchNotes" → "Search Notes"
12
- */
13
12
  export declare function formatToolName(name: string): string;
14
- interface ToolCallIndicatorProps {
15
- name: string;
16
- type?: 'tool' | 'mcp';
17
- serverName?: string;
18
- status?: 'pending' | 'completed' | 'error';
19
- }
20
- export declare const ToolCallIndicator: React.FC<ToolCallIndicatorProps>;
21
- /**
22
- * ToolCallHistory — renders a compact log of all tool calls in the current turn.
23
- */
24
13
  export interface ToolCallRecord {
25
14
  id: string;
26
15
  name: string;
@@ -28,9 +17,23 @@ export interface ToolCallRecord {
28
17
  serverName?: string;
29
18
  status: 'pending' | 'completed' | 'error';
30
19
  timestamp: number;
20
+ args?: Record<string, unknown>;
21
+ result?: unknown;
22
+ durationMs?: number;
31
23
  }
24
+ interface ToolCallIndicatorProps {
25
+ name: string;
26
+ type?: 'tool' | 'mcp';
27
+ serverName?: string;
28
+ status?: 'pending' | 'completed' | 'error';
29
+ args?: Record<string, unknown>;
30
+ result?: unknown;
31
+ durationMs?: number;
32
+ }
33
+ export declare const ToolCallIndicator: React.FC<ToolCallIndicatorProps>;
32
34
  interface ToolCallHistoryProps {
33
35
  history: ToolCallRecord[];
36
+ compactMode?: boolean;
34
37
  }
35
38
  export declare const ToolCallHistory: React.FC<ToolCallHistoryProps>;
36
39
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"ToolCallIndicator.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ToolCallIndicator.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAenD;AAED,UAAU,sBAAsB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;CAC9C;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA6B9D,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,oBAAoB;IAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA2B1D,CAAC"}
1
+ {"version":3,"file":"ToolCallIndicator.d.ts","sourceRoot":"","sources":["../../../src/ui/components/ToolCallIndicator.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AA4B1B,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQnD;AA8LD,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,sBAAsB;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAsD9D,CAAC;AAMF,UAAU,oBAAoB;IAC1B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA0D1D,CAAC"}