豆豆友情提示:这是一个非官方 GitHub 代理镜像,主要用于网络测试或访问加速。请勿在此进行登录、注册或处理任何敏感信息。进行这些操作请务必访问官方网站 github.com。 Raw 内容也通过此代理提供。
Skip to content

Commit 23b9279

Browse files
OzTamirOrKoN
authored andcommitted
docs: auto generated docs + formatting
1 parent 176aa8a commit 23b9279

File tree

4 files changed

+66
-71
lines changed

4 files changed

+66
-71
lines changed

docs/tool-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,7 @@
266266

267267
- **pageIdx** (integer) _(optional)_: Page number to return (0-based). When omitted, returns the first page.
268268
- **pageSize** (integer) _(optional)_: Maximum number of requests to return. When omitted, returns all requests.
269-
- **resourceType** (array) _(optional)_: Filter requests to only return requests of the specified resource types. When omitted, returns all requests.
269+
- **resourceTypes** (array) _(optional)_: Filter requests to only return requests of the specified resource types. When omitted or empty, returns all requests.
270270

271271
---
272272

src/McpResponse.ts

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ import type {
77
ImageContent,
88
TextContent,
99
} from '@modelcontextprotocol/sdk/types.js';
10-
import type { ResourceType } from 'puppeteer-core';
10+
import type {ResourceType} from 'puppeteer-core';
1111

12-
import { formatConsoleEvent } from './formatters/consoleFormatter.js';
12+
import {formatConsoleEvent} from './formatters/consoleFormatter.js';
1313
import {
1414
getFormattedHeaderValue,
1515
getShortDescriptionForRequest,
1616
getStatusFromRequest,
1717
} from './formatters/networkFormatter.js';
18-
import { formatA11ySnapshot } from './formatters/snapshotFormatter.js';
19-
import type { McpContext } from './McpContext.js';
20-
import type { ImageContentData, Response } from './tools/ToolDefinition.js';
21-
import { paginate, type PaginationOptions } from './utils/pagination.js';
18+
import {formatA11ySnapshot} from './formatters/snapshotFormatter.js';
19+
import type {McpContext} from './McpContext.js';
20+
import type {ImageContentData, Response} from './tools/ToolDefinition.js';
21+
import {paginate, type PaginationOptions} from './utils/pagination.js';
2222

