@openclaw/voice-call 2026.10.10 → 2026.11.1

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-CKPPin7r.mjs";
2
+ import { c as getHeader, r as normalizeProxyIp } from "./runtime-entry-DckALJe-.mjs";
3
3
  import { n as reserveWebhookReplay, t as createWebhookReplayCache } from "./webhook-replay-B0Eo3Ll5.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-BxESUUSm.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-CKPPin7r.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-DckALJe-.mjs";
4
4
  import { r as resolveUserPath, t as resolveDefaultVoiceCallStoreDir } from "./store-path-Bn3bLr8y.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-CKPPin7r.mjs";
1
+ import { c as getHeader } from "./runtime-entry-DckALJe-.mjs";
2
2
  import { t as escapeXml } from "./voice-mapping-CvuJ1B50.mjs";
3
- import { n as reconstructWebhookUrl, r as verifyPlivoWebhook, t as createCarrierApi } from "./carrier-api-BgJdQC-e.mjs";
3
+ import { n as reconstructWebhookUrl, r as verifyPlivoWebhook, t as createCarrierApi } from "./carrier-api-D0Mehu0z.mjs";
4
4
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import crypto from "node:crypto";
6
6
  // 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-BxESUUSm.mjs";
2
- import { n as appendRecentTalkEventMetadata, s as canonicalizeVoiceCallMediaBase64 } from "./runtime-entry-CKPPin7r.mjs";
2
+ import { n as appendRecentTalkEventMetadata, s as canonicalizeVoiceCallMediaBase64 } from "./runtime-entry-DckALJe-.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-BxESUUSm.mjs";
2
- import { m as resolveVoiceResponseModel, x as resolveCallAgentId } from "./runtime-entry-CKPPin7r.mjs";
2
+ import { m as resolveVoiceResponseModel, x as resolveCallAgentId } from "./runtime-entry-DckALJe-.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, prepareAuthProfileProvider, resolvePersistedSessionRuntimeId } from "openclaw/plugin-sdk/model-session-runtime";
10
10
  // 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 { resolveRealtimeVoiceAgentContextInstructions } from "openclaw/plugin-sdk/realtime-bootstrap-context";
24
+ import { resolveDefaultModelForAgent } from "openclaw/plugin-sdk/agent-runtime";
24
25
  import { runCommandWithTimeout, spawnOomScoreAdjusted } from "openclaw/plugin-sdk/process-runtime";
