mirror of
https://github.com/openai/codex.git
synced 2026-09-10 20:26:47 +00:00
Preserve rendered code mode history
This commit is contained in:
@@ -10,7 +10,7 @@ use codex_tools::ToolSpec;
|
||||
|
||||
use super::ExecContext;
|
||||
use super::PUBLIC_TOOL_NAME;
|
||||
use super::code_mode_output_truncation_policy;
|
||||
use super::code_mode_history_truncation_policy;
|
||||
use super::handle_runtime_response;
|
||||
use super::is_exec_tool_name;
|
||||
|
||||
@@ -124,12 +124,8 @@ impl CoreToolRuntime for CodeModeExecuteHandler {
|
||||
|
||||
fn history_truncation_policy(
|
||||
&self,
|
||||
invocation: &ToolInvocation,
|
||||
_invocation: &ToolInvocation,
|
||||
) -> Option<codex_utils_output_truncation::TruncationPolicy> {
|
||||
let ToolPayload::Custom { input } = &invocation.payload else {
|
||||
return None;
|
||||
};
|
||||
let args = codex_code_mode::parse_exec_source(input).ok()?;
|
||||
Some(code_mode_output_truncation_policy(args.max_output_tokens))
|
||||
Some(code_mode_history_truncation_policy())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -245,6 +245,10 @@ pub(super) fn code_mode_output_truncation_policy(
|
||||
TruncationPolicy::Tokens(resolve_max_tokens(max_output_tokens))
|
||||
}
|
||||
|
||||
pub(super) fn code_mode_history_truncation_policy() -> TruncationPolicy {
|
||||
TruncationPolicy::Bytes(usize::MAX)
|
||||
}
|
||||
|
||||
async fn call_nested_tool(
|
||||
_exec: ExecContext,
|
||||
tool_runtime: ToolCallRuntime,
|
||||
|
||||
@@ -15,7 +15,7 @@ use codex_tools::ToolSpec;
|
||||
use super::DEFAULT_WAIT_YIELD_TIME_MS;
|
||||
use super::ExecContext;
|
||||
use super::WAIT_TOOL_NAME;
|
||||
use super::code_mode_output_truncation_policy;
|
||||
use super::code_mode_history_truncation_policy;
|
||||
use super::handle_runtime_response;
|
||||
use super::wait_spec::create_wait_tool;
|
||||
|
||||
@@ -117,13 +117,9 @@ impl ToolExecutor<ToolInvocation> for CodeModeWaitHandler {
|
||||
impl CoreToolRuntime for CodeModeWaitHandler {
|
||||
fn history_truncation_policy(
|
||||
&self,
|
||||
invocation: &ToolInvocation,
|
||||
_invocation: &ToolInvocation,
|
||||
) -> Option<codex_utils_output_truncation::TruncationPolicy> {
|
||||
let ToolPayload::Function { arguments } = &invocation.payload else {
|
||||
return None;
|
||||
};
|
||||
let args: ExecWaitArgs = parse_arguments(arguments).ok()?;
|
||||
Some(code_mode_output_truncation_policy(args.max_tokens))
|
||||
Some(code_mode_history_truncation_policy())
|
||||
}
|
||||
|
||||
fn pre_tool_use_payload(&self, _invocation: &ToolInvocation) -> Option<PreToolUsePayload> {
|
||||
|
||||
Reference in New Issue
Block a user