@ticktockbent/charlotte 0.3.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/README.md +45 -29
- package/dist/browser/page-manager.d.ts +21 -0
- package/dist/browser/page-manager.d.ts.map +1 -1
- package/dist/browser/page-manager.js +81 -24
- package/dist/browser/page-manager.js.map +1 -1
- package/dist/cli.d.ts +12 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +40 -0
- package/dist/cli.js.map +1 -0
- package/dist/dev/dev-mode-state.d.ts +3 -0
- package/dist/dev/dev-mode-state.d.ts.map +1 -1
- package/dist/dev/dev-mode-state.js +5 -0
- package/dist/dev/dev-mode-state.js.map +1 -1
- package/dist/dev/static-server.d.ts +1 -0
- package/dist/dev/static-server.d.ts.map +1 -1
- package/dist/dev/static-server.js +9 -2
- package/dist/dev/static-server.js.map +1 -1
- package/dist/index.js +16 -4
- package/dist/index.js.map +1 -1
- package/dist/renderer/content-extractor.d.ts.map +1 -1
- package/dist/renderer/content-extractor.js +10 -4
- package/dist/renderer/content-extractor.js.map +1 -1
- package/dist/renderer/renderer-pipeline.d.ts.map +1 -1
- package/dist/renderer/renderer-pipeline.js +4 -1
- package/dist/renderer/renderer-pipeline.js.map +1 -1
- package/dist/server.d.ts +11 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +51 -13
- package/dist/server.js.map +1 -1
- package/dist/tools/dev-mode.d.ts +2 -2
- package/dist/tools/dev-mode.d.ts.map +1 -1
- package/dist/tools/dev-mode.js +5 -3
- package/dist/tools/dev-mode.js.map +1 -1
- package/dist/tools/dialog.d.ts +2 -1
- package/dist/tools/dialog.d.ts.map +1 -1
- package/dist/tools/dialog.js +3 -1
- package/dist/tools/dialog.js.map +1 -1
- package/dist/tools/evaluate.d.ts +2 -2
- package/dist/tools/evaluate.d.ts.map +1 -1
- package/dist/tools/evaluate.js +53 -39
- package/dist/tools/evaluate.js.map +1 -1
- package/dist/tools/interaction.d.ts +2 -1
- package/dist/tools/interaction.d.ts.map +1 -1
- package/dist/tools/interaction.js +178 -26
- package/dist/tools/interaction.js.map +1 -1
- package/dist/tools/meta-tool.d.ts +14 -0
- package/dist/tools/meta-tool.d.ts.map +1 -0
- package/dist/tools/meta-tool.js +123 -0
- package/dist/tools/meta-tool.js.map +1 -0
- package/dist/tools/monitoring.d.ts +4 -0
- package/dist/tools/monitoring.d.ts.map +1 -0
- package/dist/tools/monitoring.js +129 -0
- package/dist/tools/monitoring.js.map +1 -0
- package/dist/tools/navigation.d.ts +2 -1
- package/dist/tools/navigation.d.ts.map +1 -1
- package/dist/tools/navigation.js +6 -4
- package/dist/tools/navigation.js.map +1 -1
- package/dist/tools/observation.d.ts +2 -1
- package/dist/tools/observation.d.ts.map +1 -1
- package/dist/tools/observation.js +102 -10
- package/dist/tools/observation.js.map +1 -1
- package/dist/tools/session.d.ts +2 -1
- package/dist/tools/session.d.ts.map +1 -1
- package/dist/tools/session.js +13 -11
- package/dist/tools/session.js.map +1 -1
- package/dist/tools/tool-groups.d.ts +42 -0
- package/dist/tools/tool-groups.d.ts.map +1 -0
- package/dist/tools/tool-groups.js +251 -0
- package/dist/tools/tool-groups.js.map +1 -0
- package/dist/types/config.d.ts +2 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +1 -0
- package/dist/types/config.js.map +1 -1
- package/dist/types/element-id.d.ts.map +1 -1
- package/dist/types/element-id.js +1 -0
- package/dist/types/element-id.js.map +1 -1
- package/dist/types/page-representation.d.ts +1 -0
- package/dist/types/page-representation.d.ts.map +1 -1
- package/dist/utils/wait.js +1 -1
- package/dist/utils/wait.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { logger } from "../utils/logger.js";
|
|
3
|
+
import { handleToolError } from "./tool-helpers.js";
|
|
4
|
+
export function registerMonitoringTools(server, deps) {
|
|
5
|
+
const tools = {};
|
|
6
|
+
// ─── charlotte:console ───
|
|
7
|
+
tools["charlotte:console"] = server.registerTool("charlotte:console", {
|
|
8
|
+
description: "Retrieve console messages from the active page. Returns messages at all severity levels (log, info, warning, error, debug, etc.) with timestamps. Useful for debugging JavaScript behavior.",
|
|
9
|
+
inputSchema: {
|
|
10
|
+
level: z
|
|
11
|
+
.enum(["all", "log", "info", "warn", "error", "debug"])
|
|
12
|
+
.optional()
|
|
13
|
+
.describe('Filter by log level. "all" (default) returns every message.'),
|
|
14
|
+
clear: z
|
|
15
|
+
.boolean()
|
|
16
|
+
.optional()
|
|
17
|
+
.describe("Clear the message buffer after retrieval (default: false)."),
|
|
18
|
+
},
|
|
19
|
+
}, async ({ level, clear }) => {
|
|
20
|
+
try {
|
|
21
|
+
await deps.browserManager.ensureConnected();
|
|
22
|
+
const filterLevel = level ?? "all";
|
|
23
|
+
const messages = deps.pageManager.getConsoleMessages(filterLevel);
|
|
24
|
+
logger.info("Retrieving console messages", {
|
|
25
|
+
level: filterLevel,
|
|
26
|
+
count: messages.length,
|
|
27
|
+
clear,
|
|
28
|
+
});
|
|
29
|
+
if (clear) {
|
|
30
|
+
deps.pageManager.clearConsoleMessages();
|
|
31
|
+
}
|
|
32
|
+
return {
|
|
33
|
+
content: [
|
|
34
|
+
{
|
|
35
|
+
type: "text",
|
|
36
|
+
text: JSON.stringify({
|
|
37
|
+
messages,
|
|
38
|
+
count: messages.length,
|
|
39
|
+
level: filterLevel,
|
|
40
|
+
cleared: clear ?? false,
|
|
41
|
+
}),
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
return handleToolError(error);
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
// ─── charlotte:requests ───
|
|
51
|
+
tools["charlotte:requests"] = server.registerTool("charlotte:requests", {
|
|
52
|
+
description: "Retrieve network request history from the active page. Returns all HTTP requests with method, status, resource type, and timestamps. Useful for debugging API calls and resource loading.",
|
|
53
|
+
inputSchema: {
|
|
54
|
+
url_pattern: z
|
|
55
|
+
.string()
|
|
56
|
+
.optional()
|
|
57
|
+
.describe("Filter requests by URL substring match (case-insensitive)."),
|
|
58
|
+
resource_type: z
|
|
59
|
+
.enum([
|
|
60
|
+
"document",
|
|
61
|
+
"stylesheet",
|
|
62
|
+
"image",
|
|
63
|
+
"media",
|
|
64
|
+
"font",
|
|
65
|
+
"script",
|
|
66
|
+
"texttrack",
|
|
67
|
+
"xhr",
|
|
68
|
+
"fetch",
|
|
69
|
+
"eventsource",
|
|
70
|
+
"websocket",
|
|
71
|
+
"manifest",
|
|
72
|
+
"other",
|
|
73
|
+
])
|
|
74
|
+
.optional()
|
|
75
|
+
.describe("Filter by resource type (e.g. \"fetch\", \"xhr\", \"document\")."),
|
|
76
|
+
status_min: z
|
|
77
|
+
.number()
|
|
78
|
+
.optional()
|
|
79
|
+
.describe("Minimum HTTP status code to include (e.g. 400 for errors only)."),
|
|
80
|
+
clear: z
|
|
81
|
+
.boolean()
|
|
82
|
+
.optional()
|
|
83
|
+
.describe("Clear the request buffer after retrieval (default: false)."),
|
|
84
|
+
},
|
|
85
|
+
}, async ({ url_pattern, resource_type, status_min, clear }) => {
|
|
86
|
+
try {
|
|
87
|
+
await deps.browserManager.ensureConnected();
|
|
88
|
+
let requests = deps.pageManager.getNetworkRequests();
|
|
89
|
+
if (url_pattern) {
|
|
90
|
+
const lowerPattern = url_pattern.toLowerCase();
|
|
91
|
+
requests = requests.filter((r) => r.url.toLowerCase().includes(lowerPattern));
|
|
92
|
+
}
|
|
93
|
+
if (resource_type) {
|
|
94
|
+
requests = requests.filter((r) => r.resourceType === resource_type);
|
|
95
|
+
}
|
|
96
|
+
if (status_min !== undefined) {
|
|
97
|
+
requests = requests.filter((r) => r.status >= status_min);
|
|
98
|
+
}
|
|
99
|
+
logger.info("Retrieving network requests", {
|
|
100
|
+
total: deps.pageManager.getNetworkRequests().length,
|
|
101
|
+
filtered: requests.length,
|
|
102
|
+
url_pattern,
|
|
103
|
+
resource_type,
|
|
104
|
+
status_min,
|
|
105
|
+
clear,
|
|
106
|
+
});
|
|
107
|
+
if (clear) {
|
|
108
|
+
deps.pageManager.clearNetworkRequests();
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
content: [
|
|
112
|
+
{
|
|
113
|
+
type: "text",
|
|
114
|
+
text: JSON.stringify({
|
|
115
|
+
requests,
|
|
116
|
+
count: requests.length,
|
|
117
|
+
cleared: clear ?? false,
|
|
118
|
+
}),
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
return handleToolError(error);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
return tools;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=monitoring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monitoring.js","sourceRoot":"","sources":["../../src/tools/monitoring.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { RegisteredTool } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
3
|
import type { ToolDependencies } from "./tool-helpers.js";
|
|
3
|
-
export declare function registerNavigationTools(server: McpServer, deps: ToolDependencies):
|
|
4
|
+
export declare function registerNavigationTools(server: McpServer, deps: ToolDependencies): Record<string, RegisteredTool>;
|
|
4
5
|
//# sourceMappingURL=navigation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAc1D,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,gBAAgB,GACrB,
|
|
1
|
+
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAIzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAc1D,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAoMhC"}
|
package/dist/tools/navigation.js
CHANGED
|
@@ -7,7 +7,8 @@ const detailSchema = z
|
|
|
7
7
|
.optional()
|
|
8
8
|
.describe('"minimal" (default), "summary" (includes content context), "full" (includes all text content)');
|
|
9
9
|
export function registerNavigationTools(server, deps) {
|
|
10
|
-
|
|
10
|
+
const tools = {};
|
|
11
|
+
tools["charlotte:navigate"] = server.registerTool("charlotte:navigate", {
|
|
11
12
|
description: "Load a URL in the active page. Returns page representation after navigation. Default minimal detail includes landmarks, headings, and interactive element counts — use charlotte:find to locate specific elements, or pass detail: 'summary' to get the full element list.",
|
|
12
13
|
inputSchema: {
|
|
13
14
|
url: z.string().describe("URL to navigate to"),
|
|
@@ -60,7 +61,7 @@ export function registerNavigationTools(server, deps) {
|
|
|
60
61
|
return handleToolError(error);
|
|
61
62
|
}
|
|
62
63
|
});
|
|
63
|
-
server.registerTool("charlotte:back", {
|
|
64
|
+
tools["charlotte:back"] = server.registerTool("charlotte:back", {
|
|
64
65
|
description: "Navigate back in browser history. Returns page representation after navigation.",
|
|
65
66
|
inputSchema: {
|
|
66
67
|
detail: detailSchema,
|
|
@@ -85,7 +86,7 @@ export function registerNavigationTools(server, deps) {
|
|
|
85
86
|
return handleToolError(error);
|
|
86
87
|
}
|
|
87
88
|
});
|
|
88
|
-
server.registerTool("charlotte:forward", {
|
|
89
|
+
tools["charlotte:forward"] = server.registerTool("charlotte:forward", {
|
|
89
90
|
description: "Navigate forward in browser history. Returns page representation after navigation.",
|
|
90
91
|
inputSchema: {
|
|
91
92
|
detail: detailSchema,
|
|
@@ -110,7 +111,7 @@ export function registerNavigationTools(server, deps) {
|
|
|
110
111
|
return handleToolError(error);
|
|
111
112
|
}
|
|
112
113
|
});
|
|
113
|
-
server.registerTool("charlotte:reload", {
|
|
114
|
+
tools["charlotte:reload"] = server.registerTool("charlotte:reload", {
|
|
114
115
|
description: "Reload the current page. Returns page representation after reload.",
|
|
115
116
|
inputSchema: {
|
|
116
117
|
hard: z
|
|
@@ -146,5 +147,6 @@ export function registerNavigationTools(server, deps) {
|
|
|
146
147
|
return handleToolError(error);
|
|
147
148
|
}
|
|
148
149
|
});
|
|
150
|
+
return tools;
|
|
149
151
|
}
|
|
150
152
|
//# sourceMappingURL=navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tools/navigation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
2
|
import type { ToolDependencies } from "./tool-helpers.js";
|
|
3
|
-
|
|
3
|
+
import type { RegisteredTool } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
4
|
+
export declare function registerObservationTools(server: McpServer, deps: ToolDependencies): Record<string, RegisteredTool>;
|
|
4
5
|
//# sourceMappingURL=observation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../../src/tools/observation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"observation.d.ts","sourceRoot":"","sources":["../../src/tools/observation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAK1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAmI9E,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAmiBhC"}
|
|
@@ -3,6 +3,79 @@ import { logger } from "../utils/logger.js";
|
|
|
3
3
|
import { CharlotteError, CharlotteErrorCode } from "../types/errors.js";
|
|
4
4
|
import { diffRepresentations } from "../state/differ.js";
|
|
5
5
|
import { renderActivePage, resolveElement, formatPageResponse, formatElementsResponse, handleToolError, } from "./tool-helpers.js";
|
|
6
|
+
/**
|
|
7
|
+
* Query the DOM by CSS selector and register matched elements with
|
|
8
|
+
* the ElementIdGenerator so their IDs work with interaction tools.
|
|
9
|
+
*/
|
|
10
|
+
async function findBySelector(page, deps, selector) {
|
|
11
|
+
const cdpSession = await page.createCDPSession();
|
|
12
|
+
try {
|
|
13
|
+
// Get the document root
|
|
14
|
+
const { root } = await cdpSession.send("DOM.getDocument", { depth: 0 });
|
|
15
|
+
// Query all matching nodes
|
|
16
|
+
const { nodeIds } = await cdpSession.send("DOM.querySelectorAll", {
|
|
17
|
+
nodeId: root.nodeId,
|
|
18
|
+
selector,
|
|
19
|
+
});
|
|
20
|
+
const results = [];
|
|
21
|
+
for (const nodeId of nodeIds) {
|
|
22
|
+
try {
|
|
23
|
+
// Get node details including backendNodeId
|
|
24
|
+
const { node } = await cdpSession.send("DOM.describeNode", { nodeId });
|
|
25
|
+
const backendNodeId = node.backendNodeId;
|
|
26
|
+
const tag = node.nodeName.toLowerCase();
|
|
27
|
+
// Get text content via Runtime
|
|
28
|
+
const { object } = await cdpSession.send("DOM.resolveNode", { nodeId });
|
|
29
|
+
let textContent = "";
|
|
30
|
+
if (object?.objectId) {
|
|
31
|
+
const textResult = await cdpSession.send("Runtime.callFunctionOn", {
|
|
32
|
+
objectId: object.objectId,
|
|
33
|
+
functionDeclaration: `function() { return (this.textContent || '').trim().substring(0, 100); }`,
|
|
34
|
+
returnByValue: true,
|
|
35
|
+
});
|
|
36
|
+
textContent = textResult.result?.value ?? "";
|
|
37
|
+
}
|
|
38
|
+
// Get bounds via box model
|
|
39
|
+
let bounds = null;
|
|
40
|
+
try {
|
|
41
|
+
const { model } = await cdpSession.send("DOM.getBoxModel", { backendNodeId });
|
|
42
|
+
if (model) {
|
|
43
|
+
const contentQuad = model.content;
|
|
44
|
+
const minX = Math.min(contentQuad[0], contentQuad[2], contentQuad[4], contentQuad[6]);
|
|
45
|
+
const minY = Math.min(contentQuad[1], contentQuad[3], contentQuad[5], contentQuad[7]);
|
|
46
|
+
const maxX = Math.max(contentQuad[0], contentQuad[2], contentQuad[4], contentQuad[6]);
|
|
47
|
+
const maxY = Math.max(contentQuad[1], contentQuad[3], contentQuad[5], contentQuad[7]);
|
|
48
|
+
bounds = { x: minX, y: minY, w: maxX - minX, h: maxY - minY };
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Element may be hidden or zero-sized — leave bounds as null
|
|
53
|
+
}
|
|
54
|
+
// Register with ElementIdGenerator so the ID works with click, hover, drag, etc.
|
|
55
|
+
const elementId = deps.elementIdGenerator.generateId("dom_element", tag, textContent.substring(0, 50), {
|
|
56
|
+
nearestLandmarkRole: null,
|
|
57
|
+
nearestLandmarkLabel: null,
|
|
58
|
+
nearestLabelledContainer: null,
|
|
59
|
+
siblingIndex: results.length,
|
|
60
|
+
}, backendNodeId);
|
|
61
|
+
results.push({
|
|
62
|
+
id: elementId,
|
|
63
|
+
tag,
|
|
64
|
+
text: textContent,
|
|
65
|
+
bounds,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
// Skip nodes that can't be described (e.g. pseudo-elements)
|
|
70
|
+
continue;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
return results;
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
await cdpSession.detach();
|
|
77
|
+
}
|
|
78
|
+
}
|
|
6
79
|
/**
|
|
7
80
|
* Compute Euclidean distance between the centers of two bounding boxes.
|
|
8
81
|
*/
|
|
@@ -24,7 +97,8 @@ function isContainedWithin(boundsInner, boundsOuter) {
|
|
|
24
97
|
}
|
|
25
98
|
const NEAR_THRESHOLD_PX = 200;
|
|
26
99
|
export function registerObservationTools(server, deps) {
|
|
27
|
-
|
|
100
|
+
const tools = {};
|
|
101
|
+
tools["charlotte:observe"] = server.registerTool("charlotte:observe", {
|
|
28
102
|
description: 'Get current page state without performing any action. Use detail levels to control verbosity: "minimal" for landmarks, headings, and interactive element counts by landmark (use charlotte:find to get specific elements with actionable IDs, or observe({ detail: "summary" }) to see all elements), "summary" (default) for content summaries and full element list, "full" for all text content.',
|
|
29
103
|
inputSchema: {
|
|
30
104
|
detail: z
|
|
@@ -57,8 +131,8 @@ export function registerObservationTools(server, deps) {
|
|
|
57
131
|
return handleToolError(error);
|
|
58
132
|
}
|
|
59
133
|
});
|
|
60
|
-
server.registerTool("charlotte:find", {
|
|
61
|
-
description: "Search for elements matching criteria. Filters interactive elements by text, role, type, or spatial proximity.",
|
|
134
|
+
tools["charlotte:find"] = server.registerTool("charlotte:find", {
|
|
135
|
+
description: "Search for elements matching criteria. Filters interactive elements by text, role, type, or spatial proximity. Use the selector parameter to find DOM elements by CSS selector — this reaches elements not in the accessibility tree (custom widgets, non-semantic divs). Selector results return Charlotte element IDs usable with click, hover, drag, etc.",
|
|
62
136
|
inputSchema: {
|
|
63
137
|
text: z
|
|
64
138
|
.string()
|
|
@@ -77,11 +151,28 @@ export function registerObservationTools(server, deps) {
|
|
|
77
151
|
.string()
|
|
78
152
|
.optional()
|
|
79
153
|
.describe("Element ID — find elements geometrically contained within this one's bounds"),
|
|
154
|
+
selector: z
|
|
155
|
+
.string()
|
|
156
|
+
.optional()
|
|
157
|
+
.describe("CSS selector to query the DOM directly. Returns elements that may not be in the accessibility tree. Results include Charlotte element IDs for use with interaction tools."),
|
|
80
158
|
},
|
|
81
|
-
}, async ({ text, role, type, near, within }) => {
|
|
159
|
+
}, async ({ text, role, type, near, within, selector }) => {
|
|
82
160
|
try {
|
|
83
161
|
await deps.browserManager.ensureConnected();
|
|
84
|
-
logger.info("Finding elements", { text, role, type, near, within });
|
|
162
|
+
logger.info("Finding elements", { text, role, type, near, within, selector });
|
|
163
|
+
// CSS selector mode: query DOM directly, bypass accessibility tree
|
|
164
|
+
if (selector) {
|
|
165
|
+
const page = deps.pageManager.getActivePage();
|
|
166
|
+
const domElements = await findBySelector(page, deps, selector);
|
|
167
|
+
return {
|
|
168
|
+
content: [
|
|
169
|
+
{
|
|
170
|
+
type: "text",
|
|
171
|
+
text: JSON.stringify(domElements),
|
|
172
|
+
},
|
|
173
|
+
],
|
|
174
|
+
};
|
|
175
|
+
}
|
|
85
176
|
// Render the page to get current elements
|
|
86
177
|
const representation = await renderActivePage(deps, { detail: "minimal" });
|
|
87
178
|
let matchingElements = [...representation.interactive];
|
|
@@ -160,7 +251,7 @@ export function registerObservationTools(server, deps) {
|
|
|
160
251
|
return handleToolError(error);
|
|
161
252
|
}
|
|
162
253
|
});
|
|
163
|
-
server.registerTool("charlotte:screenshot", {
|
|
254
|
+
tools["charlotte:screenshot"] = server.registerTool("charlotte:screenshot", {
|
|
164
255
|
description: "Capture a visual screenshot. Fallback for when structured representation isn't sufficient (complex visualizations, canvas elements, images). Use save: true to persist as a file artifact that can be referenced later.",
|
|
165
256
|
inputSchema: {
|
|
166
257
|
selector: z
|
|
@@ -250,7 +341,7 @@ export function registerObservationTools(server, deps) {
|
|
|
250
341
|
}
|
|
251
342
|
});
|
|
252
343
|
// ─── charlotte:screenshots ───
|
|
253
|
-
server.registerTool("charlotte:screenshots", {
|
|
344
|
+
tools["charlotte:screenshots"] = server.registerTool("charlotte:screenshots", {
|
|
254
345
|
description: "List all saved screenshot artifacts. Returns metadata for each saved screenshot including ID, filename, page URL, and timestamp.",
|
|
255
346
|
inputSchema: {},
|
|
256
347
|
}, async () => {
|
|
@@ -283,7 +374,7 @@ export function registerObservationTools(server, deps) {
|
|
|
283
374
|
}
|
|
284
375
|
});
|
|
285
376
|
// ─── charlotte:screenshot_get ───
|
|
286
|
-
server.registerTool("charlotte:screenshot_get", {
|
|
377
|
+
tools["charlotte:screenshot_get"] = server.registerTool("charlotte:screenshot_get", {
|
|
287
378
|
description: "Retrieve a previously saved screenshot artifact by its ID. Returns the image data and metadata.",
|
|
288
379
|
inputSchema: {
|
|
289
380
|
id: z.string().describe("Screenshot artifact ID (e.g. ss-20260224103000-a1b2c3)"),
|
|
@@ -329,7 +420,7 @@ export function registerObservationTools(server, deps) {
|
|
|
329
420
|
}
|
|
330
421
|
});
|
|
331
422
|
// ─── charlotte:screenshot_delete ───
|
|
332
|
-
server.registerTool("charlotte:screenshot_delete", {
|
|
423
|
+
tools["charlotte:screenshot_delete"] = server.registerTool("charlotte:screenshot_delete", {
|
|
333
424
|
description: "Delete a saved screenshot artifact by its ID. Removes the file from disk.",
|
|
334
425
|
inputSchema: {
|
|
335
426
|
id: z.string().describe("Screenshot artifact ID to delete"),
|
|
@@ -358,7 +449,7 @@ export function registerObservationTools(server, deps) {
|
|
|
358
449
|
}
|
|
359
450
|
});
|
|
360
451
|
// ─── charlotte:diff ───
|
|
361
|
-
server.registerTool("charlotte:diff", {
|
|
452
|
+
tools["charlotte:diff"] = server.registerTool("charlotte:diff", {
|
|
362
453
|
description: "Compare current page state to a previous snapshot. Returns structural diff showing added, removed, moved, and changed elements.",
|
|
363
454
|
inputSchema: {
|
|
364
455
|
snapshot_id: z
|
|
@@ -411,5 +502,6 @@ export function registerObservationTools(server, deps) {
|
|
|
411
502
|
return handleToolError(error);
|
|
412
503
|
}
|
|
413
504
|
});
|
|
505
|
+
return tools;
|
|
414
506
|
}
|
|
415
507
|
//# sourceMappingURL=observation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observation.js","sourceRoot":"","sources":["../../src/tools/observation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"observation.js","sourceRoot":"","sources":["../../src/tools/observation.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/session.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { RegisteredTool } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
3
|
import type { ToolDependencies } from "./tool-helpers.js";
|
|
3
|
-
export declare function registerSessionTools(server: McpServer, deps: ToolDependencies):
|
|
4
|
+
export declare function registerSessionTools(server: McpServer, deps: ToolDependencies): Record<string, RegisteredTool>;
|
|
4
5
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAoB1D,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,gBAAgB,GACrB,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAoB1D,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,gBAAgB,GACrB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAgkBhC"}
|
package/dist/tools/session.js
CHANGED
|
@@ -14,8 +14,9 @@ const CookieSchema = z.object({
|
|
|
14
14
|
.describe("SameSite attribute"),
|
|
15
15
|
});
|
|
16
16
|
export function registerSessionTools(server, deps) {
|
|
17
|
+
const tools = {};
|
|
17
18
|
// ─── charlotte:get_cookies ───
|
|
18
|
-
server.registerTool("charlotte:get_cookies", {
|
|
19
|
+
tools["charlotte:get_cookies"] = server.registerTool("charlotte:get_cookies", {
|
|
19
20
|
description: "Get cookies for the active page. Optionally filter by URL(s). Returns cookie name, value, domain, path, and flags.",
|
|
20
21
|
inputSchema: {
|
|
21
22
|
urls: z
|
|
@@ -57,7 +58,7 @@ export function registerSessionTools(server, deps) {
|
|
|
57
58
|
}
|
|
58
59
|
});
|
|
59
60
|
// ─── charlotte:clear_cookies ───
|
|
60
|
-
server.registerTool("charlotte:clear_cookies", {
|
|
61
|
+
tools["charlotte:clear_cookies"] = server.registerTool("charlotte:clear_cookies", {
|
|
61
62
|
description: "Clear cookies from the browser. Optionally filter by name(s) to remove specific cookies. Without a filter, clears all cookies for the current page.",
|
|
62
63
|
inputSchema: {
|
|
63
64
|
names: z
|
|
@@ -93,7 +94,7 @@ export function registerSessionTools(server, deps) {
|
|
|
93
94
|
}
|
|
94
95
|
});
|
|
95
96
|
// ─── charlotte:set_cookies ───
|
|
96
|
-
server.registerTool("charlotte:set_cookies", {
|
|
97
|
+
tools["charlotte:set_cookies"] = server.registerTool("charlotte:set_cookies", {
|
|
97
98
|
description: "Set cookies on the active page. Cookies persist for subsequent navigations within matching domains.",
|
|
98
99
|
inputSchema: {
|
|
99
100
|
cookies: z
|
|
@@ -137,7 +138,7 @@ export function registerSessionTools(server, deps) {
|
|
|
137
138
|
}
|
|
138
139
|
});
|
|
139
140
|
// ─── charlotte:set_headers ───
|
|
140
|
-
server.registerTool("charlotte:set_headers", {
|
|
141
|
+
tools["charlotte:set_headers"] = server.registerTool("charlotte:set_headers", {
|
|
141
142
|
description: "Set extra HTTP headers for subsequent requests. Headers persist for all navigations on the active page.",
|
|
142
143
|
inputSchema: {
|
|
143
144
|
headers: z
|
|
@@ -169,7 +170,7 @@ export function registerSessionTools(server, deps) {
|
|
|
169
170
|
}
|
|
170
171
|
});
|
|
171
172
|
// ─── charlotte:configure ───
|
|
172
|
-
server.registerTool("charlotte:configure", {
|
|
173
|
+
tools["charlotte:configure"] = server.registerTool("charlotte:configure", {
|
|
173
174
|
description: "Configure Charlotte runtime settings. Changes take effect immediately.",
|
|
174
175
|
inputSchema: {
|
|
175
176
|
snapshot_depth: z
|
|
@@ -228,7 +229,7 @@ export function registerSessionTools(server, deps) {
|
|
|
228
229
|
}
|
|
229
230
|
});
|
|
230
231
|
// ─── charlotte:tabs ───
|
|
231
|
-
server.registerTool("charlotte:tabs", {
|
|
232
|
+
tools["charlotte:tabs"] = server.registerTool("charlotte:tabs", {
|
|
232
233
|
description: "List all open browser tabs with their URLs, titles, and active status.",
|
|
233
234
|
inputSchema: {},
|
|
234
235
|
}, async () => {
|
|
@@ -249,7 +250,7 @@ export function registerSessionTools(server, deps) {
|
|
|
249
250
|
}
|
|
250
251
|
});
|
|
251
252
|
// ─── charlotte:tab_open ───
|
|
252
|
-
server.registerTool("charlotte:tab_open", {
|
|
253
|
+
tools["charlotte:tab_open"] = server.registerTool("charlotte:tab_open", {
|
|
253
254
|
description: "Open a new browser tab. Optionally navigate to a URL. The new tab becomes the active tab.",
|
|
254
255
|
inputSchema: {
|
|
255
256
|
url: z
|
|
@@ -282,7 +283,7 @@ export function registerSessionTools(server, deps) {
|
|
|
282
283
|
}
|
|
283
284
|
});
|
|
284
285
|
// ─── charlotte:tab_switch ───
|
|
285
|
-
server.registerTool("charlotte:tab_switch", {
|
|
286
|
+
tools["charlotte:tab_switch"] = server.registerTool("charlotte:tab_switch", {
|
|
286
287
|
description: "Switch to a different browser tab by its tab ID. Returns the page representation of the activated tab.",
|
|
287
288
|
inputSchema: {
|
|
288
289
|
tab_id: z.string().describe("ID of the tab to switch to"),
|
|
@@ -302,7 +303,7 @@ export function registerSessionTools(server, deps) {
|
|
|
302
303
|
}
|
|
303
304
|
});
|
|
304
305
|
// ─── charlotte:tab_close ───
|
|
305
|
-
server.registerTool("charlotte:tab_close", {
|
|
306
|
+
tools["charlotte:tab_close"] = server.registerTool("charlotte:tab_close", {
|
|
306
307
|
description: "Close a browser tab by its ID. If the closed tab was active, switches to the first remaining tab.",
|
|
307
308
|
inputSchema: {
|
|
308
309
|
tab_id: z.string().describe("ID of the tab to close"),
|
|
@@ -336,7 +337,7 @@ export function registerSessionTools(server, deps) {
|
|
|
336
337
|
tablet: { width: 768, height: 1024 },
|
|
337
338
|
desktop: { width: 1280, height: 720 },
|
|
338
339
|
};
|
|
339
|
-
server.registerTool("charlotte:viewport", {
|
|
340
|
+
tools["charlotte:viewport"] = server.registerTool("charlotte:viewport", {
|
|
340
341
|
description: "Change the browser viewport dimensions. Use a device preset or specify custom width/height. Returns page representation at the new viewport size.",
|
|
341
342
|
inputSchema: {
|
|
342
343
|
width: z
|
|
@@ -416,7 +417,7 @@ export function registerSessionTools(server, deps) {
|
|
|
416
417
|
latency: 0,
|
|
417
418
|
},
|
|
418
419
|
};
|
|
419
|
-
server.registerTool("charlotte:network", {
|
|
420
|
+
tools["charlotte:network"] = server.registerTool("charlotte:network", {
|
|
420
421
|
description: "Configure network conditions for the active page. Set throttling presets, block URL patterns, or enable request logging.",
|
|
421
422
|
inputSchema: {
|
|
422
423
|
throttle: z
|
|
@@ -463,5 +464,6 @@ export function registerSessionTools(server, deps) {
|
|
|
463
464
|
return handleToolError(error);
|
|
464
465
|
}
|
|
465
466
|
});
|
|
467
|
+
return tools;
|
|
466
468
|
}
|
|
467
469
|
//# sourceMappingURL=session.js.map
|