Interface: ExecuteContext<TMode, TRoles>
Makaio Framework / contracts / ExecuteContext
Interface: ExecuteContext<TMode, TRoles>
Section titled “Interface: ExecuteContext<TMode, TRoles>”Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:165
Context passed to a session event action’s onExecute callback.
Type Parameters
Section titled “Type Parameters”TMode extends "single" | "multi" = "single" | "multi"
TRoles
Section titled “TRoles”TRoles extends MessageRole[] = MessageRole[]
Properties
Section titled “Properties”bus:
IMakaioBus
Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:183
Bus instance for runtime queries.
entrypoint
Section titled “entrypoint”entrypoint:
object
Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:170
Entrypoint information for the action.
message
Section titled “message”message:
object&object
Full message object.
Type Declaration
Section titled “Type Declaration”adapterMessageId?
Section titled “adapterMessageId?”
optionaladapterMessageId?:string
Adapter’s stable message identifier for fork detection
adapterSessionId?
Section titled “adapterSessionId?”
optionaladapterSessionId?:string
Provider’s session ID for context continuity
agentId?
Section titled “agentId?”
optionalagentId?:string
Agent ID (required for assistant, null for user)
blocks
Section titled “blocks”blocks: ({
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"; })[]
Structured blocks (text, reasoning, tool_call, tool_output)
contentText
Section titled “contentText”contentText:
string
Plain text content for FTS5 search
editOf?
Section titled “editOf?”
optionaleditOf?:string
If this is an edit, references the original message
messageId
Section titled “messageId”messageId:
string
Unique message identifier
origin?
Section titled “origin?”
optionalorigin?:"text"|"voice"|"compact"
Origin of the message (e.g. ‘voice’, ‘text’). NULL for messages predating this field.
role:
"user"|"assistant"=SessionMessageRoleSchema
Message role: ‘user’ or ‘assistant’
sessionId
Section titled “sessionId”sessionId:
string
Session this message belongs to
timestamp
Section titled “timestamp”timestamp:
number
Message timestamp (Unix ms)
turnId
Section titled “turnId”turnId:
string|null
Turn this message belongs to. NULL for native imports (no turn tracking).
Type Declaration
Section titled “Type Declaration”role:
TRoles[number]
messageId
Section titled “messageId”messageId:
string
The message that was actioned.
projectId?
Section titled “projectId?”
optionalprojectId?:string
Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:181
Active project identifier.
selectedEvents
Section titled “selectedEvents”selectedEvents:
TModeextends"multi"? ({eventId:string;payload: {adapterId:string;adapterName:string;adapterSessionId:string;agentId:string;cwd?:string;model?:string;role?:"lead"|"member";sessionId:string; };sessionId:string;timestamp:number;type:"agent.added"; } | {eventId:string;payload: {agentIds:string[];content:string| {blocks: {content:string;type:"text"; } | {source: {data: …;mimeType: …;type: …; } | {mimeType?: …;type: …;url: …; };type:"image"; } | {source: {data: …;mimeType: …;type: …; } | {mimeType?: …;type: …;url: …; };type:"document"; } | {attachmentType:"file"|"directory";displayName?:string;fileName:string;filePath:string;source: {data: …;mimeType: …;type: …; } | {mimeType?: …;type: …;url: …; };type:"attachment"; } | {content:string;metadata?:Record<…, …>;type:"reasoning"; } | {args:Record<string,unknown>;name:string;toolCallId:string;type:"tool_call"; } | {isError?:boolean;output:string;toolCallId:string;type:"tool_output"; } | ({content: …;type: …; } | {source: …;type: …; } | {source: …;type: …; } | {attachmentType: …;displayName?: …;fileName: …;filePath: …;source: …;type: …; } | {content: …;metadata?: …;type: …; } | {args: …;name: …;toolCallId: …;type: …; } | {isError?: …;output: …;toolCallId: …;type: …; })[];role?:"user"|"assistant"|"system"; };messageId:string;origin?:"text"|"voice"|"compact";sessionId:string;source?:"user"|"extension"|"system";turnId:string;turnNumber:number; };sessionId:string;timestamp:number;type:"user_message.sent"; } | {eventId:string;payload: {agentId:string;messageId:string;sessionId:string;turnId:string;turnNumber:number; };sessionId:string;timestamp:number;type:"user_message.acknowledged"; } | {eventId:string;payload: {agentId:string;error?:string;mergedInto?:string;messageId:string;outcome:"error"|"completed"|"superseded"|"merged"|"cancelled"|"rejected";sessionId:string;supersededBy?:string;turnId:string;turnNumber:number; };sessionId:string;timestamp:number;type:"user_message.completed"; } | {eventId:string;payload: {agentIds:string[];initiator?: {source:"user"|"extension"|"system";sourceId?:string; };messageId:string;sessionId:string;turnId:string;turnNumber:number; };sessionId:string;timestamp:number;type:"turn.started"; } | {eventId:string;payload: {error?:string;initiator?: {source:"user"|"extension"|"system";sourceId?:string; };sessionId:string;success:boolean;turnId:string;turnNumber:number; };sessionId:string;timestamp:number;type:"turn.completed"; } | {eventId:string;payload: {messageId:string;role:"user"|"assistant";turnId:string|null; };sessionId:string;timestamp:number;type:"message"; } | {eventId:string;payload: {childSessionId:string;forkPointMessageId?:string;kind:"fork"|"branch"|"aside"|"subagent"|"compress"|"rewrite"|"coordinator";parentSessionId:string; };sessionId:string;timestamp:number;type:"branch.created"; } | {eventId:string;payload: {childSessionId:string;parentSessionId:string;resultJson?:string;resultMessageId?:string; };sessionId:string;timestamp:number;type:"branch.merged"; } | {eventId:string;payload: {compressedMessageIds?:string[];summaryJson:string;tokensAfter?:number;tokensBefore?:number; };sessionId:string;timestamp:number;type:"squash"; } | {eventId:string;payload:Record<string,unknown>;sessionId:string;timestamp:number;type:string; })[] :undefined
Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:177
Selected events when in multi-selection mode, otherwise undefined.
sessionId
Section titled “sessionId”sessionId:
string
Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:179
Active session identifier.