Skip to content

Commit 6f24362

Browse files
feat: support previous navigation for Console messages (#452)
1 parent 914b980 commit 6f24362

File tree

5 files changed

+18
-3
lines changed

5 files changed

+18
-3
lines changed

docs/tool-reference.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@ so returned values have to JSON-serializable.
314314

315315
**Parameters:**
316316

317+
- **includePreviousNavigations** (boolean) _(optional)_: Whether to include messages from previous navigations.
317318
- **pageIdx** (integer) _(optional)_: Page number to return (0-based). When omitted, returns the first page.
318319
- **pageSize** (integer) _(optional)_: Maximum number of messages to return. When omitted, returns all requests.
319320
- **types** (array) _(optional)_: Filter messages to only return messages of the specified resource types. When omitted or empty, returns all messages.

src/McpContext.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,11 @@ export class McpContext implements Context {
145145
return this.#networkCollector.getData(page, includePreviousNavigations);
146146
}
147147

148-
getConsoleData(): Array<ConsoleMessage | Error> {
148+
getConsoleData(
149+
includePreviousNavigations?: boolean,
150+
): Array<ConsoleMessage | Error> {
149151
const page = this.getSelectedPage();
150-
return this.#consoleCollector.getData(page);
152+
return this.#consoleCollector.getData(page, includePreviousNavigations);
151153
}
152154

153155
getConsoleMessageStableId(message: ConsoleMessage | Error): number {

src/McpResponse.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ export class McpResponse implements Response {
4646
include: boolean;
4747
pagination?: PaginationOptions;
4848
types?: string[];
49+
includePreviousNavigations?: boolean;
4950
};
5051

5152
setIncludePages(value: boolean): void {
@@ -87,6 +88,7 @@ export class McpResponse implements Response {
8788
value: boolean,
8889
options?: PaginationOptions & {
8990
types?: string[];
91+
includePreviousNavigations?: boolean;
9092
},
9193
): void {
9294
if (!value) {
@@ -104,6 +106,7 @@ export class McpResponse implements Response {
104106
}
105107
: undefined,
106108
types: options?.types,
109+
includePreviousNavigations: options?.includePreviousNavigations,
107110
};
108111
}
109112

@@ -228,7 +231,9 @@ export class McpResponse implements Response {
228231

229232
let consoleListData: ConsoleMessageData[] | undefined;
230233
if (this.#consoleDataOptions?.include) {
231-
let messages = context.getConsoleData();
234+
let messages = context.getConsoleData(
235+
this.#consoleDataOptions.includePreviousNavigations,
236+
);
232237

233238
if (this.#consoleDataOptions.types?.length) {
234239
const normalizedTypes = new Set(this.#consoleDataOptions.types);

src/tools/ToolDefinition.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ export interface Response {
5656
value: boolean,
5757
options?: PaginationOptions & {
5858
types?: string[];
59+
includePreviousNavigations?: boolean;
5960
},
6061
): void;
6162
setIncludeSnapshot(value: boolean): void;

src/tools/console.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,12 +66,18 @@ export const listConsoleMessages = defineTool({
6666
.describe(
6767
'Filter messages to only return messages of the specified resource types. When omitted or empty, returns all messages.',
6868
),
69+
includePreviousNavigations: zod
70+
.boolean()
71+
.default(false)
72+
.optional()
73+
.describe('Whether to include messages from previous navigations.'),
6974
},
7075
handler: async (request, response) => {
7176
response.setIncludeConsoleData(true, {
7277
pageSize: request.params.pageSize,
7378
pageIdx: request.params.pageIdx,
7479
types: request.params.types,
80+
includePreviousNavigations: request.params.includePreviousNavigations,
7581
});
7682
},
7783
});

0 commit comments

Comments
 (0)