@hopper-agent/tui 0.1.0 → 0.2.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.
@@ -15,6 +15,7 @@ export interface ChatMessage {
15
15
  content: string;
16
16
  title?: string;
17
17
  }
18
+ export declare const COLD_START_BANNER: string;
18
19
  interface ChatSurfaceProps {
19
20
  messages: ChatMessage[];
20
21
  model: string;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-surface.d.ts","sourceRoot":"","sources":["../../src/chat-surface.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-surface.d.ts","sourceRoot":"","sources":["../../src/chat-surface.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import React, { useState, useEffect, useRef, useCallback } from 'react';
3
- import { Box, Text, useInput, useApp, useStdin, useStdout } from 'ink';
4
- import { Header } from './header.js';
5
- import { TabBar, TAB_IDS } from './tab-bar.js';
2
+ import React, { useState, useEffect } from 'react';
3
+ import { Box, Text, Static, useInput, useApp, useStdout } from 'ink';
4
+ import { TAB_IDS } from './tab-bar.js';
6
5
  import { Footer } from './footer.js';
7
6
  import { WaitingDot } from './waiting-dot.js';
8
7
  import { EffortPicker, EFFORT_LEVELS } from './effort-picker.js';
@@ -13,41 +12,18 @@ import { ProjectsTab } from './projects-tab.js';
13
12
  import { StatsTab } from './stats-tab.js';
14
13
  import { AgentsTab } from './agents-tab.js';
15
14
  import { ChannelsTab } from './channels-tab.js';
16
- // How many terminal rows a message occupies.
17
- function messageRows(msg) {
18
- const lines = msg.content.split('\n').length;
19
- switch (msg.role) {
20
- case 'user':
21
- return 2 + lines; // top filler + lines + bottom filler
22
- case 'assistant':
23
- return 1 + lines; // top blank + lines
24
- case 'tool':
25
- return 1 + lines;
26
- case 'tool-group':
27
- return msg.content.split(' · ').filter(Boolean).length;
28
- case 'decision':
29
- return (msg.title ? 1 : 0) + lines;
30
- case 'system':
31
- return lines;
32
- case 'heartbeat':
33
- return 2 + lines; // border top + lines + border bottom
34
- default:
35
- return 1;
36
- }
37
- }
15
+ export const COLD_START_BANNER = [
16
+ '█ █ ████ ████ ████ ████ ███ ██ ████ ████ ██ █ █████',
17
+ '████ █ █ █ █ █ █ █▀▀ █▀▀█ █▀▀█ █ ▀█ █▀▀ ████ █ ',
18
+ '█ █ ████ █ █ ████ █ █ █ █ ███ ████ █ ▀█ █ ',
19
+ ].join('\n');
38
20
  // Fixed row counts for chrome layout.
39
- const HEADER_ROWS = 6;
40
- const TABBAR_ROWS = 2;
41
- const FOOTER_ROWS = 4;
42
21
  const INPUT_BASE_ROWS = 1;
43
22
  export function ChatSurface({ messages, model, approvalMode, effort, inputTokens = 0, outputTokens = 0, contextWindowSize = 200_000, project = 'homepage-refactor-0422', duration = '00:00:00', costUsd = 0, activeTab = 'assistant', status = 'idle', contextMode = 'CodeContext Zen', agent, onSubmit, onCancel, onInterrupt, onSlashCommand, onBashCommand, onEffortChange, onModeChange, theme, projects, agents, pendingApproval, onApprovalDecision, onSelectProject, channels, onChannelSelect, debug, }) {
44
23
  const [inputText, setInputText] = useState('');
45
24
  const [currentTab, setCurrentTab] = useState(activeTab);
46
25
  React.useEffect(() => { setCurrentTab(activeTab); }, [activeTab]);
47
26
  const [history, setHistory] = useState([]);
48
- // Scrolling state.
49
- const [scrollOffset, setScrollOffset] = useState(0);
50
- const prevMsgLenRef = useRef(messages.length);
51
27
  // historyIndex: null = not browsing (showing live draft); otherwise index
52
28
  // into `history` from the end (0 = most recent).
53
29
  const [historyIndex, setHistoryIndex] = useState(null);
@@ -64,7 +40,6 @@ export function ChatSurface({ messages, model, approvalMode, effort, inputTokens
64
40
  const [modePickerOpen, setModePickerOpen] = useState(false);
65
41
  const [modeIndex, setModeIndex] = useState(0);
66
42
  const { exit } = useApp();
67
- const { setRawMode } = useStdin();
68
43
  const { stdout } = useStdout();
69
44
  const [size, setSize] = useState({
70
45
  rows: stdout?.rows ?? 30,
@@ -79,21 +54,6 @@ export function ChatSurface({ messages, model, approvalMode, effort, inputTokens
79
54
  stdout.off('resize', onResize);
80
55
  };
81
56
  }, [stdout]);
82
- useEffect(() => {
83
- setRawMode(true);
84
- return () => {
85
- setRawMode(false);
86
- };
87
- }, [setRawMode]);
88
- // Enable SGR mouse reporting so wheel events trigger terminal scrollback.
89
- useEffect(() => {
90
- if (!process.stdin?.isTTY)
91
- return;
92
- process.stdout.write('\x1b[?1000h\x1b[?1006h');
93
- return () => {
94
- process.stdout.write('\x1b[?1006l\x1b[?1000l');
95
- };
96
- }, []);
97
57
  // Ask terminals that support the kitty keyboard protocol to send
98
58
  // disambiguated escape codes — that's what makes Shift+Enter arrive as a
99
59
  // distinct sequence (ESC[13;2u) instead of bare CR. Ink 7 parses CSI-u
@@ -107,78 +67,11 @@ export function ChatSurface({ messages, model, approvalMode, effort, inputTokens
107
67
  process.stdout.write('\x1b[<u');
108
68
  };
109
69
  }, []);
110
- // Mouse wheel listener for scrolling the message area.
111
- // SGR format: ESC[<Btn;Col;RowM — bit 6 set = scroll event, bit 0 = down (0=up, 1=down)
112
- const scrollOffsetRef = useRef(scrollOffset);
113
- const maxScrollOffsetRef = useRef(0);
114
- const handleWheel = useCallback((data) => {
115
- const str = data.toString();
116
- const match = str.match(/\x1b\[<(\d+);(\d+);(\d+)M/);
117
- if (!match)
118
- return;
119
- const btn = parseInt(match[1], 10);
120
- if ((btn & 64) === 0)
121
- return; // not a scroll event
122
- // scroll-up (btn&1 === 0) → increase offset to show older msgs; scroll-down → decrease toward 0 (bottom)
123
- const dir = (btn & 1) === 0 ? 1 : -1;
124
- setScrollOffset(prev => {
125
- const next = prev + dir * 3;
126
- return Math.max(0, Math.min(maxScrollOffsetRef.current, next));
127
- });
128
- }, []);
129
- useEffect(() => {
130
- if (!process.stdin)
131
- return;
132
- process.stdin.on('data', handleWheel);
133
- return () => {
134
- process.stdin?.off('data', handleWheel);
135
- };
136
- }, [handleWheel]);
137
- const scrollBy = useCallback((delta) => {
138
- setScrollOffset(prev => Math.max(0, Math.min(maxScrollOffsetRef.current, prev + delta)));
139
- }, []);
140
70
  const inputLineCount = inputText.split('\n').length;
141
71
  const shellHintRows = inputText.startsWith('!') ? 1 : 0;
142
72
  const exitHintRows = exitHint ? 1 : 0;
143
73
  const inputRows = Math.max(INPUT_BASE_ROWS, inputLineCount) + shellHintRows + exitHintRows;
144
- const messageAreaRows = Math.max(4, size.rows - HEADER_ROWS - TABBAR_ROWS - FOOTER_ROWS - inputRows);
145
- // Keep refs in sync for use inside the stdin listener.
146
- scrollOffsetRef.current = scrollOffset;
147
- // Auto-scroll: when messages grow, stay at bottom if we were there.
148
- useEffect(() => {
149
- const prevLen = prevMsgLenRef.current;
150
- prevMsgLenRef.current = messages.length;
151
- if (messages.length > prevLen && scrollOffset === 0) {
152
- setScrollOffset(0);
153
- }
154
- }, [messages.length, scrollOffset]);
155
- // Compute visible messages based on scroll offset.
156
- // scrollOffset=0 → show tail (newest); scrollOffset>0 → scroll back into history.
157
- const visibleMessages = (() => {
158
- const rowsNeeded = status !== 'idle' && !pendingApproval && !effortPickerOpen && !modePickerOpen ? 1 : 0;
159
- const availRows = messageAreaRows - rowsNeeded;
160
- const msgRows = messages.map((m, i) => ({ msg: m, idx: i, rows: messageRows(m) }));
161
- const totalRows = msgRows.reduce((s, m) => s + m.rows, 0);
162
- const maxOffset = Math.max(0, totalRows - availRows);
163
- maxScrollOffsetRef.current = maxOffset;
164
- // clamp in case messages were removed and offset is now stale
165
- const clampedOffset = Math.min(scrollOffset, maxOffset);
166
- // skipRows = how many rows from the top to skip
167
- const skipRows = maxOffset - clampedOffset;
168
- const visible = [];
169
- let used = 0, cumRows = 0;
170
- for (const item of msgRows) {
171
- if (cumRows < skipRows) {
172
- cumRows += item.rows;
173
- continue;
174
- }
175
- if (used >= availRows)
176
- break;
177
- used += item.rows;
178
- visible.push(item);
179
- }
180
- return visible;
181
- })();
74
+ const displayMessages = messages;
182
75
  useInput((char, key) => {
183
76
  // Approval modal has the highest priority — blocks everything else.
184
77
  if (pendingApproval) {
@@ -283,16 +176,6 @@ export function ChatSurface({ messages, model, approvalMode, effort, inputTokens
283
176
  setModePickerOpen(true);
284
177
  return;
285
178
  }
286
- // PageUp / Shift+Up — scroll up into history (half a page per press).
287
- if (key.pageUp || (key.shift && key.upArrow)) {
288
- scrollBy(Math.max(1, Math.floor(messageAreaRows / 2)));
289
- return;
290
- }
291
- // PageDown / Shift+Down — scroll down toward bottom.
292
- if (key.pageDown || (key.shift && key.downArrow)) {
293
- scrollBy(-Math.max(1, Math.floor(messageAreaRows / 2)));
294
- return;
295
- }
296
179
  if (key.escape) {
297
180
  // ESC aborts the in-flight agent turn / shell command but does not
298
181
  // quit the app. Use /exit, Ctrl+C×2, or Ctrl+D×2 to exit.
@@ -439,46 +322,47 @@ export function ChatSurface({ messages, model, approvalMode, effort, inputTokens
439
322
  const fg = theme?.foreground || '#a9b1d6';
440
323
  const bg = theme?.background || '#1a1b26';
441
324
  const totalTokens = inputTokens + outputTokens;
442
- return (_jsxs(Box, { flexDirection: "column", width: "100%", height: size.rows, children: [_jsx(Header, { project: project, duration: duration, totalTokens: totalTokens, costUsd: costUsd, theme: theme }), _jsx(TabBar, { active: currentTab, theme: theme }), _jsx(Box, { flexDirection: "column", paddingX: 1, height: messageAreaRows, children: currentTab === 'projects' ? (_jsx(ProjectsTab, { projects: projects ?? [], theme: theme, isActive: currentTab === 'projects', onSelectProject: onSelectProject })) : currentTab === 'stats' ? (_jsx(StatsTab, { theme: theme, isActive: currentTab === 'stats', model: model, inputTokens: inputTokens, outputTokens: outputTokens, contextWindowSize: contextWindowSize })) : currentTab === 'channels' ? (_jsx(ChannelsTab, { channels: channels ?? [], theme: theme, isActive: currentTab === 'channels', onSelectChannel: onChannelSelect })) : currentTab === 'agents' ? (_jsx(AgentsTab, { agents: agents ?? new Map(), isActive: currentTab === 'agents', theme: theme })) : (_jsxs(_Fragment, { children: [pendingApproval && (_jsx(ApprovalPicker, { toolName: pendingApproval.toolName, input: pendingApproval.input, reason: pendingApproval.reason, selected: approvalSelection, theme: theme })), !pendingApproval && effortPickerOpen && (_jsx(EffortPicker, { selectedIndex: effortIndex, theme: theme })), !pendingApproval && modePickerOpen && (_jsx(ModePicker, { selectedIndex: modeIndex, theme: theme })), !pendingApproval && !effortPickerOpen && !modePickerOpen && visibleMessages.map(({ msg, idx }) => {
443
- if (msg.role === 'user') {
444
- // Row width after the outer paddingX={1} on the message area and
445
- // the single-column left border. One leading space on every line
446
- // creates a gap between the border and text that still carries
447
- // the slab background.
448
- const rowWidth = Math.max(1, size.cols - 3);
449
- const gap = ' ';
450
- const innerWidth = Math.max(1, rowWidth - gap.length);
451
- const filler = gap + ' '.repeat(innerWidth);
452
- const userBg = theme?.userBackground ?? bg;
453
- const userFg = theme?.userForeground ?? fg;
454
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: primary, borderTop: false, borderRight: false, borderBottom: false, children: [_jsx(Text, { backgroundColor: userBg, children: filler }), msg.content.split('\n').map((line, li) => {
455
- const pad = Math.max(0, innerWidth - line.length);
456
- return (_jsx(Text, { backgroundColor: userBg, color: userFg, children: gap + line + ' '.repeat(pad) }, li));
457
- }), _jsx(Text, { backgroundColor: userBg, children: filler })] }, idx));
458
- }
459
- if (msg.role === 'decision') {
460
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: warning, paddingX: 1, marginY: 1, children: [msg.title && (_jsx(Text, { color: warning, bold: true, children: msg.title })), _jsx(Text, { color: warning, children: msg.content })] }, idx));
461
- }
462
- if (msg.role === 'tool-group') {
463
- // In debug mode, split by " · " and show each tool call on its own line.
464
- if (debug) {
465
- const tools = msg.content.split(' · ').map(s => s.trim()).filter(Boolean);
466
- return (_jsx(Box, { flexDirection: "column", marginTop: 1, children: tools.map((t, ti) => (_jsx(Text, { color: muted, children: t }, ti))) }, idx));
467
- }
468
- return (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: muted, children: msg.content }) }, idx));
469
- }
470
- if (msg.role === 'tool') {
471
- return (_jsx(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: _jsxs(Box, { children: [_jsx(Text, { color: success, children: '[✔] ' }), _jsx(Text, { color: fg, children: msg.content })] }) }, idx));
472
- }
473
- if (msg.role === 'heartbeat') {
474
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: success, paddingX: 1, marginY: 1, children: [_jsx(Text, { color: success, bold: true, children: '[heartbeat] ' + (msg.title ?? '') }), msg.content.split('\n').map((line, li) => (_jsx(Text, { color: fg, children: line }, li)))] }, idx));
475
- }
476
- if (msg.role === 'system') {
477
- const isReminder = msg.content.startsWith('Hopper reminder:');
478
- return (_jsx(Box, { children: _jsx(Text, { color: isReminder ? warning : muted, children: msg.content }) }, idx));
479
- }
480
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: ' '.repeat(Math.max(10, size.cols - 4)) }), msg.content.split('\n').map((line, li) => (_jsx(Text, { color: fg, children: line }, li))), _jsx(Text, { children: ' '.repeat(Math.max(10, size.cols - 4)) })] }, idx));
481
- }), !pendingApproval && !effortPickerOpen && !modePickerOpen && status !== 'idle' && (_jsx(Box, { marginTop: 1, children: _jsx(WaitingDot, { theme: theme }) }))] })) }), _jsxs(Box, { flexDirection: "column", paddingX: 1, children: [exitHint && (_jsx(Box, { children: _jsx(Text, { color: warning, children: exitHint }) })), inputText.startsWith('!') && (_jsx(Box, { children: _jsx(Text, { color: warning, children: "(shell mode \u2014 Enter to run, Shift/Alt+Enter for newline)" }) })), (() => {
325
+ // Settled messages go into <Static> printed once, never redrawn.
326
+ // Only the last message stays live so WaitingDot / duration ticks don't
327
+ // scroll the terminal back down when the user has scrolled up to read history.
328
+ const staticMessages = displayMessages.length > 0 ? displayMessages.slice(0, -1) : [];
329
+ const liveMessages = displayMessages.length > 0 ? displayMessages.slice(-1) : [];
330
+ const renderMessage = (msg, key) => {
331
+ if (msg.role === 'user') {
332
+ const rowWidth = Math.max(1, size.cols - 3);
333
+ const gap = ' ';
334
+ const innerWidth = Math.max(1, rowWidth - gap.length);
335
+ const filler = gap + ' '.repeat(innerWidth);
336
+ const userBg = theme?.userBackground ?? bg;
337
+ const userFg = theme?.userForeground ?? fg;
338
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: primary, borderTop: false, borderRight: false, borderBottom: false, children: [_jsx(Text, { backgroundColor: userBg, children: filler }), msg.content.split('\n').map((line, li) => {
339
+ const pad = Math.max(0, innerWidth - line.length);
340
+ return (_jsx(Text, { backgroundColor: userBg, color: userFg, children: gap + line + ' '.repeat(pad) }, li));
341
+ }), _jsx(Text, { backgroundColor: userBg, children: filler })] }, String(key)));
342
+ }
343
+ if (msg.role === 'decision') {
344
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: warning, paddingX: 1, marginY: 1, children: [msg.title && (_jsx(Text, { color: warning, bold: true, children: msg.title })), _jsx(Text, { color: warning, children: msg.content })] }, String(key)));
345
+ }
346
+ if (msg.role === 'tool-group') {
347
+ if (debug) {
348
+ const tools = msg.content.split(' · ').map(s => s.trim()).filter(Boolean);
349
+ return (_jsx(Box, { flexDirection: "column", marginTop: 1, children: tools.map((t, ti) => (_jsx(Text, { color: muted, children: t }, ti))) }, String(key)));
350
+ }
351
+ return (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: muted, children: msg.content }) }, String(key)));
352
+ }
353
+ if (msg.role === 'tool') {
354
+ return (_jsx(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: _jsxs(Box, { children: [_jsx(Text, { color: success, children: '[✔] ' }), _jsx(Text, { color: fg, children: msg.content })] }) }, String(key)));
355
+ }
356
+ if (msg.role === 'heartbeat') {
357
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: success, paddingX: 1, marginY: 1, children: [_jsx(Text, { color: success, bold: true, children: '[heartbeat] ' + (msg.title ?? '') }), msg.content.split('\n').map((line, li) => (_jsx(Text, { color: fg, children: line }, li)))] }, String(key)));
358
+ }
359
+ if (msg.role === 'system') {
360
+ const isReminder = msg.content.startsWith('Hopper reminder:');
361
+ return (_jsx(Box, { children: _jsx(Text, { color: isReminder ? warning : muted, children: msg.content }) }, String(key)));
362
+ }
363
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: ' '.repeat(Math.max(10, size.cols - 4)) }), msg.content.split('\n').map((line, li) => (_jsx(Text, { color: fg, children: line }, li))), _jsx(Text, { children: ' '.repeat(Math.max(10, size.cols - 4)) })] }, String(key)));
364
+ };
365
+ return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsx(Box, { flexDirection: "column", paddingX: 1, children: currentTab === 'projects' ? (_jsx(ProjectsTab, { projects: projects ?? [], theme: theme, isActive: currentTab === 'projects', onSelectProject: onSelectProject })) : currentTab === 'stats' ? (_jsx(StatsTab, { theme: theme, isActive: currentTab === 'stats', model: model, inputTokens: inputTokens, outputTokens: outputTokens, contextWindowSize: contextWindowSize })) : currentTab === 'channels' ? (_jsx(ChannelsTab, { channels: channels ?? [], theme: theme, isActive: currentTab === 'channels', onSelectChannel: onChannelSelect })) : currentTab === 'agents' ? (_jsx(AgentsTab, { agents: agents ?? new Map(), isActive: currentTab === 'agents', theme: theme })) : (_jsxs(_Fragment, { children: [pendingApproval && (_jsx(ApprovalPicker, { toolName: pendingApproval.toolName, input: pendingApproval.input, reason: pendingApproval.reason, selected: approvalSelection, theme: theme })), !pendingApproval && effortPickerOpen && (_jsx(EffortPicker, { selectedIndex: effortIndex, theme: theme })), !pendingApproval && modePickerOpen && (_jsx(ModePicker, { selectedIndex: modeIndex, theme: theme })), !pendingApproval && !effortPickerOpen && !modePickerOpen && (_jsxs(_Fragment, { children: [_jsx(Static, { items: staticMessages, children: (msg, idx) => renderMessage(msg, idx) }), liveMessages.map((msg, idx) => renderMessage(msg, staticMessages.length + idx))] })), !pendingApproval && !effortPickerOpen && !modePickerOpen && (_jsx(Box, { marginTop: 1, children: status !== 'idle' ? _jsx(WaitingDot, { theme: theme }) : _jsx(Text, { children: " " }) }))] })) }), _jsxs(Box, { flexDirection: "column", paddingX: 1, children: [exitHint && (_jsx(Box, { children: _jsx(Text, { color: warning, children: exitHint }) })), inputText.startsWith('!') && (_jsx(Box, { children: _jsx(Text, { color: warning, children: "(shell mode \u2014 Enter to run, Shift/Alt+Enter for newline)" }) })), (() => {
482
366
  const lines = inputText.split('\n');
483
367
  const isShell = inputText.startsWith('!');
484
368
  const promptColor = isShell ? warning : primary;
@@ -488,6 +372,6 @@ export function ChatSurface({ messages, model, approvalMode, effort, inputTokens
488
372
  const isLast = li === lines.length - 1;
489
373
  return (_jsxs(Box, { children: [_jsx(Text, { color: promptColor, children: isFirst ? `hopper-agent${promptGlyph} ` : ' ' }), _jsx(Text, { color: fg, children: line }), isLast && _jsx(Text, { color: fg, children: "_" })] }, li));
490
374
  });
491
- })()] }), _jsx(Footer, { status: status, mode: approvalMode, effort: effort, model: model, theme: theme })] }));
375
+ })()] }), _jsx(Footer, { status: status, mode: approvalMode, effort: effort, model: model, project: project, duration: duration, totalTokens: totalTokens, costUsd: costUsd, activeTab: currentTab, theme: theme })] }));
492
376
  }
