pub struct ToolPackSnapshot {
pub pack_id: ToolPackId,
pub kind: ToolPackKind,
pub version: String,
pub source: SourceRef,
pub trust: TrustClass,
pub tools: Vec<ToolPackToolSnapshot>,
pub workspace_bounds: Option<WorkspaceBoundsSnapshot>,
pub resource_routes: Vec<ResourceRouteSnapshot>,
pub discovery: Option<ToolDiscoverySnapshot>,
}Expand description
Describes the tool pack snapshot portion of a runtime package snapshot. Use it when package authors or tests need explicit package configuration; validation and activation happen in package/runtime coordinators.
Fields§
§pack_id: ToolPackIdStable pack id used for typed lineage, lookup, or dedupe.
kind: ToolPackKindKind/category for this record, capability, event, or detected resource.
version: StringVersion string for this capability, package, or protocol surface. Use it for compatibility checks during package or adapter resolution.
source: SourceRefSource label or ref for this item; it is metadata and does not fetch content by itself.
trust: TrustClassTrust class used when deciding whether context or capabilities may be admitted.
tools: Vec<ToolPackToolSnapshot>Collection of tools values. Ordering and membership should be treated as part of the serialized contract when relevant.
workspace_bounds: Option<WorkspaceBoundsSnapshot>Optional workspace bounds value. When absent, callers should use the documented default or skip that optional behavior.
resource_routes: Vec<ResourceRouteSnapshot>Collection of resource routes values. Ordering and membership should be treated as part of the serialized contract when relevant.
discovery: Option<ToolDiscoverySnapshot>Optional discovery value. When absent, callers should use the documented default or skip that optional behavior.
Implementations§
Source§impl ToolPackSnapshot
impl ToolPackSnapshot
Sourcepub fn new(
pack_id: ToolPackId,
kind: ToolPackKind,
version: impl Into<String>,
source: SourceRef,
) -> Self
pub fn new( pack_id: ToolPackId, kind: ToolPackKind, version: impl Into<String>, source: SourceRef, ) -> Self
Creates a new package::tool_pack value with explicit caller-provided inputs. This constructor is data-only and performs no I/O or external side effects.
Sourcepub fn with_trust(self, trust: TrustClass) -> Self
pub fn with_trust(self, trust: TrustClass) -> Self
Returns this value with its trust setting replaced. The method follows builder-style data construction and does not execute external work.
Sourcepub fn with_tool(self, tool: ToolPackToolSnapshot) -> Self
pub fn with_tool(self, tool: ToolPackToolSnapshot) -> Self
Returns this value with its tool setting replaced. The method follows builder-style data construction and does not execute external work.
Sourcepub fn with_workspace_bounds(self, bounds: WorkspaceBoundsSnapshot) -> Self
pub fn with_workspace_bounds(self, bounds: WorkspaceBoundsSnapshot) -> Self
Returns this value with its workspace bounds setting replaced. The method follows builder-style data construction and does not execute external work.
Sourcepub fn with_resource_route(self, route: ResourceRouteSnapshot) -> Self
pub fn with_resource_route(self, route: ResourceRouteSnapshot) -> Self
Returns this value with its resource route setting replaced. The method follows builder-style data construction and does not execute external work.
Sourcepub fn with_discovery(self, discovery: ToolDiscoverySnapshot) -> Self
pub fn with_discovery(self, discovery: ToolDiscoverySnapshot) -> Self
Returns this value with its discovery setting replaced. The method follows builder-style data construction and does not execute external work.
Sourcepub fn sidecar_ref(&self) -> Result<PackageSidecarRef, AgentError>
pub fn sidecar_ref(&self) -> Result<PackageSidecarRef, AgentError>
Builds the sidecar ref value. This is data construction and performs no I/O, journal append, event publication, or process work.
Sourcepub fn package_sidecar_snapshot(
&self,
) -> Result<PackageSidecarSnapshot, AgentError>
pub fn package_sidecar_snapshot( &self, ) -> Result<PackageSidecarSnapshot, AgentError>
Builds the package sidecar snapshot value. This is data construction and performs no I/O, journal append, event publication, or process work.
Sourcepub fn capability_specs(&self) -> Result<Vec<CapabilitySpec>, AgentError>
pub fn capability_specs(&self) -> Result<Vec<CapabilitySpec>, AgentError>
Builds the capability specs value. This is data construction and performs no I/O, journal append, event publication, or process work.
Sourcepub fn content_hash(&self) -> Result<String, AgentError>
pub fn content_hash(&self) -> Result<String, AgentError>
Computes the stable content hash for this package::tool_pack value. The computation is deterministic and side-effect free so it can be used in package, journal, or test evidence.
Trait Implementations§
Source§impl Clone for ToolPackSnapshot
impl Clone for ToolPackSnapshot
Source§fn clone(&self) -> ToolPackSnapshot
fn clone(&self) -> ToolPackSnapshot
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 ToolPackSnapshot
impl Debug for ToolPackSnapshot
Source§impl<'de> Deserialize<'de> for ToolPackSnapshot
impl<'de> Deserialize<'de> for ToolPackSnapshot
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>,
Source§impl PartialEq for ToolPackSnapshot
impl PartialEq for ToolPackSnapshot
Source§fn eq(&self, other: &ToolPackSnapshot) -> bool
fn eq(&self, other: &ToolPackSnapshot) -> bool
self and other values to be equal, and is used by ==.