feat(skills-ui): manage plugin skill mirrors

This commit is contained in:
2026-06-16 12:11:35 +08:00
parent 0ac3cce6f3
commit a9b830d11e
4 changed files with 388 additions and 3 deletions

View File

@ -0,0 +1,29 @@
import { readFileSync } from 'node:fs';
import { resolve } from 'node:path';
import { describe, expect, it } from 'vitest';
const root = resolve(__dirname, '..');
describe('plugin API client wiring', () => {
it('declares plugin API types', () => {
const types = readFileSync(resolve(root, 'types/index.ts'), 'utf8');
expect(types).toContain('export interface PluginSkillBinding');
expect(types).toContain('export interface BeaverPlugin');
});
it('routes plugin API helpers to backend endpoints', () => {
const api = readFileSync(resolve(root, 'lib/api.ts'), 'utf8');
expect(api).toContain('listPlugins');
expect(api).toContain('/api/plugins');
expect(api).toContain('/api/plugins/sync');
expect(api).toContain('/api/plugins/${encodeURIComponent(pluginId)}/enable');
expect(api).toContain('/api/plugins/${encodeURIComponent(pluginId)}/pause');
expect(api).toContain('/api/plugins/${encodeURIComponent(pluginId)}/resume');
expect(api).toContain('/api/plugins/${encodeURIComponent(pluginId)}/disable');
expect(api).toContain('/api/plugins/${encodeURIComponent(pluginId)}/skills/${encodeURIComponent(skillName)}/adopt');
expect(api).toContain('disable_linked_skills');
});
});