@theia/ai-openai 1.77.0-next.4 → 1.77.0-next.47
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/browser/openai-frontend-application-contribution.js +1 -1
- package/lib/browser/openai-frontend-application-contribution.js.map +1 -1
- package/lib/browser/openai-frontend-application-contribution.spec.d.ts +2 -0
- package/lib/browser/openai-frontend-application-contribution.spec.d.ts.map +1 -0
- package/lib/browser/openai-frontend-application-contribution.spec.js +66 -0
- package/lib/browser/openai-frontend-application-contribution.spec.js.map +1 -0
- package/lib/common/openai-preferences.d.ts.map +1 -1
- package/lib/common/openai-preferences.js +6 -4
- package/lib/common/openai-preferences.js.map +1 -1
- package/lib/node/openai-backend-module.d.ts +0 -1
- package/lib/node/openai-backend-module.d.ts.map +1 -1
- package/lib/node/openai-backend-module.js +17 -3
- package/lib/node/openai-backend-module.js.map +1 -1
- package/lib/node/openai-chat-completion-stream.d.ts +74 -0
- package/lib/node/openai-chat-completion-stream.d.ts.map +1 -0
- package/lib/node/openai-chat-completion-stream.js +231 -0
- package/lib/node/openai-chat-completion-stream.js.map +1 -0
- package/lib/node/openai-chat-completion-stream.spec.d.ts +2 -0
- package/lib/node/openai-chat-completion-stream.spec.d.ts.map +1 -0
- package/lib/node/openai-chat-completion-stream.spec.js +383 -0
- package/lib/node/openai-chat-completion-stream.spec.js.map +1 -0
- package/lib/node/openai-language-model.d.ts +47 -57
- package/lib/node/openai-language-model.d.ts.map +1 -1
- package/lib/node/openai-language-model.js +91 -205
- package/lib/node/openai-language-model.js.map +1 -1
- package/lib/node/openai-language-model.spec.js +127 -31
- package/lib/node/openai-language-model.spec.js.map +1 -1
- package/lib/node/openai-language-models-manager-impl.d.ts +2 -4
- package/lib/node/openai-language-models-manager-impl.d.ts.map +1 -1
- package/lib/node/openai-language-models-manager-impl.js +26 -9
- package/lib/node/openai-language-models-manager-impl.js.map +1 -1
- package/lib/node/openai-model-defaults.d.ts +1 -1
- package/lib/node/openai-model-defaults.d.ts.map +1 -1
- package/lib/node/openai-model-defaults.js +9 -5
- package/lib/node/openai-model-defaults.js.map +1 -1
- package/lib/node/openai-model-defaults.spec.js +45 -19
- package/lib/node/openai-model-defaults.spec.js.map +1 -1
- package/lib/node/openai-model-utils.d.ts +27 -0
- package/lib/node/openai-model-utils.d.ts.map +1 -0
- package/lib/node/openai-model-utils.js +135 -0
- package/lib/node/openai-model-utils.js.map +1 -0
- package/lib/node/openai-model-utils.spec.js +20 -2
- package/lib/node/openai-model-utils.spec.js.map +1 -1
- package/lib/node/openai-reasoning.d.ts.map +1 -1
- package/lib/node/openai-reasoning.js +5 -10
- package/lib/node/openai-reasoning.js.map +1 -1
- package/lib/node/openai-request-settings.d.ts +10 -0
- package/lib/node/openai-request-settings.d.ts.map +1 -0
- package/lib/node/openai-request-settings.js +48 -0
- package/lib/node/openai-request-settings.js.map +1 -0
- package/lib/node/openai-response-api-utils.d.ts +7 -4
- package/lib/node/openai-response-api-utils.d.ts.map +1 -1
- package/lib/node/openai-response-api-utils.js +52 -116
- package/lib/node/openai-response-api-utils.js.map +1 -1
- package/lib/node/openai-response-api-utils.spec.js +205 -50
- package/lib/node/openai-response-api-utils.spec.js.map +1 -1
- package/lib/node/openai-streaming-iterator.d.ts +3 -15
- package/lib/node/openai-streaming-iterator.d.ts.map +1 -1
- package/lib/node/openai-streaming-iterator.js +3 -61
- package/lib/node/openai-streaming-iterator.js.map +1 -1
- package/lib/node/streaming-response-iterator.d.ts +34 -0
- package/lib/node/streaming-response-iterator.d.ts.map +1 -0
- package/lib/node/streaming-response-iterator.js +103 -0
- package/lib/node/streaming-response-iterator.js.map +1 -0
- package/lib/node/streaming-response-iterator.spec.d.ts +2 -0
- package/lib/node/streaming-response-iterator.spec.d.ts.map +1 -0
- package/lib/node/streaming-response-iterator.spec.js +41 -0
- package/lib/node/streaming-response-iterator.spec.js.map +1 -0
- package/package.json +6 -6
- package/src/browser/openai-frontend-application-contribution.spec.ts +78 -0
- package/src/browser/openai-frontend-application-contribution.ts +1 -1
- package/src/common/openai-preferences.ts +6 -4
- package/src/node/openai-backend-module.ts +26 -4
- package/src/node/openai-chat-completion-stream.spec.ts +458 -0
- package/src/node/openai-chat-completion-stream.ts +275 -0
- package/src/node/openai-language-model.spec.ts +135 -54
- package/src/node/openai-language-model.ts +130 -234
- package/src/node/openai-language-models-manager-impl.ts +24 -30
- package/src/node/openai-model-defaults.spec.ts +46 -19
- package/src/node/openai-model-defaults.ts +11 -6
- package/src/node/openai-model-utils.spec.ts +23 -1
- package/src/node/openai-model-utils.ts +148 -0
- package/src/node/openai-reasoning.ts +5 -11
- package/src/node/openai-request-settings.ts +54 -0
- package/src/node/openai-response-api-utils.spec.ts +219 -62
- package/src/node/openai-response-api-utils.ts +57 -128
- package/src/node/openai-streaming-iterator.ts +4 -63
- package/src/node/streaming-response-iterator.spec.ts +46 -0
- package/src/node/streaming-response-iterator.ts +101 -0
|
@@ -120,7 +120,7 @@ let OpenAiFrontendApplicationContribution = class OpenAiFrontendApplicationContr
|
|
|
120
120
|
const modelId = model.id;
|
|
121
121
|
const id = `${common_1.OPENAI_PROVIDER_ID}/${modelId}`;
|
|
122
122
|
const maxRetries = this.aiCorePreferences.get(ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) ?? 3;
|
|
123
|
-
const useResponseApi = this.preferenceService.get(openai_preferences_1.USE_RESPONSE_API_PREF,
|
|
123
|
+
const useResponseApi = this.preferenceService.get(openai_preferences_1.USE_RESPONSE_API_PREF, true);
|
|
124
124
|
const globalCompaction = this.preferenceService.get(ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION, true);
|
|
125
125
|
const compactionOverride = this.preferenceService.get(openai_preferences_1.SERVER_SIDE_COMPACTION_PREF, 'default');
|
|
126
126
|
const serverSideCompactionEnabledByDefault = (0, ai_core_1.resolveCompactionDefault)(globalCompaction, compactionOverride);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/openai-frontend-application-contribution.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"openai-frontend-application-contribution.js","sourceRoot":"","sources":["../../src/browser/openai-frontend-application-contribution.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-frontend-application-contribution.spec.d.ts","sourceRoot":"","sources":["../../src/browser/openai-frontend-application-contribution.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource GmbH.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const jsdom_1 = require("@theia/core/lib/browser/test/jsdom");
|
|
19
|
+
const disableJSDOM = (0, jsdom_1.enableJSDOM)();
|
|
20
|
+
const frontend_application_config_provider_1 = require("@theia/core/lib/browser/frontend-application-config-provider");
|
|
21
|
+
frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
|
|
22
|
+
const chai_1 = require("chai");
|
|
23
|
+
const openai_preferences_1 = require("../common/openai-preferences");
|
|
24
|
+
const openai_frontend_application_contribution_1 = require("./openai-frontend-application-contribution");
|
|
25
|
+
disableJSDOM();
|
|
26
|
+
class TestOpenAiFrontendApplicationContribution extends openai_frontend_application_contribution_1.OpenAiFrontendApplicationContribution {
|
|
27
|
+
constructor(officialUseResponseApi) {
|
|
28
|
+
super();
|
|
29
|
+
this.officialUseResponseApi = officialUseResponseApi;
|
|
30
|
+
this.preferenceService = {
|
|
31
|
+
get: (name, defaultValue) => name === openai_preferences_1.USE_RESPONSE_API_PREF && this.officialUseResponseApi !== undefined ? this.officialUseResponseApi : defaultValue
|
|
32
|
+
};
|
|
33
|
+
this.aiCorePreferences = { get: () => undefined };
|
|
34
|
+
}
|
|
35
|
+
createModelDescription(model) {
|
|
36
|
+
return super.createModelDescription(model);
|
|
37
|
+
}
|
|
38
|
+
createCustomModelDescriptionsFromPreferences(preferences) {
|
|
39
|
+
return super.createCustomModelDescriptionsFromPreferences(preferences);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
describe('OpenAiFrontendApplicationContribution Responses API defaults', () => {
|
|
43
|
+
it('defaults the official preference schema to true', () => {
|
|
44
|
+
(0, chai_1.expect)(openai_preferences_1.OpenAiPreferencesSchema.properties[openai_preferences_1.USE_RESPONSE_API_PREF].default).to.equal(true);
|
|
45
|
+
});
|
|
46
|
+
for (const officialSetting of [undefined, true, false]) {
|
|
47
|
+
it(`uses ${officialSetting ?? true} for official models when the preference is ${officialSetting}`, () => {
|
|
48
|
+
const contribution = new TestOpenAiFrontendApplicationContribution(officialSetting);
|
|
49
|
+
const description = contribution.createModelDescription({ id: 'gpt-4o' });
|
|
50
|
+
(0, chai_1.expect)(description.useResponseApi).to.equal(officialSetting ?? true);
|
|
51
|
+
});
|
|
52
|
+
for (const customSetting of [undefined, false, true]) {
|
|
53
|
+
it(`uses ${customSetting ?? false} for custom setting ${customSetting} independently of official setting ${officialSetting}`, () => {
|
|
54
|
+
const contribution = new TestOpenAiFrontendApplicationContribution(officialSetting);
|
|
55
|
+
const preference = { model: 'custom-model', url: 'https://example.com/v1' };
|
|
56
|
+
if (customSetting !== undefined) {
|
|
57
|
+
preference.useResponseApi = customSetting;
|
|
58
|
+
}
|
|
59
|
+
const descriptions = contribution.createCustomModelDescriptionsFromPreferences([preference]);
|
|
60
|
+
(0, chai_1.expect)(descriptions).to.have.lengthOf(1);
|
|
61
|
+
(0, chai_1.expect)(descriptions[0].useResponseApi).to.equal(customSetting ?? false);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
//# sourceMappingURL=openai-frontend-application-contribution.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-frontend-application-contribution.spec.js","sourceRoot":"","sources":["../../src/browser/openai-frontend-application-contribution.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-preferences.d.ts","sourceRoot":"","sources":["../../src/common/openai-preferences.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAuB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpE,eAAO,MAAM,YAAY,4CAA4C,CAAC;AACtE,eAAO,MAAM,sBAAsB,sDAAsD,CAAC;AAC1F,eAAO,MAAM,oBAAoB,8CAA8C,CAAC;AAChF,eAAO,MAAM,qBAAqB,8CAA8C,CAAC;AACjF,eAAO,MAAM,2BAA2B,oDAAoD,CAAC;AAC7F,eAAO,MAAM,2CAA2C,kEAAkE,CAAC;AAC3H,eAAO,MAAM,qBAAqB,gDAAgD,CAAC;AAEnF,eAAO,MAAM,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"openai-preferences.d.ts","sourceRoot":"","sources":["../../src/common/openai-preferences.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAuB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpE,eAAO,MAAM,YAAY,4CAA4C,CAAC;AACtE,eAAO,MAAM,sBAAsB,sDAAsD,CAAC;AAC1F,eAAO,MAAM,oBAAoB,8CAA8C,CAAC;AAChF,eAAO,MAAM,qBAAqB,8CAA8C,CAAC;AACjF,eAAO,MAAM,2BAA2B,oDAAoD,CAAC;AAC7F,eAAO,MAAM,2CAA2C,kEAAkE,CAAC;AAC3H,eAAO,MAAM,qBAAqB,gDAAgD,CAAC;AAEnF,eAAO,MAAM,uBAAuB,EAAE,gBAuLrC,CAAC"}
|
|
@@ -54,7 +54,7 @@ on the machine running Theia. Use the environment variable `OPENAI_API_KEY` to s
|
|
|
54
54
|
},
|
|
55
55
|
[exports.USE_RESPONSE_API_PREF]: {
|
|
56
56
|
type: 'boolean',
|
|
57
|
-
default:
|
|
57
|
+
default: true,
|
|
58
58
|
title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
|
|
59
59
|
markdownDescription: core_1.nls.localize('theia/ai/openai/useResponseApi/mdDescription', 'Use the newer OpenAI Response API instead of the Chat Completion API for official OpenAI models. ' +
|
|
60
60
|
'This setting only applies to official OpenAI models - custom providers must configure this individually.')
|
|
@@ -110,7 +110,9 @@ on the machine running Theia. Use the environment variable `OPENAI_API_KEY` to s
|
|
|
110
110
|
- specify `useResponseApi: true` to use the newer OpenAI Response API instead of the Chat Completion API (requires compatible endpoint).\
|
|
111
111
|
\n\
|
|
112
112
|
- specify `reasoningSupport` to opt in to the chat reasoning selector. Provide an object with\
|
|
113
|
-
`supportedLevels` (
|
|
113
|
+
`supportedLevels` (choices: `off`, `none`, `minimal`, `low`, `medium`, `high`, `xhigh`, `max`, `auto`) and an optional `defaultLevel`.\
|
|
114
|
+
`none` sends an explicit no-reasoning effort; `off` omits generated reasoning settings; `auto` uses the provider default effort.\
|
|
115
|
+
Only declare levels supported by your endpoint.\
|
|
114
116
|
\n\
|
|
115
117
|
- specify `headers` to send additional HTTP headers with every request to the endpoint, e.g. headers required by a gateway in front of the API.\
|
|
116
118
|
\n\
|
|
@@ -172,12 +174,12 @@ on the machine running Theia. Use the environment variable `OPENAI_API_KEY` to s
|
|
|
172
174
|
type: 'array',
|
|
173
175
|
items: {
|
|
174
176
|
type: 'string',
|
|
175
|
-
enum: ['off', 'minimal', 'low', 'medium', 'high', 'auto']
|
|
177
|
+
enum: ['off', 'none', 'minimal', 'low', 'medium', 'high', 'xhigh', 'max', 'auto']
|
|
176
178
|
}
|
|
177
179
|
},
|
|
178
180
|
defaultLevel: {
|
|
179
181
|
type: 'string',
|
|
180
|
-
enum: ['off', 'minimal', 'low', 'medium', 'high', 'auto']
|
|
182
|
+
enum: ['off', 'none', 'minimal', 'low', 'medium', 'high', 'xhigh', 'max', 'auto']
|
|
181
183
|
}
|
|
182
184
|
}
|
|
183
185
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-preferences.js","sourceRoot":"","sources":["../../src/common/openai-preferences.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,uFAEuD;AACvD,6EAA0G;AAC1G,sCAAoE;AAEvD,QAAA,YAAY,GAAG,yCAAyC,CAAC;AACzD,QAAA,sBAAsB,GAAG,mDAAmD,CAAC;AAC7E,QAAA,oBAAoB,GAAG,2CAA2C,CAAC;AACnE,QAAA,qBAAqB,GAAG,2CAA2C,CAAC;AACpE,QAAA,2BAA2B,GAAG,iDAAiD,CAAC;AAChF,QAAA,2CAA2C,GAAG,+DAA+D,CAAC;AAC9G,QAAA,qBAAqB,GAAG,6CAA6C,CAAC;AAEtE,QAAA,uBAAuB,GAAqB;IACrD,UAAU,EAAE;QACR,CAAC,oBAAY,CAAC,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,EAAE,CAAC,gDAA0B,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAoC,EAAE;YACpG,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,sCAAsC,EACpE;qGACqF,CAAC,GAAG,qBAAc;YAC3G,KAAK,EAAE,+CAAyB;SACnC;QACD,CAAC,8BAAsB,CAAC,EAAE;YACtB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,+CAAyB;YAChC,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,4CAA4C,EAC1E,oFAAoF;kBAClF,sGAAsG,CAAC;SAChH;QACD,CAAC,4BAAoB,CAAC,EAAE;YACpB,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;YACD,KAAK,EAAE,+CAAyB;YAChC,mBAAmB,EAAE,UAAG,CAAC,QAAQ,CAAC,4CAA4C,EAC1E,2HAA2H;kBACzH,yFAAyF,CAAC;SACnG;QACD,CAAC,6BAAqB,CAAC,EAAE;YACrB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"openai-preferences.js","sourceRoot":"","sources":["../../src/common/openai-preferences.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/openai-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,
|
|
1
|
+
{"version":3,"file":"openai-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/openai-backend-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAa,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAiC1E,wBAcG"}
|
|
@@ -15,26 +15,40 @@
|
|
|
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.OpenAiModelFactory = void 0;
|
|
19
18
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
20
19
|
const openai_language_models_manager_1 = require("../common/openai-language-models-manager");
|
|
21
20
|
const core_1 = require("@theia/core");
|
|
22
21
|
const openai_language_models_manager_impl_1 = require("./openai-language-models-manager-impl");
|
|
23
22
|
const connection_container_module_1 = require("@theia/core/lib/node/messaging/connection-container-module");
|
|
24
23
|
const openai_language_model_1 = require("./openai-language-model");
|
|
24
|
+
const openai_model_utils_1 = require("./openai-model-utils");
|
|
25
|
+
const openai_chat_completion_stream_1 = require("./openai-chat-completion-stream");
|
|
25
26
|
const openai_response_api_utils_1 = require("./openai-response-api-utils");
|
|
26
27
|
const openai_preferences_1 = require("../common/openai-preferences");
|
|
27
|
-
exports.OpenAiModelFactory = Symbol('OpenAiModelFactory');
|
|
28
28
|
// We use a connection module to handle AI services separately for each frontend.
|
|
29
29
|
const openAiConnectionModule = connection_container_module_1.ConnectionContainerModule.create(({ bind, bindBackendService, bindFrontendService }) => {
|
|
30
30
|
bind(openai_language_models_manager_impl_1.OpenAiLanguageModelsManagerImpl).toSelf().inSingletonScope();
|
|
31
31
|
bind(openai_language_models_manager_1.OpenAiLanguageModelsManager).toService(openai_language_models_manager_impl_1.OpenAiLanguageModelsManagerImpl);
|
|
32
|
+
bind(openai_language_model_1.OpenAiModel).toSelf().inTransientScope();
|
|
33
|
+
bind(openai_language_model_1.OpenAiLanguageModelFactory).toFactory(({ container }) => params => {
|
|
34
|
+
const child = new inversify_1.Container();
|
|
35
|
+
child.parent = container;
|
|
36
|
+
child.bind(openai_language_model_1.OpenAiModelParams).toConstantValue(params);
|
|
37
|
+
return child.get(openai_language_model_1.OpenAiModel);
|
|
38
|
+
});
|
|
32
39
|
bind(core_1.ConnectionHandler).toDynamicValue(ctx => new core_1.RpcConnectionHandler(openai_language_models_manager_1.OPENAI_LANGUAGE_MODELS_MANAGER_PATH, () => ctx.container.get(openai_language_models_manager_1.OpenAiLanguageModelsManager))).inSingletonScope();
|
|
33
40
|
});
|
|
34
41
|
exports.default = new inversify_1.ContainerModule(bind => {
|
|
35
42
|
bind(core_1.PreferenceContribution).toConstantValue({ schema: openai_preferences_1.OpenAiPreferencesSchema });
|
|
36
|
-
bind(
|
|
43
|
+
bind(openai_model_utils_1.OpenAiModelUtils).toSelf().inSingletonScope();
|
|
37
44
|
bind(openai_response_api_utils_1.OpenAiResponseApiUtils).toSelf().inSingletonScope();
|
|
45
|
+
bind(openai_chat_completion_stream_1.ChatCompletionStreamingAsyncIterator).toSelf().inTransientScope();
|
|
46
|
+
bind(openai_chat_completion_stream_1.ChatCompletionStreamingAsyncIteratorFactory).toFactory(({ container }) => options => {
|
|
47
|
+
const child = new inversify_1.Container();
|
|
48
|
+
child.parent = container;
|
|
49
|
+
child.bind(openai_chat_completion_stream_1.ChatCompletionToolLoopOptions).toConstantValue(options);
|
|
50
|
+
return child.get(openai_chat_completion_stream_1.ChatCompletionStreamingAsyncIterator);
|
|
51
|
+
});
|
|
38
52
|
bind(connection_container_module_1.ConnectionContainerModule).toConstantValue(openAiConnectionModule);
|
|
39
53
|
});
|
|
40
54
|
//# sourceMappingURL=openai-backend-module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-backend-module.js","sourceRoot":"","sources":["../../src/node/openai-backend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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
|
|
1
|
+
{"version":3,"file":"openai-backend-module.js","sourceRoot":"","sources":["../../src/node/openai-backend-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,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,4DAA0E;AAC1E,6FAA4H;AAC5H,sCAA8F;AAC9F,+FAAwF;AACxF,4GAAuG;AACvG,mEAAqG;AACrG,6DAAwD;AACxD,mFAIyC;AACzC,2EAAqE;AACrE,qEAAuE;AAEvE,iFAAiF;AACjF,MAAM,sBAAsB,GAAG,uDAAyB,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,EAAE,EAAE;IAClH,IAAI,CAAC,qEAA+B,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAClE,IAAI,CAAC,4DAA2B,CAAC,CAAC,SAAS,CAAC,qEAA+B,CAAC,CAAC;IAC7E,IAAI,CAAC,mCAAW,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IAC9C,IAAI,CAAC,kDAA0B,CAAC,CAAC,SAAS,CACtC,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE;QACxB,MAAM,KAAK,GAAG,IAAI,qBAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,yCAAiB,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACtD,OAAO,KAAK,CAAC,GAAG,CAAC,mCAAW,CAAC,CAAC;IAClC,CAAC,CACJ,CAAC;IACF,IAAI,CAAC,wBAAiB,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CACzC,IAAI,2BAAoB,CAAC,oEAAmC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,4DAA2B,CAAC,CAAC,CACtH,CAAC,gBAAgB,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,6BAAsB,CAAC,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,4CAAuB,EAAE,CAAC,CAAC;IAClF,IAAI,CAAC,qCAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACnD,IAAI,CAAC,kDAAsB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACzD,IAAI,CAAC,oEAAoC,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACvE,IAAI,CAAC,2EAA2C,CAAC,CAAC,SAAS,CACvD,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE;QACzB,MAAM,KAAK,GAAG,IAAI,qBAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,6DAA6B,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACnE,OAAO,KAAK,CAAC,GAAG,CAAC,oEAAoC,CAAC,CAAC;IAC3D,CAAC,CACJ,CAAC;IACF,IAAI,CAAC,uDAAyB,CAAC,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { ToolCallExecutor, ToolCallResult, UserRequest } from '@theia/ai-core';
|
|
2
|
+
import { CancellationToken, ILogger } from '@theia/core';
|
|
3
|
+
import { OpenAI } from 'openai';
|
|
4
|
+
import { AbstractStreamingResponseIterator } from './streaming-response-iterator';
|
|
5
|
+
import { ChatCompletionChunk, ChatCompletionMessageParam, ChatCompletionTool } from 'openai/resources';
|
|
6
|
+
/** Accumulator for a single tool call streamed across multiple chunk deltas (keyed by `index`). */
|
|
7
|
+
interface CollectedToolCall {
|
|
8
|
+
index: number;
|
|
9
|
+
id: string;
|
|
10
|
+
name: string;
|
|
11
|
+
arguments: string;
|
|
12
|
+
/** Whether the `finished: false` "open" part has already been emitted for this call. */
|
|
13
|
+
opened: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const ChatCompletionToolLoopOptions: unique symbol;
|
|
16
|
+
export interface ChatCompletionToolLoopOptions {
|
|
17
|
+
readonly openai: OpenAI;
|
|
18
|
+
readonly model: string;
|
|
19
|
+
/** The originating request; its `tools` carry the actual handlers to invoke. */
|
|
20
|
+
readonly request: UserRequest;
|
|
21
|
+
/** The already-processed messages that seed the conversation. */
|
|
22
|
+
readonly messages: ChatCompletionMessageParam[];
|
|
23
|
+
/** Additional request settings (may include `stream_options`, temperature, etc.). */
|
|
24
|
+
readonly settings: Record<string, unknown>;
|
|
25
|
+
readonly tools: ChatCompletionTool[];
|
|
26
|
+
readonly maxRetries: number;
|
|
27
|
+
readonly cancellationToken?: CancellationToken;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Drives a multi-turn OpenAI Chat Completions conversation with tool calling, executing the tool
|
|
31
|
+
* calls of each turn **concurrently** via {@link ToolCallExecutor}.
|
|
32
|
+
*
|
|
33
|
+
* This replaces the OpenAI SDK's `chat.completions.runTools(...)` runner, whose built-in tool loop
|
|
34
|
+
* executes tool calls strictly sequentially. By driving the raw chunk stream
|
|
35
|
+
* (`chat.completions.create({ stream: true })`) ourselves, multiple tool calls emitted in a single
|
|
36
|
+
* model turn (e.g. parallel agent delegations) run in parallel.
|
|
37
|
+
*/
|
|
38
|
+
export declare class ChatCompletionStreamingAsyncIterator extends AbstractStreamingResponseIterator {
|
|
39
|
+
protected messages: ChatCompletionMessageParam[];
|
|
40
|
+
/**
|
|
41
|
+
* Aborts the provider request. Its signal is handed to every `create()` call, so that it covers the
|
|
42
|
+
* request while it is still in flight just as well as the chunk stream that it eventually yields.
|
|
43
|
+
* The OpenAI SDK forwards the abort to the stream's own controller.
|
|
44
|
+
*/
|
|
45
|
+
protected readonly abortController: AbortController;
|
|
46
|
+
protected readonly options: ChatCompletionToolLoopOptions;
|
|
47
|
+
protected readonly toolCallExecutor: ToolCallExecutor;
|
|
48
|
+
protected readonly logger: ILogger;
|
|
49
|
+
protected init(): void;
|
|
50
|
+
protected get cancellationRequested(): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Aborts the active provider stream and immediately terminates the iterator, so a `next()` call pending on
|
|
53
|
+
* tool execution (which is only cooperatively cancelled via the token forwarded to handlers) settles promptly
|
|
54
|
+
* instead of stalling until an uninterruptible handler eventually finishes.
|
|
55
|
+
*/
|
|
56
|
+
protected cancel(): void;
|
|
57
|
+
protected startIteration(): Promise<void>;
|
|
58
|
+
/** Streams a single completion, emitting text/tool-call parts and collecting the turn's tool calls. */
|
|
59
|
+
protected processStream(): Promise<{
|
|
60
|
+
assistantText: string;
|
|
61
|
+
toolCalls: CollectedToolCall[];
|
|
62
|
+
}>;
|
|
63
|
+
protected collectToolCallDelta(collected: Map<number, CollectedToolCall>, toolCallDelta: ChatCompletionChunk.Choice.Delta.ToolCall): void;
|
|
64
|
+
protected executeAndAppendToolCalls(assistantText: string, toolCalls: CollectedToolCall[]): Promise<void>;
|
|
65
|
+
protected formatToolResult(result: ToolCallResult): string;
|
|
66
|
+
}
|
|
67
|
+
export declare const ChatCompletionStreamingAsyncIteratorFactory: unique symbol;
|
|
68
|
+
/**
|
|
69
|
+
* Creates the iterator that drives a tool-calling chat-completion turn. Rebind in the DI container
|
|
70
|
+
* to substitute a customized {@link ChatCompletionStreamingAsyncIterator} implementation.
|
|
71
|
+
*/
|
|
72
|
+
export type ChatCompletionStreamingAsyncIteratorFactory = (options: ChatCompletionToolLoopOptions) => ChatCompletionStreamingAsyncIterator;
|
|
73
|
+
export {};
|
|
74
|
+
//# sourceMappingURL=openai-chat-completion-stream.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-chat-completion-stream.d.ts","sourceRoot":"","sources":["../../src/node/openai-chat-completion-stream.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAiC,gBAAgB,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC9G,OAAO,EAAqB,iBAAiB,EAAc,OAAO,EAAE,MAAM,aAAa,CAAC;AAExF,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAEH,mBAAmB,EAEnB,0BAA0B,EAC1B,kBAAkB,EACrB,MAAM,kBAAkB,CAAC;AAK1B,mGAAmG;AACnG,UAAU,iBAAiB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,MAAM,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,6BAA6B,eAA0C,CAAC;AAErF,MAAM,WAAW,6BAA6B;IAC1C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;IAC9B,iEAAiE;IACjE,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IAChD,qFAAqF;IACrF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,CAAC,KAAK,EAAE,kBAAkB,EAAE,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CAClD;AAED;;;;;;;;GAQG;AACH,qBACa,oCAAqC,SAAQ,iCAAiC;IAEvF,SAAS,CAAC,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IAEjD;;;;OAIG;IACH,SAAS,CAAC,QAAQ,CAAC,eAAe,kBAAyB;IAG3D,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,6BAA6B,CAAC;IAG1D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAGtD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAGnC,SAAS,CAAC,IAAI,IAAI,IAAI;IAWtB,SAAS,KAAK,qBAAqB,IAAI,OAAO,CAE7C;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAM,IAAI,IAAI;cASR,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC/C,uGAAuG;cACvF,aAAa,IAAI,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC;IAkDnG,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,EAAE,aAAa,EAAE,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI;cA2BzH,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/G,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM;CAI7D;AAED,eAAO,MAAM,2CAA2C,eAAwD,CAAC;AACjH;;;GAGG;AACH,MAAM,MAAM,2CAA2C,GACnD,CAAC,OAAO,EAAE,6BAA6B,KAAK,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *****************************************************************************
|
|
3
|
+
// Copyright (C) 2026 EclipseSource GmbH and others.
|
|
4
|
+
//
|
|
5
|
+
// This program and the accompanying materials are made available under the
|
|
6
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
7
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
8
|
+
//
|
|
9
|
+
// This Source Code may also be made available under the following Secondary
|
|
10
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
11
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
12
|
+
// with the GNU Classpath Exception which is available at
|
|
13
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
14
|
+
//
|
|
15
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
16
|
+
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.ChatCompletionStreamingAsyncIteratorFactory = exports.ChatCompletionStreamingAsyncIterator = exports.ChatCompletionToolLoopOptions = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
|
+
const ai_core_1 = require("@theia/ai-core");
|
|
21
|
+
const core_1 = require("@theia/core");
|
|
22
|
+
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
|
+
const streaming_response_iterator_1 = require("./streaming-response-iterator");
|
|
24
|
+
exports.ChatCompletionToolLoopOptions = Symbol('ChatCompletionToolLoopOptions');
|
|
25
|
+
/**
|
|
26
|
+
* Drives a multi-turn OpenAI Chat Completions conversation with tool calling, executing the tool
|
|
27
|
+
* calls of each turn **concurrently** via {@link ToolCallExecutor}.
|
|
28
|
+
*
|
|
29
|
+
* This replaces the OpenAI SDK's `chat.completions.runTools(...)` runner, whose built-in tool loop
|
|
30
|
+
* executes tool calls strictly sequentially. By driving the raw chunk stream
|
|
31
|
+
* (`chat.completions.create({ stream: true })`) ourselves, multiple tool calls emitted in a single
|
|
32
|
+
* model turn (e.g. parallel agent delegations) run in parallel.
|
|
33
|
+
*/
|
|
34
|
+
let ChatCompletionStreamingAsyncIterator = class ChatCompletionStreamingAsyncIterator extends streaming_response_iterator_1.AbstractStreamingResponseIterator {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(...arguments);
|
|
37
|
+
/**
|
|
38
|
+
* Aborts the provider request. Its signal is handed to every `create()` call, so that it covers the
|
|
39
|
+
* request while it is still in flight just as well as the chunk stream that it eventually yields.
|
|
40
|
+
* The OpenAI SDK forwards the abort to the stream's own controller.
|
|
41
|
+
*/
|
|
42
|
+
this.abortController = new AbortController();
|
|
43
|
+
}
|
|
44
|
+
init() {
|
|
45
|
+
this.messages = [...this.options.messages];
|
|
46
|
+
// Abort the provider request whenever the iterator terminates, including when the consumer
|
|
47
|
+
// abandons it (`return()`), so that we never leave a request running for nobody.
|
|
48
|
+
this.toDispose.push(core_1.Disposable.create(() => this.abortController.abort()));
|
|
49
|
+
if (this.options.cancellationToken) {
|
|
50
|
+
this.toDispose.push(this.options.cancellationToken.onCancellationRequested(() => this.cancel()));
|
|
51
|
+
}
|
|
52
|
+
this.startIteration();
|
|
53
|
+
}
|
|
54
|
+
get cancellationRequested() {
|
|
55
|
+
return !!this.options.cancellationToken?.isCancellationRequested;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Aborts the active provider stream and immediately terminates the iterator, so a `next()` call pending on
|
|
59
|
+
* tool execution (which is only cooperatively cancelled via the token forwarded to handlers) settles promptly
|
|
60
|
+
* instead of stalling until an uninterruptible handler eventually finishes.
|
|
61
|
+
*/
|
|
62
|
+
cancel() {
|
|
63
|
+
if (this.done) {
|
|
64
|
+
// Already terminated: `dispose()` has aborted the request.
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this.terminalError = new core_1.CancellationError();
|
|
68
|
+
this.dispose();
|
|
69
|
+
}
|
|
70
|
+
async startIteration() {
|
|
71
|
+
try {
|
|
72
|
+
while (!this.done && !this.cancellationRequested) {
|
|
73
|
+
const { assistantText, toolCalls } = await this.processStream();
|
|
74
|
+
if (this.done || this.cancellationRequested) {
|
|
75
|
+
// Cancelled or abandoned while the stream was wrapping up: don't start executing the
|
|
76
|
+
// collected tool calls.
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
if (toolCalls.length === 0) {
|
|
80
|
+
// No tool calls: the conversation is complete.
|
|
81
|
+
this.dispose();
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
await this.executeAndAppendToolCalls(assistantText, toolCalls);
|
|
85
|
+
}
|
|
86
|
+
// Cancelled or abandoned before the model stopped requesting tools. `cancel()` (via the cancellation
|
|
87
|
+
// listener) or `return()` has already disposed the iterator; this is a no-op unless cancellation was
|
|
88
|
+
// observed some other way.
|
|
89
|
+
this.dispose();
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
if (this.cancellationRequested) {
|
|
93
|
+
this.terminalError = new core_1.CancellationError();
|
|
94
|
+
}
|
|
95
|
+
else if (!this.done) {
|
|
96
|
+
this.logger.error('Error in OpenAI chat completion stream:', error);
|
|
97
|
+
this.terminalError = error instanceof Error ? error : new Error(String(error));
|
|
98
|
+
}
|
|
99
|
+
// Otherwise the iterator was already terminated and the error is just the fall-out of the
|
|
100
|
+
// abort that `dispose()` triggered, so there is nobody left to report it to.
|
|
101
|
+
this.dispose();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/** Streams a single completion, emitting text/tool-call parts and collecting the turn's tool calls. */
|
|
105
|
+
async processStream() {
|
|
106
|
+
const collected = new Map();
|
|
107
|
+
let assistantText = '';
|
|
108
|
+
const body = {
|
|
109
|
+
model: this.options.model,
|
|
110
|
+
messages: this.messages,
|
|
111
|
+
stream: true,
|
|
112
|
+
tools: this.options.tools,
|
|
113
|
+
tool_choice: 'auto',
|
|
114
|
+
...this.options.settings
|
|
115
|
+
};
|
|
116
|
+
const stream = await this.options.openai.chat.completions.create(body, {
|
|
117
|
+
maxRetries: this.options.maxRetries,
|
|
118
|
+
signal: this.abortController.signal
|
|
119
|
+
});
|
|
120
|
+
for await (const chunk of stream) {
|
|
121
|
+
if (this.done || this.cancellationRequested) {
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
if (chunk.usage) {
|
|
125
|
+
const inputTokens = chunk.usage.prompt_tokens || 0;
|
|
126
|
+
const outputTokens = chunk.usage.completion_tokens || 0;
|
|
127
|
+
if (inputTokens > 0 || outputTokens > 0) {
|
|
128
|
+
this.handleIncoming({ input_tokens: inputTokens, output_tokens: outputTokens });
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
const delta = chunk.choices[0]?.delta;
|
|
132
|
+
if (!delta) {
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
// Some providers stream reasoning tokens on the delta; surface them as thoughts.
|
|
136
|
+
const reasoning = delta.reasoning
|
|
137
|
+
?? delta.reasoning_content;
|
|
138
|
+
if (reasoning) {
|
|
139
|
+
this.handleIncoming({ thought: reasoning, signature: '' });
|
|
140
|
+
}
|
|
141
|
+
if (delta.content) {
|
|
142
|
+
assistantText += delta.content;
|
|
143
|
+
this.handleIncoming({ content: delta.content });
|
|
144
|
+
}
|
|
145
|
+
for (const toolCallDelta of delta.tool_calls ?? []) {
|
|
146
|
+
this.collectToolCallDelta(collected, toolCallDelta);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return { assistantText, toolCalls: [...collected.values()].sort((a, b) => a.index - b.index) };
|
|
150
|
+
}
|
|
151
|
+
collectToolCallDelta(collected, toolCallDelta) {
|
|
152
|
+
let slot = collected.get(toolCallDelta.index);
|
|
153
|
+
if (!slot) {
|
|
154
|
+
slot = { index: toolCallDelta.index, id: toolCallDelta.id ?? '', name: '', arguments: '', opened: false };
|
|
155
|
+
collected.set(toolCallDelta.index, slot);
|
|
156
|
+
}
|
|
157
|
+
if (toolCallDelta.id && !slot.id) {
|
|
158
|
+
slot.id = toolCallDelta.id;
|
|
159
|
+
}
|
|
160
|
+
if (toolCallDelta.function?.name) {
|
|
161
|
+
slot.name += toolCallDelta.function.name;
|
|
162
|
+
}
|
|
163
|
+
// Open the tool call (emit a `finished: false` part) once we know both its ID and name. `merge` on the
|
|
164
|
+
// receiving `ToolCallChatResponseContentImpl` never updates the name afterwards, so opening early with an
|
|
165
|
+
// empty name would leave the call nameless for good.
|
|
166
|
+
if (!slot.opened && slot.id && slot.name) {
|
|
167
|
+
slot.opened = true;
|
|
168
|
+
this.handleIncoming({ tool_calls: [{ id: slot.id, finished: false, function: { name: slot.name, arguments: '' } }] });
|
|
169
|
+
}
|
|
170
|
+
if (toolCallDelta.function?.arguments) {
|
|
171
|
+
slot.arguments += toolCallDelta.function.arguments;
|
|
172
|
+
if (slot.opened) {
|
|
173
|
+
this.handleIncoming({ tool_calls: [{ id: slot.id, argumentsDelta: true, function: { arguments: toolCallDelta.function.arguments } }] });
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
async executeAndAppendToolCalls(assistantText, toolCalls) {
|
|
178
|
+
const results = await this.toolCallExecutor.executeToolCalls(toolCalls.map(toolCall => ({ id: toolCall.id, name: toolCall.name, arguments: toolCall.arguments || '{}' })), this.options.request.tools, { cancellationToken: this.options.cancellationToken });
|
|
179
|
+
// Emit the finished tool calls (in stable input order).
|
|
180
|
+
for (const result of results) {
|
|
181
|
+
this.handleIncoming({
|
|
182
|
+
tool_calls: [{ id: result.id, finished: true, function: { name: result.name, arguments: result.arguments }, result: result.result }]
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
// Append the assistant turn and the tool results so the next completion sees them.
|
|
186
|
+
// Every assistant tool_call must be paired with a tool message that has the same ID.
|
|
187
|
+
const assistantMessage = {
|
|
188
|
+
role: 'assistant',
|
|
189
|
+
tool_calls: toolCalls.map(toolCall => ({
|
|
190
|
+
id: toolCall.id,
|
|
191
|
+
type: 'function',
|
|
192
|
+
function: { name: toolCall.name, arguments: toolCall.arguments || '{}' }
|
|
193
|
+
}))
|
|
194
|
+
};
|
|
195
|
+
if (assistantText) {
|
|
196
|
+
assistantMessage.content = assistantText;
|
|
197
|
+
}
|
|
198
|
+
this.messages.push(assistantMessage);
|
|
199
|
+
for (const result of results) {
|
|
200
|
+
this.messages.push({ role: 'tool', tool_call_id: result.id, content: this.formatToolResult(result.result) });
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
formatToolResult(result) {
|
|
204
|
+
return result === undefined ? '' : (0, ai_core_1.formatToolCallContentForModel)(result);
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
exports.ChatCompletionStreamingAsyncIterator = ChatCompletionStreamingAsyncIterator;
|
|
208
|
+
tslib_1.__decorate([
|
|
209
|
+
(0, inversify_1.inject)(exports.ChatCompletionToolLoopOptions),
|
|
210
|
+
tslib_1.__metadata("design:type", Object)
|
|
211
|
+
], ChatCompletionStreamingAsyncIterator.prototype, "options", void 0);
|
|
212
|
+
tslib_1.__decorate([
|
|
213
|
+
(0, inversify_1.inject)(ai_core_1.ToolCallExecutor),
|
|
214
|
+
tslib_1.__metadata("design:type", Object)
|
|
215
|
+
], ChatCompletionStreamingAsyncIterator.prototype, "toolCallExecutor", void 0);
|
|
216
|
+
tslib_1.__decorate([
|
|
217
|
+
(0, inversify_1.inject)(core_1.ILogger),
|
|
218
|
+
(0, inversify_1.named)('ai-openai:ChatCompletionStreamingAsyncIterator'),
|
|
219
|
+
tslib_1.__metadata("design:type", Object)
|
|
220
|
+
], ChatCompletionStreamingAsyncIterator.prototype, "logger", void 0);
|
|
221
|
+
tslib_1.__decorate([
|
|
222
|
+
(0, inversify_1.postConstruct)(),
|
|
223
|
+
tslib_1.__metadata("design:type", Function),
|
|
224
|
+
tslib_1.__metadata("design:paramtypes", []),
|
|
225
|
+
tslib_1.__metadata("design:returntype", void 0)
|
|
226
|
+
], ChatCompletionStreamingAsyncIterator.prototype, "init", null);
|
|
227
|
+
exports.ChatCompletionStreamingAsyncIterator = ChatCompletionStreamingAsyncIterator = tslib_1.__decorate([
|
|
228
|
+
(0, inversify_1.injectable)()
|
|
229
|
+
], ChatCompletionStreamingAsyncIterator);
|
|
230
|
+
exports.ChatCompletionStreamingAsyncIteratorFactory = Symbol('ChatCompletionStreamingAsyncIteratorFactory');
|
|
231
|
+
//# sourceMappingURL=openai-chat-completion-stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-chat-completion-stream.js","sourceRoot":"","sources":["../../src/node/openai-chat-completion-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openai-chat-completion-stream.spec.d.ts","sourceRoot":"","sources":["../../src/node/openai-chat-completion-stream.spec.ts"],"names":[],"mappings":""}
|