Fix types

This commit is contained in:
Tat Dat Duong
2025-03-02 20:22:36 +01:00
parent b3895ff836
commit ca8bc7d107
2 changed files with 11 additions and 17 deletions

View File

@@ -10,7 +10,7 @@ export default function StockPrice(props: {
const [counter, setCounter] = useState(0); const [counter, setCounter] = useState(0);
// useStream should be able to be infered from context // useStream should be able to be infered from context
const thread = useStream<{ messages: Message[] }, { messages: Message[] }>({ const thread = useStream<{ messages: Message[] }>({
assistantId: "assistant_123", assistantId: "assistant_123",
apiUrl: "http://localhost:3123", apiUrl: "http://localhost:3123",
}); });
@@ -22,7 +22,7 @@ export default function StockPrice(props: {
.reverse() .reverse()
.find( .find(
(message): message is AIMessage => (message): message is AIMessage =>
message.type === "ai" && !!message.tool_calls?.length, message.type === "ai" && !!message.tool_calls?.length
); );
const toolCallId = aiTool?.tool_calls?.[0]?.id; const toolCallId = aiTool?.tool_calls?.[0]?.id;

View File

@@ -6,30 +6,24 @@ import type {
RemoveUIMessage, RemoveUIMessage,
} from "@langchain/langgraph-sdk/react-ui/types"; } from "@langchain/langgraph-sdk/react-ui/types";
type StreamContextType = ReturnType< const useTypedStream = useStream<
typeof useStream< { messages: Message[]; ui: UIMessage[] },
{ messages: Message[]; ui: UIMessage[] }, {
{ UpdateType: {
messages?: Message[] | Message | string; messages?: Message[] | Message | string;
ui?: (UIMessage | RemoveUIMessage)[] | UIMessage | RemoveUIMessage; ui?: (UIMessage | RemoveUIMessage)[] | UIMessage | RemoveUIMessage;
}, };
UIMessage | RemoveUIMessage CustomType: UIMessage | RemoveUIMessage;
> }
>; >;
type StreamContextType = ReturnType<typeof useTypedStream>;
const StreamContext = createContext<StreamContextType | undefined>(undefined); const StreamContext = createContext<StreamContextType | undefined>(undefined);
export const StreamProvider: React.FC<{ children: ReactNode }> = ({ export const StreamProvider: React.FC<{ children: ReactNode }> = ({
children, children,
}) => { }) => {
const streamValue = useStream< const streamValue = useTypedStream({
{ messages: Message[]; ui: UIMessage[] },
{
messages?: Message[] | Message | string;
ui?: (UIMessage | RemoveUIMessage)[] | UIMessage | RemoveUIMessage;
},
UIMessage | RemoveUIMessage
>({
apiUrl: "http://localhost:2024", apiUrl: "http://localhost:2024",
assistantId: "agent", assistantId: "agent",
}); });