@openclaw/signal 2026.11.2 → 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.
@@ -1,11 +1,11 @@
1
1
  import "./accounts-B0Pba1-q.mjs";
2
2
  import "./normalize-D7kSomXt.mjs";
3
3
  import "./identity-B3JyPqGO.mjs";
4
- import { l as signalSetupContract, n as createSignalPluginBase, r as signalSetupWizard } from "./channel-vYLPpt2W.mjs";
4
+ import { f as signalSetupContract, n as createSignalPluginBase, r as signalSetupWizard } from "./channel-CM-rLLPN.mjs";
5
5
  import "./reaction-runtime-api-mdO4k0yv.mjs";
6
6
  import "./install-signal-cli-hYVLYGXe.mjs";
7
- import "./monitor-BT1RzFIB.mjs";
8
- import "./send-DBKOqLo-.mjs";
7
+ import "./monitor-C6u1JV2C.mjs";
8
+ import "./send-CM7-016e.mjs";
9
9
  import "./probe-D_93QCe0.mjs";
10
10
  //#region extensions/signal/src/channel.setup.ts
11
11
  const signalSetupPlugin = createSignalPluginBase({
@@ -1,12 +1,12 @@
1
1
  import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./accounts-B0Pba1-q.mjs";
2
2
  import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-D7kSomXt.mjs";
3
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 { _ 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-vYLPpt2W.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
5
  import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-mdO4k0yv.mjs";
6
6
  import { t as detectSignalTransport } from "./transport-detection-CmlgOybe.mjs";
7
- import { t as signalSetupPlugin } from "./api-DrgONWGQ.mjs";
7
+ import { t as signalSetupPlugin } from "./api-CJBtD3lT.mjs";
8
8
  import { r as installSignalCli } from "./install-signal-cli-hYVLYGXe.mjs";
9
- import { t as monitorSignalProvider } from "./monitor-BT1RzFIB.mjs";
10
- import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-DBKOqLo-.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
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 };
@@ -2,7 +2,7 @@ import { r as resolveDefaultSignalAccountId } from "./accounts-B0Pba1-q.mjs";
2
2
  import { n as normalizeSignalMessagingTarget } from "./normalize-D7kSomXt.mjs";
3
3
  import { a as resolveSignalTarget } from "./approval-auth-DhUKkSkA.mjs";
4
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-DBKOqLo-.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";
@@ -102,7 +102,7 @@ const signalApproval = createApproverRestrictedNativeApprovalCapabilityFromForwa
102
102
  approvalKind,
103
103
  request
104
104
  }),
105
- load: async () => (await import("./approval-handler.runtime-YumoxyLn.mjs")).signalApprovalNativeRuntime
105
+ load: async () => (await import("./approval-handler.runtime-CsEcBZoc.mjs")).signalApprovalNativeRuntime
106
106
  })
107
107
  });
108
108
  const signalApprovalRouting = signalApproval.routing;
@@ -988,9 +988,125 @@ function createSignalSetupWizardProxy(loadWizard) {
988
988
  });
989
989
  }
