d75547b36d
新增 skill-pack-manifest 脚本统一计算并校验内置 AGC Skill 内容摘要,--write 模式自动递增清单版本并同步 SHA-256。 新增 check-skill-pack 只读门禁与 Node 回归测试,无参数默认只读,只有单个 --write 才进入写入模式。 AGC typecheck 与 release build 接入 Skill 清单指纹校验,内容漂移时直接列出 Skill 与实际摘要阻断构建。 修正 agc-client-projection 清单指纹并升级 Skill pack 版本到 2026-08-26.3。 升级 AGC 标准版到 0.1.10,同步 package、Cargo、Tauri 与 npm 工作区锁文件。 首页空输入占位符锚定到编辑区,避免整页滚动后占位文本脱离输入框。 更新 AGC 实施计划中 Skill 指纹同步与只读门禁说明。
49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
import process from 'node:process';
|
||
|
||
import {
|
||
inspectSkillPack,
|
||
syncSkillPackManifest,
|
||
} from './skill-pack-manifest.mjs';
|
||
|
||
const argumentsList = process.argv.slice(2);
|
||
const writeMode = argumentsList.length === 1 && argumentsList[0] === '--write';
|
||
if (
|
||
argumentsList.length > 1 ||
|
||
(argumentsList.length === 1 && argumentsList[0] !== '--write')
|
||
) {
|
||
console.error('用法:node scripts/check-skill-pack.mjs [--write]');
|
||
process.exit(1);
|
||
}
|
||
|
||
try {
|
||
if (writeMode) {
|
||
const result = syncSkillPackManifest();
|
||
if (!result.changed) {
|
||
console.log(`[skill-pack] 已是最新(version=${result.version})`);
|
||
} else {
|
||
console.log(
|
||
`[skill-pack] 已同步 ${result.mismatches.map((item) => item.name).join('、')}(version=${result.version})`,
|
||
);
|
||
}
|
||
} else {
|
||
const result = inspectSkillPack();
|
||
if (result.mismatches.length > 0) {
|
||
console.error('[skill-pack] 内容指纹与 manifest 不一致:');
|
||
for (const mismatch of result.mismatches) {
|
||
console.error(
|
||
`- ${mismatch.name}: manifest=${mismatch.expected} actual=${mismatch.actual}`,
|
||
);
|
||
}
|
||
console.error('[skill-pack] 内容变更后运行:npm run agc:skill-pack:sync');
|
||
process.exitCode = 1;
|
||
} else {
|
||
console.log(`[skill-pack] OK(version=${result.manifest.version})`);
|
||
}
|
||
}
|
||
} catch (error) {
|
||
console.error(
|
||
`[skill-pack] ${error instanceof Error ? error.message : String(error)}`,
|
||
);
|
||
process.exitCode = 1;
|
||
}
|