@everydaydevopsio/pilot 0.6.2 → 0.7.0
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/AGENTS.md +11 -0
- package/CHANGELOG.md +45 -0
- package/README.md +105 -11
- package/dist/browser/browser-manager.d.ts +7 -1
- package/dist/browser/browser-manager.d.ts.map +1 -1
- package/dist/browser/browser-manager.js +196 -40
- package/dist/browser/browser-manager.js.map +1 -1
- package/dist/browser/chrome-launcher.d.ts +13 -2
- package/dist/browser/chrome-launcher.d.ts.map +1 -1
- package/dist/browser/chrome-launcher.js +33 -4
- package/dist/browser/chrome-launcher.js.map +1 -1
- package/dist/browser/driver/capabilities.d.ts +22 -0
- package/dist/browser/driver/capabilities.d.ts.map +1 -0
- package/dist/browser/driver/capabilities.js +70 -0
- package/dist/browser/driver/capabilities.js.map +1 -0
- package/dist/browser/driver/cdp-driver.d.ts +77 -0
- package/dist/browser/driver/cdp-driver.d.ts.map +1 -0
- package/dist/browser/driver/cdp-driver.js +190 -0
- package/dist/browser/driver/cdp-driver.js.map +1 -0
- package/dist/browser/driver/factory.d.ts +10 -0
- package/dist/browser/driver/factory.d.ts.map +1 -0
- package/dist/browser/driver/factory.js +23 -0
- package/dist/browser/driver/factory.js.map +1 -0
- package/dist/browser/driver/index.d.ts +6 -0
- package/dist/browser/driver/index.d.ts.map +1 -0
- package/dist/browser/driver/index.js +5 -0
- package/dist/browser/driver/index.js.map +1 -0
- package/dist/browser/driver/types.d.ts +106 -0
- package/dist/browser/driver/types.d.ts.map +1 -0
- package/dist/browser/driver/types.js +25 -0
- package/dist/browser/driver/types.js.map +1 -0
- package/dist/browser/sessions.d.ts +49 -0
- package/dist/browser/sessions.d.ts.map +1 -0
- package/dist/browser/sessions.js +249 -0
- package/dist/browser/sessions.js.map +1 -0
- package/dist/browser/types.d.ts +13 -0
- package/dist/browser/types.d.ts.map +1 -1
- package/dist/cli/skill-template.d.ts +1 -1
- package/dist/cli/skill-template.d.ts.map +1 -1
- package/dist/cli/skill-template.js +1 -1
- package/dist/cli/skill-template.js.map +1 -1
- package/dist/commands/connect.d.ts +2 -2
- package/dist/commands/connect.d.ts.map +1 -1
- package/dist/commands/connect.js +2 -2
- package/dist/commands/connect.js.map +1 -1
- package/dist/mcp/server.d.ts +9 -15
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +32 -74
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/browser.d.ts +2 -3
- package/dist/mcp/tools/browser.d.ts.map +1 -1
- package/dist/mcp/tools/browser.js +85 -70
- package/dist/mcp/tools/browser.js.map +1 -1
- package/dist/mcp/tools/connect.d.ts +2 -3
- package/dist/mcp/tools/connect.d.ts.map +1 -1
- package/dist/mcp/tools/connect.js +9 -9
- package/dist/mcp/tools/connect.js.map +1 -1
- package/dist/mcp/tools/driver-context.d.ts +14 -0
- package/dist/mcp/tools/driver-context.d.ts.map +1 -0
- package/dist/mcp/tools/driver-context.js +43 -0
- package/dist/mcp/tools/driver-context.js.map +1 -0
- package/dist/mcp/tools/files.d.ts.map +1 -1
- package/dist/mcp/tools/files.js +5 -15
- package/dist/mcp/tools/files.js.map +1 -1
- package/dist/mcp/tools/interaction.d.ts.map +1 -1
- package/dist/mcp/tools/interaction.js +7 -26
- package/dist/mcp/tools/interaction.js.map +1 -1
- package/dist/mcp/tools/names.d.ts +1 -1
- package/dist/mcp/tools/names.d.ts.map +1 -1
- package/dist/mcp/tools/names.js +2 -0
- package/dist/mcp/tools/names.js.map +1 -1
- package/dist/mcp/tools/network.d.ts.map +1 -1
- package/dist/mcp/tools/network.js +3 -11
- package/dist/mcp/tools/network.js.map +1 -1
- package/dist/mcp/tools/performance.d.ts.map +1 -1
- package/dist/mcp/tools/performance.js +2 -12
- package/dist/mcp/tools/performance.js.map +1 -1
- package/dist/mcp/tools/snapshot.d.ts.map +1 -1
- package/dist/mcp/tools/snapshot.js +3 -14
- package/dist/mcp/tools/snapshot.js.map +1 -1
- package/dist/mcp/tools/styles.d.ts.map +1 -1
- package/dist/mcp/tools/styles.js +2 -11
- package/dist/mcp/tools/styles.js.map +1 -1
- package/package.json +1 -1
- package/skills/pilot/SKILL.md +9 -0
- package/src/browser/browser-manager.ts +248 -41
- package/src/browser/chrome-launcher.ts +40 -4
- package/src/browser/driver/capabilities.ts +88 -0
- package/src/browser/driver/cdp-driver.ts +260 -0
- package/src/browser/driver/factory.ts +33 -0
- package/src/browser/driver/index.ts +22 -0
- package/src/browser/driver/types.ts +156 -0
- package/src/browser/sessions.ts +299 -0
- package/src/browser/types.ts +14 -0
- package/src/cli/skill-template.ts +1 -1
- package/src/commands/connect.ts +3 -3
- package/src/mcp/server.ts +48 -91
- package/src/mcp/tools/browser.ts +105 -87
- package/src/mcp/tools/connect.ts +10 -11
- package/src/mcp/tools/driver-context.ts +56 -0
- package/src/mcp/tools/files.ts +5 -16
- package/src/mcp/tools/interaction.ts +7 -27
- package/src/mcp/tools/names.ts +2 -0
- package/src/mcp/tools/network.ts +2 -12
- package/src/mcp/tools/performance.ts +2 -13
- package/src/mcp/tools/snapshot.ts +3 -15
- package/src/mcp/tools/styles.ts +2 -12
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import type { BrowserContext } from '../server.js';
|
|
4
|
-
import {
|
|
4
|
+
import { requireDriver } from './driver-context.js';
|
|
5
5
|
|
|
6
6
|
const performanceShape = {
|
|
7
7
|
action: z
|
|
@@ -11,14 +11,6 @@ const performanceShape = {
|
|
|
11
11
|
)
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
-
function requireContext(context: BrowserContext) {
|
|
15
|
-
const manager = context.manager;
|
|
16
|
-
if (!manager || !manager.isConnected()) {
|
|
17
|
-
throw new Error('Browser not started. Call browser_start first.');
|
|
18
|
-
}
|
|
19
|
-
return { client: manager.getClient()! };
|
|
20
|
-
}
|
|
21
|
-
|
|
22
14
|
export function registerPerformanceTools(
|
|
23
15
|
server: McpServer,
|
|
24
16
|
context: BrowserContext
|
|
@@ -28,10 +20,7 @@ export function registerPerformanceTools(
|
|
|
28
20
|
'Inspect page performance. Actions: "start" begins tracing (call before navigating), "stop" ends collection, "analyze" returns an agent-friendly summary with navigation timing, long tasks, slow requests, large resources, and JS execution time.',
|
|
29
21
|
performanceShape,
|
|
30
22
|
async ({ action }) => {
|
|
31
|
-
const
|
|
32
|
-
const result = await executePerformance(client, context.traceState, {
|
|
33
|
-
action
|
|
34
|
-
});
|
|
23
|
+
const result = await requireDriver(context).performance({ action });
|
|
35
24
|
return {
|
|
36
25
|
content: [{ type: 'text' as const, text: result.text }]
|
|
37
26
|
};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import type { BrowserContext } from '../server.js';
|
|
4
|
-
import {
|
|
5
|
-
import { executeFind } from '../../commands/find.js';
|
|
4
|
+
import { requireDriver } from './driver-context.js';
|
|
6
5
|
|
|
7
6
|
const findShape = {
|
|
8
7
|
role: z
|
|
@@ -23,15 +22,6 @@ const findShape = {
|
|
|
23
22
|
)
|
|
24
23
|
};
|
|
25
24
|
|
|
26
|
-
function requireContext(context: BrowserContext) {
|
|
27
|
-
const manager = context.manager;
|
|
28
|
-
if (!manager || !manager.isConnected()) {
|
|
29
|
-
throw new Error('Browser not started. Call browser_start first.');
|
|
30
|
-
}
|
|
31
|
-
const client = manager.getClient()!;
|
|
32
|
-
return { client, refMap: context.elementRefMap };
|
|
33
|
-
}
|
|
34
|
-
|
|
35
25
|
export function registerSnapshotTools(
|
|
36
26
|
server: McpServer,
|
|
37
27
|
context: BrowserContext
|
|
@@ -41,8 +31,7 @@ export function registerSnapshotTools(
|
|
|
41
31
|
'Capture a structured accessibility snapshot of the current page. Returns interactive and meaningful elements with short refs (e1, e2, ...) that can be used with browser_click and other interaction tools instead of CSS selectors.',
|
|
42
32
|
{},
|
|
43
33
|
async () => {
|
|
44
|
-
const
|
|
45
|
-
const result = await executeSnapshot(client, refMap);
|
|
34
|
+
const result = await requireDriver(context).snapshot();
|
|
46
35
|
return {
|
|
47
36
|
content: [{ type: 'text' as const, text: result.text }]
|
|
48
37
|
};
|
|
@@ -54,8 +43,7 @@ export function registerSnapshotTools(
|
|
|
54
43
|
'Find elements in the current page matching a query. Takes a new snapshot and filters by role, name, or text. Returns matching elements with refs.',
|
|
55
44
|
findShape,
|
|
56
45
|
async ({ role, name, text }) => {
|
|
57
|
-
const {
|
|
58
|
-
const result = await executeFind(client, refMap, { role, name, text });
|
|
46
|
+
const result = await requireDriver(context).find({ role, name, text });
|
|
59
47
|
return {
|
|
60
48
|
content: [{ type: 'text' as const, text: result.text }]
|
|
61
49
|
};
|
package/src/mcp/tools/styles.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
3
3
|
import type { BrowserContext } from '../server.js';
|
|
4
|
-
import {
|
|
4
|
+
import { requireDriver } from './driver-context.js';
|
|
5
5
|
|
|
6
6
|
const stylesShape = {
|
|
7
7
|
ref: z.string().describe('Element ref from browser_snapshot (e.g. "e3")'),
|
|
@@ -13,15 +13,6 @@ const stylesShape = {
|
|
|
13
13
|
)
|
|
14
14
|
};
|
|
15
15
|
|
|
16
|
-
function requireContext(context: BrowserContext) {
|
|
17
|
-
const manager = context.manager;
|
|
18
|
-
if (!manager || !manager.isConnected()) {
|
|
19
|
-
throw new Error('Browser not started. Call browser_start first.');
|
|
20
|
-
}
|
|
21
|
-
const client = manager.getClient()!;
|
|
22
|
-
return { client, refMap: context.elementRefMap };
|
|
23
|
-
}
|
|
24
|
-
|
|
25
16
|
export function registerStylesTools(
|
|
26
17
|
server: McpServer,
|
|
27
18
|
context: BrowserContext
|
|
@@ -31,8 +22,7 @@ export function registerStylesTools(
|
|
|
31
22
|
'Inspect computed styles, matched CSS rules, and box model for an element by ref. Helps diagnose visibility issues (display:none, opacity:0), layout problems (margins, positioning, overflow), and identify which CSS rule is responsible for a property. Use browser_snapshot first to get refs.',
|
|
32
23
|
stylesShape,
|
|
33
24
|
async ({ ref, properties }) => {
|
|
34
|
-
const {
|
|
35
|
-
const result = await executeStyles(client, refMap, { ref, properties });
|
|
25
|
+
const result = await requireDriver(context).styles({ ref, properties });
|
|
36
26
|
return {
|
|
37
27
|
content: [{ type: 'text' as const, text: result.text }]
|
|
38
28
|
};
|