Skill update round trip / roundtrip (false, macos-latest, copy, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (false, macos-latest, symlink, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (false, ubuntu-latest, copy, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (false, ubuntu-latest, symlink, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (false, ubuntu-latest, symlink, latest) (push) Canceled after 0s
Skill update round trip / roundtrip (false, windows-latest, copy, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (false, windows-latest, symlink, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (true, macos-latest, copy, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (true, macos-latest, symlink, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (true, ubuntu-latest, copy, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (true, ubuntu-latest, symlink, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (true, windows-latest, copy, 1.5.17) (push) Canceled after 0s
Skill update round trip / roundtrip (true, windows-latest, symlink, 1.5.17) (push) Canceled after 0s
28 lines
876 B
TypeScript
28 lines
876 B
TypeScript
export async function closeStreamingTerminals(
|
|
terminals: string[],
|
|
call: (method: 'terminal.closeTab' | 'terminal.close', terminal: string) => Promise<unknown>
|
|
): Promise<void> {
|
|
const results = await Promise.allSettled(
|
|
terminals.map(async (terminal) => {
|
|
try {
|
|
await call('terminal.closeTab', terminal)
|
|
} catch (closeTabError) {
|
|
try {
|
|
await call('terminal.close', terminal)
|
|
} catch (closeError) {
|
|
throw new AggregateError(
|
|
[closeTabError, closeError],
|
|
`Failed to close streaming terminal ${terminal}`
|
|
)
|
|
}
|
|
}
|
|
})
|
|
)
|
|
const failures = results.flatMap((result) =>
|
|
result.status === 'rejected' ? [result.reason] : []
|
|
)
|
|
if (failures.length > 0) {
|
|
throw new AggregateError(failures, `Failed to close ${failures.length} streaming terminal(s)`)
|
|
}
|
|
}
|