@openclaw/signal 2026.10.10-beta.5 → 2026.10.10
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-B0Pba1-q.mjs → accounts-BZXLLXyZ.mjs} +3 -4
- package/dist/.setup/api-Bw9wRi7s.mjs +15 -0
- package/dist/.setup/{api-BHXpv8bC.mjs → api-COBPAXbQ.mjs} +11 -11
- package/dist/.setup/{approval-auth-DhUKkSkA.mjs → approval-auth-BC9o4yna.mjs} +5 -7
- package/dist/.setup/{approval-handler.runtime-CIlWxTNT.mjs → approval-handler.runtime-Dzb_QGFk.mjs} +6 -7
- package/dist/.setup/{approval-reactions-JsqCEOHK.mjs → approval-reactions-Drpy356L.mjs} +7 -9
- package/dist/.setup/{channel-C4YP-iOa.mjs → channel-Cd52DrmN.mjs} +35 -49
- package/dist/.setup/{client-Duwqbgqi.mjs → client-CRClyTxP.mjs} +6 -12
- package/dist/.setup/{client-adapter-Chnbch_z.mjs → client-adapter-CNEkF_Ej.mjs} +2 -3
- package/dist/.setup/{config-schema-DvxZ18SD.mjs → config-schema-WrMl4uyV.mjs} +4 -6
- package/dist/.setup/{doctor-contract-api-BIdVW0PF.mjs → doctor-contract-api-BXWnMqDt.mjs} +11 -19
- package/dist/.setup/{identity-B3JyPqGO.mjs → identity-DzXre34N.mjs} +2 -4
- package/dist/.setup/{install-signal-cli-hYVLYGXe.mjs → install-signal-cli-BjCk7EXq.mjs} +1 -2
- package/dist/.setup/{legacy-transport-QIpaMNST.mjs → legacy-transport-UHhcutJ4.mjs} +1 -2
- package/dist/.setup/{monitor-Bcm2OOFg.mjs → monitor-C1qvr_Kl.mjs} +25 -37
- package/dist/.setup/{normalize-D7kSomXt.mjs → normalize-B_3XS5ez.mjs} +1 -2
- package/dist/.setup/{probe-CvYdLBHM.mjs → probe-BYl1haPH.mjs} +4 -5
- package/dist/.setup/{reaction-runtime-api-mdO4k0yv.mjs → reaction-runtime-api-D7bhF81u.mjs} +5 -6
- package/dist/.setup/{reaction-targets-BgPLDHBf.mjs → reaction-targets-Bg9NSMJF.mjs} +5 -7
- package/dist/.setup/{rpc-context-BAXcX7dI.mjs → rpc-context-DmtN26AB.mjs} +1 -2
- package/dist/.setup/{runtime-8sxUF217.mjs → runtime-B_1v-nzc.mjs} +1 -2
- package/dist/.setup/{send-D7xNkuet.mjs → send-BZd_WrI_.mjs} +8 -9
- package/dist/.setup/{setup-surface-CyBM13p_.mjs → setup-surface-D5p9z7MO.mjs} +4 -5
- package/dist/.setup/{transport-detection-SO-gF_og.mjs → transport-detection-oXau8_7D.mjs} +4 -5
- package/dist/.setup/{transport-policy-B6C_LogW.mjs → transport-policy-BvaaxIjp.mjs} +2 -3
- package/dist/.setup/{transport-probes.runtime-D5HTmtuk.mjs → transport-probes.runtime-Ca_Rb1P2.mjs} +1 -1
- package/dist/.setup/{transport-url-CAC0JcuI.mjs → transport-url-BptucYNV.mjs} +2 -4
- package/dist/.source-module-urls/6644c27f416c8952f1e739724ebf62751ac9fafc7ee3c001a25ab5884899ae60.json +1 -1
- package/dist/api.js +11 -11
- package/dist/channel-config-api.js +1 -1
- package/dist/channel-entry.js +1 -2
- package/dist/channel-plugin-api.js +1 -1
- package/dist/contract-api.js +3 -3
- package/dist/doctor-contract-api.js +1 -1
- package/dist/index.js +1 -2
- package/dist/reaction-runtime-api.js +1 -1
- package/dist/runtime-api.js +1 -1
- package/dist/secret-contract-api.js +1 -2
- package/dist/setup-entry.js +2 -3
- package/package.json +4 -4
- package/dist/.setup/api-DwJGf5rn.mjs +0 -16
|
@@ -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-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";
|
|
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
|
+
// extensions/signal/src/accounts.ts
|
|
6
6
|
const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers("signal", {
|
|
7
7
|
normalizeAccountId,
|
|
8
8
|
implicitDefaultAccount: { channelKeys: ["account", "transport"] }
|
|
@@ -130,5 +130,4 @@ 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
|
|
134
133
|
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,15 @@
|
|
|
1
|
+
import "./accounts-BZXLLXyZ.mjs";
|
|
2
|
+
import "./normalize-B_3XS5ez.mjs";
|
|
3
|
+
import "./identity-DzXre34N.mjs";
|
|
4
|
+
import { l as signalSetupContract, n as createSignalPluginBase, r as signalSetupWizard } from "./channel-Cd52DrmN.mjs";
|
|
5
|
+
import "./reaction-runtime-api-D7bhF81u.mjs";
|
|
6
|
+
import "./install-signal-cli-BjCk7EXq.mjs";
|
|
7
|
+
import "./monitor-C1qvr_Kl.mjs";
|
|
8
|
+
import "./send-BZd_WrI_.mjs";
|
|
9
|
+
import "./probe-BYl1haPH.mjs";
|
|
10
|
+
// extensions/signal/src/channel.setup.ts
|
|
11
|
+
const signalSetupPlugin = createSignalPluginBase({
|
|
12
|
+
setupWizard: signalSetupWizard,
|
|
13
|
+
setupContract: signalSetupContract
|
|
14
|
+
});
|
|
15
|
+
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-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";
|
|
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-BZXLLXyZ.mjs";
|
|
2
|
+
import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-B_3XS5ez.mjs";
|
|
3
|
+
import { l as looksLikeUuid } from "./identity-DzXre34N.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
|
+
// extensions/signal/src/aliases.ts
|
|
8
8
|
function normalizeAliasKey(raw) {
|
|
9
9
|
return normalizeLowercaseStringOrEmpty(raw.trim().replace(/^signal:/i, "")) || void 0;
|
|
10
10
|
}
|
|
@@ -122,8 +122,7 @@ function listSignalAliasDirectoryEntries(params) {
|
|
|
122
122
|
}
|
|
123
123
|
return entries;
|
|
124
124
|
}
|
|
125
|
-
|
|
126
|
-
//#region extensions/signal/src/approval-auth.ts
|
|
125
|
+
// extensions/signal/src/approval-auth.ts
|
|
127
126
|
function normalizeSignalApproverId(value) {
|
|
128
127
|
const normalized = normalizeSignalMessagingTarget(String(value));
|
|
129
128
|
if (!normalized || normalized.startsWith("group:") || normalized.startsWith("username:")) return;
|
|
@@ -157,5 +156,4 @@ const signalApproval = createChannelApprovalAuth({
|
|
|
157
156
|
});
|
|
158
157
|
const getSignalApprovalApprovers = signalApproval.resolveApprovers;
|
|
159
158
|
const signalApprovalAuth = signalApproval.approvalAuth;
|
|
160
|
-
//#endregion
|
|
161
159
|
export { resolveSignalTarget as a, resolveSignalDeliveredConversationKey as i, signalApprovalAuth as n, listSignalAliasDirectoryEntries as r, getSignalApprovalApprovers as t };
|
package/dist/.setup/{approval-handler.runtime-CIlWxTNT.mjs → approval-handler.runtime-Dzb_QGFk.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-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";
|
|
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
|
+
// 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,5 +158,4 @@ const signalApprovalNativeRuntime = createChannelApprovalNativeRuntimeAdapterAsy
|
|
|
158
158
|
log.error(`signal approvals: failed to send request ${request.id}: ${String(error)}`);
|
|
159
159
|
} }
|
|
160
160
|
});
|
|
161
|
-
//#endregion
|
|
162
161
|
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-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";
|
|
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
|
+
// extensions/signal/src/approval-reaction-routes.ts
|
|
15
15
|
function resolveSignalApprovalRouteTarget(params) {
|
|
16
16
|
try {
|
|
17
17
|
return resolveSignalTarget({
|
|
@@ -77,8 +77,7 @@ function buildTargetRoute(params) {
|
|
|
77
77
|
}
|
|
78
78
|
}) ? route : null;
|
|
79
79
|
}
|
|
80
|
-
|
|
81
|
-
//#region extensions/signal/src/approval-reactions.ts
|
|
80
|
+
// extensions/signal/src/approval-reactions.ts
|
|
82
81
|
var approval_reactions_exports = /* @__PURE__ */ __exportAll({
|
|
83
82
|
addSignalApprovalReactionHintToStructuredPayload: () => addSignalApprovalReactionHintToStructuredPayload,
|
|
84
83
|
clearSignalApprovalReactionTargetsForTest: () => clearSignalApprovalReactionTargetsForTest,
|
|
@@ -352,5 +351,4 @@ function clearSignalApprovalReactionTargetsForTest() {
|
|
|
352
351
|
signalApprovalReactionTargets.clearForTest();
|
|
353
352
|
loadResolveApprovalOverGateway.clear();
|
|
354
353
|
}
|
|
355
|
-
//#endregion
|
|
356
354
|
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-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";
|
|
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
|
+
// 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-Dzb_QGFk.mjs")).signalApprovalNativeRuntime
|
|
106
106
|
})
|
|
107
107
|
});
|
|
108
108
|
const signalApprovalRouting = signalApproval.routing;
|
|
@@ -132,8 +132,7 @@ function isSignalGroupTarget(to) {
|
|
|
132
132
|
return normalizeLowercaseStringOrEmpty(to).startsWith("group:");
|
|
133
133
|
}
|
|
134
134
|
const signalApprovalCapability = signalApproval.capability;
|
|
135
|
-
|
|
136
|
-
//#region extensions/signal/src/format.ts
|
|
135
|
+
// extensions/signal/src/format.ts
|
|
137
136
|
const SIGNAL_STYLE_MAP = {
|
|
138
137
|
bold: "BOLD",
|
|
139
138
|
italic: "ITALIC",
|
|
@@ -212,8 +211,7 @@ function markdownToSignalTextChunks(markdown, limit, options = {}) {
|
|
|
212
211
|
measureRendered: (rendered) => rendered.text.length
|
|
213
212
|
}).map(({ rendered }) => rendered);
|
|
214
213
|
}
|
|
215
|
-
|
|
216
|
-
//#region extensions/signal/src/media-text.ts
|
|
214
|
+
// extensions/signal/src/media-text.ts
|
|
217
215
|
/** Keeps Signal's established multi-attachment text while sharing single-item rendering. */
|
|
218
216
|
function formatSignalMediaText(media) {
|
|
219
217
|
if (media.length <= 1) return formatMediaPlaceholderText(media);
|
|
@@ -224,8 +222,7 @@ function formatSignalMediaText(media) {
|
|
|
224
222
|
}
|
|
225
223
|
return `[${[...kindCounts.entries()].map(([kind, count]) => `${count} ${kind === "attachment" ? "file" : kind}${count > 1 ? "s" : ""}`).join(" + ")} attached]`;
|
|
226
224
|
}
|
|
227
|
-
|
|
228
|
-
//#region extensions/signal/src/reaction-level.ts
|
|
225
|
+
// extensions/signal/src/reaction-level.ts
|
|
229
226
|
function resolveSignalReactionLevel(params) {
|
|
230
227
|
const account = resolveSignalAccount({
|
|
231
228
|
cfg: params.cfg,
|
|
@@ -237,8 +234,7 @@ function resolveSignalReactionLevel(params) {
|
|
|
237
234
|
invalidFallback: "minimal"
|
|
238
235
|
});
|
|
239
236
|
}
|
|
240
|
-
|
|
241
|
-
//#region extensions/signal/src/message-actions.ts
|
|
237
|
+
// extensions/signal/src/message-actions.ts
|
|
242
238
|
const providerId = "signal";
|
|
243
239
|
const GROUP_PREFIX = "group:";
|
|
244
240
|
function resolveSignalReactionTarget(raw) {
|
|
@@ -319,8 +315,7 @@ const signalMessageActions = {
|
|
|
319
315
|
throw new Error(`Action ${action} not supported for ${providerId}.`);
|
|
320
316
|
}
|
|
321
317
|
};
|
|
322
|
-
|
|
323
|
-
//#region extensions/signal/src/outbound-session.ts
|
|
318
|
+
// extensions/signal/src/outbound-session.ts
|
|
324
319
|
function resolveSignalOutboundTarget(target) {
|
|
325
320
|
const normalized = normalizeSignalMessagingTarget(target);
|
|
326
321
|
if (!normalized) return null;
|
|
@@ -364,8 +359,7 @@ function resolveSignalOutboundTarget(target) {
|
|
|
364
359
|
to: `signal:${displayRecipient}`
|
|
365
360
|
};
|
|
366
361
|
}
|
|
367
|
-
|
|
368
|
-
//#region extensions/signal/src/presentation-fallback.ts
|
|
362
|
+
// extensions/signal/src/presentation-fallback.ts
|
|
369
363
|
/** Materialize presentation content once before Signal's text-only delivery funnels. */
|
|
370
364
|
function materializeSignalPresentationFallback(payload, presentationOverride) {
|
|
371
365
|
const reactionPayload = questionGatewayRuntime.prepareReactionPayloadForDelivery({
|
|
@@ -388,11 +382,9 @@ function materializeSignalPresentationFallback(payload, presentationOverride) {
|
|
|
388
382
|
text
|
|
389
383
|
};
|
|
390
384
|
}
|
|
391
|
-
|
|
392
|
-
//#region extensions/signal/src/reply-authors-state.ts
|
|
385
|
+
// extensions/signal/src/reply-authors-state.ts
|
|
393
386
|
const signalReplyAuthorState = { memoryReplyContexts: /* @__PURE__ */ new Map() };
|
|
394
|
-
|
|
395
|
-
//#region extensions/signal/src/reply-authors.ts
|
|
387
|
+
// extensions/signal/src/reply-authors.ts
|
|
396
388
|
const PERSISTENT_NAMESPACE = "signal.reply-authors.v1";
|
|
397
389
|
const PERSISTENT_MAX_ENTRIES = 5e3;
|
|
398
390
|
const DEFAULT_REPLY_AUTHOR_TTL_MS = 6048e5;
|
|
@@ -517,8 +509,7 @@ async function resolveSignalReplyContextWithPersistence(params) {
|
|
|
517
509
|
return;
|
|
518
510
|
}
|
|
519
511
|
}
|
|
520
|
-
|
|
521
|
-
//#region extensions/signal/src/setup-transport.ts
|
|
512
|
+
// extensions/signal/src/setup-transport.ts
|
|
522
513
|
function normalizeTransport(transport) {
|
|
523
514
|
if (transport.kind === "managed-native") {
|
|
524
515
|
assertSignalSocketTransport(transport);
|
|
@@ -648,8 +639,8 @@ async function probeSignalTransport(params) {
|
|
|
648
639
|
overrides: params.transport
|
|
649
640
|
}) : params.transport;
|
|
650
641
|
const resolved = resolveSignalTransport(transport);
|
|
651
|
-
if (resolved.kind === "container") return (params.probeContainer ?? (await import("./transport-probes.runtime-
|
|
652
|
-
return (params.probeNative ?? (await import("./transport-probes.runtime-
|
|
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);
|
|
653
644
|
}
|
|
654
645
|
function writeSignalAccountTransport(params) {
|
|
655
646
|
const transport = normalizeTransport(params.transport);
|
|
@@ -679,8 +670,7 @@ function writeSignalAccountTransport(params) {
|
|
|
679
670
|
});
|
|
680
671
|
return canonical;
|
|
681
672
|
}
|
|
682
|
-
|
|
683
|
-
//#region extensions/signal/src/setup-core.ts
|
|
673
|
+
// extensions/signal/src/setup-core.ts
|
|
684
674
|
const t = createSetupTranslator$1();
|
|
685
675
|
const channel = "signal";
|
|
686
676
|
const signalSetupFields = {
|
|
@@ -987,12 +977,11 @@ function createSignalSetupWizardProxy(loadWizard) {
|
|
|
987
977
|
disable: (cfg) => setSetupChannelEnabled$1(cfg, channel, false)
|
|
988
978
|
});
|
|
989
979
|
}
|
|
990
|
-
|
|
991
|
-
//#region extensions/signal/src/doctor.ts
|
|
980
|
+
// extensions/signal/src/doctor.ts
|
|
992
981
|
const signalDoctor = {
|
|
993
982
|
normalizeCompatibilityConfig,
|
|
994
983
|
cleanStaleConfig: async ({ cfg }) => {
|
|
995
|
-
const { detectSignalTransport } = await import("./transport-detection-
|
|
984
|
+
const { detectSignalTransport } = await import("./transport-detection-oXau8_7D.mjs").then((n) => n.n);
|
|
996
985
|
const transport = await migrateLegacySignalTransportConfig({
|
|
997
986
|
cfg,
|
|
998
987
|
detect: detectSignalTransport
|
|
@@ -1003,10 +992,9 @@ const signalDoctor = {
|
|
|
1003
992
|
};
|
|
1004
993
|
}
|
|
1005
994
|
};
|
|
1006
|
-
|
|
1007
|
-
//#region extensions/signal/src/shared.ts
|
|
995
|
+
// extensions/signal/src/shared.ts
|
|
1008
996
|
const SIGNAL_CHANNEL = "signal";
|
|
1009
|
-
const signalSetupWizard = createSignalSetupWizardProxy(async () => (await import("./setup-surface-
|
|
997
|
+
const signalSetupWizard = createSignalSetupWizardProxy(async () => (await import("./setup-surface-D5p9z7MO.mjs")).signalSetupWizard);
|
|
1010
998
|
const signalConfigAdapter = {
|
|
1011
999
|
...createScopedChannelConfigAdapter({
|
|
1012
1000
|
sectionKey: SIGNAL_CHANNEL,
|
|
@@ -1089,12 +1077,11 @@ function createSignalPluginBase(params) {
|
|
|
1089
1077
|
messaging: { defaultMarkdownTableMode: "bullets" }
|
|
1090
1078
|
};
|
|
1091
1079
|
}
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
const
|
|
1095
|
-
const
|
|
1096
|
-
const
|
|
1097
|
-
const loadSignalApprovalReactionsModule = createLazyRuntimeModule(() => import("./approval-reactions-JsqCEOHK.mjs").then((n) => n.n));
|
|
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));
|
|
1098
1085
|
async function createSignalOutboundSender(params) {
|
|
1099
1086
|
const send = resolveOutboundSendDep(params.deps, "signal") ?? (await loadSignalSendRuntime()).sendMessageSignal;
|
|
1100
1087
|
const maxBytes = resolveChannelMediaMaxBytes({
|
|
@@ -1274,7 +1261,7 @@ async function registerDeliveredSignalApprovalPayloadForReactions(params) {
|
|
|
1274
1261
|
const targetAuthor = normalizeOptionalString(account.config.account);
|
|
1275
1262
|
const targetAuthorUuid = normalizeOptionalString(account.config.accountUuid);
|
|
1276
1263
|
if (!targetAuthor && !targetAuthorUuid) return;
|
|
1277
|
-
const { registerSignalReactionTargetsForDeliveredPayload } = await import("./reaction-targets-
|
|
1264
|
+
const { registerSignalReactionTargetsForDeliveredPayload } = await import("./reaction-targets-Bg9NSMJF.mjs").then((n) => n.t);
|
|
1278
1265
|
await registerSignalReactionTargetsForDeliveredPayload({
|
|
1279
1266
|
cfg: params.cfg,
|
|
1280
1267
|
target: {
|
|
@@ -1538,5 +1525,4 @@ const signalPlugin = createChatChannelPlugin({
|
|
|
1538
1525
|
}
|
|
1539
1526
|
}
|
|
1540
1527
|
});
|
|
1541
|
-
//#endregion
|
|
1542
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 };
|
|
@@ -18,11 +18,10 @@ 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
|
+
// 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
|
-
|
|
25
|
-
//#region extensions/signal/src/client-container.ts
|
|
24
|
+
// extensions/signal/src/client-container.ts
|
|
26
25
|
const DEFAULT_TIMEOUT_MS$2 = 1e4;
|
|
27
26
|
const DEFAULT_ATTACHMENT_RESPONSE_MAX_BYTES = 1048576;
|
|
28
27
|
const SIGNAL_REST_ERROR_RESPONSE_MAX_BYTES = 16384;
|
|
@@ -528,8 +527,7 @@ async function containerRpcRequest(method, params, opts) {
|
|
|
528
527
|
default: throw new Error(`Unsupported container RPC method: ${method}`);
|
|
529
528
|
}
|
|
530
529
|
}
|
|
531
|
-
|
|
532
|
-
//#region extensions/signal/src/quote-rejection.ts
|
|
530
|
+
// extensions/signal/src/quote-rejection.ts
|
|
533
531
|
function isSignalQuoteMetadataRejection(error) {
|
|
534
532
|
const message = error instanceof Error ? error.message : String(error);
|
|
535
533
|
const normalized = normalizeLowercaseStringOrEmpty(message);
|
|
@@ -545,8 +543,7 @@ function isSignalQuoteMetadataRejection(error) {
|
|
|
545
543
|
if (!normalized.includes("quote")) return false;
|
|
546
544
|
return normalized.includes("reject") || normalized.includes("invalid") || normalized.includes("unrecognized") || normalized.includes("unsupported") || normalized.includes("not found") || normalized.includes("no such") || normalized.includes("unknown");
|
|
547
545
|
}
|
|
548
|
-
|
|
549
|
-
//#region extensions/signal/src/socket-path.ts
|
|
546
|
+
// extensions/signal/src/socket-path.ts
|
|
550
547
|
const execFileAsync = promisify(execFile);
|
|
551
548
|
function socketOwner(socketPath) {
|
|
552
549
|
if (process.platform === "win32" || !process.getuid) throw new Error("Signal UNIX socket transport requires a POSIX host");
|
|
@@ -659,8 +656,7 @@ async function prepareSignalSocketPath(socketPath, abortSignal) {
|
|
|
659
656
|
throw error;
|
|
660
657
|
}
|
|
661
658
|
}
|
|
662
|
-
|
|
663
|
-
//#region extensions/signal/src/client-unix.ts
|
|
659
|
+
// extensions/signal/src/client-unix.ts
|
|
664
660
|
const MAX_FRAME_BYTES = 1048576;
|
|
665
661
|
const DEFAULT_TIMEOUT_MS$1 = 1e4;
|
|
666
662
|
function socketPath(baseUrl) {
|
|
@@ -795,8 +791,7 @@ async function streamSignalUnixEvents(params) {
|
|
|
795
791
|
connection.close();
|
|
796
792
|
}
|
|
797
793
|
}
|
|
798
|
-
|
|
799
|
-
//#region extensions/signal/src/client.ts
|
|
794
|
+
// extensions/signal/src/client.ts
|
|
800
795
|
/** Thrown when the native SSE endpoint rejects the request with a non-2xx HTTP status. */
|
|
801
796
|
var SignalSseRejectionError = class extends Error {
|
|
802
797
|
constructor(status, statusText) {
|
|
@@ -1104,5 +1099,4 @@ async function streamSignalEvents(params) {
|
|
|
1104
1099
|
}
|
|
1105
1100
|
await flushEvent();
|
|
1106
1101
|
}
|
|
1107
|
-
//#endregion
|
|
1108
1102
|
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-CRClyTxP.mjs";
|
|
2
2
|
import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
|
|
3
|
-
|
|
3
|
+
// 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,5 +26,4 @@ async function streamSignalEvents(params) {
|
|
|
26
26
|
});
|
|
27
27
|
return streamSignalEvents$1(params);
|
|
28
28
|
}
|
|
29
|
-
//#endregion
|
|
30
29
|
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-BptucYNV.mjs";
|
|
2
|
+
import { t as LEGACY_SIGNAL_TRANSPORT_FIELDS } from "./legacy-transport-UHhcutJ4.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
|
+
// extensions/signal/src/config-ui-hints.ts
|
|
9
9
|
const signalChannelConfigUiHints = {
|
|
10
10
|
"": {
|
|
11
11
|
label: "Signal",
|
|
@@ -51,8 +51,7 @@ 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
|
-
|
|
55
|
-
//#region extensions/signal/src/config-schema.ts
|
|
54
|
+
// extensions/signal/src/config-schema.ts
|
|
56
55
|
const SIGNAL_RETIRED_TRANSPORT_KEYS = ["apiMode", ...LEGACY_SIGNAL_TRANSPORT_FIELDS];
|
|
57
56
|
const SignalTransportUrlSchema = z.string().url().regex(/^[Hh][Tt][Tt][Pp][Ss]?:\/\/(?![^/?#]*@)/, "Expected http:// or https:// URL without embedded credentials");
|
|
58
57
|
function projectSignalConfigForUpdateValidation(value) {
|
|
@@ -195,5 +194,4 @@ const CanonicalSignalConfigSchema = SignalConfigSchemaBase.superRefine((value, c
|
|
|
195
194
|
});
|
|
196
195
|
const SignalConfigSchema = z.preprocess(projectSignalConfigForUpdateValidation, CanonicalSignalConfigSchema);
|
|
197
196
|
const SignalChannelConfigSchema = buildChannelConfigSchema(SignalConfigSchema, { uiHints: signalChannelConfigUiHints });
|
|
198
|
-
//#endregion
|
|
199
197
|
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-BptucYNV.mjs";
|
|
2
|
+
import { a as isSignalManagedNativeConnectionUrlForBind, c as resolveLocalSignalTransportPort, i as assignSignalManagedNativePort, o as isValidSignalManagedNativePort, r as allocateSignalManagedNativePort } from "./transport-policy-BvaaxIjp.mjs";
|
|
3
|
+
import { n as hasLegacySignalTransportFields, t as LEGACY_SIGNAL_TRANSPORT_FIELDS } from "./legacy-transport-UHhcutJ4.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
|
+
// \0rolldown/runtime.js
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
9
9
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
10
10
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
@@ -29,8 +29,7 @@ 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
|
-
|
|
33
|
-
//#region extensions/signal/src/config-compat.ts
|
|
32
|
+
// extensions/signal/src/config-compat.ts
|
|
34
33
|
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.";
|
|
35
34
|
const PENDING_LEGACY_INVALID_URL_WARNING = "- channels.signal: legacy httpUrl is invalid; keep the current config, correct httpUrl, then run openclaw doctor --fix.";
|
|
36
35
|
const PENDING_LEGACY_INVALID_HOST_WARNING = "- channels.signal: legacy httpHost is invalid; keep the current config, correct httpHost, then run openclaw doctor --fix.";
|
|
@@ -384,8 +383,7 @@ function migrateLegacySignalTransportConfigSync(cfg) {
|
|
|
384
383
|
});
|
|
385
384
|
}));
|
|
386
385
|
}
|
|
387
|
-
|
|
388
|
-
//#region packages/normalization-core/src/record-coerce.ts
|
|
386
|
+
// packages/normalization-core/src/record-coerce.ts
|
|
389
387
|
/** Type guard for non-array object records at browser-safe boundaries. */
|
|
390
388
|
function isRecord$1(value) {
|
|
391
389
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
@@ -394,8 +392,7 @@ function isRecord$1(value) {
|
|
|
394
392
|
function asNullableRecord(value) {
|
|
395
393
|
return isRecord$1(value) ? value : null;
|
|
396
394
|
}
|
|
397
|
-
|
|
398
|
-
//#region src/config/channel-config-normalization.ts
|
|
395
|
+
// src/config/channel-config-normalization.ts
|
|
399
396
|
/** Applies one channel-specific doctor migration to every object-shaped account. */
|
|
400
397
|
function normalizeChannelAccounts(params) {
|
|
401
398
|
const rawAccounts = asNullableRecord(params.entry.accounts);
|
|
@@ -471,8 +468,7 @@ function normalizeChannelConfigEntries(params) {
|
|
|
471
468
|
changes
|
|
472
469
|
};
|
|
473
470
|
}
|
|
474
|
-
|
|
475
|
-
//#region src/plugin-sdk/legacy-webhook-listener-migration.ts
|
|
471
|
+
// src/plugin-sdk/legacy-webhook-listener-migration.ts
|
|
476
472
|
/** Preserve explicitly configured webhook listeners while moving ingress onto Gateway routes. */
|
|
477
473
|
function createLegacyWebhookListenerDoctorContract(params) {
|
|
478
474
|
const portKey = params.portKey ?? "webhookPort";
|
|
@@ -542,13 +538,11 @@ function createLegacyWebhookListenerDoctorContract(params) {
|
|
|
542
538
|
}
|
|
543
539
|
};
|
|
544
540
|
}
|
|
545
|
-
|
|
546
|
-
//#region \0openclaw:bundled-sdk:openclaw/plugin-sdk/runtime-doctor-migrations
|
|
541
|
+
// \0openclaw:bundled-sdk:openclaw/plugin-sdk/runtime-doctor-migrations
|
|
547
542
|
var runtime_doctor_migrations_exports = /* @__PURE__ */ __exportAll({ createLegacyWebhookListenerDoctorContract: () => createLegacyWebhookListenerDoctorContract });
|
|
548
543
|
import * as import_openclaw_plugin_sdk_runtime_doctor_migrations from "openclaw/plugin-sdk/runtime-doctor-migrations";
|
|
549
544
|
__reExport(runtime_doctor_migrations_exports, import_openclaw_plugin_sdk_runtime_doctor_migrations);
|
|
550
|
-
|
|
551
|
-
//#region extensions/signal/src/account-key-repair.ts
|
|
545
|
+
// extensions/signal/src/account-key-repair.ts
|
|
552
546
|
function repairSignalAccountKeys({ cfg }) {
|
|
553
547
|
const signal = cfg.channels?.signal;
|
|
554
548
|
const accounts = signal?.accounts;
|
|
@@ -592,8 +586,7 @@ function repairSignalAccountKeys({ cfg }) {
|
|
|
592
586
|
warnings
|
|
593
587
|
};
|
|
594
588
|
}
|
|
595
|
-
|
|
596
|
-
//#region extensions/signal/config-doctor-api.ts
|
|
589
|
+
// extensions/signal/config-doctor-api.ts
|
|
597
590
|
const streamingAliasMigration = (0, runtime_doctor_migrations_exports.defineChannelAliasMigration)({
|
|
598
591
|
channelId: "signal",
|
|
599
592
|
streaming: {
|
|
@@ -633,5 +626,4 @@ function normalizeCompatibilityConfig({ cfg }) {
|
|
|
633
626
|
...transport.warnings?.length ? { warnings: transport.warnings } : {}
|
|
634
627
|
};
|
|
635
628
|
}
|
|
636
|
-
//#endregion
|
|
637
629
|
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
|
+
// 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,8 +10,7 @@ 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
|
-
|
|
14
|
-
//#region extensions/signal/src/identity.ts
|
|
13
|
+
// extensions/signal/src/identity.ts
|
|
15
14
|
function stripSignalPrefix(value) {
|
|
16
15
|
return value.replace(/^signal:/i, "").trim();
|
|
17
16
|
}
|
|
@@ -93,5 +92,4 @@ function isSignalSenderAllowed(sender, allowFrom) {
|
|
|
93
92
|
}]
|
|
94
93
|
}).allowed;
|
|
95
94
|
}
|
|
96
|
-
//#endregion
|
|
97
95
|
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
|
+
// 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,5 +232,4 @@ 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
|
|
236
235
|
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
|
+
// extensions/signal/src/legacy-transport.ts
|
|
3
3
|
const LEGACY_SIGNAL_TRANSPORT_FIELDS = [
|
|
4
4
|
"configPath",
|
|
5
5
|
"httpUrl",
|
|
@@ -14,5 +14,4 @@ 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
|
|
18
17
|
export { hasLegacySignalTransportFields as n, LEGACY_SIGNAL_TRANSPORT_FIELDS as t };
|