Skip to content

Interface: SessionEventActionOptions<TMode, TRoles>

Makaio Framework


Makaio Framework / contracts / SessionEventActionOptions

Interface: SessionEventActionOptions<TMode, TRoles>

Section titled “Interface: SessionEventActionOptions<TMode, TRoles>”

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

Full options for defining a session event action.

TMode extends "single" | "multi" = "single" | "multi"

TRoles extends MessageRole[] = MessageRole[]

optional applicableTo?: TMode extends "multi" ? EventFilter[] : never

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

Event type filters for multi-selection mode.


optional category?: "general"

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

Category grouping for this action.


optional description?: string

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

Optional human-readable description.


entrypoint: EntrypointConfig<TRoles>

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

Message entrypoint configuration.


optional icon?: string

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

Optional icon identifier.


id: string

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

Unique action identifier within the registering package.


label: string

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

Display label for the action.


onExecute: (ctx) => Promise<void | ExecuteResult>

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

Main execution callback invoked when the action is confirmed.

ExecuteContext<TMode, TRoles>

Context with entrypoint, selected events, and bus.

Promise<void | ExecuteResult>

Execution result, or void on success.


optional onPickerOpen?: TMode extends "multi" ? (ctx) => Promise<false | void | PickerConfig> : never

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

Optional callback invoked when the event picker opens.

Context with entrypoint and session info.

Picker configuration, false to cancel, or void.


optional onSelectionChange?: TMode extends "multi" ? (ctx) => Promise<void | SelectionFeedback> : never

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

Optional callback invoked when the event selection changes.

Context with selected events.

Selection feedback to display in the picker.


selectionMode: TMode

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

Whether this action operates on a single event or multiple events.


optional shortcut?: ActionShortcut

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

Optional keyboard shortcut.


optional when?: (ctx) => Promise<boolean>

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

Optional predicate that determines whether the action is available.

WhenContext<TRoles>

Context with the triggering message.

Promise<boolean>

true when the action should be shown.