Replace the dual task/monitor model, NO_REPLY string protocol, and Agent self-delivery with a single Scheduled Run path: claim-time JobRun snapshots, isolated Root/named Agent execution, exactly-once complete_scheduled_run termination, and Scheduler-owned policy delivery through a persistent outbox. - SQLite v11: drop job_kind/model/delete_after_run, add job_runs with status/outcome joint constraints and delivery lease columns; one-shot BEGIN IMMEDIATE migration with atomic rollback. - Non-blocking JoinSet event loop with bounded run/delivery concurrency; terminal commit before any channel I/O; recover unfinished runs as unknown. - ExecutionOrigin::Scheduled propagates to descendants, completion sink is top-level only, background delegation downgrades to foreground. - Typed delivery receipts, fixed target_session_id, idempotent scheduled:<job_run_id> history insert. - New cron_runs read-only tool; cron_add/update drop kind/model; WebUI and Health consume the same JobRun projection. - Bump version to 1.22.0.
65 lines
1.7 KiB
TOML
65 lines
1.7 KiB
TOML
[package]
|
|
name = "picobot"
|
|
version = "1.22.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
reqwest = { version = "0.13.4", default-features = false, features = ["json", "rustls", "multipart"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_path_to_error = "0.1"
|
|
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"
|