ask-core 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 +4 -4
- data/lib/ask/conversation.rb +17 -2
- data/lib/ask/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: e946277b56e6e4ace450e2da7b1c36f92510b2db77544586773d88ca296c573b
|
|
4
|
+
data.tar.gz: 4422ae36f021a460470437097d06a84c680b76de7c8acbbbc942b477240f598b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8776604d752f326fbb2ddb063694e364a63f1a2900073b9782eef11722837f161fdbc7ea57fe5902521b52973c6c180429c1cc92b833a475fb8591ab76572f3d
|
|
7
|
+
data.tar.gz: 7efbedddd31c08a2dac6c99a432631950f50cad067c71965f0b8ff72d13666ff069d8902aeba0f4f4aefbfbff1e05c8eeda2c53bdb6e1479947a11353a9df892
|
data/lib/ask/conversation.rb
CHANGED
|
@@ -54,14 +54,29 @@ module Ask
|
|
|
54
54
|
def tool? = @role == :tool
|
|
55
55
|
|
|
56
56
|
# Convert to a hash suitable for provider wire format serialization.
|
|
57
|
-
# Omits nil-valued keys.
|
|
57
|
+
# Omits nil-valued keys. Tool calls are converted from internal Hash format
|
|
58
|
+
# ({id => object with .id, .name, .arguments}) to the provider API Array format
|
|
59
|
+
# ([{id:, type:, function: {name:, arguments:}}]).
|
|
58
60
|
# @return [Hash]
|
|
59
61
|
def to_h
|
|
60
62
|
base = { role: @role }
|
|
61
63
|
base[:content] = @content if @content
|
|
62
64
|
base[:name] = @name if @name
|
|
63
65
|
base[:tool_call_id] = @tool_call_id if @tool_call_id
|
|
64
|
-
|
|
66
|
+
|
|
67
|
+
if @tool_calls
|
|
68
|
+
base[:tool_calls] = @tool_calls.is_a?(Array) ? @tool_calls : @tool_calls.map do |id, tc|
|
|
69
|
+
{
|
|
70
|
+
id: tc.respond_to?(:id) ? tc.id : id,
|
|
71
|
+
type: "function",
|
|
72
|
+
function: {
|
|
73
|
+
name: tc.respond_to?(:name) ? tc.name : tc.to_s,
|
|
74
|
+
arguments: tc.respond_to?(:arguments) ? tc.arguments : "{}"
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
65
80
|
base
|
|
66
81
|
end
|
|
67
82
|
|
data/lib/ask/version.rb
CHANGED