mercury-agent 0.5.0 → 0.5.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 +452 -451
- package/container/Dockerfile +127 -127
- package/container/Dockerfile.base +109 -109
- package/container/Dockerfile.power +17 -17
- package/container/agent-package.json +8 -8
- package/container/build.sh +54 -54
- package/docs/ROADMAP.md +3 -4
- package/docs/archive/summarization/2026-07-02-recent-dev-summary.md +71 -0
- package/docs/auth/dashboard.md +28 -28
- package/docs/auth/overview.md +109 -109
- package/docs/auth/whatsapp.md +173 -173
- package/docs/authoring-profiles.md +174 -174
- package/docs/configuration.md +54 -54
- package/docs/container-lifecycle.md +349 -349
- package/docs/{bugs/bwrap-privileged-linux-docker.md → debug/major/2026-07-02-bwrap-privileged-linux-docker.md} +21 -1
- package/docs/{bugs/e2big-prompt-delivery-fix.md → debug/major/2026-07-02-e2big-prompt-delivery-fix.md} +27 -1
- package/docs/{bugs/registry-pull-no-local-fallback.md → debug/major/2026-07-02-registry-pull-no-local-fallback.md} +27 -1
- package/docs/debug/summarization/2026-07-02-common-bug-patterns.md +72 -0
- package/docs/deployment.md +199 -199
- package/docs/extensions.md +375 -375
- package/docs/graceful-shutdown.md +62 -62
- package/docs/kb-distillation.md +77 -77
- package/docs/media/overview.md +140 -140
- package/docs/media/whatsapp.md +171 -171
- package/docs/memory.md +137 -137
- package/docs/permissions.md +217 -217
- package/docs/pipeline.md +228 -228
- package/docs/prd-chat-memory.md +76 -76
- package/docs/prd-config-load.md +82 -82
- package/docs/rate-limiting.md +229 -229
- package/docs/runbooks/publish-checklist.md +9 -1
- package/docs/scheduler.md +288 -288
- package/docs/setup-discord.md +100 -100
- package/docs/setup-slack.md +119 -119
- package/docs/setup-whatsapp.md +94 -94
- package/docs/subagents.md +166 -166
- package/docs/web-search.md +62 -62
- package/examples/extensions/README.md +12 -12
- package/examples/extensions/charts/index.ts +13 -13
- package/examples/extensions/charts/skill/SKILL.md +98 -98
- package/examples/extensions/gws/README.md +52 -52
- package/examples/extensions/gws/skill/SKILL.md +57 -57
- package/examples/extensions/gws/skill/references/calendar.md +101 -101
- package/examples/extensions/gws/skill/references/docs.md +65 -65
- package/examples/extensions/gws/skill/references/drive.md +79 -79
- package/examples/extensions/gws/skill/references/gmail.md +85 -85
- package/examples/extensions/gws/skill/references/sheets.md +60 -60
- package/examples/extensions/napkin/skill/SKILL.md +728 -728
- package/examples/extensions/pdf/skill/LICENSE.txt +30 -30
- package/examples/extensions/pdf/skill/SKILL.md +314 -314
- package/examples/extensions/pdf/skill/forms.md +294 -294
- package/examples/extensions/pdf/skill/reference.md +611 -611
- package/examples/extensions/pdf/skill/scripts/check_bounding_boxes.py +65 -65
- package/examples/extensions/pdf/skill/scripts/check_fillable_fields.py +11 -11
- package/examples/extensions/pdf/skill/scripts/convert_pdf_to_images.py +33 -33
- package/examples/extensions/pdf/skill/scripts/create_validation_image.py +37 -37
- package/examples/extensions/pdf/skill/scripts/extract_form_field_info.py +122 -122
- package/examples/extensions/pdf/skill/scripts/extract_form_structure.py +115 -115
- package/examples/extensions/pdf/skill/scripts/fill_fillable_fields.py +98 -98
- package/examples/extensions/pdf/skill/scripts/fill_pdf_form_with_annotations.py +107 -107
- package/examples/extensions/permission-guard/index.ts +65 -65
- package/examples/extensions/pinchtab/skill/SKILL.md +224 -224
- package/examples/extensions/pinchtab/skill/TRUST.md +69 -69
- package/examples/extensions/pinchtab/skill/references/api.md +297 -297
- package/examples/extensions/pinchtab/skill/references/env.md +45 -45
- package/examples/extensions/pinchtab/skill/references/profiles.md +107 -107
- package/examples/extensions/tradestation/host/refresh.ts +102 -102
- package/examples/extensions/tradestation/index.ts +153 -153
- package/examples/extensions/tradestation/skill/SKILL.md +67 -67
- package/examples/extensions/voice-synth/index.ts +94 -94
- package/examples/extensions/voice-synth/skill/SKILL.md +38 -38
- package/examples/extensions/voice-transcribe/requirements.txt +8 -8
- package/examples/extensions/voice-transcribe/scripts/transcribe.py +179 -179
- package/examples/extensions/voice-transcribe/skill/SKILL.md +53 -53
- package/examples/extensions/yahoo-mail/cli/package.json +13 -13
- package/examples/extensions/yahoo-mail/skill/SKILL.md +78 -78
- package/package.json +106 -106
- package/resources/agents/explore.md +50 -50
- package/resources/agents/worker.md +24 -24
- package/resources/connection-env-vars.json +25 -25
- package/resources/pi-extensions/subagent/agents.ts +126 -126
- package/resources/pi-extensions/subagent/index.ts +964 -964
- package/resources/profiles/coding/AGENTS.md +43 -43
- package/resources/profiles/coding/mercury-profile.yaml +15 -15
- package/resources/profiles/general/AGENTS.md +31 -31
- package/resources/profiles/general/mercury-profile.yaml +15 -15
- package/resources/profiles/research/AGENTS.md +40 -40
- package/resources/profiles/research/mercury-profile.yaml +15 -15
- package/resources/skills/config/SKILL.md +25 -25
- package/resources/skills/context/SKILL.md +33 -33
- package/resources/skills/conversation-recap/SKILL.md +19 -19
- package/resources/skills/mutes/SKILL.md +31 -31
- package/resources/skills/permissions/SKILL.md +19 -19
- package/resources/skills/preferences/SKILL.md +31 -31
- package/resources/skills/recall/SKILL.md +24 -24
- package/resources/skills/roles/SKILL.md +18 -18
- package/resources/skills/spaces/SKILL.md +18 -18
- package/resources/skills/tasks/SKILL.md +45 -45
- package/resources/templates/AGENTS.md +157 -157
- package/resources/templates/env.template +38 -38
- package/resources/templates/mercury.example.yaml +99 -99
- package/src/agent/container-entry.ts +1 -1
- package/src/agent/container-runner.ts +1345 -1346
- package/src/cli/mercury.ts +39 -7
- package/src/cli/mrctl.ts +636 -636
- package/src/config-file.ts +540 -540
- package/src/config.ts +339 -339
- package/src/core/api.ts +125 -125
- package/src/core/caller-token.ts +101 -101
- package/src/core/permissions.ts +228 -228
- package/src/core/profiles.ts +271 -271
- package/src/core/routes/capability.ts +70 -70
- package/src/core/routes/index.ts +15 -15
- package/src/core/runtime.ts +1530 -1530
- package/src/dashboard/index.html +729 -729
- package/src/extensions/api.ts +273 -273
- package/src/extensions/loader.ts +286 -286
- package/src/extensions/types.ts +517 -517
- package/src/main.ts +605 -605
- package/docs/pending-updates/applicative-profiles.md +0 -15
- package/docs/pending-updates/caller-bound-capability-token.md +0 -15
- package/docs/pending-updates/dm-auto-space.md +0 -15
- /package/docs/archive/{2026-07-01-applicative-profiles.md → applicative-profiles/2026-07-01-applicative-profiles.md} +0 -0
- /package/docs/archive/{2026-07-01-caller-bound-capability-token.md → applicative-profiles/2026-07-01-caller-bound-capability-token.md} +0 -0
- /package/docs/archive/{2026-07-01-dm-auto-space.md → applicative-profiles/2026-07-01-dm-auto-space.md} +0 -0
|
@@ -1,69 +1,69 @@
|
|
|
1
|
-
# Pinchtab Security & Trust
|
|
2
|
-
|
|
3
|
-
**TL;DR**: Pinchtab is a local, sandboxed browser control tool. It does not phone home, steal credentials, or exfiltrate data. Source code is public; binaries are signed and published via GitHub.
|
|
4
|
-
|
|
5
|
-
## What Pinchtab Does
|
|
6
|
-
|
|
7
|
-
- Launches a Chrome browser (local, under your control)
|
|
8
|
-
- Exposes navigation, clicking, typing, and page inspection via HTTP API
|
|
9
|
-
- Extracts the page's accessibility tree (for AI agents)
|
|
10
|
-
- Runs screenshots, PDFs, and JavaScript evaluation
|
|
11
|
-
|
|
12
|
-
**All of this stays local.** No telemetry. No external API calls (except to sites you navigate to).
|
|
13
|
-
|
|
14
|
-
## What Pinchtab Does NOT Do
|
|
15
|
-
|
|
16
|
-
- ❌ Doesn't access your saved passwords/credentials (Chrome sandboxing)
|
|
17
|
-
- ❌ Doesn't exfiltrate data to remote servers
|
|
18
|
-
- ❌ Doesn't inject ads, malware, or miners
|
|
19
|
-
- ❌ Doesn't track browsing or send analytics
|
|
20
|
-
- ❌ Doesn't modify system files outside its state directory (`~/.pinchtab`)
|
|
21
|
-
|
|
22
|
-
## Builds & Verification
|
|
23
|
-
|
|
24
|
-
Every release includes **checksums** alongside binaries:
|
|
25
|
-
|
|
26
|
-
```bash
|
|
27
|
-
# After downloading, verify:
|
|
28
|
-
sha256sum -c checksums.txt
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
Binaries are built automatically from tagged commits via GitHub Actions (publicly visible at https://github.com/pinchtab/pinchtab/actions).
|
|
32
|
-
|
|
33
|
-
## Open Source
|
|
34
|
-
|
|
35
|
-
- **Source**: https://github.com/pinchtab/pinchtab (MIT)
|
|
36
|
-
- **Releases**: https://github.com/pinchtab/pinchtab/releases
|
|
37
|
-
- **Latest**: v0.7.0 (Feb 2026)
|
|
38
|
-
|
|
39
|
-
If you're concerned, audit the source—it's 12MB, zero external dependencies, mostly Go stdlib.
|
|
40
|
-
|
|
41
|
-
## VirusTotal Flag
|
|
42
|
-
|
|
43
|
-
Pinchtab may trigger heuristic scanners on VirusTotal because:
|
|
44
|
-
|
|
45
|
-
- ✓ It launches Chrome (subprocess execution — flagged by AV heuristics)
|
|
46
|
-
- ✓ It runs JavaScript evaluation (eval-like operations)
|
|
47
|
-
- ✓ It makes HTTP requests (network activity)
|
|
48
|
-
|
|
49
|
-
These are **intentional design features**, not security flaws. Your browser does all three things by default.
|
|
50
|
-
|
|
51
|
-
**False positives are common for development tools.** The VT flag is a known false positive for chromedp-based tools (subprocess + HTTP server). Always verify SHA256 checksums from GitHub releases before running.
|
|
52
|
-
|
|
53
|
-
For maximum confidence, use the npm package (`npm install -g pinchtab`) or Docker image, which undergo additional validation.
|
|
54
|
-
|
|
55
|
-
## Sandboxing
|
|
56
|
-
|
|
57
|
-
Pinchtab runs a separate Chrome process with:
|
|
58
|
-
|
|
59
|
-
- Isolated profile directory (default: `~/.pinchtab`)
|
|
60
|
-
- No access to your user's home files (unless you explicitly navigate to `file://` URLs)
|
|
61
|
-
- Standard Chrome security model (site isolation, CSP, etc.)
|
|
62
|
-
|
|
63
|
-
Set `BRIDGE_PROFILE_DIR` to use a custom directory if needed.
|
|
64
|
-
|
|
65
|
-
## Questions?
|
|
66
|
-
|
|
67
|
-
- Source code: https://github.com/pinchtab/pinchtab
|
|
68
|
-
- Issues/security reports: https://github.com/pinchtab/pinchtab/issues
|
|
69
|
-
- Docs: https://pinchtab.com
|
|
1
|
+
# Pinchtab Security & Trust
|
|
2
|
+
|
|
3
|
+
**TL;DR**: Pinchtab is a local, sandboxed browser control tool. It does not phone home, steal credentials, or exfiltrate data. Source code is public; binaries are signed and published via GitHub.
|
|
4
|
+
|
|
5
|
+
## What Pinchtab Does
|
|
6
|
+
|
|
7
|
+
- Launches a Chrome browser (local, under your control)
|
|
8
|
+
- Exposes navigation, clicking, typing, and page inspection via HTTP API
|
|
9
|
+
- Extracts the page's accessibility tree (for AI agents)
|
|
10
|
+
- Runs screenshots, PDFs, and JavaScript evaluation
|
|
11
|
+
|
|
12
|
+
**All of this stays local.** No telemetry. No external API calls (except to sites you navigate to).
|
|
13
|
+
|
|
14
|
+
## What Pinchtab Does NOT Do
|
|
15
|
+
|
|
16
|
+
- ❌ Doesn't access your saved passwords/credentials (Chrome sandboxing)
|
|
17
|
+
- ❌ Doesn't exfiltrate data to remote servers
|
|
18
|
+
- ❌ Doesn't inject ads, malware, or miners
|
|
19
|
+
- ❌ Doesn't track browsing or send analytics
|
|
20
|
+
- ❌ Doesn't modify system files outside its state directory (`~/.pinchtab`)
|
|
21
|
+
|
|
22
|
+
## Builds & Verification
|
|
23
|
+
|
|
24
|
+
Every release includes **checksums** alongside binaries:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# After downloading, verify:
|
|
28
|
+
sha256sum -c checksums.txt
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Binaries are built automatically from tagged commits via GitHub Actions (publicly visible at https://github.com/pinchtab/pinchtab/actions).
|
|
32
|
+
|
|
33
|
+
## Open Source
|
|
34
|
+
|
|
35
|
+
- **Source**: https://github.com/pinchtab/pinchtab (MIT)
|
|
36
|
+
- **Releases**: https://github.com/pinchtab/pinchtab/releases
|
|
37
|
+
- **Latest**: v0.7.0 (Feb 2026)
|
|
38
|
+
|
|
39
|
+
If you're concerned, audit the source—it's 12MB, zero external dependencies, mostly Go stdlib.
|
|
40
|
+
|
|
41
|
+
## VirusTotal Flag
|
|
42
|
+
|
|
43
|
+
Pinchtab may trigger heuristic scanners on VirusTotal because:
|
|
44
|
+
|
|
45
|
+
- ✓ It launches Chrome (subprocess execution — flagged by AV heuristics)
|
|
46
|
+
- ✓ It runs JavaScript evaluation (eval-like operations)
|
|
47
|
+
- ✓ It makes HTTP requests (network activity)
|
|
48
|
+
|
|
49
|
+
These are **intentional design features**, not security flaws. Your browser does all three things by default.
|
|
50
|
+
|
|
51
|
+
**False positives are common for development tools.** The VT flag is a known false positive for chromedp-based tools (subprocess + HTTP server). Always verify SHA256 checksums from GitHub releases before running.
|
|
52
|
+
|
|
53
|
+
For maximum confidence, use the npm package (`npm install -g pinchtab`) or Docker image, which undergo additional validation.
|
|
54
|
+
|
|
55
|
+
## Sandboxing
|
|
56
|
+
|
|
57
|
+
Pinchtab runs a separate Chrome process with:
|
|
58
|
+
|
|
59
|
+
- Isolated profile directory (default: `~/.pinchtab`)
|
|
60
|
+
- No access to your user's home files (unless you explicitly navigate to `file://` URLs)
|
|
61
|
+
- Standard Chrome security model (site isolation, CSP, etc.)
|
|
62
|
+
|
|
63
|
+
Set `BRIDGE_PROFILE_DIR` to use a custom directory if needed.
|
|
64
|
+
|
|
65
|
+
## Questions?
|
|
66
|
+
|
|
67
|
+
- Source code: https://github.com/pinchtab/pinchtab
|
|
68
|
+
- Issues/security reports: https://github.com/pinchtab/pinchtab/issues
|
|
69
|
+
- Docs: https://pinchtab.com
|