Files
goodbuddy/src/main/capabilities/computer-capability-catalog.test.ts
T
mesalogo 7a46422fc1 fix: move built-in browser to direct model tools
Browser control was grouped with client PC control even though it operates GoodBuddy's isolated browser. It now appears as Built-in Browser under direct-model tools with its existing master switch, profiles, and diagnostics, while Computer Control only lists capabilities that act on the client PC.

The existing capability ID and saved state are preserved. Enabling the browser lets direct models use it in Execute mode without per-action prompts.

Release note: 将内置浏览器移至直连模型工具,并明确它不会控制客户端已安装的浏览器;原有开关状态保持不变。
2026-08-18 11:24:09 +08:00

51 lines
2.0 KiB
TypeScript

import { describe, expect, it } from 'vitest'
import {
computerCapabilityCatalog,
getComputerCapability,
isComputerCapabilitySupported
} from './computer-capability-catalog'
describe('computer capability catalog', () => {
it('defines immutable, disabled curated capabilities without launch overrides', () => {
expect(computerCapabilityCatalog.map(({ id }) => id)).toEqual([
'host-browser-control',
'linux-desktop-control'
])
for (const capability of computerCapabilityCatalog) {
expect(capability.enabledByDefault).toBe(false)
expect(capability.requiredDiagnostics.length).toBeGreaterThan(0)
expect(capability).not.toHaveProperty('executable')
expect(capability).not.toHaveProperty('args')
expect(capability).not.toHaveProperty('env')
}
expect(Object.isFrozen(computerCapabilityCatalog)).toBe(true)
})
it('rejects unsupported platform and architecture combinations', () => {
const browser = getComputerCapability('host-browser-control')
const desktop = getComputerCapability('linux-desktop-control')
expect(isComputerCapabilitySupported(browser, 'win32', 'x64')).toBe(true)
expect(isComputerCapabilitySupported(browser, 'linux', 'arm64')).toBe(true)
expect(isComputerCapabilitySupported(browser, 'win32', 'ia32')).toBe(false)
expect(isComputerCapabilitySupported(browser, 'freebsd', 'x64')).toBe(false)
expect(isComputerCapabilitySupported(desktop, 'darwin', 'arm64')).toBe(
false
)
expect(isComputerCapabilitySupported(desktop, 'linux', 'x64')).toBe(false)
expect(
isComputerCapabilitySupported(
desktop,
'linux',
'x64',
new Set(['managed-linux-desktop-driver'])
)
).toBe(true)
expect(browser.name).toBe('内置浏览器')
expect(browser.description).toContain('不会控制客户端已安装的浏览器')
expect(browser.riskSummary).toContain('不再逐次询问')
expect(desktop.description).toContain('技术预览')
expect(desktop.riskSummary).toContain('尚未')
})
})