@theia/ai-openai 1.55.0-next.37 → 1.55.0

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/browser/openai-preferences.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAC;AAG/F,eAAO,MAAM,YAAY,4CAA4C,CAAC;AACtE,eAAO,MAAM,WAAW,oDAAoD,CAAC;AAC7E,eAAO,MAAM,qBAAqB,gDAAgD,CAAC;AAEnF,eAAO,MAAM,uBAAuB,EAAE,gBAoDrC,CAAC"}
1
+ {"version":3,"file":"openai-preferences.d.ts","sourceRoot":"","sources":["../../src/browser/openai-preferences.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6DAA6D,CAAC;AAG/F,eAAO,MAAM,YAAY,4CAA4C,CAAC;AACtE,eAAO,MAAM,WAAW,oDAAoD,CAAC;AAC7E,eAAO,MAAM,qBAAqB,gDAAgD,CAAC;AAEnF,eAAO,MAAM,uBAAuB,EAAE,gBAsDrC,CAAC"}
@@ -33,7 +33,7 @@ exports.OpenAiPreferencesSchema = {
33
33
  type: 'array',
34
34
  description: 'Official OpenAI models to use',
35
35
  title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
36
- default: ['gpt-4o', 'gpt-4o-2024-08-06', 'gpt-4o-2024-05-13', 'gpt-4o-mini', 'gpt-4-turbo', 'gpt-4', 'gpt-3.5-turbo'],
36
+ default: ['gpt-4o', 'gpt-4o-2024-08-06', 'gpt-4o-2024-05-13', 'gpt-4o-mini', 'gpt-4-turbo', 'gpt-4', 'gpt-3.5-turbo', 'o1-preview'],
37
37
  items: {
38
38
  type: 'string'
39
39
  }
@@ -47,7 +47,9 @@ exports.OpenAiPreferencesSchema = {
47
47
  \n\
48
48
  - specify a unique `id` to identify the custom model in the UI. If none is given `model` will be used as `id`.\
49
49
  \n\
50
- - provide an `apiKey` to access the API served at the given url. Use `true` to indicate the use of the global OpenAI API key.',
50
+ - provide an `apiKey` to access the API served at the given url. Use `true` to indicate the use of the global OpenAI API key.\
51
+ \n\
52
+ Refer to [our documentation](https://theia-ide.org/docs/user_ai/#openai-compatible-models-eg-via-vllm) for more information.',
51
53
  default: [],
52
54
  items: {
53
55
  type: 'object',
@@ -1 +1 @@
1
- {"version":3,"file":"openai-preferences.js","sourceRoot":"","sources":["../../src/browser/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;;;AAGhF,wFAA2F;AAE9E,QAAA,YAAY,GAAG,yCAAyC,CAAC;AACzD,QAAA,WAAW,GAAG,iDAAiD,CAAC;AAChE,QAAA,qBAAqB,GAAG,6CAA6C,CAAC;AAEtE,QAAA,uBAAuB,GAAqB;IACrD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,CAAC,oBAAY,CAAC,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE;iHACgF;YACrG,KAAK,EAAE,+CAAyB;SACnC;QACD,CAAC,mBAAW,CAAC,EAAE;YACX,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,+BAA+B;YAC5C,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,CAAC;YACrH,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,CAAC,6BAAqB,CAAC,EAAE;YACrB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,+CAAyB;YAChC,mBAAmB,EAAE;;;;;;0IAMyG;YAC9H,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAU;qBACpB;oBACD,GAAG,EAAE;wBACD,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,+DAA+D;qBACzE;oBACD,EAAE,EAAE;wBACA,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,0EAA0E;qBACpF;oBACD,MAAM,EAAE;wBACJ,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;wBAC3B,KAAK,EAAE,qGAAqG;qBAC/G;iBACJ;aACJ;SACJ;KACJ;CACJ,CAAC"}
1
+ {"version":3,"file":"openai-preferences.js","sourceRoot":"","sources":["../../src/browser/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;;;AAGhF,wFAA2F;AAE9E,QAAA,YAAY,GAAG,yCAAyC,CAAC;AACzD,QAAA,WAAW,GAAG,iDAAiD,CAAC;AAChE,QAAA,qBAAqB,GAAG,6CAA6C,CAAC;AAEtE,QAAA,uBAAuB,GAAqB;IACrD,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACR,CAAC,oBAAY,CAAC,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,mBAAmB,EAAE;iHACgF;YACrG,KAAK,EAAE,+CAAyB;SACnC;QACD,CAAC,mBAAW,CAAC,EAAE;YACX,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,+BAA+B;YAC5C,KAAK,EAAE,+CAAyB;YAChC,OAAO,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,CAAC;YACnI,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;aACjB;SACJ;QACD,CAAC,6BAAqB,CAAC,EAAE;YACrB,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,+CAAyB;YAChC,mBAAmB,EAAE;;;;;;;;yIAQwG;YAC7H,OAAO,EAAE,EAAE;YACX,KAAK,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,UAAU,EAAE;oBACR,KAAK,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,UAAU;qBACpB;oBACD,GAAG,EAAE;wBACD,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,+DAA+D;qBACzE;oBACD,EAAE,EAAE;wBACA,IAAI,EAAE,QAAQ;wBACd,KAAK,EAAE,0EAA0E;qBACpF;oBACD,MAAM,EAAE;wBACJ,IAAI,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC;wBAC3B,KAAK,EAAE,qGAAqG;qBAC/G;iBACJ;aACJ;SACJ;KACJ;CACJ,CAAC"}
@@ -1,4 +1,4 @@
1
- import { LanguageModel, LanguageModelParsedResponse, LanguageModelRequest, LanguageModelResponse } from '@theia/ai-core';
1
+ import { LanguageModel, LanguageModelParsedResponse, LanguageModelRequest, LanguageModelResponse, LanguageModelTextResponse } from '@theia/ai-core';
2
2
  import { CancellationToken } from '@theia/core';
3
3
  import OpenAI from 'openai';
4
4
  import { RunnableToolFunctionWithoutParse } from 'openai/lib/RunnableFunction';
@@ -15,6 +15,8 @@ export declare class OpenAiModel implements LanguageModel {
15
15
  */
16
16
  constructor(id: string, model: string, apiKey: () => string | undefined, url: string | undefined);
17
17
  request(request: LanguageModelRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse>;
18
+ protected handleNonStreamingRequest(openai: OpenAI, request: LanguageModelRequest): Promise<LanguageModelTextResponse>;
19
+ protected isNonStreamingModel(model: string): boolean;
18
20
  protected supportsStructuredOutput(): boolean;
19
21
  protected handleStructuredOutputRequest(openai: OpenAI, request: LanguageModelRequest): Promise<LanguageModelParsedResponse>;
20
22
  private getCompletionContent;
@@ -1 +1 @@
1
- {"version":3,"file":"openai-language-model.d.ts","sourceRoot":"","sources":["../../src/node/openai-language-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,aAAa,EACb,2BAA2B,EAC3B,oBAAoB,EAEpB,qBAAqB,EAExB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAG/E,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAoBrE,qBAAa,WAAY,YAAW,aAAa;aAOjB,EAAE,EAAE,MAAM;IAAS,KAAK,EAAE,MAAM;IAAS,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS;IAAS,GAAG,EAAE,MAAM,GAAG,SAAS;IALrI;;;;OAIG;gBACyB,EAAE,EAAE,MAAM,EAAS,KAAK,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,EAAS,GAAG,EAAE,MAAM,GAAG,SAAS;IAE/H,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA4EnH,SAAS,CAAC,wBAAwB,IAAI,OAAO;cAS7B,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAkBlI,OAAO,CAAC,oBAAoB;IAO5B,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,gCAAgC,EAAE,GAAG,SAAS;IAYpG,SAAS,CAAC,gBAAgB,IAAI,MAAM;CAQvC"}
1
+ {"version":3,"file":"openai-language-model.d.ts","sourceRoot":"","sources":["../../src/node/openai-language-model.ts"],"names":[],"mappings":"AAgBA,OAAO,EACH,aAAa,EACb,2BAA2B,EAC3B,oBAAoB,EAEpB,qBAAqB,EAErB,yBAAyB,EAC5B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAG/E,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAoBrE,qBAAa,WAAY,YAAW,aAAa;aAOjB,EAAE,EAAE,MAAM;IAAS,KAAK,EAAE,MAAM;IAAS,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS;IAAS,GAAG,EAAE,MAAM,GAAG,SAAS;IALrI;;;;OAIG;gBACyB,EAAE,EAAE,MAAM,EAAS,KAAK,EAAE,MAAM,EAAS,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,EAAS,GAAG,EAAE,MAAM,GAAG,SAAS;IAE/H,OAAO,CAAC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;cAgFnG,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAc5H,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIrD,SAAS,CAAC,wBAAwB,IAAI,OAAO;cAS7B,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAkBlI,OAAO,CAAC,oBAAoB;IAO5B,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,gCAAgC,EAAE,GAAG,SAAS;IAYpG,SAAS,CAAC,gBAAgB,IAAI,MAAM;CAQvC"}
@@ -49,6 +49,9 @@ class OpenAiModel {
49
49
  async request(request, cancellationToken) {
50
50
  var _a;
51
51
  const openai = this.initializeOpenAi();
52
+ if (this.isNonStreamingModel(this.model)) {
53
+ return this.handleNonStreamingRequest(openai, request);
54
+ }
52
55
  if (((_a = request.response_format) === null || _a === void 0 ? void 0 : _a.type) === 'json_schema' && this.supportsStructuredOutput()) {
53
56
  return this.handleStructuredOutputRequest(openai, request);
54
57
  }
@@ -120,6 +123,21 @@ class OpenAiModel {
120
123
  };
121
124
  return { stream: asyncIterator };
122
125
  }
126
+ async handleNonStreamingRequest(openai, request) {
127
+ var _a;
128
+ const response = await openai.chat.completions.create({
129
+ model: this.model,
130
+ messages: request.messages.map(toOpenAIMessage),
131
+ ...request.settings
132
+ });
133
+ const message = response.choices[0].message;
134
+ return {
135
+ text: (_a = message.content) !== null && _a !== void 0 ? _a : ''
136
+ };
137
+ }
138
+ isNonStreamingModel(model) {
139
+ return ['o1-preview'].includes(model);
140
+ }
123
141
  supportsStructuredOutput() {
124
142
  // see https://platform.openai.com/docs/models/gpt-4o
125
143
  return [
@@ -1 +1 @@
1
- {"version":3,"file":"openai-language-model.js","sourceRoot":"","sources":["../../src/node/openai-language-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-language-model.js","sourceRoot":"","sources":["../../src/node/openai-language-model.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.55.0-next.37+4e7843ca5",
3
+ "version": "1.55.0",
4
4
  "description": "Theia - OpenAI Integration",
5
5
  "dependencies": {
6
- "@theia/ai-core": "1.55.0-next.37+4e7843ca5",
7
- "@theia/core": "1.55.0-next.37+4e7843ca5",
8
- "@theia/filesystem": "1.55.0-next.37+4e7843ca5",
9
- "@theia/workspace": "1.55.0-next.37+4e7843ca5",
6
+ "@theia/ai-core": "1.55.0",
7
+ "@theia/core": "1.55.0",
8
+ "@theia/filesystem": "1.55.0",
9
+ "@theia/workspace": "1.55.0",
10
10
  "minimatch": "^5.1.0",
11
11
  "openai": "^4.55.7",
12
12
  "tslib": "^2.6.2"
@@ -45,10 +45,10 @@
45
45
  "watch": "theiaext watch"
46
46
  },
47
47
  "devDependencies": {
48
- "@theia/ext-scripts": "1.54.0"
48
+ "@theia/ext-scripts": "1.55.0"
49
49
  },
50
50
  "nyc": {
51
51
  "extends": "../../configs/nyc.json"
52
52
  },
53
- "gitHead": "4e7843ca5ce4625e3b4823b9a87debd805906fba"
53
+ "gitHead": "0e7a523b8e798679d2e098709c63bd7060e54c8a"
54
54
  }
@@ -34,7 +34,7 @@ export const OpenAiPreferencesSchema: PreferenceSchema = {
34
34
  type: 'array',
35
35
  description: 'Official OpenAI models to use',
36
36
  title: AI_CORE_PREFERENCES_TITLE,
37
- default: ['gpt-4o', 'gpt-4o-2024-08-06', 'gpt-4o-2024-05-13', 'gpt-4o-mini', 'gpt-4-turbo', 'gpt-4', 'gpt-3.5-turbo'],
37
+ default: ['gpt-4o', 'gpt-4o-2024-08-06', 'gpt-4o-2024-05-13', 'gpt-4o-mini', 'gpt-4-turbo', 'gpt-4', 'gpt-3.5-turbo', 'o1-preview'],
38
38
  items: {
39
39
  type: 'string'
40
40
  }
@@ -48,7 +48,9 @@ export const OpenAiPreferencesSchema: PreferenceSchema = {
48
48
  \n\
49
49
  - specify a unique `id` to identify the custom model in the UI. If none is given `model` will be used as `id`.\
50
50
  \n\
51
- - provide an `apiKey` to access the API served at the given url. Use `true` to indicate the use of the global OpenAI API key.',
51
+ - provide an `apiKey` to access the API served at the given url. Use `true` to indicate the use of the global OpenAI API key.\
52
+ \n\
53
+ Refer to [our documentation](https://theia-ide.org/docs/user_ai/#openai-compatible-models-eg-via-vllm) for more information.',
52
54
  default: [],
53
55
  items: {
54
56
  type: 'object',
@@ -20,7 +20,8 @@ import {
20
20
  LanguageModelRequest,
21
21
  LanguageModelRequestMessage,
22
22
  LanguageModelResponse,
23
- LanguageModelStreamResponsePart
23
+ LanguageModelStreamResponsePart,
24
+ LanguageModelTextResponse
24
25
  } from '@theia/ai-core';
25
26
  import { CancellationToken } from '@theia/core';
26
27
  import OpenAI from 'openai';
@@ -60,6 +61,10 @@ export class OpenAiModel implements LanguageModel {
60
61
  async request(request: LanguageModelRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse> {
61
62
  const openai = this.initializeOpenAi();
62
63
 
64
+ if (this.isNonStreamingModel(this.model)) {
65
+ return this.handleNonStreamingRequest(openai, request);
66
+ }
67
+
63
68
  if (request.response_format?.type === 'json_schema' && this.supportsStructuredOutput()) {
64
69
  return this.handleStructuredOutputRequest(openai, request);
65
70
  }
@@ -133,6 +138,24 @@ export class OpenAiModel implements LanguageModel {
133
138
  return { stream: asyncIterator };
134
139
  }
135
140
 
141
+ protected async handleNonStreamingRequest(openai: OpenAI, request: LanguageModelRequest): Promise<LanguageModelTextResponse> {
142
+ const response = await openai.chat.completions.create({
143
+ model: this.model,
144
+ messages: request.messages.map(toOpenAIMessage),
145
+ ...request.settings
146
+ });
147
+
148
+ const message = response.choices[0].message;
149
+
150
+ return {
151
+ text: message.content ?? ''
152
+ };
153
+ }
154
+
155
+ protected isNonStreamingModel(model: string): boolean {
156
+ return ['o1-preview'].includes(model);
157
+ }
158
+
136
159
  protected supportsStructuredOutput(): boolean {
137
160
  // see https://platform.openai.com/docs/models/gpt-4o
138
161
  return [