mirror of
https://github.com/stablyai/orca.git
synced 2026-10-17 00:03:08 +00:00
* Add agent enablement controls Implements the Enable/Disable Agents Dashboard behavior described in docs/enable-disable-agents-dashboard.md, including persisted agent enablement state, filtered launch surfaces, and settings UI affordances. * Clarify agent availability controls * Respect disabled agents across workspace and AI defaults - Filter disabled TUI agents from mobile and quick workspace selection - Avoid implicitly choosing disabled agents for commit/PR AI settings - Broadcast settings changes to open windows for disabled-agent updates * rm design doc * fix: complete agent enablement propagation
33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
import { describe, expect, it } from 'vitest'
|
|
import { normalizeDisabledTuiAgents, pickTuiAgent } from './tui-agent-selection'
|
|
|
|
describe('pickTuiAgent', () => {
|
|
it('uses an installed preferred agent', () => {
|
|
expect(pickTuiAgent('codex', ['claude', 'codex'])).toBe('codex')
|
|
})
|
|
|
|
it('falls back in desktop catalog order when the preference is absent or stale', () => {
|
|
expect(pickTuiAgent(null, ['cursor', 'codex'])).toBe('codex')
|
|
expect(pickTuiAgent('gemini', ['cursor', 'codex'])).toBe('codex')
|
|
expect(pickTuiAgent(null, ['continue', 'command-code'])).toBe('command-code')
|
|
})
|
|
|
|
it('respects the explicit blank terminal preference', () => {
|
|
expect(pickTuiAgent('blank', ['cursor', 'claude'])).toBeNull()
|
|
})
|
|
|
|
it('ignores disabled preferred and fallback agents', () => {
|
|
expect(pickTuiAgent('codex', ['claude', 'codex'], ['codex'])).toBe('claude')
|
|
expect(pickTuiAgent(null, ['claude', 'codex'], ['claude', 'codex'])).toBeNull()
|
|
})
|
|
})
|
|
|
|
describe('normalizeDisabledTuiAgents', () => {
|
|
it('dedupes supported agent ids and drops unsupported values', () => {
|
|
expect(normalizeDisabledTuiAgents(['codex', 'unknown', 'codex', null, 'claude'])).toEqual([
|
|
'codex',
|
|
'claude'
|
|
])
|
|
})
|
|
})
|