33 lines
1.4 KiB
TypeScript
33 lines
1.4 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { CapabilityRegistryService } from '../../../../src/main/agentic/capabilities/registry';
|
|
|
|
describe('CapabilityRegistryService', () => {
|
|
it('returns per-surface capability differences', () => {
|
|
const registry = new CapabilityRegistryService();
|
|
|
|
const tabCapabilities = registry.getSnapshot({ surface: 'tab' });
|
|
const sidebarCapabilities = registry.getSnapshot({ surface: 'sidebar' });
|
|
|
|
expect(tabCapabilities.widgets).toContain('tabs');
|
|
expect(sidebarCapabilities.widgets).toContain('tabs');
|
|
expect(tabCapabilities.actions).toContain('toggleSidebar');
|
|
expect(sidebarCapabilities.actions).toContain('toggleAssistantSidebar');
|
|
expect(tabCapabilities.actions).not.toContain('toggleAssistantSidebar');
|
|
});
|
|
|
|
it('omits disabled capabilities from active lists', () => {
|
|
const registry = new CapabilityRegistryService({
|
|
disabledActions: ['openSettings'],
|
|
disabledWidgets: ['chart'],
|
|
disabledTools: ['view_image'],
|
|
});
|
|
|
|
const snapshot = registry.getSnapshot({ surface: 'tab' });
|
|
|
|
expect(snapshot.actions).not.toContain('openSettings');
|
|
expect(snapshot.widgets).not.toContain('chart');
|
|
expect(snapshot.tools).not.toContain('view_image');
|
|
expect(snapshot.disabled).toEqual(expect.arrayContaining(['action:openSettings', 'widget:chart', 'tool:view_image']));
|
|
});
|
|
});
|