liter_llm 1.2.2 → 1.4.0.pre.rc.4

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.
Files changed (69) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -19
  3. data/Steepfile +18 -0
  4. data/ext/liter_llm_rb/native/Cargo.lock +542 -183
  5. data/ext/liter_llm_rb/native/Cargo.toml +10 -23
  6. data/ext/liter_llm_rb/native/src/lib.rs +5733 -946
  7. data/ext/liter_llm_rb/native/src/liter_llm/version.rb +10 -0
  8. data/ext/liter_llm_rb/native/src/liter_llm.rb +13 -0
  9. data/lib/liter_llm.rb +0 -5
  10. data/sig/types.rbs +720 -0
  11. data/vendor/Cargo.toml +1 -1
  12. data/vendor/liter-llm/Cargo.toml +6 -1
  13. data/vendor/liter-llm/schemas/pricing.json +4213 -23
  14. data/vendor/liter-llm/src/auth/azure_ad.rs +1 -1
  15. data/vendor/liter-llm/src/auth/bedrock_sts.rs +1 -1
  16. data/vendor/liter-llm/src/auth/github_copilot.rs +1 -1
  17. data/vendor/liter-llm/src/auth/mod.rs +4 -3
  18. data/vendor/liter-llm/src/auth/vertex_oauth.rs +1 -1
  19. data/vendor/liter-llm/src/bindings.rs +98 -0
  20. data/vendor/liter-llm/src/client/config.rs +38 -2
  21. data/vendor/liter-llm/src/client/config_file.rs +1 -1
  22. data/vendor/liter-llm/src/client/managed.rs +27 -24
  23. data/vendor/liter-llm/src/client/mod.rs +230 -90
  24. data/vendor/liter-llm/src/error.rs +3 -3
  25. data/vendor/liter-llm/src/http/eventstream.rs +2 -2
  26. data/vendor/liter-llm/src/http/mod.rs +3 -3
  27. data/vendor/liter-llm/src/http/request.rs +3 -0
  28. data/vendor/liter-llm/src/http/streaming.rs +2 -2
  29. data/vendor/liter-llm/src/lib.rs +9 -4
  30. data/vendor/liter-llm/src/provider/custom.rs +3 -2
  31. data/vendor/liter-llm/src/provider/mod.rs +53 -12
  32. data/vendor/liter-llm/src/tower/budget.rs +1 -1
  33. data/vendor/liter-llm/src/tower/cache.rs +1 -1
  34. data/vendor/liter-llm/src/tower/cooldown.rs +1 -1
  35. data/vendor/liter-llm/src/tower/cost.rs +31 -25
  36. data/vendor/liter-llm/src/tower/fallback.rs +1 -1
  37. data/vendor/liter-llm/src/tower/health.rs +1 -1
  38. data/vendor/liter-llm/src/tower/hooks.rs +1 -1
  39. data/vendor/liter-llm/src/tower/rate_limit.rs +1 -1
  40. data/vendor/liter-llm/src/tower/router.rs +1 -1
  41. data/vendor/liter-llm/src/tower/service.rs +3 -3
  42. data/vendor/liter-llm/src/tower/tests.rs +12 -12
  43. data/vendor/liter-llm/src/tower/tests_common.rs +15 -12
  44. data/vendor/liter-llm/src/tower/tracing.rs +1 -1
  45. data/vendor/liter-llm/src/tower/types.rs +2 -1
  46. data/vendor/liter-llm/src/types/audio.rs +4 -4
  47. data/vendor/liter-llm/src/types/batch.rs +6 -5
  48. data/vendor/liter-llm/src/types/chat.rs +14 -16
  49. data/vendor/liter-llm/src/types/common.rs +51 -17
  50. data/vendor/liter-llm/src/types/embedding.rs +6 -0
  51. data/vendor/liter-llm/src/types/files.rs +6 -5
  52. data/vendor/liter-llm/src/types/image.rs +3 -3
  53. data/vendor/liter-llm/src/types/models.rs +2 -2
  54. data/vendor/liter-llm/src/types/moderation.rs +6 -0
  55. data/vendor/liter-llm/src/types/ocr.rs +6 -0
  56. data/vendor/liter-llm/src/types/rerank.rs +6 -0
  57. data/vendor/liter-llm/src/types/responses.rs +5 -5
  58. data/vendor/liter-llm/tests/concurrency.rs +24 -13
  59. data/vendor/liter-llm/tests/middleware_integration.rs +29 -23
  60. data/vendor/liter-llm-ffi/Cargo.toml +6 -7
  61. data/vendor/liter-llm-ffi/README.md +28 -0
  62. data/vendor/liter-llm-ffi/build.rs +6 -64
  63. data/vendor/liter-llm-ffi/cbindgen.toml +88 -52
  64. data/vendor/liter-llm-ffi/cmake/liter-llm-ffi-config.cmake +87 -0
  65. data/vendor/liter-llm-ffi/include/liter_llm.h +3357 -0
  66. data/vendor/liter-llm-ffi/src/lib.rs +8903 -2068
  67. metadata +14 -8
  68. data/ext/liter_llm_rb/native/.cargo/config.toml +0 -23
  69. data/ext/liter_llm_rb/native/build.rs +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89ca9d11b525dd82d4bd8baea58b3897e216532b87a62474ed917ba7b65d8ae1
4
- data.tar.gz: 66ed070af237507729c2076021f4a395856118f0ecdab0e301d6342db41bd6e7
3
+ metadata.gz: b3dcff0db59cc475b47f04aa9af88e248f220e766ac37445fba8a2f625edd1b3
4
+ data.tar.gz: 7197d2c43ffabd76be2101816f5eeab8dc1e1c43d7f2c2d28f5c0ba1835729b2
5
5
  SHA512:
