@agent-one/browser-mcp-server 1.0.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/README.md +62 -0
- package/dist/auth.d.ts +5 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +34 -0
- package/dist/auth.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/manager-client.d.ts +20 -0
- package/dist/manager-client.d.ts.map +1 -0
- package/dist/manager-client.js +79 -0
- package/dist/manager-client.js.map +1 -0
- package/dist/tools/clipboard.d.ts +53 -0
- package/dist/tools/clipboard.d.ts.map +1 -0
- package/dist/tools/clipboard.js +25 -0
- package/dist/tools/clipboard.js.map +1 -0
- package/dist/tools/profiles.d.ts +190 -0
- package/dist/tools/profiles.d.ts.map +1 -0
- package/dist/tools/profiles.js +126 -0
- package/dist/tools/profiles.js.map +1 -0
- package/dist/tools/sessions.d.ts +99 -0
- package/dist/tools/sessions.d.ts.map +1 -0
- package/dist/tools/sessions.js +51 -0
- package/dist/tools/sessions.js.map +1 -0
- package/dist/tools/system.d.ts +26 -0
- package/dist/tools/system.d.ts.map +1 -0
- package/dist/tools/system.js +14 -0
- package/dist/tools/system.js.map +1 -0
- package/dist/tools/tasks.d.ts +158 -0
- package/dist/tools/tasks.d.ts.map +1 -0
- package/dist/tools/tasks.js +88 -0
- package/dist/tools/tasks.js.map +1 -0
- package/dist/utils.d.ts +7 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +19 -0
- package/dist/utils.js.map +1 -0
- package/package.json +39 -0
package/README.md
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# @agent-one/browser-mcp-server
|
|
2
|
+
|
|
3
|
+
MCP server for AgentOne Browser — 22 tools for anti-detection browser automation, profile management, session extraction, and task execution.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npx -y @agent-one/browser-mcp-server@latest
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Configuration
|
|
12
|
+
|
|
13
|
+
Set environment variables:
|
|
14
|
+
|
|
15
|
+
| Variable | Description | Default |
|
|
16
|
+
|----------|-------------|---------|
|
|
17
|
+
| `AGENTONE_URL` | Server URL | `https://browser.ai-automate.me` |
|
|
18
|
+
| `AGENTONE_TOKEN` | Auth token | (reads from `~/.agentone-browser/auth-token` if unset) |
|
|
19
|
+
|
|
20
|
+
## Tools (22)
|
|
21
|
+
|
|
22
|
+
| Group | Tools |
|
|
23
|
+
|-------|-------|
|
|
24
|
+
| System | `get_system_status`, `check_auth_status` |
|
|
25
|
+
| Profiles | `list_profiles`, `get_profile`, `create_profile`, `update_profile`, `delete_profile` |
|
|
26
|
+
| Lifecycle | `launch_profile`, `stop_profile`, `get_profile_status` |
|
|
27
|
+
| Sessions | `get_session`, `refresh_session`, `get_rpc_tokens`, `list_sessions` |
|
|
28
|
+
| Clipboard | `set_clipboard`, `get_clipboard` |
|
|
29
|
+
| CDP | `get_cdp_info` |
|
|
30
|
+
| Tasks | `execute_task`, `navigate`, `extract_page`, `take_screenshot`, `browser_snapshot` |
|
|
31
|
+
|
|
32
|
+
## Engine Integration
|
|
33
|
+
|
|
34
|
+
**Claude Code** — add to `.mcp.json`:
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"mcpServers": {
|
|
38
|
+
"agentone-browser": {
|
|
39
|
+
"command": "npx",
|
|
40
|
+
"args": ["-y", "@agent-one/browser-mcp-server@latest"],
|
|
41
|
+
"env": {
|
|
42
|
+
"AGENTONE_URL": "https://browser.ai-automate.me",
|
|
43
|
+
"AGENTONE_TOKEN": "your-token"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Pi Agent** — use `@agent-one/browser-pi-agent` to auto-configure.
|
|
51
|
+
|
|
52
|
+
**Hermes** — use `@agent-one/browser-hermes` to auto-configure.
|
|
53
|
+
|
|
54
|
+
## Build
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npm install && npm run build
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## License
|
|
61
|
+
|
|
62
|
+
MIT
|
package/dist/auth.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Server URL resolution. Priority: AGENTONE_URL env > token file > default. */
|
|
2
|
+
export declare function resolveServerUrl(): string;
|
|
3
|
+
/** Auth token resolution — env var or token file. */
|
|
4
|
+
export declare function resolveAuthToken(): string;
|
|
5
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAIA,gFAAgF;AAChF,wBAAgB,gBAAgB,IAAI,MAAM,CAgBzC;AAED,qDAAqD;AACrD,wBAAgB,gBAAgB,IAAI,MAAM,CAUzC"}
|
package/dist/auth.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { readFileSync, existsSync } from "node:fs";
|
|
2
|
+
import { homedir } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
/** Server URL resolution. Priority: AGENTONE_URL env > token file > default. */
|
|
5
|
+
export function resolveServerUrl() {
|
|
6
|
+
// 1. Explicit env var
|
|
7
|
+
const envUrl = process.env.AGENTONE_URL;
|
|
8
|
+
if (envUrl)
|
|
9
|
+
return envUrl.replace(/\/+$/, "");
|
|
10
|
+
// 2. Token file (may also contain URL)
|
|
11
|
+
const configPath = join(homedir(), ".agentone-browser", "config.json");
|
|
12
|
+
if (existsSync(configPath)) {
|
|
13
|
+
try {
|
|
14
|
+
const config = JSON.parse(readFileSync(configPath, "utf-8"));
|
|
15
|
+
if (config.url)
|
|
16
|
+
return config.url.replace(/\/+$/, "");
|
|
17
|
+
}
|
|
18
|
+
catch { /* ignore parse errors */ }
|
|
19
|
+
}
|
|
20
|
+
// 3. Default — public server endpoint (can be overridden on deploy)
|
|
21
|
+
return "https://browser.ai-automate.me";
|
|
22
|
+
}
|
|
23
|
+
/** Auth token resolution — env var or token file. */
|
|
24
|
+
export function resolveAuthToken() {
|
|
25
|
+
const envToken = process.env.AGENTONE_TOKEN;
|
|
26
|
+
if (envToken)
|
|
27
|
+
return envToken;
|
|
28
|
+
const tokenPath = join(homedir(), ".agentone-browser", "auth-token");
|
|
29
|
+
if (existsSync(tokenPath)) {
|
|
30
|
+
return readFileSync(tokenPath, "utf-8").trim();
|
|
31
|
+
}
|
|
32
|
+
return "";
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,gFAAgF;AAChF,MAAM,UAAU,gBAAgB;IAC9B,sBAAsB;IACtB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACxC,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAE9C,uCAAuC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7D,IAAI,MAAM,CAAC,GAAG;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACvC,CAAC;IAED,oEAAoE;IACpE,OAAO,gCAAgC,CAAC;AAC1C,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,gBAAgB;IAC9B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAC5C,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC;IACrE,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,OAAO,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @agent-one/browser-mcp-server — stdio MCP server for AgentOne Browser.
|
|
4
|
+
*
|
|
5
|
+
* Proxies 22 MCP tools to the AgentOne Browser Manager REST API.
|
|
6
|
+
* Auth via AGENTONE_URL + AGENTONE_TOKEN env vars.
|
|
7
|
+
*/
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* @agent-one/browser-mcp-server — stdio MCP server for AgentOne Browser.
|
|
4
|
+
*
|
|
5
|
+
* Proxies 22 MCP tools to the AgentOne Browser Manager REST API.
|
|
6
|
+
* Auth via AGENTONE_URL + AGENTONE_TOKEN env vars.
|
|
7
|
+
*/
|
|
8
|
+
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
9
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
10
|
+
import { profileTools } from "./tools/profiles.js";
|
|
11
|
+
import { sessionTools } from "./tools/sessions.js";
|
|
12
|
+
import { taskTools } from "./tools/tasks.js";
|
|
13
|
+
import { clipboardTools } from "./tools/clipboard.js";
|
|
14
|
+
import { systemTools } from "./tools/system.js";
|
|
15
|
+
const server = new McpServer({
|
|
16
|
+
name: "AgentOne Browser",
|
|
17
|
+
version: "1.0.0",
|
|
18
|
+
});
|
|
19
|
+
const allTools = [
|
|
20
|
+
...profileTools,
|
|
21
|
+
...sessionTools,
|
|
22
|
+
...taskTools,
|
|
23
|
+
...clipboardTools,
|
|
24
|
+
...systemTools,
|
|
25
|
+
];
|
|
26
|
+
for (const tool of allTools) {
|
|
27
|
+
server.tool(tool.name, tool.description, tool.schema, async (params) => {
|
|
28
|
+
const result = await tool.handler(params);
|
|
29
|
+
return { content: [{ type: "text", text: result }] };
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
// Start
|
|
33
|
+
const transport = new StdioServerTransport();
|
|
34
|
+
await server.connect(transport);
|
|
35
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;IAC3B,IAAI,EAAE,kBAAkB;IACxB,OAAO,EAAE,OAAO;CACjB,CAAC,CAAC;AASH,MAAM,QAAQ,GAAc;IAC1B,GAAG,YAAY;IACf,GAAG,YAAY;IACf,GAAG,SAAS;IACZ,GAAG,cAAc;IACjB,GAAG,WAAW;CACF,CAAC;AAEf,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;IAC5B,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,EACX,KAAK,EAAE,MAA+B,EAAE,EAAE;QACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAChE,CAAC,CACF,CAAC;AACJ,CAAC;AAED,QAAQ;AACR,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Server REST API client — thin wrapper over fetch. */
|
|
2
|
+
export declare class ServerClient {
|
|
3
|
+
private baseUrl;
|
|
4
|
+
private token;
|
|
5
|
+
constructor(url?: string, token?: string);
|
|
6
|
+
private request;
|
|
7
|
+
/** GET with optional auth_token query param. */
|
|
8
|
+
get(path: string, auth?: boolean): Promise<unknown>;
|
|
9
|
+
/** POST with auth_token in body. */
|
|
10
|
+
post(path: string, body?: Record<string, unknown>): Promise<unknown>;
|
|
11
|
+
/** DELETE with auth_token in body. */
|
|
12
|
+
del(path: string, body?: Record<string, unknown>): Promise<unknown>;
|
|
13
|
+
}
|
|
14
|
+
/** Default client singleton. */
|
|
15
|
+
export declare const client: ServerClient;
|
|
16
|
+
/** Call a server endpoint and return truncated JSON. */
|
|
17
|
+
export declare function apiGet(path: string, auth?: boolean): Promise<string>;
|
|
18
|
+
export declare function apiPost(path: string, body?: Record<string, unknown>): Promise<string>;
|
|
19
|
+
export declare function apiDel(path: string, body?: Record<string, unknown>): Promise<string>;
|
|
20
|
+
//# sourceMappingURL=manager-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager-client.d.ts","sourceRoot":"","sources":["../src/manager-client.ts"],"names":[],"mappings":"AAMA,wDAAwD;AACxD,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,KAAK,CAAS;gBAEV,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;YAK1B,OAAO;IAyBrB,gDAAgD;IAC1C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAMtD,oCAAoC;IAC9B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK9E,sCAAsC;IAChC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAI9E;AAED,gCAAgC;AAChC,eAAO,MAAM,MAAM,cAAqB,CAAC;AAEzC,wDAAwD;AACxD,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAOvE;AAED,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO/F;AAED,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO9F"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { resolveServerUrl, resolveAuthToken } from "./auth.js";
|
|
2
|
+
import { safeJsonTruncate } from "./utils.js";
|
|
3
|
+
const SERVER_URL = resolveServerUrl();
|
|
4
|
+
const AUTH_TOKEN = resolveAuthToken();
|
|
5
|
+
/** Server REST API client — thin wrapper over fetch. */
|
|
6
|
+
export class ServerClient {
|
|
7
|
+
baseUrl;
|
|
8
|
+
token;
|
|
9
|
+
constructor(url, token) {
|
|
10
|
+
this.baseUrl = url ?? SERVER_URL;
|
|
11
|
+
this.token = token ?? AUTH_TOKEN;
|
|
12
|
+
}
|
|
13
|
+
async request(method, path, body) {
|
|
14
|
+
const url = `${this.baseUrl}${path}`;
|
|
15
|
+
const headers = {
|
|
16
|
+
"Content-Type": "application/json",
|
|
17
|
+
Accept: "application/json",
|
|
18
|
+
};
|
|
19
|
+
const res = await fetch(url, {
|
|
20
|
+
method,
|
|
21
|
+
headers,
|
|
22
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
23
|
+
});
|
|
24
|
+
if (!res.ok) {
|
|
25
|
+
const text = await res.text().catch(() => res.statusText);
|
|
26
|
+
throw new Error(`Server ${res.status}: ${text}`);
|
|
27
|
+
}
|
|
28
|
+
return res.json();
|
|
29
|
+
}
|
|
30
|
+
/** GET with optional auth_token query param. */
|
|
31
|
+
async get(path, auth = true) {
|
|
32
|
+
const sep = path.includes("?") ? "&" : "?";
|
|
33
|
+
const url = auth && this.token ? `${path}${sep}auth_token=${encodeURIComponent(this.token)}` : path;
|
|
34
|
+
return this.request("GET", url);
|
|
35
|
+
}
|
|
36
|
+
/** POST with auth_token in body. */
|
|
37
|
+
async post(path, body = {}) {
|
|
38
|
+
if (this.token)
|
|
39
|
+
body.auth_token = this.token;
|
|
40
|
+
return this.request("POST", path, body);
|
|
41
|
+
}
|
|
42
|
+
/** DELETE with auth_token in body. */
|
|
43
|
+
async del(path, body = {}) {
|
|
44
|
+
if (this.token)
|
|
45
|
+
body.auth_token = this.token;
|
|
46
|
+
return this.request("DELETE", path, body);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/** Default client singleton. */
|
|
50
|
+
export const client = new ServerClient();
|
|
51
|
+
/** Call a server endpoint and return truncated JSON. */
|
|
52
|
+
export async function apiGet(path, auth = true) {
|
|
53
|
+
try {
|
|
54
|
+
const result = await client.get(path, auth);
|
|
55
|
+
return safeJsonTruncate(result);
|
|
56
|
+
}
|
|
57
|
+
catch (err) {
|
|
58
|
+
return safeJsonTruncate({ error: String(err) });
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export async function apiPost(path, body = {}) {
|
|
62
|
+
try {
|
|
63
|
+
const result = await client.post(path, body);
|
|
64
|
+
return safeJsonTruncate(result);
|
|
65
|
+
}
|
|
66
|
+
catch (err) {
|
|
67
|
+
return safeJsonTruncate({ error: String(err) });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
export async function apiDel(path, body = {}) {
|
|
71
|
+
try {
|
|
72
|
+
const result = await client.del(path, body);
|
|
73
|
+
return safeJsonTruncate(result);
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
return safeJsonTruncate({ error: String(err) });
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=manager-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager-client.js","sourceRoot":"","sources":["../src/manager-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const setClipboard: {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
schema: {
|
|
6
|
+
profile_id: z.ZodString;
|
|
7
|
+
text: z.ZodString;
|
|
8
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
9
|
+
};
|
|
10
|
+
handler: ({ profile_id, text, ...rest }: {
|
|
11
|
+
profile_id: string;
|
|
12
|
+
text: string;
|
|
13
|
+
[k: string]: unknown;
|
|
14
|
+
}) => Promise<string>;
|
|
15
|
+
};
|
|
16
|
+
export declare const getClipboard: {
|
|
17
|
+
name: string;
|
|
18
|
+
description: string;
|
|
19
|
+
schema: {
|
|
20
|
+
profile_id: z.ZodString;
|
|
21
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
22
|
+
};
|
|
23
|
+
handler: ({ profile_id }: {
|
|
24
|
+
profile_id: string;
|
|
25
|
+
auth_token?: string;
|
|
26
|
+
}) => Promise<string>;
|
|
27
|
+
};
|
|
28
|
+
export declare const clipboardTools: ({
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
schema: {
|
|
32
|
+
profile_id: z.ZodString;
|
|
33
|
+
text: z.ZodString;
|
|
34
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
35
|
+
};
|
|
36
|
+
handler: ({ profile_id, text, ...rest }: {
|
|
37
|
+
profile_id: string;
|
|
38
|
+
text: string;
|
|
39
|
+
[k: string]: unknown;
|
|
40
|
+
}) => Promise<string>;
|
|
41
|
+
} | {
|
|
42
|
+
name: string;
|
|
43
|
+
description: string;
|
|
44
|
+
schema: {
|
|
45
|
+
profile_id: z.ZodString;
|
|
46
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
47
|
+
};
|
|
48
|
+
handler: ({ profile_id }: {
|
|
49
|
+
profile_id: string;
|
|
50
|
+
auth_token?: string;
|
|
51
|
+
}) => Promise<string>;
|
|
52
|
+
})[];
|
|
53
|
+
//# sourceMappingURL=clipboard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard.d.ts","sourceRoot":"","sources":["../../src/tools/clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,YAAY;;;;;;;;6CAQwB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;CAE1G,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;8BAOS;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAE5E,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;6CAhBsB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;;;;;;;;8BAYzE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAInB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { apiPost } from "../manager-client.js";
|
|
3
|
+
// 15. set_clipboard
|
|
4
|
+
export const setClipboard = {
|
|
5
|
+
name: "set_clipboard",
|
|
6
|
+
description: "Push text into a running profile's clipboard.",
|
|
7
|
+
schema: {
|
|
8
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
9
|
+
text: z.string().describe("Text to set in clipboard"),
|
|
10
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
11
|
+
},
|
|
12
|
+
handler: async ({ profile_id, text, ...rest }) => apiPost(`/api/profiles/${profile_id}/clipboard`, { ...rest, text }),
|
|
13
|
+
};
|
|
14
|
+
// 16. get_clipboard
|
|
15
|
+
export const getClipboard = {
|
|
16
|
+
name: "get_clipboard",
|
|
17
|
+
description: "Read the clipboard text from a running profile.",
|
|
18
|
+
schema: {
|
|
19
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
20
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
21
|
+
},
|
|
22
|
+
handler: async ({ profile_id }) => apiPost(`/api/profiles/${profile_id}/clipboard/read`),
|
|
23
|
+
};
|
|
24
|
+
export const clipboardTools = [setClipboard, getClipboard];
|
|
25
|
+
//# sourceMappingURL=clipboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/tools/clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,oBAAoB;AACpB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,+CAA+C;IAC5D,MAAM,EAAE;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC/C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACrD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC1D;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,IAAI,EAA8D,EAAE,EAAE,CAC3G,OAAO,CAAC,iBAAiB,UAAU,YAAY,EAAE,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,CAAC;CACtE,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,iDAAiD;IAC9D,MAAM,EAAE;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC1D;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAA+C,EAAE,EAAE,CAC7E,OAAO,CAAC,iBAAiB,UAAU,iBAAiB,CAAC;CACxD,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const getSystemStatus: {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
schema: {};
|
|
6
|
+
handler: () => Promise<string>;
|
|
7
|
+
};
|
|
8
|
+
export declare const checkAuthStatus: {
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
schema: {};
|
|
12
|
+
handler: () => Promise<string>;
|
|
13
|
+
};
|
|
14
|
+
export declare const listProfiles: {
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
schema: {
|
|
18
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
19
|
+
};
|
|
20
|
+
handler: (_: {
|
|
21
|
+
auth_token?: string;
|
|
22
|
+
}) => Promise<string>;
|
|
23
|
+
};
|
|
24
|
+
export declare const getProfile: {
|
|
25
|
+
name: string;
|
|
26
|
+
description: string;
|
|
27
|
+
schema: {
|
|
28
|
+
profile_id: z.ZodString;
|
|
29
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
30
|
+
};
|
|
31
|
+
handler: ({ profile_id }: {
|
|
32
|
+
profile_id: string;
|
|
33
|
+
auth_token?: string;
|
|
34
|
+
}) => Promise<string>;
|
|
35
|
+
};
|
|
36
|
+
export declare const createProfile: {
|
|
37
|
+
name: string;
|
|
38
|
+
description: string;
|
|
39
|
+
schema: {
|
|
40
|
+
name: z.ZodString;
|
|
41
|
+
fingerprint_seed: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
42
|
+
proxy: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
43
|
+
timezone: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
44
|
+
locale: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
45
|
+
platform: z.ZodDefault<z.ZodString>;
|
|
46
|
+
user_agent: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
47
|
+
screen_width: z.ZodDefault<z.ZodNumber>;
|
|
48
|
+
screen_height: z.ZodDefault<z.ZodNumber>;
|
|
49
|
+
headless: z.ZodDefault<z.ZodBoolean>;
|
|
50
|
+
geoip: z.ZodDefault<z.ZodBoolean>;
|
|
51
|
+
clipboard_sync: z.ZodDefault<z.ZodBoolean>;
|
|
52
|
+
auto_launch: z.ZodDefault<z.ZodBoolean>;
|
|
53
|
+
notes: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
54
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
55
|
+
};
|
|
56
|
+
handler: (params: Record<string, unknown>) => Promise<string>;
|
|
57
|
+
};
|
|
58
|
+
export declare const updateProfile: {
|
|
59
|
+
name: string;
|
|
60
|
+
description: string;
|
|
61
|
+
schema: {
|
|
62
|
+
profile_id: z.ZodString;
|
|
63
|
+
name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
64
|
+
proxy: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
65
|
+
timezone: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
66
|
+
locale: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
67
|
+
platform: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
68
|
+
headless: z.ZodDefault<z.ZodNullable<z.ZodBoolean>>;
|
|
69
|
+
notes: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
70
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
71
|
+
};
|
|
72
|
+
handler: ({ profile_id, ...rest }: {
|
|
73
|
+
profile_id: string;
|
|
74
|
+
[k: string]: unknown;
|
|
75
|
+
}) => Promise<string>;
|
|
76
|
+
};
|
|
77
|
+
export declare const deleteProfile: {
|
|
78
|
+
name: string;
|
|
79
|
+
description: string;
|
|
80
|
+
schema: {
|
|
81
|
+
profile_id: z.ZodString;
|
|
82
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
83
|
+
};
|
|
84
|
+
handler: ({ profile_id }: {
|
|
85
|
+
profile_id: string;
|
|
86
|
+
auth_token?: string;
|
|
87
|
+
}) => Promise<string>;
|
|
88
|
+
};
|
|
89
|
+
export declare const launchProfile: {
|
|
90
|
+
name: string;
|
|
91
|
+
description: string;
|
|
92
|
+
schema: {
|
|
93
|
+
profile_id: z.ZodString;
|
|
94
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
95
|
+
};
|
|
96
|
+
handler: ({ profile_id }: {
|
|
97
|
+
profile_id: string;
|
|
98
|
+
auth_token?: string;
|
|
99
|
+
}) => Promise<string>;
|
|
100
|
+
};
|
|
101
|
+
export declare const stopProfile: {
|
|
102
|
+
name: string;
|
|
103
|
+
description: string;
|
|
104
|
+
schema: {
|
|
105
|
+
profile_id: z.ZodString;
|
|
106
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
107
|
+
};
|
|
108
|
+
handler: ({ profile_id }: {
|
|
109
|
+
profile_id: string;
|
|
110
|
+
auth_token?: string;
|
|
111
|
+
}) => Promise<string>;
|
|
112
|
+
};
|
|
113
|
+
export declare const getProfileStatus: {
|
|
114
|
+
name: string;
|
|
115
|
+
description: string;
|
|
116
|
+
schema: {
|
|
117
|
+
profile_id: z.ZodString;
|
|
118
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
119
|
+
};
|
|
120
|
+
handler: ({ profile_id }: {
|
|
121
|
+
profile_id: string;
|
|
122
|
+
auth_token?: string;
|
|
123
|
+
}) => Promise<string>;
|
|
124
|
+
};
|
|
125
|
+
export declare const profileTools: ({
|
|
126
|
+
name: string;
|
|
127
|
+
description: string;
|
|
128
|
+
schema: {};
|
|
129
|
+
handler: () => Promise<string>;
|
|
130
|
+
} | {
|
|
131
|
+
name: string;
|
|
132
|
+
description: string;
|
|
133
|
+
schema: {
|
|
134
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
135
|
+
};
|
|
136
|
+
handler: (_: {
|
|
137
|
+
auth_token?: string;
|
|
138
|
+
}) => Promise<string>;
|
|
139
|
+
} | {
|
|
140
|
+
name: string;
|
|
141
|
+
description: string;
|
|
142
|
+
schema: {
|
|
143
|
+
profile_id: z.ZodString;
|
|
144
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
145
|
+
};
|
|
146
|
+
handler: ({ profile_id }: {
|
|
147
|
+
profile_id: string;
|
|
148
|
+
auth_token?: string;
|
|
149
|
+
}) => Promise<string>;
|
|
150
|
+
} | {
|
|
151
|
+
name: string;
|
|
152
|
+
description: string;
|
|
153
|
+
schema: {
|
|
154
|
+
name: z.ZodString;
|
|
155
|
+
fingerprint_seed: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
156
|
+
proxy: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
157
|
+
timezone: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
158
|
+
locale: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
159
|
+
platform: z.ZodDefault<z.ZodString>;
|
|
160
|
+
user_agent: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
161
|
+
screen_width: z.ZodDefault<z.ZodNumber>;
|
|
162
|
+
screen_height: z.ZodDefault<z.ZodNumber>;
|
|
163
|
+
headless: z.ZodDefault<z.ZodBoolean>;
|
|
164
|
+
geoip: z.ZodDefault<z.ZodBoolean>;
|
|
165
|
+
clipboard_sync: z.ZodDefault<z.ZodBoolean>;
|
|
166
|
+
auto_launch: z.ZodDefault<z.ZodBoolean>;
|
|
167
|
+
notes: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
168
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
169
|
+
};
|
|
170
|
+
handler: (params: Record<string, unknown>) => Promise<string>;
|
|
171
|
+
} | {
|
|
172
|
+
name: string;
|
|
173
|
+
description: string;
|
|
174
|
+
schema: {
|
|
175
|
+
profile_id: z.ZodString;
|
|
176
|
+
name: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
177
|
+
proxy: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
178
|
+
timezone: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
179
|
+
locale: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
180
|
+
platform: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
181
|
+
headless: z.ZodDefault<z.ZodNullable<z.ZodBoolean>>;
|
|
182
|
+
notes: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
183
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
184
|
+
};
|
|
185
|
+
handler: ({ profile_id, ...rest }: {
|
|
186
|
+
profile_id: string;
|
|
187
|
+
[k: string]: unknown;
|
|
188
|
+
}) => Promise<string>;
|
|
189
|
+
})[];
|
|
190
|
+
//# sourceMappingURL=profiles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.d.ts","sourceRoot":"","sources":["../../src/tools/profiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,eAAe;;;;;CAK3B,CAAC;AAGF,eAAO,MAAM,eAAe;;;;;CAK3B,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;iBAIJ;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAC3C,CAAC;AAGF,eAAO,MAAM,UAAU;;;;;;;8BAOW;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAE5E,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;sBAoBA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAEhD,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;uCAciB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;CAEtF,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;8BAOQ;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAE5E,CAAC;AAGF,eAAO,MAAM,aAAa;;;;;;;8BAOQ;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAE5E,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;8BAOU;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAE5E,CAAC;AAGF,eAAO,MAAM,gBAAgB;;;;;;;8BAOK;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAE5E,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;iBA3GJ;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;8BAWV;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;sBAyBnD,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;;;;uCAmBN;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;IA+DtF,CAAC"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { apiGet, apiPost, apiDel } from "../manager-client.js";
|
|
3
|
+
// 1. get_system_status
|
|
4
|
+
export const getSystemStatus = {
|
|
5
|
+
name: "get_system_status",
|
|
6
|
+
description: "Get the AgentOne Browser system status including running profile count, binary version, and total profiles.",
|
|
7
|
+
schema: {},
|
|
8
|
+
handler: async () => apiGet("/api/status", false),
|
|
9
|
+
};
|
|
10
|
+
// 2. check_auth_status
|
|
11
|
+
export const checkAuthStatus = {
|
|
12
|
+
name: "check_auth_status",
|
|
13
|
+
description: "Check whether authentication is enabled on the server.",
|
|
14
|
+
schema: {},
|
|
15
|
+
handler: async () => apiGet("/api/auth/status", false),
|
|
16
|
+
};
|
|
17
|
+
// 3. list_profiles
|
|
18
|
+
export const listProfiles = {
|
|
19
|
+
name: "list_profiles",
|
|
20
|
+
description: "List all browser profiles with id, name, and running status.",
|
|
21
|
+
schema: { auth_token: z.string().default("").describe("Auth token") },
|
|
22
|
+
handler: async (_) => apiGet("/api/profiles"),
|
|
23
|
+
};
|
|
24
|
+
// 4. get_profile
|
|
25
|
+
export const getProfile = {
|
|
26
|
+
name: "get_profile",
|
|
27
|
+
description: "Get full profile info by ID.",
|
|
28
|
+
schema: {
|
|
29
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
30
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
31
|
+
},
|
|
32
|
+
handler: async ({ profile_id }) => apiGet(`/api/profiles/${profile_id}`),
|
|
33
|
+
};
|
|
34
|
+
// 5. create_profile
|
|
35
|
+
export const createProfile = {
|
|
36
|
+
name: "create_profile",
|
|
37
|
+
description: "Create a new browser profile.",
|
|
38
|
+
schema: {
|
|
39
|
+
name: z.string().describe("Profile name"),
|
|
40
|
+
fingerprint_seed: z.number().nullable().default(null).describe("Fingerprint seed"),
|
|
41
|
+
proxy: z.string().nullable().default(null).describe("Proxy URL"),
|
|
42
|
+
timezone: z.string().nullable().default(null).describe("Timezone"),
|
|
43
|
+
locale: z.string().nullable().default(null).describe("Locale"),
|
|
44
|
+
platform: z.string().default("windows").describe("Platform: windows, mac, linux"),
|
|
45
|
+
user_agent: z.string().nullable().default(null).describe("Custom user agent"),
|
|
46
|
+
screen_width: z.number().default(1920),
|
|
47
|
+
screen_height: z.number().default(1080),
|
|
48
|
+
headless: z.boolean().default(false),
|
|
49
|
+
geoip: z.boolean().default(false),
|
|
50
|
+
clipboard_sync: z.boolean().default(true),
|
|
51
|
+
auto_launch: z.boolean().default(false),
|
|
52
|
+
notes: z.string().nullable().default(null).describe("Profile notes"),
|
|
53
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
54
|
+
},
|
|
55
|
+
handler: async (params) => apiPost("/api/profiles", params),
|
|
56
|
+
};
|
|
57
|
+
// 6. update_profile
|
|
58
|
+
export const updateProfile = {
|
|
59
|
+
name: "update_profile",
|
|
60
|
+
description: "Update an existing browser profile.",
|
|
61
|
+
schema: {
|
|
62
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
63
|
+
name: z.string().nullable().default(null),
|
|
64
|
+
proxy: z.string().nullable().default(null),
|
|
65
|
+
timezone: z.string().nullable().default(null),
|
|
66
|
+
locale: z.string().nullable().default(null),
|
|
67
|
+
platform: z.string().nullable().default(null),
|
|
68
|
+
headless: z.boolean().nullable().default(null),
|
|
69
|
+
notes: z.string().nullable().default(null),
|
|
70
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
71
|
+
},
|
|
72
|
+
handler: async ({ profile_id, ...rest }) => apiPost(`/api/profiles/${profile_id}`, rest),
|
|
73
|
+
};
|
|
74
|
+
// 7. delete_profile
|
|
75
|
+
export const deleteProfile = {
|
|
76
|
+
name: "delete_profile",
|
|
77
|
+
description: "Delete a browser profile and its data.",
|
|
78
|
+
schema: {
|
|
79
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
80
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
81
|
+
},
|
|
82
|
+
handler: async ({ profile_id }) => apiDel(`/api/profiles/${profile_id}`),
|
|
83
|
+
};
|
|
84
|
+
// 8. launch_profile
|
|
85
|
+
export const launchProfile = {
|
|
86
|
+
name: "launch_profile",
|
|
87
|
+
description: "Launch a browser profile. Returns CDP URL and VNC WebSocket port.",
|
|
88
|
+
schema: {
|
|
89
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
90
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
91
|
+
},
|
|
92
|
+
handler: async ({ profile_id }) => apiPost(`/api/profiles/${profile_id}/launch`),
|
|
93
|
+
};
|
|
94
|
+
// 9. stop_profile
|
|
95
|
+
export const stopProfile = {
|
|
96
|
+
name: "stop_profile",
|
|
97
|
+
description: "Stop a running browser profile.",
|
|
98
|
+
schema: {
|
|
99
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
100
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
101
|
+
},
|
|
102
|
+
handler: async ({ profile_id }) => apiPost(`/api/profiles/${profile_id}/stop`),
|
|
103
|
+
};
|
|
104
|
+
// 10. get_profile_status
|
|
105
|
+
export const getProfileStatus = {
|
|
106
|
+
name: "get_profile_status",
|
|
107
|
+
description: "Get the running/stopped status of a profile, including CDP URL and VNC port if running.",
|
|
108
|
+
schema: {
|
|
109
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
110
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
111
|
+
},
|
|
112
|
+
handler: async ({ profile_id }) => apiGet(`/api/profiles/${profile_id}/status`),
|
|
113
|
+
};
|
|
114
|
+
export const profileTools = [
|
|
115
|
+
getSystemStatus,
|
|
116
|
+
checkAuthStatus,
|
|
117
|
+
listProfiles,
|
|
118
|
+
getProfile,
|
|
119
|
+
createProfile,
|
|
120
|
+
updateProfile,
|
|
121
|
+
deleteProfile,
|
|
122
|
+
launchProfile,
|
|
123
|
+
stopProfile,
|
|
124
|
+
getProfileStatus,
|
|
125
|
+
];
|
|
126
|
+
//# sourceMappingURL=profiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/tools/profiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const getSession: {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
schema: {
|
|
6
|
+
profile_id: z.ZodString;
|
|
7
|
+
format: z.ZodDefault<z.ZodString>;
|
|
8
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
9
|
+
};
|
|
10
|
+
handler: ({ profile_id, ...rest }: {
|
|
11
|
+
profile_id: string;
|
|
12
|
+
[k: string]: unknown;
|
|
13
|
+
}) => Promise<string>;
|
|
14
|
+
};
|
|
15
|
+
export declare const refreshSession: {
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
schema: {
|
|
19
|
+
profile_id: z.ZodString;
|
|
20
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
21
|
+
};
|
|
22
|
+
handler: ({ profile_id }: {
|
|
23
|
+
profile_id: string;
|
|
24
|
+
auth_token?: string;
|
|
25
|
+
}) => Promise<string>;
|
|
26
|
+
};
|
|
27
|
+
export declare const getRpcTokens: {
|
|
28
|
+
name: string;
|
|
29
|
+
description: string;
|
|
30
|
+
schema: {
|
|
31
|
+
profile_id: z.ZodString;
|
|
32
|
+
service_url: z.ZodDefault<z.ZodString>;
|
|
33
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
34
|
+
};
|
|
35
|
+
handler: ({ profile_id, ...rest }: {
|
|
36
|
+
profile_id: string;
|
|
37
|
+
[k: string]: unknown;
|
|
38
|
+
}) => Promise<string>;
|
|
39
|
+
};
|
|
40
|
+
export declare const listSessions: {
|
|
41
|
+
name: string;
|
|
42
|
+
description: string;
|
|
43
|
+
schema: {
|
|
44
|
+
account: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
45
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
46
|
+
};
|
|
47
|
+
handler: (_: {
|
|
48
|
+
account?: number;
|
|
49
|
+
auth_token?: string;
|
|
50
|
+
}) => Promise<string>;
|
|
51
|
+
};
|
|
52
|
+
export declare const sessionTools: ({
|
|
53
|
+
name: string;
|
|
54
|
+
description: string;
|
|
55
|
+
schema: {
|
|
56
|
+
profile_id: z.ZodString;
|
|
57
|
+
format: z.ZodDefault<z.ZodString>;
|
|
58
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
59
|
+
};
|
|
60
|
+
handler: ({ profile_id, ...rest }: {
|
|
61
|
+
profile_id: string;
|
|
62
|
+
[k: string]: unknown;
|
|
63
|
+
}) => Promise<string>;
|
|
64
|
+
} | {
|
|
65
|
+
name: string;
|
|
66
|
+
description: string;
|
|
67
|
+
schema: {
|
|
68
|
+
profile_id: z.ZodString;
|
|
69
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
70
|
+
};
|
|
71
|
+
handler: ({ profile_id }: {
|
|
72
|
+
profile_id: string;
|
|
73
|
+
auth_token?: string;
|
|
74
|
+
}) => Promise<string>;
|
|
75
|
+
} | {
|
|
76
|
+
name: string;
|
|
77
|
+
description: string;
|
|
78
|
+
schema: {
|
|
79
|
+
profile_id: z.ZodString;
|
|
80
|
+
service_url: z.ZodDefault<z.ZodString>;
|
|
81
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
82
|
+
};
|
|
83
|
+
handler: ({ profile_id, ...rest }: {
|
|
84
|
+
profile_id: string;
|
|
85
|
+
[k: string]: unknown;
|
|
86
|
+
}) => Promise<string>;
|
|
87
|
+
} | {
|
|
88
|
+
name: string;
|
|
89
|
+
description: string;
|
|
90
|
+
schema: {
|
|
91
|
+
account: z.ZodDefault<z.ZodNullable<z.ZodNumber>>;
|
|
92
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
93
|
+
};
|
|
94
|
+
handler: (_: {
|
|
95
|
+
account?: number;
|
|
96
|
+
auth_token?: string;
|
|
97
|
+
}) => Promise<string>;
|
|
98
|
+
})[];
|
|
99
|
+
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/tools/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,UAAU;;;;;;;;uCAQoB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;CAEtF,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;;;8BAOO;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAE5E,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;;uCAQkB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;CAEtF,CAAC;AAGF,eAAO,MAAM,YAAY;;;;;;;iBAOJ;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAE7D,CAAC;AAEF,eAAO,MAAM,YAAY;;;;;;;;uCAzCkB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;;;;;;;;8BAYrD;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;uCAalC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;;;;;;;;iBAYlE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAS7D,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { apiGet, apiPost } from "../manager-client.js";
|
|
3
|
+
// 11. get_session
|
|
4
|
+
export const getSession = {
|
|
5
|
+
name: "get_session",
|
|
6
|
+
description: "Get session cookies for a profile. Auto-extracts if stale.",
|
|
7
|
+
schema: {
|
|
8
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
9
|
+
format: z.string().default("full").describe("Output format"),
|
|
10
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
11
|
+
},
|
|
12
|
+
handler: async ({ profile_id, ...rest }) => apiPost(`/api/profiles/${profile_id}/session`, rest),
|
|
13
|
+
};
|
|
14
|
+
// 12. refresh_session
|
|
15
|
+
export const refreshSession = {
|
|
16
|
+
name: "refresh_session",
|
|
17
|
+
description: "Force-refresh session cookies for a profile (running or stopped).",
|
|
18
|
+
schema: {
|
|
19
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
20
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
21
|
+
},
|
|
22
|
+
handler: async ({ profile_id }) => apiPost(`/api/profiles/${profile_id}/session/refresh`),
|
|
23
|
+
};
|
|
24
|
+
// 13. get_rpc_tokens
|
|
25
|
+
export const getRpcTokens = {
|
|
26
|
+
name: "get_rpc_tokens",
|
|
27
|
+
description: "Extract CSRF token + session ID from a running browser for RPC calls.",
|
|
28
|
+
schema: {
|
|
29
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
30
|
+
service_url: z.string().default("https://notebooklm.google.com/").describe("Service URL to extract tokens from"),
|
|
31
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
32
|
+
},
|
|
33
|
+
handler: async ({ profile_id, ...rest }) => apiPost(`/api/profiles/${profile_id}/rpc-tokens`, rest),
|
|
34
|
+
};
|
|
35
|
+
// 14. list_sessions
|
|
36
|
+
export const listSessions = {
|
|
37
|
+
name: "list_sessions",
|
|
38
|
+
description: "List all sessions, optionally filtered by account ID.",
|
|
39
|
+
schema: {
|
|
40
|
+
account: z.number().nullable().default(null).describe("Filter by account ID"),
|
|
41
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
42
|
+
},
|
|
43
|
+
handler: async (_) => apiGet("/api/sessions"),
|
|
44
|
+
};
|
|
45
|
+
export const sessionTools = [
|
|
46
|
+
getSession,
|
|
47
|
+
refreshSession,
|
|
48
|
+
getRpcTokens,
|
|
49
|
+
listSessions,
|
|
50
|
+
];
|
|
51
|
+
//# sourceMappingURL=sessions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/tools/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEvD,kBAAkB;AAClB,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,4DAA4D;IACzE,MAAM,EAAE;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC/C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC;QAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC1D;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,EAAgD,EAAE,EAAE,CACvF,OAAO,CAAC,iBAAiB,UAAU,UAAU,EAAE,IAAI,CAAC;CACvD,CAAC;AAEF,sBAAsB;AACtB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,mEAAmE;IAChF,MAAM,EAAE;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC1D;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAA+C,EAAE,EAAE,CAC7E,OAAO,CAAC,iBAAiB,UAAU,kBAAkB,CAAC;CACzD,CAAC;AAEF,qBAAqB;AACrB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,uEAAuE;IACpF,MAAM,EAAE;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC/C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAChH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC1D;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,EAAgD,EAAE,EAAE,CACvF,OAAO,CAAC,iBAAiB,UAAU,aAAa,EAAE,IAAI,CAAC;CAC1D,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,uDAAuD;IACpE,MAAM,EAAE;QACN,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC7E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC1D;IACD,OAAO,EAAE,KAAK,EAAE,CAA4C,EAAE,EAAE,CAC9D,MAAM,CAAC,eAAe,CAAC;CAC1B,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,UAAU;IACV,cAAc;IACd,YAAY;IACZ,YAAY;CACb,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const getCdpInfo: {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
schema: {
|
|
6
|
+
profile_id: z.ZodString;
|
|
7
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
8
|
+
};
|
|
9
|
+
handler: ({ profile_id }: {
|
|
10
|
+
profile_id: string;
|
|
11
|
+
auth_token?: string;
|
|
12
|
+
}) => Promise<string>;
|
|
13
|
+
};
|
|
14
|
+
export declare const systemTools: {
|
|
15
|
+
name: string;
|
|
16
|
+
description: string;
|
|
17
|
+
schema: {
|
|
18
|
+
profile_id: z.ZodString;
|
|
19
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
20
|
+
};
|
|
21
|
+
handler: ({ profile_id }: {
|
|
22
|
+
profile_id: string;
|
|
23
|
+
auth_token?: string;
|
|
24
|
+
}) => Promise<string>;
|
|
25
|
+
}[];
|
|
26
|
+
//# sourceMappingURL=system.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,UAAU;;;;;;;8BAOW;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;CAE5E,CAAC;AAEF,eAAO,MAAM,WAAW;;;;;;;8BAJU;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;GAItC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { apiGet } from "../manager-client.js";
|
|
3
|
+
// 17. get_cdp_info
|
|
4
|
+
export const getCdpInfo = {
|
|
5
|
+
name: "get_cdp_info",
|
|
6
|
+
description: "Get CDP (Chrome DevTools Protocol) connection info for a running profile.",
|
|
7
|
+
schema: {
|
|
8
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
9
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
10
|
+
},
|
|
11
|
+
handler: async ({ profile_id }) => apiGet(`/api/profiles/${profile_id}/cdp`),
|
|
12
|
+
};
|
|
13
|
+
export const systemTools = [getCdpInfo];
|
|
14
|
+
//# sourceMappingURL=system.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.js","sourceRoot":"","sources":["../../src/tools/system.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,mBAAmB;AACnB,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,2EAA2E;IACxF,MAAM,EAAE;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC/C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;KAC1D;IACD,OAAO,EAAE,KAAK,EAAE,EAAE,UAAU,EAA+C,EAAE,EAAE,CAC7E,MAAM,CAAC,iBAAiB,UAAU,MAAM,CAAC;CAC5C,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const executeTask: {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
schema: {
|
|
6
|
+
profile_id: z.ZodString;
|
|
7
|
+
actions: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
|
|
8
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
9
|
+
auto_launch: z.ZodDefault<z.ZodBoolean>;
|
|
10
|
+
return_cookies: z.ZodDefault<z.ZodBoolean>;
|
|
11
|
+
return_snapshot: z.ZodDefault<z.ZodBoolean>;
|
|
12
|
+
screenshot: z.ZodDefault<z.ZodBoolean>;
|
|
13
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
14
|
+
};
|
|
15
|
+
handler: ({ profile_id, ...rest }: {
|
|
16
|
+
profile_id: string;
|
|
17
|
+
[k: string]: unknown;
|
|
18
|
+
}) => Promise<string>;
|
|
19
|
+
};
|
|
20
|
+
export declare const navigate: {
|
|
21
|
+
name: string;
|
|
22
|
+
description: string;
|
|
23
|
+
schema: {
|
|
24
|
+
profile_id: z.ZodString;
|
|
25
|
+
url: z.ZodString;
|
|
26
|
+
wait_until: z.ZodDefault<z.ZodString>;
|
|
27
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
28
|
+
};
|
|
29
|
+
handler: ({ profile_id, url, wait_until, ...rest }: {
|
|
30
|
+
profile_id: string;
|
|
31
|
+
url: string;
|
|
32
|
+
wait_until?: string;
|
|
33
|
+
[k: string]: unknown;
|
|
34
|
+
}) => Promise<string>;
|
|
35
|
+
};
|
|
36
|
+
export declare const extractPage: {
|
|
37
|
+
name: string;
|
|
38
|
+
description: string;
|
|
39
|
+
schema: {
|
|
40
|
+
profile_id: z.ZodString;
|
|
41
|
+
selector: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
42
|
+
attr: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
43
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
44
|
+
};
|
|
45
|
+
handler: ({ profile_id, selector, attr, ...rest }: {
|
|
46
|
+
profile_id: string;
|
|
47
|
+
selector?: string | null;
|
|
48
|
+
attr?: string | null;
|
|
49
|
+
[k: string]: unknown;
|
|
50
|
+
}) => Promise<string>;
|
|
51
|
+
};
|
|
52
|
+
export declare const takeScreenshot: {
|
|
53
|
+
name: string;
|
|
54
|
+
description: string;
|
|
55
|
+
schema: {
|
|
56
|
+
profile_id: z.ZodString;
|
|
57
|
+
full_page: z.ZodDefault<z.ZodBoolean>;
|
|
58
|
+
include_base64: z.ZodDefault<z.ZodBoolean>;
|
|
59
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
60
|
+
};
|
|
61
|
+
handler: ({ profile_id, full_page, include_base64, ...rest }: {
|
|
62
|
+
profile_id: string;
|
|
63
|
+
full_page?: boolean;
|
|
64
|
+
include_base64?: boolean;
|
|
65
|
+
[k: string]: unknown;
|
|
66
|
+
}) => Promise<string>;
|
|
67
|
+
};
|
|
68
|
+
export declare const browserSnapshot: {
|
|
69
|
+
name: string;
|
|
70
|
+
description: string;
|
|
71
|
+
schema: {
|
|
72
|
+
profile_id: z.ZodString;
|
|
73
|
+
interactive: z.ZodDefault<z.ZodBoolean>;
|
|
74
|
+
compact: z.ZodDefault<z.ZodBoolean>;
|
|
75
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
76
|
+
};
|
|
77
|
+
handler: ({ profile_id, ...rest }: {
|
|
78
|
+
profile_id: string;
|
|
79
|
+
[k: string]: unknown;
|
|
80
|
+
}) => Promise<string>;
|
|
81
|
+
};
|
|
82
|
+
export declare const taskTools: ({
|
|
83
|
+
name: string;
|
|
84
|
+
description: string;
|
|
85
|
+
schema: {
|
|
86
|
+
profile_id: z.ZodString;
|
|
87
|
+
actions: z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">;
|
|
88
|
+
timeout: z.ZodDefault<z.ZodNumber>;
|
|
89
|
+
auto_launch: z.ZodDefault<z.ZodBoolean>;
|
|
90
|
+
return_cookies: z.ZodDefault<z.ZodBoolean>;
|
|
91
|
+
return_snapshot: z.ZodDefault<z.ZodBoolean>;
|
|
92
|
+
screenshot: z.ZodDefault<z.ZodBoolean>;
|
|
93
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
94
|
+
};
|
|
95
|
+
handler: ({ profile_id, ...rest }: {
|
|
96
|
+
profile_id: string;
|
|
97
|
+
[k: string]: unknown;
|
|
98
|
+
}) => Promise<string>;
|
|
99
|
+
} | {
|
|
100
|
+
name: string;
|
|
101
|
+
description: string;
|
|
102
|
+
schema: {
|
|
103
|
+
profile_id: z.ZodString;
|
|
104
|
+
url: z.ZodString;
|
|
105
|
+
wait_until: z.ZodDefault<z.ZodString>;
|
|
106
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
107
|
+
};
|
|
108
|
+
handler: ({ profile_id, url, wait_until, ...rest }: {
|
|
109
|
+
profile_id: string;
|
|
110
|
+
url: string;
|
|
111
|
+
wait_until?: string;
|
|
112
|
+
[k: string]: unknown;
|
|
113
|
+
}) => Promise<string>;
|
|
114
|
+
} | {
|
|
115
|
+
name: string;
|
|
116
|
+
description: string;
|
|
117
|
+
schema: {
|
|
118
|
+
profile_id: z.ZodString;
|
|
119
|
+
selector: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
120
|
+
attr: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
121
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
122
|
+
};
|
|
123
|
+
handler: ({ profile_id, selector, attr, ...rest }: {
|
|
124
|
+
profile_id: string;
|
|
125
|
+
selector?: string | null;
|
|
126
|
+
attr?: string | null;
|
|
127
|
+
[k: string]: unknown;
|
|
128
|
+
}) => Promise<string>;
|
|
129
|
+
} | {
|
|
130
|
+
name: string;
|
|
131
|
+
description: string;
|
|
132
|
+
schema: {
|
|
133
|
+
profile_id: z.ZodString;
|
|
134
|
+
full_page: z.ZodDefault<z.ZodBoolean>;
|
|
135
|
+
include_base64: z.ZodDefault<z.ZodBoolean>;
|
|
136
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
137
|
+
};
|
|
138
|
+
handler: ({ profile_id, full_page, include_base64, ...rest }: {
|
|
139
|
+
profile_id: string;
|
|
140
|
+
full_page?: boolean;
|
|
141
|
+
include_base64?: boolean;
|
|
142
|
+
[k: string]: unknown;
|
|
143
|
+
}) => Promise<string>;
|
|
144
|
+
} | {
|
|
145
|
+
name: string;
|
|
146
|
+
description: string;
|
|
147
|
+
schema: {
|
|
148
|
+
profile_id: z.ZodString;
|
|
149
|
+
interactive: z.ZodDefault<z.ZodBoolean>;
|
|
150
|
+
compact: z.ZodDefault<z.ZodBoolean>;
|
|
151
|
+
auth_token: z.ZodDefault<z.ZodString>;
|
|
152
|
+
};
|
|
153
|
+
handler: ({ profile_id, ...rest }: {
|
|
154
|
+
profile_id: string;
|
|
155
|
+
[k: string]: unknown;
|
|
156
|
+
}) => Promise<string>;
|
|
157
|
+
})[];
|
|
158
|
+
//# sourceMappingURL=tasks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,WAAW;;;;;;;;;;;;;uCAamB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;CAEtF,CAAC;AAGF,eAAO,MAAM,QAAQ;;;;;;;;;wDASuC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;CAKzI,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;uDASmC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;CAMtJ,CAAC;AAGF,eAAO,MAAM,cAAc;;;;;;;;;kEAS2C;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;CAEhK,CAAC;AAGF,eAAO,MAAM,eAAe;;;;;;;;;uCASe;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;CAMtF,CAAC;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;uCAvEqB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;;;;;;;;;;wDAc3B;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;;;;;;;;;;uDAiB/E;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;;;;;;;;;;kEAkBjF;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;;;;;;;;;;uCActH;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE;IActF,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { apiPost } from "../manager-client.js";
|
|
3
|
+
// 18. execute_task
|
|
4
|
+
export const executeTask = {
|
|
5
|
+
name: "execute_task",
|
|
6
|
+
description: "Execute a sequence of browser actions on a profile. Valid action types: goto, click, fill, type, press, select, scroll, hover, wait, extract, screenshot, snapshot, js, cookies, get_title, get_url.",
|
|
7
|
+
schema: {
|
|
8
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
9
|
+
actions: z.array(z.record(z.unknown())).describe("Array of action dicts, each with a 'type' key"),
|
|
10
|
+
timeout: z.number().default(30).describe("Wall-clock timeout in seconds"),
|
|
11
|
+
auto_launch: z.boolean().default(true).describe("Launch profile if stopped"),
|
|
12
|
+
return_cookies: z.boolean().default(false).describe("Collect cookies after execution"),
|
|
13
|
+
return_snapshot: z.boolean().default(false).describe("Take accessibility snapshot after execution"),
|
|
14
|
+
screenshot: z.boolean().default(false).describe("Take screenshot after execution"),
|
|
15
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
16
|
+
},
|
|
17
|
+
handler: async ({ profile_id, ...rest }) => apiPost(`/api/profiles/${profile_id}/execute`, rest),
|
|
18
|
+
};
|
|
19
|
+
// 19. navigate
|
|
20
|
+
export const navigate = {
|
|
21
|
+
name: "navigate",
|
|
22
|
+
description: "Navigate a running profile to a URL. Returns page URL and title.",
|
|
23
|
+
schema: {
|
|
24
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
25
|
+
url: z.string().describe("URL to navigate to"),
|
|
26
|
+
wait_until: z.string().default("load").describe("Wait condition: load, domcontentloaded, networkidle"),
|
|
27
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
28
|
+
},
|
|
29
|
+
handler: async ({ profile_id, url, wait_until, ...rest }) => apiPost(`/api/profiles/${profile_id}/execute`, {
|
|
30
|
+
...rest,
|
|
31
|
+
actions: [{ type: "goto", url, wait_until }],
|
|
32
|
+
}),
|
|
33
|
+
};
|
|
34
|
+
// 20. extract_page
|
|
35
|
+
export const extractPage = {
|
|
36
|
+
name: "extract_page",
|
|
37
|
+
description: "Extract text from a page. If selector is given, extract from that element. If attr is given, extract that attribute instead of text.",
|
|
38
|
+
schema: {
|
|
39
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
40
|
+
selector: z.string().nullable().default(null).describe("CSS selector to extract from"),
|
|
41
|
+
attr: z.string().nullable().default(null).describe("Attribute to extract instead of text"),
|
|
42
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
43
|
+
},
|
|
44
|
+
handler: async ({ profile_id, selector, attr, ...rest }) => {
|
|
45
|
+
const action = { type: "extract" };
|
|
46
|
+
if (selector)
|
|
47
|
+
action.selector = selector;
|
|
48
|
+
if (attr)
|
|
49
|
+
action.attr = attr;
|
|
50
|
+
return apiPost(`/api/profiles/${profile_id}/execute`, { ...rest, actions: [action] });
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
// 21. take_screenshot
|
|
54
|
+
export const takeScreenshot = {
|
|
55
|
+
name: "take_screenshot",
|
|
56
|
+
description: "Take a screenshot of a running profile's current page. Returns screenshot URL and base64 image data.",
|
|
57
|
+
schema: {
|
|
58
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
59
|
+
full_page: z.boolean().default(false).describe("Capture full page, not just viewport"),
|
|
60
|
+
include_base64: z.boolean().default(true).describe("Include base64-encoded image data"),
|
|
61
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
62
|
+
},
|
|
63
|
+
handler: async ({ profile_id, full_page, include_base64, ...rest }) => apiPost(`/api/profiles/${profile_id}/screenshot`, { ...rest, full_page, include_base64 }),
|
|
64
|
+
};
|
|
65
|
+
// 22. browser_snapshot
|
|
66
|
+
export const browserSnapshot = {
|
|
67
|
+
name: "browser_snapshot",
|
|
68
|
+
description: "Take an accessibility snapshot of the current page. Returns a tree of elements with @e references and a ref_map for interaction.",
|
|
69
|
+
schema: {
|
|
70
|
+
profile_id: z.string().describe("Profile UUID"),
|
|
71
|
+
interactive: z.boolean().default(false).describe("Include interactive element details"),
|
|
72
|
+
compact: z.boolean().default(true).describe("Compact output format"),
|
|
73
|
+
auth_token: z.string().default("").describe("Auth token"),
|
|
74
|
+
},
|
|
75
|
+
handler: async ({ profile_id, ...rest }) => apiPost(`/api/profiles/${profile_id}/execute`, {
|
|
76
|
+
...rest,
|
|
77
|
+
actions: [{ type: "snapshot" }],
|
|
78
|
+
return_snapshot: true,
|
|
79
|
+
}),
|
|
80
|
+
};
|
|
81
|
+
export const taskTools = [
|
|
82
|
+
executeTask,
|
|
83
|
+
navigate,
|
|
84
|
+
extractPage,
|
|
85
|
+
takeScreenshot,
|
|
86
|
+
browserSnapshot,
|
|
87
|
+
];
|
|
88
|
+
//# sourceMappingURL=tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/tools/tasks.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const MAX_OUTPUT_BYTES = 50000;
|
|
2
|
+
export declare const TRUNCATION_MARKER = "\n...[truncated at 50KB]";
|
|
3
|
+
/** Truncate a string to 50KB with a marker. */
|
|
4
|
+
export declare function truncateOutput(text: string): string;
|
|
5
|
+
/** Safely stringify + truncate. */
|
|
6
|
+
export declare function safeJsonTruncate(obj: unknown): string;
|
|
7
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAE5D,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAGrD"}
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export const MAX_OUTPUT_BYTES = 50_000;
|
|
2
|
+
export const TRUNCATION_MARKER = "\n...[truncated at 50KB]";
|
|
3
|
+
/** Truncate a string to 50KB with a marker. */
|
|
4
|
+
export function truncateOutput(text) {
|
|
5
|
+
if (Buffer.byteLength(text, "utf-8") <= MAX_OUTPUT_BYTES)
|
|
6
|
+
return text;
|
|
7
|
+
// Slice conservatively then trim to exact byte limit
|
|
8
|
+
let sliced = text.slice(0, MAX_OUTPUT_BYTES);
|
|
9
|
+
while (Buffer.byteLength(sliced, "utf-8") > MAX_OUTPUT_BYTES - Buffer.byteLength(TRUNCATION_MARKER, "utf-8")) {
|
|
10
|
+
sliced = sliced.slice(0, -100);
|
|
11
|
+
}
|
|
12
|
+
return sliced + TRUNCATION_MARKER;
|
|
13
|
+
}
|
|
14
|
+
/** Safely stringify + truncate. */
|
|
15
|
+
export function safeJsonTruncate(obj) {
|
|
16
|
+
const json = JSON.stringify(obj, null, 2);
|
|
17
|
+
return truncateOutput(json);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACvC,MAAM,CAAC,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;AAE5D,+CAA+C;AAC/C,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,gBAAgB;QAAE,OAAO,IAAI,CAAC;IACtE,qDAAqD;IACrD,IAAI,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;IAC7C,OAAO,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7G,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,GAAG,iBAAiB,CAAC;AACpC,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,gBAAgB,CAAC,GAAY;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1C,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@agent-one/browser-mcp-server",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "MCP server for AgentOne Browser — 22 tools for anti-detection browser automation, profile management, session extraction, and task execution",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"bin": {
|
|
9
|
+
"agentone-browser-mcp": "./dist/index.js"
|
|
10
|
+
},
|
|
11
|
+
"files": [
|
|
12
|
+
"dist"
|
|
13
|
+
],
|
|
14
|
+
"keywords": [
|
|
15
|
+
"mcp",
|
|
16
|
+
"agentone",
|
|
17
|
+
"anti-detection",
|
|
18
|
+
"browser-automation",
|
|
19
|
+
"playwright",
|
|
20
|
+
"ai-agent"
|
|
21
|
+
],
|
|
22
|
+
"license": "MIT",
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": ">=20.0.0"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
28
|
+
"zod": "^3.24.0"
|
|
29
|
+
},
|
|
30
|
+
"devDependencies": {
|
|
31
|
+
"@types/node": "^20.10.0",
|
|
32
|
+
"typescript": "^5.3.0"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"build": "tsc",
|
|
36
|
+
"typecheck": "tsc --noEmit",
|
|
37
|
+
"start": "node dist/index.js"
|
|
38
|
+
}
|
|
39
|
+
}
|