Skip to main content

SimpleAgentWrapper

Struct SimpleAgentWrapper 

Source
pub struct SimpleAgentWrapper { /* private fields */ }
Expand description

Thread-safe, Clone-able FFI wrapper around the narrow SimpleAgent contract.

All methods return BindingResult<String> (or simple scalars) so that language bindings (Python/PyO3, Node/NAPI, Go/CGo) never touch Rust-only types.

Implementations§

Source§

impl SimpleAgentWrapper

Source

pub fn create( name: &str, purpose: Option<&str>, key_algorithm: Option<&str>, ) -> BindingResult<(Self, String)>

Create a new agent with persistent identity.

Returns (wrapper, info_json) where info_json is a serialized jacs::simple::AgentInfo.

Source

pub fn load( config_path: Option<&str>, strict: Option<bool>, ) -> BindingResult<Self>

Load an existing agent from a config file.

Source

pub fn load_with_info( config_path: Option<&str>, strict: Option<bool>, ) -> BindingResult<(Self, String)>

Load an existing agent from a config file and return canonical metadata.

Source

pub fn ephemeral(algorithm: Option<&str>) -> BindingResult<(Self, String)>

Create an ephemeral (in-memory, throwaway) agent.

Returns (wrapper, info_json).

Source

pub fn create_with_params(params_json: &str) -> BindingResult<(Self, String)>

Create an agent with full programmatic control via JSON parameters.

params_json is a JSON string of [CreateAgentParams] fields. The storage field is skipped during deserialization (use builder for that). Returns (wrapper, info_json) where info_json is a serialized jacs::simple::AgentInfo.

Source

pub fn from_agent(agent: SimpleAgent) -> Self

Wrap an existing SimpleAgent in a SimpleAgentWrapper.

Source

pub fn inner_ref(&self) -> &SimpleAgent

Get a reference to the inner SimpleAgent.

This is intended for advanced operations (attestation, reencrypt, etc.) that need direct access to the underlying agent. Language bindings should prefer the wrapper methods for the narrow contract.

Source

pub fn get_agent_id(&self) -> BindingResult<String>

Get the agent’s unique ID.

Source

pub fn key_id(&self) -> BindingResult<String>

Get the JACS key ID (signing key identifier).

Source

pub fn is_strict(&self) -> bool

Whether the agent is in strict mode.

Source

pub fn config_path(&self) -> Option<String>

Config file path, if loaded from disk.

Source

pub fn export_agent(&self) -> BindingResult<String>

Export the agent’s identity JSON for P2P exchange.

Source

pub fn get_public_key_pem(&self) -> BindingResult<String>

Get the public key as a PEM string.

Source

pub fn get_public_key_base64(&self) -> BindingResult<String>

Get the public key as base64-encoded raw bytes (FFI-safe).

Source

pub fn diagnostics(&self) -> String

Runtime diagnostic info as a JSON string.

Source

pub fn verify_self(&self) -> BindingResult<String>

Verify the agent’s own document signature. Returns JSON VerificationResult.

Source

pub fn verify_json(&self, signed_document: &str) -> BindingResult<String>

Verify a signed document JSON string. Returns JSON VerificationResult.

Source

pub fn verify_with_key_json( &self, signed_document: &str, public_key_base64: &str, ) -> BindingResult<String>

Verify a signed document with an explicit public key (base64-encoded). Returns JSON VerificationResult.

Source

pub fn verify_by_id_json(&self, document_id: &str) -> BindingResult<String>

Verify a stored document by its ID (e.g., “uuid:version”). Returns JSON VerificationResult.

Source

pub fn sign_message_json(&self, data_json: &str) -> BindingResult<String>

Sign a JSON message string. Returns the signed JACS document JSON.

Source

pub fn sign_raw_bytes_base64(&self, data: &[u8]) -> BindingResult<String>

Sign raw bytes and return the signature as base64 (FFI-safe).

Source

pub fn sign_file_json( &self, file_path: &str, embed: bool, ) -> BindingResult<String>

Sign a file with optional content embedding. Returns the signed JACS document JSON.

Source

pub fn to_yaml(&self, json_str: &str) -> BindingResult<String>

Convert a JSON string to YAML.

Source

pub fn from_yaml(&self, yaml_str: &str) -> BindingResult<String>

Convert a YAML string to pretty-printed JSON.

Source

pub fn to_html(&self, json_str: &str) -> BindingResult<String>

Convert a JSON string to a self-contained HTML document.

Source

pub fn from_html(&self, html_str: &str) -> BindingResult<String>

Extract JSON from an HTML document produced by to_html.

Trait Implementations§

Source§

impl Clone for SimpleAgentWrapper

Source§

fn clone(&self) -> SimpleAgentWrapper

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

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

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more