Skip to content

@usine/agents/pi

Opens a Pi session with the selected model and its repository tools.

  • Context.ServiceClass

readonly Service: object

The service’s operations: what yield* PiSdk returns.

readonly start: (options) => Promise<PiStartResult>

Parameter Type
options PiStartOptions

Promise<PiStartResult>

The subset of an in-process Pi session that the adapter uses.

readonly abort: () => Promise<void>

Promise<void>

readonly dispose: () => void

void

readonly messages: readonly AgentMessage[]

readonly prompt: (prompt) => Promise<void>

Parameter Type
prompt string

Promise<void>

readonly steer: (message) => Promise<void | "handled" | "queued">

Parameter Type
message string

Promise<void | "handled" | "queued">

readonly subscribe: (listener) => () => void

Parameter Type
listener (event) => void

() => void


readonly cwd: string

readonly environment: Option<Readonly<Record<string, string>>>

The complete environment of every command the session’s bash tool runs. None inherits this process’s environment, which suits preflight because it runs no repository command.

readonly extensions: readonly InlineExtension[]

readonly model: string & Brand<"ModelId">

readonly signal: AbortSignal

readonly thinkingLevel: "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max"

PiSessionEvent = AgentSessionEvent


PiStartResult = { _tag: "AuthenticationUnavailable"; model: ModelId; } | { _tag: "UnsupportedAuthentication"; authentication: Extract<PiAuthentication, { _tag: "OAuth"; }>; model: ModelId; } | { _tag: "UnknownModel"; } | { _tag: "UnsupportedEffort"; effort: Effort; model: ModelId; supported: ReadonlyArray<Effort>; } | { _tag: "Started"; model: ModelId; pool: PiPool; session: PiSession; }

const piChildBackendLayer: Layer.Layer<PiChildBackend, never, PiSdk>

Provides Pi coding sessions for tasks delegated by a parent.


const piSdkLive: Layer.Layer<PiSdk, never, never>