@copilotkit/react-core
Version:
<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />
31 lines (26 loc) • 820 B
text/typescript
import { useEffect, useRef } from "react";
import type { AgentSubscriber } from "@ag-ui/client";
import { useAgent } from "@copilotkitnext/react";
export function useAgentNodeName(agentName?: string) {
const { agent } = useAgent({ agentId: agentName });
const nodeNameRef = useRef<string>("start");
useEffect(() => {
if (!agent) return;
const subscriber: AgentSubscriber = {
onStepStartedEvent: ({ event }) => {
nodeNameRef.current = event.stepName;
},
onRunStartedEvent: () => {
nodeNameRef.current = "start";
},
onRunFinishedEvent: () => {
nodeNameRef.current = "end";
},
};
const subscription = agent.subscribe(subscriber);
return () => {
subscription.unsubscribe();
};
}, [agent]);
return nodeNameRef.current;
}