wispy-cli 2.4.3 → 2.4.4

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 (2) hide show
  1. package/bin/wispy.mjs +15 -8
  2. package/package.json +1 -1
package/bin/wispy.mjs CHANGED
@@ -499,7 +499,6 @@ if (args[0] === "doctor") {
499
499
 
500
500
  // 3. API key configured
501
501
  if (config) {
502
- const provider = config.provider ?? "unknown";
503
502
  const envMap = {
504
503
  google: "GOOGLE_AI_KEY",
505
504
  anthropic: "ANTHROPIC_API_KEY",
@@ -509,14 +508,22 @@ if (args[0] === "doctor") {
509
508
  deepseek: "DEEPSEEK_API_KEY",
510
509
  ollama: null,
511
510
  };
512
- const envKey = envMap[provider];
513
- if (envKey === null) {
514
- check("AI provider (Ollama)", true, "no key needed");
515
- } else if (envKey) {
516
- const key = config.apiKey || process.env[envKey];
517
- check(`API key (${provider})`, !!key && key.length > 10, key ? "configured" : `run 'wispy setup provider'`);
511
+ // Support both old (config.provider) and new (config.providers) format
512
+ const providers = config.providers ? Object.keys(config.providers) : (config.provider ? [config.provider] : []);
513
+ if (providers.length === 0) {
514
+ check("AI provider", false, "no provider configured — run 'wispy setup provider'");
518
515
  } else {
519
- check("AI provider", false, `Unknown provider: ${provider}`);
516
+ for (const provider of providers) {
517
+ const envKey = envMap[provider];
518
+ if (envKey === null) {
519
+ check(`AI provider (${provider})`, true, "no key needed");
520
+ } else if (envKey) {
521
+ const key = config.providers?.[provider]?.apiKey || config.apiKey || process.env[envKey];
522
+ check(`API key (${provider})`, !!key && key.length > 10, key ? "configured" : `run 'wispy setup provider'`);
523
+ } else {
524
+ check(`AI provider (${provider})`, false, `unknown provider`);
525
+ }
526
+ }
520
527
  }
521
528
  } else {
522
529
  info("AI provider", "skipped (no config)");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wispy-cli",
3
- "version": "2.4.3",
3
+ "version": "2.4.4",
4
4
  "description": "🌿 Wispy — AI workspace assistant with trustworthy execution (harness, receipts, approvals, diffs)",
5
5
  "license": "MIT",
6
6
  "author": "Minseo & Poropo",