diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index eccde00f5..a0c274de5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -44,6 +44,11 @@ - CreoAI research / roadmap 文档更新编码代理层、工具编排、原型与架构拆解,保持 repo 内 artifact 作为唯一记录系统。 - Warp 多模态 runtime contract 文档继续同步 runtime profile、permission state 与 evidence/replay 阻断事实。 +#### 3. Release 管线 + +- 修复 release 构建中的 Vite manual chunk 旧入口引用,`useAgentChatUnified` 现在回到现役 hooks barrel 入口,并移除已不存在的 `immer` 显式 chunk 入口。 +- 根包显式声明 GUI smoke 所需的 `playwright` 依赖,并同步 npm / pnpm 锁文件,避免 CI 干净安装后知识库 GUI 冒烟脚本缺包。 + ### 已知说明 - Workspace skill binding readiness 仍不等于自动注入 tool surface;只有显式 runtime enable 且通过 allowlist 的 binding 才能进入当前 session 的 SkillTool gate。 diff --git a/package-lock.json b/package-lock.json index 268cdb73e..e24313dee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -116,6 +116,7 @@ "husky": "^9.1.7", "jsdom": "^22.1.0", "knip": "^6.0.2", + "playwright": "^1.59.1", "postcss": "^8.4.47", "prettier": "^3.3.3", "tailwindcss": "^3.4.14", @@ -10947,6 +10948,53 @@ "pathe": "^2.0.1" } }, + "node_modules/playwright": { + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", + "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.59.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", + "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/pngjs": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", diff --git a/package.json b/package.json index f27e1ddf1..7b2f4b5f4 100644 --- a/package.json +++ b/package.json @@ -193,6 +193,7 @@ "husky": "^9.1.7", "jsdom": "^22.1.0", "knip": "^6.0.2", + "playwright": "^1.59.1", "postcss": "^8.4.47", "prettier": "^3.3.3", "tailwindcss": "^3.4.14", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 83d40a77a..094bb4619 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -327,6 +327,9 @@ importers: knip: specifier: ^6.0.2 version: 6.0.5 + playwright: + specifier: ^1.59.1 + version: 1.59.1 postcss: specifier: ^8.4.47 version: 8.5.6 @@ -3268,6 +3271,11 @@ packages: fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -4110,6 +4118,16 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + playwright-core@1.59.1: + resolution: {integrity: sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==} + engines: {node: '>=18'} + hasBin: true + + playwright@1.59.1: + resolution: {integrity: sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==} + engines: {node: '>=18'} + hasBin: true + pngjs@5.0.0: resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} engines: {node: '>=10.13.0'} @@ -7990,6 +8008,9 @@ snapshots: fs.realpath@1.0.0: optional: true + fsevents@2.3.2: + optional: true + fsevents@2.3.3: optional: true @@ -9200,6 +9221,14 @@ snapshots: mlly: 1.8.0 pathe: 2.0.3 + playwright-core@1.59.1: {} + + playwright@1.59.1: + dependencies: + playwright-core: 1.59.1 + optionalDependencies: + fsevents: 2.3.2 + pngjs@5.0.0: {} points-on-curve@0.2.0: {} diff --git a/vite.config.ts b/vite.config.ts index 27c7fc2d3..05e89182a 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -137,7 +137,7 @@ export default defineConfig(({ mode }) => { ], // 将 agent hooks 单独打包 'agent-hooks': [ - './src/components/agent/chat/hooks/useAgentChatUnified.ts', + './src/components/agent/chat/hooks/index.ts', './src/components/agent/chat/hooks/useAgentSession.ts', './src/components/agent/chat/hooks/useAsterAgentChat.ts', ], @@ -149,7 +149,7 @@ export default defineConfig(({ mode }) => { // 将大型第三方库单独打包 'vendor-react': ['react', 'react-dom', 'react-router-dom'], 'vendor-ui': ['@radix-ui/react-dialog', '@radix-ui/react-dropdown-menu', '@radix-ui/react-select'], - 'vendor-utils': ['jotai', 'zustand', 'immer'], + 'vendor-utils': ['jotai', 'zustand'], }, }, },