493
377
  //# sourceMappingURL=chat-surface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-surface.js","sourceRoot":"","sources":["../../src/chat-surface.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-surface.js","sourceRoot":"","sources":["../../src/chat-surface.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,17 @@
1
+ import type { TabId } from './tab-bar.js';
1
2
  import type { ThemeColors } from '../../render/src/themes.js';
2
3
  interface FooterProps {
3
4
  status: string;
4
5
  mode: string;
5
6
  effort?: string;
6
7
  model?: string;
8
+ project?: string;
9
+ duration?: string;
10
+ totalTokens?: number;
11
+ costUsd?: number;
12
+ activeTab?: TabId;
7
13
  theme?: ThemeColors;
8
14
  }
9
- export declare function Footer({ status, mode, effort, model, theme }: FooterProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function Footer({ status, mode, effort, model, project, duration, totalTokens, costUsd, activeTab, theme }: FooterProps): import("react/jsx-runtime").JSX.Element;
10
16
  export {};
11
17
  //# sourceMappingURL=footer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../src/footer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,WAAW,2CAgDzE"}
1
+ {"version":3,"file":"footer.d.ts","sourceRoot":"","sources":["../../src/footer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAG9D,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAUD,wBAAgB,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,WAAW,2CA8D7H"}
@@ -1,11 +1,19 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
- export function Footer({ status, mode, effort, model, theme }) {
3
+ import { TABS } from './tab-bar.js';
4
+ function formatTokens(n) {
5
+ return n.toLocaleString('en-US');
6
+ }
7
+ function formatCost(n) {
8
+ return `$${n.toFixed(2)}`;
9
+ }
10
+ export function Footer({ status, mode, effort, model, project, duration, totalTokens, costUsd, activeTab, theme }) {
11
+ const activeTabLabel = TABS.find(t => t.id === activeTab)?.label ?? 'Assistant';
4
12
  const primary = theme?.primary || '#7aa2f7';
5
13
  const muted = theme?.muted || '#565f89';
6
14
  const border = theme?.border || '#414868';
7
15
  const fg = theme?.foreground || '#a9b1d6';
8
16
  const warning = theme?.warning || '#e0af68';
9
- return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsxs(Box, { borderStyle: "single", borderColor: border, paddingX: 1, justifyContent: "space-between", children: [_jsxs(Text, { color: fg, children: ["[STATUS: ", _jsx(Text, { color: warning, children: status.toUpperCase() }), "]", model ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: muted, children: " | " }), "MODEL: ", _jsx(Text, { color: primary, children: model })] })) : null] }), _jsxs(Text, { color: fg, children: ["MODE: ", _jsx(Text, { color: primary, children: mode }), _jsx(Text, { color: muted, children: " | " }), "EFFORT ", _jsx(Text, { color: primary, children: effort ?? 'auto' })] })] }), _jsx(Box, { paddingX: 1, justifyContent: "flex-end", children: _jsxs(Text, { color: muted, children: [_jsx(Text, { color: fg, children: "/help" }), " - Help", ' ', _jsx(Text, { color: muted, children: "|" }), ' ', _jsx(Text, { color: fg, children: "Tab" }), " - Change tabs", ' ', _jsx(Text, { color: muted, children: "|" }), ' ', _jsx(Text, { color: fg, children: "Ctrl+F" }), " - Mode picker", ' ', _jsx(Text, { color: muted, children: "|" }), ' ', _jsx(Text, { color: fg, children: "Ctrl+E" }), " - Effort picker", ' ', _jsx(Text, { color: muted, children: "|" }), ' ', _jsx(Text, { color: fg, children: "/agent <prompt>" }), " - Run agent", ' ', _jsx(Text, { color: muted, children: "|" }), ' ', _jsx(Text, { color: fg, children: "Esc" }), " - Cancel"] }) })] }));
17
+ return (_jsxs(Box, { flexDirection: "column", width: "100%", children: [_jsxs(Box, { borderStyle: "single", borderColor: border, paddingX: 1, justifyContent: "space-between", children: [_jsxs(Text, { color: fg, children: [_jsx(Text, { color: warning, children: status }), model ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: muted, children: " | " }), _jsx(Text, { color: primary, children: model })] })) : null] }), _jsxs(Text, { color: fg, children: [_jsx(Text, { color: primary, children: activeTabLabel }), ' ', _jsx(Text, { color: muted, children: "[Tab]" }), _jsx(Text, { color: muted, children: " | " }), _jsx(Text, { color: primary, children: mode }), ' ', _jsx(Text, { color: muted, children: "[Ctrl+F]" }), _jsx(Text, { color: muted, children: " | " }), _jsx(Text, { color: primary, children: effort ?? 'auto' }), ' ', _jsx(Text, { color: muted, children: "[Ctrl+E]" })] })] }), _jsxs(Box, { paddingX: 1, justifyContent: "space-between", children: [project ? (_jsxs(Text, { color: fg, children: [_jsxs(Text, { color: muted, children: ["[", project, "]"] }), duration ? (_jsxs(_Fragment, { children: [' ', _jsx(Text, { color: muted, children: "\u2022" }), ' ', _jsxs(Text, { color: muted, children: ["[", duration, "]"] })] })) : null, totalTokens != null ? (_jsxs(_Fragment, { children: [' ', _jsx(Text, { color: muted, children: "\u2022" }), ' ', _jsxs(Text, { color: muted, children: [formatTokens(totalTokens), " tok | ", formatCost(costUsd ?? 0)] })] })) : null] })) : null, _jsxs(Text, { color: muted, children: [_jsx(Text, { color: fg, children: "/help" }), ' ', _jsx(Text, { color: muted, children: "|" }), ' ', _jsx(Text, { color: fg, children: "Esc" })] })] })] }));
10
18
  }
