Files
anyllm-proxy/docs/dependencies.md
T
whit3rabbitandClaude Sonnet 4.6 f1df50ff37 refactor: extract shared client crate and rename to anyllm_*
Introduce `anyllm_client` crate containing HTTP client construction,
SSRF-safe DNS resolver, retry/backoff logic, rate limit header parsing,
and SSE frame parsing. These were previously inlined in the proxy crate.

Rename crates from `anthropic_openai_proxy`/`anthropic_openai_translate`
to `anyllm_proxy`/`anyllm_translate` throughout.

proxy/backend: now re-exports retry, rate limit, and SSE symbols from
the client crate; `send_with_retry` and `build_http_client` are thin
adapters bridging BackendAuth/TlsConfig to the client crate's types.

streaming: remove duplicate `find_double_newline` and
`MAX_SSE_BUFFER_SIZE` definitions; import from `crate::backend` instead.

Fix missing `pub mod` declarations in translator and proxy that were
accidentally replaced by doc comments (streaming, usage_map, server,
redact).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 06:11:01 -05:00

46 lines
1.5 KiB
Markdown

# Dependency Versions
## Translator Crate (`anyllm_translate`)
| Dependency | Version | Features | Purpose |
|---|---|---|---|
| serde | 1.x | derive | Serialization/deserialization |
| serde_json | 1.x | - | JSON handling |
| thiserror | 2.x | - | Error derive macros |
| uuid | 1.x | v4 | ID generation |
### Dev Dependencies
| Dependency | Version | Purpose |
|---|---|---|
| pretty_assertions | 1.x | Readable test diffs |
## Proxy Crate (`anyllm_proxy`)
| Dependency | Version | Features | Purpose |
|---|---|---|---|
| anyllm_translate | path | - | Translation logic |
| axum | 0.8 | - | HTTP server framework |
| tokio | 1.x | full | Async runtime |
| reqwest | 0.12 | json, stream | HTTP client |
| serde | 1.x | derive | Serialization |
| serde_json | 1.x | - | JSON handling |
| futures | 0.3 | - | Stream combinators |
| tokio-stream | 0.1 | - | Stream wrappers |
| tower | 0.5 | limit | Middleware (concurrency limits) |
| tracing | 0.1 | - | Structured logging |
| tracing-subscriber | 0.3 | env-filter, json | Log formatting |
| uuid | 1.x | v4 | Request ID generation |
### Dev Dependencies
| Dependency | Version | Purpose |
|---|---|---|
| pretty_assertions | 1.x | Readable test diffs |
| reqwest | 0.12 | Integration test HTTP client |
| tokio | 1.x | Integration test runtime |
## Version Policy
- All dependencies use caret ranges (e.g., `"1"` means `>=1.0.0, <2.0.0`).
- No pinned versions; Cargo.lock (not committed) handles exact resolution.
- Minimum Rust edition: 2021.