MVP: Pulse, Memory, History modules
- 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
This commit is contained in:
+107
@@ -0,0 +1,107 @@
|
||||
// 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;
|
||||
}
|
||||
Reference in New Issue
Block a user