pub struct ImageGeneration { /* private fields */ }Expand description
Generates a session image and publishes it as a chat artifact.
Implementations§
Source§impl ImageGeneration
impl ImageGeneration
Sourcepub fn new(
models: Arc<ModelRouter>,
store: SessionFileStore,
route: Option<Arc<str>>,
) -> Self
pub fn new( models: Arc<ModelRouter>, store: SessionFileStore, route: Option<Arc<str>>, ) -> Self
Creates the image capability with the configured model routes and session files.
route selects an image model route; None uses the first configured one.
Sourcepub fn from_settings<'a>(
models: Arc<ModelRouter>,
store: SessionFileStore,
setting: impl FnOnce(&str) -> Option<&'a FrontendSettingValue>,
) -> Result<Self>
pub fn from_settings<'a>( models: Arc<ModelRouter>, store: SessionFileStore, setting: impl FnOnce(&str) -> Option<&'a FrontendSettingValue>, ) -> Result<Self>
Creates the image capability from its manifest settings, read through setting.
§Errors
Returns an error if the model setting is not a string.
Trait Implementations§
Source§impl Middleware for ImageGeneration
impl Middleware for ImageGeneration
Source§fn register(
&self,
catalog: &mut Catalog,
runtime: &RuntimeContext,
) -> Result<()>
fn register( &self, catalog: &mut Catalog, runtime: &RuntimeContext, ) -> Result<()>
Adds tools to the catalog while the agent is created. Read more
Source§fn frontend(&self, _session_id: &str) -> FrontendContribution
fn frontend(&self, _session_id: &str) -> FrontendContribution
Declares commands and status data that any frontend may render for one session.
Source§fn render(&self, event: &EventMsg, _session_id: &str) -> Option<FrontendBlock>
fn render(&self, event: &EventMsg, _session_id: &str) -> Option<FrontendBlock>
Renders an event owned by this capability for the destination session. Read more
Source§fn incompatible_middleware(&self) -> &'static [&'static str]
fn incompatible_middleware(&self) -> &'static [&'static str]
Middleware IDs that cannot share a stack with this configured capability.
Source§fn context_limit(&self, _context_window: i64) -> Option<i64>
fn context_limit(&self, _context_window: i64) -> Option<i64>
Returns the input-token limit this capability enforces for a model context window.
Source§fn prompt_section(
&self,
_runtime: &RuntimeContext,
) -> Result<Option<PromptSection>>
fn prompt_section( &self, _runtime: &RuntimeContext, ) -> Result<Option<PromptSection>>
Contributes one immutable system-prompt section while the agent is created. Read more
Source§fn command<'a>(
&'a self,
context: MiddlewareCommandContext<'a>,
) -> BoxFuture<'a, Result<MiddlewareCommandOutput>>
fn command<'a>( &'a self, context: MiddlewareCommandContext<'a>, ) -> BoxFuture<'a, Result<MiddlewareCommandOutput>>
Handles a command declared by this middleware’s frontend contribution.
Source§fn session_start<'a>(
&'a self,
_context: &'a mut SessionStartContext<'_>,
) -> BoxFuture<'a, Result<()>>
fn session_start<'a>( &'a self, _context: &'a mut SessionStartContext<'_>, ) -> BoxFuture<'a, Result<()>>
Starts or re-enters a session lifecycle.
Source§fn handles_messages(&self) -> bool
fn handles_messages(&self) -> bool
Reports whether this middleware is the session’s conversation-message preparer.
Source§fn route_message<'a>(
&'a self,
_context: &'a mut MessageRouteContext<'_>,
) -> BoxFuture<'a, Result<SubmissionResult>>
fn route_message<'a>( &'a self, _context: &'a mut MessageRouteContext<'_>, ) -> BoxFuture<'a, Result<SubmissionResult>>
Validates and prepares one conversation message for its lifecycle boundary. Read more
Source§fn message_boundary_events(&self, _submission_id: &str) -> Vec<EventMsg>
fn message_boundary_events(&self, _submission_id: &str) -> Vec<EventMsg>
Produces capability UI cleanup when one queued message reaches its boundary.
Source§fn message_submit<'a>(
&'a self,
_context: &'a mut MessageSubmitContext<'_>,
) -> BoxFuture<'a, Result<()>>
fn message_submit<'a>( &'a self, _context: &'a mut MessageSubmitContext<'_>, ) -> BoxFuture<'a, Result<()>>
Intercepts a prepared conversation message at its delivery boundary.
Source§fn active_command<'a>(
&'a self,
_context: &'a mut ActiveCommandContext<'_>,
) -> BoxFuture<'a, Result<Option<SubmissionResult>>>
fn active_command<'a>( &'a self, _context: &'a mut ActiveCommandContext<'_>, ) -> BoxFuture<'a, Result<Option<SubmissionResult>>>
Handles a capability command while a turn is active. Read more
Source§fn pre_model<'a>(
&'a self,
_context: &'a mut ModelContext<'_>,
) -> BoxFuture<'a, Result<()>>
fn pre_model<'a>( &'a self, _context: &'a mut ModelContext<'_>, ) -> BoxFuture<'a, Result<()>>
Mutates durable context before the next model request is assembled.
Source§fn model_request<'a>(
&'a self,
_context: &'a mut ModelRequestContext<'_>,
) -> BoxFuture<'a, Result<()>>
fn model_request<'a>( &'a self, _context: &'a mut ModelRequestContext<'_>, ) -> BoxFuture<'a, Result<()>>
Applies request-only context after every durable transform has completed.
Source§fn tool_exposure<'a>(
&'a self,
_context: &'a mut ToolExposureContext<'_>,
) -> BoxFuture<'a, Result<()>>
fn tool_exposure<'a>( &'a self, _context: &'a mut ToolExposureContext<'_>, ) -> BoxFuture<'a, Result<()>>
Hides registered tools whose capability is unavailable at this boundary.
Source§fn pre_tool_use<'a>(
&'a self,
_context: &'a mut PreToolUseContext<'_>,
) -> BoxFuture<'a, Result<()>>
fn pre_tool_use<'a>( &'a self, _context: &'a mut PreToolUseContext<'_>, ) -> BoxFuture<'a, Result<()>>
Intercepts one normalized tool call before authorization and persistence.
Source§fn permission_request<'a>(
&'a self,
_context: &'a mut PermissionRequestContext<'_>,
) -> BoxFuture<'a, Result<()>>
fn permission_request<'a>( &'a self, _context: &'a mut PermissionRequestContext<'_>, ) -> BoxFuture<'a, Result<()>>
Decides whether an approval request should be deferred, allowed, or denied.
Source§fn post_tool_use<'a>(
&'a self,
_context: &'a mut PostToolUseContext<'_>,
) -> BoxFuture<'a, Result<()>>
fn post_tool_use<'a>( &'a self, _context: &'a mut PostToolUseContext<'_>, ) -> BoxFuture<'a, Result<()>>
Transforms model-visible feedback after a tool has executed.
Source§fn pre_compact<'a>(
&'a self,
_context: &'a mut CompactContext<'_>,
) -> BoxFuture<'a, Result<()>>
fn pre_compact<'a>( &'a self, _context: &'a mut CompactContext<'_>, ) -> BoxFuture<'a, Result<()>>
Intercepts context immediately before compaction and may stop the active turn.
Source§fn prepare_compacted_input(
&self,
_original: ModelInput<'_>,
_compacted: &mut Vec<Arc<Value>>,
)
fn prepare_compacted_input( &self, _original: ModelInput<'_>, _compacted: &mut Vec<Arc<Value>>, )
Repairs or discards capability-owned projections before compacted input is committed.
The original input is read-only; changes are validated before the rewrite is saved.
Source§fn post_compact<'a>(
&'a self,
_context: &'a mut CompactContext<'_>,
) -> BoxFuture<'a, Result<()>>
fn post_compact<'a>( &'a self, _context: &'a mut CompactContext<'_>, ) -> BoxFuture<'a, Result<()>>
Intercepts the committed compacted context and may stop the active turn.
Source§fn stop<'a>(
&'a self,
_context: &'a mut StopContext<'_>,
) -> BoxFuture<'a, Result<()>>
fn stop<'a>( &'a self, _context: &'a mut StopContext<'_>, ) -> BoxFuture<'a, Result<()>>
Decides whether a naturally stopped model should continue once more.
Source§fn turn_end<'a>(
&'a self,
_context: &'a mut TurnEndContext<'_>,
) -> BoxFuture<'a, Result<()>>
fn turn_end<'a>( &'a self, _context: &'a mut TurnEndContext<'_>, ) -> BoxFuture<'a, Result<()>>
Observes terminal bookkeeping for a completed or aborted turn.
Source§fn session_end<'a>(
&'a self,
_runtime: &'a RuntimeContext,
) -> BoxFuture<'a, Result<()>>
fn session_end<'a>( &'a self, _runtime: &'a RuntimeContext, ) -> BoxFuture<'a, Result<()>>
Releases session-local state when the agent runtime stops.
Source§fn main_agent_only(&self) -> bool
fn main_agent_only(&self) -> bool
Keeps this capability out of child agents created from the root’s configuration.
Auto Trait Implementations§
impl !RefUnwindSafe for ImageGeneration
impl !UnwindSafe for ImageGeneration
impl Freeze for ImageGeneration
impl Send for ImageGeneration
impl Sync for ImageGeneration
impl Unpin for ImageGeneration
impl UnsafeUnpin for ImageGeneration
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
Mutably borrows from an owned value. Read more