Skip to content

client

FieldValue
Prefixclient
Namespace constantClientNamespace
Subjects constantClientSubjects
Kindbus
Schema recordClientSchemas
Tierframework
Package@makaio/contracts
Defined inpackages/contracts/src/client/namespace.ts
KeyWireTypeSchema
account.observeclient.account.observerpcaccount-identity.ts
installclient.installrpcbinary-management.ts
installJob.completedclient.installJob.completedeventbinary-management.ts
installJob.progressclient.installJob.progresseventbinary-management.ts
listclient.listrpcbinary-management.ts
resolveBinaryclient.resolveBinaryrpcbinary-resolution.ts
runtime.observeclient.runtime.observerpcruntime-observation.ts
runtime.startedclient.runtime.startedeventruntime-observation.ts
scanclient.scanrpcschemas.ts
session.account.observeclient.session.account.observerpcaccount-identity.ts
session.startedclient.session.startedeventsession-observed.ts
session.tool.postclient.session.tool.posteventsession-observed.ts
session.tool.preclient.session.tool.preeventsession-observed.ts
session.turn.completedclient.session.turn.completedeventsession-observed.ts
session.turn.startedclient.session.turn.startedeventsession-observed.ts
session.userPrompt.submittedclient.session.userPrompt.submittedeventsession-observed.ts
setActiveclient.setActiverpcbinary-management.ts
uninstallclient.uninstallrpcbinary-management.ts
updateclient.updaterpcbinary-management.ts
usage.ingestclient.usage.ingestrpcaccount-identity.ts
usage.snapshotclient.usage.snapshoteventaccount-identity.ts
version.changedclient.version.changedeventbinary-management.ts
wiring.listclient.wiring.listrpcschemas.ts

Request and response schemas for client.account.observe.

Subject: client.account.observe Type: Request (RPC)

Request:

FieldTypeRequired
clientIdstringyes
displayLabelstring | undefinedno
identifiers{ scheme: string; value: string; strength: "strong" | "alias"; }[]yes
metadataRecord<string, unknown> | undefinedno
observedAtnumber | undefinedno

Response:

FieldTypeRequired
clientAccountIdstringyes
displayLabelstring | undefinedno

Request and response schemas for client.install.

Enqueues a background install job for a managed client binary. Callers can track progress via client.installJob.progress and client.installJob.completed events using the returned jobId.

Subject: client.install Type: Request (RPC)

Request:

FieldTypeRequired
clientIdstringyes
versionstring | undefinedno

Response:

FieldTypeRequired
jobIdstringyes
requestedVersionstring | nullyes
resolvedVersionstring | nullyes

Event payload for client.installJob.completed.

Emitted once by the install job runner when the pipeline finishes, regardless of outcome. Listeners should check status before acting.

Subject: client.installJob.completed Type: Event

FieldTypeRequired
activeVersionstring | nullyes
clientIdstringyes
error{ message: string; code?: string | undefined; } | undefinedno
installPathstring | undefinedno
jobIdstringyes
metadataRecord<string, unknown> | undefinedno
status"success" | "error"yes
strategy"manifest-bucket" | "npm" | "github-release"yes
versionstring | undefinedno

Event payload for client.installJob.progress.

Emitted by the install job runner at each pipeline stage transition and whenever the download progress percentage changes materially.

Subject: client.installJob.progress Type: Event

FieldTypeRequired
activeAfterCompletionboolean | undefinedno
clientIdstringyes
installPathstring | undefinedno
jobIdstringyes
metadataRecord<string, unknown> | undefinedno
progressnumber | nullyes
stage"downloading" | "resolving" | "verifying" | "extracting" | "installing" | "post-install" | "activating"yes
strategy"manifest-bucket" | "npm" | "github-release"yes
versionstring | undefinedno

Request and response schemas for client.list.

Returns the local installation inventory for all managed clients, enriched with the latest-available-version from the upstream index.

Subject: client.list Type: Request (RPC)

Request:

FieldTypeRequired
forceRefreshboolean | undefinedno

Response:

FieldTypeRequired
clients{ clientId: string; installedVersions: { version: string; installPath: string; installedAt: number; isActive: boolean; }[]; activeVersion: string | null; latestAvailableVersion: string | null; latestVersionLastCheckedAt: number | null; latestVersionSourceStatus: "error" | "fresh" | "cached"; updateAvailable: boolean; }[]yes

Request and response schemas for client.resolveBinary.

Resolves the binary path, environment overrides, and config directory for a given client. The response is everything a caller needs to spawn the binary.

Phase 2 optional fields (sessionId, projectDir, preferSource, harnessId) are declared now as seams so the handler contract is stable before the implementations land.

Subject: client.resolveBinary Type: Request (RPC)

