📦 deps(thirdparty): update snapshots
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
const assert = require('assert');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const { resolveExactSkillSelections } = require('../../bin/install');
|
||||
const { listSkillIdsRecursive } = require('../../lib/skill-utils');
|
||||
|
||||
const repoRoot = path.resolve(__dirname, '..', '..', '..');
|
||||
const repoSkills = path.join(repoRoot, 'skills');
|
||||
const catalog = JSON.parse(fs.readFileSync(path.join(repoRoot, 'skills_index.json'), 'utf8'));
|
||||
const installerEntries = listSkillIdsRecursive(repoSkills);
|
||||
|
||||
assert.strictEqual(
|
||||
installerEntries.length,
|
||||
catalog.length,
|
||||
'the Workbench catalog and installer must see the same number of canonical skills',
|
||||
);
|
||||
|
||||
const resolvedEntries = resolveExactSkillSelections(
|
||||
repoSkills,
|
||||
installerEntries,
|
||||
catalog.map((skill) => skill.id),
|
||||
);
|
||||
|
||||
assert.strictEqual(
|
||||
resolvedEntries.size,
|
||||
catalog.length,
|
||||
'every Workbench id must resolve to exactly one installer entry',
|
||||
);
|
||||
|
||||
for (const skill of catalog) {
|
||||
const expectedEntry = skill.path.replace(/^skills\//, '');
|
||||
assert.ok(
|
||||
resolvedEntries.has(expectedEntry),
|
||||
`Workbench id ${skill.id} must resolve to ${expectedEntry}`,
|
||||
);
|
||||
}
|
||||
|
||||
console.log(`Workbench installer contract passed for ${catalog.length} canonical skills.`);
|
||||
Reference in New Issue
Block a user