smooth-operator-mcp 3.0.2 → 3.0.4

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/docs/harnesses.md CHANGED
@@ -3,24 +3,25 @@
3
3
  ## Interactive wizard (directly to your harness)
4
4
 
5
5
  `smooth-operator install <harness>` is interactive by default — it asks exactly 3
6
- curated questions (browser mode/profile, browser executable, and
7
- security/data-directory settings) with recommended defaults in brackets.
6
+ curated questions (profile ownership, headed/headless display, and browser
7
+ executable) with recommended defaults in brackets.
8
8
  Omitting `<harness>` is allowed too: on a TTY the installer prompts for the
9
9
  target first (default `opencode`), while piped or CI environments print usage
10
10
  and exit instead. Use `smooth-operator install opencode --yes` to skip prompts
11
11
  and use recommended defaults. The wizard normalizes and validates its choices
12
12
  before saving them to `~/.smooth-operator/config.json` (0600, bounded,
13
13
  owner-only, and symlink-safe). Managed mode owns one private persistent profile;
14
- connect mode attaches to an operator-owned browser and does not own or close
15
- its profile/process. Personal-Chrome mode derives `browserUrl` after launching
14
+ connect mode launches a dedicated debugging profile and does not touch an
15
+ operator's daily browser profile. Personal-Chrome mode derives `browserUrl` after launching
16
16
  the helper on port 9222; it is not a separate prompt.
17
17
 
18
18
  ### Personal Chrome (connect) helper
19
19
 
20
20
  When you pick “connected browser” (mode `connect`), the wizard finds Chromium via
21
21
  `discovery.ts`, launches a dedicated debugging profile under
22
- `~/.smooth-operator/personal-chrome` with port `9222`, and polls the loopback
23
- endpoint until it is live. On success it writes
22
+ `~/.smooth-operator/personal-chrome` with port `9222`, and probes the loopback
23
+ endpoint until a valid DevTools version response is live (33 attempts within a
24
+ default 10-second deadline). On success it writes
24
25
  `SMOOTH_OPERATOR_BROWSER_MODE=connect` and
25
26
  `SMOOTH_OPERATOR_BROWSER_URL=http://127.0.0.1:9222` for you. This does not
26
27
  attach to or take ownership of an operator's daily browser profile. No manual
@@ -359,8 +359,9 @@ are always applied, with explicit opt-ins where documented:
359
359
  the same policy checks; `about:blank` is allowed, data/blob URLs are limited
360
360
  to non-frame subresources, and file, browser-internal, extension, and
361
361
  unknown schemes are rejected.
362
- - Upload and PDF destinations must stay within configured file roots after
363
- realpath and symlink checks. Download paths and generated files are bounded.
362
+ - Upload and PDF destinations must stay within configured directory roots after
363
+ realpath and symlink checks; an existing regular file cannot be configured as
364
+ a root. Download paths and generated files are bounded.
364
365
  - Page JavaScript is available in the native profile by default and can be
365
366
  disabled with `SMOOTH_OPERATOR_ALLOW_EVAL=false`; when enabled, page code can
366
367
  observe and mutate page state with the browser's privileges.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smooth-operator-mcp",
3
- "version": "3.0.2",
3
+ "version": "3.0.4",
4
4
  "type": "module",
5
5
  "packageManager": "npm@12.0.2",
6
6
  "description": "A lightweight, production-grade MCP server for secure browser automation.",