990
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
991
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
+ }
992
1104
  const signalDoctor = {
993
1105
  normalizeCompatibilityConfig,
1106
+ runConfigSequence: ({ cfg, env }) => collectSignalDaemonEnvNotes({
1107
+ cfg,
1108
+ env
1109
+ }),
994
1110
  cleanStaleConfig: async ({ cfg }) => {
995
1111
  const { detectSignalTransport } = await import("./transport-detection-CmlgOybe.mjs").then((n) => n.n);
996
1112
  const transport = await migrateLegacySignalTransportConfig({
@@ -1006,7 +1122,7 @@ const signalDoctor = {
1006
1122
  //#endregion
1007
1123
  //#region extensions/signal/src/shared.ts
1008
1124
  const SIGNAL_CHANNEL = "signal";
1009
- const signalSetupWizard = createSignalSetupWizardProxy(async () => (await import("./setup-surface-D9sJZp9A.mjs")).signalSetupWizard);
1125
+ const signalSetupWizard = createSignalSetupWizardProxy(async () => (await import("./setup-surface-DvKLwYrl.mjs")).signalSetupWizard);
1010
1126
  const signalConfigAdapter = {
1011
1127
  ...createScopedChannelConfigAdapter({
1012
1128
  sectionKey: SIGNAL_CHANNEL,
@@ -1091,9 +1207,9 @@ function createSignalPluginBase(params) {
1091
1207
  }
1092
1208
  //#endregion
1093
1209
  //#region extensions/signal/src/channel.ts
1094
- const loadSignalMonitorModule = createLazyRuntimeModule(() => import("./monitor-BT1RzFIB.mjs").then((n) => n.n));
1210
+ const loadSignalMonitorModule = createLazyRuntimeModule(() => import("./monitor-C6u1JV2C.mjs").then((n) => n.n));
1095
1211
  const loadSignalProbeModule = createLazyRuntimeModule(() => import("./probe-D_93QCe0.mjs").then((n) => n.n));
1096
- const loadSignalSendRuntime = createLazyRuntimeModule(() => import("./send-DBKOqLo-.mjs").then((n) => n.i));
1212
+ const loadSignalSendRuntime = createLazyRuntimeModule(() => import("./send-CM7-016e.mjs").then((n) => n.i));
1097
1213
  const loadSignalApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-JsqCEOHK.mjs").then((n) => n.n));
1098
1214
  async function createSignalOutboundSender(params) {
1099
1215
  const send = resolveOutboundSendDep(params.deps, "signal") ?? (await loadSignalSendRuntime()).sendMessageSignal;
@@ -1539,4 +1655,4 @@ const signalPlugin = createChatChannelPlugin({
1539
1655
  }
1540
1656
  });
1541
1657
  //#endregion
1542
- 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 };
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 };
@@ -3,14 +3,14 @@ import { i as normalizeSignalTransportHost } from "./transport-url-CAC0JcuI.mjs"
3
3
  import { i as resolveSignalAccount, o as resolveSignalReplyToMode } from "./accounts-B0Pba1-q.mjs";
4
4
  import { n as normalizeSignalMessagingTarget } from "./normalize-D7kSomXt.mjs";
5
5
  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";
6
- import { _ as resolveSignalReactionLevel, m as materializeSignalPresentationFallback, p as registerSignalReplyContext, v as formatSignalMediaText, x as isSignalNativeApprovalHandlerConfigured } from "./channel-vYLPpt2W.mjs";
6
+ import { _ as materializeSignalPresentationFallback, a as formatSignalDaemonDroppedEnvNotice, b as resolveSignalReactionLevel, g as registerSignalReplyContext, i as buildSignalDaemonEnv, o as listSignalDaemonDroppedEnvHints, w as isSignalNativeApprovalHandlerConfigured, x as formatSignalMediaText } from "./channel-CM-rLLPN.mjs";
7
7
  import { a as prepareSignalSocketPath, t as SignalSseRejectionError } from "./client-Duwqbgqi.mjs";
8
8
  import { n as signalRpcRequest, r as streamSignalEvents, t as signalCheck } from "./client-adapter-Chnbch_z.mjs";
9
9
  import { n as sendReactionSignal } from "./reaction-runtime-api-mdO4k0yv.mjs";
10
10
  import { n as getSignalRuntime, t as getOptionalSignalRuntime } from "./runtime-8sxUF217.mjs";
11
11
  import { i as maybeResolveSignalApprovalReaction, s as resolveSignalApprovalConversationKey, t as addSignalApprovalReactionHintToStructuredPayload } from "./approval-reactions-JsqCEOHK.mjs";
12
12
  import { n as registerSignalReactionTargetsForDeliveredPayload, r as maybeResolveSignalQuestionReaction } from "./reaction-targets-BgPLDHBf.mjs";
13
- import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-DBKOqLo-.mjs";
13
+ import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-CM7-016e.mjs";
14
14
  import { bindIngressLifecycleToReplyOptions, createChannelIngressError, createChannelIngressMonitor, createChannelMessageReplyPipeline, resolveChannelStreamingBlockEnabled } from "openclaw/plugin-sdk/channel-outbound";
15
15
  import { createChannelPairingChallengeIssuer } from "openclaw/plugin-sdk/channel-pairing";
16
16
  import { resolveAgentRoute, resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
@@ -28,7 +28,7 @@ import { registerChannelRuntimeContext } from "openclaw/plugin-sdk/channel-runti
28
28
  import { deliverTextOrMediaReply, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
29
29
  import { chunkTextWithMode, createReplyReferencePlanner, resolveChunkMode, resolveTextChunkLimit } from "openclaw/plugin-sdk/reply-runtime";
30
30
  import { captureRuntimeConfigAsyncReader, createRuntimeConfigReader } from "openclaw/plugin-sdk/runtime-config-snapshot";
31
- import { computeBackoff, createNonExitingRuntime, danger, logVerbose, shouldLogVerbose, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
31
+ import { computeBackoff, createNonExitingRuntime, createSubsystemLogger, danger, logVerbose, shouldLogVerbose, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
32
32
  import { resolveAllowlistProviderRuntimeGroupPolicy, resolveDefaultGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
33
33
  import { waitForTransportReady } from "openclaw/plugin-sdk/transport-ready-runtime";
34
34
  import { createInterface } from "node:readline";
@@ -48,6 +48,14 @@ import { resolveChannelContextVisibilityMode } from "openclaw/plugin-sdk/context
48
48
  import { channelBlockedPatch, channelReadyPatch } from "openclaw/plugin-sdk/gateway-runtime";
49
49
  //#region extensions/signal/src/daemon.ts
50
50
  const SIGNAL_DAEMON_STOP_KILL_TIMEOUT_MS = 1500;
51
+ let droppedEnvNoticeEmitted = false;
52
+ function warnSignalDaemonDroppedEnvOnce() {
53
+ if (droppedEnvNoticeEmitted) return;
54
+ const names = listSignalDaemonDroppedEnvHints();
55
+ if (names.length === 0) return;
56
+ droppedEnvNoticeEmitted = true;
57
+ createSubsystemLogger("signal/daemon").warn(formatSignalDaemonDroppedEnvNotice(names));
58
+ }
51
59
  function formatSignalDaemonExit(exit) {
52
60
  return `signal daemon exited (source=${exit.source} code=${exit.code ?? "null"} signal=${exit.signal ?? "null"})`;
53
61
  }
@@ -140,11 +148,15 @@ function buildDaemonArgs(opts) {
140
148
  }
141
149
  function spawnSignalDaemon(opts) {
142
150
  const args = buildDaemonArgs(opts);
143
- const child = spawnOomScoreAdjusted(opts.cliPath, args, { stdio: [
144
- "ignore",
145
- "pipe",
146
- "pipe"
147
- ] });
151
+ warnSignalDaemonDroppedEnvOnce();
152
+ const child = spawnOomScoreAdjusted(opts.cliPath, args, {
153
+ env: buildSignalDaemonEnv(),
154
+ stdio: [
155
+ "ignore",
156
+ "pipe",
157
+ "pipe"
158
+ ]
159
+ });
148
160
  const log = opts.runtime?.log ?? (() => {});
149
161
  const error = opts.runtime?.error ?? (() => {});
150
162
  let exited = false;
@@ -1,7 +1,7 @@
1
1
  import { o as __exportAll } from "./doctor-contract-api-BIdVW0PF.mjs";
2
2
  import { i as resolveSignalAccount } from "./accounts-B0Pba1-q.mjs";
3
3
  import { n as normalizeSignalMessagingTarget } from "./normalize-D7kSomXt.mjs";
4
- import { p as registerSignalReplyContext, y as markdownToSignalText } from "./channel-vYLPpt2W.mjs";
4
+ import { S as markdownToSignalText, g as registerSignalReplyContext } from "./channel-CM-rLLPN.mjs";
5
5
  import { o as isSignalQuoteMetadataRejection } from "./client-Duwqbgqi.mjs";
6
6
  import { n as signalRpcRequest } from "./client-adapter-Chnbch_z.mjs";
7
7
  import { t as resolveSignalRpcContext } from "./rpc-context-BAXcX7dI.mjs";
@@ -1,5 +1,5 @@
1
1
  import { i as resolveSignalAccount, n as listSignalAccountIds } from "./accounts-B0Pba1-q.mjs";
2
- import { c as signalNumberTextInput, i as createSignalCliPathTextInput, o as signalCompletionNote, s as signalDmPolicy } from "./channel-vYLPpt2W.mjs";
2
+ import { d as signalNumberTextInput, l as signalCompletionNote, s as createSignalCliPathTextInput, u as signalDmPolicy } from "./channel-CM-rLLPN.mjs";
3
3
  import { r as installSignalCli } from "./install-signal-cli-hYVLYGXe.mjs";
4
4
  import { createDetectedBinaryStatus, createSetupTranslator, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup";
5
5
  import { detectBinary } from "openclaw/plugin-sdk/setup-tools";
package/dist/api.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./.setup/accounts-B0Pba1-q.mjs";
2
2
  import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./.setup/normalize-D7kSomXt.mjs";
3
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 "./.setup/identity-B3JyPqGO.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 "./.setup/channel-vYLPpt2W.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 "./.setup/channel-CM-rLLPN.mjs";
5
5
  import { n as sendReactionSignal, t as removeReactionSignal } from "./.setup/reaction-runtime-api-mdO4k0yv.mjs";
6
6
  import { t as detectSignalTransport } from "./.setup/transport-detection-CmlgOybe.mjs";
7
- import { t as signalSetupPlugin } from "./.setup/api-DrgONWGQ.mjs";
7
+ import { t as signalSetupPlugin } from "./.setup/api-CJBtD3lT.mjs";
8
8
  import { r as installSignalCli } from "./.setup/install-signal-cli-hYVLYGXe.mjs";
9
- import { t as monitorSignalProvider } from "./.setup/monitor-BT1RzFIB.mjs";
10
- import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./.setup/send-DBKOqLo-.mjs";
9
+ import { t as monitorSignalProvider } from "./.setup/monitor-C6u1JV2C.mjs";
10
+ import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./.setup/send-CM7-016e.mjs";
11
11
  import { t as probeSignal } from "./.setup/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,2 +1,2 @@
1
- import { t as signalPlugin } from "./.setup/channel-vYLPpt2W.mjs";
1
+ import { t as signalPlugin } from "./.setup/channel-CM-rLLPN.mjs";
2
2
  export { signalPlugin };
@@ -4,7 +4,7 @@ import { fileURLToPath } from "node:url";
4
4
  var setup_entry_default = defineBundledChannelSetupEntry({
5
5
  importMetaUrl: import.meta.url,
6
6
  plugin: {
7
- specifier: fileURLToPath(new URL(".setup/api-t0JU264u.mjs", import.meta.url).href),
7
+ specifier: fileURLToPath(new URL(".setup/api-CbN3mye4.mjs", import.meta.url).href),
8
8
  exportName: "signalSetupPlugin"
9
9
  }
10
10
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/signal",
3
- "version": "2026.11.2",
3
+ "version": "2026.11.3",
4
4
  "description": "OpenClaw Signal channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -94,10 +94,10 @@
94
94
  "allowInvalidConfigRecovery": true
95
95
  },
96
96
  "compat": {
97
- "pluginApi": ">=2026.11.2"
97
+ "pluginApi": ">=2026.11.3"
98
98
  },
99
99
  "build": {
100
- "openclawVersion": "2026.11.2",
100
+ "openclawVersion": "2026.11.3",
101
101
  "bundledDist": false
102
102
  },
103
103
  "release": {
@@ -121,7 +121,7 @@
121
121
  "assets/activity.svg"
122
122
  ],
123
123
  "peerDependencies": {
124
- "openclaw": ">=2026.11.2"
124
+ "openclaw": ">=2026.11.3"
125
125
  },
126
126
  "peerDependenciesMeta": {
127
127
  "openclaw": {