[package]
edition = "2024"
rust-version = "1.88"
name = "basis"
version = "0.8.1"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The basis SDK: workspace discovery, run lifecycle, one event stream, and the two seams. No protocol, no transport, no TTY."
homepage = "https://github.com/oops-rs/basis"
readme = "README.md"
keywords = [
"agent",
"llm",
"harness",
"mentra",
"sdk",
]
categories = ["development-tools"]
license = "MIT"
repository = "https://github.com/oops-rs/basis"
[features]
default = ["mcp"]
mcp = []
responses-websocket = ["mentra/responses-websocket"]
[lib]
name = "basis"
path = "src/lib.rs"
[[example]]
name = "child_policy"
path = "examples/child_policy.rs"
[[example]]
name = "conversation"
path = "examples/conversation.rs"
[[example]]
name = "embed"
path = "examples/embed.rs"
[[example]]
name = "memory"
path = "examples/memory.rs"
[[example]]
name = "review_workflow"
path = "examples/review_workflow.rs"
[[example]]
name = "reviewed_shell"
path = "examples/reviewed_shell.rs"
[[example]]
name = "watch"
path = "examples/watch.rs"
[[test]]
name = "approval"
path = "tests/approval.rs"
[[test]]
name = "attached_switch"
path = "tests/attached_switch.rs"
[[test]]
name = "branch"
path = "tests/branch.rs"
[[test]]
name = "budget"
path = "tests/budget.rs"
[[test]]
name = "cancellation"
path = "tests/cancellation.rs"
[[test]]
name = "child_policy"
path = "tests/child_policy.rs"
[[test]]
name = "compact"
path = "tests/compact.rs"
[[test]]
name = "config"
path = "tests/config.rs"
[[test]]
name = "conversation"
path = "tests/conversation.rs"
[[test]]
name = "declared_tools"
path = "tests/declared_tools.rs"
[[test]]
name = "discovery"
path = "tests/discovery.rs"
[[test]]
name = "fan_in"
path = "tests/fan_in.rs"
[[test]]
name = "fingerprint"
path = "tests/fingerprint.rs"
[[test]]
name = "fresh_only"
path = "tests/fresh_only.rs"
[[test]]
name = "hooks"
path = "tests/hooks/main.rs"
[[test]]
name = "interception"
path = "tests/interception.rs"
[[test]]
name = "mcp"
path = "tests/mcp.rs"
[[test]]
name = "memory"
path = "tests/memory.rs"
[[test]]
name = "model_budget"
path = "tests/model_budget.rs"
[[test]]
name = "observer"
path = "tests/observer.rs"
[[test]]
name = "output"
path = "tests/output.rs"
[[test]]
name = "provider_instance"
path = "tests/provider_instance.rs"
[[test]]
name = "registered_provider"
path = "tests/registered_provider.rs"
[[test]]
name = "resolved_model"
path = "tests/resolved_model.rs"
[[test]]
name = "round_strategy"
path = "tests/round_strategy.rs"
[[test]]
name = "run_profile"
path = "tests/run_profile.rs"
[[test]]
name = "run_stream"
path = "tests/run_stream.rs"
[[test]]
name = "runtime"
path = "tests/runtime.rs"
[[test]]
name = "runtime_reuse"
path = "tests/runtime_reuse.rs"
[[test]]
name = "spawn"
path = "tests/spawn.rs"
[[test]]
name = "templates"
path = "tests/templates.rs"
[[test]]
name = "token_budget"
path = "tests/token_budget.rs"
[[test]]
name = "tool_result_policy"
path = "tests/tool_result_policy.rs"
[[test]]
name = "tool_roster"
path = "tests/tool_roster.rs"
[[test]]
name = "workspace"
path = "tests/workspace.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.mentra]
version = "0.23.3"
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_yaml_ng]
version = "0.10"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"io-util",
"macros",
"net",
"rt-multi-thread",
"signal",
"sync",
"time",
]
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.mentra]
version = "0.23.3"
features = ["test-utils"]
default-features = false
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"io-util",
"macros",
"net",
"rt-multi-thread",
"signal",
"sync",
"time",
"time",
]
[dev-dependencies.tokio-tungstenite]
version = "0.28"
features = ["handshake"]
default-features = false