Interface: SessionEventActionOptions<TMode, TRoles>
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.
Type Parameters
Section titled “Type Parameters”TMode extends "single" | "multi" = "single" | "multi"
TRoles
Section titled “TRoles”TRoles extends MessageRole[] = MessageRole[]
Properties
Section titled “Properties”applicableTo?
Section titled “applicableTo?”
optionalapplicableTo?:TModeextends"multi"?EventFilter[] :never
Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:218
Event type filters for multi-selection mode.
category?
Section titled “category?”
optionalcategory?:"general"
Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:242
Category grouping for this action.
description?
Section titled “description?”
optionaldescription?:string
Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:210
Optional human-readable description.
entrypoint
Section titled “entrypoint”entrypoint:
EntrypointConfig<TRoles>
Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:214
Message entrypoint configuration.
optionalicon?: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
Section titled “onExecute”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.
Parameters
Section titled “Parameters”ExecuteContext<TMode, TRoles>
Context with entrypoint, selected events, and bus.
Returns
Section titled “Returns”Promise<void | ExecuteResult>
Execution result, or void on success.
onPickerOpen?
Section titled “onPickerOpen?”
optionalonPickerOpen?:TModeextends"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.
Returns
Section titled “Returns”Picker configuration, false to cancel, or void.
onSelectionChange?
Section titled “onSelectionChange?”
optionalonSelectionChange?:TModeextends"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.
Returns
Section titled “Returns”Selection feedback to display in the picker.
selectionMode
Section titled “selectionMode”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.
shortcut?
Section titled “shortcut?”
optionalshortcut?:ActionShortcut
Defined in: ../../../packages/contracts/src/extension/contributions/session-event-action-types.ts:244
Optional keyboard shortcut.
optionalwhen?: (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.
Parameters
Section titled “Parameters”WhenContext<TRoles>
Context with the triggering message.
Returns
Section titled “Returns”Promise<boolean>
true when the action should be shown.