hermes-agent/apps/desktop/src/lib/desktop-toolsets.test.ts
Brooklyn Nicholson 00779800f6 fix(desktop): hide platform/internal toolsets from the Skills & Tools list
GET /api/tools/toolsets returns the full CONFIGURABLE_TOOLSETS set with no
desktop curation, so the Skills & Tools → Toolsets list shows entries that
don't belong in a flat per-user toggle: platform-coupled toolsets (discord,
discord_admin, yuanbao — which `hermes tools` already platform-restricts off
the CLI) and internal plumbing (context_engine, moa). `hermes tools` curates
these out; the desktop didn't.

Add a small documented block-list + predicate (mirroring
desktop-slash-commands.ts) and apply it in the toolset list filter. Hiding a
row is cosmetic — enabled state and runtime gating are untouched.
2026-06-24 19:18:29 -05:00

17 lines
592 B
TypeScript

import { describe, expect, it } from 'vitest'
import { isDesktopToolsetVisible } from './desktop-toolsets'
describe('isDesktopToolsetVisible', () => {
it('hides platform-coupled and internal toolsets', () => {
for (const name of ['discord', 'discord_admin', 'yuanbao', 'context_engine', 'moa']) {
expect(isDesktopToolsetVisible(name)).toBe(false)
}
})
it('keeps ordinary user-facing toolsets', () => {
for (const name of ['web', 'browser', 'terminal', 'file', 'memory', 'vision', 'image_gen']) {
expect(isDesktopToolsetVisible(name)).toBe(true)
}
})
})