Files
PiAgentUI/extensions/piagentui-extension-compat.test.ts
Evandro 98b5db029f wip: snapshot das alterações não commitadas (2026-10-20)
Origem: D:/Documents/Github/PiAgentUI/PiAgentUi
Arquivos omitidos (segredos, bancos de dados, logs, >50 MB): 4
2026-10-20 00:48:28 -03:00

43 lines
1.3 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import { describeExtensionCompatibility } from './piagentui-extension-compat.js'
describe('extension compatibility adapter', () => {
it('marks Pi packages with pi.extensions as supported', () => {
expect(
describeExtensionCompatibility({
name: 'pi-hud',
pi: { extensions: ['./extensions/hud.ts'] },
}),
).toEqual({
kind: 'pi',
status: 'supported',
reason: 'Package declares Pi extension entrypoints.',
capabilities: ['extensions'],
})
})
it('marks OpenCode-style manifests as partial without executing them', () => {
expect(
describeExtensionCompatibility({
name: 'opencode-toolkit',
opencode: { extensions: ['./plugin.ts'], commands: ['./commands.ts'] },
}),
).toEqual({
kind: 'opencode',
status: 'partial',
reason: 'OpenCode manifest detected; execution is disabled until sandbox permissions are implemented.',
capabilities: ['extensions', 'commands'],
})
})
it('marks packages without recognized manifests as unsupported', () => {
expect(describeExtensionCompatibility({ name: 'plain-package' })).toEqual({
kind: 'unknown',
status: 'unsupported',
reason: 'No Pi or OpenCode extension manifest was detected.',
capabilities: [],
})
})
})