@theia/ai-openai 1.73.1 → 1.74.0-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,11 @@ import type { RunnerOptions } from 'openai/lib/AbstractChatCompletionRunner';
5
5
  import type { FunctionTool, Tool, ResponseInputItem, ResponseStreamEvent } from 'openai/resources/responses/responses';
6
6
  import { DeveloperMessageSettings, OpenAiModelUtils } from './openai-language-model';
7
7
  import { JSONSchemaDefinition } from 'openai/lib/jsonschema';
8
+ /**
9
+ * User-facing name under which the provider's built-in deferred-tool search is surfaced in the chat UI.
10
+ * Matches the native Response API tool type (`tool_search`), which OpenAI executes on its own infrastructure.
11
+ */
12
+ export declare const OPENAI_TOOL_SEARCH = "tool_search";
8
13
  /**
9
14
  * Utility class for handling OpenAI Response API requests and tool calling cycles.
10
15
  *
@@ -1 +1 @@
1
- {"version":3,"file":"openai-response-api-utils.d.ts","sourceRoot":"","sources":["../../src/node/openai-response-api-utils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAGH,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAG/B,WAAW,EACX,qBAAqB,EACrB,WAAW,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAe,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,EACR,YAAY,EACZ,IAAI,EAIJ,iBAAiB,EACjB,mBAAmB,EACtB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAc,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAYzE;;;;;GAKG;AACH,qBACa,sBAAsB;IAE/B;;;OAGG;IACG,aAAa,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,gBAAgB,EAC5B,wBAAwB,EAAE,wBAAwB,EAClD,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAsDjC;;OAEG;IACH,0BAA0B,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS;IAwBjG,iCAAiC,CAAC,MAAM,EAAE,qBAAqB,GAAG,YAAY,CAAC,YAAY,CAAC;IAI5F,SAAS,CAAC,qCAAqC,CAC3C,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAC1C,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,aAAa,CAAC,+BAA+B,CAAC;IA+CjD;;;;;;;;;;OAUG;IACH,eAAe,CACX,QAAQ,EAAE,oBAAoB,EAAE,EAChC,wBAAwB,EAAE,wBAAwB,EAClD,KAAK,EAAE,MAAM,GACd;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,iBAAiB,EAAE,CAAA;KAAE;IA+ExD,SAAS,CAAC,qBAAqB,CAC3B,QAAQ,EAAE,oBAAoB,EAAE,EAChC,wBAAwB,EAAE,wBAAwB,GACnD,oBAAoB,EAAE;CAG5B;AAybD,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,oBAAoB,EAAE,EAChC,wBAAwB,EAAE,wBAAwB,GACnD,oBAAoB,EAAE,CA0BxB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CA6C5F"}
1
+ {"version":3,"file":"openai-response-api-utils.d.ts","sourceRoot":"","sources":["../../src/node/openai-response-api-utils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAGH,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAG/B,WAAW,EACX,qBAAqB,EACrB,WAAW,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAGlE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,EACR,YAAY,EACZ,IAAI,EAIJ,iBAAiB,EACjB,mBAAmB,EAGtB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAc,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAkBhD;;;;;GAKG;AACH,qBACa,sBAAsB;IAE/B;;;OAGG;IACG,aAAa,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,gBAAgB,EAC5B,wBAAwB,EAAE,wBAAwB,EAClD,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,OAAO,CAAC,qBAAqB,CAAC;IAsDjC;;OAEG;IACH,0BAA0B,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS;IAwBjG,iCAAiC,CAAC,MAAM,EAAE,qBAAqB,GAAG,YAAY,CAAC,YAAY,CAAC;IAI5F,SAAS,CAAC,qCAAqC,CAC3C,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAC1C,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,aAAa,CAAC,+BAA+B,CAAC;IA+CjD;;;;;;;;;;OAUG;IACH,eAAe,CACX,QAAQ,EAAE,oBAAoB,EAAE,EAChC,wBAAwB,EAAE,wBAAwB,EAClD,KAAK,EAAE,MAAM,GACd;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,iBAAiB,EAAE,CAAA;KAAE;IA+ExD,SAAS,CAAC,qBAAqB,CAC3B,QAAQ,EAAE,oBAAoB,EAAE,EAChC,wBAAwB,EAAE,wBAAwB,GACnD,oBAAoB,EAAE;CAG5B;AA2eD,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,oBAAoB,EAAE,EAChC,wBAAwB,EAAE,wBAAwB,GACnD,oBAAoB,EAAE,CA0BxB;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CA6C5F"}
@@ -15,7 +15,7 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.OpenAiResponseApiUtils = void 0;
18
+ exports.OpenAiResponseApiUtils = exports.OPENAI_TOOL_SEARCH = void 0;
19
19
  exports.processSystemMessages = processSystemMessages;
20
20
  exports.recursiveStrictJSONSchema = recursiveStrictJSONSchema;
21
21
  const tslib_1 = require("tslib");
@@ -23,6 +23,16 @@ const ai_core_1 = require("@theia/ai-core");
23
23
  const core_1 = require("@theia/core");
24
24
  const promise_util_1 = require("@theia/core/lib/common/promise-util");
25
25
  const inversify_1 = require("@theia/core/shared/inversify");
26
+ /**
27
+ * User-facing name under which the provider's built-in deferred-tool search is surfaced in the chat UI.
28
+ * Matches the native Response API tool type (`tool_search`), which OpenAI executes on its own infrastructure.
29
+ */
30
+ exports.OPENAI_TOOL_SEARCH = 'tool_search';
31
+ function openAiToolSearchFoundText(found) {
32
+ return found === 1
33
+ ? core_1.nls.localize('theia/ai/openai/toolSearch/foundOne', 'Found 1 tool.')
34
+ : core_1.nls.localize('theia/ai/openai/toolSearch/found', 'Found {0} tools.', found);
35
+ }
26
36
  /**
27
37
  * Utility class for handling OpenAI Response API requests and tool calling cycles.
28
38
  *
@@ -378,6 +388,19 @@ class ResponseApiToolCallIterator {
378
388
  if (this.currentResponseText) {
379
389
  this.handleIncoming({ content: this.currentResponseText });
380
390
  }
391
+ // Surface any deferred-tool search OpenAI executed while producing this response (see handleToolSearchOutput).
392
+ const toolSearchOutputs = response.output?.filter((item) => item.type === 'tool_search_output') || [];
393
+ for (const output of toolSearchOutputs) {
394
+ const found = output.tools?.length ?? 0;
395
+ this.handleIncoming({
396
+ server_tool_calls: [{
397
+ id: output.call_id ?? output.id,
398
+ name: exports.OPENAI_TOOL_SEARCH,
399
+ finished: true,
400
+ result: { content: [{ type: 'text', text: openAiToolSearchFoundText(found) }] }
401
+ }]
402
+ });
403
+ }
381
404
  // Find function calls in the response
382
405
  const functionCalls = response.output?.filter((item) => item.type === 'function_call') || [];
383
406
  // Process each function call
@@ -415,6 +438,9 @@ class ResponseApiToolCallIterator {
415
438
  if (event.item?.type === 'function_call') {
416
439
  this.handleFunctionCallAdded(event.item);
417
440
  }
441
+ else if (event.item?.type === 'tool_search_call') {
442
+ this.handleToolSearchCall(event.item);
443
+ }
418
444
  break;
419
445
  case 'response.function_call_arguments.delta':
420
446
  this.handleFunctionCallArgsDelta(event);
@@ -426,6 +452,9 @@ class ResponseApiToolCallIterator {
426
452
  if (event.item?.type === 'function_call') {
427
453
  this.handleFunctionCallDone(event.item);
428
454
  }
455
+ else if (event.item?.type === 'tool_search_output') {
456
+ this.handleToolSearchOutput(event.item);
457
+ }
429
458
  break;
430
459
  case 'response.completed':
431
460
  if (event.response?.usage) {
@@ -508,6 +537,34 @@ class ResponseApiToolCallIterator {
508
537
  toolCall.arguments = event.arguments || toolCall.arguments;
509
538
  }
510
539
  }
540
+ /**
541
+ * The deferred-tool search runs on OpenAI's infrastructure and is reported as `tool_search_call` /
542
+ * `tool_search_output` output items. Surface it as a server tool call so the chat UI shows the search
543
+ * running and, once finished, how many tools were loaded. It is never executed by a client handler.
544
+ */
545
+ handleToolSearchCall(item) {
546
+ this.toolSearchCallId = item.call_id ?? item.id;
547
+ this.handleIncoming({
548
+ server_tool_calls: [{
549
+ id: this.toolSearchCallId,
550
+ name: exports.OPENAI_TOOL_SEARCH,
551
+ arguments: typeof item.arguments === 'string' ? item.arguments : JSON.stringify(item.arguments ?? ''),
552
+ finished: false
553
+ }]
554
+ });
555
+ }
556
+ handleToolSearchOutput(item) {
557
+ const found = item.tools?.length ?? 0;
558
+ this.handleIncoming({
559
+ server_tool_calls: [{
560
+ id: this.toolSearchCallId ?? item.call_id ?? item.id,
561
+ name: exports.OPENAI_TOOL_SEARCH,
562
+ finished: true,
563
+ result: { content: [{ type: 'text', text: openAiToolSearchFoundText(found) }] }
564
+ }]
565
+ });
566
+ this.toolSearchCallId = undefined;
567
+ }
511
568
  handleFunctionCallDone(functionCall) {
512
569
  if (!functionCall.id) {
513
570
  console.warn('Unexpected absence of ID for call ID', functionCall.call_id);
@@ -1 +1 @@
1
- {"version":3,"file":"openai-response-api-utils.js","sourceRoot":"","sources":["../../src/node/openai-response-api-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-response-api-utils.js","sourceRoot":"","sources":["../../src/node/openai-response-api-utils.ts"],"names":[],"mappings":"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"}
@@ -93,5 +93,63 @@ describe('OpenAiResponseApiUtils', () => {
93
93
  { input_tokens: 200, output_tokens: 20 }
94
94
  ]);
95
95
  });
96
+ it('surfaces the deferred-tool search as a running then finished server tool call', async () => {
97
+ const utils = new openai_response_api_utils_1.OpenAiResponseApiUtils();
98
+ const streams = [
99
+ [
100
+ {
101
+ type: 'response.output_item.added',
102
+ item: { id: 'ts-item-1', call_id: 'ts-1', type: 'tool_search_call', execution: 'server', status: 'in_progress', arguments: { query: 'file' } }
103
+ },
104
+ {
105
+ type: 'response.output_item.done',
106
+ item: { id: 'ts-out-1', call_id: 'ts-1', type: 'tool_search_output', execution: 'server', status: 'completed', tools: [{}, {}] }
107
+ },
108
+ {
109
+ type: 'response.output_item.added',
110
+ item: { id: 'item-1', call_id: 'call-1', type: 'function_call', name: 'lookup', arguments: '{"query":"test"}' }
111
+ },
112
+ { type: 'response.completed', response: { usage: { input_tokens: 100, output_tokens: 10 } } }
113
+ ],
114
+ [
115
+ { type: 'response.output_text.delta', delta: 'done' },
116
+ { type: 'response.completed', response: { usage: { input_tokens: 200, output_tokens: 20 } } }
117
+ ]
118
+ ];
119
+ const openai = {
120
+ responses: {
121
+ stream: () => toStream(streams.shift() ?? [])
122
+ }
123
+ };
124
+ const request = {
125
+ sessionId: 'session-1',
126
+ requestId: 'request-1',
127
+ messages: [{ actor: 'user', type: 'text', text: 'hello' }],
128
+ deferredToolIds: ['lookup'],
129
+ tools: [{
130
+ id: 'lookup',
131
+ name: 'lookup',
132
+ parameters: { type: 'object', properties: { query: { type: 'string' } } },
133
+ handler: async () => 'result'
134
+ }]
135
+ };
136
+ const response = await utils.handleRequest(openai, request, {}, 'gpt-5', new openai_language_model_1.OpenAiModelUtils(), 'developer', { maxChatCompletions: 3 }, 'openai/gpt-5', true);
137
+ const parts = [];
138
+ if ('stream' in response) {
139
+ for await (const part of response.stream) {
140
+ parts.push(part);
141
+ }
142
+ }
143
+ const calls = parts.filter(ai_core_1.isServerToolCallResponsePart).flatMap(p => p.server_tool_calls);
144
+ const running = calls.find(c => !c.finished);
145
+ (0, chai_1.expect)(running).to.not.be.undefined;
146
+ (0, chai_1.expect)(running.id).to.equal('ts-1');
147
+ (0, chai_1.expect)(running.name).to.equal('tool_search');
148
+ const finished = calls.find(c => c.finished);
149
+ (0, chai_1.expect)(finished).to.not.be.undefined;
150
+ (0, chai_1.expect)(finished.id).to.equal('ts-1');
151
+ (0, chai_1.expect)(finished.name).to.equal('tool_search');
152
+ (0, chai_1.expect)(finished.result).to.deep.equal({ content: [{ type: 'text', text: 'Found 2 tools.' }] });
153
+ });
96
154
  });
