Skip to content

Commit 0a27d94

Browse files
committed
fix: resolve TypeScript errors in screenshot.ts
1 parent f80f6e0 commit 0a27d94

5 files changed

Lines changed: 26 additions & 26 deletions

File tree

src/mcp/tools/ui-testing/long_press.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,13 @@ export async function long_pressLogic(
3939
): Promise<ToolResponse> {
4040
const toolName = 'long_press';
4141
const simUuidValidation = validateRequiredParam('simulatorUuid', params.simulatorUuid);
42-
if (!simUuidValidation.isValid) return simUuidValidation.errorResponse;
42+
if (!simUuidValidation.isValid) return simUuidValidation.errorResponse!;
4343
const xValidation = validateRequiredParam('x', params.x);
44-
if (!xValidation.isValid) return xValidation.errorResponse;
44+
if (!xValidation.isValid) return xValidation.errorResponse!;
4545
const yValidation = validateRequiredParam('y', params.y);
46-
if (!yValidation.isValid) return yValidation.errorResponse;
46+
if (!yValidation.isValid) return yValidation.errorResponse!;
4747
const durationValidation = validateRequiredParam('duration', params.duration);
48-
if (!durationValidation.isValid) return durationValidation.errorResponse;
48+
if (!durationValidation.isValid) return durationValidation.errorResponse!;
4949

5050
const { simulatorUuid, x, y, duration } = params;
5151
// AXe uses touch command with --down, --up, and --delay for long press
@@ -122,7 +122,7 @@ export default {
122122
duration: z.number().positive('Duration of the long press in milliseconds'),
123123
},
124124
async handler(args: Record<string, unknown>): Promise<ToolResponse> {
125-
return long_pressLogic(args, getDefaultCommandExecutor());
125+
return long_pressLogic(args as unknown as LongPressParams, getDefaultCommandExecutor());
126126
},
127127
};
128128

@@ -196,7 +196,7 @@ async function executeAxeCommand(
196196
);
197197
}
198198

199-
return result.output.trim();
199+
return createTextResponse(result.output.trim());
200200
} catch (error) {
201201
if (error instanceof Error) {
202202
if (error instanceof AxeError) {

src/mcp/tools/ui-testing/screenshot.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ export default {
152152
simulatorUuid: z.string().uuid('Invalid Simulator UUID format'),
153153
},
154154
async handler(args: Record<string, unknown>): Promise<ToolResponse> {
155-
const params = args as ScreenshotParams;
155+
const params = args as unknown as ScreenshotParams;
156156
return screenshotLogic(params, getDefaultCommandExecutor(), getDefaultFileSystemExecutor());
157157
},
158158
};

src/mcp/tools/ui-testing/swipe.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,15 +55,15 @@ export async function swipeLogic(
5555
): Promise<ToolResponse> {
5656
const toolName = 'swipe';
5757
const simUuidValidation = validateRequiredParam('simulatorUuid', params.simulatorUuid);
58-
if (!simUuidValidation.isValid) return simUuidValidation.errorResponse;
58+
if (!simUuidValidation.isValid) return simUuidValidation.errorResponse!;
5959
const x1Validation = validateRequiredParam('x1', params.x1);
60-
if (!x1Validation.isValid) return x1Validation.errorResponse;
60+
if (!x1Validation.isValid) return x1Validation.errorResponse!;
6161
const y1Validation = validateRequiredParam('y1', params.y1);
62-
if (!y1Validation.isValid) return y1Validation.errorResponse;
62+
if (!y1Validation.isValid) return y1Validation.errorResponse!;
6363
const x2Validation = validateRequiredParam('x2', params.x2);
64-
if (!x2Validation.isValid) return x2Validation.errorResponse;
64+
if (!x2Validation.isValid) return x2Validation.errorResponse!;
6565
const y2Validation = validateRequiredParam('y2', params.y2);
66-
if (!y2Validation.isValid) return y2Validation.errorResponse;
66+
if (!y2Validation.isValid) return y2Validation.errorResponse!;
6767

6868
const { simulatorUuid, x1, y1, x2, y2, duration, delta, preDelay, postDelay } = params;
6969
const commandArgs = [
@@ -149,7 +149,7 @@ export default {
149149
postDelay: z.number().min(0, 'Post-delay must be non-negative').optional(),
150150
},
151151
async handler(args: Record<string, unknown>): Promise<ToolResponse> {
152-
return swipeLogic(args as SwipeParams, getDefaultCommandExecutor());
152+
return swipeLogic(args as unknown as SwipeParams, getDefaultCommandExecutor());
153153
},
154154
};
155155

@@ -217,7 +217,7 @@ async function executeAxeCommand(
217217
);
218218
}
219219

220-
return result.output.trim();
220+
return createTextResponse(result.output.trim());
221221
} catch (error) {
222222
if (error instanceof Error) {
223223
if (error instanceof AxeError) {

src/mcp/tools/ui-testing/tap.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ const LOG_PREFIX = '[AXe]';
3535
const describeUITimestamps = new Map();
3636
const DESCRIBE_UI_WARNING_TIMEOUT = 60000; // 60 seconds
3737

38-
function getCoordinateWarning(simulatorUuid): string | null {
38+
function getCoordinateWarning(simulatorUuid: string): string | null {
3939
const session = describeUITimestamps.get(simulatorUuid);
4040
if (!session) {
4141
return 'Warning: describe_ui has not been called yet. Consider using describe_ui for precise coordinates instead of guessing from screenshots.';
@@ -61,11 +61,11 @@ export async function tapLogic(
6161
): Promise<ToolResponse> {
6262
const toolName = 'tap';
6363
const simUuidValidation = validateRequiredParam('simulatorUuid', params.simulatorUuid);
64-
if (!simUuidValidation.isValid) return simUuidValidation.errorResponse;
64+
if (!simUuidValidation.isValid) return simUuidValidation.errorResponse!;
6565
const xValidation = validateRequiredParam('x', params.x);
66-
if (!xValidation.isValid) return xValidation.errorResponse;
66+
if (!xValidation.isValid) return xValidation.errorResponse!;
6767
const yValidation = validateRequiredParam('y', params.y);
68-
if (!yValidation.isValid) return yValidation.errorResponse;
68+
if (!yValidation.isValid) return yValidation.errorResponse!;
6969

7070
const { simulatorUuid, x, y, preDelay, postDelay } = params;
7171
const commandArgs = ['tap', '-x', String(x), '-y', String(y)];
@@ -127,7 +127,7 @@ export default {
127127
postDelay: z.number().min(0, 'Post-delay must be non-negative').optional(),
128128
},
129129
async handler(args: Record<string, unknown>): Promise<ToolResponse> {
130-
return tapLogic(args as TapParams, getDefaultCommandExecutor());
130+
return tapLogic(args as unknown as TapParams, getDefaultCommandExecutor());
131131
},
132132
};
133133

@@ -174,7 +174,7 @@ async function executeAxeCommand(
174174
);
175175
}
176176

177-
return result.output.trim();
177+
return createTextResponse(result.output.trim());
178178
} catch (error) {
179179
if (error instanceof Error) {
180180
if (error instanceof AxeError) {

src/mcp/tools/ui-testing/touch.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ export async function touchLogic(
3636
): Promise<ToolResponse> {
3737
const toolName = 'touch';
3838
const simUuidValidation = validateRequiredParam('simulatorUuid', params.simulatorUuid);
39-
if (!simUuidValidation.isValid) return simUuidValidation.errorResponse;
39+
if (!simUuidValidation.isValid) return simUuidValidation.errorResponse!;
4040
const xValidation = validateRequiredParam('x', params.x);
41-
if (!xValidation.isValid) return xValidation.errorResponse;
41+
if (!xValidation.isValid) return xValidation.errorResponse!;
4242
const yValidation = validateRequiredParam('y', params.y);
43-
if (!yValidation.isValid) return yValidation.errorResponse;
43+
if (!yValidation.isValid) return yValidation.errorResponse!;
4444

4545
const { simulatorUuid, x, y, down, up, delay } = params;
4646

@@ -71,10 +71,10 @@ export async function touchLogic(
7171
);
7272

7373
try {
74-
await executeAxeCommand(commandArgs, simulatorUuid, 'touch', executor, axeHelpers);
74+
await executeAxeCommand(commandArgs, simulatorUuid as string, 'touch', executor, axeHelpers);
7575
log('info', `${LOG_PREFIX}/${toolName}: Success for ${simulatorUuid}`);
7676

77-
const warning = getCoordinateWarning(simulatorUuid);
77+
const warning = getCoordinateWarning(simulatorUuid as string);
7878
const message = `Touch event (${actionText}) at (${x}, ${y}) executed successfully.`;
7979

8080
if (warning) {
@@ -130,7 +130,7 @@ export default {
130130
const describeUITimestamps = new Map();
131131
const DESCRIBE_UI_WARNING_TIMEOUT = 60000; // 60 seconds
132132

133-
function getCoordinateWarning(simulatorUuid): string | null {
133+
function getCoordinateWarning(simulatorUuid: string): string | null {
134134
const session = describeUITimestamps.get(simulatorUuid);
135135
if (!session) {
136136
return 'Warning: describe_ui has not been called yet. Consider using describe_ui for precise coordinates instead of guessing from screenshots.';

0 commit comments

Comments
 (0)