liter_llm 1.4.1 → 1.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aa8246cda4e287fc4605022b234fa68c8806ec0a81047a7bbb9c34f1a43094b3
4
- data.tar.gz: 5f13a049fe08f31b749e51cae5b390cc1f377eb134b8c7015446bed714e4433d
3
+ metadata.gz: 50e1a34b0a2553bad407eeaf67f05e60b6eb0960ff587fcb2aa2c59f647caa36
4
+ data.tar.gz: fb0ced2da3142a854eaa449b0c5094f256557a01b6b9d5d3de422d4c799c597d
5
5
  SHA512:
6
- metadata.gz: 9348d88832645810ea46c0a587184df5d5d76ce9aa50d77981012d43e41896efcd64f1f0f120f1da4a0dd3449cde1b3ac01269c8f91b14a1245b70fb2c0b04c1
7
- data.tar.gz: 3352d9e07c25d2ec8adbeb1c96e6214c3fd5a3c3edb428cead95c245d337fa6e7de4bdbc1d09d0c69872874d97955141f2d50e5a438386bac1e706d48ac0901a
6
+ metadata.gz: 2dbc5b642eda0845a29ebffc0be81963d566d8d0df554fb636960955da91cb34c6823fd5b438b2fad61fcf69c8f6942b82ff096fc07a78645ab1e7a62b257b58
7
+ data.tar.gz: b6cba1786a3b96fd7b8ec3c4b2693552d7d140e57ce2c523e6e1b77bc9709c8df7e0783a06ed5c3be6391487621bce04850471411728b174e12163cac7bcdcb0
@@ -308,9 +308,9 @@ checksum = "5e764a1d40d510daf35e07be9eb06e75770908c27d411ee6c92109c9840eaaf7"
308
308
 
309
309
  [[package]]
310
310
  name = "bitflags"
311
- version = "2.12.1"
311
+ version = "2.13.0"
312
312
  source = "registry+https://github.com/rust-lang/crates.io-index"
313
- checksum = "84d7ced0ae9557296835c32bf1b1e02b44c746701f898460fb000d7eaa84f00a"
313
+ checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8"
314
314
 
315
315
  [[package]]
316
316
  name = "block-buffer"
@@ -1768,9 +1768,9 @@ checksum = "92daf443525c4cce67b150400bc2316076100ce0b3686209eb8cf3c31612e6f0"
1768
1768
 
1769
1769
  [[package]]
1770
1770
  name = "liter-llm"
1771
- version = "1.4.1"
1771
+ version = "1.5.0"
1772
1772
  source = "registry+https://github.com/rust-lang/crates.io-index"
