@majkapp/majk-chat-cli 1.0.2 → 1.0.3

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/cli.js CHANGED
@@ -47,6 +47,7 @@ const dotenv_1 = __importDefault(require("dotenv"));
47
47
  const majk_chat_core_1 = require("@majkapp/majk-chat-core");
48
48
  const interactive_1 = require("./interactive/interactive");
49
49
  const credentials_1 = require("./utils/credentials");
50
+ const profile_config_1 = require("./utils/profile-config");
50
51
  const config_1 = require("./utils/config");
51
52
  const bash_tool_1 = require("./tools/bash.tool");
52
53
  const filesystem_tool_1 = require("./tools/filesystem.tool");
@@ -83,7 +84,9 @@ function addCredentialOptions(command) {
83
84
  .option('--aws-access-key-id <id>', 'AWS access key ID')
84
85
  .option('--aws-secret-access-key <key>', 'AWS secret access key')
85
86
  .option('--aws-session-token <token>', 'AWS session token')
86
- .option('--aws-region <region>', 'AWS region');
87
+ .option('--aws-region <region>', 'AWS region')
88
+ // Profile system
89
+ .option('--profile <name>', 'Use specific profile (default: "default")');
87
90
  }
88
91
  // Chat command
89
92
  const chatCommand = program
@@ -422,7 +425,7 @@ addCredentialOptions(modelsCommand)
422
425
  process.exit(1);
423
426
  }
424
427
  });
425
- // Configure command
428
+ // Configure command (legacy)
426
429
  program
427
430
  .command('config')
428
431
  .description('Configure providers and credentials')
@@ -449,6 +452,210 @@ program
449
452
  console.log(chalk_1.default.yellow('Please specify an action: --init, --set, --get, or --list'));
450
453
  }
451
454
  });