11
19
  //# sourceMappingURL=footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/footer.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAWhC,MAAM,UAAU,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAe;IACxE,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,SAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,SAAS,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,SAAS,CAAC;IAC1C,MAAM,EAAE,GAAG,KAAK,EAAE,UAAU,IAAI,SAAS,CAAC;IAC1C,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,SAAS,CAAC;IAE5C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,KAAK,EAAC,MAAM,aACtC,MAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,EACX,cAAc,EAAC,eAAe,aAE9B,MAAC,IAAI,IAAC,KAAK,EAAE,EAAE,0BACJ,KAAC,IAAI,IAAC,KAAK,EAAE,OAAO,YAAG,MAAM,CAAC,WAAW,EAAE,GAAQ,OAC3D,KAAK,CAAC,CAAC,CAAC,CACP,8BACE,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,sBAAc,aACzB,KAAC,IAAI,IAAC,KAAK,EAAE,OAAO,YAAG,KAAK,GAAQ,IAC1C,CACJ,CAAC,CAAC,CAAC,IAAI,IACH,EACP,MAAC,IAAI,IAAC,KAAK,EAAE,EAAE,uBACP,KAAC,IAAI,IAAC,KAAK,EAAE,OAAO,YAAG,IAAI,GAAQ,EACzC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,sBAAc,aACzB,KAAC,IAAI,IAAC,KAAK,EAAE,OAAO,YAAG,MAAM,IAAI,MAAM,GAAQ,IACjD,IACH,EAEN,KAAC,GAAG,IAAC,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAC,UAAU,YACzC,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,aAChB,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,sBAAc,aAAQ,GAAG,EACxC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,kBAAU,EAAC,GAAG,EAChC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,oBAAY,oBAAe,GAAG,EAC7C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,kBAAU,EAAC,GAAG,EAChC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,uBAAe,oBAAe,GAAG,EAChD,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,kBAAU,EAAC,GAAG,EAChC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,uBAAe,sBAAiB,GAAG,EAClD,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,kBAAU,EAAC,GAAG,EAChC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,gCAA8B,kBAAa,GAAG,EAC7D,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,kBAAU,EAAC,GAAG,EAChC,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,oBAAY,iBACtB,GACH,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"footer.js","sourceRoot":"","sources":["../../src/footer.tsx"],"names":[],"mappings":"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"}
