brute 0.1.3 → 0.1.5
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/middleware/llm_call.rb +14 -1
- data/lib/brute/version.rb +1 -1
- data/lib/brute.rb +2 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f2148d5db68a8400e3f3decc496561a7beca3225cc89171c013ba37f3ca48fa6
|
|
4
|
+
data.tar.gz: bbea8457ac274e5953b55ea54ecc5f29a75cb05cceab3631ab2b29eb47c01346
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b179135722aca285350004e8ce425a79f4b493d8417090bbd367fcff6fa0213a6cb207b2bd0ca3ede30ff11c7ee972bf7fce71406244f3dc5aa3a0190d939406
|
|
7
|
+
data.tar.gz: 48eff670f59f22f5dc1389510835ae8f2ca50ca8ec8c0e615bbac10c2c559a50b708859cd47a01fa24c5c406d73000bb7e2f7b49f160832ac157c106ccaed6a5
|
|
@@ -16,13 +16,26 @@ module Brute
|
|
|
16
16
|
# (streaming delivers chunks incrementally via AgentStream)
|
|
17
17
|
unless env[:streaming]
|
|
18
18
|
if (cb = env.dig(:callbacks, :on_content)) && response
|
|
19
|
-
text = response
|
|
19
|
+
text = safe_content(response)
|
|
20
20
|
cb.call(text) if text
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
|
|
24
24
|
response
|
|
25
25
|
end
|
|
26
|
+
|
|
27
|
+
private
|
|
28
|
+
|
|
29
|
+
# Safely extract text content from an LLM response.
|
|
30
|
+
# Returns nil when the response contains only tool calls (no assistant text),
|
|
31
|
+
# which causes LLM::Contract::Completion#content to raise NoMethodError
|
|
32
|
+
# because messages.find(&:assistant?) returns nil.
|
|
33
|
+
def safe_content(response)
|
|
34
|
+
return nil unless response.respond_to?(:content)
|
|
35
|
+
response.content
|
|
36
|
+
rescue NoMethodError
|
|
37
|
+
nil
|
|
38
|
+
end
|
|
26
39
|
end
|
|
27
40
|
end
|
|
28
41
|
end
|
data/lib/brute/version.rb
CHANGED
data/lib/brute.rb
CHANGED
|
@@ -11,6 +11,8 @@ require "logger"
|
|
|
11
11
|
#
|
|
12
12
|
# Tracing → Retry → Session → Tokens → Compaction → ToolErrors → DoomLoop → Reasoning → [LLM Call]
|
|
13
13
|
#
|
|
14
|
+
require_relative "brute/version"
|
|
15
|
+
|
|
14
16
|
module Brute
|
|
15
17
|
module Tools; end
|
|
16
18
|
module Hooks; end
|
|
@@ -62,7 +64,6 @@ require_relative "brute/tools/delegate"
|
|
|
62
64
|
require_relative "brute/orchestrator"
|
|
63
65
|
|
|
64
66
|
module Brute
|
|
65
|
-
VERSION = "0.1.3"
|
|
66
67
|
|
|
67
68
|
# The complete set of tools available to the agent.
|
|
68
69
|
TOOLS = [
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: brute
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Brute Contributors
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date: 1980-01-
|
|
10
|
+
date: 1980-01-01 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: llm.rb
|