Skip to content

Commit 29fd602

Browse files
refactor: extract common paginate type (#415)
1 parent b873822 commit 29fd602

File tree

4 files changed

+22
-13
lines changed

4 files changed

+22
-13
lines changed

src/McpResponse.ts

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ import type {
2121
} from './third_party/modelcontextprotocol-sdk/index.js';
2222
import {handleDialog} from './tools/pages.js';
2323
import type {ImageContentData, Response} from './tools/ToolDefinition.js';
24-
import {paginate, type PaginationOptions} from './utils/pagination.js';
24+
import {paginate} from './utils/pagination.js';
25+
import type {PaginationOptions} from './utils/types.js';
2526

2627
interface NetworkRequestData {
2728
networkRequestStableId: number;
@@ -65,9 +66,7 @@ export class McpResponse implements Response {
6566

6667
setIncludeNetworkRequests(
6768
value: boolean,
68-
options?: {
69-
pageSize?: number;
70-
pageIdx?: number;
69+
options?: PaginationOptions & {
7170
resourceTypes?: ResourceType[];
7271
},
7372
): void {
@@ -91,9 +90,7 @@ export class McpResponse implements Response {
9190

9291
setIncludeConsoleData(
9392
value: boolean,
94-
options?: {
95-
pageSize?: number;
96-
pageIdx?: number;
93+
options?: PaginationOptions & {
9794
types?: string[];
9895
},
9996
): void {

src/tools/ToolDefinition.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import z from 'zod';
99

1010
import type {TextSnapshotNode} from '../McpContext.js';
1111
import type {TraceResult} from '../trace-processing/parse.js';
12+
import type {PaginationOptions} from '../utils/types.js';
1213

1314
import type {ToolCategories} from './categories.js';
1415

@@ -45,11 +46,15 @@ export interface Response {
4546
setIncludePages(value: boolean): void;
4647
setIncludeNetworkRequests(
4748
value: boolean,
48-
options?: {pageSize?: number; pageIdx?: number; resourceTypes?: string[]},
49+
options?: PaginationOptions & {
50+
resourceTypes?: string[];
51+
},
4952
): void;
5053
setIncludeConsoleData(
5154
value: boolean,
52-
options?: {pageSize?: number; pageIdx?: number; types?: string[]},
55+
options?: PaginationOptions & {
56+
types?: string[];
57+
},
5358
): void;
5459
setIncludeSnapshot(value: boolean): void;
5560
setIncludeSnapshot(value: boolean, verbose?: boolean): void;

src/utils/pagination.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,7 @@
44
* SPDX-License-Identifier: Apache-2.0
55
*/
66

7-
export interface PaginationOptions {
8-
pageSize?: number;
9-
pageIdx?: number;
10-
}
7+
import type {PaginationOptions} from './types.js';
118

129
export interface PaginationResult<Item> {
1310
items: readonly Item[];

src/utils/types.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/**
2+
* @license
3+
* Copyright 2025 Google LLC
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
export interface PaginationOptions {
8+
pageSize?: number;
9+
pageIdx?: number;
10+
}

0 commit comments

Comments
 (0)