|
|
@@ -191,7 +191,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl
|
|
|
let lastUsage
|
|
|
|
|
|
for await (const chunk of stream) {
|
|
|
- const delta = chunk.choices[0]?.delta ?? {}
|
|
|
+ const delta = chunk.choices?.[0]?.delta ?? {}
|
|
|
|
|
|
if (delta.content) {
|
|
|
for (const chunk of matcher.update(delta.content)) {
|
|
|
@@ -242,7 +242,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl
|
|
|
|
|
|
yield {
|
|
|
type: "text",
|
|
|
- text: response.choices[0]?.message.content || "",
|
|
|
+ text: response.choices?.[0]?.message.content || "",
|
|
|
}
|
|
|
|
|
|
yield this.processUsageMetrics(response.usage, modelInfo)
|
|
|
@@ -290,7 +290,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl
|
|
|
throw handleOpenAIError(error, this.providerName)
|
|
|
}
|
|
|
|
|
|
- return response.choices[0]?.message.content || ""
|
|
|
+ return response.choices?.[0]?.message.content || ""
|
|
|
} catch (error) {
|
|
|
if (error instanceof Error) {
|
|
|
throw new Error(`${this.providerName} completion error: ${error.message}`)
|
|
|
@@ -373,7 +373,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl
|
|
|
|
|
|
yield {
|
|
|
type: "text",
|
|
|
- text: response.choices[0]?.message.content || "",
|
|
|
+ text: response.choices?.[0]?.message.content || "",
|
|
|
}
|
|
|
yield this.processUsageMetrics(response.usage)
|
|
|
}
|
|
|
@@ -381,7 +381,7 @@ export class OpenAiHandler extends BaseProvider implements SingleCompletionHandl
|
|
|
|
|
|
private async *handleStreamResponse(stream: AsyncIterable<OpenAI.Chat.Completions.ChatCompletionChunk>): ApiStream {
|
|
|
for await (const chunk of stream) {
|
|
|
- const delta = chunk.choices[0]?.delta
|
|
|
+ const delta = chunk.choices?.[0]?.delta
|
|
|
if (delta?.content) {
|
|
|
yield {
|
|
|
type: "text",
|