UNPKG

@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
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"; @Resolver(() => LoadAgentStateResponse) export class StateResolver { @Query(() => LoadAgentStateResponse) async loadAgentState(@Ctx() ctx: GraphQLContext, @Arg("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; } }