mirror of
https://github.com/openai/codex.git
synced 2026-10-21 17:48:44 +00:00
Support typed content in contextual prompt fragments (#54776)
## Why Contextual fragments and extension-owned world-state sections currently return strings, limiting them to text content. ## What changed - Return `ContentItem` from fragment bodies and rendering, preserving classification and attribution. Apply text markers only to `InputText`; pass other content through unchanged. - Allow extension prompt and world-state contributions to carry typed content, and preserve media in context-window hints. - Hash non-text world-state fragments by their serialized content and role while retaining the existing text hashing behavior. - Add shared content-to-tool-output conversion that preserves image references, image detail, and audio. ## Testing Add coverage for typed world-state hashing and preservation of image content and attribution. Expand code-mode output tests to cover input text, output text, file-backed and inline images, and audio. GitOrigin-RevId: 2ed00d466a3f169b151202f3eef71e667ea64be1
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
use codex_extension_api::PreviousWorldStateSection;
|
||||
use codex_extension_api::RenderedWorldStateFragment;
|
||||
use codex_extension_api::WorldStateSectionContribution;
|
||||
use codex_extension_api::input_text;
|
||||
use serde_json::Value;
|
||||
|
||||
const WORLD_STATE_ID: &str = "git_attribution";
|
||||
@@ -36,13 +37,13 @@ pub(super) fn git_attribution_world_state_section(enabled: bool) -> WorldStateSe
|
||||
| (true, PreviousWorldStateSection::Known(_)) => Some(RenderedWorldStateFragment::new(
|
||||
"developer",
|
||||
(START_MARKER, END_MARKER),
|
||||
ENABLED_INSTRUCTIONS,
|
||||
input_text(ENABLED_INSTRUCTIONS),
|
||||
)),
|
||||
(false, PreviousWorldStateSection::Known(Value::Bool(true)))
|
||||
| (false, PreviousWorldStateSection::Unknown) => Some(RenderedWorldStateFragment::new(
|
||||
"developer",
|
||||
(START_MARKER, END_MARKER),
|
||||
DISABLED_INSTRUCTIONS,
|
||||
input_text(DISABLED_INSTRUCTIONS),
|
||||
)),
|
||||
(false, PreviousWorldStateSection::Absent)
|
||||
| (false, PreviousWorldStateSection::Known(_)) => None,
|
||||
|
||||
Reference in New Issue
Block a user