[package] name = "mxaccess-galaxy" description = "Galaxy Repository SQL resolver: tag → metadata, user → identity. Resolves tag_name-form input only (see design/30-crate-topology.md)." version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true authors.workspace = true [dependencies] mxaccess-codec = { path = "../mxaccess-codec", version = "0.0.0" } async-trait = { workspace = true } thiserror = { workspace = true } uuid = "1" # F14 — tiberius-backed SQL resolver. Optional, gated by `galaxy-resolver` # so the default footprint stays slim (no TDS / TLS / winauth pulled when # consumers plug their own Resolver impl). tokio-util's `compat` feature # bridges `tokio::net::TcpStream` to the futures-rs AsyncRead/Write that # tiberius expects. `futures-util::TryStreamExt` is needed to drain the # QueryStream rows. tiberius = { version = "0.12", default-features = false, features = ["tds73", "rustls", "winauth"], optional = true } tokio = { workspace = true, optional = true } tokio-util = { version = "0.7", features = ["compat"], optional = true } futures-util = { workspace = true, optional = true } [dev-dependencies] tokio = { workspace = true } [features] default = [] # `galaxy-resolver` (off by default in M0) pulls `tiberius`. Consumers using a # custom `Resolver` impl leave it off and avoid pulling TDS / native-tls / # winauth. Per design/30-crate-topology.md `mxaccess-galaxy` section. galaxy-resolver = ["dep:tiberius", "dep:tokio", "dep:tokio-util", "dep:futures-util"] # Enables live integration tests that hit a real SQL Server (typically the # Galaxy DB on the local AVEVA install). Driven by `MX_LIVE` + `MX_GALAXY_DB` # env vars, populated by `tools/Setup-LiveProbeEnv.ps1`. live = ["galaxy-resolver"] auth-windows = [] [lints] workspace = true