@openclaw/voice-call 2026.5.10-beta.2 → 2026.5.10-beta.4
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/{call-status-CXldV5o8.js → call-status-CuIeqfac.js} +1 -1
- package/dist/{config-D1yqfwMq.js → config-Beumk4ED.js} +1 -1
- package/dist/{config-compat-DphZfbFl.js → config-compat-BSV2aOY6.js} +2 -2
- package/dist/{guarded-json-api-C2JLyCeV.js → guarded-json-api-C5TNOqhE.js} +2 -2
- package/dist/{http-headers-BrnxBasF.js → http-headers-B5L5gMpK.js} +1 -1
- package/dist/index.js +4 -4
- package/dist/{mock-CeKvfVEd.js → mock-0CEjFJi5.js} +1 -1
- package/dist/{plivo-3Lcw84OQ.js → plivo-AW4Op9oA.js} +4 -4
- package/dist/{response-generator-BI1iXxVR.js → response-generator-splfS1mU.js} +2 -2
- package/dist/{runtime-entry-DNd6gGW5.js → runtime-entry-CQfEI6TJ.js} +11 -11
- package/dist/runtime-entry.js +1 -1
- package/dist/setup-api.js +2 -2
- package/dist/{telnyx-C-Byj00a.js → telnyx-DPwKir7b.js} +1 -1
- package/dist/{twilio-COJM-9Sh.js → twilio-D-QbSGSk.js} +5 -5
- package/dist/{voice-mapping-BYDGdWGx.js → voice-mapping-DMm-YvxM.js} +1 -4
- package/package.json +6 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/
|
|
1
|
+
import { normalizeOptionalLowercaseString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
2
|
import { convertPcmToMulaw8k } from "openclaw/plugin-sdk/realtime-voice";
|
|
3
3
|
//#region extensions/voice-call/src/telephony-audio.ts
|
|
4
4
|
/**
|
|
@@ -2,7 +2,7 @@ import { TtsConfigSchema } from "./runtime-api.js";
|
|
|
2
2
|
import "./api.js";
|
|
3
3
|
import { REALTIME_VOICE_AGENT_CONSULT_TOOL_NAME, REALTIME_VOICE_AGENT_CONSULT_TOOL_POLICIES } from "openclaw/plugin-sdk/realtime-voice";
|
|
4
4
|
import { buildSecretInputSchema, hasConfiguredSecretInput, normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input";
|
|
5
|
-
import { z } from "
|
|
5
|
+
import { z } from "zod";
|
|
6
6
|
//#region extensions/voice-call/src/deep-merge.ts
|
|
7
7
|
const BLOCKED_MERGE_KEYS = new Set([
|
|
8
8
|
"__proto__",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { t as VoiceCallConfigSchema } from "./config-
|
|
2
|
-
import { asOptionalRecord, readStringField } from "openclaw/plugin-sdk/
|
|
1
|
+
import { t as VoiceCallConfigSchema } from "./config-Beumk4ED.js";
|
|
2
|
+
import { asOptionalRecord, readStringField } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
//#region extensions/voice-call/src/config-compat.ts
|
|
4
4
|
const VOICE_CALL_LEGACY_CONFIG_REMOVAL_VERSION = "2026.6.0";
|
|
5
5
|
const asObject = asOptionalRecord;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { fetchWithSsrFGuard } from "./runtime-api.js";
|
|
2
2
|
import "./api.js";
|
|
3
|
-
import { t as getHeader } from "./http-headers-
|
|
3
|
+
import { t as getHeader } from "./http-headers-B5L5gMpK.js";
|
|
4
4
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
5
5
|
import { isLoopbackHost } from "openclaw/plugin-sdk/gateway-runtime";
|
|
6
|
-
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/
|
|
6
|
+
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
7
7
|
import crypto from "node:crypto";
|
|
8
8
|
import { safeEqualSecret } from "openclaw/plugin-sdk/security-runtime";
|
|
9
9
|
//#region extensions/voice-call/src/webhook-security.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/
|
|
1
|
+
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
2
|
//#region extensions/voice-call/src/http-headers.ts
|
|
3
3
|
function getHeader(headers, name) {
|
|
4
4
|
const target = normalizeLowercaseStringOrEmpty(name);
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { definePluginEntry, sleep } from "./runtime-api.js";
|
|
2
2
|
import "./api.js";
|
|
3
|
-
import { i as resolveVoiceCallConfig, s as validateProviderConfig } from "./config-
|
|
4
|
-
import { a as setupTailscaleExposureRoute, i as getTailscaleSelfInfo, n as resolveWebhookExposureStatus, r as cleanupTailscaleExposureRoute, s as resolveUserPath, t as createVoiceCallRuntime } from "./runtime-entry-
|
|
5
|
-
import { i as parseVoiceCallPluginConfig, r as normalizeVoiceCallLegacyConfigInput, t as formatVoiceCallLegacyConfigWarnings } from "./config-compat-
|
|
3
|
+
import { i as resolveVoiceCallConfig, s as validateProviderConfig } from "./config-Beumk4ED.js";
|
|
4
|
+
import { a as setupTailscaleExposureRoute, i as getTailscaleSelfInfo, n as resolveWebhookExposureStatus, r as cleanupTailscaleExposureRoute, s as resolveUserPath, t as createVoiceCallRuntime } from "./runtime-entry-CQfEI6TJ.js";
|
|
5
|
+
import { i as parseVoiceCallPluginConfig, r as normalizeVoiceCallLegacyConfigInput, t as formatVoiceCallLegacyConfigWarnings } from "./config-compat-BSV2aOY6.js";
|
|
6
6
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
7
7
|
import { ErrorCodes, callGatewayFromCli, errorShape } from "openclaw/plugin-sdk/gateway-runtime";
|
|
8
|
-
import { normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/
|
|
8
|
+
import { normalizeOptionalLowercaseString, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
9
9
|
import { Type } from "typebox";
|
|
10
10
|
import fs from "node:fs";
|
|
11
11
|
import os from "node:os";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/
|
|
1
|
+
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
2
|
import crypto from "node:crypto";
|
|
3
3
|
//#region extensions/voice-call/src/providers/mock.ts
|
|
4
4
|
/**
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { t as escapeXml } from "./voice-mapping-
|
|
2
|
-
import { t as getHeader } from "./http-headers-
|
|
3
|
-
import { n as reconstructWebhookUrl, r as verifyPlivoWebhook, t as guardedJsonApiRequest } from "./guarded-json-api-
|
|
4
|
-
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/
|
|
1
|
+
import { t as escapeXml } from "./voice-mapping-DMm-YvxM.js";
|
|
2
|
+
import { t as getHeader } from "./http-headers-B5L5gMpK.js";
|
|
3
|
+
import { n as reconstructWebhookUrl, r as verifyPlivoWebhook, t as guardedJsonApiRequest } from "./guarded-json-api-C5TNOqhE.js";
|
|
4
|
+
import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
5
5
|
import crypto from "node:crypto";
|
|
6
6
|
//#region extensions/voice-call/src/providers/plivo.ts
|
|
7
7
|
function createPlivoRequestDedupeKey(ctx) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { o as resolveVoiceCallSessionKey } from "./config-
|
|
1
|
+
import { o as resolveVoiceCallSessionKey } from "./config-Beumk4ED.js";
|
|
2
2
|
import { t as resolveVoiceResponseModel } from "./response-model-CyF5K80p.js";
|
|
3
|
-
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/
|
|
3
|
+
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
4
4
|
import crypto from "node:crypto";
|
|
5
5
|
import { applyModelOverrideToSessionEntry } from "openclaw/plugin-sdk/model-session-runtime";
|
|
6
6
|
//#region extensions/voice-call/src/response-generator.ts
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { isBlockedHostnameOrIp, isRequestBodyLimitError, readRequestBodyWithLimit, requestBodyErrorToText } from "./runtime-api.js";
|
|
2
2
|
import "./api.js";
|
|
3
|
-
import { a as resolveVoiceCallEffectiveConfig, c as deepMergeDefined, i as resolveVoiceCallConfig, n as normalizeVoiceCallConfig, o as resolveVoiceCallSessionKey, r as resolveTwilioAuthToken, s as validateProviderConfig } from "./config-
|
|
4
|
-
import { n as mapVoiceToPolly, t as escapeXml } from "./voice-mapping-
|
|
3
|
+
import { a as resolveVoiceCallEffectiveConfig, c as deepMergeDefined, i as resolveVoiceCallConfig, n as normalizeVoiceCallConfig, o as resolveVoiceCallSessionKey, r as resolveTwilioAuthToken, s as validateProviderConfig } from "./config-Beumk4ED.js";
|
|
4
|
+
import { n as mapVoiceToPolly, t as escapeXml } from "./voice-mapping-DMm-YvxM.js";
|
|
5
5
|
import { t as resolveVoiceResponseModel } from "./response-model-CyF5K80p.js";
|
|
6
|
-
import { a as convertPcmToMulaw8k, t as isProviderStatusTerminal } from "./call-status-
|
|
7
|
-
import { t as getHeader } from "./http-headers-
|
|
6
|
+
import { a as convertPcmToMulaw8k, t as isProviderStatusTerminal } from "./call-status-CuIeqfac.js";
|
|
7
|
+
import { t as getHeader } from "./http-headers-B5L5gMpK.js";
|
|
8
8
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
9
9
|
import { isLoopbackHost } from "openclaw/plugin-sdk/gateway-runtime";
|
|
10
|
-
import { normalizeOptionalString } from "openclaw/plugin-sdk/
|
|
10
|
+
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
11
11
|
import { REALTIME_VOICE_AGENT_CONSULT_TOOL_NAME, buildRealtimeVoiceAgentConsultPolicyInstructions, consultRealtimeVoiceAgent, createTalkSessionController, recordTalkObservabilityEvent, resolveRealtimeVoiceAgentConsultTools, resolveRealtimeVoiceAgentConsultToolsAllow, resolveRealtimeVoiceFastContextConsult } from "openclaw/plugin-sdk/realtime-voice";
|
|
12
|
-
import { z } from "
|
|
12
|
+
import { z } from "zod";
|
|
13
13
|
import fs from "node:fs";
|
|
14
14
|
import os from "node:os";
|
|
15
15
|
import path from "node:path";
|
|
@@ -2394,7 +2394,7 @@ function loadRealtimeTranscriptionRuntime() {
|
|
|
2394
2394
|
return realtimeTranscriptionRuntimePromise;
|
|
2395
2395
|
}
|
|
2396
2396
|
function loadResponseGeneratorModule() {
|
|
2397
|
-
responseGeneratorModulePromise ??= import("./response-generator-
|
|
2397
|
+
responseGeneratorModulePromise ??= import("./response-generator-splfS1mU.js");
|
|
2398
2398
|
return responseGeneratorModulePromise;
|
|
2399
2399
|
}
|
|
2400
2400
|
function sanitizeTranscriptForLog(value) {
|
|
@@ -3011,19 +3011,19 @@ let mockProviderPromise;
|
|
|
3011
3011
|
let realtimeVoiceRuntimePromise;
|
|
3012
3012
|
let realtimeHandlerPromise;
|
|
3013
3013
|
function loadTelnyxProvider() {
|
|
3014
|
-
telnyxProviderPromise ??= import("./telnyx-
|
|
3014
|
+
telnyxProviderPromise ??= import("./telnyx-DPwKir7b.js");
|
|
3015
3015
|
return telnyxProviderPromise;
|
|
3016
3016
|
}
|
|
3017
3017
|
function loadTwilioProvider() {
|
|
3018
|
-
twilioProviderPromise ??= import("./twilio-
|
|
3018
|
+
twilioProviderPromise ??= import("./twilio-D-QbSGSk.js");
|
|
3019
3019
|
return twilioProviderPromise;
|
|
3020
3020
|
}
|
|
3021
3021
|
function loadPlivoProvider() {
|
|
3022
|
-
plivoProviderPromise ??= import("./plivo-
|
|
3022
|
+
plivoProviderPromise ??= import("./plivo-AW4Op9oA.js");
|
|
3023
3023
|
return plivoProviderPromise;
|
|
3024
3024
|
}
|
|
3025
3025
|
function loadMockProvider() {
|
|
3026
|
-
mockProviderPromise ??= import("./mock-
|
|
3026
|
+
mockProviderPromise ??= import("./mock-0CEjFJi5.js");
|
|
3027
3027
|
return mockProviderPromise;
|
|
3028
3028
|
}
|
|
3029
3029
|
function loadRealtimeVoiceRuntime() {
|
package/dist/runtime-entry.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as createVoiceCallRuntime } from "./runtime-entry-
|
|
1
|
+
import { t as createVoiceCallRuntime } from "./runtime-entry-CQfEI6TJ.js";
|
|
2
2
|
export { createVoiceCallRuntime };
|
package/dist/setup-api.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as migrateVoiceCallLegacyConfigInput } from "./config-compat-
|
|
2
|
-
import { isRecord } from "openclaw/plugin-sdk/
|
|
1
|
+
import { n as migrateVoiceCallLegacyConfigInput } from "./config-compat-BSV2aOY6.js";
|
|
2
|
+
import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
3
3
|
import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry";
|
|
4
4
|
//#region extensions/voice-call/setup-api.ts
|
|
5
5
|
function migrateVoiceCallPluginConfig(config) {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as verifyTelnyxWebhook, t as guardedJsonApiRequest } from "./guarded-json-api-
|
|
1
|
+
import { i as verifyTelnyxWebhook, t as guardedJsonApiRequest } from "./guarded-json-api-C5TNOqhE.js";
|
|
2
2
|
import crypto from "node:crypto";
|
|
3
3
|
//#region extensions/voice-call/src/providers/telnyx.ts
|
|
4
4
|
function normalizeTelnyxDirection(direction) {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { fetchWithSsrFGuard } from "./runtime-api.js";
|
|
2
2
|
import "./api.js";
|
|
3
|
-
import { n as mapVoiceToPolly, t as escapeXml } from "./voice-mapping-
|
|
4
|
-
import { i as chunkAudio, n as mapProviderStatusToEndReason, r as normalizeProviderStatus, t as isProviderStatusTerminal } from "./call-status-
|
|
5
|
-
import { t as getHeader } from "./http-headers-
|
|
6
|
-
import { a as verifyTwilioWebhook, t as guardedJsonApiRequest } from "./guarded-json-api-
|
|
7
|
-
import { normalizeOptionalString } from "openclaw/plugin-sdk/
|
|
3
|
+
import { n as mapVoiceToPolly, t as escapeXml } from "./voice-mapping-DMm-YvxM.js";
|
|
4
|
+
import { i as chunkAudio, n as mapProviderStatusToEndReason, r as normalizeProviderStatus, t as isProviderStatusTerminal } from "./call-status-CuIeqfac.js";
|
|
5
|
+
import { t as getHeader } from "./http-headers-B5L5gMpK.js";
|
|
6
|
+
import { a as verifyTwilioWebhook, t as guardedJsonApiRequest } from "./guarded-json-api-C5TNOqhE.js";
|
|
7
|
+
import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
8
8
|
import crypto from "node:crypto";
|
|
9
9
|
import { safeEqualSecret } from "openclaw/plugin-sdk/security-runtime";
|
|
10
10
|
import { setTimeout as setTimeout$1 } from "node:timers/promises";
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/
|
|
1
|
+
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
2
|
//#region extensions/voice-call/src/voice-mapping.ts
|
|
3
3
|
/**
|
|
4
|
-
* Voice mapping and XML utilities for voice call providers.
|
|
5
|
-
*/
|
|
6
|
-
/**
|
|
7
4
|
* Escape XML special characters for TwiML and other XML responses.
|
|
8
5
|
*/
|
|
9
6
|
function escapeXml(text) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openclaw/voice-call",
|
|
3
|
-
"version": "2026.5.10-beta.
|
|
3
|
+
"version": "2026.5.10-beta.4",
|
|
4
4
|
"description": "OpenClaw voice-call plugin",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -10,14 +10,15 @@
|
|
|
10
10
|
"dependencies": {
|
|
11
11
|
"commander": "^14.0.3",
|
|
12
12
|
"typebox": "1.1.38",
|
|
13
|
-
"ws": "^8.20.0"
|
|
13
|
+
"ws": "^8.20.0",
|
|
14
|
+
"zod": "^4.4.3"
|
|
14
15
|
},
|
|
15
16
|
"devDependencies": {
|
|
16
17
|
"@openclaw/plugin-sdk": "workspace:*",
|
|
17
18
|
"openclaw": "workspace:*"
|
|
18
19
|
},
|
|
19
20
|
"peerDependencies": {
|
|
20
|
-
"openclaw": ">=2026.5.10-beta.
|
|
21
|
+
"openclaw": ">=2026.5.10-beta.4"
|
|
21
22
|
},
|
|
22
23
|
"peerDependenciesMeta": {
|
|
23
24
|
"openclaw": {
|
|
@@ -34,10 +35,10 @@
|
|
|
34
35
|
"minHostVersion": ">=2026.4.10"
|
|
35
36
|
},
|
|
36
37
|
"compat": {
|
|
37
|
-
"pluginApi": ">=2026.5.10-beta.
|
|
38
|
+
"pluginApi": ">=2026.5.10-beta.4"
|
|
38
39
|
},
|
|
39
40
|
"build": {
|
|
40
|
-
"openclawVersion": "2026.5.10-beta.
|
|
41
|
+
"openclawVersion": "2026.5.10-beta.4"
|
|
41
42
|
},
|
|
42
43
|
"release": {
|
|
43
44
|
"publishToClawHub": true,
|