25
26
  import { sliceUtf16Safe, truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
26
27
  import http from "node:http";
@@ -2270,7 +2271,18 @@ async function buildRealtimeVoiceInstructions(params) {
2270
2271
  // extensions/voice-call/src/response-model.ts
2271
2272
  /** Resolve provider/model fields from explicit voice config or agent defaults. */
2272
2273
  function resolveVoiceResponseModel(params) {
2273
- const modelRef = params.voiceConfig.responseModel ?? `${params.agentRuntime.defaults.provider}/${params.agentRuntime.defaults.model}`;
2274
+ if (!params.voiceConfig.responseModel) {
2275
+ const configured = resolveDefaultModelForAgent({
2276
+ cfg: params.cfg,
2277
+ agentId: params.agentId
2278
+ });
2279
+ return {
2280
+ modelRef: `${configured.provider}/${configured.model}`,
2281
+ provider: configured.provider,
2282
+ model: configured.model
2283
+ };
2284
+ }
2285
+ const modelRef = params.voiceConfig.responseModel;
2274
2286
  const slashIndex = modelRef.indexOf("/");
2275
2287
  return {
2276
2288
  modelRef,
@@ -3365,7 +3377,7 @@ const MAX_WEBHOOK_BODY_BYTES = WEBHOOK_BODY_READ_DEFAULTS.preAuth.maxBytes;
3365
3377
  const WEBHOOK_BODY_TIMEOUT_MS = WEBHOOK_BODY_READ_DEFAULTS.preAuth.timeoutMs;
3366
3378
  const MISSING_REMOTE_ADDRESS_IN_FLIGHT_KEY = "__voice_call_no_remote__";
3367
3379
  const loadRealtimeTranscriptionRuntime = createLazyRuntimeModule(() => import("./realtime-transcription.runtime-DIBopS1D.mjs"));
3368
- const loadResponseGeneratorModule = createLazyRuntimeModule(() => import("./response-generator-B2nVYBf_.mjs"));
3380
+ const loadResponseGeneratorModule = createLazyRuntimeModule(() => import("./response-generator-DfALTCJn.mjs"));
3369
3381
  function buildRequestUrl(requestUrl) {
3370
3382
  return new URL$1(requestUrl ?? "/", "http://localhost");
3371
3383
  }
@@ -4040,7 +4052,7 @@ async function resolveProvider(config) {
4040
4052
  const allowNgrokFreeTierLoopbackBypass = config.tunnel?.provider === "ngrok" && isLoopbackHost(config.serve?.bind ?? "") && (config.tunnel?.allowNgrokFreeTierLoopbackBypass ?? false);
4041
4053
  switch (config.provider) {
4042
4054
  case "telnyx": {
4043
- const { TelnyxProvider } = await import("./telnyx-ZopMHuZl.mjs");
4055
+ const { TelnyxProvider } = await import("./telnyx-D5Xg2uLQ.mjs");
4044
4056
  return new TelnyxProvider({
4045
4057
  apiKey: config.telnyx?.apiKey,
4046
4058
  connectionId: config.telnyx?.connectionId,
@@ -4048,7 +4060,7 @@ async function resolveProvider(config) {
4048
4060
  }, { skipVerification: config.skipSignatureVerification });
4049
4061
  }
4050
4062
  case "twilio": {
4051
- const { TwilioProvider } = await import("./twilio-BGLnhzpD.mjs");
4063
+ const { TwilioProvider } = await import("./twilio-BfTwBLIK.mjs");
4052
4064
  return new TwilioProvider({
4053
4065
  accountSid: config.twilio?.accountSid,
4054
4066
  authToken: resolveTwilioAuthToken(config),
@@ -4062,7 +4074,7 @@ async function resolveProvider(config) {
4062
4074
  });
4063
4075
  }
4064
4076
  case "plivo": {
4065
- const { PlivoProvider } = await import("./plivo-C5cLYAup.mjs");
4077
+ const { PlivoProvider } = await import("./plivo-CVlhseOq.mjs");
4066
4078
  return new PlivoProvider({
4067
4079
  authId: config.plivo?.authId,
4068
4080
  authToken: config.plivo?.authToken
@@ -4148,7 +4160,7 @@ async function createVoiceCallRuntime(params) {
4148
4160
  const realtimeVoiceRuntime = config.realtime.enabled ? await import("./realtime-voice.runtime-S9H9Y0Cp.mjs") : null;
4149
4161
  const webhookServer = new VoiceCallWebhookServer(params.scheduler, config, manager, provider, coreConfig, cfg, agentRuntime, log);
4150
4162
  if (realtimeVoiceRuntime) {
4151
- const { RealtimeCallHandler } = await import("./realtime-handler-B2JJ-8wv.mjs");
4163
+ const { RealtimeCallHandler } = await import("./realtime-handler-Bh3dTrV0.mjs");
4152
4164
  const resolveRealtimeInstructions = await createRealtimeInstructionsResolver({
4153
4165
  config,
4154
4166
  coreConfig: cfg,
@@ -4229,6 +4241,8 @@ async function createVoiceCallRuntime(params) {
4229
4241
  return fastContext.result;
4230
4242
  }
4231
4243
  const { provider: agentProvider, model } = resolveVoiceResponseModel({
4244
+ cfg,
4245
+ agentId,
4232
4246
  voiceConfig: effectiveConfig,
4233
4247
  agentRuntime
4234
4248
  });
@@ -1,4 +1,4 @@
1
- import { i as verifyTelnyxWebhook, t as createCarrierApi } from "./carrier-api-BgJdQC-e.mjs";
1
+ import { i as verifyTelnyxWebhook, t as createCarrierApi } from "./carrier-api-D0Mehu0z.mjs";
2
2
  import crypto from "node:crypto";
3
3
  // 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-CKPPin7r.mjs";
1
+ import { a as mapProviderStatusToEndReason, c as getHeader, h as generateDtmfRedirectTwiml, i as isProviderStatusTerminal, o as normalizeProviderStatus } from "./runtime-entry-DckALJe-.mjs";
2
2
  import { n as requireSupportedTwilioApiHostname, r as resolveTwilioApiBaseUrl } from "./twilio-region-DVg9p6JJ.mjs";
3
3
  import { n as mapVoiceToPolly, t as escapeXml } from "./voice-mapping-CvuJ1B50.mjs";
4
- import { a as verifyTwilioWebhook, t as createCarrierApi } from "./carrier-api-BgJdQC-e.mjs";
4
+ import { a as verifyTwilioWebhook, t as createCarrierApi } from "./carrier-api-D0Mehu0z.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";
@@ -1 +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-BgJdQC-e.mjs","sha256":"0679f0975984683213db413bae39a877398a203054109341386cbfa39f79b660","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-CI9QzIaT.mjs","sha256":"61b67428f29dc388fcc8aa13e7c5c701a78f777fe92544b96e92ada3d53f2be2","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-BxESUUSm.mjs","sha256":"a305f2c4b33953d35178a4136fc8ed511f8705be46283ccfd9e50f345db09d14","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-BO3pptb-.mjs","sha256":"aea175a24a92c7cfb22192a741ddfe0f87cd038834d06b51c2e07c14be3c6efd","facadeSource":"extensions/voice-call/src/providers/mock.ts","sources":["extensions/voice-call/src/providers/mock.ts"]},{"output":".setup/plivo-C5cLYAup.mjs","sha256":"cd6285e05de4f1d4d5a901744c42683894d319cc81a771ca03f9a8a6b8a8ee98","facadeSource":"extensions/voice-call/src/providers/plivo.ts","sources":["extensions/voice-call/src/providers/plivo.ts"]},{"output":".setup/realtime-handler-B2JJ-8wv.mjs","sha256":"1331ca118bd88cbbdb954034f550ffcf0d153932afa9589d8aaf37f5a094326e","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-S9H9Y0Cp.mjs","sha256":"4cea62311759072afbc3c69890e815583aa2d083c980a4d00f9d79b7cd82578b","facadeSource":"extensions/voice-call/src/realtime-voice.runtime.ts","sources":[]},{"output":".setup/response-generator-B2nVYBf_.mjs","sha256":"2be7c9be73d45032c4ff427bd985e64355eb6d0cdad61d94b4436d1e17d21379","facadeSource":"extensions/voice-call/src/response-generator.ts","sources":["extensions/voice-call/src/response-generator.ts"]},{"output":".setup/runtime-entry-CKPPin7r.mjs","sha256":"7ff6f42620bec8ceb04cc9aadd13953d7300fabed3dd367feebb5221b4ef7968","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-y5WYfZsQ.mjs","sha256":"cfc69c145776d112998e5cde7e3b56075f34510be5bef4531c3dd619f457a5f1","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-Bn3bLr8y.mjs","sha256":"dc1261a6452ae6aaa5a33c75b61ea9533dcdbb0ebbb9e8fd620947b5ba68ced5","facadeSource":null,"sources":["extensions/voice-call/src/store-path.ts","extensions/voice-call/src/utils.ts"]},{"output":".setup/telnyx-ZopMHuZl.mjs","sha256":"d2b3dd31af8c8983d37a7f2a7eee99493e261122beda599180eed966dd8a7e7f","facadeSource":"extensions/voice-call/src/providers/telnyx.ts","sources":["extensions/voice-call/src/providers/telnyx.ts"]},{"output":".setup/twilio-BGLnhzpD.mjs","sha256":"afc63bdf9ac2926d499598d076624de4f96cd8168950850e4e63518b7e07ab1d","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-DVg9p6JJ.mjs","sha256":"a36a57185d5ebd7eb17c1cf1e2287917041752a0e82a124bfcca106741421408","facadeSource":null,"sources":["extensions/voice-call/src/providers/twilio-region.ts"]},{"output":".setup/voice-mapping-CvuJ1B50.mjs","sha256":"f33a9ea08d5b47b37068f86ac2ee18272153a2b88993c55b2427dda4b59e920f","facadeSource":null,"sources":["extensions/voice-call/src/voice-mapping.ts"]},{"output":".setup/webhook-replay-B0Eo3Ll5.mjs","sha256":"6bca54aa91e865ea21dbfb0cbabd5aef8aaacc590d176368664165c6afe163c9","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":"6297cf60fdb7c3bc39a5e1df54507a7cd9a5f3980cc5991f763571e3e6ce646d","facadeSource":"extensions/voice-call/cli-metadata.ts","sources":["extensions/voice-call/cli-metadata.ts"]},{"output":"cli-output-mode.js","sha256":"5e86fdf507ce50d45e2d16f6222fc7675bc8b05628861f60a90a9e3bd341ed4b","facadeSource":"extensions/voice-call/cli-output-mode.ts","sources":["extensions/voice-call/cli-output-mode.ts"]},{"output":"doctor-contract-api.js","sha256":"c240861961e94772a94299b9756c4b5a0b1e9517c0efd9c802307ad57f7d18e7","facadeSource":"extensions/voice-call/doctor-contract-api.ts","sources":["extensions/voice-call/doctor-contract-api.ts"]},{"output":"index.js","sha256":"f9597f42d1a71423b7e1a9c347d3134427354bbfb3456087f683a95ee1e616b9","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":"343bd9daa7b09efb7780d925a9a886c6428477073227b781dd9e20c072f340d8","facadeSource":"extensions/voice-call/runtime-entry.ts","sources":[]},{"output":"setup-api.js","sha256":"2e10015955e9835a4b9f3cfe81d52f8d6ad49e36f3271f2bf96d57d0453d1873","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":"fca80a410dd68fe8f46cc0afecc1cfdc4db0319c61523d7f491307badad42658","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"]}
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-D0Mehu0z.mjs","sha256":"1dfad63ca875331ef21a161119f29aaf433d81594c39b874ba868bc159873cd7","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-D5-VTleY.mjs","sha256":"a5e4d2e388379e6a7ab2a4b36ec6af695bf3a7aca980088d7343b512a261ecc4","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-BxESUUSm.mjs","sha256":"a305f2c4b33953d35178a4136fc8ed511f8705be46283ccfd9e50f345db09d14","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-BO3pptb-.mjs","sha256":"aea175a24a92c7cfb22192a741ddfe0f87cd038834d06b51c2e07c14be3c6efd","facadeSource":"extensions/voice-call/src/providers/mock.ts","sources":["extensions/voice-call/src/providers/mock.ts"]},{"output":".setup/plivo-CVlhseOq.mjs","sha256":"2daef3768d81942ae0eda31b9ab8975887c386e2dc4fc4600f57c0d999fb855a","facadeSource":"extensions/voice-call/src/providers/plivo.ts","sources":["extensions/voice-call/src/providers/plivo.ts"]},{"output":".setup/realtime-handler-Bh3dTrV0.mjs","sha256":"a5e069c06fe4bbcb53d79b82f01eec14b8df3fdad916d647a5bb2fe4bb56bba8","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-S9H9Y0Cp.mjs","sha256":"4cea62311759072afbc3c69890e815583aa2d083c980a4d00f9d79b7cd82578b","facadeSource":"extensions/voice-call/src/realtime-voice.runtime.ts","sources":[]},{"output":".setup/response-generator-DfALTCJn.mjs","sha256":"742c4c46315e91511e5c84421c9665eb89d161095618dc2ecc0c4fa71147fc47","facadeSource":"extensions/voice-call/src/response-generator.ts","sources":["extensions/voice-call/src/response-generator.ts"]},{"output":".setup/runtime-entry-DckALJe-.mjs","sha256":"5b7117eda4e54aebc454a0f11aee1109d330b0936c5d84d5e106215c1455feb5","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-y5WYfZsQ.mjs","sha256":"cfc69c145776d112998e5cde7e3b56075f34510be5bef4531c3dd619f457a5f1","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-Bn3bLr8y.mjs","sha256":"dc1261a6452ae6aaa5a33c75b61ea9533dcdbb0ebbb9e8fd620947b5ba68ced5","facadeSource":null,"sources":["extensions/voice-call/src/store-path.ts","extensions/voice-call/src/utils.ts"]},{"output":".setup/telnyx-D5Xg2uLQ.mjs","sha256":"a85b16256dc9f0f92d1636c654eb9b7bd89758f836bfe31e84370be5fd50c8d6","facadeSource":"extensions/voice-call/src/providers/telnyx.ts","sources":["extensions/voice-call/src/providers/telnyx.ts"]},{"output":".setup/twilio-BfTwBLIK.mjs","sha256":"262ab8bcc595e7d082a6eee71d99728fbd4eb65a69e4773d9f2378141739713b","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-DVg9p6JJ.mjs","sha256":"a36a57185d5ebd7eb17c1cf1e2287917041752a0e82a124bfcca106741421408","facadeSource":null,"sources":["extensions/voice-call/src/providers/twilio-region.ts"]},{"output":".setup/voice-mapping-CvuJ1B50.mjs","sha256":"f33a9ea08d5b47b37068f86ac2ee18272153a2b88993c55b2427dda4b59e920f","facadeSource":null,"sources":["extensions/voice-call/src/voice-mapping.ts"]},{"output":".setup/webhook-replay-B0Eo3Ll5.mjs","sha256":"6bca54aa91e865ea21dbfb0cbabd5aef8aaacc590d176368664165c6afe163c9","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":"6297cf60fdb7c3bc39a5e1df54507a7cd9a5f3980cc5991f763571e3e6ce646d","facadeSource":"extensions/voice-call/cli-metadata.ts","sources":["extensions/voice-call/cli-metadata.ts"]},{"output":"cli-output-mode.js","sha256":"5e86fdf507ce50d45e2d16f6222fc7675bc8b05628861f60a90a9e3bd341ed4b","facadeSource":"extensions/voice-call/cli-output-mode.ts","sources":["extensions/voice-call/cli-output-mode.ts"]},{"output":"doctor-contract-api.js","sha256":"c240861961e94772a94299b9756c4b5a0b1e9517c0efd9c802307ad57f7d18e7","facadeSource":"extensions/voice-call/doctor-contract-api.ts","sources":["extensions/voice-call/doctor-contract-api.ts"]},{"output":"index.js","sha256":"ec994d7a85ab3661bccd12bc1aa6c5f59f202ec9b172fe37ee9c72f91163f7c1","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":"1672978cd6e14bb2b09be9f716ea56e3ce49b9b32c8e261d31f0680ea8d26ebd","facadeSource":"extensions/voice-call/runtime-entry.ts","sources":[]},{"output":"setup-api.js","sha256":"2e10015955e9835a4b9f3cfe81d52f8d6ad49e36f3271f2bf96d57d0453d1873","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":"fca80a410dd68fe8f46cc0afecc1cfdc4db0319c61523d7f491307badad42658","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-BxESUUSm.mjs";
4
- import { C as TerminalStates, t as createVoiceCallRuntime } from "./.setup/runtime-entry-CKPPin7r.mjs";
4
+ import { C as TerminalStates, t as createVoiceCallRuntime } from "./.setup/runtime-entry-DckALJe-.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";
@@ -564,7 +564,7 @@ var voice_call_default = definePluginEntry({
564
564
  };
565
565
  });
566
566
  api.registerCli(async ({ program }) => {
567
- const { registerVoiceCallCli } = await import("./.setup/cli-CI9QzIaT.mjs");
567
+ const { registerVoiceCallCli } = await import("./.setup/cli-D5-VTleY.mjs");
568
568
  registerVoiceCallCli({
569
569
  program,
570
570
  config,
@@ -1 +1 @@
1
- export { t as createVoiceCallRuntime } from "./.setup/runtime-entry-CKPPin7r.mjs";
1
+ export { t as createVoiceCallRuntime } from "./.setup/runtime-entry-DckALJe-.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/voice-call",
3
- "version": "2026.10.10",
3
+ "version": "2026.11.1",
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.10"
15
+ "openclaw": ">=2026.11.1"
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.10"
34
+ "pluginApi": ">=2026.11.1"
35
35
  },
36
36
  "build": {
37
- "openclawVersion": "2026.10.10"
37
+ "openclawVersion": "2026.11.1"
38
38
  },
39
39
  "release": {
40
40
  "publishToClawHub": true,