42861ea7fa
Multi-adapter mobile UI for AI coding assistants. Supports Claude Code, Codex CLI, and Gemini CLI through one interface. Features: - Real-time bidirectional sync via tmux + WebSocket - Cross-AI review (send one AI's output to another for review) - Multi-review tabs with minimize/expand - Push notifications (PWA) with smart session-aware filtering - Three-channel event system (hooks, file watcher, pane monitor) - Voice input, image paste, draft persistence - Terminal-native design (JetBrains Mono, dark theme, pixel art claw) - CLI with --adapter flag on every command - Zero-overhead fire-and-forget hooks
56 lines
1.1 KiB
TypeScript
56 lines
1.1 KiB
TypeScript
import type { ToolStatus } from './messages.js';
|
|
|
|
export interface AdapterCapabilities {
|
|
supportsPlanMode: boolean;
|
|
supportsPermissionModes: boolean;
|
|
supportsInterrupt: boolean;
|
|
supportsResume: boolean;
|
|
supportsAttach: boolean;
|
|
supportsStatusLine: boolean;
|
|
supportsImages: boolean;
|
|
supportsStreaming: boolean;
|
|
maxContextWindow: number;
|
|
permissionModeType?: 'cycle' | 'toggle';
|
|
}
|
|
|
|
export interface SessionInfo {
|
|
sessionId: string;
|
|
cwd: string | null;
|
|
lastModified?: number | string;
|
|
firstPrompt?: string | null;
|
|
model?: string | null;
|
|
}
|
|
|
|
export interface ModelInfo {
|
|
value: string;
|
|
label: string;
|
|
contextWindow?: number;
|
|
}
|
|
|
|
export interface PermissionModeInfo {
|
|
value: string;
|
|
label: string;
|
|
}
|
|
|
|
export interface EffortLevelInfo {
|
|
value: string;
|
|
label: string;
|
|
}
|
|
|
|
export interface AdapterInfo {
|
|
id: string;
|
|
displayName: string;
|
|
available: boolean;
|
|
capabilities?: AdapterCapabilities;
|
|
}
|
|
|
|
export interface ReconnectState {
|
|
tools: Record<string, ToolStatus>;
|
|
pendingRequests: Array<{
|
|
type: 'permission' | 'question';
|
|
requestId: string;
|
|
toolName?: string;
|
|
input?: Record<string, unknown>;
|
|
}>;
|
|
}
|