@openclaw/signal 2026.9.1-beta.1 → 2026.9.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.
Files changed (29) hide show
  1. package/dist/api.js +7 -7
  2. package/dist/{approval-auth-BsYHLTHK.js → approval-auth-pNCKKotV.js} +14 -2
  3. package/dist/{approval-handler.runtime-COrjDqm1.js → approval-handler.runtime-Dsg_GE8N.js} +8 -4
  4. package/dist/{approval-reactions-D8x4WFYZ.js → approval-reactions-D-nkbsvm.js} +7 -17
  5. package/dist/{channel-DBwSJm7U.js → channel-B-A_5_Vz.js} +35 -30
  6. package/dist/channel-config-api.js +1 -1
  7. package/dist/channel-plugin-api.js +1 -1
  8. package/dist/{channel.runtime-DvhLiRgJ.js → channel.runtime-LfE0qPMj.js} +4 -3
  9. package/dist/{client-CvnR8_XA.js → client-BmpTN7R3.js} +21 -14
  10. package/dist/{client-adapter-D9SNPaNx.js → client-adapter-CDyW9LrQ.js} +1 -1
  11. package/dist/{config-schema-CkMIK7zp.js → config-schema-CHihQTOp.js} +10 -8
  12. package/dist/contract-api.js +1 -1
  13. package/dist/{doctor-contract-api-Dnp5eQQJ.js → doctor-contract-api-C18u1hW0.js} +1 -1
  14. package/dist/doctor-contract-api.js +1 -1
  15. package/dist/{install-signal-cli-Cpiyk0k1.js → install-signal-cli-7tEL37_j.js} +11 -7
  16. package/dist/{monitor-BIMAiZNm.js → monitor-D7Slr0-A.js} +99 -69
  17. package/dist/{probe-C2Z15YNS.js → probe-CtO2EIfg.js} +2 -2
  18. package/dist/{question-reactions-CkO8Q5i2.js → question-reactions-CsVOpHg_.js} +3 -14
  19. package/dist/{reaction-runtime-api-Ch0dk2sh.js → reaction-runtime-api-7FQFT_qb.js} +3 -2
  20. package/dist/reaction-runtime-api.js +1 -1
  21. package/dist/runtime-api.js +8 -8
  22. package/dist/{send-u8wH_fQM.js → send-DuH2ntJt.js} +20 -16
  23. package/dist/{send.runtime-DolSm_sS.js → send.runtime-BLiqhyHW.js} +1 -1
  24. package/dist/{transport-detection-B9TcrBCr.js → transport-detection-BcDiypLn.js} +21 -14
  25. package/dist/{transport-detection.runtime-kDheC5_M.js → transport-detection.runtime-DYuvIa7s.js} +1 -1
  26. package/dist/transport-probes.runtime-B7kr_6Zu.js +2 -0
  27. package/openclaw.plugin.json +2 -7
  28. package/package.json +4 -4
  29. package/dist/transport-probes.runtime-BsJdp0oI.js +0 -2
@@ -1,10 +1,9 @@
1
1
  import { u as normalizeSignalTransportUrl } from "./transport-policy-DxvSMHp9.js";
2
2
  import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./accounts-DO4HMqaK.js";
3
3
  import { n as normalizeSignalMessagingTarget, r as normalizeSignalReactionRecipient } from "./normalize-l_b99hap.js";
4
- import { n as signalApprovalAuth, t as getSignalApprovalApprovers } from "./approval-auth-BsYHLTHK.js";
5
- import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-Ch0dk2sh.js";
4
+ import { n as signalApprovalAuth, t as getSignalApprovalApprovers } from "./approval-auth-pNCKKotV.js";
5
+ import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-7FQFT_qb.js";
6
6
  import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
7
- import { kindFromMime } from "openclaw/plugin-sdk/media-runtime";
8
7
  import { questionGatewayRuntime } from "openclaw/plugin-sdk/question-gateway-runtime";
9
8
  import { parseAgentSessionKey } from "openclaw/plugin-sdk/routing";
10
9
  import { resolveReactionLevel } from "openclaw/plugin-sdk/status-helpers";
@@ -15,6 +14,7 @@ import { createLazyChannelApprovalNativeRuntimeAdapter } from "openclaw/plugin-s
15
14
  import { shouldSuppressLocalNativeExecApprovalPrompt } from "openclaw/plugin-sdk/approval-native-runtime";
