agent-nuvira 1.37.0 → 1.37.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C;;;GAGG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C,MAAM,IAAI,OAAO;YAeH,OAAO;CA6EtB"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C;;;GAGG;AACH,qBAAa,WAAY,SAAQ,WAAW;IAC1C,MAAM,IAAI,OAAO;YAeH,OAAO;CAoLtB"}
package/dist/cli/plan.js CHANGED
@@ -1,9 +1,13 @@
1
1
  import { Command } from 'commander';
2
2
  import { existsSync, statSync } from 'node:fs';
3
+ import inquirer from 'inquirer';
3
4
  import ora from 'ora';
4
5
  import { BaseCommand } from './commands.js';
5
6
  import { ContextParser } from '../context/parser.js';
6
7
  import { logger } from '../utils/logger.js';
8
+ import { showModelPicker } from './model-picker.js';
9
+ import { resolveProvider } from './router.js';
10
+ import { getProviderFallback, classifyFallbackError, isRetryableError } from '../learning/provider-fallback.js';
7
11
  /**
8
12
  * Plan command — generate implementation plans for code changes
9
13
  * buff plan <directory> [--provider openrouter] [--task "add user auth"]
@@ -23,11 +27,23 @@ export class PlanCommand extends BaseCommand {
23
27
  return command;
24
28
  }
25
29
  async execute(target, options) {
26
- const { type, provider } = await this.getProvider(options || {});
30
+ let { type, provider } = await this.getProvider(options || {});
27
31
  const available = await provider.isAvailable();
28
32
  if (!available) {
29
33
  logger.error(`${provider.name} is not available. Check your configuration.`);
30
- return;
34
+ logger.info(`\nTip: Run \`agent-nuvira model switch\` to select a configured provider.`);
35
+ // Offer interactive provider selection
36
+ const picked = await showModelPicker(this.configManager);
37
+ if (!picked) {
38
+ logger.info('Cancelled. No plan generated.');
39
+ return;
40
+ }
41
+ const resolved = resolveProvider(this.configManager, picked.provider);
42
+ type = resolved.type;
43
+ provider = resolved.provider;
44
+ // Forward the picked model so provider.generate() uses it
45
+ options = { ...options, model: picked.model };
46
+ logger.success(`Switched to ${provider.name} / ${picked.model}\n`);
31
47
  }
32
48
  const task = options?.task || 'Analyze the codebase and suggest improvements';
33
49
  const parser = new ContextParser({
@@ -76,7 +92,32 @@ Please provide:
76
92
 
77
93
  Use clear markdown formatting.`;
78
94
  spinner.text = 'Generating plan...';
79
- const result = await provider.generate(prompt, options);
95
+ // ── Generate with auto-fallback ─────────────────────────────────
96
+ let result;
97
+ try {
98
+ result = await provider.generate(prompt, options);
99
+ }
100
+ catch (err) {
101
+ // Try automatic fallback to another provider before giving up
102
+ const errorType = classifyFallbackError(err);
103
+ if (isRetryableError(errorType)) {
104
+ try {
105
+ const fallback = getProviderFallback(this.configManager, this.configManager.getAll().fallback);
106
+ logger.warn(`🔄 ${provider.name} failed — attempting automatic failover...`);
107
+ const fallbackResult = await fallback.callWithFallback(type, async (fbProvider) => fbProvider.generate(prompt, options), { context: 'plan', label: `Plan: ${task.slice(0, 60)}` });
108
+ result = fallbackResult.response;
109
+ if (fallbackResult.attempts > 1) {
110
+ logger.success(`✅ Auto-fallback: switched to ${fallbackResult.provider}`);
111
+ }
112
+ }
113
+ catch {
114
+ throw err; // Throw the original error — fallback exhausted
115
+ }
116
+ }
117
+ else {
118
+ throw err; // Not retryable — throw immediately
119
+ }
120
+ }
80
121
  spinner.stop();
81
122
  console.log(`\n${'='.repeat(60)}`);
82
123
  logger.highlight(`📋 Implementation Plan`);
@@ -87,7 +128,65 @@ Use clear markdown formatting.`;
87
128
  }
88
129
  catch (err) {
89
130
  spinner.fail('Planning failed');
90
- logger.error(String(err));
131
+ const errorMessage = err instanceof Error ? err.message : String(err);
132
+ const isAuthError = errorMessage.includes('401') ||
133
+ errorMessage.includes('403') ||
134
+ errorMessage.includes('unauthorized') ||
135
+ errorMessage.includes('api key') ||
136
+ errorMessage.includes('Missing Authentication');
137
+ if (isAuthError) {
138
+ logger.error(`Authentication failed for ${provider.name}. The API key may be missing or invalid.`);
139
+ logger.info('');
140
+ logger.info('Options to fix this:');
141
+ // Map provider type to the correct env var name
142
+ const ENV_VAR_MAP = {
143
+ groq: 'GROQ_API_KEY',
144
+ nim: 'NVIDIA_NIM_API_KEY',
145
+ gemini: 'GEMINI_API_KEY',
146
+ openrouter: 'OPENROUTER_API_KEY',
147
+ local: '(no API key needed)',
148
+ };
149
+ const envVar = ENV_VAR_MAP[type] || `${type.toUpperCase()}_API_KEY`;
150
+ logger.info(' 1. Set the correct API key for this provider:');
151
+ if (envVar !== '(no API key needed)') {
152
+ logger.info(` export ${envVar}="your_key_here"`);
153
+ }
154
+ else {
155
+ logger.info(` Local providers don't need an API key — just run Ollama.`);
156
+ }
157
+ logger.info(' 2. Switch to a different provider:');
158
+ logger.info(` agent-nuvira model switch`);
159
+ logger.info(' 3. Use a local model (no API key needed):');
160
+ logger.info(' brew install ollama && ollama pull deepseek-coder');
161
+ logger.info('');
162
+ // Offer interactive provider selection
163
+ const answer = await inquirer.prompt([
164
+ {
165
+ type: 'list',
166
+ name: 'action',
167
+ message: 'Would you like to select a different provider?',
168
+ prefix: '⚡',
169
+ choices: [
170
+ { name: '🎯 Switch to a different provider/model', value: 'switch' },
171
+ { name: '❌ Cancel', value: 'cancel' },
172
+ ],
173
+ },
174
+ ]);
175
+ console.log('');
176
+ if (answer.action === 'switch') {
177
+ const picked = await showModelPicker(this.configManager);
178
+ if (picked) {
179
+ logger.info('');
180
+ logger.success(`Selected: ${picked.provider}/${picked.model}`);
181
+ logger.info(`Run \`agent-nuvira plan ${target} --task "${task}" --provider ${picked.provider} --model ${picked.model}\` to retry with this provider.`);
182
+ console.log('');
183
+ }
184
+ }
185
+ }
186
+ else {
187
+ logger.error(errorMessage.split('\n')[0]);
188
+ logger.info(`Run \`agent-nuvira model switch\` to try a different provider.`);
189
+ }
91
190
  }
92
191
  }
93
192
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/cli/plan.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-nuvira",
3
- "version": "1.37.0",
3
+ "version": "1.37.1",
4
4
  "description": "Agent-Nuvira: Multi-agent AI coding CLI — plan, write, review, test, and publish code with local models (Ollama) or cloud APIs (Groq, NVIDIA NIM, Google Gemini, OpenRouter)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",