d7d09f310c
- 解决 direct_runtime/mod.rs 冲突:保留本分支 typed 回合错误重构(TurnError/EnqueueError 与 record_direct_codex_failure_facts 拆分),接入 master 的诊断 v3 口径(persist_agent_runtime_error 新签名 + typed error 字段)、prompt 反馈改截断不脱敏、项目写锁改名 - 解决 thread_manager/dispatch.rs 冲突:保留本分支 TurnError/TurnCompletion 换代与 finish_turn_failure 分类层,接住 master 的 tt= 日志改名与 cc 执行器整轮成功后补写 completed 终态 - 解决 direct_tools_mcp.rs 冲突:采用 master 版(本分支唯一改动是 external MCP 容量测试读 body,master 已有等价实现) - 处理 direct_turn_failure.rs 删除/修改冲突:维持本分支删除,把 completed() 语义迁进 TurnCompletion::Completed 并补回对应测试 - 处理 runtime_driver/entrypoints.rs 修改/删除冲突:接受 master 退役自建 Agent Runtime 的删除(本分支只在该文件做 direct_now_ms 改名) - 合并 decision-log.md:双方条目都保留 - 修复 auto-merge 漏掉的语义冲突:claude_code_cli.rs 的 direct_now_ms() 改名 now_ms();诊断测试改为断言 AGENT_RUNTIME_ERROR_SCHEMA_VERSION、detail 字段改 message;record_direct_codex_failure_facts 新增 typed_error 入参(TurnError 不序列化,落盘用 classify 投影出的 TurnFailure)
97 lines
3.2 KiB
Rust
97 lines
3.2 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;
|
|
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;
|