Request:

FieldTypeRequired
clientIdstringyes
harnessIdstring | undefinedno
preferSource"global" | "managed" | undefinedno
projectDirstring | undefinedno
sessionIdstring | undefinedno

Response:

FieldTypeRequired
binaryPathstring | nullyes
configDirstring | nullyes
envRecord<string, string>yes
source"global" | "managed"yes
versionstring | nullyes

Request and response schemas for client.runtime.observe.

Callers send this request when they detect that a client runtime has started. The handler upserts a ClientRuntime record and returns a stable clientRuntimeId together with flags indicating whether the record was created or promoted to a richer state.

Hard-evidence invariant: at least one of supervisorSessionId, pid, or adapterSessionId must be present. Enforced via .refine() on the request schema (not on the shared evidence base, which stays composable).

Subject: client.runtime.observe Type: Request (RPC)

Request:

FieldTypeRequired
adapterSessionIdstring | undefinedno
argvstring[] | undefinedno
clientIdstringyes
cwdstring | undefinedno
metadataRecord<string, unknown> | undefinedno
observedAtnumberyes
parentPidnumber | undefinedno
pidnumber | undefinedno
sessionIdstring | undefinedno
source{ layer: "adapter" | "supervisor" | "client-hook" | "statusline" | "cli-wrapper"; producer: string; }yes
supervisorSessionIdstring | undefinedno

Response:

FieldTypeRequired
clientRuntimeIdstringyes
createdbooleanyes
promotedbooleanyes

Payload for client.runtime.started.

Emitted by the runtime-observe service after a client.runtime.observe request has been handled and a runtime record has been created or confirmed. Listeners can react to this event without coupling to the observe handler.

Hard-evidence invariant: at least one of supervisorSessionId, pid, or adapterSessionId is present (guaranteed by the observe handler before emit).

Subject: client.runtime.started Type: Event

FieldTypeRequired
adapterSessionIdstring | undefinedno
argvstring[] | undefinedno
clientIdstringyes
clientRuntimeIdstringyes
cwdstring | undefinedno
metadataRecord<string, unknown> | undefinedno
observedAtnumberyes
parentPidnumber | undefinedno
pidnumber | undefinedno
sessionIdstring | undefinedno
source{ layer: "adapter" | "supervisor" | "client-hook" | "statusline" | "cli-wrapper"; producer: string; }yes
status"started" | "observed"yes
supervisorSessionIdstring | undefinedno

Subject: client.scan Type: Request (RPC)

Request:

FieldTypeRequired
targets{ clientId: string; binaryName: string; minimumVersion?: string | undefined; }[] | undefinedno

Response:

FieldTypeRequired
results{ clientId: string; found: boolean; version?: string | undefined; warningMessage?: string | undefined; }[]yes

Request and response schemas for client.session.account.observe.

Subject: client.session.account.observe Type: Request (RPC)

Request:

FieldTypeRequired
clientIdstringyes
kindstringyes
locator{ kind: "session"; sessionId: string; } | { kind: "adapter-session"; adapterSessionId: string; } | { kind: "both"; sessionId: string; adapterSessionId: string; }yes
observedAtnumberyes
payloadRecord<string, unknown>yes
sourcestringyes

Response:

FieldTypeRequired
changedbooleanyes
clientAccountIdstring | nullyes
handledbooleanyes
sessionIdstring | nullyes

Payload for client.session.started.

Emitted when an adapter observes that a new client session has begun. This is a normalized observed signal — not a command. The session may not yet be linked to a framework session at emission time.

Subject: client.session.started Type: Event

FieldTypeRequired
adapterSessionIdstring | undefinedno
clientIdstringyes
metadataRecord<string, unknown> | undefinedno
observedAtnumberyes
sessionIdstring | undefinedno
sourcestringyes

Payload for client.session.tool.post.

Emitted when an adapter observes that a tool call has completed inside the client runtime. The success field reflects the outcome when the adapter can determine it.

Subject: client.session.tool.post Type: Event

FieldTypeRequired
adapterSessionIdstring | undefinedno
clientIdstringyes
metadataRecord<string, unknown> | undefinedno
observedAtnumberyes
sessionIdstring | undefinedno
sourcestringyes
successboolean | undefinedno
toolCallIdstring | undefinedno
toolNamestring | undefinedno

Payload for client.session.tool.pre.

Emitted when an adapter observes that a tool call is about to be executed by the client runtime. The toolName and toolCallId fields identify the specific invocation when the adapter has access to them.

Subject: client.session.tool.pre Type: Event

FieldTypeRequired
adapterSessionIdstring | undefinedno
clientIdstringyes
metadataRecord<string, unknown> | undefinedno
observedAtnumberyes
sessionIdstring | undefinedno
sourcestringyes
toolCallIdstring | undefinedno
toolNamestring | undefinedno

