Files
memind/skill-runtime-policy.test.mjs
T
john a867592367 feat(skill-runtime): restore admin config and manifest keyword routing
Recover skill runtime policy/admin services and Skill Router v2 helpers so
admins can toggle manifest routing and inspect the platform skill catalog.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-13 13:59:59 +08:00

41 lines
1.4 KiB
JavaScript

import assert from 'node:assert/strict';
import path from 'node:path';
import test from 'node:test';
import { fileURLToPath } from 'node:url';
import {
buildPublicSkillRuntimeConfig,
buildSkillRuntimeCatalogSummary,
} from './skill-runtime-policy.mjs';
import { buildAutoChatSkillPrefixOptions } from './chat-skills.mjs';
const h5Root = path.dirname(fileURLToPath(import.meta.url));
test('buildPublicSkillRuntimeConfig omits manifest routes when disabled', () => {
const config = buildPublicSkillRuntimeConfig(
{ router: { v2Enabled: false, manifestRoutingEnabled: false } },
h5Root,
);
assert.equal(config.routerV2Enabled, false);
assert.equal(config.manifestRoutingEnabled, false);
assert.deepEqual(config.manifestRoutes, []);
});
test('buildSkillRuntimeCatalogSummary includes product-campaign-page manifest', () => {
const catalog = buildSkillRuntimeCatalogSummary(h5Root);
const product = catalog.find((item) => item.name === 'product-campaign-page');
assert.ok(product);
assert.equal(product.hasManifest, true);
assert.ok(product.triggerKeywords.includes('带货'));
});
test('buildAutoChatSkillPrefixOptions returns empty object when router is disabled', () => {
assert.deepEqual(
buildAutoChatSkillPrefixOptions({
routerV2Enabled: false,
manifestRoutingEnabled: false,
manifestRoutes: [{ skillName: 'web', keywords: ['新闻'], priority: 1, promptKey: 'web', promptVariant: null }],
}),
{},
);
});