refactor: reduce query error factory public surface

This commit is contained in:
Tom Boucher
2026-05-04 20:22:58 -04:00
parent ace241d0c2
commit 5aaf0dbea5
2 changed files with 6 additions and 8 deletions

View File

@@ -3,17 +3,15 @@ import { ErrorClassification, GSDError } from './errors.js';
import {
createQueryNativeErrorFactory,
createQueryToolsErrorFactory,
failureToolsError,
timeoutToolsError,
toToolsErrorFromUnknown,
} from './query-tools-error-factory.js';
describe('query tools error factory', () => {
it('builds timeout and failure tools errors', () => {
expect(timeoutToolsError('t', 'state', ['load'], '', 10).classification).toEqual({ kind: 'timeout', timeoutMs: 10 });
expect(failureToolsError('f', 'state', ['load'], 1).classification).toEqual({ kind: 'failure' });
it('builds timeout and failure tools errors via seam factories', () => {
const toolsFactory = createQueryToolsErrorFactory();
expect(toolsFactory.createTimeoutError('t', 'state', ['load'], '', 10).classification).toEqual({ kind: 'timeout', timeoutMs: 10 });
expect(toolsFactory.createFailureError('f', 'state', ['load'], 1, '').classification).toEqual({ kind: 'failure' });
});
it('maps GSDError to failure with semantic exit code', () => {
const err = toToolsErrorFromUnknown('state', ['load'], new GSDError('bad', ErrorClassification.Validation));
expect(err.exitCode).toBe(10);

View File

@@ -29,11 +29,11 @@ export interface QueryNativeErrorFactory {
createNativeFailureError: (message: string, command: string, args: string[], cause: unknown) => GSDToolsError;
}
export function timeoutToolsError(message: string, command: string, args: string[], stderr = '', timeoutMs?: number): GSDToolsError {
function timeoutToolsError(message: string, command: string, args: string[], stderr = '', timeoutMs?: number): GSDToolsError {
return GSDToolsError.timeout(message, command, args, stderr, timeoutMs);
}
export function failureToolsError(
function failureToolsError(
message: string,
command: string,
args: string[],