Sessions
L'écran Sessions vous permet d'ouvrir une conversation entre un utilisateur et un agent, de lire ses messages et de la supprimer. Chemin dans le portail : /agents/sessions. Les développeurs et les administrateurs du tenant l'utilisent pour préparer une session avant une exécution, lire ce qu'un canal a échangé avec un agent et nettoyer les anciennes conversations. L'écran est dessiné par portal/src/screens/agents.tsx.
Ce que montre l'écran
- Tableau Sessions, lu par
GET /v1/sessions(50 lignes par appel, pagination par curseur). Colonnes : Titre, Identifiant d'agent, Identifiant utilisateur, Canal, Statut, Créé. - Liste vide : Aucune session, avec l'aide Ouvrez une session pour dialoguer avec un agent. et le bouton Nouvelle session.
- Un clic sur une ligne, ou le menu de ligne Voir le détail, ouvre un panneau latéral avec la session lue par
GET /v1/sessions/{session_id}. - Nouvelle session ouvre un panneau latéral avec les champs Titre, Identifiant d'agent (obligatoire), Canal et Métadonnées (JSON, défaut
{}).
Actions
| Bouton ou action | Ce qu'il fait | Appel d'API | Rôles |
|---|---|---|---|
| Actualiser (icône) | Recharge la liste. | GET /v1/sessions | Tout membre du tenant |
| Nouvelle session | Crée la session pour l'agent ; l'agent est vérifié d'abord. | POST /v1/sessions | tenant_admin, developer, agent |
| Clic sur une ligne ou menu Voir le détail | Ouvre le panneau de détail. | GET /v1/sessions/{session_id} | Tout membre du tenant |
| Menu Messages | Affiche les messages de la session, dans l'ordre, dans un panneau latéral. | GET /v1/sessions/{session_id}/messages | Tout membre du tenant |
| Menu Supprimer | Ouvre Confirmer une action destructive ; saisissez l'identifiant de la session, puis Confirmer. | GET /v1/lineage/graph, puis DELETE /v1/sessions/{session_id} | tenant_admin, developer, agent |
| Réessayer (état d'erreur) | Relance la lecture qui a échoué. | Même appel | Mêmes rôles |
Rôles
Le portail ne masque aucun bouton. Dans services/control-plane/src/eai/domains/agents/routes.py, la création et la suppression contrôlent OPS_ROLES (tenant_admin, developer, agent, définis dans services/control-plane/src/eai/domains/agents/kit.py) ; la lecture demande un tenant, et un utilisateur ne voit que ses propres sessions, sauf tenant_admin, auditor et security_officer qui voient toutes les sessions (PRIVILEGED dans services/control-plane/src/eai/domains/agents/sessions.py). platform_admin passe tous les contrôles de rôle.
Tâches courantes
Ouvrir une session, puis y exécuter l'agent
- Créer la session. Une session contient les messages d'une conversation et vous appartient. Cliquez sur Nouvelle session, remplissez Identifiant d'agent et un Titre, puis cliquez sur Créer. Résultat attendu : le message Créé et une nouvelle ligne avec le statut de la session. En cas d'échec :
agent_not_found(404) signifie que l'identifiant d'agent est faux. - Copier son identifiant. Le formulaire d'exécution le demande. Ouvrez la ligne avec Voir le détail et copiez
id. Résultat attendu : vous avez l'identifiant de session. En cas d'échec : cliquez sur Réessayer dans le panneau. - Démarrer une exécution dans la session. L'exécution est rattachée à la session. Dans le Registre, ouvrez l'agent, cliquez sur Démarrer une exécution et collez l'identifiant dans Identifiant de session. Résultat attendu : l'exécution démarre et son contrat affiche le
session_id. En cas d'échec :session_not_found(404) signifie que l'identifiant est faux ou que la session a été supprimée.
Lire ce qu'un canal a échangé avec un agent
- Trouver la session. Les sessions d'un canal portent le nom du canal. Lisez la colonne Canal. Résultat attendu : vous trouvez la conversation. En cas d'échec : l'écran Canaux liste les sessions d'un canal avec son action Sessions.
- Lire les messages. Les messages sont conservés dans l'ordre avec leur rôle. Dans le menu de ligne, cliquez sur Messages. Résultat attendu : la liste des messages en JSON. En cas d'échec :
session_not_found(404) signifie que la session a été supprimée.
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
agent_not_found (404) sur Créer | Identifiant d'agent ne désigne aucun agent du tenant. | Copiez l'identifiant ou le nom depuis le Registre. |
session_not_found (404) | La session n'existe plus, ou elle appartient à un autre utilisateur et vous ne détenez ni tenant_admin, ni auditor, ni security_officer. | Cliquez sur Actualiser, ou demandez au propriétaire de la session. |
session_closed (409) : « La session est fermée ou a expiré. » | Un message a été ajouté à une session qui n'est plus ouverte ou dont la durée de vie est dépassée. | Créez une nouvelle session. |
forbidden (403) avec required_roles | Vos rôles ne sont pas tenant_admin, developer ou agent. | Demandez l'un de ces rôles à un administrateur du tenant. |
| JSON invalide sous Métadonnées | Les métadonnées ne sont pas du JSON valide. | Corrigez le JSON, par exemple {}. |