@theia/ai-core 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.
Files changed (58) hide show
  1. package/lib/browser/frontend-language-model-service.d.ts.map +1 -1
  2. package/lib/browser/frontend-language-model-service.js +0 -8
  3. package/lib/browser/frontend-language-model-service.js.map +1 -1
  4. package/lib/browser/reasoning-labels.d.ts +4 -0
  5. package/lib/browser/reasoning-labels.d.ts.map +1 -0
  6. package/lib/browser/reasoning-labels.js +41 -0
  7. package/lib/browser/reasoning-labels.js.map +1 -0
  8. package/lib/browser/reasoning-labels.spec.d.ts +2 -0
  9. package/lib/browser/reasoning-labels.spec.d.ts.map +1 -0
  10. package/lib/browser/reasoning-labels.spec.js +28 -0
  11. package/lib/browser/reasoning-labels.spec.js.map +1 -0
  12. package/lib/common/ai-core-preferences.d.ts.map +1 -1
  13. package/lib/common/ai-core-preferences.js +6 -3
  14. package/lib/common/ai-core-preferences.js.map +1 -1
  15. package/lib/common/index.d.ts +1 -0
  16. package/lib/common/index.d.ts.map +1 -1
  17. package/lib/common/index.js +1 -0
  18. package/lib/common/index.js.map +1 -1
  19. package/lib/common/language-model-service.d.ts.map +1 -1
  20. package/lib/common/language-model-service.js +7 -0
  21. package/lib/common/language-model-service.js.map +1 -1
  22. package/lib/common/language-model-service.spec.js +21 -0
  23. package/lib/common/language-model-service.spec.js.map +1 -1
  24. package/lib/common/language-model.d.ts +10 -3
  25. package/lib/common/language-model.d.ts.map +1 -1
  26. package/lib/common/language-model.js +17 -4
  27. package/lib/common/language-model.js.map +1 -1
  28. package/lib/common/language-model.spec.js +18 -0
  29. package/lib/common/language-model.spec.js.map +1 -1
  30. package/lib/common/tool-call-execution.d.ts +89 -0
  31. package/lib/common/tool-call-execution.d.ts.map +1 -0
  32. package/lib/common/tool-call-execution.js +67 -0
  33. package/lib/common/tool-call-execution.js.map +1 -0
  34. package/lib/common/tool-call-execution.spec.d.ts +2 -0
  35. package/lib/common/tool-call-execution.spec.d.ts.map +1 -0
  36. package/lib/common/tool-call-execution.spec.js +114 -0
  37. package/lib/common/tool-call-execution.spec.js.map +1 -0
  38. package/lib/common/tool-request-parameters.spec.d.ts +2 -0
  39. package/lib/common/tool-request-parameters.spec.d.ts.map +1 -0
  40. package/lib/common/tool-request-parameters.spec.js +62 -0
  41. package/lib/common/tool-request-parameters.spec.js.map +1 -0
  42. package/lib/node/ai-core-backend-module.d.ts.map +1 -1
  43. package/lib/node/ai-core-backend-module.js +2 -0
  44. package/lib/node/ai-core-backend-module.js.map +1 -1
  45. package/package.json +9 -9
  46. package/src/browser/frontend-language-model-service.ts +1 -10
  47. package/src/browser/reasoning-labels.spec.ts +28 -0
  48. package/src/browser/reasoning-labels.ts +41 -0
  49. package/src/common/ai-core-preferences.ts +6 -3
  50. package/src/common/index.ts +1 -0
  51. package/src/common/language-model-service.spec.ts +23 -1
  52. package/src/common/language-model-service.ts +11 -1
  53. package/src/common/language-model.spec.ts +21 -0
  54. package/src/common/language-model.ts +26 -6
  55. package/src/common/tool-call-execution.spec.ts +162 -0
  56. package/src/common/tool-call-execution.ts +161 -0
  57. package/src/common/tool-request-parameters.spec.ts +81 -0
  58. package/src/node/ai-core-backend-module.ts +5 -1
@@ -292,8 +292,26 @@ describe('ReasoningSupport.clampLevel', () => {
292
292
  (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel(oSeries, 'medium')).to.equal('medium');
293
293
  (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel(oSeries, 'auto')).to.equal('auto');
294
294
  });
