@openclaw/signal 2026.11.1 → 2026.11.3

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.
Files changed (42) hide show
  1. package/dist/.setup/{accounts-BZXLLXyZ.mjs → accounts-B0Pba1-q.mjs} +4 -3
  2. package/dist/.setup/api-CJBtD3lT.mjs +16 -0
  3. package/dist/.setup/{api-COBPAXbQ.mjs → api-CbN3mye4.mjs} +11 -11
  4. package/dist/.setup/{approval-auth-BC9o4yna.mjs → approval-auth-DhUKkSkA.mjs} +7 -5
  5. package/dist/.setup/{approval-handler.runtime-Dzb_QGFk.mjs → approval-handler.runtime-CsEcBZoc.mjs} +7 -6
  6. package/dist/.setup/{approval-reactions-Drpy356L.mjs → approval-reactions-JsqCEOHK.mjs} +9 -7
  7. package/dist/.setup/{channel-Cd52DrmN.mjs → channel-CM-rLLPN.mjs} +166 -36
  8. package/dist/.setup/{client-CRClyTxP.mjs → client-Duwqbgqi.mjs} +12 -6
  9. package/dist/.setup/{client-adapter-CNEkF_Ej.mjs → client-adapter-Chnbch_z.mjs} +3 -2
  10. package/dist/.setup/{config-schema-WrMl4uyV.mjs → config-schema-DvxZ18SD.mjs} +6 -4
  11. package/dist/.setup/{doctor-contract-api-BXWnMqDt.mjs → doctor-contract-api-BIdVW0PF.mjs} +19 -11
  12. package/dist/.setup/{identity-DzXre34N.mjs → identity-B3JyPqGO.mjs} +4 -2
  13. package/dist/.setup/{install-signal-cli-BjCk7EXq.mjs → install-signal-cli-hYVLYGXe.mjs} +2 -1
  14. package/dist/.setup/{legacy-transport-UHhcutJ4.mjs → legacy-transport-QIpaMNST.mjs} +2 -1
  15. package/dist/.setup/{monitor-C1qvr_Kl.mjs → monitor-C6u1JV2C.mjs} +55 -31
  16. package/dist/.setup/{normalize-B_3XS5ez.mjs → normalize-D7kSomXt.mjs} +2 -1
  17. package/dist/.setup/{probe-BYl1haPH.mjs → probe-D_93QCe0.mjs} +5 -4
  18. package/dist/.setup/{reaction-runtime-api-D7bhF81u.mjs → reaction-runtime-api-mdO4k0yv.mjs} +6 -5
  19. package/dist/.setup/{reaction-targets-Bg9NSMJF.mjs → reaction-targets-BgPLDHBf.mjs} +7 -5
  20. package/dist/.setup/{rpc-context-DmtN26AB.mjs → rpc-context-BAXcX7dI.mjs} +2 -1
  21. package/dist/.setup/{runtime-B_1v-nzc.mjs → runtime-8sxUF217.mjs} +2 -1
  22. package/dist/.setup/{send-BZd_WrI_.mjs → send-CM7-016e.mjs} +9 -8
  23. package/dist/.setup/{setup-surface-D5p9z7MO.mjs → setup-surface-DvKLwYrl.mjs} +5 -4
  24. package/dist/.setup/{transport-detection-oXau8_7D.mjs → transport-detection-CmlgOybe.mjs} +5 -4
  25. package/dist/.setup/{transport-policy-BvaaxIjp.mjs → transport-policy-B6C_LogW.mjs} +3 -2
  26. package/dist/.setup/transport-probes.runtime-D-xIMRcn.mjs +2 -0
  27. package/dist/.setup/{transport-url-BptucYNV.mjs → transport-url-CAC0JcuI.mjs} +4 -2
  28. package/dist/api.js +11 -11
  29. package/dist/channel-config-api.js +2 -1
  30. package/dist/channel-entry.js +2 -1
  31. package/dist/channel-plugin-api.js +2 -1
  32. package/dist/contract-api.js +3 -3
  33. package/dist/doctor-contract-api.js +2 -1
  34. package/dist/index.js +2 -1
  35. package/dist/reaction-runtime-api.js +2 -1
  36. package/dist/runtime-api.js +2 -1
  37. package/dist/secret-contract-api.js +2 -1
  38. package/dist/setup-entry.js +3 -2
  39. package/package.json +4 -4
  40. package/dist/.setup/api-Bw9wRi7s.mjs +0 -15
  41. package/dist/.setup/transport-probes.runtime-Ca_Rb1P2.mjs +0 -1
  42. package/dist/.source-module-urls/6644c27f416c8952f1e739724ebf62751ac9fafc7ee3c001a25ab5884899ae60.json +0 -1
@@ -1,8 +1,8 @@
1
- import { i as normalizeSignalTransportHost, n as buildSignalSocketUrl, o as resolveSignalAccountEntry, r as buildSignalTransportHttpUrl, t as assertSignalSocketTransport } from "./transport-url-BptucYNV.mjs";
2
- import { a as isSignalManagedNativeConnectionUrlForBind, c as resolveLocalSignalTransportPort, i as assignSignalManagedNativePort, n as DEFAULT_SIGNAL_MANAGED_NATIVE_PORT, r as allocateSignalManagedNativePort, s as reserveSignalTransportPorts } from "./transport-policy-BvaaxIjp.mjs";
1
+ import { i as normalizeSignalTransportHost, n as buildSignalSocketUrl, o as resolveSignalAccountEntry, r as buildSignalTransportHttpUrl, t as assertSignalSocketTransport } from "./transport-url-CAC0JcuI.mjs";
2
+ import { a as isSignalManagedNativeConnectionUrlForBind, c as resolveLocalSignalTransportPort, i as assignSignalManagedNativePort, n as DEFAULT_SIGNAL_MANAGED_NATIVE_PORT, r as allocateSignalManagedNativePort, s as reserveSignalTransportPorts } from "./transport-policy-B6C_LogW.mjs";
3
3
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
4
4
  import { DEFAULT_ACCOUNT_ID, createAccountListHelpers, normalizeAccountId, resolveMergedAccountConfig } from "openclaw/plugin-sdk/account-resolution";
5
- // extensions/signal/src/accounts.ts
5
+ //#region extensions/signal/src/accounts.ts
6
6
  const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal", {
7
7
  normalizeAccountId,
8
8
  implicitDefaultAccount: { channelKeys: ["account", "transport"] }