@@ -1,11 +1,7 @@
1
1
  import type { ThemeColors } from '../../render/src/themes.js';
2
2
  interface HeaderProps {
3
- project: string;
4
- duration: string;
5
- totalTokens: number;
6
- costUsd: number;
7
3
  theme?: ThemeColors;
8
4
  }
9
- export declare function Header({ project, duration, totalTokens, costUsd, theme }: HeaderProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function Header({ theme }: HeaderProps): import("react/jsx-runtime").JSX.Element;
10
6
  export {};
11
7
  //# sourceMappingURL=header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../src/header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAUD,wBAAgB,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,WAAW,2CA2CrF"}
1
+ {"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../src/header.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,WAAW,2CAoB5C"}
@@ -1,15 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
- function formatTokens(n) {
4
- return n.toLocaleString('en-US');
5
- }
6
- function formatCost(n) {
7
- return `$${n.toFixed(2)}`;
8
- }
9
- export function Header({ project, duration, totalTokens, costUsd, theme }) {
10
- const primary = theme?.primary || '#7aa2f7';
3
+ export function Header({ theme }) {
11
4
  const border = theme?.border || '#414868';
12
- const fg = theme?.foreground || '#a9b1d6';
13
- return (_jsxs(Box, { flexDirection: "row", width: "100%", children: [_jsx(Box, { borderStyle: "single", borderColor: border, paddingX: 1, flexGrow: 1, flexDirection: "row", children: _jsxs(Box, { flexDirection: "column", marginRight: 2, children: [_jsx(Text, { bold: true, color: "cyan", children: '█ █ ████ ████ ████ ████ ███ ██ ████ ████ ██ █ █████' }), _jsx(Text, { bold: true, color: "cyan", children: '████ █ █ █ █ █ █ █▀▀ █▀▀█ █▀▀█ █ ▀█ █▀▀ ████ █ ' }), _jsx(Text, { bold: true, color: "cyan", children: '█ █ ████ █ █ ████ █ █ █ █ ███ ████ █ ▀█ █ ' })] }) }), _jsxs(Box, { borderStyle: "single", borderColor: border, paddingX: 1, flexDirection: "column", width: 42, children: [_jsxs(Box, { children: [_jsx(Text, { color: fg, children: "Project: " }), _jsxs(Text, { color: primary, children: ["[", project, "]"] })] }), _jsxs(Box, { children: [_jsx(Text, { color: fg, children: "Duration: " }), _jsxs(Text, { color: primary, children: ["[", duration, "]"] })] }), _jsxs(Box, { children: [_jsx(Text, { color: fg, children: "Usage: " }), _jsxs(Text, { color: primary, children: ["[", formatTokens(totalTokens), " tok/call | ", formatCost(costUsd), "]"] })] })] })] }));
5
+ return (_jsx(Box, { flexDirection: "row", width: "100%", children: _jsx(Box, { borderStyle: "single", borderColor: border, paddingX: 1, flexGrow: 1, flexDirection: "row", children: _jsxs(Box, { flexDirection: "column", marginRight: 2, children: [_jsx(Text, { bold: true, color: "cyan", children: '█ █ ████ ████ ████ ████ ███ ██ ████ ████ ██ █ █████' }), _jsx(Text, { bold: true, color: "cyan", children: '████ █ █ █ █ █ █ █▀▀ █▀▀█ █▀▀█ █ ▀█ █▀▀ ████ █ ' }), _jsx(Text, { bold: true, color: "cyan", children: '█ █ ████ █ █ ████ █ █ █ █ ███ ████ █ ▀█ █ ' })] }) }) }));
14
6
  }
15
7
  //# sourceMappingURL=header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../../src/header.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAWhC,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAe;IACpF,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,SAAS,CAAC;IAC5C,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,SAAS,CAAC;IAC1C,MAAM,EAAE,GAAG,KAAK,EAAE,UAAU,IAAI,SAAS,CAAC;IAE1C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,aACnC,KAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,aAAa,EAAC,KAAK,YAEnB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,aACxC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,YAAE,2DAA2D,GAAQ,EAC5F,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,YAAE,2DAA2D,GAAQ,EAC5F,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,YAAE,2DAA2D,GAAQ,IACxF,GACF,EAEN,MAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,EACX,aAAa,EAAC,QAAQ,EACtB,KAAK,EAAE,EAAE,aAET,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,2BAAmB,EAClC,MAAC,IAAI,IAAC,KAAK,EAAE,OAAO,kBAAI,OAAO,SAAS,IACpC,EACN,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,2BAAmB,EAClC,MAAC,IAAI,IAAC,KAAK,EAAE,OAAO,kBAAI,QAAQ,SAAS,IACrC,EACN,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,EAAE,2BAAmB,EAClC,MAAC,IAAI,IAAC,KAAK,EAAE,OAAO,kBAAI,YAAY,CAAC,WAAW,CAAC,kBAAc,UAAU,CAAC,OAAO,CAAC,SAAS,IACvF,IACF,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"header.js","sourceRoot":"","sources":["../../src/header.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAOhC,MAAM,UAAU,MAAM,CAAC,EAAE,KAAK,EAAe;IAC3C,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,SAAS,CAAC;IAE1C,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,KAAK,EAAC,MAAM,YACnC,KAAC,GAAG,IACF,WAAW,EAAC,QAAQ,EACpB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,aAAa,EAAC,KAAK,YAEnB,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,aACxC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,YAAE,2DAA2D,GAAQ,EAC5F,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,YAAE,2DAA2D,GAAQ,EAC5F,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,YAAE,2DAA2D,GAAQ,IACxF,GACF,GACF,CACP,CAAC;AACJ,CAAC"}
@@ -13,6 +13,7 @@ export { MascotBanner } from './mascot.js';
13
13
  export { parseSlashCommand, handleSlashCommand, SLASH_COMMANDS } from './slash-commands.js';
14
14
  export type { SlashCommandResult, SlashCommandContext, SlashCommandDef } from './slash-commands.js';
15
15
  export type { SlashCommandInput, ChatMessage } from './chat-surface.js';
16
+ export { COLD_START_BANNER } from './chat-surface.js';
16
17
  export type { TabId } from './tab-bar.js';
17
18
  export { ProjectsTab } from './projects-tab.js';
18
19
  export type { ProjectEntry } from './projects-tab.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC5F,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpG,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxE,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACjE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC5F,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACpG,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,aAAa,EACb,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,YAAY,GAClB,MAAM,kBAAkB,CAAC"}
package/dist/src/index.js CHANGED
@@ -9,6 +9,7 @@ export { ModePicker, MODE_LEVELS } from './mode-picker.js';
9
9
  export { ApprovalPicker } from './approval-picker.js';
10
10
  export { MascotBanner } from './mascot.js';
11
11
  export { parseSlashCommand, handleSlashCommand, SLASH_COMMANDS } from './slash-commands.js';
12
+ export { COLD_START_BANNER } from './chat-surface.js';
12
13
  export { ProjectsTab } from './projects-tab.js';
13
14
  export { StatsTab } from './stats-tab.js';
14
15
  export { AgentsTab } from './agents-tab.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAI5F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,aAAa,GAId,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG5F,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,aAAa,GAId,MAAM,kBAAkB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { HopperSettings } from '../../core/src/settings.js';
2
- export type ProviderName = 'anthropic' | 'openai' | 'local' | 'openrouter';
2
+ export type ProviderName = 'anthropic' | 'openai' | 'local' | 'openrouter' | 'ollama';
3
3
  type WizardStep = 'provider' | 'api_key' | 'model' | 'soul' | 'user' | 'agents' | 'memory' | 'tools' | 'confirm';
4
4
  export interface InitData {
5
5
  provider: ProviderName | null;
@@ -1 +1 @@
1
- {"version":3,"file":"init-wizard.d.ts","sourceRoot":"","sources":["../../src/init-wizard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAO5D,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,CAAC;AAC3E,KAAK,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEjH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB,CA6BA,CAAC;AAiIF,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,eAAe,GAAG,IAAI,CA+HrH;AAgMD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAkB7D;AAID,wBAAgB,oBAAoB,IAAI,OAAO,CAI9C;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS,CAMtF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,eAAe,CAc/E"}
1
+ {"version":3,"file":"init-wizard.d.ts","sourceRoot":"","sources":["../../src/init-wizard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAO5D,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;AACtF,KAAK,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAEjH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,YAAY,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5D,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC;CACtB,CAoCA,CAAC;AAiIF,wBAAgB,WAAW,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc,GAAG,eAAe,GAAG,IAAI,CA+HrH;AAgMD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAkB7D;AAID,wBAAgB,oBAAoB,IAAI,OAAO,CAI9C;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,YAAY,GAAG,SAAS,CAMtF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,eAAe,CAc/E"}