llm.rb 13.0.0 → 14.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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +505 -14
  3. data/README.md +484 -50
  4. data/bin/llm.rb +148 -0
  5. data/data/anthropic.json +206 -263
  6. data/data/bedrock.json +2138 -1860
  7. data/data/deepinfra.json +1003 -624
  8. data/data/deepseek.json +38 -34
  9. data/data/google.json +1079 -371
  10. data/data/mistral.json +448 -368
  11. data/data/moonshot.json +384 -0
  12. data/data/openai.json +974 -1343
  13. data/data/xai.json +154 -126
  14. data/data/zai.json +191 -191
  15. data/lib/llm/agent.rb +123 -20
  16. data/lib/llm/context.rb +71 -88
  17. data/lib/llm/cost.rb +23 -17
  18. data/lib/llm/error.rb +0 -8
  19. data/lib/llm/function/array.rb +3 -3
  20. data/lib/llm/function/async/task.rb +2 -0
  21. data/lib/llm/function/fiber/task.rb +2 -0
  22. data/lib/llm/function/fork/task.rb +2 -0
  23. data/lib/llm/function/ractor/task.rb +2 -0
  24. data/lib/llm/function/sequential/group.rb +4 -1
  25. data/lib/llm/function/sequential/task.rb +1 -1
  26. data/lib/llm/function/task.rb +4 -0
  27. data/lib/llm/function/thread/task.rb +2 -0
  28. data/lib/llm/function.rb +33 -6
  29. data/lib/llm/guard/loop.rb +89 -0
  30. data/lib/llm/guard/null.rb +19 -0
  31. data/lib/llm/guard.rb +61 -0
  32. data/lib/llm/provider.rb +36 -0
  33. data/lib/llm/providers/anthropic/stream_parser.rb +1 -0
  34. data/lib/llm/providers/anthropic.rb +2 -9
  35. data/lib/llm/providers/bedrock/request_adapter.rb +1 -1
  36. data/lib/llm/providers/bedrock/stream_parser.rb +1 -0
  37. data/lib/llm/providers/bedrock.rb +1 -8
  38. data/lib/llm/providers/google/stream_parser.rb +1 -0
  39. data/lib/llm/providers/google.rb +1 -8
  40. data/lib/llm/providers/mistral.rb +1 -1
  41. data/lib/llm/providers/moonshot.rb +76 -0
  42. data/lib/llm/providers/ollama.rb +2 -9
  43. data/lib/llm/providers/openai/responses/stream_parser.rb +1 -0
  44. data/lib/llm/providers/openai/responses.rb +7 -9
  45. data/lib/llm/providers/openai/stream_parser.rb +1 -0
  46. data/lib/llm/providers/openai.rb +4 -11
  47. data/lib/llm/repl/bar.rb +4 -3
  48. data/lib/llm/repl/{transcript.rb → buffer.rb} +69 -29
  49. data/lib/llm/repl/color.rb +78 -0
  50. data/lib/llm/repl/command.rb +12 -5
  51. data/lib/llm/repl/commands/compact.rb +2 -2
  52. data/lib/llm/repl/commands/help.rb +3 -5
  53. data/lib/llm/repl/input/char.rb +46 -0
  54. data/lib/llm/repl/input/row.rb +39 -0
  55. data/lib/llm/repl/input.rb +251 -66
  56. data/lib/llm/repl/markdown/table.rb +11 -3
  57. data/lib/llm/repl/markdown.rb +34 -8
  58. data/lib/llm/repl/node.rb +37 -0
  59. data/lib/llm/repl/status.rb +42 -7
  60. data/lib/llm/repl/stream.rb +18 -6
  61. data/lib/llm/repl/walker.rb +3 -2
  62. data/lib/llm/repl/window.rb +54 -35
  63. data/lib/llm/repl.rb +74 -32
  64. data/lib/llm/skill.rb +20 -4
  65. data/lib/llm/stream.rb +8 -7
  66. data/lib/llm/tool.rb +29 -0
  67. data/lib/llm/tools/{swap_text.rb → edit-file.rb} +3 -3
  68. data/lib/llm/tools/git.rb +3 -0
  69. data/lib/llm/tools/mkdir.rb +3 -0
  70. data/lib/llm/tools/rg.rb +3 -0
  71. data/lib/llm/tools/ruby.rb +46 -0
  72. data/lib/llm/tools/shell.rb +3 -0
  73. data/lib/llm/tracer/pretty_logger.rb +127 -0
  74. data/lib/llm/tracer.rb +1 -0
  75. data/lib/llm/transformer/null.rb +21 -0
  76. data/lib/llm/transformer.rb +55 -0
  77. data/lib/llm/version.rb +1 -1
  78. data/lib/llm.rb +12 -2
  79. data/llm.gemspec +9 -2
  80. data/resources/deepdive/advanced/cancellation.md +74 -0
  81. data/resources/deepdive/advanced/compaction.md +83 -0
  82. data/resources/deepdive/advanced/context.md +267 -0
  83. data/resources/deepdive/advanced/guard.md +371 -0
  84. data/resources/deepdive/advanced/tracer.md +180 -0
  85. data/resources/deepdive/advanced/transformer.md +67 -0
  86. data/resources/deepdive/advanced/transports.md +45 -0
  87. data/resources/deepdive/everything_else/audio.md +122 -0
  88. data/resources/deepdive/everything_else/cost.md +99 -0
  89. data/resources/deepdive/everything_else/images.md +89 -0
  90. data/resources/deepdive/everything_else/object.md +108 -0
  91. data/resources/deepdive/everything_else/ocr.md +48 -0
  92. data/resources/deepdive/fundamentals/agents.md +202 -0
  93. data/resources/deepdive/fundamentals/builtin_tools.md +191 -0
  94. data/resources/deepdive/fundamentals/concurrency.md +104 -0
  95. data/resources/deepdive/fundamentals/database.md +449 -0
  96. data/resources/deepdive/fundamentals/embeddings.md +157 -0
  97. data/resources/deepdive/fundamentals/repl.md +87 -0
  98. data/resources/deepdive/fundamentals/schema.md +61 -0
  99. data/resources/deepdive/fundamentals/skills.md +106 -0
  100. data/resources/deepdive/fundamentals/stream.md +110 -0
  101. data/resources/deepdive/fundamentals/tools.md +265 -0
  102. data/resources/deepdive/protocols/a2a.md +106 -0
  103. data/resources/deepdive/protocols/mcp.md +111 -0
  104. data/resources/deepdive.md +58 -1792
  105. metadata +51 -7
  106. data/lib/llm/loop_guard.rb +0 -107
