types.ts
Source : sdks/typescript/packages/sdk/src/types.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 Classification
Niveau de classification des données : public, internal, confidential, restricted ou secret.
Définition : "public" \| "internal" \| "confidential" \| "restricted" \| "secret".
Alias de type Effort
Niveau d'effort de raisonnement : none, low, medium, high ou max.
Définition : "none" \| "low" \| "medium" \| "high" \| "max".
Alias de type EFFORTS
Niveaux d'effort de raisonnement par ordre croissant : none, low, medium, high, max.
Définition : readonly Effort[].
Alias de type Modality
Modalité : text, vision, image, audio, video, embedding, code ou document.
Définition : "text" \| "vision" \| "image" \| "audio" \| "video" \| "embedding" \| "code" \| "document".
Alias de type RiskLevel
Niveau de risque : minimal, limited, high ou unacceptable.
Définition : "minimal" \| "limited" \| "high" \| "unacceptable".
Alias de type AssetStatus
Statut du cycle de vie d'un actif : draft, approved, restricted, deprecated ou blocked.
Définition : "draft" \| "approved" \| "restricted" \| "deprecated" \| "blocked".
Alias de type Environment
Environnement de déploiement : dev, test, staging ou prod.
Définition : "dev" \| "test" \| "staging" \| "prod".
Alias de type RunState
État d'une exécution, comme pending, running, waiting_approval, succeeded, failed ou timed_out.
Définition : \| "pending" \| "running" \| "waiting_approval" \| "waiting_input" \| "suspended" \| "succeeded" \| "failed" \| "cancelled" \| "timed_out".
Alias de type Labels
Étiquettes clé-valeur (Record<string, string>).
Définition : Record<string, string>.
Interface Money
Montant monétaire : montant décimal exact et devise ISO 4217.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
amount | string | oui | Montant décimal exact sérialisé sous forme de chaîne. |
currency | string | oui | Code de devise ISO 4217, par exemple EUR. |
Interface Metadata
Métadonnées d'un manifeste : nom, tenant, projet, environnement, version, propriétaire et étiquettes.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
name | string | oui | Nom de l'actif. |
tenant | string | non | Identifiant court du locataire. |
project | string | non | Identifiant du projet auquel les résultats sont limités. |
environment | Environment | non | Environnement de l'actif (Environment). |
version | string | oui | Version de l'actif. |
owner | string | oui | Propriétaire de l'actif. |
description | string | non | Description de l'actif. |
labels | Labels | non | Étiquettes de la machine sous forme de table de chaînes, qui remplacent les étiquettes actuelles, par exemple {"zone": "a"}. |
annotations | Labels | non | Annotations de l'alerte ; summary et description alimentent l'incident. |
Interface Budget
Limites de consommation : coût, jetons, requêtes, appels d'outils et durée, sur une période.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
max_cost | Money | non | Coût maximal (Money). |
max_input_tokens | number | non | Nombre maximal de jetons d'entrée. |
max_output_tokens | number | non | Nombre maximal de jetons de sortie. |
max_reasoning_tokens | number | non | Nombre maximal de jetons de raisonnement. |
max_requests | number | non | Nombre maximal de requêtes. |
max_tool_calls | number | non | Nombre maximal d'appels d'outils. |
max_duration_seconds | number | non | Durée maximale en secondes. |
period | "request" | "run" | "hour" | "day" | "month" | non | Période à laquelle s'appliquent les limites : request, run, hour, day ou month. |
Interface ResourceLimits
Limites de ressources : CPU, mémoire, GPU, délai maximal et nombre maximal d'étapes.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
cpu | string | non | Limite de CPU. |
memory | string | non | Limite de mémoire. |
gpu | number | non | Nombre de GPU. |
timeout_seconds | number | non | Délai maximal en secondes. |
max_steps | number | non | Nombre maximal d'étapes. |
Interface Signature
Signature d'un artefact : empreinte, bundle cosign, signataire et date.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
digest | string | oui | SHA-256 de la preuve (commandes, enregistrement), 100 caractères au plus. |
cosign_bundle | string | non | Bundle cosign de la signature. |
signer | string | non | Nom de la clé d'éditeur qui a signé (1 à 200 caractères). |
issued_at | string | non | Date et heure de la signature (ISO 8601). |
Interface Actor
Auteur d'une action : utilisateur, service, agent ou système, avec son tenant et sa méthode d'authentification.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
kind | "user" | "service" | "agent" | "system" | oui | Type d'auteur : user, service, agent ou system. |
id | string | oui | Identifiant de l'auteur. |
tenant_id | string | null | non | Locataire de l'agent. default par défaut. |
display | string | non | Nom affiché de l'auteur. |
auth_method | "oidc" | "password" | "api_key" | "spiffe" | "dev" | "internal" | non | Méthode d'authentification de l'auteur : oidc, password, api_key, spiffe, dev ou internal. |
spiffe_id | string | non | Identifiant SPIFFE de la charge de travail, spiffe://<trust domain>/<path>, unique sur la plateforme. |
ip | string | non | Adresse IP de la machine. Vide : l'adresse source de la requête est utilisée. |
Interface Trace
Contexte de trace : identifiants de trace, de span et de span parent.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
trace_id | string | non | Identifiant de trace W3C, 32 caractères hexadécimaux en minuscules, pour relier l'événement à une trace. |
span_id | string | non | Identifiant du span. |
parent_span_id | string | non | Identifiant du span parent. |
Interface Provenance
Origine du contenu d'un élément de mémoire.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
source_type | "user_input" | "system" | "tool" | "rag" | "memory" | "connector" | "model" | "file" | "media" | oui | Type de source, par exemple rag, conversation ou tool. |
source_id | string | oui | Identifiant de l'objet source. |
uri | string | non | URI de la source. |
version | string | non | Version de la source. |
retrieved_at | string | non | Date et heure de récupération de la source (ISO 8601). |
classification | Classification | non | Classification de la source. |
hash | string | non | Empreinte du contenu source, par exemple sha256:.... |
Interface ContractError
Erreur enregistrée dans un contrat : code, message, indicateur de nouvelle tentative, étape et date.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
code | string | oui | Code du contrôle, 1 à 64 caractères : un code du catalogue comme EAI-GOV-01, ou un code personnalisé. Unique dans le tenant. |
message | string | oui | Message d'état (2000 caractères au plus). |
retryable | boolean | non | Indique si l'opération peut être retentée. |
step_id | string | non | Identifiant de l'étape en échec. |
at | string | non | Date et heure auxquelles le prix est pris, ISO 8601 ; maintenant par défaut. |
Interface AgentSpec
Spécification d'un agent : moteur d'exécution, modèles, outils, permissions, autonomie et budgets.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
description | string | oui | Description de l'agent. |
purpose | string | non | Usage de la cible. backup par défaut. |
risk_level | RiskLevel | non | Niveau de risque de l'agent (RiskLevel). |
identity | { spiffe_id?: string; service_account?: string } | non | Identité de charge de travail de l'agent : identifiant SPIFFE et compte de service. |
runtime | { engine: "langgraph" | "temporal" | "custom"; entrypoint?: string; image?: string; sandbox?: "none" | "gvisor" | "kata" | "wasm"; limits?: ResourceLimits; } | oui | Moteur d'exécution (langgraph, temporal, custom), point d'entrée, image, bac à sable et limites de ressources. |
models | Array<{ model_id: string; role: "primary" | "fallback" | "summarizer" | "embedding" | "judge" | "vision" | "speech"; effort?: Effort; max_output_tokens?: number; }> | oui | Modèles utilisés par l'agent, chacun avec son rôle (primary, fallback, judge...), son effort et sa limite de jetons de sortie. |
tools | Array<{ ref: string; scopes?: string[]; requires_approval?: boolean }> | non | Outils que ses agents externes peuvent invoquer (noms ou motifs comme crm.*). |
mcp_servers | Array<{ ref: string; tools?: string[] }> | non | Serveurs MCP que ses agents externes peuvent appeler (noms ou motifs). |
skills | string[] | non | Références des compétences de l'agent. |
connectors | Array<{ ref: string; scopes?: string[] }> | non | Connecteurs utilisés par l'agent, chacun avec sa référence et ses portées. |
knowledge_bases | string[] | non | Références des bases de connaissances que l'agent peut interroger. |
channels | string[] | non | Références des canaux qui exposent l'agent. |
memory | { session?: boolean; persistent?: boolean; ttl_days?: number } | non | Mémoire de l'agent : mémoire de session, mémoire persistante et rétention en jours (ttl_days). |
permissions | { data_classification_max: Classification; allowed_regions?: string[]; scopes?: string[] } | oui | Permissions auxquelles le jeton est limité, par exemple ["cluster:read", "operations:read"] ; chacune doit être détenue par vous. Nul (par défaut) : toutes les permissions que vous détenez. |
autonomy | { level: "assisted" | "supervised" | "autonomous"; max_steps?: number; max_subagents?: number; max_depth?: number; human_approval_for?: string[]; } | oui | Autonomie de l'agent : niveau (assisted, supervised, autonomous), limites d'étapes, de sous-agents et de profondeur, actions soumises à approbation humaine. |
subagents | string[] | non | Références des agents auxquels cet agent peut déléguer. |
budgets | Budget | non | Limites de dépense et de consommation de l'agent (Budget). |
schedules | Array<{ cron: string; timezone?: string; input?: Record<string, unknown> }> | non | Exécutions planifiées de l'agent : expression cron, fuseau horaire et entrée. |
triggers | Array<{ subject: string; filter?: string }> | non | Sujets d'événements qui déclenchent l'agent, avec un filtre facultatif. |
evaluation | { suites?: string[]; block_on_failure?: boolean } | non | Suites d'évaluation de l'agent et blocage en cas d'échec (block_on_failure). |
observability | { trace_sampling?: number; log_prompts?: "none" | "hashed" | "redacted" | "full" } | non | Taux d'échantillonnage des traces et mode de journalisation des prompts (none, hashed, redacted, full). |
Alias de type AgentManifest
Manifeste de type Agent : apiVersion enterprise-ai.io/v1, metadata et un spec de type AgentSpec.
Définition : ManifestBase<"Agent", AgentSpec>.
Interface RangeParam
Plage d'un paramètre de modèle : prise en charge, minimum, maximum et valeur par défaut.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
supported | boolean | oui | Indique si le modèle prend en charge le paramètre. |
min | number | non | Valeur minimale. |
max | number | non | Valeur maximale. |
default | number | non | Valeur utilisée quand aucune n'est fournie. |
Alias de type ModelCapability
Capacité d'un modèle, comme chat, tools, streaming, embeddings ou reasoning.
Définition : \| "chat" \| "completion" \| "tools" \| "parallel_tools" \| "json_mode" \| "json_schema" \| "streaming" \| "embeddings" \| "rerank" \| "vision_input" \| "image_generation" \| "image_edit" \| "audio_input" \| "audio_output" \| "stt" \| "tts" \| "video_input" \| "video_generation" \| "realtime" \| "batch" \| "prompt_caching" \| "reasoning" \| "fine_tuning" \| "code".
Interface ModelSpec
Spécification d'un modèle : fournisseur, modalités, capacités, limites, raisonnement, résidence des données et statut.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
model_id | string | oui | Modèle de l'appel, comparé aux motifs de modèle des grilles tarifaires. |
provider | | "openai" | "anthropic" | "google_ai_studio" | "vertex_ai" | "azure_openai" | "azure_ai_foundry" | oui | Fournisseur du modèle, comme openai, anthropic, mistral, ollama ou vllm. |
provider_model_id | string | oui | Identifiant du modèle chez le fournisseur. |
deployment_id | string | oui | Déploiement de modèle qui tournait sur le GPU pendant l'échantillon. |
modalities | { input: Modality[]; output: Modality[] } | oui | Modalités d'entrée et de sortie (Modality). |
capabilities | ModelCapability[] | oui | Capacités de la cible, par exemple object_lock et retention vérifiées pour les sauvegardes immuables. |
context_window | number | oui | Taille de la fenêtre de contexte en jetons. |
max_output_tokens | number | oui | Nombre maximal de jetons de sortie. |
reasoning_modes | Effort[] | oui | Niveaux d'effort de raisonnement pris en charge (Effort). |
reasoning | { native_parameter?: "none" | "reasoning_effort" | "thinking_budget_tokens" | "thinking_budget" | "always_on"; mapping?: Partial<Record<Effort, unknown>>; budget_tokens?: Partial<Record<Effort, number>>; default_effort?: Effort; unsupported_effort_policy?: "reject" | "nearest_lower" | "nearest_supported" | "compatible_profile"; compatible_profile?: string; reasoning_tokens_billing?: "included_in_output" | "separate" | "not_billed" | "not_exposed"; } | non | Prise en charge du raisonnement : paramètre natif, correspondance et budget de jetons par effort, effort par défaut et facturation des jetons de raisonnement. |
parameters | { temperature?: RangeParam; top_p?: RangeParam; response_formats?: Array<"text" | "json_object" | "json_schema">; tool_choice?: Array<"auto" | "none" | "required" | "named">; max_images_per_request?: number; image_detail?: Array<"low" | "high" | "auto">; unsupported_parameter_policy?: "reject" | "drop_with_warning"; } | non | Paramètres de l'opération. |
supports_caching | boolean | oui | Indique si le modèle prend en charge le cache de prompt. |
supports_batch | boolean | oui | Indique si le modèle prend en charge le traitement par lots. |
supports_streaming | boolean | oui | Indique si le modèle prend en charge la diffusion en continu. |
data_residency | { regions: string[]; jurisdiction?: string; on_premises?: boolean } | oui | Résidence des données : régions, juridiction et hébergement sur site. |
data_classification_max | Classification | oui | Classification des données la plus élevée que le modèle peut recevoir. |
pricing_version | string | oui | Version de la grille tarifaire appliquée au modèle. |
quality_profile | Record<string | oui | Profil de qualité du modèle. |
status | "approved" | "restricted" | "deprecated" | "blocked" | oui | Statut : approved, restricted, deprecated ou blocked. |
adapter | string | non | Adaptateur utilisé pour appeler le modèle. |
litellm | { model?: string; api_base?: string; api_key_ref?: string; api_version?: string; extra?: Record<string, unknown> } | non | Réglages LiteLLM : modèle, base de l'API, référence de la clé d'API, version de l'API et réglages supplémentaires. |
retention | { provider_retention_days?: number; zero_data_retention?: boolean; used_for_training?: boolean } | non | Conservation des données. |
fallbacks | string[] | non | Modèles utilisés en repli. |
tags | string[] | non | Étiquettes du modèle. |
Alias de type ModelManifest
Manifeste de type Model avec un spec de type ModelSpec.
Définition : ManifestBase<"Model", ModelSpec>.
Interface ToolSpec
Spécification d'un outil : action, schémas d'entrée et de sortie, point de terminaison, portées, classification et risque.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
description | string | oui | Description de l'outil. |
action | "read" | "write" | "delete" | "execute" | "communicate" | "payment" | oui | Type d'action : read, write, delete, execute, communicate ou payment. |
input_schema | Record<string | oui | Schéma JSON de l'entrée. |
output_schema | Record<string | non | Schéma JSON de la sortie. |
endpoint | { type: "http" | "grpc" | "mcp" | "python" | "sandbox" | "builtin"; url?: string; method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE"; mcp_server?: string; handler?: string; timeout_seconds?: number; } | oui | Point de terminaison de l'outil : type (http, grpc, mcp, python, sandbox, builtin), URL, méthode, serveur MCP, gestionnaire et délai. |
scopes_required | string[] | oui | Portées requises pour appeler l'outil. |
data_classification | Classification | oui | Classification des données traitées par l'outil. |
side_effects | boolean | non | Indique si l'outil a des effets de bord. |
idempotent | boolean | non | Indique si répéter un appel donne le même résultat. |
requires_approval | boolean | non | Indique si un appel nécessite une approbation humaine. |
risk_level | RiskLevel | non | Niveau de risque de l'outil (RiskLevel). |
rate_limit | { requests_per_minute?: number } | non | Limite de débit en requêtes par minute. |
sandbox_profile | "none" | "gvisor" | "kata" | "wasm" | non | Bac à sable de l'outil : none, gvisor, kata ou wasm. |
credential_ref | string | non | Référence de l'identifiant dans le magasin de secrets ; l'identifiant lui-même n'est jamais envoyé. |
cost | { unit?: "call" | "second"; price?: Money } | non | Coût de l'outil : unité (call ou second) et prix (Money). |
Alias de type ToolManifest
Manifeste de type Tool avec un spec de type ToolSpec.
Définition : ManifestBase<"Tool", ToolSpec>.
Interface SkillSpec
Spécification d'une compétence : instructions, point d'entrée, dépendances, permissions et artefact.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
description | string | oui | Description de la compétence. |
instructions | string | oui | Instructions de la compétence. |
entrypoint | string | non | Point d'entrée de la compétence. |
dependencies | Array<{ ref: string; version?: string; optional?: boolean }> | non | Dépendances de la compétence : référence, version et caractère facultatif. |
permissions | { scopes?: string[]; data_classification_max: Classification; network?: boolean; filesystem?: "none" | "read" | "write"; } | oui | Permissions auxquelles le jeton est limité, par exemple ["cluster:read", "operations:read"] ; chacune doit être détenue par vous. Nul (par défaut) : toutes les permissions que vous détenez. |
artifact | { oci_ref?: string; git_ref?: string; digest?: string } | non | Artefact de la compétence : référence OCI, référence Git et empreinte. |
signature | Signature | non | Signature de l'empreinte de l'archive par un éditeur de confiance. |
compatible_runtimes | string[] | non | Moteurs d'exécution compatibles avec la compétence. |
Alias de type SkillManifest
Manifeste de type Skill avec un spec de type SkillSpec.
Définition : ManifestBase<"Skill", SkillSpec>.
Interface PluginSpec
Spécification d'un plugin : artefact OCI signé, capacités, bac à sable et permissions.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
description | string | oui | Description du plugin. |
artifact | { oci_ref: string; digest: string; media_type?: string } | oui | Artefact OCI du plugin : référence, empreinte et type de média. |
signature | Signature | oui | Signature de l'empreinte de l'archive par un éditeur de confiance. |
capabilities | Array<{ type: "tool" | "connector" | "channel" | "model_adapter" | "evaluator" | "ui_extension" | "policy"; name: string; }> | oui | Capacités de la cible, par exemple object_lock et retention vérifiées pour les sauvegardes immuables. |
sandbox | { runtime: "gvisor" | "kata" | "wasm" | "none"; network: "deny_all" | "egress_allowlist" | "cluster_only"; egress_allowlist?: string[]; read_only_rootfs?: boolean; limits?: ResourceLimits; } | oui | Bac à sable du plugin : moteur, politique réseau, liste d'autorisation de sortie, système de fichiers racine en lecture seule et limites. |
permissions | { scopes?: string[]; data_classification_max?: Classification } | non | Permissions auxquelles le jeton est limité, par exemple ["cluster:read", "operations:read"] ; chacune doit être détenue par vous. Nul (par défaut) : toutes les permissions que vous détenez. |
min_platform_version | string | non | Version minimale de la plateforme requise. |
Alias de type PluginManifest
Manifeste de type Plugin avec un spec de type PluginSpec.
Définition : ManifestBase<"Plugin", PluginSpec>.
Interface ConnectorSpec
Spécification d'un connecteur vers un système externe : authentification, ressources, synchronisation et webhooks.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
description | string | non | Description du connecteur. |
system | string | oui | Système externe atteint par le connecteur. |
base_url | string | non | URL de base du système externe. |
auth | { type: "oauth2" | "api_key" | "service_account" | "basic" | "mtls" | "none"; authorization_url?: string; token_url?: string; oauth_scopes?: string[]; credential_ref?: string; delegation?: "service" | "on_behalf_of_user"; } | oui | Authentification auprès du système : type (oauth2, api_key, mtls...), URL et portées OAuth, référence d'identifiants et délégation. |
scopes | string[] | non | Portées demandées ; doivent comprendre openid. Par défaut openid, profile, email. |
resources | Array<{ name: string; operations: Array<"read" | "write" | "delete" | "subscribe">; classification?: Classification; }> | oui | Ressources exposées par le connecteur, avec leurs opérations et leur classification. |
sync | { mode?: "none" | "pull" | "push" | "cdc"; schedule?: string; incremental?: boolean } | non | Synchronisation : mode (none, pull, push, cdc), planification et synchronisation incrémentale. |
webhooks | { enabled?: boolean; signature?: "hmac_sha256" | "none"; secret_ref?: string } | non | Webhooks entrants : activation, signature (hmac_sha256 ou none) et référence du secret. |
rate_limit | { requests_per_minute?: number } | non | Limite de débit en requêtes par minute. |
data_residency | string | non | Résidence des données du système connecté. |
Alias de type ConnectorManifest
Manifeste de type Connector avec un spec de type ConnectorSpec.
Définition : ManifestBase<"Connector", ConnectorSpec>.
Interface ChannelSpec
Spécification d'un canal : type, agent, authentification, transport, limites, sessions et DLP.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
type | "web" | "mobile" | "email" | "slack" | "teams" | "whatsapp" | "sms" | "voice" | "api" | oui | Type de canal : web, mobile, email, slack, teams, whatsapp, sms, voice ou api. |
agent_ref | string | non | Agent qui répond sur le canal, sous la forme <type>:<nom>, par exemple agent:support. |
auth | { type: "oidc" | "api_key" | "signed_webhook" | "anonymous"; secret_ref?: string } | oui | Authentification du canal (oidc, api_key, signed_webhook, anonymous) et référence de son secret. |
transport | { protocol: "https" | "websocket" | "webrtc" | "smtp" | "sip"; endpoint?: string } | oui | stdio, streamable_http ou sse ; par défaut : stdio avec une commande, sinon streamable_http. |
limits | { max_message_bytes?: number; rate_per_minute?: number; max_session_minutes?: number; max_concurrent_sessions?: number; } | oui | Limites du canal : taille des messages, débit par minute, durée et nombre de sessions simultanées. |
sessions | { ttl_minutes?: number; persistence?: "none" | "session" | "persistent" } | non | Durée de vie des sessions en minutes et persistance (none, session, persistent). |
dlp | { inbound?: "off" | "detect" | "mask" | "block"; outbound?: "off" | "detect" | "mask" | "block" } | non | Mode DLP par sens, chacun off, detect, mask ou block. Par défaut {inbound: detect, outbound: mask}. |
Alias de type ChannelManifest
Manifeste de type Channel avec un spec de type ChannelSpec.
Définition : ManifestBase<"Channel", ChannelSpec>.
Alias de type Manifest
Tout manifeste v1 : Agent, Model, Tool, Skill, Plugin, Connector ou Channel.
Définition : \| AgentManifest \| ModelManifest \| ToolManifest \| SkillManifest \| PluginManifest \| ConnectorManifest \| ChannelManifest.
Alias de type ManifestKind
kind d'un manifeste : Agent, Model, Tool, Skill, Plugin, Connector ou Channel.
Définition : Manifest["kind"].
Interface ExecutionStep
Étape d'une exécution : type, état, durée, jetons, coût et erreur.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
step_id | string | oui | Identifiant de l'étape. |
kind | "plan" | "act" | "verify" | "recover" | "model_call" | "tool_call" | "subagent" | "approval" | "checkpoint" | oui | Type d'étape : plan, act, verify, recover, model_call, tool_call, subagent, approval ou checkpoint. |
name | string | non | Nom de l'étape. |
state | "pending" | "running" | "succeeded" | "failed" | "skipped" | "cancelled" | oui | État de l'étape : pending, running, succeeded, failed, skipped ou cancelled. |
started_at | string | non | Date et heure de début (ISO 8601). |
ended_at | string | non | Date et heure de fin (ISO 8601). |
attempt | number | non | Numéro de tentative, à partir de 1 (1 par défaut). Comparé à retry_policy.max_attempts. |
input_ref | string | non | Référence de l'entrée de l'étape (stockée ailleurs, pas le contenu). |
output_ref | string | non | Référence de la sortie de l'étape. |
tokens | number | non | Nombre de jetons consommés par l'étape. |
cost | Money | non | Coût de l'étape (Money). |
error | ContractError | non | Erreur de l'étape (ContractError). |
Interface ExecutionContract
Contrat d'exécution (execution-contract) d'une exécution d'agent : état, étapes, budgets, erreurs et reprise.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
schema_version | string | oui | Version du schéma de contrat suivie par le document. |
run_id | string | oui | Identifiant de l'exécution. |
tenant_id | string | oui | Locataire de l'agent. default par défaut. |
project_id | string | null | non | Identifiant du projet, espace de travail d'un tenant qui porte les agents, les bases de connaissances, les quotas et les secrets. |
session_id | string | null | non | Identifiant de la session. |
parent_run_id | string | null | non | Identifiant de l'exécution parente, pour une exécution de sous-agent. |
depth | number | non | Profondeur de l'exécution dans l'arbre de délégation. |
agent | { name: string; version: string } | oui | Nom et version de l'agent. |
task | { task_id?: string; objective?: string; input?: unknown } | non | Tâche de l'exécution : identifiant, objectif et entrée. |
state | RunState | oui | État de l'exécution (RunState). |
steps | ExecutionStep[] | oui | Étapes de l'exécution (ExecutionStep). |
budgets | { limits: Budget; consumed?: { cost?: Money; input_tokens?: number; output_tokens?: number; reasoning_tokens?: number; requests?: number; tool_calls?: number; duration_seconds?: number; }; } | oui | Limites budgétaires de l'exécution et consommation constatée. |
errors | ContractError[] | non | Erreurs de l'exécution (ContractError). |
retry_policy | { max_attempts?: number; backoff_seconds?: number } | non | Politique de nouvelle tentative : max_attempts (1 ou plus, 3 par défaut) et backoff_seconds (0 ou plus, 2 par défaut). |
resume | { checkpoint_id?: string | null; strategy?: "from_last_checkpoint" | "restart_step" | "restart_run" } | non | Point de reprise : point de contrôle et stratégie (from_last_checkpoint, restart_step, restart_run). |
trace | Trace | non | Contexte de trace de l'exécution (Trace). |
created_at | string | non | Date et heure de création (ISO 8601). |
updated_at | string | non | Date et heure de la dernière mise à jour (ISO 8601). |
Alias de type ContextSegmentType
Type d'un segment de contexte : system, prompt, history, tool_result, rag_document, memory, image, audio, video ou file.
Définition : \| "system" \| "prompt" \| "history" \| "tool_result" \| "rag_document" \| "memory" \| "image" \| "audio" \| "video" \| "file".
Interface ContextSegment
Segment d'un contexte : type, jetons, classification, provenance et compression.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
segment_id | string | oui | Identifiant du segment. |
type | ContextSegmentType | oui | Type du segment (ContextSegmentType). |
role | "system" | "user" | "assistant" | "tool" | non | Rôle du segment : system, user, assistant ou tool. |
priority | number | non | Priorité du segment : les plus hautes sont gardées en premier quand le budget manque. |
tokens | number | oui | Nombre de jetons du segment. |
original_tokens | number | non | Nombre de jetons avant compression. |
classification | Classification | oui | Classification des données, de public à secret. |
provenance | Provenance | non | Déclaration in-toto v1 signée avec un prédicat SLSA v1 : {statement, signature: {value, signer}}. |
included | boolean | oui | Indique si le segment est inclus dans le contexte envoyé au modèle. |
compression | "none" | "truncated" | "summarized" | "selected" | "deduplicated" | "dropped" | non | Compression appliquée : none, truncated, summarized, selected, deduplicated ou dropped. |
cacheable | boolean | non | Indique si le segment peut être servi depuis le cache de prompt. |
Interface ContextContract
Contrat de contexte (context-contract) : budget de jetons et segments du contexte envoyé à un modèle.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
schema_version | string | oui | Version du schéma de contrat suivie par le document. |
context_id | string | oui | Identifiant du contexte. |
tenant_id | string | oui | Locataire de l'agent. default par défaut. |
model_id | string | oui | Modèle de l'appel, comparé aux motifs de modèle des grilles tarifaires. |
budget | { window: number; output_reserved: number; reasoning_reserved: number; safety_margin: number; context_budget: number; used: number; estimator?: string; } | oui | Budget de jetons : fenêtre, réserves de sortie et de raisonnement, marge de sécurité, budget de contexte et jetons utilisés. |
segments | ContextSegment[] | oui | Segments du contexte (ContextSegment). |
classification_max | Classification | oui | Classification la plus élevée des segments du contexte. |
compression_actions | string[] | non | Actions de compression appliquées pour tenir dans le budget. |
cache | { prefix_tokens?: number; cache_key?: string } | non | Cache de prompt : jetons du préfixe et clé de cache. |
created_at | string | non | Date et heure de création (ISO 8601). |
Interface MemoryContract
Contrat de mémoire (memory-contract) : une entrée de mémoire d'agent avec sa portée, sa classification, sa liste d'accès et sa rétention.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
schema_version | string | oui | Version du schéma de contrat suivie par le document. |
memory_id | string | oui | Élément existant à mettre à jour (nouvelle version). Omettez-le pour créer un élément. |
tenant_id | string | oui | Locataire de l'agent. default par défaut. |
scope | { type: "session" | "agent" | "user" | "project" | "tenant"; id: string } | oui | Ce qui est sauvegardé (clusters, services, jeux de données), sous forme d'objet. |
kind | "episodic" | "semantic" | "procedural" | "preference" | "fact" | oui | Type de mémoire : episodic, semantic, procedural, preference ou fact. |
content | string | non | Contenu de l'entrée de mémoire. |
content_ref | string | non | Référence vers un contenu stocké ailleurs (non recherchable). |
embedding_ref | string | non | Référence du vecteur de l'entrée. |
classification | Classification | oui | Classification des données, de public à secret. |
acl | { readers: string[]; writers: string[]; owners?: string[] } | oui | Liste d'accès : lecteurs, rédacteurs et propriétaires. |
ttl_seconds | number | null | non | Durée de vie en secondes. Une fois écoulée, l'élément expire et n'est plus accepté. |
expires_at | string | null | non | Date et heure (ISO 8601, UTC) après lesquelles l'élément n'est plus valide. |
write | { written_by?: Actor; source?: Provenance; written_at?: string } | non | Informations d'écriture : auteur (Actor), source (Provenance) et date. |
deletion | { deletable?: boolean; legal_hold?: boolean; deleted_at?: string | null } | non | Suppression : possibilité de suppression, conservation légale et date de suppression. |
version | number | non | Numéro de version de l'entrée. |
Alias de type UsageType
Type de consommation, comme llm, reasoning, embeddings, tool, connector, gpu_local ou sandbox.
Définition : \| "llm" \| "reasoning" \| "prompt_cache" \| "vision" \| "image_generation" \| "video_generation" \| "stt" \| "tts" \| "voice_live" \| "embeddings" \| "reranking" \| "tool" \| "connector" \| "gpu_local" \| "rag" \| "sandbox".
Interface UsageUnits
Unités consommées : jetons, médias, requêtes, calcul, stockage et transfert.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
input_tokens | number | non | Jetons d'entrée. |
output_tokens | number | non | Jetons de sortie. |
reasoning_tokens | number | non | Jetons de raisonnement explicites, au moins 0 ; remplacent la réserve de reasoning_effort. |
cached_input_tokens | number | non | Jetons d'entrée servis depuis le cache. |
cache_write_tokens | number | non | Jetons écrits dans le cache de prompt. |
cache_read_tokens | number | non | Jetons lus depuis le cache de prompt. |
images | number | non | Nombre d'images. |
image_size | string | non | Taille des images générées. |
image_quality | string | non | Qualité des images générées. |
video_seconds | number | non | Secondes de vidéo. |
video_resolution | string | non | Résolution de la vidéo. |
video_fps | number | non | Images par seconde de la vidéo. |
video_mode | string | non | Mode de génération vidéo. |
audio_seconds | number | non | Secondes d'audio. |
audio_tokens | number | non | Jetons audio. |
characters | number | non | Caractères traités. |
sessions | number | non | Nombre de sessions. |
requests | number | non | Nombre de requêtes. |
documents | number | non | Documents traités. |
tool_calls | number | non | Nombre d'appels d'outils. |
duration_ms | number | non | Durée en millisecondes. |
bytes_transferred | number | non | Octets transférés. |
sync_jobs | number | non | Tâches de synchronisation. |
gpu_seconds | number | non | Secondes de GPU. |
gpu_memory_gb_seconds | number | non | Mémoire GPU en gigaoctets-secondes. |
energy_wh | number | non | Énergie en wattheures. |
cpu_seconds | number | non | Secondes de CPU. |
memory_gb_seconds | number | non | Mémoire en gigaoctets-secondes. |
storage_gb_hours | number | non | Stockage en gigaoctets-heures. |
embedding_tokens | number | non | Jetons de vectorisation. |
retrieval_queries | number | non | Requêtes de recherche documentaire. |
Interface UsageEvent
Événement de consommation (usage-event) : unités consommées par un appel, sa tarification et ses coûts estimés, mesurés et facturés.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
schema_version | string | oui | Version du schéma de contrat suivie par le document. |
event_id | string | oui | Identifiant de l'événement. |
occurred_at | string | oui | Date à laquelle la consommation a eu lieu, au format ISO 8601. |
tenant_id | string | oui | Locataire de l'agent. default par défaut. |
project_id | string | null | non | Identifiant du projet, espace de travail d'un tenant qui porte les agents, les bases de connaissances, les quotas et les secrets. |
environment | string | null | non | Environnement de l'appel. |
agent_id | string | null | oui | Identifiant de l'agent, ou null. |
session_id | string | null | oui | Identifiant de la session, ou null. |
run_id | string | null | non | Identifiant de l'exécution. |
task_id | string | null | oui | Identifiant de la tâche, ou null. |
request_id | string | null | non | Identifiant de la requête. |
provider_request_id | string | null | non | Identifiant de la requête chez le fournisseur. |
trace_id | string | null | non | Identifiant de trace W3C, 32 caractères hexadécimaux en minuscules, pour relier l'événement à une trace. |
usage_type | UsageType | oui | Type de consommation (UsageType). |
provider | string | oui | Fournisseur du service consommé. |
model_id | string | null | oui | Modèle de l'appel, comparé aux motifs de modèle des grilles tarifaires. |
deployment_id | string | null | non | Déploiement de modèle qui tournait sur le GPU pendant l'échantillon. |
region | string | oui | Région où l'appel a été traité. |
units | UsageUnits | oui | Unités consommées (UsageUnits). |
pricing | { price_card_id?: string | null; pricing_version: string; currency: string; effective_at: string; reasoning_billing?: "included_in_output" | "separate" | "not_billed" | "not_exposed"; allocation_policy_id?: string | null; } | oui | Tarification appliquée : grille tarifaire, version de tarification, devise, date d'effet, facturation du raisonnement et politique de répartition. |
cost | { estimated: Money | null; measured: Money | null; billed: Money | null } | oui | Coûts estimés, mesurés et facturés (Money ou null). |
status | "estimated" | "measured" | "reconciled" | non | Statut du coût : estimated, measured ou reconciled. |
source | | "gateway" | "litellm" | "adapter" | "runtime" | "tool_gateway" | "connector_hub" | "sandbox" | "gpu_exporter" | "import" | oui | Composant qui a émis l'événement, comme gateway, litellm, runtime, tool_gateway ou import. |
labels | Labels | non | Étiquettes de la machine sous forme de table de chaînes, qui remplacent les étiquettes actuelles, par exemple {"zone": "a"}. |
Interface AuditEvent
Événement d'audit (contrat audit-event) : qui a fait quoi sur quelle ressource, la décision de politique et le résultat, chaînés par empreinte.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
schema_version | string | oui | Version du schéma de contrat suivie par le document. |
event_id | string | oui | Identifiant de l'événement. |
sequence | number | non | Étapes ordonnées de la bascule, sous forme d'objets libres. |
occurred_at | string | oui | Date à laquelle l'action auditée a eu lieu, au format ISO 8601. |
tenant_id | string | oui | Locataire de l'agent. default par défaut. |
actor | Actor | oui | Auteur de l'action (Actor). |
action | string | oui | Action effectuée. |
resource | { type: string; id: string; name?: string } | oui | Ressource concernée : type, identifiant et nom. |
decision | { result: "allow" | "deny" | "not_applicable"; policy_id?: string; decision_id?: string; reasons?: string[] } | oui | approve ou reject. |
outcome | "success" | "failure" | "error" | oui | Résultat de l'action : success, failure ou error. |
evidence | { request_hash?: string; response_hash?: string; trace_id?: string; details?: Record<string, unknown>; artifacts?: Array<{ uri: string; digest: string }>; } | non | Preuves des mesures (journaux, horodatages, références de captures...). |
classification | Classification | non | Classification des données, de public à secret. |
prev_hash | string | non | Empreinte de l'événement précédent de la chaîne. |
hash | string | non | Empreinte du contenu source, par exemple sha256:.... |
Interface EvaluationContract
Contrat d'évaluation (evaluation-contract) : cible, moteur, jeu de données, métriques avec seuils et résultats.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
schema_version | string | oui | Version du schéma de contrat suivie par le document. |
evaluation_id | string | oui | Identifiant de l'évaluation. |
tenant_id | string | oui | Locataire de l'agent. default par défaut. |
name | string | non | Nom de l'évaluation. |
target | { type: "model" | "agent" | "prompt" | "rag_pipeline" | "skill" | "tool"; ref: string; version?: string } | oui | Cible évaluée : type (model, agent, prompt, rag_pipeline, skill, tool), référence et version. |
engine | "ragas" | "promptfoo" | "garak" | "custom" | oui | Auto (par défaut), HPA ou KEDA. |
kind | "quality" | "regression" | "red_team" | "safety" | "cost" | "latency" | non | Type d'évaluation : quality, regression, red_team, safety, cost ou latency. |
dataset | { ref: string; version?: string; size?: number; digest?: string; classification?: Classification } | oui | Référence du jeu de données des cas. |
metrics | Array<{ name: string; threshold: number; comparator: "gte" | "lte"; weight?: number }> | oui | Métriques et seuils, une au moins. |
results | Array<{ metric: string; value: number; passed: boolean; samples?: number }> | non | Résultat de chaque métrique : valeur, réussite et nombre d'échantillons. |
status | "pending" | "running" | "passed" | "failed" | "error" | non | Statut : pending, running, passed, failed ou error. |
gate | { blocking?: boolean } | non | Barrière : indique si un échec bloque la cible (blocking). |
started_at | string | non | Date et heure de début (ISO 8601). |
finished_at | string | non | Date et heure de fin (ISO 8601). |
cost | Money | non | Coût de l'évaluation (Money). |
Interface PolicyRequest
Demande d'autorisation : sujet, ressource, action et contexte.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
subject | { id: string; kind: "user" | "service" | "agent" | "system"; tenant_id: string | null; roles?: string[]; scopes?: string[]; groups?: string[]; clearance?: Classification; attributes?: Record<string, unknown>; } | oui | Sujet qui fait la demande : identifiant, type, tenant, rôles, portées, groupes, habilitation et attributs. |
resource | { type: string; id?: string; tenant_id?: string | null; attributes?: Record<string, unknown> } | oui | Ressource visée : type, identifiant, tenant et attributs. |
action | string | oui | Action demandée. |
context | { data_classification?: Classification; region?: string; purpose?: string; environment?: string; channel?: string; cost_estimate?: Money; time?: string; ip?: string; attributes?: Record<string, unknown>; } | oui | Contexte de la demande : classification des données, région, finalité, environnement, canal, estimation de coût, date et IP. |
Interface PolicyDecision
Décision d'une politique : autorisation ou refus, raisons et obligations.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
allow | boolean | oui | Indique si l'action est autorisée. |
decision_id | string | oui | Identifiant de la décision. |
policy_id | string | non | Politique que la candidate remplace ; null pour l'ajouter à l'ensemble actif. |
policy_version | string | non | Version de la politique appliquée. |
engine | "builtin" | "opa" | "openfga" | non | Auto (par défaut), HPA ou KEDA. |
reasons | string[] | oui | Raisons de la décision. |
obligations | Array<{ type: string; params?: Record<string, unknown> }> | non | Obligations ajoutées à la décision quand cette règle d'autorisation s'applique. |
evaluated_at | string | non | Date et heure de l'évaluation (ISO 8601). |
Interface PolicyContract
Contrat de politique (policy-contract) : une demande d'autorisation et sa décision.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
schema_version | string | oui | Version du schéma de contrat suivie par le document. |
request | PolicyRequest | oui | Demande d'autorisation (PolicyRequest). |
decision | PolicyDecision | non | approve ou reject. |
Interface MultimodalContract
Contrat multimodal (multimodal-contract) : un média, l'opération appliquée, son stockage, sa classification et ses coûts.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
schema_version | string | oui | Version du schéma de contrat suivie par le document. |
media_id | string | oui | Identifiant du média. |
tenant_id | string | oui | Locataire de l'agent. default par défaut. |
media_type | "image" | "audio" | "video" | "document" | oui | Type de média : image, audio, video ou document. |
operation | | "vision_understanding" | "image_generation" | "image_edit" | "video_processing" | "video_generation" | "stt" | oui | Opération appliquée, comme vision_understanding, image_generation, stt, tts ou ocr. |
mime_type | string | oui | Type de média du contenu, par exemple application/pdf ou image/png. |
size_bytes | number | non | Taille du média en octets. |
duration_seconds | number | null | non | Durée du média en secondes. |
resolution | { width?: number; height?: number } | null | non | Largeur et hauteur du média. |
fps | number | null | non | Images extraites par seconde (plus de 0, 60 au plus, 1 par défaut). |
sample_rate | number | null | non | Fréquence d'échantillonnage de l'audio extrait, en Hz. 16000 par défaut. |
pages | number | null | non | Nombre de pages d'un document. |
storage | { uri: string; encryption: "sse-kms" | "openbao-transit" | "sse-s3" | "none"; retention_days?: number; digest?: string; } | oui | Stockage du média : URI, chiffrement, rétention en jours et empreinte. |
classification | Classification | oui | Classification des données, de public à secret. |
dlp | { scanned?: boolean; extracted_text_chars?: number; findings?: number; action?: "allow" | "mask" | "tokenize" | "block" } | non | Mode DLP par sens, chacun off, detect, mask ou block. Par défaut {inbound: detect, outbound: mask}. |
model_id | string | null | non | Modèle de l'appel, comparé aux motifs de modèle des grilles tarifaires. |
costs | { estimated?: Money | null; measured?: Money | null } | non | Coûts estimés et mesurés (Money). |
provenance | Provenance | non | Déclaration in-toto v1 signée avec un prédicat SLSA v1 : {statement, signature: {value, signer}}. |
created_at | string | non | Date et heure de création (ISO 8601). |
Interface ContractTypes
Associe chaque nom de contrat de contracts/index.json à son modèle TypeScript.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
agent-manifest | AgentManifest | oui | Modèle du contrat agent-manifest : AgentManifest. |
model-manifest | ModelManifest | oui | Modèle du contrat model-manifest : ModelManifest. |
tool-manifest | ToolManifest | oui | Modèle du contrat tool-manifest : ToolManifest. |
skill-manifest | SkillManifest | oui | Modèle du contrat skill-manifest : SkillManifest. |
plugin-manifest | PluginManifest | oui | Modèle du contrat plugin-manifest : PluginManifest. |
connector-manifest | ConnectorManifest | oui | Modèle du contrat connector-manifest : ConnectorManifest. |
channel-manifest | ChannelManifest | oui | Modèle du contrat channel-manifest : ChannelManifest. |
execution-contract | ExecutionContract | oui | Modèle du contrat execution-contract : ExecutionContract. |
context-contract | ContextContract | oui | Modèle du contrat context-contract : ContextContract. |
memory-contract | MemoryContract | oui | Modèle du contrat memory-contract : MemoryContract. |
usage-event | UsageEvent | oui | Modèle du contrat usage-event : UsageEvent. |
audit-event | AuditEvent | oui | Modèle du contrat audit-event : AuditEvent. |
evaluation-contract | EvaluationContract | oui | Modèle du contrat evaluation-contract : EvaluationContract. |
policy-contract | PolicyContract | oui | Modèle du contrat policy-contract : PolicyContract. |
multimodal-contract | MultimodalContract | oui | Modèle du contrat multimodal-contract : MultimodalContract. |
Alias de type ContractName
Nom d'un contrat v1, clé de ContractTypes.
Définition : keyof ContractTypes.
Interface EaiExtension
Extension eai de la plateforme ajoutée aux corps compatibles OpenAI de la passerelle : effort, agent, session, exécution, tâche, classification des données, finalité, régions autorisées et politique de repli.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
effort | Effort | non | Effort de raisonnement demandé (Effort). |
agent_id | string | non | Identifiant de l'agent qui fait l'appel. |
session_id | string | non | Identifiant de la session. |
run_id | string | non | Identifiant de l'exécution. |
task_id | string | non | Identifiant de la tâche. |
data_classification | Classification | non | Classification des données envoyées dans la requête. |
purpose | string | non | Usage de la cible. backup par défaut. |
region_allow | string[] | non | Régions où la requête peut être traitée. |
fallback_policy | string | non | Politique de repli appliquée lorsque le modèle n'est pas disponible. |
Alias de type ChatContentPart
Partie du contenu d'un message : texte, URL d'image ou audio en entrée.
Définition : \| { type: "text"; text: string } \| { type: "image_url"; image_url: { url: string; detail?: "low" \| "high" \| "auto" } } \| { type: "input_audio"; input_audio: { data: string; format: string } }.
Interface ChatMessage
Message d'une conversation : rôle, contenu, nom et appels d'outils.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
role | "system" | "user" | "assistant" | "tool" | "developer" | oui | Rôle de l'auteur : system, user, assistant, tool ou developer. |
content | string | ChatContentPart[] | null | oui | Contenu du message : texte, liste de ChatContentPart ou null. |
name | string | non | Nom de l'auteur du message. |
tool_call_id | string | non | Identifiant de l'appel d'outil auquel répond ce message tool. |
tool_calls | ToolCall[] | non | Appels d'outils demandés par l'assistant (ToolCall). |
Interface ToolCall
Appel d'outil demandé par un modèle : identifiant, type function, nom et arguments.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
id | string | oui | Identifiant de l'appel. |
type | "function" | oui | Type de l'appel, toujours function. |
function | { name: string; arguments: string } | oui | Fonction appelée : nom et arguments sous forme de chaîne JSON. |
Interface ChatCompletionRequest
Requête de complétion de chat compatible OpenAI, avec l'extension eai.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
model | string | oui | Alias de modèle ou de route de la passerelle. |
messages | ChatMessage[] | oui | Messages de la conversation (ChatMessage). |
stream | boolean | non | Si true, la réponse est diffusée en fragments ChatCompletionChunk. |
temperature | number | non | Température d'échantillonnage. |
top_p | number | non | Masse de probabilité de l'échantillonnage par noyau (nucleus). |
max_tokens | number | non | Nombre maximal de jetons de sortie ; s'il est fourni, c'est la sortie retenue pour le pire cas. |
max_completion_tokens | number | non | Nombre maximal de jetons de la complétion, raisonnement compris. |
tools | Array<{ type: "function"; function: { name: string; description?: string; parameters?: Record<string, unknown> } }> | non | Outils que ses agents externes peuvent invoquer (noms ou motifs comme crm.*). |
tool_choice | "auto" | "none" | "required" | { type: "function"; function: { name: string } } | non | Choix de l'outil : auto, none, required ou une fonction nommée. |
response_format | { type: "text" | "json_object" | "json_schema"; json_schema?: Record<string, unknown> } | non | Format attendu de la réponse : text, json_object ou json_schema avec son schéma. |
stop | string | string[] | non | Une ou plusieurs séquences qui arrêtent la génération. |
user | string | non | Identifiant de l'utilisateur final, transmis avec la requête. |
eai | EaiExtension | non | Extension eai de la plateforme : effort, agent, session, exécution, tâche, classification des données et indications de routage. |
Interface CompletionUsage
Consommation de jetons d'une complétion.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
prompt_tokens | number | oui | Nombre de jetons du prompt. |
completion_tokens | number | oui | Nombre de jetons générés. |
total_tokens | number | oui | Nombre total de jetons (prompt et complétion). |
completion_tokens_details | { reasoning_tokens?: number } | non | Détail des jetons générés : jetons de raisonnement. |
prompt_tokens_details | { cached_tokens?: number } | non | Détail des jetons du prompt : jetons lus depuis le cache. |
Interface ChatCompletion
Réponse de complétion de chat de la passerelle, compatible OpenAI.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
id | string | oui | Identifiant de la complétion. |
object | "chat.completion" | oui | Objet vérifié, <type>:<id>, par exemple project:42. |
created | number | oui | Date de création en horodatage Unix, en secondes. |
model | string | oui | Modèle qui a produit la réponse. |
choices | Array<{ index: number; message: ChatMessage; finish_reason: string | null }> | oui | Choix générés : index, message et raison de fin. |
usage | CompletionUsage | non | Compteurs d'usage ajoutés à la consommation de budget, par exemple input_tokens, output_tokens. |
eai | Record<string | non | Données de la plateforme ajoutées par la passerelle sous eai. |
Interface ChatCompletionChunk
Fragment diffusé (chat.completion.chunk) d'une complétion de chat.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
id | string | oui | Identifiant de la complétion à laquelle appartient le fragment. |
object | "chat.completion.chunk" | oui | Objet vérifié, <type>:<id>, par exemple project:42. |
created | number | oui | Date de création en horodatage Unix, en secondes. |
model | string | oui | Modèle qui a produit le fragment. |
choices | Array<{ index: number; delta: { role?: string; content?: string | null; tool_calls?: Array<Partial<ToolCall> & { index: number }> }; finish_reason: string | null; }> | oui | Choix partiels : index, delta (rôle, contenu, appels d'outils) et raison de fin. |
usage | CompletionUsage | null | non | Compteurs d'usage ajoutés à la consommation de budget, par exemple input_tokens, output_tokens. |
Interface EmbeddingRequest
Requête de vectorisation de la passerelle, avec l'extension eai.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
model | string | oui | Alias de modèle d'embedding de la passerelle. |
input | string | string[] | oui | Valeur refusée. |
dimensions | number | non | Nombre de dimensions des vecteurs. |
encoding_format | "float" | "base64" | non | Encodage des vecteurs : float ou base64. |
eai | EaiExtension | non | Extension eai de la plateforme : effort, agent, session, exécution, tâche, classification des données et indications de routage. |
Interface EmbeddingResponse
Réponse de vectorisation : un vecteur par entrée, modèle et consommation de jetons.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
object | "list" | oui | Objet vérifié, <type>:<id>, par exemple project:42. |
data | Array<{ object: "embedding"; index: number; embedding: number[] }> | oui | Un embedding par entrée, dans l'ordre des entrées (index). |
model | string | oui | Modèle qui a calculé les embeddings. |
usage | { prompt_tokens: number; total_tokens: number } | non | Compteurs d'usage ajoutés à la consommation de budget, par exemple input_tokens, output_tokens. |
Interface RerankRequest
Requête de reclassement : requête, documents et nombre de résultats, avec l'extension eai.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
model | string | oui | Alias de modèle de reclassement de la passerelle. |
query | string | oui | Requête par rapport à laquelle les documents sont classés. |
documents | Array<string | Record<string | oui | Documents à classer, sous forme de chaînes ou d'objets. |
top_n | number | non | Nombre de résultats à renvoyer. |
eai | EaiExtension | non | Extension eai de la plateforme : effort, agent, session, exécution, tâche, classification des données et indications de routage. |
Interface RerankResponse
Réponse de reclassement : résultats et modèle.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
results | Array<{ index: number; relevance_score: number; document?: unknown }> | oui | Résultats classés : index du document, score de pertinence et document. |
model | string | non | Modèle qui a classé les documents. |
Interface CostEstimate
Enveloppe renvoyée par /v1/gateway/estimate et /v1/finops/estimate.
Champs :
| Nom | Type | Requis | Description |
|---|---|---|---|
estimated | Money | null | oui | Coût estimé (Money), ou null s'il ne peut pas être estimé. |
Alias de type Json
Toute valeur JSON.
Définition : string \| number \| boolean \| null \| Json[] \| { [key: string]: Json }.
Alias de type Doc
Objet JSON générique (Record<string, unknown>).
Définition : Record<string, unknown>.