From b0e616288b74ef80cfe51bc095194a9425aafc8e Mon Sep 17 00:00:00 2001 From: Tom Boucher Date: Mon, 4 May 2026 20:19:13 -0400 Subject: [PATCH] refactor: isolate native dispatch error projection --- sdk/src/query-native-direct-adapter.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sdk/src/query-native-direct-adapter.ts b/sdk/src/query-native-direct-adapter.ts index 0aa4a6ac8..2c748f697 100644 --- a/sdk/src/query-native-direct-adapter.ts +++ b/sdk/src/query-native-direct-adapter.ts @@ -19,8 +19,7 @@ export class QueryNativeDirectAdapter { try { return await this.withTimeout(legacyCommand, legacyArgs, this.deps.dispatch(registryCommand, registryArgs)); } catch (error) { - if (error instanceof GSDToolsError) throw error; - throw this.deps.createNativeFailureError(errorMessage(error), legacyCommand, legacyArgs, error); + throw this.toNativeDispatchError(legacyCommand, legacyArgs, error); } } @@ -34,6 +33,11 @@ export class QueryNativeDirectAdapter { return formatQueryRawOutput(registryCommand, result.data).trim(); } + private toNativeDispatchError(legacyCommand: string, legacyArgs: string[], error: unknown): GSDToolsError { + if (error instanceof GSDToolsError) return error; + return this.deps.createNativeFailureError(errorMessage(error), legacyCommand, legacyArgs, error); + } + private async withTimeout(legacyCommand: string, legacyArgs: string[], work: Promise): Promise { let timeoutId: ReturnType | undefined; const timeoutPromise = new Promise((_, reject) => {