@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.
- package/lib/node/openai-response-api-utils.d.ts +5 -0
- package/lib/node/openai-response-api-utils.d.ts.map +1 -1
- package/lib/node/openai-response-api-utils.js +58 -1
- package/lib/node/openai-response-api-utils.js.map +1 -1
- package/lib/node/openai-response-api-utils.spec.js +58 -0
- package/lib/node/openai-response-api-utils.spec.js.map +1 -1
- package/package.json +7 -7
- package/src/node/openai-response-api-utils.spec.ts +73 -1
- package/src/node/openai-response-api-utils.ts +66 -2
|
@@ -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,
|
|
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":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,+BAA8B;AAC9B,
|
|
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.
|
|
3
|
+
"version": "1.74.0-next.10+a3326786b",
|
|
4
4
|
"description": "Theia - OpenAI Integration",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/ai-core": "1.
|
|
7
|
-
"@theia/core": "1.
|
|
8
|
-
"@theia/filesystem": "1.
|
|
9
|
-
"@theia/workspace": "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.
|
|
47
|
+
"@theia/ext-scripts": "1.73.0"
|
|
48
48
|
},
|
|
49
49
|
"nyc": {
|
|
50
50
|
"extends": "../../configs/nyc.json"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
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);
|