@theia/ai-openai 1.66.1 → 1.66.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"openai-preferences.d.ts","sourceRoot":"","sources":["../../src/common/openai-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAO,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,YAAY,4CAA4C,CAAC;AACtE,eAAO,MAAM,WAAW,oDAAoD,CAAC;AAC7E,eAAO,MAAM,qBAAqB,8CAA8C,CAAC;AACjF,eAAO,MAAM,qBAAqB,gDAAgD,CAAC;AAEnF,eAAO,MAAM,uBAAuB,EAAE,gBAgIrC,CAAC"}
1
+ {"version":3,"file":"openai-preferences.d.ts","sourceRoot":"","sources":["../../src/common/openai-preferences.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAO,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,eAAO,MAAM,YAAY,4CAA4C,CAAC;AACtE,eAAO,MAAM,WAAW,oDAAoD,CAAC;AAC7E,eAAO,MAAM,qBAAqB,8CAA8C,CAAC;AACjF,eAAO,MAAM,qBAAqB,gDAAgD,CAAC;AAEnF,eAAO,MAAM,uBAAuB,EAAE,gBAmIrC,CAAC"}
@@ -56,9 +56,12 @@ on the machine running Theia. Use the environment variable `OPENAI_API_KEY` to s
56
56
  type: 'boolean',
57
57
  default: false,
58
58
  title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
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. \
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
  \
61
- This setting only applies to official OpenAI models - custom providers must configure this individually.')
61
+ This setting only applies to official OpenAI models - custom providers must configure this individually.\
62
+ \
63
+ Note that for the response API, tool call definitions must satisfy Open AI\'s [strict schema definition](https://platform.openai.com/docs/guides/function-calling#strict-mode).\
64
+ Best effort is made to convert non-conformant schemas, but errors are still possible.')
62
65
  },
63
66
  [exports.CUSTOM_ENDPOINTS_PREF]: {
64
67
  type: 'array',
@@ -1 +1 @@
1
- {"version":3,"file":"openai-preferences.js","sourceRoot":"","sources":["../../src/common/openai-preferences.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-preferences.js","sourceRoot":"","sources":["../../src/common/openai-preferences.ts"],"names":[],"mappings":"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"}
@@ -378,5 +378,90 @@ describe('OpenAiModelUtils - processMessagesForResponseApi', () => {
378
378
  .to.throw('unhandled case');
379
379
  });
380
380
  });