295
+ it('passes through native none, xhigh, and max when supported', () => {
296
+ const support = { supportedLevels: ['none', 'low', 'medium', 'high', 'xhigh', 'max', 'auto'] };
297
+ for (const level of support.supportedLevels) {
298
+ (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel(support, level)).to.equal(level);
299
+ }
300
+ });
301
+ it('clamps extended efforts to older models and max to max-only models', () => {
302
+ (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel(oSeries, 'xhigh')).to.equal('high');
303
+ (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel(oSeries, 'max')).to.equal('high');
304
+ (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel({ supportedLevels: ['low', 'medium', 'high', 'max'] }, 'xhigh')).to.equal('max');
305
+ (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel({ supportedLevels: ['low', 'medium', 'high', 'xhigh'] }, 'max')).to.equal('xhigh');
306
+ });
307
+ it('clamps none to the nearest supported effort', () => {
308
+ (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel({ supportedLevels: ['low', 'medium', 'high'] }, 'none')).to.equal('low');
309
+ (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel(oSeries, 'none')).to.equal('off');
310
+ (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel({ supportedLevels: ['off', 'minimal', 'low', 'auto'] }, 'none')).to.equal('off');
311
+ });
295
312
  it('raises an unsupported minimal to low rather than lowering it to off', () => {
296
313
  (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel(oSeries, 'minimal')).to.equal('low');
314
+ (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel({ supportedLevels: ['none', 'low'] }, 'minimal')).to.equal('low');
297
315
  });
