refactor: remove query tools error mapper wrapper

This commit is contained in:
Tom Boucher
2026-05-04 20:12:58 -04:00
parent b9e3979fc1
commit 70faa0ff0f
3 changed files with 6 additions and 15 deletions

View File

@@ -13,7 +13,7 @@
import type { InitNewProjectInfo, PhaseOpInfo, PhasePlanIndex, RoadmapAnalysis } from './types.js';
import type { GSDEventStream } from './event-stream.js';
import { toGSDToolsError } from './query-tools-error-mapper.js';
import { toToolsErrorFromUnknown } from './query-tools-error-factory.js';
import { GSDToolsError } from './gsd-tools-error.js';
import { resolveQueryCommand, type QueryCommandResolution } from './query/query-command-resolution-strategy.js';
import { QueryExecutionPolicy } from './query-execution-policy.js';
@@ -108,7 +108,7 @@ export class GSDTools {
}
private toToolsError(command: string, args: string[], err: unknown): GSDToolsError {
return toGSDToolsError(command, args, err);
return toToolsErrorFromUnknown(command, args, err);
}
private async dispatchNativeHotpath(

View File

@@ -1,21 +1,21 @@
import { describe, expect, it } from 'vitest';
import { ErrorClassification, GSDError } from './errors.js';
import { toGSDToolsError } from './query-tools-error-mapper.js';
import { toToolsErrorFromUnknown } from './query-tools-error-factory.js';
describe('query tools error mapper', () => {
it('maps GSDError to GSDToolsError exit code', () => {
const err = toGSDToolsError('state', ['load'], new GSDError('bad input', ErrorClassification.Validation));
const err = toToolsErrorFromUnknown('state', ['load'], new GSDError('bad input', ErrorClassification.Validation));
expect(err.exitCode).toBe(10);
expect(err.message).toBe('bad input');
});
it('attaches timeout classification when message indicates timeout', () => {
const err = toGSDToolsError('state', ['load'], new Error('gsd-tools timed out after 1234ms: state load'));
const err = toToolsErrorFromUnknown('state', ['load'], new Error('gsd-tools timed out after 1234ms: state load'));
expect(err.classification).toEqual({ kind: 'timeout', timeoutMs: 1234 });
});
it('attaches failure classification for non-timeout failures', () => {
const err = toGSDToolsError('state', ['load'], new Error('boom'));
const err = toToolsErrorFromUnknown('state', ['load'], new Error('boom'));
expect(err.classification).toEqual({ kind: 'failure' });
});
});

View File

@@ -1,9 +0,0 @@
import { toToolsErrorFromUnknown } from './query-tools-error-factory.js';
import type { GSDToolsError } from './gsd-tools-error.js';
/**
* Module owning projection of internal errors to GSDToolsError contract.
*/
export function toGSDToolsError(command: string, args: string[], err: unknown): GSDToolsError {
return toToolsErrorFromUnknown(command, args, err);
}