data/data/deepseek.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "deepseek-v4-flash": {
12
12
  "id": "deepseek-v4-flash",
13
13
  "name": "DeepSeek V4 Flash",
14
- "description": "Fast DeepSeek V4 lane for economical reasoning, coding, and long-context work",
14
+ "description": "Official DeepSeek V4 Flash release with enhanced agentic capabilities and integrated DSpark speculative decoding",
15
15
  "family": "deepseek-flash",
16
16
  "attachment": false,
17
17
  "reasoning": true,
@@ -22,6 +22,7 @@
22
22
  {
23
23
  "type": "effort",
24
24
  "values": [
25
+ "low",
25
26
  "high",
26
27
  "max"
27
28
  ]
@@ -34,39 +35,8 @@
34
35
  "structured_output": true,
35
36
  "temperature": true,
36
37
  "knowledge": "2025-05",
37
- "release_date": "2026-04-24",
38
- "last_updated": "2026-04-24",
39
- "modalities": {
40
- "input": [
41
- "text"
42
- ],
43
- "output": [
44
- "text"
45
- ]
46
- },
47
- "open_weights": true,
48
- "limit": {
49
- "context": 1000000,
50
- "output": 384000
51
- },
52
- "cost": {
53
- "input": 0.14,
54
- "output": 0.28,
55
- "cache_read": 0.0028
56
- }
57
- },
58
- "deepseek-chat": {
59
- "id": "deepseek-chat",
60
- "name": "DeepSeek Chat",
61
- "description": "DeepSeek chat model for instruction following, coding, and analysis",
62
- "family": "deepseek",
63
- "attachment": true,
64
- "reasoning": false,
65
- "tool_call": true,
66
- "temperature": true,
67
- "knowledge": "2025-09",
68
- "release_date": "2025-12-01",
69
- "last_updated": "2026-02-28",
38
+ "release_date": "2026-07-31",
39
+ "last_updated": "2026-07-31",
70
40
  "modalities": {
71
41
  "input": [
72
42
  "text"
@@ -83,6 +53,7 @@
83
53
  "cost": {
84
54
  "input": 0.14,
85
55
  "output": 0.28,
56
+ "reasoning": 0.28,
86
57
  "cache_read": 0.0028
87
58
  }
88
59
  },
@@ -130,9 +101,41 @@
130
101
  "cost": {
131
102
  "input": 0.435,
132
103
  "output": 0.87,
104
+ "reasoning": 0.87,
133
105
  "cache_read": 0.003625
134
106
  }
135
107
  },
108
+ "deepseek-chat": {
109
+ "id": "deepseek-chat",
110
+ "name": "DeepSeek Chat",
111
+ "description": "DeepSeek chat model for instruction following, coding, and analysis",
112
+ "family": "deepseek",
113
+ "attachment": true,
114
+ "reasoning": false,
115
+ "tool_call": true,
116
+ "temperature": true,
117
+ "knowledge": "2025-09",
118
+ "release_date": "2025-12-01",
119
+ "last_updated": "2026-02-28",
120
+ "modalities": {
121
+ "input": [
122
+ "text"
123
+ ],
124
+ "output": [
125
+ "text"
126
+ ]
127
+ },
128
+ "open_weights": true,
129
+ "limit": {
130
+ "context": 1000000,
131
+ "output": 384000
132
+ },
133
+ "cost": {
134
+ "input": 0.14,
135
+ "output": 0.28,
136
+ "cache_read": 0.0028
137
+ }
138
+ },
136
139
  "deepseek-reasoner": {
137
140
  "id": "deepseek-reasoner",
138
141
  "name": "DeepSeek Reasoner",
@@ -165,6 +168,7 @@
165
168
  "cost": {
166
169
  "input": 0.14,
167
170
  "output": 0.28,
171
+ "reasoning": 0.28,
168
172
  "cache_read": 0.0028
169
173
  }
170
174
  }