Skip to main content

PromptInputEvent

Enum PromptInputEvent 

Source
pub enum PromptInputEvent {
    OversizeDetected {
        phase: PipelinePhase,
        kind: PromptInputKind,
        content_id_sha256: String,
        size_bytes: u64,
        limit_bytes: u64,
        policy: String,
    },
    PlanningInputsMaterialized {
        iteration: u32,
        prompt: MaterializedPromptInput,
    },
    DevelopmentInputsMaterialized {
        iteration: u32,
        prompt: MaterializedPromptInput,
        plan: MaterializedPromptInput,
    },
    ReviewInputsMaterialized {
        pass: u32,
        plan: MaterializedPromptInput,
        diff: MaterializedPromptInput,
    },
    CommitInputsMaterialized {
        attempt: u32,
        diff: MaterializedPromptInput,
    },
    XsdRetryLastOutputMaterialized {
        phase: PipelinePhase,
        scope_id: u32,
        last_output: MaterializedPromptInput,
    },
    HandlerError {
        phase: PipelinePhase,
        error: ErrorEvent,
    },
    PromptPermissionsLocked {
        warning: Option<String>,
    },
    PromptPermissionsRestoreWarning {
        warning: String,
    },
}
Expand description

Prompt input oversize detection and materialization events.

These events make reducer-visible any transformation that affects the agent-visible prompt content (inline vs file reference, truncation, etc.).

§Purpose

Large prompt inputs (PROMPT.md, PLAN.md, diffs) may exceed model context limits. When this occurs, handlers materialize the content as file references instead of inline text. These events record the materialization strategy for observability and to enable the reducer to track content transformations.

§Emitted By

  • Prompt preparation handlers in handler/*/prepare_prompt.rs
  • XSD retry handlers

Variants§

§

OversizeDetected

Oversize content detected, will be materialized as file reference.

Fields

§phase: PipelinePhase

Pipeline phase where oversize was detected.

§kind: PromptInputKind

Type of content (prompt, plan, diff, etc.).

§content_id_sha256: String

SHA256 hex digest of the content.

§size_bytes: u64

Actual content size in bytes.

§limit_bytes: u64

Configured size limit in bytes.

§policy: String

Materialization policy applied.

§

PlanningInputsMaterialized

Planning prompt inputs materialized.

Fields

§iteration: u32

Iteration number.

§prompt: MaterializedPromptInput

Materialized prompt input.

§

DevelopmentInputsMaterialized

Development prompt inputs materialized.

Fields

§iteration: u32

Iteration number.

§prompt: MaterializedPromptInput

Materialized prompt input.

§plan: MaterializedPromptInput

Materialized plan input.

§

ReviewInputsMaterialized

Review prompt inputs materialized.

Fields

§pass: u32

Review pass number.

§plan: MaterializedPromptInput

Materialized plan input.

§diff: MaterializedPromptInput

Materialized diff input.

§

CommitInputsMaterialized

Commit prompt inputs materialized.

Fields

§attempt: u32

Commit attempt number.

§diff: MaterializedPromptInput

Materialized diff input.

§

XsdRetryLastOutputMaterialized

XSD retry last output materialized.

Fields

§phase: PipelinePhase

Phase that produced the invalid output being retried.

§scope_id: u32

Scope id within the phase (iteration/pass/attempt).

§last_output: MaterializedPromptInput

Materialized representation of the last invalid output.

§

HandlerError

A typed error event returned by an effect handler.

Effect handlers surface failures by returning Err(ErrorEvent::... .into()). The event loop extracts the underlying ErrorEvent and re-emits it through this existing category so the reducer can decide recovery strategy without adding new top-level PipelineEvent variants.

Fields

§phase: PipelinePhase

Phase during which the error occurred (best-effort; derived from current state).

§error: ErrorEvent

The typed error event.

§

PromptPermissionsLocked

PROMPT.md permissions locked (read-only) at pipeline startup.

Emitted by LockPromptPermissions effect handler when attempting to set PROMPT.md to read-only. If the operation fails, a warning is included but the pipeline continues (best-effort protection).

Fields

§warning: Option<String>

Warning if permission change failed (None if successful or file missing).

§

PromptPermissionsRestoreWarning

PROMPT.md permissions restore warning (best-effort).

Emitted by RestorePromptPermissions effect handler when attempting to set PROMPT.md back to writable. The pipeline continues, but the warning is recorded for observability and resume diagnostics.

Fields

§warning: String

Warning message when restore fails.

Trait Implementations§

Source§

impl Clone for PromptInputEvent

Source§

fn clone(&self) -> PromptInputEvent

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for PromptInputEvent

Source§

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

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

impl<'de> Deserialize<'de> for PromptInputEvent

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for PromptInputEvent

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

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<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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,