@openclaw/imessage 2026.9.4 → 2026.9.6

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 (703) hide show
  1. package/assets/activity.svg +40 -0
  2. package/assets/icon.png +0 -0
  3. package/dist/{accounts-CCirBEIm.js → .setup/accounts-CUxZrTcY.mjs} +3 -3
  4. package/dist/{actions.runtime-CzvR20qT.js → .setup/actions.runtime-D0zG_96v.mjs} +106 -176
  5. package/dist/.setup/api-RZv6yXul.mjs +14 -0
  6. package/dist/.setup/api-VLVcFh7r.mjs +10 -0
  7. package/dist/{approval-handler.runtime-B6JGnxQf.js → .setup/approval-handler.runtime-Bv5_XgNr.mjs} +28 -28
  8. package/dist/{approval-reactions-BM_AwHPq.js → .setup/approval-reactions-D6RFg6lU.mjs} +32 -32
  9. package/dist/{channel-BwKxE8Ge.js → .setup/channel-BLTaKdSK.mjs} +38 -17
  10. package/dist/{channel.runtime-BGwNkU9Z.js → .setup/channel.runtime---s2k4YN.mjs} +7 -5
  11. package/dist/{group-policy-Duro87b4.js → .setup/group-policy-Cjztkquv.mjs} +52 -76
  12. package/dist/{media-contract-pns3TSS5.js → .setup/media-contract-DKJK7rh3.mjs} +1 -1
  13. package/dist/.setup/message-tool-api-pvlcOJPG.mjs +148 -0
  14. package/dist/{monitor-xaD-9h0b.js → .setup/monitor-BJ3Ozi6I.mjs} +247 -213
  15. package/dist/{question-reactions-9tBYB1_F.js → .setup/question-reactions-lm8OxWbb.mjs} +2 -2
  16. package/dist/{remote-file-5n5LznCa.js → .setup/remote-file-Bye99O-C.mjs} +12 -9
  17. package/dist/{sanitize-outbound-C6UF2cvr.js → .setup/sanitize-outbound-sJPF2DVM.mjs} +83 -47
  18. package/dist/{send-CIHiLtcY.js → .setup/send-odAfTQ2J.mjs} +178 -175
  19. package/dist/{state-migrations-D-fyHVcb.js → .setup/state-migrations-DIDzI99d.mjs} +3 -3
  20. package/dist/{message-tool-api-CUoFESHj.js → .setup/targets-Cc9vthzI.mjs} +53 -155
  21. package/dist/api.js +9 -14
  22. package/dist/channel-config-api.js +1 -1
  23. package/dist/channel-plugin-api.js +1 -1
  24. package/dist/contract-api.js +1 -1
  25. package/dist/doctor-contract-api.js +1 -1
  26. package/dist/media-contract-api.js +1 -1
  27. package/dist/message-tool-api.js +1 -1
  28. package/dist/runtime-api.js +7 -6
  29. package/dist/session-binding-contract-api.js +1 -1
  30. package/dist/setup-entry.js +2 -1
  31. package/dist/src/chat-db.worker.js +40 -0
  32. package/node_modules/typebox/build/compile/validator.d.mts +1 -1
  33. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  34. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
  35. package/node_modules/typebox/build/format/iri.mjs +5 -1
  36. package/node_modules/typebox/build/guard/emit.mjs +2 -4
  37. package/node_modules/typebox/build/guard/guard.mjs +6 -18
  38. package/node_modules/typebox/build/guard/string.mjs +16 -24
  39. package/node_modules/typebox/build/schema/build.mjs +2 -2
  40. package/node_modules/typebox/build/schema/check.mjs +1 -1
  41. package/node_modules/typebox/build/schema/compile.d.mts +3 -2
  42. package/node_modules/typebox/build/schema/compile.mjs +8 -8
  43. package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
  44. package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
  45. package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
  46. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  47. package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
  48. package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
  49. package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
  50. package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
  51. package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
  52. package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
  53. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
  54. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
  55. package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
  56. package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
  57. package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
  58. package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
  59. package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
  60. package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
  61. package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
  62. package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
  63. package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
  64. package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
  65. package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
  66. package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
  67. package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
  68. package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
  69. package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
  70. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
  71. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
  72. package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
  73. package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
  74. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
  75. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
  76. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
  77. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
  78. package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
  79. package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
  80. package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
  81. package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
  82. package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
  83. package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
  84. package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
  85. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
  86. package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
  87. package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
  88. package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
  89. package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
  90. package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
  91. package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
  92. package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
  93. package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
  94. package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
  95. package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
  96. package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
  97. package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
  98. package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
  99. package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
  100. package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
  101. package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
  102. package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
  103. package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
  104. package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
  105. package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
  106. package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
  107. package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
  108. package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
  109. package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
  110. package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
  111. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
  112. package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
  113. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
  114. package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
  115. package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
  116. package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
  117. package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
  118. package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
  119. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
  120. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
  121. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
  122. package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
  123. package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
  124. package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
  125. package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
  126. package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
  127. package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
  128. package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
  129. package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
  130. package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
  131. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
  132. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
  133. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
  134. package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
  135. package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
  136. package/node_modules/typebox/build/schema/errors.d.mts +2 -2
  137. package/node_modules/typebox/build/schema/errors.mjs +8 -14
  138. package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
  139. package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
  140. package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
  141. package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
  142. package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
  143. package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
  144. package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
  145. package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
  146. package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
  147. package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
  148. package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
  149. package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
  150. package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
  151. package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
  152. package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
  153. package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
  154. package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
  155. package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
  156. package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
  157. package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
  158. package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
  159. package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
  160. package/node_modules/typebox/build/schema/parse.d.mts +1 -0
  161. package/node_modules/typebox/build/schema/parse.mjs +10 -5
  162. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
  163. package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
  164. package/node_modules/typebox/build/schema/schema.d.mts +2 -0
  165. package/node_modules/typebox/build/schema/schema.mjs +2 -0
  166. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
  167. package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
  168. package/node_modules/typebox/package.json +1 -1
  169. package/node_modules/typebox/readme.md +59 -89
  170. package/node_modules/zod/README.md +29 -2
  171. package/node_modules/zod/compile.cjs +96 -0
  172. package/node_modules/zod/compile.d.cts +1 -0
  173. package/node_modules/zod/compile.d.ts +1 -0
  174. package/node_modules/zod/compile.js +52 -0
  175. package/node_modules/zod/index.cjs +21 -2
  176. package/node_modules/zod/index.d.cts +1 -2
  177. package/node_modules/zod/index.d.ts +1 -2
  178. package/node_modules/zod/index.js +5 -2
  179. package/node_modules/zod/locales/index.cjs +19 -0
  180. package/node_modules/zod/mini/index.cjs +19 -0
  181. package/node_modules/zod/package.json +20 -8
  182. package/node_modules/zod/src/compile.ts +56 -0
  183. package/node_modules/zod/src/index.ts +5 -2
  184. package/node_modules/zod/src/v3/ZodError.ts +22 -12
  185. package/node_modules/zod/src/v3/helpers/errorUtil.ts +1 -1
  186. package/node_modules/zod/src/v3/tests/error.test.ts +35 -0
  187. package/node_modules/zod/src/v3/tests/intersection.test.ts +18 -0
  188. package/node_modules/zod/src/v3/tests/language-server.test.ts +1 -2
  189. package/node_modules/zod/src/v3/tests/object.test.ts +3 -6
  190. package/node_modules/zod/src/v3/tests/readonly.test.ts +0 -80
  191. package/node_modules/zod/src/v3/tests/string.test.ts +6 -0
  192. package/node_modules/zod/src/v3/types.ts +5 -5
  193. package/node_modules/zod/src/v4/classic/checks.ts +1 -0
  194. package/node_modules/zod/src/v4/classic/compat.ts +26 -18
  195. package/node_modules/zod/src/v4/classic/deep-partial.ts +76 -0
  196. package/node_modules/zod/src/v4/classic/errors.ts +59 -44
  197. package/node_modules/zod/src/v4/classic/external.ts +14 -9
  198. package/node_modules/zod/src/v4/classic/from-json-schema.ts +363 -78
  199. package/node_modules/zod/src/v4/classic/in-out.ts +45 -0
  200. package/node_modules/zod/src/v4/classic/index.ts +2 -2
  201. package/node_modules/zod/src/v4/classic/iso.ts +2 -72
  202. package/node_modules/zod/src/v4/classic/parse.ts +10 -4
  203. package/node_modules/zod/src/v4/classic/schemas.ts +640 -375
  204. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +27 -0
  205. package/node_modules/zod/src/v4/classic/tests/array.test.ts +2 -2
  206. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +186 -0
  207. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +36 -1
  208. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +278 -0
  209. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +1 -2
  210. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +2 -1
  211. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +3 -3
  212. package/node_modules/zod/src/v4/classic/tests/credit-card.test.ts +76 -0
  213. package/node_modules/zod/src/v4/classic/tests/cyclic-data.test.ts +985 -0
  214. package/node_modules/zod/src/v4/classic/tests/date.test.ts +30 -0
  215. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +32 -18
  216. package/node_modules/zod/src/v4/classic/tests/deep-partial.test.ts +380 -0
  217. package/node_modules/zod/src/v4/classic/tests/default-locale.test.ts +32 -0
  218. package/node_modules/zod/src/v4/classic/tests/default.test.ts +46 -0
  219. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +31 -7
  220. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +261 -13
  221. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +20 -0
  222. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +112 -2
  223. package/node_modules/zod/src/v4/classic/tests/error.test.ts +403 -6
  224. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +582 -10
  225. package/node_modules/zod/src/v4/classic/tests/function.test.ts +31 -0
  226. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +2 -9
  227. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +1 -2
  228. package/node_modules/zod/src/v4/classic/tests/iban.test.ts +81 -0
  229. package/node_modules/zod/src/v4/classic/tests/in-out.test.ts +159 -0
  230. package/node_modules/zod/src/v4/classic/tests/index.test.ts +21 -2
  231. package/node_modules/zod/src/v4/classic/tests/instance-footprint.test.ts +319 -0
  232. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +67 -0
  233. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +136 -0
  234. package/node_modules/zod/src/v4/classic/tests/issue-schema.test.ts +215 -0
  235. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +3 -10
  236. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +36 -1
  237. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +12 -1
  238. package/node_modules/zod/src/v4/classic/tests/map.test.ts +12 -0
  239. package/node_modules/zod/src/v4/classic/tests/number.test.ts +85 -9
  240. package/node_modules/zod/src/v4/classic/tests/object.test.ts +301 -12
  241. package/node_modules/zod/src/v4/classic/tests/optin-ladder.test.ts +235 -0
  242. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +49 -16
  243. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +51 -4
  244. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +70 -0
  245. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +20 -2
  246. package/node_modules/zod/src/v4/classic/tests/properties.test.ts +141 -0
  247. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +0 -68
  248. package/node_modules/zod/src/v4/classic/tests/record.test.ts +186 -18
  249. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +79 -3
  250. package/node_modules/zod/src/v4/classic/tests/redos.test.ts +68 -0
  251. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +60 -0
  252. package/node_modules/zod/src/v4/classic/tests/set.test.ts +9 -0
  253. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +19 -0
  254. package/node_modules/zod/src/v4/classic/tests/string.test.ts +222 -6
  255. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +18 -0
  256. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +44 -3
  257. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +1812 -204
  258. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +45 -30
  259. package/node_modules/zod/src/v4/classic/tests/union.test.ts +39 -2
  260. package/node_modules/zod/src/v4/classic/tests/validate.test.ts +645 -0
  261. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +2 -2
  262. package/node_modules/zod/src/v4/core/api.ts +87 -35
  263. package/node_modules/zod/src/v4/core/checks.ts +119 -146
  264. package/node_modules/zod/src/v4/core/compile.ts +2313 -0
  265. package/node_modules/zod/src/v4/core/core.ts +99 -22
  266. package/node_modules/zod/src/v4/core/doc.ts +17 -9
  267. package/node_modules/zod/src/v4/core/errors.ts +113 -25
  268. package/node_modules/zod/src/v4/core/index.ts +3 -0
  269. package/node_modules/zod/src/v4/core/json-schema-generator.ts +8 -3
  270. package/node_modules/zod/src/v4/core/json-schema-processors.ts +424 -156
  271. package/node_modules/zod/src/v4/core/json-schema.ts +2 -1
  272. package/node_modules/zod/src/v4/core/memoizer.ts +331 -0
  273. package/node_modules/zod/src/v4/core/parse.ts +164 -50
  274. package/node_modules/zod/src/v4/core/regexes.ts +42 -15
  275. package/node_modules/zod/src/v4/core/registries.ts +2 -2
  276. package/node_modules/zod/src/v4/core/schemas.ts +1000 -538
  277. package/node_modules/zod/src/v4/core/tests/cached.test.ts +54 -0
  278. package/node_modules/zod/src/v4/core/tests/compile-differential.test.ts +1004 -0
  279. package/node_modules/zod/src/v4/core/tests/compile-generative.test.ts +445 -0
  280. package/node_modules/zod/src/v4/core/tests/compile-global.test.ts +89 -0
  281. package/node_modules/zod/src/v4/core/tests/compile-off-by-default.test.ts +26 -0
  282. package/node_modules/zod/src/v4/core/tests/compile-stats.test.ts +34 -0
  283. package/node_modules/zod/src/v4/core/tests/compile.test.ts +2036 -0
  284. package/node_modules/zod/src/v4/core/tests/email-regex.test.ts +140 -0
  285. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +1 -2
  286. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +1 -2
  287. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +3 -3
  288. package/node_modules/zod/src/v4/core/tests/locales/parity.test.ts +42 -0
  289. package/node_modules/zod/src/v4/core/tests/locales/tg.test.ts +85 -0
  290. package/node_modules/zod/src/v4/core/tests/locales/tk.test.ts +69 -0
  291. package/node_modules/zod/src/v4/core/tests/polyfill-collision.test.ts +46 -0
  292. package/node_modules/zod/src/v4/core/tests/treeshake.test.ts +51 -0
  293. package/node_modules/zod/src/v4/core/tests/url-no-canparse.test.ts +133 -0
  294. package/node_modules/zod/src/v4/core/to-json-schema.ts +283 -48
  295. package/node_modules/zod/src/v4/core/util.ts +454 -157
  296. package/node_modules/zod/src/v4/core/versions.ts +2 -2
  297. package/node_modules/zod/src/v4/core/visit.ts +193 -0
  298. package/node_modules/zod/src/v4/index.ts +3 -3
  299. package/node_modules/zod/src/v4/locales/ar.ts +5 -0
  300. package/node_modules/zod/src/v4/locales/az.ts +5 -0
  301. package/node_modules/zod/src/v4/locales/be.ts +12 -0
  302. package/node_modules/zod/src/v4/locales/bg.ts +5 -0
  303. package/node_modules/zod/src/v4/locales/bn.ts +123 -0
  304. package/node_modules/zod/src/v4/locales/ca.ts +5 -0
  305. package/node_modules/zod/src/v4/locales/ckb.ts +140 -0
  306. package/node_modules/zod/src/v4/locales/cs.ts +5 -0
  307. package/node_modules/zod/src/v4/locales/da.ts +7 -2
  308. package/node_modules/zod/src/v4/locales/de.ts +5 -0
  309. package/node_modules/zod/src/v4/locales/el.ts +3 -0
  310. package/node_modules/zod/src/v4/locales/en.ts +17 -4
  311. package/node_modules/zod/src/v4/locales/eo.ts +5 -0
  312. package/node_modules/zod/src/v4/locales/es.ts +4 -0
  313. package/node_modules/zod/src/v4/locales/fa.ts +5 -0
  314. package/node_modules/zod/src/v4/locales/fi.ts +5 -0
  315. package/node_modules/zod/src/v4/locales/fr-CA.ts +5 -0
  316. package/node_modules/zod/src/v4/locales/fr.ts +21 -14
  317. package/node_modules/zod/src/v4/locales/gu.ts +123 -0
  318. package/node_modules/zod/src/v4/locales/he.ts +8 -1
  319. package/node_modules/zod/src/v4/locales/hi.ts +126 -0
  320. package/node_modules/zod/src/v4/locales/hr.ts +4 -0
  321. package/node_modules/zod/src/v4/locales/hu.ts +5 -0
  322. package/node_modules/zod/src/v4/locales/hy.ts +11 -0
  323. package/node_modules/zod/src/v4/locales/id.ts +5 -0
  324. package/node_modules/zod/src/v4/locales/index.ts +11 -0
  325. package/node_modules/zod/src/v4/locales/is.ts +5 -0
  326. package/node_modules/zod/src/v4/locales/it.ts +5 -0
  327. package/node_modules/zod/src/v4/locales/ja.ts +5 -0
  328. package/node_modules/zod/src/v4/locales/ka.ts +5 -0
  329. package/node_modules/zod/src/v4/locales/km.ts +5 -0
  330. package/node_modules/zod/src/v4/locales/kn.ts +126 -0
  331. package/node_modules/zod/src/v4/locales/ko.ts +5 -0
  332. package/node_modules/zod/src/v4/locales/lt.ts +4 -0
  333. package/node_modules/zod/src/v4/locales/mk.ts +5 -0
  334. package/node_modules/zod/src/v4/locales/ms.ts +5 -0
  335. package/node_modules/zod/src/v4/locales/ne.ts +128 -0
  336. package/node_modules/zod/src/v4/locales/nl.ts +5 -0
  337. package/node_modules/zod/src/v4/locales/nn.ts +121 -0
  338. package/node_modules/zod/src/v4/locales/no.ts +7 -2
  339. package/node_modules/zod/src/v4/locales/ota.ts +5 -0
  340. package/node_modules/zod/src/v4/locales/pl.ts +5 -0
  341. package/node_modules/zod/src/v4/locales/ps.ts +5 -0
  342. package/node_modules/zod/src/v4/locales/pt-BR.ts +161 -0
  343. package/node_modules/zod/src/v4/locales/pt.ts +101 -58
  344. package/node_modules/zod/src/v4/locales/ro.ts +3 -0
  345. package/node_modules/zod/src/v4/locales/ru.ts +12 -0
  346. package/node_modules/zod/src/v4/locales/sk.ts +123 -0
  347. package/node_modules/zod/src/v4/locales/sl.ts +5 -0
  348. package/node_modules/zod/src/v4/locales/sv.ts +7 -2
  349. package/node_modules/zod/src/v4/locales/ta.ts +5 -0
  350. package/node_modules/zod/src/v4/locales/tg.ts +135 -0
  351. package/node_modules/zod/src/v4/locales/th.ts +5 -0
  352. package/node_modules/zod/src/v4/locales/tk.ts +113 -0
  353. package/node_modules/zod/src/v4/locales/tr.ts +5 -0
  354. package/node_modules/zod/src/v4/locales/uk.ts +5 -0
  355. package/node_modules/zod/src/v4/locales/ur.ts +5 -0
  356. package/node_modules/zod/src/v4/locales/uz.ts +3 -0
  357. package/node_modules/zod/src/v4/locales/vi.ts +5 -0
  358. package/node_modules/zod/src/v4/locales/yo.ts +5 -0
  359. package/node_modules/zod/src/v4/locales/zh-CN.ts +5 -0
  360. package/node_modules/zod/src/v4/locales/zh-TW.ts +5 -0
  361. package/node_modules/zod/src/v4/mini/checks.ts +1 -0
  362. package/node_modules/zod/src/v4/mini/deep-partial.ts +73 -0
  363. package/node_modules/zod/src/v4/mini/external.ts +12 -1
  364. package/node_modules/zod/src/v4/mini/in-out.ts +45 -0
  365. package/node_modules/zod/src/v4/mini/parse.ts +2 -0
  366. package/node_modules/zod/src/v4/mini/schemas.ts +167 -63
  367. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +33 -0
  368. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +62 -1
  369. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +14 -0
  370. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +35 -1
  371. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +11 -17
  372. package/node_modules/zod/src/v4/mini/tests/cyclic-data.test.ts +84 -0
  373. package/node_modules/zod/src/v4/mini/tests/deep-partial.test.ts +54 -0
  374. package/node_modules/zod/src/v4/mini/tests/error.test.ts +23 -4
  375. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +9 -0
  376. package/node_modules/zod/src/v4/mini/tests/index.test.ts +158 -5
  377. package/node_modules/zod/src/v4/mini/tests/number.test.ts +14 -0
  378. package/node_modules/zod/src/v4/mini/tests/object.test.ts +65 -0
  379. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +16 -0
  380. package/node_modules/zod/src/v4/mini/tests/string.test.ts +44 -0
  381. package/node_modules/zod/v3/ZodError.cjs +41 -12
  382. package/node_modules/zod/v3/ZodError.d.cts +1 -1
  383. package/node_modules/zod/v3/ZodError.d.ts +1 -1
  384. package/node_modules/zod/v3/ZodError.js +22 -12
  385. package/node_modules/zod/v3/errors.cjs +19 -0
  386. package/node_modules/zod/v3/external.cjs +19 -0
  387. package/node_modules/zod/v3/helpers/enumUtil.cjs +19 -0
  388. package/node_modules/zod/v3/helpers/errorUtil.cjs +20 -1
  389. package/node_modules/zod/v3/helpers/errorUtil.js +1 -1
  390. package/node_modules/zod/v3/helpers/parseUtil.cjs +19 -0
  391. package/node_modules/zod/v3/helpers/partialUtil.cjs +19 -0
  392. package/node_modules/zod/v3/helpers/typeAliases.cjs +19 -0
  393. package/node_modules/zod/v3/helpers/util.cjs +19 -0
  394. package/node_modules/zod/v3/index.cjs +19 -0
  395. package/node_modules/zod/v3/standard-schema.cjs +19 -0
  396. package/node_modules/zod/v3/types.cjs +26 -5
  397. package/node_modules/zod/v3/types.js +7 -5
  398. package/node_modules/zod/v4/classic/checks.cjs +21 -1
  399. package/node_modules/zod/v4/classic/checks.d.cts +1 -1
  400. package/node_modules/zod/v4/classic/checks.d.ts +1 -1
  401. package/node_modules/zod/v4/classic/checks.js +1 -1
  402. package/node_modules/zod/v4/classic/coerce.cjs +19 -0
  403. package/node_modules/zod/v4/classic/compat.cjs +19 -0
  404. package/node_modules/zod/v4/classic/compat.d.cts +9 -11
  405. package/node_modules/zod/v4/classic/compat.d.ts +9 -11
  406. package/node_modules/zod/v4/classic/deep-partial.cjs +58 -0
  407. package/node_modules/zod/v4/classic/deep-partial.d.cts +14 -0
  408. package/node_modules/zod/v4/classic/deep-partial.d.ts +14 -0
  409. package/node_modules/zod/v4/classic/deep-partial.js +13 -0
  410. package/node_modules/zod/v4/classic/errors.cjs +62 -34
  411. package/node_modules/zod/v4/classic/errors.d.cts +3 -4
  412. package/node_modules/zod/v4/classic/errors.d.ts +3 -4
  413. package/node_modules/zod/v4/classic/errors.js +43 -34
  414. package/node_modules/zod/v4/classic/external.cjs +51 -27
  415. package/node_modules/zod/v4/classic/external.d.cts +5 -2
  416. package/node_modules/zod/v4/classic/external.d.ts +5 -2
  417. package/node_modules/zod/v4/classic/external.js +5 -8
  418. package/node_modules/zod/v4/classic/from-json-schema.cjs +376 -75
  419. package/node_modules/zod/v4/classic/from-json-schema.js +357 -75
  420. package/node_modules/zod/v4/classic/in-out.cjs +82 -0
  421. package/node_modules/zod/v4/classic/in-out.d.cts +8 -0
  422. package/node_modules/zod/v4/classic/in-out.d.ts +8 -0
  423. package/node_modules/zod/v4/classic/in-out.js +36 -0
  424. package/node_modules/zod/v4/classic/index.cjs +21 -2
  425. package/node_modules/zod/v4/classic/index.d.cts +1 -2
  426. package/node_modules/zod/v4/classic/index.d.ts +1 -2
  427. package/node_modules/zod/v4/classic/index.js +2 -2
  428. package/node_modules/zod/v4/classic/iso.cjs +30 -22
  429. package/node_modules/zod/v4/classic/iso.d.cts +2 -17
  430. package/node_modules/zod/v4/classic/iso.d.ts +2 -17
  431. package/node_modules/zod/v4/classic/iso.js +2 -17
  432. package/node_modules/zod/v4/classic/parse.cjs +23 -1
  433. package/node_modules/zod/v4/classic/parse.d.cts +17 -4
  434. package/node_modules/zod/v4/classic/parse.d.ts +17 -4
  435. package/node_modules/zod/v4/classic/parse.js +1 -0
  436. package/node_modules/zod/v4/classic/schemas.cjs +591 -426
  437. package/node_modules/zod/v4/classic/schemas.d.cts +68 -19
  438. package/node_modules/zod/v4/classic/schemas.d.ts +68 -19
  439. package/node_modules/zod/v4/classic/schemas.js +564 -424
  440. package/node_modules/zod/v4/core/api.cjs +66 -24
  441. package/node_modules/zod/v4/core/api.d.cts +22 -12
  442. package/node_modules/zod/v4/core/api.d.ts +22 -12
  443. package/node_modules/zod/v4/core/api.js +44 -24
  444. package/node_modules/zod/v4/core/checks.cjs +88 -128
  445. package/node_modules/zod/v4/core/checks.d.cts +29 -13
  446. package/node_modules/zod/v4/core/checks.d.ts +29 -13
  447. package/node_modules/zod/v4/core/checks.js +68 -127
  448. package/node_modules/zod/v4/core/compile.cjs +1908 -0
  449. package/node_modules/zod/v4/core/compile.d.cts +65 -0
  450. package/node_modules/zod/v4/core/compile.d.ts +65 -0
  451. package/node_modules/zod/v4/core/compile.js +1858 -0
  452. package/node_modules/zod/v4/core/core.cjs +101 -19
  453. package/node_modules/zod/v4/core/core.d.cts +16 -4
  454. package/node_modules/zod/v4/core/core.d.ts +16 -4
  455. package/node_modules/zod/v4/core/core.js +83 -20
  456. package/node_modules/zod/v4/core/doc.cjs +31 -9
  457. package/node_modules/zod/v4/core/doc.d.cts +3 -1
  458. package/node_modules/zod/v4/core/doc.d.ts +3 -1
  459. package/node_modules/zod/v4/core/doc.js +12 -9
  460. package/node_modules/zod/v4/core/errors.cjs +126 -25
  461. package/node_modules/zod/v4/core/errors.d.cts +4 -0
  462. package/node_modules/zod/v4/core/errors.d.ts +4 -0
  463. package/node_modules/zod/v4/core/errors.js +107 -25
  464. package/node_modules/zod/v4/core/index.cjs +24 -1
  465. package/node_modules/zod/v4/core/index.d.cts +3 -0
  466. package/node_modules/zod/v4/core/index.d.ts +3 -0
  467. package/node_modules/zod/v4/core/index.js +3 -0
  468. package/node_modules/zod/v4/core/json-schema-generator.cjs +24 -1
  469. package/node_modules/zod/v4/core/json-schema-generator.d.cts +2 -2
  470. package/node_modules/zod/v4/core/json-schema-generator.d.ts +2 -2
  471. package/node_modules/zod/v4/core/json-schema-generator.js +6 -2
  472. package/node_modules/zod/v4/core/json-schema-processors.cjs +441 -156
  473. package/node_modules/zod/v4/core/json-schema-processors.d.cts +16 -0
  474. package/node_modules/zod/v4/core/json-schema-processors.d.ts +16 -0
  475. package/node_modules/zod/v4/core/json-schema-processors.js +400 -158
  476. package/node_modules/zod/v4/core/json-schema.cjs +19 -0
  477. package/node_modules/zod/v4/core/json-schema.d.cts +2 -1
  478. package/node_modules/zod/v4/core/json-schema.d.ts +2 -1
  479. package/node_modules/zod/v4/core/memoizer.cjs +360 -0
  480. package/node_modules/zod/v4/core/memoizer.d.cts +15 -0
  481. package/node_modules/zod/v4/core/memoizer.d.ts +15 -0
  482. package/node_modules/zod/v4/core/memoizer.js +311 -0
  483. package/node_modules/zod/v4/core/parse.cjs +148 -46
  484. package/node_modules/zod/v4/core/parse.d.cts +14 -11
  485. package/node_modules/zod/v4/core/parse.d.ts +14 -11
  486. package/node_modules/zod/v4/core/parse.js +127 -45
  487. package/node_modules/zod/v4/core/regexes.cjs +54 -17
  488. package/node_modules/zod/v4/core/regexes.d.cts +5 -0
  489. package/node_modules/zod/v4/core/regexes.d.ts +5 -0
  490. package/node_modules/zod/v4/core/regexes.js +32 -15
  491. package/node_modules/zod/v4/core/registries.cjs +19 -0
  492. package/node_modules/zod/v4/core/registries.js +2 -2
  493. package/node_modules/zod/v4/core/schemas.cjs +785 -386
  494. package/node_modules/zod/v4/core/schemas.d.cts +123 -34
  495. package/node_modules/zod/v4/core/schemas.d.ts +123 -34
  496. package/node_modules/zod/v4/core/schemas.js +753 -386
  497. package/node_modules/zod/v4/core/standard-schema.cjs +19 -0
  498. package/node_modules/zod/v4/core/to-json-schema.cjs +269 -45
  499. package/node_modules/zod/v4/core/to-json-schema.d.cts +45 -5
  500. package/node_modules/zod/v4/core/to-json-schema.d.ts +45 -5
  501. package/node_modules/zod/v4/core/to-json-schema.js +247 -44
  502. package/node_modules/zod/v4/core/util.cjs +372 -157
  503. package/node_modules/zod/v4/core/util.d.cts +79 -1
  504. package/node_modules/zod/v4/core/util.d.ts +79 -1
  505. package/node_modules/zod/v4/core/util.js +341 -156
  506. package/node_modules/zod/v4/core/versions.cjs +21 -2
  507. package/node_modules/zod/v4/core/versions.d.cts +1 -1
  508. package/node_modules/zod/v4/core/versions.d.ts +1 -1
  509. package/node_modules/zod/v4/core/versions.js +2 -2
  510. package/node_modules/zod/v4/core/visit.cjs +214 -0
  511. package/node_modules/zod/v4/core/visit.d.cts +30 -0
  512. package/node_modules/zod/v4/core/visit.d.ts +30 -0
  513. package/node_modules/zod/v4/core/visit.js +169 -0
  514. package/node_modules/zod/v4/index.cjs +34 -5
  515. package/node_modules/zod/v4/index.d.cts +2 -2
  516. package/node_modules/zod/v4/index.d.ts +2 -2
  517. package/node_modules/zod/v4/index.js +3 -2
  518. package/node_modules/zod/v4/locales/ar.cjs +5 -0
  519. package/node_modules/zod/v4/locales/ar.js +5 -0
  520. package/node_modules/zod/v4/locales/az.cjs +5 -0
  521. package/node_modules/zod/v4/locales/az.js +5 -0
  522. package/node_modules/zod/v4/locales/be.cjs +12 -0
  523. package/node_modules/zod/v4/locales/be.js +12 -0
  524. package/node_modules/zod/v4/locales/bg.cjs +5 -0
  525. package/node_modules/zod/v4/locales/bg.js +5 -0
  526. package/node_modules/zod/v4/locales/bn.cjs +140 -0
  527. package/node_modules/zod/v4/locales/bn.d.cts +5 -0
  528. package/node_modules/zod/v4/locales/bn.d.ts +4 -0
  529. package/node_modules/zod/v4/locales/bn.js +113 -0
  530. package/node_modules/zod/v4/locales/ca.cjs +5 -0
  531. package/node_modules/zod/v4/locales/ca.js +5 -0
  532. package/node_modules/zod/v4/locales/ckb.cjs +160 -0
  533. package/node_modules/zod/v4/locales/ckb.d.cts +5 -0
  534. package/node_modules/zod/v4/locales/ckb.d.ts +4 -0
  535. package/node_modules/zod/v4/locales/ckb.js +133 -0
  536. package/node_modules/zod/v4/locales/cs.cjs +5 -0
  537. package/node_modules/zod/v4/locales/cs.js +5 -0
  538. package/node_modules/zod/v4/locales/da.cjs +7 -2
  539. package/node_modules/zod/v4/locales/da.js +7 -2
  540. package/node_modules/zod/v4/locales/de.cjs +5 -0
  541. package/node_modules/zod/v4/locales/de.js +5 -0
  542. package/node_modules/zod/v4/locales/el.cjs +3 -0
  543. package/node_modules/zod/v4/locales/el.js +3 -0
  544. package/node_modules/zod/v4/locales/en.cjs +16 -4
  545. package/node_modules/zod/v4/locales/en.js +16 -4
  546. package/node_modules/zod/v4/locales/eo.cjs +5 -0
  547. package/node_modules/zod/v4/locales/eo.js +5 -0
  548. package/node_modules/zod/v4/locales/es.cjs +4 -0
  549. package/node_modules/zod/v4/locales/es.js +4 -0
  550. package/node_modules/zod/v4/locales/fa.cjs +5 -0
  551. package/node_modules/zod/v4/locales/fa.js +5 -0
  552. package/node_modules/zod/v4/locales/fi.cjs +5 -0
  553. package/node_modules/zod/v4/locales/fi.js +5 -0
  554. package/node_modules/zod/v4/locales/fr-CA.cjs +5 -0
  555. package/node_modules/zod/v4/locales/fr-CA.js +5 -0
  556. package/node_modules/zod/v4/locales/fr.cjs +18 -14
  557. package/node_modules/zod/v4/locales/fr.js +18 -14
  558. package/node_modules/zod/v4/locales/gu.cjs +140 -0
  559. package/node_modules/zod/v4/locales/gu.d.cts +5 -0
  560. package/node_modules/zod/v4/locales/gu.d.ts +4 -0
  561. package/node_modules/zod/v4/locales/gu.js +113 -0
  562. package/node_modules/zod/v4/locales/he.cjs +7 -0
  563. package/node_modules/zod/v4/locales/he.js +7 -0
  564. package/node_modules/zod/v4/locales/hi.cjs +138 -0
  565. package/node_modules/zod/v4/locales/hi.d.cts +5 -0
  566. package/node_modules/zod/v4/locales/hi.d.ts +4 -0
  567. package/node_modules/zod/v4/locales/hi.js +111 -0
  568. package/node_modules/zod/v4/locales/hr.cjs +4 -0
  569. package/node_modules/zod/v4/locales/hr.js +4 -0
  570. package/node_modules/zod/v4/locales/hu.cjs +5 -0
  571. package/node_modules/zod/v4/locales/hu.js +5 -0
  572. package/node_modules/zod/v4/locales/hy.cjs +11 -0
  573. package/node_modules/zod/v4/locales/hy.js +11 -0
  574. package/node_modules/zod/v4/locales/id.cjs +5 -0
  575. package/node_modules/zod/v4/locales/id.js +5 -0
  576. package/node_modules/zod/v4/locales/index.cjs +43 -2
  577. package/node_modules/zod/v4/locales/index.d.cts +11 -0
  578. package/node_modules/zod/v4/locales/index.d.ts +11 -0
  579. package/node_modules/zod/v4/locales/index.js +11 -0
  580. package/node_modules/zod/v4/locales/is.cjs +5 -0
  581. package/node_modules/zod/v4/locales/is.js +5 -0
  582. package/node_modules/zod/v4/locales/it.cjs +5 -0
  583. package/node_modules/zod/v4/locales/it.js +5 -0
  584. package/node_modules/zod/v4/locales/ja.cjs +5 -0
  585. package/node_modules/zod/v4/locales/ja.js +5 -0
  586. package/node_modules/zod/v4/locales/ka.cjs +5 -0
  587. package/node_modules/zod/v4/locales/ka.js +5 -0
  588. package/node_modules/zod/v4/locales/km.cjs +5 -0
  589. package/node_modules/zod/v4/locales/km.js +5 -0
  590. package/node_modules/zod/v4/locales/kn.cjs +143 -0
  591. package/node_modules/zod/v4/locales/kn.d.cts +5 -0
  592. package/node_modules/zod/v4/locales/kn.d.ts +4 -0
  593. package/node_modules/zod/v4/locales/kn.js +116 -0
  594. package/node_modules/zod/v4/locales/ko.cjs +5 -0
  595. package/node_modules/zod/v4/locales/ko.js +5 -0
  596. package/node_modules/zod/v4/locales/lt.cjs +4 -0
  597. package/node_modules/zod/v4/locales/lt.js +4 -0
  598. package/node_modules/zod/v4/locales/mk.cjs +5 -0
  599. package/node_modules/zod/v4/locales/mk.js +5 -0
  600. package/node_modules/zod/v4/locales/ms.cjs +5 -0
  601. package/node_modules/zod/v4/locales/ms.js +5 -0
  602. package/node_modules/zod/v4/locales/ne.cjs +138 -0
  603. package/node_modules/zod/v4/locales/ne.d.cts +5 -0
  604. package/node_modules/zod/v4/locales/ne.d.ts +4 -0
  605. package/node_modules/zod/v4/locales/ne.js +111 -0
  606. package/node_modules/zod/v4/locales/nl.cjs +5 -0
  607. package/node_modules/zod/v4/locales/nl.js +5 -0
  608. package/node_modules/zod/v4/locales/nn.cjs +140 -0
  609. package/node_modules/zod/v4/locales/nn.d.cts +5 -0
  610. package/node_modules/zod/v4/locales/nn.d.ts +4 -0
  611. package/node_modules/zod/v4/locales/nn.js +113 -0
  612. package/node_modules/zod/v4/locales/no.cjs +7 -2
  613. package/node_modules/zod/v4/locales/no.js +7 -2
  614. package/node_modules/zod/v4/locales/ota.cjs +5 -0
  615. package/node_modules/zod/v4/locales/ota.js +5 -0
  616. package/node_modules/zod/v4/locales/pl.cjs +5 -0
  617. package/node_modules/zod/v4/locales/pl.js +5 -0
  618. package/node_modules/zod/v4/locales/ps.cjs +5 -0
  619. package/node_modules/zod/v4/locales/ps.js +5 -0
  620. package/node_modules/zod/v4/locales/pt-BR.cjs +170 -0
  621. package/node_modules/zod/v4/locales/pt-BR.d.cts +5 -0
  622. package/node_modules/zod/v4/locales/pt-BR.d.ts +4 -0
  623. package/node_modules/zod/v4/locales/pt-BR.js +143 -0
  624. package/node_modules/zod/v4/locales/pt.cjs +89 -55
  625. package/node_modules/zod/v4/locales/pt.js +89 -55
  626. package/node_modules/zod/v4/locales/ro.cjs +3 -0
  627. package/node_modules/zod/v4/locales/ro.js +3 -0
  628. package/node_modules/zod/v4/locales/ru.cjs +12 -0
  629. package/node_modules/zod/v4/locales/ru.js +12 -0
  630. package/node_modules/zod/v4/locales/sk.cjs +143 -0
  631. package/node_modules/zod/v4/locales/sk.d.cts +5 -0
  632. package/node_modules/zod/v4/locales/sk.d.ts +4 -0
  633. package/node_modules/zod/v4/locales/sk.js +116 -0
  634. package/node_modules/zod/v4/locales/sl.cjs +5 -0
  635. package/node_modules/zod/v4/locales/sl.js +5 -0
  636. package/node_modules/zod/v4/locales/sv.cjs +7 -2
  637. package/node_modules/zod/v4/locales/sv.js +7 -2
  638. package/node_modules/zod/v4/locales/ta.cjs +5 -0
  639. package/node_modules/zod/v4/locales/ta.js +5 -0
  640. package/node_modules/zod/v4/locales/tg.cjs +144 -0
  641. package/node_modules/zod/v4/locales/tg.d.cts +5 -0
  642. package/node_modules/zod/v4/locales/tg.d.ts +4 -0
  643. package/node_modules/zod/v4/locales/tg.js +117 -0
  644. package/node_modules/zod/v4/locales/th.cjs +5 -0
  645. package/node_modules/zod/v4/locales/th.js +5 -0
  646. package/node_modules/zod/v4/locales/tk.cjs +134 -0
  647. package/node_modules/zod/v4/locales/tk.d.cts +5 -0
  648. package/node_modules/zod/v4/locales/tk.d.ts +4 -0
  649. package/node_modules/zod/v4/locales/tk.js +107 -0
  650. package/node_modules/zod/v4/locales/tr.cjs +5 -0
  651. package/node_modules/zod/v4/locales/tr.js +5 -0
  652. package/node_modules/zod/v4/locales/uk.cjs +5 -0
  653. package/node_modules/zod/v4/locales/uk.js +5 -0
  654. package/node_modules/zod/v4/locales/ur.cjs +5 -0
  655. package/node_modules/zod/v4/locales/ur.js +5 -0
  656. package/node_modules/zod/v4/locales/uz.cjs +3 -0
  657. package/node_modules/zod/v4/locales/uz.js +3 -0
  658. package/node_modules/zod/v4/locales/vi.cjs +5 -0
  659. package/node_modules/zod/v4/locales/vi.js +5 -0
  660. package/node_modules/zod/v4/locales/yo.cjs +5 -0
  661. package/node_modules/zod/v4/locales/yo.js +5 -0
  662. package/node_modules/zod/v4/locales/zh-CN.cjs +5 -0
  663. package/node_modules/zod/v4/locales/zh-CN.js +5 -0
  664. package/node_modules/zod/v4/locales/zh-TW.cjs +5 -0
  665. package/node_modules/zod/v4/locales/zh-TW.js +5 -0
  666. package/node_modules/zod/v4/mini/checks.cjs +21 -1
  667. package/node_modules/zod/v4/mini/checks.d.cts +1 -1
  668. package/node_modules/zod/v4/mini/checks.d.ts +1 -1
  669. package/node_modules/zod/v4/mini/checks.js +1 -1
  670. package/node_modules/zod/v4/mini/coerce.cjs +19 -0
  671. package/node_modules/zod/v4/mini/deep-partial.cjs +58 -0
  672. package/node_modules/zod/v4/mini/deep-partial.d.cts +14 -0
  673. package/node_modules/zod/v4/mini/deep-partial.d.ts +14 -0
  674. package/node_modules/zod/v4/mini/deep-partial.js +13 -0
  675. package/node_modules/zod/v4/mini/external.cjs +33 -1
  676. package/node_modules/zod/v4/mini/external.d.cts +5 -2
  677. package/node_modules/zod/v4/mini/external.d.ts +5 -2
  678. package/node_modules/zod/v4/mini/external.js +3 -1
  679. package/node_modules/zod/v4/mini/in-out.cjs +82 -0
  680. package/node_modules/zod/v4/mini/in-out.d.cts +8 -0
  681. package/node_modules/zod/v4/mini/in-out.d.ts +8 -0
  682. package/node_modules/zod/v4/mini/in-out.js +36 -0
  683. package/node_modules/zod/v4/mini/index.cjs +19 -0
  684. package/node_modules/zod/v4/mini/iso.cjs +19 -0
  685. package/node_modules/zod/v4/mini/parse.cjs +22 -1
  686. package/node_modules/zod/v4/mini/parse.d.cts +1 -1
  687. package/node_modules/zod/v4/mini/parse.d.ts +1 -1
  688. package/node_modules/zod/v4/mini/parse.js +1 -1
  689. package/node_modules/zod/v4/mini/schemas.cjs +117 -53
  690. package/node_modules/zod/v4/mini/schemas.d.cts +49 -14
  691. package/node_modules/zod/v4/mini/schemas.d.ts +49 -14
  692. package/node_modules/zod/v4/mini/schemas.js +92 -51
  693. package/node_modules/zod/v4-mini/index.cjs +19 -0
  694. package/openclaw.plugin.json +12 -28
  695. package/package.json +12 -7
  696. package/node_modules/zod/src/v4/core/config.ts +0 -15
  697. /package/dist/{config-schema-CCbTcJEV.js → .setup/config-schema-CCbTcJEV.mjs} +0 -0
  698. /package/dist/{conversation-bindings-GDQ_Laxj.js → .setup/conversation-bindings-GDQ_Laxj.mjs} +0 -0
  699. /package/dist/{outbound-send-deps-B-QEsLSM.js → .setup/outbound-send-deps-B-QEsLSM.mjs} +0 -0
  700. /package/dist/{reaction-context-Br-vAJFp.js → .setup/reaction-context-Br-vAJFp.mjs} +0 -0
  701. /package/dist/{rolldown-runtime-D7D4PA-g.js → .setup/rolldown-runtime-D7D4PA-g.mjs} +0 -0
  702. /package/dist/{runtime-Cza4CY5T.js → .setup/runtime-Cza4CY5T.mjs} +0 -0
  703. /package/dist/{state-contract-DvahEY4X.js → .setup/state-contract-DvahEY4X.mjs} +0 -0
