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
package/src/cli/mercury.ts
CHANGED
|
@@ -188,6 +188,8 @@ async function runAction(): Promise<void> {
|
|
|
188
188
|
});
|
|
189
189
|
if (imageCheck.status !== 0) {
|
|
190
190
|
const isRegistryImage = imageName.includes("/");
|
|
191
|
+
let resolved = false;
|
|
192
|
+
|
|
191
193
|
if (isRegistryImage) {
|
|
192
194
|
console.log(`Image '${imageName}' not found locally, pulling...`);
|
|
193
195
|
const pull = spawnSync("docker", ["pull", imageName], {
|
|
@@ -196,7 +198,36 @@ async function runAction(): Promise<void> {
|
|
|
196
198
|
if (pull.signal) {
|
|
197
199
|
process.exit(1);
|
|
198
200
|
}
|
|
199
|
-
if (pull.status
|
|
201
|
+
if (pull.status === 0) {
|
|
202
|
+
resolved = true;
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// Fallback: if the configured image isn't available (pull failed, not a
|
|
207
|
+
// registry image, or never pulled), try the local build tag.
|
|
208
|
+
if (!resolved) {
|
|
209
|
+
const localTag = "mercury-agent:latest";
|
|
210
|
+
if (imageName !== localTag) {
|
|
211
|
+
const localCheck = spawnSync("docker", ["image", "inspect", localTag], {
|
|
212
|
+
stdio: "pipe",
|
|
213
|
+
});
|
|
214
|
+
if (localCheck.status === 0) {
|
|
215
|
+
console.log(
|
|
216
|
+
`\nℹ️ Using locally built ${localTag} (configured image unavailable)\n`,
|
|
217
|
+
);
|
|
218
|
+
// Override in both process.env and envVars: the child is spawned with
|
|
219
|
+
// `{ ...process.env, ...envVars }`, so envVars (loaded from .env, which
|
|
220
|
+
// usually pins MERCURY_AGENT_IMAGE to the registry) wins the merge and
|
|
221
|
+
// would otherwise clobber this fallback.
|
|
222
|
+
process.env.MERCURY_AGENT_IMAGE = localTag;
|
|
223
|
+
envVars.MERCURY_AGENT_IMAGE = localTag;
|
|
224
|
+
resolved = true;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
if (!resolved) {
|
|
230
|
+
if (isRegistryImage) {
|
|
200
231
|
const firstSegment = imageName.split("/")[0];
|
|
201
232
|
const registry = firstSegment.includes(".")
|
|
202
233
|
? firstSegment
|
|
@@ -204,13 +235,14 @@ async function runAction(): Promise<void> {
|
|
|
204
235
|
console.error(`\nError: Failed to pull '${imageName}'.`);
|
|
205
236
|
console.error(
|
|
206
237
|
"If this is a private registry, authenticate first:\n" +
|
|
207
|
-
` docker login ${registry}
|
|
238
|
+
` docker login ${registry}\n` +
|
|
239
|
+
"Or build locally:\n" +
|
|
240
|
+
" mercury build",
|
|
208
241
|
);
|
|
209
|
-
|
|
242
|
+
} else {
|
|
243
|
+
console.error(`Error: Container image '${imageName}' not found.`);
|
|
244
|
+
console.error("Run 'mercury build' to build it.");
|
|
210
245
|
}
|
|
211
|
-
} else {
|
|
212
|
-
console.error(`Error: Container image '${imageName}' not found.`);
|
|
213
|
-
console.error("Run 'mercury build' to build it.");
|
|
214
246
|
process.exit(1);
|
|
215
247
|
}
|
|
216
248
|
}
|
|
@@ -689,7 +721,7 @@ program
|
|
|
689
721
|
anthropic: {
|
|
690
722
|
envKey: "MERCURY_ANTHROPIC_API_KEY",
|
|
691
723
|
label: "Anthropic API key",
|
|
692
|
-
defaultModel: "claude-
|
|
724
|
+
defaultModel: "claude-opus-4-8",
|
|
693
725
|
},
|
|
694
726
|
openai: {
|
|
695
727
|
envKey: "MERCURY_OPENAI_API_KEY",
|