Skip to content

Commit 53d3955

Browse files
Security: bump actionview, activesupport, mcp, uri
Resolves security vulnerabilities in dependencies: - actionview: GHSA-v55j-83pf-r9cq - activesupport: GHSA-2j26-frm8-cmj9, GHSA-89vf-4333-qx8v, GHSA-cg4j-q9v8-6v38 - mcp: GHSA-qvqr-5cv7-wh35 - uri: GHSA-j4pr-3wm6-xx2r All tests pass (58 examples, 0 failures). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 9dcc5d5 commit 53d3955

4 files changed

Lines changed: 33 additions & 26 deletions

File tree

Gemfile.lock

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,28 +11,27 @@ PATH
1111
GEM
1212
remote: https://rubygems.org/
1313
specs:
14-
actionview (8.0.2)
15-
activesupport (= 8.0.2)
14+
actionview (8.1.3)
15+
activesupport (= 8.1.3)
1616
builder (~> 3.1)
1717
erubi (~> 1.11)
1818
rails-dom-testing (~> 2.2)
1919
rails-html-sanitizer (~> 1.6)
20-
activesupport (8.0.2)
20+
activesupport (8.1.3)
2121
base64
22-
benchmark (>= 0.3)
2322
bigdecimal
2423
concurrent-ruby (~> 1.0, >= 1.3.1)
2524
connection_pool (>= 2.2.5)
2625
drb
2726
i18n (>= 1.6, < 2)
27+
json
2828
logger (>= 1.4.2)
2929
minitest (>= 5.1)
3030
securerandom (>= 0.3)
3131
tzinfo (~> 2.0, >= 2.0.5)
3232
uri (>= 0.13.1)
3333
ast (2.4.3)
3434
base64 (0.2.0)
35-
benchmark (0.4.0)
3635
better_html (2.1.1)
3736
actionview (>= 6.0)
3837
activesupport (>= 6.0)
@@ -51,6 +50,7 @@ GEM
5150
diff-lcs (1.6.1)
5251
drb (2.2.1)
5352
erubi (1.13.1)
53+
hana (1.3.7)
5454
i18n (1.14.7)
5555
concurrent-ruby (~> 1.0)
5656
io-console (0.8.0)
@@ -59,15 +59,19 @@ GEM
5959
rdoc (>= 4.0.0)
6060
reline (>= 0.4.2)
6161
json (2.10.2)
62-
json_rpc_handler (0.1.1)
62+
json_schemer (2.5.0)
63+
bigdecimal
64+
hana (~> 1.3)
65+
regexp_parser (~> 2.0)
66+
simpleidn (~> 0.2)
6367
language_server-protocol (3.17.0.4)
6468
lint_roller (1.1.0)
6569
logger (1.7.0)
6670
loofah (2.24.0)
6771
crass (~> 1.0.2)
6872
nokogiri (>= 1.12.0)
69-
mcp (0.1.0)
70-
json_rpc_handler (~> 0.1)
73+
mcp (0.20.0)
74+
json_schemer (>= 2.4)
7175
minitest (5.25.5)
7276
nokogiri (1.19.3-aarch64-linux-gnu)
7377
racc (~> 1.4)
@@ -163,6 +167,7 @@ GEM
163167
rubocop (>= 1)
164168
ruby-progressbar (1.13.0)
165169
securerandom (0.4.1)
170+
simpleidn (0.2.3)
166171
smart_properties (1.17.0)
167172
sorbet (0.5.11971)
168173
sorbet-static (= 0.5.11971)
@@ -177,7 +182,7 @@ GEM
177182
unicode-display_width (3.1.4)
178183
unicode-emoji (~> 4.0, >= 4.0.4)
179184
unicode-emoji (4.0.4)
180-
uri (1.0.3)
185+
uri (1.1.1)
181186
zeitwerk (2.7.2)
182187

183188
PLATFORMS

lib/chatwerk/tools/packages_tool.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ class PackagesTool < MCP::Tool
1717
type: 'string',
1818
description: "A partial package path name to constrain the results (e.g. 'packs/product_services/payments/banks' or 'payments/banks')."
1919
}
20-
},
21-
required: []
20+
}
2221
)
2322

2423
class << self

lib/chatwerk/tools/print_env_tool.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ class PrintEnvTool < MCP::Tool
1010
description 'Get the current working directory and environment path of the MCP server, ensuring correct directory context'
1111

1212
input_schema(
13-
properties: {},
14-
required: []
13+
properties: {}
1514
)
1615

1716
class << self

spec/chatwerk/mcp_tools_spec.rb

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
it 'has no required arguments' do
3939
schema = described_class.input_schema
40-
expect(schema.required).to be_empty
40+
expect(schema.instance_variable_get(:@schema)[:required]).to be_nil
4141
end
4242
end
4343

@@ -65,8 +65,9 @@
6565

6666
it 'has package_path as optional argument' do
6767
schema = described_class.input_schema
68-
expect(schema.properties).to have_key(:package_path)
69-
expect(schema.required).not_to include(:package_path)
68+
schema_data = schema.instance_variable_get(:@schema)
69+
expect(schema_data[:properties]).to have_key(:package_path)
70+
expect(schema_data[:required]).to be_nil
7071
end
7172
end
7273

@@ -86,8 +87,9 @@
8687

8788
it 'has package_path as required argument' do
8889
schema = described_class.input_schema
89-
expect(schema.properties).to have_key(:package_path)
90-
expect(schema.required).to include(:package_path)
90+
schema_data = schema.instance_variable_get(:@schema)
91+
expect(schema_data[:properties]).to have_key(:package_path)
92+
expect(schema_data[:required]).to include('package_path')
9193
end
9294
end
9395

@@ -123,10 +125,11 @@
123125

124126
it 'has correct argument requirements' do
125127
schema = described_class.input_schema
126-
expect(schema.properties).to have_key(:package_path)
127-
expect(schema.properties).to have_key(:constant_name)
128-
expect(schema.required).to include(:package_path)
129-
expect(schema.required).not_to include(:constant_name)
128+
schema_data = schema.instance_variable_get(:@schema)
129+
expect(schema_data[:properties]).to have_key(:package_path)
130+
expect(schema_data[:properties]).to have_key(:constant_name)
131+
expect(schema_data[:required]).to include('package_path')
132+
expect(schema_data[:required]).not_to include('constant_name')
130133
end
131134
end
132135

@@ -162,10 +165,11 @@
162165

163166
it 'has correct argument requirements' do
164167
schema = described_class.input_schema
165-
expect(schema.properties).to have_key(:package_path)
166-
expect(schema.properties).to have_key(:constant_name)
167-
expect(schema.required).to include(:package_path)
168-
expect(schema.required).not_to include(:constant_name)
168+
schema_data = schema.instance_variable_get(:@schema)
169+
expect(schema_data[:properties]).to have_key(:package_path)
170+
expect(schema_data[:properties]).to have_key(:constant_name)
171+
expect(schema_data[:required]).to include('package_path')
172+
expect(schema_data[:required]).not_to include('constant_name')
169173
end
170174
end
171175
end

0 commit comments

Comments
 (0)