Skip to content

Commit a4e24fb

Browse files
fix: address review feedback
- Update collect-user-info-task example to use single-arg getTask/getTaskResult signature matching the updated TaskRequestHandler type - Clean up _taskToolMap entries after getTaskResult to prevent unbounded growth
1 parent fd14b33 commit a4e24fb

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

src/examples/server/simpleStreamableHttp.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -379,11 +379,11 @@ const getServer = () => {
379379

380380
return { task };
381381
},
382-
async getTask(_args, { taskId, taskStore: getTaskStore }) {
383-
return await getTaskStore.getTask(taskId);
382+
async getTask({ taskId, taskStore }) {
383+
return await taskStore.getTask(taskId);
384384
},
385-
async getTaskResult(_args, { taskId, taskStore: getResultTaskStore }) {
386-
const result = await getResultTaskStore.getTaskResult(taskId);
385+
async getTaskResult({ taskId, taskStore }) {
386+
const result = await taskStore.getTaskResult(taskId);
387387
return result as CallToolResult;
388388
}
389389
}

src/server/mcp.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,16 @@ export class McpServer {
9898
getTaskResult: async (taskId: string, extra: RequestHandlerExtra<ServerRequest, ServerNotification>) => {
9999
const taskStore = extra.taskStore!;
100100
const handler = this._getTaskHandler(taskId);
101-
if (handler) {
102-
return await handler.getTaskResult({ ...extra, taskId, taskStore });
101+
try {
102+
if (handler) {
103+
return await handler.getTaskResult({ ...extra, taskId, taskStore });
104+
}
105+
return await taskStore.getTaskResult(taskId);
106+
} finally {
107+
// Once the result has been retrieved the task is complete;
108+
// drop the taskId → toolName mapping to avoid unbounded growth.
109+
this._taskToolMap.delete(taskId);
103110
}
104-
return await taskStore.getTaskResult(taskId);
105111
}
106112
};
107113
this.server = new Server(serverInfo, { ...options, taskHandlerHooks });

0 commit comments

Comments
 (0)