Commit Graph
4556 Commits
Author SHA1 Message Date
Michael Bolin a2845b43cb Merge 06878e0a62 into sapling-pr-archive-bolinfest 2025-10-27 02:34:14 -07:00
Michael Bolin 06878e0a62 feat: introduce GetConversationSummary RPC 2025-10-27 02:34:05 -07:00
Michael Bolin 15fa2283e7 feat: update NewConversationParams to take an optional model_provider (#5793)
An AppServer client should be able to use any (`model_provider`, `model`) in the user's config. `NewConversationParams` already supported specifying the `model`, but this PR expands it to support `model_provider`, as well.

---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/5793).
* #5803
* __->__ #5793
2025-10-27 09:33:30 +00:00
Michael Bolin 8f525bf27d merge commit for archive created by Sapling 2025-10-27 02:04:18 -07:00
Michael Bolin abbf02f343 feat: introduce GetConversationSummary RPC 2025-10-27 02:04:09 -07:00
Michael Bolin a596e9c5f2 feat: update NewConversationParams to take an optional model_provider 2025-10-27 02:03:41 -07:00
Michael Bolin 5907422d65 feat: annotate conversations with model_provider for filtering (#5658)
Because conversations that use the Responses API can have encrypted
reasoning messages, trying to resume a conversation with a different
provider could lead to confusing "failed to decrypt" errors. (This is
reproducible by starting a conversation using ChatGPT login and resuming
it as a conversation that uses OpenAI models via Azure.)

This changes `ListConversationsParams` to take a `model_providers:
Option<Vec<String>>` and adds `model_provider` on each
`ConversationSummary` it returns so these cases can be disambiguated.

Note this ended up making changes to
`codex-rs/core/src/rollout/tests.rs` because it had a number of cases
where it expected `Some` for the value of `next_cursor`, but the list of
rollouts was complete, so according to this docstring:


https://github.com/openai/codex/blob/bcd64c7e7231d6316a2377d1525a0fa74f21b783/codex-rs/app-server-protocol/src/protocol.rs#L334-L337

If there are no more items to return, then `next_cursor` should be
`None`. This PR updates that logic.






---
[//]: # (BEGIN SAPLING FOOTER)
Stack created with [Sapling](https://sapling-scm.com). Best reviewed
with [ReviewStack](https://reviewstack.dev/openai/codex/pull/5658).
* #5803
* #5793
* __->__ #5658
2025-10-27 02:03:30 -07:00
Michael Bolin 1ee040461a merge commit for archive created by Sapling 2025-10-27 02:03:03 -07:00
Michael Bolin 5a84a38317 feat: introduce GetConversationSummary RPC 2025-10-27 02:02:55 -07:00
Michael Bolin 1ff7ccd0d7 merge commit for archive created by Sapling 2025-10-27 00:27:07 -07:00
Michael Bolin c1a57748b2 feat: introduce GetConversationSummary RPC 2025-10-27 00:27:00 -07:00
Michael Bolin 8ed35bd38d Merge b9abfde313 into sapling-pr-archive-bolinfest 2025-10-27 00:14:06 -07:00
Michael Bolin b9abfde313 feat: introduce GetConversationSummary RPC 2025-10-27 00:13:25 -07:00
Michael Bolin 7635b61210 merge commit for archive created by Sapling 2025-10-26 23:03:36 -07:00
Michael Bolin c3a93cbe46 feat: update NewConversationParams to take an optional model_provider 2025-10-26 23:03:26 -07:00
Michael Bolin f9183c9cea feat: annotate conversations with model_provider for filtering 2025-10-26 23:03:26 -07:00
Ahmed Ibrahim f178805252 Add feedback upload request handling (#5682) 2025-10-27 05:53:39 +00:00
Michael Bolin 64d11e1de4 merge commit for archive created by Sapling 2025-10-26 22:13:21 -07:00
Michael Bolin 24d9adc527 feat: update NewConversationParams to take an optional model_provider 2025-10-26 21:59:44 -07:00
Michael Bolin b54cb224f1 feat: annotate conversations with model_provider for filtering 2025-10-26 21:59:44 -07:00
Michael Bolin e56dd0852f Merge 735540b6a9 into sapling-pr-archive-bolinfest 2025-10-26 20:25:49 -07:00
Michael Bolin 735540b6a9 feat: update NewConversationParams to take an optional model_provider 2025-10-26 20:25:43 -07:00
Michael Bolin 53a7afcd79 Merge 5aa9383012 into sapling-pr-archive-bolinfest 2025-10-26 18:58:20 -07:00
Michael Bolin 1fae499fd5 feat: annotate conversations with model_provider for filtering 2025-10-26 18:57:57 -07:00
Michael Bolin 5aa9383012 feat: update NewConversationParams to take an optional model_provider 2025-10-26 18:57:57 -07:00
Michael Bolin a55b0c4bcc fix: revert "[app-server] fix account/read response annotation (#5642)" (#5796)
Revert #5642 because this generates:

```
// GENERATED CODE! DO NOT MODIFY BY HAND!

// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.

export type GetAccountResponse = Account | null;
```

But `Account` is unknown.

The unique use of `#[ts(export)]` on `GetAccountResponse` is also
suspicious as are the changes to
`codex-rs/app-server-protocol/src/export.rs` since the existing system
has worked fine for quite some time.

Though a pure backout of #5642 puts things in a state where, as the PR
noted, the following does not work:

```
cargo run -p codex-app-server-protocol --bin export -- --out DIR
```

So in addition to the backout, this PR adds:

```rust
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)]
#[serde(rename_all = "camelCase")]
pub struct GetAccountResponse {
    pub account: Account,
}
```

and changes `GetAccount.response` as follows:

```diff
-        response: Option<Account>,
+        response: GetAccountResponse,
```

making it consistent with other types.

With this change, I verified that both of the following work:

```
just codex generate-ts --out /tmp/somewhere
cargo run -p codex-app-server-protocol --bin export -- --out /tmp/somewhere-else
```

The generated TypeScript is as follows:

```typescript
// GetAccountResponse.ts
import type { Account } from "./Account";

export type GetAccountResponse = { account: Account, };
```

and

```typescript
// Account.ts
import type { PlanType } from "./PlanType";

export type Account = { "type": "ApiKey", api_key: string, } | { "type": "chatgpt", email: string | null, plan_type: PlanType, };
```

Though while the inconsistency between `"type": "ApiKey"` and `"type":
"chatgpt"` is quite concerning, I'm not sure if that format is ever
written to disk in any case, but @owenlin0, I would recommend looking
into that.

Also, it appears that the types in `codex-rs/protocol/src/account.rs`
are used exclusively by the `app-server-protocol` crate, so perhaps they
should just be moved there?
2025-10-26 18:57:42 -07:00
Thibault Sottiaux 224222f09f fix: use codex-exp prefix for experimental models and consider codex- models to be production (#5797) 2025-10-27 01:55:12 +00:00
Michael Bolin fd90ca9be6 Merge 220eba713b into sapling-pr-archive-bolinfest 2025-10-26 18:41:11 -07:00
Michael Bolin 220eba713b Back out "[app-server] fix account/read response annotation (#5642)"
Original commit changeset: 190e7eb104
2025-10-26 18:41:06 -07:00
Michael Bolin 08bfac5ee4 Merge 67a0e64866 into sapling-pr-archive-bolinfest 2025-10-26 18:26:42 -07:00
Michael Bolin 67a0e64866 Back out "[app-server] fix account/read response annotation (#5642)"
Original commit changeset: 190e7eb104
2025-10-26 18:23:25 -07:00
Michael Bolin 327fdc1f66 Merge 1cfea37a53 into sapling-pr-archive-bolinfest 2025-10-26 16:46:02 -07:00
Michael Bolin 1cfea37a53 feat: update NewConversationParams to take an optional model_provider 2025-10-26 16:45:52 -07:00
Michael Bolin 3d9c27bc94 merge commit for archive created by Sapling 2025-10-26 16:13:49 -07:00
Michael Bolin 2bca20a3aa feat: annotate conversations with model_provider for filtering 2025-10-26 16:13:43 -07:00
Michael Bolin 8dd1899a88 merge commit for archive created by Sapling 2025-10-26 15:31:28 -07:00
Michael Bolin 299f2d33d0 feat: annotate conversations with model_provider for filtering 2025-10-26 15:20:48 -07:00
Michael Bolin 396101811d merge commit for archive created by Sapling 2025-10-26 13:59:14 -07:00
Michael Bolin 89b7b4a187 feat: annotate conversations with model_provider for filtering 2025-10-26 13:59:07 -07:00
Gabriel Peal 7aab45e060 [MCP] Minor docs clarifications around stdio tokens (#5676)
Noticed
[here](https://github.com/openai/codex/issues/4707#issuecomment-3446547561)
2025-10-26 13:38:30 -04:00
Eric Traut bcd64c7e72 Reduced runtime of unit test that was taking multiple minutes (#5688)
Modified `build_compacted_history_truncates_overlong_user_messages` test
to reduce runtime from minutes to tens of seconds
2025-10-25 23:46:08 -07:00
Michael Bolin 40ed0ab146 merge commit for archive created by Sapling 2025-10-25 23:42:29 -07:00
Michael Bolin 85cd533121 feat: annotate conversations with model_provider for filtering 2025-10-25 23:42:23 -07:00
Eric Traut c124f24354 Added support for sandbox_mode in profiles (#5686)
Currently, `approval_policy` is supported in profiles, but
`sandbox_mode` is not. This PR adds support for `sandbox_mode`.

Note: a fix for this was submitted in [this
PR](https://github.com/openai/codex/pull/2397), but the underlying code
has changed significantly since then.

This addresses issue #3034
2025-10-25 16:52:26 -07:00
pakrym-oai c7e4e6d0ee Skip flaky test (#5680)
Did an investigation but couldn't find anything obvious. Let's skip for
now.
2025-10-25 12:11:16 -07:00
Michael Bolin 1a340c433b merge commit for archive created by Sapling 2025-10-25 08:56:52 -07:00
Michael Bolin 88bc431b31 feat: annotate conversations with model_provider for filtering 2025-10-25 08:56:43 -07:00
Ahmed Ibrahim 88abbf58ce Followup feedback (#5663)
- Added files to be uploaded
- Refactored
- Updated title
2025-10-25 06:07:40 +00:00
Ahmed Ibrahim 71f838389b Improve feedback (#5661)
<img width="1099" height="153" alt="image"
src="https://github.com/user-attachments/assets/2c901884-8baf-4b1b-b2c4-bcb61ff42be8"
/>

<img width="1082" height="125" alt="image"
src="https://github.com/user-attachments/assets/6336e6c9-9ace-46df-a383-a807ceffa524"
/>

<img width="1102" height="103" alt="image"
src="https://github.com/user-attachments/assets/78883682-7e44-4fa3-9e04-57f7df4766fd"
/>
2025-10-24 22:28:14 -07:00
Michael Bolin f3262af052 Merge f42951233a into sapling-pr-archive-bolinfest 2025-10-24 16:55:15 -07:00