liter_llm 1.9.0.pre.rc.2-aarch64-linux → 1.9.3-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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 117caf0580ad45da223748df015c36c4759af17549cac8d4ab119abc9b116691
4
- data.tar.gz: 70452b24199da4c4e2ae174d8aae8c95289f6778dbb8ea0b625b9e8cdbf65a2e
3
+ metadata.gz: 14979506241e7b986a857219c354ffdb9355af9186e038521984cd4a8ce4e6fd
4
+ data.tar.gz: 9e6b5f79a61fa03107c03562fbe88262087aacd9803cdd836383d06c84aa8a6a
5
5
  SHA512:
6
- metadata.gz: 79f924237ce8d7eca0cb75137d5b5e44bad083aa9ada47e51b64cde370678210933af52730689243daadca225808ef389678530c8383af553e920e280a01ee44
7
- data.tar.gz: 42a6b7cd6645075dd5088ad0259df3b801e5522e3a1a4bcafe6f793033746567eaf548a22a21d96f7da253d5838bcf3fe21ad0e3ae593f1d0237408e87323d62
6
+ metadata.gz: ff47981d72ad056ddf585f98fa482ae7a6b9a568c96a32a4b0cc533cc07f71a7612867b9c35da788796b02b3e20d087d29f4755b87f1e9d17ef5923f2bbfbb92
7
+ data.tar.gz: 0cedbc04c44ebfd73ec6ecba41d1a784ac5e6d47379bd92867efda53a205892256dba024d90fdeff7e2c5d886a9cf4c6d07fc4a3631b73a0fe8447ff7b4b5dd4
data/README.md CHANGED
@@ -8,75 +8,75 @@
8
8
  # Ruby
9
9
 
10
10
  <div align="center" style="display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 20px 0">
11
- <!-- Built with -->
12
- <a href="https://github.com/xberg-io/alef">
13
- <img src="https://img.shields.io/badge/Bindings-alef%20%D7%90-007ec6" alt="Bindings" />
14
- </a>
15
- <!-- Language Bindings -->
16
- <a href="https://crates.io/crates/liter-llm">
17
- <img src="https://img.shields.io/crates/v/liter-llm?label=Rust&color=007ec6" alt="Rust" />
18
- </a>
19
- <a href="https://pypi.org/project/liter-llm/">
20
- <img src="https://img.shields.io/pypi/v/liter-llm?label=Python&color=007ec6" alt="Python" />
21
- </a>
22
- <a href="https://www.npmjs.com/package/@xberg-io/liter-llm">
23
- <img src="https://img.shields.io/npm/v/@xberg-io/liter-llm?label=Node.js&color=007ec6" alt="Node.js" />
24
- </a>
25
- <a href="https://www.npmjs.com/package/@xberg-io/liter-llm-wasm">
26
- <img src="https://img.shields.io/npm/v/@xberg-io/liter-llm-wasm?label=WASM&color=007ec6" alt="WASM" />
27
- </a>
28
- <a href="https://central.sonatype.com/artifact/io.xberg.literllm/liter-llm">
29
- <img src="https://img.shields.io/maven-central/v/io.xberg.literllm/liter-llm?label=Java&color=007ec6" alt="Java" />
30
- </a>
31
- <a href="https://github.com/xberg-io/liter-llm/tree/main/packages/go">
32
- <img src="https://img.shields.io/github/v/tag/xberg-io/liter-llm?label=Go&color=007ec6" alt="Go" />
33
- </a>
34
- <a href="https://www.nuget.org/packages/LiterLlm">
35
- <img src="https://img.shields.io/nuget/v/LiterLlm?label=C%23&color=007ec6" alt="C#" />
36
- </a>
37
- <a href="https://packagist.org/packages/xberg-io/liter-llm">
38
- <img src="https://img.shields.io/packagist/v/xberg-io/liter-llm?label=PHP&color=007ec6" alt="PHP" />
39
- </a>
40
- <a href="https://rubygems.org/gems/liter_llm">
41
- <img src="https://img.shields.io/gem/v/liter_llm?label=Ruby&color=007ec6" alt="Ruby" />
42
- </a>
43
- <a href="https://hex.pm/packages/liter_llm">
44
- <img src="https://img.shields.io/hexpm/v/liter_llm?label=Elixir&color=007ec6" alt="Elixir" />
45
- </a>
46
- <a href="https://github.com/xberg-io/liter-llm/pkgs/container/liter-llm">
47
- <img src="https://img.shields.io/badge/Docker-007ec6?logo=docker&logoColor=white" alt="Docker" />
48
- </a>
49
- <a href="https://github.com/xberg-io/homebrew-tap/blob/main/Formula/liter-llm.rb">
50
- <img src="https://img.shields.io/badge/Homebrew-007ec6?logo=homebrew&logoColor=white" alt="Homebrew" />
51
- </a>
52
- <a href="https://github.com/xberg-io/liter-llm/tree/main/crates/liter-llm-ffi">
53
- <img src="https://img.shields.io/badge/C-FFI-007ec6" alt="C FFI" />
54
- </a>
55
-
56
- <!-- Project Info -->
57
- <a href="https://github.com/xberg-io/liter-llm/blob/main/LICENSE">
58
- <img src="https://img.shields.io/badge/License-MIT-007ec6" alt="License" />
59
- </a>
60
- <a href="https://docs.liter-llm.xberg.io">
61
- <img src="https://img.shields.io/badge/Docs-liter--llm-007ec6" alt="Docs" />
62
- </a>
11
+ <!-- Built with -->
12
+ <a href="https://github.com/xberg-io/alef">
13
+ <img src="https://img.shields.io/badge/Bindings-alef%20%D7%90-007ec6" alt="Bindings" />
14
+ </a>
15
+ <!-- Language Bindings -->
16
+ <a href="https://crates.io/crates/liter-llm">
17
+ <img src="https://img.shields.io/crates/v/liter-llm?label=Rust&color=007ec6" alt="Rust" />
18
+ </a>
19
+ <a href="https://pypi.org/project/liter-llm/">
20
+ <img src="https://img.shields.io/pypi/v/liter-llm?label=Python&color=007ec6" alt="Python" />
21
+ </a>
22
+ <a href="https://www.npmjs.com/package/@xberg-io/liter-llm">
23
+ <img src="https://img.shields.io/npm/v/@xberg-io/liter-llm?label=Node.js&color=007ec6" alt="Node.js" />
24
+ </a>
25
+ <a href="https://www.npmjs.com/package/@xberg-io/liter-llm-wasm">
26
+ <img src="https://img.shields.io/npm/v/@xberg-io/liter-llm-wasm?label=WASM&color=007ec6" alt="WASM" />
27
+ </a>
28
+ <a href="https://central.sonatype.com/artifact/io.xberg.literllm/liter-llm">
29
+ <img src="https://img.shields.io/maven-central/v/io.xberg.literllm/liter-llm?label=Java&color=007ec6" alt="Java" />
30
+ </a>
31
+ <a href="https://github.com/xberg-io/liter-llm/tree/main/packages/go">
32
+ <img src="https://img.shields.io/github/v/tag/xberg-io/liter-llm?label=Go&color=007ec6" alt="Go" />
33
+ </a>
34
+ <a href="https://www.nuget.org/packages/LiterLlm">
35
+ <img src="https://img.shields.io/nuget/v/LiterLlm?label=C%23&color=007ec6" alt="C#" />
36
+ </a>
37
+ <a href="https://packagist.org/packages/xberg-io/liter-llm">
38
+ <img src="https://img.shields.io/packagist/v/xberg-io/liter-llm?label=PHP&color=007ec6" alt="PHP" />
39
+ </a>
40
+ <a href="https://rubygems.org/gems/liter_llm">
41
+ <img src="https://img.shields.io/gem/v/liter_llm?label=Ruby&color=007ec6" alt="Ruby" />
42
+ </a>
43
+ <a href="https://hex.pm/packages/liter_llm">
44
+ <img src="https://img.shields.io/hexpm/v/liter_llm?label=Elixir&color=007ec6" alt="Elixir" />
45
+ </a>
46
+ <a href="https://github.com/xberg-io/liter-llm/pkgs/container/liter-llm">
47
+ <img src="https://img.shields.io/badge/Docker-007ec6?logo=docker&logoColor=white" alt="Docker" />
48
+ </a>
49
+ <a href="https://github.com/xberg-io/homebrew-tap/blob/main/Formula/liter-llm.rb">
50
+ <img src="https://img.shields.io/badge/Homebrew-007ec6?logo=homebrew&logoColor=white" alt="Homebrew" />
51
+ </a>
52
+ <a href="https://github.com/xberg-io/liter-llm/tree/main/crates/liter-llm-ffi">
53
+ <img src="https://img.shields.io/badge/C-FFI-007ec6" alt="C FFI" />
54
+ </a>
55
+
56
+ <!-- Project Info -->
57
+ <a href="https://github.com/xberg-io/liter-llm/blob/main/LICENSE">
58
+ <img src="https://img.shields.io/badge/License-MIT-007ec6" alt="License" />
59
+ </a>
60
+ <a href="https://docs.liter-llm.xberg.io">
61
+ <img src="https://img.shields.io/badge/Docs-liter--llm-007ec6" alt="Docs" />
62
+ </a>
63
63
  </div>