1773
- checksum = "11ef45cb14a67adc575face64f727c8b95ca9444960f6582b67b61ead8d55841"
1773
+ checksum = "442609bd522ffd20983c7c9b852c1f33a6490d8dddb1b566f2c40960026db1e8"
1774
1774
  dependencies = [
1775
1775
  "aws-credential-types",
1776
1776
  "aws-sigv4",
@@ -1798,11 +1798,12 @@ dependencies = [
1798
1798
  "tower-http",
1799
1799
  "tracing",
1800
1800
  "tracing-opentelemetry",
1801
+ "url",
1801
1802
  ]
1802
1803
 
1803
1804
  [[package]]
1804
1805
  name = "liter-llm-rb"
1805
- version = "1.4.1"
1806
+ version = "1.5.0"
1806
1807
  dependencies = [
1807
1808
  "futures",
1808
1809
  "liter-llm",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "liter-llm-rb"
3
- version = "1.4.1"
3
+ version = "1.5.0"
4
4
  edition = "2024"
5
5
  license = "MIT"
6
6
  description = "Universal LLM API client with Rust-powered polyglot bindings."
@@ -18,7 +18,7 @@ crate-type = ["cdylib"]
18
18
 
19
19
  [dependencies]
20
20
  futures = "0.3"
21
- liter-llm = { version = "1.4.1", features = ["native-http", "full"] }
21
+ liter-llm = { version = "1.5.0", features = ["native-http", "full"] }
22
22
  magnus = "0.8"
23
23
  rb-sys = ">=0.9, <0.9.128"
24
24
  serde = { version = "1", features = ["derive"] }
@@ -7,5 +7,8 @@ default_profile = ENV.fetch("CARGO_PROFILE", "release")
7
7
 
8
8
  create_rust_makefile("liter_llm_rb") do |config|
9
9
  config.profile = default_profile.to_sym
10
- config.ext_dir = "native"
10
+ # extconf.rb and Cargo.toml are siblings under ext/liter_llm_rb/native/; rb_sys interprets
11
+ # ext_dir relative to extconf.rb, so "." finds the sibling Cargo.toml. "native" would
12
+ # resolve to native/native/Cargo.toml and break `gem install` on end-user machines.
13
+ config.ext_dir = "."
11
14
  end
@@ -1,5 +1,5 @@
1
1
  // This file is auto-generated by alef. DO NOT EDIT.
2
- // alef:hash:6e12ad2d0caa62df184195809bd0a5a989fc00f996ba000a83e5a6241f40da7b
2
+ // alef:hash:93a82f0d43d1c6af3f54574908a88a952d597f9e2cca238de810ede5a8948e48
3
3
  // Re-generate with: alef generate
4
4
  #![allow(dead_code, unused_imports, unused_variables)]
5
5
  #![allow(
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:6e12ad2d0caa62df184195809bd0a5a989fc00f996ba000a83e5a6241f40da7b
2
+ # alef:hash:93a82f0d43d1c6af3f54574908a88a952d597f9e2cca238de810ede5a8948e48
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # frozen_string_literal: true
@@ -32,8 +32,7 @@ module LiterLlm
32
32
  end
33
33
  end
34
34
  end
35
-
36
- # Variant MessageSystem of the Message sum type.
35
+ ## Variant MessageSystem of the Message sum type.
37
36
  MessageSystem = Data.define(:value) do
38
37
  include Message
39
38
  extend T::Sig
@@ -41,25 +40,18 @@ module LiterLlm
41
40
  # @return [SystemMessage]
42
41
  sig { returns(SystemMessage) }
43
42
  def value = super # rubocop:disable Lint/UselessMethodDefinition
44
-
45
43
  sig { returns(T::Boolean) }
46
44
  def system? = true
47
-
48
45
  sig { returns(T::Boolean) }
49
46
  def user? = false
50
-
51
47
  sig { returns(T::Boolean) }
52
48
  def assistant? = false
53
-
54
49
  sig { returns(T::Boolean) }
55
50
  def tool? = false
56
-
57
51
  sig { returns(T::Boolean) }
58
52
  def developer? = false
59
-
60
53
  sig { returns(T::Boolean) }
61
54
  def function? = false
62
-
63
55
  # @param hash [Hash] deserialized from the native extension
64
56
  # @return [self]
65
57
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -67,8 +59,7 @@ module LiterLlm
67
59
  new(value: hash[:_0] || hash["_0"])
68
60
  end
69
61
  end
70
-
71
- # Variant MessageUser of the Message sum type.
62
+ ## Variant MessageUser of the Message sum type.
72
63
  MessageUser = Data.define(:value) do
73
64
  include Message
74
65
  extend T::Sig
@@ -76,25 +67,18 @@ module LiterLlm
76
67
  # @return [UserMessage]
77
68
  sig { returns(UserMessage) }
78
69
  def value = super # rubocop:disable Lint/UselessMethodDefinition
79
-
80
70
  sig { returns(T::Boolean) }
81
71
  def system? = false
82
-
83
72
  sig { returns(T::Boolean) }
84
73
  def user? = true
85
-
86
74
  sig { returns(T::Boolean) }
87
75
  def assistant? = false
88
-
89
76
  sig { returns(T::Boolean) }
90
77
  def tool? = false
91
-
92
78
  sig { returns(T::Boolean) }
93
79
  def developer? = false
94
-
95
80
  sig { returns(T::Boolean) }
96
81
  def function? = false
97
-
98
82
  # @param hash [Hash] deserialized from the native extension
99
83
  # @return [self]
100
84
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -102,8 +86,7 @@ module LiterLlm
102
86
  new(value: hash[:_0] || hash["_0"])
103
87
  end
104
88
  end
105
-
106
- # Variant MessageAssistant of the Message sum type.
89
+ ## Variant MessageAssistant of the Message sum type.
107
90
  MessageAssistant = Data.define(:value) do
108
91
  include Message
109
92
  extend T::Sig
@@ -111,25 +94,18 @@ module LiterLlm
111
94
  # @return [AssistantMessage]
112
95
  sig { returns(AssistantMessage) }
113
96
  def value = super # rubocop:disable Lint/UselessMethodDefinition
114
-
115
97
  sig { returns(T::Boolean) }
116
98
  def system? = false
117
-
118
99
  sig { returns(T::Boolean) }
119
100
  def user? = false
120
-
121
101
  sig { returns(T::Boolean) }
122
102
  def assistant? = true
123
-
124
103
  sig { returns(T::Boolean) }
125
104
  def tool? = false
126
-
127
105
  sig { returns(T::Boolean) }
128
106
  def developer? = false
129
-
130
107
  sig { returns(T::Boolean) }
131
108
  def function? = false
132
-
133
109
  # @param hash [Hash] deserialized from the native extension
134
110
  # @return [self]
135
111
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -137,8 +113,7 @@ module LiterLlm
137
113
  new(value: hash[:_0] || hash["_0"])
138
114
  end
139
115
  end
140
-
141
- # Variant MessageTool of the Message sum type.
116
+ ## Variant MessageTool of the Message sum type.
142
117
  MessageTool = Data.define(:value) do
143
118
  include Message
144
119
  extend T::Sig
@@ -146,25 +121,18 @@ module LiterLlm
146
121
  # @return [ToolMessage]
147
122
  sig { returns(ToolMessage) }
148
123
  def value = super # rubocop:disable Lint/UselessMethodDefinition
149
-
150
124
  sig { returns(T::Boolean) }
151
125
  def system? = false
152
-
153
126
  sig { returns(T::Boolean) }
154
127
  def user? = false
155
-
156
128
  sig { returns(T::Boolean) }
157
129
  def assistant? = false
158
-
159
130
  sig { returns(T::Boolean) }
160
131
  def tool? = true
161
-
162
132
  sig { returns(T::Boolean) }
163
133
  def developer? = false
164
-
165
134
  sig { returns(T::Boolean) }
166
135
  def function? = false
167
-
168
136
  # @param hash [Hash] deserialized from the native extension
169
137
  # @return [self]
170
138
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -172,8 +140,7 @@ module LiterLlm
172
140
  new(value: hash[:_0] || hash["_0"])
173
141
  end
174
142
  end
175
-
176
- # Variant MessageDeveloper of the Message sum type.
143
+ ## Variant MessageDeveloper of the Message sum type.
177
144
  MessageDeveloper = Data.define(:value) do
178
145
  include Message
179
146
  extend T::Sig
@@ -181,25 +148,18 @@ module LiterLlm
181
148
  # @return [DeveloperMessage]
182
149
  sig { returns(DeveloperMessage) }
183
150
  def value = super # rubocop:disable Lint/UselessMethodDefinition
184
-
185
151
  sig { returns(T::Boolean) }
186
152
  def system? = false
187
-
188
153
  sig { returns(T::Boolean) }
189
154
  def user? = false
190
-
191
155
  sig { returns(T::Boolean) }
192
156
  def assistant? = false
193
-
194
157
  sig { returns(T::Boolean) }
195
158
  def tool? = false
196
-
197
159
  sig { returns(T::Boolean) }
198
160
  def developer? = true
199
-
200
161
  sig { returns(T::Boolean) }
201
162
  def function? = false
202
-
203
163
  # @param hash [Hash] deserialized from the native extension
204
164
  # @return [self]
205
165
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -207,8 +167,7 @@ module LiterLlm
207
167
  new(value: hash[:_0] || hash["_0"])
208
168
  end
209
169
  end
210
-
211
- # Deprecated legacy function-role message; retained for API compatibility.
170
+ ## Deprecated legacy function-role message; retained for API compatibility.
212
171
  MessageFunction = Data.define(:value) do
213
172
  include Message
214
173
  extend T::Sig
@@ -216,25 +175,18 @@ module LiterLlm
216
175
  # @return [FunctionMessage]
217
176
  sig { returns(FunctionMessage) }
218
177
  def value = super # rubocop:disable Lint/UselessMethodDefinition
219
-
220
178
  sig { returns(T::Boolean) }
221
179
  def system? = false
222
-
223
180
  sig { returns(T::Boolean) }
224
181
  def user? = false
225
-
226
182
  sig { returns(T::Boolean) }
227
183
  def assistant? = false
228
-
229
184
  sig { returns(T::Boolean) }
230
185
  def tool? = false
231
-
232
186
  sig { returns(T::Boolean) }
233
187
  def developer? = false
234
-
235
188
  sig { returns(T::Boolean) }
236
189
  def function? = true
237
-
238
190
  # @param hash [Hash] deserialized from the native extension
239
191
  # @return [self]
240
192
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -267,8 +219,7 @@ module LiterLlm
267
219
  end
268
220
  end
269
221
  end
270
-
271
- # Plain text.
222
+ ## Plain text.
272
223
  ContentPartText = Data.define(:text) do
273
224
  include ContentPart
274
225
  extend T::Sig
@@ -276,19 +227,14 @@ module LiterLlm
276
227
  # @return [String]
277
228
  sig { returns(String) }
278
229
  def text = super # rubocop:disable Lint/UselessMethodDefinition
279
-
280
230
  sig { returns(T::Boolean) }
281
231
  def text? = true
282
-
283
232
  sig { returns(T::Boolean) }
284
233
  def image_url? = false
285
-
286
234
  sig { returns(T::Boolean) }
287
235
  def document? = false
288
-
289
236
  sig { returns(T::Boolean) }
290
237
  def input_audio? = false
291
-
292
238
  # @param hash [Hash] deserialized from the native extension
293
239
  # @return [self]
294
240
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -296,8 +242,7 @@ module LiterLlm
296
242
  new(text: hash[:text] || hash["text"])
297
243
  end
298
244
  end
299
-
300
- # Image identified by URL (with optional detail level).
245
+ ## Image identified by URL (with optional detail level).
301
246
  ContentPartImageUrl = Data.define(:image_url) do
302
247
  include ContentPart
303
248
  extend T::Sig
@@ -305,19 +250,14 @@ module LiterLlm
305
250
  # @return [ImageUrl]
306
251
  sig { returns(ImageUrl) }
307
252
  def image_url = super # rubocop:disable Lint/UselessMethodDefinition
308
-
309
253
  sig { returns(T::Boolean) }
310
254
  def text? = false
311
-
312
255
  sig { returns(T::Boolean) }
313
256
  def image_url? = true
314
-
315
257
  sig { returns(T::Boolean) }
316
258
  def document? = false
317
-
318
259
  sig { returns(T::Boolean) }
319
260
  def input_audio? = false
320
-
321
261
  # @param hash [Hash] deserialized from the native extension
322
262
  # @return [self]
323
263
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -325,8 +265,7 @@ module LiterLlm
325
265
  new(image_url: hash[:image_url] || hash["image_url"])
326
266
  end
327
267
  end
328
-
329
- # Document file (PDF, CSV, etc.) as base64 or URL.
268
+ ## Document file (PDF, CSV, etc.) as base64 or URL.
330
269
  ContentPartDocument = Data.define(:document) do
331
270
  include ContentPart
332
271
  extend T::Sig
@@ -334,19 +273,14 @@ module LiterLlm
334
273
  # @return [DocumentContent]
335
274
  sig { returns(DocumentContent) }
336
275
  def document = super # rubocop:disable Lint/UselessMethodDefinition
337
-
338
276
  sig { returns(T::Boolean) }
339
277
  def text? = false
340
-
341
278
  sig { returns(T::Boolean) }
342
279
  def image_url? = false
343
-
344
280
  sig { returns(T::Boolean) }
345
281
  def document? = true
346
-
347
282
  sig { returns(T::Boolean) }
348
283
  def input_audio? = false
349
-
350
284
  # @param hash [Hash] deserialized from the native extension
351
285
  # @return [self]
352
286
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -354,8 +288,7 @@ module LiterLlm
354
288
  new(document: hash[:document] || hash["document"])
355
289
  end
356
290
  end
357
-
358
- # Audio input as base64.
291
+ ## Audio input as base64.
359
292
  ContentPartInputAudio = Data.define(:input_audio) do
360
293
  include ContentPart
361
294
  extend T::Sig
@@ -363,19 +296,14 @@ module LiterLlm
363
296
  # @return [AudioContent]
364
297
  sig { returns(AudioContent) }
365
298
  def input_audio = super # rubocop:disable Lint/UselessMethodDefinition
366
-
367
299
  sig { returns(T::Boolean) }
368
300
  def text? = false
369
-
370
301
  sig { returns(T::Boolean) }
371
302
  def image_url? = false
372
-
373
303
  sig { returns(T::Boolean) }
374
304
  def document? = false
375
-
376
305
  sig { returns(T::Boolean) }
377
306
  def input_audio? = true
378
-
379
307
  # @param hash [Hash] deserialized from the native extension
380
308
  # @return [self]
381
309
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -407,21 +335,17 @@ module LiterLlm
407
335
  end
408
336
  end
409
337
  end
410
-
411
- # Plain text output (default).
338
+ ## Plain text output (default).
412
339
  ResponseFormatText = Data.define do
413
340
  include ResponseFormat
414
341
  extend T::Sig
415
342
 
416
343
  sig { returns(T::Boolean) }
417
344
  def text? = true
418
-
419
345
  sig { returns(T::Boolean) }
420
346
  def json_object? = false
421
-
422
347
  sig { returns(T::Boolean) }
423
348
  def json_schema? = false
424
-
425
349
  # @param hash [Hash] deserialized from the native extension
426
350
  # @return [self]
427
351
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -429,21 +353,17 @@ module LiterLlm
429
353
  new
430
354
  end
431
355
  end
432
-
433
- # Output must be valid JSON object (no schema validation).
356
+ ## Output must be valid JSON object (no schema validation).
434
357
  ResponseFormatJsonObject = Data.define do
435
358
  include ResponseFormat
436
359
  extend T::Sig
437
360
 
438
361
  sig { returns(T::Boolean) }
439
362
  def text? = false
440
-
441
363
  sig { returns(T::Boolean) }
442
364
  def json_object? = true
443
-
444
365
  sig { returns(T::Boolean) }
445
366
  def json_schema? = false
446
-
447
367
  # @param hash [Hash] deserialized from the native extension
448
368
  # @return [self]
449
369
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -451,8 +371,7 @@ module LiterLlm
451
371
  new
452
372
  end
453
373
  end
454
-
455
- # Output must conform to the specified JSON schema.
374
+ ## Output must conform to the specified JSON schema.
456
375
  ResponseFormatJsonSchema = Data.define(:json_schema) do
457
376
  include ResponseFormat
458
377
  extend T::Sig
@@ -460,16 +379,12 @@ module LiterLlm
460
379
  # @return [JsonSchemaFormat]
461
380
  sig { returns(JsonSchemaFormat) }
462
381
  def json_schema = super # rubocop:disable Lint/UselessMethodDefinition
463
-
464
382
  sig { returns(T::Boolean) }
465
383
  def text? = false
466
-
467
384
  sig { returns(T::Boolean) }
468
385
  def json_object? = false
469
-
470
386
  sig { returns(T::Boolean) }
471
387
  def json_schema? = true
472
-
473
388
  # @param hash [Hash] deserialized from the native extension
474
389
  # @return [self]
475
390
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -500,8 +415,7 @@ module LiterLlm
500
415
  end
501
416
  end
502
417
  end
503
-
504
- # A publicly accessible document URL.
418
+ ## A publicly accessible document URL.
505
419
  OcrDocumentUrl = Data.define(:url) do
506
420
  include OcrDocument
507
421
  extend T::Sig
@@ -509,13 +423,10 @@ module LiterLlm
509
423
  # The document URL (HTTP/HTTPS).
510
424
  sig { returns(String) }
511
425
  def url = super # rubocop:disable Lint/UselessMethodDefinition
512
-
513
426
  sig { returns(T::Boolean) }
514
427
  def url? = true
515
-
516
428
  sig { returns(T::Boolean) }
517
429
  def base64? = false
518
-
519
430
  # @param hash [Hash] deserialized from the native extension
520
431
  # @return [self]
521
432
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -523,8 +434,7 @@ module LiterLlm
523
434
  new(url: hash[:url] || hash["url"])
524
435
  end
525
436
  end
526
-
527
- # Inline base64-encoded document data.
437
+ ## Inline base64-encoded document data.
528
438
  OcrDocumentBase64 = Data.define(:data, :media_type) do
529
439
  include OcrDocument
530
440
  extend T::Sig
@@ -532,17 +442,13 @@ module LiterLlm
532
442
  # Base64-encoded document content.
533
443
  sig { returns(String) }
534
444
  def data = super # rubocop:disable Lint/UselessMethodDefinition
535
-
536
445
  # MIME type (e.g. `"application/pdf"`, `"image/png"`, `"image/jpeg"`).
537
446
  sig { returns(String) }
538
447
  def media_type = super # rubocop:disable Lint/UselessMethodDefinition
539
-
540
448
  sig { returns(T::Boolean) }
541
449
  def url? = false
542
-
543
450
  sig { returns(T::Boolean) }
544
451
  def base64? = true
545
-
546
452
  # @param hash [Hash] deserialized from the native extension
547
453
  # @return [self]
548
454
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -573,18 +479,15 @@ module LiterLlm
573
479
  end
574
480
  end
575
481
  end
576
-
577
- # In-memory LRU cache (default). No external dependencies.
482
+ ## In-memory LRU cache (default). No external dependencies.
578
483
  CacheBackendMemory = Data.define do
579
484
  include CacheBackend
580
485
  extend T::Sig
581
486
 
582
487
  sig { returns(T::Boolean) }
583
488
  def memory? = true
584
-
585
489
  sig { returns(T::Boolean) }
586
490
  def open_dal? = false
587
-
588
491
  # @param hash [Hash] deserialized from the native extension
589
492
  # @return [self]
590
493
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -592,8 +495,7 @@ module LiterLlm
592
495
  new
593
496
  end
594
497
  end
595
-
596
- # OpenDAL-backed storage. Supports 40+ backends (S3, Redis, GCS, local FS, etc.).
498
+ ## OpenDAL-backed storage. Supports 40+ backends (S3, Redis, GCS, local FS, etc.).
597
499
  CacheBackendOpenDal = Data.define(:scheme, :config) do
598
500
  include CacheBackend
599
501
  extend T::Sig
@@ -601,17 +503,13 @@ module LiterLlm
601
503
  # OpenDAL scheme name (e.g. "s3", "redis", "fs", "gcs", "azblob").
602
504
  sig { returns(String) }
603
505
  def scheme = super # rubocop:disable Lint/UselessMethodDefinition
604
-
605
506
  # Backend-specific configuration as key-value pairs passed to OpenDAL.
606
507
  sig { returns(T::Hash[String, String]) }
607
508
  def config = super # rubocop:disable Lint/UselessMethodDefinition
608
-
609
509
  sig { returns(T::Boolean) }
610
510
  def memory? = false
611
-
612
511
  sig { returns(T::Boolean) }
613
512
  def open_dal? = true
614
-
615
513
  # @param hash [Hash] deserialized from the native extension
616
514
  # @return [self]
617
515
  sig { params(hash: T::Hash[T.untyped, T.untyped]).returns(T.attached_class) }
@@ -1,9 +1,10 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:6e12ad2d0caa62df184195809bd0a5a989fc00f996ba000a83e5a6241f40da7b
2
+ # alef:hash:93a82f0d43d1c6af3f54574908a88a952d597f9e2cca238de810ede5a8948e48
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
- VERSION = "1.4.1"
8
+ ## The version string for this package.
9
+ VERSION = "1.5.0"
9
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:6e12ad2d0caa62df184195809bd0a5a989fc00f996ba000a83e5a6241f40da7b
2
+ # alef:hash:93a82f0d43d1c6af3f54574908a88a952d597f9e2cca238de810ede5a8948e48
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
  # frozen_string_literal: true
@@ -7,6 +7,12 @@
7
7
  require_relative "liter_llm/version"
8
8
  require_relative "liter_llm/native"
9
9
 
10
+ # Top-level namespace for the LiterLlm Ruby binding.
11
+ #
12
+ # All type and function symbols are re-exported from the native extension
13
+ # loaded via `require_relative "liter_llm/native"`. See
14
+ # {file:README.md} for usage examples and the upstream documentation
15
+ # for the full API reference.
10
16
  module LiterLlm
11
17
  # Re-export all types and functions from native extension
12
18
  end
data/sig/types.rbs CHANGED
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:6e12ad2d0caa62df184195809bd0a5a989fc00f996ba000a83e5a6241f40da7b
2
+ # alef:hash:93a82f0d43d1c6af3f54574908a88a952d597f9e2cca238de810ede5a8948e48
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify --exit-code
5
5
 
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.1
4
+ version: 1.5.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-06-05 00:00:00.000000000 Z
11
+ date: 2026-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rb_sys