@saccolabs/tars 1.36.0 → 1.37.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.
@@ -1,545 +1,13 @@
1
- import { Config } from '../config/config.js';
2
- import { TarsEngine } from './tars-engine.js';
3
- import { SessionManager } from './session-manager.js';
4
- import { GetQuotaTool } from '../tools/get-quota.js';
5
- import { Supervisor } from './supervisor.js';
6
- import { HeartbeatService } from './heartbeat-service.js';
7
- import { CronService } from './cron-service.js';
8
- import { DashboardService } from './dashboard-service.js';
9
- import { ChannelManager } from '../channels/channel-manager.js';
1
+ import { bootstrap, wireMessageRouting } from './bootstrap.js';
10
2
  import logger from '../utils/logger.js';
11
- import fs from 'fs';
12
- import path from 'path';
13
- import { execSync } from 'child_process';
14
- import { fileURLToPath } from 'url';
15
- import { BrainAuditor } from '../utils/brain-audit.js';
16
- const __filename = fileURLToPath(import.meta.url);
17
- const __dirname = path.dirname(__filename);
18
3
  /**
19
- * Install the fixed system prompt into the Tars home directory.
20
- * This ensures the agent uses Tars' custom persona instead of the default coding-centric prompt.
21
- */
22
- function installSystemPrompt(config) {
23
- // Walk up from dist/supervisor/ or src/supervisor/ to find prompts/system.md
24
- let searchDir = __dirname;
25
- let srcPrompt = '';
26
- // Try to find the prompt relative to the package root
27
- for (let i = 0; i < 5; i++) {
28
- const candidate = path.join(searchDir, 'prompts', 'system.md');
29
- const srcCandidate = path.join(searchDir, 'src', 'prompts', 'system.md');
30
- if (fs.existsSync(candidate)) {
31
- srcPrompt = candidate;
32
- break;
33
- }
34
- else if (fs.existsSync(srcCandidate)) {
35
- srcPrompt = srcCandidate;
36
- break;
37
- }
38
- searchDir = path.dirname(searchDir);
39
- }
40
- if (!srcPrompt) {
41
- logger.warn('⚠️ Could not locate system.md prompt file');
42
- return;
43
- }
44
- // Ensure target directory exists
45
- const targetDir = path.dirname(config.systemPromptPath);
46
- fs.mkdirSync(targetDir, { recursive: true });
47
- // Read the template and process placeholders
48
- let promptContent = fs.readFileSync(srcPrompt, 'utf-8');
49
- promptContent = promptContent.replace(/{{ASSISTANT_NAME}}/g, config.assistantName);
50
- promptContent = promptContent.replace(/{{INSTANCE_NAME}}/g, config.instanceName);
51
- promptContent = promptContent.replace(/{{PROVIDER}}/g, config.piProvider);
52
- promptContent = promptContent.replace(/{{MODEL_NAME}}/g, config.piModel);
53
- promptContent = promptContent.replace(/{{CONTEXT_WINDOW}}/g, config.contextWindowTokens.toLocaleString());
54
- // Always overwrite to ensure latest prompt is deployed
55
- fs.writeFileSync(config.systemPromptPath, promptContent);
56
- logger.info(`📝 System prompt installed: ${config.systemPromptPath}`);
57
- }
58
- /**
59
- * Install and sync built-in skills into the Tars runtime directory.
60
- * Safely updates built-in skills while preserving user-created ones.
61
- */
62
- function installSkills(config) {
63
- // 1. Locate context/skills/ in the repo
64
- let searchDir = __dirname;
65
- let skillsSrc = '';
66
- for (let i = 0; i < 5; i++) {
67
- const candidate = path.join(searchDir, 'context', 'skills');
68
- const srcCandidate = path.join(searchDir, '..', 'context', 'skills'); // If in dist/supervisor/
69
- if (fs.existsSync(candidate)) {
70
- skillsSrc = candidate;
71
- break;
72
- }
73
- else if (fs.existsSync(srcCandidate)) {
74
- skillsSrc = srcCandidate;
75
- break;
76
- }
77
- // Try finding context in root if running from src
78
- const rootCandidate = path.join(searchDir, '..', '..', 'context', 'skills');
79
- if (fs.existsSync(rootCandidate)) {
80
- skillsSrc = rootCandidate;
81
- break;
82
- }
83
- searchDir = path.dirname(searchDir);
84
- }
85
- if (!skillsSrc) {
86
- logger.warn('⚠️ Could not locate built-in skills directory');
87
- return;
88
- }
89
- // 2. Define target directory (~/.tars/skills)
90
- const skillsDest = path.join(config.homeDir, 'skills');
91
- try {
92
- if (!fs.existsSync(skillsDest)) {
93
- fs.mkdirSync(skillsDest, { recursive: true });
94
- }
95
- // 3. Selective Sync: Copy each built-in skill individually
96
- const builtInSkills = fs.readdirSync(skillsSrc);
97
- for (const skillName of builtInSkills) {
98
- const srcSkillPath = path.join(skillsSrc, skillName);
99
- const destSkillPath = path.join(skillsDest, skillName);
100
- // Only copy directories
101
- if (!fs.statSync(srcSkillPath).isDirectory())
102
- continue;
103
- // Remove existing destination (to ensure clean update - e.g. deleting old files)
104
- if (fs.existsSync(destSkillPath)) {
105
- fs.rmSync(destSkillPath, { recursive: true, force: true });
106
- }
107
- // Copy fresh from repo
108
- fs.cpSync(srcSkillPath, destSkillPath, { recursive: true });
109
- }
110
- }
111
- catch (error) {
112
- logger.error(`❌ Failed to sync skills: ${error}`);
113
- }
114
- }
115
- /**
116
- * Automatically install/link extensions and enable them.
117
- */
118
- function installExtensions(config) {
119
- const repoExtensionsDir = path.join(__dirname, '..', '..', 'extensions');
120
- const targetExtensionsDir = path.join(config.homeDir, 'extensions');
121
- const enablementFile = path.join(targetExtensionsDir, 'extension-enablement.json');
122
- if (!fs.existsSync(repoExtensionsDir)) {
123
- logger.warn('⚠️ Could not locate extensions directory');
124
- return;
125
- }
126
- if (!fs.existsSync(targetExtensionsDir)) {
127
- fs.mkdirSync(targetExtensionsDir, { recursive: true });
128
- }
129
- // Load Enablement
130
- let enablement = {};
131
- if (fs.existsSync(enablementFile)) {
132
- try {
133
- enablement = JSON.parse(fs.readFileSync(enablementFile, 'utf-8'));
134
- }
135
- catch (e) {
136
- logger.warn('⚠️ Could not parse extension-enablement.json, starting fresh');
137
- }
138
- }
139
- const builtInExtensions = fs.readdirSync(repoExtensionsDir);
140
- for (const extName of builtInExtensions) {
141
- const srcPath = path.resolve(repoExtensionsDir, extName);
142
- if (!fs.statSync(srcPath).isDirectory())
143
- continue;
144
- const finalExtName = extName === 'tasks' ? 'tars-tasks' : extName === 'memory' ? 'tars-memory' : extName;
145
- const finalDestPath = path.join(targetExtensionsDir, finalExtName);
146
- // Check if symlink exists and is valid
147
- let needsLink = true;
148
- try {
149
- if (fs.existsSync(finalDestPath)) {
150
- const stats = fs.lstatSync(finalDestPath);
151
- if (stats.isSymbolicLink()) {
152
- const realPath = fs.realpathSync(finalDestPath);
153
- if (realPath === srcPath) {
154
- needsLink = false;
155
- }
156
- }
157
- }
158
- }
159
- catch (e) { }
160
- if (needsLink) {
161
- try {
162
- if (fs.existsSync(finalDestPath) ||
163
- (fs.existsSync(finalDestPath) && fs.lstatSync(finalDestPath).isSymbolicLink())) {
164
- fs.rmSync(finalDestPath, { recursive: true, force: true });
165
- }
166
- fs.symlinkSync(srcPath, finalDestPath);
167
- logger.info(`🔌 Integrated extension: ${finalExtName}`);
168
- }
169
- catch (error) {
170
- logger.error(`❌ Failed to integrate extension ${finalExtName}: ${error}`);
171
- }
172
- }
173
- // Hydration check
174
- const nmPath = path.join(finalDestPath, 'node_modules');
175
- if (!fs.existsSync(nmPath)) {
176
- logger.info(`💧 Hydrating extension: ${finalExtName}...`);
177
- try {
178
- execSync('npm install --production', {
179
- cwd: finalDestPath,
180
- stdio: 'pipe'
181
- });
182
- const pkgPath = path.join(finalDestPath, 'package.json');
183
- if (fs.existsSync(pkgPath)) {
184
- const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
185
- if (pkg.scripts?.build) {
186
- logger.info(`🏗️ Building extension: ${finalExtName}...`);
187
- execSync('npm run build', {
188
- cwd: finalDestPath,
189
- stdio: 'pipe'
190
- });
191
- }
192
- }
193
- logger.info(`✅ Extension ${finalExtName} hydrated successfully.`);
194
- }
195
- catch (e) {
196
- const stdout = e.stdout?.toString();
197
- const stderr = e.stderr?.toString();
198
- const out = stderr || stdout || e.message;
199
- logger.error(`❌ Failed to hydrate extension ${finalExtName}: ${out}`);
200
- }
201
- }
202
- }
203
- // Update enablement
204
- const allInstalledExtensions = fs.readdirSync(targetExtensionsDir);
205
- for (const extName of allInstalledExtensions) {
206
- const extPath = path.join(targetExtensionsDir, extName);
207
- if (extName === 'extension-enablement.json')
208
- continue;
209
- if (!fs.statSync(extPath).isDirectory())
210
- continue;
211
- const realPath = fs.realpathSync(extPath);
212
- if (!enablement[extName]) {
213
- enablement[extName] = { overrides: [] };
214
- }
215
- const overrides = new Set(enablement[extName].overrides || []);
216
- overrides.add(path.join(config.homeDir, '*'));
217
- overrides.add(path.join(realPath, '*'));
218
- enablement[extName].overrides = Array.from(overrides);
219
- }
220
- fs.writeFileSync(enablementFile, JSON.stringify(enablement, null, 2));
221
- }
222
- /**
223
- * Install default settings if none exist.
224
- */
225
- function installDefaultSettings(config) {
226
- const settingsTemplate = path.join(__dirname, '..', '..', 'context', 'config', 'settings.json-template');
227
- const targetSettings = path.join(config.homeDir, 'settings.json');
228
- if (fs.existsSync(targetSettings))
229
- return;
230
- if (fs.existsSync(settingsTemplate)) {
231
- fs.mkdirSync(path.dirname(targetSettings), { recursive: true });
232
- fs.copyFileSync(settingsTemplate, targetSettings);
233
- logger.info(`⚙️ Default settings installed: ${targetSettings}`);
234
- }
235
- }
236
- /**
237
- * Ensure existing settings.json has required settings
238
- */
239
- function patchSettings(config) {
240
- const targetSettings = path.join(config.homeDir, 'settings.json');
241
- if (!fs.existsSync(targetSettings))
242
- return;
243
- const settingsTemplate = path.join(__dirname, '..', '..', 'context', 'config', 'settings.json-template');
244
- try {
245
- const raw = fs.readFileSync(targetSettings, 'utf-8');
246
- const settings = JSON.parse(raw);
247
- let modified = false;
248
- if (fs.existsSync(settingsTemplate)) {
249
- const template = JSON.parse(fs.readFileSync(settingsTemplate, 'utf-8'));
250
- const sections = ['experimental', 'agents', 'model', 'general'];
251
- for (const section of sections) {
252
- if (template[section] && !settings[section]) {
253
- settings[section] = template[section];
254
- modified = true;
255
- }
256
- }
257
- }
258
- if (modified) {
259
- fs.writeFileSync(targetSettings, JSON.stringify(settings, null, 2));
260
- logger.info('⚙️ Patched settings.json from template.');
261
- }
262
- }
263
- catch (e) {
264
- logger.warn(`⚠️ Failed to patch settings.json: ${e.message}`);
265
- }
266
- }
267
- /**
268
- * Install the built-in dashboard into the Tars home directory.
269
- * Safely copies the dashboard and hydrates it (npm install + npm build).
270
- */
271
- function installDashboard(config) {
272
- const repoDashSrc = path.join(__dirname, '..', '..', 'dash');
273
- const targetDashDir = path.join(config.homeDir, 'apps', 'dashboard');
274
- if (!fs.existsSync(repoDashSrc)) {
275
- logger.warn('⚠️ Could not locate stock dashboard directory');
276
- return;
277
- }
278
- // 1. Initial Copy if missing
279
- if (!fs.existsSync(targetDashDir)) {
280
- try {
281
- fs.mkdirSync(path.dirname(targetDashDir), { recursive: true });
282
- fs.cpSync(repoDashSrc, targetDashDir, { recursive: true });
283
- logger.info(`🚚 Installed stock dashboard to ${targetDashDir}`);
284
- }
285
- catch (error) {
286
- logger.error(`❌ Failed to install stock dashboard: ${error}`);
287
- return;
288
- }
289
- }
290
- // 2. Setup Default .env if missing
291
- const targetEnv = path.join(targetDashDir, '.env');
292
- const templateEnv = path.join(targetDashDir, '.env.template');
293
- if (!fs.existsSync(targetEnv) && fs.existsSync(templateEnv)) {
294
- try {
295
- fs.copyFileSync(templateEnv, targetEnv);
296
- logger.info('⚙️ Created default dashboard .env');
297
- }
298
- catch (e) { }
299
- }
300
- // 3. Hydration (npm install + build) if node_modules or .next missing
301
- const nmPath = path.join(targetDashDir, 'node_modules');
302
- const nextPath = path.join(targetDashDir, '.next');
303
- if (!fs.existsSync(nmPath) || !fs.existsSync(nextPath)) {
304
- logger.info('💧 Hydrating dashboard (this may take a minute)...');
305
- try {
306
- // Unset NODE_ENV temporarily to ensure devDependencies (like tailwind) are installed for build
307
- const env = { ...process.env };
308
- delete env.NODE_ENV;
309
- execSync('npm install', {
310
- cwd: targetDashDir,
311
- stdio: 'pipe',
312
- env
313
- });
314
- logger.info('🏗️ Building dashboard...');
315
- execSync('npm run build', {
316
- cwd: targetDashDir,
317
- stdio: 'pipe',
318
- env
319
- });
320
- logger.info('✅ Dashboard hydrated successfully.');
321
- }
322
- catch (e) {
323
- const out = e.stdout?.toString() || e.stderr?.toString() || e.message;
324
- logger.error(`❌ Failed to hydrate dashboard: ${out}`);
325
- }
326
- }
327
- }
328
- /**
329
- * Tars Main Entry Point
4
+ * Tars Main Entry Point (PM2 Background Mode)
330
5
  */
