@saccolabs/tars 1.5.0 → 1.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/README.md +7 -10
- package/dist/cli/commands/setup.js +135 -111
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/start.d.ts +1 -4
- package/dist/cli/commands/start.js +37 -47
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/status.js +0 -19
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/index.js +0 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/config/config.d.ts +2 -13
- package/dist/config/config.js +13 -34
- package/dist/config/config.js.map +1 -1
- package/dist/discord/discord-bot.d.ts +37 -0
- package/dist/{channels/discord/discord-channel.js → discord/discord-bot.js} +85 -78
- package/dist/discord/discord-bot.js.map +1 -0
- package/dist/discord/message-formatter.js.map +1 -0
- package/dist/scripts/debug-cli.js +1 -1
- package/dist/scripts/debug-cli.js.map +1 -1
- package/dist/supervisor/cron-service.d.ts +3 -3
- package/dist/supervisor/cron-service.js +4 -4
- package/dist/supervisor/cron-service.js.map +1 -1
- package/dist/supervisor/gemini-engine.d.ts +4 -4
- package/dist/supervisor/gemini-engine.js +9 -9
- package/dist/supervisor/gemini-engine.js.map +1 -1
- package/dist/supervisor/heartbeat-service.js +1 -1
- package/dist/supervisor/heartbeat-service.js.map +1 -1
- package/dist/supervisor/main.js +60 -59
- package/dist/supervisor/main.js.map +1 -1
- package/dist/tools/send-discord-message.d.ts +6 -9
- package/dist/tools/send-discord-message.js +21 -14
- package/dist/tools/send-discord-message.js.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/package.json +1 -5
- package/src/prompts/system.md +0 -4
- package/dist/channels/channel-manager.d.ts +0 -35
- package/dist/channels/channel-manager.js +0 -100
- package/dist/channels/channel-manager.js.map +0 -1
- package/dist/channels/discord/discord-channel.d.ts +0 -41
- package/dist/channels/discord/discord-channel.js.map +0 -1
- package/dist/channels/discord/message-formatter.js.map +0 -1
- package/dist/channels/types.d.ts +0 -36
- package/dist/channels/types.js +0 -2
- package/dist/channels/types.js.map +0 -1
- package/dist/channels/whatsapp/whatsapp-channel.d.ts +0 -39
- package/dist/channels/whatsapp/whatsapp-channel.js +0 -208
- package/dist/channels/whatsapp/whatsapp-channel.js.map +0 -1
- package/dist/tools/send-notification.d.ts +0 -15
- package/dist/tools/send-notification.js +0 -51
- package/dist/tools/send-notification.js.map +0 -1
- /package/dist/{channels/discord → discord}/message-formatter.d.ts +0 -0
- /package/dist/{channels/discord → discord}/message-formatter.js +0 -0
package/README.md
CHANGED
|
@@ -66,7 +66,7 @@ npm install -g @saccolabs/tars
|
|
|
66
66
|
|
|
67
67
|
### Initial Setup
|
|
68
68
|
|
|
69
|
-
Run the setup wizard to authorize Gemini and connect your
|
|
69
|
+
Run the setup wizard to authorize Gemini and connect your Discord bot:
|
|
70
70
|
|
|
71
71
|
```bash
|
|
72
72
|
tars setup
|
|
@@ -87,11 +87,9 @@ tars setup
|
|
|
87
87
|
|
|
88
88
|
### Interaction
|
|
89
89
|
|
|
90
|
-
Tars communicates through a
|
|
90
|
+
Tars communicates primarily through a private Discord channel. It supports file uploads, long-running task management, and complex multi-step instructions.
|
|
91
91
|
|
|
92
|
-
> **
|
|
93
|
-
>
|
|
94
|
-
> **WhatsApp**: Just send a message directly — no prefix needed.
|
|
92
|
+
> **!tars** "Analyze the logs in /var/log/syslog and summarize any critical errors."
|
|
95
93
|
|
|
96
94
|
---
|
|
97
95
|
|
|
@@ -99,11 +97,10 @@ Tars communicates through a multi-channel architecture. You can interact via **D
|
|
|
99
97
|
|
|
100
98
|
Tars utilizes a Supervisor-Orchestrator model:
|
|
101
99
|
|
|
102
|
-
1. **Supervisor**: Manages persistent sessions and
|
|
103
|
-
2. **
|
|
104
|
-
3. **
|
|
105
|
-
4. **
|
|
106
|
-
5. **Extensions**: MCP servers that provide tool-level capabilities to the intelligence core.
|
|
100
|
+
1. **Supervisor**: Manages persistent sessions and Discord communication.
|
|
101
|
+
2. **Subagents**: Specialized expert agents invoked dynamically for specific technical domains.
|
|
102
|
+
3. **Heartbeat**: Cron-based engine for autonomous execution and cleanup.
|
|
103
|
+
4. **Extensions**: MCP servers that provide tool-level capabilities to the intelligence core.
|
|
107
104
|
|
|
108
105
|
---
|
|
109
106
|
|
|
@@ -35,7 +35,7 @@ export async function setup() {
|
|
|
35
35
|
const isAuthed = await checkTarsAuth(tarsHome);
|
|
36
36
|
spinner.succeed(`Prerequisites met (Node ${nodeVersion})`);
|
|
37
37
|
// ── Step 1: Google OAuth ───────────────────────────────
|
|
38
|
-
console.log(chalk.bold('\nStep 1/
|
|
38
|
+
console.log(chalk.bold('\nStep 1/4: Google Authentication'));
|
|
39
39
|
console.log(chalk.dim('────────────────────────────────'));
|
|
40
40
|
let performAuth = false;
|
|
41
41
|
if (isAuthed) {
|
|
@@ -86,9 +86,7 @@ export async function setup() {
|
|
|
86
86
|
else if (!isAuthed) {
|
|
87
87
|
console.log(chalk.yellow(' Skipped. Tars will not be able to communicate with Gemini without auth.'));
|
|
88
88
|
}
|
|
89
|
-
// ── Step 2:
|
|
90
|
-
console.log(chalk.bold('\nStep 2/5: Communication Channels'));
|
|
91
|
-
console.log(chalk.dim('─────────────────────────────────'));
|
|
89
|
+
// ── Step 2: Discord Bot ───────────────────────────────
|
|
92
90
|
let existingConfig = {};
|
|
93
91
|
try {
|
|
94
92
|
const data = await fs.readFile(path.join(tarsHome, 'config.json'), 'utf-8');
|
|
@@ -97,107 +95,66 @@ export async function setup() {
|
|
|
97
95
|
catch {
|
|
98
96
|
/* ignore */
|
|
99
97
|
}
|
|
100
|
-
const { selectedChannels } = await inquirer.prompt([
|
|
101
|
-
{
|
|
102
|
-
type: 'checkbox',
|
|
103
|
-
name: 'selectedChannels',
|
|
104
|
-
message: 'Select the communication channels you want to enable:',
|
|
105
|
-
choices: [
|
|
106
|
-
{
|
|
107
|
-
name: 'Discord',
|
|
108
|
-
value: 'discord',
|
|
109
|
-
checked: !!existingConfig.discordToken || !!existingConfig.channels?.discord?.enabled
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
name: 'WhatsApp',
|
|
113
|
-
value: 'whatsapp',
|
|
114
|
-
checked: !!existingConfig.channels?.whatsapp?.enabled
|
|
115
|
-
}
|
|
116
|
-
]
|
|
117
|
-
}
|
|
118
|
-
]);
|
|
119
|
-
const channels = {};
|
|
120
98
|
let discordToken = existingConfig.discordToken || '';
|
|
121
|
-
|
|
122
|
-
if (
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
message: 'Do you want to update the Discord Bot Token?',
|
|
131
|
-
default: false
|
|
132
|
-
}
|
|
133
|
-
]);
|
|
134
|
-
if (!reAuthDiscord)
|
|
135
|
-
skipDiscord = true;
|
|
136
|
-
}
|
|
137
|
-
if (!skipDiscord) {
|
|
138
|
-
const answers = await inquirer.prompt([
|
|
139
|
-
{
|
|
140
|
-
type: 'password',
|
|
141
|
-
name: 'discordToken',
|
|
142
|
-
message: 'Enter Discord Bot Token:',
|
|
143
|
-
validate: (input) => input.length > 50 ||
|
|
144
|
-
'Token too short — paste the full token from the Developer Portal'
|
|
145
|
-
}
|
|
146
|
-
]);
|
|
147
|
-
discordToken = answers.discordToken;
|
|
148
|
-
const validateSpinner = ora('Validating Discord token...').start();
|
|
149
|
-
try {
|
|
150
|
-
const client = new Client({
|
|
151
|
-
intents: [
|
|
152
|
-
GatewayIntentBits.Guilds,
|
|
153
|
-
GatewayIntentBits.GuildMessages,
|
|
154
|
-
GatewayIntentBits.MessageContent,
|
|
155
|
-
GatewayIntentBits.DirectMessages
|
|
156
|
-
]
|
|
157
|
-
});
|
|
158
|
-
await client.login(discordToken);
|
|
159
|
-
const botName = client.user?.tag;
|
|
160
|
-
client.destroy();
|
|
161
|
-
validateSpinner.succeed(`Discord Token valid! Bot: ${chalk.bold(botName)}`);
|
|
162
|
-
}
|
|
163
|
-
catch (err) {
|
|
164
|
-
validateSpinner.fail('Invalid Discord token. Check your token and try again.');
|
|
165
|
-
process.exit(1);
|
|
99
|
+
let skipDiscord = false;
|
|
100
|
+
if (discordToken) {
|
|
101
|
+
console.log(chalk.green(' ✓ Discord token already configured.'));
|
|
102
|
+
const { reAuthDiscord } = await inquirer.prompt([
|
|
103
|
+
{
|
|
104
|
+
type: 'confirm',
|
|
105
|
+
name: 'reAuthDiscord',
|
|
106
|
+
message: 'Do you want to update the Discord Bot Token?',
|
|
107
|
+
default: false
|
|
166
108
|
}
|
|
109
|
+
]);
|
|
110
|
+
if (!reAuthDiscord) {
|
|
111
|
+
skipDiscord = true;
|
|
167
112
|
}
|
|
168
|
-
channels.discord = {
|
|
169
|
-
enabled: true,
|
|
170
|
-
token: discordToken,
|
|
171
|
-
ownerId: existingConfig.discordOwnerId || undefined
|
|
172
|
-
};
|
|
173
113
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
const waAnswers = await inquirer.prompt([
|
|
114
|
+
if (!skipDiscord) {
|
|
115
|
+
const answers = await inquirer.prompt([
|
|
177
116
|
{
|
|
178
|
-
type: '
|
|
179
|
-
name: '
|
|
180
|
-
message: 'Enter
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
'Please enter a valid number (digits only, 10-15 characters).'
|
|
117
|
+
type: 'password',
|
|
118
|
+
name: 'discordToken',
|
|
119
|
+
message: 'Enter Discord Bot Token:',
|
|
120
|
+
validate: (input) => input.length > 50 ||
|
|
121
|
+
'Token too short — paste the full token from the Developer Portal'
|
|
184
122
|
}
|
|
185
123
|
]);
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
124
|
+
discordToken = answers.discordToken;
|
|
125
|
+
const validateSpinner = ora('Validating token & intents...').start();
|
|
126
|
+
try {
|
|
127
|
+
const client = new Client({
|
|
128
|
+
intents: [
|
|
129
|
+
GatewayIntentBits.Guilds,
|
|
130
|
+
GatewayIntentBits.GuildMessages,
|
|
131
|
+
GatewayIntentBits.MessageContent,
|
|
132
|
+
GatewayIntentBits.DirectMessages
|
|
133
|
+
]
|
|
134
|
+
});
|
|
135
|
+
await client.login(discordToken);
|
|
136
|
+
const botName = client.user?.tag;
|
|
137
|
+
client.destroy();
|
|
138
|
+
validateSpinner.succeed(`Token & Intents valid! Bot: ${chalk.bold(botName)}`);
|
|
196
139
|
}
|
|
197
|
-
|
|
140
|
+
catch (err) {
|
|
141
|
+
if (err.message.includes('disallowed intents')) {
|
|
142
|
+
validateSpinner.fail(chalk.red.bold('DISALLOWED INTENTS ERROR'));
|
|
143
|
+
console.log(chalk.red('\n The token is valid, but your bot lacks the "Message Content Intent".'));
|
|
144
|
+
console.log(chalk.red(' Please go to the Discord Developer Portal and enable it:'));
|
|
145
|
+
console.log(chalk.red(' 1. Select your Bot -> "Bot" section.'));
|
|
146
|
+
console.log(chalk.red(' 2. Scroll to "Privileged Gateway Intents".'));
|
|
147
|
+
console.log(chalk.red(' 3. Enable "Message Content Intent" and SAVE CHANGES.\n'));
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
validateSpinner.fail('Invalid Discord token. Check your token and try again.');
|
|
151
|
+
}
|
|
152
|
+
process.exit(1);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
198
155
|
// ── Step 3: Configuration ─────────────────────────────
|
|
199
|
-
console.log(chalk.bold('\nStep 3/
|
|
200
|
-
console.log(chalk.dim('
|
|
156
|
+
console.log(chalk.bold('\nStep 3/4: Configuration'));
|
|
157
|
+
console.log(chalk.dim('────────────────────────'));
|
|
201
158
|
const config = await inquirer.prompt([
|
|
202
159
|
{
|
|
203
160
|
type: 'input',
|
|
@@ -241,40 +198,87 @@ export async function setup() {
|
|
|
241
198
|
default: existingConfig.heartbeatIntervalSec
|
|
242
199
|
? Math.floor(existingConfig.heartbeatIntervalSec / 60)
|
|
243
200
|
: 30
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
type: 'number',
|
|
204
|
+
name: 'customHeartbeat',
|
|
205
|
+
message: 'Enter heartbeat interval in minutes (Minimum 30):',
|
|
206
|
+
when: (answers) => answers.heartbeatMinutes === 'custom',
|
|
207
|
+
validate: (input) => {
|
|
208
|
+
if (input < 30)
|
|
209
|
+
return 'Minimum heartbeat interval is 30 minutes.';
|
|
210
|
+
return true;
|
|
211
|
+
}
|
|
244
212
|
}
|
|
245
213
|
]);
|
|
246
214
|
// ── Step 4: Installation ──────────────────────────────
|
|
247
|
-
console.log(chalk.bold('\nStep 4/
|
|
215
|
+
console.log(chalk.bold('\nStep 4/4: Installing'));
|
|
248
216
|
console.log(chalk.dim('─────────────────────'));
|
|
249
|
-
// 1. Audit and Heal
|
|
217
|
+
// 1. Audit and Heal existing brain if it exists
|
|
250
218
|
const auditor = new BrainAuditor(tarsHome);
|
|
251
219
|
await auditor.audit({ silent: true });
|
|
252
220
|
// 2. Provision isolated environment
|
|
221
|
+
// GEMINI_CLI_HOME=~/.tars → Gemini CLI looks for ~/.tars/.gemini/
|
|
253
222
|
const installSpinner = ora('Provisioning environment...').start();
|
|
254
223
|
const geminiDir = path.join(tarsHome, '.gemini');
|
|
255
|
-
await fs.mkdir(path.join(tarsHome, 'data'
|
|
224
|
+
await fs.mkdir(path.join(tarsHome, 'data'), { recursive: true });
|
|
256
225
|
await fs.mkdir(path.join(tarsHome, 'logs'), { recursive: true });
|
|
257
226
|
await fs.mkdir(path.join(geminiDir, 'extensions'), { recursive: true });
|
|
258
227
|
await fs.mkdir(path.join(geminiDir, 'tmp'), { recursive: true });
|
|
259
228
|
await fs.mkdir(path.join(geminiDir, 'history'), { recursive: true });
|
|
260
229
|
installSpinner.succeed('Directories created (~/.tars/.gemini/)');
|
|
261
|
-
// ──
|
|
230
|
+
// ── Auth Credentials (Handled natively) ────────────────
|
|
231
|
+
// Credentials are now created or verified directly in ~/.tars/.gemini/
|
|
232
|
+
// during the setup process, so no migration from host is needed.
|
|
233
|
+
// ── Write Gemini CLI settings.json ─────────────────────
|
|
234
|
+
const settingsSpinner = ora('Configuring Gemini CLI settings...').start();
|
|
235
|
+
try {
|
|
236
|
+
const settingsTemplatePath = path.resolve(path.dirname(new URL(import.meta.url).pathname), '../../../context/config/settings.json-template');
|
|
237
|
+
let geminiSettings = {};
|
|
238
|
+
try {
|
|
239
|
+
const templateData = await fs.readFile(settingsTemplatePath, 'utf-8');
|
|
240
|
+
geminiSettings = JSON.parse(templateData);
|
|
241
|
+
}
|
|
242
|
+
catch {
|
|
243
|
+
// Fallback
|
|
244
|
+
geminiSettings = {
|
|
245
|
+
model: {
|
|
246
|
+
compressionThreshold: 0.2,
|
|
247
|
+
summarizeToolOutput: {
|
|
248
|
+
run_shell_command: { tokenBudget: 2000 }
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
experimental: {
|
|
252
|
+
enableAgents: true
|
|
253
|
+
}
|
|
254
|
+
};
|
|
255
|
+
}
|
|
256
|
+
if (!geminiSettings.security)
|
|
257
|
+
geminiSettings.security = {};
|
|
258
|
+
if (!geminiSettings.security.auth)
|
|
259
|
+
geminiSettings.security.auth = {};
|
|
260
|
+
geminiSettings.security.auth.selectedType = 'oauth-personal';
|
|
261
|
+
await fs.writeFile(path.join(geminiDir, 'settings.json'), JSON.stringify(geminiSettings, null, 2));
|
|
262
|
+
settingsSpinner.succeed('Gemini CLI settings configured from template.');
|
|
263
|
+
}
|
|
264
|
+
catch (err) {
|
|
265
|
+
settingsSpinner.warn(`Could not write settings: ${err.message}`);
|
|
266
|
+
}
|
|
267
|
+
// Save Tars configuration
|
|
262
268
|
const saveSpinner = ora('Saving configuration...').start();
|
|
263
269
|
const finalModel = config.geminiModel === 'custom' ? config.customModel : config.geminiModel;
|
|
264
|
-
|
|
265
|
-
|
|
270
|
+
// Convert minutes to seconds
|
|
271
|
+
const minutes = config.heartbeatMinutes === 'custom' ? config.customHeartbeat : config.heartbeatMinutes;
|
|
272
|
+
const intervalSec = minutes * 60;
|
|
266
273
|
const configData = {
|
|
267
274
|
assistantName: config.assistantName,
|
|
268
275
|
discordToken,
|
|
269
|
-
discordOwnerId: existingConfig.discordOwnerId,
|
|
270
276
|
geminiModel: finalModel,
|
|
271
|
-
heartbeatIntervalSec: intervalSec
|
|
272
|
-
channels,
|
|
273
|
-
primaryChannel
|
|
277
|
+
heartbeatIntervalSec: intervalSec
|
|
274
278
|
};
|
|
275
279
|
await fs.writeFile(path.join(tarsHome, 'config.json'), JSON.stringify(configData, null, 2));
|
|
276
280
|
saveSpinner.succeed('Configuration saved.');
|
|
277
|
-
//
|
|
281
|
+
// 3. Install and Hydrate extensions
|
|
278
282
|
const extensionsBaseSrc = path.resolve(path.dirname(new URL(import.meta.url).pathname), '../../../extensions');
|
|
279
283
|
if (fsSync.existsSync(extensionsBaseSrc)) {
|
|
280
284
|
const extensions = fsSync.readdirSync(extensionsBaseSrc);
|
|
@@ -286,15 +290,34 @@ export async function setup() {
|
|
|
286
290
|
const linkTarget = path.join(geminiDir, 'extensions', finalExtName);
|
|
287
291
|
const extSpinner = ora(`Installing extension: ${finalExtName}...`).start();
|
|
288
292
|
try {
|
|
289
|
-
|
|
293
|
+
// Remove existing
|
|
294
|
+
if (fsSync.existsSync(linkTarget)) {
|
|
290
295
|
await fs.rm(linkTarget, { recursive: true, force: true });
|
|
296
|
+
}
|
|
291
297
|
await fs.cp(extSrc, linkTarget, { recursive: true });
|
|
292
|
-
|
|
293
|
-
|
|
298
|
+
// Hydrate dependencies
|
|
299
|
+
extSpinner.text = `Hydrating ${finalExtName} (npm install)...`;
|
|
300
|
+
execSync('npm install --production', {
|
|
301
|
+
cwd: linkTarget,
|
|
302
|
+
stdio: 'pipe'
|
|
303
|
+
});
|
|
304
|
+
// Run build if package.json has a build script
|
|
305
|
+
const pkgPath = path.join(linkTarget, 'package.json');
|
|
306
|
+
if (fsSync.existsSync(pkgPath)) {
|
|
307
|
+
const pkg = JSON.parse(fsSync.readFileSync(pkgPath, 'utf-8'));
|
|
308
|
+
if (pkg.scripts?.build) {
|
|
309
|
+
extSpinner.text = `Building ${finalExtName}...`;
|
|
310
|
+
execSync('npm run build', {
|
|
311
|
+
cwd: linkTarget,
|
|
312
|
+
stdio: 'pipe'
|
|
313
|
+
});
|
|
314
|
+
}
|
|
315
|
+
}
|
|
294
316
|
extSpinner.succeed(`Extension ready: ${finalExtName}`);
|
|
295
317
|
}
|
|
296
318
|
catch (err) {
|
|
297
|
-
|
|
319
|
+
const output = err.stdout?.toString() || err.stderr?.toString() || err.message;
|
|
320
|
+
extSpinner.warn(`Extension ${finalExtName} failed: ${output}`);
|
|
298
321
|
}
|
|
299
322
|
}
|
|
300
323
|
}
|
|
@@ -303,5 +326,6 @@ export async function setup() {
|
|
|
303
326
|
console.log(`\n Start Tars: ${chalk.cyan('tars start')}`);
|
|
304
327
|
console.log(` Check status: ${chalk.cyan('tars status')}`);
|
|
305
328
|
console.log(` View logs: ${chalk.cyan('tars logs')}`);
|
|
329
|
+
console.log(` Invite Bot: ${chalk.cyan('tars discord')}\n`);
|
|
306
330
|
}
|
|
307
331
|
//# sourceMappingURL=setup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/cli/commands/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,67 +6,57 @@ import fs from 'fs';
|
|
|
6
6
|
import { fileURLToPath } from 'url';
|
|
7
7
|
import { getTarsHome } from '../../utils/paths.js';
|
|
8
8
|
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
9
|
-
export async function start(
|
|
10
|
-
|
|
11
|
-
const role = options.role || 'General purpose';
|
|
12
|
-
console.log(chalk.cyan(`🚀 Starting Tars supervisor [${instanceName}]...`));
|
|
9
|
+
export async function start() {
|
|
10
|
+
console.log(chalk.cyan('🚀 Starting Tars supervisor...'));
|
|
13
11
|
// Point to the compiled JS entry point (dist/supervisor/main.js)
|
|
14
12
|
const mainPath = path.resolve(__dirname, '../../supervisor/main.js');
|
|
13
|
+
// Pin CWD to the Tars home so the supervisor is truly global and doesn't
|
|
14
|
+
// pick up context from whatever directory the user runs `tars start` in.
|
|
15
15
|
const tarsHome = getTarsHome();
|
|
16
16
|
if (!fs.existsSync(tarsHome)) {
|
|
17
17
|
fs.mkdirSync(tarsHome, { recursive: true });
|
|
18
18
|
}
|
|
19
|
+
// Pre-start cleanup: Kill any stray orphans that aren't managed by PM2
|
|
20
|
+
try {
|
|
21
|
+
const { execSync } = await import('child_process');
|
|
22
|
+
execSync('pkill -9 -f "supervisor/main.js" || true');
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
// Ignore Pkill errors
|
|
26
|
+
}
|
|
19
27
|
return new Promise((resolve, reject) => {
|
|
20
28
|
pm2.connect((err) => {
|
|
21
29
|
if (err) {
|
|
22
30
|
console.error(chalk.red('❌ Failed to connect to PM2'), err);
|
|
23
31
|
process.exit(2);
|
|
24
|
-
resolve();
|
|
32
|
+
resolve(); // Unreachable but typesafe
|
|
25
33
|
return;
|
|
26
34
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
pm2.start({
|
|
36
|
+
script: mainPath,
|
|
37
|
+
name: 'tars-supervisor',
|
|
38
|
+
cwd: tarsHome,
|
|
39
|
+
interpreter: 'node',
|
|
40
|
+
env: {
|
|
41
|
+
NODE_ENV: 'production',
|
|
42
|
+
LOG_LEVEL: 'debug',
|
|
43
|
+
TARS_SUPERVISOR_MODE: 'true',
|
|
44
|
+
TARS_HOME: tarsHome,
|
|
45
|
+
REAL_HOME: os.homedir(),
|
|
46
|
+
NODE_NO_WARNINGS: '1'
|
|
47
|
+
},
|
|
48
|
+
node_args: ['--no-warnings', '--disable-warning=ExperimentalWarning']
|
|
49
|
+
}, (err, apps) => {
|
|
50
|
+
pm2.disconnect();
|
|
51
|
+
if (err) {
|
|
52
|
+
console.error(chalk.red('❌ Error starting Tars:'), err);
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
console.log(chalk.green('✅ Tars supervisor is now running in the background.'));
|
|
57
|
+
console.log(` Use ${chalk.cyan('tars status')} to check status and logs.`);
|
|
58
|
+
resolve();
|
|
38
59
|
}
|
|
39
|
-
pm2.start({
|
|
40
|
-
script: mainPath,
|
|
41
|
-
name: instanceName,
|
|
42
|
-
cwd: tarsHome,
|
|
43
|
-
interpreter: 'node',
|
|
44
|
-
env: {
|
|
45
|
-
NODE_ENV: 'production',
|
|
46
|
-
LOG_LEVEL: 'debug',
|
|
47
|
-
TARS_SUPERVISOR_MODE: 'true',
|
|
48
|
-
TARS_HOME: tarsHome,
|
|
49
|
-
TARS_INSTANCE_NAME: instanceName,
|
|
50
|
-
TARS_INSTANCE_ROLE: role,
|
|
51
|
-
REAL_HOME: os.homedir(),
|
|
52
|
-
NODE_NO_WARNINGS: '1'
|
|
53
|
-
},
|
|
54
|
-
node_args: ['--no-warnings', '--disable-warning=ExperimentalWarning']
|
|
55
|
-
}, (err, apps) => {
|
|
56
|
-
pm2.disconnect();
|
|
57
|
-
if (err) {
|
|
58
|
-
console.error(chalk.red(`❌ Error starting Tars [${instanceName}]:`), err);
|
|
59
|
-
process.exit(1);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
console.log(chalk.green(`✅ Tars supervisor [${instanceName}] is now running in the background.`));
|
|
63
|
-
if (options.role) {
|
|
64
|
-
console.log(chalk.dim(` Role: ${role}`));
|
|
65
|
-
}
|
|
66
|
-
console.log(` Use ${chalk.cyan('tars status')} to check status and logs.`);
|
|
67
|
-
resolve();
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
60
|
});
|
|
71
61
|
});
|
|
72
62
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,KAAK
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/cli/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import pm2 from 'pm2';
|
|
2
2
|
import chalk from 'chalk';
|
|
3
|
-
import fs from 'fs';
|
|
4
|
-
import path from 'path';
|
|
5
|
-
import qrcode from 'qrcode-terminal';
|
|
6
3
|
import { pkg, isDev } from '../../utils/version.js';
|
|
7
4
|
import { Config } from '../../config/config.js';
|
|
8
5
|
import { SessionManager } from '../../supervisor/session-manager.js';
|
|
@@ -53,22 +50,6 @@ export async function status() {
|
|
|
53
50
|
console.log(`Total Usage: ${((sessionStats.totalNetTokens + sessionStats.totalOutputTokens) / 1000).toFixed(1)}k`);
|
|
54
51
|
}
|
|
55
52
|
console.log(`\nLogs: tars logs\n`);
|
|
56
|
-
const qrPath = path.join(config.homeDir, 'data', 'whatsapp-qr.txt');
|
|
57
|
-
if (fs.existsSync(qrPath)) {
|
|
58
|
-
try {
|
|
59
|
-
const qrString = fs.readFileSync(qrPath, 'utf8');
|
|
60
|
-
if (qrString) {
|
|
61
|
-
console.log(chalk.cyan('──────────────'));
|
|
62
|
-
console.log(chalk.bold('📱 WhatsApp Registration Required'));
|
|
63
|
-
console.log(chalk.dim('Scan the QR code below from your WhatsApp app to link Tars:'));
|
|
64
|
-
qrcode.generate(qrString, { small: true });
|
|
65
|
-
console.log('');
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
catch (err) {
|
|
69
|
-
// ignore if file couldn't be read in the split second it generated
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
53
|
});
|
|
73
54
|
});
|
|
74
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -20,8 +20,6 @@ program
|
|
|
20
20
|
program
|
|
21
21
|
.command('start')
|
|
22
22
|
.description('Start the assistant supervisor in the background')
|
|
23
|
-
.option('--name <name>', 'Name of the instance (default: tars-supervisor)')
|
|
24
|
-
.option('--role <role>', 'Role of the instance for swarm coordination')
|
|
25
23
|
.action(start);
|
|
26
24
|
program.command('stop').description('Stop the assistant supervisor').action(stop);
|
|
27
25
|
program
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAEtF,OAAO;KACF,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,KAAK,CAAC,CAAC;AAEnB,OAAO;KACF,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,kDAAkD,CAAC;KAC/D,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|