@doingdev/opencode-claude-manager-plugin 0.1.6 → 0.1.7

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.
@@ -8,6 +8,7 @@ const MANAGER_TOOL_IDS = [
8
8
  'claude_manager_runs',
9
9
  'claude_manager_cleanup_run',
10
10
  ];
11
+ const RESTRICTED_AGENT_TOOLS = buildRestrictedToolMap(MANAGER_TOOL_IDS);
11
12
  export const ClaudeManagerPlugin = async ({ worktree }) => {
12
13
  const services = getOrCreatePluginServices(worktree);
13
14
  return {
@@ -37,6 +38,7 @@ export const ClaudeManagerPlugin = async ({ worktree }) => {
37
38
  description: 'Primary agent that manages Claude Code sessions through the bundled plugin tools.',
38
39
  mode: 'primary',
39
40
  color: 'accent',
41
+ tools: RESTRICTED_AGENT_TOOLS,
40
42
  permission: managerPermissions,
41
43
  prompt: [
42
44
  managerPromptRegistry.managerSystemPrompt,
@@ -49,6 +51,11 @@ export const ClaudeManagerPlugin = async ({ worktree }) => {
49
51
  description: 'Subagent that inspects Claude metadata, prior sessions, and manager runs without changing repository state.',
50
52
  mode: 'subagent',
51
53
  color: 'info',
54
+ tools: {
55
+ ...RESTRICTED_AGENT_TOOLS,
56
+ claude_manager_run: false,
57
+ claude_manager_cleanup_run: false,
58
+ },
52
59
  permission: researchPermissions,
53
60
  prompt: [
54
61
  managerPromptRegistry.subagentSystemPrompt,
@@ -243,6 +250,13 @@ function rewriteCommandParts(parts, text) {
243
250
  });
244
251
  return rewrittenParts;
245
252
  }
253
+ function buildRestrictedToolMap(toolIds) {
254
+ const tools = { '*': false };
255
+ for (const toolId of toolIds) {
256
+ tools[toolId] = true;
257
+ }
258
+ return tools;
259
+ }
246
260
  export function formatManagerRunToolResult(run) {
247
261
  const finalSummary = run.finalSummary ?? summarizeSessionOutputs(run.sessions);
248
262
  const output = run.sessions.length === 1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doingdev/opencode-claude-manager-plugin",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "OpenCode plugin that orchestrates Claude Code sessions.",
5
5
  "keywords": [
6
6
  "opencode",