open-standards/eoc/eoc-rs/crates/eoc-tools/Cargo.toml
David Charlot ad49173ff8
All checks were successful
jouleclaw public surface must stay documented / Public-surface audit (jouleclaw-rs) (pull_request) Successful in 58s
no-vanity-metrics / Scan committed Markdown for vanity metrics (pull_request) Successful in 3s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 1m6s
WAI conformance / cargo-class corpora · windows (pull_request) Successful in 1m15s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 23s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 28s
WAI conformance / cross-arch byte-equality · windows (pull_request) Successful in 22s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 14s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 2m17s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 24s
eoc: pin rand off 0.10.2, which does not compile
`rand 0.10.2` fails to build: its own `src/rng.rs:168` contains `use
rand::RngExt;` — a crate referring to itself by name rather than `crate::`. That
is an upstream defect in a published release, not a configuration problem, and
it reaches this workspace through `eoc-route-learned`, `eoc-spec-decode` and
`rand_distr`. Pinned to 0.10.1, which builds.

The lock is pinned rather than the manifests: the constraint is "not this exact
release", not a new minimum, and a manifest pin would outlive the broken version
and quietly hold the workspace back once upstream fixes it.

Verified pre-existing rather than assumed: 0.10.2 is in the lock at
`origin/main` and this branch's other commits touch zero `rand` lines.

The `eoc-tools` reqwest `query` feature — the other half of what kept
`cargo check --workspace` from passing — landed on main independently while this
branch was in flight, with the same fix and the same reasoning. That commit is
taken as-is here rather than duplicated.

With both in place the entire eoc-rs workspace checks clean, which is what makes
the allocation and rating work in the preceding commits verifiable in place
rather than only crate-locally.
2026-08-27 13:32:56 -04:00

33 lines
1.2 KiB
TOML

[package]
name = "eoc-tools"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "EOC — tool-use / function-calling substrate: schema, registry, multi-vendor adapters, parallel exec, safety, builtins."
[dependencies]
eoc-core.workspace = true
eoc-neural.workspace = true
eoc-vendor-api = { path = "../eoc-vendor-api" }
serde = { workspace = true }
serde_json = "1"
schemars = "1.2"
jsonschema = { version = "0.46", default-features = false }
tokio = { workspace = true, features = ["macros", "rt", "sync", "fs", "process", "io-util", "time"] }
async-trait.workspace = true
futures = "0.3"
# `query` is a feature in reqwest 0.13 (it was unconditional in 0.12), and this
# crate builds four search adapters with `.query(..)`. With
# `default-features = false` the method is simply not compiled, so the crate has
# not built since the 0.13 bump.
reqwest = { version = "0.13", default-features = false, features = ["rustls", "json", "query"] }
thiserror.workspace = true
tracing = "0.1"
[dev-dependencies]
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "test-util", "time"] }
serde_json = "1"