foobara-ai 0.0.7 → 0.0.8

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: 2cf7c8f4de4993afb316ca3187bdc4372346b0743da3ed98b9fa7d4779538ffe
4
- data.tar.gz: 3f6d6eeb012a70d8faf1f2327ec170e0c99ee6f1dab48c8c0fd5b958ff902f06
3
+ metadata.gz: 9e61347f3236396bc0e57bb5c4c91278b52ecde626c8f20647a627309212d83a
4
+ data.tar.gz: c236f9100114147b2ef03f9e8c2d89f2aa27ef229d3e7e87a5554d50d034b0bc
5
5
  SHA512:
6
- metadata.gz: 55f47ea5885ae3f62ebbb456b27725cbc7572c8dbfeb4eeb8242e1a3c7b4c39577e0b08bd62c6ce19b706b9f1b9bf332418a39d02b9684e89960c0c31f5e14da
7
- data.tar.gz: 15b66c3c34b6b316a5aa18936abff18a3a439ce9f9de6aaed957b180a71a0abd1e5bf0e18393986a1d2dd7ed201de6c3e535ff1fd92843cbc457dd6da00745f7
6
+ metadata.gz: a5b857fb7eef5f032240b541bdfa4d6b1e0a70d428fb899bf474d31801238dcc95d47c0e00ff43211d532f4c246f9475e6d26fb5d615a65bf99c575453fb1260
7
+ data.tar.gz: 7f007f46422075464ef606dc5cac0071a1855f132ff19735f016c6ed5096a0c27860cb638dbfa6f8c9c271f58e9f2506dc5b675225b28b324a5889784124893f
data/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- ## [0.0.7] - 2025-03-04
1
+ ## [0.0.8] - 2025-03-05
2
2
 
3
3
  - Do not require all 3 services to function. Let user require which services they want to use.
4
4
 
data/lib/foobara/ai.rb CHANGED
@@ -28,6 +28,12 @@ module Foobara
28
28
  AI_SERVICES = ai_services
29
29
 
30
30
  base_dir = "#{__dir__}/../../src/foobara/ai/answer_bot"
31
+
32
+ AI_SERVICES.each_value do |domain|
33
+ path = Util.underscore(domain.foobara_domain_name)
34
+ require_relative "#{base_dir}/domain_mappers/#{path}/model_to_model_enum_string"
35
+ end
36
+
31
37
  Util.require_directory "#{base_dir}/types"
32
38
  Dir["#{base_dir}/domain_mappers/*.rb"].each { |f| require f }
33
39
  Dir["#{base_dir}/*.rb"].each { |f| require f }
@@ -38,7 +38,7 @@ module Foobara
38
38
  end
39
39
 
40
40
  def determine_ai_command
41
- self.ai_command = domain_map!(ai_service, to: Foobara::Command)
41
+ self.ai_command = Foobara::Ai::AnswerBot::DomainMappers::ServiceToChatCompletionCommand.map!(ai_service)
42
42
  end
43
43
 
44
44
  def run_ai_service
@@ -1,5 +1,3 @@
1
- require_relative "../../types/model_enum"
2
-
3
1
  module Foobara
4
2
  module Ai
5
3
  module AnswerBot
@@ -1,5 +1,3 @@
1
- require_relative "../../types/model_enum"
2
-
3
1
  module Foobara
4
2
  module Ai
5
3
  module AnswerBot
@@ -1,5 +1,3 @@
1
- require_relative "../../types/model_enum"
2
-
3
1
  module Foobara
4
2
  module Ai
5
3
  module AnswerBot
@@ -1,10 +1,8 @@
1
- require_relative "../types/service_enum"
2
-
3
1
  module Foobara
4
2
  module Ai
5
3
  module AnswerBot
6
4
  module DomainMappers
7
- class ServiceToChatCompletionCommand < Foobara::DomainMapper
5
+ class ServiceToListModelsCommand < Foobara::DomainMapper
8
6
  from :service_enum
9
7
  # TODO: create a :class type? Maybe with an inherits: validator?
10
8
  to Class
@@ -1,14 +1,11 @@
1
1
  require_relative "service_enum"
2
2
  require_relative "../domain_mappers/service_to_list_models_command"
3
- require_relative "../domain_mappers/anthropic_api/model_to_model_enum_string"
4
- require_relative "../domain_mappers/ollama_api/model_to_model_enum_string"
5
- require_relative "../domain_mappers/open_ai_api/model_to_model_enum_string"
6
3
 
7
4
  module Foobara
8
5
  module Ai
9
6
  module AnswerBot
10
7
  module Types
11
- threads = ServiceEnum.all_values.map do |service|
8
+ threads = AI_SERVICES.keys.map do |service|
12
9
  Thread.new do
13
10
  service_models = AnswerBot.foobara_domain_map!(service).run!
14
11
  service_models.map do |model|
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foobara-ai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miles Georgi