agentid-core 0.1.0

Cryptographic identity for AI agents. Replaces hardcoded API keys with offline-verifiable Ed25519 tokens.
Documentation
[package]
name = "agentid-core"
version = "0.1.0"
edition = "2021"
authors = ["Samvardhan Singh"]
description = "Cryptographic identity for AI agents. Replaces hardcoded API keys with offline-verifiable Ed25519 tokens."
license = "Apache-2.0"
repository = "https://github.com/samvardhan03/AgentID"
readme = "../docs/README.md"
keywords = ["agent", "identity", "ed25519", "authentication", "ai"]
categories = ["cryptography", "authentication", "network-programming"]
exclude = [
    "target/",
    "*.node",
    "native/",
    ".cargo/",
]

[lib]
name = "agentid_core"
crate-type = ["cdylib", "rlib"]

[[bin]]
name = "agentid-server"
path = "src/bin/agentid-server.rs"
required-features = ["server"]

[features]
default = ["server"]
server = ["dep:tonic", "dep:prost", "dep:tokio"]
napi-bindings = ["dep:napi", "dep:napi-derive"]

[dependencies]
ed25519-dalek = { version = "2.1", default-features = false, features = ["std", "fast", "zeroize"] }
ring = "0.17"
hkdf = "0.12"
sha2 = "0.10"
hex = "0.4"
thiserror = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
dirs = "5"
zeroize = { version = "1.7", features = ["zeroize_derive"] }

# Optional: gRPC server
tonic = { version = "0.11", optional = true }
prost = { version = "0.12", optional = true }
tokio = { version = "1.36", features = ["rt-multi-thread", "macros", "signal", "net"], optional = true }

# Optional: N-API bindings for TypeScript / Bun
napi = { version = "2.16", default-features = false, features = ["napi6"], optional = true }
napi-derive = { version = "2.16", optional = true }

[build-dependencies]
tonic-build = "0.11"
napi-build = "2"

[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1
strip = "symbols"

[profile.bench]
opt-level = 3
lto = "fat"