Les environnements fournissent des contextes d'exécution isolés pour exécuter le code, les outils et les services de l'agent de manière sécurisée.
CreateEnvironment
Crée un environnement.
Corps de la requête
Le corps de la requête contient des données présentant la structure suivante :
network EnvironmentNetworkEgressAllowlist ou enum (string) (facultatif)
Configuration réseau de l'environnement.
Types possibles
object
Configuration de la mise en réseau sortante pour le bac à sable. Lorsqu'ils sont spécifiés, ils limitent les domaines externes que le bac à sable peut atteindre. Omettez-le entièrement pour autoriser tout le trafic sortant sans injection d'en-tête.
allowlist array (AllowlistEntry) (optional)
Liste des domaines sortants autorisés. Seules les requêtes adressées aux domaines listés sont autorisées. Utilisez [{'domain': '*'}] pour autoriser tous les domaines tout en injectant des en-têtes sur des domaines spécifiques.
Champs
Domaine vers lequel autoriser les requêtes sortantes. Accepte les caractères génériques (par exemple, "*.googleapis.com"). Utilisez "*" pour autoriser tous les domaines.
En-têtes à injecter dans toutes les requêtes sortantes correspondant à ce domaine. Accepte un seul dict ou une liste de dicts. Le proxy de sortie les injecte automatiquement.
string
Éteint tous les réseaux.
Valeurs possibles
-
disabledÉteint tous les réseaux.
sources array (Source) (facultatif)
Sources à monter dans l'environnement.
Champs
Contenu intégré si le type est "INLINE".
Encodage facultatif pour le contenu intégré (par exemple, "base64").
Source de l'environnement. Pour Cloud Storage, il s'agit du chemin d'accès Cloud Storage. Pour GitHub, il s'agit du chemin GitHub.
Où la source doit apparaître dans l'environnement.
Aucune description fournie.
Valeurs possibles :
-
gcsUn bucket Cloud Storage.
-
inlineContenu intégré.
-
repositoryDépôt générique. Le préfixe de protocole dans l'URL source identifie le fournisseur (par exemple, github://, gcs://).
Réponse
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
Uniquement en sortie. Heure à laquelle l'environnement a été créé au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).
Uniquement en sortie. Nombre de fichiers dans l'environnement (sortie uniquement).
Obligatoire. Uniquement en sortie. ID de l'environnement.
Uniquement en sortie. Heure à laquelle l'environnement a été consulté pour la dernière fois, au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).
network EnvironmentNetworkEgressAllowlist ou enum (string) (facultatif)
Configuration réseau de l'environnement.
Types possibles
object
Configuration de la mise en réseau sortante pour le bac à sable. Lorsqu'ils sont spécifiés, ils limitent les domaines externes que le bac à sable peut atteindre. Omettez-le entièrement pour autoriser tout le trafic sortant sans injection d'en-tête.
allowlist array (AllowlistEntry) (optional)
Liste des domaines sortants autorisés. Seules les requêtes adressées aux domaines listés sont autorisées. Utilisez [{'domain': '*'}] pour autoriser tous les domaines tout en injectant des en-têtes sur des domaines spécifiques.
Champs
Domaine vers lequel autoriser les requêtes sortantes. Accepte les caractères génériques (par exemple, "*.googleapis.com"). Utilisez "*" pour autoriser tous les domaines.
En-têtes à injecter dans toutes les requêtes sortantes correspondant à ce domaine. Accepte un seul dict ou une liste de dicts. Le proxy de sortie les injecte automatiquement.
string
Éteint tous les réseaux.
Valeurs possibles
-
disabledÉteint tous les réseaux.
Uniquement en sortie. Taille totale des fichiers d'environnement en octets (sortie uniquement).
sources array (Source) (facultatif)
Sources à monter dans l'environnement.
Champs
Contenu intégré si le type est "INLINE".
Encodage facultatif pour le contenu intégré (par exemple, "base64").
Source de l'environnement. Pour Cloud Storage, il s'agit du chemin d'accès Cloud Storage. Pour GitHub, il s'agit du chemin GitHub.
Où la source doit apparaître dans l'environnement.
Aucune description fournie.
Valeurs possibles :
-
gcsUn bucket Cloud Storage.
-
inlineContenu intégré.
-
repositoryDépôt générique. Le préfixe de protocole dans l'URL source identifie le fournisseur (par exemple, github://, gcs://).
Uniquement en sortie. État du conteneur d'environnement.
Valeurs possibles :
-
activeUniquement en sortie. État du conteneur d'environnement.
-
expiredUniquement en sortie. État du conteneur d'environnement.
Uniquement en sortie. Heure à laquelle l'environnement a été mis à jour pour la dernière fois au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).
Créer un environnement
Exemple de réponse
{ "created": "2026-08-19T00:00:00Z", "id": "env_abc123", "last_accessed": "2026-08-19T00:00:00Z", "sources": [ { "type": "inline", "content": "print('Hello, World!')", "target": "main.py" } ], "status": "active", "updated": "2026-08-19T00:00:00Z" }
ListEnvironments
Liste les environnements.
Paramètres de chemin d'accès / de requête
Facultatif. Nombre maximal d'environnements à renvoyer.\nSi aucune valeur n'est spécifiée, la valeur par défaut est 50. La valeur maximale est de 1 000.
Facultatif. Jeton de pagination.
Réponse
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
Environnements appartenant au projet fourni.
Jeton de pagination.
Répertorier les environnements
Exemple de réponse
{ "environments": [ { "created": "2026-08-19T00:00:00Z", "id": "env_abc123", "last_accessed": "2026-08-19T00:00:00Z", "status": "active", "updated": "2026-08-19T00:00:00Z" } ] }
GetEnvironmentFiles
Récupère les métadonnées d'un fichier ou le contenu d'un répertoire à partir de l'instantané d'un environnement. Pour télécharger directement le contenu d'un fichier, transmettez ?alt=media ou utilisez l'assistant files.download.
Paramètres de chemin d'accès / de requête
Facultatif. Nombre maximal d'entrées à renvoyer par page (pour la liste des annuaires).
Facultatif. Jeton de pagination pour la liste des répertoires.
Facultatif. Si la valeur est "true" et que le chemin d'accès est un répertoire, tous les fichiers sont listés de manière récursive.
Réponse
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
files array (EnvironmentFile) (facultatif)
Si le chemin d'accès demandé est un répertoire, il contient son contenu. Si le chemin d'accès demandé est un fichier, il contient une seule entrée avec les métadonnées du fichier. Si alt=media a été spécifié, cette valeur est vide (le contenu est diffusé via "blob").
Champs
Uniquement en sortie. Date et heure de création du fichier ou du répertoire.
Uniquement en sortie. Type MIME du fichier (par exemple, "text/python" ou "image/png"). Vide pour les répertoires. NOLINT
Uniquement en sortie. Date et heure de modification du fichier ou du répertoire.
Uniquement en sortie. Nom du fichier ou du répertoire (par exemple, "main.py" ou "src").
Uniquement en sortie. Chemin d'accès relatif complet dans l'environnement (par exemple, "workspace/src/main.py").
Uniquement en sortie. Taille du fichier/répertoire en octets. NOLINT
Uniquement en sortie. Type d'entrée.
Valeurs possibles :
-
fileFichier normal.
-
directoryUn répertoire.
Jeton de pagination pour la liste des répertoires. NOLINT
Lister les fichiers dans l'environnement
Exemple de réponse
{ "files": [ { "name": "src", "type": "directory", "created": "2026-08-19T00:00:00Z", "modified": "2026-08-19T00:00:00Z", "path": "src" }, { "name": "main.py", "type": "file", "created": "2026-08-19T00:00:00Z", "mime_type": "text/x-python", "modified": "2026-08-19T00:00:00Z", "path": "main.py", "size_bytes": "22" } ] }
Obtenir les métadonnées d'un fichier
Exemple de réponse
{ "files": [ { "name": "main.py", "type": "file", "created": "2026-08-19T00:00:00Z", "mime_type": "text/x-python", "modified": "2026-08-19T00:00:00Z", "path": "main.py", "size_bytes": "22" } ] }
Télécharger le contenu d'un fichier
Exemple de réponse
{ "files": [ { "name": "main.py", "type": "file", "mime_type": "text/x-python", "path": "main.py", "size_bytes": "22" } ] }
GetEnvironment
Récupère un environnement.
Réponse
Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :
Uniquement en sortie. Heure à laquelle l'environnement a été créé au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).
Uniquement en sortie. Nombre de fichiers dans l'environnement (sortie uniquement).
Obligatoire. Uniquement en sortie. ID de l'environnement.
Uniquement en sortie. Heure à laquelle l'environnement a été consulté pour la dernière fois, au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).
network EnvironmentNetworkEgressAllowlist ou enum (string) (facultatif)
Configuration réseau de l'environnement.
Types possibles
object
Configuration de la mise en réseau sortante pour le bac à sable. Lorsqu'ils sont spécifiés, ils limitent les domaines externes que le bac à sable peut atteindre. Omettez-le entièrement pour autoriser tout le trafic sortant sans injection d'en-tête.
allowlist array (AllowlistEntry) (optional)
Liste des domaines sortants autorisés. Seules les requêtes adressées aux domaines listés sont autorisées. Utilisez [{'domain': '*'}] pour autoriser tous les domaines tout en injectant des en-têtes sur des domaines spécifiques.
Champs
Domaine vers lequel autoriser les requêtes sortantes. Accepte les caractères génériques (par exemple, "*.googleapis.com"). Utilisez "*" pour autoriser tous les domaines.
En-têtes à injecter dans toutes les requêtes sortantes correspondant à ce domaine. Accepte un seul dict ou une liste de dicts. Le proxy de sortie les injecte automatiquement.
string
Éteint tous les réseaux.
Valeurs possibles
-
disabledÉteint tous les réseaux.
Uniquement en sortie. Taille totale des fichiers d'environnement en octets (sortie uniquement).
sources array (Source) (facultatif)
Sources à monter dans l'environnement.
Champs
Contenu intégré si le type est "INLINE".
Encodage facultatif pour le contenu intégré (par exemple, "base64").
Source de l'environnement. Pour Cloud Storage, il s'agit du chemin d'accès Cloud Storage. Pour GitHub, il s'agit du chemin GitHub.
Où la source doit apparaître dans l'environnement.
Aucune description fournie.
Valeurs possibles :
-
gcsUn bucket Cloud Storage.
-
inlineContenu intégré.
-
repositoryDépôt générique. Le préfixe de protocole dans l'URL source identifie le fournisseur (par exemple, github://, gcs://).
Uniquement en sortie. État du conteneur d'environnement.
Valeurs possibles :
-
activeUniquement en sortie. État du conteneur d'environnement.
-
expiredUniquement en sortie. État du conteneur d'environnement.
Uniquement en sortie. Heure à laquelle l'environnement a été mis à jour pour la dernière fois au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).
Obtenir l'environnement
Exemple de réponse
{ "created": "2026-08-19T00:00:00Z", "id": "env_abc123", "last_accessed": "2026-08-19T00:00:00Z", "sources": [ { "type": "inline", "content": "print('Hello, World!')", "target": "main.py" } ], "status": "active", "updated": "2026-08-19T00:00:00Z" }
DeleteEnvironment
Supprime un environnement.
Réponse
Si l'opération réussit, la réponse est vide.
Supprimer l'environnement
Ressources
Environnement
Environnement d'exécution pour un agent.
Champs
Uniquement en sortie. Heure à laquelle l'environnement a été créé au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).
Uniquement en sortie. Nombre de fichiers dans l'environnement (sortie uniquement).
Obligatoire. Uniquement en sortie. ID de l'environnement.
Uniquement en sortie. Heure à laquelle l'environnement a été consulté pour la dernière fois, au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).
network EnvironmentNetworkEgressAllowlist ou enum (string) (facultatif)
Configuration réseau de l'environnement.
Types possibles
object
Configuration de la mise en réseau sortante pour le bac à sable. Lorsqu'ils sont spécifiés, ils limitent les domaines externes que le bac à sable peut atteindre. Omettez-le entièrement pour autoriser tout le trafic sortant sans injection d'en-tête.
allowlist array (AllowlistEntry) (optional)
Liste des domaines sortants autorisés. Seules les requêtes adressées aux domaines listés sont autorisées. Utilisez [{'domain': '*'}] pour autoriser tous les domaines tout en injectant des en-têtes sur des domaines spécifiques.
Champs
Domaine vers lequel autoriser les requêtes sortantes. Accepte les caractères génériques (par exemple, "*.googleapis.com"). Utilisez "*" pour autoriser tous les domaines.
En-têtes à injecter dans toutes les requêtes sortantes correspondant à ce domaine. Accepte un seul dict ou une liste de dicts. Le proxy de sortie les injecte automatiquement.
string
Éteint tous les réseaux.
Valeurs possibles
-
disabledÉteint tous les réseaux.
Uniquement en sortie. Taille totale des fichiers d'environnement en octets (sortie uniquement).
sources array (Source) (facultatif)
Sources à monter dans l'environnement.
Champs
Contenu intégré si le type est "INLINE".
Encodage facultatif pour le contenu intégré (par exemple, "base64").
Source de l'environnement. Pour Cloud Storage, il s'agit du chemin d'accès Cloud Storage. Pour GitHub, il s'agit du chemin GitHub.
Où la source doit apparaître dans l'environnement.
Aucune description fournie.
Valeurs possibles :
-
gcsUn bucket Cloud Storage.
-
inlineContenu intégré.
-
repositoryDépôt générique. Le préfixe de protocole dans l'URL source identifie le fournisseur (par exemple, github://, gcs://).
Uniquement en sortie. État du conteneur d'environnement.
Valeurs possibles :
-
activeUniquement en sortie. État du conteneur d'environnement.
-
expiredUniquement en sortie. État du conteneur d'environnement.
Uniquement en sortie. Heure à laquelle l'environnement a été mis à jour pour la dernière fois au format ISO 8601 (AAAA-MM-JJThh:mm:ssZ).