From ace241d0c24ccf3310987d47527fdded891d2690 Mon Sep 17 00:00:00 2001 From: Tom Boucher Date: Mon, 4 May 2026 20:21:51 -0400 Subject: [PATCH] refactor: fold query error seam types into factory module --- sdk/src/query-native-direct-adapter.ts | 2 +- sdk/src/query-subprocess-adapter.ts | 2 +- sdk/src/query-tools-error-factory.ts | 28 +++++++++++++++++++++++++- sdk/src/query-tools-error-seam.ts | 28 -------------------------- 4 files changed, 29 insertions(+), 31 deletions(-) delete mode 100644 sdk/src/query-tools-error-seam.ts diff --git a/sdk/src/query-native-direct-adapter.ts b/sdk/src/query-native-direct-adapter.ts index 2c748f697..6546b319a 100644 --- a/sdk/src/query-native-direct-adapter.ts +++ b/sdk/src/query-native-direct-adapter.ts @@ -1,7 +1,7 @@ import { formatQueryRawOutput } from './query-raw-output-projection.js'; import { GSDToolsError } from './gsd-tools-error.js'; import { errorMessage, timeoutMessage } from './query-failure-classification.js'; -import type { QueryNativeErrorFactory } from './query-tools-error-seam.js'; +import type { QueryNativeErrorFactory } from './query-tools-error-factory.js'; import type { QueryResult } from './query/utils.js'; export interface QueryNativeDirectAdapterDeps extends QueryNativeErrorFactory { diff --git a/sdk/src/query-subprocess-adapter.ts b/sdk/src/query-subprocess-adapter.ts index a3b32f029..af83aac3d 100644 --- a/sdk/src/query-subprocess-adapter.ts +++ b/sdk/src/query-subprocess-adapter.ts @@ -1,7 +1,7 @@ import { execFile } from 'node:child_process'; import { readFile } from 'node:fs/promises'; import { timeoutMessage } from './query-failure-classification.js'; -import type { QueryToolsErrorFactory } from './query-tools-error-seam.js'; +import type { QueryToolsErrorFactory } from './query-tools-error-factory.js'; export interface QuerySubprocessAdapterDeps extends QueryToolsErrorFactory { projectDir: string; diff --git a/sdk/src/query-tools-error-factory.ts b/sdk/src/query-tools-error-factory.ts index 620a9fe85..f427cf170 100644 --- a/sdk/src/query-tools-error-factory.ts +++ b/sdk/src/query-tools-error-factory.ts @@ -1,7 +1,33 @@ import { GSDError, exitCodeFor } from './errors.js'; import { GSDToolsError } from './gsd-tools-error.js'; import { errorMessage, toFailureSignal } from './query-failure-classification.js'; -import type { QueryNativeErrorFactory, QueryToolsErrorFactory } from './query-tools-error-seam.js'; + +export interface QueryTimeoutErrorFactory { + createTimeoutError: ( + message: string, + command: string, + args: string[], + stderr: string, + timeoutMs: number, + ) => GSDToolsError; +} + +export interface QueryFailureErrorFactory { + createFailureError: ( + message: string, + command: string, + args: string[], + exitCode: number | null, + stderr: string, + ) => GSDToolsError; +} + +export type QueryToolsErrorFactory = QueryTimeoutErrorFactory & QueryFailureErrorFactory; + +export interface QueryNativeErrorFactory { + createNativeTimeoutError: (message: string, command: string, args: string[]) => GSDToolsError; + createNativeFailureError: (message: string, command: string, args: string[], cause: unknown) => GSDToolsError; +} export function timeoutToolsError(message: string, command: string, args: string[], stderr = '', timeoutMs?: number): GSDToolsError { return GSDToolsError.timeout(message, command, args, stderr, timeoutMs); diff --git a/sdk/src/query-tools-error-seam.ts b/sdk/src/query-tools-error-seam.ts deleted file mode 100644 index def5697a3..000000000 --- a/sdk/src/query-tools-error-seam.ts +++ /dev/null @@ -1,28 +0,0 @@ -import type { GSDToolsError } from './gsd-tools-error.js'; - -export interface QueryTimeoutErrorFactory { - createTimeoutError: ( - message: string, - command: string, - args: string[], - stderr: string, - timeoutMs: number, - ) => GSDToolsError; -} - -export interface QueryFailureErrorFactory { - createFailureError: ( - message: string, - command: string, - args: string[], - exitCode: number | null, - stderr: string, - ) => GSDToolsError; -} - -export type QueryToolsErrorFactory = QueryTimeoutErrorFactory & QueryFailureErrorFactory; - -export interface QueryNativeErrorFactory { - createNativeTimeoutError: (message: string, command: string, args: string[]) => GSDToolsError; - createNativeFailureError: (message: string, command: string, args: string[], cause: unknown) => GSDToolsError; -}