brute_rack 0.1.0 → 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: 0b7e3f20b9ac6c79ca75305edcd49c5e73f407a083a26e00dc02065413aa0d96
4
- data.tar.gz: f3a6c8efd975fe580c3608d5568930d250d8f983cbf541a20eefc8dfa895c5ec
3
+ metadata.gz: d4b77b73027c83ba939b94fc893c47265bbbc1bdb805e2db9ad1c76ecb50a27f
4
+ data.tar.gz: e316164919990b4c9c13c83b49c16987cabb105373d012300a2f1e5bbe5d7d0e
5
5
  SHA512:
6
- metadata.gz: f286b4d40dce441de9d2055509e72606a601bbd8a34355bfeb6c2038ae67271a942cdaed4f5747e75d03f660a2795a0f9bfa1d5fc765f42255ed6ef038be93a8
7
- data.tar.gz: d47fcedfff3ce7845ae555586ba4b35bda21bc5833698fff0af9f34dba176d8fecaeee851c7c4eea519f27122d0fe0352dbf929fd8eff33152aaa8c6d925fdcb
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.0"
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.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brute Contributors
@@ -27,28 +27,28 @@ dependencies:
27
27
  name: rack
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
- - - ">="
30
+ - - "~>"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '3.0'
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
- - - ">="
37
+ - - "~>"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '3.0'
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: async-http
42
42
  requirement: !ruby/object:Gem::Requirement
43
43
  requirements:
44
- - - ">="
44
+ - - "~>"
45
45
  - !ruby/object:Gem::Version
46
46
  version: '0.75'
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
53
  version: '0.75'
54
54
  description: Rack app exposing the Brute agent over HTTP with JSON and SSE streaming
@@ -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: {}