@@ -1,26 +1,27 @@
1
- import { d as resolveIMessageChatDbLookupPath, l as resolveIMessageRemoteHost, n as hasExclusiveIMessageLocalDatabase, o as resolveIMessageAccount } from "./accounts-CCirBEIm.js";
2
- import { l as parseIMessageTarget, n as formatIMessageChatTarget, s as normalizeIMessageHandle } from "./message-tool-api-CUoFESHj.js";
3
- import { a as IMessageRpcRequestError, d as rememberIMessageReplyCache, g as chatContextFromIMessageTarget, n as sanitizeIMessageFinalOutboundText, o as createIMessageRpcClient, s as runIMessageCliJsonCommand, t as protectIMessageFencedRoleMarkers, y as resolveIMessageDirectChatService } from "./sanitize-outbound-C6UF2cvr.js";
4
- import { l as getIMessageApprovalApprovers, u as imessageApprovalAuth } from "./group-policy-Duro87b4.js";
5
- import { n as getOptionalIMessageRuntime, t as getIMessageRuntime } from "./runtime-Cza4CY5T.js";
6
- import { c as IMESSAGE_SENT_ECHOES_TTL_MS, d as resolveIMessageEchoMediaKey, p as resolveIMessageSentEchoEntryKey, s as IMESSAGE_SENT_ECHOES_NAMESPACE } from "./state-contract-DvahEY4X.js";
7
- import { d as normalizeConversationKey, i as registerIMessageApprovalReactionTarget, l as enumerateApprovalTargetKeys, s as buildIMessageApprovalConversationKeyForInbound, u as enumerateConversationKeyForms } from "./approval-reactions-BM_AwHPq.js";
8
- import { n as normalizeIMessageGuid } from "./reaction-context-Br-vAJFp.js";
9
- import { r as resolveAuthorizedIMessageReplyReference, t as withIMessageRemoteFile } from "./remote-file-5n5LznCa.js";
1
+ import { c as parseIMessageTarget, o as normalizeIMessageHandle, t as formatIMessageChatTarget } from "./targets-Cc9vthzI.mjs";
2
+ import { d as resolveIMessageChatDbLookupPath, l as resolveIMessageRemoteHost, n as hasExclusiveIMessageLocalDatabase, o as resolveIMessageAccount } from "./accounts-CUxZrTcY.mjs";
3
+ import { _ as chatContextFromIMessageTarget, a as IMessageRpcRequestError, b as resolveIMessageDirectChatService, f as rememberIMessageReplyCache, n as sanitizeIMessageFinalOutboundText, o as createIMessageRpcClient, s as runIMessageCliJsonCommand, t as protectIMessageFencedRoleMarkers } from "./sanitize-outbound-sJPF2DVM.mjs";
4
+ import { c as getIMessageApprovalApprovers, l as imessageApprovalAuth } from "./group-policy-Cjztkquv.mjs";
5
+ import { n as getOptionalIMessageRuntime, t as getIMessageRuntime } from "./runtime-Cza4CY5T.mjs";
6
+ import { c as IMESSAGE_SENT_ECHOES_TTL_MS, d as resolveIMessageEchoMediaKey, p as resolveIMessageSentEchoEntryKey, s as IMESSAGE_SENT_ECHOES_NAMESPACE } from "./state-contract-DvahEY4X.mjs";
7
+ import { d as normalizeConversationKey, i as registerIMessageApprovalReactionTarget, l as enumerateApprovalTargetKeys, s as buildIMessageApprovalConversationKeyForInbound, u as enumerateConversationKeyForms } from "./approval-reactions-D6RFg6lU.mjs";
8
+ import { n as normalizeIMessageGuid } from "./reaction-context-Br-vAJFp.mjs";
9
+ import { r as resolveAuthorizedIMessageReplyReference, t as withIMessageRemoteFile } from "./remote-file-Bye99O-C.mjs";
10
+ import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
10
11
  import { createMessageReceiptFromOutboundResults } from "openclaw/plugin-sdk/channel-outbound";