2323
export class McpResponse implements Response {
2424
#includePages = false;
@@ -60,9 +60,9 @@ export class McpResponse implements Response {
6060
pagination:
6161
options?.pageSize || options?.pageIdx
6262
? {
63-
pageSize: options.pageSize,
64-
pageIdx: options.pageIdx,
65-
}
63+
pageSize: options.pageSize,
64+
pageIdx: options.pageIdx,
65+
}
6666
: undefined,
6767
resourceTypes: options?.resourceTypes,
6868
};
@@ -217,7 +217,7 @@ Call browser_handle_dialog to handle it before continuing.`);
217217
response.push('Invalid page number provided. Showing first page.');
218218
}
219219

220-
const { startIndex, endIndex, currentPage, totalPages } =
220+
const {startIndex, endIndex, currentPage, totalPages} =
221221
paginationResult;
222222
response.push(
223223
`Showing ${startIndex + 1}-${endIndex} of ${requests.length} (Page ${currentPage + 1} of ${totalPages}).`,

src/tools/network.ts

Lines changed: 25 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,36 +4,33 @@
44
* SPDX-License-Identifier: Apache-2.0
55
*/
66

7-
import type { ResourceType } from 'puppeteer-core';
7+
import type {ResourceType} from 'puppeteer-core';
88
import z from 'zod';
99

10-
import { ToolCategories } from './categories.js';
11-
import { defineTool } from './ToolDefinition.js';
10+
import {ToolCategories} from './categories.js';
11+
import {defineTool} from './ToolDefinition.js';
1212

13-
const FILTERABLE_RESOURCE_TYPES: readonly [
14-
ResourceType,
15-
...ResourceType[],
16-
] = [
17-
'document',
18-
'stylesheet',
19-
'image',
20-
'media',
21-
'font',
22-
'script',
23-
'texttrack',
24-
'xhr',
25-
'fetch',
26-
'prefetch',
27-
'eventsource',
28-
'websocket',
29-
'manifest',
30-
'signedexchange',
31-
'ping',
32-
'cspviolationreport',
33-
'preflight',
34-
'fedcm',
35-
'other',
36-
];
13+
const FILTERABLE_RESOURCE_TYPES: readonly [ResourceType, ...ResourceType[]] = [
14+
'document',
15+
'stylesheet',
16+
'image',
17+
'media',
18+
'font',
19+
'script',
20+
'texttrack',
21+
'xhr',
22+
'fetch',
23+
'prefetch',
24+
'eventsource',
25+
'websocket',
26+
'manifest',
27+
'signedexchange',
28+
'ping',
29+
'cspviolationreport',
30+
'preflight',
31+
'fedcm',
32+
'other',
33+
];
3734

3835
export const listNetworkRequests = defineTool({
3936
name: 'list_network_requests',
@@ -60,9 +57,7 @@ export const listNetworkRequests = defineTool({
6057
'Page number to return (0-based). When omitted, returns the first page.',
6158
),
6259
resourceTypes: z
63-
.array(
64-
z.enum(FILTERABLE_RESOURCE_TYPES),
65-
)
60+
.array(z.enum(FILTERABLE_RESOURCE_TYPES))
6661
.optional()
6762
.describe(
6863
'Filter requests to only return requests of the specified resource types. When omitted or empty, returns all requests.',

tests/McpResponse.test.ts

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
* SPDX-License-Identifier: Apache-2.0
55
*/
66
import assert from 'node:assert';
7-
import { describe, it } from 'node:test';
7+
import {describe, it} from 'node:test';
88

9-
import { getMockRequest, html, withBrowser } from './utils.js';
9+
import {getMockRequest, html, withBrowser} from './utils.js';
1010

1111
describe('McpResponse', () => {
1212
it('list pages', async () => {
@@ -120,7 +120,7 @@ Navigation timeout set to 100000 ms`,
120120
});
121121
it('adds image when image is attached', async () => {
122122
await withBrowser(async (response, context) => {
123-
response.attachImage({ data: 'imageBase64', mimeType: 'image/png' });
123+
response.attachImage({data: 'imageBase64', mimeType: 'image/png'});
124124
const result = await response.handle('test', context);
125125
assert.strictEqual(result[0].text, `# test response`);
126126
assert.equal(result[1].type, 'image');
@@ -273,10 +273,10 @@ describe('McpResponse network request filtering', () => {
273273
});
274274
context.getNetworkRequests = () => {
275275
return [
276-
getMockRequest({ resourceType: 'script' }),
277-
getMockRequest({ resourceType: 'image' }),
278-
getMockRequest({ resourceType: 'stylesheet' }),
279-
getMockRequest({ resourceType: 'document' }),
276+
getMockRequest({resourceType: 'script'}),
277+
getMockRequest({resourceType: 'image'}),
278+
getMockRequest({resourceType: 'stylesheet'}),
279+
getMockRequest({resourceType: 'document'}),
280280
];
281281
};
282282
const result = await response.handle('test', context);
@@ -298,9 +298,9 @@ http://example.com GET [pending]`,
298298
});
299299
context.getNetworkRequests = () => {
300300
return [
301-
getMockRequest({ resourceType: 'script' }),
302-
getMockRequest({ resourceType: 'image' }),
303-
getMockRequest({ resourceType: 'stylesheet' }),
301+
getMockRequest({resourceType: 'script'}),
302+
getMockRequest({resourceType: 'image'}),
303+
getMockRequest({resourceType: 'stylesheet'}),
304304
];
305305
};
306306
const result = await response.handle('test', context);
@@ -321,9 +321,9 @@ http://example.com GET [pending]`,
321321
});
322322
context.getNetworkRequests = () => {
323323
return [
324-
getMockRequest({ resourceType: 'script' }),
325-
getMockRequest({ resourceType: 'image' }),
326-
getMockRequest({ resourceType: 'stylesheet' }),
324+
getMockRequest({resourceType: 'script'}),
325+
getMockRequest({resourceType: 'image'}),
326+
getMockRequest({resourceType: 'stylesheet'}),
327327
];
328328
};
329329
const result = await response.handle('test', context);
@@ -341,11 +341,11 @@ No requests found.`,
341341
response.setIncludeNetworkRequests(true);
342342
context.getNetworkRequests = () => {
343343
return [
344-
getMockRequest({ resourceType: 'script' }),
345-
getMockRequest({ resourceType: 'image' }),
346-
getMockRequest({ resourceType: 'stylesheet' }),
347-
getMockRequest({ resourceType: 'document' }),
348-
getMockRequest({ resourceType: 'font' }),
344+
getMockRequest({resourceType: 'script'}),
345+
getMockRequest({resourceType: 'image'}),
346+
getMockRequest({resourceType: 'stylesheet'}),
347+
getMockRequest({resourceType: 'document'}),
348+
getMockRequest({resourceType: 'font'}),
349349
];
350350
};
351351
const result = await response.handle('test', context);
@@ -370,11 +370,11 @@ http://example.com GET [pending]`,
370370
});
371371
context.getNetworkRequests = () => {
372372
return [
373-
getMockRequest({ resourceType: 'script' }),
374-
getMockRequest({ resourceType: 'image' }),
375-
getMockRequest({ resourceType: 'stylesheet' }),
376-
getMockRequest({ resourceType: 'document' }),
377-
getMockRequest({ resourceType: 'font' }),
373+
getMockRequest({resourceType: 'script'}),
374+
getMockRequest({resourceType: 'image'}),
375+
getMockRequest({resourceType: 'stylesheet'}),
376+
getMockRequest({resourceType: 'document'}),
377+
getMockRequest({resourceType: 'font'}),
378378
];
379379
};
380380
const result = await response.handle('test', context);
@@ -396,7 +396,7 @@ http://example.com GET [pending]`,
396396
describe('McpResponse network pagination', () => {
397397
it('returns all requests when pagination is not provided', async () => {
398398
await withBrowser(async (response, context) => {
399-
const requests = Array.from({ length: 5 }, () => getMockRequest());
399+
const requests = Array.from({length: 5}, () => getMockRequest());
400400
context.getNetworkRequests = () => requests;
401401
response.setIncludeNetworkRequests(true);
402402
const result = await response.handle('test', context);
@@ -409,13 +409,13 @@ describe('McpResponse network pagination', () => {
409409

410410
it('returns first page by default', async () => {
411411
await withBrowser(async (response, context) => {
412-
const requests = Array.from({ length: 30 }, (_, idx) =>
413-
getMockRequest({ method: `GET-${idx}` }),
412+
const requests = Array.from({length: 30}, (_, idx) =>
413+
getMockRequest({method: `GET-${idx}`}),
414414
);
415415
context.getNetworkRequests = () => {
416416
return requests;
417417
};
418-
response.setIncludeNetworkRequests(true, { pageSize: 10 });
418+
response.setIncludeNetworkRequests(true, {pageSize: 10});
419419
const result = await response.handle('test', context);
420420
const text = (result[0].text as string).toString();
421421
assert.ok(text.includes('Showing 1-10 of 30 (Page 1 of 3).'));
@@ -426,8 +426,8 @@ describe('McpResponse network pagination', () => {
426426

427427
it('returns subsequent page when pageIdx provided', async () => {
428428
await withBrowser(async (response, context) => {
429-
const requests = Array.from({ length: 25 }, (_, idx) =>
430-
getMockRequest({ method: `GET-${idx}` }),
429+
const requests = Array.from({length: 25}, (_, idx) =>
430+
getMockRequest({method: `GET-${idx}`}),
431431
);
432432
context.getNetworkRequests = () => requests;
433433
response.setIncludeNetworkRequests(true, {
@@ -444,7 +444,7 @@ describe('McpResponse network pagination', () => {
444444

445445
it('handles invalid page number by showing first page', async () => {
446446
await withBrowser(async (response, context) => {
447-
const requests = Array.from({ length: 5 }, () => getMockRequest());
447+
const requests = Array.from({length: 5}, () => getMockRequest());
448448
context.getNetworkRequests = () => requests;
449449
response.setIncludeNetworkRequests(true, {
450450
pageSize: 2,

0 commit comments

Comments
 (0)