defineIsolatedTask
Rôle et comportement
Section intitulée « Rôle et comportement »Déclare une tâche qui exécute dispatch() à chaque tentative avec le dépôt, le provider, l’agent et les options renvoyés par request ; chaque tentative alloue puis ferme sa propre sandbox. La sortie est le DispatchResult complet avec ses méthodes resume() et fork() : une exécution avec checkpoint doit envelopper la tâche dans une defineTask() qui renvoie du JSON. cache est refusé.
Exemple complet et règles détaillées.
Paramètres et propriétés
Section intitulée « Paramètres et propriétés »optionsRequisOmit<TaskOptions<DispatchResult<T>>, "cache" | "perform"> & IsolatedTaskOptions<T>Réglages d’ordonnancement et fabrique de requêtes choisissant un dépôt et une sandbox distincts à chaque tentative.options.retryOptionnelRetry | undefinedPolitique de relance des tentatives échouées ; sans elle, la tâche s’exécute une fois. Une tentative relancée répète ses effets de bord.options.gateOptionnelWorkflowGate | undefinedDéfinition persistée d’approbation ou pause ; son exécution exige un checkpoint et une décision de confiance correspondante.options.keyRequisstringClé unique dans le workflow, conforme à [A-Za-z0-9][A-Za-z0-9._-]*. Les enregistrements, événements et checkpoints identifient la tâche par elle.options.afterOptionnelreadonly Task<unknown>[] | undefinedTâches qui doivent être done avant que celle-ci démarre, aucune par défaut ; seules celles-ci se lisent avec context.value().options.interactionOptionnelTaskInteraction | undefinedContrat optionnel de saisie humaine durable ; exige un checkpoint et ne peut pas être combiné avec une gate.options.conditionOptionnel((context: TaskContext) => boolean | Promise<boolean>) | undefinedÉvaluée avec attempt 0 avant l’exécution de la tâche, y compris quand un start() ultérieur la reprend ; false termine la tâche en skipped, ce qui ignore aussi ses dépendantes.options.timeoutMsOptionnelnumber | undefinedDélai en millisecondes de chaque tentative, entier positif jusqu’à 2147483647. À l’expiration, context.signal est annulé et la tentative échoue ; retry peut la répéter.options.requestRequis(context: TaskContext) => IsolatedTaskRequest<T> | Promise<IsolatedTaskRequest<T>>Construit le dépôt, le provider de sandbox, l’agent et les options de dispatch de chaque tentative ; peut être asynchrone.options.quotaResumeOptionnelQuotaResumePolicy | undefinedAprès une pause sur quota, poursuit la conversation capturée dans le nouveau dispatch (continue, par défaut) ou en démarre une nouvelle (restart). Les workspaces intégrés automatiquement partent alors de la branche interrompue ; les changements non commités restent dans son worktree conservé.