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.
- package/dist/index.js +31 -11
- 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
|
|
1443
|
-
{ name: "Claude
|
|
1444
|
-
{ name: "Claude
|
|
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.
|
|
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) {
|