mcp-server-opencode 1.2.0 → 1.3.0

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.
Files changed (89) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +34 -5
  3. package/build/src/index.js +19 -6
  4. package/build/src/index.js.map +1 -1
  5. package/build/src/modules/shared/execution-report.d.ts +66 -0
  6. package/build/src/modules/shared/execution-report.d.ts.map +1 -0
  7. package/build/src/modules/shared/execution-report.js +407 -0
  8. package/build/src/modules/shared/execution-report.js.map +1 -0
  9. package/build/src/modules/shared/execution-usage.d.ts +50 -0
  10. package/build/src/modules/shared/execution-usage.d.ts.map +1 -0
  11. package/build/src/modules/shared/execution-usage.js +89 -0
  12. package/build/src/modules/shared/execution-usage.js.map +1 -0
  13. package/build/src/modules/shared/git-workspace.d.ts +34 -0
  14. package/build/src/modules/shared/git-workspace.d.ts.map +1 -0
  15. package/build/src/modules/shared/git-workspace.js +193 -0
  16. package/build/src/modules/shared/git-workspace.js.map +1 -0
  17. package/build/src/modules/shared/instructions.d.ts.map +1 -1
  18. package/build/src/modules/shared/instructions.js +8 -2
  19. package/build/src/modules/shared/instructions.js.map +1 -1
  20. package/build/src/modules/shared/message-id.d.ts +3 -0
  21. package/build/src/modules/shared/message-id.d.ts.map +1 -0
  22. package/build/src/modules/shared/message-id.js +6 -0
  23. package/build/src/modules/shared/message-id.js.map +1 -0
  24. package/build/src/modules/shared/opencode-client.d.ts +12 -2
  25. package/build/src/modules/shared/opencode-client.d.ts.map +1 -1
  26. package/build/src/modules/shared/opencode-client.js +117 -34
  27. package/build/src/modules/shared/opencode-client.js.map +1 -1
  28. package/build/src/modules/shared/permission-scopes.d.ts +6 -0
  29. package/build/src/modules/shared/permission-scopes.d.ts.map +1 -0
  30. package/build/src/modules/shared/permission-scopes.js +60 -0
  31. package/build/src/modules/shared/permission-scopes.js.map +1 -0
  32. package/build/src/modules/shared/permissions.d.ts +2 -0
  33. package/build/src/modules/shared/permissions.d.ts.map +1 -1
  34. package/build/src/modules/shared/permissions.js +24 -3
  35. package/build/src/modules/shared/permissions.js.map +1 -1
  36. package/build/src/modules/shared/prompt-dispatch.d.ts +13 -0
  37. package/build/src/modules/shared/prompt-dispatch.d.ts.map +1 -0
  38. package/build/src/modules/shared/prompt-dispatch.js +34 -0
  39. package/build/src/modules/shared/prompt-dispatch.js.map +1 -0
  40. package/build/src/modules/shared/run-observer.d.ts +5 -0
  41. package/build/src/modules/shared/run-observer.d.ts.map +1 -0
  42. package/build/src/modules/shared/run-observer.js +421 -0
  43. package/build/src/modules/shared/run-observer.js.map +1 -0
  44. package/build/src/modules/shared/server-registry.d.ts +4 -0
  45. package/build/src/modules/shared/server-registry.d.ts.map +1 -1
  46. package/build/src/modules/shared/server-registry.js.map +1 -1
  47. package/build/src/modules/shared/task-registry.d.ts +64 -0
  48. package/build/src/modules/shared/task-registry.d.ts.map +1 -1
  49. package/build/src/modules/shared/task-registry.js +75 -0
  50. package/build/src/modules/shared/task-registry.js.map +1 -1
  51. package/build/src/modules/shared/workspace-manager.d.ts +25 -0
  52. package/build/src/modules/shared/workspace-manager.d.ts.map +1 -0
  53. package/build/src/modules/shared/workspace-manager.js +105 -0
  54. package/build/src/modules/shared/workspace-manager.js.map +1 -0
  55. package/build/src/modules/tools/cancel_task.d.ts.map +1 -1
  56. package/build/src/modules/tools/cancel_task.js +26 -2
  57. package/build/src/modules/tools/cancel_task.js.map +1 -1
  58. package/build/src/modules/tools/cleanup_workspace.d.ts +3 -0
  59. package/build/src/modules/tools/cleanup_workspace.d.ts.map +1 -0
  60. package/build/src/modules/tools/cleanup_workspace.js +82 -0
  61. package/build/src/modules/tools/cleanup_workspace.js.map +1 -0
  62. package/build/src/modules/tools/continue_task.d.ts.map +1 -1
  63. package/build/src/modules/tools/continue_task.js +116 -6
  64. package/build/src/modules/tools/continue_task.js.map +1 -1
  65. package/build/src/modules/tools/get_task_result.d.ts.map +1 -1
  66. package/build/src/modules/tools/get_task_result.js +108 -40
  67. package/build/src/modules/tools/get_task_result.js.map +1 -1
  68. package/build/src/modules/tools/get_task_status.d.ts.map +1 -1
  69. package/build/src/modules/tools/get_task_status.js +69 -6
  70. package/build/src/modules/tools/get_task_status.js.map +1 -1
  71. package/build/src/modules/tools/index.d.ts.map +1 -1
  72. package/build/src/modules/tools/index.js +2 -0
  73. package/build/src/modules/tools/index.js.map +1 -1
  74. package/build/src/modules/tools/list_agents.d.ts.map +1 -1
  75. package/build/src/modules/tools/list_agents.js +26 -3
  76. package/build/src/modules/tools/list_agents.js.map +1 -1
  77. package/build/src/modules/tools/start_server.d.ts.map +1 -1
  78. package/build/src/modules/tools/start_server.js +9 -9
  79. package/build/src/modules/tools/start_server.js.map +1 -1
  80. package/build/src/modules/tools/start_task.d.ts.map +1 -1
  81. package/build/src/modules/tools/start_task.js +218 -13
  82. package/build/src/modules/tools/start_task.js.map +1 -1
  83. package/build/src/modules/tools/stop_server.d.ts.map +1 -1
  84. package/build/src/modules/tools/stop_server.js +17 -0
  85. package/build/src/modules/tools/stop_server.js.map +1 -1
  86. package/build/src/modules/tools/wait_for_task.d.ts.map +1 -1
  87. package/build/src/modules/tools/wait_for_task.js +110 -24
  88. package/build/src/modules/tools/wait_for_task.js.map +1 -1
  89. package/package.json +2 -1
