@openclaw/voice-call 2026.10.6 → 2026.10.8

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,5 +1,5 @@
1
1
  import { fetchWithSsrFGuard } from "../api.js";
2
- import { c as getHeader, r as normalizeProxyIp } from "./runtime-entry-Bv4GOoof.mjs";
2
+ import { c as getHeader, r as normalizeProxyIp } from "./runtime-entry-9C02-fWn.mjs";
3
3
  import { n as reserveWebhookReplay, t as createWebhookReplayCache } from "./webhook-replay-B7RJNWNG.mjs";
4
4
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
5
5
  import { isLoopbackHost } from "openclaw/plugin-sdk/gateway-runtime";
@@ -1,6 +1,6 @@
1
1
  import { sleep } from "../api.js";
2
2
  import { g as CallBriefSchema, l as resolveVoiceCallStreamExposurePaths, u as validateProviderConfig } from "./config-CsrGuamE.mjs";
3
- import { S as resolveVoiceCallAgentId, _ as findCallInStore, b as setVoiceCallStateRuntime, d as getTailscaleSelfInfo, f as setupTailscaleExposureRoutes, g as MAX_CALL_RECORD_EVENTS, l as resolveWebhookExposureStatus, u as cleanupTailscaleExposureRoute, v as getCallHistoryFromStore, y as loadActiveCallsFromStore } from "./runtime-entry-Bv4GOoof.mjs";
3
+ import { S as resolveVoiceCallAgentId, _ as findCallInStore, b as setVoiceCallStateRuntime, d as getTailscaleSelfInfo, f as setupTailscaleExposureRoutes, g as MAX_CALL_RECORD_EVENTS, l as resolveWebhookExposureStatus, u as cleanupTailscaleExposureRoute, v as getCallHistoryFromStore, y as loadActiveCallsFromStore } from "./runtime-entry-9C02-fWn.mjs";
4
4
  import { r as resolveUserPath, t as resolveDefaultVoiceCallStoreDir } from "./store-path-Cfwff6j7.mjs";
5
5
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
6
6
  import { callGatewayFromCli, isGatewayClientRequestError, isGatewayTransportError, redactSensitiveUrlLikeString } from "openclaw/plugin-sdk/gateway-runtime";
@@ -1,6 +1,6 @@
1
- import { c as getHeader } from "./runtime-entry-Bv4GOoof.mjs";
1
+ import { c as getHeader } from "./runtime-entry-9C02-fWn.mjs";
2
2
  import { t as escapeXml } from "./voice-mapping-1lzFmzOF.mjs";
3
- import { n as reconstructWebhookUrl, r as verifyPlivoWebhook, t as createCarrierApi } from "./carrier-api-Yl0hFFEf.mjs";
3
+ import { n as reconstructWebhookUrl, r as verifyPlivoWebhook, t as createCarrierApi } from "./carrier-api-s81hf7Wx.mjs";
4
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
@@ -1,5 +1,5 @@
1
1
  import { d as REALTIME_VOICE_END_CALL_TOOL_NAME, g as CallBriefSchema, s as resolveVoiceCallPublicPathPrefix } from "./config-CsrGuamE.mjs";
