agdi 2.6.3 → 2.7.0

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Agdi Systems
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -26,10 +26,30 @@
26
26
 
27
27
  ---
28
28
 
29
- ## 🎬 Cinematic Dark Mode (v2.6.1)
29
+ ## 🚀 What's New in v2.7.0
30
30
 
31
31
  <div align="center">
32
- <img src="https://img.shields.io/badge/NEW-Premium_Terminal_UI-blueviolet?style=for-the-badge" alt="New">
32
+ <img src="https://img.shields.io/badge/NEW-GitHub_Import-00d1b2?style=for-the-badge" alt="GitHub Import">
33
+ <img src="https://img.shields.io/badge/NEW-Voice_Commands-ff6b6b?style=for-the-badge" alt="Voice">
34
+ <img src="https://img.shields.io/badge/NEW-Self_Repair-8b5cf6?style=for-the-badge" alt="Self-Repair">
35
+ </div>
36
+
37
+ ### ✨ New Features
38
+
39
+ | Feature | Description |
40
+ |---------|-------------|
41
+ | 🐙 **GitHub Import** | Import any public repo via URL. Fetches zipball, extracts with JSZip |
42
+ | 🎤 **Voice Commands** | Talk to Agdi! Uses Web Speech API for real-time transcription |
43
+ | 🩹 **Self-Repair** | Autonomous build error recovery. AI diagnoses and fixes errors |
44
+ | 🧠 **2026 Model Registry** | GPT-5.2 Codex, Claude 4.5 Sonnet, Gemini 3 Pro/Flash |
45
+ | 🎨 **Official Brand Logos** | SVG icons for all AI providers (no more emojis) |
46
+
47
+ ---
48
+
49
+ ## 🎬 Cinematic Dark Mode
50
+
51
+ <div align="center">
52
+ <img src="https://img.shields.io/badge/Premium_Terminal_UI-blueviolet?style=for-the-badge" alt="New">
33
53
  </div>
34
54
 
35
55
  ### ✨ Visual Upgrade
@@ -53,7 +73,7 @@
53
73
  │ / ___ / /_/ / /_/ // / │
54
74
  │ /_/ |_\____/_____/___/ │
55
75
  │ │
56
- │ v2.6.1 [ARCHITECT ONLINE] │
76
+ │ v2.7.0 [ARCHITECT ONLINE] │
57
77
  │ │
58
78
  ├──────────────────────────────────────────────────────────────┤
59
79
  │ ╭─ SESSION INFO ─────────────────────────────────────────╮ │
@@ -85,7 +105,7 @@ agdi
85
105
 
86
106
  ---
87
107
 
88
- ## 🎯 What's New in v2.6
108
+ ## 🎯 Highlights
89
109
 
90
110
  <table>
91
111
  <tr>
@@ -102,39 +122,35 @@ Your code is reviewed by AI before delivery.
102
122
  </td>
103
123
  <td width="50%">
104
124
 
105
- ### 🔍 Codebase RAG
125
+ ### 🎤 Voice Input (NEW)
106
126
  ```bash
107
- /index
108
- Indexed 47 files, 312 chunks
109
-
110
- → /search authentication
111
- 🔍 src/auth/login.ts:15 (0.87)
127
+ 🎤 Hold Space to talk
128
+ 🎤 "Build a todo app with dark mode"
129
+ → Generating...
112
130
  ```
131
+ Talk to build apps!
113
132
 
114
133
  </td>
115
134
  </tr>
116
135
  <tr>
117
136
  <td width="50%">
118
137
 
119
- ### 🔧 MCP Tools
138
+ ### 🐙 GitHub Import (NEW)
120
139
  ```bash
121
- → /tools
122
- 🔧 Available Tools
123
- read_file [filesystem]
124
- list_dir [filesystem]
125
- search_code [code]
140
+ Import from: https://github.com/user/repo
141
+ 📦 Fetching zipball...
142
+ Imported 47 files
126
143
  ```
127
144
 
128
145
  </td>
129
146
  <td width="50%">
130
147
 
131
- ### 🧠 Persistent Memory
148
+ ### 🩹 Self-Repair (NEW)
132
149
  ```bash
133
- /memory
134
- 🧠 Memory Stats
135
- Total entries: 12
136
- Projects: 3
137
- Preferences: 5
150
+ npm install failed
151
+ 🩹 Diagnosing error...
152
+ 🔧 Applying fix: removed conflicting dep
153
+ Build succeeded!
138
154
  ```
139
155
 
140
156
  </td>
@@ -224,22 +240,26 @@ Your code is reviewed by AI before delivery.
224
240
 
225
241
  ## 🌐 AI Providers
226
242
 
227
- ### Free Models (No API Key)
243
+ ### Free Models via OpenRouter
244
+
245
+ > **Note:** These models are free but require an [OpenRouter API key](https://openrouter.ai/keys) (free to create).
228
246
 
229
247
  | Model | ID | Best For |
230
248
  |-------|-----|----------|
231
249
  | GPT-OSS 120B | `openai/gpt-oss-120b:free` | General |
232
250
  | Qwen3 Coder | `qwen/qwen3-coder:free` | Code |
233
251
  | Kimi K2 | `moonshotai/kimi-k2:free` | General |
252
+ | Gemma 3n | `google/gemma-3n-e2b-it:free` | Lightweight |
253
+ | Devstral | `mistralai/devstral-2512:free` | Code |
234
254
 
235
255
  ### Bring Your Own Key
236
256
 
237
257
  | Provider | Models | Get Key |
238
258
  |----------|--------|---------|
239
- | **Gemini** 🔥 | 2.5 Flash, 2.5 Pro | [aistudio.google.com](https://aistudio.google.com/apikey) |
240
- | **OpenRouter** | Claude, GPT-4o, Llama | [openrouter.ai](https://openrouter.ai/keys) |
241
- | **OpenAI** | GPT-5, o3 | [platform.openai.com](https://platform.openai.com/api-keys) |
242
- | **Anthropic** | Claude 4.5 Sonnet | [console.anthropic.com](https://console.anthropic.com/) |
259
+ | **Gemini** 🔥 | Gemini 3 Pro/Flash, 2.5 Flash | [aistudio.google.com](https://aistudio.google.com/apikey) |
260
+ | **OpenRouter** | Claude, GPT-5, Llama | [openrouter.ai](https://openrouter.ai/keys) |
261
+ | **OpenAI** | GPT-5.2 Codex, o3 | [platform.openai.com](https://platform.openai.com/api-keys) |
262
+ | **Anthropic** | Claude 4.5 Sonnet/Opus | [console.anthropic.com](https://console.anthropic.com/) |
243
263
 
244
264
  ---
245
265
 
package/bin/agdi.js CHANGED
File without changes
package/dist/index.js CHANGED
@@ -1750,66 +1750,6 @@ function detectEnvironment(overrides) {
1750
1750
  ...overrides
1751
1751
  };
1752
1752
  }
1753
- function formatBackend(backend) {
1754
- switch (backend) {
1755
- case "windows-host":
1756
- return "Windows host";
1757
- case "linux-host":
1758
- return "Linux host";
1759
- case "macos-host":
1760
- return "macOS host";
1761
- case "wsl":
1762
- return "WSL (Windows Subsystem for Linux)";
1763
- case "container":
1764
- return "Container sandbox";
1765
- }
1766
- }
1767
- function formatNetwork(policy, domains) {
1768
- switch (policy) {
1769
- case "off":
1770
- return "off";
1771
- case "allowlist":
1772
- return `allowlist (${domains.slice(0, 2).join(", ")}${domains.length > 2 ? "..." : ""})`;
1773
- case "on":
1774
- return "unrestricted";
1775
- }
1776
- }
1777
- function formatTrust(trust) {
1778
- switch (trust) {
1779
- case "untrusted":
1780
- return chalk9.red("untrusted (read-only mode)");
1781
- case "session":
1782
- return chalk9.yellow("session trusted");
1783
- case "persistent":
1784
- return chalk9.green("trusted");
1785
- }
1786
- }
1787
- function displaySessionHeader(env) {
1788
- const boxWidth = 54;
1789
- const topBorder = "\u256D\u2500 Agdi Terminal Session " + "\u2500".repeat(boxWidth - 25) + "\u256E";
1790
- const bottomBorder = "\u2570" + "\u2500".repeat(boxWidth) + "\u256F";
1791
- const lines = [
1792
- `Exec env: ${formatBackend(env.backend)}`,
1793
- `Workspace: ${truncatePath(env.workspaceRoot, 40)}`,
1794
- `cwd: ${truncatePath(env.cwd, 40)}`,
1795
- `Network: ${formatNetwork(env.networkPolicy, env.allowedDomains)}`,
1796
- `Trust: ${formatTrust(env.trustLevel)}`
1797
- ];
1798
- console.log(chalk9.cyan(topBorder));
1799
- for (const line of lines) {
1800
- const padding = " ".repeat(Math.max(0, boxWidth - stripAnsi(line).length - 2));
1801
- console.log(chalk9.cyan("\u2502 ") + line + padding + chalk9.cyan(" \u2502"));
1802
- }
1803
- console.log(chalk9.cyan(bottomBorder));
1804
- console.log("");
1805
- }
1806
- function truncatePath(path4, maxLen) {
1807
- if (path4.length <= maxLen) return path4;
1808
- return "..." + path4.slice(-(maxLen - 3));
1809
- }
1810
- function stripAnsi(str) {
1811
- return str.replace(/\u001b\[[0-9;]*m/g, "");
1812
- }
1813
1753
  var currentEnvironment = null;
1814
1754
  function initSession(overrides) {
1815
1755
  currentEnvironment = detectEnvironment(overrides);
@@ -4249,7 +4189,6 @@ async function startCodingMode() {
4249
4189
  const { provider, apiKey, model } = activeConfig;
4250
4190
  const config = loadConfig();
4251
4191
  const env = initSession();
4252
- displaySessionHeader(env);
4253
4192
  const isTrusted = await ensureTrusted(env.workspaceRoot);
4254
4193
  if (!isTrusted) {
4255
4194
  process.exit(0);
package/package.json CHANGED
@@ -1,70 +1,69 @@
1
- {
2
- "name": "agdi",
3
- "version": "2.6.3",
4
- "description": "AI-powered app generator - build full-stack apps from natural language in your terminal",
5
- "type": "module",
6
- "bin": {
7
- "agdi": "./bin/agdi.js"
8
- },
9
- "main": "./dist/index.js",
10
- "files": [
11
- "bin",
12
- "dist",
13
- "README.md"
14
- ],
15
- "scripts": {
16
- "build": "tsup src/index.ts --format esm --clean",
17
- "dev": "tsx src/index.ts",
18
- "start": "node bin/agdi.js",
19
- "test": "vitest run",
20
- "prepublishOnly": "npm run build"
21
- },
22
- "keywords": [
23
- "cli",
24
- "ai",
25
- "code-generation",
26
- "app-generator",
27
- "llm",
28
- "gpt",
29
- "claude",
30
- "gemini",
31
- "react",
32
- "vite",
33
- "full-stack"
34
- ],
35
- "author": "Agdi Systems Inc.",
36
- "license": "MIT",
37
- "repository": {
38
- "type": "git",
39
- "url": "git+https://github.com/anassagd432/Agdi-dev.git"
40
- },
41
- "homepage": "https://agdi-dev.vercel.app",
42
- "bugs": {
43
- "url": "https://github.com/anassagd432/Agdi-dev/issues"
44
- },
45
- "engines": {
46
- "node": ">=18.0.0"
47
- },
48
- "devDependencies": {
49
- "@types/fs-extra": "^11.0.0",
50
- "@types/node": "^20.0.0",
51
- "tsup": "^8.0.0",
52
- "tsx": "^4.7.0",
53
- "typescript": "^5.4.0",
54
- "vitest": "^3.0.0"
55
- },
56
- "dependencies": {
57
- "@google/genai": "^1.0.0",
58
- "@inquirer/prompts": "^5.0.0",
59
- "@types/figlet": "^1.7.0",
60
- "@types/gradient-string": "^1.1.6",
61
- "boxen": "^8.0.1",
62
- "chalk": "^5.3.0",
63
- "commander": "^12.0.0",
64
- "figlet": "^1.9.4",
65
- "fs-extra": "^11.2.0",
66
- "gradient-string": "^3.0.0",
67
- "jszip": "^3.10.0",
68
- "ora": "^8.0.0"
69
- }
1
+ {
2
+ "name": "agdi",
3
+ "version": "2.7.0",
4
+ "description": "AI-powered app generator - build full-stack apps from natural language in your terminal",
5
+ "type": "module",
6
+ "bin": {
7
+ "agdi": "./bin/agdi.js"
8
+ },
9
+ "main": "./dist/index.js",
10
+ "files": [
11
+ "bin",
12
+ "dist",
13
+ "README.md"
14
+ ],
15
+ "keywords": [
16
+ "cli",
17
+ "ai",
18
+ "code-generation",
19
+ "app-generator",
20
+ "llm",
21
+ "gpt",
22
+ "claude",
23
+ "gemini",
24
+ "react",
25
+ "vite",
26
+ "full-stack"
27
+ ],
28
+ "author": "Agdi Systems Inc.",
29
+ "license": "MIT",
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "git+https://github.com/anassagd432/Agdi-dev.git"
33
+ },
34
+ "homepage": "https://agdi-dev.vercel.app",
35
+ "bugs": {
36
+ "url": "https://github.com/anassagd432/Agdi-dev/issues"
37
+ },
38
+ "engines": {
39
+ "node": ">=18.0.0"
40
+ },
41
+ "devDependencies": {
42
+ "@types/fs-extra": "^11.0.0",
43
+ "@types/node": "^20.0.0",
44
+ "tsup": "^8.0.0",
45
+ "tsx": "^4.7.0",
46
+ "typescript": "^5.4.0",
47
+ "vitest": "^3.0.0"
48
+ },
49
+ "dependencies": {
50
+ "@google/genai": "^1.0.0",
51
+ "@inquirer/prompts": "^5.0.0",
52
+ "@types/figlet": "^1.7.0",
53
+ "@types/gradient-string": "^1.1.6",
54
+ "boxen": "^8.0.1",
55
+ "chalk": "^5.3.0",
56
+ "commander": "^12.0.0",
57
+ "figlet": "^1.9.4",
58
+ "fs-extra": "^11.2.0",
59
+ "gradient-string": "^3.0.0",
60
+ "jszip": "^3.10.0",
61
+ "ora": "^8.0.0"
62
+ },
63
+ "scripts": {
64
+ "build": "tsup src/index.ts --format esm --clean",
65
+ "dev": "tsx src/index.ts",
66
+ "start": "node bin/agdi.js",
67
+ "test": "vitest run"
68
+ }
70
69
  }