|
1 | 1 | import { sew } from "@/actions"; |
2 | 2 | import { _getConfiguredLanguageModelsFull, _getAISDKLanguageModelAndOptions, _updateChatMessages, _isOwnerOfChat } from "@/features/chat/actions"; |
3 | 3 | import { createAgentStream } from "@/features/chat/agent"; |
4 | | -import { additionalChatRequestParamsSchema, LanguageModelInfo, SBChatMessage, SearchScope } from "@/features/chat/types"; |
| 4 | +import { additionalChatRequestParamsSchema, LanguageModelInfo, SBChatMessage, SBChatMessageMetadata, SearchScope } from "@/features/chat/types"; |
5 | 5 | import { getAnswerPartFromAssistantMessage, getLanguageModelKey } from "@/features/chat/utils"; |
6 | 6 | import { apiHandler } from "@/lib/apiHandler"; |
7 | 7 | import { ErrorCode } from "@/lib/errorCodes"; |
@@ -109,7 +109,9 @@ export const POST = apiHandler(async (req: NextRequest) => { |
109 | 109 | const stream = await createMessageStream({ |
110 | 110 | chatId: id, |
111 | 111 | messages, |
112 | | - selectedSearchScopes, |
| 112 | + metadata: { |
| 113 | + selectedSearchScopes, |
| 114 | + }, |
113 | 115 | selectedRepos: expandedRepos, |
114 | 116 | model, |
115 | 117 | modelName: languageModelConfig.displayName ?? languageModelConfig.model, |
@@ -163,19 +165,19 @@ const mergeStreamAsync = async (stream: StreamTextResult<any, any>, writer: UIMe |
163 | 165 | interface CreateMessageStreamResponseProps { |
164 | 166 | chatId: string; |
165 | 167 | messages: SBChatMessage[]; |
166 | | - selectedSearchScopes: SearchScope[]; |
167 | 168 | selectedRepos: string[]; |
168 | 169 | model: AISDKLanguageModelV2; |
169 | 170 | modelName: string; |
170 | | - modelProviderOptions?: Record<string, Record<string, JSONValue>>; |
171 | 171 | onFinish: UIMessageStreamOnFinishCallback<SBChatMessage>; |
172 | 172 | onError: (error: unknown) => string; |
| 173 | + modelProviderOptions?: Record<string, Record<string, JSONValue>>; |
| 174 | + metadata?: Partial<SBChatMessageMetadata>; |
173 | 175 | } |
174 | 176 |
|
175 | 177 | export const createMessageStream = async ({ |
176 | 178 | chatId, |
177 | 179 | messages, |
178 | | - selectedSearchScopes, |
| 180 | + metadata, |
179 | 181 | selectedRepos, |
180 | 182 | model, |
181 | 183 | modelName, |
@@ -252,8 +254,8 @@ export const createMessageStream = async ({ |
252 | 254 | totalOutputTokens: totalUsage.outputTokens, |
253 | 255 | totalResponseTimeMs: new Date().getTime() - startTime.getTime(), |
254 | 256 | modelName, |
255 | | - selectedSearchScopes, |
256 | 257 | traceId, |
| 258 | + ...metadata, |
257 | 259 | } |
258 | 260 | }); |
259 | 261 |
|
|
0 commit comments