@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.
@@ -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: Installing ────────────────────────────────────
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: Installing'));
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":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAa,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,MAAM,MAAM,IAAI,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,QAAgB;IACzC,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,MAAM,YAAY,CAAC,eAAe,EAAE,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,SAAgC;IAChF,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IAEtC,IAAI,CAAC,OAAO,CAAC,0BAA0B,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,CAAC;QACjF,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,MAAM,CAAC,mEAAmE,CAAC,CACpF,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC,CAAC;QAEvF,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAClC;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,qCAAqC;gBAC9C,OAAO,EAAE,OAAO,CAAC,0BAA0B;gBAC3C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,IAAI,UAAU;aAC/C;YACD;gBACI,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,yCAAyC;gBAClD,OAAO,EAAE,OAAO,CAAC,8BAA8B;gBAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU;aAC9C;SACJ,CAAC,CAAC;QAEH,cAAc,CAAC,GAAG,CAAC,4BAA4B,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnE,cAAc,CAAC,GAAG,CAAC,gCAAgC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;QAE3E,8BAA8B;QAC9B,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,8BAA8B,GAAG,OAAO,CAAC,YAAY,CAAC;IACtE,CAAC;IAED,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK;IACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAEtD,0DAA0D;IAC1D,MAAM,OAAO,GAAG,GAAG,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC;IAEzD,qBAAqB;IACrB,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,gCAAgC,WAAW,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,OAAO,CAAC,OAAO,CAAC,2BAA2B,WAAW,GAAG,CAAC,CAAC;IAE3D,oCAAoC;IACpC,IAAI,cAAc,GAAQ,EAAE,CAAC;IAC7B,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,OAAO,CAAC,CAAC;QAC5E,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACL,YAAY;IAChB,CAAC;IAED,6DAA6D;IAC7D,6DAA6D;IAC7D,6DAA6D;IAC7D,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,CAAC;IAEpF,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QAC/C;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,gCAAgC;YACzC,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,oBAAoB,KAAK,CAAC,GAAG,CAAC,qDAAqD,CAAC,EAAE;oBAC5F,KAAK,EAAE,QAAQ;iBAClB;gBACD;oBACI,IAAI,EAAE,oBAAoB,KAAK,CAAC,GAAG,CAAC,gEAAgE,CAAC,EAAE;oBACvG,KAAK,EAAE,UAAU;iBACpB;aACJ;YACD,OAAO,EAAE,cAAc,CAAC,gBAAgB,IAAI,QAAQ;SACvD;KACJ,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,gBAAgB,KAAK,UAAU,CAAC;IAEhD,6DAA6D;IAC7D,6DAA6D;IAC7D,0DAA0D;IAC1D,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAEjD,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC,CAAC;QAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QACJ,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC,CAAC;YACnE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACrC;oBACI,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,0DAA0D;oBACnE,OAAO,EAAE,KAAK;iBACjB;aACJ,CAAC,CAAC;YACH,WAAW,GAAG,MAAM,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACtC;oBACI,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EACH,2EAA2E;oBAC/E,OAAO,EAAE,IAAI;iBAChB;aACJ,CAAC,CAAC;YACH,WAAW,GAAG,OAAO,CAAC;QAC1B,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAEhE,IAAI,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBACpD,MAAM,YAAY,CAAC,KAAK,EAAE,CAAC;gBAE3B,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAC;gBACzD,IAAI,WAAW,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,+CAA+C,CAAC,CAAC,CAAC;gBAC/E,CAAC;YACL,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;aAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,MAAM,CACR,2EAA2E,CAC9E,CACJ,CAAC;QACN,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,6DAA6D;IAC7D,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;IAExD,IAAI,YAAY,GAAG,cAAc,CAAC,YAAY,IAAI,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;IAChG,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;QAClE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC5C;gBACI,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,8CAA8C;gBACvD,OAAO,EAAE,KAAK;aACjB;SACJ,CAAC,CAAC;QACH,IAAI,CAAC,aAAa;YAAE,WAAW,GAAG,IAAI,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAClC;gBACI,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,0BAA0B;gBACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAChB,KAAK,CAAC,MAAM,GAAG,EAAE;oBACjB,kEAAkE;aACzE;SACJ,CAAC,CAAC;QACH,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QAEpC,MAAM,eAAe,GAAG,GAAG,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC;QACnE,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;gBACtB,OAAO,EAAE;oBACL,iBAAiB,CAAC,MAAM;oBACxB,iBAAiB,CAAC,aAAa;oBAC/B,iBAAiB,CAAC,cAAc;oBAChC,iBAAiB,CAAC,cAAc;iBACnC;aACJ,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;YACjC,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,eAAe,CAAC,OAAO,CAAC,6BAA6B,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAChB,eAAe,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,6DAA6D;IAC7D,mDAAmD;IACnD,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAEpD,IAAI,MAAM,GAAQ,EAAE,CAAC;IAErB,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,GAAG,CAAC,sEAAsE,CAAC,CACpF,CAAC;QAEF,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC3B;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE,cAAc,CAAC,aAAa,IAAI,MAAM;aAClD;YACD;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,mDAAmD;gBAC5D,OAAO,EAAE,cAAc,CAAC,iBAAiB,IAAI,uBAAuB;gBACpE,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBACxB,IAAI,CAAC;wBACD,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;wBACf,OAAO,IAAI,CAAC;oBAChB,CAAC;oBAAC,MAAM,CAAC;wBACL,OAAO,wDAAwD,CAAC;oBACpE,CAAC;gBACL,CAAC;aACJ;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,8CAA8C;gBACvD,OAAO,EAAE;oBACL,EAAE,IAAI,EAAE,uCAAuC,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC9D,EAAE,IAAI,EAAE,oCAAoC,EAAE,KAAK,EAAE,IAAI,EAAE;oBAC3D,EAAE,IAAI,EAAE,oCAAoC,EAAE,KAAK,EAAE,KAAK,EAAE;oBAC5D,EAAE,IAAI,EAAE,uCAAuC,EAAE,KAAK,EAAE,KAAK,EAAE;oBAC/D;wBACI,IAAI,EAAE,kDAAkD;wBACxD,KAAK,EAAE,MAAM;qBAChB;oBACD,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;iBACtC;gBACD,OAAO,EAAE,cAAc,CAAC,mBAAmB,IAAI,IAAI;aACtD;YACD;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,+CAA+C;gBACxD,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,mBAAmB,KAAK,QAAQ;gBAC3D,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBACxB,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAC9B,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,2BAA2B,CAAC;gBAC/D,CAAC;aACJ;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,gDAAgD;gBACzD,OAAO,EAAE;oBACL,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC/C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC/B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;iBACtC;gBACD,OAAO,EAAE,cAAc,CAAC,oBAAoB;oBACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,oBAAoB,GAAG,EAAE,CAAC;oBACtD,CAAC,CAAC,EAAE;aACX;SACJ,CAAC,CAAC;QAEH,yCAAyC;QACzC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;QAC5B,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAC;IACzC,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;QAEjF,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YAC3B;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,oCAAoC;gBAC7C,OAAO,EAAE,cAAc,CAAC,aAAa,IAAI,MAAM;aAClD;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,sBAAsB;gBAC/B,OAAO,EAAE;oBACL,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,MAAM,EAAE;oBACvD,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,iBAAiB,EAAE;oBAC5D,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,kBAAkB,EAAE;oBACjE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE;oBACvD,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,gBAAgB,EAAE;oBAC9D,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,wBAAwB,EAAE;oBACrE,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,sBAAsB,EAAE;oBACjE,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE;iBACjD;gBACD,OAAO,EAAE,cAAc,CAAC,WAAW,IAAI,MAAM;aAChD;YACD;gBACI,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,0BAA0B;gBACnC,IAAI,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,KAAK,QAAQ;aACtD;YACD;gBACI,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,gDAAgD;gBACzD,OAAO,EAAE;oBACL,EAAE,IAAI,EAAE,0BAA0B,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC/C,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;oBAC7B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC/B,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE;oBAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;iBACtC;gBACD,OAAO,EAAE,cAAc,CAAC,oBAAoB;oBACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,oBAAoB,GAAG,EAAE,CAAC;oBACtD,CAAC,CAAC,EAAE;aACX;SACJ,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,GAAG,QAAQ,CAAC;IACvC,CAAC;IAED,6DAA6D;IAC7D,6DAA6D;IAC7D,wDAAwD;IACxD,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAE/C,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,GAAG,CACL,+FAA+F,CAClG,CACJ,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,CAAC;QAEzE,MAAM,SAAS,GAAG,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;QAErD,IAAI,UAAU,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;YACxE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACvC;oBACI,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,kDAAkD;oBAC3D,OAAO,EAAE,KAAK;iBACjB;aACJ,CAAC,CAAC;YACH,IAAI,QAAQ;gBAAE,MAAM,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACJ,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBACtC;oBACI,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,+DAA+D;oBACxE,OAAO,EAAE,IAAI;iBAChB;aACJ,CAAC,CAAC;YACH,IAAI,OAAO;gBAAE,MAAM,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,6DAA6D;IAC7D,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAE9D,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;IAEtC,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACrC;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE,IAAI;SAChB;QACD;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,MAAM;YACf,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU;SAC5B;QACD;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,yBAAyB;YAClC,OAAO,EAAE,OAAO,CAAC,aAAa,IAAI,SAAS;YAC3C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU;SAC5B;QACD;YACI,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,4BAA4B;YACrC,OAAO,EAAE;gBACL,EAAE,IAAI,EAAE,0CAA0C,EAAE,KAAK,EAAE,OAAO,EAAE;gBACpE,EAAE,IAAI,EAAE,gDAAgD,EAAE,KAAK,EAAE,QAAQ,EAAE;aAC9E;YACD,OAAO,EAAE,OAAO;YAChB,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU;SAC5B;QACD;YACI,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,gCAAgC;YACzC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ;YACvC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,IAAI,uCAAuC;SAC5E;KACJ,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QACxB,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3C,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrD,cAAc,CAAC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,UAAU,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACtC,cAAc,CAAC,GAAG,CAAC,yBAAyB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,6DAA6D;IAC7D,6DAA6D;IAC7D,6DAA6D;IAC7D,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC,CAAC;IAEjF,MAAM,aAAa,GAAG,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;IACjD,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;IAErD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;QACtC;YACI,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,oDAAoD;YAC7D,OAAO,EAAE,aAAa,CAAC,OAAO,IAAI,KAAK;SAC1C;QACD;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,iBAAiB;YAC1B,OAAO,EAAE,MAAM,CAAC,aAAa,CAAC,IAAI,IAAI,MAAM,CAAC;YAC7C,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;YAC1B,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;gBACxB,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC9B,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;oBACpC,OAAO,8CAA8C,CAAC;gBAC1D,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC;SACJ;QACD;YACI,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,0CAA0C;YACnD,OAAO,EACH,aAAa,CAAC,WAAW;gBACzB,GAAG,MAAM,CAAC,aAAa,IAAI,cAAc,CAAC,aAAa,IAAI,MAAM,4BAA4B;YACjG,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW;SAC7B;KACJ,CAAC,CAAC;IAEH,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC1B,6CAA6C;QAC7C,MAAM,MAAM,GAAG,gBAAgB,IAAI,cAAc,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAE1F,cAAc,CAAC,GAAG,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAE5C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,GAAG,CACL,cAAc,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CACnF,CACJ,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,IAAI,CACN,2BAA2B,CAAC,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC,WAAW,EAAE,KAAK,CACjF,CACJ,CAAC;QACF,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,IAAI,CACN,gCAAgC,WAAW,CAAC,SAAS,4BAA4B,CACpF,CACJ,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,MAAM,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,6DAA6D;IAC7D,6DAA6D;IAC7D,6DAA6D;IAC7D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE7C,oBAAoB;IACpB,MAAM,OAAO,GAAG,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAEtC,oCAAoC;IACpC,MAAM,cAAc,GAAG,GAAG,CAAC,6BAA6B,CAAC,CAAC,KAAK,EAAE,CAAC;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEjD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErE,cAAc,CAAC,OAAO,CAAC,wCAAwC,CAAC,CAAC;IAEjE,mDAAmD;IACnD,MAAM,cAAc,GAAG,GAAG,CAAC,mCAAmC,CAAC,CAAC,KAAK,EAAE,CAAC;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7B,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,cAAc,CAAC,IAAI,GAAG,wCAAwC,CAAC;IACnE,CAAC;IACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5E,IAAI,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACvC,MAAM,EAAE,CAAC,EAAE,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,cAAc,CAAC,IAAI,GAAG,yCAAyC,CAAC;IACpE,CAAC;IACD,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAE5C,oDAAoD;IACpD,MAAM,WAAW,GAAG,GAAG,CAAC,yBAAyB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC3D,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;IAC7F,MAAM,WAAW,GACb,CAAC,MAAM,CAAC,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACzF,EAAE,CAAC;IAEP,MAAM,aAAa,GACf,MAAM,CAAC,mBAAmB,KAAK,QAAQ;QACnC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC;QAC1C,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;IAErC,MAAM,UAAU,GAAQ;QACpB,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,YAAY;QACZ,cAAc,EAAE,cAAc,CAAC,cAAc;QAC7C,WAAW,EAAE,UAAU;QACvB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,oBAAoB,EAAE,WAAW;KACpC,CAAC;IAEF,0BAA0B;IAC1B,IAAI,OAAO,EAAE,CAAC;QACV,UAAU,CAAC,iBAAiB,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACxD,UAAU,CAAC,mBAAmB,GAAG,aAAa,CAAC;IACnD,CAAC;IAED,yCAAyC;IACzC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC;QAC1B,UAAU,CAAC,KAAK,GAAG;YACf,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,CAAC;YACzC,WAAW,EAAE,WAAW,CAAC,gBAAgB,IAAI,EAAE;YAC/C,MAAM,EAAE,aAAa,CAAC,MAAM,IAAI,EAAE;SACrC,CAAC;IACN,CAAC;IAED,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5F,WAAW,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE5C,iDAAiD;IACjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAClC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAC/C,qBAAqB,CACxB,CAAC;IACF,IAAI,MAAM,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;QACzD,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE;gBAAE,SAAS;YAErD,MAAM,YAAY,GACd,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;YACxF,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,GAAG,CAAC,yBAAyB,YAAY,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;YAE3E,IAAI,CAAC;gBACD,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;oBAC7B,MAAM,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC9D,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrD,UAAU,CAAC,IAAI,GAAG,aAAa,YAAY,KAAK,CAAC;gBACjD,QAAQ,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC5D,QAAQ,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC9D,UAAU,CAAC,OAAO,CAAC,oBAAoB,YAAY,EAAE,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,UAAU,CAAC,IAAI,CAAC,aAAa,YAAY,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;IACL,CAAC;IAED,+BAA+B;IAC/B,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CACxB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAC/C,eAAe,CAClB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAE1D,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,yDAAyD;YACzD,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,GAAG,CACL,0FAA0F,CAC7F,CACJ,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,MAAM,WAAW,GAAG,GAAG,CAAC,8BAA8B,CAAC,CAAC,KAAK,EAAE,CAAC;gBAChE,IAAI,CAAC;oBACD,MAAM,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;oBAEpD,WAAW,CAAC,IAAI,GAAG,qCAAqC,CAAC;oBACzD,6DAA6D;oBAC7D,QAAQ,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBAE1D,WAAW,CAAC,IAAI,GAAG,uBAAuB,CAAC;oBAC3C,QAAQ,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBAE5D,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBAC5C,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAChB,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,GAAG,CAAC,OAAO,CAAC;oBAC5E,WAAW,CAAC,IAAI,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;gBAC9D,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,yDAAyD;IACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACpD,IAAI,OAAO,EAAE,CAAC;QACV,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,CAAC,GAAG,CACP,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC,CACpF,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qCAAqC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AAChE,CAAC"}
@@ -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')