11
12
  import { createLazyRuntimeSurface } from "openclaw/plugin-sdk/lazy-runtime";
12
13
  import { accessSync, constants } from "node:fs";
13
14
  import { basename } from "node:path";
14
- import { asOptionalRecord, normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
15
- import { logVerbose, sleep } from "openclaw/plugin-sdk/runtime-env";
16
15
  import { extractOriginalFilename, kindFromMime, resolveOutboundAttachmentFromUrl } from "openclaw/plugin-sdk/media-runtime";
16
+ import { logVerbose, sleep } from "openclaw/plugin-sdk/runtime-env";
17
17
  import { asDateTimestampMs } from "openclaw/plugin-sdk/number-runtime";
18
+ import { resolveRuntimeWorkerUrl } from "openclaw/plugin-sdk/process-runtime";
18
19
  import { PlatformMessageNotDispatchedError, isApprovalNotFoundError } from "openclaw/plugin-sdk/error-runtime";
19
20
  import { addApprovalReactionHintToText, createApprovalReactionTargetStore, listApprovalReactionBindings } from "openclaw/plugin-sdk/approval-reaction-runtime";
20
21
  import { convertMarkdownTables, stripInlineDirectiveTagsForDelivery } from "openclaw/plugin-sdk/text-chunking";
21
22
  import { createChannelPartialDeliveryError } from "openclaw/plugin-sdk/channel-inbound";
22
- import { openNodeSqliteDatabase } from "openclaw/plugin-sdk/sqlite-runtime";
23
23
  import { createPluginStateErrorReporter } from "openclaw/plugin-sdk/plugin-state-runtime";
24
+ import { openSqliteWorkerStore } from "openclaw/plugin-sdk/sqlite-runtime";
24
25
  import { requireRuntimeConfig } from "openclaw/plugin-sdk/plugin-config-runtime";
25
26
  import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime";
26
27
  import { resolvePreferredOpenClawTmpDir, withTempWorkspace } from "openclaw/plugin-sdk/temp-path";
@@ -176,7 +177,7 @@ function mapSentPollOptionsToDecisions(params) {
176
177
  }
177
178
  return seenDecisions.size === params.requested.length ? mapped : [];
178
179
  }
