content: [workspace]
  resolver = "2"
  members = [".", "actors", "macros"]
  
  [workspace.dependencies]
  kameo = { path = ".", version = "0.18.0" }
  
  futures = "0.3"
  tokio = "1.47"
  
  [profile.release]
  lto = true
  opt-level = 3
  codegen-units = 1
  
  [package.metadata.docs.rs]
  all-features = true
  
  [package]
  name = "kameo"
  version = "0.18.0"
  edition = "2021"
  rust-version = "1.85.1"
  description = "Fault-tolerant Async Actors Built on Tokio"
  readme = "README.md"
  repository = "https://github.com/tqwewe/kameo"
  license = "MIT OR Apache-2.0"
  keywords = ["actor", "tokio"]
  categories = ["asynchronous", "concurrency", "rust-patterns"]
  include = ["/src"]
  
  [features]
  default = ["macros", "tracing"]
  macros = ["dep:kameo_macros"]
  remote = [
    "dep:const-fnv1a-hash",
    "dep:const-str",
    "dep:either",
    "dep:libp2p",
    "dep:libp2p-identity",
    "dep:linkme",
    "dep:rmp-serde",
  ]
  tracing = ["dep:tracing", "tokio/tracing"]
  
  [dependencies]
  kameo_macros = { version = "0.18.0", path = "./macros", optional = true }
  
  const-fnv1a-hash = { version = "1.1.0", optional = true }
  const-str = { version = "0.6.4", features = ["proc"], optional = true }
  downcast-rs = "2.0.1"
  dyn-clone = "1.0"
  either = { version = "1.15.0", optional = true }
  futures.workspace = true
  libp2p = { version = "0.56.0", features = [
    "cbor",
    "kad",
    "noise",
    "mdns",
    "quic",
    "request-response",
    "tcp",
    "tokio",
    "yamux",
  ], optional = true }
  libp2p-identity = { version = "0.2.9", optional = true }
  linkme = { version = "0.3.28", optional = true }
  rmp-serde = { version = "1.3.0", optional = true }
  serde = { version = "1.0", features = ["derive"] }
  tokio = { workspace = true, features = ["macros", "rt", "sync", "time"] }
  tracing = { version = "0.1", optional = true }
  
  [dev-dependencies]
  criterion = { version = "0.7", features = ["async_tokio"] }
  kameo_actors = { path = "actors" }
  libp2p = { version = "0.56.0", features = ["serde"] }
  tokio = { version = "1", features = [
    "macros",
    "rt",
    "rt-multi-thread",
    "sync",
    "time",
  ] }
  tokio-stream = { version = "0.1.15", features = ["time"] }
  tokio-test = "0.4.4"
  tracing-subscriber = { version = "0.3", features = ["env-filter"] }
  
  [[example]]
  name = "remote"
  required-features = ["remote"]
  
  [[example]]
  name = "custom_swarm"
  required-features = ["remote"]
  
  [[bench]]
  name = "overhead"
  harness = false
  
  [lints.rust]
  unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tokio_unstable)'] }
  