liter_llm 1.2.2 → 1.4.0.pre.rc.3

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 +1 -8
  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 +4207 -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: 2bae8d1d3bc19ef4e48c0d396461b0de03e7f51b64eed01119c9615087c92d62
4
+ data.tar.gz: d2a6ca942c6f42341fadb65352e1b40dc3b52a94672616e029c1ce2b2f021dd8
5
5
  SHA512:
6
- metadata.gz: 2cd4487b2e8355a6ca49fb0e6a0b6a0f76bbe7f1fb04e45547ea456c3267dd18509e0e7b8f3c166f1f6e06d55f746e713ba98f25d81c4133f28db875a94ead63
7
- data.tar.gz: c0fde715cb0a4e523f43c76841f399b5f46e622de475b531d91a272fe25feb95e4652f7d5d38c2dbc37a46dbbcd15c9d9db6615ee37b94e23b27b9c706c0761b
6
+ metadata.gz: 8e51f492dc1ea16f2d7d951614b239182d6250f9421b57f65dbe7414122297fe6bb932762ec862309422513db14ff771cd7e730cb2aa52d4835106e6d9d589dc
7
+ data.tar.gz: 9191c50c14d161a09197dcf09c856ee49c1d051e6466900c2bf6104823fc37b94f71ade79f38852da69636a48951d6266e99c24219d0c1f6ce49cdda53d87e8e
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
@@ -104,7 +100,6 @@ gem 'liter_llm'
104
100
  - API keys via environment variables (e.g. `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`)
105
101
 
106
102
 
107
-
108
103
  ## Quick Start
109
104
 
110
105
  ### Basic Chat
@@ -127,10 +122,10 @@ response = JSON.parse(client.chat(JSON.generate(
127
122
  puts response.dig("choices", 0, "message", "content")
128
123
  ```
129
124
 
130
-
131
125
  ### Common Use Cases
132
126
 
133
127
 
128
+
134
129
  #### Streaming Responses
135
130
 
136
131
  Stream tokens in real time:
@@ -154,7 +149,6 @@ chunks.each { |chunk| puts chunk }
154
149
 
155
150
 
156
151
 
157
-
158
152
  ### Next Steps
159
153
 
160
154
  - **[Provider Registry](https://github.com/kreuzberg-dev/liter-llm/blob/main/schemas/providers.json)** - Full list of supported providers
@@ -234,7 +228,6 @@ docker run -p 4000:4000 -e LITER_LLM_MASTER_KEY=sk-your-key ghcr.io/kreuzberg-de
234
228
 
235
229
  See the [proxy server documentation](https://docs.liter-llm.kreuzberg.dev/server/proxy/) for configuration, CLI usage, and MCP integration.
236
230
 
237
-
238
231
  ## Documentation
239
232
 
240
233
  - **[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