Payload for client.session.turn.completed.

Emitted when an adapter observes that an assistant turn has finished inside an ongoing client session.

Subject: client.session.turn.completed Type: Event

FieldTypeRequired
adapterSessionIdstring | undefinedno
clientIdstringyes
metadataRecord<string, unknown> | undefinedno
observedAtnumberyes
sessionIdstring | undefinedno
sourcestringyes

Payload for client.session.turn.started.

Emitted when an adapter observes the beginning of an assistant turn inside an ongoing client session.

Subject: client.session.turn.started Type: Event

FieldTypeRequired
adapterSessionIdstring | undefinedno
clientIdstringyes
metadataRecord<string, unknown> | undefinedno
observedAtnumberyes
sessionIdstring | undefinedno
sourcestringyes

client.session.userPrompt.submitted (event)

Section titled “client.session.userPrompt.submitted (event)”

Payload for client.session.userPrompt.submitted.

Emitted when an adapter observes that the user has submitted a prompt to the client runtime. The prompt field carries the raw prompt text when the adapter has access to it.

Subject: client.session.userPrompt.submitted Type: Event

FieldTypeRequired
adapterSessionIdstring | undefinedno
clientIdstringyes
metadataRecord<string, unknown> | undefinedno
observedAtnumberyes
promptstring | undefinedno
sessionIdstring | undefinedno
sourcestringyes

Request and response schemas for client.setActive.

Switches the active binary pointer to an already-installed version. The requested version must be present on disk; the handler will reject requests for versions that have not been installed.

Subject: client.setActive Type: Request (RPC)

Request:

FieldTypeRequired
clientIdstringyes
versionstringyes

Response:

FieldTypeRequired
activeVersionstringyes
clientIdstringyes

Request and response schemas for client.uninstall.

Removes a specific installed version of a managed client binary. If the removed version was active, the active pointer is cleared to null — no automatic replacement is made. Callers must explicitly call client.setActive to promote another installed version.

Subject: client.uninstall Type: Request (RPC)

Request:

FieldTypeRequired
clientIdstringyes
versionstringyes

Response:

FieldTypeRequired
activeVersionstring | nullyes
clientIdstringyes
removedVersionstringyes

Request and response schemas for client.update.

Enqueues an update job that installs the latest available version and activates it. Callers can track progress via client.installJob.progress and client.installJob.completed events using the returned jobId.

Subject: client.update Type: Request (RPC)

Request:

FieldTypeRequired
clientIdstringyes

Response:

FieldTypeRequired
jobIdstringyes
resolvedVersionstring | nullyes

Request and response schemas for client.usage.ingest.

Subject: client.usage.ingest Type: Request (RPC)

Request:

FieldTypeRequired
account{ identifiers: { scheme: string; value: string; strength: "strong" | "alias"; }[]; displayLabel?: string | undefined; }yes
clientIdstringyes
metadataRecord<string, unknown> | undefinedno
observedAtnumberyes
sourcestringyes
usage{ windows: { key: string; label: string; usedPercentage: number; resetsAt?: number | undefined; }[]; }yes

Response:

FieldTypeRequired
clientAccountIdstringyes
snapshot{ clientAccountId: string; clientId: string; observedAt: number; source: string; usage: { windows: { key: string; label: string; usedPercentage: number; resetsAt?: number | undefined; }[]; }; displayLabel?: string | undefined; metadata?: Record<string, unknown> | undefined; }yes

Canonical usage snapshot emitted after stitching identity and usage.

Subject: client.usage.snapshot Type: Event

FieldTypeRequired
clientAccountIdstringyes
clientIdstringyes
displayLabelstring | undefinedno
metadataRecord<string, unknown> | undefinedno
observedAtnumberyes
sourcestringyes
usage{ windows: { key: string; label: string; usedPercentage: number; resetsAt?: number | undefined; }[]; }yes

Event payload for client.version.changed.

Emitted whenever the active-version pointer for a managed client changes, regardless of the operation that caused the change.

Subject: client.version.changed Type: Event

FieldTypeRequired
activeVersionstring | nullyes
clientIdstringyes
previousActiveVersionstring | nullyes
reason"update" | "install" | "uninstall" | "set-active"yes

Subject: client.wiring.list Type: Request (RPC)

Request:

FieldTypeRequired
clientIdstring | undefinedno
makaioCommandstringyes
projectDirstring | undefinedno

Response:

FieldTypeRequired
results{ clientId: string; entries: { group: string; name: string; installed: boolean; command: string; }[]; }[]yes

Auto-generated by yarn docs:bus. Do not edit manually.