455
+ // Profile configuration commands
456
+ program
457
+ .command('configure-provider')
458
+ .description('Interactively configure a provider')
459
+ .argument('<provider>', 'Provider to configure (openai, anthropic, azure-openai, bedrock)')
460
+ .option('--profile <name>', 'Profile name (default: "default")')
461
+ .option('--skip-validation', 'Skip API key validation')
462
+ .action(async (provider, options) => {
463
+ try {
464
+ const profileManager = new profile_config_1.ProfileConfigManager();
465
+ await profileManager.configureProvider(provider, options.profile || 'default', options.skipValidation || false);
466
+ }
467
+ catch (error) {
468
+ console.error(chalk_1.default.red('Error:'), error instanceof Error ? error.message : error);
469
+ process.exit(1);
470
+ }
471
+ });
472
+ // Direct configuration commands
473
+ program
474
+ .command('set-key')
475
+ .description('Set API keys directly for providers')
476
+ .option('--openai <key>', 'OpenAI API key')
477
+ .option('--anthropic <key>', 'Anthropic API key')
478
+ .option('--azure-openai <key> <endpoint> <deployment>', 'Azure OpenAI credentials (key endpoint deployment)')
479
+ .option('--bedrock <accessKey> <secretKey> [region]', 'AWS Bedrock credentials (accessKey secretKey region)')
480
+ .option('--profile <name>', 'Profile to store configuration in (default: "default")')
481
+ .option('--skip-validation', 'Skip API key validation')
482
+ .action(async (options) => {
483
+ try {
484
+ const profileManager = new profile_config_1.ProfileConfigManager();
485
+ const directOptions = {
486
+ profile: options.profile || 'default',
487
+ skipValidation: options.skipValidation || false
488
+ };
489
+ // Handle OpenAI
490
+ if (options.openai) {
491
+ directOptions.setOpenaiKey = options.openai;
492
+ }
493
+ // Handle Anthropic
494
+ if (options.anthropic) {
495
+ directOptions.setAnthropicKey = options.anthropic;
496
+ }
497
+ // Handle Azure OpenAI
498
+ if (options.azureOpenai) {
499
+ const args = Array.isArray(options.azureOpenai) ? options.azureOpenai : [options.azureOpenai];
500
+ if (args.length >= 3) {
501
+ directOptions.setAzureOpenaiKey = args[0];
502
+ directOptions.azureOpenaiEndpoint = args[1];
503
+ directOptions.azureOpenaiDeployment = args[2];
504
+ }
505
+ else {
506
+ throw new Error('Azure OpenAI requires key, endpoint, and deployment name');
507
+ }
508
+ }
509
+ // Handle Bedrock
510
+ if (options.bedrock) {
511
+ const args = Array.isArray(options.bedrock) ? options.bedrock : [options.bedrock];
512
+ if (args.length >= 2) {
513
+ directOptions.setBedrock = true;
514
+ directOptions.awsAccessKeyId = args[0];
515
+ directOptions.awsSecretAccessKey = args[1];
516
+ directOptions.awsRegion = args[2] || 'us-east-1';
517
+ }
518
+ else {
519
+ throw new Error('Bedrock requires access key and secret key');
520
+ }
521
+ }
522
+ // Check if any provider was specified
523
+ if (!directOptions.setOpenaiKey && !directOptions.setAnthropicKey &&
524
+ !directOptions.setAzureOpenaiKey && !directOptions.setBedrock) {
525
+ console.log(chalk_1.default.yellow('No provider specified. Use --openai, --anthropic, --azure-openai, or --bedrock'));
526
+ process.exit(1);
527
+ }
528
+ await profileManager.setDirectConfig(directOptions);
529
+ }
530
+ catch (error) {
531
+ console.error(chalk_1.default.red('Error:'), error instanceof Error ? error.message : error);
532
+ process.exit(1);
533
+ }
534
+ });
535
+ // Profile management commands
536
+ program
537
+ .command('list-profiles')
538
+ .description('List all available profiles')
539
+ .action(async () => {
540
+ try {
541
+ const profileManager = new profile_config_1.ProfileConfigManager();
542
+ const profiles = await profileManager.listProfiles();
543
+ if (profiles.length === 0) {
544
+ console.log(chalk_1.default.yellow('No profiles configured'));
545
+ return;
546
+ }
547
+ console.log(chalk_1.default.cyan('\nConfigured profiles:'));
548
+ for (const profile of profiles) {
549
+ const config = await profileManager.getProfile(profile);
550
+ const providers = config ? Object.keys(config.providers) : [];
551
+ console.log(` ${chalk_1.default.green(profile)} (${providers.join(', ')})`);
552
+ }
553
+ }
554
+ catch (error) {
555
+ console.error(chalk_1.default.red('Error:'), error instanceof Error ? error.message : error);
556
+ process.exit(1);
557
+ }
558
+ });
559
+ program
560
+ .command('delete-profile')
561
+ .description('Delete a profile')
562
+ .argument('<name>', 'Profile name to delete')
563
+ .action(async (name) => {
564
+ try {
565
+ const profileManager = new profile_config_1.ProfileConfigManager();
566
+ const deleted = await profileManager.deleteProfile(name);
567
+ if (deleted) {
568
+ console.log(chalk_1.default.green(`Profile '${name}' deleted successfully`));
569
+ }
570
+ else {
571
+ console.log(chalk_1.default.yellow(`Profile '${name}' not found`));
572
+ }
573
+ }
574
+ catch (error) {
575
+ console.error(chalk_1.default.red('Error:'), error instanceof Error ? error.message : error);
576
+ process.exit(1);
577
+ }
578
+ });
579
+ // Validation commands
580
+ program
581
+ .command('test-profile')
582
+ .description('Test all providers in a profile')
583
+ .argument('<name>', 'Profile name to test')
584
+ .action(async (name) => {
585
+ try {
586
+ const profileManager = new profile_config_1.ProfileConfigManager();
587
+ const results = await profileManager.testProfile(name);
588
+ console.log(chalk_1.default.cyan(`\nTesting profile: ${name}`));
589
+ for (const result of results) {
590
+ const status = result.valid ? chalk_1.default.green('✓') : chalk_1.default.red('✗');
591
+ const message = result.valid
592
+ ? `${result.provider} (model: ${result.model})`
593
+ : `${result.provider} - ${result.error}`;
594
+ console.log(` ${status} ${message}`);
595
+ }
596
+ }
597
+ catch (error) {
598
+ console.error(chalk_1.default.red('Error:'), error instanceof Error ? error.message : error);
599
+ process.exit(1);
600
+ }
601
+ });
602
+ program
603
+ .command('test-all-profiles')
604
+ .description('Test all providers in all profiles')
605
+ .action(async () => {
606
+ try {
607
+ const profileManager = new profile_config_1.ProfileConfigManager();
608
+ const results = await profileManager.testAllProfiles();
609
+ if (results.length === 0) {
610
+ console.log(chalk_1.default.yellow('No profiles configured'));
611
+ return;
612
+ }
613
+ console.log(chalk_1.default.cyan('\nTesting all profiles:'));
614
+ // Group by profile
615
+ const byProfile = {};
616
+ for (const result of results) {
617
+ if (!byProfile[result.profile]) {
618
+ byProfile[result.profile] = [];
619
+ }
620
+ byProfile[result.profile].push(result);
621
+ }
622
+ for (const [profileName, profileResults] of Object.entries(byProfile)) {
623
+ console.log(chalk_1.default.bold(`\n${profileName}:`));
624
+ for (const result of profileResults) {
625
+ const status = result.valid ? chalk_1.default.green('✓') : chalk_1.default.red('✗');
626
+ const message = result.valid
627
+ ? `${result.provider} (model: ${result.model})`
628
+ : `${result.provider} - ${result.error}`;
629
+ console.log(` ${status} ${message}`);
630
+ }
631
+ }
632
+ }
633
+ catch (error) {
634
+ console.error(chalk_1.default.red('Error:'), error instanceof Error ? error.message : error);
635
+ process.exit(1);
636
+ }
637
+ });
638
+ program
639
+ .command('test-provider')
640
+ .description('Test specific provider in a profile')
641
+ .argument('<provider>', 'Provider to test')
642
+ .option('--profile <name>', 'Profile to test (default: "default")')
643
+ .action(async (provider, options) => {
644
+ try {
645
+ const profileManager = new profile_config_1.ProfileConfigManager();
646
+ const result = await profileManager.testProvider(provider, options.profile || 'default');
647
+ console.log(chalk_1.default.cyan(`\nTesting ${provider} in profile: ${options.profile || 'default'}`));
648
+ const status = result.valid ? chalk_1.default.green('✓') : chalk_1.default.red('✗');
649
+ const message = result.valid
650
+ ? `Valid (model: ${result.model})`
651
+ : `Invalid - ${result.error}`;
652
+ console.log(` ${status} ${message}`);
653
+ }
654
+ catch (error) {
655
+ console.error(chalk_1.default.red('Error:'), error instanceof Error ? error.message : error);
656
+ process.exit(1);
657
+ }
658
+ });
452
659
  // Helper functions
