Fix local agent deselection

This commit is contained in:
Joey committed 2026-07-05 14:58:12 +02:00
1 parent bd2463e0c3
commit e8dc0b465e
4 files changed
+59 -7

No files matched your search

@@ -0,0 +1,37 @@
import { describe, expect, it } from 'vitest';
import { syncLocalAgentSelection } from '../agent/local-agents.js';
describe('syncLocalAgentSelection', () => {
it('disconnects agents omitted from the bulk selection', () => {
const connected = new Map([
['codex', { id: 'codex' }],
['hermes', { id: 'hermes' }],
]);
syncLocalAgentSelection(connected, ['hermes'], true);
expect([...connected.keys()]).toEqual(['hermes']);
});
it('preserves existing agents for an additive single-agent connect', () => {
const connected = new Map([
['codex', { id: 'codex' }],
['hermes', { id: 'hermes' }],
]);
syncLocalAgentSelection(connected, ['hermes'], false);
expect([...connected.keys()]).toEqual(['codex', 'hermes']);
});
it('disconnects every agent when the bulk selection is empty', () => {
const connected = new Map([
['codex', { id: 'codex' }],
['hermes', { id: 'hermes' }],
]);
syncLocalAgentSelection(connected, [], true);
expect(connected.size).toBe(0);
});
});