Class: SessionLifecycle
Makaio Framework / ai-adapters-core / SessionLifecycle
Class: SessionLifecycle
Section titled “Class: SessionLifecycle”Defined in: ../../../adapters/core/src/session/utilities.ts:38
Manages session lifecycle and abort handling.
Provides coordinated abort signal management:
- Idempotent abort()
- Cleanup hook execution
- Termination state tracking
Design Philosophy
Section titled “Design Philosophy”SessionLifecycle is a simple composition utility that encapsulates abort signal coordination. It avoids inheritance coupling while providing a clean API for session termination.
Example Usage
Section titled “Example Usage”class MySession { private lifecycle = new SessionLifecycle();
abort() { this.lifecycle.abort(() => this.transport.close()); }
async sendMessage(msg: string) { if (this.lifecycle.isTerminated) { throw new Error('Session terminated'); } // ... send logic }
getAbortSignal(): AbortSignal { return this.lifecycle.signal; }}Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new SessionLifecycle(
abortController?):SessionLifecycle
Defined in: ../../../adapters/core/src/session/utilities.ts:46
Create a new SessionLifecycle
Parameters
Section titled “Parameters”abortController?
Section titled “abortController?”AbortController
Optional AbortController to use (creates new if not provided)
Returns
Section titled “Returns”SessionLifecycle
Accessors
Section titled “Accessors”isTerminated
Section titled “isTerminated”Get Signature
Section titled “Get Signature”get isTerminated():
boolean
Defined in: ../../../adapters/core/src/session/utilities.ts:62
Get termination state
Returns
Section titled “Returns”boolean
True if session has been terminated
signal
Section titled “signal”Get Signature
Section titled “Get Signature”get signal():
AbortSignal
Defined in: ../../../adapters/core/src/session/utilities.ts:54
Get abort signal for provider integration
Returns
Section titled “Returns”AbortSignal
The abort signal
Methods
Section titled “Methods”abort()
Section titled “abort()”abort(
cleanup?):void
Defined in: ../../../adapters/core/src/session/utilities.ts:71
Abort session and run cleanup. Idempotent - safe to call multiple times.
Parameters
Section titled “Parameters”cleanup?
Section titled “cleanup?”() => void | Promise<void>
Cleanup function (sync or async)
Returns
Section titled “Returns”void
onAbort()
Section titled “onAbort()”onAbort(
handler):void
Defined in: ../../../adapters/core/src/session/utilities.ts:88
Register abort listener
Parameters
Section titled “Parameters”handler
Section titled “handler”() => void
Callback to invoke when session is aborted
Returns
Section titled “Returns”void