mirror of
https://github.com/OpenRouterTeam/spawn.git
synced 2026-05-13 07:10:46 +00:00
Add tryCatchIf/asyncTryCatchIf with error predicates (isFileError, isNetworkError, isOperationalError) so operational errors are handled explicitly while programming bugs (TypeError, ReferenceError) propagate and crash visibly instead of being silently swallowed. Transforms ~40 try/catch blocks across 14 files: - File I/O (manifest cache, config loading, history) → tryCatchIf(isFileError) - Network/fetch (API calls, version checks, OAuth) → asyncTryCatchIf(isNetworkError) - SSH/subprocess (agent setup, tunnel) → asyncTryCatchIf(isOperationalError) - API retry loops (DO, Hetzner) → guard retries with isNetworkError Intentionally keeps ~85 try/catch blocks as-is (cleanup/finally, retry loops, user-facing error handlers, catch-classify-rethrow patterns). Co-authored-by: lab <6723574+louisgv@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
14 lines
214 B
TypeScript
14 lines
214 B
TypeScript
export {
|
|
asyncTryCatch,
|
|
asyncTryCatchIf,
|
|
Err,
|
|
isFileError,
|
|
isNetworkError,
|
|
isOperationalError,
|
|
mapResult,
|
|
Ok,
|
|
type Result,
|
|
tryCatch,
|
|
tryCatchIf,
|
|
unwrapOr,
|
|
} from "@openrouter/spawn-shared";
|