fix: scope voicecall CLI activation

This commit is contained in:
Peter Steinberger
2026-05-01 05:31:50 +01:00
parent 778902103d
commit 07bc320a8a
3 changed files with 13 additions and 1 deletions

View File

@@ -13,6 +13,7 @@ Docs: https://docs.openclaw.ai
- Agents/pi-embedded-runner: extract the `abortable` provider-call wrapper from `runEmbeddedAttempt` to module scope so its promise handlers no longer close over the run lexical context, releasing transcripts, tool buffers, and subscription callbacks when a provider call hangs past abort. (#74182) Thanks @cjboy007.
- Docker: restore `python3` in the gateway runtime image after the slim-runtime switch. Fixes #75041.
- CLI/Voice Call: scope `voicecall` command activation to the Voice Call plugin so setup and smoke checks no longer broad-load unrelated plugin runtimes or hang after printing JSON. Thanks @vincentkoc.
- Agents/commitments: keep inferred follow-ups internal when heartbeat target is none, strip raw source text from stored commitments, disable tools during due-commitment heartbeat turns, bound hidden extraction queue growth, expire stale commitments, and add QA/Docker safety coverage. Thanks @vignesh07.
- Telegram/agents: keep typing indicators and optional generation tools off the reply critical path, so fresh Telegram replies no longer stall while provider catalogs and media models load. (#75360) Thanks @obviyus.
- Agents/commitments: run hidden follow-up extraction on the configured agent/default model instead of falling back to direct OpenAI, so OpenAI Codex OAuth-only gateways no longer spam background API-key failures. Fixes #75334. Thanks @sene1337.

View File

@@ -1,7 +1,9 @@
{
"id": "voice-call",
"commandAliases": [{ "name": "voicecall" }],
"activation": {
"onStartup": true
"onStartup": true,
"onCommands": ["voicecall"]
},
"channelEnvVars": {
"voice-call": [

View File

@@ -381,6 +381,15 @@ describe("bundled plugin metadata", () => {
);
});
it("scopes Voice Call CLI activation to the voicecall command", () => {
const entry = listRepoBundledPluginManifests().find(
({ manifest }) => manifest.id === "voice-call",
);
expect(entry?.manifest.commandAliases).toContainEqual({ name: "voicecall" });
expect(entry?.manifest.activation?.onCommands).toContain("voicecall");
});
it("keeps empty-config Gateway startup narrower than declared startup sidecars", () => {
const manifestRegistry = {
plugins: listRepoBundledPluginManifests().map(({ manifest, dirName }) => ({