From 4c5d9e88b0a94a329fab6653fc09ef3cece65925 Mon Sep 17 00:00:00 2001 From: Dominik Kundel Date: Mon, 9 Jun 2025 09:49:07 -0700 Subject: [PATCH 1/2] feat(openai): pass through unknown hosted tools --- .../agents-openai/src/openaiResponsesModel.ts | 5 +++++ .../test/openaiResponsesModel.helpers.test.ts | 17 +++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/packages/agents-openai/src/openaiResponsesModel.ts b/packages/agents-openai/src/openaiResponsesModel.ts index d6767618..c37a8756 100644 --- a/packages/agents-openai/src/openaiResponsesModel.ts +++ b/packages/agents-openai/src/openaiResponsesModel.ts @@ -175,6 +175,11 @@ function converTool<_TContext = unknown>( }, include: undefined, }; + } else if (tool.providerData) { + return { + tool: tool.providerData as unknown as OpenAI.Responses.Tool, + include: undefined, + }; } } diff --git a/packages/agents-openai/test/openaiResponsesModel.helpers.test.ts b/packages/agents-openai/test/openaiResponsesModel.helpers.test.ts index a4accdf1..68f60c68 100644 --- a/packages/agents-openai/test/openaiResponsesModel.helpers.test.ts +++ b/packages/agents-openai/test/openaiResponsesModel.helpers.test.ts @@ -125,6 +125,23 @@ describe('converTool', () => { quality: undefined, size: undefined, }); + + const custom = converTool({ + type: 'hosted_tool', + providerData: { + type: 'mcp', + server_label: 'deepwiki', + server_url: 'https://mcp.deepwiki.com/mcp', + require_approval: 'never', + }, + } as any); + + expect(custom.tool).toEqual({ + type: 'mcp', + server_label: 'deepwiki', + server_url: 'https://mcp.deepwiki.com/mcp', + require_approval: 'never', + }); }); it('throws on unsupported tool', () => { From 39e6b3efa6c441b74af06cc1a664191d75f2318e Mon Sep 17 00:00:00 2001 From: Dominik Kundel Date: Mon, 9 Jun 2025 12:54:57 -0700 Subject: [PATCH 2/2] Create rich-buses-marry.md --- .changeset/rich-buses-marry.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/rich-buses-marry.md diff --git a/.changeset/rich-buses-marry.md b/.changeset/rich-buses-marry.md new file mode 100644 index 00000000..2183dd1d --- /dev/null +++ b/.changeset/rich-buses-marry.md @@ -0,0 +1,5 @@ +--- +"@openai/agents-openai": patch +--- + +feat: handle unknown hosted tools in responses model