97
155
  //# sourceMappingURL=openai-response-api-utils.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-response-api-utils.spec.js","sourceRoot":"","sources":["../../src/node/openai-response-api-utils.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-response-api-utils.spec.js","sourceRoot":"","sources":["../../src/node/openai-response-api-utils.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@theia/ai-openai",
3
- "version": "1.73.1",
3
+ "version": "1.74.0-next.10+a3326786b",
4
4
  "description": "Theia - OpenAI Integration",
5
5
  "dependencies": {
6
- "@theia/ai-core": "1.73.1",
7
- "@theia/core": "1.73.1",
8
- "@theia/filesystem": "1.73.1",
9
- "@theia/workspace": "1.73.1",
6
+ "@theia/ai-core": "1.74.0-next.10+a3326786b",
7
+ "@theia/core": "1.74.0-next.10+a3326786b",
8
+ "@theia/filesystem": "1.74.0-next.10+a3326786b",
9
+ "@theia/workspace": "1.74.0-next.10+a3326786b",
10
10
  "openai": "^6.39.1",
11
11
  "tslib": "^2.8.1"
12
12
  },
@@ -44,10 +44,10 @@
44
44
  "watch": "theiaext watch"
45
45
  },
46
46
  "devDependencies": {
47
- "@theia/ext-scripts": "1.73.1"
47
+ "@theia/ext-scripts": "1.73.0"
48
48
  },
49
49
  "nyc": {
50
50
  "extends": "../../configs/nyc.json"
51
51
  },
52
- "gitHead": "08e93b2cbdc03c5c8ecf58d3e8ecb9716fd11339"
52
+ "gitHead": "a3326786bf47e6e12172815eba3578ca4234bb23"
53
53
  }
@@ -15,7 +15,7 @@
15
15
  // *****************************************************************************
16
16
 
17
17
  import { expect } from 'chai';
18
- import { isUsageResponsePart, LanguageModelStreamResponsePart, UserRequest } from '@theia/ai-core';
18
+ import { isServerToolCallResponsePart, isUsageResponsePart, LanguageModelStreamResponsePart, UserRequest } from '@theia/ai-core';
19
19
  import { OpenAiModelUtils } from './openai-language-model';
20
20
  import { OpenAiResponseApiUtils } from './openai-response-api-utils';
21
21
 
@@ -106,4 +106,76 @@ describe('OpenAiResponseApiUtils', () => {
106
106
  { input_tokens: 200, output_tokens: 20 }
107
107
  ]);
108
108
  });
109
+
110
+ it('surfaces the deferred-tool search as a running then finished server tool call', async () => {
111
+ const utils = new OpenAiResponseApiUtils();
112
+ const streams = [
113
+ [
114
+ {
115
+ type: 'response.output_item.added',
116
+ item: { id: 'ts-item-1', call_id: 'ts-1', type: 'tool_search_call', execution: 'server', status: 'in_progress', arguments: { query: 'file' } }
117
+ },
118
+ {
119
+ type: 'response.output_item.done',
120
+ item: { id: 'ts-out-1', call_id: 'ts-1', type: 'tool_search_output', execution: 'server', status: 'completed', tools: [{}, {}] }
121
+ },
122
+ {
123
+ type: 'response.output_item.added',
124
+ item: { id: 'item-1', call_id: 'call-1', type: 'function_call', name: 'lookup', arguments: '{"query":"test"}' }
125
+ },
126
+ { type: 'response.completed', response: { usage: { input_tokens: 100, output_tokens: 10 } } }
127
+ ],
128
+ [
129
+ { type: 'response.output_text.delta', delta: 'done' },
130
+ { type: 'response.completed', response: { usage: { input_tokens: 200, output_tokens: 20 } } }
131
+ ]
132
+ ];
133
+ const openai = {
134
+ responses: {
135
+ stream: () => toStream(streams.shift() ?? [])
136
+ }
137
+ };
138
+ const request: UserRequest = {
139
+ sessionId: 'session-1',
140
+ requestId: 'request-1',
141
+ messages: [{ actor: 'user', type: 'text', text: 'hello' }],
142
+ deferredToolIds: ['lookup'],
143
+ tools: [{
144
+ id: 'lookup',
145
+ name: 'lookup',
146
+ parameters: { type: 'object', properties: { query: { type: 'string' } } },
147
+ handler: async () => 'result'
148
+ }]
149
+ };
150
+
151
+ const response = await utils.handleRequest(
152
+ openai as never,
153
+ request,
154
+ {},
155
+ 'gpt-5',
156
+ new OpenAiModelUtils(),
157
+ 'developer',
158
+ { maxChatCompletions: 3 },
159
+ 'openai/gpt-5',
160
+ true
161
+ );
162
+ const parts: LanguageModelStreamResponsePart[] = [];
163
+ if ('stream' in response) {
164
+ for await (const part of response.stream) {
165
+ parts.push(part);
166
+ }
167
+ }
168
+
169
+ const calls = parts.filter(isServerToolCallResponsePart).flatMap(p => p.server_tool_calls);
170
+ const running = calls.find(c => !c.finished);
171
+ expect(running).to.not.be.undefined;
172
+ expect(running!.id).to.equal('ts-1');
173
+ expect(running!.name).to.equal('tool_search');
174
+
175
+ const finished = calls.find(c => c.finished);
176
+ expect(finished).to.not.be.undefined;
177
+ expect(finished!.id).to.equal('ts-1');
178
+ expect(finished!.name).to.equal('tool_search');
179
+ expect(finished!.result).to.deep.equal({ content: [{ type: 'text', text: 'Found 2 tools.' }] });
180
+ });
109
181
  });
