open-standards/eoc/eoc-rs/crates/eoc-tools/Cargo.toml
Transaction Science 3a9216fa0e unbreak four standards that had never been compiled
Updating the toolchain surfaced five workspaces that did not build. Every one
was verified against its ORIGINAL pre-update lockfile and manifest before being
touched: all of them were already broken. None of this was caused by the
dependency update.

The same handful of upstream migrations account for nearly all of it:

  hmac 0.13 moved new_from_slice from Mac to KeyInit
    openpay: op-webhook, op-bnpl, op-ewallets-asia, op-mobile-wallets — plus
    the op-bnpl and op-ewallets-asia *test* targets, which a src-only search
    misses and `--all-targets` does not.

  reqwest 0.13 gates builder methods behind features
    eoc-tools needed "query"; openpay/op-tax needed "form".

  cipher 0.4 -> 0.5
    openpay/op-mobile-wallets declared aes 0.9 (cipher 0.5) while ctr 0.9 and
    aes-gcm 0.10 both sit on cipher 0.4. Aligned aes to 0.8.

  jcp-schema::Grant gained budget_funds and caveats
    mesh-core and joule-ui-interaction examples were never updated. A path
    dependency, so no lockfile change could have caused or fixed this.

Not one line of this is a behaviour change. Every fix is an import, a feature
flag, a version alignment, or two struct fields.

The finding is larger than the diff. smart-byte (47k LOC, fixed earlier today),
openpay (six separate breakages across five crates), eoc, mesh and joule-ui were
all silently broken, all by the same small set of migrations, all invisible
because nothing ever compiled them. The build gate added in this branch
currently covers three workspaces; on this evidence it should cover every one.

Verified after fixing: openpay 1935 tests pass, eoc/mesh/joule-ui build clean.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-08-26 08:34:06 -04:00

29 lines
982 B
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"
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"