Skip to content

Commit 23e9497

Browse files
authored
🐛 FIX: Thread id in run response (#85)
1 parent d3627fc commit 23e9497

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

packages/langbase/src/common/request.ts

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ interface HandleGenerateResponseParams {
3030
response: Response;
3131
isChat: boolean;
3232
threadId: string | null;
33+
rawResponse: boolean;
3334
}
3435

3536
export class Request {
@@ -58,10 +59,11 @@ export class Request {
5859
}
5960

6061
if (!options.body) {
61-
return this.handleGenerateResponse({
62+
return this.handleRunResponse({
6263
response,
6364
isChat: false,
6465
threadId: null,
66+
rawResponse: options.body?.rawResponse ?? false,
6567
});
6668
}
6769

@@ -78,10 +80,11 @@ export class Request {
7880
return this.handleStreamResponse({response}) as T;
7981
}
8082

81-
return this.handleGenerateResponse({
83+
return this.handleRunResponse({
8284
response,
83-
isChat: options.body.chat,
85+
isChat: options.body?.chat,
8486
threadId,
87+
rawResponse: options.body?.rawResponse ?? false,
8588
});
8689
}
8790

@@ -109,7 +112,7 @@ export class Request {
109112
return fetch(url, {
110113
method: options.method,
111114
headers,
112-
body: JSON.stringify(options.body)
115+
body: JSON.stringify(options.body),
113116
// signal: AbortSignal.timeout(this.config.timeout || 30000),
114117
});
115118
}
@@ -177,10 +180,11 @@ export class Request {
177180
return result;
178181
}
179182

180-
private async handleGenerateResponse({
183+
private async handleRunResponse({
181184
response,
182185
isChat,
183186
threadId,
187+
rawResponse,
184188
}: HandleGenerateResponseParams): Promise<any> {
185189
const generateResponse = await response.json();
186190
const buildResponse = generateResponse.raw
@@ -190,16 +194,19 @@ export class Request {
190194
}
191195
: generateResponse;
192196

193-
// Chat.
194-
if (isChat && threadId) {
195-
return {
196-
threadId,
197-
...buildResponse,
197+
const result: any = {
198+
...buildResponse,
199+
};
200+
201+
result.threadId = threadId;
202+
203+
if (rawResponse) {
204+
result.rawResponse = {
205+
headers: Object.fromEntries(response.headers.entries()),
198206
};
199207
}
200208

201-
// Generate.
202-
return buildResponse;
209+
return result;
203210
}
204211

205212
async post<T>(options: Omit<RequestOptions, 'method'>): Promise<T> {

0 commit comments

Comments
 (0)