fix(build): exclude the test-only generated catalog from packages (#1116)

This commit is contained in:
Ysopwnable 2026-10-09 03:02:07 +08:00 committed by GitHub
parent 8f9da25164
commit d1c904bac7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 10 additions and 3 deletions

View File

@ -17,9 +17,9 @@ for (const argument of arguments_)
throw new Error(`Unknown MCP tool catalog option: ${argument}`);
const root = join(dirname(fileURLToPath(import.meta.url)), "..");
// The build-generated catalog is a portable package artifact that is not
// committed to git. Keep its canonical provider metadata independent of the
// machine running the generator. It is regenerated by `npm run build`.
// This build-generated source supports schema and provider conformance tests;
// production MCP tools are registered from their canonical contracts directly.
// Keep the test metadata portable and regenerate it with `npm run build`.
const CATALOG_PLATFORM = "darwin";
const sessionToolNames = new Set([
...TOOL_CONTRACTS.filter(({ kind }) => kind === "session").map(

View File

@ -33,6 +33,12 @@ export async function verifyPackagePack({ root, workspace }) {
throw new Error(
"package included authored skill sources instead of only the generated bundle",
);
if (
packedFiles.some((path) =>
/^package\/(?:dist|src)\/generatedMcpToolCatalog\./u.test(path),
)
)
throw new Error("package included the test-only generated MCP catalog");
const skill = (
await exec("tar", [
"-xOf",

View File

@ -8,6 +8,7 @@
},
"include": ["src/**/*.ts"],
"exclude": [
"src/generatedMcpToolCatalog.ts",
"src/**/*.fixture.ts",
"src/**/*.test.ts",
"tests",