llm.rb 14.0.0 → 15.0.1

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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +425 -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_agent.rb +1 -1
  33. data/lib/llm/active_record/acts_as_llm.rb +20 -6
  34. data/lib/llm/agent.rb +130 -51
  35. data/lib/llm/context.rb +99 -46
  36. data/lib/llm/cost.rb +110 -51
  37. data/lib/llm/error.rb +7 -0
  38. data/lib/llm/function/array.rb +1 -1
  39. data/lib/llm/function/fork/task.rb +14 -1
  40. data/lib/llm/function/sequential/group.rb +20 -13
  41. data/lib/llm/function/sequential/task.rb +1 -8
  42. data/lib/llm/function.rb +5 -4
  43. data/lib/llm/message.rb +5 -4
  44. data/lib/llm/provider.rb +7 -0
  45. data/lib/llm/providers/alibaba/error_handler.rb +34 -0
  46. data/lib/llm/providers/alibaba/request_adapter.rb +13 -0
  47. data/lib/llm/providers/alibaba.rb +93 -0
  48. data/lib/llm/providers/anthropic.rb +0 -1
  49. data/lib/llm/providers/bedrock.rb +8 -1
  50. data/lib/llm/providers/deepseek/request_adapter.rb +2 -33
  51. data/lib/llm/providers/google.rb +0 -1
  52. data/lib/llm/providers/ollama.rb +0 -1
  53. data/lib/llm/providers/openai/responses.rb +0 -1
  54. data/lib/llm/providers/openai/schema.rb +37 -0
  55. data/lib/llm/providers/openai.rb +1 -2
  56. data/lib/llm/registry/model.rb +186 -0
  57. data/lib/llm/registry.rb +45 -14
  58. data/lib/llm/repl/bar.rb +11 -13
  59. data/lib/llm/repl/buffer.rb +1 -1
  60. data/lib/llm/repl/color.rb +8 -1
  61. data/lib/llm/repl/command.rb +12 -0
  62. data/lib/llm/repl/commands/model.rb +39 -0
  63. data/lib/llm/repl/input/cache.rb +45 -0
  64. data/lib/llm/repl/input/char.rb +2 -2
  65. data/lib/llm/repl/input.rb +86 -23
  66. data/lib/llm/repl/markdown.rb +25 -1
  67. data/lib/llm/repl/node.rb +7 -0
  68. data/lib/llm/repl/status.rb +17 -3
  69. data/lib/llm/repl/window.rb +91 -11
  70. data/lib/llm/repl.rb +18 -8
  71. data/lib/llm/sequel/agent.rb +1 -1
  72. data/lib/llm/sequel/plugin.rb +20 -6
  73. data/lib/llm/skill.rb +21 -8
  74. data/lib/llm/stream.rb +27 -0
  75. data/lib/llm/tool.rb +3 -5
  76. data/lib/llm/tools/rg.rb +2 -1
  77. data/lib/llm/transport/curb.rb +23 -3
  78. data/lib/llm/usage.rb +155 -9
  79. data/lib/llm/utils.rb +23 -1
  80. data/lib/llm/version.rb +1 -1
  81. data/lib/llm.rb +111 -29
  82. data/llm.gemspec +23 -12
  83. metadata +92 -42
  84. /data/{resources → docs}/deepdive/advanced/transformer.md +0 -0
  85. /data/{resources → docs}/deepdive/advanced/transports.md +0 -0
  86. /data/{resources/deepdive/fundamentals → docs/deepdive/features}/builtin_tools.md +0 -0
  87. /data/{resources/deepdive/fundamentals → docs/deepdive/features}/database.md +0 -0
  88. /data/{resources/deepdive/fundamentals → docs/deepdive/features}/embeddings.md +0 -0
  89. /data/{resources → docs}/deepdive/fundamentals/schema.md +0 -0
  90. /data/{resources/deepdive/everything_else → docs/deepdive/media}/audio.md +0 -0
  91. /data/{resources/deepdive/everything_else → docs/deepdive/media}/images.md +0 -0
  92. /data/{resources/deepdive/everything_else → docs/deepdive/media}/ocr.md +0 -0
  93. /data/{resources → docs}/deepdive/protocols/a2a.md +0 -0
  94. /data/{resources → docs}/deepdive/protocols/mcp.md +0 -0
  95. /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: 3ce996689c82e7a0d62a7f09ab2545d10b36462fc75cc2feeb57ce26f6523585
4
+ data.tar.gz: 74cf140b0fd11b077aea57bde027f0b00cf67f4e099ad35778bc5042b958469b
5
5
  SHA512:
6
- metadata.gz: 702cd38c23fa817b068dd9b7c8942f3641915c874e1ed9bef6526127767092f138fd09c320cd54fafc265e2b33131d0cca8b7376f2c7b5e9e3203e66b1f4a513
7
- data.tar.gz: f5eebb31abe9349e451bb1410b01a35353dd466fc66b6df230c5cb6be469856be234dea3351f885eb9c616375c0b84bf18e72dc268b88454997919f475a89774
6
+ metadata.gz: 4274138e7054d9db54e121dcad674f307b0e1bdbfc568ac16bb3b13181e873a77a57d19f4d2eef2479216555ba0ed9213fa7372cf051d4fa73f6fe73dae594cd
7
+ data.tar.gz: 12219c398f482c7f949bc9964038a2597e74a592b78023b101e96a337605c2e2fb8963f5526fbd4ca8f1ffd8b14b843e1a10334369d2f62a1e393eb409f4821d