Files
memind/skills-registry.test.mjs
john e45c9300bf feat: LLM intent router, direct chat execution, and Memory V2 light intervention
Wire chat intent routing with direct_chat on regular sessions, skill-selected
short-circuit to Agent, memory light/heavy intervention tiers, and fix direct
chat UI stuck streaming after completion.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-04 22:32:57 +08:00

59 lines
2.2 KiB
JavaScript

import test from 'node:test';
import assert from 'node:assert/strict';
import {
applySkillGrantsToCapabilities,
DEFAULT_USER_SKILLS,
listPlatformSkillCatalog,
normalizeSkillPatch,
resolveSkillMap,
} from './skills-registry.mjs';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
const h5Root = path.dirname(fileURLToPath(import.meta.url));
test('lists static-page-publish in platform catalog', () => {
const catalog = listPlatformSkillCatalog(h5Root);
assert.ok(catalog.some((item) => item.name === 'static-page-publish'));
assert.ok(catalog.some((item) => item.name === 'schedule-assistant'));
assert.ok(catalog.some((item) => item.name === 'service-integration-smoke'));
assert.ok(catalog.some((item) => item.name === 'product-campaign-page'));
assert.ok(catalog.some((item) => item.name === 'long-image-download'));
});
test('granting publish skill enables static_publish capability', () => {
const caps = applySkillGrantsToCapabilities(
{ static_publish: false, skills: false },
{ 'static-page-publish': true },
);
assert.equal(caps.static_publish, true);
assert.equal(caps.skills, true);
});
test('resolveSkillMap prefers user overrides', () => {
const catalog = listPlatformSkillCatalog(h5Root);
const resolved = resolveSkillMap(
{ 'static-page-publish': false },
{ 'static-page-publish': true },
catalog,
);
assert.equal(resolved['static-page-publish'], true);
});
test('normalizeSkillPatch ignores unknown skills', () => {
const catalog = listPlatformSkillCatalog(h5Root);
assert.deepEqual(normalizeSkillPatch(catalog, { unknown: true }), {});
});
test('DEFAULT_USER_SKILLS enables common platform skills', () => {
assert.equal(DEFAULT_USER_SKILLS.web, true);
assert.equal(DEFAULT_USER_SKILLS.search, true);
assert.equal(DEFAULT_USER_SKILLS['schedule-assistant'], true);
assert.equal(DEFAULT_USER_SKILLS['service-integration-smoke'], true);
assert.equal(DEFAULT_USER_SKILLS['form-builder'], true);
assert.equal(DEFAULT_USER_SKILLS['table-viewer'], true);
assert.equal(DEFAULT_USER_SKILLS['product-campaign-page'], true);
assert.equal(DEFAULT_USER_SKILLS['long-image-download'], true);
assert.equal(DEFAULT_USER_SKILLS['static-page-publish'], false);
});