@@ -1,8 +1,27 @@
1
1
  import { randomUUID } from "node:crypto";
2
+ import { realpath, stat } from "node:fs/promises";
3
+ import { resolve } from "node:path";
2
4
  import { z } from "zod";
5
+ import { captureWorkspace, releaseWorkspace, reserveWorkspace, validateRelativeCwd, validateRelativePath, } from "../shared/execution-report.js";
3
6
  import { jsonError, jsonResult } from "../shared/mcp-result.js";
4
- import { clientForServer } from "../shared/opencode-client.js";
5
- import { registerTask } from "../shared/task-registry.js";
7
+ import { createMessageId } from "../shared/message-id.js";
8
+ import { clientForServer, sdkResponseError } from "../shared/opencode-client.js";
9
+ import { registerPermissionSession, unregisterPermissionSession, } from "../shared/permission-scopes.js";
10
+ import { sendPromptAndClassify } from "../shared/prompt-dispatch.js";
11
+ import { observeRun } from "../shared/run-observer.js";
12
+ import { getServer } from "../shared/server-registry.js";
13
+ import { registerTask, removeTask } from "../shared/task-registry.js";
14
+ import { acquireManagedWorkspaceDispatch, associateManagedWorkspaceTask, createManagedWorkspace, registerManagedWorkspaceSession, sharedWorkspaceMetadata, } from "../shared/workspace-manager.js";
15
+ const expectedChangeSchema = z.object({
16
+ path: z.string().refine(validateRelativePath),
17
+ change: z.enum(["created", "modified", "deleted"]),
18
+ });
19
+ const checkSchema = z.object({
20
+ executable: z.string().min(1),
21
+ argv: z.array(z.string()),
22
+ cwd: z.string().refine(validateRelativeCwd).optional(),
23
+ timeout_ms: z.number().int().positive().max(300_000).optional(),
24
+ });
6
25
  /** Parse a "providerID/modelID" string into the shape the SDK expects. */
7
26
  function parseModel(model) {
8
27
  const slash = model.indexOf("/");
@@ -15,6 +34,18 @@ export function registerOpencodeStartTask(server) {
15
34
  description: "Delegate a task to an OpenCode agent: create a session and start the prompt without waiting for it to finish",
16
35
  inputSchema: {
17
36
  server_id: z.string().describe("Id of the server instance to run the task on"),
37
+ directory: z
38
+ .string()
39
+ .optional()
40
+ .describe("Project directory, relative to the server directory unless absolute"),
41
+ workspace_mode: z
42
+ .enum(["shared", "worktree"])
43
+ .default("shared")
44
+ .describe("Use the selected directory directly or create an isolated managed Git worktree"),
45
+ base_ref: z
46
+ .string()
47
+ .optional()
48
+ .describe("Committed Git base for workspace_mode=worktree (default HEAD)"),
18
49
  prompt: z.string().describe("Prompt/instructions for the agent"),
19
50
  agent: z
20
51
  .string()
@@ -24,10 +55,12 @@ export function registerOpencodeStartTask(server) {
24
55
  .string()
25
56
  .optional()
26
57
  .describe("Model override as 'providerID/modelID', copied verbatim from opencode_list_agents output — never guess or construct the id from a model's display name. Overrides the agent's pre-assigned model for this task only. An unknown model is rejected with status 'unknown_model' and the list of available models"),
58
+ expected_changes: z.array(expectedChangeSchema).optional(),
59
+ checks: z.array(checkSchema).optional(),
27
60
  },
28
- }, async ({ server_id, prompt, agent, model }) => {
29
- const client = clientForServer(server_id);
30
- if (!client) {
61
+ }, async ({ server_id, prompt, agent, model, expected_changes, checks, directory, workspace_mode, base_ref, }) => {
62
+ const server = getServer(server_id);
63
+ if (!server) {
31
64
  return jsonError({ server_id, status: "server_not_found" });
32
65
  }
33
66
  let parsedModel;
@@ -41,7 +74,53 @@ export function registerOpencodeStartTask(server) {
41
74
  });
42
75
  }
43
76
  }
77
+ let provisionalLease;
78
+ let workspaceMetadata;
79
+ let releaseManagedDispatch;
44
80
  try {
81
+ let sourceDirectory;
82
+ try {
83
+ sourceDirectory = await realpath(resolve(server.directory ?? process.cwd(), directory ?? "."));
84
+ if (!(await stat(sourceDirectory)).isDirectory()) {
85
+ return jsonError({ server_id, status: "invalid_directory", directory });
86
+ }
87
+ }
88
+ catch (error) {
89
+ const code = error.code;
90
+ if (code === "ENOENT" || code === "ENOTDIR") {
91
+ return jsonError({ server_id, status: "invalid_directory", directory });
92
+ }
93
+ throw error;
94
+ }
95
+ if (base_ref !== undefined && workspace_mode !== "worktree") {
96
+ return jsonError({ server_id, status: "base_ref_requires_worktree" });
97
+ }
98
+ workspaceMetadata =
99
+ workspace_mode === "worktree"
100
+ ? await createManagedWorkspace(server_id, sourceDirectory, base_ref)
101
+ : sharedWorkspaceMetadata(sourceDirectory);
102
+ const workspace = workspaceMetadata.execution_directory;
103
+ const workspaceId = workspaceMetadata.workspace_id;
104
+ if (workspaceId) {
105
+ releaseManagedDispatch = acquireManagedWorkspaceDispatch(workspaceId);
106
+ if (!releaseManagedDispatch) {
107
+ return jsonError({
108
+ server_id,
109
+ status: "workspace_unavailable",
110
+ workspace_id: workspaceId,
111
+ workspace: workspaceMetadata,
112
+ });
113
+ }
114
+ }
115
+ const client = clientForServer(server_id, workspace);
116
+ if (!client)
117
+ return jsonError({
118
+ server_id,
119
+ status: "server_not_found",
120
+ ...(workspaceMetadata.managed
121
+ ? { workspace: workspaceMetadata, workspace_id: workspaceId }
122
+ : {}),
123
+ });
45
124
  if (parsedModel) {
46
125
  const requested = parsedModel;
47
126
  // Validate against the server's real provider/model catalog: promptAsync is
@@ -56,6 +135,9 @@ export function registerOpencodeStartTask(server) {
56
135
  server_id,
57
136
  status: "unknown_model",
58
137
  model,
138
+ ...(workspaceMetadata.managed
139
+ ? { workspace: workspaceMetadata, workspace_id: workspaceId }
140
+ : {}),
59
141
  message: "model is not available on this server; copy an exact 'providerID/modelID' from opencode_list_agents (or from available_models below) instead of guessing",
60
142
  available_models: providers.flatMap((p) => Object.keys(p.models).map((m) => `${p.id}/${m}`)),
61
143
  });
@@ -63,36 +145,159 @@ export function registerOpencodeStartTask(server) {
63
145
  }
64
146
  }
65
147
  const created = await client.session.create({ body: { title: prompt.slice(0, 60) } });
148
+ if (sdkResponseError(created))
149
+ throw sdkResponseError(created);
66
150
  const sessionId = created.data?.id;
67
151
  if (!sessionId) {
68
- return jsonError({ server_id, status: "error", message: "failed to create session" });
152
+ return jsonError({
153
+ server_id,
154
+ status: "error",
155
+ message: "failed to create session",
156
+ ...(workspaceMetadata?.managed
157
+ ? { workspace: workspaceMetadata, workspace_id: workspaceMetadata.workspace_id }
158
+ : {}),
159
+ });
160
+ }
161
+ if (workspaceId) {
162
+ if (!registerManagedWorkspaceSession(workspaceId, sessionId)) {
163
+ return jsonError({
164
+ server_id,
165
+ status: "workspace_unavailable",
166
+ workspace_id: workspaceId,
167
+ workspace: workspaceMetadata,
168
+ });
169
+ }
69
170
  }
70
- // Fire-and-forget: promptAsync returns as soon as the prompt is accepted,
71
- // the agent keeps working in the background. Poll with get_task_status.
72
- await client.session.promptAsync({
171
+ else {
172
+ registerPermissionSession(server_id, sourceDirectory, sessionId, server.permissionPolicy);
173
+ }
174
+ const verified = Boolean(expected_changes?.length || checks?.length);
175
+ const lease = await reserveWorkspace(workspace, verified);
176
+ if (!lease) {
177
+ unregisterPermissionSession(server_id, workspace, sessionId);
178
+ return jsonError({
179
+ server_id,
180
+ status: "workspace_busy",
181
+ workspace: workspaceMetadata,
182
+ workspace_id: workspaceId,
183
+ });
184
+ }
185
+ provisionalLease = lease;
186
+ let baseline;
187
+ let baselineError;
188
+ try {
189
+ baseline = await captureWorkspace(workspace, expected_changes?.map((item) => item.path));
190
+ }
191
+ catch (error) {
192
+ baselineError = error instanceof Error ? error.message : String(error);
193
+ }
194
+ const taskId = randomUUID();
195
+ const runId = randomUUID();
196
+ const messageId = createMessageId();
197
+ const startedAt = Date.now();
198
+ const run = {
199
+ run_id: runId,
200
+ message_id: messageId,
201
+ startedAt,
202
+ expectedChanges: expected_changes,
203
+ checks: checks,
204
+ baseline,
205
+ baselineError,
206
+ workspaceLease: lease,
207
+ controller: new AbortController(),
208
+ dispatchState: "dispatching",
209
+ };
210
+ registerTask({
211
+ taskId,
212
+ serverId: server_id,
213
+ sessionId,
214
+ directory: workspace,
215
+ workspace: workspaceMetadata,
216
+ workspaceId,
217
+ createdAt: startedAt,
218
+ currentRunId: runId,
219
+ runs: [run],
220
+ });
221
+ provisionalLease = undefined;
222
+ if (workspaceId)
223
+ associateManagedWorkspaceTask(workspaceId, taskId);
224
+ const outcome = await sendPromptAndClassify(() => client.session.promptAsync({
73
225
  path: { id: sessionId },
74
226
  body: {
227
+ messageID: messageId,
75
228
  parts: [{ type: "text", text: prompt }],
76
229
  ...(agent ? { agent } : {}),
77
230
  ...(parsedModel ? { model: parsedModel } : {}),
78
231
  },
79
- });
80
- const taskId = randomUUID();
81
- registerTask({ taskId, serverId: server_id, sessionId, createdAt: Date.now() });
232
+ }));
233
+ if (outcome.state === "rejected") {
234
+ if (workspaceId) {
235
+ run.dispatchState = "rejected";
236
+ run.executionState = "failed";
237
+ run.reportReady = true;
238
+ run.result = {
239
+ task_id: taskId,
240
+ run_id: runId,
241
+ status: "failed",
242
+ result: null,
243
+ error: outcome.error,
244
+ };
245
+ releaseWorkspace(lease);
246
+ run.workspaceLease = undefined;
247
+ }
248
+ else {
249
+ removeTask(taskId);
250
+ }
251
+ unregisterPermissionSession(server_id, workspace, sessionId);
252
+ return jsonError({
253
+ server_id,
254
+ task_id: workspaceId ? taskId : undefined,
255
+ run_id: workspaceId ? runId : undefined,
256
+ status: "prompt_rejected",
257
+ http_status: outcome.status,
258
+ message: outcome.error,
259
+ workspace: workspaceMetadata,
260
+ workspace_id: workspaceMetadata.workspace_id,
261
+ });
262
+ }
263
+ run.dispatchState = outcome.state;
264
+ if (outcome.state === "uncertain")
265
+ run.dispatchError = outcome.error;
266
+ observeRun(taskId, runId);
82
267
  return jsonResult({
83
268
  task_id: taskId,
269
+ run_id: runId,
84
270
  server_id,
85
271
  session_id: sessionId,
86
- status: "pending",
272
+ workspace: workspaceMetadata,
273
+ ...(workspaceId ? { workspace_id: workspaceId } : {}),
274
+ status: outcome.state === "accepted" ? "pending" : "dispatch_uncertain",
275
+ ...(outcome.state === "uncertain"
276
+ ? {
277
+ dispatch: {
278
+ state: outcome.state,
279
+ error: outcome.error,
280
+ http_status: outcome.status,
281
+ },
282
+ }
283
+ : {}),
87
284
  });
88
285
  }
