From a94d8c6cff9b081718887dc820b38cc04d2e0082 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Tue, 6 Oct 2026 21:58:02 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=B0=E5=BD=95=E6=89=93=E5=8C=85=E9=81=8D?= =?UTF-8?q?=E5=8E=86=E4=B8=8E=E9=A2=84=E6=A3=80=E5=8F=A3=E5=BE=84=E4=B8=8D?= =?UTF-8?q?=E4=B8=80=E8=87=B4=E7=9A=84=E5=8F=96=E8=88=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit resources/agc-skills/vite-export-xhs-minitool/scripts/pack.mjs:collectZipEntries 补注释,说明它用 statSync 且不跳 SKIP_DIRS、与预检 walkArtifactFiles 的 lstatSync/跳过目录不一致,属于已评审并决定暂不统一的取舍。 resources/agc-skills/manifest.json:同步 xhs 技能指纹并递增版本。 --- .../src-tauri/resources/agc-skills/manifest.json | 4 ++-- .../vite-export-xhs-minitool/scripts/pack.mjs | 10 +++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/apps/ai-game-creator-shell/src-tauri/resources/agc-skills/manifest.json b/apps/ai-game-creator-shell/src-tauri/resources/agc-skills/manifest.json index 8d329e435..0168cf51c 100644 --- a/apps/ai-game-creator-shell/src-tauri/resources/agc-skills/manifest.json +++ b/apps/ai-game-creator-shell/src-tauri/resources/agc-skills/manifest.json @@ -1,6 +1,6 @@ { "schemaVersion": "agc-skill-pack.v1", - "version": "2026-08-26.67", + "version": "2026-08-26.68", "skills": [ { "name": "agc-unity-editor", @@ -204,7 +204,7 @@ "scripts/validate.mjs", "scripts/vite.config.xhs-minitool.mjs" ], - "sha256": "ad9b5a6dc1b71e0413a1a71780c60d17076d13fbf67517a939c57565e6d0a477" + "sha256": "016423b1f673b402d8775bad34b78e0e3166cd8021e623bc9ff103fd5d6c4dbd" } ] } diff --git a/apps/ai-game-creator-shell/src-tauri/resources/agc-skills/vite-export-xhs-minitool/scripts/pack.mjs b/apps/ai-game-creator-shell/src-tauri/resources/agc-skills/vite-export-xhs-minitool/scripts/pack.mjs index 9d69fd6e8..9dbdb3d09 100644 --- a/apps/ai-game-creator-shell/src-tauri/resources/agc-skills/vite-export-xhs-minitool/scripts/pack.mjs +++ b/apps/ai-game-creator-shell/src-tauri/resources/agc-skills/vite-export-xhs-minitool/scripts/pack.mjs @@ -130,7 +130,15 @@ function crc32(buffer) { return (c ^ 0xffffffff) >>> 0; } -/** 收集目录下所有条目(目录条目在前,文件名统一 / 分隔,保持排序以稳定产物)。 */ +/** + * 收集目录下所有条目(目录条目在前,文件名统一 / 分隔,保持排序以稳定产物)。 + * + * 已知取舍(评审提出、当前决定不改):本函数用 `statSync`(跟随符号链接)且**不**跳 `SKIP_DIRS`, + * 而校验脚本预检用的 `walkArtifactFiles` 是 `lstatSync`(跳过链接)且会跳 `SKIP_DIRS`。两者口径 + * 不一致:链接目标的内容会被按链接名打进包,`venv` / `.cache` 这类目录也可能绕过扩展名白名单。 + * 不统一是因为「链接算不算合法产物」还没有定论,改任一侧都会动到现有可能依赖链接的包。真要统一 + * 时必须两份实现一起改,并补一条「预检与打包看到同一批文件」的用例。 + */ function collectZipEntries(rootDir) { const entries = []; const visit = (dir) => {