Skip to main content

EventTag

Enum EventTag 

Source
#[repr(u32)]
pub enum EventTag {
Show 37 variants ProjectTrust = 0, ResourcesDiscover = 1, SessionStart = 2, SessionInfoChanged = 3, SessionBeforeSwitch = 4, SessionBeforeFork = 5, SessionBeforeCompact = 6, SessionCompact = 7, SessionShutdown = 8, SessionBeforeTree = 9, SessionTree = 10, Context = 11, BeforeProviderRequest = 12, BeforeProviderHeaders = 13, AfterProviderResponse = 14, BeforeAgentStart = 15, AgentStart = 16, AgentEnd = 17, AgentSettled = 18, TurnStart = 19, TurnEnd = 20, MessageStart = 21, MessageUpdate = 22, MessageEnd = 23, ToolExecutionStart = 24, ToolExecutionUpdate = 25, ToolExecutionEnd = 26, ModelSelect = 27, ThinkingLevelSelect = 28, ToolCall = 29, ToolResult = 30, UserBash = 31, Input = 32, BeforeTuiStart = 33, UiPromptStart = 34, UiPromptEnd = 35, EditorChange = 36,
}
Expand description

Discriminant for StablePluginEvent, one variant per pi on() category (33 total) plus one rpi-specific category (34 total). #[repr(u32)] pins the discriminant width.

The 33 Pi categories (verified against extensions/types.ts:1203-1244): project_trust, resources_discover, session_start, session_info_changed, session_before_switch, session_before_fork, session_before_compact, session_compact, session_shutdown, session_before_tree, session_tree, context, before_provider_request, before_provider_headers, after_provider_response, before_agent_start, agent_start, agent_end, agent_settled, turn_start, turn_end, message_start, message_update, message_end, tool_execution_start, tool_execution_update, tool_execution_end, model_select, thinking_level_select, tool_call, tool_result, user_bash, input.

BeforeTuiStart is rpi-specific (not a Pi category): dispatched once before the interactive TUI is initialized, so extensions can prepare (connect a server, load a resource) before the UI starts. Appended last so existing discriminants keep their values (ABI-safe for already-compiled plugins).

Variants§

§

ProjectTrust = 0

§

ResourcesDiscover = 1

§

SessionStart = 2

§

SessionInfoChanged = 3

§

SessionBeforeSwitch = 4

§

SessionBeforeFork = 5

§

SessionBeforeCompact = 6

§

SessionCompact = 7

§

SessionShutdown = 8

§

SessionBeforeTree = 9

§

SessionTree = 10

§

Context = 11

§

BeforeProviderRequest = 12

§

BeforeProviderHeaders = 13

§

AfterProviderResponse = 14

§

BeforeAgentStart = 15

The start of a run, carrying the user prompt ({"prompt", "imageCount", "sessionId", "host"}). Fire-and-forget like every other tag: subscribe to observe the turn. To change the system prompt for the run, register a handler with register_before_agent_start — that slot carries an out pointer, which this fire-and-forget signature cannot.

§

AgentStart = 16

§

AgentEnd = 17

§

AgentSettled = 18

§

TurnStart = 19

§

TurnEnd = 20

§

MessageStart = 21

§

MessageUpdate = 22

§

MessageEnd = 23

§

ToolExecutionStart = 24

§

ToolExecutionUpdate = 25

§

ToolExecutionEnd = 26

§

ModelSelect = 27

§

ThinkingLevelSelect = 28

§

ToolCall = 29

§

ToolResult = 30

§

UserBash = 31

§

Input = 32

§

BeforeTuiStart = 33

rpi-specific: dispatched before the interactive TUI initializes (not a Pi on() category). Appended last so existing discriminants are stable.

§

UiPromptStart = 34

Pi on() category: dispatched when the TUI shows an interactive prompt (selector, dialog, etc.) that blocks agent work.

§

UiPromptEnd = 35

Pi on() category: dispatched when the TUI prompt is dismissed.

§

EditorChange = 36

rpi-specific (not a Pi on() category): dispatched whenever the interactive prompt editor’s text changes — typing, pasting, deleting, or a programmatic rewrite. Appended last so existing discriminants are stable. The payload is {"chars":N,"empty":bool}; the draft text itself is deliberately not shipped, because subscribers (a voice extension barging in on playback) only need to know that the user is composing.

Trait Implementations§

Source§

impl Clone for EventTag

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 EventTag

Source§

impl Debug for EventTag

Source§

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

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

impl Eq for EventTag

Source§

impl PartialEq for EventTag

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 EventTag

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.