dev3000 0.0.145 → 0.0.146
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/dist/dev-environment.d.ts.map +1 -1
- package/dist/dev-environment.js +94 -0
- package/dist/dev-environment.js.map +1 -1
- package/dist/utils/agent-browser.d.ts +120 -0
- package/dist/utils/agent-browser.d.ts.map +1 -0
- package/dist/utils/agent-browser.js +387 -0
- package/dist/utils/agent-browser.js.map +1 -0
- package/dist/utils/skill-installer.d.ts +1 -0
- package/dist/utils/skill-installer.d.ts.map +1 -1
- package/dist/utils/skill-installer.js +5 -0
- package/dist/utils/skill-installer.js.map +1 -1
- package/mcp-server/.next/BUILD_ID +1 -1
- package/mcp-server/.next/build-manifest.json +2 -2
- package/mcp-server/.next/fallback-build-manifest.json +2 -2
- package/mcp-server/.next/prerender-manifest.json +3 -3
- package/mcp-server/.next/server/app/_global-error/page.js +1 -1
- package/mcp-server/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/mcp-server/.next/server/app/_global-error.html +2 -2
- package/mcp-server/.next/server/app/_global-error.rsc +1 -1
- package/mcp-server/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/mcp-server/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/mcp-server/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/mcp-server/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/mcp-server/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/mcp-server/.next/server/app/_not-found/page.js +1 -1
- package/mcp-server/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/mcp-server/.next/server/app/_not-found.html +1 -1
- package/mcp-server/.next/server/app/_not-found.rsc +1 -1
- package/mcp-server/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/mcp-server/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/mcp-server/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/mcp-server/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/mcp-server/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/mcp-server/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/mcp-server/.next/server/app/api/jank/[session]/route.js +1 -1
- package/mcp-server/.next/server/app/api/jank/[session]/route.js.nft.json +1 -1
- package/mcp-server/.next/server/app/api/logs/rotate/route.js +1 -1
- package/mcp-server/.next/server/app/api/logs/rotate/route.js.nft.json +1 -1
- package/mcp-server/.next/server/app/api/orchestrator/route.js +1 -1
- package/mcp-server/.next/server/app/api/orchestrator/route.js.nft.json +1 -1
- package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js +1 -1
- package/mcp-server/.next/server/app/api/screenshots/[filename]/route.js.nft.json +1 -1
- package/mcp-server/.next/server/app/api/screenshots/capture/route.js +2 -2
- package/mcp-server/.next/server/app/api/screenshots/capture/route.js.nft.json +1 -1
- package/mcp-server/.next/server/app/api/screenshots/clear/route.js +1 -1
- package/mcp-server/.next/server/app/api/screenshots/clear/route.js.nft.json +1 -1
- package/mcp-server/.next/server/app/api/screenshots/list/route.js +1 -1
- package/mcp-server/.next/server/app/api/screenshots/list/route.js.nft.json +1 -1
- package/mcp-server/.next/server/app/index.html +1 -1
- package/mcp-server/.next/server/app/index.rsc +1 -1
- package/mcp-server/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/mcp-server/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/mcp-server/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/mcp-server/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/mcp-server/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/mcp-server/.next/server/app/logs/page.js +1 -1
- package/mcp-server/.next/server/app/logs/page.js.nft.json +1 -1
- package/mcp-server/.next/server/app/mcp/route.js +4 -4
- package/mcp-server/.next/server/app/mcp/route.js.nft.json +1 -1
- package/mcp-server/.next/server/app/page.js +1 -1
- package/mcp-server/.next/server/app/page.js.nft.json +1 -1
- package/mcp-server/.next/server/app/video/[session]/page.js +1 -1
- package/mcp-server/.next/server/app/video/[session]/page.js.nft.json +1 -1
- package/mcp-server/.next/server/chunks/[externals]__0e1fd2ca._.js +3 -0
- package/mcp-server/.next/server/chunks/[root-of-the-server]__130a5f58._.js +4 -0
- package/mcp-server/.next/server/chunks/{[root-of-the-server]__ee39655c._.js.map → [root-of-the-server]__130a5f58._.js.map} +1 -1
- package/mcp-server/.next/server/chunks/{[root-of-the-server]__af8a6500._.js → [root-of-the-server]__1dca9894._.js} +2 -2
- package/mcp-server/.next/server/chunks/[root-of-the-server]__2f95edf0._.js +3 -3
- package/mcp-server/.next/server/chunks/[root-of-the-server]__2f95edf0._.js.map +1 -1
- package/mcp-server/.next/server/chunks/[root-of-the-server]__444592aa._.js +3 -0
- package/mcp-server/.next/server/chunks/{[root-of-the-server]__69498adb._.js.map → [root-of-the-server]__444592aa._.js.map} +1 -1
- package/mcp-server/.next/server/chunks/{[root-of-the-server]__7ed5139a._.js → [root-of-the-server]__8f84b4cc._.js} +2 -2
- package/mcp-server/.next/server/chunks/{[root-of-the-server]__6c914ee2._.js → [root-of-the-server]__94946101._.js} +2 -2
- package/mcp-server/.next/server/chunks/{[root-of-the-server]__6728fd4b._.js → [root-of-the-server]__9c4c7095._.js} +2 -2
- package/mcp-server/.next/server/chunks/[root-of-the-server]__b71c83ed._.js +4 -0
- package/mcp-server/.next/server/chunks/{[root-of-the-server]__f4213a2f._.js.map → [root-of-the-server]__b71c83ed._.js.map} +1 -1
- package/mcp-server/.next/server/chunks/{[root-of-the-server]__daca64a4._.js → [root-of-the-server]__b86e20b6._.js} +2 -2
- package/mcp-server/.next/server/chunks/{[root-of-the-server]__95098840._.js → [root-of-the-server]__ee139f8a._.js} +2 -2
- package/mcp-server/.next/server/chunks/mcp-server_app_mcp_tools_ts_faf6d7df._.js +26 -25
- package/mcp-server/.next/server/chunks/mcp-server_app_mcp_tools_ts_faf6d7df._.js.map +1 -1
- package/mcp-server/.next/server/chunks/src_utils_agent-browser_ts_cc00e0d8._.js +3 -0
- package/mcp-server/.next/server/chunks/src_utils_agent-browser_ts_cc00e0d8._.js.map +1 -0
- package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__50eb2eba._.js +3 -0
- package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__4b74b898._.js → [root-of-the-server]__f66148e5._.js} +2 -2
- package/mcp-server/.next/server/pages/404.html +1 -1
- package/mcp-server/.next/server/pages/500.html +2 -2
- package/mcp-server/.next/server/server-reference-manifest.js +1 -1
- package/mcp-server/.next/server/server-reference-manifest.json +1 -1
- package/mcp-server/app/mcp/route.ts +30 -0
- package/mcp-server/app/mcp/tools.ts +159 -1
- package/mcp-server/start-production.mjs +37 -3
- package/package.json +4 -3
- package/mcp-server/.next/server/chunks/[externals]__eb460e97._.js +0 -3
- package/mcp-server/.next/server/chunks/[root-of-the-server]__69498adb._.js +0 -3
- package/mcp-server/.next/server/chunks/[root-of-the-server]__ee39655c._.js +0 -4
- package/mcp-server/.next/server/chunks/[root-of-the-server]__f4213a2f._.js +0 -4
- package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__163e0fe2._.js +0 -3
- /package/mcp-server/.next/server/chunks/{[externals]__eb460e97._.js.map → [externals]__0e1fd2ca._.js.map} +0 -0
- /package/mcp-server/.next/server/chunks/{[root-of-the-server]__af8a6500._.js.map → [root-of-the-server]__1dca9894._.js.map} +0 -0
- /package/mcp-server/.next/server/chunks/{[root-of-the-server]__7ed5139a._.js.map → [root-of-the-server]__8f84b4cc._.js.map} +0 -0
- /package/mcp-server/.next/server/chunks/{[root-of-the-server]__6c914ee2._.js.map → [root-of-the-server]__94946101._.js.map} +0 -0
- /package/mcp-server/.next/server/chunks/{[root-of-the-server]__6728fd4b._.js.map → [root-of-the-server]__9c4c7095._.js.map} +0 -0
- /package/mcp-server/.next/server/chunks/{[root-of-the-server]__daca64a4._.js.map → [root-of-the-server]__b86e20b6._.js.map} +0 -0
- /package/mcp-server/.next/server/chunks/{[root-of-the-server]__95098840._.js.map → [root-of-the-server]__ee139f8a._.js.map} +0 -0
- /package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__163e0fe2._.js.map → [root-of-the-server]__50eb2eba._.js.map} +0 -0
- /package/mcp-server/.next/server/chunks/ssr/{[root-of-the-server]__4b74b898._.js.map → [root-of-the-server]__f66148e5._.js.map} +0 -0
- /package/mcp-server/.next/static/{l1zs7p9r2plOOCMza5w_P → f8-qsTYpMHe5da6lkWH6m}/_buildManifest.js +0 -0
- /package/mcp-server/.next/static/{l1zs7p9r2plOOCMza5w_P → f8-qsTYpMHe5da6lkWH6m}/_clientMiddlewareManifest.json +0 -0
- /package/mcp-server/.next/static/{l1zs7p9r2plOOCMza5w_P → f8-qsTYpMHe5da6lkWH6m}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wrapper for agent-browser CLI
|
|
3
|
+
*
|
|
4
|
+
* Provides a TypeScript interface to agent-browser commands for browser automation.
|
|
5
|
+
* Uses the CLI approach for reliability and to leverage agent-browser's daemon architecture.
|
|
6
|
+
*/
|
|
7
|
+
export interface AgentBrowserOptions {
|
|
8
|
+
/** Run in headed mode (visible browser window) */
|
|
9
|
+
headed?: boolean;
|
|
10
|
+
/** Connect to existing browser via CDP port */
|
|
11
|
+
cdpPort?: number;
|
|
12
|
+
/** Session name for isolation */
|
|
13
|
+
session?: string;
|
|
14
|
+
/** Timeout in milliseconds */
|
|
15
|
+
timeout?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface SnapshotElement {
|
|
18
|
+
ref: string;
|
|
19
|
+
role: string;
|
|
20
|
+
name?: string;
|
|
21
|
+
text?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface SnapshotResult {
|
|
24
|
+
elements: SnapshotElement[];
|
|
25
|
+
raw: string;
|
|
26
|
+
}
|
|
27
|
+
export interface ScreenshotResult {
|
|
28
|
+
success: boolean;
|
|
29
|
+
path?: string;
|
|
30
|
+
error?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface ActionResult {
|
|
33
|
+
success: boolean;
|
|
34
|
+
output?: string;
|
|
35
|
+
error?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Open a URL in the browser
|
|
39
|
+
*/
|
|
40
|
+
export declare function openUrl(url: string, options?: AgentBrowserOptions): Promise<ActionResult>;
|
|
41
|
+
/**
|
|
42
|
+
* Take a snapshot of the current page (accessibility tree with refs)
|
|
43
|
+
*/
|
|
44
|
+
export declare function snapshot(options?: AgentBrowserOptions & {
|
|
45
|
+
interactive?: boolean;
|
|
46
|
+
compact?: boolean;
|
|
47
|
+
}): Promise<SnapshotResult>;
|
|
48
|
+
/**
|
|
49
|
+
* Click an element by ref or selector
|
|
50
|
+
*/
|
|
51
|
+
export declare function click(target: string, options?: AgentBrowserOptions): Promise<ActionResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Type text into the focused element
|
|
54
|
+
*/
|
|
55
|
+
export declare function type(text: string, options?: AgentBrowserOptions): Promise<ActionResult>;
|
|
56
|
+
/**
|
|
57
|
+
* Fill an input field (by ref or selector)
|
|
58
|
+
*/
|
|
59
|
+
export declare function fill(target: string, value: string, options?: AgentBrowserOptions): Promise<ActionResult>;
|
|
60
|
+
/**
|
|
61
|
+
* Scroll the page
|
|
62
|
+
*/
|
|
63
|
+
export declare function scroll(direction: "up" | "down" | "left" | "right", amount?: number, options?: AgentBrowserOptions): Promise<ActionResult>;
|
|
64
|
+
/**
|
|
65
|
+
* Take a screenshot
|
|
66
|
+
*/
|
|
67
|
+
export declare function screenshot(outputPath: string, options?: AgentBrowserOptions & {
|
|
68
|
+
fullPage?: boolean;
|
|
69
|
+
}): Promise<ScreenshotResult>;
|
|
70
|
+
/**
|
|
71
|
+
* Get console messages from the browser
|
|
72
|
+
*/
|
|
73
|
+
export declare function getConsoleMessages(options?: AgentBrowserOptions): Promise<string[]>;
|
|
74
|
+
/**
|
|
75
|
+
* Get page errors
|
|
76
|
+
*/
|
|
77
|
+
export declare function getErrors(options?: AgentBrowserOptions): Promise<string[]>;
|
|
78
|
+
/**
|
|
79
|
+
* Navigate back
|
|
80
|
+
*/
|
|
81
|
+
export declare function back(options?: AgentBrowserOptions): Promise<ActionResult>;
|
|
82
|
+
/**
|
|
83
|
+
* Navigate forward
|
|
84
|
+
*/
|
|
85
|
+
export declare function forward(options?: AgentBrowserOptions): Promise<ActionResult>;
|
|
86
|
+
/**
|
|
87
|
+
* Reload the page
|
|
88
|
+
*/
|
|
89
|
+
export declare function reload(options?: AgentBrowserOptions): Promise<ActionResult>;
|
|
90
|
+
/**
|
|
91
|
+
* Close the browser
|
|
92
|
+
*/
|
|
93
|
+
export declare function close(options?: AgentBrowserOptions): Promise<ActionResult>;
|
|
94
|
+
/**
|
|
95
|
+
* Get the current URL
|
|
96
|
+
*/
|
|
97
|
+
export declare function getCurrentUrl(options?: AgentBrowserOptions): Promise<string | null>;
|
|
98
|
+
/**
|
|
99
|
+
* Get page title
|
|
100
|
+
*/
|
|
101
|
+
export declare function getTitle(options?: AgentBrowserOptions): Promise<string | null>;
|
|
102
|
+
/**
|
|
103
|
+
* Evaluate JavaScript in the browser
|
|
104
|
+
*/
|
|
105
|
+
export declare function evaluate(expression: string, options?: AgentBrowserOptions): Promise<ActionResult>;
|
|
106
|
+
/**
|
|
107
|
+
* Wait for an element to appear
|
|
108
|
+
*/
|
|
109
|
+
export declare function waitFor(selector: string, options?: AgentBrowserOptions & {
|
|
110
|
+
timeout?: number;
|
|
111
|
+
}): Promise<ActionResult>;
|
|
112
|
+
/**
|
|
113
|
+
* Check if agent-browser is installed and accessible
|
|
114
|
+
*/
|
|
115
|
+
export declare function isAgentBrowserAvailable(): boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Get agent-browser path for debugging
|
|
118
|
+
*/
|
|
119
|
+
export declare function getAgentBrowserBinaryPath(): string;
|
|
120
|
+
//# sourceMappingURL=agent-browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-browser.d.ts","sourceRoot":"","sources":["../../src/utils/agent-browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wrapper for agent-browser CLI
|
|
3
|
+
*
|
|
4
|
+
* Provides a TypeScript interface to agent-browser commands for browser automation.
|
|
5
|
+
* Uses the CLI approach for reliability and to leverage agent-browser's daemon architecture.
|
|
6
|
+
*/
|
|
7
|
+
import { execSync, spawn } from "child_process";
|
|
8
|
+
import { existsSync, mkdirSync } from "fs";
|
|
9
|
+
import { dirname, join } from "path";
|
|
10
|
+
import { fileURLToPath } from "url";
|
|
11
|
+
// Find the agent-browser binary in node_modules
|
|
12
|
+
function getAgentBrowserPath() {
|
|
13
|
+
// Try relative to this module first (for development)
|
|
14
|
+
const currentFile = fileURLToPath(import.meta.url);
|
|
15
|
+
const projectRoot = dirname(dirname(dirname(currentFile)));
|
|
16
|
+
const localPath = join(projectRoot, "node_modules", ".bin", "agent-browser");
|
|
17
|
+
if (existsSync(localPath)) {
|
|
18
|
+
return localPath;
|
|
19
|
+
}
|
|
20
|
+
// Fallback to global command
|
|
21
|
+
return "agent-browser";
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Build CLI args from options
|
|
25
|
+
*/
|
|
26
|
+
function buildArgs(options) {
|
|
27
|
+
const args = [];
|
|
28
|
+
if (options.headed) {
|
|
29
|
+
args.push("--headed");
|
|
30
|
+
}
|
|
31
|
+
if (options.cdpPort) {
|
|
32
|
+
args.push("--cdp", String(options.cdpPort));
|
|
33
|
+
}
|
|
34
|
+
if (options.session) {
|
|
35
|
+
args.push("--session", options.session);
|
|
36
|
+
}
|
|
37
|
+
// Always use JSON output for parsing
|
|
38
|
+
args.push("--json");
|
|
39
|
+
return args;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Execute an agent-browser command
|
|
43
|
+
*/
|
|
44
|
+
async function execAgentBrowser(command, options = {}) {
|
|
45
|
+
const args = [...buildArgs(options), ...command];
|
|
46
|
+
const timeout = options.timeout || 30000;
|
|
47
|
+
const agentBrowserPath = getAgentBrowserPath();
|
|
48
|
+
return new Promise((resolve, reject) => {
|
|
49
|
+
const proc = spawn(agentBrowserPath, args, {
|
|
50
|
+
stdio: ["pipe", "pipe", "pipe"],
|
|
51
|
+
timeout
|
|
52
|
+
});
|
|
53
|
+
let stdout = "";
|
|
54
|
+
let stderr = "";
|
|
55
|
+
proc.stdout?.on("data", (data) => {
|
|
56
|
+
stdout += data.toString();
|
|
57
|
+
});
|
|
58
|
+
proc.stderr?.on("data", (data) => {
|
|
59
|
+
stderr += data.toString();
|
|
60
|
+
});
|
|
61
|
+
proc.on("close", (code) => {
|
|
62
|
+
if (code === 0) {
|
|
63
|
+
resolve(stdout);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
reject(new Error(`agent-browser failed (code ${code}): ${stderr || stdout}`));
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
proc.on("error", (err) => {
|
|
70
|
+
reject(new Error(`agent-browser spawn error: ${err.message}`));
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Open a URL in the browser
|
|
76
|
+
*/
|
|
77
|
+
export async function openUrl(url, options = {}) {
|
|
78
|
+
try {
|
|
79
|
+
const output = await execAgentBrowser(["open", url], options);
|
|
80
|
+
return { success: true, output };
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
return {
|
|
84
|
+
success: false,
|
|
85
|
+
error: error instanceof Error ? error.message : String(error)
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Take a snapshot of the current page (accessibility tree with refs)
|
|
91
|
+
*/
|
|
92
|
+
export async function snapshot(options = {}) {
|
|
93
|
+
const args = ["snapshot"];
|
|
94
|
+
// -i for interactive elements only (reduces tokens)
|
|
95
|
+
if (options.interactive !== false) {
|
|
96
|
+
args.push("-i");
|
|
97
|
+
}
|
|
98
|
+
// -c for compact output
|
|
99
|
+
if (options.compact) {
|
|
100
|
+
args.push("-c");
|
|
101
|
+
}
|
|
102
|
+
const output = await execAgentBrowser(args, options);
|
|
103
|
+
// Parse the JSON output to extract elements
|
|
104
|
+
const elements = [];
|
|
105
|
+
try {
|
|
106
|
+
const parsed = JSON.parse(output);
|
|
107
|
+
if (parsed.success && parsed.data?.refs) {
|
|
108
|
+
for (const [ref, info] of Object.entries(parsed.data.refs)) {
|
|
109
|
+
const refInfo = info;
|
|
110
|
+
elements.push({
|
|
111
|
+
ref: `@${ref}`,
|
|
112
|
+
role: refInfo.role || "unknown",
|
|
113
|
+
name: refInfo.name,
|
|
114
|
+
text: refInfo.text
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return { elements, raw: parsed.data?.snapshot || output };
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
// Fallback to text parsing if JSON fails
|
|
122
|
+
const refPattern = /@(\w+)\s+(\w+)(?:\s+"([^"]*)")?/g;
|
|
123
|
+
const matches = output.matchAll(refPattern);
|
|
124
|
+
for (const match of matches) {
|
|
125
|
+
elements.push({
|
|
126
|
+
ref: `@${match[1]}`,
|
|
127
|
+
role: match[2],
|
|
128
|
+
name: match[3]
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
return { elements, raw: output };
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Click an element by ref or selector
|
|
136
|
+
*/
|
|
137
|
+
export async function click(target, options = {}) {
|
|
138
|
+
try {
|
|
139
|
+
const output = await execAgentBrowser(["click", target], options);
|
|
140
|
+
return { success: true, output };
|
|
141
|
+
}
|
|
142
|
+
catch (error) {
|
|
143
|
+
return {
|
|
144
|
+
success: false,
|
|
145
|
+
error: error instanceof Error ? error.message : String(error)
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Type text into the focused element
|
|
151
|
+
*/
|
|
152
|
+
export async function type(text, options = {}) {
|
|
153
|
+
try {
|
|
154
|
+
const output = await execAgentBrowser(["type", text], options);
|
|
155
|
+
return { success: true, output };
|
|
156
|
+
}
|
|
157
|
+
catch (error) {
|
|
158
|
+
return {
|
|
159
|
+
success: false,
|
|
160
|
+
error: error instanceof Error ? error.message : String(error)
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Fill an input field (by ref or selector)
|
|
166
|
+
*/
|
|
167
|
+
export async function fill(target, value, options = {}) {
|
|
168
|
+
try {
|
|
169
|
+
const output = await execAgentBrowser(["fill", target, value], options);
|
|
170
|
+
return { success: true, output };
|
|
171
|
+
}
|
|
172
|
+
catch (error) {
|
|
173
|
+
return {
|
|
174
|
+
success: false,
|
|
175
|
+
error: error instanceof Error ? error.message : String(error)
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Scroll the page
|
|
181
|
+
*/
|
|
182
|
+
export async function scroll(direction, amount, options = {}) {
|
|
183
|
+
try {
|
|
184
|
+
const args = ["scroll", direction];
|
|
185
|
+
if (amount) {
|
|
186
|
+
args.push(String(amount));
|
|
187
|
+
}
|
|
188
|
+
const output = await execAgentBrowser(args, options);
|
|
189
|
+
return { success: true, output };
|
|
190
|
+
}
|
|
191
|
+
catch (error) {
|
|
192
|
+
return {
|
|
193
|
+
success: false,
|
|
194
|
+
error: error instanceof Error ? error.message : String(error)
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Take a screenshot
|
|
200
|
+
*/
|
|
201
|
+
export async function screenshot(outputPath, options = {}) {
|
|
202
|
+
try {
|
|
203
|
+
// Ensure output directory exists
|
|
204
|
+
const dir = dirname(outputPath);
|
|
205
|
+
if (!existsSync(dir)) {
|
|
206
|
+
mkdirSync(dir, { recursive: true });
|
|
207
|
+
}
|
|
208
|
+
const args = ["screenshot", outputPath];
|
|
209
|
+
if (options.fullPage) {
|
|
210
|
+
args.push("--full-page");
|
|
211
|
+
}
|
|
212
|
+
await execAgentBrowser(args, options);
|
|
213
|
+
return { success: true, path: outputPath };
|
|
214
|
+
}
|
|
215
|
+
catch (error) {
|
|
216
|
+
return {
|
|
217
|
+
success: false,
|
|
218
|
+
error: error instanceof Error ? error.message : String(error)
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get console messages from the browser
|
|
224
|
+
*/
|
|
225
|
+
export async function getConsoleMessages(options = {}) {
|
|
226
|
+
try {
|
|
227
|
+
const output = await execAgentBrowser(["console"], options);
|
|
228
|
+
// Parse JSON output
|
|
229
|
+
const parsed = JSON.parse(output);
|
|
230
|
+
return Array.isArray(parsed) ? parsed : [];
|
|
231
|
+
}
|
|
232
|
+
catch {
|
|
233
|
+
return [];
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Get page errors
|
|
238
|
+
*/
|
|
239
|
+
export async function getErrors(options = {}) {
|
|
240
|
+
try {
|
|
241
|
+
const output = await execAgentBrowser(["errors"], options);
|
|
242
|
+
const parsed = JSON.parse(output);
|
|
243
|
+
return Array.isArray(parsed) ? parsed : [];
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
return [];
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Navigate back
|
|
251
|
+
*/
|
|
252
|
+
export async function back(options = {}) {
|
|
253
|
+
try {
|
|
254
|
+
const output = await execAgentBrowser(["back"], options);
|
|
255
|
+
return { success: true, output };
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
return {
|
|
259
|
+
success: false,
|
|
260
|
+
error: error instanceof Error ? error.message : String(error)
|
|
261
|
+
};
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Navigate forward
|
|
266
|
+
*/
|
|
267
|
+
export async function forward(options = {}) {
|
|
268
|
+
try {
|
|
269
|
+
const output = await execAgentBrowser(["forward"], options);
|
|
270
|
+
return { success: true, output };
|
|
271
|
+
}
|
|
272
|
+
catch (error) {
|
|
273
|
+
return {
|
|
274
|
+
success: false,
|
|
275
|
+
error: error instanceof Error ? error.message : String(error)
|
|
276
|
+
};
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Reload the page
|
|
281
|
+
*/
|
|
282
|
+
export async function reload(options = {}) {
|
|
283
|
+
try {
|
|
284
|
+
const output = await execAgentBrowser(["reload"], options);
|
|
285
|
+
return { success: true, output };
|
|
286
|
+
}
|
|
287
|
+
catch (error) {
|
|
288
|
+
return {
|
|
289
|
+
success: false,
|
|
290
|
+
error: error instanceof Error ? error.message : String(error)
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Close the browser
|
|
296
|
+
*/
|
|
297
|
+
export async function close(options = {}) {
|
|
298
|
+
try {
|
|
299
|
+
const output = await execAgentBrowser(["close"], options);
|
|
300
|
+
return { success: true, output };
|
|
301
|
+
}
|
|
302
|
+
catch (error) {
|
|
303
|
+
return {
|
|
304
|
+
success: false,
|
|
305
|
+
error: error instanceof Error ? error.message : String(error)
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Get the current URL
|
|
311
|
+
*/
|
|
312
|
+
export async function getCurrentUrl(options = {}) {
|
|
313
|
+
try {
|
|
314
|
+
const output = await execAgentBrowser(["url"], options);
|
|
315
|
+
return output.trim();
|
|
316
|
+
}
|
|
317
|
+
catch {
|
|
318
|
+
return null;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Get page title
|
|
323
|
+
*/
|
|
324
|
+
export async function getTitle(options = {}) {
|
|
325
|
+
try {
|
|
326
|
+
const output = await execAgentBrowser(["title"], options);
|
|
327
|
+
return output.trim();
|
|
328
|
+
}
|
|
329
|
+
catch {
|
|
330
|
+
return null;
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Evaluate JavaScript in the browser
|
|
335
|
+
*/
|
|
336
|
+
export async function evaluate(expression, options = {}) {
|
|
337
|
+
try {
|
|
338
|
+
const output = await execAgentBrowser(["evaluate", expression], options);
|
|
339
|
+
return { success: true, output };
|
|
340
|
+
}
|
|
341
|
+
catch (error) {
|
|
342
|
+
return {
|
|
343
|
+
success: false,
|
|
344
|
+
error: error instanceof Error ? error.message : String(error)
|
|
345
|
+
};
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Wait for an element to appear
|
|
350
|
+
*/
|
|
351
|
+
export async function waitFor(selector, options = {}) {
|
|
352
|
+
try {
|
|
353
|
+
const args = ["wait", selector];
|
|
354
|
+
if (options.timeout) {
|
|
355
|
+
args.push("--timeout", String(options.timeout));
|
|
356
|
+
}
|
|
357
|
+
const output = await execAgentBrowser(args, options);
|
|
358
|
+
return { success: true, output };
|
|
359
|
+
}
|
|
360
|
+
catch (error) {
|
|
361
|
+
return {
|
|
362
|
+
success: false,
|
|
363
|
+
error: error instanceof Error ? error.message : String(error)
|
|
364
|
+
};
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
/**
|
|
368
|
+
* Check if agent-browser is installed and accessible
|
|
369
|
+
*/
|
|
370
|
+
export function isAgentBrowserAvailable() {
|
|
371
|
+
try {
|
|
372
|
+
const agentBrowserPath = getAgentBrowserPath();
|
|
373
|
+
// agent-browser doesn't have --version, just check if the binary exists and responds to --help
|
|
374
|
+
execSync(`"${agentBrowserPath}" --help`, { stdio: "pipe" });
|
|
375
|
+
return true;
|
|
376
|
+
}
|
|
377
|
+
catch {
|
|
378
|
+
return false;
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Get agent-browser path for debugging
|
|
383
|
+
*/
|
|
384
|
+
export function getAgentBrowserBinaryPath() {
|
|
385
|
+
return getAgentBrowserPath();
|
|
386
|
+
}
|
|
387
|
+
//# sourceMappingURL=agent-browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-browser.js","sourceRoot":"","sources":["../../src/utils/agent-browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ export declare function detectsReact(): boolean;
|
|
|
21
21
|
/**
|
|
22
22
|
* Get bundled skills from d3k package that are installable
|
|
23
23
|
* (excludes the main 'd3k' skill which is for internal use)
|
|
24
|
+
* (excludes project-local skills - those are already installed)
|
|
24
25
|
*/
|
|
25
26
|
export declare function getBundledSkills(): AvailableSkill[];
|
|
26
27
|
export declare function loadInstalledSkills(): InstalledSkills;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-installer.d.ts","sourceRoot":"","sources":["../../src/utils/skill-installer.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;CAClB;AAUD,UAAU,kBAAkB;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC1C,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAOD;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAYtC;AAED
|
|
1
|
+
{"version":3,"file":"skill-installer.d.ts","sourceRoot":"","sources":["../../src/utils/skill-installer.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE,OAAO,CAAA;CAClB;AAUD,UAAU,kBAAkB;IAC1B,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAA;IAC1C,UAAU,EAAE,MAAM,EAAE,CAAA;CACrB;AAOD;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAYtC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,EAAE,CAuBnD;AAeD,wBAAgB,mBAAmB,IAAI,eAAe,CAWrD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAM/D;AAgBD,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CA2CtE;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,eAAe,GAAG,cAAc,EAAE,CAuB7G;AAiDD,wBAAsB,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA0BvE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,CAS/D;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAYnE;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EAAE,EACxB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,GACzE,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAgBlD"}
|
|
@@ -28,14 +28,19 @@ export function detectsReact() {
|
|
|
28
28
|
/**
|
|
29
29
|
* Get bundled skills from d3k package that are installable
|
|
30
30
|
* (excludes the main 'd3k' skill which is for internal use)
|
|
31
|
+
* (excludes project-local skills - those are already installed)
|
|
31
32
|
*/
|
|
32
33
|
export function getBundledSkills() {
|
|
33
34
|
const bundledSkills = [];
|
|
34
35
|
const skillsInfo = getSkillsInfo();
|
|
36
|
+
const projectSkillsDir = getProjectSkillsDir();
|
|
35
37
|
for (const info of skillsInfo) {
|
|
36
38
|
// Skip the main d3k skill - it's for MCP/CLI internal use
|
|
37
39
|
if (info.name === "d3k")
|
|
38
40
|
continue;
|
|
41
|
+
// Skip project-local skills - they're already installed, not "bundled" with d3k
|
|
42
|
+
if (info.path.startsWith(projectSkillsDir))
|
|
43
|
+
continue;
|
|
39
44
|
bundledSkills.push({
|
|
40
45
|
name: info.name,
|
|
41
46
|
description: info.description,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-installer.js","sourceRoot":"","sources":["../../src/utils/skill-installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AAClG,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,MAAM,WAAW,GAAG,0BAA0B,CAAA;AAC9C,MAAM,WAAW,GAAG,WAAW,CAAA;AA6B/B,qFAAqF;AACrF,SAAS,mBAAmB;IAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AACtD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,CAAA;QAChE,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAA;QACd,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAA;QACtE,MAAM,IAAI,GAAG,EAAE,GAAG,WAAW,CAAC,YAAY,EAAE,GAAG,WAAW,CAAC,eAAe,EAAE,CAAA;QAC5E,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"skill-installer.js","sourceRoot":"","sources":["../../src/utils/skill-installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
f8-qsTYpMHe5da6lkWH6m
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
"static/chunks/a6dad97d9634a72d.js"
|
|
8
8
|
],
|
|
9
9
|
"lowPriorityFiles": [
|
|
10
|
-
"static/
|
|
11
|
-
"static/
|
|
10
|
+
"static/f8-qsTYpMHe5da6lkWH6m/_ssgManifest.js",
|
|
11
|
+
"static/f8-qsTYpMHe5da6lkWH6m/_buildManifest.js"
|
|
12
12
|
],
|
|
13
13
|
"rootMainFiles": [
|
|
14
14
|
"static/chunks/39e9bdcc541cc428.js",
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"polyfillFiles": [],
|
|
7
7
|
"lowPriorityFiles": [
|
|
8
|
-
"static/
|
|
9
|
-
"static/
|
|
8
|
+
"static/f8-qsTYpMHe5da6lkWH6m/_ssgManifest.js",
|
|
9
|
+
"static/f8-qsTYpMHe5da6lkWH6m/_buildManifest.js"
|
|
10
10
|
],
|
|
11
11
|
"rootMainFiles": []
|
|
12
12
|
}
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
"dynamicRoutes": {},
|
|
79
79
|
"notFoundRoutes": [],
|
|
80
80
|
"preview": {
|
|
81
|
-
"previewModeId": "
|
|
82
|
-
"previewModeSigningKey": "
|
|
83
|
-
"previewModeEncryptionKey": "
|
|
81
|
+
"previewModeId": "1dc64b17d15433221c771f7e301b823a",
|
|
82
|
+
"previewModeSigningKey": "b2dd5a87db70d50aed96f297b90daf23d0477accad22c7af86c28b6d825dfe6f",
|
|
83
|
+
"previewModeEncryptionKey": "73db6c2d60cb063dee83bd5cadda29b45c58d77ddc54a0c7e1990da3df60d6f9"
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -2,7 +2,7 @@ var R=require("../../chunks/ssr/[turbopack]_runtime.js")("server/app/_global-err
|
|
|
2
2
|
R.c("server/chunks/ssr/[root-of-the-server]__4a45fb1f._.js")
|
|
3
3
|
R.c("server/chunks/ssr/edd96_next_dist_6cceb2cd._.js")
|
|
4
4
|
R.c("server/chunks/ssr/edd96_next_dist_22d4e869._.js")
|
|
5
|
-
R.c("server/chunks/ssr/[root-of-the-server]
|
|
5
|
+
R.c("server/chunks/ssr/[root-of-the-server]__f66148e5._.js")
|
|
6
6
|
R.c("server/chunks/ssr/edd96_next_dist_329c4a9b._.js")
|
|
7
7
|
R.c("server/chunks/ssr/node_modules__bun_39d5fbaf._.js")
|
|
8
8
|
R.c("server/chunks/ssr/mcp-server__next-internal_server_app__global-error_page_actions_404453e7.js")
|