Support per-tool MCP output limits (#41421)

## What changed

- Add a positive `output_token_limit` setting to each entry under an MCP server's `tools` configuration.
- Apply the most restrictive limit when plugin and user policies overlap, while keeping approval policy independent.
- Carry the effective MCP output budget in conversation history so tool output, post-tool hook responses, and resumed sessions use the same truncation limit.

## Testing

- Cover configuration parsing, serialization, schema validation, and plugin policy merging.
- Cover MCP output below and above the configured limit, post-tool hook responses, and session resume.

GitOrigin-RevId: d0beb4fca9ba6055d9e1d31c137373b465d50d61
This commit is contained in:
pakrym-oai
2026-08-28 21:40:23 +00:00
committed by copyberry
parent 03147407e3
commit f742dabc6f
38 changed files with 487 additions and 224 deletions
+1
View File
@@ -401,6 +401,7 @@ mod tests {
item: ResponseItem::Other,
metadata: Some(CodexHarnessMetadata {
client_authored: true,
..Default::default()
}),
});
assert!(serde_json::to_value(annotated).is_err());