Skip to content

Conversation

@celia-oai
Copy link
Contributor

@celia-oai celia-oai commented Nov 12, 2025

core event to app server event mapping:

  1. codex/event/reasoning_content_delta & codex/event/reasoning_raw_content_delta -> item/reasoning/delta
  2. codex/event/agent_message_content_deltaitem/agentMessage/delta.
  3. codex/event/agent_reasoning_section_break -> item/reasoning/summaryPartAdded (added a small change in core to pass down item_id).

Tested with the git checkout owen/app_server_test_client && cargo run -p codex-app-server-test-client -- send-message-v2 "hello" and verified that new events are emitted correctly.

@celia-oai celia-oai changed the title [Draft] [Draft][App-server] add item/reasoning/delta and item/agentMessage/delta Nov 12, 2025
@etraut-openai etraut-openai added the oai-pr PRs posted by Codex team members label Nov 12, 2025
@celia-oai celia-oai changed the title [Draft][App-server] add item/reasoning/delta and item/agentMessage/delta [Draft][App-server] add new v2 events:item/reasoning/delta, item/agentMessage/delta & item/reasoning/summaryPartAdded Nov 12, 2025
@celia-oai celia-oai marked this pull request as ready for review November 12, 2025 23:59
@celia-oai celia-oai changed the title [Draft][App-server] add new v2 events:item/reasoning/delta, item/agentMessage/delta & item/reasoning/summaryPartAdded [App-server] add new v2 events:item/reasoning/delta, item/agentMessage/delta & item/reasoning/summaryPartAdded Nov 13, 2025
// The logic of whether to emit reasoning summary or reasoning raw content delta is handled in the core.
// The client just receives ReasoningDelta notifications and handles both cases the same way.
EventMsg::ReasoningContentDelta(ReasoningContentDeltaEvent { item_id, delta, .. })
| EventMsg::ReasoningRawContentDelta(ReasoningRawContentDeltaEvent {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ooc what's the difference between Content and RawContent?

#[ts(export_to = "v2/")]
pub struct ReasoningSummaryPartAddedNotification {
pub item_id: String,
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Reasoning item is currently defined as:

    Reasoning {
        id: String,
        text: String,
    },

should text become something like content_parts: Vec<String>?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this notification doesn't make a whole lot of sense without it IMO

#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)]
#[serde(rename_all = "camelCase")]
#[ts(export_to = "v2/")]
pub struct ReasoningDeltaNotification {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does Responses API associate the delta with a specific content part index?

@celia-oai celia-oai force-pushed the dev/cc/add-item-2 branch 7 times, most recently from c6f688c to f036f25 Compare November 13, 2025 19:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

oai-pr PRs posted by Codex team members

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants