thaddeus 1.0.17 → 1.0.18
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/bin/thaddeus.js +50 -11
- package/package.json +1 -1
package/bin/thaddeus.js
CHANGED
|
@@ -44,25 +44,52 @@ function findBun() {
|
|
|
44
44
|
|
|
45
45
|
function installBun() {
|
|
46
46
|
console.log('\x1b[33mBun not found — installing automatically...\x1b[0m');
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
|
|
48
|
+
if (isWin) {
|
|
49
|
+
// Try method 1: npm install -g bun (simplest, no execution policy issues)
|
|
50
|
+
try {
|
|
51
|
+
console.log('[1/3] Trying npm install -g bun...');
|
|
52
|
+
execSync('npm install -g bun', { stdio: 'inherit', timeout: 120000 });
|
|
53
|
+
const found = findBun();
|
|
54
|
+
if (found) return found;
|
|
55
|
+
} catch { /* try next method */ }
|
|
56
|
+
|
|
57
|
+
// Try method 2: PowerShell with bypassed execution policy
|
|
58
|
+
try {
|
|
59
|
+
console.log('[2/3] Trying PowerShell installer...');
|
|
50
60
|
execSync(
|
|
51
61
|
'powershell -ExecutionPolicy Bypass -Command "irm bun.sh/install.ps1 | iex"',
|
|
52
62
|
{ stdio: 'inherit', timeout: 120000 }
|
|
53
63
|
);
|
|
54
|
-
|
|
64
|
+
const found = findBun();
|
|
65
|
+
if (found) return found;
|
|
66
|
+
} catch { /* try next method */ }
|
|
67
|
+
|
|
68
|
+
// Try method 3: Direct download via curl/powershell
|
|
69
|
+
try {
|
|
70
|
+
console.log('[3/3] Trying direct download...');
|
|
71
|
+
const bunDir = path.join(process.env.LOCALAPPDATA || path.join(os.homedir(), 'AppData', 'Local'), 'bun');
|
|
72
|
+
if (!fs.existsSync(bunDir)) fs.mkdirSync(bunDir, { recursive: true });
|
|
73
|
+
execSync(
|
|
74
|
+
`powershell -ExecutionPolicy Bypass -Command "Invoke-WebRequest -Uri 'https://github.com/oven-sh/bun/releases/latest/download/bun-windows-x64.zip' -OutFile '$env:TEMP\\bun.zip'; Expand-Archive -Force '$env:TEMP\\bun.zip' '$env:TEMP\\bun-extract'; Copy-Item '$env:TEMP\\bun-extract\\bun-windows-x64\\bun.exe' '${bunDir.replace(/'/g, "''")}\\bun.exe' -Force"`,
|
|
75
|
+
{ stdio: 'inherit', timeout: 120000 }
|
|
76
|
+
);
|
|
77
|
+
const found = findBun();
|
|
78
|
+
if (found) return found;
|
|
79
|
+
} catch { /* all methods failed */ }
|
|
80
|
+
|
|
81
|
+
} else {
|
|
82
|
+
try {
|
|
55
83
|
execSync('curl -fsSL https://bun.sh/install | bash', {
|
|
56
84
|
stdio: 'inherit',
|
|
57
85
|
timeout: 120000,
|
|
58
86
|
});
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
return findBun();
|
|
62
|
-
} catch (err) {
|
|
63
|
-
console.error('\x1b[31mAuto-install failed.\x1b[0m');
|
|
64
|
-
return null;
|
|
87
|
+
return findBun();
|
|
88
|
+
} catch { /* failed */ }
|
|
65
89
|
}
|
|
90
|
+
|
|
91
|
+
console.error('\x1b[31mAll auto-install methods failed.\x1b[0m');
|
|
92
|
+
return null;
|
|
66
93
|
}
|
|
67
94
|
|
|
68
95
|
let bunPath = findBun();
|
|
@@ -109,7 +136,7 @@ if (fs.existsSync(envPath)) {
|
|
|
109
136
|
// ── API routing ───────────────────────────────────────────
|
|
110
137
|
env.CLAUDE_CODE_USE_XAI = 'true';
|
|
111
138
|
env.THADDEUS_USE_XAI = 'true';
|
|
112
|
-
env.THADDEUS_USE_PROXY = 'true';
|
|
139
|
+
env.THADDEUS_USE_PROXY = 'true';
|
|
113
140
|
env.CLAUBBIT = '1';
|
|
114
141
|
|
|
115
142
|
// Auth token — env var > .env file > ~/.thaddeus/auth.json > provisioned default
|
|
@@ -117,6 +144,18 @@ if (!env.THADDEUS_AUTH_TOKEN) {
|
|
|
117
144
|
env.THADDEUS_AUTH_TOKEN = 'thd_8afadf66c4da726e27628871f7c3c635c567d3bae7d6246ade13a3a452110605';
|
|
118
145
|
}
|
|
119
146
|
|
|
147
|
+
// ── Voice keys (Reactor TTS + STT) ──────────────────────
|
|
148
|
+
// .env takes priority — these are fallback defaults so Reactor works out of the box
|
|
149
|
+
if (!env.GROQ_API_KEY) {
|
|
150
|
+
env.GROQ_API_KEY = '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';
|
|
151
|
+
}
|
|
152
|
+
if (!env.OPENAI_API_KEY) {
|
|
153
|
+
env.OPENAI_API_KEY = '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';
|
|
154
|
+
}
|
|
155
|
+
if (!env.ELEVENLABS_API_KEY) {
|
|
156
|
+
env.ELEVENLABS_API_KEY = 'sk_0cb58014414e0cf05e834d15666cf91f16128aa40c163bd6';
|
|
157
|
+
}
|
|
158
|
+
|
|
120
159
|
// Remove conflicting auth from other installs
|
|
121
160
|
delete env.ANTHROPIC_API_KEY;
|
|
122
161
|
delete env.ANTHROPIC_AUTH_TOKEN;
|