Files
hive/core/frontend/src/api/sessions.ts
T
2026-02-23 19:07:54 -08:00

37 lines
1.2 KiB
TypeScript

import { api } from "./client";
import type {
SessionSummary,
SessionDetail,
Checkpoint,
Message,
} from "./types";
export const sessionsApi = {
list: (agentId: string) =>
api.get<{ sessions: SessionSummary[] }>(`/agents/${agentId}/sessions`),
get: (agentId: string, sessionId: string) =>
api.get<SessionDetail>(`/agents/${agentId}/sessions/${sessionId}`),
delete: (agentId: string, sessionId: string) =>
api.delete<{ deleted: string }>(`/agents/${agentId}/sessions/${sessionId}`),
checkpoints: (agentId: string, sessionId: string) =>
api.get<{ checkpoints: Checkpoint[] }>(
`/agents/${agentId}/sessions/${sessionId}/checkpoints`,
),
restore: (agentId: string, sessionId: string, checkpointId: string) =>
api.post<{ execution_id: string }>(
`/agents/${agentId}/sessions/${sessionId}/checkpoints/${checkpointId}/restore`,
),
messages: (agentId: string, sessionId: string, nodeId?: string) => {
const params = new URLSearchParams({ client_only: "true" });
if (nodeId) params.set("node_id", nodeId);
return api.get<{ messages: Message[] }>(
`/agents/${agentId}/sessions/${sessionId}/messages?${params}`,
);
},
};