@@ -26,7 +26,7 @@ import {
26
26
  ToolRequestParameters,
27
27
  UserRequest
28
28
  } from '@theia/ai-core';
29
- import { CancellationToken, unreachable } from '@theia/core';
29
+ import { CancellationToken, nls, unreachable } from '@theia/core';
30
30
  import { Deferred } from '@theia/core/lib/common/promise-util';
31
31
  import { injectable } from '@theia/core/shared/inversify';
32
32
  import { OpenAI } from 'openai';
@@ -38,12 +38,26 @@ import type {
38
38
  ResponseFunctionCallArgumentsDoneEvent,
39
39
  ResponseFunctionToolCall,
40
40
  ResponseInputItem,
41
- ResponseStreamEvent
41
+ ResponseStreamEvent,
42
+ ResponseToolSearchCall,
43
+ ResponseToolSearchOutputItem
42
44
  } from 'openai/resources/responses/responses';
43
45
  import type { ResponsesModel } from 'openai/resources/shared';
44
46
  import { DeveloperMessageSettings, OpenAiModelUtils } from './openai-language-model';
45
47
  import { JSONSchema, JSONSchemaDefinition } from 'openai/lib/jsonschema';
46
48
 
49
+ /**
50
+ * User-facing name under which the provider's built-in deferred-tool search is surfaced in the chat UI.
51
+ * Matches the native Response API tool type (`tool_search`), which OpenAI executes on its own infrastructure.
52
+ */
53
+ export const OPENAI_TOOL_SEARCH = 'tool_search';
54
+
55
+ function openAiToolSearchFoundText(found: number): string {
56
+ return found === 1
57
+ ? nls.localize('theia/ai/openai/toolSearch/foundOne', 'Found 1 tool.')
58
+ : nls.localize('theia/ai/openai/toolSearch/found', 'Found {0} tools.', found);
59
+ }
60
+
47
61
  interface ToolCall {
48
62
  id: string;
49
63
  call_id?: string;
@@ -328,6 +342,8 @@ class ResponseApiToolCallIterator implements AsyncIterableIterator<LanguageModel
328
342
  // Current iteration state
329
343
  protected currentInput: ResponseInputItem[];
330
344
  protected currentToolCalls = new Map<string, ToolCall>();
345
+ // Id under which the current deferred-tool search is surfaced, so the running and finished parts merge in the UI.
346
+ protected toolSearchCallId: string | undefined;
331
347
  protected iteration = 0;
332
348
  protected readonly maxIterations: number;
333
349
  protected readonly tools: Tool[] | undefined;
@@ -465,6 +481,20 @@ class ResponseApiToolCallIterator implements AsyncIterableIterator<LanguageModel
465
481
  this.handleIncoming({ content: this.currentResponseText });
466
482
  }
