Skip to main content

RuntimeActionId

Enum RuntimeActionId 

Source
#[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

§

NavigateTree = 13

§

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

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for RuntimeActionId

Source§

impl Debug for RuntimeActionId

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for RuntimeActionId

Source§

impl From<RuntimeActionId> for u32

Source§

fn from(value: RuntimeActionId) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for RuntimeActionId

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for RuntimeActionId

Source§

impl TryFrom<u32> for RuntimeActionId

Source§

type Error = UnknownRuntimeActionId

The type returned in the event of a conversion error.
Source§

fn try_from(value: u32) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.