PicoBot/Cargo.toml
xiaoxixi ac201a3949 feat: durable agent orchestration with run persistence, inbox continuation, and signal/steer
- AgentCatalog/definitions with strict Markdown frontmatter, delegation graph,
  fail-closed tool scoping, and signal contracts
- structured cancellation (AgentError::Cancelled/TimedOut) across provider
  streams, tool batches, and sleep; /stop drives the same terminal state
- schema v6 run/group/inbox persistence with execution-ID conditional
  transitions and completion-slot reservations
- ExecutionGate separating run quota from provider/tool step permits
- background completion inbox with hidden-trigger continuation turns,
  fairness scheduling, lease release, dead-lettering, and activation recovery
- typed TurnMailbox with two-phase steer admission and atomic consumption at
  turn commit; /stop releases admitted steer events back to pending
- emit_signal tool with contract-enforced rate/dedupe/severity/size limits
- WS run/event projection (GetAgentRuns, AgentRunUpdated, AgentEventUpdated),
  /api/agent-runs* management endpoints, /api/tasks union, WebUI run tree
  and signal cards
- ChannelContext.durable_private persisted for continuation delivery reuse

Version 1.7.0
2026-08-11 11:51:20 +08:00

64 lines
1.7 KiB
TOML

[package]
name = "picobot"
version = "1.7.0"
edition = "2024"
[dependencies]
reqwest = { version = "0.13.4", default-features = false, features = ["json", "rustls", "multipart"] }
serde = { version = "1.0", features = ["derive"] }
regex = "1.13"
serde_json = "1.0"
serde_yaml = "0.9"
async-trait = "0.1"
thiserror = "2.0.19"
tokio = { version = "1.53", features = ["full"] }
tokio-util = { version = "0.7", features = ["rt", "io"] }
dashmap = "6.2"
uuid = { version = "1.24", features = ["v4"] }
axum = { version = "0.8", features = ["ws", "multipart"] }
tokio-tungstenite = { version = "0.30.0", features = ["rustls-tls-webpki-roots", "rustls"] }
futures-util = "0.3"
clap = { version = "4", features = ["derive"] }
dirs = "6.0.0"
prost = "0.14"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "local-time"] }
tracing-appender = "0.2"
time = { version = "0.3", features = ["formatting", "local-offset"] }
anyhow = "1.0"
mime_guess = "2.0"
base64 = "0.23"
sha2 = "0.11"
tempfile = "3"
cron = "0.17"
chrono-tz = "0.10"
ratatui = "0.30"
crossterm = { version = "0.29", features = ["event-stream"] }
termimad = "0.35"
textwrap = "0.16"
unicode-width = "0.2"
chrono = "0.4"
sqlx = { version = "0.9", features = ["sqlite", "macros", "chrono", "runtime-tokio"] }
jieba-rs = "0.10"
which = "8"
rmcp = { version = "2.2", default-features = false, features = [
"client",
"transport-child-process",
"transport-streamable-http-client-reqwest",
"which-command",
] }
http = "1"
encoding_rs = "0.8"
zstd = "0.13"
tar = "0.4"
portable-pty = "0.9"
[dev-dependencies]
dotenv = "0.15"
tower = "0.5"
tokio = { version = "1.53", features = ["test-util"] }
[build-dependencies]
zstd = "0.13"
tar = "0.4"