[package]
edition = "2021"
rust-version = "1.88.0"
name = "im-core"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust IM SDK for Awiki clients built on Agent Network Protocol (ANP)"
documentation = "https://docs.rs/im-core"
readme = "README.md"
keywords = [
"awiki",
"im",
"anp",
"did",
"messaging",
]
categories = [
"api-bindings",
"authentication",
"network-programming",
]
license = "MIT"
repository = "https://github.com/AgentConnect/awiki-cli-rs2"
[features]
attachments = []
blocking = []
default = [
"sqlite",
"http",
]
email = []
group-e2ee = [
"sqlite",
"anp/mls",
]
http = []
internal-test-helpers = []
mcp-trusted-registration = []
provider-traits = []
realtime = []
secure-direct = []
sqlite = ["dep:rusqlite"]
[lib]
name = "im_core"
path = "src/lib.rs"
[[test]]
name = "app_sandbox_paths"
path = "tests/app_sandbox_paths.rs"
[[test]]
name = "attachment_api"
path = "tests/attachment_api.rs"
[[test]]
name = "auth_provider_contract"
path = "tests/auth_provider_contract.rs"
[[test]]
name = "boundary"
path = "tests/boundary.rs"
[[test]]
name = "content_api"
path = "tests/content_api.rs"
[[test]]
name = "content_wire_contract"
path = "tests/content_wire_contract.rs"
[[test]]
name = "email_notification_contract"
path = "tests/email_notification_contract.rs"
[[test]]
name = "email_wire_contract"
path = "tests/email_wire_contract.rs"
[[test]]
name = "group_wire_contract"
path = "tests/group_wire_contract.rs"
[[test]]
name = "identity_wire_contract"
path = "tests/identity_wire_contract.rs"
[[test]]
name = "message_mention"
path = "tests/message_mention.rs"
[[test]]
name = "phase1a"
path = "tests/phase1a.rs"
[[test]]
name = "phase1c_identity_auth"
path = "tests/phase1c_identity_auth.rs"
[[test]]
name = "phase2_identity_directory"
path = "tests/phase2_identity_directory.rs"
[[test]]
name = "phase2_relationship_directory"
path = "tests/phase2_relationship_directory.rs"
[[test]]
name = "proof_contract"
path = "tests/proof_contract.rs"
[[test]]
name = "realtime_api"
path = "tests/realtime_api.rs"
[[test]]
name = "realtime_connect"
path = "tests/realtime_connect.rs"
[[test]]
name = "realtime_frame"
path = "tests/realtime_frame.rs"
[[test]]
name = "realtime_loop"
path = "tests/realtime_loop.rs"
[[test]]
name = "realtime_projection"
path = "tests/realtime_projection.rs"
[[test]]
name = "realtime_runner"
path = "tests/realtime_runner.rs"
[[test]]
name = "secure_api"
path = "tests/secure_api.rs"
[[test]]
name = "site_api"
path = "tests/site_api.rs"
[[test]]
name = "site_wire_contract"
path = "tests/site_wire_contract.rs"
[[test]]
name = "vault_api"
path = "tests/vault_api.rs"
[[test]]
name = "wire_contract"
path = "tests/wire_contract.rs"
[dependencies.anp]
version = "0.8.8"
default-features = false
[dependencies.base64]
version = "0.22"
[dependencies.bs58]
version = "0.5"
[dependencies.chacha20poly1305]
version = "0.10"
[dependencies.chrono]
version = "0.4"
features = [
"clock",
"serde",
]
default-features = false
[dependencies.ed25519-dalek]
version = "=2.1.1"
features = [
"rand_core",
"pkcs8",
"pem",
]
[dependencies.futures-util]
version = "0.3"
[dependencies.hkdf]
version = "0.12"
[dependencies.rand]
version = "0.8"
[dependencies.redb]
version = "=2.6.3"
[dependencies.reqwest]
version = "0.12"
features = [
"rustls-tls",
"http2",
"charset",
"stream",
]
default-features = false
[dependencies.rusqlite]
version = "0.32"
features = ["bundled"]
optional = true
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
]
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.time]
version = "=0.3.36"
features = [
"formatting",
"parsing",
]
[dependencies.tokio]
version = "1.52.3"
features = [
"rt",
"rt-multi-thread",
"macros",
"time",
"sync",
"fs",
"io-util",
]
[dependencies.tokio-tungstenite]
version = "0.29"
features = [
"connect",
"rustls-tls-webpki-roots",
]
default-features = false
[dependencies.tokio-util]
version = "0.7"
features = ["io"]
[dependencies.webpki-roots]
version = "0.26"
[dependencies.zeroize]
version = "1.8"
features = ["zeroize_derive"]
[dev-dependencies.tempfile]
version = "=3.3.0"