Skip to content

@usine/executor/exe-dev

One standing exe.dev GitHub integration; only its VM attachment is per Attempt.

  • Schema.Class

new GitHubIntegration(…args): GitHubIntegration

Parameter Type
…args [props: object, options?: MakeOptions]

GitHubIntegration

readonly name: string & Brand<"ExeDevIntegrationName">

readonly repository: string & Brand<"RepositoryName">

Repository access and SSH settings for the configured exe.dev Workers.

readonly optional credentialGrantMinutes?: number & Brand<"ExeDevCredentialGrantMinutes">

Length of each edge credential attachment, renewed at half this length for as long as the Attempt runs; independent of any Attempt ceiling. Defaults to 65 minutes.

readonly githubIntegrations: readonly GitHubIntegration[]

Existing native GitHub integrations, one per repository this Worker may receive.

readonly optional interruptGrace?: Input

Grace for the parent task’s cancellation, then for the Attempt to settle; each wait is bounded separately. Defaults to 10 seconds.

readonly optional ssh?: object

Local SSH executable and its arguments, used for the lobby, VM commands, and every child.

readonly args: readonly string[]

readonly command: string

CredentialGrantMinutes = typeof CredentialGrantMinutes.Type

How long an exe.dev Worker’s repository credential attachment may remain active, in minutes.


IntegrationName = typeof IntegrationName.Type

The name of one exe.dev edge-injected integration.

const CredentialGrantMinutes: Schema.brand<Schema.Int, "ExeDevCredentialGrantMinutes">

How long an exe.dev Worker’s repository credential attachment may remain active, in minutes.


const IntegrationName: Schema.brand<Schema.String, "ExeDevIntegrationName">

The name of one exe.dev edge-injected integration.


const layer: (options) => Layer.Layer<Executor, never, AttemptRuntime | ChildProcessSpawner.ChildProcessSpawner>

Runs Attempts on exe.dev Workers: each Attempt’s Pi parent is a durable task in this process (AttemptRuntime), and its children run on the Worker’s VM over SSH. An orchestrator restart reattaches a live Attempt to its VM checkout. Requires Node; worker contracts are platform-free.

Parameter Type
options ExeDevExecutorOptions

Layer.Layer<Executor, never, AttemptRuntime | ChildProcessSpawner.ChildProcessSpawner>