2ded310472
- Add a dedicated plan-approval bottom sheet (interactive-prompt) driven by ExitPlanMode's now-4-option layout (Claude Code v2.1.177), with approve/YOLO/reject/feedback wired through respondPlan(requestId). - PermissionManager: stop auto-expiring AskUserQuestion/plan prompts and stop releasing pending prompts on client disconnect — they reflect real CLI state and must survive reconnects. - Detect server-rejected tokens (401/403 or failed WS handshake) and bounce back to the login screen via a new AUTH_EXPIRED_EVENT. - Add `/cert` endpoint + Settings entry so phones can download/trust the self-signed HTTPS cert directly; fix cert IP detection on non-macOS hosts. - Add `clawtap reset-login` command and `/api/auth/reset-attempts` endpoint to clear login rate-limit lockouts. - Codex adapter: only forward recognized keystrokes/option indices to tmux, never the synthetic "deny" dismissal signal. - PWA: actively poll for service-worker updates (iOS standalone apps don't reliably check on navigation). - update-service.sh: install tmux if missing, prompt to create the env file instead of failing, add --skip-firewall, and improve logging.
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' | 'plan';
|
|
requestId: string;
|
|
toolName?: string;
|
|
input?: Record<string, unknown>;
|
|
}>;
|
|
}
|