Aller au contenu principal

enterprise_ai.agent.clients

Source : sdks/python/src/enterprise_ai/agent/clients.py. Retour à l'index de la référence du SDK Python.

remarque

Cette page est générée par tools/docs/gen_sdk_reference.py depuis les sources du SDK et les dossiers de textes OpenAPI. Ne la modifiez pas à la main : changez la source et régénérez.

Classe AgentsClient​

Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.

Resource

AgentsClient.create​

create(manifest: dict[str, Any]) -> Any

Enregistrer un agent ou une version. Applique un manifeste Agent : crée l'agent, ou ajoute une version à un agent existant et la rend courante. Le manifeste est validé selon le contrat v1 (422 invalid_manifest) ; le niveau de risque unacceptable est refusé (422 agent_risk_unacceptable) ; la même version avec un autre contenu est refusée (409 version_immutable). apply_status dans la réponse vaut created, version_added ou unchanged. Demande tenant_admin, developer ou application_owner ; l'appelant devient propriétaire ReBAC. Audité sous agent.apply.

Route : /v1/agents (POST).

NomTypeDéfautRequisDescription
manifestdict[str, Any]ouiAgent Manifest envoyé comme corps de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Enregistrer un agent ou une version ».

Erreurs levées : les erreurs typées du transport (Erreurs).

AgentsClient.delete​

delete(agent_id: str) -> Any

Supprimer un agent. Supprime l'agent et ses versions. Demande le rôle tenant_admin et la relation ReBAC owner sur l'agent. Refusé avec 409 agent_has_active_runs tant qu'un run de l'agent est encore actif (en attente, en cours, en pause ou suspendu) ; 404 agent_not_found pour un agent inconnu. Audité sous agent.delete.

Route : /v1/agents/{agent_id} (DELETE).

NomTypeDéfautRequisDescription
agent_idstrouiIdentifiant (UUID) ou nom de l'agent.

Retour : Any. Réponse JSON décodée de l'opération « Supprimer un agent ».

Erreurs levées : les erreurs typées du transport (Erreurs).

AgentsClient.get​

get(agent_id: str) -> Any

Lire un agent. Renvoie l'agent, le manifeste de sa version courante et runs, le nombre de ses runs par état. Demande la relation ReBAC viewer sur l'agent. 404 agent_not_found.

Route : /v1/agents/{agent_id} (GET).

NomTypeDéfautRequisDescription
agent_idstrouiIdentifiant (UUID) ou nom de l'agent.

Retour : Any. Réponse JSON décodée de l'opération « Lire un agent ».

Erreurs levées : les erreurs typées du transport (Erreurs).

AgentsClient.kill​

kill(agent_id: str, reason: str | None = None) -> Any

Arrêter définitivement un agent. Kill switch : tous les runs actifs de l'agent sont annulés avec l'erreur killed et le statut de l'agent devient killed définitivement (il ne peut plus reprendre). Demande tenant_admin ou security_officer. 409 agent_killed s'il est déjà arrêté. La réponse liste affected_runs. Audité sous agent.kill.

Route : /v1/agents/{agent_id}/kill (POST).

NomTypeDéfautRequisDescription
agent_idstrouiIdentifiant (UUID) ou nom de l'agent.
reasonstr | NoneNonenonRaison de l'action. Inscrite dans le journal d'audit avec l'acteur et l'heure.

Retour : Any. Réponse JSON décodée de l'opération « Arrêter définitivement un agent ».

Erreurs levées : les erreurs typées du transport (Erreurs).

AgentsClient.list​

list(**page: Any) -> Any

Lister les agents. Agents du tenant, dans l'ordre des noms, paginés avec cursor. Tout principal du tenant peut l'appeler.

Route : /v1/agents (GET).

NomTypeDéfautRequisDescription
**pageAnynonOptions de pagination : limit (nombre maximal d'agents par page) et cursor (curseur de la page à lire).

Retour : Any. Réponse JSON décodée de l'opération « Lister les agents ».

Erreurs levées : les erreurs typées du transport (Erreurs).

AgentsClient.resume​

resume(agent_id: str) -> Any

Demander la reprise d'un agent. Ouvre une approbation de promotion pour ramener un agent suspendu à active et répond 202 avec approval_id et status: pending_approval ; les approbateurs sont tenant_admin ou security_officer. Une fois approuvée, les runs suspendus par la suspension de l'agent reprennent. Demande tenant_admin ou security_officer. Refusé avec 409 agent_killed, ou 409 kill_switch_active tant qu'un confinement SOC retient l'agent (levé uniquement via POST /v1/soc/recoveries).

Route : /v1/agents/{agent_id}/resume (POST).

NomTypeDéfautRequisDescription
agent_idstrouiIdentifiant (UUID) ou nom de l'agent.

Retour : Any. Réponse JSON décodée de l'opération « Demander la reprise d'un agent ».

Erreurs levées : les erreurs typées du transport (Erreurs).

AgentsClient.run​

run(agent_id: str, task: object = None, session_id: str | None = None, budgets: dict[str, Any] | None = None, start: bool | None = None, idempotency_key: str | None = None, **extra: Any) -> Any

Lancer un run d'un agent. Crée un run et renvoie son Execution Contract (201). Demande tenant_admin, developer ou agent, le scope agents:run et la relation ReBAC can_invoke. Étapes : 1. L'agent doit être active (sinon 409 agent_not_active, audité comme refus). 2. La politique agent.run est évaluée avec le risque, le propriétaire et la finalité de l'agent et la data_classification de la tâche (403 policy_denied). 3. Le budget est celui du manifeste, resserré par budgets (une requête ne peut jamais l'élargir ; 422 invalid_budget). 4. La délégation et l'identité de workload sont rattachées, le run est créé en pending (ou running avec start=true) et audité sous run.create. Une Idempotency-Key répétée renvoie le premier run ; la même clé pour un autre agent répond 409 idempotency_conflict. Un session_id inconnu répond 404 session_not_found.

Route : /v1/agents/{agent_id}/runs (POST).

