@openclaw/signal 2026.11.1 → 2026.11.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.setup/{accounts-BZXLLXyZ.mjs → accounts-B0Pba1-q.mjs} +4 -3
- package/dist/.setup/api-DrgONWGQ.mjs +16 -0
- package/dist/.setup/{api-COBPAXbQ.mjs → api-t0JU264u.mjs} +11 -11
- package/dist/.setup/{approval-auth-BC9o4yna.mjs → approval-auth-DhUKkSkA.mjs} +7 -5
- package/dist/.setup/{approval-handler.runtime-Dzb_QGFk.mjs → approval-handler.runtime-YumoxyLn.mjs} +7 -6
- package/dist/.setup/{approval-reactions-Drpy356L.mjs → approval-reactions-JsqCEOHK.mjs} +9 -7
- package/dist/.setup/{channel-Cd52DrmN.mjs → channel-vYLPpt2W.mjs} +49 -35
- package/dist/.setup/{client-CRClyTxP.mjs → client-Duwqbgqi.mjs} +12 -6
- package/dist/.setup/{client-adapter-CNEkF_Ej.mjs → client-adapter-Chnbch_z.mjs} +3 -2
- package/dist/.setup/{config-schema-WrMl4uyV.mjs → config-schema-DvxZ18SD.mjs} +6 -4
- package/dist/.setup/{doctor-contract-api-BXWnMqDt.mjs → doctor-contract-api-BIdVW0PF.mjs} +19 -11
- package/dist/.setup/{identity-DzXre34N.mjs → identity-B3JyPqGO.mjs} +4 -2
- package/dist/.setup/{install-signal-cli-BjCk7EXq.mjs → install-signal-cli-hYVLYGXe.mjs} +2 -1
- package/dist/.setup/{legacy-transport-UHhcutJ4.mjs → legacy-transport-QIpaMNST.mjs} +2 -1
- package/dist/.setup/{monitor-C1qvr_Kl.mjs → monitor-BT1RzFIB.mjs} +37 -25
- package/dist/.setup/{normalize-B_3XS5ez.mjs → normalize-D7kSomXt.mjs} +2 -1
- package/dist/.setup/{probe-BYl1haPH.mjs → probe-D_93QCe0.mjs} +5 -4
- package/dist/.setup/{reaction-runtime-api-D7bhF81u.mjs → reaction-runtime-api-mdO4k0yv.mjs} +6 -5
- package/dist/.setup/{reaction-targets-Bg9NSMJF.mjs → reaction-targets-BgPLDHBf.mjs} +7 -5
- package/dist/.setup/{rpc-context-DmtN26AB.mjs → rpc-context-BAXcX7dI.mjs} +2 -1
- package/dist/.setup/{runtime-B_1v-nzc.mjs → runtime-8sxUF217.mjs} +2 -1
- package/dist/.setup/{send-BZd_WrI_.mjs → send-DBKOqLo-.mjs} +9 -8
- package/dist/.setup/{setup-surface-D5p9z7MO.mjs → setup-surface-D9sJZp9A.mjs} +5 -4
- package/dist/.setup/{transport-detection-oXau8_7D.mjs → transport-detection-CmlgOybe.mjs} +5 -4
- package/dist/.setup/{transport-policy-BvaaxIjp.mjs → transport-policy-B6C_LogW.mjs} +3 -2
- package/dist/.setup/transport-probes.runtime-D-xIMRcn.mjs +2 -0
- package/dist/.setup/{transport-url-BptucYNV.mjs → transport-url-CAC0JcuI.mjs} +4 -2
- package/dist/api.js +11 -11
- package/dist/channel-config-api.js +2 -1
- package/dist/channel-entry.js +2 -1
- package/dist/channel-plugin-api.js +2 -1
- package/dist/contract-api.js +3 -3
- package/dist/doctor-contract-api.js +2 -1
- package/dist/index.js +2 -1
- package/dist/reaction-runtime-api.js +2 -1
- package/dist/runtime-api.js +2 -1
- package/dist/secret-contract-api.js +2 -1
- package/dist/setup-entry.js +3 -2
- package/package.json +4 -4
- package/dist/.setup/api-Bw9wRi7s.mjs +0 -15
- package/dist/.setup/transport-probes.runtime-Ca_Rb1P2.mjs +0 -1
- 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-
|
|
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-
|
|
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
|
-
|
|
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 { l as signalSetupContract, n as createSignalPluginBase, r as signalSetupWizard } from "./channel-vYLPpt2W.mjs";
|
|
5
|
+
import "./reaction-runtime-api-mdO4k0yv.mjs";
|
|
6
|
+
import "./install-signal-cli-hYVLYGXe.mjs";
|
|
7
|
+
import "./monitor-BT1RzFIB.mjs";
|
|
8
|
+
import "./send-DBKOqLo-.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-
|
|
2
|
-
import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-
|
|
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-
|
|
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-
|
|
5
|
-
import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-
|
|
6
|
-
import { t as detectSignalTransport } from "./transport-detection-
|
|
7
|
-
import { t as signalSetupPlugin } from "./api-
|
|
8
|
-
import { r as installSignalCli } from "./install-signal-cli-
|
|
9
|
-
import { t as monitorSignalProvider } from "./monitor-
|
|
10
|
-
import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-
|
|
11
|
-
import { t as probeSignal } from "./probe-
|
|
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 { _ 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";
|
|
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-DrgONWGQ.mjs";
|
|
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";
|
|
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-
|
|
2
|
-
import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-
|
|
3
|
-
import { l as looksLikeUuid } from "./identity-
|
|
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
|
-
|
|
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
|
-
|
|
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 };
|
package/dist/.setup/{approval-handler.runtime-Dzb_QGFk.mjs → approval-handler.runtime-YumoxyLn.mjs}
RENAMED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { r as resolveDefaultSignalAccountId } from "./accounts-
|
|
2
|
-
import { n as normalizeSignalMessagingTarget } from "./normalize-
|
|
3
|
-
import { a as resolveSignalTarget } from "./approval-auth-
|
|
4
|
-
import { a as registerSignalApprovalReactionTarget, c as resolveSignalApprovalTargetAuthorKeys, l as unregisterSignalApprovalReactionTarget, r as hasSignalApprovalReactionApprovers, s as resolveSignalApprovalConversationKey } from "./approval-reactions-
|
|
5
|
-
import { r as sendTypingSignal, t as sendMessageSignal } from "./send-
|
|
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-DBKOqLo-.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
|
-
|
|
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-
|
|
2
|
-
import { n as normalizeSignalMessagingTarget } from "./normalize-
|
|
3
|
-
import { a as resolveSignalTarget, i as resolveSignalDeliveredConversationKey, n as signalApprovalAuth, t as getSignalApprovalApprovers } from "./approval-auth-
|
|
4
|
-
import { l as looksLikeUuid } from "./identity-
|
|
5
|
-
import { t as getOptionalSignalRuntime } from "./runtime-
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
2
|
-
import { a as normalizeSignalTransportUrl, i as normalizeSignalTransportHost, o as resolveSignalAccountEntry, s as resolveSignalAccountKey, t as assertSignalSocketTransport } from "./transport-url-
|
|
3
|
-
import { a as isSignalManagedNativeConnectionUrlForBind, c as resolveLocalSignalTransportPort, i as assignSignalManagedNativePort, o as isValidSignalManagedNativePort, r as allocateSignalManagedNativePort, s as reserveSignalTransportPorts } from "./transport-policy-
|
|
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-
|
|
5
|
-
import { n as normalizeSignalMessagingTarget, r as normalizeSignalReactionRecipient, t as looksLikeSignalTargetId } from "./normalize-
|
|
6
|
-
import { a as resolveSignalTarget, n as signalApprovalAuth, r as listSignalAliasDirectoryEntries, t as getSignalApprovalApprovers } from "./approval-auth-
|
|
7
|
-
import { c as resolveSignalSender, l as looksLikeUuid, o as resolveSignalPeerId, s as resolveSignalRecipient } from "./identity-
|
|
8
|
-
import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-
|
|
9
|
-
import { t as getOptionalSignalRuntime } from "./runtime-
|
|
10
|
-
import { t as detectSignalTransport } from "./transport-detection-
|
|
11
|
-
import { t as SignalChannelConfigSchema } from "./config-schema-
|
|
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
|
-
|
|
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-
|
|
105
|
+
load: async () => (await import("./approval-handler.runtime-YumoxyLn.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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
391
|
+
//#endregion
|
|
392
|
+
//#region extensions/signal/src/reply-authors-state.ts
|
|
386
393
|
const signalReplyAuthorState = { memoryReplyContexts: /* @__PURE__ */ new Map() };
|
|
387
|
-
|
|
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
|
-
|
|
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-
|
|
643
|
-
return (params.probeNative ?? (await import("./transport-probes.runtime-
|
|
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
|
-
|
|
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,12 @@ function createSignalSetupWizardProxy(loadWizard) {
|
|
|
977
987
|
disable: (cfg) => setSetupChannelEnabled$1(cfg, channel, false)
|
|
978
988
|
});
|
|
979
989
|
}
|
|
980
|
-
|
|
990
|
+
//#endregion
|
|
991
|
+
//#region extensions/signal/src/doctor.ts
|
|
981
992
|
const signalDoctor = {
|
|
982
993
|
normalizeCompatibilityConfig,
|
|
983
994
|
cleanStaleConfig: async ({ cfg }) => {
|
|
984
|
-
const { detectSignalTransport } = await import("./transport-detection-
|
|
995
|
+
const { detectSignalTransport } = await import("./transport-detection-CmlgOybe.mjs").then((n) => n.n);
|
|
985
996
|
const transport = await migrateLegacySignalTransportConfig({
|
|
986
997
|
cfg,
|
|
987
998
|
detect: detectSignalTransport
|
|
@@ -992,9 +1003,10 @@ const signalDoctor = {
|
|
|
992
1003
|
};
|
|
993
1004
|
}
|
|
994
1005
|
};
|
|
995
|
-
|
|
1006
|
+
//#endregion
|
|
1007
|
+
//#region extensions/signal/src/shared.ts
|
|
996
1008
|
const SIGNAL_CHANNEL = "signal";
|
|
997
|
-
const signalSetupWizard = createSignalSetupWizardProxy(async () => (await import("./setup-surface-
|
|
1009
|
+
const signalSetupWizard = createSignalSetupWizardProxy(async () => (await import("./setup-surface-D9sJZp9A.mjs")).signalSetupWizard);
|
|
998
1010
|
const signalConfigAdapter = {
|
|
999
1011
|
...createScopedChannelConfigAdapter({
|
|
1000
1012
|
sectionKey: SIGNAL_CHANNEL,
|
|
@@ -1077,11 +1089,12 @@ function createSignalPluginBase(params) {
|
|
|
1077
1089
|
messaging: { defaultMarkdownTableMode: "bullets" }
|
|
1078
1090
|
};
|
|
1079
1091
|
}
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
const
|
|
1083
|
-
const
|
|
1084
|
-
const
|
|
1092
|
+
//#endregion
|
|
1093
|
+
//#region extensions/signal/src/channel.ts
|
|
1094
|
+
const loadSignalMonitorModule = createLazyRuntimeModule(() => import("./monitor-BT1RzFIB.mjs").then((n) => n.n));
|
|
1095
|
+
const loadSignalProbeModule = createLazyRuntimeModule(() => import("./probe-D_93QCe0.mjs").then((n) => n.n));
|
|
1096
|
+
const loadSignalSendRuntime = createLazyRuntimeModule(() => import("./send-DBKOqLo-.mjs").then((n) => n.i));
|
|
1097
|
+
const loadSignalApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-JsqCEOHK.mjs").then((n) => n.n));
|
|
1085
1098
|
async function createSignalOutboundSender(params) {
|
|
1086
1099
|
const send = resolveOutboundSendDep(params.deps, "signal") ?? (await loadSignalSendRuntime()).sendMessageSignal;
|
|
1087
1100
|
const maxBytes = resolveChannelMediaMaxBytes({
|
|
@@ -1261,7 +1274,7 @@ async function registerDeliveredSignalApprovalPayloadForReactions(params) {
|
|
|
1261
1274
|
const targetAuthor = normalizeOptionalString(account.config.account);
|
|
1262
1275
|
const targetAuthorUuid = normalizeOptionalString(account.config.accountUuid);
|
|
1263
1276
|
if (!targetAuthor && !targetAuthorUuid) return;
|
|
1264
|
-
const { registerSignalReactionTargetsForDeliveredPayload } = await import("./reaction-targets-
|
|
1277
|
+
const { registerSignalReactionTargetsForDeliveredPayload } = await import("./reaction-targets-BgPLDHBf.mjs").then((n) => n.t);
|
|
1265
1278
|
await registerSignalReactionTargetsForDeliveredPayload({
|
|
1266
1279
|
cfg: params.cfg,
|
|
1267
1280
|
target: {
|
|
@@ -1525,4 +1538,5 @@ const signalPlugin = createChatChannelPlugin({
|
|
|
1525
1538
|
}
|
|
1526
1539
|
}
|
|
1527
1540
|
});
|
|
1541
|
+
//#endregion
|
|
1528
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 };
|
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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-
|
|
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
|
-
|
|
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-
|
|
2
|
-
import { t as LEGACY_SIGNAL_TRANSPORT_FIELDS } from "./legacy-transport-
|
|
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
|
-
|
|
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
|
-
|
|
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 };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as normalizeSignalTransportUrl, r as buildSignalTransportHttpUrl, s as resolveSignalAccountKey, t as assertSignalSocketTransport } from "./transport-url-
|
|
2
|
-
import { a as isSignalManagedNativeConnectionUrlForBind, c as resolveLocalSignalTransportPort, i as assignSignalManagedNativePort, o as isValidSignalManagedNativePort, r as allocateSignalManagedNativePort } from "./transport-policy-
|
|
3
|
-
import { n as hasLegacySignalTransportFields, t as LEGACY_SIGNAL_TRANSPORT_FIELDS } from "./legacy-transport-
|
|
1
|
+
import { a as normalizeSignalTransportUrl, r as buildSignalTransportHttpUrl, s as resolveSignalAccountKey, t as assertSignalSocketTransport } from "./transport-url-CAC0JcuI.mjs";
|
|
2
|
+
import { a as isSignalManagedNativeConnectionUrlForBind, c as resolveLocalSignalTransportPort, i as assignSignalManagedNativePort, o as isValidSignalManagedNativePort, r as allocateSignalManagedNativePort } from "./transport-policy-B6C_LogW.mjs";
|
|
3
|
+
import { n as hasLegacySignalTransportFields, t as LEGACY_SIGNAL_TRANSPORT_FIELDS } from "./legacy-transport-QIpaMNST.mjs";
|
|
4
4
|
import "node:module";
|
|
5
5
|
import { isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
6
6
|
import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
|
|
7
|
-
|
|
7
|
+
//#region \0rolldown/runtime.js
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -29,7 +29,8 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
29
29
|
return to;
|
|
30
30
|
};
|
|
31
31
|
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
32
|
-
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region extensions/signal/src/config-compat.ts
|
|
33
34
|
const PENDING_LEGACY_TRANSPORT_WARNING = "- channels.signal: legacy auto transport is ambiguous while its endpoint is unavailable; bring the endpoint online and rerun openclaw doctor --fix, or replace the retired fields with an explicit account-owned transport in openclaw.json.";
|
|
34
35
|
const PENDING_LEGACY_INVALID_URL_WARNING = "- channels.signal: legacy httpUrl is invalid; keep the current config, correct httpUrl, then run openclaw doctor --fix.";
|
|
35
36
|
const PENDING_LEGACY_INVALID_HOST_WARNING = "- channels.signal: legacy httpHost is invalid; keep the current config, correct httpHost, then run openclaw doctor --fix.";
|
|
@@ -383,7 +384,8 @@ function migrateLegacySignalTransportConfigSync(cfg) {
|
|
|
383
384
|
});
|
|
384
385
|
}));
|
|
385
386
|
}
|
|
386
|
-
|
|
387
|
+
//#endregion
|
|
388
|
+
//#region packages/normalization-core/src/record-coerce.ts
|
|
387
389
|
/** Type guard for non-array object records at browser-safe boundaries. */
|
|
388
390
|
function isRecord$1(value) {
|
|
389
391
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
@@ -392,7 +394,8 @@ function isRecord$1(value) {
|
|
|
392
394
|
function asNullableRecord(value) {
|
|
393
395
|
return isRecord$1(value) ? value : null;
|
|
394
396
|
}
|
|
395
|
-
|
|
397
|
+
//#endregion
|
|
398
|
+
//#region src/config/channel-config-normalization.ts
|
|
396
399
|
/** Applies one channel-specific doctor migration to every object-shaped account. */
|
|
397
400
|
function normalizeChannelAccounts(params) {
|
|
398
401
|
const rawAccounts = asNullableRecord(params.entry.accounts);
|
|
@@ -468,7 +471,8 @@ function normalizeChannelConfigEntries(params) {
|
|
|
468
471
|
changes
|
|
469
472
|
};
|
|
470
473
|
}
|
|
471
|
-
|
|
474
|
+
//#endregion
|
|
475
|
+
//#region src/plugin-sdk/legacy-webhook-listener-migration.ts
|
|
472
476
|
/** Preserve explicitly configured webhook listeners while moving ingress onto Gateway routes. */
|
|
473
477
|
function createLegacyWebhookListenerDoctorContract(params) {
|
|
474
478
|
const portKey = params.portKey ?? "webhookPort";
|
|
@@ -538,11 +542,13 @@ function createLegacyWebhookListenerDoctorContract(params) {
|
|
|
538
542
|
}
|
|
539
543
|
};
|
|
540
544
|
}
|
|
541
|
-
|
|
545
|
+
//#endregion
|
|
546
|
+
//#region \0openclaw:bundled-sdk:openclaw/plugin-sdk/runtime-doctor-migrations
|
|
542
547
|
var runtime_doctor_migrations_exports = /* @__PURE__ */ __exportAll({ createLegacyWebhookListenerDoctorContract: () => createLegacyWebhookListenerDoctorContract });
|
|
543
548
|
import * as import_openclaw_plugin_sdk_runtime_doctor_migrations from "openclaw/plugin-sdk/runtime-doctor-migrations";
|
|
544
549
|
__reExport(runtime_doctor_migrations_exports, import_openclaw_plugin_sdk_runtime_doctor_migrations);
|
|
545
|
-
|
|
550
|
+
//#endregion
|
|
551
|
+
//#region extensions/signal/src/account-key-repair.ts
|
|
546
552
|
function repairSignalAccountKeys({ cfg }) {
|
|
547
553
|
const signal = cfg.channels?.signal;
|
|
548
554
|
const accounts = signal?.accounts;
|
|
@@ -586,7 +592,8 @@ function repairSignalAccountKeys({ cfg }) {
|
|
|
586
592
|
warnings
|
|
587
593
|
};
|
|
588
594
|
}
|
|
589
|
-
|
|
595
|
+
//#endregion
|
|
596
|
+
//#region extensions/signal/config-doctor-api.ts
|
|
590
597
|
const streamingAliasMigration = (0, runtime_doctor_migrations_exports.defineChannelAliasMigration)({
|
|
591
598
|
channelId: "signal",
|
|
592
599
|
streaming: {
|
|
@@ -626,4 +633,5 @@ function normalizeCompatibilityConfig({ cfg }) {
|
|
|
626
633
|
...transport.warnings?.length ? { warnings: transport.warnings } : {}
|
|
627
634
|
};
|
|
628
635
|
}
|
|
636
|
+
//#endregion
|
|
629
637
|
export { migrateLegacySignalTransportConfig as a, clearLegacySignalTransportFieldsForAccount as i, normalizeCompatibilityConfig as n, __exportAll as o, repairSignalAccountKeys as r, legacyConfigRules as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { normalizeLowercaseStringOrEmpty } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
2
|
import { normalizeE164 } from "openclaw/plugin-sdk/text-utility-runtime";
|
|
3
3
|
import { resolveAllowlistMatchByCandidates } from "openclaw/plugin-sdk/allow-from";
|
|
4
|
-
|
|
4
|
+
//#region extensions/signal/src/uuid.ts
|
|
5
5
|
const UUID_HYPHENATED_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
6
6
|
const UUID_COMPACT_RE = /^[0-9a-f]{32}$/i;
|
|
7
7
|
function looksLikeUuid(value) {
|
|
@@ -10,7 +10,8 @@ function looksLikeUuid(value) {
|
|
|
10
10
|
if (!/^[0-9a-f]+$/i.test(compact)) return false;
|
|
11
11
|
return /[a-f]/i.test(compact);
|
|
12
12
|
}
|
|
13
|
-
|
|
13
|
+
//#endregion
|
|
14
|
+
//#region extensions/signal/src/identity.ts
|
|
14
15
|
function stripSignalPrefix(value) {
|
|
15
16
|
return value.replace(/^signal:/i, "").trim();
|
|
16
17
|
}
|
|
@@ -92,4 +93,5 @@ function isSignalSenderAllowed(sender, allowFrom) {
|
|
|
92
93
|
}]
|
|
93
94
|
}).allowed;
|
|
94
95
|
}
|
|
96
|
+
//#endregion
|
|
95
97
|
export { normalizeSignalAllowRecipient as a, resolveSignalSender as c, isSignalSenderAllowed as i, looksLikeUuid as l, formatSignalSenderDisplay as n, resolveSignalPeerId as o, formatSignalSenderId as r, resolveSignalRecipient as s, formatSignalPairingIdLine as t };
|
|
@@ -10,7 +10,7 @@ import { readProviderJsonObjectResponse } from "openclaw/plugin-sdk/provider-htt
|
|
|
10
10
|
import { runPluginCommandWithTimeout } from "openclaw/plugin-sdk/run-command";
|
|
11
11
|
import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
|
|
12
12
|
import { withTempDownloadPath } from "openclaw/plugin-sdk/temp-path";
|
|
13
|
-
|
|
13
|
+
//#region extensions/signal/src/install-signal-cli.ts
|
|
14
14
|
const MAX_SIGNAL_CLI_ARCHIVE_BYTES = 268435456;
|
|
15
15
|
const MAX_SIGNAL_CLI_EXTRACTED_BYTES = 402653184;
|
|
16
16
|
const SIGNAL_CLI_DOWNLOAD_TIMEOUT_MS = 3e5;
|
|
@@ -232,4 +232,5 @@ async function installSignalCli(runtime) {
|
|
|
232
232
|
if (process.platform === "linux" && process.arch === "x64") return installSignalCliFromRelease(runtime);
|
|
233
233
|
return installSignalCliViaBrew(runtime);
|
|
234
234
|
}
|
|
235
|
+
//#endregion
|
|
235
236
|
export { installSignalCliFromRelease as i, extractSignalCliArchive as n, installSignalCli as r, downloadToFile as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isRecord } from "openclaw/plugin-sdk/string-coerce-runtime";
|
|
2
|
-
|
|
2
|
+
//#region extensions/signal/src/legacy-transport.ts
|
|
3
3
|
const LEGACY_SIGNAL_TRANSPORT_FIELDS = [
|
|
4
4
|
"configPath",
|
|
5
5
|
"httpUrl",
|
|
@@ -14,4 +14,5 @@ const LEGACY_SIGNAL_TRANSPORT_FIELDS = [
|
|
|
14
14
|
function hasLegacySignalTransportFields(value) {
|
|
15
15
|
return isRecord(value) && LEGACY_SIGNAL_TRANSPORT_FIELDS.some((field) => Object.hasOwn(value, field));
|
|
16
16
|
}
|
|
17
|
+
//#endregion
|
|
17
18
|
export { hasLegacySignalTransportFields as n, LEGACY_SIGNAL_TRANSPORT_FIELDS as t };
|