(workspaceId: string)
| 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 | } |
no test coverage detected