liter_llm 1.9.3-aarch64-linux → 1.11.0-aarch64-linux
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 +7 -7
- data/lib/liter_llm/native.rb +75 -96
- data/lib/liter_llm/version.rb +2 -2
- data/lib/liter_llm.rb +1 -1
- data/lib/liter_llm_rb.so +0 -0
- data/sig/types.rbs +648 -586
- metadata +2 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 20faa8336a22bf266be00859a78678f4ba05091e33442c2d072d3e2c27a25b29
|
|
4
|
+
data.tar.gz: 8f001da72950e9355dd8fc2af0e01c52f84cbc53e170617ca29a04fa06f63310
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4688f29c9c6d098772b6293bce03e48b86870b9b955dfff0784517bd01963680659bebb72692d0ed7e4bc0181603fe22c79c4fc572b7af9789f9824ccd315e73
|
|
7
|
+
data.tar.gz: fdfc89757f84abafa56398d3e96a69309fe3299dd6965006062d601e05425ee157f1a0e256617b8df37f0e176a8aae4a0aaa9d83dde1e542ad31d92dbcf66f21
|
data/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<div align="center" style="display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 20px 0">
|
|
11
11
|
<!-- Built with -->
|
|
12
12
|
<a href="https://github.com/xberg-io/alef">
|
|
13
|
-
<img src="https://img.shields.io/badge/
|
|
13
|
+
<img src="https://img.shields.io/badge/built%20with-alef%20%D7%90-007ec6" alt="Built with alef" />
|
|
14
14
|
</a>
|
|
15
15
|
<!-- Language Bindings -->
|
|
16
16
|
<a href="https://crates.io/crates/liter-llm">
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
</a>
|
|
80
80
|
</div>
|
|
81
81
|
|
|
82
|
-
Universal LLM API client for Ruby. Access
|
|
82
|
+
Universal LLM API client for Ruby. Access 165 LLM providers through a single interface with idiomatic Ruby API and native performance.
|
|
83
83
|
|
|
84
84
|
## What This Package Provides
|
|
85
85
|
|
|
@@ -168,7 +168,7 @@ puts
|
|
|
168
168
|
|
|
169
169
|
## Features
|
|
170
170
|
|
|
171
|
-
### Supported Providers (
|
|
171
|
+
### Supported Providers (165)
|
|
172
172
|
|
|
173
173
|
Route to any provider using the `provider/model` prefix convention:
|
|
174
174
|
|
|
@@ -188,7 +188,7 @@ Route to any provider using the `provider/model` prefix convention:
|
|
|
188
188
|
|
|
189
189
|
### Key Capabilities
|
|
190
190
|
|
|
191
|
-
- **Provider Routing** -- Single client for
|
|
191
|
+
- **Provider Routing** -- Single client for 165 LLM providers via `provider/model` prefix
|
|
192
192
|
- **Local LLMs** — Connect to locally-hosted models via Ollama, LM Studio, vLLM, llama.cpp, and other local inference servers
|
|
193
193
|
- **Unified API** -- Consistent `chat`, `chat_stream`, `embeddings`, `list_models` interface
|
|
194
194
|
- **Streaming** -- Real-time token streaming via `chat_stream`
|
|
@@ -209,7 +209,7 @@ Built on a compiled Rust core for speed and safety:
|
|
|
209
209
|
|
|
210
210
|
## Provider Routing
|
|
211
211
|
|
|
212
|
-
Route to
|
|
212
|
+
Route to 165 providers using the `provider/model` prefix convention:
|
|
213
213
|
|
|
214
214
|
```text
|
|
215
215
|
openai/gpt-4o
|
|
@@ -244,7 +244,7 @@ To use the MCP server inside a coding agent, install the **liter-llm plugin** fr
|
|
|
244
244
|
|
|
245
245
|
- **[Documentation](https://docs.liter-llm.xberg.io)** -- Full docs and API reference
|
|
246
246
|
- **[GitHub Repository](https://github.com/xberg-io/liter-llm)** -- Source, issues, and discussions
|
|
247
|
-
- **[Provider Registry](https://github.com/xberg-io/liter-llm/blob/main/schemas/providers.json)** --
|
|
247
|
+
- **[Provider Registry](https://github.com/xberg-io/liter-llm/blob/main/schemas/providers.json)** -- 165 supported providers
|
|
248
248
|
|
|
249
249
|
## Part of Xberg.io
|
|
250
250
|
|
|
@@ -252,7 +252,7 @@ To use the MCP server inside a coding agent, install the **liter-llm plugin** fr
|
|
|
252
252
|
- [Xberg Enterprise](https://github.com/xberg-io/xberg-enterprise) — managed extraction API with SDKs, dashboards, and observability.
|
|
253
253
|
- [crawlberg](https://github.com/xberg-io/crawlberg) — web crawling and scraping with HTML→Markdown and headless-Chrome fallback.
|
|
254
254
|
- [html-to-markdown](https://github.com/xberg-io/html-to-markdown) — fast, lossless HTML→Markdown engine.
|
|
255
|
-
- [liter-llm](https://github.com/xberg-io/liter-llm) — universal LLM API client with native bindings for 14 languages and
|
|
255
|
+
- [liter-llm](https://github.com/xberg-io/liter-llm) — universal LLM API client with native bindings for 14 languages and 165 providers.
|
|
256
256
|
- [tree-sitter-language-pack](https://github.com/xberg-io/tree-sitter-language-pack) — tree-sitter grammars and code-intelligence primitives.
|
|
257
257
|
- [alef](https://github.com/xberg-io/alef) — the polyglot binding generator that produces every per-language binding across the 5 polyglot repos.
|
|
258
258
|
- [Discord](https://discord.gg/xt9WY3GnKR) — community, roadmap, announcements.
|
data/lib/liter_llm/native.rb
CHANGED
|
@@ -1,13 +1,39 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:c7947a41084f71e69944233535fbeda5cd13b37144078f1895b6b57a7802d3fe
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify --exit-code
|
|
5
5
|
# frozen_string_literal: true
|
|
6
6
|
|
|
7
7
|
require "json"
|
|
8
8
|
require "sorbet-runtime"
|
|
9
|
-
require "
|
|
9
|
+
require "rbconfig"
|
|
10
|
+
|
|
11
|
+
extension_name = "liter_llm_rb"
|
|
12
|
+
# Ruby may expose more than one shared-library extension via DLEXT/DLEXT2.
|
|
13
|
+
dlexts = [RbConfig::CONFIG["DLEXT"], RbConfig::CONFIG["DLEXT2"]].compact.uniq
|
|
14
|
+
ruby_abi = RbConfig::CONFIG.fetch("ruby_version")
|
|
15
|
+
|
|
16
|
+
library_candidates = dlexts.flat_map do |dlext|
|
|
17
|
+
[
|
|
18
|
+
File.join(__dir__, "..", extension_name, ruby_abi, "#{extension_name}.#{dlext}"),
|
|
19
|
+
File.join(__dir__, "..", extension_name, ruby_abi, "lib#{extension_name}.#{dlext}"),
|
|
20
|
+
File.join(__dir__, "..", "#{extension_name}.#{dlext}"),
|
|
21
|
+
File.join(__dir__, "..", "lib#{extension_name}.#{dlext}"),
|
|
22
|
+
]
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
expanded_candidates = library_candidates.map { |path| File.expand_path(path) }
|
|
26
|
+
native_extension = expanded_candidates.find { |path| File.file?(path) }
|
|
27
|
+
|
|
28
|
+
unless native_extension
|
|
29
|
+
raise(
|
|
30
|
+
LoadError,
|
|
31
|
+
"cannot find #{extension_name} native extension for Ruby ABI #{ruby_abi}; " \
|
|
32
|
+
"searched: #{expanded_candidates.join(", ")}"
|
|
33
|
+
)
|
|
34
|
+
end
|
|
10
35
|
|
|
36
|
+
require native_extension
|
|
11
37
|
module LiterLlm
|
|
12
38
|
# A chat message in a conversation.
|
|
13
39
|
module Message
|
|
@@ -23,20 +49,13 @@ module LiterLlm
|
|
|
23
49
|
def self.from_hash(hash)
|
|
24
50
|
discriminator = hash[:role] || hash["role"]
|
|
25
51
|
case discriminator
|
|
26
|
-
when "system"
|
|
27
|
-
|
|
28
|
-
when "
|
|
29
|
-
|
|
30
|
-
when "
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
MessageTool.from_hash(hash)
|
|
34
|
-
when "developer"
|
|
35
|
-
MessageDeveloper.from_hash(hash)
|
|
36
|
-
when "function"
|
|
37
|
-
MessageFunction.from_hash(hash)
|
|
38
|
-
else
|
|
39
|
-
raise "Unknown discriminator: #{discriminator}"
|
|
52
|
+
when "system" then MessageSystem.from_hash(hash)
|
|
53
|
+
when "user" then MessageUser.from_hash(hash)
|
|
54
|
+
when "assistant" then MessageAssistant.from_hash(hash)
|
|
55
|
+
when "tool" then MessageTool.from_hash(hash)
|
|
56
|
+
when "developer" then MessageDeveloper.from_hash(hash)
|
|
57
|
+
when "function" then MessageFunction.from_hash(hash)
|
|
58
|
+
else raise "Unknown discriminator: #{discriminator}"
|
|
40
59
|
end
|
|
41
60
|
end
|
|
42
61
|
end
|
|
@@ -47,8 +66,7 @@ module LiterLlm
|
|
|
47
66
|
|
|
48
67
|
# @return [SystemMessage]
|
|
49
68
|
sig { returns(SystemMessage) }
|
|
50
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
51
|
-
def value = super
|
|
69
|
+
def value = super # rubocop:disable Lint/UselessMethodDefinition
|
|
52
70
|
sig { returns(T::Boolean) }
|
|
53
71
|
def system? = true
|
|
54
72
|
sig { returns(T::Boolean) }
|
|
@@ -75,8 +93,7 @@ module LiterLlm
|
|
|
75
93
|
|
|
76
94
|
# @return [UserMessage]
|
|
77
95
|
sig { returns(UserMessage) }
|
|
78
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
79
|
-
def value = super
|
|
96
|
+
def value = super # rubocop:disable Lint/UselessMethodDefinition
|
|
80
97
|
sig { returns(T::Boolean) }
|
|
81
98
|
def system? = false
|
|
82
99
|
sig { returns(T::Boolean) }
|
|
@@ -103,8 +120,7 @@ module LiterLlm
|
|
|
103
120
|
|
|
104
121
|
# @return [AssistantMessage]
|
|
105
122
|
sig { returns(AssistantMessage) }
|
|
106
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
107
|
-
def value = super
|
|
123
|
+
def value = super # rubocop:disable Lint/UselessMethodDefinition
|
|
108
124
|
sig { returns(T::Boolean) }
|
|
109
125
|
def system? = false
|
|
110
126
|
sig { returns(T::Boolean) }
|
|
@@ -131,8 +147,7 @@ module LiterLlm
|
|
|
131
147
|
|
|
132
148
|
# @return [ToolMessage]
|
|
133
149
|
sig { returns(ToolMessage) }
|
|
134
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
135
|
-
def value = super
|
|
150
|
+
def value = super # rubocop:disable Lint/UselessMethodDefinition
|
|
136
151
|
sig { returns(T::Boolean) }
|
|
137
152
|
def system? = false
|
|
138
153
|
sig { returns(T::Boolean) }
|
|
@@ -159,8 +174,7 @@ module LiterLlm
|
|
|
159
174
|
|
|
160
175
|
# @return [DeveloperMessage]
|
|
161
176
|
sig { returns(DeveloperMessage) }
|
|
162
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
163
|
-
def value = super
|
|
177
|
+
def value = super # rubocop:disable Lint/UselessMethodDefinition
|
|
164
178
|
sig { returns(T::Boolean) }
|
|
165
179
|
def system? = false
|
|
166
180
|
sig { returns(T::Boolean) }
|
|
@@ -187,8 +201,7 @@ module LiterLlm
|
|
|
187
201
|
|
|
188
202
|
# @return [FunctionMessage]
|
|
189
203
|
sig { returns(FunctionMessage) }
|
|
190
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
191
|
-
def value = super
|
|
204
|
+
def value = super # rubocop:disable Lint/UselessMethodDefinition
|
|
192
205
|
sig { returns(T::Boolean) }
|
|
193
206
|
def system? = false
|
|
194
207
|
sig { returns(T::Boolean) }
|
|
@@ -225,16 +238,11 @@ module LiterLlm
|
|
|
225
238
|
def self.from_hash(hash)
|
|
226
239
|
discriminator = hash[:type] || hash["type"]
|
|
227
240
|
case discriminator
|
|
228
|
-
when "text"
|
|
229
|
-
|
|
230
|
-
when "
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
ContentPartDocument.from_hash(hash)
|
|
234
|
-
when "input_audio"
|
|
235
|
-
ContentPartInputAudio.from_hash(hash)
|
|
236
|
-
else
|
|
237
|
-
raise "Unknown discriminator: #{discriminator}"
|
|
241
|
+
when "text" then ContentPartText.from_hash(hash)
|
|
242
|
+
when "image_url" then ContentPartImageUrl.from_hash(hash)
|
|
243
|
+
when "document" then ContentPartDocument.from_hash(hash)
|
|
244
|
+
when "input_audio" then ContentPartInputAudio.from_hash(hash)
|
|
245
|
+
else raise "Unknown discriminator: #{discriminator}"
|
|
238
246
|
end
|
|
239
247
|
end
|
|
240
248
|
end
|
|
@@ -245,8 +253,7 @@ module LiterLlm
|
|
|
245
253
|
|
|
246
254
|
# @return [String]
|
|
247
255
|
sig { returns(String) }
|
|
248
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
249
|
-
def text = super
|
|
256
|
+
def text = super # rubocop:disable Lint/UselessMethodDefinition
|
|
250
257
|
sig { returns(T::Boolean) }
|
|
251
258
|
def text? = true
|
|
252
259
|
sig { returns(T::Boolean) }
|
|
@@ -269,8 +276,7 @@ module LiterLlm
|
|
|
269
276
|
|
|
270
277
|
# @return [ImageUrl]
|
|
271
278
|
sig { returns(ImageUrl) }
|
|
272
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
273
|
-
def image_url = super
|
|
279
|
+
def image_url = super # rubocop:disable Lint/UselessMethodDefinition
|
|
274
280
|
sig { returns(T::Boolean) }
|
|
275
281
|
def text? = false
|
|
276
282
|
sig { returns(T::Boolean) }
|
|
@@ -293,8 +299,7 @@ module LiterLlm
|
|
|
293
299
|
|
|
294
300
|
# @return [DocumentContent]
|
|
295
301
|
sig { returns(DocumentContent) }
|
|
296
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
297
|
-
def document = super
|
|
302
|
+
def document = super # rubocop:disable Lint/UselessMethodDefinition
|
|
298
303
|
sig { returns(T::Boolean) }
|
|
299
304
|
def text? = false
|
|
300
305
|
sig { returns(T::Boolean) }
|
|
@@ -317,8 +322,7 @@ module LiterLlm
|
|
|
317
322
|
|
|
318
323
|
# @return [AudioContent]
|
|
319
324
|
sig { returns(AudioContent) }
|
|
320
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
321
|
-
def input_audio = super
|
|
325
|
+
def input_audio = super # rubocop:disable Lint/UselessMethodDefinition
|
|
322
326
|
sig { returns(T::Boolean) }
|
|
323
327
|
def text? = false
|
|
324
328
|
sig { returns(T::Boolean) }
|
|
@@ -354,16 +358,11 @@ module LiterLlm
|
|
|
354
358
|
def self.from_hash(hash)
|
|
355
359
|
discriminator = hash[:type] || hash["type"]
|
|
356
360
|
case discriminator
|
|
357
|
-
when "text"
|
|
358
|
-
|
|
359
|
-
when "
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
AssistantPartOutputImage.from_hash(hash)
|
|
363
|
-
when "output_audio"
|
|
364
|
-
AssistantPartOutputAudio.from_hash(hash)
|
|
365
|
-
else
|
|
366
|
-
raise "Unknown discriminator: #{discriminator}"
|
|
361
|
+
when "text" then AssistantPartText.from_hash(hash)
|
|
362
|
+
when "refusal" then AssistantPartRefusal.from_hash(hash)
|
|
363
|
+
when "output_image" then AssistantPartOutputImage.from_hash(hash)
|
|
364
|
+
when "output_audio" then AssistantPartOutputAudio.from_hash(hash)
|
|
365
|
+
else raise "Unknown discriminator: #{discriminator}"
|
|
367
366
|
end
|
|
368
367
|
end
|
|
369
368
|
end
|
|
@@ -374,8 +373,7 @@ module LiterLlm
|
|
|
374
373
|
|
|
375
374
|
# The text content of this part.
|
|
376
375
|
sig { returns(String) }
|
|
377
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
378
|
-
def text = super
|
|
376
|
+
def text = super # rubocop:disable Lint/UselessMethodDefinition
|
|
379
377
|
sig { returns(T::Boolean) }
|
|
380
378
|
def text? = true
|
|
381
379
|
sig { returns(T::Boolean) }
|
|
@@ -398,8 +396,7 @@ module LiterLlm
|
|
|
398
396
|
|
|
399
397
|
# The refusal reason.
|
|
400
398
|
sig { returns(String) }
|
|
401
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
402
|
-
def refusal = super
|
|
399
|
+
def refusal = super # rubocop:disable Lint/UselessMethodDefinition
|
|
403
400
|
sig { returns(T::Boolean) }
|
|
404
401
|
def text? = false
|
|
405
402
|
sig { returns(T::Boolean) }
|
|
@@ -422,8 +419,7 @@ module LiterLlm
|
|
|
422
419
|
|
|
423
420
|
# Image URL or data URI referencing the generated image.
|
|
424
421
|
sig { returns(ImageUrl) }
|
|
425
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
426
|
-
def image_url = super
|
|
422
|
+
def image_url = super # rubocop:disable Lint/UselessMethodDefinition
|
|
427
423
|
sig { returns(T::Boolean) }
|
|
428
424
|
def text? = false
|
|
429
425
|
sig { returns(T::Boolean) }
|
|
@@ -446,8 +442,7 @@ module LiterLlm
|
|
|
446
442
|
|
|
447
443
|
# Base64-encoded audio data and its format.
|
|
448
444
|
sig { returns(AudioContent) }
|
|
449
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
450
|
-
def audio = super
|
|
445
|
+
def audio = super # rubocop:disable Lint/UselessMethodDefinition
|
|
451
446
|
sig { returns(T::Boolean) }
|
|
452
447
|
def text? = false
|
|
453
448
|
sig { returns(T::Boolean) }
|
|
@@ -495,14 +490,10 @@ module LiterLlm
|
|
|
495
490
|
def self.from_hash(hash)
|
|
496
491
|
discriminator = hash[:type] || hash["type"]
|
|
497
492
|
case discriminator
|
|
498
|
-
when "text"
|
|
499
|
-
|
|
500
|
-
when "
|
|
501
|
-
|
|
502
|
-
when "json_schema"
|
|
503
|
-
ResponseFormatJsonSchema.from_hash(hash)
|
|
504
|
-
else
|
|
505
|
-
raise "Unknown discriminator: #{discriminator}"
|
|
493
|
+
when "text" then ResponseFormatText.from_hash(hash)
|
|
494
|
+
when "json_object" then ResponseFormatJsonObject.from_hash(hash)
|
|
495
|
+
when "json_schema" then ResponseFormatJsonSchema.from_hash(hash)
|
|
496
|
+
else raise "Unknown discriminator: #{discriminator}"
|
|
506
497
|
end
|
|
507
498
|
end
|
|
508
499
|
end
|
|
@@ -549,8 +540,7 @@ module LiterLlm
|
|
|
549
540
|
|
|
550
541
|
# @return [JsonSchemaFormat]
|
|
551
542
|
sig { returns(JsonSchemaFormat) }
|
|
552
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
553
|
-
def json_schema = super
|
|
543
|
+
def json_schema = super # rubocop:disable Lint/UselessMethodDefinition
|
|
554
544
|
sig { returns(T::Boolean) }
|
|
555
545
|
def text? = false
|
|
556
546
|
sig { returns(T::Boolean) }
|
|
@@ -581,12 +571,9 @@ module LiterLlm
|
|
|
581
571
|
def self.from_hash(hash)
|
|
582
572
|
discriminator = hash[:type] || hash["type"]
|
|
583
573
|
case discriminator
|
|
584
|
-
when "document_url"
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
OcrDocumentBase64.from_hash(hash)
|
|
588
|
-
else
|
|
589
|
-
raise "Unknown discriminator: #{discriminator}"
|
|
574
|
+
when "document_url" then OcrDocumentUrl.from_hash(hash)
|
|
575
|
+
when "base64" then OcrDocumentBase64.from_hash(hash)
|
|
576
|
+
else raise "Unknown discriminator: #{discriminator}"
|
|
590
577
|
end
|
|
591
578
|
end
|
|
592
579
|
end
|
|
@@ -597,8 +584,7 @@ module LiterLlm
|
|
|
597
584
|
|
|
598
585
|
# The document URL (HTTP/HTTPS).
|
|
599
586
|
sig { returns(String) }
|
|
600
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
601
|
-
def url = super
|
|
587
|
+
def url = super # rubocop:disable Lint/UselessMethodDefinition
|
|
602
588
|
sig { returns(T::Boolean) }
|
|
603
589
|
def url? = true
|
|
604
590
|
sig { returns(T::Boolean) }
|
|
@@ -617,12 +603,10 @@ module LiterLlm
|
|
|
617
603
|
|
|
618
604
|
# Base64-encoded document content.
|
|
619
605
|
sig { returns(String) }
|
|
620
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
621
|
-
def data = super
|
|
606
|
+
def data = super # rubocop:disable Lint/UselessMethodDefinition
|
|
622
607
|
# MIME type (e.g. `"application/pdf"`, `"image/png"`, `"image/jpeg"`).
|
|
623
608
|
sig { returns(String) }
|
|
624
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
625
|
-
def media_type = super
|
|
609
|
+
def media_type = super # rubocop:disable Lint/UselessMethodDefinition
|
|
626
610
|
sig { returns(T::Boolean) }
|
|
627
611
|
def url? = false
|
|
628
612
|
sig { returns(T::Boolean) }
|
|
@@ -651,12 +635,9 @@ module LiterLlm
|
|
|
651
635
|
def self.from_hash(hash)
|
|
652
636
|
discriminator = hash[:type] || hash["type"]
|
|
653
637
|
case discriminator
|
|
654
|
-
when "memory"
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
CacheBackendOpenDal.from_hash(hash)
|
|
658
|
-
else
|
|
659
|
-
raise "Unknown discriminator: #{discriminator}"
|
|
638
|
+
when "memory" then CacheBackendMemory.from_hash(hash)
|
|
639
|
+
when "open_dal" then CacheBackendOpenDal.from_hash(hash)
|
|
640
|
+
else raise "Unknown discriminator: #{discriminator}"
|
|
660
641
|
end
|
|
661
642
|
end
|
|
662
643
|
end
|
|
@@ -683,12 +664,10 @@ module LiterLlm
|
|
|
683
664
|
|
|
684
665
|
# OpenDAL scheme name (e.g. "s3", "redis", "fs", "gcs", "azblob").
|
|
685
666
|
sig { returns(String) }
|
|
686
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
687
|
-
def scheme = super
|
|
667
|
+
def scheme = super # rubocop:disable Lint/UselessMethodDefinition
|
|
688
668
|
# Backend-specific configuration as key-value pairs passed to OpenDAL.
|
|
689
669
|
sig { returns(T::Hash[String, String]) }
|
|
690
|
-
# rubocop:disable Lint/UselessMethodDefinition
|
|
691
|
-
def config = super
|
|
670
|
+
def config = super # rubocop:disable Lint/UselessMethodDefinition
|
|
692
671
|
sig { returns(T::Boolean) }
|
|
693
672
|
def memory? = false
|
|
694
673
|
sig { returns(T::Boolean) }
|
data/lib/liter_llm/version.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:c7947a41084f71e69944233535fbeda5cd13b37144078f1895b6b57a7802d3fe
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify --exit-code
|
|
5
5
|
# frozen_string_literal: true
|
|
6
6
|
|
|
7
7
|
module LiterLlm
|
|
8
8
|
## The version string for this package.
|
|
9
|
-
VERSION = "1.
|
|
9
|
+
VERSION = "1.11.0"
|
|
10
10
|
end
|
data/lib/liter_llm.rb
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# This file is auto-generated by alef — DO NOT EDIT.
|
|
2
|
-
# alef:hash:
|
|
2
|
+
# alef:hash:c7947a41084f71e69944233535fbeda5cd13b37144078f1895b6b57a7802d3fe
|
|
3
3
|
# To regenerate: alef generate
|
|
4
4
|
# To verify freshness: alef verify --exit-code
|
|
5
5
|
# frozen_string_literal: true
|
data/lib/liter_llm_rb.so
CHANGED
|
Binary file
|