@openclaw/voice-call 2026.5.10-beta.1 → 2026.5.10-beta.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/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { definePluginEntry, sleep } from "./runtime-api.js";
2
2
  import "./api.js";
3
3
  import { i as resolveVoiceCallConfig, s as validateProviderConfig } from "./config-D1yqfwMq.js";
4
- import { a as setupTailscaleExposureRoute, i as getTailscaleSelfInfo, n as resolveWebhookExposureStatus, r as cleanupTailscaleExposureRoute, s as resolveUserPath, t as createVoiceCallRuntime } from "./runtime-entry-CVTYOHsM.js";
4
+ import { a as setupTailscaleExposureRoute, i as getTailscaleSelfInfo, n as resolveWebhookExposureStatus, r as cleanupTailscaleExposureRoute, s as resolveUserPath, t as createVoiceCallRuntime } from "./runtime-entry-DNd6gGW5.js";
5
5
  import { i as parseVoiceCallPluginConfig, r as normalizeVoiceCallLegacyConfigInput, t as formatVoiceCallLegacyConfigWarnings } from "./config-compat-DphZfbFl.js";
6
6
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
7
7
  import { ErrorCodes, callGatewayFromCli, errorShape } from "openclaw/plugin-sdk/gateway-runtime";
@@ -8,6 +8,21 @@ import { applyModelOverrideToSessionEntry } from "openclaw/plugin-sdk/model-sess
8
8
  * Voice call response generator - uses the embedded Pi agent for tool support.
9
9
  * Routes voice responses through the same agent infrastructure as messaging.
10
10
  */
11
+ function isRecord$1(value) {
12
+ return typeof value === "object" && value !== null && !Array.isArray(value);
13
+ }
14
+ function readExplicitToolsAllow(value) {
15
+ if (!isRecord$1(value)) return;
16
+ const allow = value.allow;
17
+ if (!Array.isArray(allow)) return;
18
+ return allow.filter((entry) => typeof entry === "string");
19
+ }
20
+ function resolveVoiceAgentToolsAllow(config, agentId) {
21
+ const agents = isRecord$1(config.agents) ? config.agents : void 0;
22
+ const agent = (Array.isArray(agents?.list) ? agents.list : []).find((entry) => isRecord$1(entry) && entry.id === agentId);
23
+ if (!isRecord$1(agent)) return;
24
+ return readExplicitToolsAllow(isRecord$1(agent.tools) ? agent.tools : void 0);
25
+ }
11
26
  const VOICE_SPOKEN_OUTPUT_CONTRACT = [
12
27
  "Output format requirements:",
13
28
  "- Return only valid JSON in this exact shape: {\"spoken\":\"...\"}",
@@ -97,6 +112,7 @@ async function generateVoiceResponse(params) {
97
112
  explicitSessionKey: sessionKey
98
113
  });
99
114
  const agentId = voiceConfig.agentId ?? "main";
115
+ const toolsAllow = resolveVoiceAgentToolsAllow(cfg, agentId);
100
116
  const storePath = agentRuntime.session.resolveStorePath(cfg.session?.store, { agentId });
101
117
  const agentDir = agentRuntime.resolveAgentDir(cfg, agentId);
102
118
  const workspaceDir = agentRuntime.resolveAgentWorkspaceDir(cfg, agentId);
@@ -162,7 +178,8 @@ async function generateVoiceResponse(params) {
162
178
  runId,
163
179
  lane: "voice",
164
180
  extraSystemPrompt,
165
- agentDir
181
+ agentDir,
182
+ toolsAllow
166
183
  });
167
184
  const text = extractSpokenTextFromPayloads(result.payloads ?? []);
168
185
  if (!text && result.meta?.aborted) return {
@@ -2394,7 +2394,7 @@ function loadRealtimeTranscriptionRuntime() {
2394
2394
  return realtimeTranscriptionRuntimePromise;
2395
2395
  }
2396
2396
  function loadResponseGeneratorModule() {
2397
- responseGeneratorModulePromise ??= import("./response-generator-WvI4YRlo.js");
2397
+ responseGeneratorModulePromise ??= import("./response-generator-BI1iXxVR.js");
2398
2398
  return responseGeneratorModulePromise;
2399
2399
  }
2400
2400
  function sanitizeTranscriptForLog(value) {
@@ -1,2 +1,2 @@
1
- import { t as createVoiceCallRuntime } from "./runtime-entry-CVTYOHsM.js";
1
+ import { t as createVoiceCallRuntime } from "./runtime-entry-DNd6gGW5.js";
2
2
  export { createVoiceCallRuntime };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/voice-call",
3
- "version": "2026.5.10-beta.1",
3
+ "version": "2026.5.10-beta.2",
4
4
  "description": "OpenClaw voice-call plugin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,7 @@
17
17
  "openclaw": "workspace:*"
18
18
  },
19
19
  "peerDependencies": {
20
- "openclaw": ">=2026.5.10-beta.1"
20
+ "openclaw": ">=2026.5.10-beta.2"
21
21
  },
22
22
  "peerDependenciesMeta": {
23
23
  "openclaw": {
@@ -34,10 +34,10 @@
34
34
  "minHostVersion": ">=2026.4.10"
35
35
  },
36
36
  "compat": {
37
- "pluginApi": ">=2026.5.10-beta.1"
37
+ "pluginApi": ">=2026.5.10-beta.2"
38
38
  },
39
39
  "build": {
40
- "openclawVersion": "2026.5.10-beta.1"
40
+ "openclawVersion": "2026.5.10-beta.2"
41
41
  },
42
42
  "release": {
43
43
  "publishToClawHub": true,