feat: introduce TurnContext (#2343)

This PR introduces `TurnContext`, which is designed to hold a set of
fields that should be constant for a turn of a conversation. Note that
the fields of `TurnContext` were previously governed by `Session`.

Ultimately, we want to enable users to change these values between turns
(changing model, approval policy, etc.), though in the current
implementation, the `TurnContext` is constant for the entire
conversation.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/2345).
* #2345
* #2329
* __->__ #2343
* #2340
* #2338
This commit is contained in:
Michael Bolin authored and GitHub committed 2025-08-15 09:40:02 -07:00
1 parent 45d6c74682
commit 13ed67cfc1
3 files changed
+175 -104

No files matched your search

+1 -1
View File
@@ -56,7 +56,7 @@ struct Error {
message: Option<String>,
}
#[derive(Clone)]
#[derive(Debug, Clone)]
pub struct ModelClient {
config: Arc<Config>,
auth: Option<CodexAuth>,