brute 0.1.2 → 0.1.3
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/brute/version.rb +1 -1
- data/lib/brute.rb +22 -7
- 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: 633d2e5dc4496a672f9b7024bcb214993d0a504f9e9064c781a8b0cc45256fbe
|
|
4
|
+
data.tar.gz: d1e976fffce776de48722a1fab81c418da95190a8a650ae9fced1441236e8e1e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8fb7eec94c1f2d25ea9c0da77b13e14f79922a39f3c9dde2441d5cc79a8e867bcf1dddd5a35a2b98612d226a561471ddb37b4672cc5d9ae85b341de932c25bd1
|
|
7
|
+
data.tar.gz: 4f01ad34028c009f909dbe5b348f94cffe2ee7fae602be8a75b2c199f548ef4086401d6d4e277a5124a2f26df106a6138014213feae07bd530753de6016e6500
|
data/lib/brute/version.rb
CHANGED
data/lib/brute.rb
CHANGED
|
@@ -62,7 +62,7 @@ require_relative "brute/tools/delegate"
|
|
|
62
62
|
require_relative "brute/orchestrator"
|
|
63
63
|
|
|
64
64
|
module Brute
|
|
65
|
-
VERSION = "0.1.
|
|
65
|
+
VERSION = "0.1.3"
|
|
66
66
|
|
|
67
67
|
# The complete set of tools available to the agent.
|
|
68
68
|
TOOLS = [
|
|
@@ -111,15 +111,30 @@ module Brute
|
|
|
111
111
|
|
|
112
112
|
# Resolve the LLM provider from environment variables.
|
|
113
113
|
#
|
|
114
|
-
#
|
|
115
|
-
#
|
|
114
|
+
# Checks in order:
|
|
115
|
+
# 1. LLM_API_KEY + LLM_PROVIDER (explicit)
|
|
116
|
+
# 2. ANTHROPIC_API_KEY (implicit: provider = anthropic)
|
|
117
|
+
# 3. OPENAI_API_KEY (implicit: provider = openai)
|
|
118
|
+
# 4. GOOGLE_API_KEY (implicit: provider = google)
|
|
116
119
|
#
|
|
117
|
-
# Returns nil if
|
|
120
|
+
# Returns nil if no key is found. Error is deferred to Orchestrator#run.
|
|
118
121
|
def self.resolve_provider
|
|
119
|
-
|
|
120
|
-
|
|
122
|
+
if ENV["LLM_API_KEY"]
|
|
123
|
+
key = ENV["LLM_API_KEY"]
|
|
124
|
+
name = ENV.fetch("LLM_PROVIDER", "anthropic").downcase
|
|
125
|
+
elsif ENV["ANTHROPIC_API_KEY"]
|
|
126
|
+
key = ENV["ANTHROPIC_API_KEY"]
|
|
127
|
+
name = "anthropic"
|
|
128
|
+
elsif ENV["OPENAI_API_KEY"]
|
|
129
|
+
key = ENV["OPENAI_API_KEY"]
|
|
130
|
+
name = "openai"
|
|
131
|
+
elsif ENV["GOOGLE_API_KEY"]
|
|
132
|
+
key = ENV["GOOGLE_API_KEY"]
|
|
133
|
+
name = "google"
|
|
134
|
+
else
|
|
135
|
+
return nil
|
|
136
|
+
end
|
|
121
137
|
|
|
122
|
-
name = ENV.fetch("LLM_PROVIDER", "anthropic").downcase
|
|
123
138
|
factory = PROVIDERS[name]
|
|
124
139
|
raise "Unknown LLM provider: #{name}. Available: #{PROVIDERS.keys.join(", ")}" unless factory
|
|
125
140
|
|