467
483
 
484
+ // Surface any deferred-tool search OpenAI executed while producing this response (see handleToolSearchOutput).
485
+ const toolSearchOutputs = response.output?.filter((item): item is ResponseToolSearchOutputItem => item.type === 'tool_search_output') || [];
486
+ for (const output of toolSearchOutputs) {
487
+ const found = output.tools?.length ?? 0;
488
+ this.handleIncoming({
489
+ server_tool_calls: [{
490
+ id: output.call_id ?? output.id,
491
+ name: OPENAI_TOOL_SEARCH,
492
+ finished: true,
493
+ result: { content: [{ type: 'text', text: openAiToolSearchFoundText(found) }] }
494
+ }]
495
+ });
496
+ }
497
+
468
498
  // Find function calls in the response
469
499
  const functionCalls = response.output?.filter((item): item is ResponseFunctionToolCall => item.type === 'function_call') || [];
470
500
 
@@ -506,6 +536,8 @@ class ResponseApiToolCallIterator implements AsyncIterableIterator<LanguageModel
506
536
  case 'response.output_item.added':
507
537
  if (event.item?.type === 'function_call') {
508
538
  this.handleFunctionCallAdded(event.item);
539
+ } else if (event.item?.type === 'tool_search_call') {
540
+ this.handleToolSearchCall(event.item);
509
541
  }
