opencode-conductor-plugin 1.17.1 → 1.17.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.
package/dist/index.js CHANGED
@@ -79,9 +79,9 @@ const ConductorPlugin = async (ctx) => {
79
79
  return {
80
80
  tool: {
81
81
  "conductor_delegate": createDelegationTool(ctx),
82
- "conductor_background_task": createBackgroundTask(backgroundManager),
83
- "conductor_background_output": createBackgroundOutput(backgroundManager),
84
- "conductor_background_cancel": createBackgroundCancel(backgroundManager),
82
+ "conductor_bg_task": createBackgroundTask(backgroundManager),
83
+ "conductor_bg_output": createBackgroundOutput(backgroundManager),
84
+ "conductor_bg_cancel": createBackgroundCancel(backgroundManager),
85
85
  },
86
86
  config: async (config) => {
87
87
  if (!config)
@@ -136,9 +136,6 @@ const ConductorPlugin = async (ctx) => {
136
136
  grep: true,
137
137
  glob: true,
138
138
  list: true,
139
- lsp: true,
140
- patch: true,
141
- skill: true,
142
139
  todowrite: true,
143
140
  todoread: true,
144
141
  webfetch: true,
@@ -163,16 +160,13 @@ const ConductorPlugin = async (ctx) => {
163
160
  grep: true,
164
161
  glob: true,
165
162
  list: true,
166
- lsp: true,
167
- patch: true,
168
- skill: true,
169
163
  todowrite: true,
170
164
  todoread: true,
171
165
  webfetch: true,
172
166
  "conductor_delegate": true,
173
- "conductor_background_task": true,
174
- "conductor_background_output": true,
175
- "conductor_background_cancel": true,
167
+ "conductor_bg_task": true,
168
+ "conductor_bg_output": true,
169
+ "conductor_bg_cancel": true,
176
170
  },
177
171
  },
178
172
  };
@@ -183,7 +177,7 @@ const ConductorPlugin = async (ctx) => {
183
177
  "task",
184
178
  "background_task",
185
179
  "conductor_delegate",
186
- "conductor_background_task",
180
+ "conductor_bg_task",
187
181
  ];
188
182
  if (delegationTools.includes(input.tool)) {
189
183
  const conductorDir = join(ctx.directory, "conductor");
@@ -12,8 +12,8 @@ permission:
12
12
  lsp: allow
13
13
  patch: allow
14
14
  skill: allow
15
- todowrite: allow
16
- todoread: allow
15
+ todo_write: allow
16
+ todo_read: allow
17
17
  webfetch: allow
18
18
  ---
19
19
  # Conductor Agent
@@ -12,8 +12,8 @@ permission:
12
12
  lsp: allow
13
13
  patch: allow
14
14
  skill: allow
15
- todowrite: allow
16
- todoread: allow
15
+ todo_write: allow
16
+ todo_read: allow
17
17
  webfetch: allow
18
18
  "conductor_delegate": allow
19
19
  "conductor_background_task": allow
@@ -45,7 +45,7 @@ export class BackgroundManager {
45
45
  body: {
46
46
  agent: input.agent,
47
47
  tools: {
48
- "conductor_background_task": false,
48
+ "conductor_bg_task": false,
49
49
  "conductor_delegate": false,
50
50
  },
51
51
  parts: [{ type: "text", text: input.prompt }],
@@ -71,7 +71,7 @@ export class BackgroundManager {
71
71
  body: {
72
72
  parts: [{ type: "text", text: `[BACKGROUND TASK CANCELLED] Task "${task.description}" has been manually cancelled.` }],
73
73
  },
74
- }).catch(() => { }); // Ignore errors here, as the parent session might be gone
74
+ }).catch(() => { });
75
75
  return `Task ${id} cancelled successfully.`;
76
76
  }
77
77
  async pollRunningTasks() {
@@ -100,13 +100,13 @@ export class BackgroundManager {
100
100
  this.notifyParentSession(task);
101
101
  }
102
102
  async notifyParentSession(task) {
103
- const message = `[BACKGROUND TASK COMPLETED] Task "${task.description}" finished. Use conductor_background_output with task_id="${task.id}" to get results.`;
103
+ const message = `[BACKGROUND TASK COMPLETED] Task "${task.description}" finished. Use conductor_bg_output with task_id="${task.id}" to get results.`;
104
104
  await this.client.session.prompt({
105
105
  path: { id: task.parentSessionID },
106
106
  body: {
107
107
  parts: [{ type: "text", text: message }],
108
108
  },
109
- }).catch(() => { }); // Ignore errors here, as the parent session might be gone
109
+ }).catch(() => { });
110
110
  }
111
111
  getTask(id) {
112
112
  return this.tasks.get(id);
@@ -164,7 +164,6 @@ export function createBackgroundOutput(manager) {
164
164
  const timeoutMs = Math.min(args.timeout ?? 60000, 600000);
165
165
  while (Date.now() - startTime < timeoutMs) {
166
166
  await new Promise(r => setTimeout(r, 2000));
167
- // Re-fetch task to get the latest status
168
167
  if (manager.getTask(args.task_id)?.status === "completed")
169
168
  break;
170
169
  }
@@ -19,13 +19,12 @@ export function createDelegationTool(ctx) {
19
19
  return `Error: ${createResult.error}`;
20
20
  const sessionID = createResult.data.id;
21
21
  // 2. Send the prompt to the subagent
22
- // Note: We disable delegation tools for the subagent to prevent infinite loops
23
22
  await ctx.client.session.prompt({
24
23
  path: { id: sessionID },
25
24
  body: {
26
25
  agent: args.subagent_type,
27
26
  tools: {
28
- "conductor_delegate": false, // Disable this tool for the child session
27
+ "conductor_delegate": false,
29
28
  },
30
29
  parts: [{ type: "text", text: args.prompt }],
31
30
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-conductor-plugin",
3
- "version": "1.17.1",
3
+ "version": "1.17.3",
4
4
  "description": "Conductor plugin for OpenCode",
5
5
  "type": "module",
6
6
  "repository": "derekbar90/opencode-conductor",