64
64
  <div align="center" style="margin: 24px 0 0">
65
- <a href="https://xberg.io">
66
- <img
67
- alt="xberg.io"
68
- src="https://github.com/user-attachments/assets/1b6c6ad7-3b6d-4171-b1c9-f2026cc9deb8"
69
- />
70
- </a>
65
+ <a href="https://xberg.io">
66
+ <img
67
+ alt="xberg.io"
68
+ src="https://github.com/user-attachments/assets/1b6c6ad7-3b6d-4171-b1c9-f2026cc9deb8"
69
+ />
70
+ </a>
71
71
  </div>
72
72
  <div align="center" style="display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin: 28px 0 24px">
73
- <a href="https://discord.gg/xt9WY3GnKR">
74
- <img
75
- height="22"
76
- src="https://img.shields.io/badge/Discord-Chat-007ec6?logo=discord&logoColor=white"
77
- alt="Join Discord"
78
- />
79
- </a>
73
+ <a href="https://discord.gg/xt9WY3GnKR">
74
+ <img
75
+ height="22"
76
+ src="https://img.shields.io/badge/Discord-Chat-007ec6?logo=discord&logoColor=white"
77
+ alt="Join Discord"
78
+ />
79
+ </a>
80
80
  </div>
81
81
 
82
82
  Universal LLM API client for Ruby. Access 143 LLM providers through a single interface with idiomatic Ruby API and native performance.
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:1c1a4f40437bd3664405b1b60a53b4dc867f8b6f298baac7d0bf32a63ff9e517
2
+ # alef:hash:b34f5dac0a6af082b71cab3b75e126050fd38402a73d6d3ff06130b6fe7d8875
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # frozen_string_literal: true
@@ -7,6 +7,7 @@
7
7
  require "json"
8
8
  require "sorbet-runtime"
9
9
  require "liter_llm_rb"
10
+
10
11
  module LiterLlm
11
12
  # A chat message in a conversation.
12
13
  module Message
@@ -22,13 +23,20 @@ module LiterLlm
22
23
  def self.from_hash(hash)
23
24
  discriminator = hash[:role] || hash["role"]
24
25
  case discriminator
