agdi 2.8.6 → 2.8.8

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/dist/index.js +31 -11
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1439,18 +1439,27 @@ var PROVIDER_MODELS = {
1439
1439
  { name: "o1-mini", value: "o1-mini" }
1440
1440
  ],
1441
1441
  anthropic: [
1442
- { name: "Claude 3.5 Sonnet", value: "claude-3-5-sonnet-20241022" },
1443
- { name: "Claude 3.5 Haiku", value: "claude-3-5-haiku-20241022" },
1444
- { name: "Claude 3 Opus", value: "claude-3-opus-20240229" }
1442
+ { name: "Claude Opus 4.5 (Most Intelligent)", value: "claude-opus-4.5-20251124" },
1443
+ { name: "Claude Sonnet 4.5", value: "claude-sonnet-4.5-20250929" },
1444
+ { name: "Claude Haiku 4.5 (Fast)", value: "claude-haiku-4.5-20251015" },
1445
+ { name: "Claude Sonnet 3.5", value: "claude-3-5-sonnet-20241022" },
1446
+ { name: "Claude Haiku 3.5", value: "claude-3-5-haiku-20241022" }
1445
1447
  ],
1446
1448
  deepseek: [
1447
1449
  { name: "DeepSeek V3", value: "deepseek-chat" },
1448
- { name: "DeepSeek R1 (Reasoning)", value: "deepseek-reasoner" }
1450
+ { name: "DeepSeek R1 (Reasoning)", value: "deepseek-reasoner" },
1451
+ { name: "DeepSeek Coder V3", value: "deepseek-coder" },
1452
+ { name: "DeepSeek Coder V2.5", value: "deepseek-coder-v2.5" }
1453
+ ],
1454
+ xai: [
1455
+ { name: "Grok 3 (Latest)", value: "grok-3" },
1456
+ { name: "Grok 2", value: "grok-2" },
1457
+ { name: "Grok 2 Mini", value: "grok-2-mini" }
1449
1458
  ]
1450
1459
  };
1451
1460
  function needsOnboarding() {
1452
1461
  const config = loadConfig();
1453
- return !(config.geminiApiKey || config.openrouterApiKey || config.openaiApiKey || config.anthropicApiKey || config.deepseekApiKey);
1462
+ return !(config.geminiApiKey || config.openrouterApiKey || config.openaiApiKey || config.anthropicApiKey || config.deepseekApiKey || config.xaiApiKey);
1454
1463
  }
1455
1464
  function getActiveProvider() {
1456
1465
  const config = loadConfig();
@@ -1460,7 +1469,8 @@ function getActiveProvider() {
1460
1469
  openrouter: config.openrouterApiKey,
1461
1470
  openai: config.openaiApiKey,
1462
1471
  anthropic: config.anthropicApiKey,
1463
- deepseek: config.deepseekApiKey
1472
+ deepseek: config.deepseekApiKey,
1473
+ xai: config.xaiApiKey
1464
1474
  };
1465
1475
  const apiKey = keyMap[provider];
1466
1476
  if (apiKey) {
@@ -1493,7 +1503,8 @@ async function runOnboarding() {
1493
1503
  { name: "OpenRouter (100+ models, pay-per-use)", value: "openrouter" },
1494
1504
  { name: "OpenAI (GPT-4o)", value: "openai" },
1495
1505
  { name: "Anthropic (Claude)", value: "anthropic" },
1496
- { name: "DeepSeek", value: "deepseek" }
1506
+ { name: "DeepSeek", value: "deepseek" },
1507
+ { name: "xAI (Grok)", value: "xai" }
1497
1508
  ]
1498
1509
  });
1499
1510
  console.log(chalk8.white.bold("\nStep 2/3: Enter your API key\n"));
@@ -1502,7 +1513,8 @@ async function runOnboarding() {
1502
1513
  openrouter: "https://openrouter.ai/keys",
1503
1514
  openai: "https://platform.openai.com/api-keys",
1504
1515
  anthropic: "https://console.anthropic.com/",
1505
- deepseek: "https://platform.deepseek.com/"
1516
+ deepseek: "https://platform.deepseek.com/",
1517
+ xai: "https://console.x.ai/"
1506
1518
  };
1507
1519
  console.log(chalk8.gray(`Get your key at: ${chalk8.cyan(keyUrls[provider])}
1508
1520
  `));
@@ -1526,6 +1538,9 @@ async function runOnboarding() {
1526
1538
  case "deepseek":
1527
1539
  config.deepseekApiKey = apiKey;
1528
1540
  break;
1541
+ case "xai":
1542
+ config.xaiApiKey = apiKey;
1543
+ break;
1529
1544
  }
1530
1545
  config.defaultProvider = provider;
1531
1546
  console.log(chalk8.white.bold("\nStep 3/3: Choose your default model\n"));
@@ -1570,7 +1585,8 @@ async function selectModel() {
1570
1585
  { name: "OpenRouter", value: "openrouter" },
1571
1586
  { name: "OpenAI", value: "openai" },
1572
1587
  { name: "Anthropic", value: "anthropic" },
1573
- { name: "DeepSeek", value: "deepseek" }
1588
+ { name: "DeepSeek", value: "deepseek" },
1589
+ { name: "xAI", value: "xai" }
1574
1590
  ]
1575
1591
  });
1576
1592
  const keyMap = {
@@ -1578,7 +1594,8 @@ async function selectModel() {
1578
1594
  openrouter: config.openrouterApiKey,
1579
1595
  openai: config.openaiApiKey,
1580
1596
  anthropic: config.anthropicApiKey,
1581
- deepseek: config.deepseekApiKey
1597
+ deepseek: config.deepseekApiKey,
1598
+ xai: config.xaiApiKey
1582
1599
  };
1583
1600
  if (!keyMap[selectedProvider]) {
1584
1601
  console.log(chalk8.yellow(`
@@ -1604,6 +1621,9 @@ async function selectModel() {
1604
1621
  case "deepseek":
1605
1622
  config.deepseekApiKey = apiKey;
1606
1623
  break;
1624
+ case "xai":
1625
+ config.xaiApiKey = apiKey;
1626
+ break;
1607
1627
  }
1608
1628
  }
1609
1629
  config.defaultProvider = selectedProvider;
@@ -4894,7 +4914,7 @@ ${chalk15.cyan(`/_/ |_|\\_, /\\__,_//_/ `)}
4894
4914
  ${chalk15.cyan(` /____/ `)}
4895
4915
  `;
4896
4916
  var program = new Command();
4897
- program.name("agdi").description(chalk15.cyan("\u{1F680} AI-powered coding assistant")).version("2.8.6").option("-y, --yes", "Auto-approve all prompts (headless/CI mode)").option("-m, --minimal", "Generate only the requested file(s), not a full app").option("-d, --dry-run", "Show what would be created without writing files");
4917
+ program.name("agdi").description(chalk15.cyan("\u{1F680} AI-powered coding assistant")).version("2.8.8").option("-y, --yes", "Auto-approve all prompts (headless/CI mode)").option("-m, --minimal", "Generate only the requested file(s), not a full app").option("-d, --dry-run", "Show what would be created without writing files");
4898
4918
  program.hook("preAction", (thisCommand) => {
4899
4919
  const opts = thisCommand.opts();
4900
4920
  if (opts.yes) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agdi",
3
- "version": "2.8.6",
3
+ "version": "2.8.8",
4
4
  "description": "AI-powered app generator - build full-stack apps from natural language in your terminal",
5
5
  "type": "module",
6
6
  "bin": {