llm.rb 9.0.0 → 10.0.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.
data/data/zai.json CHANGED
@@ -8,6 +8,40 @@
8
8
  "name": "Z.AI",
9
9
  "doc": "https://docs.z.ai/guides/overview/pricing",
10
10
  "models": {
11
+ "glm-5.1": {
12
+ "id": "glm-5.1",
13
+ "name": "GLM-5.1",
14
+ "family": "glm",
15
+ "attachment": false,
16
+ "reasoning": true,
17
+ "tool_call": true,
18
+ "interleaved": {
19
+ "field": "reasoning_content"
20
+ },
21
+ "structured_output": true,
22
+ "temperature": true,
23
+ "release_date": "2026-03-27",
24
+ "last_updated": "2026-03-27",
25
+ "modalities": {
26
+ "input": [
27
+ "text"
28
+ ],
29
+ "output": [
30
+ "text"
31
+ ]
32
+ },
33
+ "open_weights": false,
34
+ "limit": {
35
+ "context": 200000,
36
+ "output": 131072
37
+ },
38
+ "cost": {
39
+ "input": 1.4,
40
+ "output": 4.4,
41
+ "cache_read": 0.26,
42
+ "cache_write": 0
43
+ }
44
+ },
11
45
  "glm-5v-turbo": {
12
46
  "id": "glm-5v-turbo",
13
47
  "name": "GLM-5V-Turbo",
@@ -33,31 +67,28 @@
33
67
  ]
34
68
  },
35
69
  "open_weights": false,
70
+ "limit": {
71
+ "context": 200000,
72
+ "output": 131072
73
+ },
36
74
  "cost": {
37
75
  "input": 1.2,
38
76
  "output": 4,
39
77
  "cache_read": 0.24,
40
78
  "cache_write": 0
41
- },
42
- "limit": {
43
- "context": 200000,
44
- "output": 131072
45
79
  }
46
80
  },
47
- "glm-4.7": {
48
- "id": "glm-4.7",
49
- "name": "GLM-4.7",
50
- "family": "glm",
81
+ "glm-4.7-flashx": {
82
+ "id": "glm-4.7-flashx",
83
+ "name": "GLM-4.7-FlashX",
84
+ "family": "glm-flash",
51
85
  "attachment": false,
52
86
  "reasoning": true,
53
87
  "tool_call": true,
54
- "interleaved": {
55
- "field": "reasoning_content"
56
- },
57
88
  "temperature": true,
58
89
  "knowledge": "2025-04",
59
- "release_date": "2025-12-22",
60
- "last_updated": "2025-12-22",
90
+ "release_date": "2026-01-19",
91
+ "last_updated": "2026-01-19",
61
92
  "modalities": {
62
93
  "input": [
63
94
  "text"
@@ -67,30 +98,28 @@
67
98
  ]
68
99
  },
69
100
  "open_weights": true,
70
- "cost": {
71
- "input": 0.6,
72
- "output": 2.2,
73
- "cache_read": 0.11,
74
- "cache_write": 0
75
- },
76
101
  "limit": {
77
- "context": 204800,
102
+ "context": 200000,
78
103
  "output": 131072
104
+ },
105
+ "cost": {
106
+ "input": 0.07,
107
+ "output": 0.4,
108
+ "cache_read": 0.01,
109
+ "cache_write": 0
79
110
  }
80
111
  },
81
- "glm-5": {
82
- "id": "glm-5",
83
- "name": "GLM-5",
84
- "family": "glm",
112
+ "glm-4.5-air": {
113
+ "id": "glm-4.5-air",
114
+ "name": "GLM-4.5-Air",
115
+ "family": "glm-air",
85
116
  "attachment": false,
86
117
  "reasoning": true,
87
118
  "tool_call": true,
88
- "interleaved": {
89
- "field": "reasoning_content"
90
- },
91
119
  "temperature": true,
92
- "release_date": "2026-02-11",
93
- "last_updated": "2026-02-11",
120
+ "knowledge": "2025-04",
121
+ "release_date": "2025-07-28",
122
+ "last_updated": "2025-07-28",
94
123
  "modalities": {
95
124
  "input": [
96
125
  "text"
@@ -100,20 +129,51 @@
100
129
  ]
101
130
  },
102
131
  "open_weights": true,
132
+ "limit": {
133
+ "context": 131072,
134
+ "output": 98304
135
+ },
103
136
  "cost": {
104
- "input": 1,
105
- "output": 3.2,
106
- "cache_read": 0.2,
137
+ "input": 0.2,
138
+ "output": 1.1,
139
+ "cache_read": 0.03,
107
140
  "cache_write": 0
141
+ }
142
+ },
143
+ "glm-4.5v": {
144
+ "id": "glm-4.5v",
145
+ "name": "GLM-4.5V",
146
+ "family": "glm",
147
+ "attachment": true,
148
+ "reasoning": true,
149
+ "tool_call": true,
150
+ "temperature": true,
151
+ "knowledge": "2025-04",
152
+ "release_date": "2025-08-11",
153
+ "last_updated": "2025-08-11",
154
+ "modalities": {
155
+ "input": [
156
+ "text",
157
+ "image",
158
+ "video"
159
+ ],
160
+ "output": [
161
+ "text"
162
+ ]
108
163
  },
164
+ "open_weights": true,
109
165
  "limit": {
110
- "context": 204800,
111
- "output": 131072
166
+ "context": 64000,
167
+ "output": 16384
168
+ },
169
+ "cost": {
170
+ "input": 0.6,
171
+ "output": 1.8
112
172
  }
113
173
  },
114
- "glm-4.7-flashx": {
115
- "id": "glm-4.7-flashx",
116
- "name": "GLM-4.7-FlashX",
174
+ "glm-4.7-flash": {
175
+ "id": "glm-4.7-flash",
176
+ "name": "GLM-4.7-Flash",
117
177
  "family": "glm-flash",
118
178
  "attachment": false,
119
179
  "reasoning": true,
@@ -131,31 +191,28 @@
131
191
  ]
132
192
  },
133
193
  "open_weights": true,
134
- "cost": {
135
- "input": 0.07,
136
- "output": 0.4,
137
- "cache_read": 0.01,
138
- "cache_write": 0
139
- },
140
194
  "limit": {
141
195
  "context": 200000,
142
196
  "output": 131072
197
+ },
198
+ "cost": {
199
+ "input": 0,
200
+ "output": 0,
201
+ "cache_read": 0,
202
+ "cache_write": 0
143
203
  }
144
204
  },
145
- "glm-5.1": {
146
- "id": "glm-5.1",
147
- "name": "GLM-5.1",
205
+ "glm-4.6": {
206
+ "id": "glm-4.6",
207
+ "name": "GLM-4.6",
148
208
  "family": "glm",
149
209
  "attachment": false,
150
210
  "reasoning": true,
151
211
  "tool_call": true,
152
- "interleaved": {
153
- "field": "reasoning_content"
154
- },
155
- "structured_output": true,
156
212
  "temperature": true,
157
- "release_date": "2026-03-27",
158
- "last_updated": "2026-03-27",
213
+ "knowledge": "2025-04",
214
+ "release_date": "2025-09-30",
215
+ "last_updated": "2025-09-30",
159
216
  "modalities": {
160
217
  "input": [
161
218
  "text"
@@ -164,16 +221,16 @@
164
221
  "text"
165
222
  ]
166
223
  },
167
- "open_weights": false,
168
- "cost": {
169
- "input": 1.4,
170
- "output": 4.4,
171
- "cache_read": 0.26,
172
- "cache_write": 0
173
- },
224
+ "open_weights": true,
174
225
  "limit": {
175
- "context": 200000,
226
+ "context": 204800,
176
227
  "output": 131072
228
+ },
229
+ "cost": {
230
+ "input": 0.6,
231
+ "output": 2.2,
232
+ "cache_read": 0.11,
233
+ "cache_write": 0
177
234
  }
178
235
  },
179
236
  "glm-4.5": {
@@ -196,21 +253,21 @@
196
253
  ]
197
254
  },
198
255
  "open_weights": true,
256
+ "limit": {
257
+ "context": 131072,
258
+ "output": 98304
259
+ },
199
260
  "cost": {
200
261
  "input": 0.6,
201
262
  "output": 2.2,
202
263
  "cache_read": 0.11,
203
264
  "cache_write": 0
204
- },
205
- "limit": {
206
- "context": 131072,
207
- "output": 98304
208
265
  }
209
266
  },
210
- "glm-4.5-air": {
211
- "id": "glm-4.5-air",
212
- "name": "GLM-4.5-Air",
213
- "family": "glm-air",
267
+ "glm-4.5-flash": {
268
+ "id": "glm-4.5-flash",
269
+ "name": "GLM-4.5-Flash",
270
+ "family": "glm-flash",
214
271
  "attachment": false,
215
272
  "reasoning": true,
216
273
  "tool_call": true,
@@ -227,15 +284,15 @@
227
284
  ]
228
285
  },
229
286
  "open_weights": true,
230
- "cost": {
231
- "input": 0.2,
232
- "output": 1.1,
233
- "cache_read": 0.03,
234
- "cache_write": 0
235
- },
236
287
  "limit": {
237
288
  "context": 131072,
238
289
  "output": 98304
290
+ },
291
+ "cost": {
292
+ "input": 0,
293
+ "output": 0,
294
+ "cache_read": 0,
295
+ "cache_write": 0
239
296
  }
240
297
  },
241
298
  "glm-5-turbo": {
@@ -261,59 +318,64 @@
261
318
  ]
262
319
  },
263
320
  "open_weights": false,
321
+ "limit": {
322
+ "context": 200000,
323
+ "output": 131072
324
+ },
264
325
  "cost": {
265
326
  "input": 1.2,
266
327
  "output": 4,
267
328
  "cache_read": 0.24,
268
329
  "cache_write": 0
269
- },
270
- "limit": {
271
- "context": 200000,
272
- "output": 131072
273
330
  }
274
331
  },
275
- "glm-4.5v": {
276
- "id": "glm-4.5v",
277
- "name": "GLM-4.5V",
332
+ "glm-4.7": {
333
+ "id": "glm-4.7",
334
+ "name": "GLM-4.7",
278
335
  "family": "glm",
279
- "attachment": true,
336
+ "attachment": false,
280
337
  "reasoning": true,
281
338
  "tool_call": true,
339
+ "interleaved": {
340
+ "field": "reasoning_content"
341
+ },
282
342
  "temperature": true,
283
343
  "knowledge": "2025-04",
284
- "release_date": "2025-08-11",
285
- "last_updated": "2025-08-11",
344
+ "release_date": "2025-12-22",
345
+ "last_updated": "2025-12-22",
286
346
  "modalities": {
287
347
  "input": [
288
- "text",
289
- "image",
290
- "video"
348
+ "text"
291
349
  ],
292
350
  "output": [
293
351
  "text"
294
352
  ]
295
353
  },
296
354
  "open_weights": true,
355
+ "limit": {
356
+ "context": 204800,
357
+ "output": 131072
358
+ },
297
359
  "cost": {
298
360
  "input": 0.6,
299
- "output": 1.8
300
- },
301
- "limit": {
302
- "context": 64000,
303
- "output": 16384
361
+ "output": 2.2,
362
+ "cache_read": 0.11,
363
+ "cache_write": 0
304
364
  }
305
365
  },
306
- "glm-4.6": {
307
- "id": "glm-4.6",
308
- "name": "GLM-4.6",
366
+ "glm-5": {
367
+ "id": "glm-5",
368
+ "name": "GLM-5",
309
369
  "family": "glm",
310
370
  "attachment": false,
311
371
  "reasoning": true,
312
372
  "tool_call": true,
373
+ "interleaved": {
374
+ "field": "reasoning_content"
375
+ },
313
376
  "temperature": true,
314
- "knowledge": "2025-04",
315
- "release_date": "2025-09-30",
316
- "last_updated": "2025-09-30",
377
+ "release_date": "2026-02-11",
378
+ "last_updated": "2026-02-11",
317
379
  "modalities": {
318
380
  "input": [
319
381
  "text"
@@ -323,15 +385,15 @@
323
385
  ]
324
386
  },
325
387
  "open_weights": true,
326
- "cost": {
327
- "input": 0.6,
328
- "output": 2.2,
329
- "cache_read": 0.11,
330
- "cache_write": 0
331
- },
332
388
  "limit": {
333
389
  "context": 204800,
334
390
  "output": 131072
391
+ },
392
+ "cost": {
393
+ "input": 1,
394
+ "output": 3.2,
395
+ "cache_read": 0.2,
396
+ "cache_write": 0
335
397
  }
336
398
  },
337
399
  "glm-4.6v": {
@@ -356,75 +418,13 @@
356
418
  ]
357
419
  },
358
420
  "open_weights": true,
359
- "cost": {
360
- "input": 0.3,
361
- "output": 0.9
362
- },
363
421
  "limit": {
364
422
  "context": 128000,
365
423
  "output": 32768
366
- }
367
- },
368
- "glm-4.5-flash": {
369
- "id": "glm-4.5-flash",
370
- "name": "GLM-4.5-Flash",
371
- "family": "glm-flash",
372
- "attachment": false,
373
- "reasoning": true,
374
- "tool_call": true,
375
- "temperature": true,
376
- "knowledge": "2025-04",
377
- "release_date": "2025-07-28",
378
- "last_updated": "2025-07-28",
379
- "modalities": {
380
- "input": [
381
- "text"
382
- ],
383
- "output": [
384
- "text"
385
- ]
386
424
  },
387
- "open_weights": true,
388
- "cost": {
389
- "input": 0,
390
- "output": 0,
391
- "cache_read": 0,
392
- "cache_write": 0
393
- },
394
- "limit": {
395
- "context": 131072,
396
- "output": 98304
397
- }
398
- },
399
- "glm-4.7-flash": {
400
- "id": "glm-4.7-flash",
401
- "name": "GLM-4.7-Flash",
402
- "family": "glm-flash",
403
- "attachment": false,
404
- "reasoning": true,
405
- "tool_call": true,
406
- "temperature": true,
407
- "knowledge": "2025-04",
408
- "release_date": "2026-01-19",
409
- "last_updated": "2026-01-19",
410
- "modalities": {
411
- "input": [
412
- "text"
413
- ],
414
- "output": [
415
- "text"
416
- ]
417
- },
418
- "open_weights": true,
419
425
  "cost": {
420
- "input": 0,
421
- "output": 0,
422
- "cache_read": 0,
423
- "cache_write": 0
424
- },
425
- "limit": {
426
- "context": 200000,
427
- "output": 131072
426
+ "input": 0.3,
427
+ "output": 0.9
428
428
  }
429
429
  }
430
430
  }
@@ -36,6 +36,11 @@ module LLM::ActiveRecord
36
36
  agent.concurrency(concurrency)
37
37
  end
38
38
 
39
+ def confirm(*tool_names, &block)
40
+ return agent.confirm if tool_names.empty? && !block
41
+ agent.confirm(*tool_names, &block)
42
+ end
43
+
39
44
  def tracer(tracer = nil, &block)
40
45
  return agent.tracer if tracer.nil? && !block
41
46
  agent.tracer(tracer, &block)
@@ -20,12 +20,7 @@ module LLM::ActiveRecord
20
20
  # Resolves a single configured option against a model instance.
21
21
  # @return [Object]
22
22
  def self.resolve_option(obj, option)
23
- case option
24
- when Proc then obj.instance_exec(&option)
25
- when Symbol then obj.send(option)
26
- when Hash then option.dup
27
- else option
28
- end
23
+ LLM::Utils.resolve_option(obj, option)
29
24
  end
30
25
 
31
26
  ##