NomTypeDéfautRequisDescription
agent_idstrouiIdentifiant (UUID) ou nom de l'agent.
taskobjectNonenonTâche du run : task_id, objective, input sont conservés ; data_classification sert au contrôle de politique.
session_idstr | NoneNonenonSession (UUID) à laquelle appartient le run.
budgetsdict[str, Any] | NoneNonenonLimites de budget (par exemple jetons maximaux, max_cost avec montant et devise). Elles ne peuvent que resserrer le budget du manifeste de l'agent ; la devise doit être la même.
startbool | NoneNonenonSi vrai, le run démarre en running. Faux par défaut (pending jusqu'à la première étape).
idempotency_keystr | NoneNonenonEn-tête Idempotency-Key : une reprise avec la même clé rejoue la première réponse.
**extraAnynonChamps supplémentaires fusionnés dans le corps de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Lancer un run d'un agent ».

Erreurs levées : les erreurs typées du transport (Erreurs).

AgentsClient.suspend​

suspend(agent_id: str, reason: str | None = None) -> Any

Suspendre un agent. Kill switch réversible : le statut de l'agent devient suspended, ses runs actifs passent à suspended et les nouveaux runs sont refusés. Demande tenant_admin ou security_officer. 409 agent_killed pour un agent arrêté. La réponse liste affected_runs. Audité sous agent.suspend.

Route : /v1/agents/{agent_id}/suspend (POST).

NomTypeDéfautRequisDescription
agent_idstrouiIdentifiant (UUID) ou nom de l'agent.
reasonstr | NoneNonenonRaison de l'action. Inscrite dans le journal d'audit avec l'acteur et l'heure.

Retour : Any. Réponse JSON décodée de l'opération « Suspendre un agent ».

Erreurs levées : les erreurs typées du transport (Erreurs).

AgentsClient.update​

update(agent_id: str, **changes: Any) -> Any

Modifier un agent. Modifie les champs de registre de l'agent (propriétaire, niveau de risque, description, libellés) sans créer de version. Demande tenant_admin, developer ou application_owner et la relation ReBAC editor. Une valeur invalide répond 400 invalid_request. Audité sous agent.update avec les noms des champs modifiés.

Route : /v1/agents/{agent_id} (PATCH).

NomTypeDéfautRequisDescription
agent_idstrouiIdentifiant (UUID) ou nom de l'agent.
**changesAnynonChamps de l'agent à modifier, envoyés comme corps du PATCH.

Retour : Any. Réponse JSON décodée de l'opération « Modifier un agent ».

Erreurs levées : les erreurs typées du transport (Erreurs).

AgentsClient.versions​

versions(agent_id: str) -> Any

Lister les versions d'un agent. Toutes les versions enregistrées de l'agent, de la plus récente à la plus ancienne, avec manifeste, empreinte, auteur et current (vrai pour la version en service). Demande la relation ReBAC viewer. Une seule page.

Route : /v1/agents/{agent_id}/versions (GET).

NomTypeDéfautRequisDescription
agent_idstrouiIdentifiant (UUID) ou nom de l'agent.

Retour : Any. Réponse JSON décodée de l'opération « Lister les versions d'un agent ».

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe RunsClient​

Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.

Resource

RunsClient.add_step​

add_step(run_id: str, step: dict[str, Any]) -> Any

Déclarer une étape d'un run. Enregistre une étape déclarée par le runtime et renvoie la décision du Loop Controller : run_state, next_kind, retry, backoff_seconds, error, approval_id et les budgets. Demande tenant_admin, developer ou agent. Étapes : 1. Le Kill Switch Registry et, pour une étape sensible, la chaîne de délégation, la session et la politique sont vérifiés. 2. Un run pending passe à running ; tout autre état que running répond 409 run_not_running. 3. L'usage et le coût s'ajoutent à la consommation de budget (coût dans la devise du run, sinon 400 invalid_request). 4. Une étape qui correspond à autonomy.human_approval_for sans approval_id reste pending, une approbation est ouverte et le run passe à waiting_approval ; une étape de type approval à l'état pending ouvre une approbation avec quorum. 5. Les budgets, le nombre maximal d'étapes et les nouvelles tentatives décident de l'état suivant (failed ou timed_out en cas de dépassement).

Route : /v1/runs/{run_id}/steps (POST).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run.
stepdict[str, Any]ouiRésolution des séries de métriques en secondes, de 10 à 86400, 60 par défaut.

Retour : Any. Réponse JSON décodée de l'opération « Déclarer une étape d'un run ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.cancel​

cancel(run_id: str, reason: str | None = None) -> Any

Annuler un run. Fait passer le run à cancelled avec l'erreur cancelled ; ses runs de sous-agents actifs sont aussi annulés. Demande tenant_admin, developer, agent ou security_officer. Un run déjà terminé répond 409 invalid_transition. Audité sous run.transition.

Route : /v1/runs/{run_id}/cancel (POST).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run.
reasonstr | NoneNonenonRaison de l'action. Inscrite dans le journal d'audit avec l'acteur et l'heure.

Retour : Any. Réponse JSON décodée de l'opération « Annuler un run ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.cancel_subagent​

cancel_subagent(subagent_run_id: str, reason: str | None = None) -> Any

Annuler un run. Fait passer le run à cancelled avec l'erreur cancelled ; ses runs de sous-agents actifs sont aussi annulés. Demande tenant_admin, developer, agent ou security_officer. Un run déjà terminé répond 409 invalid_transition. Audité sous run.transition.

Route : /v1/runs/{run_id}/cancel (POST).

NomTypeDéfautRequisDescription
subagent_run_idstrouiIdentifiant (UUID) du run.
reasonstr | NoneNonenonRaison de l'action. Inscrite dans le journal d'audit avec l'acteur et l'heure.

Retour : Any. Réponse JSON décodée de l'opération « Annuler un run ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.checkpoint​

checkpoint(run_id: str, state: dict[str, Any], label: str | None = None, **extra: Any) -> Any

Enregistrer un point de reprise. Enregistre un état du run avec le numéro de séquence suivant et la séquence d'étape courante, pour que le run puisse reprendre à partir de là. Demande tenant_admin, developer ou agent. Refusé avec 409 run_finished sur un run succeeded ou cancelled. Émet checkpoint.created ; audité sous run.checkpoint.

Route : /v1/runs/{run_id}/checkpoints (POST).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run.
statedict[str, Any]ouiÉtat à enregistrer, toute valeur JSON. Par défaut : objet vide.
labelstr | NoneNonenonLibellé du point de reprise (200 caractères au plus).
**extraAnynonChamps supplémentaires fusionnés dans le corps de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Enregistrer un point de reprise ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.checkpoints​

checkpoints(run_id: str) -> Any

Lister les points de reprise d'un run. Points de reprise du run dans l'ordre de séquence. Une seule page. 404 run_not_found.

Route : /v1/runs/{run_id}/checkpoints (GET).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run.

Retour : Any. Réponse JSON décodée de l'opération « Lister les points de reprise d'un run ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.delegate​

delegate(run_id: str, agent: str, task: object, budgets: dict[str, Any] | None = None) -> Any

Lancer un run de sous-agent. Lance un run enfant depuis un parent pending ou running (sinon 409 run_not_running) et renvoie son Execution Contract. Demande tenant_admin, developer ou agent et le scope agents:run. Contrôles, dans l'ordre : le Kill Switch Registry ; la profondeur selon autonomy.max_depth (1 par défaut, 409 subagent_depth_exceeded) ; le nombre d'enfants selon autonomy.max_subagents (3 par défaut, 409 subagent_count_exceeded) ; l'agent enfant selon la liste subagents du manifeste parent (403 subagent_not_allowed) ; la délégation du parent. Le budget de l'enfant ne peut dépasser ce qu'il reste au parent, l'enfant rejoint la session du parent et un parent en cours enregistre une étape subagent.

Route : /v1/runs/{run_id}/subagents (POST).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run parent.
agentstrouiAgent enfant, nom ou agent:<nom>. Par défaut : l'agent du run parent.
taskobjectouiTâche du run enfant (task_id, objective, input).
budgetsdict[str, Any] | NoneNonenonLimites de budget de l'enfant, plafonnées par ce qu'il reste au parent.

Retour : Any. Réponse JSON décodée de l'opération « Lancer un run de sous-agent ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.events​

events(run_id: str, last_event_id: str | None = None) -> Any

Suivre les événements d'un run. Flux Server-Sent Events (text/event-stream) des événements du run : run.created, run.state, step.recorded, checkpoint.created, subagent.spawned. Chaque message porte id, event et data (type, data, at). Étapes : 1. Les événements déjà enregistrés après Last-Event-ID sont envoyés. 2. Sans follow, le flux se termine aussitôt ; avec follow=true, il interroge chaque seconde. 3. Le flux se termine par un événement end portant l'état (state) du run quand le run est terminé, quand timeout est écoulé ou quand le client se déconnecte. 404 run_not_found.

Route : /v1/runs/{run_id}/events (GET).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run.
last_event_idstr | NoneNonenonIdentifiant du dernier événement déjà reçu, envoyé dans l'en-tête Last-Event-ID pour reprendre le flux après lui.

Retour : Any. Réponse JSON décodée de l'opération « Suivre les événements d'un run ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.get​

get(run_id: str) -> Any

Lire un run. Renvoie l'Execution Contract v1 du run : agent et version, tâche, état, étapes, limites et consommation de budget, erreurs, politique de nouvelle tentative, informations de reprise et trace. 404 run_not_found.

Route : /v1/runs/{run_id} (GET).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run.

Retour : Any. Réponse JSON décodée de l'opération « Lire un run ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.get_checkpoint​

get_checkpoint(checkpoint_id: str) -> Any

Lire un point de reprise. Renvoie un point de reprise : run, numéro de séquence, séquence d'étape au moment de l'enregistrement, libellé et état enregistré. 404 checkpoint_not_found.

Route : /v1/checkpoints/{checkpoint_id} (GET).

NomTypeDéfautRequisDescription
checkpoint_idstrouiIdentifiant (UUID) du point de reprise.

Retour : Any. Réponse JSON décodée de l'opération « Lire un point de reprise ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.heartbeat​

heartbeat(run_id: str, step: Any = None, message: str | None = None, progress: Any = None, worker: str | None = None, **extra: Any) -> Any

Envoyer un heartbeat de run. Enregistre que le runtime est vivant et lui indique s'il doit continuer : action vaut continue, ou stop avec une reason (run_cancelled, run_terminal, run_suspended, agent_killed, agent_suspended). La réponse donne aussi stale_after_seconds. Un run terminé n'est pas mis à jour. Demande tenant_admin, developer ou agent. Audité seulement pour le premier heartbeat d'un run et quand le runtime reçoit l'ordre d'arrêter.

Route : /v1/runs/{run_id}/heartbeat (POST).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run.
stepAnyNonenonRésolution des séries de métriques en secondes, de 10 à 86400, 60 par défaut.
messagestr | NoneNonenonMessage d'état (2000 caractères au plus).
progressAnyNonenonProgression : un nombre (par exemple une fraction de 0 à 1) ou un objet au choix du runtime.
workerstr | NoneNonenonWorker qui exécute le run (200 caractères au plus). Par défaut : le principal appelant.
**extraAnynonChamps supplémentaires fusionnés dans le corps de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Envoyer un heartbeat de run ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.list​

list(state: str | None = None, agent_id: str | None = None, session_id: str | None = None, parent_run_id: str | None = None, **page: Any) -> Any

Lister les runs. Runs du tenant, du plus récent au plus ancien, paginés avec cursor. Filtres : agent_id (identifiant ou nom ; agent en est un alias), state, session_id, parent_run_id. Un état inconnu ou un UUID mal formé répond 400 invalid_request.

Route : /v1/runs (GET).

NomTypeDéfautRequisDescription
statestr | NoneNonenonSeulement les runs dans cet état : pending, running, waiting_approval, waiting_input, suspended, succeeded, failed, cancelled ou timed_out.
agent_idstr | NoneNonenonSeulement les runs de cet agent (UUID ou nom).
session_idstr | NoneNonenonSeulement les runs de cette session (UUID).
parent_run_idstr | NoneNonenonSeulement les runs de sous-agents lancés par ce run parent (UUID).
**pageAnynonOptions de pagination : limit (nombre maximal de runs par page) et cursor (curseur de la page à lire).

Retour : Any. Réponse JSON décodée de l'opération « Lister les runs ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.replay​

replay(run_id: str) -> Any

Rejouer un run. Renvoie l'historique complet d'un run pour revue : son Execution Contract, ses étapes, ses points de reprise, les événements d'audit qui le citent et une timeline unique triée par date (événements du run et d'audit). Demande tenant_admin, developer, agent, auditor ou security_officer. Lecture seule : rien n'est réexécuté.

