diffbroker 0.12.2 → 0.12.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 843632a85c52d68a7b94d6a1f7dd1229e7353961a5611a7ed9c1cb05d7f11542
4
- data.tar.gz: 7a0c380a109114c7feeb13b203fc45a05e95f3da9773288e0b77e52d6df12a58
3
+ metadata.gz: 5bdc96c23de6492a2ea0660c7f897c8c04efc4ea3993cf96e9b4c6bf57385644
4
+ data.tar.gz: b1159b4577c725eb8f9a92277ccdfd84fcdf9cf655d09dbe384d70d6cc00bc75
5
5
  SHA512:
6
- metadata.gz: 1d432acb33edef5d5f4d7699445a4e1a53f119499ecc94ea70e10001eb7c894358efe5d74984495d660230924510f89ff9656e9252afe11e73bb96d11b4d54db
7
- data.tar.gz: 60b4a66bd37677fcf6f39ea798d7b7c0fee21cd04167cd102d7958af51cfa1f2f6ccbba05070825eba84239c2209da07c3c91ef6870d4373be4d46d6e906d33a
6
+ metadata.gz: 07e7a17ef7f21c5350e7796d58b75b5255d51a7fcac5ca7f2036e86f82915f4bfaa96a2058572667279e3ffe50d85953ad224977bfbf5da50fc88eec150aa6d5
7
+ data.tar.gz: 7457ee92b3fbad1376448ae6be16e700a74ca4e7427a5f58aea9e713a4b09da88d4424f85201b6c95be8f1ba5f84e558f976fc570b8658a7110572e9750b0cee
@@ -30,11 +30,16 @@ module Diffbroker
30
30
  def resumes? = true
31
31
 
32
32
  def autonomous_command(task, mcp_config:)
33
- args = task["read_only"] ? READ_ONLY_ARGS : @config.claude_args
33
+ args = task["read_only"] ? READ_ONLY_ARGS : with_diffbroker_tools(@config.claude_args)
34
34
  [ @config.claude_command, "-p", task.fetch("prompt"), *resume(task), "--output-format", "stream-json", "--verbose", *args,
35
35
  "--mcp-config", mcp_config, *strict(task), "--plugin-dir", @plugin_dir ]
36
36
  end
37
37
 
38
+ # In `auto` mode a classifier approves each tool call and refused Diff Broker's own report_task, so a run that fixed CI or
39
+ # posted comments ended with "no report". The tools of this server are allowed up front, as in the read-only runs: the
40
+ # task token limits what each may do. A user who sets --allowedTools themselves keeps full control of it.
41
+ def with_diffbroker_tools(args) = args.include?("--allowedTools") ? args : [ *args, "--allowedTools", "mcp__diffbroker__*" ]
42
+
38
43
  # The permissions above are passed again: a resumed session keeps its conversation, not its sandbox.
39
44
  def resume(task) = task["resume_session_id"] ? [ "--resume", task["resume_session_id"] ] : []
40
45
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Diffbroker
4
- VERSION = "0.12.2"
4
+ VERSION = "0.12.3"
5
5
  end
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "diffbroker",
3
- "version": "0.12.2",
3
+ "version": "0.12.3",
4
4
  "description": "Skills for working on Diff Broker agent tasks: the diffbroker MCP tools, write rules and report_task."
5
5
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: diffbroker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.2
4
+ version: 0.12.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuri Sidorov (@newstler)