@openclaw/signal 2026.7.2-beta.3 → 2026.7.2-beta.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 (759) hide show
  1. package/dist/accounts-DrStJjiK.js +147 -0
  2. package/dist/api.js +10 -10
  3. package/dist/{approval-handler.runtime-p8gabljn.js → approval-handler.runtime-C-XYgcxE.js} +6 -6
  4. package/dist/{approval-reactions-DcpZRS5-.js → approval-reactions-DtL47gSK.js} +3 -3
  5. package/dist/{channel-ChLRPIuC.js → channel-CBIljGCH.js} +383 -52
  6. package/dist/channel-config-api.js +1 -1
  7. package/dist/channel-plugin-api.js +1 -1
  8. package/dist/channel.runtime-B8GXmuol.js +92 -0
  9. package/dist/{client-adapter-DZD8DCai.js → client-BazXTH7O.js} +109 -212
  10. package/dist/client-adapter-mXGeEHQJ.js +56 -0
  11. package/dist/config-schema-DLvpQPN5.js +221 -0
  12. package/dist/contract-api.js +1 -1
  13. package/dist/doctor-contract-api-DbUCknbC.js +492 -0
  14. package/dist/doctor-contract-api.js +1 -15
  15. package/dist/{install-signal-cli-l35FqIbP.js → install-signal-cli-qJF7iC4h.js} +30 -9
  16. package/dist/{monitor-D2nTNhM2.js → monitor-CHBkf7lk.js} +125 -256
  17. package/dist/probe-Br9abaGp.js +65 -0
  18. package/dist/{question-reactions-BFFJNQsu.js → question-reactions-Ds48FtEu.js} +2 -2
  19. package/dist/{reaction-runtime-api-tPkUVRoL.js → reaction-runtime-api-BjeDyKcz.js} +5 -7
  20. package/dist/reaction-runtime-api.js +1 -1
  21. package/dist/{rpc-context-DsHWh2hc.js → rpc-context-CZUoE0-A.js} +1 -1
  22. package/dist/{runtime-B900w6lc.js → runtime-JPrGlV7h.js} +1 -1
  23. package/dist/runtime-api.js +10 -9
  24. package/dist/{send-f6JLstd2.js → send-B_Ks4MZr.js} +33 -19
  25. package/dist/{send.runtime-B_UYsXWd.js → send.runtime-CbuXycZT.js} +1 -1
  26. package/dist/{reply-authors-DcNqGpX-.js → transport-detection-Da06-LOL.js} +123 -210
  27. package/dist/transport-detection.runtime-D_190UUL.js +2 -0
  28. package/dist/transport-policy-DxvSMHp9.js +99 -0
  29. package/dist/transport-probes.runtime-CV6Qs0Og.js +2 -0
  30. package/node_modules/ws/lib/receiver.js +15 -32
  31. package/node_modules/ws/lib/websocket-server.js +4 -4
  32. package/node_modules/ws/lib/websocket.js +4 -4
  33. package/node_modules/ws/package.json +5 -1
  34. package/node_modules/zod/LICENSE +21 -0
  35. package/node_modules/zod/README.md +191 -0
  36. package/node_modules/zod/index.cjs +33 -0
  37. package/node_modules/zod/index.d.cts +4 -0
  38. package/node_modules/zod/index.d.ts +4 -0
  39. package/node_modules/zod/index.js +4 -0
  40. package/node_modules/zod/locales/index.cjs +17 -0
  41. package/node_modules/zod/locales/index.d.cts +1 -0
  42. package/node_modules/zod/locales/index.d.ts +1 -0
  43. package/node_modules/zod/locales/index.js +1 -0
  44. package/node_modules/zod/locales/package.json +7 -0
  45. package/node_modules/zod/mini/index.cjs +32 -0
  46. package/node_modules/zod/mini/index.d.cts +3 -0
  47. package/node_modules/zod/mini/index.d.ts +3 -0
  48. package/node_modules/zod/mini/index.js +3 -0
  49. package/node_modules/zod/mini/package.json +7 -0
  50. package/node_modules/zod/package.json +135 -0
  51. package/node_modules/zod/src/index.ts +4 -0
  52. package/node_modules/zod/src/locales/index.ts +1 -0
  53. package/node_modules/zod/src/mini/index.ts +3 -0
  54. package/node_modules/zod/src/v3/ZodError.ts +330 -0
  55. package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  56. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  57. package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  58. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  59. package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  60. package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  61. package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  62. package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  63. package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  64. package/node_modules/zod/src/v3/errors.ts +13 -0
  65. package/node_modules/zod/src/v3/external.ts +6 -0
  66. package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  67. package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  68. package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  69. package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  70. package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  71. package/node_modules/zod/src/v3/helpers/util.ts +224 -0
  72. package/node_modules/zod/src/v3/index.ts +4 -0
  73. package/node_modules/zod/src/v3/locales/en.ts +124 -0
  74. package/node_modules/zod/src/v3/standard-schema.ts +113 -0
  75. package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  76. package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  77. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  78. package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  79. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  80. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  81. package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  82. package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  83. package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  84. package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  85. package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  86. package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
  87. package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  88. package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  89. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  90. package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  91. package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  92. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  93. package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  94. package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  95. package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  96. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  97. package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
  98. package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  99. package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  100. package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  101. package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  102. package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  103. package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  104. package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  105. package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  106. package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  107. package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
  108. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  109. package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  110. package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  111. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  112. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  113. package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  114. package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  115. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  116. package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  117. package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  118. package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  119. package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  120. package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  121. package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  122. package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  123. package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  124. package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  125. package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  126. package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  127. package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  128. package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  129. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  130. package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  131. package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  132. package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  133. package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  134. package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  135. package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  136. package/node_modules/zod/src/v3/types.ts +5138 -0
  137. package/node_modules/zod/src/v4/classic/checks.ts +32 -0
  138. package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  139. package/node_modules/zod/src/v4/classic/compat.ts +70 -0
  140. package/node_modules/zod/src/v4/classic/errors.ts +82 -0
  141. package/node_modules/zod/src/v4/classic/external.ts +52 -0
  142. package/node_modules/zod/src/v4/classic/from-json-schema.ts +659 -0
  143. package/node_modules/zod/src/v4/classic/index.ts +5 -0
  144. package/node_modules/zod/src/v4/classic/iso.ts +90 -0
  145. package/node_modules/zod/src/v4/classic/parse.ts +82 -0
  146. package/node_modules/zod/src/v4/classic/schemas.ts +2672 -0
  147. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  148. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
  149. package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  150. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +216 -0
  151. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  152. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  153. package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  154. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  155. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
  156. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +326 -0
  157. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  158. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  159. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +703 -0
  160. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  161. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
  162. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  163. package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
  164. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  165. package/node_modules/zod/src/v4/classic/tests/default.test.ts +409 -0
  166. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  167. package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  168. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
  169. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +694 -0
  170. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  171. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +807 -0
  172. package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  173. package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  174. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  175. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  176. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +895 -0
  177. package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
  178. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  179. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
  180. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  181. package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
  182. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
  183. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
  184. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
  185. package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
  186. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  187. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  188. package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
  189. package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
  190. package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
  191. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  192. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  193. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  194. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  195. package/node_modules/zod/src/v4/classic/tests/number.test.ts +325 -0
  196. package/node_modules/zod/src/v4/classic/tests/object.test.ts +717 -0
  197. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +333 -0
  198. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +450 -0
  199. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
  200. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  201. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  202. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
  203. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
  204. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  205. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  206. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  207. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  208. package/node_modules/zod/src/v4/classic/tests/record.test.ts +717 -0
  209. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +631 -0
  210. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +633 -0
  211. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
  212. package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  213. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
  214. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  215. package/node_modules/zod/src/v4/classic/tests/string.test.ts +1224 -0
  216. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  217. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
  218. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  219. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3125 -0
  220. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
  221. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +496 -0
  222. package/node_modules/zod/src/v4/classic/tests/union.test.ts +273 -0
  223. package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  224. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  225. package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  226. package/node_modules/zod/src/v4/core/api.ts +1823 -0
  227. package/node_modules/zod/src/v4/core/checks.ts +1293 -0
  228. package/node_modules/zod/src/v4/core/config.ts +15 -0
  229. package/node_modules/zod/src/v4/core/core.ts +153 -0
  230. package/node_modules/zod/src/v4/core/doc.ts +44 -0
  231. package/node_modules/zod/src/v4/core/errors.ts +455 -0
  232. package/node_modules/zod/src/v4/core/index.ts +16 -0
  233. package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
  234. package/node_modules/zod/src/v4/core/json-schema-processors.ts +666 -0
  235. package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  236. package/node_modules/zod/src/v4/core/parse.ts +195 -0
  237. package/node_modules/zod/src/v4/core/regexes.ts +190 -0
  238. package/node_modules/zod/src/v4/core/registries.ts +105 -0
  239. package/node_modules/zod/src/v4/core/schemas.ts +4730 -0
  240. package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
  241. package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  242. package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  243. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  244. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
  245. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  246. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  247. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
  248. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  249. package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
  250. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  251. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  252. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  253. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
  254. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
  255. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  256. package/node_modules/zod/src/v4/core/to-json-schema.ts +622 -0
  257. package/node_modules/zod/src/v4/core/util.ts +983 -0
  258. package/node_modules/zod/src/v4/core/versions.ts +5 -0
  259. package/node_modules/zod/src/v4/core/zsf.ts +323 -0
  260. package/node_modules/zod/src/v4/index.ts +4 -0
  261. package/node_modules/zod/src/v4/locales/ar.ts +115 -0
  262. package/node_modules/zod/src/v4/locales/az.ts +111 -0
  263. package/node_modules/zod/src/v4/locales/be.ts +176 -0
  264. package/node_modules/zod/src/v4/locales/bg.ts +128 -0
  265. package/node_modules/zod/src/v4/locales/ca.ts +116 -0
  266. package/node_modules/zod/src/v4/locales/cs.ts +118 -0
  267. package/node_modules/zod/src/v4/locales/da.ts +123 -0
  268. package/node_modules/zod/src/v4/locales/de.ts +116 -0
  269. package/node_modules/zod/src/v4/locales/el.ts +121 -0
  270. package/node_modules/zod/src/v4/locales/en.ts +123 -0
  271. package/node_modules/zod/src/v4/locales/eo.ts +118 -0
  272. package/node_modules/zod/src/v4/locales/es.ts +141 -0
  273. package/node_modules/zod/src/v4/locales/fa.ts +126 -0
  274. package/node_modules/zod/src/v4/locales/fi.ts +121 -0
  275. package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
  276. package/node_modules/zod/src/v4/locales/fr.ts +132 -0
  277. package/node_modules/zod/src/v4/locales/he.ts +246 -0
  278. package/node_modules/zod/src/v4/locales/hr.ts +131 -0
  279. package/node_modules/zod/src/v4/locales/hu.ts +117 -0
  280. package/node_modules/zod/src/v4/locales/hy.ts +164 -0
  281. package/node_modules/zod/src/v4/locales/id.ts +115 -0
  282. package/node_modules/zod/src/v4/locales/index.ts +52 -0
  283. package/node_modules/zod/src/v4/locales/is.ts +119 -0
  284. package/node_modules/zod/src/v4/locales/it.ts +116 -0
  285. package/node_modules/zod/src/v4/locales/ja.ts +114 -0
  286. package/node_modules/zod/src/v4/locales/ka.ts +123 -0
  287. package/node_modules/zod/src/v4/locales/kh.ts +7 -0
  288. package/node_modules/zod/src/v4/locales/km.ts +119 -0
  289. package/node_modules/zod/src/v4/locales/ko.ts +121 -0
  290. package/node_modules/zod/src/v4/locales/lt.ts +239 -0
  291. package/node_modules/zod/src/v4/locales/mk.ts +118 -0
  292. package/node_modules/zod/src/v4/locales/ms.ts +115 -0
  293. package/node_modules/zod/src/v4/locales/nl.ts +121 -0
  294. package/node_modules/zod/src/v4/locales/no.ts +116 -0
  295. package/node_modules/zod/src/v4/locales/ota.ts +117 -0
  296. package/node_modules/zod/src/v4/locales/pl.ts +118 -0
  297. package/node_modules/zod/src/v4/locales/ps.ts +126 -0
  298. package/node_modules/zod/src/v4/locales/pt.ts +116 -0
  299. package/node_modules/zod/src/v4/locales/ro.ts +129 -0
  300. package/node_modules/zod/src/v4/locales/ru.ts +176 -0
  301. package/node_modules/zod/src/v4/locales/sl.ts +118 -0
  302. package/node_modules/zod/src/v4/locales/sv.ts +119 -0
  303. package/node_modules/zod/src/v4/locales/ta.ts +118 -0
  304. package/node_modules/zod/src/v4/locales/th.ts +119 -0
  305. package/node_modules/zod/src/v4/locales/tr.ts +111 -0
  306. package/node_modules/zod/src/v4/locales/ua.ts +7 -0
  307. package/node_modules/zod/src/v4/locales/uk.ts +117 -0
  308. package/node_modules/zod/src/v4/locales/ur.ts +119 -0
  309. package/node_modules/zod/src/v4/locales/uz.ts +117 -0
  310. package/node_modules/zod/src/v4/locales/vi.ts +117 -0
  311. package/node_modules/zod/src/v4/locales/yo.ts +124 -0
  312. package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
  313. package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
  314. package/node_modules/zod/src/v4/mini/checks.ts +32 -0
  315. package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
  316. package/node_modules/zod/src/v4/mini/external.ts +41 -0
  317. package/node_modules/zod/src/v4/mini/index.ts +3 -0
  318. package/node_modules/zod/src/v4/mini/iso.ts +66 -0
  319. package/node_modules/zod/src/v4/mini/parse.ts +14 -0
  320. package/node_modules/zod/src/v4/mini/schemas.ts +1947 -0
  321. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
  322. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  323. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
  324. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  325. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +548 -0
  326. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  327. package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  328. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
  329. package/node_modules/zod/src/v4/mini/tests/index.test.ts +993 -0
  330. package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  331. package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
  332. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  333. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +325 -0
  334. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  335. package/node_modules/zod/src/v4/mini/tests/string.test.ts +352 -0
  336. package/node_modules/zod/src/v4-mini/index.ts +3 -0
  337. package/node_modules/zod/v3/ZodError.cjs +138 -0
  338. package/node_modules/zod/v3/ZodError.d.cts +164 -0
  339. package/node_modules/zod/v3/ZodError.d.ts +164 -0
  340. package/node_modules/zod/v3/ZodError.js +133 -0
  341. package/node_modules/zod/v3/errors.cjs +17 -0
  342. package/node_modules/zod/v3/errors.d.cts +5 -0
  343. package/node_modules/zod/v3/errors.d.ts +5 -0
  344. package/node_modules/zod/v3/errors.js +9 -0
  345. package/node_modules/zod/v3/external.cjs +22 -0
  346. package/node_modules/zod/v3/external.d.cts +6 -0
  347. package/node_modules/zod/v3/external.d.ts +6 -0
  348. package/node_modules/zod/v3/external.js +6 -0
  349. package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  350. package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  351. package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  352. package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  353. package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  354. package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  355. package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  356. package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  357. package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  358. package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  359. package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  360. package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  361. package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  362. package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  363. package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  364. package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  365. package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  366. package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  367. package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  368. package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  369. package/node_modules/zod/v3/helpers/util.cjs +137 -0
  370. package/node_modules/zod/v3/helpers/util.d.cts +85 -0
  371. package/node_modules/zod/v3/helpers/util.d.ts +85 -0
  372. package/node_modules/zod/v3/helpers/util.js +133 -0
  373. package/node_modules/zod/v3/index.cjs +33 -0
  374. package/node_modules/zod/v3/index.d.cts +4 -0
  375. package/node_modules/zod/v3/index.d.ts +4 -0
  376. package/node_modules/zod/v3/index.js +4 -0
  377. package/node_modules/zod/v3/locales/en.cjs +112 -0
  378. package/node_modules/zod/v3/locales/en.d.cts +3 -0
  379. package/node_modules/zod/v3/locales/en.d.ts +3 -0
  380. package/node_modules/zod/v3/locales/en.js +109 -0
  381. package/node_modules/zod/v3/package.json +7 -0
  382. package/node_modules/zod/v3/standard-schema.cjs +2 -0
  383. package/node_modules/zod/v3/standard-schema.d.cts +102 -0
  384. package/node_modules/zod/v3/standard-schema.d.ts +102 -0
  385. package/node_modules/zod/v3/standard-schema.js +1 -0
  386. package/node_modules/zod/v3/types.cjs +3777 -0
  387. package/node_modules/zod/v3/types.d.cts +1034 -0
  388. package/node_modules/zod/v3/types.d.ts +1034 -0
  389. package/node_modules/zod/v3/types.js +3695 -0
  390. package/node_modules/zod/v4/classic/checks.cjs +33 -0
  391. package/node_modules/zod/v4/classic/checks.d.cts +1 -0
  392. package/node_modules/zod/v4/classic/checks.d.ts +1 -0
  393. package/node_modules/zod/v4/classic/checks.js +1 -0
  394. package/node_modules/zod/v4/classic/coerce.cjs +47 -0
  395. package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  396. package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  397. package/node_modules/zod/v4/classic/coerce.js +17 -0
  398. package/node_modules/zod/v4/classic/compat.cjs +61 -0
  399. package/node_modules/zod/v4/classic/compat.d.cts +50 -0
  400. package/node_modules/zod/v4/classic/compat.d.ts +50 -0
  401. package/node_modules/zod/v4/classic/compat.js +31 -0
  402. package/node_modules/zod/v4/classic/errors.cjs +74 -0
  403. package/node_modules/zod/v4/classic/errors.d.cts +30 -0
  404. package/node_modules/zod/v4/classic/errors.d.ts +30 -0
  405. package/node_modules/zod/v4/classic/errors.js +48 -0
  406. package/node_modules/zod/v4/classic/external.cjs +73 -0
  407. package/node_modules/zod/v4/classic/external.d.cts +16 -0
  408. package/node_modules/zod/v4/classic/external.d.ts +16 -0
  409. package/node_modules/zod/v4/classic/external.js +20 -0
  410. package/node_modules/zod/v4/classic/from-json-schema.cjs +625 -0
  411. package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  412. package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  413. package/node_modules/zod/v4/classic/from-json-schema.js +599 -0
  414. package/node_modules/zod/v4/classic/index.cjs +33 -0
  415. package/node_modules/zod/v4/classic/index.d.cts +4 -0
  416. package/node_modules/zod/v4/classic/index.d.ts +4 -0
  417. package/node_modules/zod/v4/classic/index.js +4 -0
  418. package/node_modules/zod/v4/classic/iso.cjs +60 -0
  419. package/node_modules/zod/v4/classic/iso.d.cts +22 -0
  420. package/node_modules/zod/v4/classic/iso.d.ts +22 -0
  421. package/node_modules/zod/v4/classic/iso.js +30 -0
  422. package/node_modules/zod/v4/classic/package.json +7 -0
  423. package/node_modules/zod/v4/classic/parse.cjs +41 -0
  424. package/node_modules/zod/v4/classic/parse.d.cts +31 -0
  425. package/node_modules/zod/v4/classic/parse.d.ts +31 -0
  426. package/node_modules/zod/v4/classic/parse.js +15 -0
  427. package/node_modules/zod/v4/classic/schemas.cjs +1511 -0
  428. package/node_modules/zod/v4/classic/schemas.d.cts +767 -0
  429. package/node_modules/zod/v4/classic/schemas.d.ts +767 -0
  430. package/node_modules/zod/v4/classic/schemas.js +1395 -0
  431. package/node_modules/zod/v4/core/api.cjs +1227 -0
  432. package/node_modules/zod/v4/core/api.d.cts +325 -0
  433. package/node_modules/zod/v4/core/api.d.ts +325 -0
  434. package/node_modules/zod/v4/core/api.js +1087 -0
  435. package/node_modules/zod/v4/core/checks.cjs +601 -0
  436. package/node_modules/zod/v4/core/checks.d.cts +278 -0
  437. package/node_modules/zod/v4/core/checks.d.ts +278 -0
  438. package/node_modules/zod/v4/core/checks.js +575 -0
  439. package/node_modules/zod/v4/core/core.cjs +85 -0
  440. package/node_modules/zod/v4/core/core.d.cts +70 -0
  441. package/node_modules/zod/v4/core/core.d.ts +70 -0
  442. package/node_modules/zod/v4/core/core.js +78 -0
  443. package/node_modules/zod/v4/core/doc.cjs +39 -0
  444. package/node_modules/zod/v4/core/doc.d.cts +14 -0
  445. package/node_modules/zod/v4/core/doc.d.ts +14 -0
  446. package/node_modules/zod/v4/core/doc.js +35 -0
  447. package/node_modules/zod/v4/core/errors.cjs +216 -0
  448. package/node_modules/zod/v4/core/errors.d.cts +221 -0
  449. package/node_modules/zod/v4/core/errors.d.ts +221 -0
  450. package/node_modules/zod/v4/core/errors.js +185 -0
  451. package/node_modules/zod/v4/core/index.cjs +47 -0
  452. package/node_modules/zod/v4/core/index.d.cts +16 -0
  453. package/node_modules/zod/v4/core/index.d.ts +16 -0
  454. package/node_modules/zod/v4/core/index.js +16 -0
  455. package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
  456. package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  457. package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  458. package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  459. package/node_modules/zod/v4/core/json-schema-processors.cjs +644 -0
  460. package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
  461. package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
  462. package/node_modules/zod/v4/core/json-schema-processors.js +601 -0
  463. package/node_modules/zod/v4/core/json-schema.cjs +2 -0
  464. package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  465. package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  466. package/node_modules/zod/v4/core/json-schema.js +1 -0
  467. package/node_modules/zod/v4/core/package.json +7 -0
  468. package/node_modules/zod/v4/core/parse.cjs +131 -0
  469. package/node_modules/zod/v4/core/parse.d.cts +49 -0
  470. package/node_modules/zod/v4/core/parse.d.ts +49 -0
  471. package/node_modules/zod/v4/core/parse.js +93 -0
  472. package/node_modules/zod/v4/core/regexes.cjs +172 -0
  473. package/node_modules/zod/v4/core/regexes.d.cts +85 -0
  474. package/node_modules/zod/v4/core/regexes.d.ts +85 -0
  475. package/node_modules/zod/v4/core/regexes.js +139 -0
  476. package/node_modules/zod/v4/core/registries.cjs +56 -0
  477. package/node_modules/zod/v4/core/registries.d.cts +35 -0
  478. package/node_modules/zod/v4/core/registries.d.ts +35 -0
  479. package/node_modules/zod/v4/core/registries.js +51 -0
  480. package/node_modules/zod/v4/core/schemas.cjs +2270 -0
  481. package/node_modules/zod/v4/core/schemas.d.cts +1184 -0
  482. package/node_modules/zod/v4/core/schemas.d.ts +1184 -0
  483. package/node_modules/zod/v4/core/schemas.js +2239 -0
  484. package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  485. package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
  486. package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
  487. package/node_modules/zod/v4/core/standard-schema.js +1 -0
  488. package/node_modules/zod/v4/core/to-json-schema.cjs +457 -0
  489. package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
  490. package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
  491. package/node_modules/zod/v4/core/to-json-schema.js +448 -0
  492. package/node_modules/zod/v4/core/util.cjs +734 -0
  493. package/node_modules/zod/v4/core/util.d.cts +200 -0
  494. package/node_modules/zod/v4/core/util.d.ts +200 -0
  495. package/node_modules/zod/v4/core/util.js +674 -0
  496. package/node_modules/zod/v4/core/versions.cjs +8 -0
  497. package/node_modules/zod/v4/core/versions.d.cts +5 -0
  498. package/node_modules/zod/v4/core/versions.d.ts +5 -0
  499. package/node_modules/zod/v4/core/versions.js +5 -0
  500. package/node_modules/zod/v4/index.cjs +22 -0
  501. package/node_modules/zod/v4/index.d.cts +3 -0
  502. package/node_modules/zod/v4/index.d.ts +3 -0
  503. package/node_modules/zod/v4/index.js +3 -0
  504. package/node_modules/zod/v4/locales/ar.cjs +133 -0
  505. package/node_modules/zod/v4/locales/ar.d.cts +5 -0
  506. package/node_modules/zod/v4/locales/ar.d.ts +4 -0
  507. package/node_modules/zod/v4/locales/ar.js +106 -0
  508. package/node_modules/zod/v4/locales/az.cjs +132 -0
  509. package/node_modules/zod/v4/locales/az.d.cts +5 -0
  510. package/node_modules/zod/v4/locales/az.d.ts +4 -0
  511. package/node_modules/zod/v4/locales/az.js +105 -0
  512. package/node_modules/zod/v4/locales/be.cjs +183 -0
  513. package/node_modules/zod/v4/locales/be.d.cts +5 -0
  514. package/node_modules/zod/v4/locales/be.d.ts +4 -0
  515. package/node_modules/zod/v4/locales/be.js +156 -0
  516. package/node_modules/zod/v4/locales/bg.cjs +147 -0
  517. package/node_modules/zod/v4/locales/bg.d.cts +5 -0
  518. package/node_modules/zod/v4/locales/bg.d.ts +4 -0
  519. package/node_modules/zod/v4/locales/bg.js +120 -0
  520. package/node_modules/zod/v4/locales/ca.cjs +134 -0
  521. package/node_modules/zod/v4/locales/ca.d.cts +5 -0
  522. package/node_modules/zod/v4/locales/ca.d.ts +4 -0
  523. package/node_modules/zod/v4/locales/ca.js +107 -0
  524. package/node_modules/zod/v4/locales/cs.cjs +138 -0
  525. package/node_modules/zod/v4/locales/cs.d.cts +5 -0
  526. package/node_modules/zod/v4/locales/cs.d.ts +4 -0
  527. package/node_modules/zod/v4/locales/cs.js +111 -0
  528. package/node_modules/zod/v4/locales/da.cjs +142 -0
  529. package/node_modules/zod/v4/locales/da.d.cts +5 -0
  530. package/node_modules/zod/v4/locales/da.d.ts +4 -0
  531. package/node_modules/zod/v4/locales/da.js +115 -0
  532. package/node_modules/zod/v4/locales/de.cjs +135 -0
  533. package/node_modules/zod/v4/locales/de.d.cts +5 -0
  534. package/node_modules/zod/v4/locales/de.d.ts +4 -0
  535. package/node_modules/zod/v4/locales/de.js +108 -0
  536. package/node_modules/zod/v4/locales/el.cjs +136 -0
  537. package/node_modules/zod/v4/locales/el.d.cts +5 -0
  538. package/node_modules/zod/v4/locales/el.d.ts +4 -0
  539. package/node_modules/zod/v4/locales/el.js +109 -0
  540. package/node_modules/zod/v4/locales/en.cjs +140 -0
  541. package/node_modules/zod/v4/locales/en.d.cts +5 -0
  542. package/node_modules/zod/v4/locales/en.d.ts +4 -0
  543. package/node_modules/zod/v4/locales/en.js +113 -0
  544. package/node_modules/zod/v4/locales/eo.cjs +136 -0
  545. package/node_modules/zod/v4/locales/eo.d.cts +5 -0
  546. package/node_modules/zod/v4/locales/eo.d.ts +4 -0
  547. package/node_modules/zod/v4/locales/eo.js +109 -0
  548. package/node_modules/zod/v4/locales/es.cjs +159 -0
  549. package/node_modules/zod/v4/locales/es.d.cts +5 -0
  550. package/node_modules/zod/v4/locales/es.d.ts +4 -0
  551. package/node_modules/zod/v4/locales/es.js +132 -0
  552. package/node_modules/zod/v4/locales/fa.cjs +141 -0
  553. package/node_modules/zod/v4/locales/fa.d.cts +5 -0
  554. package/node_modules/zod/v4/locales/fa.d.ts +4 -0
  555. package/node_modules/zod/v4/locales/fa.js +114 -0
  556. package/node_modules/zod/v4/locales/fi.cjs +139 -0
  557. package/node_modules/zod/v4/locales/fi.d.cts +5 -0
  558. package/node_modules/zod/v4/locales/fi.d.ts +4 -0
  559. package/node_modules/zod/v4/locales/fi.js +112 -0
  560. package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
  561. package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  562. package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  563. package/node_modules/zod/v4/locales/fr-CA.js +107 -0
  564. package/node_modules/zod/v4/locales/fr.cjs +152 -0
  565. package/node_modules/zod/v4/locales/fr.d.cts +5 -0
  566. package/node_modules/zod/v4/locales/fr.d.ts +4 -0
  567. package/node_modules/zod/v4/locales/fr.js +125 -0
  568. package/node_modules/zod/v4/locales/he.cjs +241 -0
  569. package/node_modules/zod/v4/locales/he.d.cts +5 -0
  570. package/node_modules/zod/v4/locales/he.d.ts +4 -0
  571. package/node_modules/zod/v4/locales/he.js +214 -0
  572. package/node_modules/zod/v4/locales/hr.cjs +149 -0
  573. package/node_modules/zod/v4/locales/hr.d.cts +5 -0
  574. package/node_modules/zod/v4/locales/hr.d.ts +4 -0
  575. package/node_modules/zod/v4/locales/hr.js +122 -0
  576. package/node_modules/zod/v4/locales/hu.cjs +135 -0
  577. package/node_modules/zod/v4/locales/hu.d.cts +5 -0
  578. package/node_modules/zod/v4/locales/hu.d.ts +4 -0
  579. package/node_modules/zod/v4/locales/hu.js +108 -0
  580. package/node_modules/zod/v4/locales/hy.cjs +174 -0
  581. package/node_modules/zod/v4/locales/hy.d.cts +5 -0
  582. package/node_modules/zod/v4/locales/hy.d.ts +4 -0
  583. package/node_modules/zod/v4/locales/hy.js +147 -0
  584. package/node_modules/zod/v4/locales/id.cjs +133 -0
  585. package/node_modules/zod/v4/locales/id.d.cts +5 -0
  586. package/node_modules/zod/v4/locales/id.d.ts +4 -0
  587. package/node_modules/zod/v4/locales/id.js +106 -0
  588. package/node_modules/zod/v4/locales/index.cjs +111 -0
  589. package/node_modules/zod/v4/locales/index.d.cts +52 -0
  590. package/node_modules/zod/v4/locales/index.d.ts +52 -0
  591. package/node_modules/zod/v4/locales/index.js +52 -0
  592. package/node_modules/zod/v4/locales/is.cjs +136 -0
  593. package/node_modules/zod/v4/locales/is.d.cts +5 -0
  594. package/node_modules/zod/v4/locales/is.d.ts +4 -0
  595. package/node_modules/zod/v4/locales/is.js +109 -0
  596. package/node_modules/zod/v4/locales/it.cjs +135 -0
  597. package/node_modules/zod/v4/locales/it.d.cts +5 -0
  598. package/node_modules/zod/v4/locales/it.d.ts +4 -0
  599. package/node_modules/zod/v4/locales/it.js +108 -0
  600. package/node_modules/zod/v4/locales/ja.cjs +134 -0
  601. package/node_modules/zod/v4/locales/ja.d.cts +5 -0
  602. package/node_modules/zod/v4/locales/ja.d.ts +4 -0
  603. package/node_modules/zod/v4/locales/ja.js +107 -0
  604. package/node_modules/zod/v4/locales/ka.cjs +139 -0
  605. package/node_modules/zod/v4/locales/ka.d.cts +5 -0
  606. package/node_modules/zod/v4/locales/ka.d.ts +4 -0
  607. package/node_modules/zod/v4/locales/ka.js +112 -0
  608. package/node_modules/zod/v4/locales/kh.cjs +12 -0
  609. package/node_modules/zod/v4/locales/kh.d.cts +5 -0
  610. package/node_modules/zod/v4/locales/kh.d.ts +5 -0
  611. package/node_modules/zod/v4/locales/kh.js +5 -0
  612. package/node_modules/zod/v4/locales/km.cjs +137 -0
  613. package/node_modules/zod/v4/locales/km.d.cts +5 -0
  614. package/node_modules/zod/v4/locales/km.d.ts +4 -0
  615. package/node_modules/zod/v4/locales/km.js +110 -0
  616. package/node_modules/zod/v4/locales/ko.cjs +138 -0
  617. package/node_modules/zod/v4/locales/ko.d.cts +5 -0
  618. package/node_modules/zod/v4/locales/ko.d.ts +4 -0
  619. package/node_modules/zod/v4/locales/ko.js +111 -0
  620. package/node_modules/zod/v4/locales/lt.cjs +230 -0
  621. package/node_modules/zod/v4/locales/lt.d.cts +5 -0
  622. package/node_modules/zod/v4/locales/lt.d.ts +4 -0
  623. package/node_modules/zod/v4/locales/lt.js +203 -0
  624. package/node_modules/zod/v4/locales/mk.cjs +136 -0
  625. package/node_modules/zod/v4/locales/mk.d.cts +5 -0
  626. package/node_modules/zod/v4/locales/mk.d.ts +4 -0
  627. package/node_modules/zod/v4/locales/mk.js +109 -0
  628. package/node_modules/zod/v4/locales/ms.cjs +134 -0
  629. package/node_modules/zod/v4/locales/ms.d.cts +5 -0
  630. package/node_modules/zod/v4/locales/ms.d.ts +4 -0
  631. package/node_modules/zod/v4/locales/ms.js +107 -0
  632. package/node_modules/zod/v4/locales/nl.cjs +137 -0
  633. package/node_modules/zod/v4/locales/nl.d.cts +5 -0
  634. package/node_modules/zod/v4/locales/nl.d.ts +4 -0
  635. package/node_modules/zod/v4/locales/nl.js +110 -0
  636. package/node_modules/zod/v4/locales/no.cjs +135 -0
  637. package/node_modules/zod/v4/locales/no.d.cts +5 -0
  638. package/node_modules/zod/v4/locales/no.d.ts +4 -0
  639. package/node_modules/zod/v4/locales/no.js +108 -0
  640. package/node_modules/zod/v4/locales/ota.cjs +136 -0
  641. package/node_modules/zod/v4/locales/ota.d.cts +5 -0
  642. package/node_modules/zod/v4/locales/ota.d.ts +4 -0
  643. package/node_modules/zod/v4/locales/ota.js +109 -0
  644. package/node_modules/zod/v4/locales/package.json +7 -0
  645. package/node_modules/zod/v4/locales/pl.cjs +136 -0
  646. package/node_modules/zod/v4/locales/pl.d.cts +5 -0
  647. package/node_modules/zod/v4/locales/pl.d.ts +4 -0
  648. package/node_modules/zod/v4/locales/pl.js +109 -0
  649. package/node_modules/zod/v4/locales/ps.cjs +141 -0
  650. package/node_modules/zod/v4/locales/ps.d.cts +5 -0
  651. package/node_modules/zod/v4/locales/ps.d.ts +4 -0
  652. package/node_modules/zod/v4/locales/ps.js +114 -0
  653. package/node_modules/zod/v4/locales/pt.cjs +135 -0
  654. package/node_modules/zod/v4/locales/pt.d.cts +5 -0
  655. package/node_modules/zod/v4/locales/pt.d.ts +4 -0
  656. package/node_modules/zod/v4/locales/pt.js +108 -0
  657. package/node_modules/zod/v4/locales/ro.cjs +146 -0
  658. package/node_modules/zod/v4/locales/ro.d.cts +5 -0
  659. package/node_modules/zod/v4/locales/ro.d.ts +4 -0
  660. package/node_modules/zod/v4/locales/ro.js +119 -0
  661. package/node_modules/zod/v4/locales/ru.cjs +183 -0
  662. package/node_modules/zod/v4/locales/ru.d.cts +5 -0
  663. package/node_modules/zod/v4/locales/ru.d.ts +4 -0
  664. package/node_modules/zod/v4/locales/ru.js +156 -0
  665. package/node_modules/zod/v4/locales/sl.cjs +136 -0
  666. package/node_modules/zod/v4/locales/sl.d.cts +5 -0
  667. package/node_modules/zod/v4/locales/sl.d.ts +4 -0
  668. package/node_modules/zod/v4/locales/sl.js +109 -0
  669. package/node_modules/zod/v4/locales/sv.cjs +137 -0
  670. package/node_modules/zod/v4/locales/sv.d.cts +5 -0
  671. package/node_modules/zod/v4/locales/sv.d.ts +4 -0
  672. package/node_modules/zod/v4/locales/sv.js +110 -0
  673. package/node_modules/zod/v4/locales/ta.cjs +137 -0
  674. package/node_modules/zod/v4/locales/ta.d.cts +5 -0
  675. package/node_modules/zod/v4/locales/ta.d.ts +4 -0
  676. package/node_modules/zod/v4/locales/ta.js +110 -0
  677. package/node_modules/zod/v4/locales/th.cjs +137 -0
  678. package/node_modules/zod/v4/locales/th.d.cts +5 -0
  679. package/node_modules/zod/v4/locales/th.d.ts +4 -0
  680. package/node_modules/zod/v4/locales/th.js +110 -0
  681. package/node_modules/zod/v4/locales/tr.cjs +132 -0
  682. package/node_modules/zod/v4/locales/tr.d.cts +5 -0
  683. package/node_modules/zod/v4/locales/tr.d.ts +4 -0
  684. package/node_modules/zod/v4/locales/tr.js +105 -0
  685. package/node_modules/zod/v4/locales/ua.cjs +12 -0
  686. package/node_modules/zod/v4/locales/ua.d.cts +5 -0
  687. package/node_modules/zod/v4/locales/ua.d.ts +5 -0
  688. package/node_modules/zod/v4/locales/ua.js +5 -0
  689. package/node_modules/zod/v4/locales/uk.cjs +135 -0
  690. package/node_modules/zod/v4/locales/uk.d.cts +5 -0
  691. package/node_modules/zod/v4/locales/uk.d.ts +4 -0
  692. package/node_modules/zod/v4/locales/uk.js +108 -0
  693. package/node_modules/zod/v4/locales/ur.cjs +137 -0
  694. package/node_modules/zod/v4/locales/ur.d.cts +5 -0
  695. package/node_modules/zod/v4/locales/ur.d.ts +4 -0
  696. package/node_modules/zod/v4/locales/ur.js +110 -0
  697. package/node_modules/zod/v4/locales/uz.cjs +137 -0
  698. package/node_modules/zod/v4/locales/uz.d.cts +5 -0
  699. package/node_modules/zod/v4/locales/uz.d.ts +4 -0
  700. package/node_modules/zod/v4/locales/uz.js +110 -0
  701. package/node_modules/zod/v4/locales/vi.cjs +135 -0
  702. package/node_modules/zod/v4/locales/vi.d.cts +5 -0
  703. package/node_modules/zod/v4/locales/vi.d.ts +4 -0
  704. package/node_modules/zod/v4/locales/vi.js +108 -0
  705. package/node_modules/zod/v4/locales/yo.cjs +134 -0
  706. package/node_modules/zod/v4/locales/yo.d.cts +5 -0
  707. package/node_modules/zod/v4/locales/yo.d.ts +4 -0
  708. package/node_modules/zod/v4/locales/yo.js +107 -0
  709. package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
  710. package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  711. package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  712. package/node_modules/zod/v4/locales/zh-CN.js +109 -0
  713. package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
  714. package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  715. package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  716. package/node_modules/zod/v4/locales/zh-TW.js +107 -0
  717. package/node_modules/zod/v4/mini/checks.cjs +34 -0
  718. package/node_modules/zod/v4/mini/checks.d.cts +1 -0
  719. package/node_modules/zod/v4/mini/checks.d.ts +1 -0
  720. package/node_modules/zod/v4/mini/checks.js +1 -0
  721. package/node_modules/zod/v4/mini/coerce.cjs +52 -0
  722. package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  723. package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  724. package/node_modules/zod/v4/mini/coerce.js +22 -0
  725. package/node_modules/zod/v4/mini/external.cjs +63 -0
  726. package/node_modules/zod/v4/mini/external.d.cts +13 -0
  727. package/node_modules/zod/v4/mini/external.d.ts +13 -0
  728. package/node_modules/zod/v4/mini/external.js +14 -0
  729. package/node_modules/zod/v4/mini/index.cjs +32 -0
  730. package/node_modules/zod/v4/mini/index.d.cts +3 -0
  731. package/node_modules/zod/v4/mini/index.d.ts +3 -0
  732. package/node_modules/zod/v4/mini/index.js +3 -0
  733. package/node_modules/zod/v4/mini/iso.cjs +64 -0
  734. package/node_modules/zod/v4/mini/iso.d.cts +22 -0
  735. package/node_modules/zod/v4/mini/iso.d.ts +22 -0
  736. package/node_modules/zod/v4/mini/iso.js +34 -0
  737. package/node_modules/zod/v4/mini/package.json +7 -0
  738. package/node_modules/zod/v4/mini/parse.cjs +16 -0
  739. package/node_modules/zod/v4/mini/parse.d.cts +1 -0
  740. package/node_modules/zod/v4/mini/parse.d.ts +1 -0
  741. package/node_modules/zod/v4/mini/parse.js +1 -0
  742. package/node_modules/zod/v4/mini/schemas.cjs +1083 -0
  743. package/node_modules/zod/v4/mini/schemas.d.cts +445 -0
  744. package/node_modules/zod/v4/mini/schemas.d.ts +445 -0
  745. package/node_modules/zod/v4/mini/schemas.js +961 -0
  746. package/node_modules/zod/v4/package.json +7 -0
  747. package/node_modules/zod/v4-mini/index.cjs +32 -0
  748. package/node_modules/zod/v4-mini/index.d.cts +3 -0
  749. package/node_modules/zod/v4-mini/index.d.ts +3 -0
  750. package/node_modules/zod/v4-mini/index.js +3 -0
  751. package/node_modules/zod/v4-mini/package.json +7 -0
  752. package/openclaw.plugin.json +518 -384
  753. package/package.json +70 -21
  754. package/dist/accounts-Bz4HtP0g.js +0 -59
  755. package/dist/channel.runtime-ts_U4_q4.js +0 -66
  756. package/dist/config-api-DIg1lInT.js +0 -3
  757. package/dist/config-schema-CfVNH0DB.js +0 -25
  758. package/dist/probe-sSH6ggyy.js +0 -48
  759. package/npm-shrinkwrap.json +0 -36
