@theia/ai-openai 1.76.0-next.28 → 1.76.0-next.34

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 (27) hide show
  1. package/lib/browser/openai-frontend-application-contribution.d.ts +18 -10
  2. package/lib/browser/openai-frontend-application-contribution.d.ts.map +1 -1
  3. package/lib/browser/openai-frontend-application-contribution.js +65 -63
  4. package/lib/browser/openai-frontend-application-contribution.js.map +1 -1
  5. package/lib/common/openai-language-models-manager.d.ts +18 -1
  6. package/lib/common/openai-language-models-manager.d.ts.map +1 -1
  7. package/lib/common/openai-preferences.d.ts +2 -1
  8. package/lib/common/openai-preferences.d.ts.map +1 -1
  9. package/lib/common/openai-preferences.js +16 -13
  10. package/lib/common/openai-preferences.js.map +1 -1
  11. package/lib/node/openai-language-model.d.ts +21 -1
  12. package/lib/node/openai-language-model.d.ts.map +1 -1
  13. package/lib/node/openai-language-model.js +26 -13
  14. package/lib/node/openai-language-model.js.map +1 -1
  15. package/lib/node/openai-language-models-manager-impl.d.ts +38 -1
  16. package/lib/node/openai-language-models-manager-impl.d.ts.map +1 -1
  17. package/lib/node/openai-language-models-manager-impl.js +87 -3
  18. package/lib/node/openai-language-models-manager-impl.js.map +1 -1
  19. package/lib/node/openai-language-models-manager-impl.spec.js +171 -0
  20. package/lib/node/openai-language-models-manager-impl.spec.js.map +1 -1
  21. package/package.json +6 -6
  22. package/src/browser/openai-frontend-application-contribution.ts +76 -67
  23. package/src/common/openai-language-models-manager.ts +19 -2
  24. package/src/common/openai-preferences.ts +17 -12
  25. package/src/node/openai-language-model.ts +40 -14
  26. package/src/node/openai-language-models-manager-impl.spec.ts +178 -0
  27. package/src/node/openai-language-models-manager-impl.ts +104 -6
@@ -1,19 +1,27 @@
1
- import { FrontendApplicationContribution } from '@theia/core/lib/browser';
1
+ import { DiscoveringProviderContribution, ModelDiscoveryMessages } from '@theia/ai-core/lib/browser';
2
+ import { DiscoveredModel } from '@theia/ai-core/lib/common';
2
3
  import { OpenAiLanguageModelsManager, OpenAiModelDescription } from '../common';
3
4
  import { AICorePreferences } from '@theia/ai-core/lib/common/ai-core-preferences';
