mirror of
https://github.com/katanemo/plano.git
synced 2026-05-10 16:22:42 +02:00
Some checks failed
CI / pre-commit (push) Has been cancelled
CI / plano-tools-tests (push) Has been cancelled
CI / native-smoke-test (push) Has been cancelled
CI / docker-build (push) Has been cancelled
CI / validate-config (push) Has been cancelled
Publish docker image (latest) / build-arm64 (push) Has been cancelled
Publish docker image (latest) / build-amd64 (push) Has been cancelled
Build and Deploy Documentation / build (push) Has been cancelled
CI / security-scan (push) Has been cancelled
CI / test-prompt-gateway (push) Has been cancelled
CI / test-model-alias-routing (push) Has been cancelled
CI / test-responses-api-with-state (push) Has been cancelled
CI / e2e-plano-tests (3.10) (push) Has been cancelled
CI / e2e-plano-tests (3.11) (push) Has been cancelled
CI / e2e-plano-tests (3.12) (push) Has been cancelled
CI / e2e-plano-tests (3.13) (push) Has been cancelled
CI / e2e-plano-tests (3.14) (push) Has been cancelled
CI / e2e-demo-preference (push) Has been cancelled
CI / e2e-demo-currency (push) Has been cancelled
Publish docker image (latest) / create-manifest (push) Has been cancelled
* add pluggable session cache with Redis backend
* add Redis session affinity demos (Docker Compose and Kubernetes)
* address PR review feedback on session cache
* document Redis session cache backend for model affinity
* sync rendered config reference with session_cache addition
* add tenant-scoped Redis session cache keys and remove dead log_affinity_hit
- Add tenant_header to SessionCacheConfig; when set, cache keys are scoped
as plano:affinity:{tenant_id}:{session_id} for multi-tenant isolation
- Thread tenant_id through RouterService, routing_service, and llm handlers
- Use Cow<'_, str> in session_key to avoid allocation when no tenant is set
- Remove unused log_affinity_hit (logging was already inlined at call sites)
* remove session_affinity_redis and session_affinity_redis_k8s demos
52 lines
1.6 KiB
TOML
52 lines
1.6 KiB
TOML
[package]
|
|
name = "brightstaff"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
async-openai = "0.30.1"
|
|
async-trait = "0.1"
|
|
bytes = "1.10.1"
|
|
chrono = "0.4"
|
|
common = { version = "0.1.0", path = "../common" }
|
|
eventsource-client = "0.15.0"
|
|
eventsource-stream = "0.2.3"
|
|
flate2 = "1.0"
|
|
futures = "0.3.31"
|
|
futures-util = "0.3.31"
|
|
hermesllm = { version = "0.1.0", path = "../hermesllm" }
|
|
http-body = "1.0.1"
|
|
http-body-util = "0.1.3"
|
|
hyper = { version = "1.6.0", features = ["full"] }
|
|
hyper-util = "0.1.11"
|
|
opentelemetry = "0.31"
|
|
opentelemetry-http = "0.31"
|
|
opentelemetry-otlp = {version="0.31", features=["trace", "grpc-tonic"]}
|
|
opentelemetry-stdout = "0.31"
|
|
opentelemetry_sdk = { version = "0.31", features = ["rt-tokio"] }
|
|
pretty_assertions = "1.4.1"
|
|
rand = "0.9.2"
|
|
lru = "0.12"
|
|
redis = { version = "0.27", features = ["tokio-comp"] }
|
|
reqwest = { version = "0.12.15", features = ["stream"] }
|
|
serde = { version = "1.0.219", features = ["derive"] }
|
|
serde_json = "1.0.140"
|
|
serde_with = "3.13.0"
|
|
strsim = "0.11"
|
|
serde_yaml = "0.9.34"
|
|
thiserror = "2.0.12"
|
|
tokio = { version = "1.44.2", features = ["full"] }
|
|
tokio-postgres = { version = "0.7", features = ["with-serde_json-1"] }
|
|
tokio-stream = "0.1"
|
|
time = { version = "0.3", features = ["formatting", "macros"] }
|
|
tracing = "0.1"
|
|
tracing-opentelemetry = "0.32.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
uuid = { version = "1.0", features = ["v4", "serde"] }
|
|
|
|
[dev-dependencies]
|
|
mockito = "1.0"
|
|
tokio-stream = "0.1.17"
|
|
tracing = "0.1.41"
|
|
tracing-opentelemetry = "0.32.1"
|
|
tracing-subscriber = { version = "0.3.19", features = ["env-filter", "fmt", "time"] }
|