@openclaw/voice-call 2026.5.14-beta.2 → 2026.5.16-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.
@@ -1,6 +1,6 @@
1
1
  import { fetchWithSsrFGuard } from "./runtime-api.js";
2
2
  import "./api.js";
3
- import { a as getHeader } from "./runtime-entry-ox4PGoxT.js";
3
+ import { a as getHeader } from "./runtime-entry-X0kPF8Cf.js";
4
4
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
5
5
  import { isLoopbackHost } from "openclaw/plugin-sdk/gateway-runtime";
6
6
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
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-C8gX5Cik.js";
4
- import { c as getTailscaleSelfInfo, l as setupTailscaleExposureRoute, o as resolveWebhookExposureStatus, p as resolveUserPath, s as cleanupTailscaleExposureRoute, t as createVoiceCallRuntime } from "./runtime-entry-ox4PGoxT.js";
4
+ import { c as getTailscaleSelfInfo, l as setupTailscaleExposureRoute, o as resolveWebhookExposureStatus, p as resolveUserPath, s as cleanupTailscaleExposureRoute, t as createVoiceCallRuntime } from "./runtime-entry-X0kPF8Cf.js";
5
5
  import { i as parseVoiceCallPluginConfig, r as normalizeVoiceCallLegacyConfigInput, t as formatVoiceCallLegacyConfigWarnings } from "./config-compat-DJqJ8NzH.js";
6
6
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
7
7
  import { ErrorCodes, callGatewayFromCli, errorShape } from "openclaw/plugin-sdk/gateway-runtime";
@@ -1,5 +1,5 @@
1
- import { a as getHeader, m as escapeXml } from "./runtime-entry-ox4PGoxT.js";
2
- import { n as reconstructWebhookUrl, r as verifyPlivoWebhook, t as guardedJsonApiRequest } from "./guarded-json-api-D_aM8XmA.js";
1
+ import { a as getHeader, m as escapeXml } from "./runtime-entry-X0kPF8Cf.js";
2
+ import { n as reconstructWebhookUrl, r as verifyPlivoWebhook, t as guardedJsonApiRequest } from "./guarded-json-api-CUsmSwWt.js";
3
3
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import crypto from "node:crypto";
5
5
  //#region extensions/voice-call/src/providers/plivo.ts
@@ -1,5 +1,5 @@
1
1
  import { o as resolveVoiceCallSessionKey } from "./config-C8gX5Cik.js";
2
- import { f as resolveVoiceResponseModel } from "./runtime-entry-ox4PGoxT.js";
2
+ import { f as resolveVoiceResponseModel } from "./runtime-entry-X0kPF8Cf.js";
3
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";
@@ -814,6 +814,26 @@ function createWebhookCall(params) {
814
814
  console.log(`[voice-call] Created ${params.direction} call record: ${callId} from ${params.from}`);
815
815
  return callRecord;
816
816
  }
