Add message and entity types
This commit is contained in:
parent
82f3d18117
commit
e61bcb544d
1 changed files with 57 additions and 0 deletions
57
src/types.ts
57
src/types.ts
|
|
@ -1 +1,58 @@
|
||||||
// Shared types for claude-remote
|
// Shared types for claude-remote
|
||||||
|
|
||||||
|
// Database entities
|
||||||
|
|
||||||
|
export interface Device {
|
||||||
|
id: number;
|
||||||
|
secret: string;
|
||||||
|
name: string | null;
|
||||||
|
created_at: number;
|
||||||
|
last_seen: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Session {
|
||||||
|
id: number;
|
||||||
|
device_id: number;
|
||||||
|
started_at: number;
|
||||||
|
ended_at: number | null;
|
||||||
|
cwd: string | null;
|
||||||
|
command: string | null;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Prompt {
|
||||||
|
id: number;
|
||||||
|
session_id: number;
|
||||||
|
created_at: number;
|
||||||
|
prompt_text: string;
|
||||||
|
response: string | null;
|
||||||
|
responded_at: number | null;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface OutputLog {
|
||||||
|
id: number;
|
||||||
|
session_id: number;
|
||||||
|
timestamp: number;
|
||||||
|
line: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
// WebSocket messages (CLI <-> Server)
|
||||||
|
|
||||||
|
export type ClientMessage =
|
||||||
|
| { type: "auth"; secret: string; cwd?: string; command?: string }
|
||||||
|
| { type: "output"; data: string }
|
||||||
|
| { type: "resize"; cols: number; rows: number }
|
||||||
|
| { type: "exit"; code: number };
|
||||||
|
|
||||||
|
export type ServerMessage =
|
||||||
|
| { type: "input"; data: string }
|
||||||
|
| { type: "resize"; cols: number; rows: number }
|
||||||
|
| { type: "ping" };
|
||||||
|
|
||||||
|
// SSE events (Server -> Dashboard)
|
||||||
|
|
||||||
|
export type SSEEvent =
|
||||||
|
| { type: "session_start"; session_id: number; cwd: string | null; command: string | null }
|
||||||
|
| { type: "session_end"; session_id: number; exit_code: number }
|
||||||
|
| { type: "output"; session_id: number; data: string }
|
||||||
|
| { type: "prompt"; prompt_id: number; session_id: number; prompt_text: string }
|
||||||
|
| { type: "prompt_response"; prompt_id: number; response: "approve" | "reject" }
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue