Third-party crates for the whole workspace, buckified by reindeer (reindeer --third-party-dir third-party buckify). First-party crates are declared only in BUCK files; this manifest exists to resolve and lock crates.io versions.

5[package]
6name = "third-party"
7version = "0.0.0"
8edition = "2024"
9publish = false
11[lib]
12path = "top/lib.rs"
13
14[dependencies]

The Jev protocol, client policy and mock endpoint: ~/jevcrates, as the git submodule beside this file, pinned by its gitlink.

17jev-protocol = { path = "jevcrates/jev-protocol" }
18jev-client = { path = "jevcrates/jev-client" }
19jev-mock = { path = "jevcrates/jev-mock" }

Extension

21pgrx = { version = "=0.19.2", default-features = false, features = ["pg18"] }
22serde = { version = "1", features = ["derive"] }
23serde_json = { version = "1", features = ["preserve_order", "raw_value"] }

The cache key (postjevsql-core).

25sha2 = "0.11"
26bytes = "1"
27http = "1"
28http-body-util = "0.1"
29hyper = { version = "1", features = ["client", "http2"] }

Read h2 reasons (REFUSED_STREAM, GOAWAY) off hyper errors: never-sent.

31h2 = "0.4"
32rustls = { version = "0.23", default-features = false, features = ["ring", "std", "tls12", "logging"] }
33rustls-pki-types = { version = "1", features = ["std"] }

The backend has no tokio: TLS over futures-io, sockets from socket2, polled by postjevsql-pg's WaitEventSet executor (contract §2).

36futures-rustls = { version = "0.26", default-features = false, features = ["ring", "tls12", "logging"] }
37futures-io = "0.3"
38socket2 = "0.6"
39libc = "0.2"
40webpki-roots = "1"

DNS on the executor: no tokio (its default feature), plain DNS from /etc/resolv.conf or jev.dns_servers (contract §2, "Hickory constraints"). hickory-net declares its runtime traits with #[async_trait].

44async-trait = "0.1"
45hickory-resolver = { version = "=0.26.3", default-features = false, features = ["system-config"] }

Schema tool (reads the .pgrxsc section of the built .so)

48pgrx-sql-entity-graph = "=0.19.2"
49object = { version = "0.37", default-features = false, features = ["read", "std"] }

Cargo manifest generator (tools/cargo-gen)

51toml = { version = "0.9", features = ["preserve_order"] }

Integration tests

54tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "sync", "time"] }
55tokio-postgres = "0.7"
56hickory-proto = { version = "=0.26.3", default-features = false, features = ["std"] }
57tempfile = "3"