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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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