wenox-cli 3.2.0 → 3.2.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.
Files changed (3) hide show
  1. package/README.md +45 -53
  2. package/bin/wenox.js +93 -14
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -2,65 +2,62 @@
2
2
 
3
3
  **Claude API • Enterprise AI Platform**
4
4
 
5
- Python 3.14 uyumlu, setuptools sorunlarını atlar.
5
+ Otomatik Python 3.12 indirici ile sıfır kurulum sorunu!
6
6
 
7
7
  ## Hızlı Kurulum
8
8
 
9
9
  ```bash
10
- # 1. WENOX CLI'yi kur
11
- npm install -g wenox-cli
12
-
13
- # 2. Python bağımlılığını kur (Python 3.14 uyumlu)
14
- pip install aider-chat --only-binary=all
10
+ # Tek komut - gerisini WENOX halleder:
11
+ npx wenox-cli
15
12
 
16
- # 3. API anahtarını ayarla
13
+ # API anahtarını ayarla
17
14
  set WENOX_API_KEY=your_api_key_here
18
15
 
19
- # 4. Başlat
16
+ # Başlat
20
17
  wenox
21
18
  ```
22
19
 
23
- ## Python 3.14 Özel Notları
20
+ ## Otomatik Python İndirici
24
21
 
25
- Python 3.14 ile setuptools sorunları yaşıyorsan:
22
+ WENOX artık **otomatik olarak Python 3.12 indirir**:
26
23
 
27
- ```bash
28
- # Yöntem 1: Binary wheels kullan (önerilen)
29
- pip install aider-chat --only-binary=all
24
+ - 🚀 **Sıfır Kurulum** - Python kurmanıza gerek yok
25
+ - 📦 **Portable Python 3.12** - 50MB indirme (tek seferlik)
26
+ - 🔧 **Otomatik Aider Kurulumu** - Her şey hazır gelir
27
+ - 🛡️ **İzole Ortam** - Sistem Python'unu etkilemez
30
28
 
31
- # Yöntem 2: Setuptools güncelle
32
- pip install --upgrade pip setuptools
33
- pip install aider-chat
29
+ ## Nasıl Çalışır
34
30
 
35
- # Yöntem 3: Python 3.12 kullan (en stabil)
36
- # Python 3.12 indir ve kullan
37
- ```
31
+ 1. **İlk çalıştırma:** WENOX otomatik Python 3.12 indirir
32
+ 2. **Aider kurulumu:** Portable Python'a aider-chat kurar
33
+ 3. **Hazır!** - Artık her seferinde hızlı başlar
38
34
 
39
35
  ## Özellikler
40
36
 
41
- - 🚀 **Python 3.14 Uyumlu** - En yeni Python sürümü destekli
42
- - 🔧 **Setuptools Sorunlarını Atlar** - Binary wheels kullanır
43
- - 🎯 **Garantili Çalışma** - Dependency cehennemini atlar
37
+ - 🚀 **Otomatik Python İndirici** - Python 3.12 portable
38
+ - 🔧 **Sıfır Dependency Sorunu** - İzole ortam
39
+ - 🎯 **Garantili Çalışma** - Setuptools sorunlarını atlar
44
40
  - 💻 **Çapraz Platform** - Windows, macOS, Linux
45
- - 🛡️ **Güvenli** - Kendi Python ortamında çalışır
41
+ - 🛡️ **Güvenli** - ~/.wenox klasöründe izole
46
42
 
47
43
  ## Kurulum Seçenekleri
48
44
 
49
- ### Yöntem 1: Global Kurulum (Önerilen)
45
+ ### Yöntem 1: NPX (Önerilen)
50
46
  ```bash
51
- npm install -g wenox-cli
52
- pip install aider-chat --only-binary=all
47
+ npx wenox-cli
48
+ # Otomatik Python indirir ve kurar
53
49
  ```
54
50
 
55
- ### Yöntem 2: NPX (Kurulum Yok)
51
+ ### Yöntem 2: Global Kurulum
56
52
  ```bash
57
- npx wenox-cli
58
- # (Yine de pip install aider-chat --only-binary=all gerekli)
53
+ npm install -g wenox-cli
54
+ wenox
55
+ # Otomatik Python indirir ve kurar
59
56
  ```
60
57
 
61
58
  ## Kurulum
62
59
 
