helicone-rb 0.3.0 → 0.3.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.
- checksums.yaml +4 -4
- data/lib/helicone/agent.rb +9 -6
- data/lib/helicone/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3d7fc91958e3632fb91f474bfa20a5523bf2997ab33b2b0c5222977ff8a0b2e9
|
|
4
|
+
data.tar.gz: 967e53e49f3e2ddd480102ae5552ce3e3074c2a8f412c7bc35aa519f74e20bad
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 70cc843edb4833e83aaee85d0af7703610f98ebff7e679e04ce5dde54419eaac22027d9c97ddccd0df55f75ff9ce1891d03686509c925ce8d7ab3fc37a2032ae
|
|
7
|
+
data.tar.gz: '082978063ff56855409433acc6969bb0a244d5e1a34e2050824ad76534beeaff2f9051005fa83a698a932982712929547fc5801312486a9a12bb03c12c09b459'
|
data/lib/helicone/agent.rb
CHANGED
|
@@ -10,13 +10,14 @@ module Helicone
|
|
|
10
10
|
#
|
|
11
11
|
# @param client [Helicone::Client] Optional client (creates new one if not provided)
|
|
12
12
|
# @param session [Hash] Session config for Helicone tracking (id:, name:) - creates client if no client provided
|
|
13
|
+
# @param user [Hash] User config for Helicone tracking (id:, name:) - sets Helicone-User-Id header
|
|
13
14
|
# @param tools [Array<Class>] Array of Tool subclasses
|
|
14
15
|
# @param context [Object] Context object passed to tool#initialize
|
|
15
16
|
# @param system_prompt [String] System prompt
|
|
16
17
|
# @param messages [Array<Helicone::Message>] Initial messages (for continuing conversations)
|
|
17
18
|
# @param model [String] Model to use (defaults to Helicone.configuration.default_model)
|
|
18
|
-
def initialize(client: nil, session: nil, tools: [], context: nil, system_prompt: nil, messages: [], model: nil)
|
|
19
|
-
@client = client || build_client(session: session)
|
|
19
|
+
def initialize(client: nil, session: nil, user: nil, tools: [], context: nil, system_prompt: nil, messages: [], model: nil)
|
|
20
|
+
@client = client || build_client(session: session, user: user)
|
|
20
21
|
@tools = tools
|
|
21
22
|
@context = context
|
|
22
23
|
@model = model
|
|
@@ -136,12 +137,14 @@ module Helicone
|
|
|
136
137
|
@tools.find { |t| t.function_name == name }
|
|
137
138
|
end
|
|
138
139
|
|
|
139
|
-
def build_client(session:)
|
|
140
|
-
return Client.new unless session
|
|
140
|
+
def build_client(session:, user:)
|
|
141
|
+
return Client.new unless session || user
|
|
141
142
|
|
|
142
143
|
Client.new(
|
|
143
|
-
session_id: session
|
|
144
|
-
session_name: session
|
|
144
|
+
session_id: session&.dig(:id),
|
|
145
|
+
session_name: session&.dig(:name),
|
|
146
|
+
account_id: user&.dig(:id),
|
|
147
|
+
account_name: user&.dig(:name)
|
|
145
148
|
)
|
|
146
149
|
end
|
|
147
150
|
end
|
data/lib/helicone/version.rb
CHANGED