1
1
"use client" ;
2
2
3
- import React , { useState } from "react" ;
3
+ import { ALL_MODEL_NAMES } from "@/constants" ;
4
+ import { GraphInput } from "@/hooks/use-graph/useGraph" ;
5
+ import { useToast } from "@/hooks/use-toast" ;
6
+ import {
7
+ convertLangchainMessages ,
8
+ convertToOpenAIFormat ,
9
+ } from "@/lib/convert_messages" ;
10
+ import { ProgrammingLanguageOptions , Reflections } from "@/types" ;
4
11
import {
5
12
AppendMessage ,
6
13
AssistantRuntimeProvider ,
14
+ useExternalMessageConverter ,
7
15
useExternalStoreRuntime ,
8
16
} from "@assistant-ui/react" ;
17
+ import { BaseMessage , HumanMessage } from "@langchain/core/messages" ;
18
+ import { Thread as ThreadType } from "@langchain/langgraph-sdk" ;
19
+ import React , { useState } from "react" ;
9
20
import { v4 as uuidv4 } from "uuid" ;
10
21
import { Thread } from "./Primitives" ;
11
- import { useExternalMessageConverter } from "@assistant-ui/react" ;
12
- import { BaseMessage , HumanMessage } from "@langchain/core/messages" ;
13
- import {
14
- convertLangchainMessages ,
15
- convertToOpenAIFormat ,
16
- } from "@/lib/convert_messages" ;
17
- import { GraphInput } from "@/hooks/use-graph/useGraph" ;
18
22
import { Toaster } from "./ui/toaster" ;
19
- import { ProgrammingLanguageOptions , Reflections } from "@/types" ;
20
- import { Thread as ThreadType } from "@langchain/langgraph-sdk" ;
21
- import { useToast } from "@/hooks/use-toast" ;
22
23
23
24
export interface ContentComposerChatInterfaceProps {
24
25
messages : BaseMessage [ ] ;
25
26
streamMessage : ( input : GraphInput ) => Promise < void > ;
26
27
setMessages : React . Dispatch < React . SetStateAction < BaseMessage [ ] > > ;
27
- createThread : ( ) => Promise < ThreadType | undefined > ;
28
+ createThread : ( modelName : ALL_MODEL_NAMES ) => Promise < ThreadType | undefined > ;
28
29
setChatStarted : React . Dispatch < React . SetStateAction < boolean > > ;
29
30
showNewThreadButton : boolean ;
30
31
handleQuickStart : (
@@ -41,6 +42,8 @@ export interface ContentComposerChatInterfaceProps {
41
42
deleteThread : ( id : string ) => Promise < void > ;
42
43
getUserThreads : ( id : string ) => Promise < void > ;
43
44
userId : string ;
45
+ modelName : ALL_MODEL_NAMES ;
46
+ setModelName : React . Dispatch < React . SetStateAction < ALL_MODEL_NAMES > > ;
44
47
}
45
48
46
49
export function ContentComposerChatInterface (
@@ -106,6 +109,8 @@ export function ContentComposerChatInterface(
106
109
userThreads = { props . userThreads }
107
110
switchSelectedThread = { props . switchSelectedThread }
108
111
deleteThread = { props . deleteThread }
112
+ modelName = { props . modelName }
113
+ setModelName = { props . setModelName }
109
114
/>
110
115
</ AssistantRuntimeProvider >
111
116
< Toaster />
0 commit comments