25
- when "system" then MessageSystem.from_hash(hash)
26
- when "user" then MessageUser.from_hash(hash)
27
- when "assistant" then MessageAssistant.from_hash(hash)
28
- when "tool" then MessageTool.from_hash(hash)
29
- when "developer" then MessageDeveloper.from_hash(hash)
30
- when "function" then MessageFunction.from_hash(hash)
31
- else raise "Unknown discriminator: #{discriminator}"
26
+ when "system"
27
+ MessageSystem.from_hash(hash)
28
+ when "user"
29
+ MessageUser.from_hash(hash)
30
+ when "assistant"
31
+ MessageAssistant.from_hash(hash)
32
+ when "tool"
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}"
32
40
  end
33
41
  end
34
42
  end
@@ -39,7 +47,8 @@ module LiterLlm
39
47
 
40
48
  # @return [SystemMessage]
41
49
  sig { returns(SystemMessage) }
42
- def value = super # rubocop:disable Lint/UselessMethodDefinition
50
+ # rubocop:disable Lint/UselessMethodDefinition
51
+ def value = super
43
52
  sig { returns(T::Boolean) }
44
53
  def system? = true
45
54
  sig { returns(T::Boolean) }
@@ -66,7 +75,8 @@ module LiterLlm
66
75
 
67
76
  # @return [UserMessage]
68
77
  sig { returns(UserMessage) }
69
- def value = super # rubocop:disable Lint/UselessMethodDefinition
78
+ # rubocop:disable Lint/UselessMethodDefinition
79
+ def value = super
70
80
  sig { returns(T::Boolean) }
71
81
  def system? = false
72
82
  sig { returns(T::Boolean) }
@@ -93,7 +103,8 @@ module LiterLlm
93
103
 
94
104
  # @return [AssistantMessage]
95
105
  sig { returns(AssistantMessage) }
96
- def value = super # rubocop:disable Lint/UselessMethodDefinition
106
+ # rubocop:disable Lint/UselessMethodDefinition
107
+ def value = super
97
108
  sig { returns(T::Boolean) }
98
109
  def system? = false
99
110
  sig { returns(T::Boolean) }
@@ -120,7 +131,8 @@ module LiterLlm
120
131
 
121
132
  # @return [ToolMessage]
122
133
  sig { returns(ToolMessage) }
123
- def value = super # rubocop:disable Lint/UselessMethodDefinition
134
+ # rubocop:disable Lint/UselessMethodDefinition
135
+ def value = super
124
136
  sig { returns(T::Boolean) }
125
137
  def system? = false
126
138
  sig { returns(T::Boolean) }
@@ -147,7 +159,8 @@ module LiterLlm
147
159
 
148
160
  # @return [DeveloperMessage]
149
161
  sig { returns(DeveloperMessage) }
150
- def value = super # rubocop:disable Lint/UselessMethodDefinition
162
+ # rubocop:disable Lint/UselessMethodDefinition
163
+ def value = super
151
164
  sig { returns(T::Boolean) }
152
165
  def system? = false
153
166
  sig { returns(T::Boolean) }
@@ -174,7 +187,8 @@ module LiterLlm
174
187
 
175
188
  # @return [FunctionMessage]
176
189
  sig { returns(FunctionMessage) }
177
- def value = super # rubocop:disable Lint/UselessMethodDefinition
190
+ # rubocop:disable Lint/UselessMethodDefinition
191
+ def value = super
178
192
  sig { returns(T::Boolean) }
179
193
  def system? = false
180
194
  sig { returns(T::Boolean) }
@@ -211,11 +225,16 @@ module LiterLlm
211
225
  def self.from_hash(hash)
212
226
  discriminator = hash[:type] || hash["type"]
213
227
  case discriminator
