Skip to content

Add item anchors to thread/items/list pagination - #48151

Merged
copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/a74cea190d3ff1b44865429f8b0650b793eb688d
Sep 25, 2026
Merged

copyberry[bot] merged 1 commit into
mainfrom
copyberry/codex-internal-to-codex-oss/a74cea190d3ff1b44865429f8b0650b793eb688d

Conversation

@copyberry

@copyberry copyberry Bot commented Sep 25, 2026 •

Copy link
Copy Markdown

Add item anchors to thread/items/list pagination

What changed

Allow cursor to accept an item anchor such as {"type":"item","itemId":"item-123"} with a non-empty turnId. Ascending pagination returns items after the anchor; descending pagination returns items before it. The anchor itself is excluded, and subsequent pages use the returned opaque string cursor.

Resolve anchors within the requested turn's visible history, including inherited fork history. Reject missing turn IDs and empty, unknown, or out-of-scope item IDs with invalid params (-32602). Preserve existing string and null cursor behavior, and update the protocol schemas, TypeScript and Python types, and API documentation.

Testing

Add protocol round-trip and invalid-shape tests, app-server coverage for anchored pagination and errors, and thread-store coverage for growing turns, reverse pagination, page boundaries, fork visibility, and anchor scope validation.

## What changed

Allow `cursor` to accept an item anchor such as `{"type":"item","itemId":"item-123"}` with a non-empty `turnId`. Ascending pagination returns items after the anchor; descending pagination returns items before it. The anchor itself is excluded, and subsequent pages use the returned opaque string cursor.

Resolve anchors within the requested turn's visible history, including inherited fork history. Reject missing turn IDs and empty, unknown, or out-of-scope item IDs with invalid params (`-32602`). Preserve existing string and null cursor behavior, and update the protocol schemas, TypeScript and Python types, and API documentation.

## Testing

Add protocol round-trip and invalid-shape tests, app-server coverage for anchored pagination and errors, and thread-store coverage for growing turns, reverse pagination, page boundaries, fork visibility, and anchor scope validation.

GitOrigin-RevId: a74cea190d3ff1b44865429f8b0650b793eb688d
@copyberry
copyberry Bot force-pushed the copyberry/codex-internal-to-codex-oss/a74cea190d3ff1b44865429f8b0650b793eb688d branch from b353946 to de9e78e Compare September 25, 2026 17:57
@copyberry
copyberry Bot merged commit de9e78e into main Sep 25, 2026
@copyberry
copyberry Bot deleted the copyberry/codex-internal-to-codex-oss/a74cea190d3ff1b44865429f8b0650b793eb688d branch September 25, 2026 17:57
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 25, 2026

This branch was successfully deployed

1 active deployment
issue-triage — de9e78e3 Deployed Sep 25, 2026 by ChrisHeadford75 via Identify potential duplicates (all issues) #48324
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants