MCPcopy
hub / github.com/coder/mux / setTaskStatus

Method setTaskStatus

src/node/services/taskService.ts:7249–7273  ·  view source on GitHub ↗
(workspaceId: string, status: AgentTaskStatus)

Source from the content-addressed store, hash-verified

7247 }
7248
7249 private async setTaskStatus(workspaceId: string, status: AgentTaskStatus): Promise<void> {
7250 assert(workspaceId.length > 0, "setTaskStatus: workspaceId must be non-empty");
7251
7252 await this.editWorkspaceEntry(workspaceId, (ws) => {
7253 ws.taskStatus = status;
7254 if (status === "running") {
7255 ws.taskPrompt = undefined;
7256 }
7257 });
7258
7259 await this.emitWorkspaceMetadata(workspaceId);
7260
7261 if (status === "running") {
7262 const waiters = this.pendingStartWaitersByTaskId.get(workspaceId);
7263 if (!waiters || waiters.length === 0) return;
7264 this.pendingStartWaitersByTaskId.delete(workspaceId);
7265 for (const waiter of waiters) {
7266 try {
7267 waiter.start();
7268 } catch (error: unknown) {
7269 log.error("Task start waiter callback failed", { workspaceId, error });
7270 }
7271 }
7272 }
7273 }
7274
7275 /**
7276 * Reset interrupt + auto-resume state for a workspace (called when user sends a real message).

Calls 6

editWorkspaceEntryMethod · 0.95
emitWorkspaceMetadataMethod · 0.95
getMethod · 0.65
assertFunction · 0.50
deleteMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected