ruby_llm 1.13.2 → 1.14.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 +4 -4
- data/README.md +5 -5
- data/lib/generators/ruby_llm/agent/agent_generator.rb +36 -0
- data/lib/generators/ruby_llm/agent/templates/agent.rb.tt +6 -0
- data/lib/generators/ruby_llm/agent/templates/instructions.txt.erb.tt +0 -0
- data/lib/generators/ruby_llm/chat_ui/chat_ui_generator.rb +110 -41
- data/lib/generators/ruby_llm/chat_ui/templates/controllers/chats_controller.rb.tt +14 -15
- data/lib/generators/ruby_llm/chat_ui/templates/controllers/messages_controller.rb.tt +8 -11
- data/lib/generators/ruby_llm/chat_ui/templates/controllers/models_controller.rb.tt +2 -2
- data/lib/generators/ruby_llm/chat_ui/templates/helpers/messages_helper.rb.tt +25 -0
- data/lib/generators/ruby_llm/chat_ui/templates/jobs/chat_response_job.rb.tt +1 -1
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/chats/_chat.html.erb.tt +16 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/chats/_form.html.erb.tt +31 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/chats/index.html.erb.tt +31 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/chats/new.html.erb.tt +9 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/chats/show.html.erb.tt +27 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_assistant.html.erb.tt +14 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_content.html.erb.tt +1 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_error.html.erb.tt +13 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_form.html.erb.tt +23 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_system.html.erb.tt +10 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_tool.html.erb.tt +2 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_tool_calls.html.erb.tt +4 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_user.html.erb.tt +14 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/tool_calls/_default.html.erb.tt +13 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/tool_results/_default.html.erb.tt +21 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/models/_model.html.erb.tt +17 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/models/index.html.erb.tt +40 -0
- data/lib/generators/ruby_llm/chat_ui/templates/tailwind/views/models/show.html.erb.tt +27 -0
- data/lib/generators/ruby_llm/chat_ui/templates/views/chats/_chat.html.erb.tt +2 -2
- data/lib/generators/ruby_llm/chat_ui/templates/views/chats/_form.html.erb.tt +2 -2
- data/lib/generators/ruby_llm/chat_ui/templates/views/chats/index.html.erb.tt +19 -7
- data/lib/generators/ruby_llm/chat_ui/templates/views/chats/new.html.erb.tt +1 -1
- data/lib/generators/ruby_llm/chat_ui/templates/views/chats/show.html.erb.tt +5 -3
- data/lib/generators/ruby_llm/chat_ui/templates/views/messages/_assistant.html.erb.tt +9 -0
- data/lib/generators/ruby_llm/chat_ui/templates/views/messages/_content.html.erb.tt +1 -1
- data/lib/generators/ruby_llm/chat_ui/templates/views/messages/_error.html.erb.tt +8 -0
- data/lib/generators/ruby_llm/chat_ui/templates/views/messages/_form.html.erb.tt +1 -1
- data/lib/generators/ruby_llm/chat_ui/templates/views/messages/_system.html.erb.tt +6 -0
- data/lib/generators/ruby_llm/chat_ui/templates/views/messages/_tool.html.erb.tt +2 -0
- data/lib/generators/ruby_llm/chat_ui/templates/views/messages/_tool_calls.html.erb.tt +4 -7
- data/lib/generators/ruby_llm/chat_ui/templates/views/messages/_user.html.erb.tt +9 -0
- data/lib/generators/ruby_llm/chat_ui/templates/views/messages/create.turbo_stream.erb.tt +5 -7
- data/lib/generators/ruby_llm/chat_ui/templates/views/messages/tool_calls/_default.html.erb.tt +8 -0
- data/lib/generators/ruby_llm/chat_ui/templates/views/messages/tool_results/_default.html.erb.tt +16 -0
- data/lib/generators/ruby_llm/chat_ui/templates/views/models/_model.html.erb.tt +11 -12
- data/lib/generators/ruby_llm/chat_ui/templates/views/models/index.html.erb.tt +27 -17
- data/lib/generators/ruby_llm/chat_ui/templates/views/models/show.html.erb.tt +3 -4
- data/lib/generators/ruby_llm/generator_helpers.rb +33 -17
- data/lib/generators/ruby_llm/install/install_generator.rb +21 -18
- data/lib/generators/ruby_llm/install/templates/create_models_migration.rb.tt +3 -4
- data/lib/generators/ruby_llm/install/templates/create_tool_calls_migration.rb.tt +1 -1
- data/lib/generators/ruby_llm/install/templates/initializer.rb.tt +2 -2
- data/lib/generators/ruby_llm/schema/schema_generator.rb +26 -0
- data/lib/generators/ruby_llm/schema/templates/schema.rb.tt +2 -0
- data/lib/generators/ruby_llm/tool/templates/tool.rb.tt +9 -0
- data/lib/generators/ruby_llm/tool/templates/tool_call.html.erb.tt +13 -0
- data/lib/generators/ruby_llm/tool/templates/tool_result.html.erb.tt +13 -0
- data/lib/generators/ruby_llm/tool/tool_generator.rb +96 -0
- data/lib/generators/ruby_llm/upgrade_to_v1_10/upgrade_to_v1_10_generator.rb +1 -1
- data/lib/generators/ruby_llm/upgrade_to_v1_14/templates/add_v1_14_tool_call_columns.rb.tt +7 -0
- data/lib/generators/ruby_llm/upgrade_to_v1_14/upgrade_to_v1_14_generator.rb +49 -0
- data/lib/generators/ruby_llm/upgrade_to_v1_7/upgrade_to_v1_7_generator.rb +2 -4
- data/lib/generators/ruby_llm/upgrade_to_v1_9/upgrade_to_v1_9_generator.rb +1 -1
- data/lib/ruby_llm/active_record/acts_as.rb +2 -0
- data/lib/ruby_llm/active_record/acts_as_legacy.rb +2 -0
- data/lib/ruby_llm/active_record/chat_methods.rb +1 -1
- data/lib/ruby_llm/active_record/message_methods.rb +28 -0
- data/lib/ruby_llm/active_record/model_methods.rb +1 -1
- data/lib/ruby_llm/active_record/tool_call_methods.rb +28 -0
- data/lib/ruby_llm/agent.rb +11 -0
- data/lib/ruby_llm/aliases.json +15 -5
- data/lib/ruby_llm/attachment.rb +3 -0
- data/lib/ruby_llm/configuration.rb +54 -73
- data/lib/ruby_llm/connection.rb +1 -3
- data/lib/ruby_llm/error.rb +5 -0
- data/lib/ruby_llm/model/info.rb +14 -12
- data/lib/ruby_llm/models.json +2693 -2160
- data/lib/ruby_llm/models.rb +10 -3
- data/lib/ruby_llm/provider.rb +5 -0
- data/lib/ruby_llm/providers/anthropic.rb +4 -0
- data/lib/ruby_llm/providers/azure.rb +4 -0
- data/lib/ruby_llm/providers/bedrock.rb +4 -0
- data/lib/ruby_llm/providers/deepseek.rb +4 -0
- data/lib/ruby_llm/providers/gemini.rb +4 -0
- data/lib/ruby_llm/providers/gpustack.rb +4 -0
- data/lib/ruby_llm/providers/mistral.rb +4 -0
- data/lib/ruby_llm/providers/ollama.rb +4 -0
- data/lib/ruby_llm/providers/openai.rb +10 -0
- data/lib/ruby_llm/providers/openrouter/images.rb +1 -1
- data/lib/ruby_llm/providers/openrouter.rb +4 -0
- data/lib/ruby_llm/providers/perplexity.rb +4 -0
- data/lib/ruby_llm/providers/vertexai.rb +4 -0
- data/lib/ruby_llm/providers/xai.rb +4 -0
- data/lib/ruby_llm/version.rb +1 -1
- data/lib/tasks/release.rake +1 -1
- data/lib/tasks/ruby_llm.rake +6 -5
- data/lib/tasks/vcr.rake +1 -1
- metadata +47 -10
- data/lib/generators/ruby_llm/chat_ui/templates/views/messages/_message.html.erb.tt +0 -13
data/lib/ruby_llm/models.rb
CHANGED
|
@@ -47,7 +47,8 @@ module RubyLLM
|
|
|
47
47
|
|
|
48
48
|
def read_from_json(file = RubyLLM.config.model_registry_file)
|
|
49
49
|
data = File.exist?(file) ? File.read(file) : '[]'
|
|
50
|
-
JSON.parse(data, symbolize_names: true).map { |model| Model::Info.new(model) }
|
|
50
|
+
models = JSON.parse(data, symbolize_names: true).map { |model| Model::Info.new(model) }
|
|
51
|
+
filter_models(models)
|
|
51
52
|
rescue JSON::ParserError
|
|
52
53
|
[]
|
|
53
54
|
end
|
|
@@ -232,7 +233,13 @@ module RubyLLM
|
|
|
232
233
|
end
|
|
233
234
|
end
|
|
234
235
|
|
|
235
|
-
models.sort_by { |m| [m.provider, m.id] }
|
|
236
|
+
filter_models(models).sort_by { |m| [m.provider, m.id] }
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
def filter_models(models)
|
|
240
|
+
models.reject do |model|
|
|
241
|
+
model.provider.to_s == 'vertexai' && model.id.to_s.include?('/')
|
|
242
|
+
end
|
|
236
243
|
end
|
|
237
244
|
|
|
238
245
|
def find_models_dev_model(key, models_dev_by_key)
|
|
@@ -401,7 +408,7 @@ module RubyLLM
|
|
|
401
408
|
end
|
|
402
409
|
|
|
403
410
|
def initialize(models = nil)
|
|
404
|
-
@models = models || self.class.load_models
|
|
411
|
+
@models = self.class.filter_models(models || self.class.load_models)
|
|
405
412
|
end
|
|
406
413
|
|
|
407
414
|
def load_from_json!(file = RubyLLM.config.model_registry_file)
|
data/lib/ruby_llm/provider.rb
CHANGED
|
@@ -164,6 +164,10 @@ module RubyLLM
|
|
|
164
164
|
[]
|
|
165
165
|
end
|
|
166
166
|
|
|
167
|
+
def configuration_options
|
|
168
|
+
[]
|
|
169
|
+
end
|
|
170
|
+
|
|
167
171
|
def local?
|
|
168
172
|
false
|
|
169
173
|
end
|
|
@@ -182,6 +186,7 @@ module RubyLLM
|
|
|
182
186
|
|
|
183
187
|
def register(name, provider_class)
|
|
184
188
|
providers[name.to_sym] = provider_class
|
|
189
|
+
RubyLLM::Configuration.register_provider_options(provider_class.configuration_options)
|
|
185
190
|
end
|
|
186
191
|
|
|
187
192
|
def resolve(name)
|
|
@@ -53,6 +53,10 @@ module RubyLLM
|
|
|
53
53
|
end
|
|
54
54
|
|
|
55
55
|
class << self
|
|
56
|
+
def configuration_options
|
|
57
|
+
%i[bedrock_api_key bedrock_secret_key bedrock_region bedrock_session_token]
|
|
58
|
+
end
|
|
59
|
+
|
|
56
60
|
def configuration_requirements
|
|
57
61
|
%i[bedrock_api_key bedrock_secret_key bedrock_region]
|
|
58
62
|
end
|
|
@@ -35,6 +35,16 @@ module RubyLLM
|
|
|
35
35
|
OpenAI::Capabilities
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
+
def configuration_options
|
|
39
|
+
%i[
|
|
40
|
+
openai_api_key
|
|
41
|
+
openai_api_base
|
|
42
|
+
openai_organization_id
|
|
43
|
+
openai_project_id
|
|
44
|
+
openai_use_system_role
|
|
45
|
+
]
|
|
46
|
+
end
|
|
47
|
+
|
|
38
48
|
def configuration_requirements
|
|
39
49
|
%i[openai_api_key]
|
|
40
50
|
end
|
|
@@ -14,7 +14,7 @@ module RubyLLM
|
|
|
14
14
|
end
|
|
15
15
|
|
|
16
16
|
def render_image_payload(prompt, model:, size:)
|
|
17
|
-
RubyLLM.logger.debug "Ignoring size #{size}. OpenRouter image generation does not support size parameter."
|
|
17
|
+
RubyLLM.logger.debug { "Ignoring size #{size}. OpenRouter image generation does not support size parameter." }
|
|
18
18
|
{
|
|
19
19
|
model: model,
|
|
20
20
|
messages: [
|
data/lib/ruby_llm/version.rb
CHANGED
data/lib/tasks/release.rake
CHANGED
|
@@ -26,7 +26,7 @@ namespace :release do # rubocop:disable Metrics/BlockLength
|
|
|
26
26
|
if stale_count.positive?
|
|
27
27
|
puts "\n🗑️ Removed #{stale_count} stale cassettes"
|
|
28
28
|
puts '🔄 Re-recording cassettes...'
|
|
29
|
-
|
|
29
|
+
run_test_queue_rspec || exit(1)
|
|
30
30
|
puts '✅ Cassettes refreshed!'
|
|
31
31
|
else
|
|
32
32
|
puts '✅ No stale cassettes found'
|
data/lib/tasks/ruby_llm.rake
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
def
|
|
3
|
+
def run_test_queue_rspec
|
|
4
4
|
workers = ENV.fetch('RSPEC_WORKERS', nil)
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
env = {}
|
|
6
|
+
env['TEST_QUEUE_WORKERS'] = workers if workers && !workers.empty? && ENV.fetch('TEST_QUEUE_WORKERS', '').empty?
|
|
7
|
+
|
|
8
|
+
system(env, 'bundle', 'exec', 'bin/rspec-queue')
|
|
8
9
|
end
|
|
9
10
|
|
|
10
11
|
namespace :ruby_llm do
|
|
@@ -16,7 +17,7 @@ namespace :ruby_llm do
|
|
|
16
17
|
model_class.save_to_database
|
|
17
18
|
puts "✅ Loaded #{model_class.count} models into database"
|
|
18
19
|
else
|
|
19
|
-
puts 'Model registry not configured. Run rails generate ruby_llm:install'
|
|
20
|
+
puts 'Model registry not configured. Run bin/rails generate ruby_llm:install'
|
|
20
21
|
end
|
|
21
22
|
end
|
|
22
23
|
end
|
data/lib/tasks/vcr.rake
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ruby_llm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.14.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Carmine Paolino
|
|
@@ -43,30 +43,30 @@ dependencies:
|
|
|
43
43
|
requirements:
|
|
44
44
|
- - ">="
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version:
|
|
46
|
+
version: 1.10.0
|
|
47
47
|
type: :runtime
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - ">="
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version:
|
|
53
|
+
version: 1.10.0
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
|
-
name: faraday-
|
|
55
|
+
name: faraday-multipart
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
58
|
- - ">="
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '
|
|
60
|
+
version: '1'
|
|
61
61
|
type: :runtime
|
|
62
62
|
prerelease: false
|
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
65
|
- - ">="
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: '
|
|
67
|
+
version: '1'
|
|
68
68
|
- !ruby/object:Gem::Dependency
|
|
69
|
-
name: faraday-
|
|
69
|
+
name: faraday-net_http
|
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - ">="
|
|
@@ -80,7 +80,7 @@ dependencies:
|
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
81
|
version: '1'
|
|
82
82
|
- !ruby/object:Gem::Dependency
|
|
83
|
-
name: faraday-
|
|
83
|
+
name: faraday-retry
|
|
84
84
|
requirement: !ruby/object:Gem::Requirement
|
|
85
85
|
requirements:
|
|
86
86
|
- - ">="
|
|
@@ -150,21 +150,49 @@ extra_rdoc_files: []
|
|
|
150
150
|
files:
|
|
151
151
|
- LICENSE
|
|
152
152
|
- README.md
|
|
153
|
+
- lib/generators/ruby_llm/agent/agent_generator.rb
|
|
154
|
+
- lib/generators/ruby_llm/agent/templates/agent.rb.tt
|
|
155
|
+
- lib/generators/ruby_llm/agent/templates/instructions.txt.erb.tt
|
|
153
156
|
- lib/generators/ruby_llm/chat_ui/chat_ui_generator.rb
|
|
154
157
|
- lib/generators/ruby_llm/chat_ui/templates/controllers/chats_controller.rb.tt
|
|
155
158
|
- lib/generators/ruby_llm/chat_ui/templates/controllers/messages_controller.rb.tt
|
|
156
159
|
- lib/generators/ruby_llm/chat_ui/templates/controllers/models_controller.rb.tt
|
|
160
|
+
- lib/generators/ruby_llm/chat_ui/templates/helpers/messages_helper.rb.tt
|
|
157
161
|
- lib/generators/ruby_llm/chat_ui/templates/jobs/chat_response_job.rb.tt
|
|
162
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/chats/_chat.html.erb.tt
|
|
163
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/chats/_form.html.erb.tt
|
|
164
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/chats/index.html.erb.tt
|
|
165
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/chats/new.html.erb.tt
|
|
166
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/chats/show.html.erb.tt
|
|
167
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_assistant.html.erb.tt
|
|
168
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_content.html.erb.tt
|
|
169
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_error.html.erb.tt
|
|
170
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_form.html.erb.tt
|
|
171
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_system.html.erb.tt
|
|
172
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_tool.html.erb.tt
|
|
173
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_tool_calls.html.erb.tt
|
|
174
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/_user.html.erb.tt
|
|
175
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/tool_calls/_default.html.erb.tt
|
|
176
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/messages/tool_results/_default.html.erb.tt
|
|
177
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/models/_model.html.erb.tt
|
|
178
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/models/index.html.erb.tt
|
|
179
|
+
- lib/generators/ruby_llm/chat_ui/templates/tailwind/views/models/show.html.erb.tt
|
|
158
180
|
- lib/generators/ruby_llm/chat_ui/templates/views/chats/_chat.html.erb.tt
|
|
159
181
|
- lib/generators/ruby_llm/chat_ui/templates/views/chats/_form.html.erb.tt
|
|
160
182
|
- lib/generators/ruby_llm/chat_ui/templates/views/chats/index.html.erb.tt
|
|
161
183
|
- lib/generators/ruby_llm/chat_ui/templates/views/chats/new.html.erb.tt
|
|
162
184
|
- lib/generators/ruby_llm/chat_ui/templates/views/chats/show.html.erb.tt
|
|
185
|
+
- lib/generators/ruby_llm/chat_ui/templates/views/messages/_assistant.html.erb.tt
|
|
163
186
|
- lib/generators/ruby_llm/chat_ui/templates/views/messages/_content.html.erb.tt
|
|
187
|
+
- lib/generators/ruby_llm/chat_ui/templates/views/messages/_error.html.erb.tt
|
|
164
188
|
- lib/generators/ruby_llm/chat_ui/templates/views/messages/_form.html.erb.tt
|
|
165
|
-
- lib/generators/ruby_llm/chat_ui/templates/views/messages/
|
|
189
|
+
- lib/generators/ruby_llm/chat_ui/templates/views/messages/_system.html.erb.tt
|
|
190
|
+
- lib/generators/ruby_llm/chat_ui/templates/views/messages/_tool.html.erb.tt
|
|
166
191
|
- lib/generators/ruby_llm/chat_ui/templates/views/messages/_tool_calls.html.erb.tt
|
|
192
|
+
- lib/generators/ruby_llm/chat_ui/templates/views/messages/_user.html.erb.tt
|
|
167
193
|
- lib/generators/ruby_llm/chat_ui/templates/views/messages/create.turbo_stream.erb.tt
|
|
194
|
+
- lib/generators/ruby_llm/chat_ui/templates/views/messages/tool_calls/_default.html.erb.tt
|
|
195
|
+
- lib/generators/ruby_llm/chat_ui/templates/views/messages/tool_results/_default.html.erb.tt
|
|
168
196
|
- lib/generators/ruby_llm/chat_ui/templates/views/models/_model.html.erb.tt
|
|
169
197
|
- lib/generators/ruby_llm/chat_ui/templates/views/models/index.html.erb.tt
|
|
170
198
|
- lib/generators/ruby_llm/chat_ui/templates/views/models/show.html.erb.tt
|
|
@@ -180,8 +208,16 @@ files:
|
|
|
180
208
|
- lib/generators/ruby_llm/install/templates/message_model.rb.tt
|
|
181
209
|
- lib/generators/ruby_llm/install/templates/model_model.rb.tt
|
|
182
210
|
- lib/generators/ruby_llm/install/templates/tool_call_model.rb.tt
|
|
211
|
+
- lib/generators/ruby_llm/schema/schema_generator.rb
|
|
212
|
+
- lib/generators/ruby_llm/schema/templates/schema.rb.tt
|
|
213
|
+
- lib/generators/ruby_llm/tool/templates/tool.rb.tt
|
|
214
|
+
- lib/generators/ruby_llm/tool/templates/tool_call.html.erb.tt
|
|
215
|
+
- lib/generators/ruby_llm/tool/templates/tool_result.html.erb.tt
|
|
216
|
+
- lib/generators/ruby_llm/tool/tool_generator.rb
|
|
183
217
|
- lib/generators/ruby_llm/upgrade_to_v1_10/templates/add_v1_10_message_columns.rb.tt
|
|
184
218
|
- lib/generators/ruby_llm/upgrade_to_v1_10/upgrade_to_v1_10_generator.rb
|
|
219
|
+
- lib/generators/ruby_llm/upgrade_to_v1_14/templates/add_v1_14_tool_call_columns.rb.tt
|
|
220
|
+
- lib/generators/ruby_llm/upgrade_to_v1_14/upgrade_to_v1_14_generator.rb
|
|
185
221
|
- lib/generators/ruby_llm/upgrade_to_v1_7/templates/migration.rb.tt
|
|
186
222
|
- lib/generators/ruby_llm/upgrade_to_v1_7/upgrade_to_v1_7_generator.rb
|
|
187
223
|
- lib/generators/ruby_llm/upgrade_to_v1_9/templates/add_v1_9_message_columns.rb.tt
|
|
@@ -192,6 +228,7 @@ files:
|
|
|
192
228
|
- lib/ruby_llm/active_record/chat_methods.rb
|
|
193
229
|
- lib/ruby_llm/active_record/message_methods.rb
|
|
194
230
|
- lib/ruby_llm/active_record/model_methods.rb
|
|
231
|
+
- lib/ruby_llm/active_record/tool_call_methods.rb
|
|
195
232
|
- lib/ruby_llm/agent.rb
|
|
196
233
|
- lib/ruby_llm/aliases.json
|
|
197
234
|
- lib/ruby_llm/aliases.rb
|
|
@@ -322,7 +359,7 @@ metadata:
|
|
|
322
359
|
funding_uri: https://github.com/sponsors/crmne
|
|
323
360
|
rubygems_mfa_required: 'true'
|
|
324
361
|
post_install_message: |
|
|
325
|
-
Upgrading from RubyLLM < 1.
|
|
362
|
+
Upgrading from RubyLLM < 1.14.x? Check the upgrade guide for new features and migration instructions
|
|
326
363
|
--> https://rubyllm.com/upgrading/
|
|
327
364
|
rdoc_options: []
|
|
328
365
|
require_paths:
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<div id="<%= message_variable_name %>_<%%= <%= message_model_name.demodulize.underscore %>.id %>" class="<%= message_variable_name %>"
|
|
2
|
-
style="margin-bottom: 20px; padding: 10px; border-left: 3px solid <%%= <%= message_model_name.demodulize.underscore %>.role == 'user' ? '#007bff' : '#28a745' %>">
|
|
3
|
-
<div style="font-weight: bold; margin-bottom: 5px;">
|
|
4
|
-
<%%= <%= message_model_name.demodulize.underscore %>.role&.capitalize %>
|
|
5
|
-
</div>
|
|
6
|
-
<div id="<%= message_variable_name %>_<%%= <%= message_model_name.demodulize.underscore %>.id %>_content" style="white-space: pre-wrap;"><%%= <%= message_model_name.demodulize.underscore %>.content %></div>
|
|
7
|
-
<%% if <%= message_model_name.demodulize.underscore %>.tool_call? %>
|
|
8
|
-
<%%= render "<%= message_model_name.underscore.pluralize %>/tool_calls", <%= message_model_name.demodulize.underscore %>: <%= message_model_name.demodulize.underscore %> %>
|
|
9
|
-
<%% end %>
|
|
10
|
-
<div style="font-size: 0.85em; color: #666; margin-top: 5px;">
|
|
11
|
-
<%%= <%= message_model_name.demodulize.underscore %>.created_at&.strftime("%I:%M %p") %>
|
|
12
|
-
</div>
|
|
13
|
-
</div>
|