liter_llm 1.16.0-aarch64-linux → 1.17.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: 59adb0220f10499c1c67920207d020bfea5d29f20fd59f2e1f0ed574bb5c72b3
4
- data.tar.gz: 41f33f83ade795afec0e3a380f7c8a37aa533537908813914e9e3e835685da87
3
+ metadata.gz: a3f4d9171e81caf046f576a473195958917138a47c49b316faf1ede00d113491
4
+ data.tar.gz: cb1c883ef9da31a765720c5d8d7f37f093ac32daa727a01a87a864bc7f252e0f
5
5
  SHA512:
6
- metadata.gz: e1c136b8a7131917341407ec51be25b08264011b8f64d95d5a60c3a60bb5e9d276e4eb0fd9d4d4afb1784307e90f50e362aa1f58bdc2c43f2ab0467a221a445f
7
- data.tar.gz: bef754618f5ac5004bf26a4e1b9f5bdc5cb7c690b96fd9a4bedbff3d2222cd5856f69feca5cff1b8515360b86108a8b3d3f855293f7abea056cd3c3ac4e09934
6
+ metadata.gz: 27e660b609dd4d93361148fa3c916579fdc8936d3f011679a21964574e903909e758fac27c514bf529cab6e6906cea1fe6c3e6e02b8b80a42b42b99e2d03f28c
7
+ data.tar.gz: 23621caaa5089fab8e24d67a59d8d7e3e86babd4e59e405d3195e1d0af96171d7ddbf56a6bc0477327c85138b6ab0d42cd58e95656b713c9b98edae1507088a6
data/README.md CHANGED
@@ -31,8 +31,8 @@
31
31
  <a href="https://github.com/xberg-io/liter-llm/tree/main/packages/go">
32
32
  <img src="https://img.shields.io/github/v/tag/xberg-io/liter-llm?label=Go&color=007ec6" alt="Go" />
33
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#" />
34
+ <a href="https://www.nuget.org/packages/XbergIo.LiterLlm">
35
+ <img src="https://img.shields.io/nuget/v/XbergIo.LiterLlm?label=C%23&color=007ec6" alt="C#" />
36
36
  </a>
37
37
  <a href="https://packagist.org/packages/xberg-io/liter-llm">
38
38
  <img src="https://img.shields.io/packagist/v/xberg-io/liter-llm?label=PHP&color=007ec6" alt="PHP" />
@@ -1,7 +1,7 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:938b8ffd93c3e30d74875f875188c728addee9d4b80a97a7ac22716b3154c7c5
2
+ # alef:hash:22279669d98fa4ccf8fbbb4ad5a2b8ac72ae4eb02a46d2c25430da6aad7b80fb
3
3
  # To regenerate: alef generate
4
- # To verify freshness: alef verify --exit-code
4
+ # To verify freshness: alef verify
5
5
  # frozen_string_literal: true
6
6
 
7
7
  require "json"
@@ -1,10 +1,10 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:938b8ffd93c3e30d74875f875188c728addee9d4b80a97a7ac22716b3154c7c5
2
+ # alef:hash:2fa028ca6b2a895c045b5e1d6db85593c92d1c2c4245a025c8828d42585afb14
3
3
  # To regenerate: alef generate
4
- # To verify freshness: alef verify --exit-code
4
+ # To verify freshness: alef verify
5
5
  # frozen_string_literal: true
6
6
 
7
7
  module LiterLlm
8
8
  ## The version string for this package.
9
- VERSION = "1.16.0"
9
+ VERSION = "1.17.3"
10
10
  end
data/lib/liter_llm.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:938b8ffd93c3e30d74875f875188c728addee9d4b80a97a7ac22716b3154c7c5
2
+ # alef:hash:2b8f0579821576133e6d5bff77bf1b62637bc64e5b026d466a10ba1506d635fc
3
3
  # To regenerate: alef generate
4
- # To verify freshness: alef verify --exit-code
4
+ # To verify freshness: alef verify
5
5
  # frozen_string_literal: true
6
6
 
7
7
  require_relative "liter_llm/version"
data/lib/liter_llm_rb.so CHANGED
Binary file
data/sig/types.rbs CHANGED
@@ -1,7 +1,7 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:938b8ffd93c3e30d74875f875188c728addee9d4b80a97a7ac22716b3154c7c5
2
+ # alef:hash:a5339cc792b0081109ce66c00a4664ef4c1c15ecb5f0096c5d6ff9a4cc32c72a
3
3
  # To regenerate: alef generate
4
- # To verify freshness: alef verify --exit-code
4
+ # To verify freshness: alef verify
5
5
 
6
6
  module LiterLlm
7
7
 
@@ -10,47 +10,47 @@ module LiterLlm
10
10
  type json_value = Hash[String, untyped] | Array[untyped] | String | Integer | Float | bool | nil
11
11
 
12
12
  class SystemMessage
13
- attr_accessor content: UserContent?
14
- attr_accessor name: String?
13
+ attr_reader content: UserContent
14
+ attr_reader name: String?
15
15
 
16
16
  def initialize: (?content: UserContent, ?name: String) -> void
17
17
  end
18
18
 
19
19
  class UserMessage
20
- attr_accessor content: UserContent?
21
- attr_accessor name: String?
20
+ attr_reader content: UserContent
21
+ attr_reader name: String?
22
22
 
23
23
  def initialize: (?content: UserContent, ?name: String) -> void
24
24
  end
25
25
 
26
26
  class ImageUrl
27
- attr_accessor url: String?
28
- attr_accessor detail: ImageDetail?
27
+ attr_reader url: String
28
+ attr_reader detail: ImageDetail?
29
29
 
30
30
  def initialize: (?url: String, ?detail: ImageDetail) -> void
31
31
  end
32
32
 
33
33
  class DocumentContent
34
- attr_accessor data: String?
35
- attr_accessor media_type: String?
34
+ attr_reader data: String
35
+ attr_reader media_type: String
36
36
 
37
37
  def initialize: (?data: String, ?media_type: String) -> void
38
38
  end
39
39
 
40
40
  class AudioContent
41
- attr_accessor data: String?
42
- attr_accessor format: String?
41
+ attr_reader data: String
42
+ attr_reader format: String
43
43
 
44
44
  def initialize: (?data: String, ?format: String) -> void
45
45
  end
46
46
 
47
47
  class AssistantMessage
48
- attr_accessor content: AssistantContent?
49
- attr_accessor name: String?
50
- attr_accessor tool_calls: Array[ToolCall]?
51
- attr_accessor refusal: String?
52
- attr_accessor function_call: FunctionCall?
53
- attr_accessor reasoning_content: String?
48
+ attr_reader content: AssistantContent?
49
+ attr_reader name: String?
50
+ attr_reader tool_calls: Array[ToolCall]?
51
+ attr_reader refusal: String?
52
+ attr_reader function_call: FunctionCall?
53
+ attr_reader reasoning_content: String?
54
54
 
55
55
  def initialize: (?content: AssistantContent, ?name: String, ?tool_calls: Array[ToolCall], ?refusal: String, ?function_call: FunctionCall, ?reasoning_content: String) -> void
56
56
  def text: () -> String?
@@ -61,23 +61,23 @@ module LiterLlm
61
61
  end
62
62
 
63
63
  class ToolMessage
64
- attr_accessor content: UserContent?
65
- attr_accessor tool_call_id: String?
66
- attr_accessor name: String?
64
+ attr_reader content: UserContent
65
+ attr_reader tool_call_id: String
66
+ attr_reader name: String?
67
67
 
68
68
  def initialize: (?content: UserContent, ?tool_call_id: String, ?name: String) -> void
69
69
  end
70
70
 
71
71
  class DeveloperMessage
72
- attr_accessor content: String?
73
- attr_accessor name: String?
72
+ attr_reader content: String
73
+ attr_reader name: String?
74
74
 
75
75
  def initialize: (?content: String, ?name: String) -> void
76
76
  end
77
77
 
78
78
  class FunctionMessage
79
- attr_accessor content: String?
80
- attr_accessor name: String?
79
+ attr_reader content: String
80
+ attr_reader name: String
81
81
 
82
82
  def initialize: (?content: String, ?name: String) -> void
83
83
  end
@@ -91,11 +91,11 @@ module LiterLlm
91
91
 
92
92
  class FunctionDefinition
93
93
  attr_reader name: String
94
- attr_reader description: String
95
- attr_reader parameters: json_value
96
- attr_reader strict: bool
94
+ attr_reader description: String?
95
+ attr_reader parameters: String?
96
+ attr_reader strict: bool?
97
97
 
98
- def initialize: (name: String, ?description: String, ?parameters: json_value, ?strict: bool) -> void
98
+ def initialize: (name: String, ?description: String, ?parameters: String, ?strict: bool) -> void
99
99
  end
100
100
 
101
101
  class ToolCall
@@ -114,150 +114,160 @@ module LiterLlm
114
114
  end
115
115
 
116
116
  class SpecificToolChoice
117
- attr_accessor choice_type: ToolType?
118
- attr_accessor function: SpecificFunction?
117
+ attr_reader choice_type: ToolType
118
+ attr_reader function: SpecificFunction
119
119
 
120
120
  def initialize: (?choice_type: ToolType, ?function: SpecificFunction) -> void
121
121
  end
122
122
 
123
123
  class SpecificFunction
124
- attr_accessor name: String?
124
+ attr_reader name: String
125
125
 
126
126
  def initialize: (?name: String) -> void
127
127
  end
128
128
 
129
129
  class JsonSchemaFormat
130
- attr_accessor name: String?
131
- attr_accessor description: String?
132
- attr_accessor schema: json_value?
133
- attr_accessor strict: bool?
130
+ attr_reader name: String
131
+ attr_reader description: String?
132
+ attr_reader schema: String
133
+ attr_reader strict: bool?
134
134
 
135
- def initialize: (?name: String, ?description: String, ?schema: json_value, ?strict: bool) -> void
135
+ def initialize: (?name: String, ?description: String, ?schema: String, ?strict: bool) -> void
136
136
  end
137
137
 
138
138
  class Usage
139
- attr_accessor prompt_tokens: Integer?
140
- attr_accessor completion_tokens: Integer?
141
- attr_accessor total_tokens: Integer?
142
- attr_accessor prompt_tokens_details: PromptTokensDetails?
139
+ attr_reader prompt_tokens: Integer
140
+ attr_reader completion_tokens: Integer
141
+ attr_reader total_tokens: Integer
142
+ attr_reader prompt_tokens_details: PromptTokensDetails?
143
143
 
144
144
  def initialize: (?prompt_tokens: Integer, ?completion_tokens: Integer, ?total_tokens: Integer, ?prompt_tokens_details: PromptTokensDetails) -> void
145
145
  end
146
146
 
147
147
  class PromptTokensDetails
148
- attr_accessor cached_tokens: Integer?
149
- attr_accessor audio_tokens: Integer?
148
+ attr_reader cached_tokens: Integer
149
+ attr_reader audio_tokens: Integer
150
150
 
151
151
  def initialize: (?cached_tokens: Integer, ?audio_tokens: Integer) -> void
152
152
  end
153
153
 
154
154
  class ChatCompletionRequest
155
- attr_accessor model: String?
156
- attr_accessor messages: Array[Message]?
157
- attr_accessor temperature: Float?
158
- attr_accessor top_p: Float?
159
- attr_accessor n: Integer?
160
- attr_accessor stream: bool?
161
- attr_accessor stop: StopSequence?
162
- attr_accessor max_tokens: Integer?
163
- attr_accessor presence_penalty: Float?
164
- attr_accessor frequency_penalty: Float?
165
- attr_accessor logit_bias: Hash[String, Float]?
166
- attr_accessor user: String?
167
- attr_accessor tools: Array[ChatCompletionTool]?
168
- attr_accessor tool_choice: ToolChoice?
169
- attr_accessor parallel_tool_calls: bool?
170
- attr_accessor response_format: ResponseFormat?
171
- attr_accessor stream_options: StreamOptions?
172
- attr_accessor seed: Integer?
173
- attr_accessor reasoning_effort: ReasoningEffort?
174
- attr_accessor modalities: Array[Modality]?
175
- attr_accessor extra_body: json_value?
176
-
177
- def initialize: (?model: String, ?messages: Array[Message], ?temperature: Float, ?top_p: Float, ?n: Integer, ?stream: bool, ?stop: StopSequence, ?max_tokens: Integer, ?presence_penalty: Float, ?frequency_penalty: Float, ?logit_bias: Hash[String, Float], ?user: String, ?tools: Array[ChatCompletionTool], ?tool_choice: ToolChoice, ?parallel_tool_calls: bool, ?response_format: ResponseFormat, ?stream_options: StreamOptions, ?seed: Integer, ?reasoning_effort: ReasoningEffort, ?modalities: Array[Modality], ?extra_body: json_value) -> void
155
+ attr_reader model: String
156
+ attr_reader messages: Array[Message]
157
+ attr_reader temperature: Float?
158
+ attr_reader top_p: Float?
159
+ attr_reader n: Integer?
160
+ attr_reader stream: bool?
161
+ attr_reader stop: StopSequence?
162
+ attr_reader max_tokens: Integer?
163
+ attr_reader presence_penalty: Float?
164
+ attr_reader frequency_penalty: Float?
165
+ attr_reader logit_bias: Hash[String, Float]?
166
+ attr_reader user: String?
167
+ attr_reader tools: Array[ChatCompletionTool]?
168
+ attr_reader tool_choice: ToolChoice?
169
+ attr_reader parallel_tool_calls: bool?
170
+ attr_reader response_format: ResponseFormat?
171
+ attr_reader stream_options: StreamOptions?
172
+ attr_reader seed: Integer?
173
+ attr_reader reasoning_effort: ReasoningEffort?
174
+ attr_reader modalities: Array[Modality]?
175
+ attr_reader logprobs: bool?
176
+ attr_reader top_logprobs: Integer?
177
+ attr_reader max_completion_tokens: Integer?
178
+ attr_reader service_tier: String?
179
+ attr_reader store: bool?
180
+ attr_reader metadata: Hash[String, String]?
181
+ attr_reader prediction: String?
182
+ attr_reader audio: String?
183
+ attr_reader web_search_options: String?
184
+ attr_reader extra_body: String?
185
+
186
+ def initialize: (?model: String, ?messages: Array[Message], ?temperature: Float, ?top_p: Float, ?n: Integer, ?stream: bool, ?stop: StopSequence, ?max_tokens: Integer, ?presence_penalty: Float, ?frequency_penalty: Float, ?logit_bias: Hash[String, Float], ?user: String, ?tools: Array[ChatCompletionTool], ?tool_choice: ToolChoice, ?parallel_tool_calls: bool, ?response_format: ResponseFormat, ?stream_options: StreamOptions, ?seed: Integer, ?reasoning_effort: ReasoningEffort, ?modalities: Array[Modality], ?logprobs: bool, ?top_logprobs: Integer, ?max_completion_tokens: Integer, ?service_tier: String, ?store: bool, ?metadata: Hash[String, String], ?prediction: String, ?audio: String, ?web_search_options: String, ?extra_body: String) -> void
178
187
  end
