@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.
Files changed (83) hide show
  1. package/.ax-cli/settings.json +1 -0
  2. package/README.md +140 -589
  3. package/dist/agent/dependency-resolver.d.ts +7 -0
  4. package/dist/agent/dependency-resolver.js +46 -18
  5. package/dist/agent/dependency-resolver.js.map +1 -1
  6. package/dist/agent/execution/tool-executor.d.ts +4 -0
  7. package/dist/agent/execution/tool-executor.js +76 -52
  8. package/dist/agent/execution/tool-executor.js.map +1 -1
  9. package/dist/agent/parallel-tools.d.ts +4 -0
  10. package/dist/agent/parallel-tools.js +65 -24
  11. package/dist/agent/parallel-tools.js.map +1 -1
  12. package/dist/agent/planning/plan-executor.d.ts +0 -5
  13. package/dist/agent/planning/plan-executor.js +23 -6
  14. package/dist/agent/planning/plan-executor.js.map +1 -1
  15. package/dist/agent/streaming/stream-handler.js +7 -4
  16. package/dist/agent/streaming/stream-handler.js.map +1 -1
  17. package/dist/agent/subagent-orchestrator.d.ts +35 -2
  18. package/dist/agent/subagent-orchestrator.js +188 -146
  19. package/dist/agent/subagent-orchestrator.js.map +1 -1
  20. package/dist/agent/subagent-types.js +3 -1
  21. package/dist/agent/subagent-types.js.map +1 -1
  22. package/dist/agent/subagent.d.ts +15 -4
  23. package/dist/agent/subagent.js +91 -72
  24. package/dist/agent/subagent.js.map +1 -1
  25. package/dist/design/figma-alias.d.ts +77 -0
  26. package/dist/design/figma-alias.js +246 -0
  27. package/dist/design/figma-alias.js.map +1 -1
  28. package/dist/design/figma-client.d.ts +4 -0
  29. package/dist/design/figma-client.js +24 -4
  30. package/dist/design/figma-client.js.map +1 -1
  31. package/dist/design/figma-map.js +78 -6
  32. package/dist/design/figma-map.js.map +1 -1
  33. package/dist/design/figma-tokens.js +6 -2
  34. package/dist/design/figma-tokens.js.map +1 -1
  35. package/dist/design/index.d.ts +1 -1
  36. package/dist/design/index.js +3 -1
  37. package/dist/design/index.js.map +1 -1
  38. package/dist/design/types.d.ts +9 -0
  39. package/dist/mcp/client-v2.js +4 -0
  40. package/dist/mcp/client-v2.js.map +1 -1
  41. package/dist/mcp/config-detector.js +3 -4
  42. package/dist/mcp/config-detector.js.map +1 -1
  43. package/dist/mcp/debug.d.ts +207 -0
  44. package/dist/mcp/debug.js +398 -0
  45. package/dist/mcp/debug.js.map +1 -0
  46. package/dist/mcp/index.d.ts +1 -0
  47. package/dist/mcp/index.js +4 -0
  48. package/dist/mcp/index.js.map +1 -1
  49. package/dist/mcp/reconnection.js +6 -3
  50. package/dist/mcp/reconnection.js.map +1 -1
  51. package/dist/mcp/validation.js +15 -6
  52. package/dist/mcp/validation.js.map +1 -1
  53. package/dist/memory/index.d.ts +1 -0
  54. package/dist/memory/index.js +2 -0
  55. package/dist/memory/index.js.map +1 -1
  56. package/dist/memory/provider-context-store.d.ts +127 -0
  57. package/dist/memory/provider-context-store.js +385 -0
  58. package/dist/memory/provider-context-store.js.map +1 -0
  59. package/dist/sdk/errors.d.ts +2 -0
  60. package/dist/sdk/errors.js +2 -0
  61. package/dist/sdk/errors.js.map +1 -1
  62. package/dist/sdk/index.d.ts +633 -62
  63. package/dist/sdk/index.js +854 -116
  64. package/dist/sdk/index.js.map +1 -1
  65. package/dist/sdk/testing.d.ts +46 -4
  66. package/dist/sdk/testing.js +58 -6
  67. package/dist/sdk/testing.js.map +1 -1
  68. package/dist/sdk/version.d.ts +13 -9
  69. package/dist/sdk/version.js +13 -9
  70. package/dist/sdk/version.js.map +1 -1
  71. package/dist/utils/file-lock.d.ts +141 -0
  72. package/dist/utils/file-lock.js +559 -0
  73. package/dist/utils/file-lock.js.map +1 -0
  74. package/dist/utils/provider-context.d.ts +243 -0
  75. package/dist/utils/provider-context.js +421 -0
  76. package/dist/utils/provider-context.js.map +1 -0
  77. package/dist/utils/provider-file-cache.d.ts +91 -0
  78. package/dist/utils/provider-file-cache.js +165 -0
  79. package/dist/utils/provider-file-cache.js.map +1 -0
  80. package/dist/utils/provider-settings.d.ts +181 -0
  81. package/dist/utils/provider-settings.js +450 -0
  82. package/dist/utils/provider-settings.js.map +1 -0
  83. 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":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@defai.digital/ax-cli",
3
- "version": "4.1.10",
4
- "sdkVersion": "1.3.0",
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": [