63
- 1. **Python bağımlılığını kur**: `pip install aider-chat --only-binary=all`
60
+ 1. **WENOX'u çalıştır**: `npx wenox-cli` (otomatik Python indirir)
64
61
  2. **API anahtarını al**: [wenox.ai/dashboard](https://wenox.ai/dashboard)
65
62
  3. **Ortam değişkenini ayarla**:
66
63
  - **CMD**: `set WENOX_API_KEY=your_key_here`
@@ -69,8 +66,10 @@ npx wenox-cli
69
66
 
70
67
  ## Sistem Gereksinimleri
71
68
 
72
- - **Python 3.10+** (3.12 önerilen, 3.14 destekli)
73
69
  - **Node.js 16+** (NPM kurulumu için)
70
+ - **İnternet bağlantısı** (Python indirme için, tek seferlik)
71
+
72
+ Python kurmanıza gerek yok! WENOX otomatik indirir.
74
73
 
75
74
  ## Kullanım
76
75
 
@@ -94,42 +93,35 @@ wenox --help
94
93
  - Dene: `npx wenox-cli`
95
94
  - Veya kurulumdan sonra terminali yeniden başlat
96
95
 
97
- ### Python 3.14 Setuptools Hataları
98
- ```bash
99
- # En iyi çözüm:
100
- pip install aider-chat --only-binary=all
101
-
102
- # Alternatif:
103
- pip install --upgrade pip setuptools
104
- pip install aider-chat
105
-
106
- # Son çare:
107
- pip install aider-chat --no-deps
108
- pip install tree-sitter
109
- ```
96
+ ### Python İndirme Sorunları
97
+ WENOX otomatik Python indirir. Sorun olursa:
98
+ - İnternet bağlantınızı kontrol edin
99
+ - Güvenlik duvarı Python indirmeyi engelliyor olabilir
110
100
 
111
101
  ### API Anahtarı Sorunları
112
102
  API anahtarının doğru ayarlandığından emin ol:
113
103
  - CMD: `echo %WENOX_API_KEY%`
114
104
  - PowerShell: `echo $env:WENOX_API_KEY`
115
105
 
116
- ## v3.1.2'deki Yenilikler
106
+ ## v3.2.1'deki Yenilikler
117
107
 
118
- - ✅ **Python 3.14 Desteği** - En yeni Python sürümü uyumlu
119
- - ✅ **Binary Wheels** - Setuptools sorunlarını atlar
120
- - ✅ **Net Hata Mesajları** - Python 3.14 özel çözümleri
121
- - ✅ **Stabil Kurulum** - --only-binary=all kullanır
108
+ - ✅ **Otomatik Python İndirici** - Python 3.12 portable indirir
109
+ - ✅ **Sıfır Kurulum Sorunu** - Setuptools cehennemini atlar
110
+ - ✅ **İzole Ortam** - ~/.wenox klasöründe temiz kurulum
111
+ - ✅ **Hızlı Başlatma** - İkinci seferden itibaren anında başlar
122
112
 
123
113
  ## Müşteri İçin Basit Talimat
124
114
 
125
115
  ```bash
126
- # Python 3.14 için bu 4 komutu çalıştır:
127
- npm install -g wenox-cli
128
- pip install aider-chat --only-binary=all
116
+ # Sadece bu 3 komutu çalıştır:
117
+ npx wenox-cli
129
118
  set WENOX_API_KEY=your_key_here
130
119
  wenox
131
120
  ```
132
121
 
122
+ İlk çalıştırmada Python 3.12 otomatik indirilir (2-3 dakika).
123
+ Sonraki çalıştırmalarda anında başlar!
124
+
133
125
  ## Destek
134
126
 
135
127
  - 📧 Email: support@wenox.ai
@@ -137,4 +129,4 @@ wenox
137
129
 
138
130
  ---
139
131
 
140
- **WENOX CLI v3.1.2** - Python 3.14 uyumlu, setuptools sorunsuz.
132
+ **WENOX CLI v3.2.1** - Otomatik Python indirici ile sıfır sorun!
package/bin/wenox.js CHANGED
@@ -1,6 +1,85 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const { spawn } = require('child_process');
3
+ const https = require('https');
4
+ const fs = require('fs');
5
+ const path = require('path');
6
+ const os = require('os');
7
+
8
+ async function downloadPortablePython() {
9
+ const wenoxDir = path.join(os.homedir(), '.wenox');
10
+ const pythonDir = path.join(wenoxDir, 'python312');
11
+ const pythonExe = path.join(pythonDir, 'python.exe');
12
+
13
+ // Check if portable Python already exists
14
+ if (fs.existsSync(pythonExe)) {
15
+ console.log(chalk.green('✅ Portable Python 3.12 ready'));
16
+ return pythonExe;
17
+ }
18
+
19
+ console.log(chalk.cyan('📦 Downloading Portable Python 3.12 (one-time setup)...'));
20
+ console.log(chalk.yellow('⏳ This will take 2-3 minutes (50MB download)...'));
21
+
22
+ // Create directories
23
+ if (!fs.existsSync(wenoxDir)) {
24
+ fs.mkdirSync(wenoxDir, { recursive: true });
25
+ }
26
+ if (!fs.existsSync(pythonDir)) {
27
+ fs.mkdirSync(pythonDir, { recursive: true });
28
+ }
29
+
30
+ // Download portable Python 3.12
31
+ const pythonUrl = 'https://www.python.org/ftp/python/3.12.9/python-3.12.9-embed-amd64.zip';
32
+ const zipPath = path.join(wenoxDir, 'python312.zip');
33
+
34
+ return new Promise((resolve, reject) => {
35
+ const file = fs.createWriteStream(zipPath);
36
+
37
+ https.get(pythonUrl, (response) => {
38
+ const totalSize = parseInt(response.headers['content-length'], 10);
39
+ let downloadedSize = 0;
40
+
41
+ response.on('data', (chunk) => {
42
+ downloadedSize += chunk.length;
43
+ const percent = Math.round((downloadedSize / totalSize) * 100);
44
+ process.stdout.write(`\r${chalk.cyan('📥 Downloading:')} ${percent}%`);
45
+ });
46
+
47
+ response.pipe(file);
48
+
49
+ file.on('finish', () => {
50
+ file.close();
51
+ console.log(chalk.green('\n✅ Download complete! Extracting...'));
52
+
53
+ // Extract ZIP (simple implementation)
54
+ const { execSync } = require('child_process');
55
+ try {
56
+ execSync(`powershell -command "Expand-Archive -Path '${zipPath}' -DestinationPath '${pythonDir}' -Force"`, { stdio: 'pipe' });
57
+
58
+ // Install pip
59
+ console.log(chalk.cyan('📦 Installing pip...'));
60
+ execSync(`"${pythonExe}" -m ensurepip --default-pip`, { stdio: 'pipe' });
61
+
62
+ // Install aider
63
+ console.log(chalk.cyan('📦 Installing aider-chat...'));
64
+ execSync(`"${pythonExe}" -m pip install aider-chat`, { stdio: 'pipe' });
65
+
66
+ console.log(chalk.green('✅ Portable Python 3.12 + Aider ready!'));
67
+ resolve(pythonExe);
68
+ } catch (err) {
69
+ console.log(chalk.red('❌ Extraction failed:', err.message));
70
+ reject(err);
71
+ }
72
+ });
73
+
74
+ file.on('error', (err) => {
75
+ fs.unlink(zipPath, () => { });
76
+ reject(err);
77
+ });
78
+ }).on('error', (err) => {
79
+ reject(err);
80
+ });
81
+ });
82
+ }
4
83
 
5
84
  // Simple console colors
6
85
  const chalk = {
@@ -150,6 +229,16 @@ async function checkAiderStatus() {
150
229
  }
151
230
 
152
231
  async function runAider() {
232
+ // Try to use portable Python first
233
+ let pythonExe;
234
+ try {
235
+ pythonExe = await downloadPortablePython();
236
+ console.log(chalk.green('🐍 Using Portable Python 3.12'));
237
+ } catch (err) {
238
+ console.log(chalk.yellow('⚠️ Portable Python failed, using system Python'));
239
+ pythonExe = process.platform === 'win32' ? 'python' : 'python3';
240
+ }
241
+
153
242
  // Default arguments for WENOX
154
243
  const defaultArgs = [
155
244
  '-m', 'aider.main',
@@ -166,8 +255,7 @@ async function runAider() {
166
255
 
167
256
  console.log(chalk.green('✅ Starting WENOX Claude API Platform...\n'));
168
257
 
169
- const python = process.platform === 'win32' ? 'python' : 'python3';
170
- const child = spawn(python, args, {
258
+ const child = spawn(pythonExe, args, {
171
259
  stdio: 'inherit',
172
260
  shell: true
173
261
  });
@@ -246,17 +334,8 @@ ${chalk.bold('System Requirements:')}
246
334
  // Check API key
247
335
  checkApiKey();
248
336
 
249
- // Check and auto-fix dependencies
250
- const dependenciesOk = await checkAiderStatus();
251
- if (!dependenciesOk) {
252
- console.log(chalk.cyan('🔧 Auto-fixing Python dependencies...'));
253
- const fixed = await autoFixDependencies();
254
- if (!fixed) {
255
- console.log(chalk.red('❌ Could not resolve dependencies automatically'));
256
- console.log(chalk.cyan('💡 Please run manually: pip install aider-chat tree-sitter-languages'));
257
- process.exit(1);
258
- }
259
- }
337
+ // Skip dependency check, use portable Python
338
+ console.log(chalk.cyan('🚀 Using Portable Python approach...'));
260
339
 
261
340
  // Run aider with WENOX branding
262
341
  await runAider();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wenox-cli",
3
- "version": "3.2.0",
3
+ "version": "3.2.1",
4
4
  "description": "WENOX AI - Advanced AI-powered development assistant",
5
5
  "main": "index.js",
6
6
  "bin": {