Skip to main content

Crate jacs_binding_core

Crate jacs_binding_core 

Source
Expand description

§jacs-binding-core

Shared core logic for JACS language bindings (Python, Node.js, etc.).

This crate provides the binding-agnostic business logic that can be used by any language binding. Each binding implements the BindingError trait to convert errors to their native format.

Re-exports§

pub use doc_wrapper::DocumentServiceWrapper;
pub use simple_wrapper::SimpleAgentWrapper;
pub use simple_wrapper::sign_message_json;
pub use simple_wrapper::verify_json;
pub use jacs;

Modules§

conversion
Common type conversion utilities for bindings.
doc_wrapper
DocumentServiceWrapper — JSON-in/JSON-out adapter for the unified Document API.
simple_wrapper
SimpleAgentWrapper — thin FFI adapter over the narrow SimpleAgent contract.

Structs§

AgentWrapper
Thread-safe wrapper around a JACS Agent.
BindingCoreError
Error type for binding core operations.
DnsVerificationResult
Re-export DNS verification result for bindings. Result of verifying an agent’s identity via DNS TXT record.
VerificationResult
Result of verifying a signed JACS document (used by verify_document_standalone).

Enums§

ErrorKind
Categories of errors for better handling by bindings.

Functions§

audit
Run a read-only security audit and health checks.
build_jwk_set_from_public_key
Build a JWK set from a base64-encoded public key using Rust-owned parsing rules.
create_agent_programmatic
Create a JACS agent programmatically (non-interactive).
create_config
Create a JACS configuration JSON string.
diagnostics_standalone
Returns basic JACS diagnostic info as a pretty-printed JSON string. Does not require a loaded agent.
ensure_network_access
Enforce the Rust-owned network access policy for a named capability.
fetch_agent_card
Fetch an A2A Agent Card JSON object using Rust-owned network policy and HTTP behavior.
fetch_remote_key_lookup
Fetch a remote key lookup JSON object using Rust-owned network policy and HTTP behavior.
get_trusted_agent
Get a trusted agent’s JSON document.
handle_agent_create
Create agent and config files interactively.
handle_agent_create_auto
Like handle_agent_create but auto-updates config with the agent ID when auto_update_config is true, skipping the interactive prompt.
handle_config_create
Create a jacs.config.json file interactively.
hash_public_key_base64
Hash a base64-encoded public key using Rust-owned public-key hashing rules.
hash_string
Hash a string using the JACS hash function (SHA-256).
is_trusted
Check if an agent is in the trust store.
list_trusted_agents
List all trusted agent IDs.
quickstart_private_key_password
Resolve an existing password for quickstart, or generate and optionally persist one in Rust.
resolve_private_key_password
Resolve a private-key password using Rust-owned env, keychain, and filesystem rules.
trust_agent
Add an agent to the local trust store.
trust_agent_with_key
Add an agent to the local trust store using an explicitly provided public key.
untrust_agent
Remove an agent from the trust store.
verify_agent_dns
Verify an agent’s DNS TXT record matches its public key hash.
verify_document_standalone
Verify a signed JACS document without loading an agent.

Type Aliases§

BindingResult
Result type for binding core operations.