helicone-rb 0.1.2 → 0.1.3

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: 22d855f83be3572fa91710cb1a63483ac70e07717b9a77103ca752d71931ad09
4
- data.tar.gz: 26a6eca90b9d1c9ff1cee79ae8a774da5a65fec8088c30bae1956c493242e336
3
+ metadata.gz: 210ac6dc40e739a7ee0ff0478dfec18c300f786afd0b4f149a57048b1bd46ce9
4
+ data.tar.gz: a11ef6687f94ebdf9c9adcc56635256388718be341941fe13258ec8930c8fe29
5
5
  SHA512:
6
- metadata.gz: de7718c83e259ded888212a02c63f2cac6f02eb457ded45361efa1d903a2490a0774425dccab4861da8dd40d48888ab3a156ab769dac1c8f64d42e59b427aa41
7
- data.tar.gz: 60bc8baed47ae2599f8a7f7f5ecfeca1e791b9b1ddf1123a61e99d7e2f1368254dfeef3a29d0d3941f27c1b1215fe1ac28220ce5ec74c292e610ea9c132d6763
6
+ metadata.gz: a9b4f50614b0f88b150f5a6457f0fb0c8fef5046451a59a5963225202af5f72b6f72602df6b54c10996cd271ce192c1c5e6902198e744b2dafe06021964ab913
7
+ data.tar.gz: f887ebe7105b9287cdfaa94df8af657c69af7d28e8bc5760c5dc1aabfd5c9ddad7a3297efe9b713542e58fcfd640780079ffddc044e78fb6b203e38eb3111b31
@@ -9,12 +9,13 @@ module Helicone
9
9
  # Create an agent with tools and optional context
10
10
  #
11
11
  # @param client [Helicone::Client] Optional client (creates new one if not provided)
12
+ # @param session [Hash] Session config for Helicone tracking (id:, name:) - creates client if no client provided
12
13
  # @param tools [Array<Class>] Array of Tool subclasses
13
14
  # @param context [Object] Context object passed to tool#initialize
14
15
  # @param system_prompt [String] System prompt
15
16
  # @param messages [Array<Helicone::Message>] Initial messages (for continuing conversations)
16
- def initialize(client: nil, tools: [], context: nil, system_prompt: nil, messages: [])
17
- @client = client || Client.new
17
+ def initialize(client: nil, session: nil, tools: [], context: nil, system_prompt: nil, messages: [])
18
+ @client = client || build_client(session: session)
18
19
  @tools = tools
19
20
  @context = context
20
21
  @messages = messages.dup
@@ -130,5 +131,14 @@ module Helicone
130
131
  def find_tool_class(name)
131
132
  @tools.find { |t| t.function_name == name }
132
133
  end
134
+
135
+ def build_client(session:)
136
+ return Client.new unless session
137
+
138
+ Client.new(
139
+ session_id: session[:id],
140
+ session_name: session[:name]
141
+ )
142
+ end
133
143
  end
134
144
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Helicone
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: helicone-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genevere