phi-agent 0.18.1

phi-agent — Rust AI Agent runtime framework: orchestration, sessions, streaming built-in. You define tools, prompts, domain knowledge.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "phi-agent"
version = "0.18.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "phi-agent — Rust AI Agent runtime framework: orchestration, sessions, streaming built-in. You define tools, prompts, domain knowledge."
readme = "README.md"
keywords = [
    "agent",
    "ai",
    "llm",
    "framework",
    "cli",
]
categories = [
    "development-tools",
    "command-line-utilities",
    "asynchronous",
]
license = "MIT"
repository = "https://github.com/hibuka-labs/phi-agent"

[features]
app = ["browser"]
browser = [
    "phi-tools",
    "phi-tools/browser",
]
compression = ["agent-works/compression"]
default = [
    "file",
    "mcp",
    "telemetry",
    "logging",
    "focus",
    "compression",
]
file = ["phi-kernel-tools/file"]
focus = ["agent-works/focus"]
full = [
    "file",
    "skill",
    "shell",
    "mcp",
    "telemetry",
    "logging",
    "focus",
    "compression",
]
logging = ["log-core"]
mcp = ["agent-works/mcp"]
memory = ["agent-works/memory"]
multi-agent = [
    "phi-kernel-tools/multi-agent",
    "agent-works/multi_agent",
]
observability = [
    "telemetry",
    "logging",
]
protocol = ["mcp"]
shell = ["phi-kernel-tools/shell"]
skill = [
    "file",
    "agent-works/skill",
    "agent-works/prompt_skill",
]
telemetry = ["phi-telemetry"]

[lib]
name = "phi_agent"
path = "src/lib.rs"

[[bin]]
name = "phi"
path = "src/bin/phi/main.rs"
required-features = [
    "mcp",
    "telemetry",
    "logging",
]

[[example]]
name = "custom_approval"
path = "examples/tools/custom_approval.rs"

[[example]]
name = "custom_policy"
path = "examples/tools/custom_policy.rs"

[[example]]
name = "custom_tool"
path = "examples/tools/custom_tool.rs"

[[example]]
name = "event_log"
path = "examples/observability/event_log.rs"

[[example]]
name = "file_ops"
path = "examples/tools/file_ops.rs"

[[example]]
name = "focus_demo"
path = "examples/advanced/focus_demo.rs"

[[example]]
name = "hello_agent"
path = "examples/minimal/hello_agent.rs"

[[example]]
name = "html_renderer"
path = "examples/observability/html_renderer.rs"

[[example]]
name = "hybrid_langgraph"
path = "examples/advanced/hybrid_langgraph.rs"
required-features = ["mcp"]

[[example]]
name = "mcp_client"
path = "examples/mcp/mcp_client.rs"
required-features = ["mcp"]

[[example]]
name = "mcp_dynamic_attach"
path = "examples/mcp/mcp_dynamic_attach.rs"
required-features = ["mcp"]

[[example]]
name = "mcp_server"
path = "examples/mcp/mcp_server.rs"
required-features = ["mcp"]

[[example]]
name = "middleware_hooks"
path = "examples/observability/middleware_hooks.rs"

[[example]]
name = "multi_agent"
path = "examples/multi-agent/multi_agent.rs"
required-features = ["multi-agent"]

[[example]]
name = "multi_tool"
path = "examples/tools/multi_tool.rs"

[[example]]
name = "session_persist"
path = "examples/session/session_persist.rs"

[[example]]
name = "summary_memory"
path = "examples/advanced/summary_memory.rs"

[[example]]
name = "window_memory"
path = "examples/advanced/window_memory.rs"

[[test]]
name = "bridge_concurrent"
path = "tests/stress/bridge_concurrent.rs"
required-features = ["shell"]

[[test]]
name = "bridge_messages"
path = "tests/stress/bridge_messages.rs"

[[test]]
name = "bridge_protocol"
path = "tests/stress/bridge_protocol.rs"
required-features = ["shell"]

[[test]]
name = "bridge_test"
path = "tests/bridge_test.rs"

[[test]]
name = "integration_test"
path = "tests/integration_test.rs"

[[bench]]
name = "agent_build"
path = "benches/agent_build.rs"
harness = false

[[bench]]
name = "bridge"
path = "benches/bridge.rs"
harness = false

[[bench]]
name = "serialization"
path = "benches/serialization.rs"
harness = false

[[bench]]
name = "session"
path = "benches/session.rs"
harness = false

[[bench]]
name = "system_prompt"
path = "benches/system_prompt.rs"
harness = false

[dependencies.agent-base]
version = "0.9.0"

[dependencies.agent-works]
version = "0.10.0"

[dependencies.anyhow]
version = "1"

[dependencies.async-trait]
version = "0.1"

[dependencies.chrono]
version = "0.4"
features = ["serde"]

[dependencies.clap]
version = "4"
features = [
    "derive",
    "env",
]

[dependencies.clap_complete]
version = "4"

[dependencies.dotenvy]
version = "0.15"

[dependencies.dyn-clone]
version = "1"

[dependencies.fs2]
version = "0.4"

[dependencies.llm-unified]
version = "0.1.4"

[dependencies.log-core]
version = "0.1.4"
optional = true

[dependencies.phi-kernel-tools]
version = "0.9.1"
default-features = false

[dependencies.phi-telemetry]
version = "0.7.1"
optional = true

[dependencies.phi-tools]
version = "0.6.0"
optional = true

[dependencies.regex]
version = "1"

[dependencies.rustyline]
version = "15"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.tokio-util]
version = "0.7"
features = ["rt"]

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-appender]
version = "0.2"

[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]

[dependencies.uuid]
version = "1"
features = ["v4"]

[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]

[dev-dependencies.futures-core]
version = "0.3"

[dev-dependencies.futures-util]
version = "0.3"

[dev-dependencies.proptest]
version = "1"

[dev-dependencies.tempfile]
version = "3"