brute_rack 0.1.3 → 0.1.4
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_rack/app.rb +7 -0
- data/lib/brute_rack/endpoints/messages.rb +10 -1
- data/lib/brute_rack/version.rb +1 -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: 82b85af4dca2ec9cb2ecf84d62110bf71b2b2ee8f9b62878c7da38261e2214ab
|
|
4
|
+
data.tar.gz: 2030f69744e6662ade003b1318a2796124a0d7b84973009830906ee0e53ec536
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c122b23c366c32745469cee6e19a82d48a9c6a1c410f8386eeac0ba7b65749291cc985231344284debfdcac1d9e6bf83a21aeb48844e9f5b7fcaf7c6428b60d6
|
|
7
|
+
data.tar.gz: 37d190fad19e5a7e365268c25634df099f3d98ea92507da97b0b969752e28fd86d5155c079c74419d8bce78ccf692119b29876668f0da36f5954aa3bb4ac4b67
|
data/lib/brute_rack/app.rb
CHANGED
|
@@ -23,6 +23,13 @@ module BruteRack
|
|
|
23
23
|
@logger = Logger.new($stderr, level: Logger::INFO)
|
|
24
24
|
@event_bus = EventBus.new
|
|
25
25
|
@registry = SessionRegistry.new(event_bus: @event_bus, cwd: cwd, agent_options: agent_options)
|
|
26
|
+
|
|
27
|
+
# Set process working directory so tools that default to Dir.pwd
|
|
28
|
+
# (shell, fs_search, fs_read, etc.) operate in the right place.
|
|
29
|
+
if File.directory?(@cwd) && @cwd != Dir.pwd
|
|
30
|
+
Dir.chdir(@cwd)
|
|
31
|
+
@logger.info("BruteRack: chdir to #{@cwd}")
|
|
32
|
+
end
|
|
26
33
|
end
|
|
27
34
|
|
|
28
35
|
def call(env)
|
|
@@ -38,9 +38,18 @@ module BruteRack
|
|
|
38
38
|
|
|
39
39
|
registry.run(id, text, cwd: body["cwd"] || cwd).then do |response|
|
|
40
40
|
message_id = SecureRandom.uuid
|
|
41
|
+
content = begin
|
|
42
|
+
response&.content
|
|
43
|
+
rescue NoMethodError
|
|
44
|
+
# LLM returned tool-call-only response with no assistant text;
|
|
45
|
+
# LLM::Contract::Completion#content calls
|
|
46
|
+
# messages.find(&:assistant?).content
|
|
47
|
+
# which raises when find returns nil.
|
|
48
|
+
nil
|
|
49
|
+
end
|
|
41
50
|
{
|
|
42
51
|
info: { id: message_id, role: "assistant", session_id: id },
|
|
43
|
-
parts: [{ type: "text", text:
|
|
52
|
+
parts: [{ type: "text", text: content }],
|
|
44
53
|
}.then do |result|
|
|
45
54
|
[200, HEADERS_JSON, [JSON.generate(result)]]
|
|
46
55
|
end
|
data/lib/brute_rack/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: brute_rack
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Brute Contributors
|
|
8
8
|
bindir: exe
|
|
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: brute
|