gitdataai/libs/service/Cargo.toml
ZhenYi 3de4fff11d
Some checks are pending
CI / Rust Lint & Check (push) Waiting to run
CI / Rust Tests (push) Waiting to run
CI / Frontend Lint & Type Check (push) Waiting to run
CI / Frontend Build (push) Blocked by required conditions
feat(service): improve model sync and harden git HTTP/SSH stability
Model sync:
- Filter OpenRouter models by what the user's AI client can actually access,
  before upserting metadata (avoids bloating with inaccessible models).
- Fall back to direct endpoint sync when no OpenRouter metadata matches
  (handles Bailian/MiniMax and other non-OpenRouter providers).

Git stability fixes:
- SSH: add 5s timeout on stdin flush/shutdown in channel_eof and
  cleanup_channel to prevent blocking the event loop on unresponsive git.
- SSH: remove dbg!() calls from production code paths.
- HTTP auth: pass proper Logger to SshAuthService instead of discarding
  all auth events to slog::Discard.

Dependencies:
- reqwest: add native-tls feature for HTTPS on Windows/Linux/macOS.
2026-04-17 00:13:40 +08:00

60 lines
1.8 KiB
TOML

[package]
name = "service"
version.workspace = true
edition.workspace = true
authors.workspace = true
description.workspace = true
repository.workspace = true
readme.workspace = true
homepage.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
documentation.workspace = true
[lib]
path = "lib.rs"
name = "service"
[dependencies]
config = { workspace = true }
agent = { workspace = true }
db = { workspace = true }
models = { workspace = true }
email = { workspace = true }
avatar = { workspace = true }
git = { workspace = true }
git2 = { workspace = true }
queue = { workspace = true }
room = { workspace = true }
anyhow = { workspace = true }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = [] }
slog = { workspace = true, features = ["anyhow"] }
captcha-rs = { workspace = true }
utoipa = { workspace = true, features = ["uuid", "chrono"] }
chrono = { workspace = true, features = ["serde"] }
session = { workspace = true }
argon2 = { workspace = true }
uuid = { workspace = true, features = ["serde", "v7"] }
sea-orm = { workspace = true, features = [] }
async-openai = { version = "0.34.0", features = ["chat-completion"] }
reqwest = { workspace = true, features = ["json", "native-tls"] }
base64 = { workspace = true }
rsa = { workspace = true }
rand = { workspace = true }
hex = { workspace = true }
sha2 = { workspace = true }
hmac = { workspace = true }
sha1 = { workspace = true }
redis = { workspace = true }
tokio = { workspace = true, features = ["rt", "rt-multi-thread"] }
tracing = { workspace = true }
tokio-stream = { workspace = true }
futures = { workspace = true }
deadpool-redis = { workspace = true, features = ["rt_tokio_1", "cluster-async", "cluster"] }
moka = { workspace = true, features = ["future"] }
rust_decimal = { workspace = true }
[lints]
workspace = true