Skip to content

Interface: PickerOpenContext<TRoles>

Makaio Framework


Makaio Framework / contracts / PickerOpenContext

Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:111

Context passed to a session event action’s onPickerOpen callback.

TRoles extends MessageRole[] = MessageRole[]

bus: IMakaioBus

Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:124

Bus instance for runtime queries.


entrypoint: object

Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:113

Entrypoint information for the action.

message: object & object

Full message object.

optional adapterMessageId?: string

Adapter’s stable message identifier for fork detection

optional adapterSessionId?: string

Provider’s session ID for context continuity

optional agentId?: string

Agent ID (required for assistant, null for user)

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: string

Plain text content for FTS5 search

optional editOf?: string

If this is an edit, references the original message

messageId: string

Unique message identifier

optional origin?: "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: string

Session this message belongs to

timestamp: number

Message timestamp (Unix ms)

turnId: string | null

Turn this message belongs to. NULL for native imports (no turn tracking).

role: TRoles[number]

messageId: string

The message that was actioned.


optional projectId?: string

Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:122

Active project identifier.


sessionId: string

Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:120

Active session identifier.