214
- when "text" then ContentPartText.from_hash(hash)
215
- when "image_url" then ContentPartImageUrl.from_hash(hash)
216
- when "document" then ContentPartDocument.from_hash(hash)
217
- when "input_audio" then ContentPartInputAudio.from_hash(hash)
218
- else raise "Unknown discriminator: #{discriminator}"
228
+ when "text"
229
+ ContentPartText.from_hash(hash)
230
+ when "image_url"
231
+ ContentPartImageUrl.from_hash(hash)
232
+ when "document"
233
+ ContentPartDocument.from_hash(hash)
234
+ when "input_audio"
235
+ ContentPartInputAudio.from_hash(hash)
236
+ else
237
+ raise "Unknown discriminator: #{discriminator}"
219
238
  end
220
239
  end
221
240
  end
@@ -226,7 +245,8 @@ module LiterLlm
226
245
 
227
246
  # @return [String]
228
247
  sig { returns(String) }
229
- def text = super # rubocop:disable Lint/UselessMethodDefinition
248
+ # rubocop:disable Lint/UselessMethodDefinition
249
+ def text = super
230
250
  sig { returns(T::Boolean) }
231
251
  def text? = true
232
252
  sig { returns(T::Boolean) }
@@ -249,7 +269,8 @@ module LiterLlm
249
269
 
250
270
  # @return [ImageUrl]
251
271
  sig { returns(ImageUrl) }
252
- def image_url = super # rubocop:disable Lint/UselessMethodDefinition
272
+ # rubocop:disable Lint/UselessMethodDefinition
273
+ def image_url = super
253
274
  sig { returns(T::Boolean) }
254
275
  def text? = false
255
276
  sig { returns(T::Boolean) }
@@ -272,7 +293,8 @@ module LiterLlm
272
293
 
273
294
  # @return [DocumentContent]
274
295
  sig { returns(DocumentContent) }
275
- def document = super # rubocop:disable Lint/UselessMethodDefinition
296
+ # rubocop:disable Lint/UselessMethodDefinition
297
+ def document = super
276
298
  sig { returns(T::Boolean) }
277
299
  def text? = false
278
300
  sig { returns(T::Boolean) }
@@ -295,7 +317,8 @@ module LiterLlm
295
317
 
296
318
  # @return [AudioContent]
297
319
  sig { returns(AudioContent) }
298
- def input_audio = super # rubocop:disable Lint/UselessMethodDefinition
320
+ # rubocop:disable Lint/UselessMethodDefinition
321
+ def input_audio = super
299
322
  sig { returns(T::Boolean) }
300
323
  def text? = false
301
324
  sig { returns(T::Boolean) }
@@ -331,11 +354,16 @@ module LiterLlm
331
354
  def self.from_hash(hash)
332
355
  discriminator = hash[:type] || hash["type"]
333
356
  case discriminator
334
- when "text" then AssistantPartText.from_hash(hash)
335
- when "refusal" then AssistantPartRefusal.from_hash(hash)
336
- when "output_image" then AssistantPartOutputImage.from_hash(hash)
337
- when "output_audio" then AssistantPartOutputAudio.from_hash(hash)
338
- else raise "Unknown discriminator: #{discriminator}"
357
+ when "text"
358
+ AssistantPartText.from_hash(hash)
359
+ when "refusal"
360
+ AssistantPartRefusal.from_hash(hash)
361
+ when "output_image"
362
+ AssistantPartOutputImage.from_hash(hash)
363
+ when "output_audio"
364
+ AssistantPartOutputAudio.from_hash(hash)
365
+ else
366
+ raise "Unknown discriminator: #{discriminator}"
339
367
  end
340
368
  end
341
369
  end
@@ -346,7 +374,8 @@ module LiterLlm
346
374
 
347
375
  # The text content of this part.
348
376
  sig { returns(String) }
349
- def text = super # rubocop:disable Lint/UselessMethodDefinition
377
+ # rubocop:disable Lint/UselessMethodDefinition
378
+ def text = super
350
379
  sig { returns(T::Boolean) }
351
380
  def text? = true
