@saccolabs/tars 1.15.0 → 1.16.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/context/skills/swarm-ops/SKILL.md +163 -0
- package/dist/cli/commands/setup.js +65 -2
- package/dist/cli/commands/setup.js.map +1 -1
- package/dist/cli/commands/swarm.d.ts +13 -0
- package/dist/cli/commands/swarm.js +250 -0
- package/dist/cli/commands/swarm.js.map +1 -0
- package/dist/cli/index.js +9 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/config/config.d.ts +8 -0
- package/dist/config/config.js +20 -0
- package/dist/config/config.js.map +1 -1
- package/dist/supervisor/main.js +4 -0
- package/dist/supervisor/main.js.map +1 -1
- package/dist/swarm/agent-card.d.ts +14 -0
- package/dist/swarm/agent-card.js +93 -0
- package/dist/swarm/agent-card.js.map +1 -0
- package/dist/swarm/rpc-handler.d.ts +27 -0
- package/dist/swarm/rpc-handler.js +235 -0
- package/dist/swarm/rpc-handler.js.map +1 -0
- package/dist/swarm/swarm-service.d.ts +47 -0
- package/dist/swarm/swarm-service.js +207 -0
- package/dist/swarm/swarm-service.js.map +1 -0
- package/dist/swarm/types.d.ts +109 -0
- package/dist/swarm/types.js +15 -0
- package/dist/swarm/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: swarm-ops
|
|
3
|
+
description: Guide for managing Tars Swarm — registering peers, enabling swarm mode, and troubleshooting A2A connectivity.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Tars Swarm Operations
|
|
7
|
+
|
|
8
|
+
Use this skill when the user wants to connect Tars instances together, register remote agents, or troubleshoot swarm connectivity.
|
|
9
|
+
|
|
10
|
+
## What is Swarm Mode?
|
|
11
|
+
|
|
12
|
+
Swarm Mode allows multiple Tars instances to communicate using the A2A (Agent-to-Agent) protocol. When enabled, this Tars instance exposes an HTTP endpoint that other agents can discover and delegate tasks to. Similarly, this instance can delegate tasks to other registered peers.
|
|
13
|
+
|
|
14
|
+
## Key Concepts
|
|
15
|
+
|
|
16
|
+
- **Swarm Mode**: An opt-in feature that starts an A2A HTTP server alongside the supervisor.
|
|
17
|
+
- **Agent Card**: A JSON document at `/.well-known/agent.json` describing this instance's capabilities.
|
|
18
|
+
- **Peer**: Another Tars instance (or any A2A-compliant agent) registered as a remote agent.
|
|
19
|
+
- **API Key**: Each swarm-enabled instance has a unique key for authenticating incoming requests.
|
|
20
|
+
|
|
21
|
+
## CLI Commands
|
|
22
|
+
|
|
23
|
+
### Check Swarm Status
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
tars swarm status
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Shows whether swarm mode is enabled, the port, API key (masked), and registered peers.
|
|
30
|
+
|
|
31
|
+
### Register a Peer
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
tars swarm add
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Interactive prompt that asks for:
|
|
38
|
+
|
|
39
|
+
1. **Peer name** — lowercase, no spaces (e.g., `case`, `stark-worker`)
|
|
40
|
+
2. **Agent Card URL** — the peer's discovery endpoint (e.g., `http://stark:3100/.well-known/agent.json`)
|
|
41
|
+
3. **API Key** — the peer's `SWARM_API_KEY`
|
|
42
|
+
|
|
43
|
+
This creates a `.md` file in `~/.tars/.gemini/agents/<name>.md` that Gemini Core's AgentRegistry automatically picks up on restart.
|
|
44
|
+
|
|
45
|
+
### Remove a Peer
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
tars swarm remove <name>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Removes the peer's agent `.md` file and its API key from secrets. Only removes remote agents — local agents (like `t-scaffolder`) are protected.
|
|
52
|
+
|
|
53
|
+
### List Peers
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
tars swarm list
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Lists all registered remote peers with their names and URLs.
|
|
60
|
+
|
|
61
|
+
## Setup Workflow
|
|
62
|
+
|
|
63
|
+
### Enabling Swarm on This Instance
|
|
64
|
+
|
|
65
|
+
If swarm mode is not yet enabled:
|
|
66
|
+
|
|
67
|
+
1. Tell the user to run `tars setup` and enable Swarm Mode in Step 7
|
|
68
|
+
2. Setup will auto-generate an API key and save it to secrets
|
|
69
|
+
3. After setup, tell the user to run `tars restart` for changes to take effect
|
|
70
|
+
|
|
71
|
+
**CRITICAL: Never run `tars restart` yourself. Always instruct the USER to do it.**
|
|
72
|
+
|
|
73
|
+
### Connecting Two Tars Instances
|
|
74
|
+
|
|
75
|
+
To connect **Tars** (this instance) and **Case** (another instance):
|
|
76
|
+
|
|
77
|
+
**On Case's machine:**
|
|
78
|
+
|
|
79
|
+
1. Run `tars setup`, enable Swarm Mode
|
|
80
|
+
2. Note the API key and the hostname/port (e.g., `http://stark:3100`)
|
|
81
|
+
|
|
82
|
+
**On this machine (Tars):**
|
|
83
|
+
|
|
84
|
+
1. Run: `tars swarm add`
|
|
85
|
+
2. Enter name: `case`
|
|
86
|
+
3. Enter URL: `http://stark:3100/.well-known/agent.json`
|
|
87
|
+
4. Enter Case's API key
|
|
88
|
+
5. Run: `tars restart`
|
|
89
|
+
|
|
90
|
+
**On Case's machine (reverse registration):**
|
|
91
|
+
|
|
92
|
+
1. Run: `tars swarm add`
|
|
93
|
+
2. Enter name: `tars`
|
|
94
|
+
3. Enter URL: `http://<this-host>:3100/.well-known/agent.json`
|
|
95
|
+
4. Enter this instance's API key
|
|
96
|
+
5. Run: `tars restart`
|
|
97
|
+
|
|
98
|
+
After both sides are registered, either agent can delegate tasks to the other.
|
|
99
|
+
|
|
100
|
+
## Configuration Reference
|
|
101
|
+
|
|
102
|
+
### config.json (Swarm Section)
|
|
103
|
+
|
|
104
|
+
```json
|
|
105
|
+
{
|
|
106
|
+
"swarm": {
|
|
107
|
+
"enabled": true,
|
|
108
|
+
"port": 3100,
|
|
109
|
+
"description": "Tars on Stark — DevOps specialist",
|
|
110
|
+
"skills": ["devops", "deployment"]
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
- `enabled` — Whether the A2A server starts (default: `false`)
|
|
116
|
+
- `port` — HTTP port for the A2A server (default: `3100`)
|
|
117
|
+
- `description` — Human-readable description shown in the agent card
|
|
118
|
+
- `skills` — Additional skill tags advertised in the agent card
|
|
119
|
+
|
|
120
|
+
### Secrets
|
|
121
|
+
|
|
122
|
+
- `SWARM_API_KEY` — This instance's API key (auto-generated during setup)
|
|
123
|
+
- `SWARM_PEER_<NAME>_KEY` — API keys for registered peers (set by `tars swarm add`)
|
|
124
|
+
|
|
125
|
+
## Troubleshooting
|
|
126
|
+
|
|
127
|
+
### Peer Not Reachable
|
|
128
|
+
|
|
129
|
+
```bash
|
|
130
|
+
# Test connectivity to a peer's agent card
|
|
131
|
+
curl http://<peer-host>:3100/.well-known/agent.json
|
|
132
|
+
|
|
133
|
+
# Test the health endpoint
|
|
134
|
+
curl http://<peer-host>:3100/health
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
If these fail, check:
|
|
138
|
+
|
|
139
|
+
- Is swarm mode enabled on the peer? (`tars swarm status`)
|
|
140
|
+
- Is the port open/accessible? (firewall, SSH tunnel)
|
|
141
|
+
- Is the peer's Tars running? (`tars status`)
|
|
142
|
+
|
|
143
|
+
### Authentication Errors
|
|
144
|
+
|
|
145
|
+
If you see `401 Unauthorized` in logs:
|
|
146
|
+
|
|
147
|
+
- Verify the API key matches: check `SWARM_API_KEY` on the peer vs `SWARM_PEER_<NAME>_KEY` on this instance
|
|
148
|
+
- Keys are stored in `~/.tars/.env` — use `tars secret list` to verify
|
|
149
|
+
|
|
150
|
+
### Port Conflicts
|
|
151
|
+
|
|
152
|
+
If swarm fails to start with `EADDRINUSE`:
|
|
153
|
+
|
|
154
|
+
- The port is already in use (dashboard, another service)
|
|
155
|
+
- Change the port in `config.json` under `swarm.port`
|
|
156
|
+
- Default swarm port is `3100` (dashboard defaults to `3000`)
|
|
157
|
+
|
|
158
|
+
## Safety Rules
|
|
159
|
+
|
|
160
|
+
1. **NEVER restart Tars yourself** — always instruct the user to run `tars restart`
|
|
161
|
+
2. **Loop prevention** — The `X-Swarm-Depth` header caps delegation at 3 levels deep. You cannot create infinite loops.
|
|
162
|
+
3. **API keys are secrets** — Never display full API keys in chat. Show only masked versions (first 12 chars + last 4).
|
|
163
|
+
4. **Swarm is opt-in** — Never enable swarm mode without the user's explicit request.
|
|
@@ -11,6 +11,7 @@ import { WorkspaceOAuthService } from '../../auth/workspace-auth-service.js';
|
|
|
11
11
|
import { BrainAuditor } from '../../utils/brain-audit.js';
|
|
12
12
|
import { getTarsHome } from '../../utils/paths.js';
|
|
13
13
|
import { SecretsManager } from '../../utils/secrets-manager.js';
|
|
14
|
+
import crypto from 'node:crypto';
|
|
14
15
|
/**
|
|
15
16
|
* Check if the isolated tars environment is authenticated
|
|
16
17
|
*/
|
|
@@ -443,9 +444,62 @@ export async function setup() {
|
|
|
443
444
|
console.log(chalk.green(' ✓ Dashboard configuration saved.'));
|
|
444
445
|
}
|
|
445
446
|
// ══════════════════════════════════════════════════════════
|
|
446
|
-
// ── Step 7:
|
|
447
|
+
// ── Step 7: Swarm Mode ────────────────────────────────────
|
|
448
|
+
// Allows other Tars instances to delegate tasks to this one.
|
|
447
449
|
// ══════════════════════════════════════════════════════════
|
|
448
|
-
console.log(chalk.bold('\nStep 7:
|
|
450
|
+
console.log(chalk.bold('\nStep 7: Swarm Mode (A2A)'));
|
|
451
|
+
console.log(chalk.dim('────────────────────────'));
|
|
452
|
+
console.log(chalk.dim(' Allow other Tars instances to discover and'));
|
|
453
|
+
console.log(chalk.dim(' delegate tasks to this agent using the A2A protocol.'));
|
|
454
|
+
const existingSwarm = existingConfig.swarm || {};
|
|
455
|
+
const existingSwarmKey = secrets.SWARM_API_KEY || '';
|
|
456
|
+
const swarmConfig = await inquirer.prompt([
|
|
457
|
+
{
|
|
458
|
+
type: 'confirm',
|
|
459
|
+
name: 'enableSwarm',
|
|
460
|
+
message: 'Enable Swarm Mode (allow other agents to connect)?',
|
|
461
|
+
default: existingSwarm.enabled || false
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
type: 'input',
|
|
465
|
+
name: 'swarmPort',
|
|
466
|
+
message: 'Swarm API Port:',
|
|
467
|
+
default: String(existingSwarm.port || '3100'),
|
|
468
|
+
when: (a) => a.enableSwarm,
|
|
469
|
+
validate: (input) => {
|
|
470
|
+
const n = parseInt(input, 10);
|
|
471
|
+
if (isNaN(n) || n < 1024 || n > 65535) {
|
|
472
|
+
return 'Port must be a number between 1024 and 65535';
|
|
473
|
+
}
|
|
474
|
+
return true;
|
|
475
|
+
}
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
type: 'input',
|
|
479
|
+
name: 'swarmDescription',
|
|
480
|
+
message: 'Instance description (for other agents):',
|
|
481
|
+
default: existingSwarm.description ||
|
|
482
|
+
`${config.assistantName || existingConfig.assistantName || 'Tars'} — Autonomous AI assistant`,
|
|
483
|
+
when: (a) => a.enableSwarm
|
|
484
|
+
}
|
|
485
|
+
]);
|
|
486
|
+
if (swarmConfig.enableSwarm) {
|
|
487
|
+
// Auto-generate API key if one doesn't exist
|
|
488
|
+
const apiKey = existingSwarmKey || `tars_swarm_${crypto.randomBytes(24).toString('hex')}`;
|
|
489
|
+
secretsManager.set('SWARM_API_KEY', apiKey);
|
|
490
|
+
console.log(chalk.green(' ✓ Swarm mode configured.'));
|
|
491
|
+
console.log(chalk.dim(` Port: ${swarmConfig.swarmPort}`));
|
|
492
|
+
console.log(chalk.dim(` API Key: ${apiKey.substring(0, 16)}...${apiKey.substring(apiKey.length - 4)}`));
|
|
493
|
+
console.log('');
|
|
494
|
+
console.log(chalk.dim(' To register this instance on another Tars, run:'));
|
|
495
|
+
console.log(chalk.cyan(` tars swarm add --name ${(config.assistantName || 'tars').toLowerCase()} \\`));
|
|
496
|
+
console.log(chalk.cyan(` --url http://<this-host>:${swarmConfig.swarmPort}/.well-known/agent.json \\`));
|
|
497
|
+
console.log(chalk.cyan(` --key ${apiKey}`));
|
|
498
|
+
}
|
|
499
|
+
// ══════════════════════════════════════════════════════════
|
|
500
|
+
// ── Step 8: Installing ────────────────────────────────────
|
|
501
|
+
// ══════════════════════════════════════════════════════════
|
|
502
|
+
console.log(chalk.bold('\nStep 8: Installing'));
|
|
449
503
|
console.log(chalk.dim('──────────────────'));
|
|
450
504
|
// 1. Audit and Heal
|
|
451
505
|
const auditor = new BrainAuditor(tarsHome);
|
|
@@ -494,6 +548,15 @@ export async function setup() {
|
|
|
494
548
|
configData.localInferenceUrl = config.localInferenceUrl;
|
|
495
549
|
configData.contextWindowTokens = contextTokens;
|
|
496
550
|
}
|
|
551
|
+
// Swarm config (only written if enabled)
|
|
552
|
+
if (swarmConfig.enableSwarm) {
|
|
553
|
+
configData.swarm = {
|
|
554
|
+
enabled: true,
|
|
555
|
+
port: parseInt(swarmConfig.swarmPort, 10),
|
|
556
|
+
description: swarmConfig.swarmDescription || '',
|
|
557
|
+
skills: existingSwarm.skills || []
|
|
558
|
+
};
|
|
559
|
+
}
|
|
497
560
|
await fs.writeFile(path.join(tarsHome, 'config.json'), JSON.stringify(configData, null, 2));
|
|
498
561
|
saveSpinner.succeed('Configuration saved.');
|
|
499
562
|
// Hydrate extensions (Scan extensions directory)
|
|
@@ -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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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tars swarm — Manage Swarm peers (remote A2A agents).
|
|
3
|
+
*
|
|
4
|
+
* Subcommands:
|
|
5
|
+
* tars swarm status Show swarm mode configuration
|
|
6
|
+
* tars swarm add Register a remote Tars peer
|
|
7
|
+
* tars swarm remove <name> Remove a registered peer
|
|
8
|
+
* tars swarm list List all registered peers
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* tars swarm — Route to subcommands.
|
|
12
|
+
*/
|
|
13
|
+
export declare function swarm(action: string, ...args: string[]): Promise<void>;
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tars swarm — Manage Swarm peers (remote A2A agents).
|
|
3
|
+
*
|
|
4
|
+
* Subcommands:
|
|
5
|
+
* tars swarm status Show swarm mode configuration
|
|
6
|
+
* tars swarm add Register a remote Tars peer
|
|
7
|
+
* tars swarm remove <name> Remove a registered peer
|
|
8
|
+
* tars swarm list List all registered peers
|
|
9
|
+
*/
|
|
10
|
+
import chalk from 'chalk';
|
|
11
|
+
import inquirer from 'inquirer';
|
|
12
|
+
import fs from 'fs';
|
|
13
|
+
import path from 'path';
|
|
14
|
+
import { getTarsHome } from '../../utils/paths.js';
|
|
15
|
+
import { SecretsManager } from '../../utils/secrets-manager.js';
|
|
16
|
+
/**
|
|
17
|
+
* Returns the agents directory path for swarm peer registration.
|
|
18
|
+
*/
|
|
19
|
+
function getAgentsDir() {
|
|
20
|
+
return path.join(getTarsHome(), '.gemini', 'agents');
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Read config.json to get swarm settings.
|
|
24
|
+
*/
|
|
25
|
+
function loadConfig() {
|
|
26
|
+
const configPath = path.join(getTarsHome(), 'config.json');
|
|
27
|
+
try {
|
|
28
|
+
return JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
return {};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* tars swarm — Route to subcommands.
|
|
36
|
+
*/
|
|
37
|
+
export async function swarm(action, ...args) {
|
|
38
|
+
switch (action) {
|
|
39
|
+
case 'status':
|
|
40
|
+
return swarmStatus();
|
|
41
|
+
case 'add':
|
|
42
|
+
return swarmAdd();
|
|
43
|
+
case 'remove':
|
|
44
|
+
return swarmRemove(args[0]);
|
|
45
|
+
case 'list':
|
|
46
|
+
return swarmList();
|
|
47
|
+
default:
|
|
48
|
+
console.log(chalk.yellow(`Unknown swarm action: ${action}`));
|
|
49
|
+
console.log(chalk.dim('\nAvailable actions:'));
|
|
50
|
+
console.log(chalk.dim(' tars swarm status — Show swarm mode configuration'));
|
|
51
|
+
console.log(chalk.dim(' tars swarm add — Register a remote Tars peer'));
|
|
52
|
+
console.log(chalk.dim(' tars swarm remove — Remove a registered peer'));
|
|
53
|
+
console.log(chalk.dim(' tars swarm list — List all registered peers'));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Show swarm mode status.
|
|
58
|
+
*/
|
|
59
|
+
async function swarmStatus() {
|
|
60
|
+
const config = loadConfig();
|
|
61
|
+
const swarmConfig = config.swarm || {};
|
|
62
|
+
const tarsHome = getTarsHome();
|
|
63
|
+
const secretsManager = new SecretsManager(tarsHome);
|
|
64
|
+
const secrets = secretsManager.load();
|
|
65
|
+
console.log(chalk.cyan.bold('\n🌐 Tars Swarm Status'));
|
|
66
|
+
console.log(chalk.cyan('━━━━━━━━━━━━━━━━━━━━\n'));
|
|
67
|
+
if (!swarmConfig.enabled) {
|
|
68
|
+
console.log(chalk.yellow(' ⚠ Swarm mode is disabled.'));
|
|
69
|
+
console.log(chalk.dim(' Run `tars setup` to enable swarm mode.\n'));
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
console.log(chalk.green(' ✓ Swarm mode is enabled'));
|
|
73
|
+
console.log(chalk.dim(` Port: ${swarmConfig.port || 3100}`));
|
|
74
|
+
console.log(chalk.dim(` Description: ${swarmConfig.description || '(none)'}`));
|
|
75
|
+
console.log(chalk.dim(` Skills: ${(swarmConfig.skills || []).join(', ') || '(default)'}`));
|
|
76
|
+
const hasKey = !!(secrets.SWARM_API_KEY || process.env.SWARM_API_KEY);
|
|
77
|
+
if (hasKey) {
|
|
78
|
+
const key = secrets.SWARM_API_KEY || process.env.SWARM_API_KEY || '';
|
|
79
|
+
console.log(chalk.dim(` API Key: ${key.substring(0, 12)}...${key.substring(key.length - 4)}`));
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
console.log(chalk.yellow(' API Key: ⚠ NOT SET — run `tars setup` to generate one'));
|
|
83
|
+
}
|
|
84
|
+
console.log('');
|
|
85
|
+
// Count registered peers
|
|
86
|
+
const peers = listPeerFiles();
|
|
87
|
+
if (peers.length > 0) {
|
|
88
|
+
console.log(chalk.dim(` Registered Peers: ${peers.length}`));
|
|
89
|
+
for (const p of peers) {
|
|
90
|
+
console.log(chalk.dim(` • ${p.name} → ${p.url}`));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
console.log(chalk.dim(' Registered Peers: 0'));
|
|
95
|
+
console.log(chalk.dim(' Use `tars swarm add` to register a peer.'));
|
|
96
|
+
}
|
|
97
|
+
console.log('');
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Interactive peer registration.
|
|
101
|
+
*/
|
|
102
|
+
async function swarmAdd() {
|
|
103
|
+
console.log(chalk.cyan.bold('\n🌐 Register a Swarm Peer'));
|
|
104
|
+
console.log(chalk.cyan('────────────────────────\n'));
|
|
105
|
+
console.log(chalk.dim(' Register another Tars instance so this agent can delegate tasks to it.'));
|
|
106
|
+
console.log(chalk.dim(" You'll need the peer's Agent Card URL and API key.\n"));
|
|
107
|
+
const answers = await inquirer.prompt([
|
|
108
|
+
{
|
|
109
|
+
type: 'input',
|
|
110
|
+
name: 'name',
|
|
111
|
+
message: 'Peer name (lowercase, no spaces):',
|
|
112
|
+
validate: (input) => {
|
|
113
|
+
if (!/^[a-z][a-z0-9-]*$/.test(input)) {
|
|
114
|
+
return 'Must start with a letter and contain only lowercase letters, numbers, hyphens';
|
|
115
|
+
}
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
type: 'input',
|
|
121
|
+
name: 'url',
|
|
122
|
+
message: 'Agent Card URL:',
|
|
123
|
+
validate: (input) => {
|
|
124
|
+
try {
|
|
125
|
+
new URL(input);
|
|
126
|
+
if (!input.includes('agent.json') && !input.includes('.well-known')) {
|
|
127
|
+
return 'URL should point to the agent card (e.g., http://host:3100/.well-known/agent.json)';
|
|
128
|
+
}
|
|
129
|
+
return true;
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
return 'Please enter a valid URL';
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
type: 'password',
|
|
138
|
+
name: 'apiKey',
|
|
139
|
+
message: 'Peer API Key:',
|
|
140
|
+
validate: (input) => input.length >= 10 || 'API key is too short'
|
|
141
|
+
}
|
|
142
|
+
]);
|
|
143
|
+
const tarsHome = getTarsHome();
|
|
144
|
+
const agentsDir = getAgentsDir();
|
|
145
|
+
// Ensure agents directory exists
|
|
146
|
+
if (!fs.existsSync(agentsDir)) {
|
|
147
|
+
fs.mkdirSync(agentsDir, { recursive: true });
|
|
148
|
+
}
|
|
149
|
+
// Store the API key in secrets
|
|
150
|
+
const secretKey = `SWARM_PEER_${answers.name.toUpperCase().replace(/-/g, '_')}_KEY`;
|
|
151
|
+
const secretsManager = new SecretsManager(tarsHome);
|
|
152
|
+
secretsManager.set(secretKey, answers.apiKey);
|
|
153
|
+
// Write the remote agent .md file
|
|
154
|
+
const agentFile = path.join(agentsDir, `${answers.name}.md`);
|
|
155
|
+
const content = [
|
|
156
|
+
'---',
|
|
157
|
+
'kind: remote',
|
|
158
|
+
`name: ${answers.name}`,
|
|
159
|
+
`agent_card_url: ${answers.url}`,
|
|
160
|
+
'auth:',
|
|
161
|
+
' type: apiKey',
|
|
162
|
+
` key: $${secretKey}`,
|
|
163
|
+
'---',
|
|
164
|
+
''
|
|
165
|
+
].join('\n');
|
|
166
|
+
fs.writeFileSync(agentFile, content);
|
|
167
|
+
console.log(chalk.green(`\n ✓ Peer "${answers.name}" registered successfully!`));
|
|
168
|
+
console.log(chalk.dim(` Agent file: ${agentFile}`));
|
|
169
|
+
console.log(chalk.dim(` Secret: ${secretKey}`));
|
|
170
|
+
console.log(chalk.dim('\n Restart Tars for the peer to become available: tars restart\n'));
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Remove a registered peer.
|
|
174
|
+
*/
|
|
175
|
+
async function swarmRemove(name) {
|
|
176
|
+
if (!name) {
|
|
177
|
+
console.log(chalk.yellow('Usage: tars swarm remove <peer-name>'));
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
const agentsDir = getAgentsDir();
|
|
181
|
+
const agentFile = path.join(agentsDir, `${name}.md`);
|
|
182
|
+
const tarsHome = getTarsHome();
|
|
183
|
+
if (!fs.existsSync(agentFile)) {
|
|
184
|
+
console.log(chalk.yellow(` Peer "${name}" not found.`));
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
// Check if it's a remote agent (don't delete local agents)
|
|
188
|
+
const content = fs.readFileSync(agentFile, 'utf-8');
|
|
189
|
+
if (!content.includes('kind: remote')) {
|
|
190
|
+
console.log(chalk.yellow(` "${name}" is a local agent, not a swarm peer. Skipping.`));
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
// Remove the file
|
|
194
|
+
fs.unlinkSync(agentFile);
|
|
195
|
+
// Remove the secret
|
|
196
|
+
const secretKey = `SWARM_PEER_${name.toUpperCase().replace(/-/g, '_')}_KEY`;
|
|
197
|
+
const secretsManager = new SecretsManager(tarsHome);
|
|
198
|
+
secretsManager.remove(secretKey);
|
|
199
|
+
console.log(chalk.green(` ✓ Peer "${name}" removed.`));
|
|
200
|
+
console.log(chalk.dim(' Restart Tars for the change to take effect: tars restart\n'));
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* List all registered swarm peers.
|
|
204
|
+
*/
|
|
205
|
+
async function swarmList() {
|
|
206
|
+
const peers = listPeerFiles();
|
|
207
|
+
console.log(chalk.cyan.bold('\n🌐 Swarm Peers'));
|
|
208
|
+
console.log(chalk.cyan('──────────────\n'));
|
|
209
|
+
if (peers.length === 0) {
|
|
210
|
+
console.log(chalk.dim(' No peers registered.'));
|
|
211
|
+
console.log(chalk.dim(' Use `tars swarm add` to register one.\n'));
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
for (const peer of peers) {
|
|
215
|
+
console.log(` ${chalk.bold(peer.name)} → ${chalk.dim(peer.url)}`);
|
|
216
|
+
}
|
|
217
|
+
console.log(chalk.dim(`\n Total: ${peers.length} peer(s)\n`));
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Helper: Read all remote agent .md files from the agents directory.
|
|
221
|
+
*/
|
|
222
|
+
function listPeerFiles() {
|
|
223
|
+
const agentsDir = getAgentsDir();
|
|
224
|
+
if (!fs.existsSync(agentsDir))
|
|
225
|
+
return [];
|
|
226
|
+
const peers = [];
|
|
227
|
+
try {
|
|
228
|
+
const files = fs.readdirSync(agentsDir).filter((f) => f.endsWith('.md'));
|
|
229
|
+
for (const file of files) {
|
|
230
|
+
const content = fs.readFileSync(path.join(agentsDir, file), 'utf-8');
|
|
231
|
+
if (!content.includes('kind: remote'))
|
|
232
|
+
continue;
|
|
233
|
+
// Extract name and url from frontmatter
|
|
234
|
+
const nameMatch = content.match(/^name:\s*(.+)$/m);
|
|
235
|
+
const urlMatch = content.match(/^agent_card_url:\s*(.+)$/m);
|
|
236
|
+
if (nameMatch && urlMatch) {
|
|
237
|
+
peers.push({
|
|
238
|
+
name: nameMatch[1].trim(),
|
|
239
|
+
url: urlMatch[1].trim(),
|
|
240
|
+
file
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
// Ignore errors
|
|
247
|
+
}
|
|
248
|
+
return peers;
|
|
249
|
+
}
|
|
250
|
+
//# sourceMappingURL=swarm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../../src/cli/commands/swarm.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -79,6 +79,15 @@ program
|
|
|
79
79
|
const { memory } = await import('./commands/memory.js');
|
|
80
80
|
return memory(action, ...queryArgs);
|
|
81
81
|
});
|
|
82
|
+
program
|
|
83
|
+
.command('swarm')
|
|
84
|
+
.description('Manage Swarm peers (remote A2A agents)')
|
|
85
|
+
.argument('<action>', 'Action to perform (status, add, remove, list)')
|
|
86
|
+
.argument('[args...]', 'Additional arguments')
|
|
87
|
+
.action(async (action, args) => {
|
|
88
|
+
const { swarm } = await import('./commands/swarm.js');
|
|
89
|
+
return swarm(action, ...args);
|
|
90
|
+
});
|
|
82
91
|
program
|
|
83
92
|
.command('uninstall')
|
|
84
93
|
.description('Uninstall the assistant and remove all data')
|