298
316
  it('lowers an unsupported level when nothing higher is supported', () => {
299
317
  (0, chai_1.expect)(language_model_1.ReasoningSupport.clampLevel({ supportedLevels: ['off', 'low', 'medium'] }, 'high')).to.equal('medium');
@@ -1 +1 @@
1
- {"version":3,"file":"language-model.spec.js","sourceRoot":"","sources":["../../src/common/language-model.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"language-model.spec.js","sourceRoot":"","sources":["../../src/common/language-model.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import { CancellationToken, ILogger } from '@theia/core';
2
+ import { ToolRequest, ToolCallResult } from './language-model';
3
+ /**
4
+ * A single tool call collected from one model response/turn, in a provider-neutral shape.
5
+ * Each language model normalizes its own representation into this shape before execution.
6
+ */
7
+ export interface ToolInvocation {
8
+ /** The tool call ID assigned by the model; forwarded into the {@link ToolInvocationContext}. */
9
+ readonly id: string;
10
+ /** The name used to match against {@link ToolRequest.name}. */
11
+ readonly name: string;
12
+ /** The raw JSON argument string passed verbatim to {@link ToolRequest.handler}. */
13
+ readonly arguments: string;
14
+ }
15
+ /**
16
+ * A tool reduced to what executing a call against it requires: the name that a {@link ToolInvocation}
17
+ * is matched against and the handler to invoke. A language model that has already converted the
18
+ * request's tools into its provider's own representation can recover just these two from that
19
+ * representation instead of reconstructing a whole {@link ToolRequest}.
20
+ */
21
+ export type ExecutableTool = Pick<ToolRequest, 'name' | 'handler'>;
22
+ /**
23
+ * The normalized outcome of executing one tool call. Returned in the same order as the
24
+ * input array, regardless of the order in which the calls actually completed.
25
+ */
26
+ export interface ToolCallOutcome {
27
+ readonly id: string;
28
+ readonly name: string;
29
+ readonly arguments: string;
30
+ /**
31
+ * The handler result, or a {@link createToolCallError} value if the tool was not found
32
+ * or the handler threw. A thrown handler yields an error result here, never a rejection.
33
+ */
34
+ readonly result: ToolCallResult;
35
+ /** The original error if the handler threw; `undefined` for success and for tool-not-found. */
36
+ readonly error?: Error;
37
+ /** `true` when no {@link ToolRequest} matched {@link ToolInvocation.name}. */
38
+ readonly notFound: boolean;
39
+ }
40
+ export interface ToolCallExecutionOptions {
41
+ /**
42
+ * Optional per-call hook invoked exactly once per tool call as soon as that call settles
43
+ * (success, throw, or not-found). Use it for per-call side effects such as streaming a UI
44
+ * event or appending a provider message.
45
+ *
46
+ * **Note:** because calls run concurrently, this hook fires in completion order, not input
47
+ * order. Side effects that must be ordered should instead be performed by the caller over
48
+ * the returned (input-ordered) array of execution results.
49
+ */
50
+ readonly onResult?: (result: ToolCallOutcome) => void;
51
+ /** Optional cancellation token forwarded into each {@link ToolInvocationContext}. */
52
+ readonly cancellationToken?: CancellationToken;
53
+ }
54
+ /**
55
+ * Executes the tool calls of a single language model response/turn.
56
+ *
57
+ * Concurrency contract: tool calls emitted within a single model response/turn are executed
58
+ * concurrently. All matched handlers are started before any of them is awaited.
59
+ * A tool handler must therefore not assume that it runs in isolation or in array
60
+ * order, and must be safe to overlap with sibling calls from the same turn. Models serialize
61
+ * dependent calls across turns (by withholding a dependent call until it has seen the prior
62
+ * result), so "issued together in one turn" is the model's signal that the calls are independent.
63
+ *
64
+ * Error handling is uniform across all language model providers:
65
+ * - If no {@link ToolRequest} matches a call's name, its result is a
66
+ * {@link createToolCallError} with kind `'tool-not-available'` and `notFound` is `true`.
67
+ * - If a handler throws/rejects, the rejection is caught, logged, and converted to a
68
+ * {@link createToolCallError}; the original error is exposed on `error`.
69
+ * - The overall tool execution promise never rejects but returns a result that may
70
+ * include errors from failed tool calls
71
+ */
72
+ export interface ToolCallExecutor {
73
+ /**
74
+ * Executes all `toolCalls` concurrently and returns their outcomes in input order.
75
+ *
76
+ * @param toolCalls the tool calls collected for this turn (id + name + raw args)
77
+ * @param tools the tools available for this request (typically `request.tools`), reduced to the
78
+ * {@link ExecutableTool} shape
79
+ * @param options optional per-call hook and cancellation token
80
+ */
81
+ executeToolCalls(toolCalls: readonly ToolInvocation[], tools: readonly ExecutableTool[] | undefined, options?: ToolCallExecutionOptions): Promise<ToolCallOutcome[]>;
82
+ }
83
+ export declare const ToolCallExecutor: unique symbol;
84
+ export declare class ToolCallExecutorImpl implements ToolCallExecutor {
85
+ protected readonly logger: ILogger;
86
+ executeToolCalls(toolCalls: readonly ToolInvocation[], tools: readonly ExecutableTool[] | undefined, options?: ToolCallExecutionOptions): Promise<ToolCallOutcome[]>;
87
+ protected executeToolCall(toolCall: ToolInvocation, tools: readonly ExecutableTool[] | undefined, options: ToolCallExecutionOptions): Promise<ToolCallOutcome>;
88
+ }
89
+ //# sourceMappingURL=tool-call-execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-execution.d.ts","sourceRoot":"","sources":["../../src/common/tool-call-execution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,EACH,WAAW,EACX,cAAc,EAGjB,MAAM,kBAAkB,CAAC;AAE1B;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC3B,gGAAgG;IAChG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,+FAA+F;IAC/F,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAwB;IACrC;;;;;;;;OAQG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACtD,qFAAqF;IACrF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CAClD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;;;;;OAOG;IACH,gBAAgB,CACZ,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,EAC5C,OAAO,CAAC,EAAE,wBAAwB,GACnC,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,gBAAgB,eAA6B,CAAC;AAE3D,qBACa,oBAAqB,YAAW,gBAAgB;IAGzD,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAE7B,gBAAgB,CAClB,SAAS,EAAE,SAAS,cAAc,EAAE,EACpC,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,EAC5C,OAAO,GAAE,wBAA6B,GACvC,OAAO,CAAC,eAAe,EAAE,CAAC;cAIb,eAAe,CAC3B,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,SAAS,cAAc,EAAE,GAAG,SAAS,EAC5C,OAAO,EAAE,wBAAwB,GAClC,OAAO,CAAC,eAAe,CAAC;CA0B9B"}
@@ -0,0 +1,67 @@
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.ToolCallExecutorImpl = exports.ToolCallExecutor = void 0;
19
+ const tslib_1 = require("tslib");
20
+ const core_1 = require("@theia/core");
21
+ const inversify_1 = require("@theia/core/shared/inversify");
22
+ const language_model_1 = require("./language-model");
23
+ exports.ToolCallExecutor = Symbol('ToolCallExecutor');
24
+ let ToolCallExecutorImpl = class ToolCallExecutorImpl {
25
+ async executeToolCalls(toolCalls, tools, options = {}) {
26
+ return Promise.all(toolCalls.map(toolCall => this.executeToolCall(toolCall, tools, options)));
27
+ }
28
+ async executeToolCall(toolCall, tools, options) {
29
+ const { id, name, arguments: args } = toolCall;
30
+ const tool = tools?.find(candidate => candidate.name === name);
31
+ let outcome;
32
+ if (!tool) {
33
+ outcome = {
34
+ id, name, arguments: args, notFound: true,
35
+ result: (0, language_model_1.createToolCallError)(`Tool '${name}' not found in the available tools for this request.`, 'tool-not-available')
36
+ };
37
+ }
38
+ else {
39
+ try {
40
+ const result = await tool.handler(args, language_model_1.ToolInvocationContext.create(id, options.cancellationToken));
41
+ outcome = { id, name, arguments: args, result, notFound: false };
42
+ }
43
+ catch (e) {
44
+ const error = e instanceof Error ? e : new Error(String(e));
45
+ this.logger.error(`Error executing tool ${name}:`, e);
46
+ outcome = { id, name, arguments: args, notFound: false, error, result: (0, language_model_1.createToolCallError)(error.message || 'Tool execution failed') };
47
+ }
48
+ }
49
+ try {
50
+ options.onResult?.(outcome);
51
+ }
52
+ catch (error) {
53
+ this.logger.error('Uncaught error in tool-call onResult call-back.', error);
54
+ }
55
+ return outcome;
56
+ }
57
+ };
58
+ exports.ToolCallExecutorImpl = ToolCallExecutorImpl;
59
+ tslib_1.__decorate([
60
+ (0, inversify_1.inject)(core_1.ILogger),
61
+ (0, inversify_1.named)('ai-core:ToolCallExecutorImpl'),
62
+ tslib_1.__metadata("design:type", Object)
63
+ ], ToolCallExecutorImpl.prototype, "logger", void 0);
64
+ exports.ToolCallExecutorImpl = ToolCallExecutorImpl = tslib_1.__decorate([
65
+ (0, inversify_1.injectable)()
66
+ ], ToolCallExecutorImpl);
67
+ //# sourceMappingURL=tool-call-execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-execution.js","sourceRoot":"","sources":["../../src/common/tool-call-execution.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,oDAAoD;AACpD,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,sCAAyD;AACzD,4DAAyE;AACzE,qDAK0B;AA2Fb,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAGpD,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAK7B,KAAK,CAAC,gBAAgB,CAClB,SAAoC,EACpC,KAA4C,EAC5C,UAAoC,EAAE;QAEtC,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAClG,CAAC;IAES,KAAK,CAAC,eAAe,CAC3B,QAAwB,EACxB,KAA4C,EAC5C,OAAiC;QAEjC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC;QAC/C,MAAM,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAC/D,IAAI,OAAwB,CAAC;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO,GAAG;gBACN,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;gBACzC,MAAM,EAAE,IAAA,oCAAmB,EAAC,SAAS,IAAI,sDAAsD,EAAE,oBAAoB,CAAC;aACzH,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,sCAAqB,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACrG,OAAO,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YACrE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,MAAM,KAAK,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;gBACtD,OAAO,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAA,oCAAmB,EAAC,KAAK,CAAC,OAAO,IAAI,uBAAuB,CAAC,EAAE,CAAC;YAC3I,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACD,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ,CAAA;AA3CY,oDAAoB;AAGV;IADlB,IAAA,kBAAM,EAAC,cAAO,CAAC;IAAE,IAAA,iBAAK,EAAC,8BAA8B,CAAC;;oDACpB;+BAH1B,oBAAoB;IADhC,IAAA,sBAAU,GAAE;GACA,oBAAoB,CA2ChC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tool-call-execution.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-execution.spec.d.ts","sourceRoot":"","sources":["../../src/common/tool-call-execution.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,114 @@
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
+ const chai_1 = require("chai");
19
+ const core_1 = require("@theia/core");
20
+ const inversify_1 = require("@theia/core/shared/inversify");
21
+ const mock_logger_1 = require("@theia/core/lib/common/test/mock-logger");
22
+ const promise_util_1 = require("@theia/core/lib/common/promise-util");
23
+ const language_model_1 = require("./language-model");
24
+ const tool_call_execution_1 = require("./tool-call-execution");
25
+ /** Builds a minimal {@link ToolRequest} whose handler delegates to `handler`. */
26
+ function tool(name, handler) {
27
+ return { id: name, name, parameters: { type: 'object', properties: {} }, handler };
28
+ }
29
+ describe('ToolCallExecutor', () => {
30
+ let executor;
31
+ beforeEach(() => {
32
+ const container = new inversify_1.Container();
33
+ container.bind(core_1.ILogger).to(mock_logger_1.MockLogger);
34
+ container.bind(tool_call_execution_1.ToolCallExecutorImpl).toSelf();
35
+ executor = container.get(tool_call_execution_1.ToolCallExecutorImpl);
36
+ });
37
+ it('executes the tool calls of a turn concurrently (not sequentially)', async () => {
38
+ // `a` only completes once `b` has started. A sequential implementation that runs
39
+ // `a` before `b` would deadlock here, so this is the core regression test for #17533.
40
+ const bStarted = new promise_util_1.Deferred();
41
+ const tools = [
42
+ tool('a', async () => {
43
+ await bStarted.promise;
44
+ return 'a-done';
45
+ }),
46
+ tool('b', async () => {
47
+ bStarted.resolve();
48
+ return 'b-done';
49
+ })
50
+ ];
51
+ const results = await executor.executeToolCalls([{ id: '1', name: 'a', arguments: '{}' }, { id: '2', name: 'b', arguments: '{}' }], tools);
52
+ (0, chai_1.expect)(results.map(r => r.result)).to.deep.equal(['a-done', 'b-done']);
53
+ });
54
+ it('preserves input order even when calls complete out of order', async () => {
55
+ const aResolves = new promise_util_1.Deferred();
56
+ const tools = [
57
+ tool('slow', async () => {
58
+ await aResolves.promise;
59
+ return 'slow-done';
60
+ }),
61
+ tool('fast', async () => {
62
+ // Let `fast` finish first, then release `slow`.
63
+ aResolves.resolve();
64
+ return 'fast-done';
65
+ })
66
+ ];
67
+ const results = await executor.executeToolCalls([{ id: 'a', name: 'slow', arguments: '{}' }, { id: 'b', name: 'fast', arguments: '{}' }], tools);
68
+ (0, chai_1.expect)(results.map(r => r.id)).to.deep.equal(['a', 'b']);
69
+ (0, chai_1.expect)(results.map(r => r.result)).to.deep.equal(['slow-done', 'fast-done']);
70
+ });
71
+ it('reports a tool-not-available error when no tool matches the name', async () => {
72
+ const results = await executor.executeToolCalls([{ id: '1', name: 'missing', arguments: '{}' }], [tool('present', async () => 'ok')]);
73
+ (0, chai_1.expect)(results).to.have.lengthOf(1);
74
+ (0, chai_1.expect)(results[0].notFound).to.equal(true);
75
+ (0, chai_1.expect)(results[0].error).to.equal(undefined);
76
+ (0, chai_1.expect)((0, language_model_1.isToolCallContent)(results[0].result)).to.equal(true);
77
+ (0, chai_1.expect)((0, language_model_1.isToolCallContent)(results[0].result) && results[0].result.content.some(language_model_1.isToolNotAvailableError)).to.equal(true);
78
+ });
79
+ it('isolates a throwing handler: it does not reject, exposes the error, and siblings still resolve', async () => {
80
+ const boom = new Error('handler boom');
81
+ const results = await executor.executeToolCalls([{ id: '1', name: 'throws', arguments: '{}' }, { id: '2', name: 'ok', arguments: '{}' }], [
82
+ tool('throws', async () => { throw boom; }),
83
+ tool('ok', async () => 'ok-result')
84
+ ]);
85
+ const thrown = results.find(r => r.id === '1');
86
+ const succeeded = results.find(r => r.id === '2');
87
+ (0, chai_1.expect)(thrown.error).to.equal(boom);
88
+ (0, chai_1.expect)((0, language_model_1.hasToolCallError)(thrown.result)).to.equal(true);
89
+ (0, chai_1.expect)(thrown.notFound).to.equal(false);
90
+ (0, chai_1.expect)(succeeded.result).to.equal('ok-result');
91
+ });
92
+ it('invokes onResult exactly once per tool call', async () => {
93
+ const seen = [];
94
+ await executor.executeToolCalls([{ id: '1', name: 'a', arguments: '{}' }, { id: '2', name: 'b', arguments: '{}' }], [tool('a', async () => 'a'), tool('b', async () => 'b')], { onResult: (r) => seen.push(r.id) });
95
+ (0, chai_1.expect)(seen.slice().sort()).to.deep.equal(['1', '2']);
96
+ });
97
+ it('forwards the cancellation token into each ToolInvocationContext', async () => {
98
+ const source = new core_1.CancellationTokenSource();
99
+ let received;
100
+ await executor.executeToolCalls([{ id: '1', name: 'a', arguments: '{}' }], [tool('a', async (_args, ctx) => { received = language_model_1.ToolInvocationContext.getCancellationToken(ctx); return 'a'; })], { cancellationToken: source.token });
101
+ (0, chai_1.expect)(received).to.equal(source.token);
102
+ });
103
+ it('does not let a throwing onResult callback reject the execution or affect the results', async () => {
104
+ const results = await executor.executeToolCalls([{ id: '1', name: 'a', arguments: '{}' }, { id: '2', name: 'b', arguments: '{}' }], [tool('a', async () => 'a-done'), tool('b', async () => 'b-done')], { onResult: () => { throw new Error('reporting boom'); } });
105
+ (0, chai_1.expect)(results.map(r => r.result)).to.deep.equal(['a-done', 'b-done']);
106
+ });
107
+ it('returns an empty array and never calls onResult for empty input', async () => {
108
+ let called = false;
109
+ const results = await executor.executeToolCalls([], [tool('a', async () => 'a')], { onResult: () => { called = true; } });
110
+ (0, chai_1.expect)(results).to.deep.equal([]);
111
+ (0, chai_1.expect)(called).to.equal(false);
112
+ });
113
+ });
114
+ //# sourceMappingURL=tool-call-execution.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-call-execution.spec.js","sourceRoot":"","sources":["../../src/common/tool-call-execution.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tool-request-parameters.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-request-parameters.spec.d.ts","sourceRoot":"","sources":["../../src/common/tool-request-parameters.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ // *****************************************************************************
3
+ // Copyright (C) 2026 Beijing Kaikong Technology Co., Ltd. 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
+ const chai_1 = require("chai");
19
+ const language_model_1 = require("./language-model");
20
+ describe('ToolRequest.isToolRequestParameters', () => {
21
+ it('accepts a property with a plain string type', () => {
22
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters({
23
+ type: 'object',
24
+ properties: { name: { type: 'string' } }
25
+ })).to.equal(true);
26
+ });
27
+ it('accepts a property whose type is a union array (JSON Schema 2020-12)', () => {
28
+ // Mirrors the shape produced by MCP tools with `type: ["string", "null"]`.
29
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters({
30
+ type: 'object',
31
+ properties: { opt: { type: ['string', 'null'] } }
32
+ })).to.equal(true);
33
+ });
34
+ it('accepts a property whose type array has more than two elements', () => {
35
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters({
36
+ type: 'object',
37
+ properties: { mixed: { type: ['string', 'number', 'null'] } }
38
+ })).to.equal(true);
39
+ });
40
+ it('rejects a property whose type array contains a non-string element', () => {
41
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters({
42
+ type: 'object',
43
+ properties: { bad: { type: ['string', 42] } }
44
+ })).to.equal(false);
45
+ });
46
+ it('rejects a property whose type is not a string or an array of strings', () => {
47
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters({
48
+ type: 'object',
49
+ properties: { bad: { type: 42 } }
50
+ })).to.equal(false);
51
+ });
52
+ it('rejects a property without a type or anyOf', () => {
53
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters({
54
+ type: 'object',
55
+ properties: { bad: {} }
56
+ })).to.equal(false);
57
+ });
58
+ it('rejects a top-level object without a properties object', () => {
59
+ (0, chai_1.expect)(language_model_1.ToolRequest.isToolRequestParameters({ type: 'object' })).to.equal(false);
60
+ });
61
+ });
62
+ //# sourceMappingURL=tool-request-parameters.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-request-parameters.spec.js","sourceRoot":"","sources":["../../src/common/tool-request-parameters.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,sEAAsE;AACtE,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,qDAA+C;AAE/C,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,IAAA,aAAM,EACF,4BAAW,CAAC,uBAAuB,CAAC;YAChC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;SAC3C,CAAC,CACL,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC5E,2EAA2E;QAC3E,IAAA,aAAM,EACF,4BAAW,CAAC,uBAAuB,CAAC;YAChC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;SACpD,CAAC,CACL,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACtE,IAAA,aAAM,EACF,4BAAW,CAAC,uBAAuB,CAAC;YAChC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE;SAChE,CAAC,CACL,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QACzE,IAAA,aAAM,EACF,4BAAW,CAAC,uBAAuB,CAAC;YAChC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;SAChD,CAAC,CACL,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAC5E,IAAA,aAAM,EACF,4BAAW,CAAC,uBAAuB,CAAC;YAChC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;SACpC,CAAC,CACL,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,IAAA,aAAM,EACF,4BAAW,CAAC,uBAAuB,CAAC;YAChC,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;SAC1B,CAAC,CACL,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,IAAA,aAAM,EACF,4BAAW,CAAC,uBAAuB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAC1D,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-core-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/ai-core-backend-module.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAkG/D,wBAUG"}
1
+ {"version":3,"file":"ai-core-backend-module.d.ts","sourceRoot":"","sources":["../../src/node/ai-core-backend-module.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAoG/D,wBAYG"}
@@ -62,6 +62,8 @@ const aiCoreConnectionModule = connection_container_module_1.ConnectionContainer
62
62
  exports.default = new inversify_1.ContainerModule(bind => {
63
63
  bind(core_1.PreferenceContribution).toConstantValue({ schema: agent_preferences_1.AgentSettingsPreferenceSchema });
64
64
  (0, ai_core_preferences_1.bindAICorePreferences)(bind);
65
+ bind(common_1.ToolCallExecutorImpl).toSelf().inSingletonScope();
66
+ bind(common_1.ToolCallExecutor).toService(common_1.ToolCallExecutorImpl);
65
67
  // Bound in the root container: the snapshots are per provider, not per frontend connection,
66
68
  // and the provider managers resolving them live in connection-scoped child containers.
67
69
  bind(model_snapshot_store_1.ModelSnapshotStoreImpl).toSelf().inSingletonScope();
@@ -1 +1 @@
1
- {"version":3,"file":"ai-core-backend-module.js","sourceRoot":"","sources":["../../src/node/ai-core-backend-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-core-backend-module.js","sourceRoot":"","sources":["../../src/node/ai-core-backend-module.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@theia/ai-core",
3
- "version": "1.77.0-next.4+4f24ee401",
3
+ "version": "1.77.0-next.47+e16adde42",
4
4
  "description": "Theia - AI Core",
5
5
  "dependencies": {
6
- "@theia/core": "1.77.0-next.4+4f24ee401",
7
- "@theia/editor": "1.77.0-next.4+4f24ee401",
8
- "@theia/filesystem": "1.77.0-next.4+4f24ee401",
9
- "@theia/monaco": "1.77.0-next.4+4f24ee401",
6
+ "@theia/core": "1.77.0-next.47+e16adde42",
7
+ "@theia/editor": "1.77.0-next.47+e16adde42",
8
+ "@theia/filesystem": "1.77.0-next.47+e16adde42",
9
+ "@theia/monaco": "1.77.0-next.47+e16adde42",
10
10
  "@theia/monaco-editor-core": "1.108.201",
11
- "@theia/output": "1.77.0-next.4+4f24ee401",
12
- "@theia/variable-resolver": "1.77.0-next.4+4f24ee401",
13
- "@theia/workspace": "1.77.0-next.4+4f24ee401",
11
+ "@theia/output": "1.77.0-next.47+e16adde42",
12
+ "@theia/variable-resolver": "1.77.0-next.47+e16adde42",
13
+ "@theia/workspace": "1.77.0-next.47+e16adde42",
14
14
  "@types/js-yaml": "^4.0.9",
15
15
  "fast-deep-equal": "^3.1.3",
16
16
  "js-yaml": "^4.3.2",
@@ -58,5 +58,5 @@
58
58
  "nyc": {
59
59
  "extends": "../../configs/nyc.json"
60
60
  },
61
- "gitHead": "4f24ee40105b8c53808c8293c41387304d15960c"
61
+ "gitHead": "e16adde42dd7f932f85efb6d701d665149c04f47"
62
62
  }
@@ -18,7 +18,7 @@ import { nls } from '@theia/core/lib/common/nls';
18
18
  import { inject, injectable } from '@theia/core/shared/inversify';
19
19
  import { Prioritizeable } from '@theia/core/lib/common/prioritizeable';
20
20
  import { WorkspaceTrustService } from '@theia/workspace/lib/browser/workspace-trust-service';
21
- import { AiConfigurationService, LanguageModel, LanguageModelResponse, ReasoningSettings, ReasoningSupport, UserRequest } from '../common';
21
+ import { AiConfigurationService, LanguageModel, LanguageModelResponse, ReasoningSettings, UserRequest } from '../common';
22
22
  import { LanguageModelServiceImpl } from '../common/language-model-service';
23
23
  import {
24
24
  PREFERENCE_NAME_REQUEST_SETTINGS,
@@ -76,15 +76,6 @@ export class FrontendLanguageModelServiceImpl extends LanguageModelServiceImpl {
76
76
  languageModelRequest.reasoning = { level: languageModel.reasoningSupport.defaultLevel };
77
77
  }
78
78
  }
79
- // A persisted selection or preference entry can name a level the current model does not accept,
80
- // which the provider would otherwise send as-is; clamp it to the model's declared levels.
81
- if (languageModelRequest.reasoning && languageModel.reasoningSupport) {
82
- const level = ReasoningSupport.clampLevel(languageModel.reasoningSupport, languageModelRequest.reasoning.level);
83
- if (level !== languageModelRequest.reasoning.level) {
84
- languageModelRequest.reasoning = { ...languageModelRequest.reasoning, level };
85
- }
86
- }
87
-
88
79
  return super.sendRequest(languageModel, languageModelRequest);
89
80
  }
90
81
  }
@@ -0,0 +1,28 @@
1
+ // *****************************************************************************
2
+ // Copyright (C) 2026 EclipseSource GmbH.
3
+ //
4
+ // This program and the accompanying materials are made available under the
5
+ // terms of the Eclipse Public License v. 2.0 which is available at
6
+ // http://www.eclipse.org/legal/epl-2.0.
7
+ //
8
+ // This Source Code may also be made available under the following Secondary
9
+ // Licenses when the conditions for such availability set forth in the Eclipse
10
+ // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
+ // with the GNU Classpath Exception which is available at
12
+ // https://www.gnu.org/software/classpath/license.html.
13
+ //
14
+ // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
15
+ // *****************************************************************************
16
+
17
+ import { expect } from 'chai';
18
+ import { reasoningLevelDescription, reasoningLevelLabel } from './reasoning-labels';
19
+
20
+ describe('Reasoning selector wording', () => {
21
+ it('labels max and distinguishes provider-specific off behavior from explicit no reasoning', () => {
22
+ expect(reasoningLevelLabel('max')).to.equal('Max');
23
+ expect(reasoningLevelDescription('off')).to.equal(
24
+ 'Omits explicit reasoning effort, allowing provider defaults or raw request settings to apply; on Ollama, disables thinking.');
25
+ expect(reasoningLevelDescription('none')).to.equal('Explicitly requests no reasoning.');
26
+ expect(reasoningLevelDescription('high')).to.equal(undefined);
27
+ });
28
+ });