stella-coder 5.3.2 → 5.3.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stella-coder",
3
- "version": "5.3.2",
3
+ "version": "5.3.4",
4
4
  "private": false,
5
5
  "description": "Stella Coder 5.0 — AI coding agent with Telegram bot, huge context, TDD, Git ecosystem, presentations, computer control, smart home, Office automation, and antivirus",
6
6
  "main": "stella-cli/index.mjs",
package/setup-full.ps1 ADDED
@@ -0,0 +1,84 @@
1
+ # Stella Coder - Full Installer (Pure PowerShell)
2
+ $ErrorActionPreference = "Stop"
3
+ $nodeVer = "v22.14.0"
4
+ $nodeDir = "$env:USERPROFILE\StellaNode"
5
+ $nodePath = "$nodeDir\node-$nodeVer-win-x64"
6
+
7
+ Write-Host ""
8
+ Write-Host " ===================================" -ForegroundColor Green
9
+ Write-Host " Stella Coder - Full Installer" -ForegroundColor Green
10
+ Write-Host " ===================================" -ForegroundColor Green
11
+ Write-Host ""
12
+
13
+ # Step 1: Set execution policy
14
+ Write-Host " [1/5] Setting execution policy..." -ForegroundColor Yellow
15
+ try {
16
+ Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force -ErrorAction Stop
17
+ } catch {
18
+ # Policy already set at Machine level, that's fine
19
+ }
20
+ Write-Host " [OK] Execution policy ready" -ForegroundColor Green
21
+
22
+ # Step 2: Download Node.js
23
+ Write-Host " [2/5] Downloading Node.js $nodeVer..." -ForegroundColor Yellow
24
+ if (Test-Path "$nodePath\node.exe") {
25
+ Write-Host " [OK] Node.js already installed" -ForegroundColor Green
26
+ } else {
27
+ $zipUrl = "https://nodejs.org/dist/$nodeVer/node-$nodeVer-win-x64.zip"
28
+ $zipFile = "$env:TEMP\node.zip"
29
+ Write-Host " Downloading from $zipUrl..."
30
+ Invoke-WebRequest -Uri $zipUrl -OutFile $zipFile -UseBasicParsing
31
+ Write-Host " Extracting..."
32
+ if (-not (Test-Path $nodeDir)) { New-Item -ItemType Directory -Path $nodeDir -Force | Out-Null }
33
+ Expand-Archive -Path $zipFile -DestinationPath $nodeDir -Force
34
+ Remove-Item $zipFile -Force -ErrorAction SilentlyContinue
35
+ Write-Host " [OK] Node.js installed" -ForegroundColor Green
36
+ }
37
+
38
+ # Step 3: Add to PATH
39
+ Write-Host " [3/5] Adding Node.js to PATH..." -ForegroundColor Yellow
40
+ $env:PATH = "$nodePath;$env:PATH"
41
+ $currentPath = [Environment]::GetEnvironmentVariable("PATH", "User")
42
+ if ($currentPath -notlike "*StellaNode*") {
43
+ [Environment]::SetEnvironmentVariable("PATH", "$nodePath;$currentPath", "User")
44
+ }
45
+ Write-Host " [OK] PATH updated" -ForegroundColor Green
46
+
47
+ # Step 4: Install stella-coder
48
+ Write-Host " [4/5] Installing stella-coder..." -ForegroundColor Yellow
49
+ & "$nodePath\node.exe" "$nodePath\node_modules\npm\bin\npm-cli.js" install -g stella-coder
50
+ if ($LASTEXITCODE -ne 0) {
51
+ Write-Host " [ERROR] npm install failed" -ForegroundColor Red
52
+ pause
53
+ exit 1
54
+ }
55
+ Write-Host " [OK] stella-coder installed" -ForegroundColor Green
56
+
57
+ # Remove .ps1 wrapper so PowerShell uses .cmd instead
58
+ $stellaPs1 = "$nodePath\stella.ps1"
59
+ if (Test-Path $stellaPs1) {
60
+ Remove-Item $stellaPs1 -Force -ErrorAction SilentlyContinue
61
+ Write-Host " [OK] Removed stella.ps1 wrapper (use stella.cmd)" -ForegroundColor Green
62
+ }
63
+
64
+ # Step 5: Create desktop shortcut
65
+ Write-Host " [5/5] Creating desktop shortcut..." -ForegroundColor Yellow
66
+ $ws = New-Object -ComObject WScript.Shell
67
+ $shortcut = $ws.CreateShortcut("$env:USERPROFILE\Desktop\Stella Coder.lnk")
68
+ $shortcut.TargetPath = "$nodePath\node.exe"
69
+ $shortcut.Arguments = "`"$nodePath\node_modules\stella-coder\stella-cli\index.mjs`""
70
+ $shortcut.WorkingDirectory = $env:USERPROFILE
71
+ $shortcut.Save()
72
+ Write-Host " [OK] Shortcut created" -ForegroundColor Green
73
+
74
+ Write-Host ""
75
+ Write-Host " ===================================" -ForegroundColor Green
76
+ Write-Host " DONE!" -ForegroundColor Green
77
+ Write-Host " ===================================" -ForegroundColor Green
78
+ Write-Host ""
79
+ Write-Host " Launch: stella" -ForegroundColor Cyan
80
+ Write-Host " Or double-click 'Stella Coder' on Desktop" -ForegroundColor Cyan
81
+ Write-Host ""
82
+
83
+ # Launch stella
84
+ & "$nodePath\stella.cmd"
@@ -52,7 +52,7 @@ import {
52
52
  generateAdminCode, listAuthorizedUsers,
53
53
  } from "./telegram-bot.mjs"
54
54
 
55
- const VERSION = "5.2.0"
55
+ const VERSION = "5.3.4"
56
56
  const CONFIG_DIR = path.join(os.homedir(), ".stella")
57
57
  const CONFIG_PATH = path.join(CONFIG_DIR, "config.json")
58
58
  const HISTORY_PATH = path.join(CONFIG_DIR, "history.json")
@@ -299,12 +299,21 @@ async function runTurn(userText) {
299
299
  console.log(red("\n ✗ API ключ не задан. Введи /login для настройки.\n"))
300
300
  return
301
301
  }
302
+ console.log(dim(` → модель: ${state.model}, ключ: ${apiKey ? "есть" : "нет"}`))
302
303
  state.messages.push({ role: "user", content: userText })
303
304
  state.turns++
304
305
  state.interrupted = false
305
306
 
306
307
  const isOllama = state.model.startsWith("ollama:")
307
308
  const controller = new AbortController()
309
+
310
+ // 30 second timeout
311
+ const timeout = setTimeout(() => {
312
+ controller.abort()
313
+ stopSpinner()
314
+ console.log("\n" + red("✗ Таймаут: API не отвечает 30 секунд. Проверь модель: /model"))
315
+ }, 30000)
316
+
308
317
  const onSigint = () => {
309
318
  state.interrupted = true
310
319
  controller.abort()
@@ -455,6 +464,7 @@ async function runTurn(userText) {
455
464
  }
456
465
  }
457
466
  } finally {
467
+ clearTimeout(timeout)
458
468
  process.removeListener("SIGINT", onSigint)
459
469
  }
460
470
  console.log()