brute_rack 0.1.1 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2c66180275f0eb031351fb6cbe035c269318c3a08ac24ce070fa760d726181d8
4
- data.tar.gz: 63b931d8cf41ac170c362807cb3aa27f92635523a0c00368b89eea5f1140645c
3
+ metadata.gz: d4b77b73027c83ba939b94fc893c47265bbbc1bdb805e2db9ad1c76ecb50a27f
4
+ data.tar.gz: e316164919990b4c9c13c83b49c16987cabb105373d012300a2f1e5bbe5d7d0e
5
5
  SHA512:
6
- metadata.gz: 1d4f718777c8eb9aa6115938c87255c6ec496b7f698d4cde777354074035f10576d1a1d2ba21bc7ea99bec72d8cf28d119ca5735a09469ad20c2ecdf5dd9db38
7
- data.tar.gz: 4a84e88749a37a60a87318c02fc9d23d845865e182859b35eb057d39e6119a9cbede24101e38a361a492b289299efcbedb9e784d52ae9bdae5a328e111781abc
6
+ metadata.gz: 16dee42a713d8021994195866aa63e536b48e3115172d37f3aa3e29468092d2f523f0b6a5d7a66ecb7e1c52ce76c866b45917de67f9b288cde3950e1b2efadb2
7
+ data.tar.gz: 91e956f66384c254aa6c70392e3f3ede3f144ddc27b937d6ce969b882b9fbf431f88491d97dc163909d96d31e6fafaca2949c7391cf79b4e2ad943b0405df120
@@ -3,34 +3,26 @@
3
3
  module BruteRack
4
4
  module Endpoints
5
5
  # GET /config → agent configuration
6
- # GET /config/providers → available providers and models
6
+ # GET /config/providers → available providers
7
7
  module Config
8
- PROVIDER_MAP = {
9
- "ANTHROPIC_API_KEY" => { id: "anthropic", name: "Anthropic", models: ["claude-sonnet-4-20250514", "claude-haiku-4-20250414"] },
10
- "OPENAI_API_KEY" => { id: "openai", name: "OpenAI", models: ["gpt-4o", "gpt-4o-mini", "o3-mini"] },
11
- "GOOGLE_API_KEY" => { id: "google", name: "Google", models: ["gemini-2.0-flash", "gemini-2.5-pro"] },
12
- }.freeze
13
-
14
8
  def self.get(_env, cwd:, **)
15
9
  {
16
10
  version: Brute::VERSION,
17
11
  cwd: cwd,
12
+ provider: ENV["LLM_PROVIDER"] || "anthropic",
13
+ api_key_set: !ENV["LLM_API_KEY"].to_s.empty?,
18
14
  tools: LLM::Function.registry.map(&:name),
19
15
  tool_count: LLM::Function.registry.size,
20
- providers: available_providers.map { |p| p[:id] },
16
+ available_providers: Brute::PROVIDERS.keys,
21
17
  }.then { |config| [200, HEADERS_JSON, [JSON.generate(config)]] }
22
18
  end
23
19
 
24
20
  def self.providers(_env, **)
25
- providers = available_providers
26
- defaults = providers.each_with_object({}) { |p, h| h[p[:id]] = p[:models].first }
27
- [200, HEADERS_JSON, [JSON.generate(providers: providers, default: defaults)]]
28
- end
29
-
30
- def self.available_providers
31
- PROVIDER_MAP.filter_map do |env_key, info|
32
- info if ENV[env_key]
33
- end
21
+ [200, HEADERS_JSON, [JSON.generate(
22
+ available: Brute::PROVIDERS.keys,
23
+ current: ENV["LLM_PROVIDER"] || "anthropic",
24
+ configured: !ENV["LLM_API_KEY"].to_s.empty?,
25
+ )]]
34
26
  end
35
27
  end
36
28
  end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BruteRack
4
+ VERSION = "0.1.2"
5
+ end
data/lib/brute_rack.rb CHANGED
@@ -5,7 +5,7 @@ require "json"
5
5
  require "rack"
6
6
 
7
7
  module BruteRack
8
- VERSION = "0.1.1"
8
+ VERSION = "0.1.2"
9
9
 
10
10
  # Not frozen — WEBrick mutates response headers.
11
11
  HEADERS_JSON = {"content-type" => "application/json"}
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: brute_rack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brute Contributors
@@ -78,6 +78,7 @@ files:
78
78
  - lib/brute_rack/event_bus.rb
79
79
  - lib/brute_rack/session_registry.rb
80
80
  - lib/brute_rack/sse.rb
81
+ - lib/brute_rack/version.rb
81
82
  licenses:
82
83
  - MIT
83
84
  metadata: {}