817
+ function persistRejectedInboundCall(params) {
818
+ const callId = params.event.callId || params.providerCallId;
819
+ const now = Date.now();
820
+ const rejectedCall = {
821
+ callId,
822
+ providerCallId: params.providerCallId,
823
+ provider: params.ctx.provider?.name || "twilio",
824
+ direction: "inbound",
825
+ state: "hangup-bot",
826
+ from: params.event.from || "unknown",
827
+ to: params.event.to || params.ctx.config.fromNumber || "unknown",
828
+ startedAt: params.event.timestamp || now,
829
+ endedAt: now,
830
+ endReason: "hangup-bot",
831
+ transcript: [],
832
+ processedEventIds: [params.dedupeKey],
833
+ metadata: { rejectionReason: "inbound-policy" }
834
+ };
835
+ persistCallRecord(params.ctx.storePath, rejectedCall);
836
+ }
817
837
  function processEvent(ctx, event) {
818
838
  const dedupeKey = event.dedupeKey || event.id;
819
839
  if (ctx.processedEventIds.has(dedupeKey)) return;
@@ -835,6 +855,12 @@ function processEvent(ctx, event) {
835
855
  if (ctx.rejectedProviderCallIds.has(pid)) return;
836
856
  ctx.rejectedProviderCallIds.add(pid);
837
857
  const callId = event.callId ?? pid;
858
+ persistRejectedInboundCall({
859
+ ctx,
860
+ event,
861
+ dedupeKey,
862
+ providerCallId: pid
863
+ });
838
864
  console.log(`[voice-call] Rejecting inbound call by policy: ${pid}`);
839
865
  ctx.provider.hangupCall({
840
866
  callId,
@@ -2505,7 +2531,7 @@ function loadRealtimeTranscriptionRuntime() {
2505
2531
  return realtimeTranscriptionRuntimePromise;
2506
2532
  }
2507
2533
  function loadResponseGeneratorModule() {
2508
- responseGeneratorModulePromise ??= import("./response-generator-ZeNpwsyL.js");
2534
+ responseGeneratorModulePromise ??= import("./response-generator-Ccuf7pQe.js");
2509
2535
  return responseGeneratorModulePromise;
2510
2536
  }
2511
2537
  function sanitizeTranscriptForLog(value) {
@@ -3122,15 +3148,15 @@ let mockProviderPromise;
3122
3148
  let realtimeVoiceRuntimePromise;
3123
3149
  let realtimeHandlerPromise;
3124
3150
  function loadTelnyxProvider() {
3125
- telnyxProviderPromise ??= import("./telnyx-Df3IfYAS.js");
3151
+ telnyxProviderPromise ??= import("./telnyx-CAP9_gRF.js");
3126
3152
  return telnyxProviderPromise;
3127
3153
  }
3128
3154
  function loadTwilioProvider() {
3129
- twilioProviderPromise ??= import("./twilio-B3zpyWY5.js");
3155
+ twilioProviderPromise ??= import("./twilio-DsggjKEf.js");
3130
3156
  return twilioProviderPromise;
3131
3157
  }
3132
3158
  function loadPlivoProvider() {
3133
- plivoProviderPromise ??= import("./plivo--HUS8UBT.js");
3159
+ plivoProviderPromise ??= import("./plivo-BjXtz_Wv.js");
3134
3160
  return plivoProviderPromise;
3135
3161
  }
3136
3162
  function loadMockProvider() {
@@ -1,2 +1,2 @@
1
- import { t as createVoiceCallRuntime } from "./runtime-entry-ox4PGoxT.js";
1
+ import { t as createVoiceCallRuntime } from "./runtime-entry-X0kPF8Cf.js";
2
2
  export { createVoiceCallRuntime };
@@ -1,4 +1,4 @@
1
- import { i as verifyTelnyxWebhook, t as guardedJsonApiRequest } from "./guarded-json-api-D_aM8XmA.js";
1
+ import { i as verifyTelnyxWebhook, t as guardedJsonApiRequest } from "./guarded-json-api-CUsmSwWt.js";
2
2
  import crypto from "node:crypto";
3
3
  //#region extensions/voice-call/src/providers/telnyx.ts
4
4
  function normalizeTelnyxDirection(direction) {
@@ -1,7 +1,7 @@
1
1
  import { fetchWithSsrFGuard } from "./runtime-api.js";
2
2
  import "./api.js";
3
- import { a as getHeader, d as chunkAudio, h as mapVoiceToPolly, i as normalizeProviderStatus, m as escapeXml, n as isProviderStatusTerminal, r as mapProviderStatusToEndReason } from "./runtime-entry-ox4PGoxT.js";
4
- import { a as verifyTwilioWebhook, t as guardedJsonApiRequest } from "./guarded-json-api-D_aM8XmA.js";
3
+ import { a as getHeader, d as chunkAudio, h as mapVoiceToPolly, i as normalizeProviderStatus, m as escapeXml, n as isProviderStatusTerminal, r as mapProviderStatusToEndReason } from "./runtime-entry-X0kPF8Cf.js";
4
+ import { a as verifyTwilioWebhook, t as guardedJsonApiRequest } from "./guarded-json-api-CUsmSwWt.js";
5
5
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import crypto from "node:crypto";
7
7
  import { safeEqualSecret } from "openclaw/plugin-sdk/security-runtime";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/voice-call",
3
- "version": "2026.5.14-beta.2",
3
+ "version": "2026.5.16-beta.2",
4
4
  "description": "OpenClaw voice-call plugin",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,7 +18,7 @@
18
18
  "openclaw": "workspace:*"
19
19
  },
20
20
  "peerDependencies": {
21
- "openclaw": ">=2026.5.14-beta.2"
21
+ "openclaw": ">=2026.5.16-beta.2"
22
22
  },
23
23
  "peerDependenciesMeta": {
24
24
  "openclaw": {
@@ -35,10 +35,10 @@
35
35
  "minHostVersion": ">=2026.4.10"
36
36
  },
37
37
  "compat": {
38
- "pluginApi": ">=2026.5.14-beta.2"
38
+ "pluginApi": ">=2026.5.16-beta.2"
39
39
  },
40
40
  "build": {
41
- "openclawVersion": "2026.5.14-beta.2"
41
+ "openclawVersion": "2026.5.16-beta.2"
42
42
  },
43
43
  "release": {
44
44
  "publishToClawHub": true,