@weavetab/mcp 2.5.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +49 -49
- package/ARCHITECTURE.md +590 -590
- package/LICENSE +216 -216
- package/README.md +269 -269
- package/SECURITY.md +207 -207
- package/TROUBLESHOOTING.md +373 -365
- package/dist/anticaptcha/detector.js +395 -395
- package/dist/anticaptcha/solver.js +130 -130
- package/dist/cdp/bridge.js +73 -73
- package/dist/cdp/connector.js +46 -22
- package/dist/cdp/extension.js +34 -34
- package/dist/cdp/helpers.js +174 -174
- package/dist/cdp/pruner.js +195 -195
- package/dist/cdp/ref_cache.js +66 -66
- package/dist/cdp/security.js +10 -10
- package/dist/cdp/verify.js +57 -57
- package/dist/cdp/walker.js +563 -525
- package/dist/cli/plugin.js +26 -3
- package/dist/config/loader.d.ts +0 -3
- package/dist/config/loader.js +0 -9
- package/dist/index.js +0 -4
- package/dist/intelligence/intent.js +81 -81
- package/dist/intelligence/sessionMemory.js +2 -2
- package/dist/overlay/ghost.js +22 -22
- package/dist/overlay/injector.js +89 -89
- package/dist/plugin/extension_bridge.js +54 -54
- package/dist/plugin/interface.d.ts +7 -0
- package/dist/plugin/loader.js +3 -4
- package/dist/plugin/schema.d.ts +11 -0
- package/dist/plugin/schema.js +59 -0
- package/dist/security/guard.js +18 -18
- package/dist/sensors/actionability.js +167 -167
- package/dist/sensors/guard.js +29 -29
- package/dist/sensors/network.js +15 -17
- package/dist/server.d.ts +1 -1
- package/dist/server.js +173 -144
- package/dist/state/delta.js +6 -7
- package/dist/tools/automation.js +85 -85
- package/dist/tools/canvas.js +48 -25
- package/dist/tools/checkpoint.js +94 -35
- package/dist/tools/click.js +52 -41
- package/dist/tools/clipboard.js +80 -74
- package/dist/tools/design_extract.js +441 -441
- package/dist/tools/dialog.js +13 -13
- package/dist/tools/emulation.d.ts +2 -0
- package/dist/tools/emulation.js +7 -0
- package/dist/tools/fill.js +344 -347
- package/dist/tools/find.js +78 -52
- package/dist/tools/highlight.js +67 -67
- package/dist/tools/inspect.js +54 -25
- package/dist/tools/key.js +42 -35
- package/dist/tools/navigate.d.ts +1 -1
- package/dist/tools/navigate.js +35 -35
- package/dist/tools/office/parse.js +62 -18
- package/dist/tools/pdf.d.ts +9 -0
- package/dist/tools/pdf.js +7 -4
- package/dist/tools/performance.d.ts +11 -4
- package/dist/tools/performance.js +94 -42
- package/dist/tools/performance_test.d.ts +2 -2
- package/dist/tools/performance_test.js +69 -69
- package/dist/tools/pointer.js +116 -116
- package/dist/tools/read.js +99 -67
- package/dist/tools/recording.js +9 -0
- package/dist/tools/scrape.js +146 -146
- package/dist/tools/screenshot.d.ts +2 -0
- package/dist/tools/screenshot.js +46 -4
- package/dist/tools/scroll.d.ts +3 -1
- package/dist/tools/scroll.js +13 -15
- package/dist/tools/select.d.ts +3 -0
- package/dist/tools/select.js +131 -124
- package/dist/tools/snapshot.js +8 -6
- package/dist/tools/storage.d.ts +5 -1
- package/dist/tools/storage.js +16 -0
- package/dist/tools/tabs.d.ts +7 -5
- package/dist/tools/tabs.js +79 -26
- package/dist/tools/thought.js +8 -8
- package/dist/tools/type.js +274 -274
- package/dist/tools/type_secret.js +23 -23
- package/dist/tools/upload.js +3 -3
- package/dist/tools/video_compiler.js +9 -0
- package/dist/tools/wait.js +35 -35
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/docs/DOCUMENTATION.md +583 -585
- package/docs/PLUGINS.md +139 -121
- package/docs/TOOLS.md +3 -4
- package/docs/architecture/blind-injection.md +83 -83
- package/docs/architecture/overview.md +49 -49
- package/docs/architecture/security.md +36 -36
- package/docs/architecture/transport.md +37 -37
- package/docs/cli/cli-commands.md +50 -50
- package/docs/cli/cli-flags.md +28 -28
- package/docs/cli/cli-scripting.md +35 -35
- package/docs/configuration/config-locations.md +23 -23
- package/docs/configuration/configuration.md +39 -27
- package/docs/configuration/env-variables.md +19 -19
- package/docs/configuration/folders.md +62 -55
- package/docs/desktop-automation/electron-apps.md +225 -214
- package/docs/get-started/installation.md +1 -1
- package/docs/get-started/introduction.md +60 -60
- package/docs/get-started/quickstart.md +2 -2
- package/docs/get-started/setup-wizard.md +27 -27
- package/docs/intelligence/site-profiles.md +151 -151
- package/docs/tools/tools.md +582 -631
- package/docs/troubleshooting/trouble-browser.md +27 -27
- package/docs/troubleshooting/trouble-loop.md +31 -31
- package/ext-dist/background.js +415 -415
- package/ext-dist/content.js +2527 -2527
- package/ext-dist/dashboard.html +583 -583
- package/ext-dist/hud/hud.js +3 -3
- package/ext-dist/hud/index.html +20 -20
- package/ext-dist/manifest.json +73 -73
- package/ext-dist/styles.css +223 -223
- package/mcp.json +796 -805
- package/package.json +118 -118
- package/server.json +23 -23
- package/dist/cdp/walker.test.d.ts +0 -2
- package/dist/cdp/walker.test.js +0 -172
- package/dist/intelligence/sessionMemory.test.d.ts +0 -2
- package/dist/intelligence/sessionMemory.test.js +0 -62
- package/dist/intelligence/trail.test.d.ts +0 -2
- package/dist/intelligence/trail.test.js +0 -110
- package/dist/state/cache.test.d.ts +0 -2
- package/dist/state/cache.test.js +0 -76
- package/dist/state/delta.test.d.ts +0 -2
- package/dist/state/delta.test.js +0 -279
- package/dist/state/groups.d.ts +0 -15
- package/dist/state/groups.js +0 -80
- package/dist/tools/accessibility.d.ts +0 -14
- package/dist/tools/accessibility.js +0 -32
- package/dist/tools/ask.d.ts +0 -14
- package/dist/tools/ask.js +0 -49
- package/dist/tools/click_and_wait.d.ts +0 -33
- package/dist/tools/click_and_wait.js +0 -149
- package/dist/tools/drag.d.ts +0 -15
- package/dist/tools/drag.js +0 -29
- package/dist/tools/geo.d.ts +0 -19
- package/dist/tools/geo.js +0 -29
- package/dist/tools/github/analyze.d.ts +0 -4
- package/dist/tools/github/analyze.js +0 -113
- package/dist/tools/github/cache.d.ts +0 -21
- package/dist/tools/github/cache.js +0 -28
- package/dist/tools/github/index.d.ts +0 -19
- package/dist/tools/github/index.js +0 -40
- package/dist/tools/github/issues.d.ts +0 -9
- package/dist/tools/github/issues.js +0 -88
- package/dist/tools/github/pr.d.ts +0 -5
- package/dist/tools/github/pr.js +0 -88
- package/dist/tools/github/rateLimiter.d.ts +0 -4
- package/dist/tools/github/rateLimiter.js +0 -46
- package/dist/tools/github/read.d.ts +0 -34
- package/dist/tools/github/read.js +0 -74
- package/dist/tools/github/repoContext.d.ts +0 -20
- package/dist/tools/github/repoContext.js +0 -129
- package/dist/tools/hover.d.ts +0 -19
- package/dist/tools/hover.js +0 -57
- package/dist/tools/integration.test.d.ts +0 -2
- package/dist/tools/integration.test.js +0 -96
- package/dist/tools/macro_compiler.d.ts +0 -7
- package/dist/tools/macro_compiler.js +0 -82
- package/dist/tools/mouse.d.ts +0 -21
- package/dist/tools/mouse.js +0 -62
- package/dist/tools/response.d.ts +0 -129
- package/dist/tools/response.js +0 -5
- package/dist/tools/wait_for.d.ts +0 -23
- package/dist/tools/wait_for.js +0 -30
- package/dist/tools/windows.d.ts +0 -22
- package/dist/tools/windows.js +0 -57
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Transport Modes"
|
|
3
|
-
description: "stdio vs WebSocket — pick the right wire for your client."
|
|
4
|
-
product: mcp
|
|
5
|
-
section: architecture
|
|
6
|
-
icon: Cable
|
|
7
|
-
slug: transport
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Transport Modes
|
|
11
|
-
|
|
12
|
-
| Mode | Flag | Protocol | Use Case |
|
|
13
|
-
|---|---|---|---|
|
|
14
|
-
| **stdio** | *(default)* | JSON-RPC 2.0 / stdio | Claude Desktop, Cursor, VS Code Copilot, Antigravity |
|
|
15
|
-
| **WebSocket** | `--ws [--port N]` | JSON-RPC 2.0 / WebSocket | Custom agents, Python/Go backends, remote daemons, n8n |
|
|
16
|
-
|
|
17
|
-
## stdio (Default)
|
|
18
|
-
|
|
19
|
-
The MCP client spawns Weavetab as a child process and pipes messages over stdin/stdout. No network port is opened:
|
|
20
|
-
|
|
21
|
-
```json
|
|
22
|
-
{
|
|
23
|
-
"mcpServers": {
|
|
24
|
-
"weavetab": {
|
|
25
|
-
"command": "weavetab"
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
## WebSocket
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
weavetab --ws --port 3000
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
Starts the daemon on `127.0.0.1:3000` (override with `--port <n>` / `--port=<n>`). The daemon binds strictly to loopback for local security — front it with your own TLS/auth layer if exposing across a private network.
|
|
1
|
+
---
|
|
2
|
+
title: "Transport Modes"
|
|
3
|
+
description: "stdio vs WebSocket — pick the right wire for your client."
|
|
4
|
+
product: mcp
|
|
5
|
+
section: architecture
|
|
6
|
+
icon: Cable
|
|
7
|
+
slug: transport
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Transport Modes
|
|
11
|
+
|
|
12
|
+
| Mode | Flag | Protocol | Use Case |
|
|
13
|
+
|---|---|---|---|
|
|
14
|
+
| **stdio** | *(default)* | JSON-RPC 2.0 / stdio | Claude Desktop, Cursor, VS Code Copilot, Antigravity |
|
|
15
|
+
| **WebSocket** | `--ws [--port N]` | JSON-RPC 2.0 / WebSocket | Custom agents, Python/Go backends, remote daemons, n8n |
|
|
16
|
+
|
|
17
|
+
## stdio (Default)
|
|
18
|
+
|
|
19
|
+
The MCP client spawns Weavetab as a child process and pipes messages over stdin/stdout. No network port is opened:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"mcpServers": {
|
|
24
|
+
"weavetab": {
|
|
25
|
+
"command": "weavetab"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## WebSocket
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
weavetab --ws --port 3000
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Starts the daemon on `127.0.0.1:3000` (override with `--port <n>` / `--port=<n>`). The daemon binds strictly to loopback for local security — front it with your own TLS/auth layer if exposing across a private network.
|
package/docs/cli/cli-commands.md
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Commands"
|
|
3
|
-
description: "Reference for every top-level subcommand."
|
|
4
|
-
product: mcp
|
|
5
|
-
section: cli
|
|
6
|
-
icon: ListTree
|
|
7
|
-
slug: cli-commands
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Commands
|
|
11
|
-
|
|
12
|
-
## Server Commands
|
|
13
|
-
|
|
14
|
-
| Command | Description |
|
|
15
|
-
|---|---|
|
|
16
|
-
| `weavetab` | Start the MCP server (stdio mode — default for MCP clients). When run in a TTY without arguments, launches the interactive UI menu. |
|
|
17
|
-
| `weavetab --ws [--port N]` | Start the WebSocket daemon on `127.0.0.1` (default port `3000`). |
|
|
18
|
-
| `weavetab --version` | Print version and exit. |
|
|
19
|
-
| `weavetab config` | Launch the 6-phase interactive configuration wizard. |
|
|
20
|
-
| `weavetab view` | Display the current active configuration report. Press **[R]** to view raw JSON, **[Q]** to quit. |
|
|
21
|
-
| `weavetab reset` | Purge browser profiles, lockfiles, mutexes, session registries, and kill orphan browser processes. Accepts `--yes`/`-y` to skip confirmation prompts. |
|
|
22
|
-
| `weavetab reload-ext` | Send a reload signal to the Weavetab browser extension via CDP `Runtime.evaluate`. |
|
|
23
|
-
| `weavetab plugin <add\|browse\|search\|list\|remove\|verify>` | Manage plugins — see `weavetab plugin --help`. |
|
|
24
|
-
| `weavetab skills [options]` | Install or update AI agent skills (passthrough to `@weavetab/skills`). |
|
|
25
|
-
| `weavetab help` / `--help` | Show full CLI help message with all commands, flags, and environment variables. |
|
|
26
|
-
|
|
27
|
-
## Secrets Management
|
|
28
|
-
|
|
29
|
-
Credentials are stored in `~/.weavetab/secrets.json` (global) or `.weavetab/secrets.json` (project-scoped). Values are never echoed to the terminal.
|
|
30
|
-
|
|
31
|
-
| Command | Description |
|
|
32
|
-
|---|---|
|
|
33
|
-
| `weavetab secrets set <KEY>` | Store a new encrypted secret. Prompts for value (hidden input) and allowed domains (comma-separated). |
|
|
34
|
-
| `weavetab secrets list` | List all stored secrets (key names only, values hidden). Shows domains and last-updated timestamps. |
|
|
35
|
-
| `weavetab secrets rm <KEY>` | Remove a secret by key name. |
|
|
36
|
-
| `weavetab secrets init --project` | Initialize a project-scoped `.weavetab/secrets.json` file. |
|
|
37
|
-
|
|
38
|
-
## Interactive TTY Menu
|
|
39
|
-
|
|
40
|
-
When run without arguments in a TTY terminal, Weavetab opens an interactive keyboard-driven menu:
|
|
41
|
-
|
|
42
|
-
| Key | Action |
|
|
43
|
-
|---|---|
|
|
44
|
-
| `[C]` | Launch the configuration wizard |
|
|
45
|
-
| `[V]` | View current active configuration |
|
|
46
|
-
| `[P]` | List installed Weavetab plugins |
|
|
47
|
-
| `[R]` | Purge browser profiles and lockfiles |
|
|
48
|
-
| `[H]` | Show help information |
|
|
49
|
-
| `[G]` / `[N]` / `[W]` | Open GitHub / npm / website links |
|
|
50
|
-
| `[Q]` | Exit Weavetab |
|
|
1
|
+
---
|
|
2
|
+
title: "Commands"
|
|
3
|
+
description: "Reference for every top-level subcommand."
|
|
4
|
+
product: mcp
|
|
5
|
+
section: cli
|
|
6
|
+
icon: ListTree
|
|
7
|
+
slug: cli-commands
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Commands
|
|
11
|
+
|
|
12
|
+
## Server Commands
|
|
13
|
+
|
|
14
|
+
| Command | Description |
|
|
15
|
+
|---|---|
|
|
16
|
+
| `weavetab` | Start the MCP server (stdio mode — default for MCP clients). When run in a TTY without arguments, launches the interactive UI menu. |
|
|
17
|
+
| `weavetab --ws [--port N]` | Start the WebSocket daemon on `127.0.0.1` (default port `3000`). |
|
|
18
|
+
| `weavetab --version` | Print version and exit. |
|
|
19
|
+
| `weavetab config` | Launch the 6-phase interactive configuration wizard. |
|
|
20
|
+
| `weavetab view` | Display the current active configuration report. Press **[R]** to view raw JSON, **[Q]** to quit. |
|
|
21
|
+
| `weavetab reset` | Purge browser profiles, lockfiles, mutexes, session registries, and kill orphan browser processes. Accepts `--yes`/`-y` to skip confirmation prompts. |
|
|
22
|
+
| `weavetab reload-ext` | Send a reload signal to the Weavetab browser extension via CDP `Runtime.evaluate`. |
|
|
23
|
+
| `weavetab plugin <add\|browse\|search\|list\|remove\|verify>` | Manage plugins — see `weavetab plugin --help`. |
|
|
24
|
+
| `weavetab skills [options]` | Install or update AI agent skills (passthrough to `@weavetab/skills`). |
|
|
25
|
+
| `weavetab help` / `--help` | Show full CLI help message with all commands, flags, and environment variables. |
|
|
26
|
+
|
|
27
|
+
## Secrets Management
|
|
28
|
+
|
|
29
|
+
Credentials are stored in `~/.weavetab/secrets.json` (global) or `.weavetab/secrets.json` (project-scoped). Values are never echoed to the terminal.
|
|
30
|
+
|
|
31
|
+
| Command | Description |
|
|
32
|
+
|---|---|
|
|
33
|
+
| `weavetab secrets set <KEY>` | Store a new encrypted secret. Prompts for value (hidden input) and allowed domains (comma-separated). |
|
|
34
|
+
| `weavetab secrets list` | List all stored secrets (key names only, values hidden). Shows domains and last-updated timestamps. |
|
|
35
|
+
| `weavetab secrets rm <KEY>` | Remove a secret by key name. |
|
|
36
|
+
| `weavetab secrets init --project` | Initialize a project-scoped `.weavetab/secrets.json` file. |
|
|
37
|
+
|
|
38
|
+
## Interactive TTY Menu
|
|
39
|
+
|
|
40
|
+
When run without arguments in a TTY terminal, Weavetab opens an interactive keyboard-driven menu:
|
|
41
|
+
|
|
42
|
+
| Key | Action |
|
|
43
|
+
|---|---|
|
|
44
|
+
| `[C]` | Launch the configuration wizard |
|
|
45
|
+
| `[V]` | View current active configuration |
|
|
46
|
+
| `[P]` | List installed Weavetab plugins |
|
|
47
|
+
| `[R]` | Purge browser profiles and lockfiles |
|
|
48
|
+
| `[H]` | Show help information |
|
|
49
|
+
| `[G]` / `[N]` / `[W]` | Open GitHub / npm / website links |
|
|
50
|
+
| `[Q]` | Exit Weavetab |
|
package/docs/cli/cli-flags.md
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Flags"
|
|
3
|
-
description: "Global flags accepted by the CLI."
|
|
4
|
-
product: mcp
|
|
5
|
-
section: cli
|
|
6
|
-
icon: Flag
|
|
7
|
-
slug: cli-flags
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Flags
|
|
11
|
-
|
|
12
|
-
Only these flags are parsed by the CLI (`MCP/src/index.ts`). Anything else is ignored.
|
|
13
|
-
|
|
14
|
-
| Flag | Type | Description |
|
|
15
|
-
|---|---|---|
|
|
16
|
-
| `--help` / `-h` | boolean | Show help message and exit |
|
|
17
|
-
| `help` | command | Show help message and exit |
|
|
18
|
-
| `--version` / `-v` | boolean | Print version and exit |
|
|
19
|
-
| `--ws` | boolean | Start the WebSocket daemon instead of stdio |
|
|
20
|
-
| `--port <port>` / `--port=<port>` | number | Port for the WebSocket daemon (default `3000`) |
|
|
21
|
-
| `--yes` / `-y` | boolean | Skip confirmation prompt when running `weavetab reset` / `reload` |
|
|
22
|
-
| `--official` / `-O` | boolean | Prefer the official `@weavetab/plugin-<name>` candidate (`plugin add`) |
|
|
23
|
-
| `--community` / `-C` | boolean | Prefer the community package candidate (`plugin add`) |
|
|
24
|
-
| `--refresh` | boolean | Invalidate and refresh the verified plugin cache (`plugin`) |
|
|
25
|
-
| `--project` | boolean | Project-scoped secrets file (`secrets init --project`) |
|
|
26
|
-
|
|
27
|
-
Notes:
|
|
28
|
-
- There are no `--headless` / `--role` CLI flags. Browser headless mode and RBAC role come from `~/.weavetab/config.json` (`weavetab config` / `weavetab view`). The wizard offers `admin` / `operator` / `viewer` / `automation`.
|
|
1
|
+
---
|
|
2
|
+
title: "Flags"
|
|
3
|
+
description: "Global flags accepted by the CLI."
|
|
4
|
+
product: mcp
|
|
5
|
+
section: cli
|
|
6
|
+
icon: Flag
|
|
7
|
+
slug: cli-flags
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Flags
|
|
11
|
+
|
|
12
|
+
Only these flags are parsed by the CLI (`MCP/src/index.ts`). Anything else is ignored.
|
|
13
|
+
|
|
14
|
+
| Flag | Type | Description |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| `--help` / `-h` | boolean | Show help message and exit |
|
|
17
|
+
| `help` | command | Show help message and exit |
|
|
18
|
+
| `--version` / `-v` | boolean | Print version and exit |
|
|
19
|
+
| `--ws` | boolean | Start the WebSocket daemon instead of stdio |
|
|
20
|
+
| `--port <port>` / `--port=<port>` | number | Port for the WebSocket daemon (default `3000`) |
|
|
21
|
+
| `--yes` / `-y` | boolean | Skip confirmation prompt when running `weavetab reset` / `reload` |
|
|
22
|
+
| `--official` / `-O` | boolean | Prefer the official `@weavetab/plugin-<name>` candidate (`plugin add`) |
|
|
23
|
+
| `--community` / `-C` | boolean | Prefer the community package candidate (`plugin add`) |
|
|
24
|
+
| `--refresh` | boolean | Invalidate and refresh the verified plugin cache (`plugin`) |
|
|
25
|
+
| `--project` | boolean | Project-scoped secrets file (`secrets init --project`) |
|
|
26
|
+
|
|
27
|
+
Notes:
|
|
28
|
+
- There are no `--headless` / `--role` CLI flags. Browser headless mode and RBAC role come from `~/.weavetab/config.json` (`weavetab config` / `weavetab view`). The wizard offers `admin` / `operator` / `viewer` / `automation`.
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Scripting & CI/CD"
|
|
3
|
-
description: "Chain CLI calls in shell scripts and CI."
|
|
4
|
-
product: mcp
|
|
5
|
-
section: cli
|
|
6
|
-
icon: FileCode
|
|
7
|
-
slug: cli-scripting
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Scripting & CI/CD
|
|
11
|
-
|
|
12
|
-
## Shell Scripting
|
|
13
|
-
|
|
14
|
-
```bash
|
|
15
|
-
# Reset before a fresh test run
|
|
16
|
-
weavetab reset --yes
|
|
17
|
-
|
|
18
|
-
# List stored secrets
|
|
19
|
-
weavetab secrets list
|
|
20
|
-
|
|
21
|
-
# List installed plugins
|
|
22
|
-
weavetab plugin list
|
|
23
|
-
|
|
24
|
-
# Start the MCP server in WebSocket daemon mode for custom scripts
|
|
25
|
-
weavetab --ws --port 3000 &
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## CI/CD Pipeline
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
# In GitHub Actions or Docker CI
|
|
32
|
-
npm install -g @weavetab/mcp
|
|
33
|
-
weavetab reset --yes
|
|
34
|
-
weavetab --ws --port 3000 &
|
|
35
|
-
```
|
|
1
|
+
---
|
|
2
|
+
title: "Scripting & CI/CD"
|
|
3
|
+
description: "Chain CLI calls in shell scripts and CI."
|
|
4
|
+
product: mcp
|
|
5
|
+
section: cli
|
|
6
|
+
icon: FileCode
|
|
7
|
+
slug: cli-scripting
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Scripting & CI/CD
|
|
11
|
+
|
|
12
|
+
## Shell Scripting
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
# Reset before a fresh test run
|
|
16
|
+
weavetab reset --yes
|
|
17
|
+
|
|
18
|
+
# List stored secrets
|
|
19
|
+
weavetab secrets list
|
|
20
|
+
|
|
21
|
+
# List installed plugins
|
|
22
|
+
weavetab plugin list
|
|
23
|
+
|
|
24
|
+
# Start the MCP server in WebSocket daemon mode for custom scripts
|
|
25
|
+
weavetab --ws --port 3000 &
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## CI/CD Pipeline
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# In GitHub Actions or Docker CI
|
|
32
|
+
npm install -g @weavetab/mcp
|
|
33
|
+
weavetab reset --yes
|
|
34
|
+
weavetab --ws --port 3000 &
|
|
35
|
+
```
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Locations & Merge"
|
|
3
|
-
description: "Two-tier merge: global config → built-in defaults."
|
|
4
|
-
product: mcp
|
|
5
|
-
section: configuration
|
|
6
|
-
icon: FolderTree
|
|
7
|
-
slug: config-locations
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Config Locations & Merge Priority
|
|
11
|
-
|
|
12
|
-
## Priority Tiers
|
|
13
|
-
|
|
14
|
-
1. **Global** — `~/.weavetab/config.json` (the only config file Weavetab reads)
|
|
15
|
-
2. **Built-in defaults** — defined in `DEFAULT_CONFIG`
|
|
16
|
-
|
|
17
|
-
## Live Reload
|
|
18
|
-
|
|
19
|
-
A debounced file watcher (150 ms) reloads the in-memory configuration on change. In-flight tool executions complete on the existing configuration; subsequent calls automatically pick up the new values.
|
|
20
|
-
|
|
21
|
-
## Corrupt File Quarantine
|
|
22
|
-
|
|
23
|
-
If a configuration file contains invalid JSON, Weavetab automatically quarantines the file to `config.broken.<timestamp>.json` and safely falls back to the next tier without crashing.
|
|
1
|
+
---
|
|
2
|
+
title: "Locations & Merge"
|
|
3
|
+
description: "Two-tier merge: global config → built-in defaults."
|
|
4
|
+
product: mcp
|
|
5
|
+
section: configuration
|
|
6
|
+
icon: FolderTree
|
|
7
|
+
slug: config-locations
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Config Locations & Merge Priority
|
|
11
|
+
|
|
12
|
+
## Priority Tiers
|
|
13
|
+
|
|
14
|
+
1. **Global** — `~/.weavetab/config.json` (the only config file Weavetab reads)
|
|
15
|
+
2. **Built-in defaults** — defined in `DEFAULT_CONFIG`
|
|
16
|
+
|
|
17
|
+
## Live Reload
|
|
18
|
+
|
|
19
|
+
A debounced file watcher (150 ms) reloads the in-memory configuration on change. In-flight tool executions complete on the existing configuration; subsequent calls automatically pick up the new values.
|
|
20
|
+
|
|
21
|
+
## Corrupt File Quarantine
|
|
22
|
+
|
|
23
|
+
If a configuration file contains invalid JSON, Weavetab automatically quarantines the file to `config.broken.<timestamp>.json` and safely falls back to the next tier without crashing.
|
|
@@ -12,9 +12,15 @@ slug: configuration
|
|
|
12
12
|
The full `Config` interface lives in `src/config/loader.ts`.
|
|
13
13
|
|
|
14
14
|
```typescript
|
|
15
|
-
export type
|
|
16
|
-
export type
|
|
17
|
-
export type
|
|
15
|
+
export type DevModeConfig = boolean;
|
|
16
|
+
export type PolicyMode = "allow" | "deny" | "audit-only" | "read-only";
|
|
17
|
+
export type Role = "admin" | "operator" | "viewer" | "automation" | "system";
|
|
18
|
+
export type BrowserEngine = "chromium" | "firefox" | "webkit";
|
|
19
|
+
|
|
20
|
+
export interface PolicyEntry {
|
|
21
|
+
pattern: string;
|
|
22
|
+
mode: PolicyMode;
|
|
23
|
+
}
|
|
18
24
|
|
|
19
25
|
export interface ElectronAppConfig {
|
|
20
26
|
path?: string; // Absolute path to Electron app executable
|
|
@@ -25,49 +31,55 @@ export interface ElectronAppConfig {
|
|
|
25
31
|
}
|
|
26
32
|
|
|
27
33
|
export interface Config {
|
|
28
|
-
//
|
|
34
|
+
// Identity & Transport
|
|
29
35
|
mode: "session" | "attach";
|
|
30
36
|
session: string;
|
|
31
|
-
attachPort: number;
|
|
37
|
+
attachPort: number; // 0-65535, 0 = dynamic
|
|
38
|
+
agentId: string; // Auto-generated UUID (WT_AGENT_ID to override)
|
|
39
|
+
telemetry: boolean;
|
|
32
40
|
|
|
33
41
|
// Browser Settings
|
|
34
|
-
|
|
42
|
+
browserPath: string; // Executable path or "auto"
|
|
35
43
|
browserType: BrowserEngine;
|
|
36
|
-
profileDir: string;
|
|
37
44
|
headless: boolean;
|
|
38
45
|
extension: boolean; // Enable Weavetab Chrome extension
|
|
39
46
|
browserFlags: string[];
|
|
47
|
+
profileDir: string;
|
|
48
|
+
cookies: boolean;
|
|
49
|
+
syncDataAcrossBrowsers: boolean;
|
|
40
50
|
|
|
41
51
|
// Desktop & Electron Applications
|
|
42
|
-
|
|
52
|
+
apps?: Record<string, ElectronAppConfig>;
|
|
53
|
+
electron?: Record<string, ElectronAppConfig>;
|
|
43
54
|
|
|
44
55
|
// Security & Policy
|
|
45
|
-
|
|
56
|
+
role: Role; // RBAC role
|
|
57
|
+
block: string[]; // Domain blocklist (default: ["*.bank.*", "paypal.com"])
|
|
46
58
|
allow: string[]; // Domain allowlist
|
|
47
59
|
policies: PolicyEntry[]; // Per-domain policy modes
|
|
48
|
-
|
|
49
|
-
cookies: boolean; // Allow storage & cookies
|
|
50
|
-
proxy?: string; // Outbound proxy URL
|
|
60
|
+
proxy?: string; // Outbound proxy URL (WT_PROXY_URL to override)
|
|
51
61
|
|
|
52
62
|
// Rate Limiting & Resource Caps
|
|
53
|
-
|
|
63
|
+
sessionTimeout: number; // Seconds, 60-86400 (default 3600)
|
|
64
|
+
navigationTimeout: number; // Milliseconds, 1000-120000 (default 30000)
|
|
65
|
+
idleTimeout: number; // Milliseconds, >= 5000 (default 60000)
|
|
66
|
+
actionabilityTimeoutMs: number; // Milliseconds, 50-15000 (default 300)
|
|
54
67
|
maxTabs: number; // 1-100 (default 10)
|
|
68
|
+
maxActionsPerMinute: number; // 1-600 (default 60)
|
|
69
|
+
githubCacheTtlMs: number; // Milliseconds (default 1800000)
|
|
70
|
+
refCacheTtlMs: number; // Milliseconds (default 30000)
|
|
55
71
|
|
|
56
|
-
//
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
72
|
+
// Output Directories
|
|
73
|
+
downloadDir: string;
|
|
74
|
+
pdfDir: string;
|
|
75
|
+
snapshotDir: string;
|
|
76
|
+
recordingDir: string;
|
|
77
|
+
designDir: string;
|
|
61
78
|
|
|
62
79
|
// UI & Overlay
|
|
63
|
-
devMode:
|
|
64
|
-
persona: "concise" | "friendly";
|
|
65
|
-
|
|
66
|
-
// Telemetry & GitHub
|
|
67
|
-
telemetry: boolean;
|
|
68
|
-
githubCacheTtlMs: number;
|
|
69
|
-
|
|
70
|
-
// Agent Identity
|
|
71
|
-
agentId: string; // Auto-generated UUID
|
|
80
|
+
devMode: DevModeConfig;
|
|
72
81
|
}
|
|
73
82
|
```
|
|
83
|
+
|
|
84
|
+
The on-disk `config.json` may also use the legacy sectioned shape (`general`, `browser`,
|
|
85
|
+
`security`, `performance`); the loader migrates it to this flat interface automatically.
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Environment Variables"
|
|
3
|
-
description: "Runtime environment variables that override config."
|
|
4
|
-
product: mcp
|
|
5
|
-
section: configuration
|
|
6
|
-
icon: Variable
|
|
7
|
-
slug: env-variables
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Environment Variables
|
|
11
|
-
|
|
12
|
-
Only these two are read at runtime (`MCP/src/config/loader.ts`). Everything else
|
|
13
|
-
(browser path, role, headless, dev mode) lives in `~/.weavetab/config.json`
|
|
14
|
-
— run `weavetab config` to change it.
|
|
15
|
-
|
|
16
|
-
| Variable | Description |
|
|
17
|
-
|---|---|
|
|
18
|
-
| `WT_AGENT_ID` | Override the auto-generated agent UUID |
|
|
19
|
-
| `WT_PROXY_URL` | Set outbound HTTP/SOCKS proxy server URL |
|
|
1
|
+
---
|
|
2
|
+
title: "Environment Variables"
|
|
3
|
+
description: "Runtime environment variables that override config."
|
|
4
|
+
product: mcp
|
|
5
|
+
section: configuration
|
|
6
|
+
icon: Variable
|
|
7
|
+
slug: env-variables
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Environment Variables
|
|
11
|
+
|
|
12
|
+
Only these two are read at runtime (`MCP/src/config/loader.ts`). Everything else
|
|
13
|
+
(browser path, role, headless, dev mode) lives in `~/.weavetab/config.json`
|
|
14
|
+
— run `weavetab config` to change it.
|
|
15
|
+
|
|
16
|
+
| Variable | Description |
|
|
17
|
+
|---|---|
|
|
18
|
+
| `WT_AGENT_ID` | Override the auto-generated agent UUID |
|
|
19
|
+
| `WT_PROXY_URL` | Set outbound HTTP/SOCKS proxy server URL |
|
|
@@ -1,55 +1,62 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Folder Hierarchy"
|
|
3
|
-
description: ".weavetab
|
|
4
|
-
product: mcp
|
|
5
|
-
section: configuration
|
|
6
|
-
icon: FolderOpen
|
|
7
|
-
slug: folders
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# Workspace & System Directories
|
|
11
|
-
|
|
12
|
-
Weavetab strictly partitions project-scoped
|
|
13
|
-
|
|
14
|
-
## 1. Project-Scoped Directory: `./.weavetab/`
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
./.weavetab/
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
├──
|
|
36
|
-
|
|
37
|
-
├──
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
## 3.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
```
|
|
49
|
-
~/.weavetab/
|
|
50
|
-
├──
|
|
51
|
-
|
|
52
|
-
├──
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
1
|
+
---
|
|
2
|
+
title: "Folder Hierarchy"
|
|
3
|
+
description: ".weavetab and .weavetab-system directory structure."
|
|
4
|
+
product: mcp
|
|
5
|
+
section: configuration
|
|
6
|
+
icon: FolderOpen
|
|
7
|
+
slug: folders
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Workspace & System Directories
|
|
11
|
+
|
|
12
|
+
Weavetab strictly partitions project-scoped credentials, global user configuration, and machine-managed system intelligence into dedicated directory structures.
|
|
13
|
+
|
|
14
|
+
## 1. Project-Scoped Directory: `./.weavetab/`
|
|
15
|
+
|
|
16
|
+
Optional, created in your current working directory to carry project-scoped credentials alongside a checkout:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
./.weavetab/
|
|
20
|
+
└── secrets.json # Project-scoped credentials for Blind Injection (override the global file)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Keys in a project `secrets.json` take precedence over `~/.weavetab/secrets.json` when Weavetab runs from that directory. All other configuration and output paths are global (see below) unless overridden via config fields.
|
|
24
|
+
|
|
25
|
+
## 2. Global User Directory: `~/.weavetab/`
|
|
26
|
+
|
|
27
|
+
Global, user-authored configuration and default output directories:
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
~/.weavetab/
|
|
31
|
+
├── config.json # Global configuration (domain policies, roles, output paths)
|
|
32
|
+
├── secrets.json # Global secrets for Blind Injection
|
|
33
|
+
├── knowledge/ # Domain-specific markdown knowledge hints
|
|
34
|
+
├── plugins/ # Isolated storage directories for installed plugins
|
|
35
|
+
├── downloads/ # Downloaded files (default output dir)
|
|
36
|
+
├── pdfs/ # Exported PDF documents
|
|
37
|
+
├── snapshots/ # Screenshots and MHTML snapshots
|
|
38
|
+
├── recordings/ # Screen recordings (webp / gif / webm / mp4)
|
|
39
|
+
└── designs/ # Extracted design tokens and Tailwind themes
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Each output directory (`downloads`, `pdfs`, `snapshots`, `recordings`, `designs`) is overridable via its matching config path field.
|
|
43
|
+
|
|
44
|
+
## 3. System Intelligence Directory: `~/.weavetab-system/`
|
|
45
|
+
|
|
46
|
+
Machine-managed, cross-session state. Strictly separate from user configuration:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
~/.weavetab-system/
|
|
50
|
+
├── memory/ # Per-domain selector confidence cache
|
|
51
|
+
│ └── sites/ # Persistent site profiles: workflows, quirks & reliability scores
|
|
52
|
+
├── sessions/
|
|
53
|
+
│ └── context.json # Rolling action trail for loop detection
|
|
54
|
+
├── checkpoints/ # Named browser-state checkpoints
|
|
55
|
+
├── missions/ # Mission state files
|
|
56
|
+
├── apps/ # Dedicated isolated profiles for Electron apps
|
|
57
|
+
├── extension/ # Installed browser extension build
|
|
58
|
+
├── logs/ # Mission logs: mission_<timestamp>.log / .jsonl (devMode only)
|
|
59
|
+
├── locks/ # Process lockfiles (PID + TCP port validation)
|
|
60
|
+
├── secrets-key # Local key used to encrypt stored secrets
|
|
61
|
+
└── session-profile*/ # Isolated Chromium browser profiles (never your real profile)
|
|
62
|
+
```
|