Route : /v1/runs/{run_id}/replay (GET).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run.

Retour : Any. Réponse JSON décodée de l'opération « Rejouer un run ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.resume​

resume(run_id: str, checkpoint_id: str | None = None) -> Any

Reprendre un run. Ramène à running un run suspended, failed, timed_out ou waiting_input (sinon 409 invalid_transition). Demande tenant_admin, developer ou agent ; l'agent doit être actif (409 agent_not_active). Stratégies : 1. from_last_checkpoint (par défaut, sauf pour waiting_input) : reprendre depuis checkpoint_id ou le dernier point de reprise (409 no_checkpoint s'il n'y en a pas). 2. restart_step (par défaut pour waiting_input) : rejouer l'étape courante. 3. restart_run : tout recommencer avec la consommation de budget remise à zéro. Un run en échec sur budget_exceeded, max_steps_exceeded, killed ou approval_rejected ne peut utiliser que restart_run (409 run_not_resumable). Renvoie le run et le point de reprise utilisé.

Route : /v1/runs/{run_id}/resume (POST).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run.
checkpoint_idstr | NoneNonenonIdentifiant (UUID) du point de reprise.

Retour : Any. Réponse JSON décodée de l'opération « Reprendre un run ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.spawn_subagent​

spawn_subagent(run_id: str, agent: str, task: object = None, **extra: Any) -> Any

Lancer un run de sous-agent. Lance un run enfant depuis un parent pending ou running (sinon 409 run_not_running) et renvoie son Execution Contract. Demande tenant_admin, developer ou agent et le scope agents:run. Contrôles, dans l'ordre : le Kill Switch Registry ; la profondeur selon autonomy.max_depth (1 par défaut, 409 subagent_depth_exceeded) ; le nombre d'enfants selon autonomy.max_subagents (3 par défaut, 409 subagent_count_exceeded) ; l'agent enfant selon la liste subagents du manifeste parent (403 subagent_not_allowed) ; la délégation du parent. Le budget de l'enfant ne peut dépasser ce qu'il reste au parent, l'enfant rejoint la session du parent et un parent en cours enregistre une étape subagent.

Route : /v1/runs/{run_id}/subagents (POST).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run parent.
agentstrouiAgent enfant, nom ou agent:<nom>. Par défaut : l'agent du run parent.
taskobjectNonenonTâche du run enfant (task_id, objective, input).
**extraAnynonChamps supplémentaires fusionnés dans le corps de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Lancer un run de sous-agent ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.stale_heartbeats​

stale_heartbeats(**params: Any) -> Any

Lister les heartbeats des runs. Vivacité des runs censés envoyer des heartbeats (running et waiting_input). Par défaut, seuls les runs sans heartbeat dans le délai sont renvoyés, avec active, stale_count et stale_after_seconds. Avec format=prometheus, la réponse est un texte d'exposition Prometheus (eai_runs_total, eai_runs_active, eai_runs_stale, eai_heartbeat_stale_threshold_seconds).

Route : /v1/heartbeats (GET).

NomTypeDéfautRequisDescription
**paramsAnynonChamps supplémentaires fusionnés dans la requête.

Retour : Any. Réponse JSON décodée de l'opération « Lister les heartbeats des runs ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.steps​

steps(run_id: str) -> Any

Lister les étapes d'un run. Étapes du run dans l'ordre, chacune avec seq, type, état, tentative, jetons, coût et erreur le cas échéant. Une seule page. 404 run_not_found.

Route : /v1/runs/{run_id}/steps (GET).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run.

Retour : Any. Réponse JSON décodée de l'opération « Lister les étapes d'un run ».

Erreurs levées : les erreurs typées du transport (Erreurs).

RunsClient.subagents​

subagents(run_id: str) -> Any

Lister les runs de sous-agents. Résumés des runs enfants lancés par ce run, du plus ancien au plus récent. Une seule page. 404 run_not_found.

Route : /v1/runs/{run_id}/subagents (GET).

NomTypeDéfautRequisDescription
run_idstrouiIdentifiant (UUID) du run parent.

Retour : Any. Réponse JSON décodée de l'opération « Lister les runs de sous-agents ».

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe SessionsClient​

Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.

Resource

SessionsClient.create​

create(agent_id: str | None = None, **extra: Any) -> Any

Ouvrir une session. Ouvre une session de conversation, détenue par user_id ou par l'appelant. Ouvrir une session pour un autre utilisateur demande tenant_admin ou agent (403 forbidden). Demande tenant_admin, developer ou agent. 404 agent_not_found pour un agent_id inconnu. Audité sous session.create.

Route : /v1/sessions (POST).

NomTypeDéfautRequisDescription
agent_idstr | NoneNonenonAgent de la conversation (UUID ou nom).
**extraAnynonChamps supplémentaires fusionnés dans le corps de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Ouvrir une session ».

Erreurs levées : les erreurs typées du transport (Erreurs).

SessionsClient.delete​

delete(session_id: str) -> Any

Supprimer une session. Supprime la session et ses messages. Demande tenant_admin, developer ou agent, et l'appelant doit voir la session (son propriétaire, ou tenant_admin, auditor, security_officer, agent) ; sinon 404 session_not_found. Audité sous session.delete.

Route : /v1/sessions/{session_id} (DELETE).

NomTypeDéfautRequisDescription
session_idstrouiIdentifiant (UUID) de la session.

Retour : Any. Réponse JSON décodée de l'opération « Supprimer une session ».

Erreurs levées : les erreurs typées du transport (Erreurs).

SessionsClient.get​

get(session_id: str) -> Any

Lire une session. Renvoie une session. Visible par son propriétaire, par tenant_admin, auditor, security_officer et par le rôle agent ; sinon 404 session_not_found.

Route : /v1/sessions/{session_id} (GET).

NomTypeDéfautRequisDescription
session_idstrouiIdentifiant (UUID) de la session.

Retour : Any. Réponse JSON décodée de l'opération « Lire une session ».

Erreurs levées : les erreurs typées du transport (Erreurs).

SessionsClient.list​

list(**page: Any) -> Any

Lister les sessions. Sessions, de la plus récente à la plus ancienne, paginées avec cursor. Un appelant voit ses propres sessions ; tenant_admin, auditor et security_officer voient toutes les sessions du tenant.

Route : /v1/sessions (GET).

NomTypeDéfautRequisDescription
**pageAnynonOptions de pagination : limit (nombre maximal de sessions par page) et cursor (curseur de la page à lire).

Retour : Any. Réponse JSON décodée de l'opération « Lister les sessions ».

Erreurs levées : les erreurs typées du transport (Erreurs).

SessionsClient.messages​

messages(session_id: str, **page: Any) -> Any

Lister les messages d'une session. Messages dans l'ordre, paginés avec cursor. after (identifiant de message ou horodatage) permet à un runtime de ne récupérer que les nouveaux messages ; un identifiant inconnu ou un horodatage mal formé répond 400 invalid_request.

Route : /v1/sessions/{session_id}/messages (GET).

NomTypeDéfautRequisDescription
session_idstrouiIdentifiant (UUID) de la session.
**pageAnynonOptions de pagination : limit (nombre maximal de messages par page) et cursor (curseur de la page à lire).