179
188
 
180
189
  class StreamOptions
181
- attr_accessor include_usage: bool?
190
+ attr_reader include_usage: bool?
182
191
 
183
192
  def initialize: (?include_usage: bool) -> void
184
193
  end
185
194
 
186
195
  class ChatCompletionResponse
187
- attr_accessor id: String?
188
- attr_accessor object: String?
189
- attr_accessor created: Integer?
190
- attr_accessor model: String?
191
- attr_accessor choices: Array[Choice]?
192
- attr_accessor usage: Usage?
193
- attr_accessor system_fingerprint: String?
194
- attr_accessor service_tier: String?
196
+ attr_reader id: String
197
+ attr_reader object: String
198
+ attr_reader created: Integer
199
+ attr_reader model: String
200
+ attr_reader choices: Array[Choice]
201
+ attr_reader usage: Usage?
202
+ attr_reader system_fingerprint: String?
203
+ attr_reader service_tier: String?
195
204
 
196
205
  def initialize: (?id: String, ?object: String, ?created: Integer, ?model: String, ?choices: Array[Choice], ?usage: Usage, ?system_fingerprint: String, ?service_tier: String) -> void
197
206
  end
198
207
 
199
208
  class Choice
200
- attr_accessor index: Integer?
201
- attr_accessor message: AssistantMessage?
202
- attr_accessor finish_reason: FinishReason?
209
+ attr_reader index: Integer
210
+ attr_reader message: AssistantMessage
211
+ attr_reader finish_reason: FinishReason?
212
+ attr_reader logprobs: String?
203
213
 
204
- def initialize: (?index: Integer, ?message: AssistantMessage, ?finish_reason: FinishReason) -> void
214
+ def initialize: (?index: Integer, ?message: AssistantMessage, ?finish_reason: FinishReason, ?logprobs: String) -> void
205
215
  end
206
216
 
207
217
  class ChatCompletionChunk
208
- attr_accessor id: String?
209
- attr_accessor object: String?
210
- attr_accessor created: Integer?
211
- attr_accessor model: String?
212
- attr_accessor choices: Array[StreamChoice]?
213
- attr_accessor usage: Usage?
214
- attr_accessor system_fingerprint: String?
215
- attr_accessor service_tier: String?
218
+ attr_reader id: String
219
+ attr_reader object: String
220
+ attr_reader created: Integer
221
+ attr_reader model: String
222
+ attr_reader choices: Array[StreamChoice]
223
+ attr_reader usage: Usage?
224
+ attr_reader system_fingerprint: String?
225
+ attr_reader service_tier: String?
216
226
 
217
227
  def initialize: (?id: String, ?object: String, ?created: Integer, ?model: String, ?choices: Array[StreamChoice], ?usage: Usage, ?system_fingerprint: String, ?service_tier: String) -> void
218
228
  end
219
229
 
220
230
  class StreamChoice
221
- attr_accessor index: Integer?
222
- attr_accessor delta: StreamDelta?
223
- attr_accessor finish_reason: FinishReason?
231
+ attr_reader index: Integer
232
+ attr_reader delta: StreamDelta
233
+ attr_reader finish_reason: FinishReason?
224
234
 
225
235
  def initialize: (?index: Integer, ?delta: StreamDelta, ?finish_reason: FinishReason) -> void
226
236
  end
227
237
 
228
238
  class StreamDelta
229
- attr_accessor role: String?
230
- attr_accessor content: String?
231
- attr_accessor tool_calls: Array[StreamToolCall]?
232
- attr_accessor function_call: StreamFunctionCall?
233
- attr_accessor refusal: String?
234
- attr_accessor reasoning_content: String?
239
+ attr_reader role: String?
240
+ attr_reader content: String?
241
+ attr_reader tool_calls: Array[StreamToolCall]?
242
+ attr_reader function_call: StreamFunctionCall?
243
+ attr_reader refusal: String?
244
+ attr_reader reasoning_content: String?
235
245
 
236
246
  def initialize: (?role: String, ?content: String, ?tool_calls: Array[StreamToolCall], ?function_call: StreamFunctionCall, ?refusal: String, ?reasoning_content: String) -> void
237
247
  end
238
248
 
239
249
  class StreamToolCall
240
- attr_accessor index: Integer?
241
- attr_accessor id: String?
242
- attr_accessor call_type: ToolType?
243
- attr_accessor function: StreamFunctionCall?
250
+ attr_reader index: Integer
251
+ attr_reader id: String?
252
+ attr_reader call_type: ToolType?
253
+ attr_reader function: StreamFunctionCall?
244
254
 
245
255
  def initialize: (?index: Integer, ?id: String, ?call_type: ToolType, ?function: StreamFunctionCall) -> void
246
256
  end
247
257
 
248
258
  class StreamFunctionCall
249
- attr_accessor name: String?
250
- attr_accessor arguments: String?
259
+ attr_reader name: String?
260
+ attr_reader arguments: String?
251
261
 
252
262
  def initialize: (?name: String, ?arguments: String) -> void
253
263
  end
254
264
 
255
265
  class EmbeddingRequest
256
- attr_accessor model: String?
257
- attr_accessor input: EmbeddingInput?
258
- attr_accessor encoding_format: EmbeddingFormat?
259
- attr_accessor dimensions: Integer?
260
- attr_accessor user: String?
266
+ attr_reader model: String
267
+ attr_reader input: EmbeddingInput
268
+ attr_reader encoding_format: EmbeddingFormat?
269
+ attr_reader dimensions: Integer?
270
+ attr_reader user: String?
261
271
 
262
272
  def initialize: (?model: String, ?input: EmbeddingInput, ?encoding_format: EmbeddingFormat, ?dimensions: Integer, ?user: String) -> void
263
273
  end
@@ -266,7 +276,7 @@ module LiterLlm
266
276
  attr_reader object: String
267
277
  attr_reader data: Array[EmbeddingObject]
268
278
  attr_reader model: String
269
- attr_reader usage: Usage
279
+ attr_reader usage: Usage?
270
280
 
271
281
  def initialize: (object: String, data: Array[EmbeddingObject], model: String, ?usage: Usage) -> void
272
282
  end
@@ -280,82 +290,82 @@ module LiterLlm
280
290
  end
281
291
 
282
292
  class CreateImageRequest
283
- attr_accessor prompt: String?
284
- attr_accessor model: String?
285
- attr_accessor n: Integer?
286
- attr_accessor size: String?
287
- attr_accessor quality: String?
288
- attr_accessor style: String?
289
- attr_accessor response_format: String?
290
- attr_accessor user: String?
293
+ attr_reader prompt: String
294
+ attr_reader model: String?
295
+ attr_reader n: Integer?
296
+ attr_reader size: String?
297
+ attr_reader quality: String?
298
+ attr_reader style: String?
299
+ attr_reader response_format: String?
300
+ attr_reader user: String?
291
301
 
292
302
  def initialize: (?prompt: String, ?model: String, ?n: Integer, ?size: String, ?quality: String, ?style: String, ?response_format: String, ?user: String) -> void
293
303
  end
294
304
 
295
305
  class ImagesResponse
296
- attr_accessor created: Integer?
297
- attr_accessor data: Array[Image]?
306
+ attr_reader created: Integer
307
+ attr_reader data: Array[Image]
298
308
 
299
309
  def initialize: (?created: Integer, ?data: Array[Image]) -> void
300
310
  end
301
311
 
302
312
  class Image
303
- attr_accessor url: String?
304
- attr_accessor b64_json: String?
305
- attr_accessor revised_prompt: String?
313
+ attr_reader url: String?
314
+ attr_reader b64_json: String?
315
+ attr_reader revised_prompt: String?
306
316
 
307
317
  def initialize: (?url: String, ?b64_json: String, ?revised_prompt: String) -> void
308
318
  end
309
319
 
310
320
  class DecodedDataUrl
311
- attr_accessor mime: String?
312
- attr_accessor data: String?
321
+ attr_reader mime: String
322
+ attr_reader data: String
313
323
 
314
324
  def initialize: (?mime: String, ?data: String) -> void
315
325
  end
316
326
 
317
327
  class CreateSpeechRequest
318
- attr_accessor model: String?
319
- attr_accessor input: String?
320
- attr_accessor voice: String?
321
- attr_accessor response_format: String?
322
- attr_accessor speed: Float?
328
+ attr_reader model: String
329
+ attr_reader input: String
330
+ attr_reader voice: String
331
+ attr_reader response_format: String?
332
+ attr_reader speed: Float?
323
333
 
324
334
  def initialize: (?model: String, ?input: String, ?voice: String, ?response_format: String, ?speed: Float) -> void
325
335
  end
326
336
 
327
337
  class CreateTranscriptionRequest
328
- attr_accessor model: String?
329
- attr_accessor file: String?
330
- attr_accessor language: String?
331
- attr_accessor prompt: String?
332
- attr_accessor response_format: String?
333
- attr_accessor temperature: Float?
338
+ attr_reader model: String
339
+ attr_reader file: String
340
+ attr_reader language: String?
341
+ attr_reader prompt: String?
342
+ attr_reader response_format: String?
343
+ attr_reader temperature: Float?
334
344
 
335
345
  def initialize: (?model: String, ?file: String, ?language: String, ?prompt: String, ?response_format: String, ?temperature: Float) -> void
336
346
  end
337
347
 
338
348
  class TranscriptionResponse
339
- attr_accessor text: String?
340
- attr_accessor language: String?
341
- attr_accessor duration: Float?
342
- attr_accessor segments: Array[TranscriptionSegment]?
349
+ attr_reader text: String
350
+ attr_reader language: String?
351
+ attr_reader duration: Float?
352
+ attr_reader segments: Array[TranscriptionSegment]?
343
353
 
344
354
  def initialize: (?text: String, ?language: String, ?duration: Float, ?segments: Array[TranscriptionSegment]) -> void
345
355
  end
346
356
 
347
357
  class TranscriptionSegment
348
- attr_accessor id: Integer?
349
- attr_accessor start: Float?
350
- attr_accessor end: Float?
351
- attr_accessor text: String?
358
+ attr_reader id: Integer
359
+ attr_reader start: Float
360
+ attr_reader end: Float
361
+ attr_reader text: String
352
362
 
353
363
  def initialize: (?id: Integer, ?start: Float, ?end: Float, ?text: String) -> void
354
364
  end
355
365
 
356
366
  class ModerationRequest
357
- attr_accessor input: ModerationInput?
358
- attr_accessor model: String?
367
+ attr_reader input: ModerationInput
368
+ attr_reader model: String?
359
369
 
360
370
  def initialize: (?input: ModerationInput, ?model: String) -> void
361
371
  end
@@ -377,59 +387,59 @@ module LiterLlm
377
387
  end
378
388
 
379
389
  class ModerationCategories
380
- attr_accessor sexual: bool?
381
- attr_accessor hate: bool?
382
- attr_accessor harassment: bool?
383
- attr_accessor self_harm: bool?
384
- attr_accessor sexual_minors: bool?
385
- attr_accessor hate_threatening: bool?
386
- attr_accessor violence_graphic: bool?
387
- attr_accessor self_harm_intent: bool?
388
- attr_accessor self_harm_instructions: bool?
389
- attr_accessor harassment_threatening: bool?
390
- attr_accessor violence: bool?
390
+ attr_reader sexual: bool
391
+ attr_reader hate: bool
392
+ attr_reader harassment: bool
393
+ attr_reader self_harm: bool
394
+ attr_reader sexual_minors: bool
395
+ attr_reader hate_threatening: bool
396
+ attr_reader violence_graphic: bool
397
+ attr_reader self_harm_intent: bool
398
+ attr_reader self_harm_instructions: bool
399
+ attr_reader harassment_threatening: bool
400
+ attr_reader violence: bool
391
401
 
392
402
  def initialize: (?sexual: bool, ?hate: bool, ?harassment: bool, ?self_harm: bool, ?sexual_minors: bool, ?hate_threatening: bool, ?violence_graphic: bool, ?self_harm_intent: bool, ?self_harm_instructions: bool, ?harassment_threatening: bool, ?violence: bool) -> void
393
403
  end
394
404
 
395
405
  class ModerationCategoryScores
396
- attr_accessor sexual: Float?
397
- attr_accessor hate: Float?
398
- attr_accessor harassment: Float?
399
- attr_accessor self_harm: Float?
400
- attr_accessor sexual_minors: Float?
401
- attr_accessor hate_threatening: Float?
402
- attr_accessor violence_graphic: Float?
403
- attr_accessor self_harm_intent: Float?
404
- attr_accessor self_harm_instructions: Float?
405
- attr_accessor harassment_threatening: Float?
406
- attr_accessor violence: Float?
406
+ attr_reader sexual: Float
407
+ attr_reader hate: Float
408
+ attr_reader harassment: Float
409
+ attr_reader self_harm: Float
410
+ attr_reader sexual_minors: Float
411
+ attr_reader hate_threatening: Float
412
+ attr_reader violence_graphic: Float
413
+ attr_reader self_harm_intent: Float
414
+ attr_reader self_harm_instructions: Float
415
+ attr_reader harassment_threatening: Float
416
+ attr_reader violence: Float
407
417
 
408
418
  def initialize: (?sexual: Float, ?hate: Float, ?harassment: Float, ?self_harm: Float, ?sexual_minors: Float, ?hate_threatening: Float, ?violence_graphic: Float, ?self_harm_intent: Float, ?self_harm_instructions: Float, ?harassment_threatening: Float, ?violence: Float) -> void
409
419
  end
410
420
 
411
421
  class RerankRequest
412
- attr_accessor model: String?
413
- attr_accessor query: String?
414
- attr_accessor documents: Array[RerankDocument]?
415
- attr_accessor top_n: Integer?
416
- attr_accessor return_documents: bool?
422
+ attr_reader model: String
423
+ attr_reader query: String
424
+ attr_reader documents: Array[RerankDocument]
425
+ attr_reader top_n: Integer?
426
+ attr_reader return_documents: bool?
417
427
 
418
428
  def initialize: (?model: String, ?query: String, ?documents: Array[RerankDocument], ?top_n: Integer, ?return_documents: bool) -> void
419
429
  end
420
430
 
421
431
  class RerankResponse
422
- attr_reader id: String
432
+ attr_reader id: String?
423
433
  attr_reader results: Array[RerankResult]
424
- attr_reader meta: json_value
434
+ attr_reader meta: String?
425
435
 
426
- def initialize: (?id: String, results: Array[RerankResult], ?meta: json_value) -> void
436
+ def initialize: (?id: String, results: Array[RerankResult], ?meta: String) -> void
427
437
  end
428
438
 
429
439
  class RerankResult
430
440
  attr_reader index: Integer
431
441
  attr_reader relevance_score: Float
432
- attr_reader document: RerankResultDocument
442
+ attr_reader document: RerankResultDocument?
433
443
 
434
444
  def initialize: (index: Integer, relevance_score: Float, ?document: RerankResultDocument) -> void
435
445
  end
@@ -441,11 +451,11 @@ module LiterLlm
441
451
  end
442
452
 
443
453
  class SearchRequest
444
- attr_accessor model: String?
445
- attr_accessor query: String?
446
- attr_accessor max_results: Integer?
447
- attr_accessor search_domain_filter: Array[String]?
448
- attr_accessor country: String?
454
+ attr_reader model: String
455
+ attr_reader query: String
456
+ attr_reader max_results: Integer?
457
+ attr_reader search_domain_filter: Array[String]?
458
+ attr_reader country: String?
449
459
 
450
460
  def initialize: (?model: String, ?query: String, ?max_results: Integer, ?search_domain_filter: Array[String], ?country: String) -> void
451
461
  end
@@ -461,16 +471,16 @@ module LiterLlm
461
471
  attr_reader title: String
462
472
  attr_reader url: String
463
473
  attr_reader snippet: String
464
- attr_reader date: String
474
+ attr_reader date: String?
465
475
 
466
476
  def initialize: (title: String, url: String, snippet: String, ?date: String) -> void
467
477
  end
468
478
 
469
479
  class OcrRequest
470
- attr_accessor model: String?
471
- attr_accessor document: OcrDocument?
472
- attr_accessor pages: Array[Integer]?
473
- attr_accessor include_image_base64: bool?
480
+ attr_reader model: String
481
+ attr_reader document: OcrDocument
482
+ attr_reader pages: Array[Integer]?
483
+ attr_reader include_image_base64: bool?
474
484
 
475
485
  def initialize: (?model: String, ?document: OcrDocument, ?pages: Array[Integer], ?include_image_base64: bool) -> void
476
486
  end
@@ -478,7 +488,7 @@ module LiterLlm
478
488
  class OcrResponse
479
489
  attr_reader pages: Array[OcrPage]
480
490
  attr_reader model: String
481
- attr_reader usage: Usage
491
+ attr_reader usage: Usage?
482
492
 
483
493
  def initialize: (pages: Array[OcrPage], model: String, ?usage: Usage) -> void
484
494
  end
@@ -486,15 +496,15 @@ module LiterLlm
486
496
  class OcrPage
487
497
  attr_reader index: Integer
488
498
  attr_reader markdown: String
489
- attr_reader images: Array[OcrImage]
490
- attr_reader dimensions: PageDimensions
499
+ attr_reader images: Array[OcrImage]?
500
+ attr_reader dimensions: PageDimensions?
491
501
 
492
502
  def initialize: (index: Integer, markdown: String, ?images: Array[OcrImage], ?dimensions: PageDimensions) -> void
493
503
  end
494
504
 
495
505
  class OcrImage
496
506
  attr_reader id: String
497
- attr_reader image_base64: String
507
+ attr_reader image_base64: String?
498
508
 
499
509
  def initialize: (id: String, ?image_base64: String) -> void
500
510
  end
@@ -507,241 +517,241 @@ module LiterLlm
507
517
  end
508
518
 
509
519
  class ModelsListResponse
510
- attr_accessor object: String?
511
- attr_accessor data: Array[ModelObject]?
520
+ attr_reader object: String
521
+ attr_reader data: Array[ModelObject]
512
522
 
513
523
  def initialize: (?object: String, ?data: Array[ModelObject]) -> void
514
524
  end
515
525
 
516
526
  class ModelObject
517
- attr_accessor id: String?
518
- attr_accessor object: String?
519
- attr_accessor created: Integer?
520
- attr_accessor owned_by: String?
527
+ attr_reader id: String
528
+ attr_reader object: String
529
+ attr_reader created: Integer
530
+ attr_reader owned_by: String
521
531
 
522
532
  def initialize: (?id: String, ?object: String, ?created: Integer, ?owned_by: String) -> void
523
533
  end
524
534
 
525
535
  class CreateFileRequest
526
- attr_accessor file: String?
527
- attr_accessor purpose: FilePurpose?
528
- attr_accessor filename: String?
536
+ attr_reader file: String
537
+ attr_reader purpose: FilePurpose
538
+ attr_reader filename: String?
529
539
 
530
540
  def initialize: (?file: String, ?purpose: FilePurpose, ?filename: String) -> void
531
541
  end
532
542
 
533
543
  class FileObject
534
- attr_accessor id: String?
535
- attr_accessor object: String?
536
- attr_accessor bytes: Integer?
537
- attr_accessor created_at: Integer?
538
- attr_accessor filename: String?
539
- attr_accessor purpose: String?
540
- attr_accessor status: String?
544
+ attr_reader id: String
545
+ attr_reader object: String
546
+ attr_reader bytes: Integer
547
+ attr_reader created_at: Integer
548
+ attr_reader filename: String
549
+ attr_reader purpose: String
550
+ attr_reader status: String?
541
551
 
542
552
  def initialize: (?id: String, ?object: String, ?bytes: Integer, ?created_at: Integer, ?filename: String, ?purpose: String, ?status: String) -> void
543
553
  end
544
554
 
545
555
  class FileListResponse
546
- attr_accessor object: String?
547
- attr_accessor data: Array[FileObject]?
548
- attr_accessor has_more: bool?
556
+ attr_reader object: String
557
+ attr_reader data: Array[FileObject]
558
+ attr_reader has_more: bool?
549
559
 
550
560
  def initialize: (?object: String, ?data: Array[FileObject], ?has_more: bool) -> void
551
561
  end
552
562
 
553
563
  class FileListQuery
554
- attr_accessor purpose: String?
555
- attr_accessor limit: Integer?
556
- attr_accessor after: String?
564
+ attr_reader purpose: String?
565
+ attr_reader limit: Integer?
566
+ attr_reader after: String?
557
567
 
558
568
  def initialize: (?purpose: String, ?limit: Integer, ?after: String) -> void
559
569
  end
560
570
 
561
571
  class DeleteResponse
562
- attr_accessor id: String?
563
- attr_accessor object: String?
564
- attr_accessor deleted: bool?
572
+ attr_reader id: String
573
+ attr_reader object: String
574
+ attr_reader deleted: bool
565
575
 
566
576
  def initialize: (?id: String, ?object: String, ?deleted: bool) -> void
567
577
  end
568
578
 
569
579
  class CreateBatchRequest
570
- attr_accessor input_file_id: String?
571
- attr_accessor endpoint: String?
572
- attr_accessor completion_window: String?
573
- attr_accessor metadata: json_value?
580
+ attr_reader input_file_id: String
581
+ attr_reader endpoint: String
582
+ attr_reader completion_window: String
583
+ attr_reader metadata: String?
574
584
 
575
- def initialize: (?input_file_id: String, ?endpoint: String, ?completion_window: String, ?metadata: json_value) -> void
585
+ def initialize: (?input_file_id: String, ?endpoint: String, ?completion_window: String, ?metadata: String) -> void
576
586
  end
577
587
 
578
588
  class BatchObject
579
- attr_accessor id: String?
580
- attr_accessor object: String?
581
- attr_accessor endpoint: String?
582
- attr_accessor input_file_id: String?
583
- attr_accessor completion_window: String?
584
- attr_accessor status: BatchStatus?
585
- attr_accessor output_file_id: String?
586
- attr_accessor error_file_id: String?
587
- attr_accessor created_at: Integer?
588
- attr_accessor completed_at: Integer?
589
- attr_accessor failed_at: Integer?
590
- attr_accessor expired_at: Integer?
591
- attr_accessor request_counts: BatchRequestCounts?
592
- attr_accessor metadata: json_value?
593
-
594
- def initialize: (?id: String, ?object: String, ?endpoint: String, ?input_file_id: String, ?completion_window: String, ?status: BatchStatus, ?output_file_id: String, ?error_file_id: String, ?created_at: Integer, ?completed_at: Integer, ?failed_at: Integer, ?expired_at: Integer, ?request_counts: BatchRequestCounts, ?metadata: json_value) -> void
589
+ attr_reader id: String
590
+ attr_reader object: String
591
+ attr_reader endpoint: String
592
+ attr_reader input_file_id: String
593
+ attr_reader completion_window: String
594
+ attr_reader status: BatchStatus
595
+ attr_reader output_file_id: String?
596
+ attr_reader error_file_id: String?
597
+ attr_reader created_at: Integer
598
+ attr_reader completed_at: Integer?
599
+ attr_reader failed_at: Integer?
600
+ attr_reader expired_at: Integer?
601
+ attr_reader request_counts: BatchRequestCounts?
602
+ attr_reader metadata: String?
603
+
604
+ def initialize: (?id: String, ?object: String, ?endpoint: String, ?input_file_id: String, ?completion_window: String, ?status: BatchStatus, ?output_file_id: String, ?error_file_id: String, ?created_at: Integer, ?completed_at: Integer, ?failed_at: Integer, ?expired_at: Integer, ?request_counts: BatchRequestCounts, ?metadata: String) -> void
595
605
  end
596
606
 
597
607
  class BatchRequestCounts
598
- attr_accessor total: Integer?
599
- attr_accessor completed: Integer?
600
- attr_accessor failed: Integer?
608
+ attr_reader total: Integer
609
+ attr_reader completed: Integer
610
+ attr_reader failed: Integer
601
611
 
602
612
  def initialize: (?total: Integer, ?completed: Integer, ?failed: Integer) -> void
603
613
  end
604
614
 
605
615
  class BatchListResponse
606
- attr_accessor object: String?
607
- attr_accessor data: Array[BatchObject]?
608
- attr_accessor has_more: bool?
609
- attr_accessor first_id: String?
610
- attr_accessor last_id: String?
616
+ attr_reader object: String
617
+ attr_reader data: Array[BatchObject]
618
+ attr_reader has_more: bool?
619
+ attr_reader first_id: String?
620
+ attr_reader last_id: String?
611
621
 
612
622
  def initialize: (?object: String, ?data: Array[BatchObject], ?has_more: bool, ?first_id: String, ?last_id: String) -> void
613
623
  end
614
624
 
615
625
  class BatchListQuery
616
- attr_accessor limit: Integer?
617
- attr_accessor after: String?
626
+ attr_reader limit: Integer?
627
+ attr_reader after: String?
618
628
 
619
629
  def initialize: (?limit: Integer, ?after: String) -> void
620
630
  end
621
631
 
622
632
  class CreateResponseRequest
623
- attr_accessor model: String?
624
- attr_accessor input: json_value?
625
- attr_accessor instructions: String?
626
- attr_accessor tools: Array[ResponseTool]?
627
- attr_accessor temperature: Float?
628
- attr_accessor max_output_tokens: Integer?
629
- attr_accessor metadata: json_value?
630
- attr_accessor stream: bool?
633
+ attr_reader model: String
634
+ attr_reader input: String
635
+ attr_reader instructions: String?
636
+ attr_reader tools: Array[ResponseTool]?
637
+ attr_reader temperature: Float?
638
+ attr_reader max_output_tokens: Integer?
639
+ attr_reader metadata: String?
640
+ attr_reader extra_body: String?
641
+ attr_reader stream: bool?
631
642
 
632
- def initialize: (?model: String, ?input: json_value, ?instructions: String, ?tools: Array[ResponseTool], ?temperature: Float, ?max_output_tokens: Integer, ?metadata: json_value, ?stream: bool) -> void
643
+ def initialize: (?model: String, ?input: String, ?instructions: String, ?tools: Array[ResponseTool], ?temperature: Float, ?max_output_tokens: Integer, ?metadata: String, ?extra_body: String, ?stream: bool) -> void
633
644
  end
634
645
 
635
646
  class ResponseTool
636
- attr_accessor tool_type: String?
637
- attr_accessor config: json_value?
647
+ attr_reader tool_type: String
648
+ attr_reader config: String
638
649
 
639
- def initialize: (?tool_type: String, ?config: json_value) -> void
650
+ def initialize: (?tool_type: String, ?config: String) -> void
640
651
  end
641
652
 
642
653
  class ResponseObject
643
- attr_accessor id: String?
644
- attr_accessor object: String?
645
- attr_accessor created_at: Integer?
646
- attr_accessor model: String?
647
- attr_accessor status: String?
648
- attr_accessor output: Array[ResponseOutputItem]?
649
- attr_accessor usage: ResponseUsage?
650
- attr_accessor error: json_value?
654
+ attr_reader id: String
655
+ attr_reader object: String
656
+ attr_reader created_at: Integer
657
+ attr_reader model: String
658
+ attr_reader status: String
659
+ attr_reader output: Array[ResponseOutputItem]
660
+ attr_reader usage: ResponseUsage?
661
+ attr_reader error: String?
651
662
 
652
- def initialize: (?id: String, ?object: String, ?created_at: Integer, ?model: String, ?status: String, ?output: Array[ResponseOutputItem], ?usage: ResponseUsage, ?error: json_value) -> void
663
+ def initialize: (?id: String, ?object: String, ?created_at: Integer, ?model: String, ?status: String, ?output: Array[ResponseOutputItem], ?usage: ResponseUsage, ?error: String) -> void
653
664
  end
654
665
 
655
666
  class ResponseOutputItem
656
- attr_accessor item_type: String?
657
- attr_accessor content: json_value?
667
+ attr_reader item_type: String
668
+ attr_reader content: String
658
669
 
659
- def initialize: (?item_type: String, ?content: json_value) -> void
670
+ def initialize: (?item_type: String, ?content: String) -> void
660
671
  end
661
672
 
662
673
  class ResponseUsage
663
- attr_accessor input_tokens: Integer?
664
- attr_accessor output_tokens: Integer?
665
- attr_accessor total_tokens: Integer?
674
+ attr_reader input_tokens: Integer
675
+ attr_reader output_tokens: Integer
676
+ attr_reader total_tokens: Integer
666
677
 
667
678
  def initialize: (?input_tokens: Integer, ?output_tokens: Integer, ?total_tokens: Integer) -> void
668
679
  end
669
680
 
670
681
  class LlmConfig
671
- attr_accessor model: String?
672
- attr_accessor api_key: String?
673
- attr_accessor base_url: String?
674
- attr_accessor timeout_secs: Integer?
675
- attr_accessor max_retries: Integer?
676
- attr_accessor temperature: Float?
677
- attr_accessor max_tokens: Integer?
678
- attr_accessor load_env: bool?
679
- attr_accessor headers: Hash[String, String]?
680
- attr_accessor providers: Array[LlmProviderConfig]?
681
- attr_accessor cache: LlmCacheConfig?
682
- attr_accessor budget: LlmBudgetConfig?
683
- attr_accessor rate_limit: LlmRateLimitConfig?
684
- attr_accessor cost_tracking: bool?
685
- attr_accessor tracing: bool?
686
- attr_accessor cooldown_secs: Integer?
687
- attr_accessor health_check_secs: Integer?
688
- attr_accessor bedrock: BedrockConfig?
682
+ attr_reader model: String
683
+ attr_reader api_key: String?
684
+ attr_reader base_url: String?
685
+ attr_reader timeout_secs: Integer?
686
+ attr_reader max_retries: Integer?
687
+ attr_reader temperature: Float?
688
+ attr_reader max_tokens: Integer?
689
+ attr_reader load_env: bool?
690
+ attr_reader headers: Hash[String, String]?
691
+ attr_reader providers: Array[LlmProviderConfig]?
692
+ attr_reader cache: LlmCacheConfig?
693
+ attr_reader budget: LlmBudgetConfig?
694
+ attr_reader rate_limit: LlmRateLimitConfig?
695
+ attr_reader cost_tracking: bool?
696
+ attr_reader tracing: bool?
697
+ attr_reader cooldown_secs: Integer?
698
+ attr_reader health_check_secs: Integer?
699
+ attr_reader bedrock: BedrockConfig?
689
700
 
690
701
  def initialize: (?model: String, ?api_key: String, ?base_url: String, ?timeout_secs: Integer, ?max_retries: Integer, ?temperature: Float, ?max_tokens: Integer, ?load_env: bool, ?headers: Hash[String, String], ?providers: Array[LlmProviderConfig], ?cache: LlmCacheConfig, ?budget: LlmBudgetConfig, ?rate_limit: LlmRateLimitConfig, ?cost_tracking: bool, ?tracing: bool, ?cooldown_secs: Integer, ?health_check_secs: Integer, ?bedrock: BedrockConfig) -> void
691
702
  end
692
703
 
693
704
  class LlmCacheConfig
694
- attr_accessor max_entries: Integer?
695
- attr_accessor ttl_seconds: Integer?
696
- attr_accessor backend: String?
697
- attr_accessor backend_config: Hash[String, String]?
705
+ attr_reader max_entries: Integer?
706
+ attr_reader ttl_seconds: Integer?
707
+ attr_reader backend: String?
708
+ attr_reader backend_config: Hash[String, String]?
698
709
 
699
710
  def initialize: (?max_entries: Integer, ?ttl_seconds: Integer, ?backend: String, ?backend_config: Hash[String, String]) -> void
700
711
  end
701
712
 
702
713
  class LlmBudgetConfig
703
- attr_accessor global_limit: Float?
704
- attr_accessor model_limits: Hash[String, Float]?
705
- attr_accessor enforcement: String?
714
+ attr_reader global_limit: Float?
715
+ attr_reader model_limits: Hash[String, Float]?
716
+ attr_reader enforcement: String?
706
717
 
707
718
  def initialize: (?global_limit: Float, ?model_limits: Hash[String, Float], ?enforcement: String) -> void
708
719
  end
709
720
 
710
721
  class LlmRateLimitConfig
711
- attr_accessor rpm: Integer?
712
- attr_accessor tpm: Integer?
713
- attr_accessor window_seconds: Integer?
722
+ attr_reader rpm: Integer?
723
+ attr_reader tpm: Integer?
724
+ attr_reader window_seconds: Integer?
714
725
 
715
726
  def initialize: (?rpm: Integer, ?tpm: Integer, ?window_seconds: Integer) -> void
716
727
  end
717
728
 
718
729
  class LlmProviderConfig
719
- attr_accessor name: String?
720
- attr_accessor base_url: String?
721
- attr_accessor auth_header: String?
722
- attr_accessor model_prefixes: Array[String]?
730
+ attr_reader name: String
731
+ attr_reader base_url: String
732
+ attr_reader auth_header: String?
733
+ attr_reader model_prefixes: Array[String]
723
734
 
724
735
  def initialize: (?name: String, ?base_url: String, ?auth_header: String, ?model_prefixes: Array[String]) -> void
725
736
  end
726
737
 
727
738
  class BedrockConfig
728
- attr_accessor region: String?
729
- attr_accessor cross_region_prefix: String?
730
- attr_accessor access_key_id: String?
731
- attr_accessor secret_access_key: String?
732
- attr_accessor session_token: String?
739
+ attr_reader region: String?
740
+ attr_reader cross_region_prefix: String?
741
+ attr_reader access_key_id: String?
742
+ attr_reader secret_access_key: String?
743
+ attr_reader session_token: String?
733
744
 
734
745
  def initialize: (?region: String, ?cross_region_prefix: String, ?access_key_id: String, ?secret_access_key: String, ?session_token: String) -> void
735
746
  end
736
747
 
737
748
  class WaitForBatchConfig
738
- attr_accessor initial_interval_secs: Float?
739
- attr_accessor max_interval_secs: Float?
740
- attr_accessor backoff_multiplier: Float?
741
- attr_accessor timeout_secs: Float?
749
+ attr_reader initial_interval_secs: Float
750
+ attr_reader max_interval_secs: Float
751
+ attr_reader backoff_multiplier: Float
752
+ attr_reader timeout_secs: Float?
742
753
 
743
754
  def initialize: (?initial_interval_secs: Float, ?max_interval_secs: Float, ?backoff_multiplier: Float, ?timeout_secs: Float) -> void
744
- def self.default: () -> WaitForBatchConfig
745
755
  end
746
756
 
747
757
  class DefaultClient
@@ -782,101 +792,98 @@ module LiterLlm
782
792
  end
783
793
 
784
794
  class ProviderCapabilities
785
- attr_accessor vision: bool?
786
- attr_accessor reasoning: bool?
787
- attr_accessor structured_output: bool?
788
- attr_accessor function_calling: bool?
789
- attr_accessor audio_in: bool?
790
- attr_accessor audio_out: bool?
791
- attr_accessor video_in: bool?
795
+ attr_reader vision: bool
796
+ attr_reader reasoning: bool
797
+ attr_reader structured_output: bool
798
+ attr_reader function_calling: bool
799
+ attr_reader audio_in: bool
800
+ attr_reader audio_out: bool
801
+ attr_reader video_in: bool
792
802
 
793
803
  def initialize: (?vision: bool, ?reasoning: bool, ?structured_output: bool, ?function_calling: bool, ?audio_in: bool, ?audio_out: bool, ?video_in: bool) -> void
794
804
  end
795
805
 
796
806
  class ProviderConfig
797
807
  attr_reader name: String
798
- attr_reader display_name: String
799
- attr_reader base_url: String
800
- attr_reader auth: AuthConfig
801
- attr_reader endpoints: Array[String]
802
- attr_reader model_prefixes: Array[String]
803
- attr_reader param_mappings: Hash[String, String]
808
+ attr_reader display_name: String?
809
+ attr_reader base_url: String?
810
+ attr_reader auth: AuthConfig?
811
+ attr_reader endpoints: Array[String]?
812
+ attr_reader model_prefixes: Array[String]?
813
+ attr_reader param_mappings: Hash[String, String]?
804
814
 
805
815
  def initialize: (name: String, ?display_name: String, ?base_url: String, ?auth: AuthConfig, ?endpoints: Array[String], ?model_prefixes: Array[String], ?param_mappings: Hash[String, String]) -> void
806
816
  end
807
817
 
808
818
  class AuthConfig
809
819
  attr_reader auth_type: AuthType
810
- attr_reader env_var: String
820
+ attr_reader env_var: String?
811
821
 
812
822
  def initialize: (auth_type: AuthType, ?env_var: String) -> void
