517583d1c4
- Mobile-first PWA with dark glassmorphic theme - Pulse: status card, recent sessions, memory snapshot - Memory: view/edit agent + user memory with usage bars - History: session list, platform filter, search, session replay - TanStack Query hooks for all Hermes WebAPI endpoints - Bottom tab navigation, safe-area support
108 lines
2.1 KiB
TypeScript
108 lines
2.1 KiB
TypeScript
// Hermes WebAPI response types
|
|
|
|
export interface Session {
|
|
id: string;
|
|
source: string;
|
|
user_id: string | null;
|
|
model: string | null;
|
|
started_at: number;
|
|
ended_at: number | null;
|
|
end_reason: string | null;
|
|
message_count: number;
|
|
tool_call_count: number;
|
|
input_tokens: number;
|
|
output_tokens: number;
|
|
cache_read_tokens: number;
|
|
cache_write_tokens: number;
|
|
reasoning_tokens: number;
|
|
estimated_cost_usd: number | null;
|
|
title: string | null;
|
|
parent_session_id: string | null;
|
|
}
|
|
|
|
export interface Message {
|
|
id: number;
|
|
session_id: string;
|
|
role: "user" | "assistant" | "tool" | "system";
|
|
content: string | null;
|
|
tool_call_id: string | null;
|
|
tool_calls: string | null;
|
|
tool_name: string | null;
|
|
timestamp: number;
|
|
token_count: number | null;
|
|
finish_reason: string | null;
|
|
reasoning: string | null;
|
|
}
|
|
|
|
export interface ToolCall {
|
|
id: string;
|
|
function: { name: string; arguments: string };
|
|
}
|
|
|
|
export interface MemoryTarget {
|
|
target: "memory" | "user";
|
|
entries: string[];
|
|
usage: string;
|
|
entry_count: number;
|
|
}
|
|
|
|
export interface MemoryResponse {
|
|
targets: MemoryTarget[];
|
|
}
|
|
|
|
export interface SkillSummary {
|
|
name: string;
|
|
description: string;
|
|
category?: string;
|
|
}
|
|
|
|
export interface SkillDetail {
|
|
name: string;
|
|
content: string;
|
|
linked_files?: Record<string, string[]>;
|
|
}
|
|
|
|
export interface CronJob {
|
|
id: string;
|
|
name?: string;
|
|
prompt: string;
|
|
schedule: string;
|
|
status: string;
|
|
deliver: string;
|
|
skill?: string;
|
|
skills?: string[];
|
|
model?: string;
|
|
provider?: string;
|
|
repeat?: number;
|
|
run_count: number;
|
|
last_run?: string;
|
|
next_run?: string;
|
|
created_at: string;
|
|
}
|
|
|
|
export interface GatewayState {
|
|
pid: number;
|
|
kind: string;
|
|
gateway_state: string;
|
|
platforms: Record<string, { state: string; updated_at: string }>;
|
|
updated_at: string;
|
|
}
|
|
|
|
export interface ConfigResponse {
|
|
model: string;
|
|
provider: string | null;
|
|
api_mode: string | null;
|
|
base_url: string | null;
|
|
config: Record<string, unknown>;
|
|
}
|
|
|
|
export interface SearchResult {
|
|
session_id: string;
|
|
message_id: number;
|
|
role: string;
|
|
content: string;
|
|
timestamp: number;
|
|
session_title: string | null;
|
|
session_source: string;
|
|
}
|