pub struct App {Show 21 fields
pub public_id: AppId,
pub internal_id: Uuid,
pub org_id: i64,
pub name: String,
pub description: Option<String>,
pub harness_id: HarnessId,
pub agent_id: Option<AgentId>,
pub agent_version_policy: AgentVersionPolicy,
pub agent_version_id: Option<AgentVersionId>,
pub agent_identity_id: Option<AgentIdentityId>,
pub owner_principal_id: PrincipalId,
pub resolved_owner_user_id: Option<Uuid>,
pub owner: Option<PrincipalSummary>,
pub effective_owner: Option<PrincipalSummary>,
pub channels: Vec<AppChannel>,
pub status: AppStatus,
pub published_at: Option<DateTime<Utc>>,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub archived_at: Option<DateTime<Utc>>,
pub deleted_at: Option<DateTime<Utc>>,
}Expand description
App configuration for deploying agents to channels. An app binds a harness and optional agent to distribution channels with a publish lifecycle.
Fields§
§public_id: AppIdExternal identifier (app_<32-hex>). Shown as “id” in API.
internal_id: UuidInternal UUID primary key. Used for FK references. Never exposed in API.
org_id: i64Organization ID. Internal only, not exposed in API.
name: StringDisplay name of the app.
description: Option<String>Human-readable description of what the app does.
harness_id: HarnessIdID of the harness to use (format: harness_{32-hex}).
agent_id: Option<AgentId>Optional ID of the agent to use (format: agent_{32-hex}).
agent_version_policy: AgentVersionPolicyVersion resolution policy for the optional agent.
agent_version_id: Option<AgentVersionId>Pinned agent version. Required when policy is pinned.
agent_identity_id: Option<AgentIdentityId>Optional virtual identity that represents the app in unattended/channel execution.
owner_principal_id: PrincipalIdOwning principal for this app.
resolved_owner_user_id: Option<Uuid>Denormalized effective human owner of the owning principal lineage.
owner: Option<PrincipalSummary>Owning principal summary.
effective_owner: Option<PrincipalSummary>Effective human owner summary.
channels: Vec<AppChannel>Distribution channels attached to this app.
status: AppStatusCurrent lifecycle status.
published_at: Option<DateTime<Utc>>Timestamp when the app was last published.
created_at: DateTime<Utc>Timestamp when the app was created.
updated_at: DateTime<Utc>Timestamp when the app was last updated.
archived_at: Option<DateTime<Utc>>Timestamp when the app was archived.
deleted_at: Option<DateTime<Utc>>Timestamp when the app was deleted.
Implementations§
Source§impl App
impl App
Sourcepub fn slack_channel(&self) -> Option<&AppChannel>
pub fn slack_channel(&self) -> Option<&AppChannel>
Find the first Slack channel on this app.
Sourcepub fn ag_ui_channel(&self) -> Option<&AppChannel>
pub fn ag_ui_channel(&self) -> Option<&AppChannel>
Find the first enabled AG-UI channel on this app.
Sourcepub fn schedule_channel(&self) -> Option<&AppChannel>
pub fn schedule_channel(&self) -> Option<&AppChannel>
Find the first enabled schedule channel on this app.
Sourcepub fn webhook_channel(&self) -> Option<&AppChannel>
pub fn webhook_channel(&self) -> Option<&AppChannel>
Find the first enabled webhook channel on this app.
Sourcepub fn fcp_channel(&self) -> Option<&AppChannel>
pub fn fcp_channel(&self) -> Option<&AppChannel>
Find the first enabled FCP channel on this app.
Sourcepub fn a2a_channel(&self) -> Option<&AppChannel>
pub fn a2a_channel(&self) -> Option<&AppChannel>
Find the first enabled A2A channel on this app.
Sourcepub fn channel_by_id(&self, id: &AppChannelId) -> Option<&AppChannel>
pub fn channel_by_id(&self, id: &AppChannelId) -> Option<&AppChannel>
Find a channel by its public ID.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for App
impl<'de> Deserialize<'de> for App
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for App
impl RefUnwindSafe for App
impl Send for App
impl Sync for App
impl Unpin for App
impl UnsafeUnpin for App
impl UnwindSafe for App
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request