179
- function registerIMessageApprovalPollTarget(params) {
180
+ async function registerIMessageApprovalPollTarget(params) {
180
181
  const accountId = params.accountId.trim();
181
182
  const approvalId = params.approvalId.trim();
182
183
  const expiresAtMs = asDateTimestampMs(params.expiresAtMs);
@@ -194,28 +195,23 @@ function registerIMessageApprovalPollTarget(params) {
194
195
  approvalKind: params.approvalKind,
195
196
  optionDecisions: params.optionDecisions
196
197
  };
197
- for (const key of keys) {
198
- pollTargets.register(key, target, { ttlMs });
199
- pollTombstones.register(key, { approvalId }, { ttlMs: TOMBSTONE_TTL_MS });
200
- }
198
+ await Promise.all(keys.flatMap((key) => [pollTargets.register(key, target, { ttlMs }), pollTombstones.register(key, { approvalId }, { ttlMs: TOMBSTONE_TTL_MS })]));
201
199
  return true;
202
200
  }
203
- function unregisterIMessageApprovalPollTarget(params) {
204
- for (const key of enumeratePollTargetKeys({
201
+ async function unregisterIMessageApprovalPollTarget(params) {
202
+ const keys = enumeratePollTargetKeys({
205
203
  accountId: params.accountId,
206
204
  conversation: params.conversation,
207
205
  pollGuid: params.pollGuid,
208
206
  optionIds: params.optionDecisions?.map(([optionId]) => optionId)
209
- })) {
210
- pollTargets.delete(key);
211
- pollTombstones.register(key, { approvalId: params.approvalId ?? "" }, { ttlMs: TOMBSTONE_TTL_MS });
212
- }
207
+ });
208
+ await Promise.all(keys.flatMap((key) => [pollTargets.delete(key), pollTombstones.register(key, { approvalId: params.approvalId ?? "" }, { ttlMs: TOMBSTONE_TTL_MS })]));
213
209
  }
214
210
  /**
215
211
  * Consume votes for a poll that was created but could not be safely bound.
216
212
  * Messages has no reliable retract primitive for this balloon.
217
213
  */
218
- function registerIMessageApprovalPollTombstone(params) {
214
+ async function registerIMessageApprovalPollTombstone(params) {
219
215
  const keys = enumeratePollTargetKeys({
220
216
  accountId: params.accountId,
221
217
  conversation: params.conversation,
@@ -223,7 +219,7 @@ function registerIMessageApprovalPollTombstone(params) {
223
219
  optionIds: params.optionIds
224
220
  });
225
221
  if (keys.length === 0) return false;
226
- for (const key of keys) pollTombstones.register(key, { approvalId: params.approvalId }, { ttlMs: TOMBSTONE_TTL_MS });
222
+ await Promise.all(keys.map((key) => pollTombstones.register(key, { approvalId: params.approvalId }, { ttlMs: TOMBSTONE_TTL_MS })));
227
223
  return true;
228
224
  }
229
225
  function enumeratePollTargetKeys(params) {
@@ -413,7 +409,7 @@ async function maybeResolveIMessageApprovalPollVote(params) {
413
409
  gatewayUrl: params.gatewayUrl,
414
410
  ...params.gatewayRuntime ? { gatewayRuntime: params.gatewayRuntime } : {}
415
411
  });
416
- unregisterIMessageApprovalPollTarget({
412
+ await unregisterIMessageApprovalPollTarget({
417
413
  ...lookupKey,
418
414
  optionDecisions: target.optionDecisions,
419
415
  approvalId: target.approvalId
@@ -426,7 +422,7 @@ async function maybeResolveIMessageApprovalPollVote(params) {
426
422
  return true;
427
423
  } catch (error) {
428
424
  if (isApprovalNotFoundError(error)) {
429
- unregisterIMessageApprovalPollTarget({
425
+ await unregisterIMessageApprovalPollTarget({
430
426
  ...lookupKey,
431
427
  optionDecisions: target.optionDecisions,
432
428
  approvalId: target.approvalId
@@ -454,6 +450,61 @@ const iMessageApprovalPollTargets = {
454
450
  clearForTest: clearIMessageApprovalPollTargetsForTest
455
451
  };
456
452
  //#endregion
453
+ //#region extensions/imessage/src/chat-db.ts
454
+ function openIMessageChatDbReader(databasePath) {
455
+ return openSqliteWorkerStore({
456
+ moduleUrl: resolveRuntimeWorkerUrl({
457
+ currentModuleUrl: import.meta.url,
458
+ sourceWorkerName: "chat-db.worker",
459
+ distWorkerPath: "extensions/imessage/src/chat-db.worker.js",
460
+ package: {
461
+ name: "@openclaw/imessage",
462
+ distWorkerPath: "src/chat-db.worker.js"
463
+ }
464
+ }),
465
+ databasePath,
466
+ existingOnly: true,
467
+ input: void 0
468
+ });
469
+ }
470
+ async function resolveIMessageStartupRowidWatermark(dbPath) {
471
+ let store;
472
+ try {
473
+ store = await openIMessageChatDbReader(dbPath);
474
+ if (!store) throw new Error("Messages database is unavailable");
475
+ return await store.execute({
476
+ type: "startupWatermark",
477
+ input: void 0
478
+ });
479
+ } catch (err) {
480
+ logVerbose(`imessage: startup rowid watermark unavailable for db=${dbPath}: ${String(err)}`);
481
+ return null;
482
+ } finally {
483
+ await store?.close();
484
+ }
485
+ }
486
+ async function withIMessageReceiptGuidReader(databasePath, use) {
487
+ let store;
488
+ let closed = false;
489
+ const read = async (command) => {
490
+ if (closed) throw new Error("iMessage receipt lookup is closed");
491
+ try {
492
+ store ??= await openIMessageChatDbReader(databasePath);
493
+ return store ? await store.execute(command) : null;
494
+ } catch {
495
+ return null;
496
+ }
497
+ };
498
+ try {
499
+ return await use(read);
500
+ } finally {
501
+ closed = true;
502
+ try {
503
+ await store?.close();
504
+ } catch {}
505
+ }
506
+ }
507
+ //#endregion
457
508
  //#region extensions/imessage/src/monitor/echo-text-corruption.ts
458
509
  function isLeadingEchoTextCorruptionMarker(code) {
459
510
  return code === 0 || code === 65279 || code === 65533 || code === 65534 || code === 65535;
@@ -474,7 +525,6 @@ function normalizeMessageId(messageId) {
474
525
  if (!normalized || normalized === "ok" || normalized === "unknown") return;
475
526
  return normalized;
476
527
  }
477
- let mirror = null;
478
528
  let persistenceFailureLogged = false;
479
529
  function reportFailure(scope, err) {
480
530
  if (persistenceFailureLogged) return;
@@ -491,7 +541,7 @@ function normalizeMedia(media) {
491
541
  };
492
542
  }
493
543
  function openPersistedEchoStore() {
494
- return getIMessageRuntime().state.openSyncKeyedStore({
544
+ return getIMessageRuntime().state.openKeyedStore({
495
545
  namespace: IMESSAGE_SENT_ECHOES_NAMESPACE,
496
546
  maxEntries: 256
497
547
  });
@@ -508,31 +558,27 @@ function isLiveEntry(entry, now = Date.now()) {
508
558
  const cutoff = now - IMESSAGE_SENT_ECHOES_TTL_MS;
509
559
  return entry.timestamp >= cutoff && (entry.expiresAt == null || entry.expiresAt > now);
510
560
  }
511
- function loadMirrorFromStore() {
561
+ async function readRecentEntries() {
512
562
  try {
513
- mirror = openPersistedEchoStore().entries().map(({ value }) => value).filter((entry) => isLiveEntry(entry)).toSorted((a, b) => a.timestamp - b.timestamp).slice(-256);
563
+ return (await openPersistedEchoStore().entries()).map(({ value }) => value).filter((entry) => isLiveEntry(entry)).toSorted((a, b) => a.timestamp - b.timestamp).slice(-256);
514
564
  } catch (err) {
515
565
  reportFailure("read", err);
516
- mirror = [];
566
+ return [];
517
567
  }
518
568
  }
519
- function readRecentEntries() {
520
- loadMirrorFromStore();
521
- return mirror ?? [];
522
- }
523
- function persistEntry(entry, ttlMs) {
569
+ async function persistEntry(entry, ttlMs) {
524
570
  const effectiveTtlMs = resolveEntryTtlMs(entry, ttlMs);
525
571
  if (!effectiveTtlMs) return;
526
572
  const key = resolveIMessageSentEchoEntryKey(entry);
527
573
  try {
528
- openPersistedEchoStore().register(key, entry, { ttlMs: effectiveTtlMs });
574
+ await openPersistedEchoStore().register(key, entry, { ttlMs: effectiveTtlMs });
529
575
  } catch (err) {
530
576
  reportFailure("write", err);
531
577
  return;
532
578
  }
533
579
  return key;
534
580
  }
535
- function rememberPersistedIMessageEcho(params) {
581
+ async function rememberPersistedIMessageEcho(params) {
536
582
  const text = normalizeText(params.text);
537
583
  const media = normalizeMedia(params.media);
538
584
  const messageId = normalizeMessageId(params.messageId);
@@ -546,26 +592,22 @@ function rememberPersistedIMessageEcho(params) {
546
592
  };
547
593
  if (typeof params.ttlMs === "number" && Number.isFinite(params.ttlMs) && params.ttlMs > 0) entry.expiresAt = entry.timestamp + params.ttlMs;
548
594
  if (!entry.text && !entry.media && !entry.messageId) return;
549
- loadMirrorFromStore();
550
- const key = persistEntry(entry, params.ttlMs);
551
- mirror = [...mirror ?? [], entry].filter((candidate) => isLiveEntry(candidate)).slice(-256);
552
- return key;
595
+ return await persistEntry(entry, params.ttlMs);
553
596
  }
554
- function forgetPersistedIMessageEchoKey(key) {
597
+ async function forgetPersistedIMessageEchoKey(key) {
555
598
  if (!key) return;
556
599
  try {
557
- openPersistedEchoStore().delete(key);
600
+ await openPersistedEchoStore().delete(key);
558
601
  } catch (err) {
559
602
  reportFailure("delete", err);
560
603
  }
561
- mirror = (mirror ?? []).filter((entry) => resolveIMessageSentEchoEntryKey(entry) !== key);
562
604
  }
563
- function hasPersistedIMessageEcho(params) {
605
+ async function hasPersistedIMessageEcho(params) {
564
606
  const text = normalizeText(params.text);
565
607
  const mediaKey = resolveIMessageEchoMediaKey(params.media);
566
608
  const messageId = normalizeMessageId(params.messageId);
567
609
  if (!text && !mediaKey && !messageId) return false;
568
- for (const entry of readRecentEntries()) {
610
+ for (const entry of await readRecentEntries()) {
569
611
  if (entry.scope !== params.scope) continue;
570
612
  if (messageId && entry.messageId === messageId) return true;
571
613
  const hasConflictingMessageIds = Boolean(messageId && entry.messageId && messageId !== entry.messageId);
@@ -575,6 +617,23 @@ function hasPersistedIMessageEcho(params) {
575
617
  return false;
576
618
  }
577
619
  //#endregion
620
+ //#region extensions/imessage/src/send-transport.ts
621
+ function normalizeIMessageRpcSendError(error) {
622
+ if (!(error instanceof IMessageRpcRequestError)) return error;
623
+ const data = asOptionalRecord(error.data);
624
+ return data?.disposition === "not_started" && data.retry_safe === true ? new PlatformMessageNotDispatchedError(error.message, { cause: error }) : error;
625
+ }
626
+ async function requestIMessageRpcSend(client, method, params, timeoutMs, handoff) {
627
+ handoff.assertDirectAdapterHandoff?.();
628
+ await handoff.onPlatformSendDispatch?.();
629
+ handoff.assertDirectAdapterHandoff?.();
630
+ try {
631
+ return await client.request(method, params, { timeoutMs });
632
+ } catch (error) {
633
+ throw normalizeIMessageRpcSendError(error);
634
+ }
635
+ }
636
+ //#endregion
578
637
  //#region extensions/imessage/src/send.ts
579
638
  const MIN_PENDING_PERSISTED_ECHO_TTL_MS = 6e4;
580
639
  const PENDING_PERSISTED_ECHO_GRACE_MS = 5e3;
@@ -609,79 +668,14 @@ function normalizeResolvedMessageGuid(value) {
609
668
  const trimmed = value.trim();
610
669
  return isConcreteIMessageMessageId(trimmed) && !isNumericMessageRowId(trimmed) ? trimmed : null;
611
670
  }
612
- function resolveMessageGuidFromChatDb(params) {
671
+ async function resolveMessageGuidFromChatDb(params) {
613
672
  const dbPath = params.dbPath?.trim();
614
673
  const messageId = params.messageId.trim();
615
674
  if (!dbPath || !isNumericMessageRowId(messageId)) return null;
616
- let db = null;
617
- try {
618
- db = openNodeSqliteDatabase(dbPath, { readOnly: true });
619
- return normalizeResolvedMessageGuid(db.prepare("SELECT guid FROM message WHERE ROWID = ?").get(messageId)?.guid);
620
- } catch {
621
- return null;
622
- } finally {
623
- try {
624
- db?.close();
625
- } catch {}
626
- }
627
- }
628
- function getStringRowValue(row, key) {
629
- return normalizeResolvedMessageGuid(row?.[key]);
630
- }
631
- function appleMessageDateLowerBoundMs(sentAfterMs) {
632
- if (!Number.isFinite(sentAfterMs)) return null;
633
- return Math.max(0, Math.floor((sentAfterMs - 9783072e5 - 5e3) * 1e6));
634
- }
635
- function resolveLatestSentMessageGuidFromChatDb(params) {
636
- const dbPath = params.dbPath?.trim();
637
- if (!dbPath) return null;
638
- let db = null;
639
- try {
640
- db = openNodeSqliteDatabase(dbPath, { readOnly: true });
641
- const targetClauses = [];
642
- const targetParams = [];
643
- const lowerBound = appleMessageDateLowerBoundMs(params.sentAfterMs);
644
- if (params.text) {
645
- targetClauses.push("m.text = ?");
646
- targetParams.push(params.text);
647
- }
648
- if (lowerBound !== null) {
649
- targetClauses.push("m.date >= ?");
650
- targetParams.push(lowerBound);
651
- }
652
- if (params.target.kind === "chat_id") {
653
- targetClauses.push("cmj.chat_id = ?");
654
- targetParams.push(params.target.chatId);
655
- } else if (params.target.kind === "chat_guid") {
656
- targetClauses.push("c.guid = ?");
657
- targetParams.push(params.target.chatGuid);
658
- } else if (params.target.kind === "chat_identifier") {
659
- targetClauses.push("c.chat_identifier = ?");
660
- targetParams.push(params.target.chatIdentifier);
661
- } else {
662
- const normalizedHandle = normalizeIMessageHandle(params.target.to);
663
- targetClauses.push("(h.id = ? OR h.uncanonicalized_id = ?)");
664
- targetParams.push(normalizedHandle, params.target.to);
665
- }
666
- const selectSql = `
667
- SELECT m.guid
668
- FROM message m
669
- LEFT JOIN chat_message_join cmj ON cmj.message_id = m.ROWID
670
- LEFT JOIN chat c ON c.ROWID = cmj.chat_id
671
- LEFT JOIN handle h ON h.ROWID = m.handle_id
672
- WHERE m.is_from_me = 1
673
- ${targetClauses.length ? `AND ${targetClauses.join(" AND ")}` : ""}
674
- ORDER BY m.date DESC, m.ROWID DESC
675
- LIMIT 10
676
- `;
677
- return getStringRowValue(db.prepare(selectSql).all(...targetParams)[0], "guid");
678
- } catch {
679
- return null;
680
- } finally {
681
- try {
682
- db?.close();
683
- } catch {}
684
- }
675
+ return normalizeResolvedMessageGuid(await withIMessageReceiptGuidReader(dbPath, (read) => read({
676
+ type: "messageGuid",
677
+ input: { messageId }
678
+ })));
685
679
  }
686
680
  function canResolveLatestSentMessageGuidFromChatDb(dbPath) {
687
681
  const normalizedDbPath = dbPath?.trim();
@@ -704,21 +698,33 @@ async function resolveApprovalBindingMessageGuid(params) {
704
698
  }));
705
699
  }
706
700
  async function resolveFallbackSentMessageGuid(params) {
707
- const resolver = params.resolveSentMessageGuidImpl ?? resolveLatestSentMessageGuidFromChatDb;
708
- if (!params.resolveSentMessageGuidImpl && !canResolveLatestSentMessageGuidFromChatDb(params.dbPath)) return null;
701
+ const dbPath = params.dbPath?.trim();
702
+ if (!params.resolveSentMessageGuidImpl && !canResolveLatestSentMessageGuidFromChatDb(dbPath)) return null;
709
703
  const deadlineMs = Date.now() + 5e3;
710
- while (Date.now() <= deadlineMs) {
711
- const resolved = normalizeResolvedMessageGuid(await resolver({
712
- dbPath: params.dbPath,
713
- target: params.target,
714
- text: params.text,
715
- sentAfterMs: params.sentAfterMs
716
- }));
717
- if (resolved) return resolved;
718
- if (Date.now() >= deadlineMs) return null;
719
- await sleep(250);
720
- }
721
- return null;
704
+ const poll = async (resolver) => {
705
+ while (Date.now() <= deadlineMs) {
706
+ const resolved = normalizeResolvedMessageGuid(await resolver({
707
+ dbPath: params.dbPath,
708
+ target: params.target,
709
+ text: params.text,
710
+ sentAfterMs: params.sentAfterMs
711
+ }));
712
+ if (resolved) return resolved;
713
+ if (Date.now() >= deadlineMs) return null;
714
+ await sleep(250);
715
+ }
716
+ return null;
717
+ };
718
+ if (params.resolveSentMessageGuidImpl) return await poll(params.resolveSentMessageGuidImpl);
719
+ if (!dbPath) return null;
720
+ return await withIMessageReceiptGuidReader(dbPath, (read) => poll(({ target, text, sentAfterMs }) => read({
721
+ type: "latestSentGuid",
722
+ input: {
723
+ target,
724
+ text,
725
+ sentAfterMs
726
+ }
727
+ })));
722
728
  }
723
729
  function shouldRecoverApprovalPromptGuid(params) {
724
730
  return Boolean(params.approvalPrompt && !params.filePath && !params.replyToId);
@@ -781,30 +787,10 @@ function resolveIMessageSendFailure(result) {
781
787
  if (result.success !== false) return null;
782
788
  return typeof result.error === "string" && result.error.trim() ? result.error.trim() : "iMessage action failed";
783
789
  }
784
- function normalizeIMessageRpcSendError(error) {
785
- if (!(error instanceof IMessageRpcRequestError)) return error;
786
- const data = asOptionalRecord(error.data);
787
- return data?.disposition === "not_started" && data.retry_safe === true ? new PlatformMessageNotDispatchedError(error.message, { cause: error }) : error;
788
- }
789
- async function requestIMessageRpcSend(client, method, params, timeoutMs) {
790
- try {
791
- return await client.request(method, params, { timeoutMs });
792
- } catch (error) {
793
- throw normalizeIMessageRpcSendError(error);
794
- }
795
- }
796
790
  function isIMessageRpcSendTimeout(error) {
797
791
  const message = error instanceof Error ? error.message : String(error);
798
792
  return /imsg rpc timeout \(send\)/i.test(message);
799
793
  }
800
- async function runIMessageCliJson(cliPath, dbPath, args, timeoutMs) {
801
- return await runIMessageCliJsonCommand({
802
- args,
803
- cliPath,
804
- dbPath,
805
- timeoutMs
806
- });
807
- }
808
794
  function resultService(value) {
809
795
  const normalized = normalizeOptionalString(value)?.toLowerCase();
810
796
  return normalized === "imessage" || normalized === "sms" ? normalized : void 0;
@@ -868,6 +854,7 @@ async function trySendAttachmentForTarget(params) {
868
854
  if (params.audioAsVoice) throw new Error("iMessage voice messages require an existing chat and bridge transport.");
869
855
  return null;
870
856
  }
857
+ params.assertDirectAdapterHandoff?.();
871
858
  const echoScope = resolveOutboundEchoScope({
872
859
  accountId: params.accountId,
873
860
  target: params.target
@@ -875,7 +862,7 @@ async function trySendAttachmentForTarget(params) {
875
862
  let result;
876
863
  let pendingEchoKey;
877
864
  try {
878
- if (echoScope) pendingEchoKey = rememberPersistedIMessageEcho({
865
+ if (echoScope) pendingEchoKey = await rememberPersistedIMessageEcho({
879
866
  scope: echoScope,
880
867
  text: params.echoText,
881
868
  media: params.echoMedia,
@@ -890,6 +877,7 @@ async function trySendAttachmentForTarget(params) {
890
877
  remoteHost: params.remoteHost,
891
878
  localPath: attachmentPath,
892
879
  timeoutMs: params.timeoutMs,
880
+ assertDirectAdapterHandoff: params.assertDirectAdapterHandoff,
893
881
  use: async (remotePath) => {
894
882
  const rpcParams = {
895
883
  file: remotePath,
@@ -903,6 +891,9 @@ async function trySendAttachmentForTarget(params) {
903
891
  }
904
892
  });
905
893
  }
894
+ params.assertDirectAdapterHandoff?.();
895
+ await params.onPlatformSendDispatch?.();
896
+ params.assertDirectAdapterHandoff?.();
906
897
  return await params.runCliJson([
907
898
  "send-attachment",
908
899
  "--chat",
@@ -916,14 +907,14 @@ async function trySendAttachmentForTarget(params) {
916
907
  ]);
917
908
  });
918
909
  } catch (error) {
919
- forgetPersistedIMessageEchoKey(pendingEchoKey);
910
+ await forgetPersistedIMessageEchoKey(pendingEchoKey);
920
911
  if (!params.audioAsVoice && isAttachmentCommandFallbackError(error)) return null;
921
912
  throw error;
922
913
  }
923
914
  const failure = resolveIMessageSendFailure(result);
924
915
  if (failure) {
925
916
  const error = new Error(failure);
926
- forgetPersistedIMessageEchoKey(pendingEchoKey);
917
+ await forgetPersistedIMessageEchoKey(pendingEchoKey);
927
918
  if (!params.audioAsVoice && isAttachmentCommandFallbackError(error)) return null;
928
919
  throw error;
929
920
  }
@@ -935,13 +926,13 @@ async function trySendAttachmentForTarget(params) {
935
926
  resolveMessageGuidImpl: params.resolveMessageGuidImpl
936
927
  });
937
928
  const messageId = resolvedId ?? (result.ok || result.success ? "ok" : "unknown");
938
- if (echoScope) rememberPersistedIMessageEcho({
929
+ if (echoScope) await rememberPersistedIMessageEcho({
939
930
  scope: echoScope,
940
931
  text: params.echoText,
941
932
  media: params.echoMedia,
942
933
  messageId: resolvedId ?? void 0
943
934
  });
944
- if (resolvedId && isConcreteIMessageMessageId(resolvedId)) rememberIMessageReplyCache({
935
+ if (resolvedId && isConcreteIMessageMessageId(resolvedId)) await rememberIMessageReplyCache({
945
936
  accountId: params.accountId,
946
937
  messageId: resolvedId,
947
938
  chatGuid: params.target.kind === "chat_guid" ? params.target.chatGuid : params.target.kind === "chat_id" ? attachmentChatTarget : void 0,
@@ -966,6 +957,7 @@ async function trySendAttachmentForTarget(params) {
966
957
  }
967
958
  async function sendMessageIMessage(to, text, opts) {
968
959
  const cfg = requireRuntimeConfig(opts.config, "iMessage send");
960
+ opts.assertDirectAdapterHandoff?.();
969
961
  const account = opts.account ?? resolveIMessageAccount({
970
962
  cfg,
971
963
  accountId: opts.accountId
@@ -976,6 +968,7 @@ async function sendMessageIMessage(to, text, opts) {
976
968
  cliPath,
977
969
  remoteHost: account.config.remoteHost
978
970
  });
971
+ opts.assertDirectAdapterHandoff?.();
979
972
  const chatDbLookupPath = resolveIMessageChatDbLookupPath({
980
973
  cliPath,
981
974
  dbPath,
@@ -984,7 +977,7 @@ async function sendMessageIMessage(to, text, opts) {
984
977
  const target = parseIMessageTarget(opts.chatId ? formatIMessageChatTarget(opts.chatId) : to);
985
978
  const service = opts.service ?? resolveTargetService(target) ?? account.config.service;
986
979
  const sendTransport = account.config.sendTransport ?? "auto";
987
- const resolvedReplyToId = resolveAuthorizedIMessageReplyReference({
980
+ const resolvedReplyToId = await resolveAuthorizedIMessageReplyReference({
988
981
  account,
989
982
  target,
990
983
  cliPath,
@@ -1001,6 +994,7 @@ async function sendMessageIMessage(to, text, opts) {
1001
994
  replyToId: opts.replyToId,
1002
995
  conversationReadOrigin: opts.conversationReadOrigin
1003
996
  });
997
+ opts.assertDirectAdapterHandoff?.();
1004
998
  const timeoutMs = opts.timeoutMs ?? Math.max(account.config.probeTimeoutMs ?? 0, 18e4);
1005
999
  const pendingEchoTtlMs = resolvePendingPersistedEchoTtlMs(timeoutMs);
1006
1000
  const region = opts.region?.trim() || account.config.region?.trim() || "US";
@@ -1021,6 +1015,7 @@ async function sendMessageIMessage(to, text, opts) {
1021
1015
  });
1022
1016
  filePath = resolved.path;
1023
1017
  mediaContentType = resolved.contentType ?? void 0;
1018
+ opts.assertDirectAdapterHandoff?.();
1024
1019
  }
1025
1020
  if (!message.trim() && !filePath) throw new Error("iMessage send requires text or media");
1026
1021
  if (message.trim()) {
@@ -1046,8 +1041,18 @@ async function sendMessageIMessage(to, text, opts) {
1046
1041
  const echoText = resolveOutboundEchoText(message);
1047
1042
  const echoMedia = filePath ? resolveOutboundEchoMedia(mediaContentType) : void 0;
1048
1043
  let effectiveReplyToId = resolvedReplyToId;
1049
- const runCliJson = opts.runCliJson ?? ((args) => runIMessageCliJson(cliPath, dbPath, args, timeoutMs));
1044
+ const runCli = opts.runCliJson ?? ((args) => runIMessageCliJsonCommand({
1045
+ args,
1046
+ cliPath,
1047
+ dbPath,
1048
+ timeoutMs
1049
+ }));
1050
+ const runCliJson = async (args) => {
1051
+ opts.assertDirectAdapterHandoff?.();
1052
+ return await runCli(args);
1053
+ };
1050
1054
  const requestOwnedRpc = async (method, rpcParams) => {
1055
+ opts.assertDirectAdapterHandoff?.();
1051
1056
  const rpcClient = opts.createClient ? await opts.createClient({
1052
1057
  cliPath,
1053
1058
  dbPath,
@@ -1058,7 +1063,7 @@ async function sendMessageIMessage(to, text, opts) {
1058
1063
  remoteHost
1059
1064
  });
1060
1065
  try {
1061
- return await requestIMessageRpcSend(rpcClient, method, rpcParams, timeoutMs);
1066
+ return await requestIMessageRpcSend(rpcClient, method, rpcParams, timeoutMs, opts);
1062
1067
  } finally {
1063
1068
  await rpcClient.stop();
1064
1069
  }
@@ -1081,7 +1086,9 @@ async function sendMessageIMessage(to, text, opts) {
1081
1086
  runCliJson,
1082
1087
  requestRpc: requestOwnedRpc,
1083
1088
  withRemoteFile,
1084
- resolveMessageGuidImpl: opts.resolveMessageGuidImpl
1089
+ resolveMessageGuidImpl: opts.resolveMessageGuidImpl,
1090
+ assertDirectAdapterHandoff: opts.assertDirectAdapterHandoff,
1091
+ onPlatformSendDispatch: opts.onPlatformSendDispatch
1085
1092
  });
1086
1093
  if (attachmentResult) {
1087
1094
  if (!message.trim()) return attachmentResult;
@@ -1138,6 +1145,7 @@ async function sendMessageIMessage(to, text, opts) {
1138
1145
  accountId: account.accountId,
1139
1146
  target
1140
1147
  });
1148
+ opts.assertDirectAdapterHandoff?.();
1141
1149
  const client = opts.client ?? (opts.createClient ? await opts.createClient({
1142
1150
  cliPath,
1143
1151
  dbPath,
@@ -1148,19 +1156,14 @@ async function sendMessageIMessage(to, text, opts) {
1148
1156
  remoteHost
1149
1157
  }));
1150
1158
  const shouldClose = !opts.client;
1151
- let closedClient = false;
1152
- const stopOwnedClient = async () => {
1153
- if (!shouldClose || closedClient) return;
1154
- closedClient = true;
1155
- await client.stop();
1156
- };
1157
1159
  const requestSuccessfulSend = async (sendParams) => {
1158
- const request = async (nativeParams) => await requestIMessageRpcSend(client, "send", nativeParams, timeoutMs);
1160
+ const request = async (nativeParams) => await requestIMessageRpcSend(client, "send", nativeParams, timeoutMs, opts);
1159
1161
  const response = filePath ? await withOriginalIMessageAttachmentPath(filePath, async (attachmentPath) => {
1160
1162
  if (remoteHost) return await withRemoteFile({
1161
1163
  remoteHost,
1162
1164
  localPath: attachmentPath,
1163
1165
  timeoutMs,
1166
+ assertDirectAdapterHandoff: opts.assertDirectAdapterHandoff,
1164
1167
  use: async (remotePath) => request({
1165
1168
  ...sendParams,
1166
1169
  file: remotePath
@@ -1180,7 +1183,7 @@ async function sendMessageIMessage(to, text, opts) {
1180
1183
  let pendingEchoKey;
1181
1184
  try {
1182
1185
  try {
1183
- if (echoScope) pendingEchoKey = rememberPersistedIMessageEcho({
1186
+ if (echoScope) pendingEchoKey = await rememberPersistedIMessageEcho({
1184
1187
  scope: echoScope,
1185
1188
  text: echoText,
1186
1189
  media: echoMedia,
@@ -1237,7 +1240,7 @@ async function sendMessageIMessage(to, text, opts) {
1237
1240
  sentAfterMs: sendStartedAtMs,
1238
1241
  resolveSentMessageGuidImpl: opts.resolveSentMessageGuidImpl
1239
1242
  });
1240
- if (echoScope) rememberPersistedIMessageEcho({
1243
+ if (echoScope) await rememberPersistedIMessageEcho({
1241
1244
  scope: echoScope,
1242
1245
  text: echoText,
1243
1246
  media: echoMedia,
@@ -1247,7 +1250,7 @@ async function sendMessageIMessage(to, text, opts) {
1247
1250
  const confirmedService = resolveIMessageDirectChatService(resultService(result.service) ?? service, providerChatGuid);
1248
1251
  if (resolvedId && isConcreteIMessageMessageId(resolvedId)) {
1249
1252
  const chatContext = chatContextFromIMessageTarget(target, confirmedService ?? service);
1250
- rememberIMessageReplyCache({
1253
+ await rememberIMessageReplyCache({
1251
1254
  accountId: account.accountId,
1252
1255
  messageId: resolvedId,
1253
1256
  ...chatContext,
@@ -1264,7 +1267,7 @@ async function sendMessageIMessage(to, text, opts) {
1264
1267
  ...target.kind === "chat_id" ? { chatId: target.chatId } : {},
1265
1268
  ...handleForKey ? { handle: handleForKey } : {}
1266
1269
  };
1267
- registerIMessageApprovalReactionTarget({
1270
+ await registerIMessageApprovalReactionTarget({
1268
1271
  accountId: account.accountId,
1269
1272
  conversation,
1270
1273
  messageId: approvalBindingMessageId,
@@ -1289,11 +1292,11 @@ async function sendMessageIMessage(to, text, opts) {
1289
1292
  })
1290
1293
  };
1291
1294
  } catch (error) {
1292
- forgetPersistedIMessageEchoKey(pendingEchoKey);
1295
+ await forgetPersistedIMessageEchoKey(pendingEchoKey);
1293
1296
  throw error;
1294
1297
  } finally {
1295
- await stopOwnedClient();
1298
+ if (shouldClose) await client.stop();
1296
1299
  }
1297
1300
  }
1298
1301
  //#endregion
1299
- export { iMessageApprovalPollTargets as a, iMessageApprovalControlBindings as c, buildApprovalPollOptions as i, hasPersistedIMessageEcho as n, mapSentPollOptionsToDecisions as o, stripLeadingEchoTextCorruptionMarkers as r, maybeResolveIMessageApprovalPollVote as s, sendMessageIMessage as t };
1302
+ export { buildApprovalPollOptions as a, maybeResolveIMessageApprovalPollVote as c, resolveIMessageStartupRowidWatermark as i, iMessageApprovalControlBindings as l, hasPersistedIMessageEcho as n, iMessageApprovalPollTargets as o, stripLeadingEchoTextCorruptionMarkers as r, mapSentPollOptionsToDecisions as s, sendMessageIMessage as t };