Skip to main content

SkillCard

Struct SkillCard 

Source
pub struct SkillCard {
Show 14 fields pub id: String, pub symbol: Symbol, pub aliases: Vec<Symbol>, pub origin: Symbol, pub title: String, pub description: String, pub input_shape: ShapeRef, pub output_shape: ShapeRef, pub roles: Vec<SkillRole>, pub capabilities: Vec<CapabilityName>, pub policy: SkillPolicy, pub transport_id: String, pub transport_kind: String, pub operation: String,
}
Expand description

Full runtime description of a single skill.

A card carries the skill’s identity and symbol, its input and output shape contracts, the roles it plays, the capabilities required to call it, its SkillPolicy, and the transport coordinates (id, kind, and operation) used to dispatch a call. It is a shape-bearing runtime handle; its serializable projection is the SkillCardDescriptor (skill/Card).

Fields§

§id: String

Stable string identifier for the skill.

§symbol: Symbol

Symbol the skill is registered and called under.

§aliases: Vec<Symbol>

Additional symbols that also resolve to this skill.

§origin: Symbol

Symbol naming where the card came from (for example fixture).

§title: String

Human-readable title.

§description: String

Human-readable description of what the skill does.

§input_shape: ShapeRef

Shape contract the call arguments must satisfy.

§output_shape: ShapeRef

Shape contract the call result must satisfy.

§roles: Vec<SkillRole>

Roles this skill plays for an agent.

§capabilities: Vec<CapabilityName>

Capabilities a caller must hold to invoke the skill.

§policy: SkillPolicy

Privacy, caching, and recording policy.

§transport_id: String

Identifier of the transport that runs the skill.

§transport_kind: String

Kind of the transport (for example fixture, mcp, http).

§operation: String

Operation name the transport dispatches for this skill.

Implementations§

Source§

impl SkillCard

Source

pub fn fixture(spec: FixtureSkillSpec) -> Self

Builds a fixture skill card from spec.

The card is given the fixture origin, the SkillRole::Tool role, a default SkillPolicy, and a single skill-specific call capability.

Source

pub fn with_capability(self, capability: CapabilityName) -> Self

Returns the card with capability appended to its required capabilities.

Source

pub fn with_role(self, role: SkillRole) -> Self

Returns the card with role added if it is not already present.

Source

pub fn with_policy(self, policy: SkillPolicy) -> Self

Returns the card with its policy replaced by policy.

Source

pub fn with_cache_mode(self, cache: SkillCacheMode) -> Self

Returns the card with its cache mode set to cache.

Source

pub fn with_cassette_mode(self, cassette: SkillCassetteMode) -> Self

Returns the card with its cassette mode set to cassette.

Source

pub fn with_idempotent(self, idempotent: bool) -> Self

Returns the card with its idempotency flag set to idempotent.

Source

pub fn with_semantic_key(self, semantic_key: impl Into<String>) -> Self

Returns the card with its semantic key set to semantic_key.

Source

pub fn with_privacy(self, privacy: SkillPrivacyPolicy) -> Self

Returns the card with its privacy policy set to privacy.

Source

pub fn value(&self, cx: &mut Cx) -> Result<Value>

Wraps the card in an opaque runtime Value.

Source

pub fn table_value(&self, cx: &mut Cx) -> Result<Value>

Projects the card into a table Value describing its fields.

Source§

impl SkillCard

Source

pub fn to_expr(&self, cx: &mut Cx) -> Result<Expr>

Encodes the card as a skill/card map Expr, the inverse of SkillCard::from_expr.

Source

pub fn from_expr(expr: &Expr) -> Result<Self>

Decodes a card from a skill/card map Expr, the inverse of SkillCard::to_expr.

Missing policy fields fall back to SkillPolicy::default.

Trait Implementations§

Source§

impl Clone for SkillCard

Source§

fn clone(&self) -> SkillCard

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Object for SkillCard

Source§

fn display(&self, _cx: &mut Cx) -> Result<String>

Render the object as a human-readable display string.
Source§

fn as_any(&self) -> &dyn Any

Expose the object for Rust downcasting.
Source§

fn header(&self) -> &ObjectHeader

Identity and trust header for the object; defaults to the shared anonymous header.
Source§

fn op(&self, _key: &OpKey) -> Option<&dyn Op>

Resolve the operation registered under key, if any.
Source§

fn claims( &self, _cx: &mut Cx, _pattern: &ClaimPattern, _sink: &mut dyn ClaimSink, ) -> Result<(), Error>

Emit the object’s claims matching pattern into sink.
Source§

fn snapshot(&self, _cx: &mut Cx) -> Result<Option<Datum>, Error>

Optional content-addressable snapshot of the object’s state.
Source§

impl ObjectCompat for SkillCard

Source§

fn as_expr(&self, cx: &mut Cx) -> Result<Expr>

Expression form of the object; defaults to an opaque extension node.
Source§

fn as_table(&self, cx: &mut Cx) -> Result<Value>

Project the object into a table value; the default exposes its display.
Source§

fn class(&self, cx: &mut Cx) -> Result<Value, Error>

Class object this value belongs to; defaults to nil.
Source§

fn as_callable(&self) -> Option<&dyn Callable>

Callable view, if the object can be invoked.
Source§

fn as_class(&self) -> Option<&dyn Class>

Class view, if the object is a class.
Source§

fn as_shape(&self) -> Option<&dyn Shape>

Shape view, if the object is a shape.
Source§

fn as_object_encoder(&self) -> Option<&dyn ObjectEncode>

Object-encoder view, if the object encodes other objects.
Source§

fn as_read_constructor(&self) -> Option<&dyn ReadConstructor>

Read-constructor view, if the object decodes data forms.
Source§

fn as_number_domain(&self) -> Option<&(dyn NumberDomain + 'static)>

Number-domain view, if the object is a number domain.
Source§

fn as_number_value(&self) -> Option<&dyn NumberValue>

Number-value view, if the object is a domain number.
Source§

fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>

Eval-fabric view, if the object is a distributed eval surface.
Source§

fn as_stream(&self) -> Option<&dyn Stream>

Stream view, if the object is a stream.
Source§

fn as_sequence(&self) -> Option<&dyn Sequence>

Sequence view, if the object is a sequence.
Source§

fn as_thunk(&self) -> Option<&dyn Thunk>

Thunk view, if the object is a deferred computation.
Source§

fn as_list(&self) -> Option<&(dyn ListValue + 'static)>

List view, if the object is a list value.
Source§

fn as_table_impl(&self) -> Option<&(dyn Table + 'static)>

Table-implementation view, if the object is a table.
Source§

fn as_dir(&self) -> Option<&(dyn Dir + 'static)>

Directory view, if the object is a directory.
Source§

fn truth(&self, _cx: &mut Cx) -> Result<bool, Error>

Truthiness of the object; defaults to true.
Source§

fn publish_shape_satisfaction_claims( &self, _cx: &mut Cx, _shape: &Ref, ) -> Result<bool, Error>

Publish claims asserting that the object satisfies shape; returns whether any were published.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> RuntimeObject for T
where T: Object + ObjectCompat + Any + Send + Sync,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.