Commit Graph
6 Commits
Author SHA1 Message Date
pakrym-oai ce0323f2f2 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
2026-10-17 04:02:21 +00:00
jif c6c09fe29f Consolidate agent operations in the AgentControl implementation (#47292)
## What changed

Move `spawn`, `send`, and `inspect` into the `AgentControl` implementation for `LocalAgentControl`, removing the forwarding methods and the `spawn_request` module. Update tool handlers and existing tests to use the trait methods, and remove redundant boxing at spawn call sites.

Preserve spawn validation, message attribution, runtime loading, and queue-only delivery semantics.

GitOrigin-RevId: 6027d4d97d0dfb6763dc97ef92a2d7ef58de945d
2026-09-22 13:47:56 +00:00
jif 3938a27c1d Route agent delivery through captured send requests (#46994)
## What changed

Replace `LocalAgentControl::deliver_message` with `send(SendRequest)`, accepting both user input and agent messages with captured resume configuration and turn options. Resolve target references relative to the caller's registered identity and return recipient metadata and a submission ID in `DeliveryReceipt`.

Migrate the V2 messaging tools to the new entry point and use receipt metadata for activity events. Preserve recipient reload behavior, non-waking queue-only messages, and rejection of follow-up tasks targeting the root agent.

## Testing

Update the cold-resume and sibling-reload tests to exercise `SendRequest` while checking instruction inheritance.

GitOrigin-RevId: 8fd330b8a9c3510483110ed05c4c9d3d616db237
2026-09-21 10:11:53 +00:00
jif c026e7a622 Expose a backend-independent agent control contract (#46547)
## What changed

Add a public, object-safe `AgentControl` trait and request/response types for coordinating an agent tree independently of where its threads run. Define contracts for lifecycle operations, message delivery, status observation, execution admission, usage accounting, shared configuration, and guardian evidence.

Move shared agent types out of the local controller and export them from `codex-core`. Let `AgentExecutionGuard` own a backend-provided reservation while preserving the local limiter's release-on-drop behavior. Include `root_thread_id` in `GuardianRootSnapshot` to identify the source of authorization evidence.

## Testing

Add tests for reservation release when a guard is dropped or a turn is cancelled, and extend the guardian authorization test to assert the root thread identity. Check trait object safety at compile time.

GitOrigin-RevId: 9385c9fbfd189f08429539fd89061ef8c9efe0d9
2026-09-19 01:03:55 +00:00
jif 7fb599de8c Rename AgentControl to LocalAgentControl (#46513)
GitOrigin-RevId: a8e8a5c818a1751c5d2667f5af87e481482fc7db
2026-09-18 23:39:30 +00:00
jif 4415f985dc Move V2 agent message delivery into AgentControl (#45670)
## What changed

Extract target validation, runtime reloading, and message delivery from the V2 tool handler into `AgentControl::deliver_message`. Keep target resolution, analytics, and tool-facing error mapping in the handler.

Represent plaintext and encrypted payloads with `AgentMessage`, sharing communication construction with agent spawning. Preserve queue-only and follow-up turn semantics, target checks before reload, and turn metadata propagation.

GitOrigin-RevId: a88bcede015a17f6c11c7cad95ee58add5dc2820
2026-09-15 10:35:58 +00:00