MCPcopy Index your code
hub / github.com/coder/mux / getTaskToolPartialState

Method getTaskToolPartialState

src/node/services/taskService.ts:9907–9972  ·  view source on GitHub ↗
(workspaceId: string)

Source from the content-addressed store, hash-verified

9905 }
9906
9907 private async getTaskToolPartialState(workspaceId: string): Promise<{
9908 pendingBestOfTaskToolCount: number;
9909 pendingTaskToolCount: number;
9910 referencedTaskIds: Set<string>;
9911 }> {
9912 const partial = await this.historyService.readPartial(workspaceId);
9913 const referencedTaskIds = new Set<string>();
9914 if (!partial) {
9915 return {
9916 pendingBestOfTaskToolCount: 0,
9917 pendingTaskToolCount: 0,
9918 referencedTaskIds,
9919 };
9920 }
9921
9922 let pendingBestOfTaskToolCount = 0;
9923 let pendingTaskToolCount = 0;
9924 for (const part of partial.parts) {
9925 if (!isDynamicToolPart(part) || part.toolName !== "task") {
9926 continue;
9927 }
9928
9929 if (part.state === "input-available") {
9930 pendingTaskToolCount += 1;
9931 const parsedInput = TaskToolArgsSchema.safeParse(part.input);
9932 if (parsedInput.success && getTaskGroupCount(parsedInput.data) > 1) {
9933 pendingBestOfTaskToolCount += 1;
9934 }
9935 continue;
9936 }
9937 if (part.state !== "output-available") {
9938 continue;
9939 }
9940
9941 const parsedOutput = TaskToolResultSchema.safeParse(part.output);
9942 if (!parsedOutput.success) {
9943 continue;
9944 }
9945
9946 const output = parsedOutput.data;
9947 if (typeof output.taskId === "string") {
9948 referencedTaskIds.add(output.taskId);
9949 }
9950 if (Array.isArray(output.taskIds)) {
9951 for (const taskId of output.taskIds) {
9952 referencedTaskIds.add(taskId);
9953 }
9954 }
9955 if ("tasks" in output && Array.isArray(output.tasks)) {
9956 for (const task of output.tasks) {
9957 referencedTaskIds.add(task.taskId);
9958 }
9959 }
9960 if ("reports" in output && Array.isArray(output.reports)) {
9961 for (const report of output.reports) {
9962 referencedTaskIds.add(report.taskId);
9963 }
9964 }

Calls 4

isDynamicToolPartFunction · 0.90
getTaskGroupCountFunction · 0.90
readPartialMethod · 0.80
addMethod · 0.80

Tested by

no test coverage detected