`transport.rs` の HTTP 送信〜ステータスチェック区間に指数バックオフ + フルジッターのリトライループを追加する。SSE 読み出し開始後 ( `bytes_stream()` 以降) のエラーは従来どおりそのまま流す。 - `is_retryable(&ClientError)`: 408/425/429/500/502/503/504/529 と reqwest の connect/timeout のみ true - `RetryPolicy` (default: base 500ms / cap 10s / max_attempts 4 / total_timeout 30s) - `Retry-After` ヘッダ (秒数) があればバックオフを上書き - リトライ発火ごとに warn! でステータス・attempt・wait を出す ref: tickets/llm-worker-transient-retry.md
29 lines
934 B
TOML
29 lines
934 B
TOML
[package]
|
|
name = "llm-worker"
|
|
description = "A library for building autonomous LLM-powered systems"
|
|
version = "0.2.1"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[dependencies]
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tracing = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
futures = { workspace = true }
|
|
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
|
|
tokio-util = "0.7"
|
|
reqwest = { version = "0.13", default-features = false, features = ["stream", "json", "native-tls", "http2"] }
|
|
eventsource-stream = "0.2"
|
|
llm-worker-macros = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
clap = { version = "4.5", features = ["derive", "env"] }
|
|
schemars = { workspace = true }
|
|
tempfile = { workspace = true }
|
|
dotenv = "0.15"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
trybuild = "1.0.116"
|
|
wiremock = "0.6.5"
|