Skip to content

🔴 Create /executions/{id}/events endpoint #988

Description

@up-guillaume

Objectif

Exposer les événements d'exécution via API REST pour permettre le replay au reconnect frontend.

Implémentation

Fichier: backend/app/api/executions.py

@router.get("/{execution_id}/events")
async def get_execution_events(
    execution_id: uuid.UUID,
    after_seq: int = 0,
    limit: int = 200,
    db: AsyncSession = Depends(get_db),
    current_user: User = Depends(get_current_user),
):
    """Récupérer les événements d'exécution depuis le ledger."""
    ledger = DeliveryLedger(db)
    events = await ledger.get_events(execution_id, limit=limit, offset=after_seq)
    return {
        "events": [serialize_event(e) for e in events],
        "total": len(events),
        "execution_id": str(execution_id),
    }

Tests

curl -H "Authorization: Bearer $TOKEN" \
  "https://staging.agents.moiria.com/api/executions/{id}/events?after_seq=0"
# ✅ 200 OK avec liste d'événements

Critères de Succès

  • âś… Endpoint retourne les Ă©vĂ©nements du DeliveryLedger
  • âś… Pagination avec after_seq et limit
  • âś… Auth et permissions fonctionnent
  • âś… SĂ©rialisation correcte des Ă©vĂ©nements

Priorité

P0 — Critique pour V10.13

Phase

Phase 1: Backend Endpoints

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions