resources/media.ts
Source : sdks/typescript/packages/sdk/src/resources/media.ts. Retour à l'index de la référence du SDK TypeScript.
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.
Alias de type MediaOperation
Opération pour laquelle un média est envoyé, par exemple stt, ocr, image_generation ou voice_live.
Définition : \| "stt" \| "tts" \| "ocr" \| "vision_understanding" \| "image_generation" \| "image_edit" \| "video_generation" \| "video_processing" \| "diarization" \| "document_extraction" \| "voice_live".
Interface MediaUpload
Entrée de MediaResource.upload : le fichier et ses réglages d'envoi.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
file | Blob | oui | Contenu à envoyer, transmis avec filename (file par défaut). |
filename | string | non | Nom du fichier téléversé, envoyé avec la partie multipart (file par défaut). |
mime_type | string | non | Type de média du contenu, par exemple application/pdf ou image/png. |
operation | MediaOperation | non | Opération à laquelle le média est destiné. |
classification | "public" | "internal" | "confidential" | "restricted" | "secret" | non | Classification du média : public, internal, confidential, restricted ou secret. |
dlp_mode | "detect" | "mask" | "tokenize" | "block" | non | Mode DLP appliqué au média : detect, mask, tokenize ou block. |
retention_days | number | non | Nombre de jours pendant lesquels une sauvegarde est conservée avant de pouvoir être supprimée, 1 ou plus. |
Classe MediaResource
Multimodal. Médias et traitement multimodal : stockage chiffré de médias et travaux de vision, génération et retouche d'images, traitement et génération de vidéos, transcription de la parole, diarisation, synthèse vocale et DLP multimodale.
Resource
MediaResource.delete
delete(id: string, opts?: CallOptions)
Supprimer un média. Supprime le média et son contenu stocké. Permis pour son créateur, tenant_admin ou security_officer (403 forbidden). Un média sous conservation légale répond 409 legal_hold. Audité sous media.delete.
Route : /v1/media/{media_id} (DELETE).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) du média. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MediaResource.get
get(id: string, options: { includeContent?: boolean } & CallOptions = {})
Lire un média. Renvoie le document Multimodal Contract du média. Avec include_content=true, la réponse est {media, content_base64} avec le contenu déchiffré ; cela demande une habilitation au moins égale à la classification du média (403 policy_denied) et est audité sous media.read.
Route : /v1/media/{media_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) du média. | |
options | { includeContent?: boolean } & CallOptions | {} | non | Options de l'appel (clé d'idempotence, traceparent, en-têtes, signal d'annulation). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MediaResource.list
list(params?: ListParams, opts?: CallOptions)
Lister les médias. Médias du tenant (documents Multimodal Contract), paginés par clé avec cursor, filtrés par media_type et classification (400 invalid_request pour une valeur inconnue).
Route : /v1/media (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
params | ListParams | non | Champs supplémentaires fusionnés dans la requête. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MediaResource.upload
upload(input: MediaUpload | FormData, opts?: CallOptions)
Téléverser un média. Enregistre un média (201) à partir de JSON {content_base64, mime_type, filename?, operation?, dlp_mode?, retention_days?, classification?} ou de multipart/form-data avec une partie file et les mêmes champs. Tout principal du tenant peut l'appeler. Étapes : 1. Taille contrôlée par rapport au maximum de la plateforme (50 Mio sauf configuration ; 413 media_too_large). 2. Analyse du fichier par ClamAV et YARA-X (422 file_blocked, 503 file_scan_unavailable). 3. Extraction du texte et DLP avec dlp_mode (detect par défaut ; block répond 422 dlp_blocked quand des données personnelles sont trouvées) ; la classification est relevée en conséquence. 4. Le contenu est chiffré avec une clé du tenant et enregistré. Renvoie le document Multimodal Contract.
Route : /v1/media (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
input | MediaUpload | FormData | oui | Un FormData prêt, ou un MediaUpload converti en FormData. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
Classe MultimodalResource
Multimodal. Médias et traitement multimodal : stockage chiffré de médias et travaux de vision, génération et retouche d'images, traitement et génération de vidéos, transcription de la parole, diarisation, synthèse vocale et DLP multimodale.
Resource
Attributs :
| Nom | Type | Requis | Description |
|---|---|---|---|
body | { status: "running" | "succeeded" | "failed" | "cancelled"; output?: Doc; error?: string; units?: Doc }, | oui | Résultat du job envoyé par completeJob : statut, sortie, erreur et unités mesurées. |
id | string, | oui | Identifiant du job terminé par completeJob. |
opts | CallOptions, | non | Options par appel de completeJob. |
MultimodalResource.completeJob
completeJob(id: string, body: { status: "running" | "succeeded" | "failed" | "cancelled"; output?: Doc; error?: string; units?: Doc }, opts?: CallOptions)
Signaler le résultat d'un travail en file. Appelé par les workers GPU (identités d'agent ou de service) pour signaler le résultat d'un travail en file : statut running, succeeded, failed ou cancelled (sinon 400 invalid_request), avec sortie, erreur et unités mesurées ; la réservation de quota est validée ou libérée. Un travail terminé répond 409 conflict. Demande agent ou tenant_admin. 404 not_found.
Route : /v1/multimodal/jobs/{job_id}/complete (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) du travail. | |
body | { status: "running" | "succeeded" | "failed" | "cancelled"; output?: Doc; error?: string; units?: Doc } | oui | Statut, sortie, erreur et unités mesurées du travail. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MultimodalResource.diarize
diarize(body: Doc, opts?: CallOptions)
Diariser un audio. Lance un travail de diarisation (qui a parlé quand) sur un média audio ou un audio fourni directement (201, le travail). Seuls min_speakers et max_speakers s'appliquent ici (word_timestamps répond 422 parameter_unsupported) ; min_speakers ne doit pas dépasser max_speakers (422 parameter_invalid) ; une option que le fournisseur configuré ne peut pas honorer répond 422 parameter_unsupported. Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/diarize (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Entrée audio et bornes du nombre de locuteurs. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MultimodalResource.dlp
dlp(body: Doc, opts?: CallOptions)
Exécuter la DLP sur un texte ou un média. Inspecte text, le texte extrait d'un média enregistré, ou un contenu fourni directement (analysé d'abord), avec les règles DLP du tenant. Renvoie source, extracted_text_chars, le text traité, findings, action et classification. Rien n'est enregistré. Tout principal du tenant peut l'appeler. Audité sous multimodal.dlp.
Route : /v1/multimodal/dlp (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Texte, média enregistré ou contenu direct, et mode DLP. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MultimodalResource.editImage
editImage(body: Doc, opts?: CallOptions)
Retoucher une image. Lance un travail de retouche d'image à partir d'un média image ou d'une image fournie directement et d'un prompt (201, le travail). L'entrée doit être une image (422 unsupported_media). Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/images/edit (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Image d'entrée, prompt, nombre d'images, taille et modèle. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MultimodalResource.generateImage
generateImage(body: Doc, opts?: CallOptions)
Générer des images. Lance un travail de génération d'images (201, le travail). Le prompt est d'abord inspecté par la DLP en mode blocage : des données personnelles répondent 422 dlp_blocked. L'usage est compté par image. Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/images/generate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Prompt, nombre d'images, taille et modèle. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MultimodalResource.generateVideo
generateVideo(body: Doc, opts?: CallOptions)
Générer une vidéo. Lance un travail de génération vidéo et répond 202 avec le travail ; suivez-le avec GET /v1/multimodal/jobs/{job_id}. L'usage est compté en secondes de vidéo. Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/video/generate (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Prompt, durée, taille et modèle. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MultimodalResource.getJob
getJob(id: string, opts?: CallOptions)
Lire un travail multimodal. Renvoie le travail : opération, statut, paramètres d'entrée, sortie, erreur, adaptateur, unités et coût. 404 not_found.
Route : /v1/multimodal/jobs/{job_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) du travail. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MultimodalResource.listJobs
listJobs(params?: ListParams, opts?: CallOptions)
Lister les travaux multimodaux. Travaux du tenant, du plus récent au plus ancien, paginés avec cursor, filtrables par statut et opération.
Route : /v1/multimodal/jobs (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
params | ListParams | non | Champs supplémentaires fusionnés dans la requête. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MultimodalResource.processVideo
processVideo(body: Doc, opts?: CallOptions)
Traiter une vidéo. Extrait des images et/ou la piste audio d'un média vidéo ou d'une vidéo fournie directement (201, le travail ; mis en file quand ffmpeg n'est pas disponible). operations n'accepte que frames et audio (400 invalid_request). Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/video/process (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Vidéo d'entrée, opérations, fréquence d'images et fréquence d'échantillonnage audio. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MultimodalResource.stt
stt(body: Doc, opts?: CallOptions)
Transcrire la parole en texte. Lance un travail de transcription sur un média audio ou un audio fourni directement (201, le travail). La transcription passe par la DLP avec dlp_mode. Seul word_timestamps s'applique ici (les bornes de locuteurs répondent 422 parameter_unsupported). L'usage est compté en secondes d'audio (duration_seconds, ou lu dans un en-tête WAV). Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/stt (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Entrée audio, langue, modèle, mode DLP et options. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MultimodalResource.tts
tts(body: Doc, opts?: CallOptions)
Synthétiser la parole à partir d'un texte. Lance un travail de synthèse vocale (201, le travail). Le texte est inspecté par la DLP avec dlp_mode (block par défaut : des données personnelles répondent 422 dlp_blocked ; mask prononce le texte masqué). L'usage est compté en caractères. Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/tts (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Texte, voix, modèle et mode DLP. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
MultimodalResource.vision
vision(body: Doc, opts?: CallOptions)
Analyser une image. Lance un travail d'analyse d'image sur un média image ou une image fournie directement avec un prompt (201, le travail). La réponse passe par la DLP avec dlp_mode. detail répond 422 parameter_unsupported quand le fournisseur configuré ne peut pas l'honorer ; une entrée qui n'est pas une image répond 422 unsupported_media. Demande tenant_admin, developer ou agent.
Route : /v1/multimodal/vision (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Image d'entrée, prompt, modèle, mode DLP et niveau de détail. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
Interface RealtimeSessionView
Vue d'une session temps réel renvoyée par GET /v1/realtime/sessions/{id} et POST .../end.
Doc
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
id | string | oui | Identifiant de la session. |
room | string | oui | Nom de la salle LiveKit (1 à 128 lettres, chiffres, ., _, -). Par défaut : dérivé du tenant et de la session. |
identity | string | oui | Identité du participant dans la salle. |
pipeline | "echo" | "stt" | string | oui | echo (par défaut) ou stt. |
config | Doc | oui | Configuration de la session. |
status | string | oui | État de la session. |
audio_seconds | number | string | oui | Secondes d'audio traitées. |
input_tokens | number | oui | Jetons d'entrée consommés par la session. |
output_tokens | number | oui | Jetons de sortie consommés par la session. |
usage | Doc | null | oui | Compteurs d'usage ajoutés à la consommation de budget, par exemple input_tokens, output_tokens. |
created_by | string | oui | Principal qui a créé la session. |
created_at | string | oui | Date de création de la session. |
ended_at | string | null | oui | Date de fin de la session, null tant qu'elle est ouverte. |
Interface RealtimeSession
Réponse de POST /v1/realtime/sessions : la vue et les éléments de connexion.
RealtimeSessionView
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
session_id | string | oui | Identifiant de la session. |
ws_url | string | oui | Chemin relatif /v1/realtime/ws/{id}?token=<ws_token>. |
ws_token | string | oui | Jeton à usage unique du WebSocket ; createToken en fournit un nouveau avant une reconnexion. |
livekit | { url: string; token: string; room: string; configured: boolean } | oui | URL, jeton et salle LiveKit, et indication de la configuration de LiveKit. |
Interface RealtimeConsent
Corps de POST /v1/realtime/sessions/{id}/consents.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
purpose | string | oui | Usage de la cible. backup par défaut. |
retention_days | number | oui | Nombre de jours pendant lesquels une sauvegarde est conservée avant de pouvoir être supprimée, 1 ou plus. |
method | string | non | Nom de la méthode, par exemple basic, token ou none. |
participant_identity | string | non | Identité du participant (1 à 128 lettres, chiffres, ., _, :, @, -). Par défaut : le participant de la session. |
recording_allowed | boolean | non | Si l'audio peut être enregistré. Faux par défaut. |
transcription_allowed | boolean | non | Si la parole peut être transcrite et conservée. Faux par défaut. |
Classe RealtimeResource
Voix en temps réel. Sessions de voix en temps réel : un jeton de salle LiveKit et un protocole d'événements WebSocket pour diffuser de l'audio vers un agent, avec consentement des participants, tours de parole, transcriptions filtrées par la DLP, enregistrements facultatifs et comptage d'usage.
Resource
RealtimeResource.createSession
createSession(body: { pipeline?: "echo" | "stt"; room?: string; ttl_seconds?: number; config?: Doc; agent_id?: string; on_behalf_of?: string } = {}, opts?: CallOptions)
Ouvrir une session temps réel. Ouvre une session (201) et la renvoie avec session_id, livekit (url, token, room, configured) et l'accès WebSocket (ws_url, ws_token, ws_token_expires_at). Demande tenant_admin, developer ou agent. Contrôles : pipeline vaut echo ou stt (400 invalid_request) ; config.vad et config.dlp_mode sont valides (422 parameter_invalid) ; un appelant agent agit pour on_behalf_of, un utilisateur ne peut ouvrir une session que pour lui-même (403 identity_mismatch) ; les identifiants LiveKit sont configurés ; la politique realtime.session.create est évaluée. La salle prend par défaut un nom dérivé du tenant et de la session. Audité sous realtime.session.create.
Route : /v1/realtime/sessions (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | { pipeline?: "echo" | "stt"; room?: string; ttl_seconds?: number; config?: Doc; agent_id?: string; on_behalf_of?: string } | {} | non | Salle, pipeline, durée de vie du jeton, configuration, agent et utilisateur représenté. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
RealtimeResource.createToken
createToken(id: string, opts?: CallOptions)
Obtenir un nouveau jeton WebSocket. Nouveau jeton WebSocket à usage unique pour une session ouverte (reconnexion), lu sous RLS : ws_url, ws_token, ws_token_expires_at. 409 session_ended ; 404 not_found. Demande tenant_admin, developer ou agent. Audité sous realtime.session.token.
Route : /v1/realtime/sessions/{session_id}/token (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la session temps réel. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
RealtimeResource.endSession
endSession(id: string, opts?: CallOptions)
Terminer une session temps réel. Termine la session et enregistre son événement d'usage (voice_live : secondes d'audio, jetons d'entrée et de sortie, coût mesuré). Terminer une session déjà terminée la renvoie sans changement. Demande tenant_admin, developer ou agent. Audité sous realtime.session.end.
Route : /v1/realtime/sessions/{session_id}/end (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la session temps réel. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
RealtimeResource.getSession
getSession(id: string, opts?: CallOptions)
Lire une session temps réel. Renvoie la session : salle, identités, agent, pipeline, configuration, statut, secondes d'audio, jetons et usage. 404 not_found.
Route : /v1/realtime/sessions/{session_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la session temps réel. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
RealtimeResource.listConsents
listConsents(id: string, opts?: CallOptions)
Lister les consentements d'une session. Consentements enregistrés pour la session, dans l'ordre de recueil, avec leur révocation le cas échéant. Une seule page.
Route : /v1/realtime/sessions/{session_id}/consents (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la session temps réel. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
RealtimeResource.recordConsent
recordConsent(id: string, body: RealtimeConsent, opts?: CallOptions)
Enregistrer le consentement d'un participant. Consentement d'un participant (finalité, enregistrement, transcription, conservation, méthode), recueilli par l'appelant (201). Le participant est par défaut celui de la session. La méthode doit être verbal, click, written ou api (422 parameter_invalid) ; la session ne doit pas être terminée (409 session_ended) ; la politique realtime.consent.record est évaluée. Demande tenant_admin, developer ou agent. Audité sous realtime.consent.record.
Route : /v1/realtime/sessions/{session_id}/consents (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la session temps réel. | |
body | RealtimeConsent | oui | Le consentement du participant. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
RealtimeResource.revokeConsent
revokeConsent(id: string, consentId: string, opts?: CallOptions)
Révoquer un consentement. La révocation prend effet au prochain événement audio : transcription et enregistrement sont de nouveau refusés. Un consentement déjà révoqué ou inconnu répond 404 not_found. Demande tenant_admin, developer ou agent. Audité sous realtime.consent.revoke.
Route : /v1/realtime/sessions/{session_id}/consents/{consent_id}/revoke (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la session temps réel. | |
consentId | string | oui | Identifiant (UUID) du consentement. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
RealtimeResource.transcripts
transcripts(id: string, opts?: CallOptions)
Lister les transcriptions d'une session. Transcriptions conservées, déjà filtrées par la DLP (la transcription brute n'est jamais conservée), avec tour, consentement, participant, détections DLP et expiration. Demande tenant_admin, developer, auditor ou security_officer.
Route : /v1/realtime/sessions/{session_id}/transcripts (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la session temps réel. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
RealtimeResource.turns
turns(id: string, opts?: CallOptions)
Lister les tours d'une session. Tours avec le participant, l'utilisateur, l'agent, l'identifiant de trace, le statut (une interruption enregistre cancelled) et la latence mesurée, dans l'ordre. Une seule page.
Route : /v1/realtime/sessions/{session_id}/turns (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la session temps réel. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
Classe EvaluationsResource
Évaluation et red team. Qualité des systèmes d'IA du tenant : suites d'évaluation, exécutions, barrières de qualité avant promotion, comparaisons A/B avec une référence et campagnes de red team.
Resource
EvaluationsResource.checkGate
checkGate(body: Doc, opts?: CallOptions)
Vérifier la barrière de qualité d'une cible. Vérifie que la dernière exécution terminée de chaque suite bloquante de la cible (pour target.version si elle est donnée, et limitée à suite_ids s'il est donné) a réussi. Avec run_missing: true, une suite sans exécution est exécutée maintenant ; sinon elle compte comme missing.
Route : /v1/evaluations/gates/check (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Cible, suites facultatives et exécution ou non des suites manquantes. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvaluationsResource.createComparison
createComparison(body: Doc, opts?: CallOptions)
Comparer un candidat à une référence. Exécute une suite deux fois, sur la référence baseline et sur le candidate (chacun {type, ref, version}, type model par défaut, agent ou prompt), et enregistre les deux exécutions, les écarts par métrique et le verdict. Les écarts sont orientés par le comparateur de chaque métrique (gte : plus haut est mieux, lte : plus bas est mieux).
Route : /v1/evaluations/comparisons (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Objet JSON : suite_id, baseline, candidate, et en option tolerance (0 à 1, 0 par défaut) et outputs ({"baseline": [...], "candidate": [...]}, sorties précalculées par cas). | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvaluationsResource.createRun
createRun(body: Doc, opts?: CallOptions)
Exécuter une suite d'évaluation. Exécute une suite maintenant et renvoie l'exécution terminée (201). Exige tenant_admin, developer, security_officer ou ai_governance_officer ou agent.
Route : /v1/evaluations/runs (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Suite, cible facultative, sorties précalculées et déclencheur. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvaluationsResource.createSuite
createSuite(body: Doc, opts?: CallOptions)
Créer une suite d'évaluation. Crée une suite. Exige tenant_admin, developer, security_officer ou ai_governance_officer. Erreurs 400 invalid_request : type de cible hors de model, agent, prompt, rag_pipeline, skill ou tool, moteur ou type inconnu, comparateur autre que gte ou lte, ou, pour le moteur custom, une métrique autre que exact_match, contains, not_contains, json_valid, faithfulness, latency ou refusal. Un nom déjà utilisé répond 409 conflict. Le jeu de données reçoit sa taille size et une empreinte SHA-256 digest des cas. Écrit l'événement d'audit evaluation.suite.create.
Route : /v1/evaluations/suites (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Nom, cible, moteur, type, jeu de données, cas, métriques et options de barrière. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvaluationsResource.getComparison
getComparison(id: string, opts?: CallOptions)
Lire une comparaison A/B. Renvoie une comparaison. Exige tenant_admin, developer, security_officer, auditor, viewer ou finops. Répond 404 comparison_not_found.
Route : /v1/evaluations/comparisons/{comparison_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la comparaison. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvaluationsResource.getRun
getRun(id: string, opts?: CallOptions)
Lire une exécution d'évaluation. Renvoie une exécution d'évaluation avec ses résultats par métrique et par cas. Ouvert à tout membre du tenant. Répond 404 not_found.
Route : /v1/evaluations/runs/{run_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de l'exécution d'évaluation. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvaluationsResource.getSuite
getSuite(id: string, opts?: CallOptions)
Lire une suite d'évaluation. Renvoie une suite avec la liste complète de ses cas et run_on_promotion. Ouvert à tout membre du tenant. Répond 404 not_found.
Route : /v1/evaluations/suites/{suite_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la suite. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvaluationsResource.listComparisons
listComparisons(query: { suite_id?: string } = {}, opts?: CallOptions)
Lister les comparaisons A/B. Liste les comparaisons du tenant, les plus récentes d'abord, 200 au plus, éventuellement pour une seule suite. Chacune donne la référence, le candidat, les identifiants des deux exécutions, les écarts par métrique, la tolérance et le verdict. Exige tenant_admin, developer, security_officer, auditor, viewer ou finops.
Route : /v1/evaluations/comparisons (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | { suite_id?: string } | {} | non | Paramètres de la chaîne de requête de la route. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvaluationsResource.listRuns
listRuns(params?: ListParams, opts?: CallOptions)
Lister les exécutions d'évaluation. Liste les exécutions d'évaluation du tenant, identifiant le plus récent d'abord, paginées, éventuellement filtrées par suite et statut. Chaque élément suit le contrat d'évaluation (cible, moteur, jeu de données, métriques, résultats, statut, coût) avec run_id, suite_id, trigger, case_results et error. Ouvert à tout membre du tenant.
Route : /v1/evaluations/runs (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
params | ListParams | non | Champs supplémentaires fusionnés dans la requête. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
EvaluationsResource.listSuites
listSuites(params?: ListParams, opts?: CallOptions)
Lister les suites d'évaluation. Liste les suites du tenant triées par nom, paginées, sous forme de documents du contrat d'évaluation ; cases donne le nombre de cas. Ouvert à tout membre du tenant.
Route : /v1/evaluations/suites (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
params | ListParams | non | Champs supplémentaires fusionnés dans la requête. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
Classe RedteamResource
Évaluation et red team. Qualité des systèmes d'IA du tenant : suites d'évaluation, exécutions, barrières de qualité avant promotion, comparaisons A/B avec une référence et campagnes de red team.
Resource
RedteamResource.createRun
createRun(body: Doc, opts?: CallOptions)
Lancer une campagne de red team. Envoie des sondes adverses à la cible et enregistre les constats. Exige tenant_admin, developer, security_officer ou ai_governance_officer.
Route : /v1/redteam/runs (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | oui | Cible, moteur, sondes et taux de réussite des attaques accepté. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
RedteamResource.getRun
getRun(id: string, opts?: CallOptions)
Lire une campagne de red team. Renvoie une campagne de red team : cible, moteur, sondes, statut, synthèse (total, vulnérables, taux de réussite des attaques, seuil, par catégorie) et constats. Ouvert à tout membre du tenant. Répond 404 not_found.
Route : /v1/redteam/runs/{run_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de la campagne de red team. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
RedteamResource.listRuns
listRuns(params?: ListParams, opts?: CallOptions)
Lister les campagnes de red team. Liste les campagnes de red team du tenant, identifiant le plus récent d'abord, paginées, ainsi que probes : les sondes intégrées (identifiant et catégorie), les familles de sondes garak et si garak est installé. Ouvert à tout membre du tenant.
Route : /v1/redteam/runs (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
params | ListParams | non | Champs supplémentaires fusionnés dans la requête. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
Classe AuditResource
Événements d'audit (/v1/audit) : liste, événements applicatifs, vérifications de la chaîne de hachage, export WORM et corrélations.
Resource
AuditResource.correlations
correlations(query?: Query, opts?: CallOptions)
Corréler les événements par trace, exécution ou session. Avec trace_id, run_id ou session_id (le premier donné l'emporte), renvoie tout ce qui partage cette clé : audit_events, usage_events des LLM, runs, spans de télémétrie, multimodal_jobs (jusqu'à 1000 de chaque, 200 pour les exécutions et les tâches), les trace_ids rencontrés et counts.
Route : /v1/audit/correlations (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | Query | non | Paramètres de la chaîne de requête de la route. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
AuditResource.export
export(body: Doc = {}, opts?: CallOptions)
Exporter le journal d'audit. Écrit les événements de la période (bornes incluses) dans un stockage à écriture unique, en NDJSON ou en CSV, avec un manifeste. Exige auditor, security_officer ou tenant_admin.
Route : /v1/audit/export (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | Doc | {} | non | Période, rétention et format de l'export. Un corps vide exporte tout en NDJSON conservé 365 jours. |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
AuditResource.get
get(id: string, opts?: CallOptions)
Lire un événement d'audit. Renvoie un événement d'audit avec sa séquence, ses empreintes, son acteur, sa ressource, sa décision et ses preuves. Exige auditor, security_officer ou tenant_admin. La lecture est inscrite dans le journal d'accès aux preuves. Répond 404 not_found.
Route : /v1/audit/events/{event_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
id | string | oui | Identifiant (UUID) de l'événement d'audit. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
AuditResource.iterate
iterate(params?: ListParams, opts?: CallOptions)
Rechercher les événements d'audit. Recherche les événements d'audit du tenant, les plus récents d'abord (séquence la plus haute d'abord), paginés. Tous les filtres se combinent. Exige auditor, security_officer ou tenant_admin. La recherche elle-même est inscrite dans le journal d'accès aux preuves (qui, quelle requête, combien de résultats).
Route : /v1/audit/events (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
params | ListParams | non | Champs supplémentaires fusionnés dans la requête. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
AuditResource.list
list(params?: ListParams, opts?: CallOptions)
Rechercher les événements d'audit. Recherche les événements d'audit du tenant, les plus récents d'abord (séquence la plus haute d'abord), paginés. Tous les filtres se combinent. Exige auditor, security_officer ou tenant_admin. La recherche elle-même est inscrite dans le journal d'accès aux preuves (qui, quelle requête, combien de résultats).
Route : /v1/audit/events (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
params | ListParams | non | Champs supplémentaires fusionnés dans la requête. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
AuditResource.query
query(params?: ListParams, opts?: CallOptions)
Rechercher les événements d'audit. Recherche les événements d'audit du tenant, les plus récents d'abord (séquence la plus haute d'abord), paginés. Tous les filtres se combinent. Exige auditor, security_officer ou tenant_admin. La recherche elle-même est inscrite dans le journal d'accès aux preuves (qui, quelle requête, combien de résultats).
Route : /v1/audit/events (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
params | ListParams | non | Champs supplémentaires fusionnés dans la requête. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
AuditResource.record
async record(body: AuditRecord, opts?: CallOptions): Promise<AuditRecorded>
Enregistrer un événement d'audit applicatif. Ajoute un événement applicatif à la chaîne de hachage du tenant. L'acteur vient de l'authentification ; la séquence, les empreintes et occurred_at viennent du serveur ; les details du client sont conservés sous evidence.details.attributes, à côté de stream: sdk. L'événement est scellé et exporté vers la boîte d'envoi et le SIEM comme les événements de la plateforme.
Route : /v1/audit/events (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | AuditRecord | oui | L'événement applicatif. Les champs hors du schéma sont refusés. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Retour : Promise<AuditRecorded>. Réponse JSON décodée de l'opération « Enregistrer un événement d'audit applicatif ».
Erreurs levées : EaiError, les erreurs typées du transport (Erreurs).
AuditResource.verify
verify(query?: Query, opts?: CallOptions)
Vérifier la chaîne d'audit. Recalcule la chaîne de hachage du tenant depuis le premier événement et renvoie tenant_id, valid, count, last_hash, broken_at, reason et verified_at. Quand la chaîne est rompue, broken_at est la séquence du premier événement fautif et reason en donne la cause : sequence gap, prev_hash mismatch ou hash mismatch. Exige auditor, security_officer ou tenant_admin. La vérification est inscrite dans le journal d'accès aux preuves.
Route : /v1/audit/verify (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | Query | non | Paramètres de la chaîne de requête de la route. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
AuditResource.verifyEvidence
verifyEvidence(opts?: CallOptions)
Vérifier la chaîne et tous les sceaux. Vérifie toute la chaîne du tenant et tous ses sceaux et renvoie tenant_id, valid, chain (résultat de la chaîne de hachage), seals (nombre et échecs), clock (échecs d'horodatage) et events (nombre vérifié). Exige auditor, security_officer ou tenant_admin. La vérification est inscrite dans le journal d'accès.
Route : /v1/evidence/verify (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
Interface AuditRecord
Corps de POST /v1/audit/events : aucun autre champ n'est accepté (422).
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
action | app.${string} | oui | Action applicative dans l'espace de noms app., par exemple app.invoice.validated. |
resource | { type: string; id: string; name?: string } | oui | Ressource concernée par l'action : type, identifiant et nom facultatif. |
outcome | "success" | "failure" | "error" | non | Issue de l'action : success, failure ou error. |
details | Doc | non | Attributs libres de l'événement, 16384 octets au plus une fois sérialisés. |
classification | Classification | non | Classification des données de l'événement. |
trace_id | string | non | Identifiant de trace W3C, 32 caractères hexadécimaux en minuscules, pour relier l'événement à une trace. |
event_time | string | non | Moment de l'action selon l'horloge du client (ISO 8601), au plus le décalage d'horloge autorisé en avance sur le serveur. Par défaut : l'heure du serveur. |
Interface AuditRecorded
Accusé de réception de POST /v1/audit/events.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
event_id | string | oui | Identifiant de l'événement enregistré. |
sequence | number | oui | Étapes ordonnées de la bascule, sous forme d'objets libres. |
hash | string | oui | Empreinte du contenu source, par exemple sha256:.... |
prev_hash | string | null | oui | Empreinte de l'événement précédent de la chaîne, null pour le premier. |
occurred_at | string | oui | Date à laquelle la plateforme a enregistré l'événement, au format ISO 8601. |
event_time | string | null | oui | Moment de l'action selon l'horloge du client (ISO 8601), au plus le décalage d'horloge autorisé en avance sur le serveur. Par défaut : l'heure du serveur. |
action | string | oui | Action enregistrée. |
stream | "sdk" | oui | Flux d'audit de l'événement, toujours sdk. |
actor | AuditEvent["actor"] | oui | Acteur issu de l'authentification de l'appel. |
decision | AuditEvent["decision"] | oui | approve ou reject. |
Interface Span
Span construit localement par TelemetryResource.startSpan et envoyé par endSpan.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | Nom du span. |
trace_id | string | oui | Identifiant de trace W3C, 32 caractères hexadécimaux en minuscules, pour relier l'événement à une trace. |
span_id | string | oui | Identifiant aléatoire du span, 16 caractères hexadécimaux. |
parent_span_id | string | null | oui | Identifiant du span parent issu du traceparent, ou null. |
start_time_unix_nano | number | oui | Heure de début en nanosecondes depuis l'epoch. |
end_time_unix_nano | number | oui | Heure de fin en nanosecondes depuis l'epoch, 0 tant que le span est ouvert. |
attributes | Doc | oui | Attributs libres du composant, comme le fournisseur d'un modèle. |
status | string | oui | Statut du span, ok jusqu'à ce que endSpan le fixe. |
events | Doc[] | oui | Événements horodatés ajoutés par recordEvent. |
Classe TelemetryResource
Télémétrie. Traces, journal des requêtes, flux en direct et objectifs de niveau de service (SLO) de la plateforme.
Resource
Attributs :
| Nom | Type | Requis | Description |
|---|---|---|---|
body | { availability: number; latency_seconds: number; latency_objective: number; reason?: string }, | oui | Objectifs envoyés par setSloTarget : disponibilité, latence, objectif de latence et motif. |
opts | CallOptions, | non | Options par appel de setSloTarget. |
service | string, | oui | Service de la plateforme dont setSloTarget fixe les objectifs. |
TelemetryResource.endSpan
endSpan(span: Span, status = "ok", opts?: CallOptions)
Ingérer des spans de télémétrie. Accepte jusqu'à 5000 spans et répond 202 avec le nombre accepté, le nombre enregistré (un span déjà connu pour les mêmes identifiants de trace et de span est ignoré) et le résultat de chaque exportateur (ok ou error). Demande un principal de tenant avec tenant_admin, developer ou agent (403 forbidden).
Route : /v1/telemetry/spans (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
span | Span | oui | Span ouvert à fermer ; un span déjà terminé lève span_ended. | |
status | "ok" | non | Statut final du span (ok par défaut). | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : EaiError, les erreurs typées du transport (Erreurs).
TelemetryResource.ingestSpans
ingestSpans(body: { spans: Doc[] } & Doc, opts?: CallOptions)
Ingérer des spans de télémétrie. Accepte jusqu'à 5000 spans et répond 202 avec le nombre accepté, le nombre enregistré (un span déjà connu pour les mêmes identifiants de trace et de span est ignoré) et le résultat de chaque exportateur (ok ou error). Demande un principal de tenant avec tenant_admin, developer ou agent (403 forbidden).
Route : /v1/telemetry/spans (POST).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
body | { spans: Doc[] } & Doc | oui | Requête d'export OTLP JSON (resourceSpans) ou {spans: [...]} où chaque span porte trace_id, span_id, parent_span_id facultatif, name, service, start_time, end_time (ISO 8601 ou startTimeUnixNano / endTimeUnixNano), status, attributes, et facultativement cost {amount, currency}, run_id et session_id. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
TelemetryResource.logs
logs(query?: { level?: "error" | "info"; service?: string; trace_id?: string; q?: string; from?: string; to?: string; limit?: number } & Query, opts?: CallOptions)
Lister le journal des requêtes. Journal des requêtes du tenant tiré des résumés de spans, du plus récent au plus ancien : une ligne par span avec son heure, son niveau (error si le span a échoué, sinon info), son service, son nom, son message (type d'erreur, ou méthode, route et code de statut), sa durée, sa trace, son span, son exécution et ses attributs conservés. Jamais de prompt ni de sortie de modèle. Demande un principal de tenant avec platform_admin, tenant_admin, auditor, viewer ou support_engineer (403 forbidden). Un niveau inconnu ou un from postérieur à to répond 400 invalid_request.
Route : /v1/telemetry/logs (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | { level?: "error" | "info"; service?: string; trace_id?: string; q?: string; from?: string; to?: string; limit?: number } & Query | non | Paramètres de la chaîne de requête de la route. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
TelemetryResource.overview
overview(query?: Query, opts?: CallOptions)
Lire la vue d'ensemble de la télémétrie. Tableau de bord du tenant sur les days derniers jours : nombre de requêtes (spans racines), erreurs, taux d'erreur, latences p50 et p95 en millisecondes, coût total, et par jour les requêtes, les erreurs et le coût (coût des spans plus le coût mesuré ou estimé des événements d'usage LLM). Indique aussi quels exportateurs (Opik, OpenTelemetry, ClickHouse) sont configurés. Le coût total est libellé en USD. Demande un principal de tenant (403 tenant_required).
Route : /v1/telemetry/overview (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | Query | non | Paramètres de la chaîne de requête de la route. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
TelemetryResource.recordEvent
recordEvent(span: Span, name: string, attributes: Doc = {}): Span
Ajoute un événement horodaté à un span ouvert (aucune requête).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
span | Span | oui | Span ouvert ; un span déjà terminé lève span_ended. | |
name | string | oui | Nom de l'événement. | |
attributes | Doc | {} | non | Attributs de l'événement. |
Retour : Span. Le même span, avec l'événement ajouté.
Erreurs levées : EaiError.
TelemetryResource.setSloTarget
setSloTarget(service: string, body: { availability: number; latency_seconds: number; latency_objective: number; reason?: string }, opts?: CallOptions)
Définir les objectifs d'un service. Objectifs d'un service de la plateforme, écrits en base de données où ils remplacent les valeurs par défaut EAI_SLO_* pour chaque réplique sous 30 secondes. Réservé à l'administrateur de la plateforme (403 forbidden). Un service inconnu répond 404 slo_service_unknown. La modification, avec les valeurs avant et après et la raison, est auditée (telemetry.slo.target.update) ; la réponse donne les objectifs enregistrés avec leur version.
Route : /v1/telemetry/slo/targets/{service} (PUT).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
service | string | oui | Service dont les objectifs sont définis : control_plane_api, model_gateway, tool_gateway ou realtime. | |
body | { availability: number; latency_seconds: number; latency_objective: number; reason?: string } | oui | Nouveaux objectifs de disponibilité et de latence du service. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
TelemetryResource.slo
slo(query?: { window_minutes?: number; tenant_id?: string } & Query, opts?: CallOptions)
Lire les budgets d'erreur des SLO. Pour chaque service, sur les window_minutes dernières minutes : requêtes, erreurs (5xx), requêtes au-delà de la cible de latence, cible de latence et son origine (database ou settings), et pour la disponibilité et la latence la cible, le taux de mauvaises requêtes, le budget restant et le rythme de consommation. Les comptes sont ceux de la réplique qui répond. Demande platform_admin, tenant_admin, auditor, viewer ou support_engineer (403 forbidden). Un administrateur de la plateforme lit toute la plateforme ou un tenant ; les autres ne lisent que leur propre tenant (403 slo_scope_forbidden pour un autre). Une fenêtre hors de 1 à EAI_SLO_RETENTION_MINUTES répond 422 slo_window_invalid. Chaque lecture est auditée (telemetry.slo.read).
Route : /v1/telemetry/slo (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | { window_minutes?: number; tenant_id?: string } & Query | non | Paramètres de la chaîne de requête de la route. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
TelemetryResource.startSpan
startSpan(name: string, attributes: Doc = {}, traceparent?: string): Span
Ouvre un span explicite (aucune requête), enfant d'un traceparent W3C s'il est fourni.
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
name | string | oui | Nom du span. | |
attributes | Doc | {} | non | Attributs du span, copiés. |
traceparent | string | non | traceparent W3C du parent ; une valeur mal formée lève validation_error. |
Retour : Span. Le span ouvert, avec un nouvel identifiant de trace en l'absence de parent.
Erreurs levées : EaiError.
TelemetryResource.trace
trace(traceId: string, opts?: CallOptions)
Lire une trace. Tous les spans de la trace dans l'ordre de début (avec leur coût s'il est connu), le nombre de spans, la durée totale en millisecondes, le nombre d'erreurs, les événements d'audit qui portent cet identifiant de trace, et un lien vers la trace dans Opik quand Opik est configuré. Demande un principal de tenant (403 tenant_required). Un identifiant mal formé répond 400 invalid_request ; une trace sans span ni événement d'audit répond 404 not_found.
Route : /v1/telemetry/traces/{trace_id} (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
traceId | string | oui | Identifiant de trace : 32 caractères hexadécimaux (W3C trace context), insensible à la casse. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).
TelemetryResource.traces
traces(query?: { status?: "ok" | "error" | "unset"; service?: string; run_id?: string; from?: string; to?: string; limit?: number } & Query, opts?: CallOptions)
Lister les traces récentes. Traces récentes du tenant, de la plus récente à la plus ancienne : une ligne par span racine avec son nom, son service, son début, sa durée, son statut, son exécution, sa session et ses nombres de spans et d'erreurs. Demande un principal de tenant avec platform_admin, tenant_admin, auditor, viewer ou support_engineer (403 forbidden). Un statut inconnu ou un from postérieur à to répond 400 invalid_request.
Route : /v1/telemetry/traces (GET).
| Nom | Type | Défaut | Requis | Description |
|---|---|---|---|---|
query | { status?: "ok" | "error" | "unset"; service?: string; run_id?: string; from?: string; to?: string; limit?: number } & Query | non | Paramètres de la chaîne de requête de la route. | |
opts | CallOptions | non | Options de l'appel (requête, clé d'idempotence, traceparent, en-têtes). |
Erreurs levées : les erreurs typées du transport (Erreurs).