Skip to content

Interface: IServerProvider

Makaio Framework


Makaio Framework / contracts / IServerProvider

Defined in: ../../../packages/contracts/src/capabilities/server/types.ts:95

Capability provider that exposes a raw HTTP server for WebSocket upgrades.

The composition root (host shell) registers an IServerProvider after creating a Node-compatible HTTP server. Extensions that need to handle WebSocket upgrade events query this capability from the bus and call getServer to obtain the server handle.

If no provider is registered (e.g. in a test kernel), consumers must degrade gracefully.

class NodeServerProvider implements IServerProvider {
readonly id = 'node-server';
readonly displayName = 'Node HTTP Server';
readonly capabilityId = SERVER_CAPABILITY_ID;
constructor(private readonly server: HttpServerLike) {}
getServer(): HttpServerLike {
return this.server;
}
}

readonly capabilityId: "server"

Defined in: ../../../packages/contracts/src/capabilities/server/types.ts:97

Capability identifier — must be 'server'.


readonly displayName: string

Defined in: ../../../packages/contracts/src/capability/types.ts:11

Human-readable name for display in UI

ICapabilityProvider.displayName


readonly id: string

Defined in: ../../../packages/contracts/src/capability/types.ts:9

Unique identifier for this provider instance

ICapabilityProvider.id


readonly optional providerKey?: string

Defined in: ../../../packages/contracts/src/capability/types.ts:17

Stable provider identity used for joins across registries.

Unlike id, this should remain stable across runtime re-registration.

ICapabilityProvider.providerKey

getServer(): HttpServerLike

Defined in: ../../../packages/contracts/src/capabilities/server/types.ts:103

Return the underlying HTTP server for upgrade handling.

HttpServerLike

The HTTP server instance.


optional validate(): Promise<{ error?: string; valid: boolean; }>

Defined in: ../../../packages/contracts/src/capability/types.ts:22

Optional validation method to check provider configuration/credentials.

Promise<{ error?: string; valid: boolean; }>

Validation result with optional error message

ICapabilityProvider.validate