Files
Genarrative/apps/ai-game-creator-shell/src-tauri/src/agent.rs
T
lhk229 6c0f504c12 修复试玩回包遗漏双端玩法失败证据(#548)
补全逐视口玩法诊断、断言和状态投影,并区分未执行与失败
补充关键回归测试,核对最终工具回包、截图及真实浏览器持久报告
同步试玩证据合同、提示词和技能包指纹
2026-10-03 16:53:37 +08:00

99 lines
3.3 KiB
Rust

use super::*;
use sha2::{Digest, Sha256};
use std::collections::BTreeSet;
use std::io::{Seek, SeekFrom};
use std::sync::atomic::{AtomicBool, AtomicU64, Ordering};
mod art_manifest;
mod claude_code_cli;
mod codex_app_server;
mod codex_cli;
mod codex_provider_proxy;
mod design_runtime;
pub(crate) mod design_tools;
mod direct_codex_attachments;
mod direct_codex_user_item;
mod direct_events;
mod direct_execution;
pub(crate) use direct_execution::WritePermit;
mod direct_delivery;
mod direct_paid_submission;
mod direct_patch;
pub(crate) use direct_paid_submission::ensure_direct_paid_submission_dispatch;
#[cfg(test)]
pub(crate) use direct_paid_submission::with_test_direct_paid_submission_scope;
pub(crate) mod design_session;
mod direct_project_context;
mod direct_project_history;
mod direct_project_turn_history;
mod direct_runtime;
mod direct_tool_bridge;
mod direct_tools_mcp;
mod direct_validation;
#[cfg(test)]
pub(crate) use direct_validation::browser_tool_result;
mod generation;
pub(crate) mod json_sidecar;
pub(crate) mod redaction;
mod runtime_error;
mod runtime_models;
mod skill_pack;
mod task_lock;
mod thread_manager;
pub mod tool;
pub(crate) use art_manifest::*;
use claude_code_cli::*;
pub(crate) use claude_code_cli::{
cancel_direct_claude_code_turn_at, direct_game_creator_claude_code_chat_at,
direct_game_creator_claude_code_home_chat, game_creator_claude_code_cli_route_error,
game_creator_claude_code_cli_version_identity,
};
pub(crate) use codex_app_server::direct_game_creator_codex_chat_at;
pub(crate) use codex_app_server::turn_error::*;
use codex_app_server::*;
#[cfg(not(test))]
pub(crate) use codex_app_server::{
cancel_direct_codex_turn_at, direct_game_creator_home_codex_chat, thread_id_for_project,
TurnCancelView,
};
use codex_cli::*;
pub(crate) use codex_cli::{
game_creator_codex_cli_executable_path, game_creator_codex_cli_version_identity,
};
pub(crate) use codex_provider_proxy::*;
#[cfg(not(test))]
pub(crate) use design_runtime::*;
pub(crate) use design_session::*;
pub(crate) use direct_codex_attachments::*;
pub(crate) use direct_codex_user_item::*;
pub(crate) use direct_events::*;
pub(crate) use direct_project_history::*;
pub(crate) use direct_project_turn_history::*;
pub(crate) use direct_runtime::*;
pub(crate) use direct_tool_bridge::*;
pub(crate) use direct_tools_mcp::*;
pub(crate) use direct_validation::DirectValidationConfig;
pub(crate) use generation::*;
pub(crate) use json_sidecar::*;
pub(crate) use redaction::*;
pub(crate) use runtime_error::*;
pub(in crate::agent) use runtime_models::*;
pub(crate) use skill_pack::*;
pub(crate) use task_lock::*;
pub(crate) use thread_manager::dispatch::*;
pub(crate) use thread_manager::queue::*;
pub(crate) use thread_manager::wire::*;
pub(crate) use thread_manager::*;
pub(crate) fn shutdown_game_creator_codex_app_servers() -> Result<(), String> {
shutdown_game_creator_codex_app_servers_impl()
}
/// 后台 Agent 工作线程栈尺寸。全局异步 runtime 与部分后台执行都按它建线程,避免深调用链
/// 直接把进程栈打爆。
pub(crate) const AGENT_RUNTIME_BACKGROUND_WORKER_STACK_BYTES: usize = 16 * 1024 * 1024;
/// 单次 Provider 工具计划里允许并列的后台动作数量上限(同时用于工具入参 schema 的 maxItems)。
pub(crate) const AGENT_RUNTIME_BACKGROUND_TOOL_ACTION_LIMIT: usize = 3;