2
- import { n as appendRecentTalkEventMetadata, s as canonicalizeVoiceCallMediaBase64 } from "./runtime-entry-Bv4GOoof.mjs";
2
+ import { n as appendRecentTalkEventMetadata, s as canonicalizeVoiceCallMediaBase64 } from "./runtime-entry-9C02-fWn.mjs";
3
3
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
4
4
  import { asNullableRecord, asOptionalObjectRecord, asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { createSubsystemLogger, sleep } from "openclaw/plugin-sdk/runtime-env";
@@ -1,11 +1,11 @@
1
1
  import { c as resolveVoiceCallSessionKey } from "./config-CsrGuamE.mjs";
2
- import { m as resolveVoiceResponseModel, x as resolveCallAgentId } from "./runtime-entry-Bv4GOoof.mjs";
2
+ import { m as resolveVoiceResponseModel, x as resolveCallAgentId } from "./runtime-entry-9C02-fWn.mjs";
3
3
  import { normalizeLowercaseStringOrEmpty, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { resolveAgentConfig } from "openclaw/plugin-sdk/agent-scope-runtime";
5
5
  import { isValidAgentHarnessSessionStoreEntry } from "openclaw/plugin-sdk/session-store-runtime";
6
6
  import crypto from "node:crypto";
7
- import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
8
7
  import { resolveDefaultModelForAgent } from "openclaw/plugin-sdk/agent-runtime";
8
+ import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
9
9
  import { ModelSelectionLockedError, applyModelOverrideWithAuthProfileCompatibility, resolvePersistedSessionRuntimeId } from "openclaw/plugin-sdk/model-session-runtime";
10
10
  //#region extensions/voice-call/src/response-generator.ts
11
11
  const VOICE_SPOKEN_OUTPUT_CONTRACT = [
@@ -138,6 +138,8 @@ async function generateVoiceResponse(params) {
138
138
  sessionKey: resolvedSessionKey
139
139
  });
140
140
  const { provider, model } = resolveVoiceResponseModel({
141
+ cfg,
142
+ agentId,
141
143
  voiceConfig,
142
144
  agentRuntime
143
145
  });
@@ -21,6 +21,7 @@ import crypto, { randomUUID } from "node:crypto";
21
21
  import { redactIdentifier } from "openclaw/plugin-sdk/logging-core";
22
22
  import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store";
23
23
  import * as realtimeBootstrapSdk from "openclaw/plugin-sdk/realtime-bootstrap-context";
24
+ import { resolveDefaultModelForAgent } from "openclaw/plugin-sdk/agent-runtime";
24
25
  import { spawn } from "node:child_process";
25
26
  import { sliceUtf16Safe, truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
26
27
  import { runCommandWithTimeout } from "openclaw/plugin-sdk/process-runtime";
@@ -2306,7 +2307,7 @@ async function buildRealtimeVoiceInstructions(params) {
2306
2307
  warn: params.warn
2307
2308
  }));
2308
2309
  else {
2309
- const { buildLegacyRealtimeVoiceAgentContext } = await import("./realtime-agent-context.legacy-DAEWY27o.mjs");
2310
+ const { buildLegacyRealtimeVoiceAgentContext } = await import("./realtime-agent-context.legacy-CYNn93pG.mjs");
2310
2311
  sections.push(await buildLegacyRealtimeVoiceAgentContext({
2311
2312
  config: contextConfig,
2312
2313
  coreConfig: params.coreConfig,
@@ -2319,7 +2320,18 @@ async function buildRealtimeVoiceInstructions(params) {
2319
2320
  //#region extensions/voice-call/src/response-model.ts
2320
2321
  /** Resolve provider/model fields from explicit voice config or agent defaults. */
2321
2322
  function resolveVoiceResponseModel(params) {
2322
- const modelRef = params.voiceConfig.responseModel ?? `${params.agentRuntime.defaults.provider}/${params.agentRuntime.defaults.model}`;
2323
+ if (!params.voiceConfig.responseModel) {
2324
+ const configured = resolveDefaultModelForAgent({
2325
+ cfg: params.cfg,
2326
+ agentId: params.agentId
2327
+ });
2328
+ return {
2329
+ modelRef: `${configured.provider}/${configured.model}`,
2330
+ provider: configured.provider,
2331
+ model: configured.model
2332
+ };
2333
+ }
2334
+ const modelRef = params.voiceConfig.responseModel;
2323
2335
  const slashIndex = modelRef.indexOf("/");
2324
2336
  return {
2325
2337
  modelRef,
@@ -3450,7 +3462,7 @@ const MAX_WEBHOOK_BODY_BYTES = WEBHOOK_BODY_READ_DEFAULTS.preAuth.maxBytes;
3450
3462
  const WEBHOOK_BODY_TIMEOUT_MS = WEBHOOK_BODY_READ_DEFAULTS.preAuth.timeoutMs;
3451
3463
  const MISSING_REMOTE_ADDRESS_IN_FLIGHT_KEY = "__voice_call_no_remote__";
3452
3464
  const loadRealtimeTranscriptionRuntime = createLazyRuntimeModule(() => import("./realtime-transcription.runtime-DIBopS1D.mjs"));
3453
- const loadResponseGeneratorModule = createLazyRuntimeModule(() => import("./response-generator-CC2OX9j_.mjs"));
3465
+ const loadResponseGeneratorModule = createLazyRuntimeModule(() => import("./response-generator-Ck8esxsU.mjs"));
3454
3466
  function buildRequestUrl(requestUrl) {
3455
3467
  return new URL$1(requestUrl ?? "/", "http://localhost");
3456
3468
  }
@@ -4123,7 +4135,7 @@ async function resolveProvider(config) {
4123
4135
  const allowNgrokFreeTierLoopbackBypass = config.tunnel?.provider === "ngrok" && isLoopbackHost(config.serve?.bind ?? "") && (config.tunnel?.allowNgrokFreeTierLoopbackBypass ?? false);
4124
4136
  switch (config.provider) {
4125
4137
  case "telnyx": {
4126
- const { TelnyxProvider } = await import("./telnyx-BfRqNrZT.mjs");
4138
+ const { TelnyxProvider } = await import("./telnyx-DL7fM0AL.mjs");
4127
4139
  return new TelnyxProvider({
4128
4140
  apiKey: config.telnyx?.apiKey,
4129
4141
  connectionId: config.telnyx?.connectionId,
@@ -4131,7 +4143,7 @@ async function resolveProvider(config) {
4131
4143
  }, { skipVerification: config.skipSignatureVerification });
4132
4144
  }
4133
4145
  case "twilio": {
4134
- const { TwilioProvider } = await import("./twilio-ndN0wO_K.mjs");
4146
+ const { TwilioProvider } = await import("./twilio-C4KNsN55.mjs");
4135
4147
  return new TwilioProvider({
4136
4148
  accountSid: config.twilio?.accountSid,
4137
4149
  authToken: resolveTwilioAuthToken(config),
@@ -4145,7 +4157,7 @@ async function resolveProvider(config) {
4145
4157
  });
4146
4158
  }
4147
4159
  case "plivo": {
4148
- const { PlivoProvider } = await import("./plivo-DCdBsD0Y.mjs");
4160
+ const { PlivoProvider } = await import("./plivo-DPMd4YNJ.mjs");
4149
4161
  return new PlivoProvider({
4150
4162
  authId: config.plivo?.authId,
4151
4163
  authToken: config.plivo?.authToken
@@ -4231,7 +4243,7 @@ async function createVoiceCallRuntime(params) {
4231
4243
  const realtimeVoiceRuntime = config.realtime.enabled ? await import("./realtime-voice.runtime-DZo_TorV.mjs") : null;
4232
4244
  const webhookServer = new VoiceCallWebhookServer(params.scheduler, config, manager, provider, coreConfig, cfg, agentRuntime, log);
4233
4245
  if (realtimeVoiceRuntime) {
4234
- const { RealtimeCallHandler } = await import("./realtime-handler-C-avfqKJ.mjs");
4246
+ const { RealtimeCallHandler } = await import("./realtime-handler-Bk58m6fC.mjs");
4235
4247
  const resolveRealtimeInstructions = await createRealtimeInstructionsResolver({
4236
4248
  config,
4237
4249
  coreConfig: cfg,
@@ -4312,6 +4324,8 @@ async function createVoiceCallRuntime(params) {
4312
4324
  return fastContext.result;
4313
4325
  }
4314
4326
  const { provider: agentProvider, model } = resolveVoiceResponseModel({
4327
+ cfg,
4328
+ agentId,
4315
4329
  voiceConfig: effectiveConfig,
4316
4330
  agentRuntime
4317
4331
  });
@@ -1,4 +1,4 @@
1
- import { i as verifyTelnyxWebhook, t as createCarrierApi } from "./carrier-api-Yl0hFFEf.mjs";
1
+ import { i as verifyTelnyxWebhook, t as createCarrierApi } from "./carrier-api-s81hf7Wx.mjs";
2
2
  import crypto from "node:crypto";
3
3
  //#region extensions/voice-call/src/providers/telnyx.ts
4
4
  const HANGUP_REASONS = /* @__PURE__ */ new Map([
@@ -1,7 +1,7 @@
1
- import { a as mapProviderStatusToEndReason, c as getHeader, h as generateDtmfRedirectTwiml, i as isProviderStatusTerminal, o as normalizeProviderStatus } from "./runtime-entry-Bv4GOoof.mjs";
1
+ import { a as mapProviderStatusToEndReason, c as getHeader, h as generateDtmfRedirectTwiml, i as isProviderStatusTerminal, o as normalizeProviderStatus } from "./runtime-entry-9C02-fWn.mjs";
2
2
  import { n as requireSupportedTwilioApiHostname, r as resolveTwilioApiBaseUrl } from "./twilio-region-wBOx-8sz.mjs";
3
3
  import { n as mapVoiceToPolly, t as escapeXml } from "./voice-mapping-1lzFmzOF.mjs";
4
- import { a as verifyTwilioWebhook, t as createCarrierApi } from "./carrier-api-Yl0hFFEf.mjs";
4
+ import { a as verifyTwilioWebhook, t as createCarrierApi } from "./carrier-api-s81hf7Wx.mjs";
5
5
  import { asNullableObjectRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
6
6
  import { sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
7
7
  import crypto from "node:crypto";
@@ -0,0 +1 @@
1
+ {"version":3,"entries":[{"output":"api.js","source":"extensions/voice-call/api.ts"},{"output":"cli-metadata.js","source":"extensions/voice-call/cli-metadata.ts"},{"output":"cli-output-mode.js","source":"extensions/voice-call/cli-output-mode.ts"},{"output":"doctor-contract-api.js","source":"extensions/voice-call/doctor-contract-api.ts"},{"output":"index.js","source":"extensions/voice-call/index.ts"},{"output":"runtime-entry.js","source":"extensions/voice-call/runtime-entry.ts"},{"output":"setup-api.js","source":"extensions/voice-call/setup-api.ts"},{"output":"state-retention-api.js","source":"extensions/voice-call/state-retention-api.ts"}],"chunks":[{"output":".setup/carrier-api-s81hf7Wx.mjs","sha256":"fbc5443e442dfead3ef5a9394c1e630f1df4803f9b5be070c969892677a060b8","facadeSource":null,"sources":["extensions/voice-call/src/providers/shared/carrier-api.ts","extensions/voice-call/src/providers/shared/guarded-json-api.ts","extensions/voice-call/src/webhook-security.ts"]},{"output":".setup/cli-C7h2gYfu.mjs","sha256":"4d18b856a34302a596ade2064f8b71703388dfb380d819617623ae257b26eec5","facadeSource":"extensions/voice-call/src/cli.ts","sources":["extensions/voice-call/src/cli-call-log.ts","extensions/voice-call/src/cli-command-io.ts","extensions/voice-call/src/cli-gateway-call.ts","extensions/voice-call/src/cli.ts"]},{"output":".setup/config-CsrGuamE.mjs","sha256":"954721b7dba01b144a227cce6f59ea39fb607b098ade557ab6507479e2ddffd5","facadeSource":null,"sources":["extensions/voice-call/src/allowlist.ts","extensions/voice-call/src/call-brief-schema.ts","extensions/voice-call/src/config.ts","extensions/voice-call/src/errand-config.ts","extensions/voice-call/src/realtime-call-control.ts","extensions/voice-call/src/realtime-defaults.ts","extensions/voice-call/src/tailscale-config.ts"]},{"output":".setup/mock-rySvj-G6.mjs","sha256":"a69cfadef097c63dc74dced303602b725321d21e3e70f824660c98d5d483f626","facadeSource":"extensions/voice-call/src/providers/mock.ts","sources":["extensions/voice-call/src/providers/mock.ts"]},{"output":".setup/plivo-DPMd4YNJ.mjs","sha256":"bdb2b2e55c2843afa793a23053b81482bcf2b0f24d63477318b69c61d243305e","facadeSource":"extensions/voice-call/src/providers/plivo.ts","sources":["extensions/voice-call/src/providers/plivo.ts"]},{"output":".setup/realtime-agent-context.legacy-CYNn93pG.mjs","sha256":"f0f1186fa5fe18bbe035f79b565a2ac131a4948d2af6212c0dbd1ada18f81777","facadeSource":"extensions/voice-call/src/realtime-agent-context.legacy.ts","sources":["extensions/voice-call/src/realtime-agent-context.legacy.ts"]},{"output":".setup/realtime-handler-Bk58m6fC.mjs","sha256":"c5e6839cc35f8e3b90f5f689405fdd4a43e0585f673d3b6ca21d456192d987eb","facadeSource":"extensions/voice-call/src/webhook/realtime-handler.ts","sources":["extensions/voice-call/src/webhook/realtime-audio-pacer.ts","extensions/voice-call/src/webhook/realtime-call-playback.ts","extensions/voice-call/src/webhook/realtime-call-session-control.ts","extensions/voice-call/src/webhook/realtime-handler.ts","extensions/voice-call/src/webhook/realtime-host-speech.ts","extensions/voice-call/src/webhook/realtime-transcript-text.ts","extensions/voice-call/src/webhook/stream-frame-adapter.ts"]},{"output":".setup/realtime-transcription.runtime-DIBopS1D.mjs","sha256":"bb90d344ce8109aef1b05a93e5b8e4633430112c282a351939d70267a29fa6fe","facadeSource":"extensions/voice-call/src/realtime-transcription.runtime.ts","sources":[]},{"output":".setup/realtime-voice.runtime-DZo_TorV.mjs","sha256":"6a20d2f713cb012e980efb25eee3d6663b0d1e18a5fc35d6f7fb362a5f011f60","facadeSource":"extensions/voice-call/src/realtime-voice.runtime.ts","sources":[]},{"output":".setup/response-generator-Ck8esxsU.mjs","sha256":"b8744327dc7f75be4b909592c847f95754a2ccd50943a102b203a6549c18c410","facadeSource":"extensions/voice-call/src/response-generator.ts","sources":["extensions/voice-call/src/response-generator.ts"]},{"output":".setup/runtime-entry-9C02-fWn.mjs","sha256":"69a856fc8e104cf5f06032204c61253e5a52e1da397bd5b137f4759b194e5025","facadeSource":null,"sources":["extensions/voice-call/src/bounded-child-output.ts","extensions/voice-call/src/call-brief.ts","extensions/voice-call/src/call-delivery-runtime.ts","extensions/voice-call/src/call-delivery.ts","extensions/voice-call/src/http-headers.ts","extensions/voice-call/src/manager.ts","extensions/voice-call/src/manager/callbacks.ts","extensions/voice-call/src/manager/events.ts","extensions/voice-call/src/manager/lifecycle.ts","extensions/voice-call/src/manager/lookup.ts","extensions/voice-call/src/manager/mutations.ts","extensions/voice-call/src/manager/outbound.ts","extensions/voice-call/src/manager/replay-keys.ts","extensions/voice-call/src/manager/state.ts","extensions/voice-call/src/manager/store.ts","extensions/voice-call/src/manager/timer-delays.ts","extensions/voice-call/src/manager/timers.ts","extensions/voice-call/src/manager/twiml.ts","extensions/voice-call/src/manager/voicemail.ts","extensions/voice-call/src/media-base64.ts","extensions/voice-call/src/media-stream.ts","extensions/voice-call/src/providers/shared/call-status.ts","extensions/voice-call/src/proxy-ip.ts","extensions/voice-call/src/realtime-agent-context.ts","extensions/voice-call/src/resolve-call-agent-id.ts","extensions/voice-call/src/response-model.ts","extensions/voice-call/src/runtime-state.ts","extensions/voice-call/src/runtime.ts","extensions/voice-call/src/telephony-tts.ts","extensions/voice-call/src/tts-provider-voice.ts","extensions/voice-call/src/tunnel.ts","extensions/voice-call/src/types.ts","extensions/voice-call/src/webhook-exposure.ts","extensions/voice-call/src/webhook.ts","extensions/voice-call/src/webhook/realtime-inbound-admission.ts","extensions/voice-call/src/webhook/stale-call-reaper.ts","extensions/voice-call/src/webhook/stream-disconnect-grace.ts","extensions/voice-call/src/webhook/tailscale.ts","extensions/voice-call/src/webhook/talk-event-metadata.ts"]},{"output":".setup/state-retention-api-ONgqE-_V.mjs","sha256":"726217311b78f34cd904531b95057ad8a1ebf9168a1b081dd57a46f755520657","facadeSource":null,"sources":["extensions/voice-call/state-retention-api.ts","packages/normalization-core/src/record-coerce.ts","src/config/channel-config-normalization.ts","src/plugin-sdk/legacy-webhook-listener-migration.ts"]},{"output":".setup/store-path-Cfwff6j7.mjs","sha256":"7caa0cc3a18c81da2670becc7036b4367bd0ee233d2cbe256b1aef46b3dbccc1","facadeSource":null,"sources":["extensions/voice-call/src/store-path.ts","extensions/voice-call/src/utils.ts"]},{"output":".setup/telnyx-DL7fM0AL.mjs","sha256":"de7cfeadeef2bc79bbc584eebd618d0cfbaf64398dfe05ef94aef46fa1d24427","facadeSource":"extensions/voice-call/src/providers/telnyx.ts","sources":["extensions/voice-call/src/providers/telnyx.ts"]},{"output":".setup/twilio-C4KNsN55.mjs","sha256":"4b82b525e07415514c479e5d088a25383ccd064984aab69d9310e83e5871c81d","facadeSource":"extensions/voice-call/src/providers/twilio.ts","sources":["extensions/voice-call/src/providers/twilio.ts","extensions/voice-call/src/providers/twilio/api.ts"]},{"output":".setup/twilio-region-wBOx-8sz.mjs","sha256":"7144fe307a33d42bc3c84b12dc5b3c292222a68689953c5515c907066fe53367","facadeSource":null,"sources":["extensions/voice-call/src/providers/twilio-region.ts"]},{"output":".setup/voice-mapping-1lzFmzOF.mjs","sha256":"2e33112b806e7f109372b800dc8b82c5149364dd1990e718917533509be76b7d","facadeSource":null,"sources":["extensions/voice-call/src/voice-mapping.ts"]},{"output":".setup/webhook-replay-B7RJNWNG.mjs","sha256":"5c8a1f383548e07b58c8d4f70260e5d3dd149c5eb89d0f0667055ec105d018a8","facadeSource":null,"sources":["extensions/voice-call/src/webhook-replay.ts"]},{"output":"api.js","sha256":"52defeb38678cdd3504b7035eb0ac836d4ed388afdcf64a08dde425d26900a23","facadeSource":"extensions/voice-call/api.ts","sources":[]},{"output":"cli-metadata.js","sha256":"762d010cb9d646440db95ce3fa1d3371bf7bf429bf09a4a407ea04e545c5fd1f","facadeSource":"extensions/voice-call/cli-metadata.ts","sources":["extensions/voice-call/cli-metadata.ts"]},{"output":"cli-output-mode.js","sha256":"254a7bacf0b58b7aa382cb4b4ac11c91972d30f08ce46795ba335701bc0afaf6","facadeSource":"extensions/voice-call/cli-output-mode.ts","sources":["extensions/voice-call/cli-output-mode.ts"]},{"output":"doctor-contract-api.js","sha256":"f0f1791cce8c71884f3b41d5c5f64757570270214a4c83d35d4717848d20ed9a","facadeSource":"extensions/voice-call/doctor-contract-api.ts","sources":["extensions/voice-call/doctor-contract-api.ts"]},{"output":"index.js","sha256":"bf64784cca1a17750a4572b258b39f991028986bac89a1f456e93977d2d1d619","facadeSource":"extensions/voice-call/index.ts","sources":["extensions/voice-call/index.ts","extensions/voice-call/src/command-service.ts","extensions/voice-call/src/gateway-continue-operation.ts","extensions/voice-call/src/tool-call-scope.ts","extensions/voice-call/src/tool-schema.ts"]},{"output":"runtime-entry.js","sha256":"c0be189f529404626eada7286e9c2ce24d4c3675a2341ae8cbad9aa30155e5f4","facadeSource":"extensions/voice-call/runtime-entry.ts","sources":[]},{"output":"setup-api.js","sha256":"e9d10aac041f3c9eab62122e96bd9d78046c9b8ab2bf74da99be1a4f5be63756","facadeSource":"extensions/voice-call/setup-api.ts","sources":["extensions/voice-call/setup-api.ts","extensions/voice-call/src/config-migration.ts"]},{"output":"state-retention-api.js","sha256":"caf7996aa290359f40ed91097fb175ac692759599ac38a07db1912b08c56981d","facadeSource":"extensions/voice-call/state-retention-api.ts","sources":[]}],"unrenderedSources":["extensions/voice-call/api.ts","extensions/voice-call/runtime-entry.ts","extensions/voice-call/src/realtime-transcription.runtime.ts","extensions/voice-call/src/realtime-voice.runtime.ts"]}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { definePluginEntry } from "./api.js";
2
2
  import { VOICE_CALL_CLI_DESCRIPTOR } from "./cli-output-mode.js";
3
3
  import { g as CallBriefSchema, i as resolveVoiceCallConfig, t as VoiceCallConfigSchema, u as validateProviderConfig } from "./.setup/config-CsrGuamE.mjs";
4
- import { C as TerminalStates, t as createVoiceCallRuntime } from "./.setup/runtime-entry-Bv4GOoof.mjs";
4
+ import { C as TerminalStates, t as createVoiceCallRuntime } from "./.setup/runtime-entry-9C02-fWn.mjs";
5
5
  import { AsyncLocalStorage } from "node:async_hooks";
6
6
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
7
7
  import { ErrorCodes, errorShape } from "openclaw/plugin-sdk/gateway-runtime";
@@ -597,7 +597,7 @@ var voice_call_default = definePluginEntry({
597
597
  };
598
598
  });
599
599
  api.registerCli(async ({ program }) => {
600
- const { registerVoiceCallCli } = await import("./.setup/cli-DBPMPq0B.mjs");
600
+ const { registerVoiceCallCli } = await import("./.setup/cli-C7h2gYfu.mjs");
601
601
  registerVoiceCallCli({
602
602
  program,
603
603
  config,
@@ -1 +1 @@
1
- export { t as createVoiceCallRuntime } from "./.setup/runtime-entry-Bv4GOoof.mjs";
1
+ export { t as createVoiceCallRuntime } from "./.setup/runtime-entry-9C02-fWn.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/voice-call",
3
- "version": "2026.10.6",
3
+ "version": "2026.10.8",
4
4
  "description": "OpenClaw voice-call plugin for Twilio, Telnyx, and Plivo phone calls.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -12,7 +12,7 @@
12
12
  "zod": "4.6.5"
13
13
  },
14
14
  "peerDependencies": {
15
- "openclaw": ">=2026.10.6"
15
+ "openclaw": ">=2026.10.8"
16
16
  },
17
17
  "peerDependenciesMeta": {
18
18
  "openclaw": {
@@ -31,10 +31,10 @@
31
31
  "minHostVersion": ">=2026.4.10"
32
32
  },
33
33
  "compat": {
34
- "pluginApi": ">=2026.10.6"
34
+ "pluginApi": ">=2026.10.8"
35
35
  },
36
36
  "build": {
37
- "openclawVersion": "2026.10.6"
37
+ "openclawVersion": "2026.10.8"
38
38
  },
39
39
  "release": {
40
40
  "publishToClawHub": true,
@@ -1,7 +1,7 @@
1
1
  import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
2
+ import { resolveAgentIdentity, resolveAgentWorkspaceDir } from "openclaw/plugin-sdk/agent-runtime";
2
3
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
3
4
  import { root } from "openclaw/plugin-sdk/security-runtime";
4
- import { resolveAgentIdentity, resolveAgentWorkspaceDir } from "openclaw/plugin-sdk/agent-runtime";
5
5
  //#region extensions/voice-call/src/realtime-agent-context.legacy.ts
6
6
  function limitLegacyContextText(text, maxChars) {
7
7
  if (text.length <= maxChars) return text;