(assistantDetails: any, fileIds: string[], initialMessage: string)
| 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 |
no test coverage detected