33 lines
916 B
TypeScript
33 lines
916 B
TypeScript
import type {
|
|
AgentApiClient,
|
|
AgentChatSessionSummary,
|
|
AgentModelOption
|
|
} from "./client";
|
|
import { parseUiRegistry, type UIRegistry } from "../ui-envelope";
|
|
|
|
export const agentBootstrapKey = ["agent", "bootstrap"] as const;
|
|
export const agentSessionsKey = ["agent", "sessions"] as const;
|
|
|
|
export type AgentBootstrapData = {
|
|
registry: UIRegistry | null;
|
|
models: AgentModelOption[];
|
|
defaultModel: string;
|
|
};
|
|
|
|
export async function fetchAgentBootstrap(client: AgentApiClient): Promise<AgentBootstrapData> {
|
|
const [rawRegistry, modelsResponse] = await Promise.all([
|
|
client.getUiRegistry(),
|
|
client.getModels()
|
|
]);
|
|
|
|
return {
|
|
registry: parseUiRegistry(rawRegistry),
|
|
models: modelsResponse.models,
|
|
defaultModel: modelsResponse.defaultModel
|
|
};
|
|
}
|
|
|
|
export async function fetchAgentSessions(client: AgentApiClient): Promise<AgentChatSessionSummary[]> {
|
|
return client.listSessions();
|
|
}
|