@@ -130,4 +130,5 @@ function resolveSignalReplyToMode(params) {
130
130
  const chatType = params.chatType === "direct" || params.chatType === "group" ? params.chatType : void 0;
131
131
  return normalizeSignalReplyToMode(chatType && accountConfig?.replyToModeByChatType?.[chatType]) ?? normalizeSignalReplyToMode(accountConfig?.replyToMode) ?? normalizeSignalReplyToMode(chatType && signalConfig?.replyToModeByChatType?.[chatType]) ?? normalizeSignalReplyToMode(signalConfig?.replyToMode) ?? "all";
132
132
  }
133
+ //#endregion
133
134
  export { resolveSignalAccountConfig as a, resolveSignalAccount as i, listSignalAccountIds as n, resolveSignalReplyToMode as o, resolveDefaultSignalAccountId as r, resolveSignalTransport as s, listEnabledSignalAccounts as t };
@@ -0,0 +1,16 @@
1
+ import "./accounts-B0Pba1-q.mjs";
2
+ import "./normalize-D7kSomXt.mjs";
3
+ import "./identity-B3JyPqGO.mjs";
4
+ import { f as signalSetupContract, n as createSignalPluginBase, r as signalSetupWizard } from "./channel-CM-rLLPN.mjs";
5
+ import "./reaction-runtime-api-mdO4k0yv.mjs";
6
+ import "./install-signal-cli-hYVLYGXe.mjs";
7
+ import "./monitor-C6u1JV2C.mjs";
8
+ import "./send-CM7-016e.mjs";
9
+ import "./probe-D_93QCe0.mjs";
10
+ //#region extensions/signal/src/channel.setup.ts
11
+ const signalSetupPlugin = createSignalPluginBase({
12
+ setupWizard: signalSetupWizard,
13
+ setupContract: signalSetupContract
14
+ });
15
+ //#endregion
16
+ export { signalSetupPlugin as t };
@@ -1,12 +1,12 @@
1
- import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./accounts-BZXLLXyZ.mjs";
2
- import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-B_3XS5ez.mjs";
3
- import { a as normalizeSignalAllowRecipient, c as resolveSignalSender, i as isSignalSenderAllowed, l as looksLikeUuid, n as formatSignalSenderDisplay, o as resolveSignalPeerId, r as formatSignalSenderId, s as resolveSignalRecipient, t as formatSignalPairingIdLine } from "./identity-DzXre34N.mjs";
4
- import { _ as resolveSignalReactionLevel, a as normalizeSignalAccountInput, b as markdownToSignalTextChunks, d as probeSignalTransport, f as writeSignalAccountTransport, g as signalMessageActions, h as resolveSignalOutboundTarget, t as signalPlugin, u as prepareSignalManagedNativeTransport, y as markdownToSignalText } from "./channel-Cd52DrmN.mjs";
5
- import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-D7bhF81u.mjs";
6
- import { t as detectSignalTransport } from "./transport-detection-oXau8_7D.mjs";
7
- import { t as signalSetupPlugin } from "./api-Bw9wRi7s.mjs";
8
- import { r as installSignalCli } from "./install-signal-cli-BjCk7EXq.mjs";
9
- import { t as monitorSignalProvider } from "./monitor-C1qvr_Kl.mjs";
10
- import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-BZd_WrI_.mjs";
11
- import { t as probeSignal } from "./probe-BYl1haPH.mjs";
1
+ import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./accounts-B0Pba1-q.mjs";
2
+ import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-D7kSomXt.mjs";
3
+ import { a as normalizeSignalAllowRecipient, c as resolveSignalSender, i as isSignalSenderAllowed, l as looksLikeUuid, n as formatSignalSenderDisplay, o as resolveSignalPeerId, r as formatSignalSenderId, s as resolveSignalRecipient, t as formatSignalPairingIdLine } from "./identity-B3JyPqGO.mjs";
4
+ import { C as markdownToSignalTextChunks, S as markdownToSignalText, b as resolveSignalReactionLevel, c as normalizeSignalAccountInput, h as writeSignalAccountTransport, m as probeSignalTransport, p as prepareSignalManagedNativeTransport, t as signalPlugin, v as resolveSignalOutboundTarget, y as signalMessageActions } from "./channel-CM-rLLPN.mjs";
5
+ import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-mdO4k0yv.mjs";
6
+ import { t as detectSignalTransport } from "./transport-detection-CmlgOybe.mjs";
7
+ import { t as signalSetupPlugin } from "./api-CJBtD3lT.mjs";
8
+ import { r as installSignalCli } from "./install-signal-cli-hYVLYGXe.mjs";
9
+ import { t as monitorSignalProvider } from "./monitor-C6u1JV2C.mjs";
10
+ import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-CM7-016e.mjs";
11
+ import { t as probeSignal } from "./probe-D_93QCe0.mjs";
12
12
  export { detectSignalTransport, formatSignalPairingIdLine, formatSignalSenderDisplay, formatSignalSenderId, installSignalCli, isSignalSenderAllowed, listEnabledSignalAccounts, listSignalAccountIds, looksLikeSignalTargetId, looksLikeUuid, markdownToSignalText, markdownToSignalTextChunks, monitorSignalProvider, normalizeSignalAccountInput, normalizeSignalAllowRecipient, normalizeSignalMessagingTarget, prepareSignalManagedNativeTransport, probeSignal, probeSignalTransport, removeReactionSignal, resolveDefaultSignalAccountId, resolveSignalAccount, resolveSignalOutboundTarget, resolveSignalPeerId, resolveSignalReactionLevel, resolveSignalRecipient, resolveSignalSender, sendMessageSignal, sendReactionSignal, sendReadReceiptSignal, sendTypingSignal, signalMessageActions, signalPlugin, signalSetupPlugin, writeSignalAccountTransport };
@@ -1,10 +1,10 @@
1
- import { i as resolveSignalAccount } from "./accounts-BZXLLXyZ.mjs";
2
- import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-B_3XS5ez.mjs";
3
- import { l as looksLikeUuid } from "./identity-DzXre34N.mjs";
1
+ import { i as resolveSignalAccount } from "./accounts-B0Pba1-q.mjs";
2
+ import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-D7kSomXt.mjs";
3
+ import { l as looksLikeUuid } from "./identity-B3JyPqGO.mjs";
4
4
  import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { createChannelApprovalAuth } from "openclaw/plugin-sdk/approval-auth-runtime";
6
6
  import { normalizeE164 } from "openclaw/plugin-sdk/text-utility-runtime";
7
- // extensions/signal/src/aliases.ts
7
+ //#region extensions/signal/src/aliases.ts
8
8
  function normalizeAliasKey(raw) {
9
9
  return normalizeLowercaseStringOrEmpty(raw.trim().replace(/^signal:/i, "")) || void 0;
10
10
  }
@@ -122,7 +122,8 @@ function listSignalAliasDirectoryEntries(params) {
122
122
  }
123
123
  return entries;
124
124
  }
125
- // extensions/signal/src/approval-auth.ts
125
+ //#endregion
126
+ //#region extensions/signal/src/approval-auth.ts
126
127
  function normalizeSignalApproverId(value) {
127
128
  const normalized = normalizeSignalMessagingTarget(String(value));
128
129
  if (!normalized || normalized.startsWith("group:") || normalized.startsWith("username:")) return;
@@ -156,4 +157,5 @@ const signalApproval = createChannelApprovalAuth({
156
157
  });
157
158
  const getSignalApprovalApprovers = signalApproval.resolveApprovers;
158
159
  const signalApprovalAuth = signalApproval.approvalAuth;
160
+ //#endregion
159
161
  export { resolveSignalTarget as a, resolveSignalDeliveredConversationKey as i, signalApprovalAuth as n, listSignalAliasDirectoryEntries as r, getSignalApprovalApprovers as t };
@@ -1,15 +1,15 @@
1
- import { r as resolveDefaultSignalAccountId } from "./accounts-BZXLLXyZ.mjs";
2
- import { n as normalizeSignalMessagingTarget } from "./normalize-B_3XS5ez.mjs";
3
- import { a as resolveSignalTarget } from "./approval-auth-BC9o4yna.mjs";
4
- import { a as registerSignalApprovalReactionTarget, c as resolveSignalApprovalTargetAuthorKeys, l as unregisterSignalApprovalReactionTarget, r as hasSignalApprovalReactionApprovers, s as resolveSignalApprovalConversationKey } from "./approval-reactions-Drpy356L.mjs";
5
- import { r as sendTypingSignal, t as sendMessageSignal } from "./send-BZd_WrI_.mjs";
1
+ import { r as resolveDefaultSignalAccountId } from "./accounts-B0Pba1-q.mjs";
2
+ import { n as normalizeSignalMessagingTarget } from "./normalize-D7kSomXt.mjs";
3
+ import { a as resolveSignalTarget } from "./approval-auth-DhUKkSkA.mjs";
4
+ import { a as registerSignalApprovalReactionTarget, c as resolveSignalApprovalTargetAuthorKeys, l as unregisterSignalApprovalReactionTarget, r as hasSignalApprovalReactionApprovers, s as resolveSignalApprovalConversationKey } from "./approval-reactions-JsqCEOHK.mjs";
5
+ import { r as sendTypingSignal, t as sendMessageSignal } from "./send-CM7-016e.mjs";
6
6
  import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
7
7
  import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
8
8
  import { buildChannelApprovalNativeTargetKey } from "openclaw/plugin-sdk/approval-native-runtime";
9
9
  import { buildApprovalReactionPendingContent } from "openclaw/plugin-sdk/approval-reaction-runtime";
10
10
  import { createSubsystemLogger } from "openclaw/plugin-sdk/runtime-env";
11
11
  import { buildChannelApprovalExpiredText, buildChannelApprovalResolvedText, createChannelApprovalNativeRuntimeAdapterAsync, resolvePreparedApprovalAccountId } from "openclaw/plugin-sdk/approval-handler-runtime";
12
- // extensions/signal/src/approval-handler.runtime.ts
12
+ //#region extensions/signal/src/approval-handler.runtime.ts
13
13
  const log = createSubsystemLogger("signal/approvals");
14
14
  function readSignalApprovalRuntimeContext(context) {
15
15
  const value = context;
@@ -158,4 +158,5 @@ const signalApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapterAsy
158
158
  log.error(`signal approvals: failed to send request ${request.id}: ${String(error)}`);
159
159
  } }
160
160
  });
161
+ //#endregion
161
162
  export { signalApprovalNativeRuntime };
@@ -1,8 +1,8 @@
1
- import { o as __exportAll } from "./doctor-contract-api-BXWnMqDt.mjs";
2
- import { n as normalizeSignalMessagingTarget } from "./normalize-B_3XS5ez.mjs";
3
- import { a as resolveSignalTarget, i as resolveSignalDeliveredConversationKey, n as signalApprovalAuth, t as getSignalApprovalApprovers } from "./approval-auth-BC9o4yna.mjs";
4
- import { l as looksLikeUuid } from "./identity-DzXre34N.mjs";
5
- import { t as getOptionalSignalRuntime } from "./runtime-B_1v-nzc.mjs";
1
+ import { o as __exportAll } from "./doctor-contract-api-BIdVW0PF.mjs";
2
+ import { n as normalizeSignalMessagingTarget } from "./normalize-D7kSomXt.mjs";
3
+ import { a as resolveSignalTarget, i as resolveSignalDeliveredConversationKey, n as signalApprovalAuth, t as getSignalApprovalApprovers } from "./approval-auth-DhUKkSkA.mjs";
4
+ import { l as looksLikeUuid } from "./identity-B3JyPqGO.mjs";
5
+ import { t as getOptionalSignalRuntime } from "./runtime-8sxUF217.mjs";
6
6
  import { createLazyRuntimeSurface } from "openclaw/plugin-sdk/lazy-runtime";
7
7
  import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
8
8
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -11,7 +11,7 @@ import { normalizeE164 } from "openclaw/plugin-sdk/text-utility-runtime";
11
11
  import { getExecApprovalReplyMetadata } from "openclaw/plugin-sdk/approval-reply-runtime";
12
12
  import { createPluginStateErrorReporter } from "openclaw/plugin-sdk/plugin-state-runtime";
13
13
  import { matchesApprovalRequestFilters } from "openclaw/plugin-sdk/approval-client-runtime";