331
6
  async function main() {
332
7
  try {
333
- logger.info('🚀 Tars Starting...');
334
- // 1. Load Configuration & Audit Brain
335
- const config = Config.getInstance();
336
- const auditor = new BrainAuditor(config.homeDir);
337
- await auditor.audit({ silent: true });
338
- // 2. Install components
339
- installSystemPrompt(config);
340
- installSkills(config);
341
- installExtensions(config);
342
- installDashboard(config);
343
- installDefaultSettings(config);
344
- patchSettings(config);
345
- // 3. Initialize Core Services
346
- const tarsEngine = new TarsEngine(config);
347
- const sessionManager = new SessionManager(config.sessionFilePath);
348
- const supervisor = new Supervisor(tarsEngine, sessionManager);
349
- // 4. Initialize Multi-Channel Interface
350
- const channelManager = new ChannelManager();
351
- // 5. Inject Interface into Engine
352
- tarsEngine.setChannelManager(channelManager);
353
- supervisor.setChannelManager(channelManager);
354
- tarsEngine.setSessionManager(sessionManager);
355
- await tarsEngine.initialize();
356
- // 6. Connect Routing
357
- channelManager.onMessage(async (message) => {
358
- const rawPrompt = message.content.trim();
359
- if (rawPrompt.startsWith('/')) {
360
- const parts = rawPrompt.split(' ');
361
- const command = parts[0].toLowerCase();
362
- if (command === '/reset' || command === '/clear') {
363
- try {
364
- const stats = sessionManager.getStats();
365
- if (stats) {
366
- const chatFile = path.join(config.homeDir, 'chats', `${stats.sessionId}.json`);
367
- if (fs.existsSync(chatFile)) {
368
- await fs.promises.unlink(chatFile).catch(() => { });
369
- }
370
- }
371
- await sessionManager.clear();
372
- tarsEngine.resetSession();
373
- await message.reply('✨ **Session Reset:** I have cleared the current session context and started a new, clean conversation.');
374
- }
375
- catch (e) {
376
- await message.reply(`❌ **Error resetting session:** ${e.message}`);
377
- }
378
- return;
379
- }
380
- if (command === '/quota' || command === '/stats') {
381
- const stats = sessionManager.getStats();
382
- if (!stats) {
383
- await message.reply('📊 **No active session stats found.**');
384
- return;
385
- }
386
- const quotaTool = new GetQuotaTool(sessionManager, {
387
- piProvider: config.piProvider,
388
- contextWindowTokens: config.contextWindowTokens,
389
- piModel: config.piModel,
390
- piBaseUrl: config.piBaseUrl
391
- });
392
- const usageText = quotaTool.getLocalUsage();
393
- await message.reply(usageText);
394
- return;
395
- }
396
- if (command === '/help') {
397
- const helpText = [
398
- `🤖 **Tars Deterministic Commands**`,
399
- `• \`/reset\` or \`/clear\` - Reset active session and start a new clean conversation.`,
400
- `• \`/quota\` or \`/stats\` - View token consumption, active context size, and session statistics.`,
401
- `• \`/help\` - Show this help menu.`
402
- ].join('\n');
403
- await message.reply(helpText);
404
- return;
405
- }
406
- }
407
- let responseBuffer = '';
408
- let replyCount = 0;
409
- // --- Live status tracking for in-place message editing ---
410
- let statusInitialized = false;
411
- const formatSize = (chars) => {
412
- if (chars < 1024)
413
- return `${chars}B`;
414
- if (chars < 1024 * 1024)
415
- return `${(chars / 1024).toFixed(1)}KB`;
416
- return `${(chars / (1024 * 1024)).toFixed(1)}MB`;
417
- };
418
- const formatStatusContent = (turnCount, recentTools, isMilestone) => {
419
- const lines = [];
420
- // Get current context window stats
421
- const stats = sessionManager.getStats();
422
- let contextStr = '';
423
- if (stats && stats.lastInputTokens > 0) {
424
- const limit = config.contextWindowTokens;
425
- const active = stats.lastInputTokens;
426
- const pct = ((active / limit) * 100).toFixed(1);
427
- contextStr = ` | ${active.toLocaleString()}/${limit.toLocaleString()} (${pct}%)`;
428
- }
429
- const executedCount = recentTools.filter((t) => t.status === 'completed').length;
430
- const timeStr = new Date().toLocaleTimeString([], {
431
- hour: '2-digit',
432
- minute: '2-digit',
433
- second: '2-digit'
434
- });
435
- lines.push(`⏳ **Working...** | Turn ${turnCount} (${executedCount} tools)${contextStr} | ${timeStr}`);
436
- // Show last 5 tool calls (moving window)
437
- const toolsToShow = recentTools.slice(-5);
438
- if (toolsToShow.length > 0) {
439
- lines.push('');
440
- for (const tool of toolsToShow) {
441
- if (tool.status === 'running') {
442
- lines.push(`⚙️ **${tool.name}** — *Executing...*`);
443
- }
444
- else {
445
- let preview = (tool.responsePreview || '')
446
- .replace(/\s+/g, ' ')
447
- .replace(/[`*#_\[\]]/g, '') // remove markdown characters
448
- .trim();
449
- if (preview.length > 80) {
450
- preview = preview.substring(0, 77) + '...';
451
- }
452
- const size = formatSize(tool.responseSize || 0);
453
- lines.push(`🛠️ **${tool.name}** — "${preview}" (${size})`);
454
- }
455
- }
456
- }
457
- return lines.join('\n');
458
- };
459
- const updateStatus = async (turnCount, recentTools, isMilestone) => {
460
- const content = formatStatusContent(turnCount, recentTools, isMilestone);
461
- if (!statusInitialized) {
462
- // First status: send a new notification (tracks the message for editing)
463
- await channelManager.notify(content);
464
- statusInitialized = true;
465
- }
466
- else {
467
- // Subsequent: edit the tracked message in-place
468
- const edited = await channelManager.editStatus(content);
469
- if (!edited) {
470
- // Edit failed (rate-limited or message lost) — send fresh and re-track
471
- logger.warn('[Main] Status edit failed, sending new notification.');
472
- statusInitialized = false;
473
- await channelManager.notify(content);
474
- statusInitialized = true;
475
- }
476
- }
477
- };
478
- const flush = async (isDone = false) => {
479
- const text = responseBuffer.trim();
480
- if (!text)
481
- return;
482
- let finalContent = text;
483
- // Prepend the binding alert to the first message if we just auto-bound
484
- if (replyCount === 0 && message.metadata?.wasAutoBound) {
485
- finalContent = `🔒 **System Alert:** I have permanently bound my background notification channel to your Discord account.\n\n${finalContent}`;
486
- }
487
- if (isDone) {
488
- const stats = sessionManager.getStats();
489
- if (stats && stats.lastInputTokens > 0) {
490
- const limit = config.contextWindowTokens;
491
- const active = stats.lastInputTokens;
492
- const pct = ((active / limit) * 100).toFixed(1);
493
- const thresholdPct = (config.compressionThreshold * 100).toFixed(1);
494
- finalContent += `\n\n*${active.toLocaleString()}/${limit.toLocaleString()} (${pct}%, compaction at ${thresholdPct}%)*`;
495
- }
496
- }
497
- await message.reply(finalContent);
498
- responseBuffer = '';
499
- replyCount++;
500
- };
501
- // Clear any previous status message for a fresh start
502
- channelManager.clearStatus();
503
- statusInitialized = false;
504
- // Feature flag: status updates are per-backend
505
- const statusEnabled = config.isStatusUpdatesEnabled();
506
- if (!statusEnabled) {
507
- logger.debug(`[Main] Status updates disabled for backend "${config.inferenceBackend}".`);
508
- }
509
- try {
510
- message.startTyping();
511
- await supervisor.run(message.content, async (event) => {
512
- if (event.type === 'text' && event.content && event.role !== 'user') {
513
- responseBuffer += event.content;
514
- }
515
- else if (event.type === 'tool_call') {
516
- // Local models emit reasoning before a tool call. By clearing the buffer, we suppress it.
517
- responseBuffer = '';
518
- }
519
- else if (event.type === 'error') {
520
- await flush();
521
- await message.reply(`❌ **Error:** ${event.error}`);
522
- }
523
- else if (event.type === 'done') {
524
- await flush(true);
525
- }
526
- }, undefined, message.attachments, statusEnabled ? updateStatus : undefined // gated by feature flag
527
- );
528
- }
529
- catch (error) {
530
- const errorMsg = error.message ||
531
- (typeof error === 'object' ? JSON.stringify(error) : String(error));
532
- logger.error(`Routing error: ${errorMsg}`);
533
- await message.reply(`❌ **Supervisor Error:** ${errorMsg}`);
534
- }
535
- finally {
536
- message.stopTyping();
537
- }
538
- });
539
- // 7. Initialize Background Services
540
- const heartbeat = new HeartbeatService(supervisor, config, sessionManager);
541
- const cron = new CronService(supervisor, config, channelManager);
542
- const dashboard = new DashboardService(config);
8
+ const { config, tarsEngine, sessionManager, supervisor, channelManager, heartbeat, cron, dashboard } = await bootstrap();
9
+ // Wire message routing (shared slash commands + event handling)
10
+ wireMessageRouting(channelManager, supervisor, sessionManager, tarsEngine, config);
543
11
  // Start everything
544
12
  await channelManager.start();
545
13
  await heartbeat.start();
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/supervisor/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/supervisor/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC;;GAEG;AACH,KAAK,UAAU,IAAI;IACf,IAAI,CAAC;QACD,MAAM,EACF,MAAM,EACN,UAAU,EACV,cAAc,EACd,UAAU,EACV,cAAc,EACd,SAAS,EACT,IAAI,EACJ,SAAS,EACZ,GAAG,MAAM,SAAS,EAAE,CAAC;QAEtB,gEAAgE;QAChE,kBAAkB,CAAC,cAAc,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAEnF,mBAAmB;QACnB,MAAM,cAAc,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;QAExB,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QAE5D,oBAAoB;QACpB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;YAC5B,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACnC,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,SAAS,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;IACP,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QAClB,MAAM,QAAQ,GACV,KAAK,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACzF,MAAM,CAAC,KAAK,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM,EAAE,CAAC;IAC9C,MAAM,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,IAAI,EAAE,CAAC"}
@@ -71,7 +71,16 @@ export class McpBridge {
71
71
  const transport = new StdioClientTransport({
72
72
  command: serverConfig.command,
73
73
  args: resolvedArgs,
74
- env: resolvedEnv
74
+ env: resolvedEnv,
75
+ stderr: 'pipe'
76
+ });
77
+ transport.stderr?.on('data', (chunk) => {
78
+ const str = chunk.toString().trim();
79
+ if (str) {
80
+ for (const line of str.split('\n')) {
81
+ logger.info(`[MCP:${serverName}] ${line.trim()}`);
82
+ }
83
+ }
75
84
  });
76
85
  const client = new Client({
77
86
  name: `tars-${serverName}-client`,
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-bridge.js","sourceRoot":"","sources":["../../src/supervisor/mcp-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-bridge.js","sourceRoot":"","sources":["../../src/supervisor/mcp-bridge.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,9 @@ import winston from 'winston';
3
3
  * Centralized logger for the supervisor application
4
4
  */
5
5
  export declare const logger: winston.Logger;
6
+ /**
7
+ * Reconfigures the logger for TUI Chat Mode, diverting all output
8
+ * to a file to prevent polluting the interactive terminal.
9
+ */
10
+ export declare function configureChatLogging(homeDir: string): void;
6
11
  export default logger;