Move sleep items to the extension-owned lifecycle path (#33159)

## What changed

- Define `SleepItem` in `codex-extension-items` and carry `clock.sleep` events through `TurnItem::Extension`.
- Preserve sleep persistence, thread-history reconstruction, and the app-server's `type: "sleep"` schema while reusing the extension-owned type.

## Testing

- Add serialization coverage for the `clock.sleep` extension wire shape and its protocol wrapper.
- Update sleep lifecycle and thread-history tests to exercise the extension-owned item.

GitOrigin-RevId: 34bb33ed9b90a09bf4744aafdb56e019c717a168
This commit is contained in:
pakrym-oai
2026-07-14 21:01:54 +00:00
committed by copyberry
parent 83a4187837
commit 5d325ba223
41 changed files with 141 additions and 55 deletions
@@ -1616,6 +1616,7 @@
"type": "object"
},
{
"description": "Display item emitted by the interruptible `clock.sleep` tool.",
"properties": {
"durationMs": {
"format": "uint64",