Skip to content

kernel

FieldValue
Prefixkernel
Namespace constantKernelNamespace
Subjects constantKernelSubjects
Kindbus
Schema recordKernelSchemas
Tierframework
Package@makaio/kernel
Defined inpackages/kernel/src/namespace/index.ts
KeyWireTypeSchema
isReadykernel.isReadyrpckernel-schemas.ts
lifecycle.shutdownkernel.lifecycle.shutdownrpckernel-schemas.ts
lifecycle.startkernel.lifecycle.startrpckernel-schemas.ts
phase.busCreatedkernel.phase.busCreatedeventkernel-schemas.ts
phase.coordinatorReadykernel.phase.coordinatorReadyrpckernel-schemas.ts
phase.coreReadykernel.phase.coreReadyeventkernel-schemas.ts
phase.servicesReadykernel.phase.servicesReadyeventkernel-schemas.ts
readykernel.readyeventkernel-schemas.ts

Probe kernel readiness state.

Subject: kernel.isReady Type: Request (RPC) Purpose: Allows clients that connect after startup to query readiness without waiting for the one-time kernel.ready event.

Request:

Empty object.

Response:

FieldTypeRequired
machineIdstringyes
readybooleanyes

Notify observers that lifecycle wiring shutdown has completed.

Subject: kernel.lifecycle.shutdown Type: Request (RPC) Purpose: Used as an observability/synchronization hook. Package teardown is performed by the extension coordinator, not by handlers on this subject.

Request:

Empty object.

Response:

Empty object.

Notify observers that lifecycle wiring has completed.

Subject: kernel.lifecycle.start Type: Request (RPC) Purpose: Used as an observability/synchronization hook. Package startup is performed by the extension coordinator, not by handlers on this subject.

Request:

FieldTypeRequired
machineIdstringyes

Response:

Empty object.

Signal that the bus has been created and is ready for use.

Subject: kernel.phase.busCreated Type: Event (fire-and-forget) Purpose: Emitted immediately after bus creation so early external observers (e.g., transport bridges) can attach before config or services start.

FieldTypeRequired
machineIdstringyes

Lifecycle barrier emitted after the extension coordinator has started all loaded packages.

Subject: kernel.phase.coordinatorReady Type: Broadcast request Purpose: Allows host-owned integrations to finish post-coordinator wiring before the kernel announces full readiness.

Request:

FieldTypeRequired
machineIdstringyes

Response:

Empty object.

Signal that the bus, config service, and runtime-host resource handlers are ready.

Subject: kernel.phase.coreReady Type: Event (fire-and-forget) Purpose: Emitted after bus creation, config service registration, and runtime resource provider registration — before lifecycle wiring begins. External transports (e.g., WebSocket bus server) hook in here so they have bus and machine identity but are available before full service readiness.

FieldTypeRequired
machineIdstringyes

Signal that lifecycle wiring and lifecycle.start have completed.

Subject: kernel.phase.servicesReady Type: Event (fire-and-forget) Purpose: Emitted after startLifecycleWiring and lifecycle.start complete. All core services are registered and ready to handle requests at this point.

FieldTypeRequired
machineIdstringyes

Signal that the kernel has completed initialization.

Subject: kernel.ready Type: Event (fire-and-forget) Purpose: SharedWorker waits for this before considering the backend ready. Eliminates the handler registration race where tabs send requests before registerRuntimeHandlers() completes.

FieldTypeRequired
machineIdstringyes

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