14
- // extensions/signal/src/approval-reaction-routes.ts
14
+ //#region extensions/signal/src/approval-reaction-routes.ts
15
15
  function resolveSignalApprovalRouteTarget(params) {
16
16
  try {
17
17
  return resolveSignalTarget({
@@ -77,7 +77,8 @@ function buildTargetRoute(params) {
77
77
  }
78
78
  }) ? route : null;
79
79
  }
80
- // extensions/signal/src/approval-reactions.ts
80
+ //#endregion
81
+ //#region extensions/signal/src/approval-reactions.ts
81
82
  var approval_reactions_exports = /* @__PURE__ */ __exportAll({
82
83
  addSignalApprovalReactionHintToStructuredPayload: () => addSignalApprovalReactionHintToStructuredPayload,
83
84
  clearSignalApprovalReactionTargetsForTest: () => clearSignalApprovalReactionTargetsForTest,
@@ -351,4 +352,5 @@ function clearSignalApprovalReactionTargetsForTest() {
351
352
  signalApprovalReactionTargets.clearForTest();
352
353
  loadResolveApprovalOverGateway.clear();
353
354
  }
355
+ //#endregion
354
356
  export { registerSignalApprovalReactionTarget as a, resolveSignalApprovalTargetAuthorKeys as c, maybeResolveSignalApprovalReaction as i, unregisterSignalApprovalReactionTarget as l, approval_reactions_exports as n, registerSignalApprovalReactionTargetForDeliveredPayload as o, hasSignalApprovalReactionApprovers as r, resolveSignalApprovalConversationKey as s, addSignalApprovalReactionHintToStructuredPayload as t };
@@ -1,14 +1,14 @@
1
- import { a as migrateLegacySignalTransportConfig, i as clearLegacySignalTransportFieldsForAccount, n as normalizeCompatibilityConfig, r as repairSignalAccountKeys } from "./doctor-contract-api-BXWnMqDt.mjs";
2
- import { a as normalizeSignalTransportUrl, i as normalizeSignalTransportHost, o as resolveSignalAccountEntry, s as resolveSignalAccountKey, t as assertSignalSocketTransport } from "./transport-url-BptucYNV.mjs";
3
- import { a as isSignalManagedNativeConnectionUrlForBind, c as resolveLocalSignalTransportPort, i as assignSignalManagedNativePort, o as isValidSignalManagedNativePort, r as allocateSignalManagedNativePort, s as reserveSignalTransportPorts } from "./transport-policy-BvaaxIjp.mjs";
4
- import { a as resolveSignalAccountConfig, i as resolveSignalAccount, n as listSignalAccountIds, o as resolveSignalReplyToMode, r as resolveDefaultSignalAccountId, s as resolveSignalTransport, t as listEnabledSignalAccounts } from "./accounts-BZXLLXyZ.mjs";
5
- import { n as normalizeSignalMessagingTarget, r as normalizeSignalReactionRecipient, t as looksLikeSignalTargetId } from "./normalize-B_3XS5ez.mjs";
6
- import { a as resolveSignalTarget, n as signalApprovalAuth, r as listSignalAliasDirectoryEntries, t as getSignalApprovalApprovers } from "./approval-auth-BC9o4yna.mjs";
7
- import { c as resolveSignalSender, l as looksLikeUuid, o as resolveSignalPeerId, s as resolveSignalRecipient } from "./identity-DzXre34N.mjs";
8
- import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-D7bhF81u.mjs";
9
- import { t as getOptionalSignalRuntime } from "./runtime-B_1v-nzc.mjs";
10
- import { t as detectSignalTransport } from "./transport-detection-oXau8_7D.mjs";
11
- import { t as SignalChannelConfigSchema } from "./config-schema-WrMl4uyV.mjs";
1
+ import { a as migrateLegacySignalTransportConfig, i as clearLegacySignalTransportFieldsForAccount, n as normalizeCompatibilityConfig, r as repairSignalAccountKeys } from "./doctor-contract-api-BIdVW0PF.mjs";
2
+ import { a as normalizeSignalTransportUrl, i as normalizeSignalTransportHost, o as resolveSignalAccountEntry, s as resolveSignalAccountKey, t as assertSignalSocketTransport } from "./transport-url-CAC0JcuI.mjs";
3
+ import { a as isSignalManagedNativeConnectionUrlForBind, c as resolveLocalSignalTransportPort, i as assignSignalManagedNativePort, o as isValidSignalManagedNativePort, r as allocateSignalManagedNativePort, s as reserveSignalTransportPorts } from "./transport-policy-B6C_LogW.mjs";
4
+ import { a as resolveSignalAccountConfig, i as resolveSignalAccount, n as listSignalAccountIds, o as resolveSignalReplyToMode, r as resolveDefaultSignalAccountId, s as resolveSignalTransport, t as listEnabledSignalAccounts } from "./accounts-B0Pba1-q.mjs";
5
+ import { n as normalizeSignalMessagingTarget, r as normalizeSignalReactionRecipient, t as looksLikeSignalTargetId } from "./normalize-D7kSomXt.mjs";
6
+ import { a as resolveSignalTarget, n as signalApprovalAuth, r as listSignalAliasDirectoryEntries, t as getSignalApprovalApprovers } from "./approval-auth-DhUKkSkA.mjs";
7
+ import { c as resolveSignalSender, l as looksLikeUuid, o as resolveSignalPeerId, s as resolveSignalRecipient } from "./identity-B3JyPqGO.mjs";
8
+ import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-mdO4k0yv.mjs";
9
+ import { t as getOptionalSignalRuntime } from "./runtime-8sxUF217.mjs";
10
+ import { t as detectSignalTransport } from "./transport-detection-CmlgOybe.mjs";
11
+ import { t as SignalChannelConfigSchema } from "./config-schema-DvxZ18SD.mjs";
12
12
  import { describeAccountSnapshot, resolveChannelMediaMaxBytes } from "openclaw/plugin-sdk/account-helpers";
13
13
  import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
14
14
  import { buildDmGroupAccountAllowlistAdapter } from "openclaw/plugin-sdk/allowlist-config-edit";
@@ -48,7 +48,7 @@ import { DEFAULT_ACCOUNT_ID as DEFAULT_ACCOUNT_ID$2, createCliPathTextInput, cre
48
48
  import { formatCliCommand, formatDocsLink } from "openclaw/plugin-sdk/setup-tools";
49
49
  import { adaptScopedAccountAccessor, createScopedChannelConfigAdapter } from "openclaw/plugin-sdk/channel-config-helpers";
50
50
  import { createRestrictSendersChannelSecurity } from "openclaw/plugin-sdk/channel-policy";
51
- // extensions/signal/src/approval-native.ts
51
+ //#region extensions/signal/src/approval-native.ts
52
52
  function isSignalApprovalTransportEnabled(params) {
53
53
  return resolveSignalAccount({
54
54
  cfg: params.cfg,
@@ -102,7 +102,7 @@ const signalApproval = createApproverRestrictedNativeApprovalCapabilityFromForwa
102
102
  approvalKind,
103
103
  request
104
104
  }),
105
- load: async () => (await import("./approval-handler.runtime-Dzb_QGFk.mjs")).signalApprovalNativeRuntime
105
+ load: async () => (await import("./approval-handler.runtime-CsEcBZoc.mjs")).signalApprovalNativeRuntime
106
106
  })
107
107
  });
108
108
  const signalApprovalRouting = signalApproval.routing;
@@ -132,7 +132,8 @@ function isSignalGroupTarget(to) {
132
132
  return normalizeLowercaseStringOrEmpty(to).startsWith("group:");
133
133
  }
134
134
  const signalApprovalCapability = signalApproval.capability;
135
- // extensions/signal/src/format.ts
135
+ //#endregion
136
+ //#region extensions/signal/src/format.ts
136
137
  const SIGNAL_STYLE_MAP = {
137
138
  bold: "BOLD",
138
139
  italic: "ITALIC",
@@ -211,7 +212,8 @@ function markdownToSignalTextChunks(markdown, limit, options = {}) {
211
212
  measureRendered: (rendered) => rendered.text.length
212
213
  }).map(({ rendered }) => rendered);
213
214
  }
