ruby_llm 1.13.1 → 1.13.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e037afc338572ce65ca4ff1d7db24005a13d07852421bbdcc33a0a75eab9dcca
4
- data.tar.gz: 7d7faf8f14d05a8b9fb384d7a3d88379a6def691a0c420eeccfac2df91ff0257
3
+ metadata.gz: c48130380955a0e6c768f4fe305e5ed165640586b4fe68521292684cfc9fba71
4
+ data.tar.gz: 510d06d85d1932eb8a4fed8d86f5bc91e05bdd5d62e8816a79d475ec31c01ac8
5
5
  SHA512:
6
- metadata.gz: 4dc5e45a77b4158568a6992e18b5f73cf01a59b51a5aea1cde3117f2714dc72f08ba84aee4f75584c021101ce0b13622dfb364a138279c2cd21e7e836ac5e98d
7
- data.tar.gz: 3b31148c54a256e11796c4b7a07f77f887637d651b43a6930e8e5f03ca760c3001c714e06b153fe0a8edab83934afb0577e3c8da0f260a77fc15fb30244e538f
6
+ metadata.gz: 4262b4a586ad32e4145a94e95bc96187c8476c5cbaf64f63ed475027efd45f3562517c19a86aeca6dd0a5e99b08b149f13971e379f7eef012ab4ee574e5ce027
7
+ data.tar.gz: 688aa065d9c5c6df785761f83258d7118c3d200e14a264e40216680ebdf49d5893fbed461487345df5bafa29b3a8db00d82710b229e1071ff4012d6aac10cd95
@@ -182,6 +182,15 @@
182
182
  "openrouter": "google/gemini-3-pro-preview",
183
183
  "vertexai": "gemini-3-pro-preview"
184
184
  },
185
+ "gemini-3.1-flash-image-preview": {
186
+ "gemini": "gemini-3.1-flash-image-preview",
187
+ "openrouter": "google/gemini-3.1-flash-image-preview",
188
+ "vertexai": "gemini-3.1-flash-image-preview"
189
+ },
190
+ "gemini-3.1-flash-lite-preview": {
191
+ "gemini": "gemini-3.1-flash-lite-preview",
192
+ "openrouter": "google/gemini-3.1-flash-lite-preview"
193
+ },
185
194
  "gemini-3.1-pro-preview": {
186
195
  "gemini": "gemini-3.1-pro-preview",
187
196
  "openrouter": "google/gemini-3.1-pro-preview",
@@ -189,6 +198,7 @@
189
198
  },
190
199
  "gemini-3.1-pro-preview-customtools": {
191
200
  "gemini": "gemini-3.1-pro-preview-customtools",
201
+ "openrouter": "google/gemini-3.1-pro-preview-customtools",
192
202
  "vertexai": "gemini-3.1-pro-preview-customtools"
193
203
  },
194
204
  "gemini-embedding-001": {
data/lib/ruby_llm/chat.rb CHANGED
@@ -209,13 +209,18 @@ module RubyLLM
209
209
 
210
210
  def build_schema_payload(schema, schema_def, strict)
211
211
  {
212
- name: schema[:name] || 'response',
212
+ name: sanitize_schema_name(schema[:name] || 'response'),
213
213
  schema: schema_def,
214
214
  strict: strict.nil? || strict,
215
215
  description: schema[:description]
216
216
  }.compact
217
217
  end
218
218
 
219
+ def sanitize_schema_name(name)
220
+ sanitized = name.to_s.gsub(/[^a-zA-Z0-9_-]/, '_')
221
+ sanitized.empty? ? 'response' : sanitized
222
+ end
223
+
219
224
  def wrap_streaming_block(&block)
220
225
  return nil unless block_given?
221
226