#[repr(u32)]pub enum RuntimeActionId {
Show 26 variants
SendMessage = 0,
SendUserMessage = 1,
AppendEntry = 2,
SetSessionName = 3,
GetActiveTools = 4,
SetActiveTools = 5,
SetModel = 6,
GetThinkingLevel = 7,
SetThinkingLevel = 8,
Compact = 9,
GetSystemPrompt = 10,
NewSession = 11,
Fork = 12,
NavigateTree = 13,
SwitchSession = 14,
Reload = 15,
GetCliFlag = 16,
UiDialog = 17,
SetStatus = 18,
SetEditorText = 19,
GetSessionBranch = 20,
StdioLifecycle = 21,
UiComponent = 22,
GetExecutionContext = 23,
ChildAgent = 24,
SideQuestion = 25,
}Expand description
Identifier for a host runtime action the plugin may invoke via
PluginApi::runtime_action. One slot dispatches all actions; the numeric
id crosses the FFI boundary as a u32 and the host validates it with
TryFrom<u32> before constructing this enum. Args/results cross as JSON
strings.
Variants§
SendMessage = 0
Send message (stored AgentMessage or Pi customType/content/display/
details) or text. Options triggerTurn and deliverAs can be flat or
nested under options. Default: idle append, active steer. Use explicit
triggerTurn: true to start an idle run. nextTurn always defers.
SendUserMessage = 1
AppendEntry = 2
Append without starting a run. {"customType": ..., "data": ...} stores
extension data; {"message": ...} queues context until the active turn
settles. The returned entryId can be reserved before its entry exists.
SetSessionName = 3
GetActiveTools = 4
SetActiveTools = 5
SetModel = 6
GetThinkingLevel = 7
SetThinkingLevel = 8
Compact = 9
GetSystemPrompt = 10
NewSession = 11
Fork = 12
SwitchSession = 14
Reload = 15
GetCliFlag = 16
Read a parsed CLI flag by name. Args: {"name":"flag"}; result:
{"value": <bool|string|null>}.
UiDialog = 17
Open/poll/cancel a host-provided interactive UI request. The payload is
a JSON object with op (open, poll, or cancel) and a unique
requestId; hosts without an attached TUI return an explicit error.
SetStatus = 18
Publish a short status string for the host’s UI (TUI footer).
Args: {"key":"langfuse","value":"langfuse ✓ (trace sent)"}; an
empty/absent value clears that key. Result: {"ok":true,"changed":bool}.
Headless hosts accept the write but have nothing to render.
Legacy footer text (key, value). Use UiComponent for registered UI.
SetEditorText = 19
Put text into the interactive editor (the prompt input box) instead of
sending it. Args: {"text":"...", "mode":"append"|"replace", "autoSendMs": 3000} (omit/0 for manual send only). Result:
{"ok":true,"chars":N}. A headless host has no editor and accepts the
write without rendering it, mirroring RuntimeActionId::SetStatus.
GetSessionBranch = 20
Return the current session branch entries oldest-first as JSON.
Args: {}; result: {"entries":[...]}.
StdioLifecycle = 21
Inspect or finish a plugin-owned stdio server lifecycle. Args:
{"op":"status"} or {"op":"finish","exitCode":0}. Only the
declaring owner may finish; the host performs normal session shutdown.
UiComponent = 22
Plugin-owned text component lifecycle and content updates.
GetExecutionContext = 23
Safe live execution metadata (no credentials, endpoints or headers).
Args: {}; result: model identity, thinkingLevel, tools, cwd, sessionId.
ChildAgent = 24
Host-owned independent child run. op: start/poll/cancel/dispose.
Start: task, optional role/maxTurns/timeoutSeconds/tools/toolCallId.
Others: childId. Poll drains text deltas and returns status/result.
Handles are scoped to the calling plugin and must be disposed.
SideQuestion = 25
Read-only, host-managed side question. Registration-level commands may use start(question), status, cancel, hide and show. Never changes the main transcript or its queues. Presentation and execution stay in host.
Trait Implementations§
Source§impl Clone for RuntimeActionId
impl Clone for RuntimeActionId
impl Copy for RuntimeActionId
Source§impl Debug for RuntimeActionId
impl Debug for RuntimeActionId
impl Eq for RuntimeActionId
Source§impl From<RuntimeActionId> for u32
impl From<RuntimeActionId> for u32
Source§fn from(value: RuntimeActionId) -> Self
fn from(value: RuntimeActionId) -> Self
Source§impl PartialEq for RuntimeActionId
impl PartialEq for RuntimeActionId
impl StructuralPartialEq for RuntimeActionId
Auto Trait Implementations§
impl Freeze for RuntimeActionId
impl RefUnwindSafe for RuntimeActionId
impl Send for RuntimeActionId
impl Sync for RuntimeActionId
impl Unpin for RuntimeActionId
impl UnsafeUnpin for RuntimeActionId
impl UnwindSafe for RuntimeActionId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.