@openclaw/signal 2026.9.3 → 2026.9.5

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 (525) hide show
  1. package/assets/activity.svg +40 -0
  2. package/assets/icon.png +0 -0
  3. package/dist/{accounts-DO4HMqaK.js → .setup/accounts-BV6tDOTc.mjs} +20 -5
  4. package/dist/.setup/api-Cu01dJRP.mjs +12 -0
  5. package/dist/.setup/api-DbdeJVQ8.mjs +17 -0
  6. package/dist/{approval-auth-pNCKKotV.js → .setup/approval-auth-BBI9BTRm.mjs} +3 -3
  7. package/dist/{approval-handler.runtime-X6DXgK_3.js → .setup/approval-handler.runtime-Clf_1IZj.mjs} +11 -11
  8. package/dist/{approval-reactions-Cub0slPC.js → .setup/approval-reactions-B25QoVJc.mjs} +14 -14
  9. package/dist/{channel-DJQccJtU.js → .setup/channel-gMpZmqLx.mjs} +67 -46
  10. package/dist/{channel.runtime-QerbTca6.js → .setup/channel.runtime-Dqc18A1e.mjs} +4 -4
  11. package/dist/{client-B3C0ciqU.js → .setup/client-BseAt7F7.mjs} +311 -41
  12. package/dist/{client-adapter-CNc5wzzs.js → .setup/client-adapter-dvFa47YL.mjs} +1 -1
  13. package/dist/{config-schema-DfEbpMVQ.js → .setup/config-schema-aQwwMGUj.mjs} +19 -3
  14. package/dist/{doctor-contract-api-D0SnglP4.js → .setup/doctor-contract-api-Rbq_sRTI.mjs} +79 -15
  15. package/dist/{install-signal-cli-QlEIfWBv.js → .setup/install-signal-cli-bXeTrTyL.mjs} +3 -4
  16. package/dist/{monitor-CokYfKOk.js → .setup/monitor-DAMQw1pZ.mjs} +63 -88
  17. package/dist/{probe-Bh9f0rRO.js → .setup/probe-IKCS9D-z.mjs} +3 -3
  18. package/dist/{question-reactions-B06vyt3T.js → .setup/question-reactions-DSNAD0cd.mjs} +3 -3
  19. package/dist/{reaction-runtime-api-CWqDv5-q.js → .setup/reaction-runtime-api-BnQGHcrB.mjs} +6 -5
  20. package/dist/{rpc-context-dXSy4NtF.js → .setup/rpc-context-CwwADZ1b.mjs} +1 -1
  21. package/dist/{send-BvWSfyNf.js → .setup/send-CcetN4rk.mjs} +7 -6
  22. package/dist/{send.runtime-BNQ0x-2k.js → .setup/send.runtime-B7C4IP23.mjs} +1 -1
  23. package/dist/{transport-detection-BD__qywn.js → .setup/transport-detection-CqyR2vG8.mjs} +51 -21
  24. package/dist/{transport-detection.runtime-c9q3r3AM.js → .setup/transport-detection.runtime-CW1lp2d9.mjs} +1 -1
  25. package/dist/{transport-policy-DxvSMHp9.js → .setup/transport-policy-5VSnj5ma.mjs} +2 -33
  26. package/dist/.setup/transport-probes.runtime-WprAyBbL.mjs +2 -0
  27. package/dist/.setup/transport-url-CAC0JcuI.mjs +55 -0
  28. package/dist/api.js +11 -16
  29. package/dist/channel-config-api.js +1 -1
  30. package/dist/channel-plugin-api.js +1 -1
  31. package/dist/contract-api.js +4 -4
  32. package/dist/doctor-contract-api.js +1 -1
  33. package/dist/reaction-runtime-api.js +1 -1
  34. package/dist/runtime-api.js +9 -9
  35. package/dist/setup-entry.js +2 -1
  36. package/node_modules/zod/README.md +27 -0
  37. package/node_modules/zod/compile.cjs +77 -0
  38. package/node_modules/zod/compile.d.cts +1 -0
  39. package/node_modules/zod/compile.d.ts +1 -0
  40. package/node_modules/zod/compile.js +52 -0
  41. package/node_modules/zod/index.cjs +2 -2
  42. package/node_modules/zod/index.d.cts +1 -2
  43. package/node_modules/zod/index.d.ts +1 -2
  44. package/node_modules/zod/index.js +5 -2
  45. package/node_modules/zod/package.json +13 -2
  46. package/node_modules/zod/src/compile.ts +56 -0
  47. package/node_modules/zod/src/index.ts +5 -2
  48. package/node_modules/zod/src/v3/ZodError.ts +22 -12
  49. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  50. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  51. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  52. package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
  53. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  54. package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
  55. package/node_modules/zod/src/v3/types.ts +5 -5
  56. package/node_modules/zod/src/v4/classic/checks.ts +1 -0
  57. package/node_modules/zod/src/v4/classic/compat.ts +26 -18
  58. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  59. package/node_modules/zod/src/v4/classic/errors.ts +59 -44
  60. package/node_modules/zod/src/v4/classic/external.ts +12 -9
  61. package/node_modules/zod/src/v4/classic/from-json-schema.ts +140 -78
  62. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  63. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  64. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  65. package/node_modules/zod/src/v4/classic/parse.ts +10 -4
  66. package/node_modules/zod/src/v4/classic/schemas.ts +452 -262
  67. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
  68. package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
  69. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +135 -0
  70. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +30 -1
  71. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
  72. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
  73. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
  74. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +2 -2
  75. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  76. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +720 -0
  77. package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
  78. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
  79. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  80. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  81. package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
  82. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
  83. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +155 -13
  84. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +11 -0
  85. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
  86. package/node_modules/zod/src/v4/classic/tests/error.test.ts +274 -6
  87. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +425 -10
  88. package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
  89. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
  90. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
  91. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  92. package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
  93. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +281 -0
  94. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +47 -0
  95. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
  96. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +183 -0
  97. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
  98. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  99. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
  100. package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
  101. package/node_modules/zod/src/v4/classic/tests/number.test.ts +46 -9
  102. package/node_modules/zod/src/v4/classic/tests/object.test.ts +245 -12
  103. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +234 -0
  104. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
  105. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
  106. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
  107. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
  108. package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
  109. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +33 -2
  110. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  111. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
  112. package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
  113. package/node_modules/zod/src/v4/classic/tests/string.test.ts +127 -5
  114. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
  115. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +11 -2
  116. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1585 -173
  117. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
  118. package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
  119. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +76 -0
  120. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  121. package/node_modules/zod/src/v4/core/api.ts +48 -12
  122. package/node_modules/zod/src/v4/core/checks.ts +57 -44
  123. package/node_modules/zod/src/v4/core/compile.ts +2188 -0
  124. package/node_modules/zod/src/v4/core/core.ts +98 -19
  125. package/node_modules/zod/src/v4/core/doc.ts +11 -7
  126. package/node_modules/zod/src/v4/core/errors.ts +115 -24
  127. package/node_modules/zod/src/v4/core/index.ts +3 -0
  128. package/node_modules/zod/src/v4/core/json-schema-generator.ts +6 -1
  129. package/node_modules/zod/src/v4/core/json-schema-processors.ts +257 -93
  130. package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
  131. package/node_modules/zod/src/v4/core/memoizer.ts +284 -0
  132. package/node_modules/zod/src/v4/core/parse.ts +131 -38
  133. package/node_modules/zod/src/v4/core/regexes.ts +30 -13
  134. package/node_modules/zod/src/v4/core/registries.ts +2 -2
  135. package/node_modules/zod/src/v4/core/schemas.ts +759 -461
  136. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +969 -0
  137. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  138. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  139. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  140. package/node_modules/zod/src/v4/core/tests/compile.test.ts +1639 -0
  141. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
  142. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
  143. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
  144. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  145. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  146. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  147. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +31 -0
  148. package/node_modules/zod/src/v4/core/to-json-schema.ts +275 -42
  149. package/node_modules/zod/src/v4/core/util.ts +268 -42
  150. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  151. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  152. package/node_modules/zod/src/v4/index.ts +3 -3
  153. package/node_modules/zod/src/v4/locales/ar.ts +3 -0
  154. package/node_modules/zod/src/v4/locales/az.ts +3 -0
  155. package/node_modules/zod/src/v4/locales/be.ts +10 -0
  156. package/node_modules/zod/src/v4/locales/bg.ts +3 -0
  157. package/node_modules/zod/src/v4/locales/bn.ts +121 -0
  158. package/node_modules/zod/src/v4/locales/ca.ts +3 -0
  159. package/node_modules/zod/src/v4/locales/ckb.ts +138 -0
  160. package/node_modules/zod/src/v4/locales/cs.ts +3 -0
  161. package/node_modules/zod/src/v4/locales/da.ts +5 -2
  162. package/node_modules/zod/src/v4/locales/de.ts +3 -0
  163. package/node_modules/zod/src/v4/locales/el.ts +1 -0
  164. package/node_modules/zod/src/v4/locales/en.ts +15 -4
  165. package/node_modules/zod/src/v4/locales/eo.ts +3 -0
  166. package/node_modules/zod/src/v4/locales/es.ts +2 -0
  167. package/node_modules/zod/src/v4/locales/fa.ts +3 -0
  168. package/node_modules/zod/src/v4/locales/fi.ts +3 -0
  169. package/node_modules/zod/src/v4/locales/fr-CA.ts +3 -0
  170. package/node_modules/zod/src/v4/locales/fr.ts +19 -14
  171. package/node_modules/zod/src/v4/locales/gu.ts +121 -0
  172. package/node_modules/zod/src/v4/locales/he.ts +6 -1
  173. package/node_modules/zod/src/v4/locales/hi.ts +124 -0
  174. package/node_modules/zod/src/v4/locales/hr.ts +2 -0
  175. package/node_modules/zod/src/v4/locales/hu.ts +3 -0
  176. package/node_modules/zod/src/v4/locales/hy.ts +9 -0
  177. package/node_modules/zod/src/v4/locales/id.ts +3 -0
  178. package/node_modules/zod/src/v4/locales/index.ts +10 -0
  179. package/node_modules/zod/src/v4/locales/is.ts +3 -0
  180. package/node_modules/zod/src/v4/locales/it.ts +3 -0
  181. package/node_modules/zod/src/v4/locales/ja.ts +3 -0
  182. package/node_modules/zod/src/v4/locales/ka.ts +3 -0
  183. package/node_modules/zod/src/v4/locales/km.ts +3 -0
  184. package/node_modules/zod/src/v4/locales/kn.ts +124 -0
  185. package/node_modules/zod/src/v4/locales/ko.ts +3 -0
  186. package/node_modules/zod/src/v4/locales/lt.ts +2 -0
  187. package/node_modules/zod/src/v4/locales/mk.ts +3 -0
  188. package/node_modules/zod/src/v4/locales/ms.ts +3 -0
  189. package/node_modules/zod/src/v4/locales/ne.ts +126 -0
  190. package/node_modules/zod/src/v4/locales/nl.ts +3 -0
  191. package/node_modules/zod/src/v4/locales/nn.ts +119 -0
  192. package/node_modules/zod/src/v4/locales/no.ts +5 -2
  193. package/node_modules/zod/src/v4/locales/ota.ts +3 -0
  194. package/node_modules/zod/src/v4/locales/pl.ts +3 -0
  195. package/node_modules/zod/src/v4/locales/ps.ts +3 -0
  196. package/node_modules/zod/src/v4/locales/pt-BR.ts +159 -0
  197. package/node_modules/zod/src/v4/locales/pt.ts +99 -58
  198. package/node_modules/zod/src/v4/locales/ro.ts +1 -0
  199. package/node_modules/zod/src/v4/locales/ru.ts +10 -0
  200. package/node_modules/zod/src/v4/locales/sk.ts +121 -0
  201. package/node_modules/zod/src/v4/locales/sl.ts +3 -0
  202. package/node_modules/zod/src/v4/locales/sv.ts +5 -2
  203. package/node_modules/zod/src/v4/locales/ta.ts +3 -0
  204. package/node_modules/zod/src/v4/locales/th.ts +3 -0
  205. package/node_modules/zod/src/v4/locales/tk.ts +111 -0
  206. package/node_modules/zod/src/v4/locales/tr.ts +3 -0
  207. package/node_modules/zod/src/v4/locales/uk.ts +3 -0
  208. package/node_modules/zod/src/v4/locales/ur.ts +3 -0
  209. package/node_modules/zod/src/v4/locales/uz.ts +1 -0
  210. package/node_modules/zod/src/v4/locales/vi.ts +3 -0
  211. package/node_modules/zod/src/v4/locales/yo.ts +3 -0
  212. package/node_modules/zod/src/v4/locales/zh-CN.ts +3 -0
  213. package/node_modules/zod/src/v4/locales/zh-TW.ts +3 -0
  214. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  215. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  216. package/node_modules/zod/src/v4/mini/external.ts +10 -1
  217. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  218. package/node_modules/zod/src/v4/mini/parse.ts +2 -0
  219. package/node_modules/zod/src/v4/mini/schemas.ts +135 -56
  220. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
  221. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
  222. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  223. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
  224. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  225. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  226. package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
  227. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
  228. package/node_modules/zod/src/v4/mini/tests/index.test.ts +72 -5
  229. package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
  230. package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
  231. package/node_modules/zod/src/v4/mini/tests/string.test.ts +21 -0
  232. package/node_modules/zod/v3/ZodError.cjs +22 -12
  233. package/node_modules/zod/v3/ZodError.d.cts +1 -1
  234. package/node_modules/zod/v3/ZodError.d.ts +1 -1
  235. package/node_modules/zod/v3/ZodError.js +22 -12
  236. package/node_modules/zod/v3/types.cjs +7 -5
  237. package/node_modules/zod/v3/types.js +7 -5
  238. package/node_modules/zod/v4/classic/checks.cjs +2 -1
  239. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  240. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  241. package/node_modules/zod/v4/classic/checks.js +1 -1
  242. package/node_modules/zod/v4/classic/compat.d.cts +9 -11
  243. package/node_modules/zod/v4/classic/compat.d.ts +9 -11
  244. package/node_modules/zod/v4/classic/deep-partial.cjs +39 -0
  245. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  246. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  247. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  248. package/node_modules/zod/v4/classic/errors.cjs +43 -34
  249. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  250. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  251. package/node_modules/zod/v4/classic/errors.js +43 -34
  252. package/node_modules/zod/v4/classic/external.cjs +30 -27
  253. package/node_modules/zod/v4/classic/external.d.cts +5 -2
  254. package/node_modules/zod/v4/classic/external.d.ts +5 -2
  255. package/node_modules/zod/v4/classic/external.js +5 -8
  256. package/node_modules/zod/v4/classic/from-json-schema.cjs +136 -75
  257. package/node_modules/zod/v4/classic/from-json-schema.js +136 -75
  258. package/node_modules/zod/v4/classic/in-out.cjs +63 -0
  259. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  260. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  261. package/node_modules/zod/v4/classic/in-out.js +36 -0
  262. package/node_modules/zod/v4/classic/index.cjs +2 -2
  263. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  264. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  265. package/node_modules/zod/v4/classic/index.js +2 -2
  266. package/node_modules/zod/v4/classic/iso.cjs +11 -22
  267. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  268. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  269. package/node_modules/zod/v4/classic/iso.js +2 -17
  270. package/node_modules/zod/v4/classic/parse.cjs +4 -1
  271. package/node_modules/zod/v4/classic/parse.d.cts +17 -4
  272. package/node_modules/zod/v4/classic/parse.d.ts +17 -4
  273. package/node_modules/zod/v4/classic/parse.js +1 -0
  274. package/node_modules/zod/v4/classic/schemas.cjs +498 -398
  275. package/node_modules/zod/v4/classic/schemas.d.cts +53 -18
  276. package/node_modules/zod/v4/classic/schemas.d.ts +53 -18
  277. package/node_modules/zod/v4/classic/schemas.js +492 -396
  278. package/node_modules/zod/v4/core/api.cjs +23 -4
  279. package/node_modules/zod/v4/core/api.d.cts +13 -9
  280. package/node_modules/zod/v4/core/api.d.ts +13 -9
  281. package/node_modules/zod/v4/core/api.js +21 -4
  282. package/node_modules/zod/v4/core/checks.cjs +37 -31
  283. package/node_modules/zod/v4/core/checks.d.cts +13 -13
  284. package/node_modules/zod/v4/core/checks.d.ts +13 -13
  285. package/node_modules/zod/v4/core/checks.js +37 -31
  286. package/node_modules/zod/v4/core/compile.cjs +1813 -0
  287. package/node_modules/zod/v4/core/compile.d.cts +51 -0
  288. package/node_modules/zod/v4/core/compile.d.ts +51 -0
  289. package/node_modules/zod/v4/core/compile.js +1783 -0
  290. package/node_modules/zod/v4/core/core.cjs +81 -18
  291. package/node_modules/zod/v4/core/core.d.cts +16 -4
  292. package/node_modules/zod/v4/core/core.d.ts +16 -4
  293. package/node_modules/zod/v4/core/core.js +82 -19
  294. package/node_modules/zod/v4/core/doc.cjs +5 -7
  295. package/node_modules/zod/v4/core/doc.d.cts +3 -1
  296. package/node_modules/zod/v4/core/doc.d.ts +3 -1
  297. package/node_modules/zod/v4/core/doc.js +5 -7
  298. package/node_modules/zod/v4/core/errors.cjs +110 -25
  299. package/node_modules/zod/v4/core/errors.d.cts +4 -0
  300. package/node_modules/zod/v4/core/errors.d.ts +4 -0
  301. package/node_modules/zod/v4/core/errors.js +110 -25
  302. package/node_modules/zod/v4/core/index.cjs +5 -1
  303. package/node_modules/zod/v4/core/index.d.cts +3 -0
  304. package/node_modules/zod/v4/core/index.d.ts +3 -0
  305. package/node_modules/zod/v4/core/index.js +3 -0
  306. package/node_modules/zod/v4/core/json-schema-generator.cjs +4 -0
  307. package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
  308. package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
  309. package/node_modules/zod/v4/core/json-schema-generator.js +4 -0
  310. package/node_modules/zod/v4/core/json-schema-processors.cjs +264 -95
  311. package/node_modules/zod/v4/core/json-schema-processors.js +243 -97
  312. package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
  313. package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
  314. package/node_modules/zod/v4/core/memoizer.cjs +272 -0
  315. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  316. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  317. package/node_modules/zod/v4/core/memoizer.js +265 -0
  318. package/node_modules/zod/v4/core/parse.cjs +96 -34
  319. package/node_modules/zod/v4/core/parse.d.cts +14 -11
  320. package/node_modules/zod/v4/core/parse.d.ts +14 -11
  321. package/node_modules/zod/v4/core/parse.js +94 -33
  322. package/node_modules/zod/v4/core/regexes.cjs +27 -15
  323. package/node_modules/zod/v4/core/regexes.d.cts +2 -0
  324. package/node_modules/zod/v4/core/regexes.d.ts +2 -0
  325. package/node_modules/zod/v4/core/regexes.js +24 -13
  326. package/node_modules/zod/v4/core/registries.js +2 -2
  327. package/node_modules/zod/v4/core/schemas.cjs +537 -326
  328. package/node_modules/zod/v4/core/schemas.d.cts +100 -31
  329. package/node_modules/zod/v4/core/schemas.d.ts +100 -31
  330. package/node_modules/zod/v4/core/schemas.js +526 -325
  331. package/node_modules/zod/v4/core/to-json-schema.cjs +242 -39
  332. package/node_modules/zod/v4/core/to-json-schema.d.cts +42 -3
  333. package/node_modules/zod/v4/core/to-json-schema.d.ts +42 -3
  334. package/node_modules/zod/v4/core/to-json-schema.js +241 -39
  335. package/node_modules/zod/v4/core/util.cjs +212 -31
  336. package/node_modules/zod/v4/core/util.d.cts +58 -1
  337. package/node_modules/zod/v4/core/util.d.ts +58 -1
  338. package/node_modules/zod/v4/core/util.js +202 -30
  339. package/node_modules/zod/v4/core/versions.cjs +2 -2
  340. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  341. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  342. package/node_modules/zod/v4/core/versions.js +2 -2
  343. package/node_modules/zod/v4/core/visit.cjs +195 -0
  344. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  345. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  346. package/node_modules/zod/v4/core/visit.js +169 -0
  347. package/node_modules/zod/v4/index.cjs +15 -5
  348. package/node_modules/zod/v4/index.d.cts +2 -2
  349. package/node_modules/zod/v4/index.d.ts +2 -2
  350. package/node_modules/zod/v4/index.js +3 -2
  351. package/node_modules/zod/v4/locales/ar.cjs +3 -0
  352. package/node_modules/zod/v4/locales/ar.js +3 -0
  353. package/node_modules/zod/v4/locales/az.cjs +3 -0
  354. package/node_modules/zod/v4/locales/az.js +3 -0
  355. package/node_modules/zod/v4/locales/be.cjs +10 -0
  356. package/node_modules/zod/v4/locales/be.js +10 -0
  357. package/node_modules/zod/v4/locales/bg.cjs +3 -0
  358. package/node_modules/zod/v4/locales/bg.js +3 -0
  359. package/node_modules/zod/v4/locales/bn.cjs +138 -0
  360. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  361. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  362. package/node_modules/zod/v4/locales/bn.js +111 -0
  363. package/node_modules/zod/v4/locales/ca.cjs +3 -0
  364. package/node_modules/zod/v4/locales/ca.js +3 -0
  365. package/node_modules/zod/v4/locales/ckb.cjs +158 -0
  366. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  367. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  368. package/node_modules/zod/v4/locales/ckb.js +131 -0
  369. package/node_modules/zod/v4/locales/cs.cjs +3 -0
  370. package/node_modules/zod/v4/locales/cs.js +3 -0
  371. package/node_modules/zod/v4/locales/da.cjs +5 -2
  372. package/node_modules/zod/v4/locales/da.js +5 -2
  373. package/node_modules/zod/v4/locales/de.cjs +3 -0
  374. package/node_modules/zod/v4/locales/de.js +3 -0
  375. package/node_modules/zod/v4/locales/el.cjs +1 -0
  376. package/node_modules/zod/v4/locales/el.js +1 -0
  377. package/node_modules/zod/v4/locales/en.cjs +14 -4
  378. package/node_modules/zod/v4/locales/en.js +14 -4
  379. package/node_modules/zod/v4/locales/eo.cjs +3 -0
  380. package/node_modules/zod/v4/locales/eo.js +3 -0
  381. package/node_modules/zod/v4/locales/es.cjs +2 -0
  382. package/node_modules/zod/v4/locales/es.js +2 -0
  383. package/node_modules/zod/v4/locales/fa.cjs +3 -0
  384. package/node_modules/zod/v4/locales/fa.js +3 -0
  385. package/node_modules/zod/v4/locales/fi.cjs +3 -0
  386. package/node_modules/zod/v4/locales/fi.js +3 -0
  387. package/node_modules/zod/v4/locales/fr-CA.cjs +3 -0
  388. package/node_modules/zod/v4/locales/fr-CA.js +3 -0
  389. package/node_modules/zod/v4/locales/fr.cjs +16 -14
  390. package/node_modules/zod/v4/locales/fr.js +16 -14
  391. package/node_modules/zod/v4/locales/gu.cjs +138 -0
  392. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  393. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  394. package/node_modules/zod/v4/locales/gu.js +111 -0
  395. package/node_modules/zod/v4/locales/he.cjs +5 -0
  396. package/node_modules/zod/v4/locales/he.js +5 -0
  397. package/node_modules/zod/v4/locales/hi.cjs +136 -0
  398. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  399. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  400. package/node_modules/zod/v4/locales/hi.js +109 -0
  401. package/node_modules/zod/v4/locales/hr.cjs +2 -0
  402. package/node_modules/zod/v4/locales/hr.js +2 -0
  403. package/node_modules/zod/v4/locales/hu.cjs +3 -0
  404. package/node_modules/zod/v4/locales/hu.js +3 -0
  405. package/node_modules/zod/v4/locales/hy.cjs +9 -0
  406. package/node_modules/zod/v4/locales/hy.js +9 -0
  407. package/node_modules/zod/v4/locales/id.cjs +3 -0
  408. package/node_modules/zod/v4/locales/id.js +3 -0
  409. package/node_modules/zod/v4/locales/index.cjs +22 -2
  410. package/node_modules/zod/v4/locales/index.d.cts +10 -0
  411. package/node_modules/zod/v4/locales/index.d.ts +10 -0
  412. package/node_modules/zod/v4/locales/index.js +10 -0
  413. package/node_modules/zod/v4/locales/is.cjs +3 -0
  414. package/node_modules/zod/v4/locales/is.js +3 -0
  415. package/node_modules/zod/v4/locales/it.cjs +3 -0
  416. package/node_modules/zod/v4/locales/it.js +3 -0
  417. package/node_modules/zod/v4/locales/ja.cjs +3 -0
  418. package/node_modules/zod/v4/locales/ja.js +3 -0
  419. package/node_modules/zod/v4/locales/ka.cjs +3 -0
  420. package/node_modules/zod/v4/locales/ka.js +3 -0
  421. package/node_modules/zod/v4/locales/km.cjs +3 -0
  422. package/node_modules/zod/v4/locales/km.js +3 -0
  423. package/node_modules/zod/v4/locales/kn.cjs +141 -0
  424. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  425. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  426. package/node_modules/zod/v4/locales/kn.js +114 -0
  427. package/node_modules/zod/v4/locales/ko.cjs +3 -0
  428. package/node_modules/zod/v4/locales/ko.js +3 -0
  429. package/node_modules/zod/v4/locales/lt.cjs +2 -0
  430. package/node_modules/zod/v4/locales/lt.js +2 -0
  431. package/node_modules/zod/v4/locales/mk.cjs +3 -0
  432. package/node_modules/zod/v4/locales/mk.js +3 -0
  433. package/node_modules/zod/v4/locales/ms.cjs +3 -0
  434. package/node_modules/zod/v4/locales/ms.js +3 -0
  435. package/node_modules/zod/v4/locales/ne.cjs +136 -0
  436. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  437. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  438. package/node_modules/zod/v4/locales/ne.js +109 -0
  439. package/node_modules/zod/v4/locales/nl.cjs +3 -0
  440. package/node_modules/zod/v4/locales/nl.js +3 -0
  441. package/node_modules/zod/v4/locales/nn.cjs +138 -0
  442. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  443. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  444. package/node_modules/zod/v4/locales/nn.js +111 -0
  445. package/node_modules/zod/v4/locales/no.cjs +5 -2
  446. package/node_modules/zod/v4/locales/no.js +5 -2
  447. package/node_modules/zod/v4/locales/ota.cjs +3 -0
  448. package/node_modules/zod/v4/locales/ota.js +3 -0
  449. package/node_modules/zod/v4/locales/pl.cjs +3 -0
  450. package/node_modules/zod/v4/locales/pl.js +3 -0
  451. package/node_modules/zod/v4/locales/ps.cjs +3 -0
  452. package/node_modules/zod/v4/locales/ps.js +3 -0
  453. package/node_modules/zod/v4/locales/pt-BR.cjs +168 -0
  454. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  455. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  456. package/node_modules/zod/v4/locales/pt-BR.js +141 -0
  457. package/node_modules/zod/v4/locales/pt.cjs +87 -55
  458. package/node_modules/zod/v4/locales/pt.js +87 -55
  459. package/node_modules/zod/v4/locales/ro.cjs +1 -0
  460. package/node_modules/zod/v4/locales/ro.js +1 -0
  461. package/node_modules/zod/v4/locales/ru.cjs +10 -0
  462. package/node_modules/zod/v4/locales/ru.js +10 -0
  463. package/node_modules/zod/v4/locales/sk.cjs +141 -0
  464. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  465. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  466. package/node_modules/zod/v4/locales/sk.js +114 -0
  467. package/node_modules/zod/v4/locales/sl.cjs +3 -0
  468. package/node_modules/zod/v4/locales/sl.js +3 -0
  469. package/node_modules/zod/v4/locales/sv.cjs +5 -2
  470. package/node_modules/zod/v4/locales/sv.js +5 -2
  471. package/node_modules/zod/v4/locales/ta.cjs +3 -0
  472. package/node_modules/zod/v4/locales/ta.js +3 -0
  473. package/node_modules/zod/v4/locales/th.cjs +3 -0
  474. package/node_modules/zod/v4/locales/th.js +3 -0
  475. package/node_modules/zod/v4/locales/tk.cjs +132 -0
  476. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  477. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  478. package/node_modules/zod/v4/locales/tk.js +105 -0
  479. package/node_modules/zod/v4/locales/tr.cjs +3 -0
  480. package/node_modules/zod/v4/locales/tr.js +3 -0
  481. package/node_modules/zod/v4/locales/uk.cjs +3 -0
  482. package/node_modules/zod/v4/locales/uk.js +3 -0
  483. package/node_modules/zod/v4/locales/ur.cjs +3 -0
  484. package/node_modules/zod/v4/locales/ur.js +3 -0
  485. package/node_modules/zod/v4/locales/uz.cjs +1 -0
  486. package/node_modules/zod/v4/locales/uz.js +1 -0
  487. package/node_modules/zod/v4/locales/vi.cjs +3 -0
  488. package/node_modules/zod/v4/locales/vi.js +3 -0
  489. package/node_modules/zod/v4/locales/yo.cjs +3 -0
  490. package/node_modules/zod/v4/locales/yo.js +3 -0
  491. package/node_modules/zod/v4/locales/zh-CN.cjs +3 -0
  492. package/node_modules/zod/v4/locales/zh-CN.js +3 -0
  493. package/node_modules/zod/v4/locales/zh-TW.cjs +3 -0
  494. package/node_modules/zod/v4/locales/zh-TW.js +3 -0
  495. package/node_modules/zod/v4/mini/checks.cjs +2 -1
  496. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  497. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  498. package/node_modules/zod/v4/mini/checks.js +1 -1
  499. package/node_modules/zod/v4/mini/deep-partial.cjs +39 -0
  500. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  501. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  502. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  503. package/node_modules/zod/v4/mini/external.cjs +12 -1
  504. package/node_modules/zod/v4/mini/external.d.cts +5 -2
  505. package/node_modules/zod/v4/mini/external.d.ts +5 -2
  506. package/node_modules/zod/v4/mini/external.js +3 -1
  507. package/node_modules/zod/v4/mini/in-out.cjs +63 -0
  508. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  509. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  510. package/node_modules/zod/v4/mini/in-out.js +36 -0
  511. package/node_modules/zod/v4/mini/parse.cjs +3 -1
  512. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  513. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  514. package/node_modules/zod/v4/mini/parse.js +1 -1
  515. package/node_modules/zod/v4/mini/schemas.cjs +75 -47
  516. package/node_modules/zod/v4/mini/schemas.d.cts +43 -13
  517. package/node_modules/zod/v4/mini/schemas.d.ts +43 -13
  518. package/node_modules/zod/v4/mini/schemas.js +71 -45
  519. package/openclaw.plugin.json +38 -42
  520. package/package.json +8 -6
  521. package/dist/transport-probes.runtime-DV7x4VWu.js +0 -2
  522. package/node_modules/zod/src/v4/core/config.ts +0 -15
  523. /package/dist/{identity-YXPmgFMu.js → .setup/identity-YXPmgFMu.mjs} +0 -0
  524. /package/dist/{normalize-l_b99hap.js → .setup/normalize-l_b99hap.mjs} +0 -0
  525. /package/dist/{rolldown-runtime-8H4AJuhK.js → .setup/rolldown-runtime-8H4AJuhK.mjs} +0 -0
