girb-ruby_llm 0.2.0 → 0.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 53c8af5d1f30750451fed2b555cd064e492468da3e7954cf5976443374eb4d4d
4
- data.tar.gz: '0149788d1aa79cd0de9bd0531ca8e855e4934c7e3b63a2fa59000ba2469e6048'
3
+ metadata.gz: 9c9b33177aa9d0dc0bb6b1f3dcaf44ebaa74bf3028f46458115dc9359b759b80
4
+ data.tar.gz: b10c9fe5007191e1c4f2a3897aa2b8bea2681bdcc9c52386b041b296aa53eb39
5
5
  SHA512:
6
- metadata.gz: 78f109efbd1bb1a677295a8de6bc319f5dbd979df13bac7222cdf8015468b3973b88322bf7ca1cfb528b91d35ed1c2b220ca689eaa04147621dd18ae5abe1c35
7
- data.tar.gz: 7770dbb62a2f71cf5197bb0db15a4b526824cf6d4f5a1a410170672dce64cb92251efcefabc71d851f75ab1b8d719a98b974cbea9e5c8d3fbbd964bbc891ee37
6
+ metadata.gz: 1726d79382bc171b089c7c761f567997b2ac43b7b14791529cbbeb3ba9a0d03b4d6e81b06723dec280f9d13631e4c1ed3dd9ceaca7a2067e472d9496624118b1
7
+ data.tar.gz: 86888dd0aee1bd750a331f6231c346100f029131018c830661242b65909053de391af7267de7fc550759ee80558d312f68870ff6aa081da038274fddc94d15ee
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.3.0] - 2026-02-07
4
+
5
+ ### Fixed
6
+
7
+ - Fix Gemini 3 thought_signature error on function calls
8
+ - Preserve provider-specific metadata (e.g. thought_signature) through tool call lifecycle
9
+
3
10
  ## [0.2.0] - 2026-02-05
4
11
 
5
12
  ### Added
data/README.md CHANGED
@@ -117,7 +117,7 @@ require 'girb-ruby_llm'
117
117
 
118
118
  # Set OPENAI_API_KEY environment variable
119
119
  Girb.configure do |c|
120
- c.provider = Girb::Providers::RubyLlm.new(model: 'gpt-4o')
120
+ c.provider = Girb::Providers::RubyLlm.new(model: 'gpt-5.2-2025-12-11')
121
121
  end
122
122
  ```
123
123
 
@@ -129,7 +129,7 @@ require 'girb-ruby_llm'
129
129
 
130
130
  # Set ANTHROPIC_API_KEY environment variable
131
131
  Girb.configure do |c|
132
- c.provider = Girb::Providers::RubyLlm.new(model: 'claude-sonnet-4-20250514')
132
+ c.provider = Girb::Providers::RubyLlm.new(model: 'claude-opus-4-5')
133
133
  end
134
134
  ```
135
135
 
data/README_ja.md CHANGED
@@ -115,7 +115,7 @@ require 'girb-ruby_llm'
115
115
 
116
116
  # OPENAI_API_KEY 環境変数を設定
117
117
  Girb.configure do |c|
118
- c.provider = Girb::Providers::RubyLlm.new(model: 'gpt-4o')
118
+ c.provider = Girb::Providers::RubyLlm.new(model: 'gpt-5.2-2025-12-11')
119
119
  end
120
120
  ```
121
121
 
@@ -127,7 +127,7 @@ require 'girb-ruby_llm'
127
127
 
128
128
  # ANTHROPIC_API_KEY 環境変数を設定
129
129
  Girb.configure do |c|
130
- c.provider = Girb::Providers::RubyLlm.new(model: 'claude-sonnet-4-20250514')
130
+ c.provider = Girb::Providers::RubyLlm.new(model: 'claude-opus-4-5')
131
131
  end
132
132
  ```
133
133
 
@@ -62,15 +62,15 @@ module Girb
62
62
  chat.add_message(role: :assistant, content: msg[:content])
63
63
  when :tool_call
64
64
  id = msg[:id] || "call_#{SecureRandom.hex(12)}"
65
+ tool_call_opts = { id: id, name: msg[:name], arguments: msg[:args] }
66
+ if msg.dig(:metadata, :thought_signature)
67
+ tool_call_opts[:thought_signature] = msg[:metadata][:thought_signature]
68
+ end
65
69
  chat.add_message(
66
70
  role: :assistant,
67
71
  content: nil,
68
72
  tool_calls: {
69
- id => ::RubyLLM::ToolCall.new(
70
- id: id,
71
- name: msg[:name],
72
- arguments: msg[:args]
73
- )
73
+ id => ::RubyLLM::ToolCall.new(**tool_call_opts)
74
74
  }
75
75
  )
76
76
  when :tool_result
@@ -134,11 +134,15 @@ module Girb
134
134
  return [] unless response.tool_call?
135
135
 
136
136
  response.tool_calls.map do |_id, tool_call|
137
- {
137
+ fc = {
138
138
  id: tool_call.id,
139
139
  name: tool_call.name.to_s,
140
140
  args: tool_call.arguments || {}
141
141
  }
142
+ if tool_call.respond_to?(:thought_signature) && tool_call.thought_signature
143
+ fc[:metadata] = { thought_signature: tool_call.thought_signature }
144
+ end
145
+ fc
142
146
  end
143
147
  end
144
148
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GirbRubyLlm
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: girb-ruby_llm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - rira100000000