跳到主要内容

Class: KernelSession

Defined in: packages/plugin-sdk/src/kernel/session.ts:149

Constructors

Constructor

new KernelSession(port, options, limits?): KernelSession

Defined in: packages/plugin-sdk/src/kernel/session.ts:172

Parameters

port

MessagePort

options

KernelSessionOptions

limits?

Partial<StreamLimitsConfig>

Returns

KernelSession

Properties

limits

readonly limits: StreamLimitsConfig

Defined in: packages/plugin-sdk/src/kernel/session.ts:163


scope

readonly scope: Scope

Defined in: packages/plugin-sdk/src/kernel/session.ts:162

Accessors

instanceId

Get Signature

get instanceId(): string

Defined in: packages/plugin-sdk/src/kernel/session.ts:168

Session/sandbox identifier, stable for the lifetime of the session.

Returns

string


isDisposed

Get Signature

get isDisposed(): boolean

Defined in: packages/plugin-sdk/src/kernel/session.ts:196

Returns

boolean

Methods

call()

call(method, params, options?): Promise<unknown>

Defined in: packages/plugin-sdk/src/kernel/session.ts:263

Invoke a remote method. Honors deadlineMs locally and forwards cancellation; the peer may also enforce its own deadline.

Parameters

method

string

params

unknown

options?
deadlineMs?

number

idempotencyKey?

string

signal?

AbortSignal

Returns

Promise<unknown>


dispose()

dispose(): void

Defined in: packages/plugin-sdk/src/kernel/session.ts:666

Close everything: pending calls, in-flight streams, handlers.

Returns

void


emitEvent()

emitEvent(event, payload, cursor?): void

Defined in: packages/plugin-sdk/src/kernel/session.ts:249

Emit an evt.emit envelope to the peer (rev4 §E1). No credit/ack is involved: the peer drops envelopes it has no listener for. eventId is generated by the sender for ordering/debugging; cursor is optional and passed through when provided.

Parameters

event

string

payload

unknown

cursor?

string

Returns

void


getInboundStream()

getInboundStream(streamId): InboundStream | null

Defined in: packages/plugin-sdk/src/kernel/session.ts:389

Parameters

streamId

string

Returns

InboundStream | null


handle()

handle(method, handler): () => void

Defined in: packages/plugin-sdk/src/kernel/session.ts:201

Register an RPC method handler. Returns an unregister function.

Parameters

method

string

handler

RpcHandler

Returns

() => void


notifyCapabilityRevoked()

notifyCapabilityRevoked(name, revision): void

Defined in: packages/plugin-sdk/src/kernel/session.ts:218

Notify the peer that a capability grant was revoked (rev4 §B2).

Parameters

name

string

revision

number

Returns

void


onCapabilityRevoked()

onCapabilityRevoked(listener): () => void

Defined in: packages/plugin-sdk/src/kernel/session.ts:212

Subscribe to capability.revoked envelopes (rev4 §B2).

Parameters

listener

(name, revision) => void

Returns

() => void


onEvent()

onEvent(listener): () => void

Defined in: packages/plugin-sdk/src/kernel/session.ts:238

Subscribe to peer-emitted evt.emit envelopes (rev4 §E1). The plugin side uses this to receive app events the host relays; the host side can use it for plugin→host event channels. Returns an unsubscribe function.

Parameters

listener

EventEmitListener

Returns

() => void


onInboundStream()

onInboundStream(listener): () => void

Defined in: packages/plugin-sdk/src/kernel/session.ts:384

Subscribe to streams the peer opens toward us.

Parameters

listener

(streamId, meta) => void

Returns

() => void


onPeerClose()

onPeerClose(listener): () => void

Defined in: packages/plugin-sdk/src/kernel/session.ts:228

rev4 §M3: subscribe to the peer side of the port closing (sandbox process death, navigation away, or the peer's own dispose). The host uses this as the fast crash signal for restart-budget handling. Returns an unsubscribe function.

Parameters

listener

() => void

Returns

() => void


openOutboundStream()

openOutboundStream(meta): object

Defined in: packages/plugin-sdk/src/kernel/session.ts:320

Open a stream toward the peer; returns a writer.

Parameters

meta

Record<string, unknown>

Returns

object

streamId

streamId: string

end()

end(): void

Returns

void

fail()

fail(error?): void

Parameters
error?

unknown

Returns

void

write()

write(chunk): Promise<void>

Parameters
chunk

Uint8Array

Returns

Promise<void>


replenishCredit()

replenishCredit(streamId): void

Defined in: packages/plugin-sdk/src/kernel/session.ts:394

Internal: top up credit for a stream the consumer just read from.

Parameters

streamId

string

Returns

void