Tasks: API: Add pagination and granular message control to logs endpoint
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia esaminando l’endpoint dei log delle attività, i pattern di paginazione esistenti di coderd e codersdk.Pagination. Determina come deve funzionare la paginazione per i log attivi e gli snapshot in pausa, consentendo al contempo futuri tipi di messaggi ACP. Il lavoro è completato quando l’approccio è implementato e documentato, testato per entrambi gli stati e la CLI è stata aggiornata se necessario.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
The task logs API (GET /api/v2/tasks/{user}/{task}/logs) currently returns the entire conversation history. This is not ideal for tasks with long-running conversations:
- Large response payloads for tasks with hundreds of messages
- No way to fetch specific message ranges
- Inefficient for clients that only need recent messages or want to implement infinite scroll
Current Behavior
The API returns all messages in a single response:
{
"logs": [...], // All messages
"snapshot": false,
"total_count": 250
}
When a task is paused (post-implementation of pause/resume functionality), it returns the last 10 messages from the snapshot:
{
"logs": [...], // Last 10 messages
"snapshot": true,
"snapshot_at": "2025-01-18T10:00:00Z",
"total_count": 10
}
Proposed Enhancement
Add pagination support to the logs endpoint. The exact implementation will depend on the message model after ACP integration, which may introduce more granular message types, status updates, and metadata beyond the current large text blocks.
Pagination should follow coderd's existing patterns (using limit, offset, and after_id query parameters as defined in codersdk.Pagination).
Key considerations:
- With ACP, messages may be split into multiple granular events rather than 500-line text blocks
- The message structure and metadata may evolve significantly
- Pagination design should accommodate future message model changes
Context
Raised during RFC review for Task Start/Pause/Resume Lifecycle. Deferred from Beta/GA as it's an enhancement rather than blocking issue.
Acceptance Criteria
- Design pagination approach that accommodates future ACP message model changes
- Works for both active tasks (live logs) and paused tasks (snapshots)
- Follows coderd's existing pagination patterns
- Document pagination behavior
- Update CLI if needed to support fetching message ranges
Related
- RFC: Task Start/Pause/Resume Lifecycle
- Future: ACP integration for message-level control
- Lingua principale
- Nessun dato sulla lingua
- Stelle
- 3
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di coder/internal
-
flake
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
-
flake
-
flake
Tutte le issue di coder/internal
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
mksglu/context-mode#1200 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
clawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr impact:auth-provider issue-rating: 🌊 off-meta tidepool P2
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 80/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100