Skip to content

session.list_jobs ignores limit and cursor pagination #26

@nficano

Description

@nficano

SessionLoop.handleListJobs filters jobs but ignores the request limit and cursor fields. In arcp-runtime/src/main/java/dev/arcp/runtime/session/SessionLoop.java around line 343 it collects every matching job into a list, and at line 355 it always returns a SessionJobs response with nextCursor set to null. The public message type SessionListJobs carries limit and cursor, and the conformance documentation says filter plus cursor is implemented, but clients cannot page through large job sets.

Fix prompt: Implement stable pagination for session.list_jobs. Sort the matching jobs deterministically, apply req.cursor() and req.limit(), return only the requested page, and set next_cursor when more results remain. Define cursor encoding so it is opaque to callers but stable across repeated requests, and extend ArcpClient with an overload that accepts limit and cursor or otherwise exposes Page.nextCursor() for follow-up calls. Add tests for first page, next page, invalid cursor handling, and interaction with status, agent, and created_after filters.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingseverity:mediumMedium severity

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions