llm.rb 14.0.0 → 15.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +396 -1826
- data/README.md +596 -490
- data/bin/llm.rb +148 -72
- data/data/alibaba.json +1999 -0
- data/data/anthropic.json +205 -205
- data/data/bedrock.json +2171 -2114
- data/data/deepinfra.json +1143 -938
- data/data/deepseek.json +4 -5
- data/data/google.json +691 -779
- data/data/mistral.json +450 -450
- data/data/moonshot.json +100 -100
- data/data/openai.json +976 -976
- data/data/xai.json +193 -116
- data/data/zai.json +187 -187
- data/{resources → docs}/deepdive/advanced/cancellation.md +2 -2
- data/{resources → docs}/deepdive/advanced/compaction.md +5 -3
- data/{resources → docs}/deepdive/advanced/context.md +13 -0
- data/{resources → docs}/deepdive/advanced/guard.md +1 -1
- data/{resources/deepdive/fundamentals → docs/deepdive/features}/concurrency.md +6 -0
- data/{resources/deepdive/fundamentals → docs/deepdive/features}/repl.md +56 -2
- data/{resources → docs}/deepdive/fundamentals/agents.md +52 -1
- data/docs/deepdive/fundamentals/providers.md +159 -0
- data/{resources → docs}/deepdive/fundamentals/skills.md +5 -0
- data/{resources → docs}/deepdive/fundamentals/stream.md +36 -3
- data/{resources → docs}/deepdive/fundamentals/tools.md +87 -23
- data/{resources/deepdive/everything_else → docs/deepdive/reference}/cost.md +20 -10
- data/docs/deepdive/reference/model_registry.md +271 -0
- data/{resources/deepdive/advanced → docs/deepdive/reference}/tracer.md +7 -0
- data/{resources → docs}/deepdive.md +35 -27
- data/lib/llm/a2a/transport/http.rb +1 -1
- data/lib/llm/active_record/acts_as_llm.rb +19 -5
- data/lib/llm/agent.rb +62 -5
- data/lib/llm/context.rb +93 -46
- data/lib/llm/cost.rb +110 -51
- data/lib/llm/error.rb +7 -0
- data/lib/llm/function/array.rb +1 -1
- data/lib/llm/function/fork/task.rb +14 -1
- data/lib/llm/function/sequential/group.rb +20 -13
- data/lib/llm/function/sequential/task.rb +1 -8
- data/lib/llm/function.rb +5 -4
- data/lib/llm/message.rb +5 -4
- data/lib/llm/provider.rb +7 -0
- data/lib/llm/providers/alibaba/error_handler.rb +34 -0
- data/lib/llm/providers/alibaba/request_adapter.rb +13 -0
- data/lib/llm/providers/alibaba.rb +93 -0
- data/lib/llm/providers/anthropic.rb +0 -1
- data/lib/llm/providers/bedrock.rb +8 -1
- data/lib/llm/providers/deepseek/request_adapter.rb +2 -33
- data/lib/llm/providers/google.rb +0 -1
- data/lib/llm/providers/ollama.rb +0 -1
- data/lib/llm/providers/openai/responses.rb +0 -1
- data/lib/llm/providers/openai/schema.rb +37 -0
- data/lib/llm/providers/openai.rb +1 -2
- data/lib/llm/registry/model.rb +186 -0
- data/lib/llm/registry.rb +45 -14
- data/lib/llm/repl/bar.rb +11 -13
- data/lib/llm/repl/buffer.rb +1 -1
- data/lib/llm/repl/color.rb +8 -1
- data/lib/llm/repl/command.rb +12 -0
- data/lib/llm/repl/commands/model.rb +39 -0
- data/lib/llm/repl/input/cache.rb +45 -0
- data/lib/llm/repl/input/char.rb +2 -2
- data/lib/llm/repl/input.rb +86 -23
- data/lib/llm/repl/markdown.rb +25 -1
- data/lib/llm/repl/node.rb +7 -0
- data/lib/llm/repl/status.rb +17 -3
- data/lib/llm/repl/window.rb +91 -11
- data/lib/llm/repl.rb +18 -8
- data/lib/llm/sequel/plugin.rb +19 -5
- data/lib/llm/skill.rb +21 -8
- data/lib/llm/stream.rb +27 -0
- data/lib/llm/tool.rb +3 -5
- data/lib/llm/tools/rg.rb +2 -1
- data/lib/llm/transport/curb.rb +23 -3
- data/lib/llm/usage.rb +155 -9
- data/lib/llm/version.rb +1 -1
- data/lib/llm.rb +111 -29
- data/llm.gemspec +16 -11
- metadata +89 -35
- /data/{resources → docs}/deepdive/advanced/transformer.md +0 -0
- /data/{resources → docs}/deepdive/advanced/transports.md +0 -0
- /data/{resources/deepdive/fundamentals → docs/deepdive/features}/builtin_tools.md +0 -0
- /data/{resources/deepdive/fundamentals → docs/deepdive/features}/database.md +0 -0
- /data/{resources/deepdive/fundamentals → docs/deepdive/features}/embeddings.md +0 -0
- /data/{resources → docs}/deepdive/fundamentals/schema.md +0 -0
- /data/{resources/deepdive/everything_else → docs/deepdive/media}/audio.md +0 -0
- /data/{resources/deepdive/everything_else → docs/deepdive/media}/images.md +0 -0
- /data/{resources/deepdive/everything_else → docs/deepdive/media}/ocr.md +0 -0
- /data/{resources → docs}/deepdive/protocols/a2a.md +0 -0
- /data/{resources → docs}/deepdive/protocols/mcp.md +0 -0
- /data/{resources/deepdive/everything_else → docs/deepdive/reference}/object.md +0 -0
metadata
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: llm.rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 15.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
|
-
-
|
|
7
|
+
- Robert Gleeson
|
|
8
8
|
- Antar Azri
|
|
9
9
|
- Rodrigo Serrano
|
|
10
10
|
bindir: bin
|
|
@@ -277,11 +277,55 @@ dependencies:
|
|
|
277
277
|
- - "~>"
|
|
278
278
|
- !ruby/object:Gem::Version
|
|
279
279
|
version: '1.18'
|
|
280
|
+
- !ruby/object:Gem::Dependency
|
|
281
|
+
name: curb
|
|
282
|
+
requirement: !ruby/object:Gem::Requirement
|
|
283
|
+
requirements:
|
|
284
|
+
- - "~>"
|
|
285
|
+
- !ruby/object:Gem::Version
|
|
286
|
+
version: '1.3'
|
|
287
|
+
type: :development
|
|
288
|
+
prerelease: false
|
|
289
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
290
|
+
requirements:
|
|
291
|
+
- - "~>"
|
|
292
|
+
- !ruby/object:Gem::Version
|
|
293
|
+
version: '1.3'
|
|
294
|
+
- !ruby/object:Gem::Dependency
|
|
295
|
+
name: curses
|
|
296
|
+
requirement: !ruby/object:Gem::Requirement
|
|
297
|
+
requirements:
|
|
298
|
+
- - "~>"
|
|
299
|
+
- !ruby/object:Gem::Version
|
|
300
|
+
version: '1.6'
|
|
301
|
+
type: :development
|
|
302
|
+
prerelease: false
|
|
303
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
304
|
+
requirements:
|
|
305
|
+
- - "~>"
|
|
306
|
+
- !ruby/object:Gem::Version
|
|
307
|
+
version: '1.6'
|
|
308
|
+
- !ruby/object:Gem::Dependency
|
|
309
|
+
name: kramdown
|
|
310
|
+
requirement: !ruby/object:Gem::Requirement
|
|
311
|
+
requirements:
|
|
312
|
+
- - "~>"
|
|
313
|
+
- !ruby/object:Gem::Version
|
|
314
|
+
version: '2.5'
|
|
315
|
+
type: :development
|
|
316
|
+
prerelease: false
|
|
317
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
318
|
+
requirements:
|
|
319
|
+
- - "~>"
|
|
320
|
+
- !ruby/object:Gem::Version
|
|
321
|
+
version: '2.5'
|
|
280
322
|
description: |
|
|
281
|
-
llm.rb is an advanced runtime for building
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
323
|
+
llm.rb is an advanced runtime for building agentic AI applications on CRuby.
|
|
324
|
+
It has zero runtime dependencies by default, it supports concurrent and parallel
|
|
325
|
+
tool execution and has a single coherent API that spans 13+ providers. Streaming,
|
|
326
|
+
tools, guards, compaction, the REPL, builtin MCP/A2A support and the database
|
|
327
|
+
integrations all build on the same three concepts: providers, contexts, and
|
|
328
|
+
agents.
|
|
285
329
|
email:
|
|
286
330
|
- robert@r.uby.dev
|
|
287
331
|
executables:
|
|
@@ -293,6 +337,7 @@ files:
|
|
|
293
337
|
- LICENSE
|
|
294
338
|
- README.md
|
|
295
339
|
- bin/llm.rb
|
|
340
|
+
- data/alibaba.json
|
|
296
341
|
- data/anthropic.json
|
|
297
342
|
- data/bedrock.json
|
|
298
343
|
- data/deepinfra.json
|
|
@@ -303,6 +348,33 @@ files:
|
|
|
303
348
|
- data/openai.json
|
|
304
349
|
- data/xai.json
|
|
305
350
|
- data/zai.json
|
|
351
|
+
- docs/deepdive.md
|
|
352
|
+
- docs/deepdive/advanced/cancellation.md
|
|
353
|
+
- docs/deepdive/advanced/compaction.md
|
|
354
|
+
- docs/deepdive/advanced/context.md
|
|
355
|
+
- docs/deepdive/advanced/guard.md
|
|
356
|
+
- docs/deepdive/advanced/transformer.md
|
|
357
|
+
- docs/deepdive/advanced/transports.md
|
|
358
|
+
- docs/deepdive/features/builtin_tools.md
|
|
359
|
+
- docs/deepdive/features/concurrency.md
|
|
360
|
+
- docs/deepdive/features/database.md
|
|
361
|
+
- docs/deepdive/features/embeddings.md
|
|
362
|
+
- docs/deepdive/features/repl.md
|
|
363
|
+
- docs/deepdive/fundamentals/agents.md
|
|
364
|
+
- docs/deepdive/fundamentals/providers.md
|
|
365
|
+
- docs/deepdive/fundamentals/schema.md
|
|
366
|
+
- docs/deepdive/fundamentals/skills.md
|
|
367
|
+
- docs/deepdive/fundamentals/stream.md
|
|
368
|
+
- docs/deepdive/fundamentals/tools.md
|
|
369
|
+
- docs/deepdive/media/audio.md
|
|
370
|
+
- docs/deepdive/media/images.md
|
|
371
|
+
- docs/deepdive/media/ocr.md
|
|
372
|
+
- docs/deepdive/protocols/a2a.md
|
|
373
|
+
- docs/deepdive/protocols/mcp.md
|
|
374
|
+
- docs/deepdive/reference/cost.md
|
|
375
|
+
- docs/deepdive/reference/model_registry.md
|
|
376
|
+
- docs/deepdive/reference/object.md
|
|
377
|
+
- docs/deepdive/reference/tracer.md
|
|
306
378
|
- lib/llm.rb
|
|
307
379
|
- lib/llm/a2a.rb
|
|
308
380
|
- lib/llm/a2a/card.rb
|
|
@@ -381,6 +453,9 @@ files:
|
|
|
381
453
|
- lib/llm/pipe.rb
|
|
382
454
|
- lib/llm/prompt.rb
|
|
383
455
|
- lib/llm/provider.rb
|
|
456
|
+
- lib/llm/providers/alibaba.rb
|
|
457
|
+
- lib/llm/providers/alibaba/error_handler.rb
|
|
458
|
+
- lib/llm/providers/alibaba/request_adapter.rb
|
|
384
459
|
- lib/llm/providers/anthropic.rb
|
|
385
460
|
- lib/llm/providers/anthropic/error_handler.rb
|
|
386
461
|
- lib/llm/providers/anthropic/files.rb
|
|
@@ -473,12 +548,14 @@ files:
|
|
|
473
548
|
- lib/llm/providers/openai/response_adapter/web_search.rb
|
|
474
549
|
- lib/llm/providers/openai/responses.rb
|
|
475
550
|
- lib/llm/providers/openai/responses/stream_parser.rb
|
|
551
|
+
- lib/llm/providers/openai/schema.rb
|
|
476
552
|
- lib/llm/providers/openai/stream_parser.rb
|
|
477
553
|
- lib/llm/providers/openai/vector_stores.rb
|
|
478
554
|
- lib/llm/providers/xai.rb
|
|
479
555
|
- lib/llm/providers/xai/images.rb
|
|
480
556
|
- lib/llm/providers/zai.rb
|
|
481
557
|
- lib/llm/registry.rb
|
|
558
|
+
- lib/llm/registry/model.rb
|
|
482
559
|
- lib/llm/repl.rb
|
|
483
560
|
- lib/llm/repl/bar.rb
|
|
484
561
|
- lib/llm/repl/buffer.rb
|
|
@@ -487,7 +564,9 @@ files:
|
|
|
487
564
|
- lib/llm/repl/commands/compact.rb
|
|
488
565
|
- lib/llm/repl/commands/exit.rb
|
|
489
566
|
- lib/llm/repl/commands/help.rb
|
|
567
|
+
- lib/llm/repl/commands/model.rb
|
|
490
568
|
- lib/llm/repl/input.rb
|
|
569
|
+
- lib/llm/repl/input/cache.rb
|
|
491
570
|
- lib/llm/repl/input/char.rb
|
|
492
571
|
- lib/llm/repl/input/row.rb
|
|
493
572
|
- lib/llm/repl/markdown.rb
|
|
@@ -565,43 +644,18 @@ files:
|
|
|
565
644
|
- lib/sequel/plugins/agent.rb
|
|
566
645
|
- lib/sequel/plugins/llm.rb
|
|
567
646
|
- llm.gemspec
|
|
568
|
-
- resources/deepdive.md
|
|
569
|
-
- resources/deepdive/advanced/cancellation.md
|
|
570
|
-
- resources/deepdive/advanced/compaction.md
|
|
571
|
-
- resources/deepdive/advanced/context.md
|
|
572
|
-
- resources/deepdive/advanced/guard.md
|
|
573
|
-
- resources/deepdive/advanced/tracer.md
|
|
574
|
-
- resources/deepdive/advanced/transformer.md
|
|
575
|
-
- resources/deepdive/advanced/transports.md
|
|
576
|
-
- resources/deepdive/everything_else/audio.md
|
|
577
|
-
- resources/deepdive/everything_else/cost.md
|
|
578
|
-
- resources/deepdive/everything_else/images.md
|
|
579
|
-
- resources/deepdive/everything_else/object.md
|
|
580
|
-
- resources/deepdive/everything_else/ocr.md
|
|
581
|
-
- resources/deepdive/fundamentals/agents.md
|
|
582
|
-
- resources/deepdive/fundamentals/builtin_tools.md
|
|
583
|
-
- resources/deepdive/fundamentals/concurrency.md
|
|
584
|
-
- resources/deepdive/fundamentals/database.md
|
|
585
|
-
- resources/deepdive/fundamentals/embeddings.md
|
|
586
|
-
- resources/deepdive/fundamentals/repl.md
|
|
587
|
-
- resources/deepdive/fundamentals/schema.md
|
|
588
|
-
- resources/deepdive/fundamentals/skills.md
|
|
589
|
-
- resources/deepdive/fundamentals/stream.md
|
|
590
|
-
- resources/deepdive/fundamentals/tools.md
|
|
591
|
-
- resources/deepdive/protocols/a2a.md
|
|
592
|
-
- resources/deepdive/protocols/mcp.md
|
|
593
647
|
homepage: https://r.uby.dev/llm/
|
|
594
648
|
licenses:
|
|
595
649
|
- MIT
|
|
596
650
|
metadata:
|
|
597
651
|
homepage_uri: https://r.uby.dev/llm/
|
|
598
|
-
source_code_uri: https://github.com/r-uby-dev/llm
|
|
652
|
+
source_code_uri: https://github.com/r-uby-dev/llm
|
|
599
653
|
documentation_uri: https://r.uby.dev/llm/
|
|
600
|
-
changelog_uri: https://r
|
|
654
|
+
changelog_uri: https://github.com/r-uby-dev/llm/blob/main/CHANGELOG.md
|
|
601
655
|
post_install_message: |2+
|
|
602
656
|
|
|
603
|
-
Learn more about llm.rb
|
|
604
|
-
https://r
|
|
657
|
+
Learn more about llm.rb on GitHub:
|
|
658
|
+
https://github.com/r-uby-dev/llm#readme
|
|
605
659
|
|
|
606
660
|
rdoc_options: []
|
|
607
661
|
require_paths:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|