352
381
  sig { returns(T::Boolean) }
@@ -369,7 +398,8 @@ module LiterLlm
369
398
 
370
399
  # The refusal reason.
371
400
  sig { returns(String) }
372
- def refusal = super # rubocop:disable Lint/UselessMethodDefinition
401
+ # rubocop:disable Lint/UselessMethodDefinition
402
+ def refusal = super
373
403
  sig { returns(T::Boolean) }
374
404
  def text? = false
375
405
  sig { returns(T::Boolean) }
@@ -392,7 +422,8 @@ module LiterLlm
392
422
 
393
423
  # Image URL or data URI referencing the generated image.
394
424
  sig { returns(ImageUrl) }
395
- def image_url = super # rubocop:disable Lint/UselessMethodDefinition
425
+ # rubocop:disable Lint/UselessMethodDefinition
426
+ def image_url = super
396
427
  sig { returns(T::Boolean) }
397
428
  def text? = false
398
429
  sig { returns(T::Boolean) }
@@ -415,7 +446,8 @@ module LiterLlm
415
446
 
416
447
  # Base64-encoded audio data and its format.
417
448
  sig { returns(AudioContent) }
418
- def audio = super # rubocop:disable Lint/UselessMethodDefinition
449
+ # rubocop:disable Lint/UselessMethodDefinition
450
+ def audio = super
419
451
  sig { returns(T::Boolean) }
420
452
  def text? = false
421
453
  sig { returns(T::Boolean) }
@@ -463,10 +495,14 @@ module LiterLlm
463
495
  def self.from_hash(hash)
464
496
  discriminator = hash[:type] || hash["type"]
465
497
  case discriminator
466
- when "text" then ResponseFormatText.from_hash(hash)
467
- when "json_object" then ResponseFormatJsonObject.from_hash(hash)
468
- when "json_schema" then ResponseFormatJsonSchema.from_hash(hash)
469
- else raise "Unknown discriminator: #{discriminator}"
498
+ when "text"
499
+ ResponseFormatText.from_hash(hash)
500
+ when "json_object"
501
+ ResponseFormatJsonObject.from_hash(hash)
502
+ when "json_schema"
503
+ ResponseFormatJsonSchema.from_hash(hash)
504
+ else
505
+ raise "Unknown discriminator: #{discriminator}"
470
506
  end
471
507
  end
472
508
  end
@@ -513,7 +549,8 @@ module LiterLlm
513
549
 
514
550
  # @return [JsonSchemaFormat]
515
551
  sig { returns(JsonSchemaFormat) }
516
- def json_schema = super # rubocop:disable Lint/UselessMethodDefinition
552
+ # rubocop:disable Lint/UselessMethodDefinition
553
+ def json_schema = super
517
554
  sig { returns(T::Boolean) }
518
555
  def text? = false
519
556
  sig { returns(T::Boolean) }
@@ -544,9 +581,12 @@ module LiterLlm
544
581
  def self.from_hash(hash)
545
582
  discriminator = hash[:type] || hash["type"]
546
583
  case discriminator
547
- when "document_url" then OcrDocumentUrl.from_hash(hash)
548
- when "base64" then OcrDocumentBase64.from_hash(hash)
549
- else raise "Unknown discriminator: #{discriminator}"
584
+ when "document_url"
585
+ OcrDocumentUrl.from_hash(hash)
586
+ when "base64"
587
+ OcrDocumentBase64.from_hash(hash)
588
+ else
589
+ raise "Unknown discriminator: #{discriminator}"
550
590
  end
551
591
  end
552
592
  end
@@ -557,7 +597,8 @@ module LiterLlm
557
597
 
558
598
  # The document URL (HTTP/HTTPS).
559
599
  sig { returns(String) }
560
- def url = super # rubocop:disable Lint/UselessMethodDefinition
600
+ # rubocop:disable Lint/UselessMethodDefinition
601
+ def url = super
561
602
  sig { returns(T::Boolean) }
