diff --git a/agent/src/api/chat.ts b/agent/src/api/chat.ts index f5151af2..9b227780 100644 --- a/agent/src/api/chat.ts +++ b/agent/src/api/chat.ts @@ -38,7 +38,7 @@ export const myProvider = customProvider({ 'sonar-reasoning': perplexity('sonar-reasoning'), 'gpt-4o': openai('gpt-4o'), 'gpt-4o-mini': openai('gpt-4o-mini'), - 'gpt-4.1': openai('gpt-4.1'), + 'gpt-4.1': openai.responses('gpt-4.1'), 'gpt-4.1-mini': openai('gpt-4.1-mini'), 'gpt-4.1-nano': openai('gpt-4.1-nano'), 'o3-mini': openai('o3-mini'), diff --git a/agent/src/server.ts b/agent/src/server.ts index 22a7d812..5c242dee 100644 --- a/agent/src/server.ts +++ b/agent/src/server.ts @@ -596,12 +596,25 @@ fastify.route<{ Body: UserChatStreamInput }>({ }), }, maxSteps: 5, + maxRetries: 0, + experimental_providerMetadata: { + openai: { + previousResponseId: + 'resp_680be1f1906c8192a31f34bdaddd5673065d082b4685d13f', + }, + }, experimental_generateMessageId: crypto.randomUUID, experimental_telemetry: { isEnabled: true, functionId: 'stream-text' }, onError(error) { log.error({ error }, 'Error in chat stream'); }, async onFinish(event) { + if (event?.providerMetadata?.openai?.responseId) { + stream.appendMessageAnnotation({ + responseId: event.providerMetadata.openai.responseId, + }); + } + if (event.sources.length === 0) { await stream.close(); log.info({}, 'stream closed');