@copilotkit/react-core
Version:
<div align="center"> <a href="https://copilotkit.ai" target="_blank"> <img src="https://github.com/copilotkit/copilotkit/raw/main/assets/banner.png" alt="CopilotKit Logo"> </a>
31 lines (26 loc) • 940 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>();
useEffect(() => {
const id = addDocumentContext(document, categories);
idRef.current = id;
return () => {
removeDocumentContext(id);
};
}, [addDocumentContext, removeDocumentContext, ...dependencies]);
return idRef.current;
}