813
823
  end
814
824
 
815
825
  class ModelInfo
816
- attr_accessor input_cost_per_token: Float?
817
- attr_accessor output_cost_per_token: Float?
818
- attr_accessor cache_read_input_token_cost: Float?
819
- attr_accessor cache_creation_input_token_cost: Float?
820
- attr_accessor input_cost_per_audio_token: Float?
821
- attr_accessor output_cost_per_audio_token: Float?
822
- attr_accessor output_cost_per_reasoning_token: Float?
823
- attr_accessor max_tokens: Integer?
824
- attr_accessor max_input_tokens: Integer?
825
- attr_accessor max_output_tokens: Integer?
826
- attr_accessor mode: String?
827
- attr_accessor supports_vision: bool?
828
- attr_accessor supports_function_calling: bool?
829
- attr_accessor supports_reasoning: bool?
830
- attr_accessor supports_structured_output: bool?
831
- attr_accessor supports_audio_input: bool?
832
- attr_accessor supports_audio_output: bool?
833
- attr_accessor supports_prompt_caching: bool?
834
- attr_accessor tiers: Array[ModelTier]?
826
+ attr_reader input_cost_per_token: Float
827
+ attr_reader output_cost_per_token: Float
828
+ attr_reader cache_read_input_token_cost: Float?
829
+ attr_reader cache_creation_input_token_cost: Float?
830
+ attr_reader input_cost_per_audio_token: Float?
831
+ attr_reader output_cost_per_audio_token: Float?
832
+ attr_reader output_cost_per_reasoning_token: Float?
833
+ attr_reader max_tokens: Integer?
834
+ attr_reader max_input_tokens: Integer?
835
+ attr_reader max_output_tokens: Integer?
836
+ attr_reader mode: String?
837
+ attr_reader supports_vision: bool?
838
+ attr_reader supports_function_calling: bool?
839
+ attr_reader supports_reasoning: bool?
840
+ attr_reader supports_structured_output: bool?
841
+ attr_reader supports_audio_input: bool?
842
+ attr_reader supports_audio_output: bool?
843
+ attr_reader supports_prompt_caching: bool?
844
+ attr_reader tiers: Array[ModelTier]
835
845
 
836
846
  def initialize: (?input_cost_per_token: Float, ?output_cost_per_token: Float, ?cache_read_input_token_cost: Float, ?cache_creation_input_token_cost: Float, ?input_cost_per_audio_token: Float, ?output_cost_per_audio_token: Float, ?output_cost_per_reasoning_token: Float, ?max_tokens: Integer, ?max_input_tokens: Integer, ?max_output_tokens: Integer, ?mode: String, ?supports_vision: bool, ?supports_function_calling: bool, ?supports_reasoning: bool, ?supports_structured_output: bool, ?supports_audio_input: bool, ?supports_audio_output: bool, ?supports_prompt_caching: bool, ?tiers: Array[ModelTier]) -> void
837
847
  end
838
848
 
839
849
  class ModelTier
840
- attr_accessor min_context_tokens: Integer?
841
- attr_accessor input_cost_per_token: Float?
842
- attr_accessor output_cost_per_token: Float?
843
- attr_accessor cache_read_input_token_cost: Float?
844
- attr_accessor cache_creation_input_token_cost: Float?
845
- attr_accessor input_cost_per_audio_token: Float?
846
- attr_accessor output_cost_per_audio_token: Float?
847
- attr_accessor output_cost_per_reasoning_token: Float?
850
+ attr_reader min_context_tokens: Integer
851
+ attr_reader input_cost_per_token: Float
852
+ attr_reader output_cost_per_token: Float
853
+ attr_reader cache_read_input_token_cost: Float?
854
+ attr_reader cache_creation_input_token_cost: Float?
855
+ attr_reader input_cost_per_audio_token: Float?
856
+ attr_reader output_cost_per_audio_token: Float?
857
+ attr_reader output_cost_per_reasoning_token: Float?
848
858
 
849
859
  def initialize: (?min_context_tokens: Integer, ?input_cost_per_token: Float, ?output_cost_per_token: Float, ?cache_read_input_token_cost: Float, ?cache_creation_input_token_cost: Float, ?input_cost_per_audio_token: Float, ?output_cost_per_audio_token: Float, ?output_cost_per_reasoning_token: Float) -> void
850
860
  end
851
861
 
852
862
  class BudgetConfig
853
- attr_accessor global_limit: Float?
854
- attr_accessor model_limits: Hash[String, Float]?
855
- attr_accessor enforcement: Enforcement?
863
+ attr_reader global_limit: Float?
864
+ attr_reader model_limits: Hash[String, Float]
865
+ attr_reader enforcement: Enforcement
856
866
 
857
867
  def initialize: (?global_limit: Float, ?model_limits: Hash[String, Float], ?enforcement: Enforcement) -> void
858
- def self.default: () -> BudgetConfig
859
868
  end
860
869
 
861
870
  class CacheConfig
862
- attr_accessor max_entries: Integer?
863
- attr_accessor ttl: Integer?
864
- attr_accessor backend: CacheBackend?
871
+ attr_reader max_entries: Integer
872
+ attr_reader ttl: Integer
873
+ attr_reader backend: CacheBackend
865
874
 
866
875
  def initialize: (?max_entries: Integer, ?ttl: Integer, ?backend: CacheBackend) -> void
867
- def self.default: () -> CacheConfig
868
876
  end
869
877
 
870
878
  class SingleflightResult
871
879
  end
872
880
 
873
881
  class RateLimitConfig
874
- attr_accessor rpm: Integer?
875
- attr_accessor tpm: Integer?
876
- attr_accessor window: Integer?
882
+ attr_reader rpm: Integer?
883
+ attr_reader tpm: Integer?
884
+ attr_reader window: Integer
877
885
 
878
886
  def initialize: (?rpm: Integer, ?tpm: Integer, ?window: Integer) -> void
879
- def self.default: () -> RateLimitConfig
880
887
  end
881
888
 
882
889
  class IntentPrototype
@@ -888,13 +895,12 @@ module LiterLlm
888
895
  end
889
896
 
890
897
  class CatalogRefreshConfig
891
- attr_accessor enabled: bool?
892
- attr_accessor source_url: String?
893
- attr_accessor ttl_seconds: Integer?
894
- attr_accessor cache_path: String?
898
+ attr_reader enabled: bool
899
+ attr_reader source_url: String
900
+ attr_reader ttl_seconds: Integer
901
+ attr_reader cache_path: String?
895
902
 
896
903
  def initialize: (?enabled: bool, ?source_url: String, ?ttl_seconds: Integer, ?cache_path: String) -> void
897
- def self.default: () -> CatalogRefreshConfig
898
904
  end
899
905
 
900
906
  class Message
@@ -1031,6 +1037,8 @@ module LiterLlm
1031
1037
 
1032
1038
  def self.count_request_tokens: (String model, ChatCompletionRequest req) -> Integer
1033
1039
 
1040
+ def self.record_cost_usd: (String system, String model, String operation, Float cost_usd) -> void
1041
+
1034
1042
  def self.check_bound: (String context, Integer current_len, Integer incoming, Integer limit) -> void
1035
1043
 
1036
1044
  def self.ensure_crypto_provider: () -> void
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.16.0
4
+ version: 1.17.3
5
5
  platform: aarch64-linux
6
6
  authors:
7
7
  - Na'aman Hirschfeld
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-08-05 00:00:00.000000000 Z
11
+ date: 2026-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sorbet-runtime