Launcher21
Constructors
commandconstBuild a SpawnSpec.process factory that injects the assume token into env and/or argv.entryconstEntry-path sugar over command — exec + execArgs + path, with the same token injection.mintTokenconstMint an opaque high-entropy assume token (CSPRNG hex), brand as Token, wrap in Redacted.spawnconstSpawn one OS child under launcher custody — mints an assume token, resolves Ready Config, runs process, returns a Handle.upconstOne-shot bring-up: spawn → awaitReady → handoff per unit, then the launcher may exit.Models
CommandOptionsinterfaceOptions for command — Effect ChildProcess options plus token injection mode.EntryOptionsinterfaceOptions for entry — CommandOptions plus exec / execArgs before the entry path.HandleinterfaceCustody handle — only spawn / up construct these.ReadyOptionsinterfaceReady-wait options on a spawn unit — omit services for allReady-shaped; omit timeout / poll to read readyTimeoutConfig / readyPollConfig at spawn.ServiceReftypeHyperService identity for ReadyOptions.services — wire-key string or Tag ({ key } / Hyperlink tag; prefers Hyperlink.wireKeyOf when present).SpawnSpecinterfaceOne spawn unit — dial target + Effect ChildProcess command (or a factory that receives the minted cleartext token for open injection into env/argv).TokentypeOpaque assume-token brand (thin sugar over a redacted hex string).UpOptionsinterfaceOptions for up — concurrency across spawn units (default sequential).Errors
ChildExitedclassChild OS process exited while the launcher was waiting for Ready.HandleNotReadyclassHandle.handoff called before Handle.awaitReady succeeded.HandleSpentclassCustody handle used after handoff / kill — .awaitReady / .handoff / .kill must not run again.ReadyTimedOutclassReady poll expired before the child reported Ready.