e57d81454f
master 这 22 个提交里有一处和本分支正面撞车:它把首页那枚选择器做成了三类型 (做游戏 / 做素材 / 做方案,HomeCreationType),而本分支此前把同一枚控件砍成了 两项(做游戏 / 做方案)并直接用它当路由(ProjectStartMode)。做素材必须与 master 一致,所以取 master 的三类型控件,startMode 不再是独立状态,改为从 creationType 派生:doc → planning,其余 → direct-build。两个字段在 LauncherProjectContext 和 HomeDraft 里并存,creationType 记入口原始类型,startMode 记链路路由。 五处冲突的处理: - app/types.ts、useHomeProjectCreation.ts:creationType 与 startMode 并存,调用 顺序统一跟已自动合并好的函数签名走。 - view/home/index.tsx:选择器整段取 master,删掉本分支已无人引用的 HOME_START_MODES / HOME_START_MODE_ITEMS,startMode 就地派生。 - SupervisorChatOnlyView.tsx:master 新增的 directCodex 活动时间分支保留,内层 runtime 换成本分支的 projectedRuntime;master 那句 `!directCodex && synchronizingAcceptedRun` 是冗余的(合并后 synchronizingAcceptedRun 的定义里已经带了 !directCodex),它重复声明的 activeCollaboratingRuntimes 也丢掉——上面已经声明过一次。收束判据取本分支的 runtimeTerminal / descendantsStillActive。 - styles.css:master 的聊天气泡样式与本分支的审批卡高度上限互不相干,都留;补上 master 最后一条规则缺的闭合括号(它原本借用冲突块外那个共用的 })。 两处测试跟着改: - appSurface/harness.ts:afterEach 补一次 useLauncherHomeDraftStore.reset()。 首页创作类型存在 module 级 zustand store 里,跨用例不会回到初始值;合并后建项 按钮的文案依赖它(做方案 → 进入立项策划),上一个选过做方案的用例会让下一个 找不到「开启创作」。合并前 startMode 是组件 useState,这个泄漏看不出来。 - appSurface/home.suite.ts:master 新增的用例在选中做方案后仍按「开启创作」找 按钮,改成「进入立项策划」——本分支有意在这一档改了文案,suite 里本分支自己的 用例也是按这个口径找的。 验证:npm run typecheck 干净;eslint 改动文件零告警;cargo check --all-targets 通过;appSurface 403/403。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
77 lines
5.0 KiB
JSON
77 lines
5.0 KiB
JSON
{
|
|
"name": "@genarrative/ai-game-creator-shell",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "node scripts/start-tauri-dev.mjs",
|
|
"game-chat": "node scripts/start-tauri-dev.mjs --game-chat",
|
|
"dev-server": "node scripts/start-dev-server.mjs",
|
|
"dev-stack": "node scripts/start-dev-stack.mjs",
|
|
"build": "npm --prefix ../.. exec tauri -- build",
|
|
"build:game-chat-release": "npm --prefix ../.. exec tauri -- build --config src-tauri/tauri.game-chat-release.conf.json --bundles nsis --features game-chat-release",
|
|
"llm-status": "node scripts/run-cli-with-config.mjs --llm-status",
|
|
"agent-task": "node scripts/run-cli-with-config.mjs --agent-task",
|
|
"chat": "node scripts/run-cli-with-config.mjs --swarm-chat",
|
|
"swarm": "node scripts/run-cli-with-config.mjs --swarm-chat",
|
|
"config": "node scripts/game-creator-config-wizard.mjs",
|
|
"test:chat": "node scripts/agent-swarm-test-chat.mjs --task \"制作一个可直接试玩的原创植物塔防小游戏:玩家选择并放置原创守卫阻挡敌人,完成波次后可以进入下一关并重新开始。主题、单位名称与视觉语言必须原创,不使用任何现有游戏角色、单位名、Logo 或受保护视觉语言。请自主完成正式产物、静态检查和双视口试玩验证。\" --no-open",
|
|
"test:chat:manual": "node scripts/agent-swarm-test-chat.mjs",
|
|
"test:plan": "node scripts/agent-swarm-test-chat.mjs --plan --task \"我想做一款原创横版像素解谜小游戏,主角是一个能操控自己影子的小机器人,影子可以变成平台和开关。请完成立项策划并给出 Fast GDD。主题、角色名与视觉语言必须原创,不使用任何现有游戏角色、名称、Logo 或受保护视觉语言。\"",
|
|
"test:plan:manual": "node scripts/agent-swarm-test-chat.mjs --plan",
|
|
"agent-run": "node scripts/run-cli-with-config.mjs --agent-run",
|
|
"agent-run:smoke": "node scripts/smoke-agent-run-local-provider.mjs",
|
|
"agent-runtime:real-e2e": "node scripts/agent-runtime-real-e2e.mjs",
|
|
"agent-runtime:collaboration-policy-real-e2e": "node scripts/agent-runtime-real-e2e.mjs --suite supervisor-swarm-collaboration-policy-mixed-recovery",
|
|
"agent-runtime:mixed-swarm-real-e2e": "node scripts/agent-runtime-real-e2e.mjs --suite supervisor-swarm-static-isolated-autonomous-chat",
|
|
"agent-runtime:supervisor-swarm-autonomous-chat-real-e2e": "node scripts/agent-runtime-real-e2e.mjs --suite supervisor-swarm-autonomous-chat",
|
|
"agent-runtime:supervisor-autonomous-playable-lane-defense-real-e2e": "node scripts/agent-runtime-real-e2e.mjs --suite supervisor-autonomous-playable-lane-defense",
|
|
"agent-runtime:supervisor-game-chat-single-main-playable-real-e2e": "node scripts/agent-runtime-real-e2e.mjs --suite supervisor-game-chat-single-main-playable",
|
|
"agent-runtime:supervisor-autonomous-playable-lane-defense-deterministic-e2e": "node scripts/agent-runtime-deterministic-playable-e2e.mjs",
|
|
"agent-runtime:supervisor-autonomous-playable-lane-defense-deterministic-self-test": "node scripts/agent-runtime-deterministic-playable-e2e.mjs --self-test",
|
|
"agent-runtime:supervisor-swarm-transient-retry-real-e2e": "node scripts/agent-runtime-real-e2e.mjs --suite supervisor-swarm-transient-retry",
|
|
"agent-runtime:supervisor-swarm-final-reply-transient-retry-real-e2e": "node scripts/agent-runtime-real-e2e.mjs --suite supervisor-swarm-final-reply-transient-retry",
|
|
"agent-runtime:supervisor-swarm-tool-plan-handoff-runner-kill-real-e2e": "node scripts/agent-runtime-real-e2e.mjs --suite supervisor-swarm-tool-plan-handoff-runner-kill",
|
|
"agent-runtime:steer-real-e2e": "node scripts/agent-runtime-steer-real-e2e.mjs",
|
|
"agent-runtime:steer-runner-kill-real-e2e": "node scripts/agent-runtime-real-e2e.mjs --suite steer-runner-kill",
|
|
"typecheck": "tsc -p tsconfig.json --noEmit && node scripts/check-config.mjs"
|
|
},
|
|
"dependencies": {
|
|
"@cubone/react-file-manager": "^1.35.0",
|
|
"@genarrative/image-canvas-core": "0.1.0",
|
|
"@genarrative/image-canvas-react": "0.1.0",
|
|
"@genarrative/shared": "0.1.0",
|
|
"@lexical/react": "^0.47.0",
|
|
"@lexical/utils": "^0.47.0",
|
|
"@tauri-apps/api": "^2.11.1",
|
|
"@tauri-apps/plugin-clipboard-manager": "2.3.2",
|
|
"@tauri-apps/plugin-dialog": "^2.7.2",
|
|
"@tauri-apps/plugin-http": "^2.5.9",
|
|
"@tauri-apps/plugin-opener": "~2",
|
|
"@vitejs/plugin-react": "^5.0.4",
|
|
"focus-trap-react": "^12.0.3",
|
|
"lexical": "^0.47.0",
|
|
"lucide-react": "^0.546.0",
|
|
"react": "^19.0.0",
|
|
"react-arborist": "^3.16.0",
|
|
"react-colorful": "^5.8.0",
|
|
"react-dom": "^19.0.0",
|
|
"react-markdown": "^10.1.0",
|
|
"remark-gfm": "^4.0.1",
|
|
"vite": "^6.2.0",
|
|
"zustand": "^5.0.14"
|
|
},
|
|
"devDependencies": {
|
|
"@openai/codex": "0.147.0",
|
|
"@tailwindcss/vite": "^4.1.14",
|
|
"@tauri-apps/cli": "^2.11.2",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@testing-library/user-event": "^14.6.1",
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-dom": "^19.2.3",
|
|
"tailwindcss": "^4.1.14",
|
|
"typescript": "~5.8.2",
|
|
"vitest": "^0.34.6"
|
|
}
|
|
}
|