4
- import { PreferenceService } from '@theia/core';
5
- export declare class OpenAiFrontendApplicationContribution implements FrontendApplicationContribution {
6
- protected preferenceService: PreferenceService;
7
- protected manager: OpenAiLanguageModelsManager;
5
+ import { PreferenceChange } from '@theia/core';
6
+ export declare class OpenAiFrontendApplicationContribution extends DiscoveringProviderContribution<OpenAiModelDescription> {
7
+ protected readonly manager: OpenAiLanguageModelsManager;
8
8
  protected aiCorePreferences: AICorePreferences;
9
- protected prevModels: string[];
9
+ protected readonly providerId = "openAiOfficial";
10
+ protected readonly providerLabel = "OpenAI";
11
+ protected readonly modelOverridesPreference = "ai-features.openAiOfficial.modelOverrides";
12
+ protected readonly allowEnvironmentApiKeyPreference = "ai-features.openAiOfficial.allowEnvironmentApiKey";
13
+ /** The registered ids carry the `openai/` prefix, while the provider node is `openAiOfficial`. */
14
+ protected get modelIdPrefix(): string;
10
15
  protected prevCustomModels: Partial<OpenAiModelDescription>[];
11
- onStart(): void;
12
- protected handleModelChanges(newModels: string[]): void;
16
+ protected get discoveryMessages(): ModelDiscoveryMessages;
17
+ protected initializeProvider(): void;
18
+ protected handlePreferenceChange(event: PreferenceChange): void;
13
19
  protected handleCustomModelChanges(newCustomModels: Partial<OpenAiModelDescription>[]): void;
14
- protected updateAllModels(): void;
20
+ protected updateDiscoveredModels(): void;
21
+ /** Re-applies the model descriptions of the configured custom endpoints. */
22
+ protected updateCustomModels(): void;
15
23
  /** Per-model capabilities are resolved by the backend from the model id; see `openai-model-defaults.ts`. */
16
- protected createOpenAIModelDescription(modelId: string): OpenAiModelDescription;
24
+ protected createModelDescription(model: DiscoveredModel): OpenAiModelDescription;
17
25
  protected createCustomModelDescriptionsFromPreferences(preferences: Partial<OpenAiModelDescription>[]): OpenAiModelDescription[];
18
26
  }
19
27
  //# sourceMappingURL=openai-frontend-application-contribution.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/openai-frontend-application-contribution.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAK1E,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAsB,MAAM,WAAW,CAAC;AAIpG,OAAO,EACH,iBAAiB,EACpB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,qBACa,qCAAsC,YAAW,+BAA+B;IAGzF,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAG/C,SAAS,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAG/C,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAE/C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IACpC,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAM;IAEnE,OAAO,IAAI,IAAI;IA8Cf,SAAS,CAAC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAYvD,SAAS,CAAC,wBAAwB,CAAC,eAAe,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,GAAG,IAAI;IA2B5F,SAAS,CAAC,eAAe,IAAI,IAAI;IAQjC,4GAA4G;IAC5G,SAAS,CAAC,4BAA4B,CAAC,OAAO,EAAE,MAAM,GAAG,sBAAsB;IAsB/E,SAAS,CAAC,4CAA4C,CAClD,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,GAC/C,sBAAsB,EAAE;CAkC9B"}
1
+ {"version":3,"file":"openai-frontend-application-contribution.d.ts","sourceRoot":"","sources":["../../src/browser/openai-frontend-application-contribution.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,+BAA+B,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACrG,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,2BAA2B,EAAE,sBAAsB,EAAsB,MAAM,WAAW,CAAC;AAKpG,OAAO,EACH,iBAAiB,EAEpB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAO,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKpD,qBACa,qCAAsC,SAAQ,+BAA+B,CAAC,sBAAsB,CAAC;IAG9G,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,2BAA2B,CAAC;IAGxD,SAAS,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAE/C,SAAS,CAAC,QAAQ,CAAC,UAAU,oBAA+B;IAC5D,SAAS,CAAC,QAAQ,CAAC,aAAa,YAAY;IAC5C,SAAS,CAAC,QAAQ,CAAC,wBAAwB,+CAAwB;IACnE,SAAS,CAAC,QAAQ,CAAC,gCAAgC,uDAA0B;IAE7E,kGAAkG;IAClG,cAAuB,aAAa,IAAI,MAAM,CAE7C;IAED,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,CAAM;IAEnE,SAAS,KAAK,iBAAiB,IAAI,sBAAsB,CAYxD;cAEkB,kBAAkB,IAAI,IAAI;cAe1B,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAqBxE,SAAS,CAAC,wBAAwB,CAAC,eAAe,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,GAAG,IAAI;cA2BzE,sBAAsB,IAAI,IAAI;IAKjD,4EAA4E;IAC5E,SAAS,CAAC,kBAAkB,IAAI,IAAI;IAKpC,4GAA4G;IAC5G,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,eAAe,GAAG,sBAAsB;IAwBhF,SAAS,CAAC,4CAA4C,CAClD,WAAW,EAAE,OAAO,CAAC,sBAAsB,CAAC,EAAE,GAC/C,sBAAsB,EAAE;CAkC9B"}
@@ -19,69 +19,70 @@ exports.OpenAiFrontendApplicationContribution = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const inversify_1 = require("@theia/core/shared/inversify");
21
21
  const ai_core_1 = require("@theia/ai-core");
22
+ const browser_1 = require("@theia/ai-core/lib/browser");
22
23
  const common_1 = require("../common");
23
24
  const openai_preferences_1 = require("../common/openai-preferences");
24
25
  const ai_core_preferences_1 = require("@theia/ai-core/lib/common/ai-core-preferences");
25
26
  const core_1 = require("@theia/core");
26
- let OpenAiFrontendApplicationContribution = class OpenAiFrontendApplicationContribution {
27
+ /** Provider node id (matches the `ai-features.openAiOfficial.*` configuration segment). */
28
+ const OPENAI_OFFICIAL_PROVIDER_ID = 'openAiOfficial';
29
+ let OpenAiFrontendApplicationContribution = class OpenAiFrontendApplicationContribution extends browser_1.DiscoveringProviderContribution {
27
30
  constructor() {
28
- this.prevModels = [];
31
+ super(...arguments);
32
+ this.providerId = OPENAI_OFFICIAL_PROVIDER_ID;
33
+ this.providerLabel = 'OpenAI';
34
+ this.modelOverridesPreference = openai_preferences_1.MODEL_OVERRIDES_PREF;
35
+ this.allowEnvironmentApiKeyPreference = openai_preferences_1.ALLOW_ENV_API_KEY_PREF;
29
36
  this.prevCustomModels = [];
30
37
  }
31
- onStart() {
32
- this.preferenceService.ready.then(() => {
33
- const apiKey = this.preferenceService.get(openai_preferences_1.API_KEY_PREF, undefined);
34
- this.manager.setApiKey(apiKey);
35
- const proxyUri = this.preferenceService.get('http.proxy', undefined);
36
- this.manager.setProxyUrl(proxyUri);
37
- const models = this.preferenceService.get(openai_preferences_1.MODELS_PREF, []);
38
- this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createOpenAIModelDescription(modelId)));
39
- this.prevModels = [...models];
40
- const customModels = this.preferenceService.get(openai_preferences_1.CUSTOM_ENDPOINTS_PREF, []);
41
- this.manager.createOrUpdateLanguageModels(...this.createCustomModelDescriptionsFromPreferences(customModels));
42
- this.prevCustomModels = [...customModels];
43
- this.preferenceService.onPreferenceChanged(event => {
44
- if (event.preferenceName === openai_preferences_1.API_KEY_PREF) {
45
- this.manager.setApiKey(this.preferenceService.get(openai_preferences_1.API_KEY_PREF, undefined));
46
- this.updateAllModels();
47
- }
48
- else if (event.preferenceName === openai_preferences_1.MODELS_PREF) {
49
- this.handleModelChanges(this.preferenceService.get(openai_preferences_1.MODELS_PREF, []));
50
- }
51
- else if (event.preferenceName === openai_preferences_1.CUSTOM_ENDPOINTS_PREF) {
52
- this.handleCustomModelChanges(this.preferenceService.get(openai_preferences_1.CUSTOM_ENDPOINTS_PREF, []));
53
- }
54
- else if (event.preferenceName === openai_preferences_1.USE_RESPONSE_API_PREF) {
55
- this.updateAllModels();
56
- }
57
- else if (event.preferenceName === openai_preferences_1.SERVER_SIDE_COMPACTION_PREF) {
58
- this.updateAllModels();
59
- }
60
- else if (event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION ||
61
- event.preferenceName === openai_preferences_1.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF ||
62
- event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD) {
63
- this.updateAllModels();
64
- }
65
- else if (event.preferenceName === 'http.proxy') {
66
- this.manager.setProxyUrl(this.preferenceService.get('http.proxy', undefined));
67
- this.updateAllModels();
68
- }
69
- });
70
- this.aiCorePreferences.onPreferenceChanged(event => {
71
- if (event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) {
72
- this.updateAllModels();
73
- }
74
- });
38
+ /** The registered ids carry the `openai/` prefix, while the provider node is `openAiOfficial`. */
39
+ get modelIdPrefix() {
40
+ return common_1.OPENAI_PROVIDER_ID;
41
+ }
42
+ get discoveryMessages() {
43
+ return {
44
+ noCredentials: core_1.nls.localize('theia/ai/openai/discovery/noKey', 'No OpenAI API key set. Add a key to discover models.'),
45
+ consentRequired: core_1.nls.localize('theia/ai/openai/discovery/consentRequired', 'An OpenAI API key was found in the environment. Confirm its use to discover models.'),
46
+ consentPrompt: core_1.nls.localize('theia/ai/openai/discovery/consentPrompt', 'An OpenAI API key was found in the environment (OPENAI_API_KEY). Allow Theia to use it to discover and call OpenAI models?'),
47
+ useEnvironmentKey: core_1.nls.localize('theia/ai/openai/discovery/useEnvKey', 'Use key'),
48
+ overridden: core_1.nls.localize('theia/ai/openai/discovery/overridden', 'The model list is configured manually. Clear the model overrides to discover the models from the provider again.'),
49
+ cached: error => core_1.nls.localize('theia/ai/openai/discovery/cached', 'Showing cached models; last refresh failed: {0}', error)
50
+ };
51
+ }
52
+ initializeProvider() {
53
+ this.manager.setApiKey(this.preferenceService.get(openai_preferences_1.API_KEY_PREF, undefined));
54
+ this.manager.setProxyUrl(this.preferenceService.get('http.proxy', undefined));
55
+ const customModels = this.preferenceService.get(openai_preferences_1.CUSTOM_ENDPOINTS_PREF, []);
56
+ this.manager.createOrUpdateLanguageModels(...this.createCustomModelDescriptionsFromPreferences(customModels));
57
+ this.prevCustomModels = [...customModels];
58
+ this.aiCorePreferences.onPreferenceChanged(event => {
59
+ if (event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) {
60
+ this.updateDiscoveredModels();
61
+ }
75
62
  });
76
63
  }
77
- handleModelChanges(newModels) {
78
- const oldModels = new Set(this.prevModels);
79
- const updatedModels = new Set(newModels);
80
- const modelsToRemove = [...oldModels].filter(model => !updatedModels.has(model));
81
- const modelsToAdd = [...updatedModels].filter(model => !oldModels.has(model));
82
- this.manager.removeLanguageModels(...modelsToRemove.map(model => `openai/${model}`));
83
- this.manager.createOrUpdateLanguageModels(...modelsToAdd.map(modelId => this.createOpenAIModelDescription(modelId)));
84
- this.prevModels = newModels;
64
+ handlePreferenceChange(event) {
65
+ if (event.preferenceName === openai_preferences_1.API_KEY_PREF) {
66
+ this.manager.setApiKey(this.preferenceService.get(openai_preferences_1.API_KEY_PREF, undefined));
67
+ this.discoverAndRegisterModels();
68
+ }
69
+ else if (event.preferenceName === openai_preferences_1.CUSTOM_ENDPOINTS_PREF) {
70
+ this.handleCustomModelChanges(this.preferenceService.get(openai_preferences_1.CUSTOM_ENDPOINTS_PREF, []));
71
+ }
72
+ else if (event.preferenceName === openai_preferences_1.USE_RESPONSE_API_PREF ||
73
+ event.preferenceName === openai_preferences_1.SERVER_SIDE_COMPACTION_PREF ||
74
+ event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION ||
75
+ event.preferenceName === openai_preferences_1.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF ||
76
+ event.preferenceName === ai_core_preferences_1.PREFERENCE_NAME_SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD) {
77
+ this.updateDiscoveredModels();
78
+ }
79
+ else if (event.preferenceName === 'http.proxy') {
80
+ this.manager.setProxyUrl(this.preferenceService.get('http.proxy', undefined));
81
+ // A model keeps the proxy it was registered with, so the custom endpoints have to be
82
+ // re-registered as well: discovery only covers the models it registers itself.
83
+ this.updateCustomModels();
84
+ this.discoverAndRegisterModels();
85
+ }
85
86
  }
86
87
  handleCustomModelChanges(newCustomModels) {
87
88
  const oldModels = this.createCustomModelDescriptionsFromPreferences(this.prevCustomModels);
@@ -105,14 +106,18 @@ let OpenAiFrontendApplicationContribution = class OpenAiFrontendApplicationContr
105
106
  this.manager.createOrUpdateLanguageModels(...modelsToAddOrUpdate);
106
107
  this.prevCustomModels = [...newCustomModels];
107
108
  }
108
- updateAllModels() {
109
- const models = this.preferenceService.get(openai_preferences_1.MODELS_PREF, []);
110
- this.manager.createOrUpdateLanguageModels(...models.map(modelId => this.createOpenAIModelDescription(modelId)));
109
+ updateDiscoveredModels() {
110
+ super.updateDiscoveredModels();
111
+ this.updateCustomModels();
112
+ }
113
+ /** Re-applies the model descriptions of the configured custom endpoints. */
114
+ updateCustomModels() {
111
115
  const customModels = this.preferenceService.get(openai_preferences_1.CUSTOM_ENDPOINTS_PREF, []);
112
116
  this.manager.createOrUpdateLanguageModels(...this.createCustomModelDescriptionsFromPreferences(customModels));
113
117
  }
114
118
  /** Per-model capabilities are resolved by the backend from the model id; see `openai-model-defaults.ts`. */
115
- createOpenAIModelDescription(modelId) {
119
+ createModelDescription(model) {
120
+ const modelId = model.id;
116
121
  const id = `${common_1.OPENAI_PROVIDER_ID}/${modelId}`;
117
122
  const maxRetries = this.aiCorePreferences.get(ai_core_preferences_1.PREFERENCE_NAME_MAX_RETRIES) ?? 3;
118
123
  const useResponseApi = this.preferenceService.get(openai_preferences_1.USE_RESPONSE_API_PREF, false);
@@ -130,7 +135,8 @@ let OpenAiFrontendApplicationContribution = class OpenAiFrontendApplicationContr
130
135
  maxRetries: maxRetries,
131
136
  useResponseApi: useResponseApi,
132
137
  serverSideCompactionEnabledByDefault,
133
- serverSideCompactionTokenThresholdByDefault
138
+ serverSideCompactionTokenThresholdByDefault,
139
+ released: model.released
134
140
  };
135
141
  }
136
142
  createCustomModelDescriptionsFromPreferences(preferences) {
@@ -169,10 +175,6 @@ let OpenAiFrontendApplicationContribution = class OpenAiFrontendApplicationContr
169
175
  }
170
176
  };
171
177
  exports.OpenAiFrontendApplicationContribution = OpenAiFrontendApplicationContribution;
172
- tslib_1.__decorate([
173
- (0, inversify_1.inject)(core_1.PreferenceService),
174
- tslib_1.__metadata("design:type", Object)
175
- ], OpenAiFrontendApplicationContribution.prototype, "preferenceService", void 0);
176
178
  tslib_1.__decorate([
177
179
  (0, inversify_1.inject)(common_1.OpenAiLanguageModelsManager),
178
180
  tslib_1.__metadata("design:type", Object)
@@ -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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"}
@@ -1,4 +1,4 @@
1
- import { ReasoningSupport } from '@theia/ai-core';
1
+ import { ApiKeySource, ModelDiscoveryResult, ReasoningSupport } from '@theia/ai-core';
2
2
  export declare const OPENAI_LANGUAGE_MODELS_MANAGER_PATH = "/services/open-ai/language-model-manager";
3
3
  export declare const OpenAiLanguageModelsManager: unique symbol;
4
4
  export declare const OPENAI_PROVIDER_ID = "openai";
@@ -38,13 +38,30 @@ export interface OpenAiModelDescription {
38
38
  serverSideCompactionEnabledByDefault?: boolean;
39
39
  /** Resolved default input-token threshold for server-side compaction. `undefined` preserves the provider default. */
40
40
  serverSideCompactionTokenThresholdByDefault?: number;
41
+ /** Release date (ms since epoch) reported by discovery, surfaced as {@link LanguageModelMetaData.released}. */
42
+ released?: number;
41
43
  }
42
44
  export interface OpenAiLanguageModelsManager {
43
45
  apiKey: string | undefined;
44
46
  setApiKey(key: string | undefined): void;
47
+ /**
48
+ * Allows or refuses the use of an API key found in the environment. Refused by default: an
49
+ * environment key is only used once the user has confirmed it, and setting this back to `false`
50
+ * stops it being used immediately, wherever it would have been used.
51
+ */
52
+ setAllowEnvironmentApiKey(allowed: boolean): void;
45
53
  setApiVersion(version: string | undefined): void;
46
54
  setProxyUrl(proxyUrl: string | undefined): void;
47
55
  createOrUpdateLanguageModels(...models: OpenAiModelDescription[]): Promise<void>;
48
56
  removeLanguageModels(...modelIds: string[]): void;
57
+ /**
58
+ * Fetches the ids of the text-chat models OpenAI currently offers from its `/v1/models` endpoint,
59
+ * retrying transient connection failures and caching a snapshot for offline use. The endpoint
60
+ * exposes no capability metadata, so non-chat models are filtered out heuristically. Returns an
61
+ * empty result when no key is configured; falls back to the cached snapshot on failure.
62
+ */
63
+ fetchAvailableModels(): Promise<ModelDiscoveryResult>;
64
+ /** Reports where the effective API key comes from (preference, environment, or none). */
65
+ getApiKeySource(): Promise<ApiKeySource>;
49
66
  }
50
67
  //# sourceMappingURL=openai-language-models-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/openai-language-models-manager.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,eAAO,MAAM,mCAAmC,6CAA6C,CAAC;AAC9F,eAAO,MAAM,2BAA2B,eAAwC,CAAC;AAEjF,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,MAAM,WAAW,sBAAsB;IACnC,iEAAiE;IACjE,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,8HAA8H;IAC9H,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,6FAA6F;IAC7F,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,+HAA+H;IAC/H,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,gGAAgG;IAChG,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+FAA+F;IAC/F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,+BAA+B,GAAG,MAAM,CAAC;IACtG,4HAA4H;IAC5H,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,4FAA4F;IAC5F,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,0JAA0J;IAC1J,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,qHAAqH;IACrH,2CAA2C,CAAC,EAAE,MAAM,CAAC;CACxD;AACD,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACzC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChD,4BAA4B,CAAC,GAAG,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CACpD"}
1
+ {"version":3,"file":"openai-language-models-manager.d.ts","sourceRoot":"","sources":["../../src/common/openai-language-models-manager.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEtF,eAAO,MAAM,mCAAmC,6CAA6C,CAAC;AAC9F,eAAO,MAAM,2BAA2B,eAAwC,CAAC;AAEjF,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,MAAM,WAAW,sBAAsB;IACnC,iEAAiE;IACjE,EAAE,EAAE,MAAM,CAAC;IACX,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,8HAA8H;IAC9H,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2FAA2F;IAC3F,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,6FAA6F;IAC7F,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACtC,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,CAAC;IACnB,+HAA+H;IAC/H,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,gGAAgG;IAChG,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+FAA+F;IAC/F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,wBAAwB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,+BAA+B,GAAG,MAAM,CAAC;IACtG,4HAA4H;IAC5H,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,4FAA4F;IAC5F,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,0JAA0J;IAC1J,oCAAoC,CAAC,EAAE,OAAO,CAAC;IAC/C,qHAAqH;IACrH,2CAA2C,CAAC,EAAE,MAAM,CAAC;IACrD,+GAA+G;IAC/G,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AACD,MAAM,WAAW,2BAA2B;IACxC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACzC;;;;OAIG;IACH,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAClD,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjD,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IAChD,4BAA4B,CAAC,GAAG,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjF,oBAAoB,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClD;;;;;OAKG;IACH,oBAAoB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACtD,yFAAyF;IACzF,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5C"}
@@ -1,6 +1,7 @@
1
1
  import { PreferenceSchema } from '@theia/core';
2
2
  export declare const API_KEY_PREF = "ai-features.openAiOfficial.openAiApiKey";
3
- export declare const MODELS_PREF = "ai-features.openAiOfficial.officialOpenAiModels";
3
+ export declare const ALLOW_ENV_API_KEY_PREF = "ai-features.openAiOfficial.allowEnvironmentApiKey";
4
+ export declare const MODEL_OVERRIDES_PREF = "ai-features.openAiOfficial.modelOverrides";
4
5
  export declare const USE_RESPONSE_API_PREF = "ai-features.openAiOfficial.useResponseApi";
5
6
  export declare const SERVER_SIDE_COMPACTION_PREF = "ai-features.openAiOfficial.serverSideCompaction";
6
7
  export declare const SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF = "ai-features.openAiOfficial.serverSideCompactionTokenThreshold";
@@ -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,WAAW,oDAAoD,CAAC;AAC7E,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,gBAiLrC,CAAC"}
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,gBAqLrC,CAAC"}
@@ -15,12 +15,13 @@
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.OpenAiPreferencesSchema = exports.CUSTOM_ENDPOINTS_PREF = exports.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF = exports.SERVER_SIDE_COMPACTION_PREF = exports.USE_RESPONSE_API_PREF = exports.MODELS_PREF = exports.API_KEY_PREF = void 0;
18
+ exports.OpenAiPreferencesSchema = exports.CUSTOM_ENDPOINTS_PREF = exports.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF = exports.SERVER_SIDE_COMPACTION_PREF = exports.USE_RESPONSE_API_PREF = exports.MODEL_OVERRIDES_PREF = exports.ALLOW_ENV_API_KEY_PREF = exports.API_KEY_PREF = void 0;
19
19
  const ai_core_preferences_1 = require("@theia/ai-core/lib/common/ai-core-preferences");
20
20
  const language_model_1 = require("@theia/ai-core/lib/common/language-model");
21
21
  const core_1 = require("@theia/core");
22
22
  exports.API_KEY_PREF = 'ai-features.openAiOfficial.openAiApiKey';
23
- exports.MODELS_PREF = 'ai-features.openAiOfficial.officialOpenAiModels';
23
+ exports.ALLOW_ENV_API_KEY_PREF = 'ai-features.openAiOfficial.allowEnvironmentApiKey';
24
+ exports.MODEL_OVERRIDES_PREF = 'ai-features.openAiOfficial.modelOverrides';
24
25
  exports.USE_RESPONSE_API_PREF = 'ai-features.openAiOfficial.useResponseApi';
25
26
  exports.SERVER_SIDE_COMPACTION_PREF = 'ai-features.openAiOfficial.serverSideCompaction';
26
27
  exports.SERVER_SIDE_COMPACTION_TOKEN_THRESHOLD_PREF = 'ai-features.openAiOfficial.serverSideCompactionTokenThreshold';
@@ -34,20 +35,22 @@ exports.OpenAiPreferencesSchema = {
34
35
  on the machine running Theia. Use the environment variable `OPENAI_API_KEY` to set the key securely.') + core_1.LINUX_ENV_HINT,
35
36
  title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
36
37
  },
37
- [exports.MODELS_PREF]: {
38
- type: 'array',
39
- description: core_1.nls.localize('theia/ai/openai/models/description', 'Official OpenAI models to use'),
38
+ [exports.ALLOW_ENV_API_KEY_PREF]: {
39
+ type: 'boolean',
40
+ default: false,
40
41
  title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
41
- default: [
42
- 'gpt-5.6-sol',
43
- 'gpt-5.6-terra',
44
- 'gpt-5.6-luna',
45
- 'gpt-5.5',
46
- 'gpt-5.5-pro'
47
- ],
42
+ markdownDescription: core_1.nls.localize('theia/ai/openai/allowEnvApiKey/description', 'Allow Theia to use an OpenAI API key found in the environment (`OPENAI_API_KEY`). '
43
+ + 'You are asked to confirm this once before the key is used; set it back to `false` to revoke consent.'),
44
+ },
45
+ [exports.MODEL_OVERRIDES_PREF]: {
46
+ type: 'array',
47
+ default: [],
48
48
  items: {
49
49
  type: 'string'
50
- }
50
+ },
51
+ title: ai_core_preferences_1.AI_CORE_PREFERENCES_TITLE,
52
+ markdownDescription: core_1.nls.localize('theia/ai/openai/modelOverrides/description', 'Override the models discovered from OpenAI. When empty (default), the available models are discovered from the provider. '
53
+ + 'Set explicit model ids to use exactly those instead; discovery is then not used at all.')
51
54
  },
52
55
  [exports.USE_RESPONSE_API_PREF]: {
53
56
  type: 'boolean',
@@ -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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"}
@@ -11,6 +11,25 @@ export declare class MistralFixedOpenAI extends OpenAI {
11
11
  }
12
12
  export declare const OpenAiModelIdentifier: unique symbol;
13
13
  export type DeveloperMessageSettings = 'user' | 'system' | 'developer' | 'mergeWithFollowingUserMessage' | 'skip';
14
+ /** Options for {@link createOpenAiClient}. */
15
+ export interface OpenAiClientOptions {
16
+ /** The key to authenticate with. A custom endpoint may need none. */
17
+ readonly apiKey: string | undefined;
18
+ /** Base URL of a custom endpoint; the SDK's own default is used without one. */
19
+ readonly baseURL?: string;
20
+ /** Azure API version. Its presence is what selects the Azure client over the plain one. */
21
+ readonly apiVersion?: string;
22
+ readonly deployment?: string;
23
+ readonly proxyUrl?: string;
24
+ /** Additional HTTP headers sent with every request, e.g. headers required by a gateway in front of the API. */
25
+ readonly headers?: Record<string, string>;
26
+ }
27
+ /**
28
+ * The single place an OpenAI SDK client is built, so that a chat request and the model discovery
29
+ * reach the provider the same way: through the configured proxy, with a key the SDK accepts, and
30
+ * with the Azure client where an API version says so.
31
+ */
32
+ export declare function createOpenAiClient(options: OpenAiClientOptions): OpenAI;
14
33
  export declare class OpenAiModel implements LanguageModel {
15
34
  readonly id: string;
16
35
  model: string;
@@ -34,6 +53,7 @@ export declare class OpenAiModel implements LanguageModel {
34
53
  serverSideCompactionEnabledByDefault: boolean;
35
54
  serverSideCompactionTokenThresholdByDefault?: number | undefined;
36
55
  headers?: Record<string, string> | undefined;
56
+ released?: number | undefined;
37
57
  readonly vendor = "openai";
38
58
  /**
39
59
  * The options for the OpenAI runner.
@@ -52,7 +72,7 @@ export declare class OpenAiModel implements LanguageModel {
52
72
  * @param serverSideCompactionSupport whether this model supports server-side compaction (only available via the Response API)
53
73
  * @param serverSideCompactionEnabledByDefault resolved default enablement of server-side compaction (global preference folded with the per-provider override)
54
74
  */
55
- constructor(id: string, model: string, status: LanguageModelStatus, enableStreaming: boolean, apiKey: () => string | undefined, apiVersion: () => string | undefined, supportsStructuredOutput: boolean, url: string | undefined, deployment: string | undefined, openAiModelUtils: OpenAiModelUtils, responseApiUtils: OpenAiResponseApiUtils, developerMessageSettings?: DeveloperMessageSettings, maxRetries?: number, useResponseApi?: boolean, proxy?: string | undefined, reasoningSupport?: ReasoningSupport | undefined, maxInputTokens?: number | undefined, serverTools?: ServerToolDescriptor[] | undefined, serverSideCompactionSupport?: boolean, serverSideCompactionEnabledByDefault?: boolean, serverSideCompactionTokenThresholdByDefault?: number | undefined, headers?: Record<string, string> | undefined);
75
+ constructor(id: string, model: string, status: LanguageModelStatus, enableStreaming: boolean, apiKey: () => string | undefined, apiVersion: () => string | undefined, supportsStructuredOutput: boolean, url: string | undefined, deployment: string | undefined, openAiModelUtils: OpenAiModelUtils, responseApiUtils: OpenAiResponseApiUtils, developerMessageSettings?: DeveloperMessageSettings, maxRetries?: number, useResponseApi?: boolean, proxy?: string | undefined, reasoningSupport?: ReasoningSupport | undefined, maxInputTokens?: number | undefined, serverTools?: ServerToolDescriptor[] | undefined, serverSideCompactionSupport?: boolean, serverSideCompactionEnabledByDefault?: boolean, serverSideCompactionTokenThresholdByDefault?: number | undefined, headers?: Record<string, string> | undefined, released?: number | undefined);
56
76
  /** Reasoning-level translation lives in {@link openAiReasoningFor}. */
57
77
  protected getSettings(request: LanguageModelRequest, forResponseApi?: boolean): Record<string, unknown>;
58
78
  request(request: UserRequest, cancellationToken?: CancellationToken): Promise<LanguageModelResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"openai-language-model.d.ts","sourceRoot":"","sources":["../../src/node/openai-language-model.ts"],"names":[],"mappings":"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"}
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,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,WAAW,EAEX,mBAAmB,EACnB,gBAAgB,EAGhB,oBAAoB,EAEvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAC;AAE7C,OAAO,EAAE,gCAAgC,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAuC,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAGnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAyB,MAAM,6BAA6B,CAAC;AAI5F,qBAAa,kBAAmB,SAAQ,MAAM;cACjB,cAAc,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;CAoBvF;AAED,eAAO,MAAM,qBAAqB,eAAkC,CAAC;AAErE,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,+BAA+B,GAAG,MAAM,CAAC;AAElH,8CAA8C;AAC9C,MAAM,WAAW,mBAAmB;IAChC,qEAAqE;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,gFAAgF;IAChF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,+GAA+G;IAC/G,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CASvE;AAED,qBAAa,WAAY,YAAW,aAAa;aA4BzB,EAAE,EAAE,MAAM;IACnB,KAAK,EAAE,MAAM;IACb,MAAM,EAAE,mBAAmB;IAC3B,eAAe,EAAE,OAAO;IACxB,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS;IAChC,UAAU,EAAE,MAAM,MAAM,GAAG,SAAS;IACpC,wBAAwB,EAAE,OAAO;IACjC,GAAG,EAAE,MAAM,GAAG,SAAS;IACvB,UAAU,EAAE,MAAM,GAAG,SAAS;IAC9B,gBAAgB,EAAE,gBAAgB;IAClC,gBAAgB,EAAE,sBAAsB;IACxC,wBAAwB,EAAE,wBAAwB;IAClD,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,OAAO;IACvB,KAAK,CAAC,EAAE,MAAM;IACd,gBAAgB,CAAC,EAAE,gBAAgB;IACnC,cAAc,CAAC,EAAE,MAAM;IACvB,WAAW,CAAC,EAAE,oBAAoB,EAAE;IACpC,2BAA2B,EAAE,OAAO;IACpC,oCAAoC,EAAE,OAAO;IAC7C,2CAA2C,CAAC,EAAE,MAAM;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM;IAhD5B,QAAQ,CAAC,MAAM,YAAY;IAE3B;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,aAAa,CAKpC;IAEF;;;;;;;;;;;;OAYG;gBAEiB,EAAE,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,mBAAmB,EAC3B,eAAe,EAAE,OAAO,EACxB,MAAM,EAAE,MAAM,MAAM,GAAG,SAAS,EAChC,UAAU,EAAE,MAAM,MAAM,GAAG,SAAS,EACpC,wBAAwB,EAAE,OAAO,EACjC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,gBAAgB,EAAE,gBAAgB,EAClC,gBAAgB,EAAE,sBAAsB,EACxC,wBAAwB,GAAE,wBAAsC,EAChE,UAAU,GAAE,MAAU,EACtB,cAAc,GAAE,OAAe,EAC/B,KAAK,CAAC,EAAE,MAAM,YAAA,EACd,gBAAgB,CAAC,EAAE,gBAAgB,YAAA,EACnC,cAAc,CAAC,EAAE,MAAM,YAAA,EACvB,WAAW,CAAC,EAAE,oBAAoB,EAAE,YAAA,EACpC,2BAA2B,GAAE,OAAe,EAC5C,oCAAoC,GAAE,OAAe,EACrD,2CAA2C,CAAC,EAAE,MAAM,YAAA,EACpD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,YAAA,EAChC,QAAQ,CAAC,EAAE,MAAM,YAAA;IAG5B,uEAAuE;IACvE,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,EAAE,cAAc,GAAE,OAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOxG,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;cAQ1F,4BAA4B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;cA4CzI,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAmBnH,SAAS,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;cAItC,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAwBzH,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,oBAAoB,GAAG,gCAAgC,EAAE,GAAG,SAAS;IAYpG,SAAS,CAAC,gBAAgB,IAAI,MAAM;IAgBpC;;;OAGG;IACH,SAAS,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAc/G,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA2BrJ,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,0BAA0B,EAAE;CAG5F;AAED;;;;GAIG;AACH,qBACa,gBAAgB;IAEzB,SAAS,CAAC,qBAAqB,CAC3B,QAAQ,EAAE,oBAAoB,EAAE,EAChC,wBAAwB,EAAE,wBAAwB,GACnD,oBAAoB,EAAE;IAIzB,SAAS,CAAC,YAAY,CAClB,OAAO,EAAE,oBAAoB,EAC7B,wBAAwB,EAAE,wBAAwB,GACnD,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ;IAahD,SAAS,CAAC,eAAe,CACrB,OAAO,EAAE,oBAAoB,EAC7B,wBAAwB,EAAE,wBAAwB,GACnD,0BAA0B;IAqC7B;;;;;;;;;;OAUG;IACH,eAAe,CACX,QAAQ,EAAE,oBAAoB,EAAE,EAChC,wBAAwB,EAAE,wBAAwB,EAClD,KAAK,CAAC,EAAE,MAAM,GACf,0BAA0B,EAAE;IAU/B,SAAS,CAAC,iCAAiC,CAAC,QAAQ,EAAE,0BAA0B,EAAE,GAAG,0BAA0B,EAAE;CA8BpH"}
@@ -16,6 +16,7 @@
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.OpenAiModelUtils = exports.OpenAiModel = exports.OpenAiModelIdentifier = exports.MistralFixedOpenAI = void 0;
19
+ exports.createOpenAiClient = createOpenAiClient;
19
20
  const tslib_1 = require("tslib");
20
21
  const ai_core_1 = require("@theia/ai-core");
21
22
  const inversify_1 = require("@theia/core/shared/inversify");
@@ -50,6 +51,21 @@ class MistralFixedOpenAI extends openai_1.OpenAI {
50
51
  }
51
52
  exports.MistralFixedOpenAI = MistralFixedOpenAI;
52
53
  exports.OpenAiModelIdentifier = Symbol('OpenAiModelIdentifier');
54
+ /**
55
+ * The single place an OpenAI SDK client is built, so that a chat request and the model discovery
56
+ * reach the provider the same way: through the configured proxy, with a key the SDK accepts, and
57
+ * with the Azure client where an API version says so.
58
+ */
59
+ function createOpenAiClient(options) {
60
+ // The SDK refuses to be constructed without a key, so an endpoint that needs none still gets one.
61
+ const apiKey = options.apiKey ?? 'no-key';
62
+ const proxyFetch = (0, node_1.createProxyFetch)(options.proxyUrl);
63
+ return options.apiVersion
64
+ ? new openai_1.AzureOpenAI({
65
+ apiKey, baseURL: options.baseURL, apiVersion: options.apiVersion, deployment: options.deployment, fetch: proxyFetch, defaultHeaders: options.headers
66
+ })
67
+ : new MistralFixedOpenAI({ apiKey, baseURL: options.baseURL, fetch: proxyFetch, defaultHeaders: options.headers });
68
+ }
53
69
  class OpenAiModel {
54
70
  /**
55
71
  * @param id the unique id for this language model. It will be used to identify the model in the UI.
@@ -64,7 +80,7 @@ class OpenAiModel {
64
80
  * @param serverSideCompactionSupport whether this model supports server-side compaction (only available via the Response API)
65
81
  * @param serverSideCompactionEnabledByDefault resolved default enablement of server-side compaction (global preference folded with the per-provider override)
66
82
  */
67
- constructor(id, model, status, enableStreaming, apiKey, apiVersion, supportsStructuredOutput, url, deployment, openAiModelUtils, responseApiUtils, developerMessageSettings = 'developer', maxRetries = 3, useResponseApi = false, proxy, reasoningSupport, maxInputTokens, serverTools, serverSideCompactionSupport = false, serverSideCompactionEnabledByDefault = false, serverSideCompactionTokenThresholdByDefault, headers) {
83
+ constructor(id, model, status, enableStreaming, apiKey, apiVersion, supportsStructuredOutput, url, deployment, openAiModelUtils, responseApiUtils, developerMessageSettings = 'developer', maxRetries = 3, useResponseApi = false, proxy, reasoningSupport, maxInputTokens, serverTools, serverSideCompactionSupport = false, serverSideCompactionEnabledByDefault = false, serverSideCompactionTokenThresholdByDefault, headers, released) {
68
84
  this.id = id;
69
85
  this.model = model;
70
86
  this.status = status;
@@ -87,6 +103,7 @@ class OpenAiModel {
87
103
  this.serverSideCompactionEnabledByDefault = serverSideCompactionEnabledByDefault;
88
104
  this.serverSideCompactionTokenThresholdByDefault = serverSideCompactionTokenThresholdByDefault;
89
105
  this.headers = headers;
106
+ this.released = released;
90
107
  this.vendor = 'openai';
91
108
  /**
92
109
  * The options for the OpenAI runner.
@@ -206,18 +223,14 @@ class OpenAiModel {
206
223
  if (!apiKey && !(this.url)) {
207
224
  throw new Error('Please provide OPENAI_API_KEY in preferences or via environment variable');
208
225
  }
209
- const apiVersion = this.apiVersion();
210
- // We need to hand over "some" key, even if a custom url is not key protected as otherwise the OpenAI client will throw an error
211
- const key = apiKey ?? 'no-key';
212
- const proxyFetch = (0, node_1.createProxyFetch)(this.proxy);
213
- if (apiVersion) {
214
- return new openai_1.AzureOpenAI({
215
- apiKey: key, baseURL: this.url, apiVersion: apiVersion, deployment: this.deployment, fetch: proxyFetch, defaultHeaders: this.headers
216
- });
217
- }
218
- else {
219
- return new MistralFixedOpenAI({ apiKey: key, baseURL: this.url, fetch: proxyFetch, defaultHeaders: this.headers });
220
- }
226
+ return createOpenAiClient({
227
+ apiKey,
228
+ baseURL: this.url,
229
+ apiVersion: this.apiVersion(),
230
+ deployment: this.deployment,
231
+ proxyUrl: this.proxy,
232
+ headers: this.headers
233
+ });
221
234
  }
222
235
  /**
223
236
  * Augments the Response API settings with the server-side compaction directive when compaction is enabled for the