scout-ai 1.1.5 → 1.1.6

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: a7547b1799e4e889811f657c545060e0e09e2511d94adeb279c0e17a06679cac
4
- data.tar.gz: '0344384d986d8eb84acedeb053f4ba9d9595bd2989783976269ef668f20a1164'
3
+ metadata.gz: d5ca142f92d36e5107d70899a8556f715b9e179772015da1e52eb8275d66e25f
4
+ data.tar.gz: 2f1ba6c8a1476cbee42ec1c0f1b0cf2fcae15044f9eeed13d6e42b7b7a5e5618
5
5
  SHA512:
6
- metadata.gz: 200bfcd2e7deb730fc59b480c9ae1dc752acaf5feb8acbe3394a382f29d9f3d1f9d972b85a1f2b977e5305b5d9461597da53c06a9119df4fe1bda94f9e24443d
7
- data.tar.gz: b6ea56c1e62ce79c2cae6d745f839affa6279efdaae7e3f07976e0bce2e9c1b640abeb50cbfe2095cd8c2cde08b26d49d868502451c320197f64542f559d9d2a
6
+ metadata.gz: 93b8db1128eb2be1f4eee9b9edc68e5b7ada4be68c5bbffefcc52f98281d91ce1e8b6337703fcbf01e2af188c355db1141a40fd2337b8bfe530a04b77b472828
7
+ data.tar.gz: 573aa7f7423d2b5329a768baa5eb0ebb17925c9383ab8d1a3346adecaed76f680328ab29080685ce64c91d886d4eb3c3cfa538d9b0f2abe33f55b53d0915f346
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.1.5
1
+ 1.1.6
data/lib/scout/llm/ask.rb CHANGED
@@ -55,7 +55,7 @@ module LLM
55
55
 
56
56
  res = Persist.persist(endpoint, :json, prefix: "LLM ask", other: options.merge(messages: messages), persist: persist) do
57
57
  backend = IndiferentHash.process_options options, :backend
58
- backend ||= Scout::Config.get :backend, :ask, :llm, env: 'ASK_BACKEND,LLM_BACKEND', default: :openai
58
+ backend ||= Scout::Config.get :backend, :ask, :llm, env: 'ASK_BACKEND,LLM_BACKEND', default: :responses
59
59
 
60
60
  case backend
61
61
  when :openai, "openai"
@@ -158,8 +158,24 @@ module LLM
158
158
  end
159
159
  end
160
160
 
161
- class << self
162
- alias tool_definitions_to_openai tool_definitions_to_reponses
161
+ def self.tool_definitions_to_openai(tools)
162
+ tools.values.collect do |obj,definition|
163
+ definition = obj if Hash === obj
164
+ definition
165
+
166
+ definition = case definition[:function]
167
+ when Hash
168
+ definition
169
+ else
170
+ {type: :function, function: definition}
171
+ end
172
+
173
+ definition = IndiferentHash.add_defaults definition, type: :function
174
+
175
+ definition[:parameters].delete :defaults if definition[:parameters]
176
+
177
+ definition
178
+ end
163
179
  end
164
180
 
165
181
  def self.tool_definitions_to_ollama(tools)
data/scout-ai.gemspec CHANGED
@@ -2,11 +2,11 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: scout-ai 1.1.5 ruby lib
5
+ # stub: scout-ai 1.1.6 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "scout-ai".freeze
9
- s.version = "1.1.5".freeze
9
+ s.version = "1.1.6".freeze
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
@@ -128,7 +128,10 @@ if chat
128
128
  conversation += LLM.chat(question) if question
129
129
  conversation += new
130
130
 
131
- Open.open(chat, mode: 'a'){|f| f.puts LLM.print(new) }
131
+ Open.open(chat, mode: 'a') do |f|
132
+ f.puts LLM.print([{role: :user, content: question}]) unless question.empty?
133
+ f.puts LLM.print(new)
134
+ end
132
135
  puts LLM.purge(new).last[:content]
133
136
  elsif inline
134
137
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scout-ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez