dispatchRequis
<T = undefined>(options: Omit<SandboxOptions, Exclude<keyof WorkspaceOptions, "hooks" | "label"> | "workspace"> & DispatchOptions<T> & { readonly agent: DispatchAgent; }) => Promise<DispatchResult<T>>
Exécute un dispatch dans une nouvelle sandbox sur ce workspace. En cas de succès, il fusionne une branche integrate, puis ferme la sandbox et laisse le workspace ouvert. Échoue avec le code configuration si une autre sandbox occupe le workspace ou après close().
sandboxRequis
(options?: Omit<SandboxOptions, Exclude<keyof WorkspaceOptions, "hooks" | "label"> | "workspace">) => Promise<Sandbox>
Alloue une sandbox réutilisable sur ce workspace. Les hooks qui lui sont passés remplacent hostReady et sandboxReady du workspace ; la fermer laisse le workspace ouvert et ne fusionne jamais. Une seconde sandbox ouverte échoue avec le code configuration.
attachRequis
(options: Omit<SandboxOptions, Exclude<keyof WorkspaceOptions, "hooks" | "label"> | "workspace"> & AttachOptions & { readonly agent: Agent; }) => Promise<AttachResult>
Ouvre le terminal interactif d’un agent dans une nouvelle sandbox sur ce workspace. Si le terminal sort avec le statut 0, il fusionne une branche integrate ; la sandbox est fermée et le workspace reste ouvert.
closeRequis
(options?: { readonly preserve?: boolean; }) => Promise<Disposal>
Libère le verrou et supprime un worktree géré propre ; une branche integrate est supprimée une fois fusionnée, une branche named est conservée. Avec preserve: true, un HEAD détaché ou des fichiers modifiés, non suivis ou ignorés, le worktree est conservé et renvoyé dans retainedDirectory. Échoue avec le code configuration tant qu’une sandbox est ouverte ; les appels suivants renvoient le premier résultat.
integrateRequis
() => Promise<void>
Fusionne la branche integrate dans la branche de base avec git merge —no-edit dans le checkout hôte ; ne fait rien en modes current et named. Échoue avec le code conflict si le checkout hôte a changé de branche, si une autre intégration détient le verrou de fusion ou si la fusion échoue ; la branche de travail reste.
[Symbol.asyncDispose]Requis
() => Promise<void>
Ferme le workspace comme close() sans options, pour await using.
repositoryRequis
string
Chemin réel du répertoire racine du checkout hôte.
directoryRequis
string
Dossier hôte dans lequel l’agent travaille : le worktree sous .outpost/workspaces, ou le checkout lui-même en mode current.
branchRequis
string
Nom de la branche de travail. En mode current, la branche extraite, ou HEAD si elle est détachée.
baseBranchRequis
string
Branche extraite dans le checkout hôte à l’ouverture du workspace, et cible de integrate(). Vide si HEAD était détaché.
baselineRequis
string
Commit extrait dans le workspace à son ouverture. Chaque dispatch liste les commits depuis son propre commit de départ, pas depuis celui-ci.
gitDirectoriesRequis
readonly string[]
Chemins hôtes du dossier Git du worktree et du dossier Git commun du dépôt. Les providers de conteneurs les montent, sauf si repositoryMode vaut isolated.
policyRequis
BranchPolicy
Politique de branche appliquée, { mode: “current” } si aucune n’a été fournie.