File tree Expand file tree Collapse file tree 2 files changed +18
-11
lines changed
packages/compass-assistant/src Expand file tree Collapse file tree 2 files changed +18
-11
lines changed Original file line number Diff line number Diff line change 11import {
2- type ChatRequestOptions ,
32 type ChatTransport ,
43 type UIMessage ,
54 type UIMessageChunk ,
@@ -18,8 +17,7 @@ export class DocsProviderTransport implements ChatTransport<UIMessage> {
1817 } ) ;
1918 }
2019
21- // eslint-disable-next-line @typescript-eslint/require-await
22- async sendMessages ( {
20+ sendMessages ( {
2321 messages,
2422 abortSignal,
2523 } : Parameters < ChatTransport < UIMessage > [ 'sendMessages' ] > [ 0 ] ) {
@@ -29,15 +27,11 @@ export class DocsProviderTransport implements ChatTransport<UIMessage> {
2927 abortSignal : abortSignal ,
3028 } ) ;
3129
32- return result . toUIMessageStream ( ) ;
30+ return Promise . resolve ( result . toUIMessageStream ( ) ) ;
3331 }
3432
35- // eslint-disable-next-line @typescript-eslint/require-await
36- async reconnectToStream (
37- // eslint-disable-next-line @typescript-eslint/no-unused-vars
38- options : ChatRequestOptions
39- ) : Promise < ReadableStream < UIMessageChunk > | null > {
33+ reconnectToStream ( ) : Promise < ReadableStream < UIMessageChunk > | null > {
4034 // For this implementation, we don't support reconnecting to streams
41- return null ;
35+ return Promise . resolve ( null ) ;
4236 }
4337}
Original file line number Diff line number Diff line change @@ -3,11 +3,24 @@ import { AssistantProvider } from './assistant-provider';
33import { Chat } from './@ai-sdk/react/chat-react' ;
44import { DocsProviderTransport } from './docs-provider-transport' ;
55import { atlasServiceLocator } from '@mongodb-js/atlas-service/provider' ;
6+ import type { PropsWithChildren } from 'react' ;
7+ import type { UIMessage } from 'ai' ;
8+ import React from 'react' ;
69
710const CompassAssistantProvider = registerCompassPlugin (
811 {
912 name : 'CompassAssistant' ,
10- component : AssistantProvider ,
13+ component : ( {
14+ chat,
15+ children,
16+ } : PropsWithChildren < {
17+ chat ?: Chat < UIMessage > ;
18+ } > ) => {
19+ if ( ! chat ) {
20+ throw new Error ( 'Chat was not provided by the state' ) ;
21+ }
22+ return < AssistantProvider chat = { chat } > { children } </ AssistantProvider > ;
23+ } ,
1124 activate : ( initialProps , { atlasService } ) => {
1225 // TODO: We will temporarily default to the staging url until the docs
1326 // API is deployed to the production environment.
You can’t perform that action at this time.
0 commit comments