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.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +396 -1826
  3. data/README.md +596 -490
  4. data/bin/llm.rb +148 -72
  5. data/data/alibaba.json +1999 -0
  6. data/data/anthropic.json +205 -205
  7. data/data/bedrock.json +2171 -2114
  8. data/data/deepinfra.json +1143 -938
  9. data/data/deepseek.json +4 -5
  10. data/data/google.json +691 -779
  11. data/data/mistral.json +450 -450
  12. data/data/moonshot.json +100 -100
  13. data/data/openai.json +976 -976
  14. data/data/xai.json +193 -116
  15. data/data/zai.json +187 -187
  16. data/{resources → docs}/deepdive/advanced/cancellation.md +2 -2
  17. data/{resources → docs}/deepdive/advanced/compaction.md +5 -3
  18. data/{resources → docs}/deepdive/advanced/context.md +13 -0
  19. data/{resources → docs}/deepdive/advanced/guard.md +1 -1
  20. data/{resources/deepdive/fundamentals → docs/deepdive/features}/concurrency.md +6 -0
  21. data/{resources/deepdive/fundamentals → docs/deepdive/features}/repl.md +56 -2
  22. data/{resources → docs}/deepdive/fundamentals/agents.md +52 -1
  23. data/docs/deepdive/fundamentals/providers.md +159 -0
  24. data/{resources → docs}/deepdive/fundamentals/skills.md +5 -0
  25. data/{resources → docs}/deepdive/fundamentals/stream.md +36 -3
  26. data/{resources → docs}/deepdive/fundamentals/tools.md +87 -23
  27. data/{resources/deepdive/everything_else → docs/deepdive/reference}/cost.md +20 -10
  28. data/docs/deepdive/reference/model_registry.md +271 -0
  29. data/{resources/deepdive/advanced → docs/deepdive/reference}/tracer.md +7 -0
  30. data/{resources → docs}/deepdive.md +35 -27
  31. data/lib/llm/a2a/transport/http.rb +1 -1
  32. data/lib/llm/active_record/acts_as_llm.rb +19 -5
  33. data/lib/llm/agent.rb +62 -5
  34. data/lib/llm/context.rb +93 -46
  35. data/lib/llm/cost.rb +110 -51
  36. data/lib/llm/error.rb +7 -0
  37. data/lib/llm/function/array.rb +1 -1
  38. data/lib/llm/function/fork/task.rb +14 -1
  39. data/lib/llm/function/sequential/group.rb +20 -13
  40. data/lib/llm/function/sequential/task.rb +1 -8
  41. data/lib/llm/function.rb +5 -4
  42. data/lib/llm/message.rb +5 -4
  43. data/lib/llm/provider.rb +7 -0
  44. data/lib/llm/providers/alibaba/error_handler.rb +34 -0
  45. data/lib/llm/providers/alibaba/request_adapter.rb +13 -0
  46. data/lib/llm/providers/alibaba.rb +93 -0
  47. data/lib/llm/providers/anthropic.rb +0 -1
  48. data/lib/llm/providers/bedrock.rb +8 -1
  49. data/lib/llm/providers/deepseek/request_adapter.rb +2 -33
  50. data/lib/llm/providers/google.rb +0 -1
  51. data/lib/llm/providers/ollama.rb +0 -1
  52. data/lib/llm/providers/openai/responses.rb +0 -1
  53. data/lib/llm/providers/openai/schema.rb +37 -0
  54. data/lib/llm/providers/openai.rb +1 -2
  55. data/lib/llm/registry/model.rb +186 -0
  56. data/lib/llm/registry.rb +45 -14
  57. data/lib/llm/repl/bar.rb +11 -13
  58. data/lib/llm/repl/buffer.rb +1 -1
  59. data/lib/llm/repl/color.rb +8 -1
  60. data/lib/llm/repl/command.rb +12 -0
  61. data/lib/llm/repl/commands/model.rb +39 -0
  62. data/lib/llm/repl/input/cache.rb +45 -0
  63. data/lib/llm/repl/input/char.rb +2 -2
  64. data/lib/llm/repl/input.rb +86 -23
  65. data/lib/llm/repl/markdown.rb +25 -1
  66. data/lib/llm/repl/node.rb +7 -0
  67. data/lib/llm/repl/status.rb +17 -3
  68. data/lib/llm/repl/window.rb +91 -11
  69. data/lib/llm/repl.rb +18 -8
  70. data/lib/llm/sequel/plugin.rb +19 -5
  71. data/lib/llm/skill.rb +21 -8
  72. data/lib/llm/stream.rb +27 -0
  73. data/lib/llm/tool.rb +3 -5
  74. data/lib/llm/tools/rg.rb +2 -1
  75. data/lib/llm/transport/curb.rb +23 -3
  76. data/lib/llm/usage.rb +155 -9
  77. data/lib/llm/version.rb +1 -1
  78. data/lib/llm.rb +111 -29
  79. data/llm.gemspec +16 -11
  80. metadata +89 -35
  81. /data/{resources → docs}/deepdive/advanced/transformer.md +0 -0
  82. /data/{resources → docs}/deepdive/advanced/transports.md +0 -0
  83. /data/{resources/deepdive/fundamentals → docs/deepdive/features}/builtin_tools.md +0 -0
  84. /data/{resources/deepdive/fundamentals → docs/deepdive/features}/database.md +0 -0
  85. /data/{resources/deepdive/fundamentals → docs/deepdive/features}/embeddings.md +0 -0
  86. /data/{resources → docs}/deepdive/fundamentals/schema.md +0 -0
  87. /data/{resources/deepdive/everything_else → docs/deepdive/media}/audio.md +0 -0
  88. /data/{resources/deepdive/everything_else → docs/deepdive/media}/images.md +0 -0
  89. /data/{resources/deepdive/everything_else → docs/deepdive/media}/ocr.md +0 -0
  90. /data/{resources → docs}/deepdive/protocols/a2a.md +0 -0
  91. /data/{resources → docs}/deepdive/protocols/mcp.md +0 -0
  92. /data/{resources/deepdive/everything_else → docs/deepdive/reference}/object.md +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80d9ecf944df7561e9a0ac70bb37225dac11f18b13fba94d689b672da3b27e6f
4
- data.tar.gz: d3986e29989bcd415c40cd26fd4361ac8b3f92461cf81f2f5abf5a9d291cd068
3
+ metadata.gz: 7f32731cd1933be73ca1297c6733b25ccc3873cb2d617bfbf5ae4d556714aaca
4
+ data.tar.gz: cbe78b1776b8c4df9f60341b901436fbd69783fca251b3656cf4cd9851815b49
5
5
  SHA512:
6
- metadata.gz: 702cd38c23fa817b068dd9b7c8942f3641915c874e1ed9bef6526127767092f138fd09c320cd54fafc265e2b33131d0cca8b7376f2c7b5e9e3203e66b1f4a513
7
- data.tar.gz: f5eebb31abe9349e451bb1410b01a35353dd466fc66b6df230c5cb6be469856be234dea3351f885eb9c616375c0b84bf18e72dc268b88454997919f475a89774
6
+ metadata.gz: 01e6e7d10f5359ae9ba5f7643c4c0679ef22c99deed608e45b44d2afd52f42f2069a317b4c56abd76bc569d40f070d8dc74a5d981c727fc23871a5d4df69aea6
7
+ data.tar.gz: d2c61e22df6a2f5b4c206f4f13f3b8ec3b0e4014f1d0608ed78adadf598e00b576fd486c01040f655adec0af3efb8c3e1685fcb22ef31038a0917d13481072a2