@usine/config/factory
Classes
Section titled “Classes”ExeDevWorker
Section titled “ExeDevWorker”An exe.dev VM named after the Worker, with the number of Attempts it may run at the same time.
Extends
Section titled “Extends”Schema.Class
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new ExeDevWorker(…
args):ExeDevWorker
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
…args |
[props: object, options?: MakeOptions] |
Returns
Section titled “Returns”Properties
Section titled “Properties”
readonlykind:"exe.dev"
maxConcurrentAttempts
Section titled “maxConcurrentAttempts”
readonlymaxConcurrentAttempts:number
readonlyname:string&Brand<"WorkerName">
LocalWorker
Section titled “LocalWorker”The orchestrator’s own machine as a Worker, with the number of Attempts it may run at the same time.
Extends
Section titled “Extends”Schema.Class
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new LocalWorker(…
args):LocalWorker
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
…args |
[props: object, options?: MakeOptions] |
Returns
Section titled “Returns”Properties
Section titled “Properties”
readonlykind:"local"
maxConcurrentAttempts
Section titled “maxConcurrentAttempts”
readonlymaxConcurrentAttempts:number
readonlyname:string&Brand<"WorkerName">
ManagedRepo
Section titled “ManagedRepo”A repository the factory manages, with its selector tags and configured Board lanes.
Extends
Section titled “Extends”Schema.Class
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new ManagedRepo(…
args):ManagedRepo
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
…args |
[props: object, options?: MakeOptions] |
Returns
Section titled “Returns”Properties
Section titled “Properties”
readonlylanes: readonlyLane[]
readonlyname:string&Brand<"RepositoryName">
readonlytags: readonly (string&Brand<"RegistryTag">)[]
Settings
Section titled “Settings”Factory-wide polling, Attempt limits, and defaults for the coordinating parent.
Extends
Section titled “Extends”Schema.Class
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new Settings(…
args):Settings
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
…args |
[props: object, options?: MakeOptions] |
Returns
Section titled “Returns”Properties
Section titled “Properties”maxAttemptMinutes
Section titled “maxAttemptMinutes”
readonlymaxAttemptMinutes:Option<number>
Wall-clock ceiling per Attempt in minutes. Absent by default: the runaway guard’s timer is not armed.
maxAttemptTokens
Section titled “maxAttemptTokens”
readonlymaxAttemptTokens:Option<number>
Consumed-token ceiling per Attempt across the parent and every child. Absent by default: the token guard is not armed.
maxChildren
Section titled “maxChildren”
readonlymaxChildren:number&Brand<"ChildSessionBudget">
Total child sessions allowed over one Attempt’s lifetime, including sequential spawns; defaults to four.
parentEffort
Section titled “parentEffort”
readonlyparentEffort:Option<"off"|"minimal"|"low"|"medium"|"high"|"xhigh"|"max">
Default parent reasoning effort; if neither Agent nor factory supplies one, the child’s effort applies.
parentModel
Section titled “parentModel”
readonlyparentModel:Option<string&Brand<"ModelId">>
Parent model used when the Agent has no override; an absent default leaves selection to Pi.
pollInterval
Section titled “pollInterval”
readonlypollInterval:number
Seconds between routine GitHub polling cycles; defaults to 60.
SshWorker
Section titled “SshWorker”A Linux machine the orchestrator connects to over SSH, with the number of
Attempts it may run at the same time. The orchestrator’s ssh client
connects to destination, on port and with identityFile when given,
and the Worker keeps its state under <root>/workers/<name> on the machine.
A Worker behind a gateway has no GitHub token on its machine: the
executor attaches each Attempt’s token to the Gateway instead.
Extends
Section titled “Extends”Schema.Class
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new SshWorker(…
args):SshWorker
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
…args |
[props: object, options?: MakeOptions] |
Returns
Section titled “Returns”Properties
Section titled “Properties”destination
Section titled “destination”
readonlydestination:string&Brand<"SshDestination">
gateway
Section titled “gateway”
readonlygateway:Option<WorkerGateway>
identityFile
Section titled “identityFile”
readonlyidentityFile:Option<string&Brand<"SshIdentityFile">>
readonlykind:"ssh"
maxConcurrentAttempts
Section titled “maxConcurrentAttempts”
readonlymaxConcurrentAttempts:number
readonlyname:string&Brand<"WorkerName">
readonlyport:Option<number&Brand<"SshPort">>
readonlyroot:string&Brand<"WorkerRoot">
UsineConfig
Section titled “UsineConfig”The factory’s repository registry, Worker capacity, labels, and operating defaults from usine.yaml.
Extends
Section titled “Extends”Schema.Class
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new UsineConfig(…
args):UsineConfig
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
…args |
[props: object, options?: MakeOptions] |
Returns
Section titled “Returns”Properties
Section titled “Properties”labels
Section titled “labels”
readonlylabels: readonlyDeclaredLabel[]
operator
Section titled “operator”
readonlyoperator:Option<string&Brand<"OperatorLogin">>
readonlyrepos: readonlyManagedRepo[]
settings
Section titled “settings”
readonlysettings:Settings
version
Section titled “version”
readonlyversion:1
webhooks
Section titled “webhooks”
readonlywebhooks: {mode:"off"; } | {mode:"deliveries"; } | {mode:"endpoint";publicUrl:URL; }
workers
Section titled “workers”
readonlyworkers: readonly (LocalWorker|ExeDevWorker|SshWorker)[]
WorkerGateway
Section titled “WorkerGateway”The Gateway in front of an SSH Worker’s machine on a private network
(ADR 0027). domain is the Gateway’s private DNS domain. adminUrl is its
admin API as the orchestrator reaches it, usually a local forward through
the SSH connection to the Gateway. The admin token is read at startup from
the orchestrator’s environment variable adminTokenEnv, so it is never in
the file. llmProviders names the providers whose credential the Gateway
holds. A harness whose provider is not listed uses the operator’s login on
the Worker and reaches the provider through the Gateway’s forward proxy;
Codex always does.
Extends
Section titled “Extends”Schema.Class
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new WorkerGateway(…
args):WorkerGateway
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
…args |
[props: object, options?: MakeOptions] |
Returns
Section titled “Returns”Properties
Section titled “Properties”adminTokenEnv
Section titled “adminTokenEnv”
readonlyadminTokenEnv:string&Brand<"EnvironmentVariableName">
adminUrl
Section titled “adminUrl”
readonlyadminUrl:URL
domain
Section titled “domain”
readonlydomain:string&Brand<"GatewayDomain">
llmProviders
Section titled “llmProviders”
readonlyllmProviders: readonly"anthropic"[]
Type Aliases
Section titled “Type Aliases”OperatorLogin
Section titled “OperatorLogin”OperatorLogin = typeof
OperatorLogin.Type
GitHub login identifying the human operator for this factory.
RegistryTag
Section titled “RegistryTag”RegistryTag = typeof
RegistryTag.Type
A factory-defined repository grouping that Loops can select by tag.
Webhooks
Section titled “Webhooks”Webhooks = typeof
Webhooks.Type
How GitHub hints reach the factory to request earlier polling; routine polling remains the backstop.
Worker
Section titled “Worker”Worker = typeof
Worker.Type
A named place to execute Attempts; its kind selects the Worker adapter and the settings that adapter needs.
Variables
Section titled “Variables”OperatorLogin
Section titled “OperatorLogin”
constOperatorLogin:Schema.brand<Schema.String,"OperatorLogin">
GitHub login identifying the human operator for this factory.
RegistryTag
Section titled “RegistryTag”
constRegistryTag:Schema.brand<Schema.String,"RegistryTag">
A factory-defined repository grouping that Loops can select by tag.
Webhooks
Section titled “Webhooks”
constWebhooks:Schema.Union<readonly [Schema.Struct<{mode:Schema.Literal<"off">; }>,Schema.Struct<{mode:Schema.Literal<"deliveries">; }>,Schema.encodeKeys<Schema.Struct<{mode:Schema.Literal<"endpoint">;publicUrl:Schema.URLFromString; }>, {publicUrl:"public_url"; }>]>
How GitHub hints reach the factory to request earlier polling; routine polling remains the backstop.
Worker
Section titled “Worker”
constWorker:Schema.Union<readonly [typeofLocalWorker, typeofExeDevWorker, typeofSshWorker]>
A named place to execute Attempts; its kind selects the Worker adapter and the settings that adapter needs.