* Settle pending workspace-turn waiters. Returns whether any foreground waiter consumed the * terminal result — callers use this to suppress a duplicate terminal wake-up notification.
(
handleId: string,
settlement:
| { status: "completed"; result: WorkspaceTurnWaitResult }
| { status: "error"; error: Error }
)
| 4705 | * terminal result — callers use this to suppress a duplicate terminal wake-up notification. |
| 4706 | */ |
| 4707 | private settleWorkspaceTurnWaiters( |
| 4708 | handleId: string, |
| 4709 | settlement: |
| 4710 | | { status: "completed"; result: WorkspaceTurnWaitResult } |
| 4711 | | { status: "error"; error: Error } |
| 4712 | ): boolean { |
| 4713 | assert(handleId.length > 0, "settleWorkspaceTurnWaiters requires handleId"); |
| 4714 | const waiters = this.pendingWorkspaceTurnWaitersByHandleId.get(handleId) ?? []; |
| 4715 | this.pendingWorkspaceTurnWaitersByHandleId.delete(handleId); |
| 4716 | for (const waiter of waiters) { |
| 4717 | if (settlement.status === "completed") { |
| 4718 | waiter.resolve(settlement.result); |
| 4719 | } else { |
| 4720 | waiter.reject(settlement.error); |
| 4721 | } |
| 4722 | } |
| 4723 | return waiters.length > 0; |
| 4724 | } |
| 4725 | |
| 4726 | private async cleanupDisposableWorkspaceTurn( |
| 4727 | record: WorkspaceTurnTaskHandleRecord |
no test coverage detected