@@ -1,5 +1,6 @@
1
- import { a as isSignalManagedNativeConnectionUrlForBind, c as buildSignalTransportHttpUrl, i as assignSignalManagedNativePort, o as isValidSignalManagedNativePort, r as allocateSignalManagedNativePort, s as resolveLocalSignalTransportPort, u as normalizeSignalTransportUrl } from "./transport-policy-DxvSMHp9.js";
2
- import { isRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
1
+ import { a as normalizeSignalTransportUrl, r as buildSignalTransportHttpUrl, s as resolveSignalAccountKey, t as assertSignalSocketTransport } from "./transport-url-CAC0JcuI.mjs";
2
+ import { a as isSignalManagedNativeConnectionUrlForBind, i as assignSignalManagedNativePort, o as isValidSignalManagedNativePort, r as allocateSignalManagedNativePort, s as resolveLocalSignalTransportPort } from "./transport-policy-5VSnj5ma.mjs";
3
+ import { isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
3
4
  import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-resolution";
4
5
  import { defineChannelAliasMigration } from "openclaw/plugin-sdk/runtime-doctor-migrations";
5
6
  //#region extensions/signal/src/config-compat.ts
@@ -22,6 +23,11 @@ const PENDING_LEGACY_CONTAINER_ACCOUNT_WARNING = "- channels.signal: legacy cont
22
23
  function isSignalTransportConfig(value) {
23
24
  if (!isRecord(value)) return false;
24
25
  if (value.kind === "managed-native") {
26
+ try {
27
+ assertSignalSocketTransport(value);
28
+ } catch {
29
+ return false;
30
+ }
25
31
  if (value.httpPort !== void 0 && !isValidSignalManagedNativePort(value.httpPort)) return false;
26
32
  if (value.url === void 0) return true;
27
33
  if (typeof value.url !== "string") return false;
@@ -173,13 +179,15 @@ function signalAccountIds(entries) {
173
179
  const accounts = isRecord(entries[0]?.accounts) ? entries[0].accounts : {};
174
180
  return Object.entries(accounts).filter(([, entry]) => isRecord(entry)).map(([accountId]) => accountId);
175
181
  }
182
+ function resolveNestedDefaultEntryIndex(entries) {
183
+ const accounts = isRecord(entries[0]?.accounts) ? entries[0].accounts : {};
184
+ const key = resolveSignalAccountKey(accounts, DEFAULT_ACCOUNT_ID);
185
+ const offset = signalAccountIds(entries).findIndex((accountId) => accountId === key);
186
+ return offset >= 0 ? offset + 1 : void 0;
187
+ }
176
188
  function isDefaultSignalAccountId(accountId) {
177
189
  return Boolean(accountId?.trim()) && normalizeAccountId(accountId) === DEFAULT_ACCOUNT_ID;
178
190
  }
179
- function resolveSignalAccountKey(accounts, accountId) {
180
- const normalizedAccountId = normalizeAccountId(accountId);
181
- return Object.keys(accounts).find((key) => Boolean(key.trim()) && normalizeAccountId(key) === normalizedAccountId);
182
- }
183
191
  function nestedDefaultOwnsEffectiveTransport(entries) {
184
192
  const accounts = isRecord(entries[0]?.accounts) ? entries[0].accounts : {};
185
193
  const nestedDefaultKey = resolveSignalAccountKey(accounts, DEFAULT_ACCOUNT_ID);
@@ -188,7 +196,7 @@ function nestedDefaultOwnsEffectiveTransport(entries) {
188
196
  }
189
197
  function isDiscardedTransportEntry(entries, index) {
190
198
  if (index === 0) return !hasRootSignalAccount(entries) || nestedDefaultOwnsEffectiveTransport(entries);
191
- return isDefaultSignalAccountId(signalAccountIds(entries)[index - 1]) && isSignalTransportConfig(entries[0]?.transport);
199
+ return index === resolveNestedDefaultEntryIndex(entries) && isSignalTransportConfig(entries[0]?.transport);
192
200
  }
193
201
  function shouldMaterializeTransport(entries, index) {
194
202
  if (isDiscardedTransportEntry(entries, index)) return false;
@@ -221,10 +229,11 @@ function clearLegacySignalTransportFieldsForAccount(params) {
221
229
  function allocateMigratedManagedPorts(params) {
222
230
  const reservedPorts = /* @__PURE__ */ new Set();
223
231
  const rootIsAccount = hasRootSignalAccount(params.entries);
224
- const nestedDefaultOffset = signalAccountIds(params.entries).findIndex((accountId) => isDefaultSignalAccountId(accountId));
225
- const canonicalDefaultIndex = isSignalTransportConfig(params.entries[0]?.transport) ? 0 : nestedDefaultOffset >= 0 ? nestedDefaultOffset + 1 : rootIsAccount ? 0 : void 0;
232
+ const nestedDefaultIndex = resolveNestedDefaultEntryIndex(params.entries);
233
+ const canonicalDefaultIndex = isSignalTransportConfig(params.entries[0]?.transport) ? 0 : nestedDefaultIndex !== void 0 ? nestedDefaultIndex : rootIsAccount ? 0 : void 0;
226
234
  for (const [index, transport] of params.transports.entries()) {
227
235
  if (!transport || index === 0 && canonicalDefaultIndex !== 0) continue;
236
+ if (transport.kind === "managed-native" && transport.socketPath !== void 0) continue;
228
237
  if (transport.kind !== "managed-native") {
229
238
  const localPort = resolveLocalSignalTransportPort(transport.url);
230
239
  if (localPort !== void 0) reservedPorts.add(localPort);
@@ -238,7 +247,7 @@ function allocateMigratedManagedPorts(params) {
238
247
  }
239
248
  return params.transports.map((transport, index) => {
240
249
  if (!transport || index === 0 && canonicalDefaultIndex !== 0) return transport;
241
- if (transport.kind !== "managed-native") return transport;
250
+ if (transport.kind !== "managed-native" || transport.socketPath !== void 0) return transport;
242
251
  if (isRecord(params.entries[index]?.transport) || index === canonicalDefaultIndex) return transport;
243
252
  const rawPreferredPort = params.entries[index]?.httpPort;
244
253
  const preferredPort = typeof rawPreferredPort === "number" ? rawPreferredPort : transport.httpPort;
@@ -254,13 +263,13 @@ function applyMigratedSignalTransports(params) {
254
263
  const next = structuredClone(params.cfg);
255
264
  const nextSignal = next.channels?.signal;
256
265
  if (!isRecord(nextSignal)) return;
257
- const accountIds = signalAccountIds(params.entries);
266
+ const nestedDefaultIndex = resolveNestedDefaultEntryIndex(params.entries);
258
267
  const nextAccounts = isRecord(nextSignal.accounts) ? nextSignal.accounts : {};
259
268
  const nextEntries = [nextSignal, ...Object.values(nextAccounts).filter(isRecord)];
260
269
  const rootIsAccount = hasRootSignalAccount(params.entries);
261
270
  const canonicalRootTransport = isSignalTransportConfig(params.entries[0]?.transport) ? params.entries[0].transport : void 0;
262
271
  for (const [index, entry] of nextEntries.entries()) {
263
- if (isDefaultSignalAccountId(index === 0 ? void 0 : accountIds[index - 1])) {
272
+ if (index === nestedDefaultIndex) {
264
273
  const defaultTransport = canonicalRootTransport ?? params.transports[index];
265
274
  if (defaultTransport) nextSignal.transport = defaultTransport;
266
275
  else delete nextSignal.transport;
@@ -306,6 +315,11 @@ function prepareLegacySignalTransportMigration(cfg) {
306
315
  };
307
316
  const apiMode = signal.apiMode;
308
317
  const entries = [signal, ...Object.values(accounts).filter(isRecord)];
318
+ if (entries.some((entry) => isRecord(entry.transport) && Object.hasOwn(entry.transport, "socketPath") && (entry.transport.kind !== "managed-native" || !isSignalTransportConfig(entry.transport)))) return {
319
+ config: cfg,
320
+ changes: [],
321
+ warnings: ["- channels.signal: invalid transport.socketPath configuration; correct the socket path and remove conflicting HTTP or receiveMode on-start options, then run openclaw doctor --fix."]
322
+ };
309
323
  const legacyResolutionEntries = entries.filter((_, index) => shouldMaterializeTransport(entries, index)).filter((entry) => !isSignalTransportConfig(entry.transport));
310
324
  const invalidDerivedEndpoint = findInvalidLegacyDerivedEndpoint(legacyResolutionEntries, signal);
311
325
  if (invalidDerivedEndpoint) return {
@@ -390,6 +404,51 @@ function migrateLegacySignalTransportConfigSync(cfg) {
390
404
  }));
391
405
  }
392
406
  //#endregion
407
+ //#region extensions/signal/src/account-key-repair.ts
408
+ function repairSignalAccountKeys({ cfg }) {
409
+ const signal = cfg.channels?.signal;
410
+ const accounts = signal?.accounts;
411
+ if (!accounts) return {
412
+ config: cfg,
413
+ changes: []
414
+ };
415
+ const groups = /* @__PURE__ */ new Map();
416
+ for (const key of Object.keys(accounts)) if (key) {
417
+ const id = normalizeAccountId(key);
418
+ groups.set(id, [...groups.get(id) ?? [], key]);
419
+ }
420
+ const moves = /* @__PURE__ */ new Map();
421
+ const warnings = [];
422
+ for (const [id, keys] of groups) {
423
+ if (keys.length > 1) {
424
+ warnings.push(`Signal account keys ${keys.map((key) => JSON.stringify(key)).join(", ")} resolve to "${id}". Doctor preserved them; rename them so each account has a unique normalized key.`);
425
+ continue;
426
+ }
427
+ for (const key of keys) if (normalizeLowercaseStringOrEmpty(key) !== id) {
428
+ if (resolveSignalAccountKey(accounts, id) !== key) {
429
+ warnings.push(`Signal account "${key}" is listed as "${id}" but currently uses the channel defaults. Doctor preserved it to avoid changing a working account; check its settings before renaming the key to "${id}".`);
430
+ continue;
431
+ }
432
+ moves.set(key, id);
433
+ }
434
+ }
435
+ const repaired = Object.fromEntries(Object.entries(accounts).map(([key, entry]) => [moves.get(key) ?? key, entry]));
436
+ return {
437
+ config: moves.size ? {
438
+ ...cfg,
439
+ channels: {
440
+ ...cfg.channels,
441
+ signal: {
442
+ ...signal,
443
+ accounts: repaired
444
+ }
445
+ }
446
+ } : cfg,
447
+ changes: [...moves].map(([from, to]) => `Moved Signal account "${from}" to channels.signal.accounts.${to}.`),
448
+ warnings
449
+ };
450
+ }
451
+ //#endregion
393
452
  //#region extensions/signal/config-doctor-api.ts
394
453
  const RETIRED_SIGNAL_ACCOUNT_TRANSPORT_FIELDS = [
395
454
  "configPath",
@@ -434,13 +493,18 @@ const legacyConfigRules = [
434
493
  }
435
494
  ];
436
495
  function normalizeCompatibilityConfig({ cfg }) {
437
- const streaming = streamingAliasMigration.normalizeChannelConfig({ cfg });
496
+ const accountKeys = repairSignalAccountKeys({ cfg });
497
+ const streaming = streamingAliasMigration.normalizeChannelConfig({ cfg: accountKeys.config });
438
498
  const transport = migrateLegacySignalTransportConfigSync(streaming.config);
439
499
  return {
440
500
  config: transport.config,
441
- changes: [...streaming.changes, ...transport.changes],
501
+ changes: [
502
+ ...accountKeys.changes,
503
+ ...streaming.changes,
504
+ ...transport.changes
505
+ ],
442
506
  ...transport.warnings?.length ? { warnings: transport.warnings } : {}
443
507
  };
444
508
  }
445
509
  //#endregion
446
- export { migrateLegacySignalTransportConfig as i, normalizeCompatibilityConfig as n, clearLegacySignalTransportFieldsForAccount as r, legacyConfigRules as t };
510
+ export { migrateLegacySignalTransportConfig as a, clearLegacySignalTransportFieldsForAccount as i, normalizeCompatibilityConfig as n, repairSignalAccountKeys as r, legacyConfigRules as t };
@@ -1,10 +1,10 @@
1
1
  import { isRecord, normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
2
+ import path from "node:path";
2
3
  import { truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
3
4
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
4
- import path from "node:path";
5
+ import fs from "node:fs/promises";
5
6
  import { CONFIG_DIR, extractArchive, resolveBrewExecutable } from "openclaw/plugin-sdk/setup-tools";
6
7
  import { createWriteStream } from "node:fs";
7
- import fs from "node:fs/promises";
8
8
  import { Readable, Transform } from "node:stream";
9
9
  import { pipeline } from "node:stream/promises";
10
10
  import { readProviderJsonObjectResponse } from "openclaw/plugin-sdk/provider-http";
@@ -13,7 +13,6 @@ import { fetchWithSsrFGuard } from "openclaw/plugin-sdk/ssrf-runtime";
13
13
  import { withTempDownloadPath } from "openclaw/plugin-sdk/temp-path";
14
14
  //#region extensions/signal/src/install-signal-cli.ts
15
15
  const MAX_SIGNAL_CLI_ARCHIVE_BYTES = 268435456;
16
- /** @internal Exported for testing. */
17
16
  const MAX_SIGNAL_CLI_EXTRACTED_BYTES = 402653184;
18
17
  const SIGNAL_CLI_DOWNLOAD_TIMEOUT_MS = 3e5;
19
18
  const SIGNAL_CLI_RELEASE_INFO_TIMEOUT_MS = 3e4;
@@ -290,4 +289,4 @@ async function installSignalCli(runtime) {
290
289
  return installSignalCliViaBrew(runtime);
291
290
  }
292
291
  //#endregion
293
- export { installSignalCliFromRelease as a, installSignalCli as i, downloadToFile as n, looksLikeArchive as o, extractSignalCliArchive as r, pickAsset as s, MAX_SIGNAL_CLI_EXTRACTED_BYTES as t };
292
+ export { looksLikeArchive as a, installSignalCliFromRelease as i, extractSignalCliArchive as n, pickAsset as o, installSignalCli as r, downloadToFile as t };
@@ -1,26 +1,28 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { l as normalizeSignalTransportHost } from "./transport-policy-DxvSMHp9.js";
3
- import { i as resolveSignalAccount, o as resolveSignalReplyToMode } from "./accounts-DO4HMqaK.js";
4
- import { n as normalizeSignalMessagingTarget } from "./normalize-l_b99hap.js";
5
- import { a as normalizeSignalAllowRecipient, c as resolveSignalSender, i as isSignalSenderAllowed, l as looksLikeUuid, n as formatSignalSenderDisplay, o as resolveSignalPeerId, r as formatSignalSenderId, s as resolveSignalRecipient, t as formatSignalPairingIdLine } from "./identity-YXPmgFMu.js";
6
- import { c as resolveSignalReactionLevel, f as isSignalNativeApprovalHandlerConfigured, i as getOptionalSignalRuntime, l as formatSignalMediaText, n as registerSignalReplyContext, o as materializeSignalPresentationFallback } from "./transport-detection-BD__qywn.js";
7
- import { t as SignalSseRejectionError } from "./client-B3C0ciqU.js";
8
- import { n as signalRpcRequest, r as streamSignalEvents, t as signalCheck } from "./client-adapter-CNc5wzzs.js";
9
- import { n as sendReactionSignal } from "./reaction-runtime-api-CWqDv5-q.js";
10
- import { i as maybeResolveSignalApprovalReaction, o as registerSignalApprovalReactionTargetForDeliveredPayload, s as resolveSignalApprovalConversationKey, t as addSignalApprovalReactionHintToStructuredPayload } from "./approval-reactions-Cub0slPC.js";
11
- import { r as registerSignalQuestionReactionTargetForDeliveredPayload, t as maybeResolveSignalQuestionReaction } from "./question-reactions-B06vyt3T.js";
12
- import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-BvWSfyNf.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.mjs";
2
+ import { i as normalizeSignalTransportHost } from "./transport-url-CAC0JcuI.mjs";
3
+ import { i as resolveSignalAccount, o as resolveSignalReplyToMode } from "./accounts-BV6tDOTc.mjs";
4
+ import { n as normalizeSignalMessagingTarget } from "./normalize-l_b99hap.mjs";
5
+ import { a as normalizeSignalAllowRecipient, c as resolveSignalSender, i as isSignalSenderAllowed, l as looksLikeUuid, n as formatSignalSenderDisplay, o as resolveSignalPeerId, r as formatSignalSenderId, s as resolveSignalRecipient, t as formatSignalPairingIdLine } from "./identity-YXPmgFMu.mjs";
6
+ import { c as resolveSignalReactionLevel, f as isSignalNativeApprovalHandlerConfigured, i as getOptionalSignalRuntime, l as formatSignalMediaText, n as registerSignalReplyContext, o as materializeSignalPresentationFallback } from "./transport-detection-CqyR2vG8.mjs";
7
+ import { a as prepareSignalSocketPath, t as SignalSseRejectionError } from "./client-BseAt7F7.mjs";
8
+ import { n as signalRpcRequest, r as streamSignalEvents, t as signalCheck } from "./client-adapter-dvFa47YL.mjs";
9
+ import { n as sendReactionSignal } from "./reaction-runtime-api-BnQGHcrB.mjs";
10
+ import { i as maybeResolveSignalApprovalReaction, o as registerSignalApprovalReactionTargetForDeliveredPayload, s as resolveSignalApprovalConversationKey, t as addSignalApprovalReactionHintToStructuredPayload } from "./approval-reactions-B25QoVJc.mjs";
11
+ import { r as registerSignalQuestionReactionTargetForDeliveredPayload, t as maybeResolveSignalQuestionReaction } from "./question-reactions-DSNAD0cd.mjs";
12
+ import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-CcetN4rk.mjs";
13
13
  import { bindIngressLifecycleToReplyOptions, createChannelIngressError, createChannelIngressMonitor, createChannelMessageReplyPipeline, resolveChannelStreamingBlockEnabled } from "openclaw/plugin-sdk/channel-outbound";
14
14
  import { createChannelPairingChallengeIssuer } from "openclaw/plugin-sdk/channel-pairing";
15
15
  import { resolveAgentRoute, resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
16
16
  import { asPositiveSafeInteger, isRecord, normalizeNullableString, normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
17
+ import path from "node:path";
17
18
  import { CHANNEL_APPROVAL_NATIVE_RUNTIME_CONTEXT_CAPABILITY } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
18
19
  import { normalizeE164, truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
19
20
  import { buildChannelInboundEventContext, buildMentionRegexes, createChannelInboundDebouncer, filterChannelInboundQuoteContext, formatInboundEnvelope, formatInboundFromLabel, formatInboundMediaUnavailableText, hasVisibleInboundReplyDispatch, logInboundDrop, matchesMentionPatterns, readAgentRunTerminalOutcome, resolveEnvelopeFormatOptions, resolveInboundDebounceMs, resolveInboundMentionDecision, resolveInboundSupplementalSenderAllowed, runChannelInboundEvent, shouldDebounceTextInbound, toHistoryMediaEntries, toInboundMediaFactsWithMetadata } from "openclaw/plugin-sdk/channel-inbound";
20
21
  import { canonicalizeBase64, detectMime, estimateBase64DecodedBytes, kindFromMime, saveMediaBuffer } from "openclaw/plugin-sdk/media-runtime";
21
22
  import { collectErrorGraphCandidates, formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
22
23
  import { ensurePortAvailable, extractErrorCode, formatErrorMessage as formatErrorMessage$1, resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/security-runtime";
23
- import path from "node:path";
24
+ import { spawn } from "node:child_process";
25
+ import os from "node:os";
24
26
  import { resolveChannelGroupPolicy, resolveChannelGroupRequireMention, resolveChannelGroups, resolveChannelGroupsConfigPath } from "openclaw/plugin-sdk/channel-policy";
25
27
  import { registerChannelRuntimeContext } from "openclaw/plugin-sdk/channel-runtime-context";
26
28
  import { DEFAULT_GROUP_HISTORY_LIMIT, createChannelHistoryWindow } from "openclaw/plugin-sdk/reply-history";
@@ -30,8 +32,6 @@ import { createRuntimeConfigReader, getRuntimeConfig } from "openclaw/plugin-sdk
30
32
  import { computeBackoff, createNonExitingRuntime, danger, logVerbose, shouldLogVerbose, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
31
33
  import { resolveAllowlistProviderRuntimeGroupPolicy, resolveDefaultGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
32
34
  import { waitForTransportReady } from "openclaw/plugin-sdk/transport-ready-runtime";
33
- import { spawn } from "node:child_process";
34
- import os from "node:os";
35
35
  import { createInterface } from "node:readline";
36
36
  import { setTimeout as setTimeout$1 } from "node:timers/promises";
37
37
  import { resolveHumanDelayConfig } from "openclaw/plugin-sdk/agent-runtime";
@@ -56,6 +56,12 @@ function formatSignalDaemonEndpoint(httpHost, httpPort) {
56
56
  return `${httpHost.includes(":") ? `[${httpHost}]` : httpHost}:${httpPort}`;
57
57
  }
58
58
  async function assertSignalDaemonEndpointAvailable(params) {
59
+ if (params.socketPath) {
60
+ params.abortSignal?.throwIfAborted();
61
+ await prepareSignalSocketPath(params.socketPath, params.abortSignal);
62
+ params.abortSignal?.throwIfAborted();
63
+ return;
64
+ }
59
65
  try {
60
66
  await ensurePortAvailable(params.httpPort, params.httpHost, params.abortSignal);
61
67
  } catch (error) {
@@ -123,9 +129,11 @@ function buildDaemonArgs(opts) {
123
129
  if (opts.configPath?.trim()) args.push("--config", resolveSignalCliConfigPath(opts.configPath));
124
130
  if (opts.account) args.push("-a", opts.account);
125
131
  args.push("daemon");
126
- args.push("--http", `${opts.httpHost}:${opts.httpPort}`);
132
+ if (opts.socketPath) args.push("--socket", opts.socketPath);
133
+ else args.push("--http", `${opts.httpHost}:${opts.httpPort}`);
127
134
  args.push("--no-receive-stdout");
128
- if (opts.receiveMode) args.push("--receive-mode", opts.receiveMode);
135
+ if (opts.socketPath) args.push("--receive-mode", "manual");
136
+ else if (opts.receiveMode) args.push("--receive-mode", opts.receiveMode);
129
137
  if (opts.ignoreAttachments) args.push("--ignore-attachments");
130
138
  if (opts.ignoreStories) args.push("--ignore-stories");
131
139
  if (opts.sendReadReceipts) args.push("--send-read-receipts");
@@ -271,50 +279,30 @@ function createSignalNativeReplyIdPlan(params) {
271
279
  const replyToId = resolveSignalNativeReplyId(params);
272
280
  if (!replyToId) return {
273
281
  peek: () => void 0,
274
- use: () => void 0,
275
282
  markSent: () => void 0
276
283
  };
277
284
  const isExplicitReply = params.payload.replyToTag === true || params.payload.replyToCurrent === true;
278
- if (isSignalStatusNoticePayload(params.payload)) {
279
- const resolve = params.replyToMode === "off" ? () => void 0 : () => replyToId;
280
- return {
281
- peek: resolve,
282
- use: resolve,
283
- markSent: () => void 0
284
- };
285
- }
286
- if (isExplicitReply) {
287
- const resolve = () => replyToId;
288
- return {
289
- peek: resolve,
290
- use: resolve,
291
- markSent: () => void 0
292
- };
293
- }
285
+ if (isSignalStatusNoticePayload(params.payload)) return {
286
+ peek: params.replyToMode === "off" ? () => void 0 : () => replyToId,
287
+ markSent: () => void 0
288
+ };
289
+ if (isExplicitReply) return {
290
+ peek: () => replyToId,
291
+ markSent: () => void 0
292
+ };
294
293
  const planner = createReplyReferencePlanner({
295
294
  replyToMode: params.replyToMode,
296
295
  existingId: replyToId,
297
296
  hasReplied: params.replyContext?.state?.hasReplied
298
297
  });
299
- const syncState = () => {
300
- if (params.replyContext?.state) params.replyContext.state.hasReplied = planner.hasReplied();
301
- };
302
298
  return {
303
299
  peek: () => planner.peek(),
304
- use: () => {
305
- const nextReplyToId = planner.use();
306
- syncState();
307
- return nextReplyToId;
308
- },
309
300
  markSent: () => {
310
301
  planner.markSent();
311
- syncState();
302
+ if (params.replyContext?.state) params.replyContext.state.hasReplied = planner.hasReplied();
312
303
  }
313
304
  };
314
305
  }
315
- function createSignalNativeReplyIdResolver(params) {
316
- return createSignalNativeReplyIdPlan(params).use;
317
- }
318
306
  //#endregion
319
307
  //#region extensions/signal/src/monitor/access-policy.ts
320
308
  const SIGNAL_UUID_KIND = "plugin:signal-uuid";
@@ -1579,9 +1567,9 @@ function createSignalEventHandler(deps) {
1579
1567
  }
1580
1568
  //#endregion
1581
1569
  //#region extensions/signal/src/reaction-targets.ts
1582
- function registerSignalReactionTargetsForDeliveredPayload(params) {
1570
+ async function registerSignalReactionTargetsForDeliveredPayload(params) {
1583
1571
  registerSignalQuestionReactionTargetForDeliveredPayload(params);
1584
- registerSignalApprovalReactionTargetForDeliveredPayload(params);
1572
+ await registerSignalApprovalReactionTargetForDeliveredPayload(params);
1585
1573
  }
1586
1574
  //#endregion
1587
1575
  //#region extensions/signal/src/signal-ingress.ts
@@ -1889,6 +1877,7 @@ async function deliverReplies(params) {
1889
1877
  accountId,
1890
1878
  chatType: params.chatType
1891
1879
  });
1880
+ const replyToAuthor = normalizeOptionalString(params.replyContext?.author);
1892
1881
  for (const payload of replies) {
1893
1882
  const deliveryResults = [];
1894
1883
  const presentationPayload = materializeSignalPresentationFallback(payload);
@@ -1901,12 +1890,29 @@ async function deliverReplies(params) {
1901
1890
  targetAuthorUuid: accountUuid
1902
1891
  }) ?? presentationPayload;
1903
1892
  const reply = resolveSendableOutboundReplyParts(deliveredPayload);
1904
- const nextNativeReply = createSignalNativeReplyResolver({
1893
+ const replyPlan = createSignalNativeReplyIdPlan({
1905
1894
  payload: deliveredPayload,
1906
1895
  replyContext: params.replyContext,
1907
1896
  replyToMode
1908
1897
  });
1909
- const recordDeliveryResult = (result, visibleText) => {
1898
+ const send = async (visibleText, mediaUrl) => {
1899
+ const replyToId = replyPlan.peek();
1900
+ const result = await sendMessageSignal(target, visibleText, {
1901
+ cfg: params.cfg,
1902
+ baseUrl,
1903
+ account,
1904
+ maxBytes,
1905
+ accountId,
1906
+ ...mediaUrl ? { mediaUrl } : {},
1907
+ ...replyToId ? {
1908
+ replyToId,
1909
+ ...replyToAuthor ? {
1910
+ replyToAuthor,
1911
+ replyToBody: params.replyContext?.body ?? ""
1912
+ } : {}
1913
+ } : {}
1914
+ });
1915
+ replyPlan.markSent();
1910
1916
  const messageId = typeof result?.messageId === "string" && result.messageId.trim() ? result.messageId.trim() : null;
1911
1917
  if (messageId) deliveryResults.push({
1912
1918
  channel: "signal",
@@ -1918,30 +1924,10 @@ async function deliverReplies(params) {
1918
1924
  payload: deliveredPayload,
1919
1925
  text: reply.text,
1920
1926
  chunkText: (value) => chunkTextWithMode(value, textLimit, chunkMode),
1921
- sendText: async (chunk) => {
1922
- recordDeliveryResult(await sendMessageSignal(target, chunk, {
1923
- cfg: params.cfg,
1924
- baseUrl,
1925
- account,
1926
- maxBytes,
1927
- accountId,
1928
- ...nextNativeReply()
1929
- }), chunk);
1930
- },
1931
- sendMedia: async ({ mediaUrl, caption }) => {
1932
- const visibleText = caption ?? "";
1933
- recordDeliveryResult(await sendMessageSignal(target, visibleText, {
1934
- cfg: params.cfg,
1935
- baseUrl,
1936
- account,
1937
- mediaUrl,
1938
- maxBytes,
1939
- accountId,
1940
- ...nextNativeReply()
1941
- }), visibleText);
1942
- }
1927
+ sendText: send,
1928
+ sendMedia: ({ mediaUrl, caption }) => send(caption ?? "", mediaUrl)
1943
1929
  }) !== "empty") {
1944
- registerSignalReactionTargetsForDeliveredPayload({
1930
+ await registerSignalReactionTargetsForDeliveredPayload({
1945
1931
  cfg: params.cfg,
1946
1932
  target: {
1947
1933
  channel: "signal",
@@ -1957,21 +1943,6 @@ async function deliverReplies(params) {
1957
1943
  }
1958
1944
  }
1959
1945
  }
1960
- function createSignalNativeReplyResolver(params) {
1961
- const nextReplyToId = createSignalNativeReplyIdResolver(params);
1962
- return () => {
1963
- const replyToId = nextReplyToId();
1964
- if (!replyToId) return {};
1965
- const replyToAuthor = normalizeOptionalString(params.replyContext?.author);
1966
- return {
1967
- replyToId,
1968
- ...replyToAuthor ? {
1969
- replyToAuthor,
1970
- replyToBody: params.replyContext?.body ?? ""
1971
- } : {}
1972
- };
1973
- };
1974
- }
1975
1946
  async function monitorSignalProvider(opts = {}) {
1976
1947
  const runtime = opts.runtime ?? createNonExitingRuntime();
1977
1948
  const cfg = opts.config ?? getRuntimeConfig();
@@ -2005,6 +1976,8 @@ async function monitorSignalProvider(opts = {}) {
2005
1976
  const mediaMaxBytes = (opts.mediaMaxMb ?? accountInfo.config.mediaMaxMb ?? 8) * 1024 * 1024;
2006
1977
  const transportKind = accountInfo.transport.kind;
2007
1978
  const managedTransport = accountInfo.transport.kind === "managed-native" ? accountInfo.transport : void 0;
1979
+ const socketPath = managedTransport?.socketPath;
1980
+ if (socketPath && (opts.baseUrl !== void 0 || opts.httpHost !== void 0 || opts.httpPort !== void 0)) throw new Error("Signal socket transport cannot be combined with HTTP endpoint overrides");
2008
1981
  const ignoreAttachments = opts.ignoreAttachments ?? accountInfo.config.ignoreAttachments ?? false;
2009
1982
  const sendReadReceipts = Boolean(opts.sendReadReceipts ?? accountInfo.config.sendReadReceipts);
2010
1983
  const waitForTransportReadyFn = opts.waitForTransportReady ?? waitForTransportReady;
@@ -2027,6 +2000,7 @@ async function monitorSignalProvider(opts = {}) {
2027
2000
  await assertSignalDaemonEndpointAvailable({
2028
2001
  httpHost,
2029
2002
  httpPort,
2003
+ ...socketPath ? { socketPath } : {},
2030
2004
  abortSignal: endpointProbeSignal
2031
2005
  });
2032
2006
  } catch (error) {
@@ -2042,6 +2016,7 @@ async function monitorSignalProvider(opts = {}) {
2042
2016
  account,
2043
2017
  httpHost,
2044
2018
  httpPort,
2019
+ ...socketPath ? { socketPath } : {},
2045
2020
  receiveMode: opts.receiveMode ?? managedTransport?.receiveMode,
2046
2021
  ignoreAttachments: opts.ignoreAttachments ?? accountInfo.config.ignoreAttachments,
2047
2022
  ignoreStories: opts.ignoreStories ?? managedTransport?.ignoreStories,
@@ -1,6 +1,6 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { t as detectSignalTransport } from "./transport-detection-BD__qywn.js";
3
- import { n as signalRpcRequest, t as signalCheck } from "./client-adapter-CNc5wzzs.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.mjs";
2
+ import { t as detectSignalTransport } from "./transport-detection-CqyR2vG8.mjs";
3
+ import { n as signalRpcRequest, t as signalCheck } from "./client-adapter-dvFa47YL.mjs";
4
4
  import { runChannelProbe } from "openclaw/plugin-sdk/text-utility-runtime";
5
5
  import { formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
6
6
  //#region extensions/signal/src/probe.ts
@@ -1,6 +1,6 @@
1
- import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.js";
2
- import { i as resolveSignalDeliveredConversationKey } from "./approval-auth-pNCKKotV.js";
3
- import { c as resolveSignalApprovalTargetAuthorKeys } from "./approval-reactions-Cub0slPC.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-8H4AJuhK.mjs";
2
+ import { i as resolveSignalDeliveredConversationKey } from "./approval-auth-BBI9BTRm.mjs";
3
+ import { c as resolveSignalApprovalTargetAuthorKeys } from "./approval-reactions-B25QoVJc.mjs";
4
4
  import { createQuestionReactionTargetStore, questionGatewayRuntime } from "openclaw/plugin-sdk/question-gateway-runtime";
5
5
  import { normalizeAccountId } from "openclaw/plugin-sdk/routing";
6
6
  //#region extensions/signal/src/question-reactions.ts
@@ -1,7 +1,7 @@
1
- import { i as resolveSignalAccount } from "./accounts-DO4HMqaK.js";
2
- import { r as normalizeSignalReactionRecipient } from "./normalize-l_b99hap.js";
3
- import { n as signalRpcRequest } from "./client-adapter-CNc5wzzs.js";
4
- import { t as resolveSignalRpcContext } from "./rpc-context-dXSy4NtF.js";
1
+ import { i as resolveSignalAccount } from "./accounts-BV6tDOTc.mjs";
2
+ import { r as normalizeSignalReactionRecipient } from "./normalize-l_b99hap.mjs";
3
+ import { n as signalRpcRequest } from "./client-adapter-dvFa47YL.mjs";
4
+ import { t as resolveSignalRpcContext } from "./rpc-context-CwwADZ1b.mjs";
5
5
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
6
6
  //#region extensions/signal/src/send-reactions.ts
7
7
  async function sendReactionSignalCore(params) {
@@ -38,7 +38,8 @@ async function sendReactionSignalCore(params) {
38
38
  timestamp: (await signalRpcRequest("sendReaction", requestParams, {
39
39
  baseUrl,
40
40
  timeoutMs: params.opts.timeoutMs,
41
- transportKind: params.opts.transportKind ?? accountInfo.transport.kind
41
+ transportKind: params.opts.transportKind ?? accountInfo.transport.kind,
42
+ assertDirectAdapterHandoff: params.opts.assertDirectAdapterHandoff
42
43
  }))?.timestamp
43
44
  };
44
45
  }
@@ -1,4 +1,4 @@
1
- import "./accounts-DO4HMqaK.js";
1
+ import "./accounts-BV6tDOTc.mjs";
2
2
  //#region extensions/signal/src/rpc-context.ts
3
3
  function resolveSignalRpcContext(opts, accountInfo) {
4
4
  const baseUrlOverride = opts.baseUrl?.trim();
@@ -1,8 +1,8 @@
1
- import { i as resolveSignalAccount } from "./accounts-DO4HMqaK.js";
2
- import { n as normalizeSignalMessagingTarget } from "./normalize-l_b99hap.js";
3
- import { n as registerSignalReplyContext, u as markdownToSignalText } from "./transport-detection-BD__qywn.js";
4
- import { n as signalRpcRequest } from "./client-adapter-CNc5wzzs.js";
5
- import { t as resolveSignalRpcContext } from "./rpc-context-dXSy4NtF.js";
1
+ import { i as resolveSignalAccount } from "./accounts-BV6tDOTc.mjs";
2
+ import { n as normalizeSignalMessagingTarget } from "./normalize-l_b99hap.mjs";
3
+ import { n as registerSignalReplyContext, u as markdownToSignalText } from "./transport-detection-CqyR2vG8.mjs";
4
+ import { n as signalRpcRequest } from "./client-adapter-dvFa47YL.mjs";
5
+ import { t as resolveSignalRpcContext } from "./rpc-context-CwwADZ1b.mjs";
6
6
  import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
7
7
  import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
8
8
  import { normalizeLowercaseStringOrEmpty, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
@@ -189,7 +189,8 @@ async function sendMessageSignal(to, text, opts) {
189
189
  baseUrl,
190
190
  timeoutMs: opts.timeoutMs,
191
191
  transportKind: opts.transportKind ?? accountInfo.transport.kind,
192
- maxAttachmentBytes: maxBytes
192
+ maxAttachmentBytes: maxBytes,
193
+ assertDirectAdapterHandoff: opts.assertDirectAdapterHandoff
193
194
  };
194
195
  let nativeReplyStatus;
195
196
  let result;
@@ -1,2 +1,2 @@
1
- import { r as sendTypingSignal, t as sendMessageSignal } from "./send-BvWSfyNf.js";
1
+ import { r as sendTypingSignal, t as sendMessageSignal } from "./send-CcetN4rk.mjs";
2
2
  export { sendMessageSignal, sendTypingSignal };