6
- metadata.gz: 2cd4487b2e8355a6ca49fb0e6a0b6a0f76bbe7f1fb04e45547ea456c3267dd18509e0e7b8f3c166f1f6e06d55f746e713ba98f25d81c4133f28db875a94ead63
7
- data.tar.gz: c0fde715cb0a4e523f43c76841f399b5f46e622de475b531d91a272fe25feb95e4652f7d5d38c2dbc37a46dbbcd15c9d9db6615ee37b94e23b27b9c706c0761b
6
+ metadata.gz: 3a2a1e1a183b3b4fc24af9061879c8fe4c4effe2a8fb6d85f63dbe292500d4d0755bd72377b084a0da4f011afa85b819b7b591fd174d69ab20f0a3246d2f7e9c
7
+ data.tar.gz: 445ae8620e230a9ba14fe3848a354fc7c6b150ff16b15f28308d1dd04a64b1a03382b15772fc431d29f178552672835296b927a3ea998a51200e607fb9e03c95
data/README.md CHANGED
@@ -51,24 +51,20 @@
51
51
  </a>
52
52
  </div>
53
53
 
54
-
55
54
  <div align="center" style="margin: 20px 0;">
56
55
  <picture>
57
56
  <img width="100%" alt="kreuzberg.dev" src="https://github.com/user-attachments/assets/1b6c6ad7-3b6d-4171-b1c9-f2026cc9deb8" />
58
57
  </picture>
59
58
  </div>
60
59
 
61
-
62
60
  <div align="center" style="margin-bottom: 20px;">
63
61
  <a href="https://discord.gg/xt9WY3GnKR">
64
62
  <img height="22" src="https://img.shields.io/badge/Discord-Join%20our%20community-7289da?logo=discord&logoColor=white" alt="Discord">
65
63
  </a>
66
64
  </div>
67
65
 
68
-
69
66
  Universal LLM API client for Ruby. Access 143+ LLM providers through a single interface with idiomatic Ruby API and native performance.
70
67
 
71
-
72
68
  ## Installation
73
69
 
74
70
  ### Package Installation
@@ -77,7 +73,6 @@ Universal LLM API client for Ruby. Access 143+ LLM providers through a single in
77
73
  Install via one of the supported package managers:
78
74
 
79
75
 
80
-
81
76
  **gem:**
82
77
 
83
78
  ```bash
@@ -85,8 +80,6 @@ gem install liter_llm
85
80
  ```
86
81
 
87
82
 
88
-
89
-
90
83
  **Bundler:**
91
84
 
92
85
  ```ruby
@@ -94,9 +87,6 @@ gem 'liter_llm'
94
87
  ```
95
88
 
96
89
 
97
-
98
-
99
-
100
90
  ### System Requirements
101
91
 
102
92
 
@@ -104,7 +94,6 @@ gem 'liter_llm'
104
94
  - API keys via environment variables (e.g. `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`)
105
95
 
106
96
 
107
-
108
97
  ## Quick Start
109
98
 
110
99
  ### Basic Chat
@@ -127,7 +116,6 @@ response = JSON.parse(client.chat(JSON.generate(
127
116
  puts response.dig("choices", 0, "message", "content")
128
117
  ```
129
118
 
130
-
131
119
  ### Common Use Cases
132
120
 
133
121
 
@@ -152,16 +140,12 @@ chunks.each { |chunk| puts chunk }
152
140
  ```
153
141
 
154
142
 
155
-
156
-
157
-
158
143
  ### Next Steps
159
144
 
160
145
  - **[Provider Registry](https://github.com/kreuzberg-dev/liter-llm/blob/main/schemas/providers.json)** - Full list of supported providers
161
146
  - **[GitHub Repository](https://github.com/kreuzberg-dev/liter-llm)** - Source, issues, and discussions
162
147
 
163
148
 
164
-
165
149
  ## Features
166
150
 
167
151
  ### Supported Providers (143+)
@@ -208,7 +192,6 @@ Built on a compiled Rust core for speed and safety:
208
192
  - **API keys** wrapped in secure memory, zeroed on drop
209
193
 
210
194
 
211
-
212
195
  ## Provider Routing
213
196
 
214
197
  Route to 143+ providers using the `provider/model` prefix convention:
@@ -223,7 +206,6 @@ mistral/mistral-large-latest
223
206
  See the [provider registry](https://github.com/kreuzberg-dev/liter-llm/blob/main/schemas/providers.json) for the full list.
224
207
 
225
208
 
226
-
227
209
  ## Proxy Server
228
210
 
229
211
  liter-llm also ships as an OpenAI-compatible proxy server with Docker support:
@@ -234,7 +216,6 @@ docker run -p 4000:4000 -e LITER_LLM_MASTER_KEY=sk-your-key ghcr.io/kreuzberg-de
234
216
 
235
217
  See the [proxy server documentation](https://docs.liter-llm.kreuzberg.dev/server/proxy/) for configuration, CLI usage, and MCP integration.
236
218
 
237
-
238
219
  ## Documentation
239
220
 
240
221
  - **[Documentation](https://docs.liter-llm.kreuzberg.dev)** -- Full docs and API reference
data/Steepfile ADDED
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Steep configuration for the LiterLlm Ruby package.
4
+
5
+ target :lib do
6
+ signature 'sig'
7
+
8
+ check 'lib'
9
+
10
+ # Standard library used by the wrapper layer.
11
+ library 'json'
12
+
13
+ # Strategic ignores:
14
+
15
+ # 1. Native extension entry point — methods are defined in Rust via Magnus
16
+ # and cannot be resolved by Steep's static analysis.
17
+ ignore 'lib/liter_llm_rb.rb' if File.exist?('lib/liter_llm_rb.rb')
18
+ end