Tasks: API: Add pagination and granular message control to logs endpoint
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza revisando el endpoint de registros de tareas, los patrones de paginación existentes de coderd y codersdk.Pagination. Determina cómo debe funcionar la paginación para los registros activos y las instantáneas pausadas, permitiendo a la vez futuros tipos de mensajes ACP. La tarea estará completa cuando el enfoque esté implementado y documentado, se haya probado para ambos estados y la CLI se haya actualizado si es necesario.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 3
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de coder/internal
-
flake
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
-
flake
-
flake
Todos los issues de coder/internal
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
mksglu/context-mode#1200 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
clawsweeper:needs-maintainer-review clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr impact:auth-provider issue-rating: 🌊 off-meta tidepool P2
Dificultad 1/5 Menos de una hora Aptitud para principiantes 80/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100