@@ -1,30 +1,31 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-D7D4PA-g.js";
2
- import { a as resolveSignalReplyToMode, i as resolveSignalAccount } from "./accounts-Bz4HtP0g.js";
2
+ import { i as resolveSignalAccount, o as resolveSignalReplyToMode } from "./accounts-DrStJjiK.js";
3
3
  import { a as normalizeSignalAllowRecipient, c as resolveSignalSender, d as normalizeSignalMessagingTarget, i as isSignalSenderAllowed, l as looksLikeUuid, n as formatSignalSenderDisplay, o as resolveSignalPeerId, r as formatSignalSenderId, s as resolveSignalRecipient, t as formatSignalPairingIdLine } from "./identity-BQ4OzXXk.js";
4
- import { t as getOptionalSignalRuntime } from "./runtime-B900w6lc.js";
5
- import { a as resolveSignalReactionLevel, c as isSignalNativeApprovalHandlerConfigured, r as materializeSignalPresentationFallback, t as registerSignalReplyContext } from "./reply-authors-DcNqGpX-.js";
6
- import { n as signalRpcRequest, r as streamSignalEvents, t as signalCheck } from "./client-adapter-DZD8DCai.js";
7
- import { n as sendReactionSignal, t as removeReactionSignal } from "./reaction-runtime-api-tPkUVRoL.js";
8
- import { a as maybeResolveSignalApprovalReaction, l as resolveSignalApprovalConversationKey, s as registerSignalApprovalReactionTargetForDeliveredPayload, t as addSignalApprovalReactionHintToStructuredPayload } from "./approval-reactions-DcpZRS5-.js";
9
- import { r as registerSignalQuestionReactionTargetForDeliveredPayload, t as maybeResolveSignalQuestionReaction } from "./question-reactions-BFFJNQsu.js";
10
- import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-f6JLstd2.js";
11
- import { DEFAULT_INGRESS_RETRY_DEAD_LETTER_MIN_AGE_MS, DEFAULT_INGRESS_RETRY_MAX_ATTEMPTS, bindIngressLifecycleToReplyOptions, createChannelIngressDrain, createChannelMessageReplyPipeline, resolveChannelStreamingBlockEnabled } from "openclaw/plugin-sdk/channel-outbound";
4
+ import { t as getOptionalSignalRuntime } from "./runtime-JPrGlV7h.js";
5
+ import { i as materializeSignalPresentationFallback, n as registerSignalReplyContext, o as resolveSignalReactionLevel, s as formatSignalMediaText, u as isSignalNativeApprovalHandlerConfigured } from "./transport-detection-Da06-LOL.js";
6
+ import { n as signalRpcRequest, r as streamSignalEvents, t as signalCheck } from "./client-adapter-mXGeEHQJ.js";
7
+ import { n as sendReactionSignal } from "./reaction-runtime-api-BjeDyKcz.js";
8
+ import { a as maybeResolveSignalApprovalReaction, l as resolveSignalApprovalConversationKey, s as registerSignalApprovalReactionTargetForDeliveredPayload, t as addSignalApprovalReactionHintToStructuredPayload } from "./approval-reactions-DtL47gSK.js";
9
+ import { r as registerSignalQuestionReactionTargetForDeliveredPayload, t as maybeResolveSignalQuestionReaction } from "./question-reactions-Ds48FtEu.js";
10
+ import { n as sendReadReceiptSignal, r as sendTypingSignal, t as sendMessageSignal } from "./send-B_Ks4MZr.js";
11
+ import { bindIngressLifecycleToReplyOptions, createChannelIngressMonitor, createChannelMessageReplyPipeline, resolveChannelStreamingBlockEnabled } from "openclaw/plugin-sdk/channel-outbound";
12
12
  import { createChannelPairingChallengeIssuer } from "openclaw/plugin-sdk/channel-pairing";
13
13
  import { detectMime, estimateBase64DecodedBytes, kindFromMime, saveMediaBuffer } from "openclaw/plugin-sdk/media-runtime";
14
14
  import { resolveAgentRoute, resolveInboundLastRouteSessionKey } from "openclaw/plugin-sdk/routing";
15
15
  import { normalizeOptionalString, normalizeStringEntries } from "openclaw/plugin-sdk/string-coerce-runtime";
16
16
  import { CHANNEL_APPROVAL_NATIVE_RUNTIME_CONTEXT_CAPABILITY } from "openclaw/plugin-sdk/approval-handler-adapter-runtime";
17
17
  import { normalizeE164, truncateUtf16Safe } from "openclaw/plugin-sdk/text-utility-runtime";
18
+ import { buildChannelInboundEventContext, buildMentionRegexes, createChannelInboundDebouncer, filterChannelInboundQuoteContext, formatInboundEnvelope, formatInboundFromLabel, formatInboundMediaUnavailableText, hasVisibleInboundReplyDispatch, logInboundDrop, matchesMentionPatterns, resolveEnvelopeFormatOptions, resolveInboundMentionDecision, resolveInboundSupplementalSenderAllowed, runChannelInboundEvent, shouldDebounceTextInbound, toHistoryMediaEntries, toInboundMediaFacts } from "openclaw/plugin-sdk/channel-inbound";
18
19
  import nodePath from "node:path";
19
- import { resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/security-runtime";
20
20
  import { collectErrorGraphCandidates, formatErrorMessage } from "openclaw/plugin-sdk/error-runtime";
21
+ import { resolvePinnedMainDmOwnerFromAllowlist } from "openclaw/plugin-sdk/security-runtime";
21
22
  import { resolveChannelGroupPolicy, resolveChannelGroupRequireMention } from "openclaw/plugin-sdk/channel-policy";
22
23
  import { registerChannelRuntimeContext } from "openclaw/plugin-sdk/channel-runtime-context";
23
24
  import { DEFAULT_GROUP_HISTORY_LIMIT, createChannelHistoryWindow } from "openclaw/plugin-sdk/reply-history";
24
25
  import { deliverTextOrMediaReply, resolveSendableOutboundReplyParts } from "openclaw/plugin-sdk/reply-payload";
25
26
  import { chunkTextWithMode, createReplyReferencePlanner, resolveChunkMode, resolveTextChunkLimit } from "openclaw/plugin-sdk/reply-runtime";
26
27
  import { getRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot";
27
- import { computeBackoff, createNonExitingRuntime, danger, logVerbose, shouldLogVerbose, sleep, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
28
+ import { computeBackoff, createNonExitingRuntime, danger, logVerbose, shouldLogVerbose, sleepWithAbort } from "openclaw/plugin-sdk/runtime-env";
28
29
  import { resolveAllowlistProviderRuntimeGroupPolicy, resolveDefaultGroupPolicy, warnMissingProviderGroupPolicyFallbackOnce } from "openclaw/plugin-sdk/runtime-group-policy";
29
30
  import { waitForTransportReady } from "openclaw/plugin-sdk/transport-ready-runtime";
30
31
  import { spawn } from "node:child_process";
@@ -33,13 +34,12 @@ import { createInterface } from "node:readline";
33
34
  import { setTimeout as setTimeout$1 } from "node:timers/promises";
34
35
  import { resolveHumanDelayConfig } from "openclaw/plugin-sdk/agent-runtime";
35
36
  import { DEFAULT_EMOJIS, DEFAULT_TIMING, createStatusReactionController, logAckFailure, logTypingFailure, resolveAckReaction, shouldAckReaction } from "openclaw/plugin-sdk/channel-feedback";
36
- import { buildChannelInboundEventContext, buildMentionRegexes, createChannelInboundDebouncer, filterChannelInboundQuoteContext, formatInboundEnvelope, formatInboundFromLabel, formatInboundMediaUnavailableText, hasVisibleInboundReplyDispatch, logInboundDrop, matchesMentionPatterns, resolveEnvelopeFormatOptions, resolveInboundMentionDecision, resolveInboundSupplementalSenderAllowed, runChannelInboundEvent, shouldDebounceTextInbound } from "openclaw/plugin-sdk/channel-inbound";
37
+ import { createChannelIngressResolver, defineStableChannelIngressIdentity, fanInChannelIngressLifecycles } from "openclaw/plugin-sdk/channel-ingress-runtime";
37
38
  import { isControlCommandMessage } from "openclaw/plugin-sdk/command-detection";
38
39
  import { createInternalHookEvent, fireAndForgetHook, toInternalMessageReceivedContext, triggerInternalHook } from "openclaw/plugin-sdk/hook-runtime";
39
40
  import { resolveBatchedReplyThreadingPolicy } from "openclaw/plugin-sdk/reply-reference";
40
41
  import { readSessionUpdatedAt, resolveStorePath } from "openclaw/plugin-sdk/session-store-runtime";
41
42
  import { enqueueSystemEvent } from "openclaw/plugin-sdk/system-event-runtime";
42
- import { createChannelIngressResolver, defineStableChannelIngressIdentity } from "openclaw/plugin-sdk/channel-ingress-runtime";
43
43
  import { upsertChannelPairingRequest } from "openclaw/plugin-sdk/conversation-runtime";
44
44
  import { listChatCommands, maybeResolveTextAlias, normalizeCommandBody } from "openclaw/plugin-sdk/command-auth-native";
45
45
  import { isAbortRequestText } from "openclaw/plugin-sdk/command-primitives-runtime";
@@ -514,18 +514,6 @@ const RETRYABLE_FLUSH_RETRY_DELAYS_MS = [
514
514
  function isSignalReplySessionInitConflictError(error) {
515
515
  return collectErrorGraphCandidates(error, (current) => [current.cause, current.error]).some((candidate) => REPLY_SESSION_INIT_CONFLICT_MESSAGE_RE.test(formatErrorMessage(candidate)));
516
516
  }
517
- function formatAttachmentKindCount(kind, count) {
518
- if (kind === "attachment") return `${count} file${count > 1 ? "s" : ""}`;
519
- return `${count} ${kind}${count > 1 ? "s" : ""}`;
520
- }
521
- function formatAttachmentSummaryPlaceholder(contentTypes) {
522
- const kindCounts = /* @__PURE__ */ new Map();
523
- for (const contentType of contentTypes) {
524
- const kind = kindFromMime(contentType) ?? "attachment";
525
- kindCounts.set(kind, (kindCounts.get(kind) ?? 0) + 1);
526
- }
527
- return `[${[...kindCounts.entries()].map(([kind, count]) => formatAttachmentKindCount(kind, count)).join(" + ")} attached]`;
528
- }
529
517
  function resolveSignalInboundRoute(params) {
530
518
  return resolveAgentRoute({
531
519
  cfg: params.cfg,
@@ -554,26 +542,12 @@ function resolveSignalStatusReactionEmojis(emojis) {
554
542
  };
555
543
  }
556
544
  async function finalizeSignalStatusReaction(params) {
557
- if (params.outcome === "done") {
558
- await params.controller.setDone();
559
- if (params.removeAckAfterReply) {
560
- await sleep(params.timing.doneHoldMs);
561
- await params.controller.clear();
562
- } else await params.controller.restoreInitial();
563
- return;
564
- }
565
- await params.controller.setError();
566
- if (params.hasFinalResponse) {
567
- if (params.removeAckAfterReply) {
568
- await sleep(params.timing.errorHoldMs);
569
- await params.controller.clear();
570
- } else await params.controller.restoreInitial();
571
- return;
572
- }
573
- if (params.removeAckAfterReply) await sleep(params.timing.errorHoldMs);
545
+ if (params.outcome === "done") await params.controller.setDone();
546
+ else await params.controller.setError();
574
547
  await params.controller.restoreInitial();
575
548
  }
576
549
  function createSignalEventHandler(deps) {
550
+ const statusReactionTiming = deps.statusReactionTiming ?? DEFAULT_TIMING;
577
551
  const activeEnqueueEntries = /* @__PURE__ */ new WeakSet();
578
552
  async function handleSignalInboundMessage(entry) {
579
553
  const fromLabel = formatInboundFromLabel({
@@ -620,7 +594,7 @@ function createSignalEventHandler(deps) {
620
594
  channel: "Signal",
621
595
  from: fromLabel,
622
596
  timestamp: historyEntry.timestamp,
623
- body: `${historyEntry.body}${historyEntry.messageId ? ` [id:${historyEntry.messageId}]` : ""}`,
597
+ body: `${[historyEntry.body, formatSignalMediaText(historyEntry.media ?? [])].filter(Boolean).join("\n")}${historyEntry.messageId ? ` [id:${historyEntry.messageId}]` : ""}`,
624
598
  chatType: "group",
625
599
  senderLabel: historyEntry.sender,
626
600
  envelope: envelopeOptions
@@ -638,15 +612,7 @@ function createSignalEventHandler(deps) {
638
612
  chatType: entry.isGroup ? "group" : "direct"
639
613
  });
640
614
  const replyThreading = resolveBatchedReplyThreadingPolicy(replyToMode, entry.isBatched === true);
641
- const media = entry.mediaPaths && entry.mediaPaths.length > 0 ? entry.mediaPaths.map((path, index) => ({
642
- path,
643
- url: path,
644
- contentType: entry.mediaTypes?.[index]
645
- })) : entry.mediaPath ? [{
646
- path: entry.mediaPath,
647
- url: entry.mediaPath,
648
- contentType: entry.mediaType
649
- }] : void 0;
615
+ const media = toInboundMediaFacts(entry.media);
650
616
  const ctxPayload = buildChannelInboundEventContext({
651
617
  channel: "signal",
652
618
  supplemental: { quote: entry.replyToBody ? {
@@ -683,6 +649,7 @@ function createSignalEventHandler(deps) {
683
649
  rawBody: entry.commandBody,
684
650
  commandBody: entry.commandBody
685
651
  },
652
+ sessionTranscript: { historyLimit: entry.isGroup ? deps.historyLimit : 0 },
686
653
  access: {
687
654
  ...entry.isGroup ? { mentions: {
688
655
  canDetectMention: true,
@@ -731,23 +698,14 @@ function createSignalEventHandler(deps) {
731
698
  } : {}
732
699
  };
733
700
  const statusReactionRecipient = entry.isGroup ? "" : entry.senderRecipient;
734
- let currentStatusReactionEmoji = ackReaction;
735
701
  const statusReactionController = statusReactionsConfig?.enabled === true && signalReactionLevel.level !== "off" && shouldSendStatusReaction && statusReactionTimestamp ? createStatusReactionController({
736
702
  enabled: true,
737
- adapter: {
738
- setReaction: async (emoji) => {
739
- await sendReactionSignal(statusReactionRecipient, statusReactionTimestamp, emoji, signalReactionOpts);
740
- currentStatusReactionEmoji = emoji;
741
- },
742
- clearReaction: async () => {
743
- if (!currentStatusReactionEmoji) return;
744
- await removeReactionSignal(statusReactionRecipient, statusReactionTimestamp, currentStatusReactionEmoji, signalReactionOpts);
745
- currentStatusReactionEmoji = "";
746
- }
747
- },
703
+ adapter: { setReaction: async (emoji) => {
704
+ await sendReactionSignal(statusReactionRecipient, statusReactionTimestamp, emoji, signalReactionOpts);
705
+ } },
748
706
  initialEmoji: ackReaction,
749
- emojis: resolveSignalStatusReactionEmojis(statusReactionsConfig.emojis),
750
- timing: statusReactionsConfig.timing,
707
+ emojis: resolveSignalStatusReactionEmojis(void 0),
708
+ timing: statusReactionTiming,
751
709
  onError: (err) => {
752
710
  logAckFailure({
753
711
  log: logVerbose,
@@ -757,10 +715,6 @@ function createSignalEventHandler(deps) {
757
715
  });
758
716
  }
759
717
  }) : null;
760
- const statusReactionTiming = {
761
- ...DEFAULT_TIMING,
762
- ...statusReactionsConfig?.timing
763
- };
764
718
  if (statusReactionController) statusReactionController.setQueued();
765
719
  const { onModelSelected, typingCallbacks, ...replyPipeline } = createChannelMessageReplyPipeline({
766
720
  cfg: deps.cfg,
@@ -910,10 +864,7 @@ function createSignalEventHandler(deps) {
910
864
  const hasDeliveryFailure = result.dispatched && hasSignalStatusReplyDeliveryFailure(result.dispatchResult);
911
865
  finalizeSignalStatusReaction({
912
866
  controller: statusReactionController,
913
- outcome: hasFinalResponse && !hasDeliveryFailure ? "done" : "error",
914
- hasFinalResponse,
915
- removeAckAfterReply: deps.cfg.messages?.removeAckAfterReply ?? false,
916
- timing: statusReactionTiming
867
+ outcome: hasFinalResponse && !hasDeliveryFailure ? "done" : "error"
917
868
  }).catch((err) => {
918
869
  logVerbose(`signal: status reaction finalize failed: ${String(err)}`);
919
870
  });
@@ -921,45 +872,10 @@ function createSignalEventHandler(deps) {
921
872
  }
922
873
  });
923
874
  }
924
- function buildFlushIngressLifecycle(entries) {
925
- const lifecycles = entries.map((entry) => entry.turnAdoptionLifecycle).filter((lifecycle) => lifecycle !== void 0);
926
- const [firstLifecycle] = lifecycles;
927
- if (!firstLifecycle) return {
928
- lifecycle: void 0,
929
- settle: async () => {}
930
- };
931
- let handedOff = false;
932
- const adoptAll = async () => {
933
- for (const lifecycle of lifecycles) await lifecycle.onAdopted();
934
- };
935
- return {
936
- lifecycle: {
937
- abortSignal: lifecycles.length === 1 ? firstLifecycle.abortSignal : AbortSignal.any(lifecycles.map((lifecycle) => lifecycle.abortSignal)),
938
- onAdopted: async () => {
939
- handedOff = true;
940
- await adoptAll();
941
- },
942
- onDeferred: () => {
943
- handedOff = true;
944
- for (const lifecycle of lifecycles) lifecycle.onDeferred();
945
- },
946
- onAdoptionFinalizing: () => {
947
- for (const lifecycle of lifecycles) lifecycle.onAdoptionFinalizing();
948
- },
949
- onAbandoned: async () => {
950
- handedOff = true;
951
- await Promise.all(lifecycles.map((lifecycle) => Promise.resolve(lifecycle.onAbandoned())));
952
- }
953
- },
954
- settle: async () => {
955
- if (!handedOff) await adoptAll();
956
- }
957
- };
958
- }
959
875
  async function flushSignalInboundEntries(entries) {
960
876
  const last = entries.at(-1);
961
877
  if (!last) return;
962
- const { lifecycle, settle } = buildFlushIngressLifecycle(entries);
878
+ const { lifecycle, settle } = fanInChannelIngressLifecycles(entries.map((entry) => entry.turnAdoptionLifecycle));
963
879
  if (entries.length === 1) {
964
880
  await handleSignalInboundMessage(lifecycle ? {
965
881
  ...last,
@@ -981,10 +897,7 @@ function createSignalEventHandler(deps) {
981
897
  ...lifecycle ? { turnAdoptionLifecycle: lifecycle } : {},
982
898
  isBatched: true,
983
899
  nativeReplyBody: last.nativeReplyBody ?? last.bodyText,
984
- mediaPath: void 0,
985
- mediaType: void 0,
986
- mediaPaths: void 0,
987
- mediaTypes: void 0
900
+ media: entries.flatMap((entry) => entry.media ?? [])
988
901
  });
989
902
  await settle();
990
903
  }
@@ -1041,7 +954,7 @@ function createSignalEventHandler(deps) {
1041
954
  shouldDebounce: (entry) => shouldDebounceTextInbound({
1042
955
  text: entry.commandBody,
1043
956
  cfg: deps.cfg,
1044
- hasMedia: Boolean(entry.mediaPath || entry.mediaType || entry.mediaPaths?.length)
957
+ hasMedia: entry.media?.some((media) => Boolean(media.path || media.url)) === true
1045
958
  }),
1046
959
  onFlush: flushNormalSignalInboundEntries,
1047
960
  onError: reportSignalInboundFlushError,
@@ -1282,23 +1195,23 @@ function createSignalEventHandler(deps) {
1282
1195
  reason: "no mention",
1283
1196
  target: senderDisplay
1284
1197
  });
1285
- const pendingPlaceholder = (() => {
1286
- if (!dataMessage.attachments?.length) return "";
1287
- if (deps.ignoreAttachments) return "<media:attachment>";
1288
- const attachmentTypes = (dataMessage.attachments ?? []).map((attachment) => typeof attachment?.contentType === "string" ? attachment.contentType : void 0);
1289
- if (attachmentTypes.length > 1) return formatAttachmentSummaryPlaceholder(attachmentTypes);
1290
- const firstContentType = dataMessage.attachments?.[0]?.contentType;
1291
- const pendingKind = kindFromMime(firstContentType ?? void 0);
1292
- return pendingKind ? `<media:${pendingKind}>` : "<media:attachment>";
1293
- })();
1294
- const pendingBodyText = messageText || pendingPlaceholder || visibleQuoteText;
1198
+ const pendingMedia = (dataMessage.attachments ?? []).map((attachment) => {
1199
+ const contentType = attachment?.contentType ?? void 0;
1200
+ return {
1201
+ contentType,
1202
+ kind: kindFromMime(contentType) ?? "unknown"
1203
+ };
1204
+ });
1205
+ const pendingMediaText = formatSignalMediaText(pendingMedia);
1206
+ const pendingBodyText = messageText || pendingMediaText || visibleQuoteText;
1295
1207
  const historyKey = groupId ?? "unknown";
1296
1208
  createChannelHistoryWindow({ historyMap: deps.groupHistories }).record({
1297
1209
  historyKey,
1298
1210
  limit: deps.historyLimit,
1299
1211
  entry: {
1300
1212
  sender: envelope.sourceName ?? senderDisplay,
1301
- body: pendingBodyText,
1213
+ body: messageText || visibleQuoteText,
1214
+ media: toHistoryMediaEntries(pendingMedia),
1302
1215
  timestamp: envelope.timestamp ?? void 0,
1303
1216
  messageId: typeof envelope.timestamp === "number" ? String(envelope.timestamp) : void 0
1304
1217
  }
@@ -1308,7 +1221,8 @@ function createSignalEventHandler(deps) {
1308
1221
  to: signalTo,
1309
1222
  replyToId,
1310
1223
  author: senderRecipient,
1311
- body: pendingBodyText,
1224
+ body: messageText || visibleQuoteText,
1225
+ media: pendingMedia,
1312
1226
  sourceTimestamp: inboundTimestamp
1313
1227
  });
1314
1228
  const signalGroupPolicy = resolveChannelGroupPolicy({
@@ -1340,14 +1254,16 @@ function createSignalEventHandler(deps) {
1340
1254
  }
1341
1255
  return;
1342
1256
  }
1343
- let mediaPath;
1344
- let mediaType;
1345
- const mediaPaths = [];
1346
- const mediaTypes = [];
1347
- let placeholder = "";
1348
1257
  const attachments = dataMessage.attachments ?? [];
1258
+ const mediaFacts = attachments.map((attachment) => {
1259
+ const contentType = attachment?.contentType ?? void 0;
1260
+ return {
1261
+ contentType,
1262
+ kind: kindFromMime(contentType) ?? "unknown"
1263
+ };
1264
+ });
1349
1265
  let unavailableAttachmentCount = deps.ignoreAttachments ? attachments.length : 0;
1350
- if (!deps.ignoreAttachments) for (const attachment of attachments) {
1266
+ if (!deps.ignoreAttachments) for (const [index, attachment] of attachments.entries()) {
1351
1267
  if (!attachment?.id) {
1352
1268
  unavailableAttachmentCount += 1;
1353
1269
  continue;
@@ -1362,25 +1278,20 @@ function createSignalEventHandler(deps) {
1362
1278
  maxBytes: deps.mediaMaxBytes
1363
1279
  });
1364
1280
  if (fetched) {
1365
- mediaPaths.push(fetched.path);
1366
- mediaTypes.push(fetched.contentType ?? attachment.contentType ?? "application/octet-stream");
1367
- if (!mediaPath) {
1368
- mediaPath = fetched.path;
1369
- mediaType = fetched.contentType ?? attachment.contentType ?? void 0;
1370
- }
1281
+ const contentType = fetched.contentType ?? attachment.contentType ?? "application/octet-stream";
1282
+ mediaFacts[index] = {
1283
+ path: fetched.path,
1284
+ url: fetched.path,
1285
+ contentType,
1286
+ kind: kindFromMime(contentType) ?? "unknown"
1287
+ };
1371
1288
  } else unavailableAttachmentCount += 1;
1372
1289
  } catch (err) {
1373
1290
  unavailableAttachmentCount += 1;
1374
1291
  deps.runtime.error?.(danger(`attachment fetch failed: ${String(err)}`));
1375
1292
  }
1376
1293
  }
1377
- if (mediaPaths.length > 1) placeholder = formatAttachmentSummaryPlaceholder(mediaTypes);
1378
- else {
1379
- const kind = kindFromMime(mediaType ?? void 0);
1380
- if (kind) placeholder = `<media:${kind}>`;
1381
- else if (mediaPaths.length > 0) placeholder = "<media:attachment>";
1382
- }
1383
- let bodyText = messageText || placeholder || visibleQuoteText || "";
1294
+ let bodyText = messageText;
1384
1295
  if (unavailableAttachmentCount > 0) {
1385
1296
  const attachmentLabel = unavailableAttachmentCount === 1 ? "attachment" : "attachments";
1386
1297
  bodyText = formatInboundMediaUnavailableText({
@@ -1388,7 +1299,7 @@ function createSignalEventHandler(deps) {
1388
1299
  notice: `[signal ${unavailableAttachmentCount > 1 ? `${unavailableAttachmentCount} ` : ""}${attachmentLabel} unavailable]`
1389
1300
  });
1390
1301
  }
1391
- if (!bodyText) return;
1302
+ if (!bodyText && mediaFacts.length === 0 && !visibleQuoteText) return;
1392
1303
  if (deps.sendReadReceipts && !deps.readReceiptsViaDaemon && !isGroup && inboundTimestamp) try {
1393
1304
  await sendReadReceiptSignal(`signal:${senderRecipient}`, inboundTimestamp, {
1394
1305
  cfg: deps.cfg,
@@ -1406,7 +1317,8 @@ function createSignalEventHandler(deps) {
1406
1317
  to: signalTo,
1407
1318
  replyToId,
1408
1319
  author: senderRecipient,
1409
- body: bodyText,
1320
+ body: messageText,
1321
+ media: mediaFacts,
1410
1322
  sourceTimestamp: inboundTimestamp
1411
1323
  });
1412
1324
  const entry = {
@@ -1418,14 +1330,12 @@ function createSignalEventHandler(deps) {
1418
1330
  groupName,
1419
1331
  isGroup,
1420
1332
  bodyText,
1333
+ nativeReplyBody: [messageText, formatSignalMediaText(mediaFacts)].filter(Boolean).join("\n"),
1421
1334
  commandBody: messageText,
1422
1335
  timestamp: inboundTimestamp,
1423
1336
  messageId,
1424
1337
  replyToId,
1425
- mediaPath,
1426
- mediaType,
1427
- mediaPaths: mediaPaths.length > 0 ? mediaPaths : void 0,
1428
- mediaTypes: mediaTypes.length > 0 ? mediaTypes : void 0,
1338
+ media: mediaFacts,
1429
1339
  commandAuthorized,
1430
1340
  canDetectMention,
1431
1341
  requireMention,
@@ -1467,7 +1377,7 @@ var SignalIngressPermanentError = class extends Error {
1467
1377
  this.name = "SignalIngressPermanentError";
1468
1378
  }
1469
1379
  };
1470
- function isRecord(value) {
1380
+ function isRecord$1(value) {
1471
1381
  return typeof value === "object" && value !== null && !Array.isArray(value);
1472
1382
  }
1473
1383
  function normalizeRawString(value) {
@@ -1484,18 +1394,18 @@ function parseReceiveEnvelope(event) {
1484
1394
  } catch (error) {
1485
1395
  throw new SignalIngressPermanentError("parse-error", "Signal receive event contains invalid JSON", { cause: error });
1486
1396
  }
1487
- if (!isRecord(parsed)) throw new SignalIngressPermanentError("parse-error", "Signal receive event must contain a JSON object");
1488
- return isRecord(parsed.envelope) ? parsed.envelope : null;
1397
+ if (!isRecord$1(parsed)) throw new SignalIngressPermanentError("parse-error", "Signal receive event must contain a JSON object");
1398
+ return isRecord$1(parsed.envelope) ? parsed.envelope : null;
1489
1399
  }
1490
1400
  function resolveDataMessage(envelope) {
1491
- if (isRecord(envelope.dataMessage)) return envelope.dataMessage;
1492
- return isRecord(envelope.editMessage?.dataMessage) ? envelope.editMessage.dataMessage : null;
1401
+ if (isRecord$1(envelope.dataMessage)) return envelope.dataMessage;
1402
+ return isRecord$1(envelope.editMessage?.dataMessage) ? envelope.editMessage.dataMessage : null;
1493
1403
  }
1494
1404
  function inspectSignalIngressEvent(event) {
1495
1405
  const envelope = parseReceiveEnvelope(event);
1496
1406
  if (!envelope || "syncMessage" in envelope) return null;
1497
1407
  const dataMessage = resolveDataMessage(envelope);
1498
- const reactionMessage = isRecord(envelope.reactionMessage) ? envelope.reactionMessage : null;
1408
+ const reactionMessage = isRecord$1(envelope.reactionMessage) ? envelope.reactionMessage : null;
1499
1409
  if (!dataMessage && !reactionMessage) return null;
1500
1410
  const senderUuid = normalizeRawString(envelope.sourceUuid);
1501
1411
  const senderNumber = normalizeRawString(envelope.sourceNumber);
@@ -1503,57 +1413,20 @@ function inspectSignalIngressEvent(event) {
1503
1413
  if (!senderKey) throw new SignalIngressPermanentError("missing-sender", "Signal dispatchable envelope is missing sourceUuid/sourceNumber");
1504
1414
  const timestamp = normalizeTimestamp(envelope.timestamp) ?? normalizeTimestamp(dataMessage?.timestamp);
1505
1415
  if (timestamp === null) throw new SignalIngressPermanentError("missing-timestamp", "Signal dispatchable envelope is missing a stable timestamp");
1506
- const dataGroup = isRecord(dataMessage?.groupInfo) ? dataMessage.groupInfo : null;
1507
- const reactionGroup = isRecord(reactionMessage?.groupInfo) ? reactionMessage.groupInfo : null;
1416
+ const dataGroup = isRecord$1(dataMessage?.groupInfo) ? dataMessage.groupInfo : null;
1417
+ const reactionGroup = isRecord$1(reactionMessage?.groupInfo) ? reactionMessage.groupInfo : null;
1508
1418
  const groupId = normalizeRawString(dataGroup?.groupId) ?? normalizeRawString(reactionGroup?.groupId);
1509
1419
  return {
1510
1420
  eventId: JSON.stringify([senderKey, timestamp]),
1511
1421
  laneKey: groupId ? `group:${groupId}` : `direct:${senderKey}`
1512
1422
  };
1513
1423
  }
1514
- /** Durable receive chokepoint. Metadata comes from raw fields; payload stays byte-equivalent JSON. */
1515
- async function enqueueSignalIngressEvent(params) {
1516
- const facts = inspectSignalIngressEvent(params.event);
1517
- if (!facts) return { kind: "ignored" };
1518
- const receivedAt = params.now ?? Date.now();
1519
- await params.queue.prune({
1520
- completedTtlMs: SIGNAL_INGRESS_COMPLETED_TTL_MS,
1521
- completedMaxEntries: SIGNAL_INGRESS_COMPLETED_MAX_ENTRIES,
1522
- failedTtlMs: SIGNAL_INGRESS_FAILED_TTL_MS,
1523
- failedMaxEntries: SIGNAL_INGRESS_FAILED_MAX_ENTRIES,
1524
- ...params.now === void 0 ? {} : { now: params.now }
1525
- });
1526
- return await params.queue.enqueue(facts.eventId, {
1527
- version: 1,
1528
- receivedAt,
1529
- event: params.event
1530
- }, {
1531
- receivedAt,
1532
- laneKey: facts.laneKey
1533
- });
1534
- }
1535
1424
  function resolveSignalIngressNonRetryableFailure(error) {
1536
1425
  return error instanceof SignalIngressPermanentError ? {
1537
1426
  reason: error.reason,
1538
1427
  message: error.message
1539
1428
  } : null;
1540
1429
  }
1541
- function createSignalIngressDrain(params) {
1542
- return createChannelIngressDrain({
1543
- queue: params.queue,
1544
- retryPolicy: {
1545
- maxAttempts: DEFAULT_INGRESS_RETRY_MAX_ATTEMPTS,
1546
- deadLetterMinAgeMs: DEFAULT_INGRESS_RETRY_DEAD_LETTER_MIN_AGE_MS
1547
- },
1548
- resolveNonRetryableFailure: resolveSignalIngressNonRetryableFailure,
1549
- ...params.abortSignal ? { abortSignal: params.abortSignal } : {},
1550
- ...params.onLog ? { onLog: params.onLog } : {},
1551
- dispatchClaimedEvent: async (record, lifecycle) => {
1552
- if (!inspectSignalIngressEvent(record.payload.event)) throw new SignalIngressPermanentError("unsupported-event", "Signal ingress row no longer contains a dispatchable envelope");
1553
- return await params.dispatch(record.payload.event, lifecycle);
1554
- }
1555
- });
1556
- }
1557
1430
  /** Open the account queue, recover it, and keep newly appended rows draining. */
1558
1431
  async function startSignalIngressMonitor(params) {
1559
1432
  let queue = params.queue;
@@ -1562,51 +1435,50 @@ async function startSignalIngressMonitor(params) {
1562
1435
  if (!pluginRuntime) throw new Error("Signal runtime not initialized for durable ingress");
1563
1436
  queue = pluginRuntime.state.openChannelIngressQueue({ accountId: params.accountId });
1564
1437
  }
1565
- const drain = createSignalIngressDrain({
1438
+ const monitor = createChannelIngressMonitor({
1566
1439
  queue,
1567
- dispatch: params.dispatch,
1568
- onLog: (message) => params.runtime.log?.(`signal ${message}`)
1440
+ inspect: (event) => inspectSignalIngressEvent(event),
1441
+ payload: {
1442
+ version: 1,
1443
+ serialize: (event, { receivedAt }) => ({
1444
+ receivedAt,
1445
+ event
1446
+ }),
1447
+ deserialize: (body) => body.event,
1448
+ encode: ({ body }) => ({
1449
+ version: 1,
1450
+ ...body
1451
+ }),
1452
+ decode: (payload) => ({
1453
+ version: payload.version,
1454
+ body: payload
1455
+ }),
1456
+ createClaimError: (_kind, claim) => new SignalIngressPermanentError("unsupported-event", `Signal ingress row ${claim.id} has an invalid payload`)
1457
+ },
1458
+ deliver: (event, lifecycle) => params.dispatch(event, lifecycle),
1459
+ pollIntervalMs: SIGNAL_INGRESS_DRAIN_INTERVAL_MS,
1460
+ retention: {
1461
+ pruneIntervalMs: 0,
1462
+ completedTtlMs: SIGNAL_INGRESS_COMPLETED_TTL_MS,
1463
+ completedMaxEntries: SIGNAL_INGRESS_COMPLETED_MAX_ENTRIES,
1464
+ failedTtlMs: SIGNAL_INGRESS_FAILED_TTL_MS,
1465
+ failedMaxEntries: SIGNAL_INGRESS_FAILED_MAX_ENTRIES
1466
+ },
1467
+ appendRetryDelaysMs: [0],
1468
+ drain: {
1469
+ resolveNonRetryableFailure: resolveSignalIngressNonRetryableFailure,
1470
+ onLog: (message) => params.runtime.log?.(`signal ${message}`)
1471
+ },
1472
+ onError: (error) => params.runtime.error?.(`signal ingress drain failed: ${String(error)}`)
1569
1473
  });
1570
- let drainPass;
1571
- let drainRequested = false;
1572
- const requestDrain = () => {
1573
- drainRequested = true;
1574
- if (!drainPass) drainPass = (async () => {
1575
- while (drainRequested) {
1576
- drainRequested = false;
1577
- if ((await drain.drainOnce()).started > 0) params.runTrackedTask(async () => {
1578
- await drain.waitForIdle();
1579
- await requestDrain();
1580
- });
1581
- }
1582
- })().finally(() => {
1583
- drainPass = void 0;
1584
- if (drainRequested) requestDrain().catch((error) => {
1585
- params.runtime.error?.(`signal ingress drain failed: ${String(error)}`);
1586
- });
1587
- });
1588
- return drainPass;
1589
- };
1590
- await requestDrain();
1591
- const timer = setInterval(() => {
1592
- requestDrain().catch((error) => {
1593
- params.runtime.error?.(`signal ingress drain failed: ${String(error)}`);
1594
- });
1595
- }, SIGNAL_INGRESS_DRAIN_INTERVAL_MS);
1596
- timer.unref?.();
1474
+ monitor.start();
1597
1475
  return {
1598
1476
  receive: async (event) => {
1599
- if ((await enqueueSignalIngressEvent({
1600
- queue,
1601
- event
1602
- })).kind !== "ignored") await requestDrain();
1477
+ await monitor.admit(event);
1478
+ await monitor.waitForPumpIdle();
1603
1479
  },
1604
- stop: async () => {
1605
- clearInterval(timer);
1606
- await drainPass?.catch(() => void 0);
1607
- await drain.waitForIdle();
1608
- drain.dispose();
1609
- }
1480
+ stop: monitor.stop,
1481
+ waitForIdle: monitor.waitForIdle
1610
1482
  };
1611
1483
  }
1612
1484
  //#endregion
@@ -1617,7 +1489,7 @@ const DEFAULT_RECONNECT_POLICY = {
1617
1489
  factor: 2,
1618
1490
  jitter: .2
1619
1491
  };
1620
- async function runSignalSseLoop({ baseUrl, account, abortSignal, runtime, onEvent, timeoutMs, apiMode, policy }) {
1492
+ async function runSignalSseLoop({ baseUrl, account, abortSignal, runtime, onEvent, timeoutMs, transportKind, policy }) {
1621
1493
  const reconnectPolicy = {
1622
1494
  ...DEFAULT_RECONNECT_POLICY,
1623
1495
  ...policy
@@ -1635,7 +1507,7 @@ async function runSignalSseLoop({ baseUrl, account, abortSignal, runtime, onEven
1635
1507
  account,
1636
1508
  abortSignal,
1637
1509
  timeoutMs,
1638
- apiMode,
1510
+ transportKind,
1639
1511
  onEvent: async (event) => {
1640
1512
  reconnectAttempts = 0;
1641
1513
  await onEvent(event);
@@ -1804,7 +1676,7 @@ async function fetchAttachment(params) {
1804
1676
  const result = await signalRpcRequest("getAttachment", rpcParams, {
1805
1677
  baseUrl: params.baseUrl,
1806
1678
  maxResponseBytes: deriveSignalAttachmentRpcMaxResponseBytes(params.maxBytes),
1807
- apiMode: params.apiMode
1679
+ transportKind: params.transportKind
1808
1680
  });
1809
1681
  if (!result?.data) return null;
1810
1682
  if (estimateBase64DecodedBytes(result.data) > params.maxBytes) throw new Error(`Signal attachment ${attachment.id} exceeds ${(params.maxBytes / (1024 * 1024)).toFixed(0)}MB limit`);
@@ -1966,32 +1838,32 @@ async function monitorSignalProvider(opts = {}) {
1966
1838
  const reactionMode = accountInfo.config.reactionNotifications ?? "own";
1967
1839
  const reactionAllowlist = normalizeStringEntries(accountInfo.config.reactionAllowlist);
1968
1840
  const mediaMaxBytes = (opts.mediaMaxMb ?? accountInfo.config.mediaMaxMb ?? 8) * 1024 * 1024;
1841
+ const transportKind = accountInfo.transport.kind;
1842
+ const managedTransport = accountInfo.transport.kind === "managed-native" ? accountInfo.transport : void 0;
1969
1843
  const ignoreAttachments = opts.ignoreAttachments ?? accountInfo.config.ignoreAttachments ?? false;
1970
1844
  const sendReadReceipts = Boolean(opts.sendReadReceipts ?? accountInfo.config.sendReadReceipts);
1971
1845
  const waitForTransportReadyFn = opts.waitForTransportReady ?? waitForTransportReady;
1972
- const autoStart = opts.autoStart ?? accountInfo.config.autoStart ?? !accountInfo.config.httpUrl;
1973
- const configuredApiMode = cfg.channels?.signal?.apiMode ?? "auto";
1974
- const startupTimeoutMs = Math.min(12e4, Math.max(1e3, opts.startupTimeoutMs ?? accountInfo.config.startupTimeoutMs ?? 3e4));
1846
+ const autoStart = Boolean(managedTransport) && (opts.autoStart ?? true);
1847
+ const startupTimeoutMs = Math.min(12e4, Math.max(1e3, opts.startupTimeoutMs ?? managedTransport?.startupTimeoutMs ?? 3e4));
1975
1848
  const readReceiptsViaDaemon = autoStart && sendReadReceipts;
1976
1849
  const daemonLifecycle = createSignalDaemonLifecycle({ abortSignal: opts.abortSignal });
1977
1850
  const monitorTaskRunner = createSignalMonitorTaskRunner(runtime);
1978
1851
  let daemonHandle = null;
1979
1852
  let ingressMonitor;
1980
- if (autoStart && configuredApiMode === "container") throw new Error("channels.signal.autoStart=true is incompatible with channels.signal.apiMode=container");
1981
1853
  if (autoStart) {
1982
- const cliPath = opts.cliPath ?? accountInfo.config.cliPath ?? "signal-cli";
1983
- const configPath = normalizeOptionalString(opts.configPath) ?? normalizeOptionalString(accountInfo.config.configPath);
1984
- const httpHost = opts.httpHost ?? accountInfo.config.httpHost ?? "127.0.0.1";
1985
- const httpPort = opts.httpPort ?? accountInfo.config.httpPort ?? 8080;
1854
+ const cliPath = opts.cliPath ?? managedTransport?.cliPath ?? "signal-cli";
1855
+ const configPath = normalizeOptionalString(opts.configPath) ?? normalizeOptionalString(managedTransport?.configPath);
1856
+ const httpHost = opts.httpHost ?? managedTransport?.httpHost ?? "127.0.0.1";
1857
+ const httpPort = opts.httpPort ?? managedTransport?.httpPort ?? 8080;
1986
1858
  daemonHandle = spawnSignalDaemon({
1987
1859
  cliPath,
1988
1860
  ...configPath ? { configPath } : {},
1989
1861
  account,
1990
1862
  httpHost,
1991
1863
  httpPort,
1992
- receiveMode: opts.receiveMode ?? accountInfo.config.receiveMode,
1864
+ receiveMode: opts.receiveMode ?? managedTransport?.receiveMode,
1993
1865
  ignoreAttachments: opts.ignoreAttachments ?? accountInfo.config.ignoreAttachments,
1994
- ignoreStories: opts.ignoreStories ?? accountInfo.config.ignoreStories,
1866
+ ignoreStories: opts.ignoreStories ?? managedTransport?.ignoreStories,
1995
1867
  sendReadReceipts,
1996
1868
  runtime
1997
1869
  });
@@ -2056,7 +1928,7 @@ async function monitorSignalProvider(opts = {}) {
2056
1928
  readReceiptsViaDaemon,
2057
1929
  fetchAttachment: (params) => fetchAttachment({
2058
1930
  ...params,
2059
- apiMode: configuredApiMode
1931
+ transportKind
2060
1932
  }),
2061
1933
  deliverReplies: (params) => deliverReplies({
2062
1934
  ...params,
@@ -2071,10 +1943,7 @@ async function monitorSignalProvider(opts = {}) {
2071
1943
  ingressMonitor = await startSignalIngressMonitor({
2072
1944
  accountId: accountInfo.accountId,
2073
1945
  dispatch: handleEvent,
2074
- runtime,
2075
- runTrackedTask: (task) => {
2076
- monitorTaskRunner.runTask(task);
2077
- }
1946
+ runtime
2078
1947
  });
2079
1948
  await runSignalSseLoop({
2080
1949
  baseUrl,
@@ -2082,7 +1951,7 @@ async function monitorSignalProvider(opts = {}) {
2082
1951
  abortSignal: daemonLifecycle.abortSignal,
2083
1952
  runtime,
2084
1953
  timeoutMs: 0,
2085
- apiMode: configuredApiMode,
1954
+ transportKind,
2086
1955
  policy: opts.reconnectPolicy,
2087
1956
  onEvent: (event) => monitorTaskRunner.runTask(async () => await ingressMonitor?.receive(event))
2088
1957
  });