Skip to main content

vifu_runtime/
lib.rs

1//! Small, stateful runtime primitives for embedding Vifu in Rust applications.
2//!
3//! Add application behavior as Bevy plugins, dispatch [`RuntimeCommand`] values,
4//! and let the host execute the resulting effects.
5
6mod application;
7pub mod providers;
8mod runtime;
9
10pub use application::{
11    AgentDefinition, AgentProvider, CancellationToken, EffectExecution, EndpointDefinition,
12    InvocationData, InvocationHandle, InvocationInput, InvocationOutput, InvocationPoll,
13    InvocationStatus, InvocationTraceEvent, MemoryRuntimeStore, ProviderFuture, ProviderRequest,
14    ProviderResponse, RuntimeError, RuntimeSession, RuntimeStore, VifuRuntime,
15};
16pub use providers::{HttpCapabilityProvider, HttpCapabilityRoute};
17pub use runtime::{
18    EffectRequest, EffectRequestQueue, EffectResult, EffectResultQueue, HeadlessRuntime,
19    RuntimeAdvance, RuntimeCommand, RuntimeCommandQueue, RuntimeEvent, RuntimeEventQueue,
20    RuntimeSchedule, RuntimeSnapshot, RuntimeState, VifuRuntimePlugin,
21};
22
23pub mod prelude {
24    //! Common imports for application runtime plugins.
25
26    pub use bevy_app::{App, Plugin};
27    pub use bevy_ecs::prelude::*;
28    pub use serde_json::{json, Value};
29
30    pub use crate::{
31        AgentDefinition, AgentProvider, CancellationToken, EffectExecution, EffectRequest,
32        EffectRequestQueue, EffectResult, EffectResultQueue, EndpointDefinition, HeadlessRuntime,
33        HttpCapabilityProvider, HttpCapabilityRoute, InvocationData, InvocationHandle,
34        InvocationInput, InvocationOutput, InvocationPoll, InvocationStatus, InvocationTraceEvent,
35        MemoryRuntimeStore, ProviderFuture, ProviderRequest, ProviderResponse, RuntimeAdvance,
36        RuntimeCommand, RuntimeCommandQueue, RuntimeError, RuntimeEvent, RuntimeEventQueue,
37        RuntimeSchedule, RuntimeSession, RuntimeSnapshot, RuntimeState, RuntimeStore, VifuRuntime,
38        VifuRuntimePlugin,
39    };
40}