@saccolabs/tars 1.31.0 → 1.32.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.
- package/README.md +13 -11
- package/context/skills/create-extension/SKILL.md +2 -2
- package/context/skills/manage-extensions/SKILL.md +3 -3
- package/dist/channels/discord/discord-channel.d.ts +4 -0
- package/dist/channels/discord/discord-channel.js +21 -3
- package/dist/channels/discord/discord-channel.js.map +1 -1
- package/dist/channels/discord/message-formatter.d.ts +1 -1
- package/dist/channels/discord/message-formatter.js +1 -1
- package/dist/cli/commands/quota.js +13 -48
- package/dist/cli/commands/quota.js.map +1 -1
- package/dist/cli/commands/refresh.js +40 -3
- package/dist/cli/commands/refresh.js.map +1 -1
- package/dist/cli/commands/setup.js +192 -467
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/index.js +3 -13
- package/dist/cli/index.js.map +1 -1
- package/dist/config/config.d.ts +5 -10
- package/dist/config/config.js +21 -27
- package/dist/config/config.js.map +1 -1
- package/dist/memory/knowledge-store.js +10 -1
- package/dist/memory/knowledge-store.js.map +1 -1
- package/dist/memory/memory-manager.d.ts +0 -3
- package/dist/memory/memory-manager.js +26 -34
- package/dist/memory/memory-manager.js.map +1 -1
- package/dist/scripts/debug-cli.js +2 -2
- package/dist/scripts/debug-cli.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 +37 -79
- package/dist/supervisor/main.js.map +1 -1
- package/dist/supervisor/mcp-bridge.d.ts +25 -0
- package/dist/supervisor/mcp-bridge.js +157 -0
- package/dist/supervisor/mcp-bridge.js.map +1 -0
- package/dist/supervisor/session-manager.d.ts +1 -1
- package/dist/supervisor/session-manager.js +1 -1
- package/dist/supervisor/supervisor.d.ts +14 -7
- package/dist/supervisor/supervisor.js +87 -29
- package/dist/supervisor/supervisor.js.map +1 -1
- package/dist/supervisor/{gemini-engine.d.ts → tars-engine.d.ts} +38 -33
- package/dist/supervisor/tars-engine.js +698 -0
- package/dist/supervisor/tars-engine.js.map +1 -0
- package/dist/tools/get-quota.d.ts +38 -12
- package/dist/tools/get-quota.js +37 -94
- package/dist/tools/get-quota.js.map +1 -1
- package/dist/tools/send-notification.d.ts +32 -7
- package/dist/tools/send-notification.js +31 -37
- package/dist/tools/send-notification.js.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/utils/brain-audit.js +4 -4
- package/dist/utils/brain-audit.js.map +1 -1
- package/dist/utils/migration-manager.d.ts +4 -0
- package/dist/utils/migration-manager.js +205 -0
- package/dist/utils/migration-manager.js.map +1 -0
- package/extensions/memory/dist/store.js +29 -20
- package/extensions/memory/dist/store.js.map +1 -1
- package/extensions/memory/src/store.ts +33 -23
- package/package.json +4 -3
- package/src/prompts/system.md +3 -14
- package/context/agents/scaffolder.md +0 -22
- package/dist/auth/credential-manager.d.ts +0 -14
- package/dist/auth/credential-manager.js +0 -60
- package/dist/auth/credential-manager.js.map +0 -1
- package/dist/auth/oauth-service.d.ts +0 -24
- package/dist/auth/oauth-service.js +0 -89
- package/dist/auth/oauth-service.js.map +0 -1
- package/dist/auth/workspace-auth-service.d.ts +0 -10
- package/dist/auth/workspace-auth-service.js +0 -78
- package/dist/auth/workspace-auth-service.js.map +0 -1
- package/dist/cli/commands/swarm.d.ts +0 -13
- package/dist/cli/commands/swarm.js +0 -250
- package/dist/cli/commands/swarm.js.map +0 -1
- package/dist/inference/LlamaCppGenerator.d.ts +0 -25
- package/dist/inference/LlamaCppGenerator.js +0 -461
- package/dist/inference/LlamaCppGenerator.js.map +0 -1
- package/dist/scripts/test-local-llamacpp.d.ts +0 -1
- package/dist/scripts/test-local-llamacpp.js +0 -77
- package/dist/scripts/test-local-llamacpp.js.map +0 -1
- package/dist/supervisor/gemini-engine.js +0 -1056
- package/dist/supervisor/gemini-engine.js.map +0 -1
- package/dist/swarm/agent-card.d.ts +0 -14
- package/dist/swarm/agent-card.js +0 -93
- package/dist/swarm/agent-card.js.map +0 -1
- package/dist/swarm/rpc-handler.d.ts +0 -27
- package/dist/swarm/rpc-handler.js +0 -235
- package/dist/swarm/rpc-handler.js.map +0 -1
- package/dist/swarm/swarm-service.d.ts +0 -47
- package/dist/swarm/swarm-service.js +0 -207
- package/dist/swarm/swarm-service.js.map +0 -1
- package/dist/swarm/types.d.ts +0 -109
- package/dist/swarm/types.js +0 -15
- package/dist/swarm/types.js.map +0 -1
- /package/extensions/memory/{gemini-extension.json → tars-extension.json} +0 -0
- /package/extensions/tasks/{gemini-extension.json → tars-extension.json} +0 -0
package/dist/supervisor/main.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { Config } from '../config/config.js';
|
|
2
|
-
import {
|
|
2
|
+
import { TarsEngine } from './tars-engine.js';
|
|
3
3
|
import { SessionManager } from './session-manager.js';
|
|
4
4
|
import { Supervisor } from './supervisor.js';
|
|
5
5
|
import { HeartbeatService } from './heartbeat-service.js';
|
|
6
6
|
import { CronService } from './cron-service.js';
|
|
7
7
|
import { DashboardService } from './dashboard-service.js';
|
|
8
|
-
import { SwarmService } from '../swarm/swarm-service.js';
|
|
9
8
|
import { ChannelManager } from '../channels/channel-manager.js';
|
|
10
9
|
import logger from '../utils/logger.js';
|
|
11
10
|
import fs from 'fs';
|
|
@@ -17,7 +16,7 @@ const __filename = fileURLToPath(import.meta.url);
|
|
|
17
16
|
const __dirname = path.dirname(__filename);
|
|
18
17
|
/**
|
|
19
18
|
* Install the fixed system prompt into the Tars home directory.
|
|
20
|
-
* This ensures
|
|
19
|
+
* This ensures the agent uses Tars' custom persona instead of the default coding-centric prompt.
|
|
21
20
|
*/
|
|
22
21
|
function installSystemPrompt(config) {
|
|
23
22
|
// Walk up from dist/supervisor/ or src/supervisor/ to find prompts/system.md
|
|
@@ -48,11 +47,9 @@ function installSystemPrompt(config) {
|
|
|
48
47
|
let promptContent = fs.readFileSync(srcPrompt, 'utf-8');
|
|
49
48
|
promptContent = promptContent.replace(/{{ASSISTANT_NAME}}/g, config.assistantName);
|
|
50
49
|
promptContent = promptContent.replace(/{{INSTANCE_NAME}}/g, config.instanceName);
|
|
51
|
-
promptContent = promptContent.replace(/{{
|
|
52
|
-
promptContent = promptContent.replace(/{{
|
|
53
|
-
promptContent = promptContent.replace(/{{MODEL_NAME}}/g, config.geminiModel);
|
|
50
|
+
promptContent = promptContent.replace(/{{PROVIDER}}/g, config.piProvider);
|
|
51
|
+
promptContent = promptContent.replace(/{{MODEL_NAME}}/g, config.piModel);
|
|
54
52
|
promptContent = promptContent.replace(/{{CONTEXT_WINDOW}}/g, config.contextWindowTokens.toLocaleString());
|
|
55
|
-
promptContent = promptContent.replace(/{{INFERENCE_ENDPOINT}}/g, config.inferenceBackend === 'llamacpp' ? config.localInferenceUrl : 'Google AI API');
|
|
56
53
|
// Always overwrite to ensure latest prompt is deployed
|
|
57
54
|
fs.writeFileSync(config.systemPromptPath, promptContent);
|
|
58
55
|
logger.info(`📝 System prompt installed: ${config.systemPromptPath}`);
|
|
@@ -88,8 +85,8 @@ function installSkills(config) {
|
|
|
88
85
|
logger.warn('⚠️ Could not locate built-in skills directory');
|
|
89
86
|
return;
|
|
90
87
|
}
|
|
91
|
-
// 2. Define target directory (~/.tars
|
|
92
|
-
const skillsDest = path.join(config.homeDir, '
|
|
88
|
+
// 2. Define target directory (~/.tars/skills)
|
|
89
|
+
const skillsDest = path.join(config.homeDir, 'skills');
|
|
93
90
|
try {
|
|
94
91
|
if (!fs.existsSync(skillsDest)) {
|
|
95
92
|
fs.mkdirSync(skillsDest, { recursive: true });
|
|
@@ -114,58 +111,12 @@ function installSkills(config) {
|
|
|
114
111
|
logger.error(`❌ Failed to sync skills: ${error}`);
|
|
115
112
|
}
|
|
116
113
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Install and sync built-in agents into the Tars runtime directory.
|
|
119
|
-
*/
|
|
120
|
-
function installAgents(config) {
|
|
121
|
-
let searchDir = __dirname;
|
|
122
|
-
let agentsSrc = '';
|
|
123
|
-
for (let i = 0; i < 5; i++) {
|
|
124
|
-
const candidate = path.join(searchDir, 'context', 'agents');
|
|
125
|
-
const srcCandidate = path.join(searchDir, '..', 'context', 'agents');
|
|
126
|
-
if (fs.existsSync(candidate)) {
|
|
127
|
-
agentsSrc = candidate;
|
|
128
|
-
break;
|
|
129
|
-
}
|
|
130
|
-
else if (fs.existsSync(srcCandidate)) {
|
|
131
|
-
agentsSrc = srcCandidate;
|
|
132
|
-
break;
|
|
133
|
-
}
|
|
134
|
-
const rootCandidate = path.join(searchDir, '..', '..', 'context', 'agents');
|
|
135
|
-
if (fs.existsSync(rootCandidate)) {
|
|
136
|
-
agentsSrc = rootCandidate;
|
|
137
|
-
break;
|
|
138
|
-
}
|
|
139
|
-
searchDir = path.dirname(searchDir);
|
|
140
|
-
}
|
|
141
|
-
if (!agentsSrc) {
|
|
142
|
-
logger.warn('⚠️ Could not locate built-in agents directory');
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
const agentsDest = path.join(config.homeDir, '.gemini', 'agents');
|
|
146
|
-
try {
|
|
147
|
-
if (!fs.existsSync(agentsDest)) {
|
|
148
|
-
fs.mkdirSync(agentsDest, { recursive: true });
|
|
149
|
-
}
|
|
150
|
-
const builtInAgents = fs.readdirSync(agentsSrc);
|
|
151
|
-
for (const agentName of builtInAgents) {
|
|
152
|
-
const srcAgentPath = path.join(agentsSrc, agentName);
|
|
153
|
-
const destAgentPath = path.join(agentsDest, agentName);
|
|
154
|
-
if (!fs.statSync(srcAgentPath).isFile() || !agentName.endsWith('.md'))
|
|
155
|
-
continue;
|
|
156
|
-
fs.copyFileSync(srcAgentPath, destAgentPath);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
catch (error) {
|
|
160
|
-
logger.error(`❌ Failed to sync agents: ${error}`);
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
114
|
/**
|
|
164
115
|
* Automatically install/link extensions and enable them.
|
|
165
116
|
*/
|
|
166
117
|
function installExtensions(config) {
|
|
167
118
|
const repoExtensionsDir = path.join(__dirname, '..', '..', 'extensions');
|
|
168
|
-
const targetExtensionsDir = path.join(config.homeDir, '
|
|
119
|
+
const targetExtensionsDir = path.join(config.homeDir, 'extensions');
|
|
169
120
|
const enablementFile = path.join(targetExtensionsDir, 'extension-enablement.json');
|
|
170
121
|
if (!fs.existsSync(repoExtensionsDir)) {
|
|
171
122
|
logger.warn('⚠️ Could not locate extensions directory');
|
|
@@ -272,7 +223,7 @@ function installExtensions(config) {
|
|
|
272
223
|
*/
|
|
273
224
|
function installDefaultSettings(config) {
|
|
274
225
|
const settingsTemplate = path.join(__dirname, '..', '..', 'context', 'config', 'settings.json-template');
|
|
275
|
-
const targetSettings = path.join(config.homeDir, '
|
|
226
|
+
const targetSettings = path.join(config.homeDir, 'settings.json');
|
|
276
227
|
if (fs.existsSync(targetSettings))
|
|
277
228
|
return;
|
|
278
229
|
if (fs.existsSync(settingsTemplate)) {
|
|
@@ -285,7 +236,7 @@ function installDefaultSettings(config) {
|
|
|
285
236
|
* Ensure existing settings.json has required settings
|
|
286
237
|
*/
|
|
287
238
|
function patchSettings(config) {
|
|
288
|
-
const targetSettings = path.join(config.homeDir, '
|
|
239
|
+
const targetSettings = path.join(config.homeDir, 'settings.json');
|
|
289
240
|
if (!fs.existsSync(targetSettings))
|
|
290
241
|
return;
|
|
291
242
|
const settingsTemplate = path.join(__dirname, '..', '..', 'context', 'config', 'settings.json-template');
|
|
@@ -386,21 +337,21 @@ async function main() {
|
|
|
386
337
|
// 2. Install components
|
|
387
338
|
installSystemPrompt(config);
|
|
388
339
|
installSkills(config);
|
|
389
|
-
installAgents(config);
|
|
390
340
|
installExtensions(config);
|
|
391
341
|
installDashboard(config);
|
|
392
342
|
installDefaultSettings(config);
|
|
393
343
|
patchSettings(config);
|
|
394
344
|
// 3. Initialize Core Services
|
|
395
|
-
const
|
|
345
|
+
const tarsEngine = new TarsEngine(config);
|
|
396
346
|
const sessionManager = new SessionManager(config.sessionFilePath);
|
|
397
|
-
const supervisor = new Supervisor(
|
|
347
|
+
const supervisor = new Supervisor(tarsEngine, sessionManager);
|
|
398
348
|
// 4. Initialize Multi-Channel Interface
|
|
399
349
|
const channelManager = new ChannelManager();
|
|
400
350
|
// 5. Inject Interface into Engine
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
351
|
+
tarsEngine.setChannelManager(channelManager);
|
|
352
|
+
supervisor.setChannelManager(channelManager);
|
|
353
|
+
tarsEngine.setSessionManager(sessionManager);
|
|
354
|
+
await tarsEngine.initialize();
|
|
404
355
|
// 6. Connect Routing
|
|
405
356
|
channelManager.onMessage(async (message) => {
|
|
406
357
|
let responseBuffer = '';
|
|
@@ -418,19 +369,29 @@ async function main() {
|
|
|
418
369
|
const lines = [];
|
|
419
370
|
if (isMilestone) {
|
|
420
371
|
lines.push(`⚡ **Milestone ${turnCount}** — still going strong...`);
|
|
421
|
-
lines.push('');
|
|
422
372
|
}
|
|
423
|
-
|
|
424
|
-
lines.push(
|
|
425
|
-
// Show last ~
|
|
426
|
-
const toolsToShow = recentTools.slice(-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
.
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
373
|
+
const executedCount = recentTools.filter((t) => t.status === 'completed').length;
|
|
374
|
+
lines.push(`⏳ **Working...** (Turn ${turnCount}, ${executedCount} tools executed)`);
|
|
375
|
+
// Show last ~5 tool calls (moving window)
|
|
376
|
+
const toolsToShow = recentTools.slice(-5);
|
|
377
|
+
if (toolsToShow.length > 0) {
|
|
378
|
+
lines.push('');
|
|
379
|
+
for (const tool of toolsToShow) {
|
|
380
|
+
if (tool.status === 'running') {
|
|
381
|
+
lines.push(`⚙️ **${tool.name}** — *Executing...*`);
|
|
382
|
+
}
|
|
383
|
+
else {
|
|
384
|
+
let preview = (tool.responsePreview || '')
|
|
385
|
+
.replace(/\s+/g, ' ')
|
|
386
|
+
.replace(/[`*#_\[\]]/g, '') // remove markdown characters
|
|
387
|
+
.trim();
|
|
388
|
+
if (preview.length > 80) {
|
|
389
|
+
preview = preview.substring(0, 77) + '...';
|
|
390
|
+
}
|
|
391
|
+
const size = formatSize(tool.responseSize || 0);
|
|
392
|
+
lines.push(`🛠️ **${tool.name}** — "${preview}" (${size})`);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
434
395
|
}
|
|
435
396
|
lines.push('');
|
|
436
397
|
lines.push(`_Last update: ${new Date().toLocaleTimeString()}_`);
|
|
@@ -510,13 +471,11 @@ async function main() {
|
|
|
510
471
|
const heartbeat = new HeartbeatService(supervisor, config, sessionManager);
|
|
511
472
|
const cron = new CronService(supervisor, config, channelManager);
|
|
512
473
|
const dashboard = new DashboardService(config);
|
|
513
|
-
const swarm = new SwarmService(config, supervisor);
|
|
514
474
|
// Start everything
|
|
515
475
|
await channelManager.start();
|
|
516
476
|
await heartbeat.start();
|
|
517
477
|
await cron.start();
|
|
518
478
|
await dashboard.start();
|
|
519
|
-
await swarm.start();
|
|
520
479
|
logger.info('✨ Tars successfully initialized and running.');
|
|
521
480
|
// Graceful shutdown
|
|
522
481
|
process.on('SIGINT', async () => {
|
|
@@ -525,7 +484,6 @@ async function main() {
|
|
|
525
484
|
heartbeat.stop();
|
|
526
485
|
cron.stop();
|
|
527
486
|
dashboard.stop();
|
|
528
|
-
swarm.stop();
|
|
529
487
|
process.exit(0);
|
|
530
488
|
});
|
|
531
489
|
}
|
|
@@ -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":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { AgentTool } from '@earendil-works/pi-agent-core';
|
|
2
|
+
export interface McpExtension {
|
|
3
|
+
name: string;
|
|
4
|
+
path: string;
|
|
5
|
+
mcpServers: Record<string, {
|
|
6
|
+
command: string;
|
|
7
|
+
args?: string[];
|
|
8
|
+
env?: Record<string, string>;
|
|
9
|
+
cwd?: string;
|
|
10
|
+
}>;
|
|
11
|
+
}
|
|
12
|
+
export declare class McpBridge {
|
|
13
|
+
private readonly homeDir;
|
|
14
|
+
private clients;
|
|
15
|
+
private transports;
|
|
16
|
+
constructor(homeDir: string);
|
|
17
|
+
/**
|
|
18
|
+
* Discovers and starts all MCP servers, returning their tools mapped to AgentTools.
|
|
19
|
+
*/
|
|
20
|
+
initialize(): Promise<AgentTool<any>[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Disconnects all MCP clients and cleans up transports.
|
|
23
|
+
*/
|
|
24
|
+
shutdown(): Promise<void>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
|
|
2
|
+
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
|
|
3
|
+
import fs from 'fs';
|
|
4
|
+
import path from 'path';
|
|
5
|
+
import logger from '../utils/logger.js';
|
|
6
|
+
export class McpBridge {
|
|
7
|
+
homeDir;
|
|
8
|
+
clients = new Map();
|
|
9
|
+
transports = new Map();
|
|
10
|
+
constructor(homeDir) {
|
|
11
|
+
this.homeDir = homeDir;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Discovers and starts all MCP servers, returning their tools mapped to AgentTools.
|
|
15
|
+
*/
|
|
16
|
+
async initialize() {
|
|
17
|
+
const extensionsDir = path.join(this.homeDir, 'extensions');
|
|
18
|
+
if (!fs.existsSync(extensionsDir))
|
|
19
|
+
return [];
|
|
20
|
+
const extensions = [];
|
|
21
|
+
try {
|
|
22
|
+
const entries = fs.readdirSync(extensionsDir, { withFileTypes: true });
|
|
23
|
+
for (const entry of entries) {
|
|
24
|
+
if (!entry.isDirectory() && !entry.isSymbolicLink())
|
|
25
|
+
continue;
|
|
26
|
+
const extPath = path.resolve(extensionsDir, entry.name);
|
|
27
|
+
let configPath = path.join(extPath, 'tars-extension.json');
|
|
28
|
+
if (!fs.existsSync(configPath)) {
|
|
29
|
+
configPath = path.join(extPath, 'gemini-extension.json');
|
|
30
|
+
}
|
|
31
|
+
if (fs.existsSync(configPath)) {
|
|
32
|
+
try {
|
|
33
|
+
const content = fs.readFileSync(configPath, 'utf-8');
|
|
34
|
+
const config = JSON.parse(content);
|
|
35
|
+
if (config.mcpServers) {
|
|
36
|
+
extensions.push({
|
|
37
|
+
name: config.name,
|
|
38
|
+
path: extPath,
|
|
39
|
+
mcpServers: config.mcpServers
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
logger.info(`🔌 Discovered MCP extension: ${config.name}`);
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
logger.error(`Failed to parse extension at ${extPath}: ${e}`);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
logger.error(`Error during extension discovery: ${error}`);
|
|
52
|
+
}
|
|
53
|
+
const allTools = [];
|
|
54
|
+
for (const ext of extensions) {
|
|
55
|
+
for (const [serverName, serverConfig] of Object.entries(ext.mcpServers)) {
|
|
56
|
+
try {
|
|
57
|
+
const extPath = ext.path;
|
|
58
|
+
const resolvedArgs = serverConfig.args?.map((arg) => arg.replace(/\${extensionPath}/g, extPath)) || [];
|
|
59
|
+
const resolvedEnv = {};
|
|
60
|
+
for (const [k, v] of Object.entries(process.env)) {
|
|
61
|
+
if (v !== undefined) {
|
|
62
|
+
resolvedEnv[k] = v;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
if (serverConfig.env) {
|
|
66
|
+
for (const [k, v] of Object.entries(serverConfig.env)) {
|
|
67
|
+
resolvedEnv[k] = v.replace(/\${extensionPath}/g, extPath);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
logger.info(`Starting MCP server ${serverName} via stdio: ${serverConfig.command} ${resolvedArgs.join(' ')}`);
|
|
71
|
+
const transport = new StdioClientTransport({
|
|
72
|
+
command: serverConfig.command,
|
|
73
|
+
args: resolvedArgs,
|
|
74
|
+
env: resolvedEnv
|
|
75
|
+
});
|
|
76
|
+
const client = new Client({
|
|
77
|
+
name: `tars-${serverName}-client`,
|
|
78
|
+
version: '1.0.0'
|
|
79
|
+
}, {
|
|
80
|
+
capabilities: {}
|
|
81
|
+
});
|
|
82
|
+
await client.connect(transport);
|
|
83
|
+
const key = `${ext.name}:${serverName}`;
|
|
84
|
+
this.clients.set(key, client);
|
|
85
|
+
this.transports.set(key, transport);
|
|
86
|
+
const response = await client.listTools();
|
|
87
|
+
logger.info(`Connected to MCP server ${serverName}, found ${response.tools?.length || 0} tools.`);
|
|
88
|
+
if (response.tools) {
|
|
89
|
+
for (const mcpTool of response.tools) {
|
|
90
|
+
const agentTool = {
|
|
91
|
+
name: mcpTool.name,
|
|
92
|
+
label: mcpTool.name,
|
|
93
|
+
description: mcpTool.description || '',
|
|
94
|
+
parameters: mcpTool.inputSchema,
|
|
95
|
+
execute: async (toolCallId, params) => {
|
|
96
|
+
logger.debug(`Calling MCP tool ${mcpTool.name} with params:`, params);
|
|
97
|
+
try {
|
|
98
|
+
const result = (await client.callTool({
|
|
99
|
+
name: mcpTool.name,
|
|
100
|
+
arguments: params
|
|
101
|
+
}));
|
|
102
|
+
const contentBlocks = result.content?.map((block) => {
|
|
103
|
+
if (block.type === 'text') {
|
|
104
|
+
return { type: 'text', text: block.text };
|
|
105
|
+
}
|
|
106
|
+
else if (block.type === 'image') {
|
|
107
|
+
return {
|
|
108
|
+
type: 'image',
|
|
109
|
+
data: block.data,
|
|
110
|
+
mimeType: block.mimeType
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
type: 'text',
|
|
115
|
+
text: JSON.stringify(block)
|
|
116
|
+
};
|
|
117
|
+
}) || [];
|
|
118
|
+
return {
|
|
119
|
+
content: contentBlocks,
|
|
120
|
+
details: result
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
catch (err) {
|
|
124
|
+
logger.error(`Error calling MCP tool ${mcpTool.name}:`, err);
|
|
125
|
+
throw err;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
allTools.push(agentTool);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
logger.error(`Failed to start or query MCP server ${serverName}: ${err.message}`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return allTools;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Disconnects all MCP clients and cleans up transports.
|
|
142
|
+
*/
|
|
143
|
+
async shutdown() {
|
|
144
|
+
for (const [key, client] of this.clients.entries()) {
|
|
145
|
+
try {
|
|
146
|
+
logger.info(`Shutting down MCP client: ${key}`);
|
|
147
|
+
await client.close();
|
|
148
|
+
}
|
|
149
|
+
catch (err) {
|
|
150
|
+
logger.error(`Error closing MCP client ${key}: ${err.message}`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
this.clients.clear();
|
|
154
|
+
this.transports.clear();
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=mcp-bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-bridge.js","sourceRoot":"","sources":["../../src/supervisor/mcp-bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export interface SessionData {
|
|
|
16
16
|
compressionCount: number;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
* Manages
|
|
19
|
+
* Manages Tars session persistence with token tracking
|
|
20
20
|
*/
|
|
21
21
|
export declare class SessionManager {
|
|
22
22
|
private readonly sessionFilePath;
|
|
@@ -2,7 +2,7 @@ import fs from 'fs';
|
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import logger from '../utils/logger.js';
|
|
4
4
|
/**
|
|
5
|
-
* Manages
|
|
5
|
+
* Manages Tars session persistence with token tracking
|
|
6
6
|
*/
|
|
7
7
|
export class SessionManager {
|
|
8
8
|
sessionFilePath;
|
|
@@ -1,28 +1,35 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TarsEngine, StatusUpdateHandler } from './tars-engine.js';
|
|
2
2
|
import { SessionManager } from './session-manager.js';
|
|
3
|
-
import {
|
|
3
|
+
import { TarsOutputHandler, AttachmentContext } from '../types/index.js';
|
|
4
4
|
import { MemoryManager } from '../memory/memory-manager.js';
|
|
5
|
+
import { ChannelManager } from '../channels/channel-manager.js';
|
|
5
6
|
/**
|
|
6
7
|
* Tars Supervisor - Core Orchestrator
|
|
7
|
-
* Handles session management and
|
|
8
|
+
* Handles session management and Tars Engine execution.
|
|
8
9
|
*/
|
|
9
10
|
export declare class Supervisor {
|
|
10
|
-
private readonly
|
|
11
|
+
private readonly tarsEngine;
|
|
11
12
|
private readonly sessionManager;
|
|
12
13
|
private readonly config;
|
|
13
14
|
readonly memory: MemoryManager;
|
|
14
15
|
private processingSince;
|
|
15
|
-
|
|
16
|
+
private channelManager?;
|
|
17
|
+
constructor(tarsEngine: TarsEngine, sessionManager: SessionManager);
|
|
18
|
+
setChannelManager(channelManager: ChannelManager): void;
|
|
16
19
|
/**
|
|
17
|
-
* Executes a user prompt through the
|
|
20
|
+
* Executes a user prompt through the Tars CLI
|
|
18
21
|
*/
|
|
19
|
-
run(content: string, onEvent:
|
|
22
|
+
run(content: string, onEvent: TarsOutputHandler, sessionId?: string, attachments?: AttachmentContext[], onStatus?: StatusUpdateHandler): Promise<void>;
|
|
20
23
|
/**
|
|
21
24
|
* Specialized execution for background tasks.
|
|
22
25
|
* Runs in the active session so the model retains context of what it did.
|
|
23
26
|
* No more orphan sessions or dangerous history injection.
|
|
24
27
|
*/
|
|
25
28
|
executeTask(prompt: string): Promise<string>;
|
|
29
|
+
/**
|
|
30
|
+
* Checks if the session needs compression and performs it, updating status if requested.
|
|
31
|
+
*/
|
|
32
|
+
private performCompressionIfNeeded;
|
|
26
33
|
isBusy(): boolean;
|
|
27
34
|
/**
|
|
28
35
|
* Checks if the supervisor lock has been held longer than maxAgeMs and forcefully releases it if so.
|