MCPcopy Index your code
hub / github.com/admineral/OpenAI-Assistant-API-Chat / startAssistant

Method startAssistant

app/services/ChatManager.ts:77–152  ·  view source on GitHub ↗
(assistantDetails: any, fileIds: string[], initialMessage: string)

Source from the content-addressed store, hash-verified

75
76 // Method to start the assistant
77 async startAssistant(assistantDetails: any, fileIds: string[], initialMessage: string): Promise<void> {
78 console.log('Starting assistant...');
79
80 this.state.setStatusMessage('Initializing chat assistant...');
81 this.state.isLoading = true;
82
83 try {
84
85
86 // Initialize the assistant
87 this.state.setStatusMessage('Create Assistant...');
88 const assistantId = await initializeAssistant(assistantDetails, fileIds);
89 if (assistantId === null) {
90 throw new Error('AssistantId is null');
91 }
92 this.state.setStatusMessage('Assistant created...');
93
94 // Create the chat thread
95 this.state.setStatusMessage('Creating thread...');
96 this.state.assistantId = assistantId;
97 const threadId = await createChatThread(initialMessage);
98 if (threadId === null) {
99 throw new Error('ThreadId is null');
100 }
101 this.state.setStatusMessage('Received thread_ID...');
102
103 // Run the assistant
104 this.state.setStatusMessage('Running assistant...');
105 this.state.threadId = threadId;
106 const runId = await runChatAssistant(this.state.assistantId, this.state.threadId);
107 if (runId === null) {
108 throw new Error('RunId is null');
109 }
110
111 // Store the run ID
112 this.state.runId = runId;
113 this.state.setStatusMessage('Received Run_ID..');
114
115 // Fetch the assistant's response
116 if (this.state.runId && this.state.threadId) {
117 const runId = this.state.runId as string;
118 const threadId = this.state.threadId as string;
119 this.state.setStatusMessage('checking status...');
120 const response = await fetchAssistantResponse(
121 this.state.runId as string,
122 this.state.threadId as string,
123 this.state.setStatusMessage,
124 this.state.setProgress,
125 40 // initialProgress
126 );
127 this.state.setStatusMessage('Run complete...');
128 this.state.assistantResponseReceived = true;
129 this.state.setStatusMessage('Received messages...');
130
131 // Add the assistant's response to the messages
132 const newMessage = { role: 'assistant', content: response };
133 this.state.setStatusMessage('Adding messages to chat...');
134

Callers 1

startChatAssistantFunction · 0.80

Calls 4

initializeAssistantFunction · 0.90
createChatThreadFunction · 0.90
runChatAssistantFunction · 0.90
fetchAssistantResponseFunction · 0.90

Tested by

no test coverage detected