510
542
  break;
511
543
 
@@ -520,6 +552,8 @@ class ResponseApiToolCallIterator implements AsyncIterableIterator<LanguageModel
520
552
  case 'response.output_item.done':
521
553
  if (event.item?.type === 'function_call') {
522
554
  this.handleFunctionCallDone(event.item);
555
+ } else if (event.item?.type === 'tool_search_output') {
556
+ this.handleToolSearchOutput(event.item);
523
557
  }
524
558
  break;
525
559
 
@@ -613,6 +647,36 @@ class ResponseApiToolCallIterator implements AsyncIterableIterator<LanguageModel
613
647
  }
614
648
  }
615
649
 
650
+ /**
651
+ * The deferred-tool search runs on OpenAI's infrastructure and is reported as `tool_search_call` /
652
+ * `tool_search_output` output items. Surface it as a server tool call so the chat UI shows the search
653
+ * running and, once finished, how many tools were loaded. It is never executed by a client handler.
654
+ */
655
+ protected handleToolSearchCall(item: ResponseToolSearchCall): void {
656
+ this.toolSearchCallId = item.call_id ?? item.id;
657
+ this.handleIncoming({
658
+ server_tool_calls: [{
659
+ id: this.toolSearchCallId,
660
+ name: OPENAI_TOOL_SEARCH,
661
+ arguments: typeof item.arguments === 'string' ? item.arguments : JSON.stringify(item.arguments ?? ''),
662
+ finished: false
663
+ }]
664
+ });
665
+ }
666
+
667
+ protected handleToolSearchOutput(item: ResponseToolSearchOutputItem): void {
668
+ const found = item.tools?.length ?? 0;
669
+ this.handleIncoming({
670
+ server_tool_calls: [{
671
+ id: this.toolSearchCallId ?? item.call_id ?? item.id,
672
+ name: OPENAI_TOOL_SEARCH,
673
+ finished: true,
674
+ result: { content: [{ type: 'text', text: openAiToolSearchFoundText(found) }] }
675
+ }]
676
+ });
677
+ this.toolSearchCallId = undefined;
678
+ }
679
+
616
680
  protected handleFunctionCallDone(functionCall: ResponseFunctionToolCall): void {
617
681
  if (!functionCall.id) { console.warn('Unexpected absence of ID for call ID', functionCall.call_id); return; }
618
682
  const toolCall = this.currentToolCalls.get(functionCall.id);