Retour : Any. Réponse JSON décodée de l'opération « Lister les messages d'une session ».

Erreurs levées : les erreurs typées du transport (Erreurs).

SessionsClient.post_message​

post_message(session_id: str, content: str, role: str = 'user', **extra: Any) -> Any

Ajouter un message à une session. Ajoute un message avec le numéro de séquence suivant. La session doit être ouverte et non expirée (409 session_closed). Demande tenant_admin, developer ou agent. L'événement d'audit session.message.add ne garde que le rôle et la longueur, jamais le contenu.

Route : /v1/sessions/{session_id}/messages (POST).

NomTypeDéfautRequisDescription
session_idstrouiIdentifiant (UUID) de la session.
contentstrouiTexte du message (1 à 200000 caractères).
rolestr'user'nonRôle de l'auteur : user (par défaut), assistant, system ou tool.
**extraAnynonChamps supplémentaires fusionnés dans le corps de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Ajouter un message à une session ».

Erreurs levées : les erreurs typées du transport (Erreurs).

Classe A2AClient​

Agents. Registre des agents du tenant et exécution côté serveur de leurs runs : étapes, budgets, points de reprise, heartbeats, sous-agents, messages d'agent à agent (A2A), sessions de conversation, planifications cron, déclencheurs sur événement et exécutions en sandbox.

Resource

A2AClient.inbox​

inbox(recipient: str, unread: bool | None = None, **page: Any) -> Any

Lire une boîte de réception A2A. Renvoie les messages A2A adressés à recipient, du plus ancien au plus récent, chacun avec verified (la signature HMAC-SHA256 de l'enveloppe correspond à la clé du tenant). La lecture marque les messages renvoyés comme lus. Une seule page (next_cursor vaut toujours null).

Route : /v1/a2a/inbox (GET).

NomTypeDéfautRequisDescription
recipientstrouiPartie dont la boîte est lue : agent:<nom> ou run:<id> (au moins 3 caractères).
unreadbool | NoneNonenonSi vrai, seulement les messages pas encore lus. Faux par défaut.
**pageAnynonOptions de pagination : limit (nombre maximal de messages par page) et cursor (curseur de la page à lire).

Retour : Any. Réponse JSON décodée de l'opération « Lire une boîte de réception A2A ».

Erreurs levées : les erreurs typées du transport (Erreurs).

A2AClient.send​

send(to: str, payload: dict[str, Any] | None = None, type: str = 'request', sender: str | None = None, conversation_id: str | None = None, in_reply_to: str | None = None, **extra: Any) -> Any

Envoyer un message A2A. Envoie un message signé d'agent à agent (enveloppe a2a.v1, signature HMAC-SHA256 propre au tenant). Demande tenant_admin, developer ou agent. Étapes : 1. to et from sont résolus : agent:<nom> ou run:<id> (400 invalid_request sinon). Sans from, l'expéditeur est le principal appelant. 2. Un expéditeur run: doit être un run créé par l'appelant (ou l'appelant est tenant_admin, sinon 403 forbidden) et non terminé (409 run_finished). 3. La politique agent.a2a.send est évaluée et la charge utile est filtrée comme contenu non fiable ; une injection de prompt est refusée avec prompt_injection_blocked après enregistrement de l'événement de sécurité. 4. L'enveloppe est déposée dans la boîte du destinataire et auditée sous a2a.send.

Route : /v1/a2a/messages (POST).

NomTypeDéfautRequisDescription
tostrouiDestinataire : agent:<nom> ou run:<id> (3 à 300 caractères).
payloaddict[str, Any] | NoneNonenonContenu du message, toute valeur JSON. Filtré contre l'injection de prompt avant remise.
typestr'request'nonType de message : request, response ou event.
senderstr | NoneNonenonIdentifiant de l'agent émetteur, envoyé dans le champ from de l'enveloppe ; omis s'il est vide.
conversation_idstr | NoneNonenonConversation à laquelle appartient le message (200 caractères au plus). Une nouvelle est générée si omise.
in_reply_tostr | NoneNonenonIdentifiant du message auquel celui-ci répond.
**extraAnynonChamps supplémentaires fusionnés dans le corps de la requête.

Retour : Any. Réponse JSON décodée de l'opération « Envoyer un message A2A ».

Erreurs levées : ValueError, les erreurs typées du transport (Erreurs).