@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) • 950 B
text/typescript
import { useEffect, useRef } from "react";
import { useCopilotContext } from "../context/copilot-context";
import { DocumentPointer } from "../types";
/**
* Makes a document readable by Copilot.
* @param document The document to make readable.
* @param categories The categories to associate with the document.
* @param dependencies The dependencies to use for the effect.
* @returns The id of the document.
*/
export function useMakeCopilotDocumentReadable(
document: DocumentPointer,
categories?: string[],
dependencies: any[] = [],
): string | undefined {
const { addDocumentContext, removeDocumentContext } = useCopilotContext();
const idRef = useRef<string>(undefined!);
useEffect(() => {
const id = addDocumentContext(document, categories);
idRef.current = id;
return () => {
removeDocumentContext(id);
};
}, [addDocumentContext, removeDocumentContext, ...dependencies]);
return idRef.current;
}