@copilotkit/runtime
Version:
<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />
27 lines (23 loc) • 1.07 kB
text/typescript
import { Arg, Resolver } from "type-graphql";
import { Ctx } from "type-graphql";
import { Query } from "type-graphql";
import { LoadAgentStateResponse } from "../types/load-agent-state-response.type";
import type { GraphQLContext } from "../../lib/integrations";
import { LoadAgentStateInput } from "../inputs/load-agent-state.input";
import { CopilotKitAgentDiscoveryError } from "@copilotkit/shared";
(() => LoadAgentStateResponse)
export class StateResolver {
(() => LoadAgentStateResponse)
async loadAgentState(() ctx: GraphQLContext, ("data") data: LoadAgentStateInput) {
const agents = await ctx._copilotkit.runtime.getAllAgents(ctx);
const hasAgent = agents.some((agent) => agent.name === data.agentName);
if (!hasAgent) {
throw new CopilotKitAgentDiscoveryError({
agentName: data.agentName,
availableAgents: agents.map((a) => ({ name: a.name, id: a.name })),
});
}
const state = await ctx._copilotkit.runtime.loadAgentState(ctx, data.threadId, data.agentName);
return state;
}
}