UNPKG

@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;" />

1 lines 1.7 kB
{"version":3,"sources":["../src/context/threads-context.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n ReactNode,\n SetStateAction,\n} from \"react\";\nimport { randomUUID } from \"@copilotkit/shared\";\n\nexport interface ThreadsContextValue {\n threadId: string;\n setThreadId: (value: SetStateAction<string>) => void;\n}\n\nconst ThreadsContext = createContext<ThreadsContextValue | undefined>(\n undefined,\n);\n\nexport interface ThreadsProviderProps {\n children: ReactNode;\n threadId?: string;\n}\n\nexport function ThreadsProvider({\n children,\n threadId: explicitThreadId,\n}: ThreadsProviderProps) {\n const [internalThreadId, setThreadId] = useState<string>(() => randomUUID());\n\n const threadId = explicitThreadId ?? internalThreadId;\n\n return (\n <ThreadsContext.Provider\n value={{\n threadId,\n setThreadId,\n }}\n >\n {children}\n </ThreadsContext.Provider>\n );\n}\n\nexport function useThreads() {\n const context = useContext(ThreadsContext);\n if (!context) {\n throw new Error(\"useThreads must be used within ThreadsProvider\");\n }\n return context;\n}\n\nexport { ThreadsContext };\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OAGK;AACP,SAAS,kBAAkB;AAyBvB;AAlBJ,IAAM,iBAAiB;AAAA,EACrB;AACF;AAOO,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA,UAAU;AACZ,GAAyB;AACvB,QAAM,CAAC,kBAAkB,WAAW,IAAI,SAAiB,MAAM,WAAW,CAAC;AAE3E,QAAM,WAAW,8CAAoB;AAErC,SACE;AAAA,IAAC,eAAe;AAAA,IAAf;AAAA,MACC,OAAO;AAAA,QACL;AAAA,QACA;AAAA,MACF;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ;AAEO,SAAS,aAAa;AAC3B,QAAM,UAAU,WAAW,cAAc;AACzC,MAAI,CAAC,SAAS;AACZ,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AACA,SAAO;AACT;","names":[]}