diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c3c9ce669d..e0b1c786b76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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. diff --git a/extensions/voice-call/openclaw.plugin.json b/extensions/voice-call/openclaw.plugin.json index 1fc08af05ae..56d7a5a9177 100644 --- a/extensions/voice-call/openclaw.plugin.json +++ b/extensions/voice-call/openclaw.plugin.json @@ -1,7 +1,9 @@ { "id": "voice-call", + "commandAliases": [{ "name": "voicecall" }], "activation": { - "onStartup": true + "onStartup": true, + "onCommands": ["voicecall"] }, "channelEnvVars": { "voice-call": [ diff --git a/src/plugins/bundled-plugin-metadata.test.ts b/src/plugins/bundled-plugin-metadata.test.ts index dac32b46296..669f45a2a11 100644 --- a/src/plugins/bundled-plugin-metadata.test.ts +++ b/src/plugins/bundled-plugin-metadata.test.ts @@ -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 }) => ({