e30e75b5d4
Changesets / Create Version PR (push) Has been cancelled
Deploy Shadcn Registry / Deploy Production (push) Has been cancelled
Template Metrics / LOC + Bundle Size (push) Has been cancelled
Code Quality / Oxlint + Oxfmt (push) Has been cancelled
Code Quality / Template Sync (push) Has been cancelled
Code Quality / Build Changed Packages (push) Has been cancelled
Code Quality / Test Changed Packages (push) Has been cancelled
Deploy Expo Example / Deploy Production (push) Has been cancelled
Deploy Ink Example / Deploy Production (push) Has been cancelled
Python Tests / pytest (assistant-stream, 3.10) (push) Has been cancelled
Python Tests / pytest (assistant-stream, 3.12) (push) Has been cancelled
Python Tests / pytest (assistant-ui-sync-server-api, 3.10) (push) Has been cancelled
Python Tests / pytest (assistant-ui-sync-server-api, 3.12) (push) Has been cancelled
35 lines
884 B
TypeScript
35 lines
884 B
TypeScript
"use client";
|
|
|
|
import { AssistantRuntimeProvider } from "@assistant-ui/react";
|
|
import { useStreamRuntime } from "@assistant-ui/react-langchain";
|
|
import { Client } from "@langchain/langgraph-sdk";
|
|
|
|
export function MyRuntimeProvider({
|
|
children,
|
|
}: Readonly<{
|
|
children: React.ReactNode;
|
|
}>) {
|
|
const apiUrl =
|
|
process.env.NEXT_PUBLIC_LANGGRAPH_API_URL ||
|
|
(typeof window !== "undefined"
|
|
? new URL("/api", window.location.href).href
|
|
: undefined);
|
|
|
|
const runtime = useStreamRuntime({
|
|
assistantId: process.env.NEXT_PUBLIC_LANGGRAPH_ASSISTANT_ID!,
|
|
apiUrl,
|
|
create: async () => {
|
|
const { thread_id } = await new Client(
|
|
apiUrl ? { apiUrl } : {},
|
|
).threads.create();
|
|
return { externalId: thread_id };
|
|
},
|
|
});
|
|
|
|
return (
|
|
<AssistantRuntimeProvider runtime={runtime}>
|
|
{children}
|
|
</AssistantRuntimeProvider>
|
|
);
|
|
}
|