89
286
  catch (error) {
287
+ if (provisionalLease)
288
+ releaseWorkspace(provisionalLease);
90
289
  return jsonError({
91
290
  server_id,
92
291
  status: "error",
93
292
  message: error instanceof Error ? error.message : String(error),
293
+ ...(workspaceMetadata?.managed
294
+ ? { workspace: workspaceMetadata, workspace_id: workspaceMetadata.workspace_id }
295
+ : {}),
94
296
  });
95
297
  }
298
+ finally {
299
+ releaseManagedDispatch?.();
300
+ }
96
301
  });
97
302
  }
98
303
  //# sourceMappingURL=start_task.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start_task.js","sourceRoot":"","sources":["../../../../src/modules/tools/start_task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start_task.js","sourceRoot":"","sources":["../../../../src/modules/tools/start_task.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"stop_server.d.ts","sourceRoot":"","sources":["../../../../src/modules/tools/stop_server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,QAoC3D"}
1
+ {"version":3,"file":"stop_server.d.ts","sourceRoot":"","sources":["../../../../src/modules/tools/stop_server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAKzE,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,QAqD3D"}
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { stopServerObservers } from "../shared/run-observer.js";
2
3
  import { getServer, removeServer } from "../shared/server-registry.js";
3
4
  export function registerOpencodeStopServer(server) {
4
5
  server.registerTool("opencode_stop_server", {
@@ -19,6 +20,22 @@ export function registerOpencodeStopServer(server) {
19
20
  ],
20
21
  };
21
22
  }
23
+ const checksDrained = await stopServerObservers(server_id);
24
+ if (!checksDrained) {
25
+ return {
26
+ isError: true,
27
+ content: [
28
+ {
29
+ type: "text",
30
+ text: JSON.stringify({
31
+ server_id,
32
+ status: "cleanup_pending",
33
+ message: "Check process termination could not be confirmed; server and workspace lease remain active. Retry opencode_stop_server after cleanup settles.",
34
+ }),
35
+ },
36
+ ],
37
+ };
38
+ }
22
39
  instance.close();
23
40
  removeServer(server_id);
24
41
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"stop_server.js","sourceRoot":"","sources":["../../../../src/modules/tools/stop_server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,UAAU,0BAA0B,CAAC,MAAiB;IAC1D,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SACpE;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;qBACzD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,YAAY,CAAC,SAAS,CAAC,CAAC;QAExB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;iBACvD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"stop_server.js","sourceRoot":"","sources":["../../../../src/modules/tools/stop_server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,UAAU,0BAA0B,CAAC,MAAiB;IAC1D,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;SACpE;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACtB,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;qBACzD;iBACF;aACF,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,SAAS;4BACT,MAAM,EAAE,iBAAiB;4BACzB,OAAO,EACL,+IAA+I;yBAClJ,CAAC;qBACH;iBACF;aACF,CAAC;QACJ,CAAC;QACD,QAAQ,CAAC,KAAK,EAAE,CAAC;QACjB,YAAY,CAAC,SAAS,CAAC,CAAC;QAExB,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;iBACvD;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wait_for_task.d.ts","sourceRoot":"","sources":["../../../../src/modules/tools/wait_for_task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwDzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,QAuG5D"}
1
+ {"version":3,"file":"wait_for_task.d.ts","sourceRoot":"","sources":["../../../../src/modules/tools/wait_for_task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA6FzE,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,SAAS,QAuL5D"}
@@ -1,13 +1,13 @@
1
1
  import { z } from "zod";
2
2
  import { getMaxToolTimeoutMs } from "../shared/config.js";
3
3
  import { jsonError, jsonResult } from "../shared/mcp-result.js";
4
- import { clientForTask, deriveTaskStatus, } from "../shared/opencode-client.js";
4
+ import { clientForTask, deriveTaskStatus, isTerminalTaskStatus, } from "../shared/opencode-client.js";
5
+ import { getTask } from "../shared/task-registry.js";
5
6
  const DEFAULT_TIMEOUT_MS = 120_000;
6
7
  const DEFAULT_POLL_INTERVAL_MS = 2_500;
7
8
  const MIN_POLL_INTERVAL_MS = 500;
8
- const FINISHED_STATUSES = new Set(["completed", "failed", "error"]);
9
9
  function isFinished(result) {
10
- return result !== undefined && FINISHED_STATUSES.has(result.status);
10
+ return result !== undefined && isTerminalTaskStatus(result.status);
11
11
  }
12
12
  function sleep(ms) {
13
13
  return new Promise((resolve) => setTimeout(resolve, ms));
@@ -18,7 +18,7 @@ function sleep(ms) {
18
18
  * poll loop. Failures are swallowed per-task so one bad re-derivation doesn't
19
19
  * fail the whole call.
20
20
  */
21
- async function enrichUnfinishedWithProgress(tasks, taskData) {
21
+ async function enrichUnfinishedWithProgress(tasks, taskData, deadline) {
22
22
  const clientByTaskId = new Map(taskData.map((entry) => [entry.task_id, entry.client]));
23
23
  return Promise.all(tasks.map(async (task) => {
24
24
  if (isFinished(task))
@@ -26,19 +26,43 @@ async function enrichUnfinishedWithProgress(tasks, taskData) {
26
26
  // Every task_id in `tasks` was resolved into taskData before polling started.
27
27
  // biome-ignore lint/style/noNonNullAssertion: guaranteed present, see comment above
28
28
  const client = clientByTaskId.get(task.task_id);
29
+ const remaining = deadline - Date.now();
30
+ if (remaining <= 0)
31
+ return task;
32
+ const controller = new AbortController();
29
33
  try {
30
- return await deriveTaskStatus(client.client, client.sessionId, task.task_id, {
34
+ return await pollUntilDeadline(deriveTaskStatus(client.client, client.sessionId, task.task_id, {
31
35
  includeProgress: true,
32
- });
36
+ includeUsage: true,
37
+ signal: controller.signal,
38
+ }), remaining, () => controller.abort(new Error("wait deadline exceeded")));
33
39
  }
34
40
  catch {
35
41
  return task;
36
42
  }
37
43
  }));
38
44
  }
45
+ async function pollUntilDeadline(operation, remainingMs, onTimeout) {
46
+ let timer;
47
+ try {
48
+ return await Promise.race([
49
+ operation,
50
+ new Promise((_, reject) => {
51
+ timer = setTimeout(() => {
52
+ onTimeout();
53
+ reject(new Error("status poll deadline exceeded"));
54
+ }, remainingMs);
55
+ timer.unref?.();
56
+ }),
57
+ ]);
58
+ }
59
+ finally {
60
+ clearTimeout(timer);
61
+ }
62
+ }
39
63
  export function registerOpencodeWaitForTask(server) {
40
64
  server.registerTool("opencode_wait_for_task", {
41
- description: "Long-poll one or more delegated tasks until they finish or the timeout elapses. Use mode 'all' to wait for all tasks, or 'any' to return as soon as one completes. Set include_progress to enrich still-running tasks in the final result with a partial output snippet and the currently running tool.",
65
+ description: "Long-poll one or more delegated tasks until they finish or the timeout elapses. Use mode 'all' to wait for all tasks, or 'any' to return as soon as one completes. Set include_progress to best-effort enrich still-running tasks within the same wait deadline; when time runs out, return the last observed status and progress.",
42
66
  inputSchema: {
43
67
  task_ids: z.string().array().min(1).describe("IDs of tasks to wait for"),
44
68
  mode: z
@@ -53,18 +77,25 @@ export function registerOpencodeWaitForTask(server) {
53
77
  .number()
54
78
  .optional()
55
79
  .describe(`Time between status checks in milliseconds (default ${DEFAULT_POLL_INTERVAL_MS})`),
80
+ until: z
81
+ .enum(["execution", "report"])
82
+ .optional()
83
+ .describe("Wait for execution (default) or finalized execution report"),
56
84
  include_progress: z
57
85
  .boolean()
58
86
  .optional()
59
- .describe("If true, enrich tasks that are still not finished in the returned result with a partial output snippet and the currently running tool (not used during polling, only on the final result)"),
87
+ .describe("If true, best-effort enrich unfinished tasks with a partial output snippet and the currently running tool, without extending the wait deadline"),
60
88
  },
61
- }, async ({ task_ids, mode = "all", timeout_ms, poll_interval_ms, include_progress }) => {
89
+ }, async ({ task_ids, mode = "all", timeout_ms, poll_interval_ms, include_progress, until = "execution", }) => {
62
90
  // Fail-fast: check for unknown task IDs before polling starts
63
91
  const unknownIds = [];
64
92
  const taskData = [];
65
93
  for (const taskId of task_ids) {
66
94
  const resolved = clientForTask(taskId);
67
- if (!resolved) {
95
+ const tracked = getTask(taskId);
96
+ const cached = tracked?.runs?.find((run) => run.run_id === tracked.currentRunId);
97
+ if ((!tracked && !resolved) ||
98
+ (!resolved && until === "execution" && !cached?.reportReady)) {
68
99
  unknownIds.push(taskId);
69
100
  }
70
101
  else {
@@ -81,40 +112,95 @@ export function registerOpencodeWaitForTask(server) {
81
112
  while (true) {
82
113
  // Poll all tasks that are not yet finished
83
114
  for (const { task_id, client } of taskData) {
115
+ const currentRun = getTask(task_id)?.runs?.find((run) => run.run_id === getTask(task_id)?.currentRunId);
116
+ if (currentRun?.reportReady) {
117
+ const cachedStatus = currentRun.result?.status ?? currentRun.executionState ?? "error";
118
+ statusMap.set(task_id, cachedStatus === "error"
119
+ ? {
120
+ task_id,
121
+ status: "error",
122
+ error: currentRun.result?.error ?? "execution report unavailable",
123
+ }
124
+ : { task_id, status: cachedStatus });
125
+ continue;
126
+ }
84
127
  if (isFinished(statusMap.get(task_id)))
85
128
  continue;
129
+ if (!client) {
130
+ statusMap.set(task_id, { task_id, status: "running" });
131
+ continue;
132
+ }
86
133
  try {
87
- const result = await deriveTaskStatus(client.client, client.sessionId, task_id);
134
+ const remaining = Math.max(1, deadline - Date.now());
135
+ const controller = new AbortController();
136
+ const result = await pollUntilDeadline(deriveTaskStatus(client.client, client.sessionId, task_id, {
137
+ includeUsage: true,
138
+ signal: controller.signal,
139
+ }), remaining, () => controller.abort(new Error("wait deadline exceeded")));
88
140
  statusMap.set(task_id, result);
89
141
  }
90
142
  catch (error) {
91
- // Per-task SDK error: mark as finished with error
92
- statusMap.set(task_id, {
93
- task_id,
94
- status: "error",
95
- error: error instanceof Error ? error.message : String(error),
96
- });
143
+ // The overall deadline returns the last known live status rather than
144
+ // converting a slow read into a completed per-task error.
145
+ statusMap.set(task_id, Date.now() >= deadline
146
+ ? (statusMap.get(task_id) ?? { task_id, status: "running" })
147
+ : {
148
+ task_id,
149
+ status: "error",
150
+ error: error instanceof Error ? error.message : String(error),
151
+ usage: {
152
+ captured_at: new Date().toISOString(),
153
+ snapshot_kind: "live_observation",
154
+ report: null,
155
+ diagnostic: `usage unavailable: ${error instanceof Error ? error.message : String(error)}`,
156
+ },
157
+ });
97
158
  }
98
159
  }
99
160
  // biome-ignore lint/style/noNonNullAssertion: every task_id was just written to statusMap above
100
161
  const tasks = task_ids.map((id) => statusMap.get(id));
101
- if (mode === "all" && tasks.every(isFinished)) {
102
- return jsonResult({ mode, tasks, timed_out: false });
162
+ const done = (task) => until === "report"
163
+ ? Boolean(getTask(task.task_id)?.runs?.find((run) => run.run_id === getTask(task.task_id)?.currentRunId)?.reportReady)
164
+ : isFinished(task);
165
+ if (mode === "all" && tasks.every(done)) {
166
+ return jsonResult({ mode, tasks: addReports(tasks), timed_out: false });
103
167
  }
104
- if (mode === "any" && tasks.some(isFinished)) {
168
+ if (mode === "any" && tasks.some(done)) {
105
169
  const enriched = include_progress
106
- ? await enrichUnfinishedWithProgress(tasks, taskData)
170
+ ? await enrichUnfinishedWithProgress(tasks, taskData.filter((item) => Boolean(item.client)), deadline)
107
171
  : tasks;
108
- return jsonResult({ mode, tasks: enriched, timed_out: false });
172
+ return jsonResult({ mode, tasks: addReports(enriched), timed_out: false });
109
173
  }
110
174
  if (Date.now() >= deadline) {
111
175
  const enriched = include_progress
112
- ? await enrichUnfinishedWithProgress(tasks, taskData)
176
+ ? await enrichUnfinishedWithProgress(tasks, taskData.filter((item) => Boolean(item.client)), deadline)
113
177
  : tasks;
114
- return jsonResult({ mode, tasks: enriched, timed_out: true });
178
+ return jsonResult({ mode, tasks: addReports(enriched), timed_out: true });
115
179
  }
116
180
  await sleep(pollInterval);
117
181
  }
118
182
  });
119
183
  }
184
+ function addReports(tasks) {
185
+ return tasks.map((result) => {
186
+ const task = getTask(result.task_id);
187
+ const run = task?.runs?.find((item) => item.run_id === task.currentRunId);
188
+ if (!run)
189
+ return result;
190
+ return {
191
+ ...result,
192
+ ...(run.reportReady && run.executionState ? { status: run.executionState } : {}),
193
+ run_id: run.run_id,
194
+ changes: run.report?.changes ?? [],
195
+ verification: run.report?.verification ?? { state: "pending", checks: [] },
196
+ diagnostics: run.report?.diagnostics ?? [],
197
+ evidence: run.report?.evidence,
198
+ ...(run.usage ? { usage: run.usage } : {}),
199
+ ...(task?.workspace ? { workspace: task.workspace } : {}),
200
+ ...(run.dispatchState === "uncertain"
201
+ ? { dispatch: { state: run.dispatchState, error: run.dispatchError } }
202
+ : {}),
203
+ };
204
+ });
205
+ }
120
206
  //# sourceMappingURL=wait_for_task.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wait_for_task.js","sourceRoot":"","sources":["../../../../src/modules/tools/wait_for_task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wait_for_task.js","sourceRoot":"","sources":["../../../../src/modules/tools/wait_for_task.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-server-opencode",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "MCP server that lets any MCP host (Claude Code, Codex CLI, Cursor, etc.) drive OpenCode and delegate tasks asynchronously to its agents",
5
5
  "main": "./build/src/index.js",
6
6
  "types": "./build/src/index.d.ts",
@@ -42,6 +42,7 @@
42
42
  "lint:format": "biome format --write .",
43
43
  "test": "vitest run",
44
44
  "test:coverage": "vitest run --coverage",
45
+ "smoke": "pnpm build && node --experimental-strip-types scripts/smoke.ts",
45
46
  "build": "rm -rf build && npx tsc && chmod +x build/src/index.js",
46
47
  "prepare": "npm run build",
47
48
  "publish": "npm publish --access public"