485ed50b26
Project CI / AI game creator shell Rust smoke (push) Has been cancelled
Project CI / AI game creator shell Rust crates (push) Has been cancelled
Project CI / Backend tests (push) Has been cancelled
Project CI / Native shell tests (push) Has been cancelled
Project CI / Frontend tests (push) Has been cancelled
Project CI / Repository checks (push) Has been cancelled
Project CI / AI game creator shell web tests (push) Has been cancelled
Project CI / AI game creator shell Rust shard 2/4 (push) Has been cancelled
Project CI / AI game creator shell Rust shard 1/4 (push) Has been cancelled
Project CI / AI game creator shell Rust shard 3/4 (push) Has been cancelled
Project CI / AI game creator shell Rust shard 4/4 (push) Has been cancelled
## 背景 净月潭案例(2026-09-19 21:53 → 09-20 01:26,3 小时 33 分)的问题不是模型慢,而是环境未就绪、验收靠模型自述、预算只约束单个工具入口、工具调用被 SDK 全局串行闸门卡住。本 PR 落地确认后的七项交付效率合同,并把捆绑 Codex 升到当前 npm latest。 ## 结果 - 新建 Web 游戏在正式生成前由宿主自动预检:捆绑 Node/npm、真实 Vite 构建、受限浏览器桌面/移动截图;失败不启动生成或付费素材。 - 首个副作用前冻结交付合同,宿主保存权威证据与预算;证据齐全后先封口、排空并取得执行器完整退出证明,再产出交付报告,模型回复不再当作验收。 - 原生 shell、内置浏览器与托管命令、第三方 MCP 共用同一执行许可和累计执行时间;`validation.maxRuns` 改为执行/返修批次语义,另设 `maxTurnSeconds` 墙钟上限。 - 所有工具可并发:移除 SDK 全局串行的 `apply_patch`/`update_plan` 注册,改由宿主 `agc_apply_patch`(官方 parser + 当前回合写许可 + 受控进程树 + 短项目事务)和 `agc_update_plan` 提供等价能力;真实请求目录里已无串行注册,长 MCP 与补丁/计划实测在同一响应内重叠。 - 付费提交与本地写入绑定原回合原租约:容量与同动作锁等待可取消,封口、取消或预算耗尽后零新增提交;已越过提交边界的请求保留 operation ID 走 GET 对账,不自动重放。 - 新增请求与工具分段计时、有界并行批读和首轮上下文预取,未知耗时不补零。 - 捆绑 Codex 0.147.0 → 0.155.1:固定版本收敛到 `build_support/codex_bundle.rs` 单一声明,vendor 解析源码按 `rust-v0.155.1` 逐字节重取并更新 UPSTREAM 证据,适配 0.155 统一 exec(`exec_command`/`write_stdin`);macOS 侧车最小系统版本仍为 15.0。 ## 验证 - 生产 CLI → 捆绑 Codex 0.155.1 → 本地 Responses/MCP 夹具 9/9:补丁、完成收尾、批次、只读/可写 MCP 并发、原生命令并发、原生资源并发、统一 exec 会话、期限终止(真实重叠 775 / 764 / 999 ms)。 - 真实模型目录 2/2;vendor 上游库 111 项;宿主定向与回归 106 项;真实 Windows 进程与取消 21 项;Node 侧门禁 52 项。 - 发行载荷:artifact-only 重建 NSIS,解包验证侧车清单 `codex-cli 0.155.1`、6 个组件哈希、打包后 `bin/codex.exe --version`、Node 运行时 2130 文件与双端 PNG、`--environment-check` ready。 - `check-config`、TypeScript、编码(4991 文件)、文档索引、`git diff --check`、`cargo fmt --check` 全部通过。 ## 未覆盖 - 真实陶泥儿登录态 Provider 生成尚未执行(本机 `--llm-status` 返回 `authentication-required`)。 - macOS 侧车只在本机做静态 Mach-O 与清单解析,未在 macOS 上跑 `check-macos-bundle.mjs`。 - 全仓库聚合套件在本机仍因负载敏感的后台 mock-provider 用例而红,与本次改动无关:改动前的旧二进制同样失败,换单线程后相关用例 3/3 通过。 --------- Co-authored-by: kdletters <61648117+kdletters@users.noreply.github.com> Reviewed-on: http://192.168.35.82/git/GenarrativeAI/Genarrative/pulls/439
113 lines
4.6 KiB
TOML
113 lines
4.6 KiB
TOML
[package]
|
|
name = "genarrative-ai-game-creator-shell"
|
|
version = "0.1.67"
|
|
edition = "2021"
|
|
publish = false
|
|
|
|
[workspace]
|
|
members = [".", "vendor/codex-patch-parser", "vendor/codex-utils-path-uri", "vendor/codex-utils-absolute-path"]
|
|
resolver = "2"
|
|
|
|
[features]
|
|
default = []
|
|
# 模板库假数据注入(仅本地页面压测/演示用):只有显式开启该 feature 才会编译并在读取清单后
|
|
# 把条目循环补齐成假数据;计数由 AGC_TEMPLATE_LIBRARY_SYNTHETIC_COUNT 控制(默认 1000)。
|
|
template-library-fixtures = []
|
|
cocos-editor = ["cocos-editor-bridge/process-discovery"]
|
|
cocos-editor-execute = ["cocos-editor", "cocos-editor-bridge/windows-bootstrap"]
|
|
cocos-editor-injection = ["cocos-editor-execute", "cocos-editor-bridge/windows-injection"]
|
|
unity-editor-execute = []
|
|
godot-editor-execute = []
|
|
|
|
[build-dependencies]
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
sha2 = "0.10"
|
|
shared-contracts = { path = "../../../server-rs/crates/shared-contracts", default-features = false }
|
|
tauri-build = { version = "2.6.2", features = [] }
|
|
|
|
[dependencies]
|
|
codex-patch-parser = { path = "vendor/codex-patch-parser" }
|
|
chrono = { version = "0.4", default-features = false, features = ["std"] }
|
|
ts-rs = "12.0.1"
|
|
typed_floats = { version = "1.0.7", features = ["serde"] }
|
|
nalgebra = { version = "0.35.0", features = ["serde-serialize"] }
|
|
agent-runtime-core = { path = "../../../server-rs/crates/agent-runtime-core" }
|
|
cocos-editor-bridge = { path = "../../../plugins/agc-cocos-editor/native/cocos-editor-bridge", default-features = false }
|
|
editor-adapter-api = { path = "../../../server-rs/crates/editor-adapter-api" }
|
|
unity-editor-bridge = { path = "../../../plugins/agc-unity-editor/native/unity-editor-bridge" }
|
|
godot-editor-bridge = { path = "../../../plugins/agc-godot-editor/native/godot-editor-bridge" }
|
|
base64 = "0.22"
|
|
axum = "0.8"
|
|
chromiumoxide = "0.9.1"
|
|
futures = "0.3"
|
|
getrandom = "0.3"
|
|
http = "1"
|
|
# `tga` / `tiff` / `hdr` 只服务资源画布的只读预览:引擎图像容器(Cocos 的
|
|
# .tga/.tif/.hdr 等)在浏览器里没有解码器,必须先在原生侧转码成 PNG 再送给前端。
|
|
# 刻意不开 `exr`:它要求 `exr ^1.74.0`,当前依赖源只能到 1.73,打不开就先让
|
|
# `.exr` 走「类型卡」而不是留一半解不出来的预览分支。
|
|
image = { version = "0.25", default-features = false, features = ["jpeg", "png", "webp", "tga", "tiff", "hdr"] }
|
|
jsonschema = { version = "0.49.3", default-features = false }
|
|
oxc_allocator = "0.143.0"
|
|
oxc_ast = "0.143.0"
|
|
oxc_ast_visit = "0.143.0"
|
|
oxc_parser = "0.143.0"
|
|
oxc_semantic = "0.143.0"
|
|
oxc_span = "0.143.0"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
serde_yaml = "0.9"
|
|
schemars = "1.2.1"
|
|
sha2 = "0.10"
|
|
similar = "2.7"
|
|
platform-llm = { path = "../../../server-rs/crates/platform-llm" }
|
|
platform-agent = { path = "../../../server-rs/crates/platform-agent" }
|
|
portable-pty = "0.9"
|
|
reqwest = { version = "0.12", default-features = false, features = ["json", "multipart", "native-tls", "stream"] }
|
|
regex = "1"
|
|
shared-contracts = { path = "../../../server-rs/crates/shared-contracts", default-features = false, features = ["ts-bindings"] }
|
|
tauri = { version = "2.11.2", features = [] }
|
|
tauri-plugin-dialog = "2.7.1"
|
|
tauri-plugin-http = { version = "2.5.9", default-features = false, features = ["charset", "cookies", "http2", "rustls-tls"] }
|
|
tauri-plugin-opener = "2"
|
|
tauri-plugin-updater = "2.11.0"
|
|
tempfile = "3"
|
|
toml = "0.8"
|
|
ttf-parser = "0.25.1"
|
|
tokio = { version = "1", features = ["io-util", "macros", "process", "rt-multi-thread", "signal", "sync", "time"] }
|
|
url = "2"
|
|
unicode-normalization = "0.1"
|
|
uuid = { version = "1", features = ["v4"] }
|
|
zip = { version = "2", default-features = false, features = ["deflate"] }
|
|
tauri-plugin-clipboard-manager = "2.3.2"
|
|
maud = "0.27.0"
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows-sys = { version = "0.61", features = ["Wdk_Storage_FileSystem", "Win32_Foundation", "Win32_Storage_FileSystem", "Win32_System_Diagnostics_ToolHelp", "Win32_System_IO", "Win32_System_JobObjects", "Win32_System_Threading", "Win32_UI_WindowsAndMessaging"] }
|
|
|
|
[profile.dev]
|
|
opt-level = 0
|
|
debug = 1
|
|
codegen-units = 256
|
|
lto = "off"
|
|
incremental = true
|
|
|
|
# Runner 启动阶段会对当前 Debug 可执行文件计算 SHA-256。仅优化密码学依赖,
|
|
# 保持业务代码的 Debug 编译速度,同时避免整份 Debug 构建因未优化 hash 热点而阻塞启动。
|
|
[profile.dev.package.sha2]
|
|
opt-level = 3
|
|
|
|
[profile.dev.package.digest]
|
|
opt-level = 3
|
|
|
|
[profile.test]
|
|
opt-level = 0
|
|
debug = 1
|
|
codegen-units = 256
|
|
lto = "off"
|
|
incremental = false
|