omniai-google 2.7.9 → 2.9.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: 9b718eb7991b71acbb1339523addc4b6336af98a93a978336cf79e696a838fbe
4
- data.tar.gz: 61a97b3e556841f7880fc0f2ca3eb832940a02098e7a55dcf41eb976766ab791
3
+ metadata.gz: 551f277c8b26ddbff48d44ff303f6362341a215f3718f11be891cbe983aeb33d
4
+ data.tar.gz: 58c9fc9eb8d224201ecb2c705c42659d5e024a6a5c1b92dc9d4e1cb689a8d5dd
5
5
  SHA512:
6
- metadata.gz: 65504958cd3c74f5302c6362a72d86d9506637889a4005de4a92ac462567ea7925cfe774e12399bae64eba012cbbf1fa70fcac2e30010d869d1b3ed099b5d6dc
7
- data.tar.gz: 680380f9201edf0a4bc4d6ebfe3a1e08c4b8c30c34b8a99d4d70dbed4beac6eb0a453bd2b2a75efc774628ff79359b7cc616e7fe91a9d1f07c3afe3a6778cae5
6
+ metadata.gz: ddb08dd64b96286b1d7e5c2f69c78b363799ac59c8a15c65095f969aff5869053168c8a67c1b8e5d9e12045304581d9abbd54475ef9db973a4d480fcba9ed251
7
+ data.tar.gz: 4ccb99f0ee69ad0d28110181d2a887606b4336459bdb1cd47e251e6f87c53c148030b6fbc8abb4da32f25422658b9775610f99090b89a4ea73969aac9e749415
@@ -33,19 +33,12 @@ module OmniAI
33
33
  #
34
34
  # @return [Hash]
35
35
  def self.serialize(media, *)
36
- if media.is_a?(OmniAI::Chat::URL) && use_file_data?(URI.parse(media.uri))
36
+ if media.is_a?(OmniAI::Chat::URL)
37
37
  serialize_as_file_data(media)
38
38
  else
39
39
  serialize_as_inline_data(media)
40
40
  end
41
41
  end
42
-
43
- # @param uri [URI]
44
- #
45
- # @return [Boolean]
46
- def self.use_file_data?(uri)
47
- uri.host.eql?("generativelanguage.googleapis.com") || uri.scheme.eql?("gs")
48
- end
49
42
  end
50
43
  end
51
44
  end
@@ -98,8 +98,18 @@ module OmniAI
98
98
  return unless @tools&.any?
99
99
 
100
100
  [
101
- function_declarations: @tools.map { |tool| tool.serialize(context:) },
102
- ]
101
+ function_declarations: custom_tools.map { |tool| tool.serialize(context:) },
102
+ ].concat(internal_tools.map { |name| { name => {} } })
103
+ end
104
+
105
+ # @return [Array<OmniAI::Tool>]
106
+ def custom_tools
107
+ @tools.filter { |tool| tool.is_a?(OmniAI::Tool) }
108
+ end
109
+
110
+ # @return [Array<Symbol, String>]
111
+ def internal_tools
112
+ @tools.filter { |tool| tool.is_a?(Symbol) || tool.is_a?(String) }
103
113
  end
104
114
 
105
115
  # @return [Hash]
@@ -2,6 +2,6 @@
2
2
 
3
3
  module OmniAI
4
4
  module Google
5
- VERSION = "2.7.9"
5
+ VERSION = "2.9.0"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: omniai-google
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.9
4
+ version: 2.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Sylvestre