453
660
  // Extract credential options from CLI arguments
454
661
  function extractCredentialOptions(options) {
@@ -470,13 +677,17 @@ function extractCredentialOptions(options) {
470
677
  awsAccessKeyId: options.awsAccessKeyId,
471
678
  awsSecretAccessKey: options.awsSecretAccessKey,
472
679
  awsSessionToken: options.awsSessionToken,
473
- awsRegion: options.awsRegion
680
+ awsRegion: options.awsRegion,
681
+ // Profile system
682
+ profile: options.profile
474
683
  };
475
684
  }
476
685
  async function setupChat(options) {
477
686
  const builder = new majk_chat_core_1.MajkChatBuilder();
478
687
  const credManager = new credentials_1.CredentialManager();
479
688
  const credOptions = extractCredentialOptions(options);
689
+ // Initialize working directory for tools to the CLI execution directory
690
+ majk_chat_basic_tools_1.WorkingDirectoryManager.initializeFromCLI();
480
691
  // Load configuration
481
692
  if (options.config) {
482
693
  const config = await config_1.ConfigLoader.load(options.config);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -13,10 +13,12 @@ export interface CliCredentialOptions {
13
13
  apiKey?: string;
14
14
  apiKeyFile?: string;
15
15
  envFile?: string;
16
+ profile?: string;
16
17
  }
17
18
  export declare class CredentialManager {
18
19
  private configDir;
19
20
  private dotenvLoaded;
21
+ private profileManager;
20
22
  constructor();
21
23
  /**
22
24
  * Load environment variables from .env files with precedence:
@@ -39,6 +41,10 @@ export declare class CredentialManager {
39
41
  private getEnvironmentKey;
40
42
  private getProviderStandardKey;
41
43
  private hasProviderConfig;
44
+ /**
45
+ * Check if provider has config in any location including profiles
46
+ */
47
+ hasProviderConfigAnywhere(provider: string, profileName?: string): Promise<boolean>;
42
48
  private loadProviderConfig;
43
49
  saveProviderConfig(provider: string, config: ProviderConfig): Promise<void>;
44
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/utils/credentials.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,MAAM,WAAW,oBAAoB;IAEnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAkB;;IAMtC;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAqCjB,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;IAqC3D,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IAgD/F;;OAEG;IACH,OAAO,CAAC,YAAY;IAkBpB;;OAEG;IACH,OAAO,CAAC,yBAAyB;YA0BnB,kBAAkB;IAShC,OAAO,CAAC,iBAAiB;YAgBX,sBAAsB;YA6BtB,iBAAiB;YAKjB,kBAAkB;IAY1B,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAKlF"}
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/utils/credentials.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,MAAM,WAAW,oBAAoB;IAEnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,eAAe,CAAC,EAAE,MAAM,CAAC;IAGzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,cAAc,CAAuB;;IAO7C;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAqCjB,aAAa,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;IAqC3D,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,CAAC;IA6D/F;;OAEG;IACH,OAAO,CAAC,YAAY;IAkBpB;;OAEG;IACH,OAAO,CAAC,yBAAyB;YA2CnB,kBAAkB;IAShC,OAAO,CAAC,iBAAiB;YAgBX,sBAAsB;YA6BtB,iBAAiB;IAK/B;;OAEG;IACG,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;YAY3E,kBAAkB;IAY1B,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAKlF"}
@@ -38,11 +38,14 @@ const fs = __importStar(require("fs-extra"));
38
38
  const path = __importStar(require("path"));
39
39
  const os = __importStar(require("os"));
40
40
  const dotenv = __importStar(require("dotenv"));
41
+ const profile_config_1 = require("./profile-config");
41
42
  class CredentialManager {
42
43
  configDir;
43
44
  dotenvLoaded = false;
45
+ profileManager;
44
46
  constructor() {
45
47
  this.configDir = path.join(os.homedir(), '.majk-chat');
48
+ this.profileManager = new profile_config_1.ProfileConfigManager();
46
49
  }
47
50
  /**
48
51
  * Load environment variables from .env files with precedence:
@@ -83,28 +86,28 @@ class CredentialManager {
83
86
  // Load .env files first
84
87
  this.loadDotenvFiles(options?.envFile);
85
88
  const providers = {};
86
- // Check for OpenAI credentials (CLI options, env vars, or config)
89
+ // Check for OpenAI credentials (CLI options, env vars, config, or profile)
87
90
  if (options?.openaiApiKey || options?.apiKey ||
88
91
  process.env.OPENAI_API_KEY ||
89
- await this.hasProviderConfig('openai')) {
92
+ await this.hasProviderConfigAnywhere('openai', options?.profile)) {
90
93
  providers.openai = true;
91
94
  }
92
95
  // Check for Anthropic credentials
93
96
  if (options?.anthropicApiKey || options?.apiKey ||
94
97
  process.env.ANTHROPIC_API_KEY ||
95
- await this.hasProviderConfig('anthropic')) {
98
+ await this.hasProviderConfigAnywhere('anthropic', options?.profile)) {
96
99
  providers.anthropic = true;
97
100
  }
98
101
  // Check for Azure OpenAI credentials
99
102
  if (options?.azureOpenaiApiKey || options?.apiKey ||
100
103
  process.env.AZURE_OPENAI_API_KEY ||
101
- await this.hasProviderConfig('azure-openai')) {
104
+ await this.hasProviderConfigAnywhere('azure-openai', options?.profile)) {
102
105
  providers.azureOpenai = true;
103
106
  }
104
107
  // Check for AWS/Bedrock credentials
105
108
  if (options?.awsAccessKeyId ||
106
109
  process.env.AWS_ACCESS_KEY_ID ||
107
- await this.hasProviderConfig('bedrock')) {
110
+ await this.hasProviderConfigAnywhere('bedrock', options?.profile)) {
108
111
  providers.bedrock = true;
109
112
  }
110
113
  return providers;
@@ -143,7 +146,19 @@ class CredentialManager {
143
146
  Object.assign(credentials, config);
144
147
  }
145
148
  }
146
- // Add provider-specific configurations with CLI precedence
149
+ // 6. Check profile-based config (new fallback option)
150
+ // Always check profile to fill in missing fields, not just when no API key exists
151
+ const profileName = options?.profile || 'default';
152
+ const profileConfig = await this.profileManager.getProviderCredentials(provider, profileName);
153
+ if (profileConfig) {
154
+ // Use profile config to fill in missing credentials
155
+ Object.keys(profileConfig).forEach(key => {
156
+ if (!credentials[key]) {
157
+ credentials[key] = profileConfig[key];
158
+ }
159
+ });
160
+ }
161
+ // Add provider-specific configurations with CLI precedence (but don't override profile values)
147
162
  this.addProviderSpecificConfig(provider, credentials, options);
148
163
  return credentials;
149
164
  }
@@ -174,17 +189,34 @@ class CredentialManager {
174
189
  const creds = credentials; // Cast to any to allow provider-specific properties
175
190
  switch (provider) {
176
191
  case 'openai':
177
- creds.organizationId = options?.openaiOrgId || process.env.OPENAI_ORG_ID;
192
+ // Only set if not already set (from profile or other sources)
193
+ if (!creds.organizationId) {
194
+ creds.organizationId = options?.openaiOrgId || process.env.OPENAI_ORG_ID;
195
+ }
178
196
  break;
179
197
  case 'azure-openai':
180
- creds.endpoint = options?.azureOpenaiEndpoint || process.env.AZURE_OPENAI_ENDPOINT;
181
- creds.deploymentName = options?.azureOpenaiDeployment || process.env.AZURE_OPENAI_DEPLOYMENT;
198
+ // Only set if not already set (from profile or other sources)
199
+ if (!creds.endpoint) {
200
+ creds.endpoint = options?.azureOpenaiEndpoint || process.env.AZURE_OPENAI_ENDPOINT;
201
+ }
202
+ if (!creds.deploymentName) {
203
+ creds.deploymentName = options?.azureOpenaiDeployment || process.env.AZURE_OPENAI_DEPLOYMENT;
204
+ }
182
205
  break;
183
206
  case 'bedrock':
184
- creds.region = options?.awsRegion || process.env.AWS_REGION || 'us-east-1';
185
- creds.accessKeyId = options?.awsAccessKeyId || process.env.AWS_ACCESS_KEY_ID;
186
- creds.secretAccessKey = options?.awsSecretAccessKey || process.env.AWS_SECRET_ACCESS_KEY;
187
- creds.sessionToken = options?.awsSessionToken || process.env.AWS_SESSION_TOKEN;
207
+ // Only set if not already set (from profile or other sources)
208
+ if (!creds.region) {
209
+ creds.region = options?.awsRegion || process.env.AWS_REGION || 'us-east-1';
210
+ }
211
+ if (!creds.accessKeyId) {
212
+ creds.accessKeyId = options?.awsAccessKeyId || process.env.AWS_ACCESS_KEY_ID;
213
+ }
214
+ if (!creds.secretAccessKey) {
215
+ creds.secretAccessKey = options?.awsSecretAccessKey || process.env.AWS_SECRET_ACCESS_KEY;
216
+ }
217
+ if (!creds.sessionToken) {
218
+ creds.sessionToken = options?.awsSessionToken || process.env.AWS_SESSION_TOKEN;
219
+ }
188
220
  break;
189
221
  }
190
222
  }
@@ -243,6 +275,19 @@ class CredentialManager {
243
275
  const configPath = path.join(this.configDir, 'providers', `${provider}.json`);
244
276
  return fs.pathExists(configPath);
245
277
  }
278
+ /**
279
+ * Check if provider has config in any location including profiles
280
+ */
281
+ async hasProviderConfigAnywhere(provider, profileName) {
282
+ // Check traditional config
283
+ if (await this.hasProviderConfig(provider)) {
284
+ return true;
285
+ }
286
+ // Check profile config
287
+ const profile = profileName || 'default';
288
+ const profileConfig = await this.profileManager.getProviderCredentials(provider, profile);
289
+ return profileConfig !== null;
290
+ }
246
291
  async loadProviderConfig(provider) {
247
292
  try {
248
293
  const configPath = path.join(this.configDir, 'providers', `${provider}.json`);
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/utils/credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/utils/credentials.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ import { ProviderConfig } from '@majkapp/majk-chat-core';
2
+ export interface ProfileProviderConfig {
3
+ openai?: {
4
+ apiKey: string;
5
+ organizationId?: string;
6
+ };
7
+ anthropic?: {
8
+ apiKey: string;
9
+ };
10
+ 'azure-openai'?: {
11
+ apiKey: string;
12
+ endpoint: string;
13
+ deploymentName: string;
14
+ };
15
+ bedrock?: {
16
+ accessKeyId: string;
17
+ secretAccessKey: string;
18
+ sessionToken?: string;
19
+ region: string;
20
+ };
21
+ }
22
+ export interface ProfileConfig {
23
+ providers: ProfileProviderConfig;
24
+ }
25
+ export interface MagicChatConfig {
26
+ profiles: Record<string, ProfileConfig>;
27
+ }
28
+ export interface ValidationResult {
29
+ provider: string;
30
+ profile: string;
31
+ valid: boolean;
32
+ error?: string;
33
+ model?: string;
34
+ }
35
+ export interface DirectConfigOptions {
36
+ setOpenaiKey?: string;
37
+ openaiOrgId?: string;
38
+ setAnthropicKey?: string;
39
+ setAzureOpenaiKey?: string;
40
+ azureOpenaiEndpoint?: string;
41
+ azureOpenaiDeployment?: string;
42
+ setBedrock?: boolean;
43
+ awsAccessKeyId?: string;
44
+ awsSecretAccessKey?: string;
45
+ awsSessionToken?: string;
46
+ awsRegion?: string;
47
+ profile?: string;
48
+ skipValidation?: boolean;
49
+ }
50
+ export declare class ProfileConfigManager {
51
+ private configPath;
52
+ constructor();
53
+ loadConfig(): Promise<MagicChatConfig>;
54
+ saveConfig(config: MagicChatConfig): Promise<void>;
55
+ getProfile(profileName?: string): Promise<ProfileConfig | null>;
56
+ setProfile(profileName: string, profileConfig: ProfileConfig): Promise<void>;
57
+ deleteProfile(profileName: string): Promise<boolean>;
58
+ listProfiles(): Promise<string[]>;
59
+ /**
60
+ * Get provider credentials from profile for use with existing CredentialManager
61
+ */
62
+ getProviderCredentials(provider: string, profileName?: string): Promise<ProviderConfig | null>;
63
+ /**
64
+ * Interactive configuration for a provider
65
+ */
66
+ configureProvider(provider: string, profileName?: string, skipValidation?: boolean): Promise<void>;
67
+ /**
68
+ * Direct configuration without interaction
69
+ */
70
+ setDirectConfig(options: DirectConfigOptions): Promise<void>;
71
+ private configureOpenAI;
72
+ private configureAnthropic;
73
+ private configureAzureOpenAI;
74
+ private configureBedrock;
75
+ /**
76
+ * Validate provider configuration by making a test API call
77
+ */
78
+ private validateProvider;
79
+ /**
80
+ * Test all providers in a profile
81
+ */
82
+ testProfile(profileName: string): Promise<ValidationResult[]>;
83
+ /**
84
+ * Test specific provider in a profile
85
+ */
86
+ testProvider(provider: string, profileName?: string): Promise<ValidationResult>;
87
+ /**
88
+ * Test all profiles
89
+ */
90
+ testAllProfiles(): Promise<ValidationResult[]>;
91
+ }
92
+ //# sourceMappingURL=profile-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-config.d.ts","sourceRoot":"","sources":["../../src/utils/profile-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,445 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.ProfileConfigManager = void 0;
40
+ const fs = __importStar(require("fs-extra"));
41
+ const path = __importStar(require("path"));
42
+ const os = __importStar(require("os"));
43
+ const chalk_1 = __importDefault(require("chalk"));
44
+ const enquirer_1 = require("enquirer");
45
+ class ProfileConfigManager {
46
+ configPath;
47
+ constructor() {
48
+ this.configPath = path.join(os.homedir(), '.magic', 'chat', 'config.json');
49
+ }
50
+ async loadConfig() {
51
+ if (!await fs.pathExists(this.configPath)) {
52
+ return { profiles: {} };
53
+ }
54
+ try {
55
+ return await fs.readJson(this.configPath);
56
+ }
57
+ catch (error) {
58
+ console.warn(chalk_1.default.yellow(`Warning: Could not parse config file: ${error}`));
59
+ return { profiles: {} };
60
+ }
61
+ }
62
+ async saveConfig(config) {
63
+ await fs.ensureDir(path.dirname(this.configPath));
64
+ await fs.writeJson(this.configPath, config, { spaces: 2 });
65
+ }
66
+ async getProfile(profileName = 'default') {
67
+ const config = await this.loadConfig();
68
+ return config.profiles[profileName] || null;
69
+ }
70
+ async setProfile(profileName, profileConfig) {
71
+ const config = await this.loadConfig();
72
+ config.profiles[profileName] = profileConfig;
73
+ await this.saveConfig(config);
74
+ }
75
+ async deleteProfile(profileName) {
76
+ const config = await this.loadConfig();
77
+ if (config.profiles[profileName]) {
78
+ delete config.profiles[profileName];
79
+ await this.saveConfig(config);
80
+ return true;
81
+ }
82
+ return false;
83
+ }
84
+ async listProfiles() {
85
+ const config = await this.loadConfig();
86
+ return Object.keys(config.profiles);
87
+ }
88
+ /**
89
+ * Get provider credentials from profile for use with existing CredentialManager
90
+ */
91
+ async getProviderCredentials(provider, profileName = 'default') {
92
+ const profile = await this.getProfile(profileName);
93
+ if (!profile || !profile.providers[provider]) {
94
+ return null;
95
+ }
96
+ const providerConfig = profile.providers[provider];
97
+ switch (provider) {
98
+ case 'openai':
99
+ const openaiConfig = providerConfig;
100
+ return {
101
+ apiKey: openaiConfig?.apiKey,
102
+ organizationId: openaiConfig?.organizationId
103
+ };
104
+ case 'anthropic':
105
+ const anthropicConfig = providerConfig;
106
+ return {
107
+ apiKey: anthropicConfig?.apiKey
108
+ };
109
+ case 'azure-openai':
110
+ const azureConfig = providerConfig;
111
+ return {
112
+ apiKey: azureConfig?.apiKey,
113
+ endpoint: azureConfig?.endpoint,
114
+ deploymentName: azureConfig?.deploymentName
115
+ };
116
+ case 'bedrock':
117
+ const bedrockConfig = providerConfig;
118
+ return {
119
+ accessKeyId: bedrockConfig?.accessKeyId,
120
+ secretAccessKey: bedrockConfig?.secretAccessKey,
121
+ sessionToken: bedrockConfig?.sessionToken,
122
+ region: bedrockConfig?.region || 'us-east-1'
123
+ };
124
+ default:
125
+ return null;
126
+ }
127
+ }
128
+ /**
129
+ * Interactive configuration for a provider
130
+ */
131
+ async configureProvider(provider, profileName = 'default', skipValidation = false) {
132
+ console.log(chalk_1.default.cyan(`\nConfiguring ${provider} for profile: ${chalk_1.default.bold(profileName)}`));
133
+ const profile = await this.getProfile(profileName) || { providers: {} };
134
+ switch (provider) {
135
+ case 'openai':
136
+ await this.configureOpenAI(profile, skipValidation);
137
+ break;
138
+ case 'anthropic':
139
+ await this.configureAnthropic(profile, skipValidation);
140
+ break;
141
+ case 'azure-openai':
142
+ await this.configureAzureOpenAI(profile, skipValidation);
143
+ break;
144
+ case 'bedrock':
145
+ await this.configureBedrock(profile, skipValidation);
146
+ break;
147
+ default:
148
+ throw new Error(`Unsupported provider: ${provider}`);
149
+ }
150
+ await this.setProfile(profileName, profile);
151
+ console.log(chalk_1.default.green(`\n✓ ${provider} configuration saved to profile: ${profileName}`));
152
+ }
153
+ /**
154
+ * Direct configuration without interaction
155
+ */
156
+ async setDirectConfig(options) {
157
+ const profileName = options.profile || 'default';
158
+ const profile = await this.getProfile(profileName) || { providers: {} };
159
+ // OpenAI
160
+ if (options.setOpenaiKey) {
161
+ profile.providers.openai = {
162
+ apiKey: options.setOpenaiKey,
163
+ organizationId: options.openaiOrgId
164
+ };
165
+ if (!options.skipValidation) {
166
+ await this.validateProvider('openai', profile.providers.openai, profileName);
167
+ }
168
+ }
169
+ // Anthropic
170
+ if (options.setAnthropicKey) {
171
+ profile.providers.anthropic = {
172
+ apiKey: options.setAnthropicKey
173
+ };
174
+ if (!options.skipValidation) {
175
+ await this.validateProvider('anthropic', profile.providers.anthropic, profileName);
176
+ }
177
+ }
178
+ // Azure OpenAI
179
+ if (options.setAzureOpenaiKey && options.azureOpenaiEndpoint && options.azureOpenaiDeployment) {
180
+ profile.providers['azure-openai'] = {
181
+ apiKey: options.setAzureOpenaiKey,
182
+ endpoint: options.azureOpenaiEndpoint,
183
+ deploymentName: options.azureOpenaiDeployment
184
+ };
185
+ if (!options.skipValidation) {
186
+ await this.validateProvider('azure-openai', profile.providers['azure-openai'], profileName);
187
+ }
188
+ }
189
+ // Bedrock
190
+ if (options.setBedrock && options.awsAccessKeyId && options.awsSecretAccessKey) {
191
+ profile.providers.bedrock = {
192
+ accessKeyId: options.awsAccessKeyId,
193
+ secretAccessKey: options.awsSecretAccessKey,
194
+ sessionToken: options.awsSessionToken,
195
+ region: options.awsRegion || 'us-east-1'
196
+ };
197
+ if (!options.skipValidation) {
198
+ await this.validateProvider('bedrock', profile.providers.bedrock, profileName);
199
+ }
200
+ }
201
+ await this.setProfile(profileName, profile);
202
+ console.log(chalk_1.default.green(`✓ Configuration saved to profile: ${profileName}`));
203
+ }
204
+ async configureOpenAI(profile, skipValidation) {
205
+ const response = await (0, enquirer_1.prompt)([
206
+ {
207
+ type: 'password',
208
+ name: 'apiKey',
209
+ message: 'OpenAI API Key:',
210
+ validate: (value) => value.length > 0 || 'API key is required'
211
+ },
212
+ {
213
+ type: 'input',
214
+ name: 'organizationId',
215
+ message: 'OpenAI Organization ID (optional):',
216
+ required: false
217
+ }
218
+ ]);
219
+ const config = {
220
+ apiKey: response.apiKey,
221
+ organizationId: response.organizationId || undefined
222
+ };
223
+ if (!skipValidation) {
224
+ await this.validateProvider('openai', config, 'temp');
225
+ }
226
+ profile.providers.openai = config;
227
+ }
228
+ async configureAnthropic(profile, skipValidation) {
229
+ const response = await (0, enquirer_1.prompt)([
230
+ {
231
+ type: 'password',
232
+ name: 'apiKey',
233
+ message: 'Anthropic API Key:',
234
+ validate: (value) => value.length > 0 || 'API key is required'
235
+ }
236
+ ]);
237
+ const config = {
238
+ apiKey: response.apiKey
239
+ };
240
+ if (!skipValidation) {
241
+ await this.validateProvider('anthropic', config, 'temp');
242
+ }
243
+ profile.providers.anthropic = config;
244
+ }
245
+ async configureAzureOpenAI(profile, skipValidation) {
246
+ const response = await (0, enquirer_1.prompt)([
247
+ {
248
+ type: 'password',
249
+ name: 'apiKey',
250
+ message: 'Azure OpenAI API Key:',
251
+ validate: (value) => value.length > 0 || 'API key is required'
252
+ },
253
+ {
254
+ type: 'input',
255
+ name: 'endpoint',
256
+ message: 'Azure OpenAI Endpoint:',
257
+ validate: (value) => value.length > 0 || 'Endpoint is required'
258
+ },
259
+ {
260
+ type: 'input',
261
+ name: 'deploymentName',
262
+ message: 'Azure OpenAI Deployment Name:',
263
+ validate: (value) => value.length > 0 || 'Deployment name is required'
264
+ }
265
+ ]);
266
+ const config = {
267
+ apiKey: response.apiKey,
268
+ endpoint: response.endpoint,
269
+ deploymentName: response.deploymentName
270
+ };
271
+ if (!skipValidation) {
272
+ await this.validateProvider('azure-openai', config, 'temp');
273
+ }
274
+ profile.providers['azure-openai'] = config;
275
+ }
276
+ async configureBedrock(profile, skipValidation) {
277
+ const response = await (0, enquirer_1.prompt)([
278
+ {
279
+ type: 'password',
280
+ name: 'accessKeyId',
281
+ message: 'AWS Access Key ID:',
282
+ validate: (value) => value.length > 0 || 'Access Key ID is required'
283
+ },
284
+ {
285
+ type: 'password',
286
+ name: 'secretAccessKey',
287
+ message: 'AWS Secret Access Key:',
288
+ validate: (value) => value.length > 0 || 'Secret Access Key is required'
289
+ },
290
+ {
291
+ type: 'password',
292
+ name: 'sessionToken',
293
+ message: 'AWS Session Token (optional):',
294
+ required: false
295
+ },
296
+ {
297
+ type: 'input',
298
+ name: 'region',
299
+ message: 'AWS Region:',
300
+ initial: 'us-east-1'
301
+ }
302
+ ]);
303
+ const config = {
304
+ accessKeyId: response.accessKeyId,
305
+ secretAccessKey: response.secretAccessKey,
306
+ sessionToken: response.sessionToken || undefined,
307
+ region: response.region
308
+ };
309
+ if (!skipValidation) {
310
+ await this.validateProvider('bedrock', config, 'temp');
311
+ }
312
+ profile.providers.bedrock = config;
313
+ }
314
+ /**
315
+ * Validate provider configuration by making a test API call
316
+ */
317
+ async validateProvider(provider, config, _profileName) {
318
+ console.log(chalk_1.default.yellow(`\nValidating ${provider} credentials...`));
319
+ try {
320
+ // Import majk-chat-core dynamically to avoid circular dependencies
321
+ const { MajkChatBuilder } = await Promise.resolve().then(() => __importStar(require('@majkapp/majk-chat-core')));
322
+ const builder = new MajkChatBuilder();
323
+ // Configure the specific provider
324
+ switch (provider) {
325
+ case 'openai':
326
+ builder.withOpenAI(config);
327
+ break;
328
+ case 'anthropic':
329
+ builder.withAnthropic(config);
330
+ break;
331
+ case 'azure-openai':
332
+ builder.withAzureOpenAI(config);
333
+ break;
334
+ case 'bedrock':
335
+ builder.withBedrock(config);
336
+ break;
337
+ }
338
+ const chat = builder.build();
339
+ const providerAdapter = chat.getProvider(provider);
340
+ // Try to list models as a quick validation
341
+ await providerAdapter.listModels({
342
+ requestId: `validation-${Date.now()}`
343
+ });
344
+ console.log(chalk_1.default.green(`✓ ${provider} credentials are valid`));
345
+ }
346
+ catch (error) {
347
+ console.log(chalk_1.default.red(`✗ ${provider} credentials validation failed:`));
348
+ console.log(chalk_1.default.red(` ${error instanceof Error ? error.message : error}`));
349
+ const { confirm } = await (0, enquirer_1.prompt)({
350
+ type: 'confirm',
351
+ name: 'proceed',
352
+ message: 'Save configuration anyway?',
353
+ initial: false
354
+ });
355
+ if (!confirm) {
356
+ throw new Error('Configuration cancelled due to validation failure');
357
+ }
358
+ }
359
+ }
360
+ /**
361
+ * Test all providers in a profile
362
+ */
363
+ async testProfile(profileName) {
364
+ const profile = await this.getProfile(profileName);
365
+ if (!profile) {
366
+ throw new Error(`Profile '${profileName}' not found`);
367
+ }
368
+ const results = [];
369
+ for (const [provider, config] of Object.entries(profile.providers)) {
370
+ if (config) {
371
+ const result = await this.testProvider(provider, profileName);
372
+ results.push(result);
373
+ }
374
+ }
375
+ return results;
376
+ }
377
+ /**
378
+ * Test specific provider in a profile
379
+ */
380
+ async testProvider(provider, profileName = 'default') {
381
+ const config = await this.getProviderCredentials(provider, profileName);
382
+ if (!config) {
383
+ return {
384
+ provider,
385
+ profile: profileName,
386
+ valid: false,
387
+ error: 'No configuration found'
388
+ };
389
+ }
390
+ try {
391
+ const { MajkChatBuilder } = await Promise.resolve().then(() => __importStar(require('@majkapp/majk-chat-core')));
392
+ const builder = new MajkChatBuilder();
393
+ switch (provider) {
394
+ case 'openai':
395
+ builder.withOpenAI(config);
396
+ break;
397
+ case 'anthropic':
398
+ builder.withAnthropic(config);
399
+ break;
400
+ case 'azure-openai':
401
+ builder.withAzureOpenAI(config);
402
+ break;
403
+ case 'bedrock':
404
+ builder.withBedrock(config);
405
+ break;
406
+ default:
407
+ throw new Error(`Unsupported provider: ${provider}`);
408
+ }
409
+ const chat = builder.build();
410
+ const providerAdapter = chat.getProvider(provider);
411
+ const modelsResponse = await providerAdapter.listModels({
412
+ requestId: `test-${Date.now()}`
413
+ });
414
+ const firstModel = modelsResponse.data[0]?.id || 'unknown';
415
+ return {
416
+ provider,
417
+ profile: profileName,
418
+ valid: true,
419
+ model: firstModel
420
+ };
421
+ }
422
+ catch (error) {
423
+ return {
424
+ provider,
425
+ profile: profileName,
426
+ valid: false,
427
+ error: error instanceof Error ? error.message : String(error)
428
+ };
429
+ }
430
+ }
431
+ /**
432
+ * Test all profiles
433
+ */
434
+ async testAllProfiles() {
435
+ const profileNames = await this.listProfiles();
436
+ const results = [];
437
+ for (const profileName of profileNames) {
438
+ const profileResults = await this.testProfile(profileName);
439
+ results.push(...profileResults);
440
+ }
441
+ return results;
442
+ }
443
+ }
444
+ exports.ProfileConfigManager = ProfileConfigManager;
445
+ //# sourceMappingURL=profile-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-config.js","sourceRoot":"","sources":["../../src/utils/profile-config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@majkapp/majk-chat-cli",
3
- "version": "1.0.2",
3
+ "version": "1.0.3",
4
4
  "description": "CLI for multi-provider LLM chat interactions",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
@@ -30,13 +30,14 @@
30
30
  "author": "Jules White",
31
31
  "license": "MIT",
32
32
  "dependencies": {
33
- "@majkapp/majk-chat-core": "^1.0.1",
34
- "@majkapp/majk-chat-mcp": "^1.0.1",
35
- "@majkapp/majk-chat-basic-tools": "^1.0.2",
36
- "@majkapp/majk-chat-sessions": "^1.0.1",
33
+ "@majkapp/majk-chat-basic-tools": "^1.0.3",
34
+ "@majkapp/majk-chat-core": "^1.0.2",
35
+ "@majkapp/majk-chat-mcp": "^1.0.2",
36
+ "@majkapp/majk-chat-sessions": "^1.0.2",
37
37
  "chalk": "^4.1.2",
38
38
  "commander": "^12.0.0",
39
39
  "dotenv": "^16.4.0",
40
+ "enquirer": "2.4.1",
40
41
  "fs-extra": "^11.2.0",
41
42
  "inquirer": "^8.2.7",
42
43
  "ora": "^5.4.1",