ruby_llm 0.1.0.pre47 → 0.1.0.pre49

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: 92de102c05319b9254741ad429d08bb6d3df6fca1037bb1acdb9a818fb3f4f2f
4
- data.tar.gz: f8b1e3b1e10d3a666e1f8b7383b98cc832dd90fb7afed0958f9ec37d6206f180
3
+ metadata.gz: c7a86805562863f11f52b4cc62826401774291b1a299a328d8622e8a721ffcd9
4
+ data.tar.gz: 7757aa1b1ad19804c508a7988dd50fe91acce3e9ab0f66f69e013eb59c5c9196
5
5
  SHA512:
6
- metadata.gz: 2d8d351c5b6597ac5501dff34f489866de04ea7230fb317fcb0762be39d9df1d33ecb040a1eaa056125597078ebf1e155de2dfd4ea5b996e4b20807ac8f7247c
7
- data.tar.gz: a13dfa9b28566cb700380ab0ba7876e824b04dd61962158e9ccc3f9dff2f6524fb7e7692e48546ecbaf8c43d5d5cf16ce66fa3a940602032c7dcf59dbc9e5d07
6
+ metadata.gz: b4ce44b2baa5cc565b52f162acc8ce30517616425d7f3d320fc1357d64f9f657532f3c9f20fbbb2dc8a6cd340f5ba84bad912fbdceab184929ce971766c09071
7
+ data.tar.gz: 6c15ce1c00cda64980d451a470ab1007bb7914fce9da43d3a1ce2bf08950c15bdd96ab2b80d9749292561e22903acc4974c20265b58a26d4130bd86f28018a7e
@@ -60,7 +60,7 @@ module RubyLLM
60
60
  raise RateLimitError.new(response, message || 'Rate limit exceeded - please wait a moment')
61
61
  when 500
62
62
  raise ServerError.new(response, message || 'API server error - please try again')
63
- when 503
63
+ when 502..503
64
64
  raise ServiceUnavailableError.new(response, message || 'API server unavailable - please try again later')
65
65
  else
66
66
  raise Error.new(response, message || 'An unknown error occurred')
@@ -23,8 +23,6 @@ module RubyLLM
23
23
  # Class method to refresh model data
24
24
  def self.refresh!
25
25
  models = RubyLLM.providers.flat_map(&:list_models).sort_by(&:id)
26
- # Write to models.json
27
- File.write(File.expand_path('models.json', __dir__), JSON.pretty_generate(models.map(&:to_h)))
28
26
  @instance = new(models)
29
27
  end
30
28
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyLLM
4
- VERSION = '0.1.0.pre47'
4
+ VERSION = '0.1.0.pre49'
5
5
  end
@@ -76,6 +76,8 @@ namespace :models do # rubocop:disable Metrics/BlockLength
76
76
 
77
77
  # Refresh models (now returns self instead of models array)
78
78
  models = RubyLLM.models.refresh!.all
79
+ # Write to models.json
80
+ File.write(File.expand_path('../ruby_llm/models.json', __dir__), JSON.pretty_generate(models.map(&:to_h)))
79
81
 
80
82
  puts "Updated models.json with #{models.size} models:"
81
83
  RubyLLM::Provider.providers.each do |provider_sym, provider_module|
data/ruby_llm.gemspec CHANGED
@@ -35,9 +35,9 @@ Gem::Specification.new do |spec|
35
35
  spec.require_paths = ['lib']
36
36
 
37
37
  # Runtime dependencies
38
- spec.add_dependency 'event_stream_parser', '>= 0.3.0', '< 2.0.0'
39
- spec.add_dependency 'faraday', '>= 2.0'
40
- spec.add_dependency 'faraday-multipart', '>= 1.0'
41
- spec.add_dependency 'faraday-retry', '>= 2.0'
42
- spec.add_dependency 'zeitwerk', '>= 2.6'
38
+ spec.add_dependency 'event_stream_parser', '~> 1'
39
+ spec.add_dependency 'faraday', '~> 2'
40
+ spec.add_dependency 'faraday-multipart', '~> 1'
41
+ spec.add_dependency 'faraday-retry', '~> 2'
42
+ spec.add_dependency 'zeitwerk', '~> 2'
43
43
  end
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: 0.1.0.pre47
4
+ version: 0.1.0.pre49
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carmine Paolino
@@ -14,78 +14,72 @@ dependencies:
14
14
  name: event_stream_parser
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.3.0
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: 2.0.0
19
+ version: '1'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 0.3.0
30
- - - "<"
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: 2.0.0
26
+ version: '1'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: faraday
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - ">="
31
+ - - "~>"
38
32
  - !ruby/object:Gem::Version
39
- version: '2.0'
33
+ version: '2'
40
34
  type: :runtime
41
35
  prerelease: false
42
36
  version_requirements: !ruby/object:Gem::Requirement
43
37
  requirements:
44
- - - ">="
38
+ - - "~>"
45
39
  - !ruby/object:Gem::Version
46
- version: '2.0'
40
+ version: '2'
47
41
  - !ruby/object:Gem::Dependency
48
42
  name: faraday-multipart
49
43
  requirement: !ruby/object:Gem::Requirement
50
44
  requirements:
51
- - - ">="
45
+ - - "~>"
52
46
  - !ruby/object:Gem::Version
53
- version: '1.0'
47
+ version: '1'
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
51
  requirements:
58
- - - ">="
52
+ - - "~>"
59
53
  - !ruby/object:Gem::Version
60
- version: '1.0'
54
+ version: '1'
61
55
  - !ruby/object:Gem::Dependency
62
56
  name: faraday-retry
63
57
  requirement: !ruby/object:Gem::Requirement
64
58
  requirements:
65
- - - ">="
59
+ - - "~>"
66
60
  - !ruby/object:Gem::Version
67
- version: '2.0'
61
+ version: '2'
68
62
  type: :runtime
69
63
  prerelease: false
70
64
  version_requirements: !ruby/object:Gem::Requirement
71
65
  requirements:
72
- - - ">="
66
+ - - "~>"
73
67
  - !ruby/object:Gem::Version
74
- version: '2.0'
68
+ version: '2'
75
69
  - !ruby/object:Gem::Dependency
76
70
  name: zeitwerk
77
71
  requirement: !ruby/object:Gem::Requirement
78
72
  requirements:
79
- - - ">="
73
+ - - "~>"
80
74
  - !ruby/object:Gem::Version
81
- version: '2.6'
75
+ version: '2'
82
76
  type: :runtime
83
77
  prerelease: false
84
78
  version_requirements: !ruby/object:Gem::Requirement
85
79
  requirements:
86
- - - ">="
80
+ - - "~>"
87
81
  - !ruby/object:Gem::Version
88
- version: '2.6'
82
+ version: '2'
89
83
  description: A delightful Ruby way to work with AI. Chat in text, analyze and generate
90
84
  images, understand audio, and use tools through a unified interface to OpenAI, Anthropic,
91
85
  Google, and DeepSeek. Built for developer happiness with automatic token counting,