214
- // extensions/signal/src/media-text.ts
215
+ //#endregion
216
+ //#region extensions/signal/src/media-text.ts
215
217
  /** Keeps Signal's established multi-attachment text while sharing single-item rendering. */
216
218
  function formatSignalMediaText(media) {
217
219
  if (media.length <= 1) return formatMediaPlaceholderText(media);
@@ -222,7 +224,8 @@ function formatSignalMediaText(media) {
222
224
  }
223
225
  return `[${[...kindCounts.entries()].map(([kind, count]) => `${count} ${kind === "attachment" ? "file" : kind}${count > 1 ? "s" : ""}`).join(" + ")} attached]`;
224
226
  }
225
- // extensions/signal/src/reaction-level.ts
227
+ //#endregion
228
+ //#region extensions/signal/src/reaction-level.ts
226
229
  function resolveSignalReactionLevel(params) {
227
230
  const account = resolveSignalAccount({
228
231
  cfg: params.cfg,
@@ -234,7 +237,8 @@ function resolveSignalReactionLevel(params) {
234
237
  invalidFallback: "minimal"
235
238
  });
236
239
  }
237
- // extensions/signal/src/message-actions.ts
240
+ //#endregion
241
+ //#region extensions/signal/src/message-actions.ts
238
242
  const providerId = "signal";
239
243
  const GROUP_PREFIX = "group:";
240
244
  function resolveSignalReactionTarget(raw) {
@@ -315,7 +319,8 @@ const signalMessageActions = {
315
319
  throw new Error(`Action ${action} not supported for ${providerId}.`);
316
320
  }
317
321
  };
318
- // extensions/signal/src/outbound-session.ts
322
+ //#endregion
323
+ //#region extensions/signal/src/outbound-session.ts
319
324
  function resolveSignalOutboundTarget(target) {
320
325
  const normalized = normalizeSignalMessagingTarget(target);
321
326
  if (!normalized) return null;
@@ -359,7 +364,8 @@ function resolveSignalOutboundTarget(target) {
359
364
  to: `signal:${displayRecipient}`
360
365
  };
361
366
  }
362
- // extensions/signal/src/presentation-fallback.ts
367
+ //#endregion
368
+ //#region extensions/signal/src/presentation-fallback.ts
363
369
  /** Materialize presentation content once before Signal's text-only delivery funnels. */
364
370
  function materializeSignalPresentationFallback(payload, presentationOverride) {
365
371
  const reactionPayload = questionGatewayRuntime.prepareReactionPayloadForDelivery({
@@ -382,9 +388,11 @@ function materializeSignalPresentationFallback(payload, presentationOverride) {
382
388
  text
383
389
  };
384
390
  }
385
- // extensions/signal/src/reply-authors-state.ts
391
+ //#endregion
392
+ //#region extensions/signal/src/reply-authors-state.ts
386
393
  const signalReplyAuthorState = { memoryReplyContexts: /* @__PURE__ */ new Map() };
387
- // extensions/signal/src/reply-authors.ts
394
+ //#endregion
395
+ //#region extensions/signal/src/reply-authors.ts
388
396
  const PERSISTENT_NAMESPACE = "signal.reply-authors.v1";
389
397
  const PERSISTENT_MAX_ENTRIES = 5e3;
390
398
  const DEFAULT_REPLY_AUTHOR_TTL_MS = 6048e5;
@@ -509,7 +517,8 @@ async function resolveSignalReplyContextWithPersistence(params) {
509
517
  return;
510
518
  }
511
519
  }
512
- // extensions/signal/src/setup-transport.ts
520
+ //#endregion
521
+ //#region extensions/signal/src/setup-transport.ts
513
522
  function normalizeTransport(transport) {
514
523
  if (transport.kind === "managed-native") {
515
524
  assertSignalSocketTransport(transport);
@@ -639,8 +648,8 @@ async function probeSignalTransport(params) {
639
648
  overrides: params.transport
640
649
  }) : params.transport;
641
650
  const resolved = resolveSignalTransport(transport);
642
- if (resolved.kind === "container") return (params.probeContainer ?? (await import("./transport-probes.runtime-Ca_Rb1P2.mjs")).containerCheck)(resolved.baseUrl, timeoutMs, params.account);
643
- return (params.probeNative ?? (await import("./transport-probes.runtime-Ca_Rb1P2.mjs")).nativeCheck)(resolved.baseUrl, timeoutMs);
651
+ if (resolved.kind === "container") return (params.probeContainer ?? (await import("./transport-probes.runtime-D-xIMRcn.mjs")).containerCheck)(resolved.baseUrl, timeoutMs, params.account);
652
+ return (params.probeNative ?? (await import("./transport-probes.runtime-D-xIMRcn.mjs")).nativeCheck)(resolved.baseUrl, timeoutMs);
644
653
  }
645
654
  function writeSignalAccountTransport(params) {
646
655
  const transport = normalizeTransport(params.transport);
@@ -670,7 +679,8 @@ function writeSignalAccountTransport(params) {
670
679
  });
671
680
  return canonical;
672
681
  }
673
- // extensions/signal/src/setup-core.ts
682
+ //#endregion
683
+ //#region extensions/signal/src/setup-core.ts
674
684
  const t = createSetupTranslator$1();
675
685
  const channel = "signal";
676
686
  const signalSetupFields = {
@@ -977,11 +987,128 @@ function createSignalSetupWizardProxy(loadWizard) {
977
987
  disable: (cfg) => setSetupChannelEnabled$1(cfg, channel, false)
978
988
  });
979
989
  }
