agdi 2.10.4 → 2.10.6
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 +46 -37
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -379,6 +379,16 @@ function createSpinner(text) {
|
|
|
379
379
|
function printIter() {
|
|
380
380
|
console.log(chalk.hex(THEME.dim)("\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"));
|
|
381
381
|
}
|
|
382
|
+
function showCommunityInvite(context = "exit") {
|
|
383
|
+
const showChance = context === "exit" ? 0.3 : 0.2;
|
|
384
|
+
if (Math.random() > showChance) return;
|
|
385
|
+
console.log("");
|
|
386
|
+
console.log(chalk.hex(THEME.dim)("\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"));
|
|
387
|
+
console.log("");
|
|
388
|
+
console.log(chalk.hex(THEME.gray)(" \u{1F4AC} Questions? Bugs? Feature ideas?"));
|
|
389
|
+
console.log(chalk.cyan(" Join the community \u2192 ") + chalk.white.underline("discord.gg/agdi"));
|
|
390
|
+
console.log("");
|
|
391
|
+
}
|
|
382
392
|
var activeReadlineInterface = null;
|
|
383
393
|
function registerActivePrompt(rl) {
|
|
384
394
|
activeReadlineInterface = rl;
|
|
@@ -443,6 +453,7 @@ var ui = {
|
|
|
443
453
|
printAIMessage,
|
|
444
454
|
createSpinner,
|
|
445
455
|
printIter,
|
|
456
|
+
showCommunityInvite,
|
|
446
457
|
brandGradient,
|
|
447
458
|
THEME,
|
|
448
459
|
// Safety & Automation
|
|
@@ -1458,63 +1469,59 @@ import { select as select2, password as password2 } from "@inquirer/prompts";
|
|
|
1458
1469
|
import chalk8 from "chalk";
|
|
1459
1470
|
var PROVIDER_MODELS = {
|
|
1460
1471
|
gemini: [
|
|
1461
|
-
{ name: "Gemini 3 Pro (
|
|
1472
|
+
{ name: "Gemini 3 Pro (Flagship)", value: "gemini-3-pro-preview" },
|
|
1462
1473
|
{ name: "Gemini 3 Flash (Fast)", value: "gemini-3-flash-preview" },
|
|
1463
1474
|
{ name: "Gemini 3 Deep Think (Reasoning)", value: "gemini-3-deep-think" },
|
|
1464
|
-
{ name: "Gemini 2.5 Pro", value: "gemini-2.5-pro" },
|
|
1475
|
+
{ name: "Gemini 2.5 Pro (1M Context)", value: "gemini-2.5-pro" },
|
|
1465
1476
|
{ name: "Gemini 2.5 Flash", value: "gemini-2.5-flash" },
|
|
1466
|
-
{ name: "Gemini 2.
|
|
1477
|
+
{ name: "Gemini 2.5 Flash-Lite (Efficient)", value: "gemini-2.5-flash-lite" },
|
|
1478
|
+
{ name: "Gemini 2.0 Flash (Legacy)", value: "gemini-2.0-flash" }
|
|
1467
1479
|
],
|
|
1468
1480
|
openrouter: [
|
|
1469
1481
|
// FREE MODELS (no API credits needed)
|
|
1470
|
-
{ name: "GPT-OSS 120B (Free)", value: "openai/gpt-oss-120b:free" },
|
|
1471
|
-
{ name: "GPT-OSS 20B (Free)", value: "openai/gpt-oss-20b:free" },
|
|
1482
|
+
{ name: "GPT-OSS 120B (Free, Apache 2.0)", value: "openai/gpt-oss-120b:free" },
|
|
1483
|
+
{ name: "GPT-OSS 20B (Free, Apache 2.0)", value: "openai/gpt-oss-20b:free" },
|
|
1472
1484
|
{ name: "Qwen3 Coder (Free)", value: "qwen/qwen3-coder:free" },
|
|
1473
|
-
{ name: "Qwen3 Next 80B (Free)", value: "qwen/qwen3-next-80b-a3b-instruct:free" },
|
|
1474
1485
|
{ name: "Kimi K2 (Free)", value: "moonshotai/kimi-k2:free" },
|
|
1475
1486
|
{ name: "Gemma 3N E2B (Free)", value: "google/gemma-3n-e2b-it:free" },
|
|
1476
|
-
{ name: "Qwen 2.5 VL 7B (Free)", value: "qwen/qwen-2.5-vl-7b-instruct:free" },
|
|
1477
1487
|
{ name: "LFM Thinking 1.2B (Free, Agentic)", value: "liquid/lfm-2.5-1.2b-thinking:free" },
|
|
1478
|
-
{ name: "Devstral (Free, ends Jan 27)", value: "mistralai/devstral-2512:free" },
|
|
1479
1488
|
// PAID MODELS
|
|
1480
|
-
{ name: "Claude
|
|
1481
|
-
{ name: "
|
|
1482
|
-
{ name: "GPT-
|
|
1483
|
-
{ name: "
|
|
1489
|
+
{ name: "Claude Opus 4.5", value: "anthropic/claude-opus-4.5" },
|
|
1490
|
+
{ name: "Claude Sonnet 4.5", value: "anthropic/claude-sonnet-4.5" },
|
|
1491
|
+
{ name: "GPT-5.2", value: "openai/gpt-5.2" },
|
|
1492
|
+
{ name: "GPT-4.1", value: "openai/gpt-4.1" },
|
|
1493
|
+
{ name: "Gemini 2.5 Flash", value: "google/gemini-2.5-flash" },
|
|
1484
1494
|
{ name: "Llama 3.3 70B", value: "meta-llama/llama-3.3-70b-instruct" },
|
|
1485
|
-
{ name: "DeepSeek
|
|
1486
|
-
{ name: "
|
|
1495
|
+
{ name: "DeepSeek V3.2", value: "deepseek/deepseek-chat" },
|
|
1496
|
+
{ name: "Grok 4", value: "xai/grok-4" }
|
|
1487
1497
|
],
|
|
1488
1498
|
openai: [
|
|
1489
|
-
{ name: "GPT-5.2 (Flagship)", value: "gpt-5.2" },
|
|
1490
|
-
{ name: "GPT-5.2
|
|
1491
|
-
{ name: "GPT-5
|
|
1492
|
-
{ name: "GPT-5
|
|
1493
|
-
{ name: "GPT-
|
|
1494
|
-
{ name: "GPT-
|
|
1495
|
-
{ name: "GPT-
|
|
1496
|
-
{ name: "GPT-4o", value: "gpt-4o" },
|
|
1497
|
-
{ name: "GPT-4o Mini", value: "gpt-4o-mini" }
|
|
1498
|
-
{ name: "o1", value: "o1" },
|
|
1499
|
-
{ name: "o1-mini", value: "o1-mini" }
|
|
1499
|
+
{ name: "GPT-5.2 (Flagship Reasoning)", value: "gpt-5.2" },
|
|
1500
|
+
{ name: "GPT-5.2 Pro (Research)", value: "gpt-5.2-pro" },
|
|
1501
|
+
{ name: "GPT-5 Mini (Fast Reasoning)", value: "gpt-5-mini" },
|
|
1502
|
+
{ name: "GPT-5 Nano (Affordable)", value: "gpt-5-nano" },
|
|
1503
|
+
{ name: "GPT-4.1 (General Purpose)", value: "gpt-4.1" },
|
|
1504
|
+
{ name: "GPT-4.1 Mini", value: "gpt-4.1-mini" },
|
|
1505
|
+
{ name: "GPT-4.1 Nano", value: "gpt-4.1-nano" },
|
|
1506
|
+
{ name: "GPT-4o (Multimodal)", value: "gpt-4o" },
|
|
1507
|
+
{ name: "GPT-4o Mini", value: "gpt-4o-mini" }
|
|
1500
1508
|
],
|
|
1501
1509
|
anthropic: [
|
|
1502
|
-
{ name: "Claude Opus 4.5 (
|
|
1503
|
-
{ name: "Claude Sonnet 4.5", value: "claude-sonnet-4.5-20250929" },
|
|
1510
|
+
{ name: "Claude Opus 4.5 (Flagship)", value: "claude-opus-4.5-20251124" },
|
|
1511
|
+
{ name: "Claude Sonnet 4.5 (Recommended)", value: "claude-sonnet-4.5-20250929" },
|
|
1504
1512
|
{ name: "Claude Haiku 4.5 (Fast)", value: "claude-haiku-4.5-20251015" },
|
|
1505
|
-
{ name: "Claude Sonnet 3.5", value: "claude-3-5-sonnet-20241022" }
|
|
1506
|
-
{ name: "Claude Haiku 3.5", value: "claude-3-5-haiku-20241022" }
|
|
1513
|
+
{ name: "Claude Sonnet 3.5 (Legacy)", value: "claude-3-5-sonnet-20241022" }
|
|
1507
1514
|
],
|
|
1508
1515
|
deepseek: [
|
|
1509
|
-
{ name: "DeepSeek V3", value: "deepseek-chat" },
|
|
1510
|
-
{ name: "DeepSeek
|
|
1511
|
-
{ name: "DeepSeek
|
|
1512
|
-
{ name: "DeepSeek Coder
|
|
1516
|
+
{ name: "DeepSeek V3.2 (Chat)", value: "deepseek-chat" },
|
|
1517
|
+
{ name: "DeepSeek V3.2 Reasoner", value: "deepseek-reasoner" },
|
|
1518
|
+
{ name: "DeepSeek V3.2 Speciale (Advanced Reasoning)", value: "deepseek-speciale" },
|
|
1519
|
+
{ name: "DeepSeek Coder V3", value: "deepseek-coder" }
|
|
1513
1520
|
],
|
|
1514
1521
|
xai: [
|
|
1515
|
-
{ name: "Grok
|
|
1516
|
-
{ name: "Grok
|
|
1517
|
-
{ name: "Grok
|
|
1522
|
+
{ name: "Grok 4.1 Fast (2M Context)", value: "grok-4.1-fast" },
|
|
1523
|
+
{ name: "Grok 4 (Flagship)", value: "grok-4" },
|
|
1524
|
+
{ name: "Grok Code Fast (Agentic Coding)", value: "grok-code-fast-1" }
|
|
1518
1525
|
]
|
|
1519
1526
|
};
|
|
1520
1527
|
function needsOnboarding() {
|
|
@@ -6327,7 +6334,7 @@ ${chalk18.cyan(`/_/ |_|\\_, /\\__,_//_/ `)}
|
|
|
6327
6334
|
${chalk18.cyan(` /____/ `)}
|
|
6328
6335
|
`;
|
|
6329
6336
|
var program = new Command();
|
|
6330
|
-
program.name("agdi").description(chalk18.cyan("\u{1F680} AI-powered coding assistant")).version("2.10.
|
|
6337
|
+
program.name("agdi").description(chalk18.cyan("\u{1F680} AI-powered coding assistant")).version("2.10.5").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");
|
|
6331
6338
|
program.hook("preAction", (thisCommand) => {
|
|
6332
6339
|
const opts = thisCommand.opts();
|
|
6333
6340
|
if (opts.yes) {
|
|
@@ -6352,6 +6359,7 @@ program.action(async () => {
|
|
|
6352
6359
|
await startCodingMode();
|
|
6353
6360
|
} catch (error) {
|
|
6354
6361
|
if (error.name === "ExitPromptError") {
|
|
6362
|
+
ui.showCommunityInvite("exit");
|
|
6355
6363
|
console.log(chalk18.gray("\n\n\u{1F44B} Goodbye!\n"));
|
|
6356
6364
|
try {
|
|
6357
6365
|
ui.safeExit(0);
|
|
@@ -6484,6 +6492,7 @@ program.command("build <prompt>").alias("b").description("Generate an app from a
|
|
|
6484
6492
|
console.log(chalk18.gray(`
|
|
6485
6493
|
\u{1F4C1} Created ${files.length} files in ${chalk18.cyan(options.output)}`));
|
|
6486
6494
|
console.log(chalk18.gray("\nNext: cd " + options.output + " && npm install && npm run dev\n"));
|
|
6495
|
+
ui.showCommunityInvite("build");
|
|
6487
6496
|
} catch (error) {
|
|
6488
6497
|
spinner.fail("Generation failed");
|
|
6489
6498
|
const msg = error instanceof Error ? error.message : String(error);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agdi",
|
|
3
|
-
"version": "2.10.
|
|
3
|
+
"version": "2.10.6",
|
|
4
4
|
"description": "AI-powered app generator - build full-stack apps from natural language in your terminal",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -75,4 +75,4 @@
|
|
|
75
75
|
"ora": "^8.0.0",
|
|
76
76
|
"uuid": "^13.0.0"
|
|
77
77
|
}
|
|
78
|
-
}
|
|
78
|
+
}
|