liter_llm 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +11 -0
- data/ext/liter_llm_rb/native/Cargo.toml +1 -1
- data/vendor/Cargo.toml +10 -4
- data/vendor/liter-llm/Cargo.toml +3 -3
- data/vendor/liter-llm/README.md +11 -0
- data/vendor/liter-llm/src/auth/azure_ad.rs +3 -1
- data/vendor/liter-llm/src/auth/bedrock_sts.rs +3 -1
- data/vendor/liter-llm/src/auth/vertex_oauth.rs +3 -1
- data/vendor/liter-llm-ffi/Cargo.toml +3 -3
- data/vendor/liter-llm-ffi/liter_llm.h +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bd0fb204ec361182a87bff72c133eee44d081ecbf37ce936361c631433a28817
|
|
4
|
+
data.tar.gz: a42719e7acbdd1d097a392eeb3a55c21be528e27abcfdd5d4333e541c6e8521b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d0e2aa5b9b03cf11c55535f95f9cfe78e87e496ac4b7f62a15a3408de508547cd3aa4503bee5f27ce4ce71ac7fa2ce1fdc2cb4bc8b828a5b073b5cdbdd769f96
|
|
7
|
+
data.tar.gz: 541a179bb37ecf1a3332f364d6f7fd5e7d2b8cba369e210b2e2807d64564135b58a8cb388e4ced465f57eda308782bf869f950149f07633d1c64103f307ce7ab
|
data/README.md
CHANGED
|
@@ -220,6 +220,17 @@ See the [provider registry](https://github.com/kreuzberg-dev/liter-llm/blob/main
|
|
|
220
220
|
|
|
221
221
|
|
|
222
222
|
|
|
223
|
+
## Proxy Server
|
|
224
|
+
|
|
225
|
+
liter-llm also ships as an OpenAI-compatible proxy server with Docker support:
|
|
226
|
+
|
|
227
|
+
```bash
|
|
228
|
+
docker run -p 4000:4000 -e LITER_LLM_MASTER_KEY=sk-your-key ghcr.io/kreuzberg-dev/liter-llm
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
See the [proxy server documentation](https://docs.liter-llm.kreuzberg.dev/server/proxy/) for configuration, CLI usage, and MCP integration.
|
|
232
|
+
|
|
233
|
+
|
|
223
234
|
## Documentation
|
|
224
235
|
|
|
225
236
|
- **[Documentation](https://docs.liter-llm.kreuzberg.dev)** -- Full docs and API reference
|
data/vendor/Cargo.toml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
members = ["liter-llm", "liter-llm-ffi"]
|
|
3
3
|
|
|
4
4
|
[workspace.package]
|
|
5
|
-
version = "1.
|
|
5
|
+
version = "1.1.0"
|
|
6
6
|
edition = "2024"
|
|
7
7
|
authors = ["Na'aman Hirschfeld <naaman@kreuzberg.dev>"]
|
|
8
8
|
license = "MIT"
|
|
@@ -11,9 +11,11 @@ homepage = "https://kreuzberg.dev"
|
|
|
11
11
|
|
|
12
12
|
[workspace.dependencies]
|
|
13
13
|
anyhow = "1"
|
|
14
|
+
axum = { version = "0.8", features = ["macros"] }
|
|
15
|
+
axum-extra = { version = "0.12", features = ["typed-header"] }
|
|
14
16
|
base64 = "0.22"
|
|
15
17
|
bytes = "1"
|
|
16
|
-
clap = { version = "4", features = ["derive"] }
|
|
18
|
+
clap = { version = "4", features = ["derive", "env"] }
|
|
17
19
|
dashmap = "6"
|
|
18
20
|
futures-core = "0.3"
|
|
19
21
|
futures-util = "0.3"
|
|
@@ -24,7 +26,7 @@ memchr = "2"
|
|
|
24
26
|
napi = { version = "3", features = ["napi4", "serde-json", "async"] }
|
|
25
27
|
napi-build = "2"
|
|
26
28
|
napi-derive = "3"
|
|
27
|
-
opendal = { version = "0.
|
|
29
|
+
opendal = { version = "0.55", features = ["services-memory", "services-redis", "services-fs", "services-s3"], default-features = false }
|
|
28
30
|
opentelemetry = "0.31"
|
|
29
31
|
pin-project-lite = "0.2"
|
|
30
32
|
pyo3 = { version = "0.28", features = ["abi3-py310"] }
|
|
@@ -32,7 +34,9 @@ pyo3-async-runtimes = { version = "0.28", features = ["tokio-runtime"] }
|
|
|
32
34
|
rayon = "1"
|
|
33
35
|
rb-sys = "0.9"
|
|
34
36
|
reqwest = { version = "0.13", features = ["json", "stream", "rustls", "multipart", "form"], default-features = false }
|
|
37
|
+
rmcp = { version = "1.3", features = ["server", "macros", "transport-io", "transport-streamable-http-server", "server-side-http"] }
|
|
35
38
|
rustler = "0.37"
|
|
39
|
+
schemars = "1"
|
|
36
40
|
secrecy = { version = "0.10", features = ["serde"] }
|
|
37
41
|
serde = { version = "1", features = ["derive"] }
|
|
38
42
|
serde_json = "1"
|
|
@@ -43,11 +47,13 @@ tokenizers = { version = "0.22", features = ["http", "fancy-regex"], default-fea
|
|
|
43
47
|
tokio = { version = "1", features = ["full"] }
|
|
44
48
|
toml = "1.1"
|
|
45
49
|
tower = { version = "0.5", features = ["retry", "limit", "timeout", "buffer", "load-shed", "steer", "util"] }
|
|
46
|
-
tower-http = { version = "0.6", features = ["follow-redirect", "set-header", "sensitive-headers", "trace", "request-id"] }
|
|
50
|
+
tower-http = { version = "0.6", features = ["follow-redirect", "set-header", "sensitive-headers", "trace", "request-id", "cors", "compression-gzip", "catch-panic", "limit"] }
|
|
47
51
|
tower-layer = "0.3"
|
|
48
52
|
tower-service = "0.3"
|
|
49
53
|
tracing = "0.1"
|
|
50
54
|
tracing-opentelemetry = "0.32"
|
|
55
|
+
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
|
|
56
|
+
utoipa = { version = "5.4", features = ["axum_extras"] }
|
|
51
57
|
walkdir = "2.5"
|
|
52
58
|
wasm-bindgen = "0.2"
|
|
53
59
|
wasm-bindgen-test = "0.3"
|
data/vendor/liter-llm/Cargo.toml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "liter-llm"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.1.0"
|
|
4
4
|
edition = "2024"
|
|
5
5
|
license = "MIT"
|
|
6
6
|
repository.workspace = true
|
|
@@ -71,7 +71,7 @@ futures-core = "0.3"
|
|
|
71
71
|
futures-util = { version = "0.3", optional = true }
|
|
72
72
|
jsonwebtoken = { version = "10", features = ["use_pem"], default-features = false, optional = true }
|
|
73
73
|
memchr = { version = "2", optional = true }
|
|
74
|
-
opendal = { version = "0.
|
|
74
|
+
opendal = { version = "0.55", features = ["services-memory", "services-redis", "services-fs", "services-s3"], default-features = false, optional = true }
|
|
75
75
|
opentelemetry = { version = "0.31", optional = true }
|
|
76
76
|
pin-project-lite = "0.2"
|
|
77
77
|
reqwest = { version = "0.13", features = ["json", "stream", "rustls", "multipart", "form"], default-features = false, optional = true }
|
|
@@ -83,7 +83,7 @@ tokenizers = { version = "0.22", features = ["http", "fancy-regex"], default-fea
|
|
|
83
83
|
tokio = { version = "1", features = ["time", "rt", "macros"], optional = true }
|
|
84
84
|
toml = "1.1"
|
|
85
85
|
tower = { version = "0.5", features = ["retry", "limit", "timeout", "buffer", "load-shed", "steer", "util"], optional = true }
|
|
86
|
-
tower-http = { version = "0.6", features = ["follow-redirect", "set-header", "sensitive-headers", "trace", "request-id"], optional = true }
|
|
86
|
+
tower-http = { version = "0.6", features = ["follow-redirect", "set-header", "sensitive-headers", "trace", "request-id", "cors", "compression-gzip", "catch-panic", "limit"], optional = true }
|
|
87
87
|
tracing = { version = "0.1", optional = true }
|
|
88
88
|
tracing-opentelemetry = { version = "0.32", optional = true }
|
|
89
89
|
|
data/vendor/liter-llm/README.md
CHANGED
|
@@ -233,6 +233,17 @@ See the [provider registry](https://github.com/kreuzberg-dev/liter-llm/blob/main
|
|
|
233
233
|
|
|
234
234
|
|
|
235
235
|
|
|
236
|
+
## Proxy Server
|
|
237
|
+
|
|
238
|
+
liter-llm also ships as an OpenAI-compatible proxy server with Docker support:
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
docker run -p 4000:4000 -e LITER_LLM_MASTER_KEY=sk-your-key ghcr.io/kreuzberg-dev/liter-llm
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
See the [proxy server documentation](https://docs.liter-llm.kreuzberg.dev/server/proxy/) for configuration, CLI usage, and MCP integration.
|
|
245
|
+
|
|
246
|
+
|
|
236
247
|
## Documentation
|
|
237
248
|
|
|
238
249
|
- **[Documentation](https://docs.liter-llm.kreuzberg.dev)** -- Full docs and API reference
|
|
@@ -257,7 +257,9 @@ mod tests {
|
|
|
257
257
|
#[tokio::test]
|
|
258
258
|
#[ignore] // Requires network access and valid Azure AD credentials.
|
|
259
259
|
async fn live_azure_ad_token_exchange() {
|
|
260
|
-
let provider = AzureAdCredentialProvider::from_env()
|
|
260
|
+
let Ok(provider) = AzureAdCredentialProvider::from_env() else {
|
|
261
|
+
return; // Skip when Azure AD credentials are not configured.
|
|
262
|
+
};
|
|
261
263
|
let credential = provider.resolve().await.expect("token exchange failed");
|
|
262
264
|
assert!(matches!(credential, Credential::BearerToken(_)));
|
|
263
265
|
}
|
|
@@ -346,7 +346,9 @@ mod tests {
|
|
|
346
346
|
#[tokio::test]
|
|
347
347
|
#[ignore] // Requires network access and valid AWS OIDC credentials.
|
|
348
348
|
async fn live_sts_web_identity_exchange() {
|
|
349
|
-
let provider = WebIdentityCredentialProvider::from_env()
|
|
349
|
+
let Ok(provider) = WebIdentityCredentialProvider::from_env() else {
|
|
350
|
+
return; // Skip when AWS OIDC credentials are not configured.
|
|
351
|
+
};
|
|
350
352
|
let credential = provider.resolve().await.expect("STS exchange failed");
|
|
351
353
|
assert!(matches!(credential, Credential::AwsCredentials { .. }));
|
|
352
354
|
}
|
|
@@ -346,7 +346,9 @@ mod tests {
|
|
|
346
346
|
#[tokio::test]
|
|
347
347
|
#[ignore] // Requires network access and a valid service account key file.
|
|
348
348
|
async fn live_vertex_oauth_token_exchange() {
|
|
349
|
-
let provider = VertexOAuthCredentialProvider::from_env()
|
|
349
|
+
let Ok(provider) = VertexOAuthCredentialProvider::from_env() else {
|
|
350
|
+
return; // Skip when Google credentials are not configured.
|
|
351
|
+
};
|
|
350
352
|
let credential = provider.resolve().await.expect("token exchange failed");
|
|
351
353
|
assert!(matches!(credential, Credential::BearerToken(_)));
|
|
352
354
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "liter-llm-ffi"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.1.0"
|
|
4
4
|
edition = "2024"
|
|
5
5
|
license = "MIT"
|
|
6
6
|
repository.workspace = true
|
|
@@ -20,8 +20,8 @@ default = []
|
|
|
20
20
|
base64.workspace = true
|
|
21
21
|
bytes.workspace = true
|
|
22
22
|
futures-core.workspace = true
|
|
23
|
-
liter-llm = { path = "../liter-llm", version = "1.
|
|
24
|
-
liter-llm-bindings-core = { path = "../liter-llm-bindings-core", version = "1.
|
|
23
|
+
liter-llm = { path = "../liter-llm", version = "1.1.0", features = ["full"] }
|
|
24
|
+
liter-llm-bindings-core = { path = "../liter-llm-bindings-core", version = "1.1.0" }
|
|
25
25
|
serde.workspace = true
|
|
26
26
|
serde_json.workspace = true
|
|
27
27
|
tokio.workspace = true
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */
|
|
9
9
|
|
|
10
10
|
#define LITER_LLM_VERSION_MAJOR 1
|
|
11
|
-
#define LITER_LLM_VERSION_MINOR
|
|
11
|
+
#define LITER_LLM_VERSION_MINOR 1
|
|
12
12
|
#define LITER_LLM_VERSION_PATCH 0
|
|
13
|
-
#define LITER_LLM_VERSION "1.
|
|
13
|
+
#define LITER_LLM_VERSION "1.1.0"
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
#include <stdarg.h>
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: liter_llm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Na'aman Hirschfeld
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-03-
|
|
11
|
+
date: 2026-03-29 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rb_sys
|