16
15
  import { buildApprovalReactionPendingContentForRequest } from "openclaw/plugin-sdk/approval-reaction-runtime";
17
16
  import { formatMediaPlaceholderText } from "openclaw/plugin-sdk/channel-inbound";
17
+ import { kindFromMime } from "openclaw/plugin-sdk/media-runtime";
18
18
  import { createActionGate, jsonResult, readStringParam, resolveReactionMessageId } from "openclaw/plugin-sdk/channel-actions";
19
19
  import { parseStrictNonNegativeInteger } from "openclaw/plugin-sdk/number-runtime";
20
20
  import { getExecApprovalReplyMetadata } from "openclaw/plugin-sdk/approval-reply-runtime";
@@ -58,7 +58,11 @@ const signalApproval = createApproverRestrictedNativeApprovalCapabilityFromForwa
58
58
  }).manualFallbackPayload }
59
59
  },
60
60
  createNativeRuntime: (routing) => createLazyChannelApprovalNativeRuntimeAdapter({
61
- eventKinds: ["exec", "plugin"],
61
+ eventKinds: [
62
+ "exec",
63
+ "plugin",
64
+ "system-agent"
65
+ ],
62
66
  isConfigured: ({ cfg, accountId, context }) => Boolean(context) && routing.isNativeApprovalHandlerConfigured({
63
67
  cfg,
64
68
  accountId
@@ -69,7 +73,7 @@ const signalApproval = createApproverRestrictedNativeApprovalCapabilityFromForwa
69
73
  approvalKind,
70
74
  request
71
75
  }),
72
- load: async () => (await import("./approval-handler.runtime-COrjDqm1.js")).signalApprovalNativeRuntime
76
+ load: async () => (await import("./approval-handler.runtime-Dsg_GE8N.js")).signalApprovalNativeRuntime
73
77
  })
74
78
  });
75
79
  const signalApprovalRouting = signalApproval.routing;
@@ -164,8 +168,9 @@ function markdownToSignalText(markdown, options = {}) {
164
168
  return renderSignalText(markdownToSignalIR(markdown, options));
165
169
  }
