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.
Files changed (125) hide show
  1. package/README.md +452 -451
  2. package/container/Dockerfile +127 -127
  3. package/container/Dockerfile.base +109 -109
  4. package/container/Dockerfile.power +17 -17
  5. package/container/agent-package.json +8 -8
  6. package/container/build.sh +54 -54
  7. package/docs/ROADMAP.md +3 -4
  8. package/docs/archive/summarization/2026-07-02-recent-dev-summary.md +71 -0
  9. package/docs/auth/dashboard.md +28 -28
  10. package/docs/auth/overview.md +109 -109
  11. package/docs/auth/whatsapp.md +173 -173
  12. package/docs/authoring-profiles.md +174 -174
  13. package/docs/configuration.md +54 -54
  14. package/docs/container-lifecycle.md +349 -349
  15. package/docs/{bugs/bwrap-privileged-linux-docker.md → debug/major/2026-07-02-bwrap-privileged-linux-docker.md} +21 -1
  16. package/docs/{bugs/e2big-prompt-delivery-fix.md → debug/major/2026-07-02-e2big-prompt-delivery-fix.md} +27 -1
  17. package/docs/{bugs/registry-pull-no-local-fallback.md → debug/major/2026-07-02-registry-pull-no-local-fallback.md} +27 -1
  18. package/docs/debug/summarization/2026-07-02-common-bug-patterns.md +72 -0
  19. package/docs/deployment.md +199 -199
  20. package/docs/extensions.md +375 -375
  21. package/docs/graceful-shutdown.md +62 -62
  22. package/docs/kb-distillation.md +77 -77
  23. package/docs/media/overview.md +140 -140
  24. package/docs/media/whatsapp.md +171 -171
  25. package/docs/memory.md +137 -137
  26. package/docs/permissions.md +217 -217
  27. package/docs/pipeline.md +228 -228
  28. package/docs/prd-chat-memory.md +76 -76
  29. package/docs/prd-config-load.md +82 -82
  30. package/docs/rate-limiting.md +229 -229
  31. package/docs/runbooks/publish-checklist.md +9 -1
  32. package/docs/scheduler.md +288 -288
  33. package/docs/setup-discord.md +100 -100
  34. package/docs/setup-slack.md +119 -119
  35. package/docs/setup-whatsapp.md +94 -94
  36. package/docs/subagents.md +166 -166
  37. package/docs/web-search.md +62 -62
  38. package/examples/extensions/README.md +12 -12
  39. package/examples/extensions/charts/index.ts +13 -13
  40. package/examples/extensions/charts/skill/SKILL.md +98 -98
  41. package/examples/extensions/gws/README.md +52 -52
  42. package/examples/extensions/gws/skill/SKILL.md +57 -57
  43. package/examples/extensions/gws/skill/references/calendar.md +101 -101
  44. package/examples/extensions/gws/skill/references/docs.md +65 -65
  45. package/examples/extensions/gws/skill/references/drive.md +79 -79
  46. package/examples/extensions/gws/skill/references/gmail.md +85 -85
  47. package/examples/extensions/gws/skill/references/sheets.md +60 -60
  48. package/examples/extensions/napkin/skill/SKILL.md +728 -728
  49. package/examples/extensions/pdf/skill/LICENSE.txt +30 -30
  50. package/examples/extensions/pdf/skill/SKILL.md +314 -314
  51. package/examples/extensions/pdf/skill/forms.md +294 -294
  52. package/examples/extensions/pdf/skill/reference.md +611 -611
  53. package/examples/extensions/pdf/skill/scripts/check_bounding_boxes.py +65 -65
  54. package/examples/extensions/pdf/skill/scripts/check_fillable_fields.py +11 -11
  55. package/examples/extensions/pdf/skill/scripts/convert_pdf_to_images.py +33 -33
  56. package/examples/extensions/pdf/skill/scripts/create_validation_image.py +37 -37
  57. package/examples/extensions/pdf/skill/scripts/extract_form_field_info.py +122 -122
  58. package/examples/extensions/pdf/skill/scripts/extract_form_structure.py +115 -115
  59. package/examples/extensions/pdf/skill/scripts/fill_fillable_fields.py +98 -98
  60. package/examples/extensions/pdf/skill/scripts/fill_pdf_form_with_annotations.py +107 -107
  61. package/examples/extensions/permission-guard/index.ts +65 -65
  62. package/examples/extensions/pinchtab/skill/SKILL.md +224 -224
  63. package/examples/extensions/pinchtab/skill/TRUST.md +69 -69
  64. package/examples/extensions/pinchtab/skill/references/api.md +297 -297
  65. package/examples/extensions/pinchtab/skill/references/env.md +45 -45
  66. package/examples/extensions/pinchtab/skill/references/profiles.md +107 -107
  67. package/examples/extensions/tradestation/host/refresh.ts +102 -102
  68. package/examples/extensions/tradestation/index.ts +153 -153
  69. package/examples/extensions/tradestation/skill/SKILL.md +67 -67
  70. package/examples/extensions/voice-synth/index.ts +94 -94
  71. package/examples/extensions/voice-synth/skill/SKILL.md +38 -38
  72. package/examples/extensions/voice-transcribe/requirements.txt +8 -8
  73. package/examples/extensions/voice-transcribe/scripts/transcribe.py +179 -179
  74. package/examples/extensions/voice-transcribe/skill/SKILL.md +53 -53
  75. package/examples/extensions/yahoo-mail/cli/package.json +13 -13
  76. package/examples/extensions/yahoo-mail/skill/SKILL.md +78 -78
  77. package/package.json +106 -106
  78. package/resources/agents/explore.md +50 -50
  79. package/resources/agents/worker.md +24 -24
  80. package/resources/connection-env-vars.json +25 -25
  81. package/resources/pi-extensions/subagent/agents.ts +126 -126
  82. package/resources/pi-extensions/subagent/index.ts +964 -964
  83. package/resources/profiles/coding/AGENTS.md +43 -43
  84. package/resources/profiles/coding/mercury-profile.yaml +15 -15
  85. package/resources/profiles/general/AGENTS.md +31 -31
  86. package/resources/profiles/general/mercury-profile.yaml +15 -15
  87. package/resources/profiles/research/AGENTS.md +40 -40
  88. package/resources/profiles/research/mercury-profile.yaml +15 -15
  89. package/resources/skills/config/SKILL.md +25 -25
  90. package/resources/skills/context/SKILL.md +33 -33
  91. package/resources/skills/conversation-recap/SKILL.md +19 -19
  92. package/resources/skills/mutes/SKILL.md +31 -31
  93. package/resources/skills/permissions/SKILL.md +19 -19
  94. package/resources/skills/preferences/SKILL.md +31 -31
  95. package/resources/skills/recall/SKILL.md +24 -24
  96. package/resources/skills/roles/SKILL.md +18 -18
  97. package/resources/skills/spaces/SKILL.md +18 -18
  98. package/resources/skills/tasks/SKILL.md +45 -45
  99. package/resources/templates/AGENTS.md +157 -157
  100. package/resources/templates/env.template +38 -38
  101. package/resources/templates/mercury.example.yaml +99 -99
  102. package/src/agent/container-entry.ts +1 -1
  103. package/src/agent/container-runner.ts +1345 -1346
  104. package/src/cli/mercury.ts +39 -7
  105. package/src/cli/mrctl.ts +636 -636
  106. package/src/config-file.ts +540 -540
  107. package/src/config.ts +339 -339
  108. package/src/core/api.ts +125 -125
  109. package/src/core/caller-token.ts +101 -101
  110. package/src/core/permissions.ts +228 -228
  111. package/src/core/profiles.ts +271 -271
  112. package/src/core/routes/capability.ts +70 -70
  113. package/src/core/routes/index.ts +15 -15
  114. package/src/core/runtime.ts +1530 -1530
  115. package/src/dashboard/index.html +729 -729
  116. package/src/extensions/api.ts +273 -273
  117. package/src/extensions/loader.ts +286 -286
  118. package/src/extensions/types.ts +517 -517
  119. package/src/main.ts +605 -605
  120. package/docs/pending-updates/applicative-profiles.md +0 -15
  121. package/docs/pending-updates/caller-bound-capability-token.md +0 -15
  122. package/docs/pending-updates/dm-auto-space.md +0 -15
  123. /package/docs/archive/{2026-07-01-applicative-profiles.md → applicative-profiles/2026-07-01-applicative-profiles.md} +0 -0
  124. /package/docs/archive/{2026-07-01-caller-bound-capability-token.md → applicative-profiles/2026-07-01-caller-bound-capability-token.md} +0 -0
  125. /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