pub struct DefinitionRecordV1 {Show 29 fields
pub id: String,
pub slug: String,
pub name: String,
pub icon: String,
pub provider: String,
pub description: String,
pub working_directory: String,
pub shell: String,
pub provider_flags: String,
pub auto_start: i64,
pub restart_on_crash: i64,
pub idle_timeout_minutes: i64,
pub created_at: i64,
pub agent_type: String,
pub environment: String,
pub agent_bus_id: String,
pub is_seeded: i64,
pub accounts: String,
pub parent_id: String,
pub branch_label: String,
pub updated_at: i64,
pub user_hidden: i64,
pub container_image: String,
pub container_volumes: String,
pub container_name: String,
pub use_ambient_login: i64,
pub auto_continue_enabled: i64,
pub content: Vec<DefContentBlob>,
pub skills: Vec<DefSkillBlob>,
}Expand description
v1 definition payload — a faithful mirror of AgentDefinition’s
columns, PLUS the per-definition content + skills blobs (which live in
separate per-version tables and must travel with the definition for a
cross-channel agent to launch with its instructions). New fields go
here under #[serde(default)] (so older files still deserialize)
paired with a DEF_MAX_SUPPORTED_SCHEMA bump.
Fields§
§id: String§slug: String§name: String§icon: String§provider: String§description: String§working_directory: String§shell: String§provider_flags: String§auto_start: i64§restart_on_crash: i64§idle_timeout_minutes: i64§created_at: i64§agent_type: String§environment: String§agent_bus_id: String§is_seeded: i64§accounts: String§parent_id: String§branch_label: String§updated_at: i64§container_image: String§container_volumes: String§container_name: String§use_ambient_login: i64Explicit per-agent opt-in to the CLI’s global (ambient) login when
no oauth-class account resolves at spawn (mirrors the SQLite v12
column — SPEC_ACCOUNT_DELETE_DEAUTH_LAYERS_2_4_2026_07_14.md §2.3).
Additive under #[serde(default)] (older files read as 0 =
fail-by-default; older binaries ignore the extra field), same as
the container_* fields — no envelope bump.
auto_continue_enabled: i64Per-agent opt-in letting a Warden Supervisor watcher agent
auto-continue this agent’s session on turn-end (mirrors the SQLite
v17 column —
docs/analysis/ANALYSIS_WARDEN_AUTO_CONTROLLER_CONTINUATION_WATCHER_2026_08_12.md).
Additive under #[serde(default)], same as use_ambient_login —
no envelope bump.
content: Vec<DefContentBlob>System-prompt / mcp / env / soul / startup blobs (db_agent_content), embedded so a cross-channel agent launches with its instructions.
skills: Vec<DefSkillBlob>Skills (db_agent_skills) attached to this definition.
Trait Implementations§
Source§impl Clone for DefinitionRecordV1
impl Clone for DefinitionRecordV1
Source§fn clone(&self) -> DefinitionRecordV1
fn clone(&self) -> DefinitionRecordV1
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DefinitionRecordV1
impl Debug for DefinitionRecordV1
Source§impl Default for DefinitionRecordV1
impl Default for DefinitionRecordV1
Source§fn default() -> DefinitionRecordV1
fn default() -> DefinitionRecordV1
Source§impl<'de> Deserialize<'de> for DefinitionRecordV1
impl<'de> Deserialize<'de> for DefinitionRecordV1
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>,
impl Eq for DefinitionRecordV1
Source§impl PartialEq for DefinitionRecordV1
impl PartialEq for DefinitionRecordV1
Source§impl Serialize for DefinitionRecordV1
impl Serialize for DefinitionRecordV1
impl StructuralPartialEq for DefinitionRecordV1
Auto Trait Implementations§
impl Freeze for DefinitionRecordV1
impl RefUnwindSafe for DefinitionRecordV1
impl Send for DefinitionRecordV1
impl Sync for DefinitionRecordV1
impl Unpin for DefinitionRecordV1
impl UnsafeUnpin for DefinitionRecordV1
impl UnwindSafe for DefinitionRecordV1
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
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>,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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