166
170
  function markdownToSignalTextChunks(markdown, limit, options = {}) {
171
+ const ir = markdownToSignalIR(markdown, options);
167
172
  return renderMarkdownIRChunksWithinLimit({
168
- ir: markdownToSignalIR(markdown, options),
173
+ ir,
169
174
  limit,
170
175
  assistantTranscriptRoleMessageBoundaries: true,
171
176
  renderChunk: renderSignalText,
@@ -200,11 +205,12 @@ function formatSignalMediaText(media) {
200
205
  * - "extensive": Agent can react liberally
201
206
  */
202
207
  function resolveSignalReactionLevel(params) {
208
+ const account = resolveSignalAccount({
209
+ cfg: params.cfg,
210
+ accountId: params.accountId
211
+ });
203
212
  return resolveReactionLevel({
204
- value: resolveSignalAccount({
205
- cfg: params.cfg,
206
- accountId: params.accountId
207
- }).config.reactionLevel,
213
+ value: account.config.reactionLevel,
208
214
  defaultLevel: "minimal",
209
215
  invalidFallback: "minimal"
210
216
  });
@@ -317,10 +323,11 @@ function materializeSignalPresentationFallback(payload, presentationOverride) {
317
323
  const presentation = presentationOverride ?? normalizeMessagePresentation(payload.presentation);
318
324
  if (!presentation) return payload;
319
325
  const currentText = payload.text?.trim() ?? "";
320
- const presentationFallback = renderMessagePresentationFallbackText({ presentation: Boolean(getExecApprovalReplyMetadata(payload) && currentText) ? {
326
+ const fallbackPresentation = Boolean(getExecApprovalReplyMetadata(payload) && currentText) ? {
321
327
  ...presentation,
322
328
  blocks: presentation.blocks.filter((block) => !isMessagePresentationInteractiveBlock(block))
323
- } : presentation });
329
+ } : presentation;
330
+ const presentationFallback = renderMessagePresentationFallbackText({ presentation: fallbackPresentation });
324
331
  const text = currentText.includes(presentationFallback) ? currentText : [currentText, presentationFallback].filter(Boolean).join("\n\n");
325
332
  const { presentation: _presentation, ...withoutPresentation } = payload;
326
333
  return {
@@ -344,7 +351,7 @@ const { setRuntime: setSignalRuntime, tryGetRuntime: getOptionalSignalRuntime }
344
351
  //#region extensions/signal/src/reply-authors.ts
345
352
  const PERSISTENT_NAMESPACE = "signal.reply-authors.v1";
346
353
  const PERSISTENT_MAX_ENTRIES = 5e3;
347
- const DEFAULT_REPLY_AUTHOR_TTL_MS = 10080 * 60 * 1e3;
354
+ const DEFAULT_REPLY_AUTHOR_TTL_MS = 6048e5;
348
355
  const { memoryReplyContexts } = signalReplyAuthorState;
349
356
  function openSignalReplyAuthorStore() {
350
357
  if (signalReplyAuthorState.persistentStoreDisabled) return;
@@ -515,7 +522,7 @@ const DEFAULT_PROBE_TIMEOUT_MS = 1e4;
515
522
  async function detectSignalTransport(params) {
516
523
  const url = normalizeSignalTransportUrl(params.url);
517
524
  const timeoutMs = params.timeoutMs ?? DEFAULT_PROBE_TIMEOUT_MS;
518
- const probes = params.probeNative && params.probeContainer ? void 0 : await import("./transport-probes.runtime-BsJdp0oI.js");
525
+ const probes = params.probeNative && params.probeContainer ? void 0 : await import("./transport-probes.runtime-B7kr_6Zu.js");
519
526
  const probeNative = params.probeNative ?? probes?.nativeCheck;
520
527
  const probeContainer = params.probeContainer ?? probes?.containerCheck;
521
528
  if (!probeNative || !probeContainer) throw new Error("Signal transport probes are unavailable");
@@ -1,2 +1,2 @@
1
- import { t as detectSignalTransport } from "./transport-detection-B9TcrBCr.js";
1
+ import { t as detectSignalTransport } from "./transport-detection-BcDiypLn.js";
2
2
  export { detectSignalTransport };
@@ -0,0 +1,2 @@
1
+ import { a as containerCheck, n as signalCheck } from "./client-BmpTN7R3.js";
2
+ export { containerCheck, signalCheck as nativeCheck };
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "id": "signal",
3
+ "name": "Signal",
4
+ "description": "OpenClaw Signal channel plugin.",
3
5
  "doctorContract": {
4
6
  "configRepair": true
5
7
  },
6
- "icon": "https://cdn.simpleicons.org/signal",
7
8
  "activation": {
8
9
  "onStartup": false
9
10
  },
@@ -543,7 +544,6 @@
543
544
  "type": "boolean"
544
545
  },
545
546
  "dmPolicy": {
546
- "default": "pairing",
547
547
  "type": "string",
548
548
  "enum": [
549
549
  "pairing",
@@ -582,7 +582,6 @@
582
582
  }
583
583
  },
584
584
  "groupPolicy": {
585
- "default": "allowlist",
586
585
  "type": "string",
587
586
  "enum": [
588
587
  "open",
@@ -996,10 +995,6 @@
996
995
  "additionalProperties": false
997
996
  }
998
997
  },
999
- "required": [
1000
- "dmPolicy",
1001
- "groupPolicy"
1002
- ],
1003
998
  "additionalProperties": false
1004
999
  }
1005
1000
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openclaw/signal",
3
- "version": "2026.9.1-beta.1",
3
+ "version": "2026.9.2",
4
4
  "description": "OpenClaw Signal channel plugin",
5
5
  "type": "module",
6
6
  "dependencies": {
@@ -93,10 +93,10 @@
93
93
  "allowInvalidConfigRecovery": true
94
94
  },
95
95
  "compat": {
96
- "pluginApi": ">=2026.9.1-beta.1"
96
+ "pluginApi": ">=2026.9.2"
97
97
  },
98
98
  "build": {
99
- "openclawVersion": "2026.9.1-beta.1",
99
+ "openclawVersion": "2026.9.2",
100
100
  "bundledDist": false
101
101
  },
102
102
  "release": {
@@ -118,7 +118,7 @@
118
118
  "README.md"
119
119
  ],
120
120
  "peerDependencies": {
121
- "openclaw": ">=2026.9.1-beta.1"
121
+ "openclaw": ">=2026.9.2"
122
122
  },
123
123
  "peerDependenciesMeta": {
124
124
  "openclaw": {
@@ -1,2 +0,0 @@
1
- import { i as containerCheck, t as signalCheck } from "./client-CvnR8_XA.js";
2
- export { containerCheck, signalCheck as nativeCheck };