@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,8 +1,8 @@
1
- import { u as normalizeSignalTransportUrl } from "./transport-policy-DxvSMHp9.js";
2
- import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./accounts-DO4HMqaK.js";
3
- import { n as normalizeSignalMessagingTarget, r as normalizeSignalReactionRecipient } from "./normalize-l_b99hap.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-CWqDv5-q.js";
1
+ import { a as normalizeSignalTransportUrl } from "./transport-url-CAC0JcuI.mjs";
2
+ import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./accounts-BV6tDOTc.mjs";
3
+ import { n as normalizeSignalMessagingTarget, r as normalizeSignalReactionRecipient } from "./normalize-l_b99hap.mjs";
4
+ import { n as signalApprovalAuth, t as getSignalApprovalApprovers } from "./approval-auth-BBI9BTRm.mjs";
5
+ import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-BnQGHcrB.mjs";
6
6
  import { DEFAULT_ACCOUNT_ID } from "openclaw/plugin-sdk/account-id";
7
7
  import { questionGatewayRuntime } from "openclaw/plugin-sdk/question-gateway-runtime";
8
8
  import { parseAgentSessionKey } from "openclaw/plugin-sdk/routing";
@@ -58,6 +58,7 @@ const signalApproval = createApproverRestrictedNativeApprovalCapabilityFromForwa
58
58
  }).manualFallbackPayload }
59
59
  },
60
60
  createNativeRuntime: (routing) => createLazyChannelApprovalNativeRuntimeAdapter({
61
+ capabilityBoundary: true,
61
62
  eventKinds: [
62
63
  "exec",
63
64
  "plugin",
@@ -73,7 +74,7 @@ const signalApproval = createApproverRestrictedNativeApprovalCapabilityFromForwa
73
74
  approvalKind,
74
75
  request
75
76
  }),
76
- load: async () => (await import("./approval-handler.runtime-X6DXgK_3.js")).signalApprovalNativeRuntime
77
+ load: async () => (await import("./approval-handler.runtime-Clf_1IZj.mjs")).signalApprovalNativeRuntime
77
78
  })
78
79
  });
79
80
  const signalApprovalRouting = signalApproval.routing;
@@ -169,6 +170,7 @@ function markdownToSignalText(markdown, options = {}) {
169
170
  }
170
171
  function markdownToSignalTextChunks(markdown, limit, options = {}) {
171
172
  const ir = markdownToSignalIR(markdown, options);
173
+ if (ir.listItems && ir.text.length > limit) ir.listItems = ir.listItems.map((item) => ({ ...item }));
172
174
  return renderMarkdownIRChunksWithinLimit({
173
175
  ir,
174
176
  limit,
@@ -234,7 +236,8 @@ async function mutateSignalReaction(params) {
234
236
  accountId: params.accountId,
235
237
  groupId: params.target.groupId,
236
238
  targetAuthor: params.targetAuthor,
237
- targetAuthorUuid: params.targetAuthorUuid
239
+ targetAuthorUuid: params.targetAuthorUuid,
240
+ ...params.assertDirectAdapterHandoff ? { assertDirectAdapterHandoff: params.assertDirectAdapterHandoff } : {}
238
241
  };
239
242
  await (params.remove ? removeReactionSignal : sendReactionSignal)(params.target.recipient ?? "", params.timestamp, params.emoji, options);
240
243
  return jsonResult({
@@ -263,7 +266,7 @@ const signalMessageActions = {
263
266
  replyToId: normalizedReplyToId
264
267
  };
265
268
  },
266
- handleAction: async ({ action, params, cfg, accountId, toolContext }) => {
269
+ handleAction: async ({ action, params, cfg, accountId, toolContext, assertDirectAdapterHandoff }) => {
267
270
  if (action === "send") throw new Error("Send should be handled by outbound, not actions handler.");
268
271
  if (action === "react") {
269
272
  const account = resolveSignalAccount({
@@ -305,7 +308,8 @@ const signalMessageActions = {
305
308
  emoji,
306
309
  remove: Boolean(remove),
307
310
  targetAuthor,
308
- targetAuthorUuid
311
+ targetAuthorUuid,
312
+ assertDirectAdapterHandoff
309
313
  });
310
314
  }
311
315
  throw new Error(`Action ${action} not supported for ${providerId}.`);
@@ -404,6 +408,7 @@ function resolveSourceTimestamp(value) {
404
408
  function mergeReplyContext(current, next) {
405
409
  if (!current) return next;
406
410
  if (current.kind === "ambiguous") return current;
411
+ if (next.kind === "ambiguous") return next;
407
412
  if (current.author !== next.author) {
408
413
  const { author: _author, body: _body, media: _media, ...identity } = next;
409
414
  return {
@@ -449,7 +454,8 @@ async function registerSignalReplyContext(params) {
449
454
  pruneMemoryReplyContexts(registeredAt);
450
455
  return;
451
456
  }
452
- if (!store.update) {
457
+ const usesComparisons = Boolean(store.observe && store.compareAndApply);
458
+ if (!store.update && !usesComparisons) {
453
459
  const next = mergeReplyContext(memoryReplyContexts.get(key), record);
454
460
  memoryReplyContexts.set(key, {
455
461
  ...next,
@@ -463,18 +469,46 @@ async function registerSignalReplyContext(params) {
463
469
  }).warn("Signal persistent reply author state lacks atomic updates");
464
470
  return;
465
471
  }
472
+ const cachedBeforeUpdate = memoryReplyContexts.get(key);
473
+ const cacheReplyContext = (next) => {
474
+ const current = memoryReplyContexts.get(key);
475
+ const changedDuringUpdate = usesComparisons && current !== cachedBeforeUpdate;
476
+ if (!next) {
477
+ if (!changedDuringUpdate) memoryReplyContexts.delete(key);
478
+ return;
479
+ }
480
+ const concurrent = changedDuringUpdate && current && current.expiresAt > registeredAt ? current : void 0;
481
+ memoryReplyContexts.set(key, {
482
+ ...concurrent ? mergeReplyContext(concurrent, next) : next,
483
+ expiresAt: Math.max(expiresAt, concurrent?.expiresAt ?? expiresAt)
484
+ });
485
+ };
466
486
  let updateEvaluated = false;
467
487
  let nextRecord;
468
488
  try {
469
- if (await store.update(key, (current) => {
489
+ let updated = false;
490
+ if (store.observe && store.compareAndApply) {
491
+ let observation = await store.observe(key);
492
+ for (;;) {
493
+ updateEvaluated = true;
494
+ nextRecord = mergeReplyContext(observation.value, record);
495
+ const result = await store.compareAndApply(key, observation.comparison, {
496
+ operation: "update",
497
+ action: "set",
498
+ value: nextRecord
499
+ });
500
+ if (result.status !== "conflict") {
501
+ updated = result.status === "applied";
502
+ break;
503
+ }
504
+ observation = result.current;
505
+ }
506
+ } else if (store.update) updated = await store.update(key, (current) => {
470
507
  updateEvaluated = true;
471
508
  nextRecord = mergeReplyContext(current, record);
472
509
  return nextRecord;
473
- }) && nextRecord) memoryReplyContexts.set(key, {
474
- ...nextRecord,
475
- expiresAt
476
510
  });
477
- else memoryReplyContexts.delete(key);
511
+ cacheReplyContext(updated ? nextRecord : void 0);
478
512
  pruneMemoryReplyContexts(registeredAt);
479
513
  } catch (error) {
480
514
  if (!updateEvaluated) try {
@@ -483,11 +517,7 @@ async function registerSignalReplyContext(params) {
483
517
  nextRecord = void 0;
484
518
  }
485
519
  const next = nextRecord;
486
- if (next) memoryReplyContexts.set(key, {
487
- ...next,
488
- expiresAt
489
- });
490
- else if (updateEvaluated) memoryReplyContexts.delete(key);
520
+ if (next || updateEvaluated) cacheReplyContext(next);
491
521
  pruneMemoryReplyContexts(registeredAt);
492
522
  getOptionalSignalRuntime()?.logging.getChildLogger({
493
523
  plugin: "signal",
@@ -522,7 +552,7 @@ const DEFAULT_PROBE_TIMEOUT_MS = 1e4;
522
552
  async function detectSignalTransport(params) {
523
553
  const url = normalizeSignalTransportUrl(params.url);
524
554
  const timeoutMs = params.timeoutMs ?? DEFAULT_PROBE_TIMEOUT_MS;
525
- const probes = params.probeNative && params.probeContainer ? void 0 : await import("./transport-probes.runtime-DV7x4VWu.js");
555
+ const probes = params.probeNative && params.probeContainer ? void 0 : await import("./transport-probes.runtime-WprAyBbL.mjs");
526
556
  const probeNative = params.probeNative ?? probes?.nativeCheck;
527
557
  const probeContainer = params.probeContainer ?? probes?.containerCheck;
528
558
  if (!probeNative || !probeContainer) throw new Error("Signal transport probes are unavailable");
@@ -1,2 +1,2 @@
1
- import { t as detectSignalTransport } from "./transport-detection-BD__qywn.js";
1
+ import { t as detectSignalTransport } from "./transport-detection-CqyR2vG8.mjs";
2
2
  export { detectSignalTransport };
@@ -1,35 +1,4 @@
1
- import { isIP } from "node:net";
2
- //#region extensions/signal/src/transport-url.ts
3
- function normalizeSignalTransportUrl(value) {
4
- const trimmed = value.trim();
5
- if (!trimmed) throw new Error("Signal transport URL is required");
6
- if (/^https?:/i.test(trimmed) && !/^https?:\/\/[^/]/i.test(trimmed)) throw new Error("Signal transport URL has a malformed HTTP scheme");
7
- const explicitScheme = /^([a-z][a-z0-9+.-]*):\/\//i.exec(trimmed)?.[1]?.toLowerCase();
8
- if (explicitScheme && explicitScheme !== "http" && explicitScheme !== "https") throw new Error(`Signal transport URL unsupported protocol: ${explicitScheme}:`);
9
- const parsed = new URL(/^https?:\/\//i.test(trimmed) ? trimmed : `http://${trimmed}`);
10
- if (parsed.protocol !== "http:" && parsed.protocol !== "https:") throw new Error(`Signal transport URL unsupported protocol: ${parsed.protocol}`);
11
- if (parsed.username || parsed.password) throw new Error("Signal transport URL must not include credentials");
12
- const pathname = parsed.pathname === "/" ? "" : parsed.pathname.replace(/\/+$/, "");
13
- return `${parsed.protocol}//${parsed.host}${pathname}`;
14
- }
15
- function normalizeSignalTransportHost(host) {
16
- const trimmedHost = host.trim();
17
- const hasOpeningBracket = trimmedHost.startsWith("[");
18
- if (hasOpeningBracket !== trimmedHost.endsWith("]")) throw new Error("Signal transport host has mismatched IPv6 brackets");
19
- const normalizedHost = hasOpeningBracket ? trimmedHost.slice(1, -1) : trimmedHost;
20
- if (!normalizedHost || /[\s/\\?#@]/.test(normalizedHost)) throw new Error("Signal transport host must be a hostname or IP address");
21
- if (isIP(normalizedHost) === 0) {
22
- const hostname = normalizedHost.endsWith(".") ? normalizedHost.slice(0, -1) : normalizedHost;
23
- const labels = hostname.split(".");
24
- if (hostname.length > 253 || labels.some((label) => !label || label.length > 63 || !/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i.test(label))) throw new Error("Signal transport host must be a hostname or IP address");
25
- }
26
- return normalizedHost;
27
- }
28
- function buildSignalTransportHttpUrl(host, port) {
29
- const normalizedHost = normalizeSignalTransportHost(host);
30
- return normalizeSignalTransportUrl(`http://${normalizedHost.includes(":") ? `[${normalizedHost}]` : normalizedHost}:${port}`);
31
- }
32
- //#endregion
1
+ import { a as normalizeSignalTransportUrl } from "./transport-url-CAC0JcuI.mjs";
33
2
  //#region extensions/signal/src/transport-policy.ts
34
3
  const DEFAULT_SIGNAL_MANAGED_NATIVE_PORT = 8080;
35
4
  const DEFAULT_SIGNAL_MANAGED_NATIVE_HOST = "127.0.0.1";
@@ -96,4 +65,4 @@ function assignSignalManagedNativePort(transport, httpPort) {
96
65
  };
97
66
  }
98
67
  //#endregion
99
- export { isSignalManagedNativeConnectionUrlForBind as a, buildSignalTransportHttpUrl as c, assignSignalManagedNativePort as i, normalizeSignalTransportHost as l, DEFAULT_SIGNAL_MANAGED_NATIVE_PORT as n, isValidSignalManagedNativePort as o, allocateSignalManagedNativePort as r, resolveLocalSignalTransportPort as s, DEFAULT_SIGNAL_MANAGED_NATIVE_HOST as t, normalizeSignalTransportUrl as u };
68
+ export { isSignalManagedNativeConnectionUrlForBind as a, assignSignalManagedNativePort as i, DEFAULT_SIGNAL_MANAGED_NATIVE_PORT as n, isValidSignalManagedNativePort as o, allocateSignalManagedNativePort as r, resolveLocalSignalTransportPort as s, DEFAULT_SIGNAL_MANAGED_NATIVE_HOST as t };
@@ -0,0 +1,2 @@
1
+ import { n as signalCheck, o as containerCheck } from "./client-BseAt7F7.mjs";
2
+ export { containerCheck, signalCheck as nativeCheck };
@@ -0,0 +1,55 @@
1
+ import { pathToFileURL } from "node:url";
2
+ import { normalizeAccountId, resolveAccountKey } from "openclaw/plugin-sdk/account-resolution";
3
+ import { isIP } from "node:net";
4
+ import path from "node:path";
5
+ //#region extensions/signal/src/account-selection.ts
6
+ function resolveSignalAccountKey(accounts, accountId) {
7
+ return resolveAccountKey(accounts, normalizeAccountId(accountId), void 0, void 0, { channelId: "signal" });
8
+ }
9
+ function resolveSignalAccountEntry(accounts, accountId) {
10
+ const key = resolveSignalAccountKey(accounts, accountId);
11
+ return key === void 0 ? void 0 : accounts?.[key];
12
+ }
13
+ //#endregion
14
+ //#region extensions/signal/src/transport-url.ts
15
+ function normalizeSignalTransportUrl(value) {
16
+ const trimmed = value.trim();
17
+ if (!trimmed) throw new Error("Signal transport URL is required");
18
+ if (/^https?:/i.test(trimmed) && !/^https?:\/\/[^/]/i.test(trimmed)) throw new Error("Signal transport URL has a malformed HTTP scheme");
19
+ const explicitScheme = /^([a-z][a-z0-9+.-]*):\/\//i.exec(trimmed)?.[1]?.toLowerCase();
20
+ if (explicitScheme && explicitScheme !== "http" && explicitScheme !== "https") throw new Error(`Signal transport URL unsupported protocol: ${explicitScheme}:`);
21
+ const parsed = new URL(/^https?:\/\//i.test(trimmed) ? trimmed : `http://${trimmed}`);
22
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") throw new Error(`Signal transport URL unsupported protocol: ${parsed.protocol}`);
23
+ if (parsed.username || parsed.password) throw new Error("Signal transport URL must not include credentials");
24
+ const pathname = parsed.pathname === "/" ? "" : parsed.pathname.replace(/\/+$/, "");
25
+ return `${parsed.protocol}//${parsed.host}${pathname}`;
26
+ }
27
+ function normalizeSignalTransportHost(host) {
28
+ const trimmedHost = host.trim();
29
+ const hasOpeningBracket = trimmedHost.startsWith("[");
30
+ if (hasOpeningBracket !== trimmedHost.endsWith("]")) throw new Error("Signal transport host has mismatched IPv6 brackets");
31
+ const normalizedHost = hasOpeningBracket ? trimmedHost.slice(1, -1) : trimmedHost;
32
+ if (!normalizedHost || /[\s/\\?#@]/.test(normalizedHost)) throw new Error("Signal transport host must be a hostname or IP address");
33
+ if (isIP(normalizedHost) === 0) {
34
+ const hostname = normalizedHost.endsWith(".") ? normalizedHost.slice(0, -1) : normalizedHost;
35
+ const labels = hostname.split(".");
36
+ if (hostname.length > 253 || labels.some((label) => !label || label.length > 63 || !/^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i.test(label))) throw new Error("Signal transport host must be a hostname or IP address");
37
+ }
38
+ return normalizedHost;
39
+ }
40
+ function buildSignalTransportHttpUrl(host, port) {
41
+ const normalizedHost = normalizeSignalTransportHost(host);
42
+ return normalizeSignalTransportUrl(`http://${normalizedHost.includes(":") ? `[${normalizedHost}]` : normalizedHost}:${port}`);
43
+ }
44
+ /** Validate the opt-in shape without filesystem side effects during config resolution. */
45
+ function assertSignalSocketTransport(transport) {
46
+ if (transport.socketPath === void 0) return;
47
+ if (typeof transport.socketPath !== "string" || !/^\/(?!\/)[^\0]+$/.test(transport.socketPath) || transport.socketPath.endsWith("/") || path.posix.normalize(transport.socketPath) !== transport.socketPath || Buffer.byteLength(transport.socketPath, "utf8") > 103) throw new Error("Signal transport.socketPath must be a normalized absolute POSIX socket file path of at most 103 UTF-8 bytes.");
48
+ if (transport.url !== void 0 || transport.httpHost !== void 0 || transport.httpPort !== void 0) throw new Error("Signal transport.socketPath cannot be combined with url, httpHost, or httpPort.");
49
+ if (transport.receiveMode === "on-start") throw new Error("Signal socket transport requires receiveMode manual (or omitted).");
50
+ }
51
+ function buildSignalSocketUrl(socketPath) {
52
+ return `unix://${pathToFileURL(socketPath).pathname}`;
53
+ }
54
+ //#endregion
55
+ export { normalizeSignalTransportUrl as a, normalizeSignalTransportHost as i, buildSignalSocketUrl as n, resolveSignalAccountEntry as o, buildSignalTransportHttpUrl as r, resolveSignalAccountKey as s, assertSignalSocketTransport as t };
package/dist/api.js CHANGED
@@ -1,17 +1,12 @@
1
- import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./accounts-DO4HMqaK.js";
2
- import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-l_b99hap.js";
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-YXPmgFMu.js";
4
- import { c as resolveSignalReactionLevel, d as markdownToSignalTextChunks, s as signalMessageActions, t as detectSignalTransport, u as markdownToSignalText } from "./transport-detection-BD__qywn.js";
5
- import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-CWqDv5-q.js";
6
- import { a as normalizeSignalAccountInput, d as probeSignalTransport, f as writeSignalAccountTransport, l as signalSetupContract, n as createSignalPluginBase, p as resolveSignalOutboundTarget, r as signalSetupWizard, t as signalPlugin, u as prepareSignalManagedNativeTransport } from "./channel-DJQccJtU.js";
7
- import { i as installSignalCli } from "./install-signal-cli-QlEIfWBv.js";
8
- import { t as monitorSignalProvider } from "./monitor-CokYfKOk.js";
9
- import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-BvWSfyNf.js";
10
- import { t as probeSignal } from "./probe-Bh9f0rRO.js";
11
- //#region extensions/signal/src/channel.setup.ts
12
- const signalSetupPlugin = { ...createSignalPluginBase({
13
- setupWizard: signalSetupWizard,
14
- setupContract: signalSetupContract
15
- }) };
16
- //#endregion
1
+ import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./.setup/accounts-BV6tDOTc.mjs";
2
+ import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./.setup/normalize-l_b99hap.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 "./.setup/identity-YXPmgFMu.mjs";
4
+ import { c as resolveSignalReactionLevel, d as markdownToSignalTextChunks, s as signalMessageActions, t as detectSignalTransport, u as markdownToSignalText } from "./.setup/transport-detection-CqyR2vG8.mjs";
5
+ import { n as sendReactionSignal, t as removeReactionSignal } from "./.setup/reaction-runtime-api-BnQGHcrB.mjs";
6
+ import { a as normalizeSignalAccountInput, d as probeSignalTransport, f as writeSignalAccountTransport, p as resolveSignalOutboundTarget, t as signalPlugin, u as prepareSignalManagedNativeTransport } from "./.setup/channel-gMpZmqLx.mjs";
7
+ import { t as signalSetupPlugin } from "./.setup/api-DbdeJVQ8.mjs";
8
+ import { r as installSignalCli } from "./.setup/install-signal-cli-bXeTrTyL.mjs";
9
+ import { t as monitorSignalProvider } from "./.setup/monitor-DAMQw1pZ.mjs";
10
+ import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./.setup/send-CcetN4rk.mjs";
11
+ import { t as probeSignal } from "./.setup/probe-IKCS9D-z.mjs";
17
12
  export { detectSignalTransport, formatSignalPairingIdLine, formatSignalSenderDisplay, formatSignalSenderId, installSignalCli, isSignalSenderAllowed, listEnabledSignalAccounts, listSignalAccountIds, looksLikeSignalTargetId, looksLikeUuid, markdownToSignalText, markdownToSignalTextChunks, monitorSignalProvider, normalizeSignalAccountInput, normalizeSignalAllowRecipient, normalizeSignalMessagingTarget, prepareSignalManagedNativeTransport, probeSignal, probeSignalTransport, removeReactionSignal, resolveDefaultSignalAccountId, resolveSignalAccount, resolveSignalOutboundTarget, resolveSignalPeerId, resolveSignalReactionLevel, resolveSignalRecipient, resolveSignalSender, sendMessageSignal, sendReactionSignal, sendReadReceiptSignal, sendTypingSignal, signalMessageActions, signalPlugin, signalSetupPlugin, writeSignalAccountTransport };
@@ -1,2 +1,2 @@
1
- import { t as SignalChannelConfigSchema } from "./config-schema-DfEbpMVQ.js";
1
+ import { t as SignalChannelConfigSchema } from "./.setup/config-schema-aQwwMGUj.mjs";
2
2
  export { SignalChannelConfigSchema };
@@ -1,2 +1,2 @@
1
- import { t as signalPlugin } from "./channel-DJQccJtU.js";
1
+ import { t as signalPlugin } from "./.setup/channel-gMpZmqLx.mjs";
2
2
  export { signalPlugin };
@@ -1,4 +1,4 @@
1
- import { n as normalizeSignalMessagingTarget, r as normalizeSignalReactionRecipient, t as looksLikeSignalTargetId } from "./normalize-l_b99hap.js";
2
- import { i as isSignalSenderAllowed } from "./identity-YXPmgFMu.js";
3
- import { a as installSignalCliFromRelease, i as installSignalCli, n as downloadToFile, o as looksLikeArchive, r as extractSignalCliArchive, s as pickAsset, t as MAX_SIGNAL_CLI_EXTRACTED_BYTES } from "./install-signal-cli-QlEIfWBv.js";
4
- export { MAX_SIGNAL_CLI_EXTRACTED_BYTES, downloadToFile, extractSignalCliArchive, installSignalCli, installSignalCliFromRelease, isSignalSenderAllowed, looksLikeArchive, looksLikeSignalTargetId, normalizeSignalMessagingTarget, normalizeSignalReactionRecipient, pickAsset };
1
+ import { n as normalizeSignalMessagingTarget, r as normalizeSignalReactionRecipient, t as looksLikeSignalTargetId } from "./.setup/normalize-l_b99hap.mjs";
2
+ import { i as isSignalSenderAllowed } from "./.setup/identity-YXPmgFMu.mjs";
3
+ import { a as looksLikeArchive, i as installSignalCliFromRelease, n as extractSignalCliArchive, o as pickAsset, r as installSignalCli, t as downloadToFile } from "./.setup/install-signal-cli-bXeTrTyL.mjs";
4
+ export { downloadToFile, extractSignalCliArchive, installSignalCli, installSignalCliFromRelease, isSignalSenderAllowed, looksLikeArchive, looksLikeSignalTargetId, normalizeSignalMessagingTarget, normalizeSignalReactionRecipient, pickAsset };
@@ -1,2 +1,2 @@
1
- import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./doctor-contract-api-D0SnglP4.js";
1
+ import { n as normalizeCompatibilityConfig, t as legacyConfigRules } from "./.setup/doctor-contract-api-Rbq_sRTI.mjs";
2
2
  export { legacyConfigRules, normalizeCompatibilityConfig };
@@ -1,2 +1,2 @@
1
- import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-CWqDv5-q.js";
1
+ import { n as sendReactionSignal, t as removeReactionSignal } from "./.setup/reaction-runtime-api-BnQGHcrB.mjs";
2
2
  export { removeReactionSignal, sendReactionSignal };
@@ -1,12 +1,12 @@
1
- import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./accounts-DO4HMqaK.js";
2
- import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./normalize-l_b99hap.js";
3
- import { a as setSignalRuntime, c as resolveSignalReactionLevel, s as signalMessageActions } from "./transport-detection-BD__qywn.js";
4
- import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-CWqDv5-q.js";
5
- import { n as SignalConfigSchema } from "./config-schema-DfEbpMVQ.js";
6
- import { i as installSignalCli } from "./install-signal-cli-QlEIfWBv.js";
7
- import { t as monitorSignalProvider } from "./monitor-CokYfKOk.js";
8
- import { t as sendMessageSignal } from "./send-BvWSfyNf.js";
9
- import { t as probeSignal } from "./probe-Bh9f0rRO.js";
1
+ import { i as resolveSignalAccount, n as listSignalAccountIds, r as resolveDefaultSignalAccountId, t as listEnabledSignalAccounts } from "./.setup/accounts-BV6tDOTc.mjs";
2
+ import { n as normalizeSignalMessagingTarget, t as looksLikeSignalTargetId } from "./.setup/normalize-l_b99hap.mjs";
3
+ import { a as setSignalRuntime, c as resolveSignalReactionLevel, s as signalMessageActions } from "./.setup/transport-detection-CqyR2vG8.mjs";
4
+ import { n as sendReactionSignal, t as removeReactionSignal } from "./.setup/reaction-runtime-api-BnQGHcrB.mjs";
5
+ import { n as SignalConfigSchema } from "./.setup/config-schema-aQwwMGUj.mjs";
6
+ import { r as installSignalCli } from "./.setup/install-signal-cli-bXeTrTyL.mjs";
7
+ import { t as monitorSignalProvider } from "./.setup/monitor-DAMQw1pZ.mjs";
8
+ import { t as sendMessageSignal } from "./.setup/send-CcetN4rk.mjs";
9
+ import { t as probeSignal } from "./.setup/probe-IKCS9D-z.mjs";
10
10
  import { resolveChannelMediaMaxBytes } from "openclaw/plugin-sdk/account-helpers";
11
11
  import { PAIRING_APPROVED_MESSAGE } from "openclaw/plugin-sdk/channel-status";
12
12
  import { buildBaseAccountStatusSnapshot, buildBaseChannelStatusSummary, collectStatusIssuesFromLastError, createDefaultChannelRuntimeState } from "openclaw/plugin-sdk/status-helpers";
@@ -1,9 +1,10 @@
1
1
  import { defineBundledChannelSetupEntry } from "openclaw/plugin-sdk/channel-entry-contract";
2
+ import { fileURLToPath } from "node:url";
2
3
  //#region extensions/signal/setup-entry.ts
3
4
  var setup_entry_default = defineBundledChannelSetupEntry({
4
5
  importMetaUrl: import.meta.url,
5
6
  plugin: {
6
- specifier: "./api.js",
7
+ specifier: fileURLToPath(new URL(".setup/api-Cu01dJRP.mjs", import.meta.url).href),
7
8
  exportName: "signalSetupPlugin"
8
9
  }
9
10
  });
@@ -113,6 +113,33 @@ await schema.parseAsync("hello");
113
113
  // => "hello"
114
114
  ```
115
115
 
116
+ ### AOT compilation
117
+
118
+ For hot validation paths, `z.compile(schema)` returns a schema clone with an ahead-of-time compiled fast path. Valid inputs take the compiled path; invalid inputs fall back to the regular parser so error reporting stays identical.
119
+
120
+ Across a 55-schema benchmark the median speedup is **2.4x**, and it scales with how much work the schema does per parse: a large array of objects is ~9x, a 20-key object ~9x, a nested object ~4.5x, while a bare `z.string()` gains nothing — compilation removes per-node dispatch and allocation, and a single `typeof` has none to remove.
121
+
122
+ ```ts
123
+ const CompiledPlayer = z.compile(Player);
124
+
125
+ CompiledPlayer.parse({ username: "billie", xp: 100 });
126
+ ```
127
+
128
+ To enable compilation globally for schemas constructed after import:
129
+
130
+ ```ts
131
+ import "zod/compile"; // place before modules that define schemas
132
+ ```
133
+
134
+ Things to know:
135
+
136
+ - Compilation uses `new Function`. Global mode is automatically disabled when `z.config({ jitless: true })` is set (e.g. CSP environments); calling `z.compile()` directly is an explicit opt-in.
137
+ - Schemas with async refinements or transforms can't be compiled, and neither can a few other constructs. That is not an error: `z.compile()` hands the schema back unchanged and it keeps using the regular parser, exactly as global mode leaves it. Pass `{ strict: true }` to throw `ZodCompileAsyncError` / `ZodCompileUnsupportedError` instead.
138
+ - On invalid input, refinements and transforms may run twice (fast path, then fallback).
139
+ - Deriving a new schema from a compiled one (`.refine()`, `.extend()`, etc.) returns an uncompiled schema — compile the final schema.
140
+
141
+ See [`compile` docs](https://zod.dev/compile) for details.
142
+
116
143
  ### Handling errors
117
144
 
118
145
  When validation fails, the `.parse()` method will throw a `ZodError` instance with granular information about the validation issues.
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ // Side-effect-only: installs the post-processor on `globalConfig`. Listed in `package.json`'s `sideEffects`, and nothing else references it, so apps that never import it drop the compiler.
3
+ //
4
+ // Usage:
5
+ //
6
+ // import "zod/compile";
7
+ // import * as z from "zod";
8
+ // // every schema constructed below this is compiled on first parse
9
+ //
10
+ // Module evaluation order matters: schemas constructed in modules that evaluate before this import will not be compiled. Place this import in the app entry point, before any module that constructs schemas at top level.
11
+ //
12
+ // Failure handling: if the compiler refuses a schema (async refinement, unsupported feature, etc.) the shim permanently restores the runtime `_zod.run` for that schema. The schema continues to work via the regular runtime parser — no observable difference to the caller.
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ const compile_js_1 = require("./v4/core/compile.cjs");
38
+ const core = __importStar(require("./v4/core/index.cjs"));
39
+ let compiling = false;
40
+ core.globalConfig.postProcessor = (inst) => {
41
+ if (compiling)
42
+ return;
43
+ const originalRun = inst._zod?.run;
44
+ if (typeof originalRun !== "function")
45
+ return;
46
+ const shim = (payload, ctx) => {
47
+ // Bypass the fast path for any non-forward / non-sync / check-skipping call. The runtime owns those contracts.
48
+ if (ctx?.async || ctx?.direction === "backward" || ctx?.skipChecks) {
49
+ return originalRun(payload, ctx);
50
+ }
51
+ compiling = true;
52
+ try {
53
+ // Respect the jitless config: it exists precisely so CSP/no-eval environments never reach `new Function`. Global mode must not bypass it (explicit z.compile calls remain an explicit opt-in).
54
+ if (core.globalConfig.jitless) {
55
+ inst._zod.run = originalRun;
56
+ return originalRun(payload, ctx);
57
+ }
58
+ // Strict: the shim owns its own fallback below, and a non-strict compile would hand back `inst` — whose run is this shim — and reinstall it on itself.
59
+ const compiled = (0, compile_js_1.compile)(inst, { strict: true });
60
+ // Only the run wrapper. Copying the compiled parse/safeParse closures would make their fallback re-enter this instance and run user callbacks a third time.
61
+ inst._zod.run = compiled._zod.run;
62
+ inst._zod.bag.fallbackRun = compiled._zod.bag.fallbackRun;
63
+ inst._zod.bag.validator = compiled._zod.bag.validator;
64
+ }
65
+ catch {
66
+ // Permanent fallback for unsupported schemas.
67
+ inst._zod.run = originalRun;
68
+ }
69
+ finally {
70
+ compiling = false;
71
+ }
72
+ return inst._zod.run(payload, ctx);
73
+ };
74
+ // Expose the pre-shim runtime so `compile()` invoked elsewhere can unwrap past the shim and capture the source-of-truth runtime. Without this, a user calling `z.compile(s)` after global mode is enabled would capture the shim itself, which would feed the wrapper into itself on fallback.
75
+ shim.__originalRun = originalRun;
76
+ inst._zod.run = shim;
77
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,52 @@
1
+ // Side-effect-only: installs the post-processor on `globalConfig`. Listed in `package.json`'s `sideEffects`, and nothing else references it, so apps that never import it drop the compiler.
2
+ //
3
+ // Usage:
4
+ //
5
+ // import "zod/compile";
6
+ // import * as z from "zod";
7
+ // // every schema constructed below this is compiled on first parse
8
+ //
9
+ // Module evaluation order matters: schemas constructed in modules that evaluate before this import will not be compiled. Place this import in the app entry point, before any module that constructs schemas at top level.
10
+ //
11
+ // Failure handling: if the compiler refuses a schema (async refinement, unsupported feature, etc.) the shim permanently restores the runtime `_zod.run` for that schema. The schema continues to work via the regular runtime parser — no observable difference to the caller.
12
+ import { compile } from "./v4/core/compile.js";
13
+ import * as core from "./v4/core/index.js";
14
+ let compiling = false;
15
+ core.globalConfig.postProcessor = (inst) => {
16
+ if (compiling)
17
+ return;
18
+ const originalRun = inst._zod?.run;
19
+ if (typeof originalRun !== "function")
20
+ return;
21
+ const shim = (payload, ctx) => {
22
+ // Bypass the fast path for any non-forward / non-sync / check-skipping call. The runtime owns those contracts.
23
+ if (ctx?.async || ctx?.direction === "backward" || ctx?.skipChecks) {
24
+ return originalRun(payload, ctx);
25
+ }
26
+ compiling = true;
27
+ try {
28
+ // Respect the jitless config: it exists precisely so CSP/no-eval environments never reach `new Function`. Global mode must not bypass it (explicit z.compile calls remain an explicit opt-in).
29
+ if (core.globalConfig.jitless) {
30
+ inst._zod.run = originalRun;
31
+ return originalRun(payload, ctx);
32
+ }
33
+ // Strict: the shim owns its own fallback below, and a non-strict compile would hand back `inst` — whose run is this shim — and reinstall it on itself.
34
+ const compiled = compile(inst, { strict: true });
35
+ // Only the run wrapper. Copying the compiled parse/safeParse closures would make their fallback re-enter this instance and run user callbacks a third time.
36
+ inst._zod.run = compiled._zod.run;
37
+ inst._zod.bag.fallbackRun = compiled._zod.bag.fallbackRun;
38
+ inst._zod.bag.validator = compiled._zod.bag.validator;
39
+ }
40
+ catch {
41
+ // Permanent fallback for unsupported schemas.
42
+ inst._zod.run = originalRun;
43
+ }
44
+ finally {
45
+ compiling = false;
46
+ }
47
+ return inst._zod.run(payload, ctx);
48
+ };
49
+ // Expose the pre-shim runtime so `compile()` invoked elsewhere can unwrap past the shim and capture the source-of-truth runtime. Without this, a user calling `z.compile(s)` after global mode is enabled would capture the shim itself, which would feed the wrapper into itself on fallback.
50
+ shim.__originalRun = originalRun;
51
+ inst._zod.run = shim;
52
+ };
@@ -26,8 +26,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.z = void 0;
29
+ exports.default = exports.z = void 0;
30
30
  const z = __importStar(require("./v4/classic/external.cjs"));
31
31
  exports.z = z;
32
- __exportStar(require("./v4/classic/external.cjs"), exports);
33
32
  exports.default = z;
33
+ __exportStar(require("./v4/classic/external.cjs"), exports);
@@ -1,4 +1,3 @@
1
1
  import * as z from "./v4/classic/external.cjs";
2
2
  export * from "./v4/classic/external.cjs";
3
- export { z };
4
- export default z;
3
+ export { z, z as default };
@@ -1,4 +1,3 @@
1
1
  import * as z from "./v4/classic/external.js";
2
2
  export * from "./v4/classic/external.js";
3
- export { z };
4
- export default z;
3
+ export { z, z as default };
@@ -1,4 +1,7 @@
1
1
  import * as z from "./v4/classic/external.js";
2
2
  export * from "./v4/classic/external.js";
3
- export { z };
4
- export default z;
3
+ // Aliasing the binding, instead of `export default z`, keeps the default export a
4
+ // re-export of `z` rather than a fresh namespace value. Rollup and Webpack can then
5
+ // shake `import z from "zod"` as they already shake `import { z } from "zod"` — without
6
+ // this they pull in every locale. See #6050.
7
+ export { z, z as default };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zod",
3
- "version": "4.4.3",
3
+ "version": "4.5.4",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "author": "Colin McDonnell <zod@colinhacks.com>",
@@ -10,7 +10,11 @@
10
10
  "llmsFull": "https://zod.dev/llms-full.txt",
11
11
  "mcpServer": "https://mcp.inkeep.com/zod/mcp",
12
12
  "funding": "https://github.com/sponsors/colinhacks",
13
- "sideEffects": false,
13
+ "sideEffects": [
14
+ "./compile.js",
15
+ "./compile.cjs",
16
+ "./src/compile.ts"
17
+ ],
14
18
  "files": [
15
19
  "src",
16
20
  "**/*.js",
@@ -36,6 +40,7 @@
36
40
  "./package.json": "./package.json",
37
41
  ".": "./src/index.ts",
38
42
  "./mini": "./src/mini/index.ts",
43
+ "./compile": "./src/compile.ts",
39
44
  "./locales": "./src/locales/index.ts",
40
45
  "./v3": "./src/v3/index.ts",
41
46
  "./v4": "./src/v4/index.ts",
@@ -63,6 +68,12 @@
63
68
  "import": "./mini/index.js",
64
69
  "require": "./mini/index.cjs"
65
70
  },
71
+ "./compile": {
72
+ "@zod/source": "./src/compile.ts",
73
+ "types": "./compile.d.cts",
74
+ "import": "./compile.js",
75
+ "require": "./compile.cjs"
76
+ },
66
77
  "./locales": {
67
78
  "@zod/source": "./src/locales/index.ts",
68
79
  "types": "./locales/index.d.cts",