pi-lean-portal 0.3.0 → 0.3.2

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 CHANGED
@@ -691,12 +691,10 @@ When creating navigation guides with `web-learn`:
691
691
 
692
692
  ### Security
693
693
 
694
- - URLs are validated against private IP ranges (10.x, 172.16-31.x,
695
- 192.168.x, 127.x, 169.254.169.254) — localhost and internal networks
696
- are blocked by default
697
- - Dangerous URL schemes are blocked: `file:`, `ftp:`, `data:`,
698
- `javascript:`, `vbscript:`
699
- - Secrets in URLs are detected heuristically
694
+ - URLs are parsed with `new URL()` as input validation — malformed
695
+ URLs are rejected, but no SSRF boundary is enforced (a coding agent
696
+ already has filesystem and shell access, so blocking localhost or
697
+ private IPs would be theater)
700
698
  - Profile state is stored with restricted file permissions (0700 dirs,
701
699
  0600 files)
702
700
 
package/browser-toggle.ts CHANGED
@@ -15,7 +15,7 @@ import { readMergedSettings } from "./core/shared/settings-reader.js";
15
15
  // ---- Toolset specs -----------------------------------------------
16
16
 
17
17
  const PORTAL_WEB_SPEC: ToolsetSpec = {
18
- id: "portal.web",
18
+ id: "pi-lean-dimension.web",
19
19
  names: new Set([
20
20
  "web-fetch",
21
21
  "browser-navigate",
@@ -29,15 +29,15 @@ const PORTAL_WEB_SPEC: ToolsetSpec = {
29
29
  "browser-inspect",
30
30
  "web-guide",
31
31
  ]),
32
- persistKey: "toolset-state:portal.web",
32
+ persistKey: "toolset-state:pi-lean-dimension.web",
33
33
  };
34
34
 
35
35
  const PORTAL_LEARN_SPEC: ToolsetSpec = {
36
- id: "portal.learn",
36
+ id: "pi-lean-dimension.web-learn",
37
37
  names: new Set(["web-learn"]),
38
- persistKey: "toolset-state:portal.learn",
38
+ persistKey: "toolset-state:pi-lean-dimension.web-learn",
39
39
  defaultEnabled: false,
40
- requires: ["portal.web"],
40
+ requires: ["pi-lean-dimension.web"],
41
41
  };
42
42
 
43
43
  // ---- Status bar cached state (derived from library events) ------
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-lean-portal",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Pi extension. Interactive web browsing for Pi — a /web toggle removes the tools from context when switched off, Playwright Chromium/Firefox deliver accessibility-tree snapshots, persistent profiles, cookies, and domain-matched guides; custom/stealth backends (Camoufox) plug in when a site blocks the shipped browsers.",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -56,6 +56,7 @@
56
56
  },
57
57
  "dependencies": {
58
58
  "node-html-parser": "^6.1.0",
59
+ "pi-tool-masking": "^1.0.0",
59
60
  "playwright": "^1.60.0",
60
61
  "turndown": "^7.2.0"
61
62
  },
@@ -63,7 +64,6 @@
63
64
  "@earendil-works/pi-ai": "*",
64
65
  "@earendil-works/pi-coding-agent": "*",
65
66
  "@earendil-works/pi-tui": "*",
66
- "pi-tool-masking": "^1.0.0",
67
67
  "typebox": "*"
68
68
  }
69
69
  }