Fixer des délais et annuler une tâche
Limitez la durée d’exécution de l’agent, réglez les passages successifs et annulez depuis votre code.
Limiter la durée d’une tâche
Section intitulée « Limiter la durée d’une tâche »Définissez les délais à côté du brief si la tâche demande des limites plus strictes que celles par défaut. Vous pouvez limiter la durée totale d’un échange et le temps pendant lequel l’agent peut rester silencieux.
Si l’agent tourne plus de 20 minutes, ou reste muet pendant 5, la promesse est rejetée avec une OutpostError de code timeout. La sandbox est libérée ; la branche garde ce que l’agent a commité.
Choisir une limite
Section intitulée « Choisir une limite »Référence API : DispatchOptions.
Votre fonction de rappel observe reçoit un événement stopped dont le champ reason indique ce qui a arrêté le processus : deadline, idle-timeout, completion ou aborted.
Annuler depuis votre code
Section intitulée « Annuler depuis votre code »Passez un AbortSignal. Ici, Ctrl+C arrête l’agent au lieu de le laisser tourner dans la sandbox.
La promesse est rejetée avec la valeur passée à abort(), ici "cancelled by user". AbortSignal.timeout(ms) fonctionne de la même façon pour un délai qui couvre toutes les passes.
| Après un arrêt | dispatch() | sandbox.dispatch() dans une session |
|---|---|---|
| Processus d’agent | Son groupe de processus et ses descendants terminés | Idem |
| Sandbox | Libérée | Toujours active, prête pour le dispatch suivant |
| Worktree, branche | Conservés ; recoveryDetails(error) les donne | Conservés |
Pour changer la direction de l’agent sans l’arrêter, réorientez-le plutôt.
Relancer le brief jusqu’à ce que l’agent le déclare terminé
Section intitulée « Relancer le brief jusqu’à ce que l’agent le déclare terminé »passes renvoie le brief quand une passe se termine sans marqueur de fin. Demandez le marqueur dans le brief : Outpost ne l’ajoute pas.
Chaque passe démarre une nouvelle conversation sur la même branche : elle voit donc les commits précédents. Outpost s’arrête à la première passe dont la réponse contient un marqueur. until accepte aussi une liste ; until: [] désactive la recherche et exécute toutes les passes.
Référence API : DispatchResult.
Si l’agent écrit son marqueur mais continue de tourner, Outpost l’arrête settleMs après sa dernière sortie. Le résultat est conservé et warn reçoit un message.
Limiter la durée des opérations Git et fichiers
Section intitulée « Limiter la durée des opérations Git et fichiers »limits fixe des délais aux étapes Git et fichiers qui entourent l’agent. Passez-le à dispatch(), createWorkspace() ou createSandbox().
Référence API : StageLimits.
Autres limites
Section intitulée « Autres limites »- BudgetsPlafonds de tokens et de tentatives partagés par les tâches d’un workflow.
- Concurrence, relances et délais
timeoutMspour chaque tentative de tâche et pour une exécution entière. - Harness intégré
limitssur les étapes, les appels d’outils et la consommation d’une boucle d’agent. - Sessions de sandbox
deadlineMsetsignalsur une seule commande. - Rédiger le brief
expansionMsborne les commandes shell d’un brief en fichier. - Réorienter un agent en coursChangez de direction sans annuler.
- Chaque durée doit être un nombre positif :
0ne désactive pas une limite. passessupérieur à 1 ne se combine ni avecresponseni aveccontinuation.- Arrêter un agent n’annule rien. Les commits et fichiers déjà écrits restent sur la branche.
API : dispatch · DispatchOptions · DispatchResult · StageLimits · recoveryDetails · AgentObservation.