Skip to content

Class: SessionExtensionContextImpl

Makaio Framework


Makaio Framework / services-core / SessionExtensionContextImpl

Defined in: ../../../packages/services/core/src/session/extension-context.ts:15

Implementation of SessionExtensionContext. Routes all actions through bus subjects.

new SessionExtensionContextImpl(bus, _sessionId, _extensionId, _turnId?, _parentSessionId?, contextTracker?): SessionExtensionContextImpl

Defined in: ../../../packages/services/core/src/session/extension-context.ts:18

IMakaioBus

string

string

string

string

ContextWindowTracker

SessionExtensionContextImpl

get extensionId(): string

Defined in: ../../../packages/services/core/src/session/extension-context.ts:41

Extension’s own ID (for audit trail)

string

Extension’s own ID (for audit trail)

SessionExtensionContext.extensionId


get parentSessionId(): string | undefined

Defined in: ../../../packages/services/core/src/session/extension-context.ts:37

Parent session ID (if this is a forked session)

string | undefined

Parent session ID (if this is a forked session)

SessionExtensionContext.parentSessionId


get sessionId(): string

Defined in: ../../../packages/services/core/src/session/extension-context.ts:29

Current session ID

string

Current session ID

SessionExtensionContext.sessionId


get turnId(): string | undefined

Defined in: ../../../packages/services/core/src/session/extension-context.ts:33

Current turn ID (if in a turn)

string | undefined

Current turn ID (if in a turn)

SessionExtensionContext.turnId

abandon(childSessionId): Promise<void>

Defined in: ../../../packages/services/core/src/session/extension-context.ts:93

Abandon a child session without merging.

string

Promise<void>

SessionExtensionContext.abandon


contributeContext(key, value): void

Defined in: ../../../packages/services/core/src/session/extension-context.ts:60

Contribute context for the next turn. Added to SessionContext.context via declaration-merge pattern.

string

unknown

void

SessionExtensionContext.contributeContext


fork(options): Promise<string>

Defined in: ../../../packages/services/core/src/session/extension-context.ts:74

Fork the current session into a child session.

ForkOptions

Promise<string>

Child session ID

SessionExtensionContext.fork


getChildSessions(): Promise<string[]>

Defined in: ../../../packages/services/core/src/session/extension-context.ts:142

Get child sessions of current session.

Promise<string[]>

SessionExtensionContext.getChildSessions


getContextWindowState(): Promise<ContextWindowState>

Defined in: ../../../packages/services/core/src/session/extension-context.ts:115

Get current context window state.

Promise<ContextWindowState>

SessionExtensionContext.getContextWindowState


getContributions(): Record<string, unknown>

Defined in: ../../../packages/services/core/src/session/extension-context.ts:68

Get all contributions (called by orchestrator at turn boundary).

Record<string, unknown>

Record of all context contributions


merge(childSessionId, summary?): Promise<void>

Defined in: ../../../packages/services/core/src/session/extension-context.ts:83

Merge a child session back into this session.

string

string

Promise<void>

SessionExtensionContext.merge


requestCompression(reason): Promise<void>

Defined in: ../../../packages/services/core/src/session/extension-context.ts:104

Request compression of the current session.

string

Promise<void>

SessionExtensionContext.requestCompression


sendToAgent(agentId, message): Promise<void>

Defined in: ../../../packages/services/core/src/session/extension-context.ts:47

Send a message to an agent. Routes through SessionOrchestrator, not directly to agent.

string

{ content: string; type: "text"; } | { source: { data: string; mimeType: string; type: "base64"; } | { mimeType?: string; type: "url"; url: string; }; type: "image"; } | { source: { data: string; mimeType: string; type: "base64"; } | { mimeType?: string; type: "url"; url: string; }; type: "document"; } | { attachmentType: "file" | "directory"; displayName?: string; fileName: string; filePath: string; source: { data: string; mimeType: string; type: "base64"; } | { mimeType?: string; type: "url"; url: string; }; type: "attachment"; } | { content: string; metadata?: Record<string, unknown>; type: "reasoning"; } | { args: Record<string, unknown>; name: string; toolCallId: string; type: "tool_call"; } | { isError?: boolean; output: string; toolCallId: string; type: "tool_output"; } | ({ content: string; type: "text"; } | { source: { data: string; mimeType: string; type: "base64"; } | { mimeType?: string; type: "url"; url: string; }; type: "image"; } | { source: { data: string; mimeType: string; type: "base64"; } | { mimeType?: string; type: "url"; url: string; }; type: "document"; } | { attachmentType: "file" | "directory"; displayName?: string; fileName: string; filePath: string; source: { data: string; mimeType: string; type: "base64"; } | { mimeType?: string; type: "url"; url: string; }; type: "attachment"; } | { content: string; metadata?: Record<string, unknown>; type: "reasoning"; } | { args: Record<string, unknown>; name: string; toolCallId: string; type: "tool_call"; } | { isError?: boolean; output: string; toolCallId: string; type: "tool_output"; })[] = ...

"user" | "assistant" | "system" = ...

Promise<void>

SessionExtensionContext.sendToAgent