@defai.digital/ax-cli 4.1.10 → 4.1.14
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/.ax-cli/settings.json +1 -0
- package/README.md +140 -589
- package/dist/agent/dependency-resolver.d.ts +7 -0
- package/dist/agent/dependency-resolver.js +46 -18
- package/dist/agent/dependency-resolver.js.map +1 -1
- package/dist/agent/execution/tool-executor.d.ts +4 -0
- package/dist/agent/execution/tool-executor.js +76 -52
- package/dist/agent/execution/tool-executor.js.map +1 -1
- package/dist/agent/parallel-tools.d.ts +4 -0
- package/dist/agent/parallel-tools.js +65 -24
- package/dist/agent/parallel-tools.js.map +1 -1
- package/dist/agent/planning/plan-executor.d.ts +0 -5
- package/dist/agent/planning/plan-executor.js +23 -6
- package/dist/agent/planning/plan-executor.js.map +1 -1
- package/dist/agent/streaming/stream-handler.js +7 -4
- package/dist/agent/streaming/stream-handler.js.map +1 -1
- package/dist/agent/subagent-orchestrator.d.ts +35 -2
- package/dist/agent/subagent-orchestrator.js +188 -146
- package/dist/agent/subagent-orchestrator.js.map +1 -1
- package/dist/agent/subagent-types.js +3 -1
- package/dist/agent/subagent-types.js.map +1 -1
- package/dist/agent/subagent.d.ts +15 -4
- package/dist/agent/subagent.js +91 -72
- package/dist/agent/subagent.js.map +1 -1
- package/dist/design/figma-alias.d.ts +77 -0
- package/dist/design/figma-alias.js +246 -0
- package/dist/design/figma-alias.js.map +1 -1
- package/dist/design/figma-client.d.ts +4 -0
- package/dist/design/figma-client.js +24 -4
- package/dist/design/figma-client.js.map +1 -1
- package/dist/design/figma-map.js +78 -6
- package/dist/design/figma-map.js.map +1 -1
- package/dist/design/figma-tokens.js +6 -2
- package/dist/design/figma-tokens.js.map +1 -1
- package/dist/design/index.d.ts +1 -1
- package/dist/design/index.js +3 -1
- package/dist/design/index.js.map +1 -1
- package/dist/design/types.d.ts +9 -0
- package/dist/mcp/client-v2.js +4 -0
- package/dist/mcp/client-v2.js.map +1 -1
- package/dist/mcp/config-detector.js +3 -4
- package/dist/mcp/config-detector.js.map +1 -1
- package/dist/mcp/debug.d.ts +207 -0
- package/dist/mcp/debug.js +398 -0
- package/dist/mcp/debug.js.map +1 -0
- package/dist/mcp/index.d.ts +1 -0
- package/dist/mcp/index.js +4 -0
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/reconnection.js +6 -3
- package/dist/mcp/reconnection.js.map +1 -1
- package/dist/mcp/validation.js +15 -6
- package/dist/mcp/validation.js.map +1 -1
- package/dist/memory/index.d.ts +1 -0
- package/dist/memory/index.js +2 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/provider-context-store.d.ts +127 -0
- package/dist/memory/provider-context-store.js +385 -0
- package/dist/memory/provider-context-store.js.map +1 -0
- package/dist/sdk/errors.d.ts +2 -0
- package/dist/sdk/errors.js +2 -0
- package/dist/sdk/errors.js.map +1 -1
- package/dist/sdk/index.d.ts +633 -62
- package/dist/sdk/index.js +854 -116
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/testing.d.ts +46 -4
- package/dist/sdk/testing.js +58 -6
- package/dist/sdk/testing.js.map +1 -1
- package/dist/sdk/version.d.ts +13 -9
- package/dist/sdk/version.js +13 -9
- package/dist/sdk/version.js.map +1 -1
- package/dist/utils/file-lock.d.ts +141 -0
- package/dist/utils/file-lock.js +559 -0
- package/dist/utils/file-lock.js.map +1 -0
- package/dist/utils/provider-context.d.ts +243 -0
- package/dist/utils/provider-context.js +421 -0
- package/dist/utils/provider-context.js.map +1 -0
- package/dist/utils/provider-file-cache.d.ts +91 -0
- package/dist/utils/provider-file-cache.js +165 -0
- package/dist/utils/provider-file-cache.js.map +1 -0
- package/dist/utils/provider-settings.d.ts +181 -0
- package/dist/utils/provider-settings.js +450 -0
- package/dist/utils/provider-settings.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provider-Aware Settings Manager
|
|
3
|
+
*
|
|
4
|
+
* This module wraps the SettingsManager to provide provider-specific settings
|
|
5
|
+
* when running ax-glm and ax-grok in parallel.
|
|
6
|
+
*
|
|
7
|
+
* Key differences from base SettingsManager:
|
|
8
|
+
* - Uses provider-specific config directories (~/.ax-glm/ vs ~/.ax-grok/)
|
|
9
|
+
* - Supports instance-based configuration (no global singleton)
|
|
10
|
+
* - Integrates with ProviderContext for path resolution
|
|
11
|
+
* - Uses file locking for concurrent access
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* // Get settings for current provider context
|
|
16
|
+
* const settings = getProviderSettings();
|
|
17
|
+
* const apiKey = settings.getApiKey();
|
|
18
|
+
*
|
|
19
|
+
* // Get settings for specific provider
|
|
20
|
+
* const glmSettings = getProviderSettings('glm');
|
|
21
|
+
* const grokSettings = getProviderSettings('grok');
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
import { existsSync, mkdirSync, chmodSync } from 'fs';
|
|
25
|
+
import { dirname } from 'path';
|
|
26
|
+
import { z } from 'zod';
|
|
27
|
+
import { ProviderContext, getProviderContext, } from './provider-context.js';
|
|
28
|
+
import { SafeJsonFile, withFileLockSync } from './file-lock.js';
|
|
29
|
+
import { encrypt, decrypt } from './encryption.js';
|
|
30
|
+
import { TIMEOUT_CONFIG } from '../constants.js';
|
|
31
|
+
/**
|
|
32
|
+
* Encrypted value schema for API keys
|
|
33
|
+
*/
|
|
34
|
+
const EncryptedValueSchema = z.object({
|
|
35
|
+
encrypted: z.string(),
|
|
36
|
+
iv: z.string(),
|
|
37
|
+
salt: z.string(),
|
|
38
|
+
tag: z.string(),
|
|
39
|
+
version: z.number(),
|
|
40
|
+
});
|
|
41
|
+
/**
|
|
42
|
+
* Provider-specific user settings schema
|
|
43
|
+
*/
|
|
44
|
+
const ProviderUserSettingsSchema = z.object({
|
|
45
|
+
// API Configuration
|
|
46
|
+
apiKey: z.string().optional(),
|
|
47
|
+
apiKeyEncrypted: EncryptedValueSchema.optional(),
|
|
48
|
+
baseURL: z.string().optional(),
|
|
49
|
+
defaultModel: z.string().optional(),
|
|
50
|
+
models: z.array(z.string()).optional(),
|
|
51
|
+
// Provider-specific settings
|
|
52
|
+
temperature: z.number().min(0).max(2).optional(),
|
|
53
|
+
maxTokens: z.number().positive().optional(),
|
|
54
|
+
// Grok-specific
|
|
55
|
+
grok: z.object({
|
|
56
|
+
thinkingMode: z.enum(['off', 'low', 'high']).optional(),
|
|
57
|
+
liveSearch: z.boolean().optional(),
|
|
58
|
+
seed: z.number().optional(),
|
|
59
|
+
}).optional(),
|
|
60
|
+
// GLM-specific
|
|
61
|
+
glm: z.object({
|
|
62
|
+
thinkingEnabled: z.boolean().optional(),
|
|
63
|
+
}).optional(),
|
|
64
|
+
// Common settings
|
|
65
|
+
thinking: z.object({
|
|
66
|
+
enabled: z.boolean().optional(),
|
|
67
|
+
}).optional(),
|
|
68
|
+
sampling: z.object({
|
|
69
|
+
doSample: z.boolean().optional(),
|
|
70
|
+
seed: z.number().optional(),
|
|
71
|
+
topP: z.number().min(0).max(1).optional(),
|
|
72
|
+
}).optional(),
|
|
73
|
+
// Passthrough for other settings
|
|
74
|
+
}).passthrough();
|
|
75
|
+
/**
|
|
76
|
+
* Provider-aware settings manager
|
|
77
|
+
* Unlike the base SettingsManager, this is instance-based to support
|
|
78
|
+
* multiple concurrent provider contexts.
|
|
79
|
+
*/
|
|
80
|
+
export class ProviderSettingsManager {
|
|
81
|
+
static instances = new Map();
|
|
82
|
+
context;
|
|
83
|
+
userSettingsCache = null;
|
|
84
|
+
cacheTimestamp = 0;
|
|
85
|
+
cacheTTL = TIMEOUT_CONFIG.SETTINGS_CACHE_TTL;
|
|
86
|
+
constructor(context) {
|
|
87
|
+
this.context = context;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get or create a settings manager for a provider context
|
|
91
|
+
*/
|
|
92
|
+
static forContext(context) {
|
|
93
|
+
const key = `${context.provider}:${context.userDir}`;
|
|
94
|
+
let instance = ProviderSettingsManager.instances.get(key);
|
|
95
|
+
if (!instance) {
|
|
96
|
+
instance = new ProviderSettingsManager(context);
|
|
97
|
+
ProviderSettingsManager.instances.set(key, instance);
|
|
98
|
+
}
|
|
99
|
+
return instance;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get settings manager for a specific provider
|
|
103
|
+
*/
|
|
104
|
+
static forProvider(provider) {
|
|
105
|
+
const context = ProviderContext.create(provider);
|
|
106
|
+
return ProviderSettingsManager.forContext(context);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Get settings manager for current context
|
|
110
|
+
*/
|
|
111
|
+
static current() {
|
|
112
|
+
return ProviderSettingsManager.forContext(getProviderContext());
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Clear all cached instances (for testing)
|
|
116
|
+
*/
|
|
117
|
+
static clearInstances() {
|
|
118
|
+
ProviderSettingsManager.instances.clear();
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Invalidate cache for this instance
|
|
122
|
+
*/
|
|
123
|
+
invalidateCache() {
|
|
124
|
+
this.userSettingsCache = null;
|
|
125
|
+
this.cacheTimestamp = 0;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Get the config file path for this provider
|
|
129
|
+
*/
|
|
130
|
+
get configPath() {
|
|
131
|
+
return this.context.userConfigPath;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Ensure config directory exists with proper permissions
|
|
135
|
+
*/
|
|
136
|
+
ensureConfigDir() {
|
|
137
|
+
const dir = dirname(this.configPath);
|
|
138
|
+
if (!existsSync(dir)) {
|
|
139
|
+
mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Load user settings with caching and file locking
|
|
144
|
+
*/
|
|
145
|
+
loadUserSettings() {
|
|
146
|
+
const now = Date.now();
|
|
147
|
+
if (this.userSettingsCache && (now - this.cacheTimestamp) < this.cacheTTL) {
|
|
148
|
+
return this.userSettingsCache;
|
|
149
|
+
}
|
|
150
|
+
try {
|
|
151
|
+
if (!existsSync(this.configPath)) {
|
|
152
|
+
const defaults = {
|
|
153
|
+
baseURL: this.context.config.defaultBaseURL,
|
|
154
|
+
defaultModel: this.context.config.defaultModel,
|
|
155
|
+
};
|
|
156
|
+
this.saveUserSettings(defaults);
|
|
157
|
+
this.userSettingsCache = defaults;
|
|
158
|
+
this.cacheTimestamp = Date.now();
|
|
159
|
+
return defaults;
|
|
160
|
+
}
|
|
161
|
+
// Use file locking for safe concurrent reads
|
|
162
|
+
const data = SafeJsonFile.readSync(this.configPath, {
|
|
163
|
+
type: 'read',
|
|
164
|
+
timeout: 5000,
|
|
165
|
+
});
|
|
166
|
+
if (!data) {
|
|
167
|
+
const defaults = {};
|
|
168
|
+
this.userSettingsCache = defaults;
|
|
169
|
+
this.cacheTimestamp = Date.now();
|
|
170
|
+
return defaults;
|
|
171
|
+
}
|
|
172
|
+
// Decrypt API key if encrypted
|
|
173
|
+
let decryptedApiKey;
|
|
174
|
+
if (data.apiKeyEncrypted) {
|
|
175
|
+
try {
|
|
176
|
+
decryptedApiKey = decrypt(data.apiKeyEncrypted);
|
|
177
|
+
}
|
|
178
|
+
catch {
|
|
179
|
+
// Fall back to plain-text
|
|
180
|
+
decryptedApiKey = data.apiKey;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
else if (data.apiKey) {
|
|
184
|
+
decryptedApiKey = data.apiKey;
|
|
185
|
+
// Migrate to encrypted format
|
|
186
|
+
this.migrateToEncrypted(data, decryptedApiKey);
|
|
187
|
+
}
|
|
188
|
+
const settings = {
|
|
189
|
+
...data,
|
|
190
|
+
apiKey: decryptedApiKey,
|
|
191
|
+
apiKeyEncrypted: undefined,
|
|
192
|
+
};
|
|
193
|
+
this.userSettingsCache = settings;
|
|
194
|
+
this.cacheTimestamp = Date.now();
|
|
195
|
+
return settings;
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
console.warn(`Failed to load ${this.context.provider} settings:`, error);
|
|
199
|
+
const defaults = {};
|
|
200
|
+
this.userSettingsCache = defaults;
|
|
201
|
+
this.cacheTimestamp = Date.now();
|
|
202
|
+
return defaults;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Migrate plain-text API key to encrypted format
|
|
207
|
+
*/
|
|
208
|
+
migrateToEncrypted(data, apiKey) {
|
|
209
|
+
try {
|
|
210
|
+
const encrypted = encrypt(apiKey);
|
|
211
|
+
const migrated = {
|
|
212
|
+
...data,
|
|
213
|
+
apiKeyEncrypted: encrypted,
|
|
214
|
+
apiKey: undefined,
|
|
215
|
+
};
|
|
216
|
+
SafeJsonFile.writeSync(this.configPath, migrated);
|
|
217
|
+
console.log(`Migrated ${this.context.provider} API key to encrypted format`);
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
// Ignore migration errors
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Save user settings with file locking
|
|
225
|
+
* Uses atomic read-modify-write to prevent race conditions
|
|
226
|
+
*/
|
|
227
|
+
saveUserSettings(settings) {
|
|
228
|
+
this.ensureConfigDir();
|
|
229
|
+
try {
|
|
230
|
+
// Use withFileLockSync to make entire read-modify-write atomic
|
|
231
|
+
withFileLockSync(this.configPath, () => {
|
|
232
|
+
// Load existing settings (without lock - we already have it)
|
|
233
|
+
let existing = {};
|
|
234
|
+
if (existsSync(this.configPath)) {
|
|
235
|
+
try {
|
|
236
|
+
const content = require('fs').readFileSync(this.configPath, 'utf-8');
|
|
237
|
+
const data = JSON.parse(content);
|
|
238
|
+
// Decrypt existing API key
|
|
239
|
+
if (data.apiKeyEncrypted) {
|
|
240
|
+
try {
|
|
241
|
+
data.apiKey = decrypt(data.apiKeyEncrypted);
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
// Keep as-is
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
existing = data;
|
|
248
|
+
}
|
|
249
|
+
catch {
|
|
250
|
+
// Ignore parse errors, start fresh
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
// Merge settings
|
|
254
|
+
const merged = { ...existing, ...settings };
|
|
255
|
+
// Encrypt API key before saving
|
|
256
|
+
const toSave = { ...merged };
|
|
257
|
+
if (toSave.apiKey) {
|
|
258
|
+
toSave.apiKeyEncrypted = encrypt(toSave.apiKey);
|
|
259
|
+
delete toSave.apiKey;
|
|
260
|
+
}
|
|
261
|
+
// Write atomically
|
|
262
|
+
const tempPath = `${this.configPath}.tmp.${process.pid}.${Date.now()}`;
|
|
263
|
+
try {
|
|
264
|
+
require('fs').writeFileSync(tempPath, JSON.stringify(toSave, null, 2));
|
|
265
|
+
require('fs').renameSync(tempPath, this.configPath);
|
|
266
|
+
chmodSync(this.configPath, 0o600);
|
|
267
|
+
}
|
|
268
|
+
catch (writeError) {
|
|
269
|
+
// Clean up temp file
|
|
270
|
+
try {
|
|
271
|
+
if (existsSync(tempPath)) {
|
|
272
|
+
require('fs').unlinkSync(tempPath);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
catch {
|
|
276
|
+
// Ignore cleanup errors
|
|
277
|
+
}
|
|
278
|
+
throw writeError;
|
|
279
|
+
}
|
|
280
|
+
// Update cache
|
|
281
|
+
this.userSettingsCache = merged;
|
|
282
|
+
this.cacheTimestamp = Date.now();
|
|
283
|
+
}, { type: 'write', timeout: 10000, throwOnTimeout: true });
|
|
284
|
+
}
|
|
285
|
+
catch (error) {
|
|
286
|
+
console.error(`Failed to save ${this.context.provider} settings:`, error);
|
|
287
|
+
throw error;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Get API key with fallback to environment variable
|
|
292
|
+
*/
|
|
293
|
+
getApiKey() {
|
|
294
|
+
// Check provider-specific environment variable first
|
|
295
|
+
const envKey = this.context.getEnvApiKey();
|
|
296
|
+
if (envKey)
|
|
297
|
+
return envKey;
|
|
298
|
+
// Check generic environment variable
|
|
299
|
+
const genericKey = process.env.YOUR_API_KEY || process.env.AI_API_KEY;
|
|
300
|
+
if (genericKey)
|
|
301
|
+
return genericKey;
|
|
302
|
+
// Fall back to settings
|
|
303
|
+
return this.loadUserSettings().apiKey;
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Get base URL with fallback
|
|
307
|
+
* Returns undefined if no valid URL is configured (empty string is treated as unconfigured)
|
|
308
|
+
*/
|
|
309
|
+
getBaseURL() {
|
|
310
|
+
const envURL = process.env.AI_BASE_URL;
|
|
311
|
+
if (envURL && envURL.trim())
|
|
312
|
+
return envURL;
|
|
313
|
+
const settings = this.loadUserSettings();
|
|
314
|
+
const settingsURL = settings.baseURL;
|
|
315
|
+
if (settingsURL && settingsURL.trim())
|
|
316
|
+
return settingsURL;
|
|
317
|
+
const defaultURL = this.context.config.defaultBaseURL;
|
|
318
|
+
if (defaultURL && defaultURL.trim())
|
|
319
|
+
return defaultURL;
|
|
320
|
+
return undefined;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Get current model with fallback
|
|
324
|
+
* Returns undefined if no valid model is configured (empty string is treated as unconfigured)
|
|
325
|
+
*/
|
|
326
|
+
getCurrentModel() {
|
|
327
|
+
const envModel = process.env.AI_MODEL;
|
|
328
|
+
if (envModel && envModel.trim())
|
|
329
|
+
return envModel;
|
|
330
|
+
const settings = this.loadUserSettings();
|
|
331
|
+
const settingsModel = settings.defaultModel;
|
|
332
|
+
if (settingsModel && settingsModel.trim())
|
|
333
|
+
return settingsModel;
|
|
334
|
+
const defaultModel = this.context.config.defaultModel;
|
|
335
|
+
if (defaultModel && defaultModel.trim())
|
|
336
|
+
return defaultModel;
|
|
337
|
+
return undefined;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Get available models
|
|
341
|
+
*/
|
|
342
|
+
getAvailableModels() {
|
|
343
|
+
return this.loadUserSettings().models || [];
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Get thinking settings
|
|
347
|
+
*/
|
|
348
|
+
getThinkingSettings() {
|
|
349
|
+
const envThink = process.env.AI_THINK;
|
|
350
|
+
if (envThink !== undefined) {
|
|
351
|
+
return { enabled: envThink.toLowerCase() === 'true' };
|
|
352
|
+
}
|
|
353
|
+
const settings = this.loadUserSettings();
|
|
354
|
+
if (settings.thinking) {
|
|
355
|
+
return settings.thinking;
|
|
356
|
+
}
|
|
357
|
+
// Provider-specific defaults
|
|
358
|
+
if (this.context.provider === 'glm' && settings.glm?.thinkingEnabled !== undefined) {
|
|
359
|
+
return { enabled: settings.glm.thinkingEnabled };
|
|
360
|
+
}
|
|
361
|
+
if (this.context.provider === 'grok' && settings.grok?.thinkingMode) {
|
|
362
|
+
return { enabled: settings.grok.thinkingMode !== 'off' };
|
|
363
|
+
}
|
|
364
|
+
return undefined;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Get Grok-specific settings
|
|
368
|
+
*/
|
|
369
|
+
getGrokSettings() {
|
|
370
|
+
if (this.context.provider !== 'grok')
|
|
371
|
+
return undefined;
|
|
372
|
+
const settings = this.loadUserSettings();
|
|
373
|
+
return {
|
|
374
|
+
thinkingMode: settings.grok?.thinkingMode || 'high',
|
|
375
|
+
liveSearch: settings.grok?.liveSearch ?? true,
|
|
376
|
+
seed: settings.grok?.seed,
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Get GLM-specific settings
|
|
381
|
+
*/
|
|
382
|
+
getGLMSettings() {
|
|
383
|
+
if (this.context.provider !== 'glm')
|
|
384
|
+
return undefined;
|
|
385
|
+
const settings = this.loadUserSettings();
|
|
386
|
+
return {
|
|
387
|
+
thinkingEnabled: settings.glm?.thinkingEnabled ?? false,
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Check if provider is configured
|
|
392
|
+
*/
|
|
393
|
+
isConfigured() {
|
|
394
|
+
const apiKey = this.getApiKey();
|
|
395
|
+
const baseURL = this.getBaseURL();
|
|
396
|
+
const model = this.getCurrentModel();
|
|
397
|
+
return !!(apiKey && baseURL && model);
|
|
398
|
+
}
|
|
399
|
+
/**
|
|
400
|
+
* Update a specific setting
|
|
401
|
+
*/
|
|
402
|
+
updateSetting(key, value) {
|
|
403
|
+
this.saveUserSettings({ [key]: value });
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
// ============================================================================
|
|
407
|
+
// Convenience Functions
|
|
408
|
+
// ============================================================================
|
|
409
|
+
/**
|
|
410
|
+
* Get provider settings for current context or specific provider
|
|
411
|
+
*/
|
|
412
|
+
export function getProviderSettings(provider) {
|
|
413
|
+
if (provider) {
|
|
414
|
+
return ProviderSettingsManager.forProvider(provider);
|
|
415
|
+
}
|
|
416
|
+
return ProviderSettingsManager.current();
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Check if a provider is configured
|
|
420
|
+
*/
|
|
421
|
+
export function isProviderConfigured(provider) {
|
|
422
|
+
return getProviderSettings(provider).isConfigured();
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Get the best available provider (configured with API key)
|
|
426
|
+
*/
|
|
427
|
+
export function getBestAvailableProvider() {
|
|
428
|
+
// Check in order of preference
|
|
429
|
+
if (isProviderConfigured('glm'))
|
|
430
|
+
return 'glm';
|
|
431
|
+
if (isProviderConfigured('grok'))
|
|
432
|
+
return 'grok';
|
|
433
|
+
if (isProviderConfigured('generic'))
|
|
434
|
+
return 'generic';
|
|
435
|
+
return null;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Get all configured providers
|
|
439
|
+
*/
|
|
440
|
+
export function getConfiguredProviders() {
|
|
441
|
+
const providers = [];
|
|
442
|
+
if (isProviderConfigured('glm'))
|
|
443
|
+
providers.push('glm');
|
|
444
|
+
if (isProviderConfigured('grok'))
|
|
445
|
+
providers.push('grok');
|
|
446
|
+
if (isProviderConfigured('generic'))
|
|
447
|
+
providers.push('generic');
|
|
448
|
+
return providers;
|
|
449
|
+
}
|
|
450
|
+
//# sourceMappingURL=provider-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-settings.js","sourceRoot":"","sources":["../../src/utils/provider-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,eAAe,EAEf,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;GAEG;AACH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,oBAAoB;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,eAAe,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAChD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAEtC,6BAA6B;IAC7B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAE3C,gBAAgB;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;QACvD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC,CAAC,QAAQ,EAAE;IAEb,eAAe;IACf,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KACxC,CAAC,CAAC,QAAQ,EAAE;IAEb,kBAAkB;IAClB,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC,CAAC,QAAQ,EAAE;IAEb,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAChC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC1C,CAAC,CAAC,QAAQ,EAAE;IAEb,iCAAiC;CAClC,CAAC,CAAC,WAAW,EAAE,CAAC;AAIjB;;;;GAIG;AACH,MAAM,OAAO,uBAAuB;IAC1B,MAAM,CAAC,SAAS,GAAG,IAAI,GAAG,EAAmC,CAAC;IAE7D,OAAO,CAAkB;IAC1B,iBAAiB,GAAgC,IAAI,CAAC;IACtD,cAAc,GAAG,CAAC,CAAC;IACV,QAAQ,GAAG,cAAc,CAAC,kBAAkB,CAAC;IAE9D,YAAoB,OAAwB;QAC1C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,OAAwB;QACxC,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrD,IAAI,QAAQ,GAAG,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,QAAQ,GAAG,IAAI,uBAAuB,CAAC,OAAO,CAAC,CAAC;YAChD,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,QAAsB;QACvC,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACjD,OAAO,uBAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAAO;QACZ,OAAO,uBAAuB,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc;QACnB,uBAAuB,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,eAAe;QACb,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,eAAe;QACrB,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,iBAAiB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAyB;oBACrC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc;oBAC3C,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY;iBAC/C,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;gBAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,6CAA6C;YAC7C,MAAM,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAuB,IAAI,CAAC,UAAU,EAAE;gBACxE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,QAAQ,GAAyB,EAAE,CAAC;gBAC1C,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;gBAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACjC,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,+BAA+B;YAC/B,IAAI,eAAmC,CAAC;YACxC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAClD,CAAC;gBAAC,MAAM,CAAC;oBACP,0BAA0B;oBAC1B,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;gBAChC,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC9B,8BAA8B;gBAC9B,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;YACjD,CAAC;YAED,MAAM,QAAQ,GAAyB;gBACrC,GAAG,IAAI;gBACP,MAAM,EAAE,eAAe;gBACvB,eAAe,EAAE,SAAS;aAC3B,CAAC;YAEF,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,QAAQ,YAAY,EAAE,KAAK,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAyB,EAAE,CAAC;YAC1C,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;YAClC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,IAA0B,EAAE,MAAc;QACnE,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG;gBACf,GAAG,IAAI;gBACP,eAAe,EAAE,SAAS;gBAC1B,MAAM,EAAE,SAAS;aAClB,CAAC;YACF,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,QAAQ,8BAA8B,CAAC,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAuC;QACtD,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,IAAI,CAAC;YACH,+DAA+D;YAC/D,gBAAgB,CACd,IAAI,CAAC,UAAU,EACf,GAAG,EAAE;gBACH,6DAA6D;gBAC7D,IAAI,QAAQ,GAAyB,EAAE,CAAC;gBACxC,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;wBACrE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAyB,CAAC;wBACzD,2BAA2B;wBAC3B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;4BACzB,IAAI,CAAC;gCACH,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;4BAC9C,CAAC;4BAAC,MAAM,CAAC;gCACP,aAAa;4BACf,CAAC;wBACH,CAAC;wBACD,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;oBAAC,MAAM,CAAC;wBACP,mCAAmC;oBACrC,CAAC;gBACH,CAAC;gBAED,iBAAiB;gBACjB,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;gBAE5C,gCAAgC;gBAChC,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;gBAC7B,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;oBAClB,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAChD,OAAO,MAAM,CAAC,MAAM,CAAC;gBACvB,CAAC;gBAED,mBAAmB;gBACnB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,UAAU,QAAQ,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACvE,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;oBACvE,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;oBACpD,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBACpC,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,qBAAqB;oBACrB,IAAI,CAAC;wBACH,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACzB,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;oBAAC,MAAM,CAAC;wBACP,wBAAwB;oBAC1B,CAAC;oBACD,MAAM,UAAU,CAAC;gBACnB,CAAC;gBAED,eAAe;gBACf,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;gBAChC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACnC,CAAC,EACD,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,CACxD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,QAAQ,YAAY,EAAE,KAAK,CAAC,CAAC;YAC1E,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,qDAAqD;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,qCAAqC;QACrC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;QACtE,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;QAElC,wBAAwB;QACxB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QACvC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;YAAE,OAAO,MAAM,CAAC;QAE3C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC;QACrC,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE;YAAE,OAAO,WAAW,CAAC;QAE1D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC;QACtD,IAAI,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE;YAAE,OAAO,UAAU,CAAC;QAEvD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,eAAe;QACb,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QACtC,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE;YAAE,OAAO,QAAQ,CAAC;QAEjD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC5C,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,EAAE;YAAE,OAAO,aAAa,CAAC;QAEhE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;QACtD,IAAI,YAAY,IAAI,YAAY,CAAC,IAAI,EAAE;YAAE,OAAO,YAAY,CAAC;QAE7D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QACtC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACxD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAC3B,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,CAAC,GAAG,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;YACnF,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;QACnD,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC;YACpE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QAC3D,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,eAAe;QAKb,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,MAAM;YAAE,OAAO,SAAS,CAAC;QAEvD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,OAAO;YACL,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,IAAI,MAAM;YACnD,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,IAAI,IAAI;YAC7C,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI;SAC1B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,cAAc;QAGZ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,KAAK;YAAE,OAAO,SAAS,CAAC;QAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,OAAO;YACL,eAAe,EAAE,QAAQ,CAAC,GAAG,EAAE,eAAe,IAAI,KAAK;SACxD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,YAAY;QACV,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,OAAO,IAAI,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,aAAa,CACX,GAAM,EACN,KAA8B;QAE9B,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1C,CAAC;;AAGH,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAuB;IAEvB,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,uBAAuB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,uBAAuB,CAAC,OAAO,EAAE,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAsB;IACzD,OAAO,mBAAmB,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IACtC,+BAA+B;IAC/B,IAAI,oBAAoB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9C,IAAI,oBAAoB,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAChD,IAAI,oBAAoB,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IACtD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,MAAM,SAAS,GAAmB,EAAE,CAAC;IACrC,IAAI,oBAAoB,CAAC,KAAK,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,oBAAoB,CAAC,MAAM,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,oBAAoB,CAAC,SAAS,CAAC;QAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/D,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defai.digital/ax-cli",
|
|
3
|
-
"version": "4.1.
|
|
4
|
-
"sdkVersion": "1.
|
|
3
|
+
"version": "4.1.14",
|
|
4
|
+
"sdkVersion": "1.4.0",
|
|
5
5
|
"description": "Enterprise-Class AI Command Line Interface - Primary support for GLM (General Language Model) with multi-provider AI orchestration powered by AutomatosX.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"workspaces": [
|