381
+ describe('recursiveStrictJSONSchema', () => {
382
+ it('should return the same object and not modify it when schema has no properties to strictify', () => {
383
+ const schema = { type: 'string', description: 'Simple string' };
384
+ const originalJson = JSON.stringify(schema);
385
+ const result = (0, openai_response_api_utils_1.recursiveStrictJSONSchema)(schema);
386
+ (0, chai_1.expect)(result).to.equal(schema);
387
+ (0, chai_1.expect)(JSON.stringify(schema)).to.equal(originalJson);
388
+ const resultObj = result;
389
+ (0, chai_1.expect)(resultObj).to.not.have.property('additionalProperties');
390
+ (0, chai_1.expect)(resultObj).to.not.have.property('required');
391
+ });
392
+ it('should not mutate original but return a new strictified schema when branching applies (properties/items)', () => {
393
+ var _a;
394
+ const original = {
395
+ type: 'object',
396
+ properties: {
397
+ path: { type: 'string' },
398
+ data: {
399
+ type: 'array',
400
+ items: {
401
+ type: 'object',
402
+ properties: {
403
+ a: { type: 'string' }
404
+ }
405
+ }
406
+ }
407
+ }
408
+ };
409
+ const originalClone = JSON.parse(JSON.stringify(original));
410
+ const resultDef = (0, openai_response_api_utils_1.recursiveStrictJSONSchema)(original);
411
+ const result = resultDef;
412
+ (0, chai_1.expect)(result).to.not.equal(original);
413
+ (0, chai_1.expect)(original).to.deep.equal(originalClone);
414
+ (0, chai_1.expect)(result.additionalProperties).to.equal(false);
415
+ (0, chai_1.expect)(result.required).to.have.members(['path', 'data']);
416
+ const itemsDef = ((_a = result.properties) === null || _a === void 0 ? void 0 : _a.data).items;
417
+ (0, chai_1.expect)(itemsDef).to.be.ok;
418
+ const itemsObj = itemsDef;
419
+ (0, chai_1.expect)(itemsObj.additionalProperties).to.equal(false);
420
+ (0, chai_1.expect)(itemsObj.required).to.have.members(['a']);
421
+ const originalItems = (original.properties.data.items);
422
+ (0, chai_1.expect)(originalItems).to.not.have.property('additionalProperties');
423
+ (0, chai_1.expect)(originalItems).to.not.have.property('required');
424
+ });
425
+ it('should strictify nested parameters schema and not mutate the original', () => {
426
+ const replacementProperties = {
427
+ oldContent: { type: 'string', description: 'The exact content to be replaced. Must match exactly, including whitespace, comments, etc.' },
428
+ newContent: { type: 'string', description: 'The new content to insert in place of matched old content.' },
429
+ multiple: { type: 'boolean', description: 'Set to true if multiple occurrences of the oldContent are expected to be replaced.' }
430
+ };
431
+ const parameters = {
432
+ type: 'object',
433
+ properties: {
434
+ path: { type: 'string', description: 'The path of the file where content will be replaced.' },
435
+ replacements: {
436
+ type: 'array',
437
+ items: {
438
+ type: 'object',
439
+ properties: replacementProperties,
440
+ required: ['oldContent', 'newContent']
441
+ },
442
+ description: 'An array of replacement objects, each containing oldContent and newContent strings.'
443
+ },
444
+ reset: {
445
+ type: 'boolean',
446
+ description: 'Set to true to clear any existing pending changes for this file and start fresh. Default is false, which merges with existing changes.'
447
+ }
448
+ },
449
+ required: ['path', 'replacements']
450
+ };
451
+ const originalClone = JSON.parse(JSON.stringify(parameters));
452
+ const strictifiedDef = (0, openai_response_api_utils_1.recursiveStrictJSONSchema)(parameters);
453
+ const strictified = strictifiedDef;
454
+ (0, chai_1.expect)(strictified).to.not.equal(parameters);
455
+ (0, chai_1.expect)(parameters).to.deep.equal(originalClone);
456
+ (0, chai_1.expect)(strictified.additionalProperties).to.equal(false);
457
+ (0, chai_1.expect)(strictified.required).to.have.members(['path', 'replacements', 'reset']);
458
+ const items = strictified.properties.replacements.items;
459
+ (0, chai_1.expect)(items.additionalProperties).to.equal(false);
460
+ (0, chai_1.expect)(items.required).to.have.members(['oldContent', 'newContent', 'multiple']);
461
+ const origItems = (parameters.properties.replacements.items);
462
+ (0, chai_1.expect)(origItems.required).to.deep.equal(['oldContent', 'newContent']);
463
+ (0, chai_1.expect)(origItems).to.not.have.property('additionalProperties');
464
+ });
465
+ });
381
466
  });
382
467
  //# sourceMappingURL=openai-model-utils.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-model-utils.spec.js","sourceRoot":"","sources":["../../src/node/openai-model-utils.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-model-utils.spec.js","sourceRoot":"","sources":["../../src/node/openai-model-utils.spec.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
- import { LanguageModelMessage, LanguageModelResponse, LanguageModelStreamResponsePart, TokenUsageService, ToolRequest, UserRequest } from '@theia/ai-core';
1
+ import { LanguageModelMessage, LanguageModelResponse, LanguageModelStreamResponsePart, TokenUsageService, ToolRequest, ToolRequestParameters, UserRequest } from '@theia/ai-core';
2
2
  import { CancellationToken } from '@theia/core';
3
3
  import { OpenAI } from 'openai';
4
4
  import type { RunnerOptions } from 'openai/lib/AbstractChatCompletionRunner';
5
5
  import type { FunctionTool, ResponseInputItem, ResponseStreamEvent } from 'openai/resources/responses/responses';
6
6
  import { DeveloperMessageSettings, OpenAiModelUtils } from './openai-language-model';
