feat(cli): TUI complete overhaul — components, sidebar, search, branding (#157)
All checks were successful
ci/woodpecker/push/ci Pipeline was successful

Co-authored-by: Jason Woltje <jason@diversecanvas.com>
Co-committed-by: Jason Woltje <jason@diversecanvas.com>
This commit was merged in pull request #157.
This commit is contained in:
2026-03-15 22:17:19 +00:00
committed by jason.woltje
parent d31070177c
commit 82c10a7b33
21 changed files with 2808 additions and 355 deletions

View File

@@ -9,6 +9,26 @@ export interface AgentStartPayload {
export interface AgentEndPayload {
conversationId: string;
usage?: SessionUsagePayload;
}
/** Session metadata emitted with agent:end and on session:info */
export interface SessionUsagePayload {
provider: string;
modelId: string;
thinkingLevel: string;
tokens: {
input: number;
output: number;
cacheRead: number;
cacheWrite: number;
total: number;
};
cost: number;
context: {
percent: number | null;
window: number;
};
}
export interface AgentTextPayload {
@@ -42,6 +62,23 @@ export interface ErrorPayload {
export interface ChatMessagePayload {
conversationId?: string;
content: string;
provider?: string;
modelId?: string;
}
/** Session info pushed when session is created or model changes */
export interface SessionInfoPayload {
conversationId: string;
provider: string;
modelId: string;
thinkingLevel: string;
availableThinkingLevels: string[];
}
/** Client request to change thinking level */
export interface SetThinkingPayload {
conversationId: string;
level: string;
}
/** Socket.IO typed event map: server → client */
@@ -53,10 +90,12 @@ export interface ServerToClientEvents {
'agent:thinking': (payload: AgentThinkingPayload) => void;
'agent:tool:start': (payload: ToolStartPayload) => void;
'agent:tool:end': (payload: ToolEndPayload) => void;
'session:info': (payload: SessionInfoPayload) => void;
error: (payload: ErrorPayload) => void;
}
/** Socket.IO typed event map: client → server */
export interface ClientToServerEvents {
message: (data: ChatMessagePayload) => void;
'set:thinking': (data: SetThinkingPayload) => void;
}

View File

@@ -7,6 +7,9 @@ export type {
AgentThinkingPayload,
ToolStartPayload,
ToolEndPayload,
SessionUsagePayload,
SessionInfoPayload,
SetThinkingPayload,
ErrorPayload,
ChatMessagePayload,
ServerToClientEvents,