562
603
  def url? = true
563
604
  sig { returns(T::Boolean) }
@@ -576,10 +617,12 @@ module LiterLlm
576
617
 
577
618
  # Base64-encoded document content.
578
619
  sig { returns(String) }
579
- def data = super # rubocop:disable Lint/UselessMethodDefinition
620
+ # rubocop:disable Lint/UselessMethodDefinition
621
+ def data = super
580
622
  # MIME type (e.g. `"application/pdf"`, `"image/png"`, `"image/jpeg"`).
581
623
  sig { returns(String) }
582
- def media_type = super # rubocop:disable Lint/UselessMethodDefinition
624
+ # rubocop:disable Lint/UselessMethodDefinition
625
+ def media_type = super
583
626
  sig { returns(T::Boolean) }
584
627
  def url? = false
585
628
  sig { returns(T::Boolean) }
@@ -608,9 +651,12 @@ module LiterLlm
608
651
  def self.from_hash(hash)
609
652
  discriminator = hash[:type] || hash["type"]
610
653
  case discriminator
611
- when "memory" then CacheBackendMemory.from_hash(hash)
612
- when "open_dal" then CacheBackendOpenDal.from_hash(hash)
613
- else raise "Unknown discriminator: #{discriminator}"
654
+ when "memory"
655
+ CacheBackendMemory.from_hash(hash)
656
+ when "open_dal"
657
+ CacheBackendOpenDal.from_hash(hash)
658
+ else
659
+ raise "Unknown discriminator: #{discriminator}"
614
660
  end
615
661
  end
616
662
  end
@@ -637,10 +683,12 @@ module LiterLlm
637
683
 
638
684
  # OpenDAL scheme name (e.g. "s3", "redis", "fs", "gcs", "azblob").
639
685
  sig { returns(String) }
640
- def scheme = super # rubocop:disable Lint/UselessMethodDefinition
686
+ # rubocop:disable Lint/UselessMethodDefinition
687
+ def scheme = super
641
688
  # Backend-specific configuration as key-value pairs passed to OpenDAL.
642
689
  sig { returns(T::Hash[String, String]) }
643
- def config = super # rubocop:disable Lint/UselessMethodDefinition
690
+ # rubocop:disable Lint/UselessMethodDefinition
691
+ def config = super
644
692
  sig { returns(T::Boolean) }
645
693
  def memory? = false
646
694
  sig { returns(T::Boolean) }
@@ -1,10 +1,10 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:1c1a4f40437bd3664405b1b60a53b4dc867f8b6f298baac7d0bf32a63ff9e517
2
+ # alef:hash:b34f5dac0a6af082b71cab3b75e126050fd38402a73d6d3ff06130b6fe7d8875
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.0.pre.rc.2"
9
+ VERSION = "1.9.3"
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:1c1a4f40437bd3664405b1b60a53b4dc867f8b6f298baac7d0bf32a63ff9e517
2
+ # alef:hash:b34f5dac0a6af082b71cab3b75e126050fd38402a73d6d3ff06130b6fe7d8875
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # frozen_string_literal: true
@@ -16,3 +16,12 @@ require_relative "liter_llm/native"
16
16
  module LiterLlm
17
17
  # Re-export all types and functions from native extension
18
18
  end
19
+
20
+ # Bring top-level LiterLlm classes into the global namespace so callers
21
+ # (and the generated e2e suite) can reference them unqualified. The native
22
+ # extension has already been required above, so every type constant is defined
23
+ # under LiterLlm by this point.
24
+ LiterLlm.constants.each do |const_name|
25
+ value = LiterLlm.const_get(const_name)
26
+ ::Object.const_set(const_name, value) if value.is_a?(Module) && !::Object.const_defined?(const_name)
27
+ end
data/lib/liter_llm_rb.so CHANGED
Binary file