1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
[]
# zc-hooks is publish = false and owns the private zakuro-client git dep, so
# zc2's own manifest stays free of git sources and can go to crates.io.
= ["crates/zc-hooks"]
[]
= "zc2"
= "0.0.32"
= "2021"
= "1.87"
= "MIT"
= "P2P compute broker with credit-based billing, WAL, and broker mesh support"
= "https://github.com/zakuro-ai/zc"
= "README.md"
= ["compute", "broker", "p2p", "distributed", "billing"]
= ["command-line-utilities", "network-programming"]
= ["docs/BENCHMARK_REPORT.md", ".cursorrules", "scripts/__pycache__/"]
[[]]
= "zc"
= "src/main.rs"
[]
# Shared wire format — single source of truth for the postcard envelope
# that travels between the zakuro worker (Python) and this broker.
# Defined in https://github.com/zakuro-ai/zakuro/tree/master/crates/zakuro-wire
# (zakuro RFC 0001).
# `version` + `git`: local/CI builds resolve from the pinned git rev, while
# `cargo publish` strips the git spec and depends on zakuro-wire 0.2 from
# crates.io. The rev below IS 0.2.0, so the two agree. 0.1.0 -> 0.2.0 is
# purely additive (EnvelopeV2/ChunkFrame/V2Message), so nothing zc uses moved.
= { = "0.2", = "https://github.com/zakuro-ai/zakuro", = "57ee65972647c33941af5aff904278708cb18c77" }
= { = "1.0", = false, = ["alloc", "use-std"] }
= "2.0.0"
= { = "1.0.159", = ["derive"] }
= "1.0"
= "0.7.8"
= { = "=3.3.0", = ["json"] }
# The `http` crate ureq 3.x's `Agent::run`/`configure_request` take directly —
# used by the deployment-reconciler proxy (`broker::deploy::serve`) to send
# an arbitrary-method request through the broker's shared pooled Agent
# instead of the fixed-verb `agent.get(..)`/`.post(..)` builders. Pinned to
# the version already resolved transitively (via ureq-proto/axum) so this
# doesn't move the lockfile.
= "1.4"
# Broker dependencies
= "0.12" # interim frontend; removed at end of async phase 1
# Async server migration (ZAK-12, phase 1). tokio is already a direct dep below
# (used by the QUIC transport) with the rt-multi-thread/net/sync/macros features.
= "0.7"
= "0.5"
= "6"
# Lock-free MPMC queue for the WAL durability buffer (hot path is lock-free;
# the file mutex is taken only during the batched flush).
= "0.3"
= { = "1", = ["v4"] }
= { = "0.4", = ["serde"] }
# Async outbound HTTP for the /execute worker forward (ZAK-12 phase 2).
# rustls to match the existing rustls 0.23 stack; no default OpenSSL.
# `json` enables the typed .json() body helper used by the async peer-client calls.
= { = "0.12", = false, = ["rustls-tls", "http2", "json"] }
# System info
= "0.3"
= "0.2"
= "0.22.1"
= "0.4"
= "0.11"
= { = "1.52", = ["rt-multi-thread", "net", "io-util", "time", "sync", "macros", "signal"] }
= "0.13"
# Already in the tree via rustls; declared directly for SHA-256 (QUIC cert pin).
= "0.17"
= { = "0.23", = false, = ["ring", "std", "tls12"] }
= "1"
[]
= []
# ifaces is Unix-only (uses nix::sys). Windows users who need WireGuard
# must set the ZAKURO_WIREGUARD_IP env var — get_wireguard_ip falls back
# to that path when the iface-enumeration code isn't compiled in.
[]
= "0.1.0"
[]
# Line tables keep file:line in panics and backtraces for a fraction of full
# debuginfo's codegen and link cost; dependencies get none.
= "line-tables-only"
[]
= false