980
- // extensions/signal/src/doctor.ts
990
+ //#endregion
991
+ //#region extensions/signal/src/daemon-env.ts
992
+ const SIGNAL_CLI_INHERITED_ENV_KEYS = /* @__PURE__ */ new Set([
993
+ "PATH",
994
+ "HOME",
995
+ "USER",
996
+ "LOGNAME",
997
+ "LANG",
998
+ "LANGUAGE",
999
+ "TZ",
1000
+ "TMPDIR",
1001
+ "TMP",
1002
+ "TEMP",
1003
+ "JAVA_HOME",
1004
+ "JAVA_OPTS",
1005
+ "JAVA_TOOL_OPTIONS",
1006
+ "JDK_JAVA_OPTIONS",
1007
+ "_JAVA_OPTIONS",
1008
+ "SIGNAL_CLI_OPTS",
1009
+ "SIGNAL_CLI_CONFIG",
1010
+ "SIGNAL_CLI_USER_AGENT",
1011
+ "LD_LIBRARY_PATH",
1012
+ "DYLD_LIBRARY_PATH",
1013
+ "DYLD_FALLBACK_LIBRARY_PATH",
1014
+ "SYSTEMROOT",
1015
+ "SYSTEMDRIVE",
1016
+ "WINDIR",
1017
+ "COMSPEC",
1018
+ "PATHEXT",
1019
+ "USERPROFILE",
1020
+ "USERNAME",
1021
+ "HOMEDRIVE",
1022
+ "HOMEPATH",
1023
+ "APPDATA",
1024
+ "LOCALAPPDATA",
1025
+ "PROGRAMDATA",
1026
+ "PROGRAMFILES",
1027
+ "PROGRAMFILES(X86)",
1028
+ "PROGRAMW6432",
1029
+ "ALLUSERSPROFILE",
1030
+ "PUBLIC",
1031
+ "OS",
1032
+ "PROCESSOR_ARCHITECTURE",
1033
+ "NUMBER_OF_PROCESSORS"
1034
+ ]);
1035
+ const SIGNAL_CLI_INHERITED_ENV_PREFIXES = ["LC_", "XDG_"];
1036
+ const SIGNAL_CLI_DROPPED_ENV_HINT_KEYS = /* @__PURE__ */ new Set([
1037
+ "HTTP_PROXY",
1038
+ "HTTPS_PROXY",
1039
+ "NO_PROXY",
1040
+ "ALL_PROXY",
1041
+ "SSL_CERT_FILE",
1042
+ "SSL_CERT_DIR",
1043
+ "REQUESTS_CA_BUNDLE",
1044
+ "CURL_CA_BUNDLE",
1045
+ "NODE_EXTRA_CA_CERTS"
1046
+ ]);
1047
+ const SIGNAL_MANAGED_DAEMON_ENV_DOCS_URL = "https://docs.openclaw.ai/channels/signal#managed-daemon-environment";
1048
+ function isSignalDaemonEnvKeyInherited(name) {
1049
+ return SIGNAL_CLI_INHERITED_ENV_KEYS.has(name) || SIGNAL_CLI_INHERITED_ENV_PREFIXES.some((prefix) => name.startsWith(prefix));
1050
+ }
1051
+ function buildSignalDaemonEnv(source = process.env, platform = process.platform) {
1052
+ const env = {};
1053
+ const retainedWindowsKeys = /* @__PURE__ */ new Map();
1054
+ for (const [key, value] of Object.entries(source)) {
1055
+ if (typeof value !== "string") continue;
1056
+ const name = platform === "win32" ? key.toUpperCase() : key;
1057
+ if (!isSignalDaemonEnvKeyInherited(name)) continue;
1058
+ if (platform === "win32") {
1059
+ const previousKey = retainedWindowsKeys.get(name);
1060
+ if (previousKey !== void 0) delete env[previousKey];
1061
+ retainedWindowsKeys.set(name, key);
1062
+ }
1063
+ env[key] = value;
1064
+ }
1065
+ return env;
1066
+ }
1067
+ /** Names (as set, sorted) of commonly needed non-secret variables the daemon does not inherit. */
1068
+ function listSignalDaemonDroppedEnvHints(source = process.env) {
1069
+ const names = /* @__PURE__ */ new Set();
1070
+ for (const [key, value] of Object.entries(source)) if (typeof value === "string" && value.trim() && SIGNAL_CLI_DROPPED_ENV_HINT_KEYS.has(key.toUpperCase())) names.add(key);
1071
+ return [...names].toSorted();
1072
+ }
1073
+ /** Operator notice naming the dropped variables and the supported ways to supply them. */
1074
+ function formatSignalDaemonDroppedEnvNotice(names) {
1075
+ return `The managed signal-cli daemon does not inherit ${names.join(", ")} from the OpenClaw process environment. signal-cli's JVM takes proxy and trust-store settings from Java system properties: pass them in JAVA_TOOL_OPTIONS (for example -Dhttps.proxyHost=<host> -Dhttps.proxyPort=<port>, or -Djavax.net.ssl.trustStore=<path> for a private CA), set the variables inside a transport.cliPath wrapper script, or run the daemon yourself with transport.kind external-native. See ${SIGNAL_MANAGED_DAEMON_ENV_DOCS_URL}`;
1076
+ }
1077
+ //#endregion
1078
+ //#region extensions/signal/src/doctor.ts
1079
+ function usesManagedSignalDaemon(cfg) {
1080
+ if (!cfg.channels?.signal) return false;
1081
+ return listSignalAccountIds(cfg).some((accountId) => {
1082
+ try {
1083
+ const account = resolveSignalAccount({
1084
+ cfg,
1085
+ accountId
1086
+ });
1087
+ return account.enabled && account.configured && account.transport.kind === "managed-native";
1088
+ } catch {
1089
+ return false;
1090
+ }
1091
+ });
1092
+ }
1093
+ /** Warn when the managed daemon will not see proxy or trust-store variables set for OpenClaw. */
1094
+ function collectSignalDaemonEnvNotes(params) {
1095
+ const result = {
1096
+ changeNotes: [],
1097
+ warningNotes: []
1098
+ };
1099
+ if (!usesManagedSignalDaemon(params.cfg)) return result;
1100
+ const names = listSignalDaemonDroppedEnvHints(params.env ?? process.env);
1101
+ if (names.length > 0) result.warningNotes.push(`- channels.signal: ${formatSignalDaemonDroppedEnvNotice(names)}`);
1102
+ return result;
1103
+ }
981
1104
  const signalDoctor = {
982
1105
  normalizeCompatibilityConfig,
1106
+ runConfigSequence: ({ cfg, env }) => collectSignalDaemonEnvNotes({
1107
+ cfg,
1108
+ env
1109
+ }),
983
1110
  cleanStaleConfig: async ({ cfg }) => {
984
- const { detectSignalTransport } = await import("./transport-detection-oXau8_7D.mjs").then((n) => n.n);
1111
+ const { detectSignalTransport } = await import("./transport-detection-CmlgOybe.mjs").then((n) => n.n);
985
1112
  const transport = await migrateLegacySignalTransportConfig({
986
1113
  cfg,
987
1114
  detect: detectSignalTransport
@@ -992,9 +1119,10 @@ const signalDoctor = {
992
1119
  };
993
1120
  }
994
1121
  };
995
- // extensions/signal/src/shared.ts
1122
+ //#endregion
1123
+ //#region extensions/signal/src/shared.ts
996
1124
  const SIGNAL_CHANNEL = "signal";
997
- const signalSetupWizard = createSignalSetupWizardProxy(async () => (await import("./setup-surface-D5p9z7MO.mjs")).signalSetupWizard);
1125
+ const signalSetupWizard = createSignalSetupWizardProxy(async () => (await import("./setup-surface-DvKLwYrl.mjs")).signalSetupWizard);
998
1126
  const signalConfigAdapter = {
999
1127
  ...createScopedChannelConfigAdapter({
1000
1128
  sectionKey: SIGNAL_CHANNEL,
@@ -1077,11 +1205,12 @@ function createSignalPluginBase(params) {
1077
1205
  messaging: { defaultMarkdownTableMode: "bullets" }
1078
1206
  };
1079
1207
  }
1080
- // extensions/signal/src/channel.ts
1081
- const loadSignalMonitorModule = createLazyRuntimeModule(() => import("./monitor-C1qvr_Kl.mjs").then((n) => n.n));
1082
- const loadSignalProbeModule = createLazyRuntimeModule(() => import("./probe-BYl1haPH.mjs").then((n) => n.n));
1083
- const loadSignalSendRuntime = createLazyRuntimeModule(() => import("./send-BZd_WrI_.mjs").then((n) => n.i));
1084
- const loadSignalApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-Drpy356L.mjs").then((n) => n.n));
1208
+ //#endregion
1209
+ //#region extensions/signal/src/channel.ts
1210
+ const loadSignalMonitorModule = createLazyRuntimeModule(() => import("./monitor-C6u1JV2C.mjs").then((n) => n.n));
1211
+ const loadSignalProbeModule = createLazyRuntimeModule(() => import("./probe-D_93QCe0.mjs").then((n) => n.n));
1212
+ const loadSignalSendRuntime = createLazyRuntimeModule(() => import("./send-CM7-016e.mjs").then((n) => n.i));
1213
+ const loadSignalApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-JsqCEOHK.mjs").then((n) => n.n));
1085
1214
  async function createSignalOutboundSender(params) {
1086
1215
  const send = resolveOutboundSendDep(params.deps, "signal") ?? (await loadSignalSendRuntime()).sendMessageSignal;
1087
1216
  const maxBytes = resolveChannelMediaMaxBytes({
@@ -1261,7 +1390,7 @@ async function registerDeliveredSignalApprovalPayloadForReactions(params) {
1261
1390
  const targetAuthor = normalizeOptionalString(account.config.account);
1262
1391
  const targetAuthorUuid = normalizeOptionalString(account.config.accountUuid);
1263
1392
  if (!targetAuthor && !targetAuthorUuid) return;
1264
- const { registerSignalReactionTargetsForDeliveredPayload } = await import("./reaction-targets-Bg9NSMJF.mjs").then((n) => n.t);
1393
+ const { registerSignalReactionTargetsForDeliveredPayload } = await import("./reaction-targets-BgPLDHBf.mjs").then((n) => n.t);
1265
1394
  await registerSignalReactionTargetsForDeliveredPayload({
1266
1395
  cfg: params.cfg,
1267
1396
  target: {
@@ -1525,4 +1654,5 @@ const signalPlugin = createChatChannelPlugin({
1525
1654
  }
1526
1655
  }
1527
1656
  });
1528
- export { resolveSignalReactionLevel as _, normalizeSignalAccountInput as a, markdownToSignalTextChunks as b, signalNumberTextInput as c, probeSignalTransport as d, writeSignalAccountTransport as f, signalMessageActions as g, resolveSignalOutboundTarget as h, createSignalCliPathTextInput as i, signalSetupContract as l, materializeSignalPresentationFallback as m, createSignalPluginBase as n, signalCompletionNote as o, registerSignalReplyContext as p, signalSetupWizard as r, signalDmPolicy as s, signalPlugin as t, prepareSignalManagedNativeTransport as u, formatSignalMediaText as v, isSignalNativeApprovalHandlerConfigured as x, markdownToSignalText as y };
1657
+ //#endregion
1658
+ export { markdownToSignalTextChunks as C, markdownToSignalText as S, materializeSignalPresentationFallback as _, formatSignalDaemonDroppedEnvNotice as a, resolveSignalReactionLevel as b, normalizeSignalAccountInput as c, signalNumberTextInput as d, signalSetupContract as f, registerSignalReplyContext as g, writeSignalAccountTransport as h, buildSignalDaemonEnv as i, signalCompletionNote as l, probeSignalTransport as m, createSignalPluginBase as n, listSignalDaemonDroppedEnvHints as o, prepareSignalManagedNativeTransport as p, signalSetupWizard as r, createSignalCliPathTextInput as s, signalPlugin as t, signalDmPolicy as u, resolveSignalOutboundTarget as v, isSignalNativeApprovalHandlerConfigured as w, formatSignalMediaText as x, signalMessageActions as y };
@@ -18,10 +18,11 @@ import { execFile } from "node:child_process";
18
18
  import { lstat, mkdir, rmdir, unlink } from "node:fs/promises";
19
19
  import os from "node:os";
20
20
  import { promisify } from "node:util";
21
- // extensions/signal/src/ws-runtime.ts
21
+ //#region extensions/signal/src/ws-runtime.ts
22
22
  const require = createRequire(import.meta.url);
23
23
  const WebSocket = require(path.join(path.dirname(require.resolve("ws/package.json")), "index.js"));
24
- // extensions/signal/src/client-container.ts
24
+ //#endregion
25
+ //#region extensions/signal/src/client-container.ts
25
26
  const DEFAULT_TIMEOUT_MS$2 = 1e4;
26
27
  const DEFAULT_ATTACHMENT_RESPONSE_MAX_BYTES = 1048576;
27
28
  const SIGNAL_REST_ERROR_RESPONSE_MAX_BYTES = 16384;
@@ -527,7 +528,8 @@ async function containerRpcRequest(method, params, opts) {
527
528
  default: throw new Error(`Unsupported container RPC method: ${method}`);
528
529
  }
529
530
  }
530
- // extensions/signal/src/quote-rejection.ts
531
+ //#endregion
532
+ //#region extensions/signal/src/quote-rejection.ts
531
533
  function isSignalQuoteMetadataRejection(error) {
532
534
  const message = error instanceof Error ? error.message : String(error);
533
535
  const normalized = normalizeLowercaseStringOrEmpty(message);
@@ -543,7 +545,8 @@ function isSignalQuoteMetadataRejection(error) {
543
545
  if (!normalized.includes("quote")) return false;
544
546
  return normalized.includes("reject") || normalized.includes("invalid") || normalized.includes("unrecognized") || normalized.includes("unsupported") || normalized.includes("not found") || normalized.includes("no such") || normalized.includes("unknown");
545
547
  }
546
- // extensions/signal/src/socket-path.ts
548
+ //#endregion
549
+ //#region extensions/signal/src/socket-path.ts
547
550
  const execFileAsync = promisify(execFile);
548
551
  function socketOwner(socketPath) {
549
552
  if (process.platform === "win32" || !process.getuid) throw new Error("Signal UNIX socket transport requires a POSIX host");
@@ -656,7 +659,8 @@ async function prepareSignalSocketPath(socketPath, abortSignal) {
656
659
  throw error;
657
660
  }
658
661
  }
659
- // extensions/signal/src/client-unix.ts
662
+ //#endregion
663
+ //#region extensions/signal/src/client-unix.ts
660
664
  const MAX_FRAME_BYTES = 1048576;
661
665
  const DEFAULT_TIMEOUT_MS$1 = 1e4;
662
666
  function socketPath(baseUrl) {
@@ -791,7 +795,8 @@ async function streamSignalUnixEvents(params) {
791
795
  connection.close();
792
796
  }
793
797
  }
794
- // extensions/signal/src/client.ts
798
+ //#endregion
799
+ //#region extensions/signal/src/client.ts
795
800
  /** Thrown when the native SSE endpoint rejects the request with a non-2xx HTTP status. */
796
801
  var SignalSseRejectionError = class extends Error {
797
802
  constructor(status, statusText) {
@@ -1099,4 +1104,5 @@ async function streamSignalEvents(params) {
1099
1104
  }
1100
1105
  await flushEvent();
1101
1106
  }
1107
+ //#endregion
1102
1108
  export { prepareSignalSocketPath as a, containerRpcRequest as c, streamSignalEvents as i, streamContainerEvents as l, signalCheck as n, isSignalQuoteMetadataRejection as o, signalRpcRequest as r, containerCheck as s, SignalSseRejectionError as t };
@@ -1,6 +1,6 @@
1
- import { c as containerRpcRequest, i as streamSignalEvents$1, l as streamContainerEvents, n as signalCheck$1, r as signalRpcRequest$1, s as containerCheck } from "./client-CRClyTxP.mjs";
1
+ import { c as containerRpcRequest, i as streamSignalEvents$1, l as streamContainerEvents, n as signalCheck$1, r as signalRpcRequest$1, s as containerCheck } from "./client-Duwqbgqi.mjs";
2
2
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
3
- // extensions/signal/src/client-adapter.ts
3
+ //#region extensions/signal/src/client-adapter.ts
4
4
  const DEFAULT_TIMEOUT_MS = 1e4;
5
5
  async function signalRpcRequest(method, params, opts) {
6
6
  return opts.transportKind === "container" ? containerRpcRequest(method, params, opts) : signalRpcRequest$1(method, params, opts);
@@ -26,4 +26,5 @@ async function streamSignalEvents(params) {
26
26
  });
27
27
  return streamSignalEvents$1(params);
28
28
  }
29
+ //#endregion
29
30
  export { signalRpcRequest as n, streamSignalEvents as r, signalCheck as t };
@@ -1,11 +1,11 @@
1
- import { o as resolveSignalAccountEntry, t as assertSignalSocketTransport } from "./transport-url-BptucYNV.mjs";
2
- import { t as LEGACY_SIGNAL_TRANSPORT_FIELDS } from "./legacy-transport-UHhcutJ4.mjs";
1
+ import { o as resolveSignalAccountEntry, t as assertSignalSocketTransport } from "./transport-url-CAC0JcuI.mjs";
2
+ import { t as LEGACY_SIGNAL_TRANSPORT_FIELDS } from "./legacy-transport-QIpaMNST.mjs";
3
3
  import { createChannelConfigUiHints } from "openclaw/plugin-sdk/channel-core";
4
4
  import { isRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
5
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
6
6
  import { ChannelDeliveryStreamingConfigSchema, ChannelSendReadReceiptsSchema, ExecutableTokenSchema, ReplyToModeSchema, buildChannelAccountSchemaParts, buildChannelConfigSchema, buildChannelReactionShape, buildGroupEntrySchema, refineChannelDmPolicy } from "openclaw/plugin-sdk/channel-config-schema";
7
7
  import { z } from "zod";
8
- // extensions/signal/src/config-ui-hints.ts
8
+ //#region extensions/signal/src/config-ui-hints.ts
9
9
  const signalChannelConfigUiHints = {
10
10
  "": {
11
11
  label: "Signal",
@@ -51,7 +51,8 @@ const signalChannelConfigUiHints = {
51
51
  help: "Base URL for an external-native or container transport, or the connection endpoint for a managed-native daemon when it differs from the bind address."
52
52
  }
53
53
  };
54
- // extensions/signal/src/config-schema.ts
54
+ //#endregion
55
+ //#region extensions/signal/src/config-schema.ts
55
56
  const SIGNAL_RETIRED_TRANSPORT_KEYS = ["apiMode", ...LEGACY_SIGNAL_TRANSPORT_FIELDS];
56
57
  const SignalTransportUrlSchema = z.string().url().regex(/^[Hh][Tt][Tt][Pp][Ss]?:\/\/(?![^/?#]*@)/, "Expected http:// or https:// URL without embedded credentials");
57
58
  function projectSignalConfigForUpdateValidation(value) {
@@ -194,4 +195,5 @@ const CanonicalSignalConfigSchema = SignalConfigSchemaBase.superRefine((value, c
194
195
  });
195
196
  const SignalConfigSchema = z.preprocess(projectSignalConfigForUpdateValidation, CanonicalSignalConfigSchema);
196
197
  const SignalChannelConfigSchema = buildChannelConfigSchema(SignalConfigSchema, { uiHints: signalChannelConfigUiHints });
198
+ //#endregion
197
199
  export { SignalChannelConfigSchema as t };