@vybestack/llxprt-code-core 0.1.23-nightly.250829.6bacfcba → 0.1.23-nightly.250902.c3d3686d
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/code_assist/codeAssist.js +17 -6
- package/dist/src/code_assist/codeAssist.js.map +1 -1
- package/dist/src/code_assist/server.js +15 -4
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/setup.js +7 -0
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/core/ContentGeneratorAdapter.d.ts +37 -0
- package/dist/src/core/ContentGeneratorAdapter.js +58 -0
- package/dist/src/core/ContentGeneratorAdapter.js.map +1 -0
- package/dist/src/core/client.d.ts +9 -2
- package/dist/src/core/client.js +111 -36
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/compression-config.d.ts +10 -0
- package/dist/src/core/compression-config.js +18 -0
- package/dist/src/core/compression-config.js.map +1 -0
- package/dist/src/core/geminiChat.d.ts +8 -2
- package/dist/src/core/geminiChat.js +148 -32
- package/dist/src/core/geminiChat.js.map +1 -1
- package/dist/src/core/prompts.js +4 -2
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +2 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/providers/BaseProvider.d.ts +1 -1
- package/dist/src/providers/BaseProvider.js.map +1 -1
- package/dist/src/providers/anthropic/AnthropicProvider.js +1 -1
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
- package/dist/src/providers/gemini/GeminiProvider.js +100 -36
- package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
- package/dist/src/providers/openai/OpenAIProvider.d.ts +54 -25
- package/dist/src/providers/openai/OpenAIProvider.js +528 -984
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +91 -0
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +440 -0
- package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -0
- package/dist/src/providers/openai-responses/index.d.ts +1 -0
- package/dist/src/providers/openai-responses/index.js +2 -0
- package/dist/src/providers/openai-responses/index.js.map +1 -0
- package/dist/src/services/history/ContentConverters.d.ts +38 -0
- package/dist/src/services/history/ContentConverters.js +188 -0
- package/dist/src/services/history/ContentConverters.js.map +1 -0
- package/dist/src/services/history/HistoryEvents.d.ts +32 -0
- package/dist/src/services/history/HistoryEvents.js +17 -0
- package/dist/src/services/history/HistoryEvents.js.map +1 -0
- package/dist/src/services/history/HistoryService.d.ts +168 -0
- package/dist/src/services/history/HistoryService.js +521 -0
- package/dist/src/services/history/HistoryService.js.map +1 -0
- package/dist/src/services/history/IContent.d.ts +179 -0
- package/dist/src/services/history/IContent.js +104 -0
- package/dist/src/services/history/IContent.js.map +1 -0
- package/package.json +1 -1
@@ -0,0 +1,440 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright 2025 Vybestack LLC
|
3
|
+
*
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
* you may not use this file except in compliance with the License.
|
6
|
+
* You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
/**
|
17
|
+
* OpenAI Responses API Provider
|
18
|
+
* This provider exclusively uses the OpenAI /responses endpoint
|
19
|
+
* for models that support it (o1, o3, etc.)
|
20
|
+
*/
|
21
|
+
import { DebugLogger } from '../../debug/index.js';
|
22
|
+
import { ContentGeneratorRole } from '../ContentGeneratorRole.js';
|
23
|
+
import { ToolFormatter } from '../../tools/ToolFormatter.js';
|
24
|
+
import { RESPONSES_API_MODELS } from '../openai/RESPONSES_API_MODELS.js';
|
25
|
+
import { ConversationCache } from '../openai/ConversationCache.js';
|
26
|
+
import { estimateMessagesTokens, estimateRemoteTokens, } from '../openai/estimateRemoteTokens.js';
|
27
|
+
import { parseResponsesStream, parseErrorResponse, } from '../openai/parseResponsesStream.js';
|
28
|
+
import { buildResponsesRequest } from '../openai/buildResponsesRequest.js';
|
29
|
+
import { BaseProvider } from '../BaseProvider.js';
|
30
|
+
import { getSettingsService } from '../../settings/settingsServiceInstance.js';
|
31
|
+
export class OpenAIResponsesProvider extends BaseProvider {
|
32
|
+
logger;
|
33
|
+
currentModel = 'o3-mini';
|
34
|
+
baseURL;
|
35
|
+
toolFormatter;
|
36
|
+
conversationCache;
|
37
|
+
modelParams;
|
38
|
+
constructor(apiKey, baseURL, _config) {
|
39
|
+
const baseConfig = {
|
40
|
+
name: 'openai-responses',
|
41
|
+
apiKey,
|
42
|
+
baseURL: baseURL || 'https://api.openai.com/v1',
|
43
|
+
envKeyNames: ['OPENAI_API_KEY'],
|
44
|
+
isOAuthEnabled: false,
|
45
|
+
oauthProvider: undefined,
|
46
|
+
oauthManager: undefined,
|
47
|
+
};
|
48
|
+
super(baseConfig);
|
49
|
+
this.logger = new DebugLogger('llxprt:providers:openai-responses');
|
50
|
+
this.logger.debug(() => `Constructor - baseURL: ${baseURL || 'https://api.openai.com/v1'}, apiKey: ${apiKey?.substring(0, 10) || 'none'}`);
|
51
|
+
this.baseURL = baseURL || 'https://api.openai.com/v1';
|
52
|
+
this.toolFormatter = new ToolFormatter();
|
53
|
+
this.conversationCache = new ConversationCache();
|
54
|
+
// Initialize from SettingsService
|
55
|
+
this.initializeFromSettings().catch((error) => {
|
56
|
+
this.logger.debug(() => `Failed to initialize from SettingsService: ${error}`);
|
57
|
+
});
|
58
|
+
// Set default model for responses API
|
59
|
+
if (process.env.LLXPRT_DEFAULT_MODEL &&
|
60
|
+
RESPONSES_API_MODELS.some((m) => process.env.LLXPRT_DEFAULT_MODEL.startsWith(m))) {
|
61
|
+
this.currentModel = process.env.LLXPRT_DEFAULT_MODEL;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
/**
|
65
|
+
* This provider does not support OAuth
|
66
|
+
*/
|
67
|
+
supportsOAuth() {
|
68
|
+
return false;
|
69
|
+
}
|
70
|
+
getToolFormat() {
|
71
|
+
// Always use OpenAI format for responses API
|
72
|
+
return 'openai';
|
73
|
+
}
|
74
|
+
async callResponsesEndpoint(messages, tools, options) {
|
75
|
+
// Check if API key is available (using resolved authentication)
|
76
|
+
const apiKey = await this.getAuthToken();
|
77
|
+
if (!apiKey) {
|
78
|
+
throw new Error('OpenAI API key is required to make API calls');
|
79
|
+
}
|
80
|
+
// Check context usage and warn if getting close to limit
|
81
|
+
if (options?.conversationId && options?.parentId) {
|
82
|
+
const contextInfo = this.estimateContextUsage(options.conversationId, options.parentId, messages);
|
83
|
+
// Warn if less than 4k tokens remaining
|
84
|
+
if (contextInfo.tokensRemaining < 4000) {
|
85
|
+
this.logger.debug(() => `Warning: Only ${contextInfo.tokensRemaining} tokens remaining (${contextInfo.contextUsedPercent.toFixed(1)}% context used). Consider starting a new conversation.`);
|
86
|
+
}
|
87
|
+
}
|
88
|
+
// Check cache for existing conversation
|
89
|
+
if (options?.conversationId && options?.parentId) {
|
90
|
+
const cachedMessages = this.conversationCache.get(options.conversationId, options.parentId);
|
91
|
+
if (cachedMessages) {
|
92
|
+
// Return cached messages as an async iterable
|
93
|
+
return (async function* () {
|
94
|
+
for (const message of cachedMessages) {
|
95
|
+
yield message;
|
96
|
+
}
|
97
|
+
})();
|
98
|
+
}
|
99
|
+
}
|
100
|
+
// Format tools for Responses API
|
101
|
+
const formattedTools = tools
|
102
|
+
? this.toolFormatter.toResponsesTool(tools)
|
103
|
+
: undefined;
|
104
|
+
// Patch messages to include synthetic responses for cancelled tools
|
105
|
+
const { SyntheticToolResponseHandler } = await import('../openai/syntheticToolResponses.js');
|
106
|
+
const patchedMessages = SyntheticToolResponseHandler.patchMessageHistory(messages);
|
107
|
+
// Build the request
|
108
|
+
const request = buildResponsesRequest({
|
109
|
+
model: this.currentModel,
|
110
|
+
messages: patchedMessages,
|
111
|
+
tools: formattedTools,
|
112
|
+
stream: options?.stream ?? true,
|
113
|
+
conversationId: options?.conversationId,
|
114
|
+
parentId: options?.parentId,
|
115
|
+
tool_choice: options?.tool_choice,
|
116
|
+
...(this.modelParams || {}),
|
117
|
+
});
|
118
|
+
// Make the API call
|
119
|
+
const responsesURL = `${this.baseURL}/responses`;
|
120
|
+
// Ensure proper UTF-8 encoding for the request body
|
121
|
+
const requestBody = JSON.stringify(request);
|
122
|
+
const bodyBlob = new Blob([requestBody], {
|
123
|
+
type: 'application/json; charset=utf-8',
|
124
|
+
});
|
125
|
+
const response = await fetch(responsesURL, {
|
126
|
+
method: 'POST',
|
127
|
+
headers: {
|
128
|
+
Authorization: `Bearer ${apiKey}`,
|
129
|
+
'Content-Type': 'application/json; charset=utf-8',
|
130
|
+
},
|
131
|
+
body: bodyBlob,
|
132
|
+
});
|
133
|
+
// Handle errors
|
134
|
+
if (!response.ok) {
|
135
|
+
const errorBody = await response.text();
|
136
|
+
// Handle 422 context_length_exceeded error
|
137
|
+
if (response.status === 422 &&
|
138
|
+
errorBody.includes('context_length_exceeded')) {
|
139
|
+
this.logger.debug(() => 'Context length exceeded, invalidating cache and retrying stateless...');
|
140
|
+
// Invalidate the cache for this conversation
|
141
|
+
if (options?.conversationId && options?.parentId) {
|
142
|
+
this.conversationCache.invalidate(options.conversationId, options.parentId);
|
143
|
+
}
|
144
|
+
// Retry without conversation context (pure stateless)
|
145
|
+
const retryRequest = buildResponsesRequest({
|
146
|
+
model: this.currentModel,
|
147
|
+
messages,
|
148
|
+
tools: formattedTools,
|
149
|
+
stream: options?.stream ?? true,
|
150
|
+
// Omit conversationId and parentId for stateless retry
|
151
|
+
tool_choice: options?.tool_choice,
|
152
|
+
...(this.modelParams || {}),
|
153
|
+
});
|
154
|
+
const retryRequestBody = JSON.stringify(retryRequest);
|
155
|
+
const retryBodyBlob = new Blob([retryRequestBody], {
|
156
|
+
type: 'application/json; charset=utf-8',
|
157
|
+
});
|
158
|
+
const retryResponse = await fetch(responsesURL, {
|
159
|
+
method: 'POST',
|
160
|
+
headers: {
|
161
|
+
Authorization: `Bearer ${apiKey}`,
|
162
|
+
'Content-Type': 'application/json; charset=utf-8',
|
163
|
+
},
|
164
|
+
body: retryBodyBlob,
|
165
|
+
});
|
166
|
+
if (!retryResponse.ok) {
|
167
|
+
const retryErrorBody = await retryResponse.text();
|
168
|
+
throw parseErrorResponse(retryResponse.status, retryErrorBody, this.name);
|
169
|
+
}
|
170
|
+
// Use the retry response
|
171
|
+
return this.handleResponsesApiResponse(retryResponse, messages, undefined, // No conversation context on retry
|
172
|
+
undefined, options?.stream !== false);
|
173
|
+
}
|
174
|
+
throw parseErrorResponse(response.status, errorBody, this.name);
|
175
|
+
}
|
176
|
+
// Handle the response
|
177
|
+
return this.handleResponsesApiResponse(response, messages, options?.conversationId, options?.parentId, options?.stream !== false);
|
178
|
+
}
|
179
|
+
async handleResponsesApiResponse(response, messages, conversationId, parentId, isStreaming) {
|
180
|
+
// Handle streaming response
|
181
|
+
if (isStreaming && response.body) {
|
182
|
+
const collectedMessages = [];
|
183
|
+
const cache = this.conversationCache;
|
184
|
+
return (async function* () {
|
185
|
+
for await (const message of parseResponsesStream(response.body)) {
|
186
|
+
// Collect messages for caching
|
187
|
+
if (message.content || message.tool_calls) {
|
188
|
+
collectedMessages.push(message);
|
189
|
+
}
|
190
|
+
else if (message.usage && collectedMessages.length === 0) {
|
191
|
+
// If we only got a usage message with no content, add a placeholder
|
192
|
+
collectedMessages.push({
|
193
|
+
role: ContentGeneratorRole.ASSISTANT,
|
194
|
+
content: '',
|
195
|
+
});
|
196
|
+
}
|
197
|
+
yield message;
|
198
|
+
}
|
199
|
+
// Cache the collected messages with token count
|
200
|
+
if (conversationId && parentId && collectedMessages.length > 0) {
|
201
|
+
// Get previous accumulated tokens
|
202
|
+
const previousTokens = cache.getAccumulatedTokens(conversationId, parentId);
|
203
|
+
// Calculate tokens for this request (messages + response)
|
204
|
+
const requestTokens = estimateMessagesTokens(messages);
|
205
|
+
const responseTokens = estimateMessagesTokens(collectedMessages);
|
206
|
+
const totalTokensForRequest = requestTokens + responseTokens;
|
207
|
+
// Update cache with new accumulated total
|
208
|
+
cache.set(conversationId, parentId, collectedMessages, previousTokens + totalTokensForRequest);
|
209
|
+
}
|
210
|
+
})();
|
211
|
+
}
|
212
|
+
const data = (await response.json());
|
213
|
+
const resultMessages = [];
|
214
|
+
if (data.choices && data.choices.length > 0) {
|
215
|
+
const choice = data.choices[0];
|
216
|
+
const message = {
|
217
|
+
role: choice.message.role,
|
218
|
+
content: choice.message.content || '',
|
219
|
+
};
|
220
|
+
if (choice.message.tool_calls) {
|
221
|
+
message.tool_calls = choice.message.tool_calls;
|
222
|
+
}
|
223
|
+
if (data.usage) {
|
224
|
+
message.usage = {
|
225
|
+
prompt_tokens: data.usage.prompt_tokens || 0,
|
226
|
+
completion_tokens: data.usage.completion_tokens || 0,
|
227
|
+
total_tokens: data.usage.total_tokens || 0,
|
228
|
+
};
|
229
|
+
}
|
230
|
+
resultMessages.push(message);
|
231
|
+
}
|
232
|
+
// Cache the result with token count
|
233
|
+
if (conversationId && parentId && resultMessages.length > 0) {
|
234
|
+
// Get previous accumulated tokens
|
235
|
+
const previousTokens = this.conversationCache.getAccumulatedTokens(conversationId, parentId);
|
236
|
+
// Calculate tokens for this request
|
237
|
+
const requestTokens = estimateMessagesTokens(messages);
|
238
|
+
const responseTokens = estimateMessagesTokens(resultMessages);
|
239
|
+
const totalTokensForRequest = requestTokens + responseTokens;
|
240
|
+
// Update cache with new accumulated total
|
241
|
+
this.conversationCache.set(conversationId, parentId, resultMessages, previousTokens + totalTokensForRequest);
|
242
|
+
}
|
243
|
+
return (async function* () {
|
244
|
+
for (const message of resultMessages) {
|
245
|
+
yield message;
|
246
|
+
}
|
247
|
+
})();
|
248
|
+
}
|
249
|
+
async getModels() {
|
250
|
+
// Return models that support the responses API
|
251
|
+
return [
|
252
|
+
{
|
253
|
+
id: 'o1',
|
254
|
+
name: 'o1',
|
255
|
+
provider: 'openai-responses',
|
256
|
+
supportedToolFormats: ['openai'],
|
257
|
+
},
|
258
|
+
{
|
259
|
+
id: 'o1-preview',
|
260
|
+
name: 'o1-preview',
|
261
|
+
provider: 'openai-responses',
|
262
|
+
supportedToolFormats: ['openai'],
|
263
|
+
},
|
264
|
+
{
|
265
|
+
id: 'o1-mini',
|
266
|
+
name: 'o1-mini',
|
267
|
+
provider: 'openai-responses',
|
268
|
+
supportedToolFormats: ['openai'],
|
269
|
+
},
|
270
|
+
{
|
271
|
+
id: 'o3-mini',
|
272
|
+
name: 'o3-mini',
|
273
|
+
provider: 'openai-responses',
|
274
|
+
supportedToolFormats: ['openai'],
|
275
|
+
},
|
276
|
+
];
|
277
|
+
}
|
278
|
+
async *generateChatCompletion(messages, tools, _toolFormat) {
|
279
|
+
// Check if API key is available
|
280
|
+
const apiKey = await this.getAuthToken();
|
281
|
+
if (!apiKey) {
|
282
|
+
throw new Error('OpenAI API key is required to generate completions');
|
283
|
+
}
|
284
|
+
// Always use responses endpoint
|
285
|
+
const conversationId = undefined;
|
286
|
+
const parentId = undefined;
|
287
|
+
yield* await this.callResponsesEndpoint(messages, tools, {
|
288
|
+
stream: true,
|
289
|
+
tool_choice: tools && tools.length > 0 ? 'auto' : undefined,
|
290
|
+
stateful: false, // Always stateless for now
|
291
|
+
conversationId,
|
292
|
+
parentId,
|
293
|
+
});
|
294
|
+
}
|
295
|
+
setModel(modelId) {
|
296
|
+
// Update SettingsService as the source of truth
|
297
|
+
this.setModelInSettings(modelId).catch((error) => {
|
298
|
+
this.logger.debug(() => `Failed to persist model to SettingsService: ${error}`);
|
299
|
+
});
|
300
|
+
// Keep local cache for performance
|
301
|
+
this.currentModel = modelId;
|
302
|
+
}
|
303
|
+
getCurrentModel() {
|
304
|
+
// Try to get from SettingsService first (source of truth)
|
305
|
+
try {
|
306
|
+
const settingsService = getSettingsService();
|
307
|
+
const providerSettings = settingsService.getProviderSettings(this.name);
|
308
|
+
if (providerSettings.model) {
|
309
|
+
return providerSettings.model;
|
310
|
+
}
|
311
|
+
}
|
312
|
+
catch (error) {
|
313
|
+
this.logger.debug(() => `Failed to get model from SettingsService: ${error}`);
|
314
|
+
}
|
315
|
+
// Fall back to cached value or default
|
316
|
+
return this.currentModel || this.getDefaultModel();
|
317
|
+
}
|
318
|
+
getDefaultModel() {
|
319
|
+
// Return the default model for responses API
|
320
|
+
return 'o3-mini';
|
321
|
+
}
|
322
|
+
setApiKey(apiKey) {
|
323
|
+
// Call base provider implementation
|
324
|
+
super.setApiKey?.(apiKey);
|
325
|
+
// Persist to SettingsService if available
|
326
|
+
this.setApiKeyInSettings(apiKey).catch((error) => {
|
327
|
+
this.logger.debug(() => `Failed to persist API key to SettingsService: ${error}`);
|
328
|
+
});
|
329
|
+
}
|
330
|
+
setBaseUrl(baseUrl) {
|
331
|
+
// If no baseUrl is provided, use default
|
332
|
+
this.baseURL =
|
333
|
+
baseUrl && baseUrl.trim() !== '' ? baseUrl : 'https://api.openai.com/v1';
|
334
|
+
// Persist to SettingsService if available
|
335
|
+
this.setBaseUrlInSettings(this.baseURL).catch((error) => {
|
336
|
+
this.logger.debug(() => `Failed to persist base URL to SettingsService: ${error}`);
|
337
|
+
});
|
338
|
+
// Call base provider implementation
|
339
|
+
super.setBaseUrl?.(baseUrl);
|
340
|
+
}
|
341
|
+
setConfig(_config) {
|
342
|
+
// Config not used by this provider
|
343
|
+
}
|
344
|
+
setToolFormatOverride(format) {
|
345
|
+
// Responses API only supports OpenAI format
|
346
|
+
if (format && format !== 'openai') {
|
347
|
+
this.logger.debug(() => `Warning: Responses API only supports OpenAI tool format, ignoring override to ${format}`);
|
348
|
+
}
|
349
|
+
}
|
350
|
+
/**
|
351
|
+
* Estimates the remote context usage for the current conversation
|
352
|
+
*/
|
353
|
+
estimateContextUsage(conversationId, parentId, promptMessages) {
|
354
|
+
const promptTokens = estimateMessagesTokens(promptMessages);
|
355
|
+
return estimateRemoteTokens(this.currentModel, this.conversationCache, conversationId, parentId, promptTokens);
|
356
|
+
}
|
357
|
+
/**
|
358
|
+
* Get the conversation cache instance
|
359
|
+
*/
|
360
|
+
getConversationCache() {
|
361
|
+
return this.conversationCache;
|
362
|
+
}
|
363
|
+
/**
|
364
|
+
* OpenAI Responses API always requires payment (API key)
|
365
|
+
*/
|
366
|
+
isPaidMode() {
|
367
|
+
return true;
|
368
|
+
}
|
369
|
+
clearState() {
|
370
|
+
// Clear the conversation cache to prevent tool call ID mismatches
|
371
|
+
this.conversationCache.clear();
|
372
|
+
}
|
373
|
+
/**
|
374
|
+
* Get the list of server tools supported by this provider
|
375
|
+
*/
|
376
|
+
getServerTools() {
|
377
|
+
return [];
|
378
|
+
}
|
379
|
+
/**
|
380
|
+
* Invoke a server tool (native provider tool)
|
381
|
+
*/
|
382
|
+
async invokeServerTool(_toolName, _params, _config) {
|
383
|
+
throw new Error('Server tools not supported by OpenAI Responses provider');
|
384
|
+
}
|
385
|
+
/**
|
386
|
+
* Set model parameters to be included in API calls
|
387
|
+
*/
|
388
|
+
setModelParams(params) {
|
389
|
+
if (params === undefined) {
|
390
|
+
this.modelParams = undefined;
|
391
|
+
}
|
392
|
+
else {
|
393
|
+
this.modelParams = { ...this.modelParams, ...params };
|
394
|
+
}
|
395
|
+
// Persist to SettingsService if available
|
396
|
+
this.setModelParamsInSettings(this.modelParams).catch((error) => {
|
397
|
+
this.logger.debug(() => `Failed to persist model params to SettingsService: ${error}`);
|
398
|
+
});
|
399
|
+
}
|
400
|
+
/**
|
401
|
+
* Get current model parameters
|
402
|
+
*/
|
403
|
+
getModelParams() {
|
404
|
+
return this.modelParams;
|
405
|
+
}
|
406
|
+
/**
|
407
|
+
* Initialize provider configuration from SettingsService
|
408
|
+
*/
|
409
|
+
async initializeFromSettings() {
|
410
|
+
try {
|
411
|
+
// Load saved model if available
|
412
|
+
const savedModel = await this.getModelFromSettings();
|
413
|
+
if (savedModel &&
|
414
|
+
RESPONSES_API_MODELS.some((m) => savedModel.startsWith(m))) {
|
415
|
+
this.currentModel = savedModel;
|
416
|
+
}
|
417
|
+
// Load saved base URL if available
|
418
|
+
const savedBaseUrl = await this.getBaseUrlFromSettings();
|
419
|
+
if (savedBaseUrl !== undefined) {
|
420
|
+
this.baseURL = savedBaseUrl || 'https://api.openai.com/v1';
|
421
|
+
}
|
422
|
+
// Load saved model parameters if available
|
423
|
+
const savedParams = await this.getModelParamsFromSettings();
|
424
|
+
if (savedParams) {
|
425
|
+
this.modelParams = savedParams;
|
426
|
+
}
|
427
|
+
this.logger.debug(() => `Initialized from SettingsService - model: ${this.currentModel}, baseURL: ${this.baseURL}, params: ${JSON.stringify(this.modelParams)}`);
|
428
|
+
}
|
429
|
+
catch (error) {
|
430
|
+
this.logger.debug(() => `Failed to initialize OpenAI Responses provider from SettingsService: ${error}`);
|
431
|
+
}
|
432
|
+
}
|
433
|
+
/**
|
434
|
+
* Check if the provider is authenticated using any available method
|
435
|
+
*/
|
436
|
+
async isAuthenticated() {
|
437
|
+
return super.isAuthenticated();
|
438
|
+
}
|
439
|
+
}
|
440
|
+
//# sourceMappingURL=OpenAIResponsesProvider.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"OpenAIResponsesProvider.js","sourceRoot":"","sources":["../../../../src/providers/openai-responses/OpenAIResponsesProvider.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export { OpenAIResponsesProvider } from './OpenAIResponsesProvider.js';
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/providers/openai-responses/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright 2025 Vybestack LLC
|
3
|
+
*
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
* you may not use this file except in compliance with the License.
|
6
|
+
* You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
import { Content } from '@google/genai';
|
17
|
+
import type { IContent } from './IContent.js';
|
18
|
+
/**
|
19
|
+
* Converts between Gemini Content format and IContent format
|
20
|
+
*/
|
21
|
+
export declare class ContentConverters {
|
22
|
+
/**
|
23
|
+
* Convert IContent to Gemini Content format
|
24
|
+
*/
|
25
|
+
static toGeminiContent(iContent: IContent): Content;
|
26
|
+
/**
|
27
|
+
* Convert Gemini Content to IContent format
|
28
|
+
*/
|
29
|
+
static toIContent(content: Content): IContent;
|
30
|
+
/**
|
31
|
+
* Convert array of IContent to array of Gemini Content
|
32
|
+
*/
|
33
|
+
static toGeminiContents(iContents: IContent[]): Content[];
|
34
|
+
/**
|
35
|
+
* Convert array of Gemini Content to array of IContent
|
36
|
+
*/
|
37
|
+
static toIContents(contents: Content[]): IContent[];
|
38
|
+
}
|