7
+ import { JSONSchemaDefinition } from 'openai/lib/jsonschema';
7
8
  /**
8
9
  * Utility class for handling OpenAI Response API requests and tool calling cycles.
9
10
  *
@@ -20,6 +21,7 @@ export declare class OpenAiResponseApiUtils {
20
21
  * Converts ToolRequest objects to the format expected by the Response API.
21
22
  */
22
23
  convertToolsForResponseApi(tools?: ToolRequest[]): FunctionTool[] | undefined;
24
+ recursiveStrictToolCallParameters(schema: ToolRequestParameters): FunctionTool['parameters'];
23
25
  protected createSimpleResponseApiStreamIterator(stream: AsyncIterable<ResponseStreamEvent>, requestId: string, modelId: string, tokenUsageService?: TokenUsageService, cancellationToken?: CancellationToken): AsyncIterable<LanguageModelStreamResponsePart>;
24
26
  /**
25
27
  * Processes the provided list of messages by applying system message adjustments and converting
@@ -39,4 +41,5 @@ export declare class OpenAiResponseApiUtils {
39
41
  protected processSystemMessages(messages: LanguageModelMessage[], developerMessageSettings: DeveloperMessageSettings): LanguageModelMessage[];
40
42
  }
41
43
  export declare function processSystemMessages(messages: LanguageModelMessage[], developerMessageSettings: DeveloperMessageSettings): LanguageModelMessage[];
44
+ export declare function recursiveStrictJSONSchema(schema: JSONSchemaDefinition): JSONSchemaDefinition;
42
45
  //# sourceMappingURL=openai-response-api-utils.d.ts.map
@@ -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,EAEH,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAE/B,iBAAiB,EAEjB,WAAW,EACX,WAAW,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAe,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,EACR,YAAY,EAIZ,iBAAiB,EACjB,mBAAmB,EACtB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAYrF;;;;;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,EACrC,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,OAAO,CAAC,qBAAqB,CAAC;IA6DjC;;OAEG;IACH,0BAA0B,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,YAAY,EAAE,GAAG,SAAS;IAuB7E,SAAS,CAAC,qCAAqC,CAC3C,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,aAAa,CAAC,+BAA+B,CAAC;IAqCjD;;;;;;;;;;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;IA4ExD,SAAS,CAAC,qBAAqB,CAC3B,QAAQ,EAAE,oBAAoB,EAAE,EAChC,wBAAwB,EAAE,wBAAwB,GACnD,oBAAoB,EAAE;CAG5B;AAkdD,wBAAgB,qBAAqB,CACjC,QAAQ,EAAE,oBAAoB,EAAE,EAChC,wBAAwB,EAAE,wBAAwB,GACnD,oBAAoB,EAAE,CA0BxB"}
1
+ {"version":3,"file":"openai-response-api-utils.d.ts","sourceRoot":"","sources":["../../src/node/openai-response-api-utils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEH,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAE/B,iBAAiB,EAEjB,WAAW,EACX,qBAAqB,EACrB,WAAW,EACd,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAe,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,KAAK,EACR,YAAY,EAIZ,iBAAiB,EACjB,mBAAmB,EACtB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACrF,OAAO,EAAc,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAYzE;;;;;GAKG;AACH,qBACa,sBAAsB;IAE/B;;;OAGG;IACG,aAAa,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,gBAAgB,EAC5B,wBAAwB,EAAE,wBAAwB,EAClD,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,OAAO,CAAC,qBAAqB,CAAC;IA6DjC;;OAEG;IACH,0BAA0B,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,YAAY,EAAE,GAAG,SAAS;IAmB7E,iCAAiC,CAAC,MAAM,EAAE,qBAAqB,GAAG,YAAY,CAAC,YAAY,CAAC;IAI5F,SAAS,CAAC,qCAAqC,CAC3C,MAAM,EAAE,aAAa,CAAC,mBAAmB,CAAC,EAC1C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,iBAAiB,CAAC,EAAE,iBAAiB,GACtC,aAAa,CAAC,+BAA+B,CAAC;IAqCjD;;;;;;;;;;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;IA4ExD,SAAS,CAAC,qBAAqB,CAC3B,QAAQ,EAAE,oBAAoB,EAAE,EAChC,wBAAwB,EAAE,wBAAwB,GACnD,oBAAoB,EAAE;CAG5B;AAidD,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.processSystemMessages = exports.OpenAiResponseApiUtils = void 0;
18
+ exports.recursiveStrictJSONSchema = exports.processSystemMessages = exports.OpenAiResponseApiUtils = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const ai_core_1 = require("@theia/ai-core");
21
21
  const core_1 = require("@theia/core");
@@ -85,16 +85,15 @@ let OpenAiResponseApiUtils = class OpenAiResponseApiUtils {
85
85
  // The Response API is very strict re: JSON schema: all properties must be listed as required,
86
86
  // and additional properties must be disallowed.
87
87
  // https://platform.openai.com/docs/guides/function-calling#strict-mode
88
- parameters: {
89
- ...tool.parameters,
90
- additionalProperties: false,
91
- required: tool.parameters.properties ? Object.keys(tool.parameters.properties) : []
92
- },
88
+ parameters: this.recursiveStrictToolCallParameters(tool.parameters),
93
89
  strict: true
94
90
  }));
95
91
  console.debug(`Converted ${tools.length} tools for Response API:`, converted.map(t => t.name));
96
92
  return converted;
97
93
  }
94
+ recursiveStrictToolCallParameters(schema) {
95
+ return recursiveStrictJSONSchema(schema);
96
+ }
98
97
  createSimpleResponseApiStreamIterator(stream, requestId, modelId, tokenUsageService, cancellationToken) {
99
98
  return {
100
99
  async *[Symbol.asyncIterator]() {
@@ -674,4 +673,52 @@ function processSystemMessages(messages, developerMessageSettings) {
674
673
  return messages;
675
674
  }
676
675
  exports.processSystemMessages = processSystemMessages;
676
+ function recursiveStrictJSONSchema(schema) {
677
+ if (typeof schema === 'boolean') {
678
+ return schema;
679
+ }
680
+ let result = undefined;
681
+ if (schema.properties) {
682
+ result !== null && result !== void 0 ? result : (result = { ...schema });
683
+ result.additionalProperties = false;
684
+ result.required = Object.keys(schema.properties);
685
+ result.properties = Object.fromEntries(Object.entries(schema.properties).map(([key, props]) => [key, recursiveStrictJSONSchema(props)]));
686
+ }
687
+ if (schema.items) {
688
+ result !== null && result !== void 0 ? result : (result = { ...schema });
689
+ result.items = Array.isArray(schema.items)
690
+ ? schema.items.map(recursiveStrictJSONSchema)
691
+ : recursiveStrictJSONSchema(schema.items);
692
+ }
693
+ if (schema.oneOf) {
694
+ result !== null && result !== void 0 ? result : (result = { ...schema });
695
+ result.oneOf = schema.oneOf.map(recursiveStrictJSONSchema);
696
+ }
697
+ if (schema.anyOf) {
698
+ result !== null && result !== void 0 ? result : (result = { ...schema });
699
+ result.anyOf = schema.anyOf.map(recursiveStrictJSONSchema);
700
+ }
701
+ if (schema.allOf) {
702
+ result !== null && result !== void 0 ? result : (result = { ...schema });
703
+ result.allOf = schema.allOf.map(recursiveStrictJSONSchema);
704
+ }
705
+ if (schema.if) {
706
+ result !== null && result !== void 0 ? result : (result = { ...schema });
707
+ result.if = recursiveStrictJSONSchema(schema.if);
708
+ }
709
+ if (schema.then) {
710
+ result !== null && result !== void 0 ? result : (result = { ...schema });
711
+ result.then = recursiveStrictJSONSchema(schema.then);
712
+ }
713
+ if (schema.else) {
714
+ result !== null && result !== void 0 ? result : (result = { ...schema });
715
+ result.else = recursiveStrictJSONSchema(schema.else);
716
+ }
717
+ if (schema.not) {
718
+ result !== null && result !== void 0 ? result : (result = { ...schema });
719
+ result.not = recursiveStrictJSONSchema(schema.not);
720
+ }
721
+ return result !== null && result !== void 0 ? result : schema;
722
+ }
723
+ exports.recursiveStrictJSONSchema = recursiveStrictJSONSchema;
677
724
  //# sourceMappingURL=openai-response-api-utils.js.map
@@ -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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"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@theia/ai-openai",
3
- "version": "1.66.1",
3
+ "version": "1.66.2",
4
4
  "description": "Theia - OpenAI Integration",
5
5
  "dependencies": {
6
- "@theia/ai-core": "1.66.1",
7
- "@theia/core": "1.66.1",
8
- "@theia/filesystem": "1.66.1",
9
- "@theia/workspace": "1.66.1",
6
+ "@theia/ai-core": "1.66.2",
7
+ "@theia/core": "1.66.2",
8
+ "@theia/filesystem": "1.66.2",
9
+ "@theia/workspace": "1.66.2",
10
10
  "openai": "^6.3.0",
11
11
  "tslib": "^2.6.2",
12
12
  "undici": "^7.16.0"
@@ -45,10 +45,10 @@
45
45
  "watch": "theiaext watch"
46
46
  },
47
47
  "devDependencies": {
48
- "@theia/ext-scripts": "1.66.1"
48
+ "@theia/ext-scripts": "1.66.2"
49
49
  },
50
50
  "nyc": {
51
51
  "extends": "../../configs/nyc.json"
52
52
  },
53
- "gitHead": "c42ba7b4bf5f607a2993db02e8dee2a17c7d4008"
53
+ "gitHead": "18508653de50e2a0c350e7d131f9447d74475c41"
54
54
  }
@@ -58,9 +58,12 @@ on the machine running Theia. Use the environment variable `OPENAI_API_KEY` to s
58
58
  default: false,
59
59
  title: AI_CORE_PREFERENCES_TITLE,
60
60
  markdownDescription: nls.localize('theia/ai/openai/useResponseApi/mdDescription',
61
- 'Use the newer OpenAI Response API instead of the Chat Completion API for official OpenAI models. \
61
+ 'Use the newer OpenAI Response API instead of the Chat Completion API for official OpenAI models.\
62
62
  \
63
- This setting only applies to official OpenAI models - custom providers must configure this individually.')
63
+ This setting only applies to official OpenAI models - custom providers must configure this individually.\
64
+ \
65
+ Note that for the response API, tool call definitions must satisfy Open AI\'s [strict schema definition](https://platform.openai.com/docs/guides/function-calling#strict-mode).\
66
+ Best effort is made to convert non-conformant schemas, but errors are still possible.')
64
67
  },
65
68
  [CUSTOM_ENDPOINTS_PREF]: {
66
69
  type: 'array',
@@ -16,7 +16,8 @@
16
16
  import { expect } from 'chai';
17
17
  import { OpenAiModelUtils } from './openai-language-model';
18
18
  import { LanguageModelMessage } from '@theia/ai-core';
19
- import { OpenAiResponseApiUtils } from './openai-response-api-utils';
19
+ import { OpenAiResponseApiUtils, recursiveStrictJSONSchema } from './openai-response-api-utils';
20
+ import type { JSONSchema, JSONSchemaDefinition } from 'openai/lib/jsonschema';
20
21
 
21
22
  const utils = new OpenAiModelUtils();
22
23
  const responseUtils = new OpenAiResponseApiUtils();
@@ -396,4 +397,106 @@ describe('OpenAiModelUtils - processMessagesForResponseApi', () => {
396
397
  .to.throw('unhandled case');
397
398
  });
398
399
  });
400
+
401
+ describe('recursiveStrictJSONSchema', () => {
402
+ it('should return the same object and not modify it when schema has no properties to strictify', () => {
403
+ const schema: JSONSchema = { type: 'string', description: 'Simple string' };
404
+ const originalJson = JSON.stringify(schema);
405
+
406
+ const result = recursiveStrictJSONSchema(schema);
407
+
408
+ expect(result).to.equal(schema);
409
+ expect(JSON.stringify(schema)).to.equal(originalJson);
410
+ const resultObj = result as JSONSchema;
411
+ expect(resultObj).to.not.have.property('additionalProperties');
412
+ expect(resultObj).to.not.have.property('required');
413
+ });
414
+
415
+ it('should not mutate original but return a new strictified schema when branching applies (properties/items)', () => {
416
+ const original: JSONSchema = {
417
+ type: 'object',
418
+ properties: {
419
+ path: { type: 'string' },
420
+ data: {
421
+ type: 'array',
422
+ items: {
423
+ type: 'object',
424
+ properties: {
425
+ a: { type: 'string' }
426
+ }
427
+ }
428
+ }
429
+ }
430
+ };
431
+ const originalClone = JSON.parse(JSON.stringify(original));
432
+
433
+ const resultDef = recursiveStrictJSONSchema(original);
434
+ const result = resultDef as JSONSchema;
435
+
436
+ expect(result).to.not.equal(original);
437
+ expect(original).to.deep.equal(originalClone);
438
+
439
+ expect(result.additionalProperties).to.equal(false);
440
+ expect(result.required).to.have.members(['path', 'data']);
441
+
442
+ const itemsDef = (result.properties?.data as JSONSchema).items as JSONSchemaDefinition;
443
+ expect(itemsDef).to.be.ok;
444
+ const itemsObj = itemsDef as JSONSchema;
445
+ expect(itemsObj.additionalProperties).to.equal(false);
446
+ expect(itemsObj.required).to.have.members(['a']);
447
+
448
+ const originalItems = ((original.properties!.data as JSONSchema).items) as JSONSchema;
449
+ expect(originalItems).to.not.have.property('additionalProperties');
450
+ expect(originalItems).to.not.have.property('required');
451
+ });
452
+
453
+ it('should strictify nested parameters schema and not mutate the original', () => {
454
+ const replacementProperties: Record<string, JSONSchema> = {
455
+ oldContent: { type: 'string', description: 'The exact content to be replaced. Must match exactly, including whitespace, comments, etc.' },
456
+ newContent: { type: 'string', description: 'The new content to insert in place of matched old content.' },
457
+ multiple: { type: 'boolean', description: 'Set to true if multiple occurrences of the oldContent are expected to be replaced.' }
458
+ };
459
+
460
+ const parameters: JSONSchema = {
461
+ type: 'object',
462
+ properties: {
463
+ path: { type: 'string', description: 'The path of the file where content will be replaced.' },
464
+ replacements: {
465
+ type: 'array',
466
+ items: {
467
+ type: 'object',
468
+ properties: replacementProperties,
469
+ required: ['oldContent', 'newContent']
470
+ },
471
+ description: 'An array of replacement objects, each containing oldContent and newContent strings.'
472
+ },
473
+ reset: {
474
+ type: 'boolean',
475
+ description: 'Set to true to clear any existing pending changes for this file and start fresh. Default is false, which merges with existing changes.'
476
+ }
477
+ },
478
+ required: ['path', 'replacements']
479
+ };
480
+
481
+ const originalClone = JSON.parse(JSON.stringify(parameters));
482
+
483
+ const strictifiedDef = recursiveStrictJSONSchema(parameters);
484
+ const strictified = strictifiedDef as JSONSchema;
485
+
486
+ expect(strictified).to.not.equal(parameters);
487
+ expect(parameters).to.deep.equal(originalClone);
488
+
489
+ expect(strictified.additionalProperties).to.equal(false);
490
+ expect(strictified.required).to.have.members(['path', 'replacements', 'reset']);
491
+
492
+ const items = (strictified.properties!.replacements as JSONSchema).items as JSONSchema;
493
+ expect(items.additionalProperties).to.equal(false);
494
+ expect(items.required).to.have.members(['oldContent', 'newContent', 'multiple']);
495
+
496
+ const origItems = ((parameters.properties!.replacements as JSONSchema).items) as JSONSchema;
497
+ expect(origItems.required).to.deep.equal(['oldContent', 'newContent']);
498
+ expect(origItems).to.not.have.property('additionalProperties');
499
+ });
500
+ });
501
+
399
502
  });
@@ -23,6 +23,7 @@ import {
23
23
  TokenUsageService,
24
24
  ToolCallErrorResult,
25
25
  ToolRequest,
26
+ ToolRequestParameters,
26
27
  UserRequest
27
28
  } from '@theia/ai-core';
28
29
  import { CancellationToken, unreachable } from '@theia/core';
@@ -40,6 +41,7 @@ import type {
40
41
  } from 'openai/resources/responses/responses';
41
42
  import type { ResponsesModel } from 'openai/resources/shared';
42
43
  import { DeveloperMessageSettings, OpenAiModelUtils } from './openai-language-model';
44
+ import { JSONSchema, JSONSchemaDefinition } from 'openai/lib/jsonschema';
43
45
 
44
46
  interface ToolCall {
45
47
  id: string;
@@ -152,17 +154,17 @@ export class OpenAiResponseApiUtils {
152
154
  // The Response API is very strict re: JSON schema: all properties must be listed as required,
153
155
  // and additional properties must be disallowed.
154
156
  // https://platform.openai.com/docs/guides/function-calling#strict-mode
155
- parameters: {
156
- ...tool.parameters,
157
- additionalProperties: false,
158
- required: tool.parameters.properties ? Object.keys(tool.parameters.properties) : []
159
- },
157
+ parameters: this.recursiveStrictToolCallParameters(tool.parameters),
160
158
  strict: true
161
159
  }));
162
160
  console.debug(`Converted ${tools.length} tools for Response API:`, converted.map(t => t.name));
163
161
  return converted;
164
162
  }
165
163
 
164
+ recursiveStrictToolCallParameters(schema: ToolRequestParameters): FunctionTool['parameters'] {
165
+ return recursiveStrictJSONSchema(schema) as FunctionTool['parameters'];
166
+ }
167
+
166
168
  protected createSimpleResponseApiStreamIterator(
167
169
  stream: AsyncIterable<ResponseStreamEvent>,
168
170
  requestId: string,
@@ -427,7 +429,6 @@ class ResponseApiToolCallIterator implements AsyncIterableIterator<LanguageModel
427
429
  if (this.cancellationToken?.isCancellationRequested) {
428
430
  break;
429
431
  }
430
-
431
432
  await this.handleStreamEvent(event);
432
433
  }
433
434
  } else {
@@ -799,3 +800,50 @@ export function processSystemMessages(
799
800
  }
800
801
  return messages;
801
802
  }
803
+
804
+ export function recursiveStrictJSONSchema(schema: JSONSchemaDefinition): JSONSchemaDefinition {
805
+ if (typeof schema === 'boolean') { return schema; }
806
+ let result: JSONSchema | undefined = undefined;
807
+ if (schema.properties) {
808
+ result ??= { ...schema };
809
+ result.additionalProperties = false;
810
+ result.required = Object.keys(schema.properties);
811
+ result.properties = Object.fromEntries(Object.entries(schema.properties).map(([key, props]) => [key, recursiveStrictJSONSchema(props)]));
812
+ }
813
+ if (schema.items) {
814
+ result ??= { ...schema };
815
+ result.items = Array.isArray(schema.items)
816
+ ? schema.items.map(recursiveStrictJSONSchema)
817
+ : recursiveStrictJSONSchema(schema.items);
818
+ }
819
+ if (schema.oneOf) {
820
+ result ??= { ...schema };
821
+ result.oneOf = schema.oneOf.map(recursiveStrictJSONSchema);
822
+ }
823
+ if (schema.anyOf) {
824
+ result ??= { ...schema };
825
+ result.anyOf = schema.anyOf.map(recursiveStrictJSONSchema);
826
+ }
827
+ if (schema.allOf) {
828
+ result ??= { ...schema };
829
+ result.allOf = schema.allOf.map(recursiveStrictJSONSchema);
830
+ }
831
+ if (schema.if) {
832
+ result ??= { ...schema };
833
+ result.if = recursiveStrictJSONSchema(schema.if);
834
+ }
835
+ if (schema.then) {
836
+ result ??= { ...schema };
837
+ result.then = recursiveStrictJSONSchema(schema.then);
838
+ }
839
+ if (schema.else) {
840
+ result ??= { ...schema };
841
+ result.else = recursiveStrictJSONSchema(schema.else);
842
+ }
843
+ if (schema.not) {
844
+ result ??= { ...schema };
845
+ result.not = recursiveStrictJSONSchema(schema.not);
846
+ }
847
+
848
+ return result ?? schema;
849
+ }