Aller au contenu
English

diagnoseSandbox

import { diagnoseSandbox } from "@elie-laloum/outpost";

Sonde un Sandbox ou un SandboxLease qui vous appartient : Node.js, Git, flux de sortie et statut de sortie, répertoire home, ainsi que la CLI de l’agent et un transfert binaire sur demande. Une sonde en échec devient un contrôle fail dans le rapport résolu, et la ressource reste ouverte. Rejette avec le code configuration pour un deadlineMs invalide ou, sur un Sandbox, pendant qu’une autre opération s’exécute.

Exemple complet et règles détaillées.

  • targetRequis
    SandboxLease | Sandbox
    Sandbox ou SandboxLease à sonder. Un Sandbox exécute le diagnostic comme sa propre opération exclusive ; un lease est sondé directement. Aucun des deux n’est fermé ni libéré.
  • optionsOptionnel
    SandboxDiagnosticOptions | undefined
    Métadonnées d’agent et provider, sondes de transfert, annulation et délai par sonde.
  • options.agentOptionnel
    BuiltInAgentName | undefined
    Agent intégré dont la CLI est vérifiée dans la sandbox : sa version (agent.sandbox), puis son aide pour chaque mode utilisé par Outpost (agent.cli.<mode>). Sans lui, aucun contrôle d’agent ne s’exécute.
  • options.deadlineMsOptionnel
    number | undefined
    Délai de chaque commande de sonde et de chaque transfert en millisecondes, 5000 par défaut. Doit être un entier de 1 à 60000, sinon l’appel rejette avec le code configuration.
  • options.signalOptionnel
    AbortSignal | undefined
    Annule le diagnostic. Déjà annulé, l’appel rejette avec la raison de l’annulation ; annulé pendant l’exécution, les sondes restantes sont rapportées en fail.
  • options.transfersOptionnel
    boolean | undefined
    true envoie un petit fichier binaire sous la racine de la sandbox, le vérifie avec un processus de la sandbox, le télécharge, puis supprime le répertoire de sonde (contrôles sandbox.transfers et sandbox.transfers.cleanup). Désactivé par défaut.
  • options.sandboxProviderOptionnel
    Pick<SandboxProvider, "name" | "placement"> | undefined
    Nom et placement du provider recopiés dans le rapport. sandbox.diagnose() le remplace par le provider de la sandbox.

Promise<SandboxDiagnosticReport>

export declare function diagnoseSandbox(
  target: Sandbox | SandboxLease,
  options?: SandboxDiagnosticOptions,
): Promise<SandboxDiagnosticReport>;