open_router_enhanced 1.2.1 → 1.2.2
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/lib/open_router/model_registry.rb +9 -21
- data/lib/open_router/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d14a6a35444f5f2321779b457bcd3e72bbb6f549faed1271f845a094195a7cc7
|
|
4
|
+
data.tar.gz: 5633d120125f115e56cf00a4da5e6be0d2a16934180fd2c6f9b4088342ea2615
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5abeac77e6a1e81c3151df75b3450841912b74e3326f745eea5000be8f784822df73daaec90e92e928a1745df79a4eb335b1be922cd01c587a8b73c0b3cb391b
|
|
7
|
+
data.tar.gz: b6e344ffd954a89ebe79f7cf42a308f95e6e93569863e0a06ecb4b28d97d16ff6e656284312bb0dd80ad8943c3018f529794e03aa541624aa8f5b040dd1ca4cf
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require "json"
|
|
4
|
-
require "
|
|
5
|
-
require "uri"
|
|
4
|
+
require "faraday"
|
|
6
5
|
require "tmpdir"
|
|
7
6
|
require "fileutils"
|
|
8
|
-
require "openssl"
|
|
9
7
|
|
|
10
8
|
module OpenRouter
|
|
11
9
|
class ModelRegistryError < Error; end
|
|
@@ -18,30 +16,20 @@ module OpenRouter
|
|
|
18
16
|
MAX_CACHE_SIZE_MB = 50 # Maximum cache size in megabytes
|
|
19
17
|
|
|
20
18
|
class << self
|
|
21
|
-
# Fetch models from OpenRouter API
|
|
19
|
+
# Fetch models from OpenRouter API using Faraday for consistent SSL handling
|
|
22
20
|
def fetch_models_from_api
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
http.use_ssl = true
|
|
28
|
-
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
|
|
29
|
-
http.read_timeout = OpenRouter.configuration.model_registry_timeout
|
|
30
|
-
http.open_timeout = OpenRouter.configuration.model_registry_timeout
|
|
31
|
-
|
|
32
|
-
request = Net::HTTP::Get.new(uri)
|
|
33
|
-
response = http.request(request)
|
|
34
|
-
|
|
35
|
-
unless response.code == "200"
|
|
36
|
-
raise ModelRegistryError,
|
|
37
|
-
"Failed to fetch models from OpenRouter API: #{response.message}"
|
|
21
|
+
conn = Faraday.new(url: API_BASE) do |f|
|
|
22
|
+
f.options[:timeout] = OpenRouter.configuration.model_registry_timeout
|
|
23
|
+
f.options[:open_timeout] = OpenRouter.configuration.model_registry_timeout
|
|
24
|
+
f.response :raise_error
|
|
38
25
|
end
|
|
39
26
|
|
|
27
|
+
response = conn.get("models")
|
|
40
28
|
JSON.parse(response.body)
|
|
29
|
+
rescue Faraday::Error => e
|
|
30
|
+
raise ModelRegistryError, "Failed to fetch models from OpenRouter API: #{e.message}"
|
|
41
31
|
rescue JSON::ParserError => e
|
|
42
32
|
raise ModelRegistryError, "Failed to parse OpenRouter API response: #{e.message}"
|
|
43
|
-
rescue StandardError => e
|
|
44
|
-
raise ModelRegistryError, "Network error fetching models: #{e.message}"
|
|
45
33
|
end
|
|
46
34
|
|
|
47
35
|
# Ensure cache directory exists and set up cleanup
|
data/lib/open_router/version.rb
CHANGED