@openclaw/raft 0.0.0 → 2026.6.11

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 (727) hide show
  1. package/README.md +4 -2
  2. package/dist/channel-plugin-api.js +472 -0
  3. package/dist/index.js +14 -0
  4. package/dist/setup-BTG_4kEW.js +125 -0
  5. package/dist/setup-entry.js +11 -0
  6. package/dist/setup-plugin-api.js +2 -0
  7. package/node_modules/zod/LICENSE +21 -0
  8. package/node_modules/zod/README.md +191 -0
  9. package/node_modules/zod/index.cjs +33 -0
  10. package/node_modules/zod/index.d.cts +4 -0
  11. package/node_modules/zod/index.d.ts +4 -0
  12. package/node_modules/zod/index.js +4 -0
  13. package/node_modules/zod/locales/index.cjs +17 -0
  14. package/node_modules/zod/locales/index.d.cts +1 -0
  15. package/node_modules/zod/locales/index.d.ts +1 -0
  16. package/node_modules/zod/locales/index.js +1 -0
  17. package/node_modules/zod/locales/package.json +7 -0
  18. package/node_modules/zod/mini/index.cjs +32 -0
  19. package/node_modules/zod/mini/index.d.cts +3 -0
  20. package/node_modules/zod/mini/index.d.ts +3 -0
  21. package/node_modules/zod/mini/index.js +3 -0
  22. package/node_modules/zod/mini/package.json +7 -0
  23. package/node_modules/zod/package.json +135 -0
  24. package/node_modules/zod/src/index.ts +4 -0
  25. package/node_modules/zod/src/locales/index.ts +1 -0
  26. package/node_modules/zod/src/mini/index.ts +3 -0
  27. package/node_modules/zod/src/v3/ZodError.ts +330 -0
  28. package/node_modules/zod/src/v3/benchmarks/datetime.ts +58 -0
  29. package/node_modules/zod/src/v3/benchmarks/discriminatedUnion.ts +80 -0
  30. package/node_modules/zod/src/v3/benchmarks/index.ts +59 -0
  31. package/node_modules/zod/src/v3/benchmarks/ipv4.ts +57 -0
  32. package/node_modules/zod/src/v3/benchmarks/object.ts +69 -0
  33. package/node_modules/zod/src/v3/benchmarks/primitives.ts +162 -0
  34. package/node_modules/zod/src/v3/benchmarks/realworld.ts +63 -0
  35. package/node_modules/zod/src/v3/benchmarks/string.ts +55 -0
  36. package/node_modules/zod/src/v3/benchmarks/union.ts +80 -0
  37. package/node_modules/zod/src/v3/errors.ts +13 -0
  38. package/node_modules/zod/src/v3/external.ts +6 -0
  39. package/node_modules/zod/src/v3/helpers/enumUtil.ts +17 -0
  40. package/node_modules/zod/src/v3/helpers/errorUtil.ts +8 -0
  41. package/node_modules/zod/src/v3/helpers/parseUtil.ts +176 -0
  42. package/node_modules/zod/src/v3/helpers/partialUtil.ts +34 -0
  43. package/node_modules/zod/src/v3/helpers/typeAliases.ts +2 -0
  44. package/node_modules/zod/src/v3/helpers/util.ts +224 -0
  45. package/node_modules/zod/src/v3/index.ts +4 -0
  46. package/node_modules/zod/src/v3/locales/en.ts +124 -0
  47. package/node_modules/zod/src/v3/standard-schema.ts +113 -0
  48. package/node_modules/zod/src/v3/tests/Mocker.ts +54 -0
  49. package/node_modules/zod/src/v3/tests/all-errors.test.ts +157 -0
  50. package/node_modules/zod/src/v3/tests/anyunknown.test.ts +28 -0
  51. package/node_modules/zod/src/v3/tests/array.test.ts +71 -0
  52. package/node_modules/zod/src/v3/tests/async-parsing.test.ts +388 -0
  53. package/node_modules/zod/src/v3/tests/async-refinements.test.ts +46 -0
  54. package/node_modules/zod/src/v3/tests/base.test.ts +29 -0
  55. package/node_modules/zod/src/v3/tests/bigint.test.ts +55 -0
  56. package/node_modules/zod/src/v3/tests/branded.test.ts +53 -0
  57. package/node_modules/zod/src/v3/tests/catch.test.ts +220 -0
  58. package/node_modules/zod/src/v3/tests/coerce.test.ts +133 -0
  59. package/node_modules/zod/src/v3/tests/complex.test.ts +70 -0
  60. package/node_modules/zod/src/v3/tests/custom.test.ts +31 -0
  61. package/node_modules/zod/src/v3/tests/date.test.ts +32 -0
  62. package/node_modules/zod/src/v3/tests/deepmasking.test.ts +186 -0
  63. package/node_modules/zod/src/v3/tests/default.test.ts +112 -0
  64. package/node_modules/zod/src/v3/tests/description.test.ts +33 -0
  65. package/node_modules/zod/src/v3/tests/discriminated-unions.test.ts +315 -0
  66. package/node_modules/zod/src/v3/tests/enum.test.ts +80 -0
  67. package/node_modules/zod/src/v3/tests/error.test.ts +551 -0
  68. package/node_modules/zod/src/v3/tests/firstparty.test.ts +87 -0
  69. package/node_modules/zod/src/v3/tests/firstpartyschematypes.test.ts +21 -0
  70. package/node_modules/zod/src/v3/tests/function.test.ts +261 -0
  71. package/node_modules/zod/src/v3/tests/generics.test.ts +48 -0
  72. package/node_modules/zod/src/v3/tests/instanceof.test.ts +37 -0
  73. package/node_modules/zod/src/v3/tests/intersection.test.ts +110 -0
  74. package/node_modules/zod/src/v3/tests/language-server.source.ts +76 -0
  75. package/node_modules/zod/src/v3/tests/language-server.test.ts +207 -0
  76. package/node_modules/zod/src/v3/tests/literal.test.ts +36 -0
  77. package/node_modules/zod/src/v3/tests/map.test.ts +110 -0
  78. package/node_modules/zod/src/v3/tests/masking.test.ts +4 -0
  79. package/node_modules/zod/src/v3/tests/mocker.test.ts +19 -0
  80. package/node_modules/zod/src/v3/tests/nan.test.ts +24 -0
  81. package/node_modules/zod/src/v3/tests/nativeEnum.test.ts +87 -0
  82. package/node_modules/zod/src/v3/tests/nullable.test.ts +42 -0
  83. package/node_modules/zod/src/v3/tests/number.test.ts +176 -0
  84. package/node_modules/zod/src/v3/tests/object-augmentation.test.ts +29 -0
  85. package/node_modules/zod/src/v3/tests/object-in-es5-env.test.ts +29 -0
  86. package/node_modules/zod/src/v3/tests/object.test.ts +434 -0
  87. package/node_modules/zod/src/v3/tests/optional.test.ts +42 -0
  88. package/node_modules/zod/src/v3/tests/parseUtil.test.ts +23 -0
  89. package/node_modules/zod/src/v3/tests/parser.test.ts +41 -0
  90. package/node_modules/zod/src/v3/tests/partials.test.ts +243 -0
  91. package/node_modules/zod/src/v3/tests/pickomit.test.ts +111 -0
  92. package/node_modules/zod/src/v3/tests/pipeline.test.ts +29 -0
  93. package/node_modules/zod/src/v3/tests/preprocess.test.ts +186 -0
  94. package/node_modules/zod/src/v3/tests/primitive.test.ts +440 -0
  95. package/node_modules/zod/src/v3/tests/promise.test.ts +90 -0
  96. package/node_modules/zod/src/v3/tests/readonly.test.ts +194 -0
  97. package/node_modules/zod/src/v3/tests/record.test.ts +171 -0
  98. package/node_modules/zod/src/v3/tests/recursive.test.ts +197 -0
  99. package/node_modules/zod/src/v3/tests/refine.test.ts +313 -0
  100. package/node_modules/zod/src/v3/tests/safeparse.test.ts +27 -0
  101. package/node_modules/zod/src/v3/tests/set.test.ts +142 -0
  102. package/node_modules/zod/src/v3/tests/standard-schema.test.ts +83 -0
  103. package/node_modules/zod/src/v3/tests/string.test.ts +916 -0
  104. package/node_modules/zod/src/v3/tests/transformer.test.ts +233 -0
  105. package/node_modules/zod/src/v3/tests/tuple.test.ts +90 -0
  106. package/node_modules/zod/src/v3/tests/unions.test.ts +57 -0
  107. package/node_modules/zod/src/v3/tests/validations.test.ts +133 -0
  108. package/node_modules/zod/src/v3/tests/void.test.ts +15 -0
  109. package/node_modules/zod/src/v3/types.ts +5138 -0
  110. package/node_modules/zod/src/v4/classic/checks.ts +32 -0
  111. package/node_modules/zod/src/v4/classic/coerce.ts +27 -0
  112. package/node_modules/zod/src/v4/classic/compat.ts +70 -0
  113. package/node_modules/zod/src/v4/classic/errors.ts +82 -0
  114. package/node_modules/zod/src/v4/classic/external.ts +52 -0
  115. package/node_modules/zod/src/v4/classic/from-json-schema.ts +659 -0
  116. package/node_modules/zod/src/v4/classic/index.ts +5 -0
  117. package/node_modules/zod/src/v4/classic/iso.ts +90 -0
  118. package/node_modules/zod/src/v4/classic/parse.ts +82 -0
  119. package/node_modules/zod/src/v4/classic/schemas.ts +2672 -0
  120. package/node_modules/zod/src/v4/classic/tests/anyunknown.test.ts +26 -0
  121. package/node_modules/zod/src/v4/classic/tests/apply.test.ts +59 -0
  122. package/node_modules/zod/src/v4/classic/tests/array.test.ts +264 -0
  123. package/node_modules/zod/src/v4/classic/tests/assignability.test.ts +216 -0
  124. package/node_modules/zod/src/v4/classic/tests/async-parsing.test.ts +381 -0
  125. package/node_modules/zod/src/v4/classic/tests/async-refinements.test.ts +68 -0
  126. package/node_modules/zod/src/v4/classic/tests/base.test.ts +7 -0
  127. package/node_modules/zod/src/v4/classic/tests/bigint.test.ts +54 -0
  128. package/node_modules/zod/src/v4/classic/tests/brand.test.ts +106 -0
  129. package/node_modules/zod/src/v4/classic/tests/catch.test.ts +326 -0
  130. package/node_modules/zod/src/v4/classic/tests/coalesce.test.ts +20 -0
  131. package/node_modules/zod/src/v4/classic/tests/codec-examples.test.ts +573 -0
  132. package/node_modules/zod/src/v4/classic/tests/codec.test.ts +703 -0
  133. package/node_modules/zod/src/v4/classic/tests/coerce.test.ts +160 -0
  134. package/node_modules/zod/src/v4/classic/tests/continuability.test.ts +374 -0
  135. package/node_modules/zod/src/v4/classic/tests/custom.test.ts +40 -0
  136. package/node_modules/zod/src/v4/classic/tests/date.test.ts +62 -0
  137. package/node_modules/zod/src/v4/classic/tests/datetime.test.ts +302 -0
  138. package/node_modules/zod/src/v4/classic/tests/default.test.ts +409 -0
  139. package/node_modules/zod/src/v4/classic/tests/describe-meta-checks.test.ts +27 -0
  140. package/node_modules/zod/src/v4/classic/tests/description.test.ts +32 -0
  141. package/node_modules/zod/src/v4/classic/tests/detached-methods.test.ts +197 -0
  142. package/node_modules/zod/src/v4/classic/tests/discriminated-unions.test.ts +694 -0
  143. package/node_modules/zod/src/v4/classic/tests/enum.test.ts +285 -0
  144. package/node_modules/zod/src/v4/classic/tests/error-utils.test.ts +807 -0
  145. package/node_modules/zod/src/v4/classic/tests/error.test.ts +711 -0
  146. package/node_modules/zod/src/v4/classic/tests/file.test.ts +96 -0
  147. package/node_modules/zod/src/v4/classic/tests/firstparty.test.ts +179 -0
  148. package/node_modules/zod/src/v4/classic/tests/fix-json-issue.test.ts +26 -0
  149. package/node_modules/zod/src/v4/classic/tests/from-json-schema.test.ts +895 -0
  150. package/node_modules/zod/src/v4/classic/tests/function.test.ts +360 -0
  151. package/node_modules/zod/src/v4/classic/tests/generics.test.ts +72 -0
  152. package/node_modules/zod/src/v4/classic/tests/global-config.test.ts +39 -0
  153. package/node_modules/zod/src/v4/classic/tests/hash.test.ts +68 -0
  154. package/node_modules/zod/src/v4/classic/tests/index.test.ts +939 -0
  155. package/node_modules/zod/src/v4/classic/tests/instanceof.test.ts +60 -0
  156. package/node_modules/zod/src/v4/classic/tests/intersection.test.ts +198 -0
  157. package/node_modules/zod/src/v4/classic/tests/jitless-allows-eval.test.ts +46 -0
  158. package/node_modules/zod/src/v4/classic/tests/json.test.ts +109 -0
  159. package/node_modules/zod/src/v4/classic/tests/lazy.test.ts +227 -0
  160. package/node_modules/zod/src/v4/classic/tests/literal.test.ts +117 -0
  161. package/node_modules/zod/src/v4/classic/tests/locales_ka.test.ts +29 -0
  162. package/node_modules/zod/src/v4/classic/tests/locales_ro.test.ts +24 -0
  163. package/node_modules/zod/src/v4/classic/tests/map.test.ts +330 -0
  164. package/node_modules/zod/src/v4/classic/tests/nan.test.ts +21 -0
  165. package/node_modules/zod/src/v4/classic/tests/nested-refine.test.ts +168 -0
  166. package/node_modules/zod/src/v4/classic/tests/nonoptional.test.ts +101 -0
  167. package/node_modules/zod/src/v4/classic/tests/nullable.test.ts +22 -0
  168. package/node_modules/zod/src/v4/classic/tests/number.test.ts +325 -0
  169. package/node_modules/zod/src/v4/classic/tests/object.test.ts +717 -0
  170. package/node_modules/zod/src/v4/classic/tests/optional.test.ts +333 -0
  171. package/node_modules/zod/src/v4/classic/tests/partial.test.ts +450 -0
  172. package/node_modules/zod/src/v4/classic/tests/pickomit.test.ts +211 -0
  173. package/node_modules/zod/src/v4/classic/tests/pipe.test.ts +101 -0
  174. package/node_modules/zod/src/v4/classic/tests/prefault.test.ts +74 -0
  175. package/node_modules/zod/src/v4/classic/tests/preprocess-types.test.ts +26 -0
  176. package/node_modules/zod/src/v4/classic/tests/preprocess.test.ts +351 -0
  177. package/node_modules/zod/src/v4/classic/tests/primitive.test.ts +175 -0
  178. package/node_modules/zod/src/v4/classic/tests/promise.test.ts +81 -0
  179. package/node_modules/zod/src/v4/classic/tests/prototypes.test.ts +23 -0
  180. package/node_modules/zod/src/v4/classic/tests/readonly.test.ts +252 -0
  181. package/node_modules/zod/src/v4/classic/tests/record.test.ts +717 -0
  182. package/node_modules/zod/src/v4/classic/tests/recursive-types.test.ts +631 -0
  183. package/node_modules/zod/src/v4/classic/tests/refine.test.ts +633 -0
  184. package/node_modules/zod/src/v4/classic/tests/registries.test.ts +243 -0
  185. package/node_modules/zod/src/v4/classic/tests/set.test.ts +181 -0
  186. package/node_modules/zod/src/v4/classic/tests/standard-schema.test.ts +134 -0
  187. package/node_modules/zod/src/v4/classic/tests/string-formats.test.ts +125 -0
  188. package/node_modules/zod/src/v4/classic/tests/string.test.ts +1224 -0
  189. package/node_modules/zod/src/v4/classic/tests/stringbool.test.ts +106 -0
  190. package/node_modules/zod/src/v4/classic/tests/template-literal.test.ts +771 -0
  191. package/node_modules/zod/src/v4/classic/tests/to-json-schema-methods.test.ts +438 -0
  192. package/node_modules/zod/src/v4/classic/tests/to-json-schema.test.ts +3125 -0
  193. package/node_modules/zod/src/v4/classic/tests/transform.test.ts +378 -0
  194. package/node_modules/zod/src/v4/classic/tests/tuple.test.ts +496 -0
  195. package/node_modules/zod/src/v4/classic/tests/union.test.ts +273 -0
  196. package/node_modules/zod/src/v4/classic/tests/url.test.ts +13 -0
  197. package/node_modules/zod/src/v4/classic/tests/validations.test.ts +283 -0
  198. package/node_modules/zod/src/v4/classic/tests/void.test.ts +12 -0
  199. package/node_modules/zod/src/v4/core/api.ts +1823 -0
  200. package/node_modules/zod/src/v4/core/checks.ts +1293 -0
  201. package/node_modules/zod/src/v4/core/config.ts +15 -0
  202. package/node_modules/zod/src/v4/core/core.ts +153 -0
  203. package/node_modules/zod/src/v4/core/doc.ts +44 -0
  204. package/node_modules/zod/src/v4/core/errors.ts +455 -0
  205. package/node_modules/zod/src/v4/core/index.ts +16 -0
  206. package/node_modules/zod/src/v4/core/json-schema-generator.ts +126 -0
  207. package/node_modules/zod/src/v4/core/json-schema-processors.ts +666 -0
  208. package/node_modules/zod/src/v4/core/json-schema.ts +147 -0
  209. package/node_modules/zod/src/v4/core/parse.ts +195 -0
  210. package/node_modules/zod/src/v4/core/regexes.ts +190 -0
  211. package/node_modules/zod/src/v4/core/registries.ts +105 -0
  212. package/node_modules/zod/src/v4/core/schemas.ts +4730 -0
  213. package/node_modules/zod/src/v4/core/standard-schema.ts +159 -0
  214. package/node_modules/zod/src/v4/core/tests/extend.test.ts +59 -0
  215. package/node_modules/zod/src/v4/core/tests/index.test.ts +46 -0
  216. package/node_modules/zod/src/v4/core/tests/locales/be.test.ts +124 -0
  217. package/node_modules/zod/src/v4/core/tests/locales/el.test.ts +215 -0
  218. package/node_modules/zod/src/v4/core/tests/locales/en.test.ts +22 -0
  219. package/node_modules/zod/src/v4/core/tests/locales/es.test.ts +181 -0
  220. package/node_modules/zod/src/v4/core/tests/locales/fr.test.ts +72 -0
  221. package/node_modules/zod/src/v4/core/tests/locales/he.test.ts +379 -0
  222. package/node_modules/zod/src/v4/core/tests/locales/hr.test.ts +163 -0
  223. package/node_modules/zod/src/v4/core/tests/locales/nl.test.ts +46 -0
  224. package/node_modules/zod/src/v4/core/tests/locales/ru.test.ts +128 -0
  225. package/node_modules/zod/src/v4/core/tests/locales/tr.test.ts +69 -0
  226. package/node_modules/zod/src/v4/core/tests/locales/uz.test.ts +105 -0
  227. package/node_modules/zod/src/v4/core/tests/record-constructor.test.ts +125 -0
  228. package/node_modules/zod/src/v4/core/tests/recursive-tuples.test.ts +45 -0
  229. package/node_modules/zod/src/v4/core/to-json-schema.ts +622 -0
  230. package/node_modules/zod/src/v4/core/util.ts +983 -0
  231. package/node_modules/zod/src/v4/core/versions.ts +5 -0
  232. package/node_modules/zod/src/v4/core/zsf.ts +323 -0
  233. package/node_modules/zod/src/v4/index.ts +4 -0
  234. package/node_modules/zod/src/v4/locales/ar.ts +115 -0
  235. package/node_modules/zod/src/v4/locales/az.ts +111 -0
  236. package/node_modules/zod/src/v4/locales/be.ts +176 -0
  237. package/node_modules/zod/src/v4/locales/bg.ts +128 -0
  238. package/node_modules/zod/src/v4/locales/ca.ts +116 -0
  239. package/node_modules/zod/src/v4/locales/cs.ts +118 -0
  240. package/node_modules/zod/src/v4/locales/da.ts +123 -0
  241. package/node_modules/zod/src/v4/locales/de.ts +116 -0
  242. package/node_modules/zod/src/v4/locales/el.ts +121 -0
  243. package/node_modules/zod/src/v4/locales/en.ts +123 -0
  244. package/node_modules/zod/src/v4/locales/eo.ts +118 -0
  245. package/node_modules/zod/src/v4/locales/es.ts +141 -0
  246. package/node_modules/zod/src/v4/locales/fa.ts +126 -0
  247. package/node_modules/zod/src/v4/locales/fi.ts +121 -0
  248. package/node_modules/zod/src/v4/locales/fr-CA.ts +116 -0
  249. package/node_modules/zod/src/v4/locales/fr.ts +132 -0
  250. package/node_modules/zod/src/v4/locales/he.ts +246 -0
  251. package/node_modules/zod/src/v4/locales/hr.ts +131 -0
  252. package/node_modules/zod/src/v4/locales/hu.ts +117 -0
  253. package/node_modules/zod/src/v4/locales/hy.ts +164 -0
  254. package/node_modules/zod/src/v4/locales/id.ts +115 -0
  255. package/node_modules/zod/src/v4/locales/index.ts +52 -0
  256. package/node_modules/zod/src/v4/locales/is.ts +119 -0
  257. package/node_modules/zod/src/v4/locales/it.ts +116 -0
  258. package/node_modules/zod/src/v4/locales/ja.ts +114 -0
  259. package/node_modules/zod/src/v4/locales/ka.ts +123 -0
  260. package/node_modules/zod/src/v4/locales/kh.ts +7 -0
  261. package/node_modules/zod/src/v4/locales/km.ts +119 -0
  262. package/node_modules/zod/src/v4/locales/ko.ts +121 -0
  263. package/node_modules/zod/src/v4/locales/lt.ts +239 -0
  264. package/node_modules/zod/src/v4/locales/mk.ts +118 -0
  265. package/node_modules/zod/src/v4/locales/ms.ts +115 -0
  266. package/node_modules/zod/src/v4/locales/nl.ts +121 -0
  267. package/node_modules/zod/src/v4/locales/no.ts +116 -0
  268. package/node_modules/zod/src/v4/locales/ota.ts +117 -0
  269. package/node_modules/zod/src/v4/locales/pl.ts +118 -0
  270. package/node_modules/zod/src/v4/locales/ps.ts +126 -0
  271. package/node_modules/zod/src/v4/locales/pt.ts +116 -0
  272. package/node_modules/zod/src/v4/locales/ro.ts +129 -0
  273. package/node_modules/zod/src/v4/locales/ru.ts +176 -0
  274. package/node_modules/zod/src/v4/locales/sl.ts +118 -0
  275. package/node_modules/zod/src/v4/locales/sv.ts +119 -0
  276. package/node_modules/zod/src/v4/locales/ta.ts +118 -0
  277. package/node_modules/zod/src/v4/locales/th.ts +119 -0
  278. package/node_modules/zod/src/v4/locales/tr.ts +111 -0
  279. package/node_modules/zod/src/v4/locales/ua.ts +7 -0
  280. package/node_modules/zod/src/v4/locales/uk.ts +117 -0
  281. package/node_modules/zod/src/v4/locales/ur.ts +119 -0
  282. package/node_modules/zod/src/v4/locales/uz.ts +117 -0
  283. package/node_modules/zod/src/v4/locales/vi.ts +117 -0
  284. package/node_modules/zod/src/v4/locales/yo.ts +124 -0
  285. package/node_modules/zod/src/v4/locales/zh-CN.ts +116 -0
  286. package/node_modules/zod/src/v4/locales/zh-TW.ts +115 -0
  287. package/node_modules/zod/src/v4/mini/checks.ts +32 -0
  288. package/node_modules/zod/src/v4/mini/coerce.ts +27 -0
  289. package/node_modules/zod/src/v4/mini/external.ts +41 -0
  290. package/node_modules/zod/src/v4/mini/index.ts +3 -0
  291. package/node_modules/zod/src/v4/mini/iso.ts +66 -0
  292. package/node_modules/zod/src/v4/mini/parse.ts +14 -0
  293. package/node_modules/zod/src/v4/mini/schemas.ts +1947 -0
  294. package/node_modules/zod/src/v4/mini/tests/apply.test.ts +24 -0
  295. package/node_modules/zod/src/v4/mini/tests/assignability.test.ts +129 -0
  296. package/node_modules/zod/src/v4/mini/tests/brand.test.ts +94 -0
  297. package/node_modules/zod/src/v4/mini/tests/checks.test.ts +144 -0
  298. package/node_modules/zod/src/v4/mini/tests/codec.test.ts +548 -0
  299. package/node_modules/zod/src/v4/mini/tests/computed.test.ts +36 -0
  300. package/node_modules/zod/src/v4/mini/tests/error.test.ts +22 -0
  301. package/node_modules/zod/src/v4/mini/tests/functions.test.ts +5 -0
  302. package/node_modules/zod/src/v4/mini/tests/index.test.ts +993 -0
  303. package/node_modules/zod/src/v4/mini/tests/number.test.ts +95 -0
  304. package/node_modules/zod/src/v4/mini/tests/object.test.ts +227 -0
  305. package/node_modules/zod/src/v4/mini/tests/prototypes.test.ts +43 -0
  306. package/node_modules/zod/src/v4/mini/tests/recursive-types.test.ts +325 -0
  307. package/node_modules/zod/src/v4/mini/tests/standard-schema.test.ts +50 -0
  308. package/node_modules/zod/src/v4/mini/tests/string.test.ts +352 -0
  309. package/node_modules/zod/src/v4-mini/index.ts +3 -0
  310. package/node_modules/zod/v3/ZodError.cjs +138 -0
  311. package/node_modules/zod/v3/ZodError.d.cts +164 -0
  312. package/node_modules/zod/v3/ZodError.d.ts +164 -0
  313. package/node_modules/zod/v3/ZodError.js +133 -0
  314. package/node_modules/zod/v3/errors.cjs +17 -0
  315. package/node_modules/zod/v3/errors.d.cts +5 -0
  316. package/node_modules/zod/v3/errors.d.ts +5 -0
  317. package/node_modules/zod/v3/errors.js +9 -0
  318. package/node_modules/zod/v3/external.cjs +22 -0
  319. package/node_modules/zod/v3/external.d.cts +6 -0
  320. package/node_modules/zod/v3/external.d.ts +6 -0
  321. package/node_modules/zod/v3/external.js +6 -0
  322. package/node_modules/zod/v3/helpers/enumUtil.cjs +2 -0
  323. package/node_modules/zod/v3/helpers/enumUtil.d.cts +8 -0
  324. package/node_modules/zod/v3/helpers/enumUtil.d.ts +8 -0
  325. package/node_modules/zod/v3/helpers/enumUtil.js +1 -0
  326. package/node_modules/zod/v3/helpers/errorUtil.cjs +9 -0
  327. package/node_modules/zod/v3/helpers/errorUtil.d.cts +9 -0
  328. package/node_modules/zod/v3/helpers/errorUtil.d.ts +9 -0
  329. package/node_modules/zod/v3/helpers/errorUtil.js +6 -0
  330. package/node_modules/zod/v3/helpers/parseUtil.cjs +124 -0
  331. package/node_modules/zod/v3/helpers/parseUtil.d.cts +78 -0
  332. package/node_modules/zod/v3/helpers/parseUtil.d.ts +78 -0
  333. package/node_modules/zod/v3/helpers/parseUtil.js +109 -0
  334. package/node_modules/zod/v3/helpers/partialUtil.cjs +2 -0
  335. package/node_modules/zod/v3/helpers/partialUtil.d.cts +8 -0
  336. package/node_modules/zod/v3/helpers/partialUtil.d.ts +8 -0
  337. package/node_modules/zod/v3/helpers/partialUtil.js +1 -0
  338. package/node_modules/zod/v3/helpers/typeAliases.cjs +2 -0
  339. package/node_modules/zod/v3/helpers/typeAliases.d.cts +2 -0
  340. package/node_modules/zod/v3/helpers/typeAliases.d.ts +2 -0
  341. package/node_modules/zod/v3/helpers/typeAliases.js +1 -0
  342. package/node_modules/zod/v3/helpers/util.cjs +137 -0
  343. package/node_modules/zod/v3/helpers/util.d.cts +85 -0
  344. package/node_modules/zod/v3/helpers/util.d.ts +85 -0
  345. package/node_modules/zod/v3/helpers/util.js +133 -0
  346. package/node_modules/zod/v3/index.cjs +33 -0
  347. package/node_modules/zod/v3/index.d.cts +4 -0
  348. package/node_modules/zod/v3/index.d.ts +4 -0
  349. package/node_modules/zod/v3/index.js +4 -0
  350. package/node_modules/zod/v3/locales/en.cjs +112 -0
  351. package/node_modules/zod/v3/locales/en.d.cts +3 -0
  352. package/node_modules/zod/v3/locales/en.d.ts +3 -0
  353. package/node_modules/zod/v3/locales/en.js +109 -0
  354. package/node_modules/zod/v3/package.json +7 -0
  355. package/node_modules/zod/v3/standard-schema.cjs +2 -0
  356. package/node_modules/zod/v3/standard-schema.d.cts +102 -0
  357. package/node_modules/zod/v3/standard-schema.d.ts +102 -0
  358. package/node_modules/zod/v3/standard-schema.js +1 -0
  359. package/node_modules/zod/v3/types.cjs +3777 -0
  360. package/node_modules/zod/v3/types.d.cts +1034 -0
  361. package/node_modules/zod/v3/types.d.ts +1034 -0
  362. package/node_modules/zod/v3/types.js +3695 -0
  363. package/node_modules/zod/v4/classic/checks.cjs +33 -0
  364. package/node_modules/zod/v4/classic/checks.d.cts +1 -0
  365. package/node_modules/zod/v4/classic/checks.d.ts +1 -0
  366. package/node_modules/zod/v4/classic/checks.js +1 -0
  367. package/node_modules/zod/v4/classic/coerce.cjs +47 -0
  368. package/node_modules/zod/v4/classic/coerce.d.cts +17 -0
  369. package/node_modules/zod/v4/classic/coerce.d.ts +17 -0
  370. package/node_modules/zod/v4/classic/coerce.js +17 -0
  371. package/node_modules/zod/v4/classic/compat.cjs +61 -0
  372. package/node_modules/zod/v4/classic/compat.d.cts +50 -0
  373. package/node_modules/zod/v4/classic/compat.d.ts +50 -0
  374. package/node_modules/zod/v4/classic/compat.js +31 -0
  375. package/node_modules/zod/v4/classic/errors.cjs +74 -0
  376. package/node_modules/zod/v4/classic/errors.d.cts +30 -0
  377. package/node_modules/zod/v4/classic/errors.d.ts +30 -0
  378. package/node_modules/zod/v4/classic/errors.js +48 -0
  379. package/node_modules/zod/v4/classic/external.cjs +73 -0
  380. package/node_modules/zod/v4/classic/external.d.cts +16 -0
  381. package/node_modules/zod/v4/classic/external.d.ts +16 -0
  382. package/node_modules/zod/v4/classic/external.js +20 -0
  383. package/node_modules/zod/v4/classic/from-json-schema.cjs +625 -0
  384. package/node_modules/zod/v4/classic/from-json-schema.d.cts +12 -0
  385. package/node_modules/zod/v4/classic/from-json-schema.d.ts +12 -0
  386. package/node_modules/zod/v4/classic/from-json-schema.js +599 -0
  387. package/node_modules/zod/v4/classic/index.cjs +33 -0
  388. package/node_modules/zod/v4/classic/index.d.cts +4 -0
  389. package/node_modules/zod/v4/classic/index.d.ts +4 -0
  390. package/node_modules/zod/v4/classic/index.js +4 -0
  391. package/node_modules/zod/v4/classic/iso.cjs +60 -0
  392. package/node_modules/zod/v4/classic/iso.d.cts +22 -0
  393. package/node_modules/zod/v4/classic/iso.d.ts +22 -0
  394. package/node_modules/zod/v4/classic/iso.js +30 -0
  395. package/node_modules/zod/v4/classic/package.json +7 -0
  396. package/node_modules/zod/v4/classic/parse.cjs +41 -0
  397. package/node_modules/zod/v4/classic/parse.d.cts +31 -0
  398. package/node_modules/zod/v4/classic/parse.d.ts +31 -0
  399. package/node_modules/zod/v4/classic/parse.js +15 -0
  400. package/node_modules/zod/v4/classic/schemas.cjs +1511 -0
  401. package/node_modules/zod/v4/classic/schemas.d.cts +767 -0
  402. package/node_modules/zod/v4/classic/schemas.d.ts +767 -0
  403. package/node_modules/zod/v4/classic/schemas.js +1395 -0
  404. package/node_modules/zod/v4/core/api.cjs +1227 -0
  405. package/node_modules/zod/v4/core/api.d.cts +325 -0
  406. package/node_modules/zod/v4/core/api.d.ts +325 -0
  407. package/node_modules/zod/v4/core/api.js +1087 -0
  408. package/node_modules/zod/v4/core/checks.cjs +601 -0
  409. package/node_modules/zod/v4/core/checks.d.cts +278 -0
  410. package/node_modules/zod/v4/core/checks.d.ts +278 -0
  411. package/node_modules/zod/v4/core/checks.js +575 -0
  412. package/node_modules/zod/v4/core/core.cjs +85 -0
  413. package/node_modules/zod/v4/core/core.d.cts +70 -0
  414. package/node_modules/zod/v4/core/core.d.ts +70 -0
  415. package/node_modules/zod/v4/core/core.js +78 -0
  416. package/node_modules/zod/v4/core/doc.cjs +39 -0
  417. package/node_modules/zod/v4/core/doc.d.cts +14 -0
  418. package/node_modules/zod/v4/core/doc.d.ts +14 -0
  419. package/node_modules/zod/v4/core/doc.js +35 -0
  420. package/node_modules/zod/v4/core/errors.cjs +216 -0
  421. package/node_modules/zod/v4/core/errors.d.cts +221 -0
  422. package/node_modules/zod/v4/core/errors.d.ts +221 -0
  423. package/node_modules/zod/v4/core/errors.js +185 -0
  424. package/node_modules/zod/v4/core/index.cjs +47 -0
  425. package/node_modules/zod/v4/core/index.d.cts +16 -0
  426. package/node_modules/zod/v4/core/index.d.ts +16 -0
  427. package/node_modules/zod/v4/core/index.js +16 -0
  428. package/node_modules/zod/v4/core/json-schema-generator.cjs +99 -0
  429. package/node_modules/zod/v4/core/json-schema-generator.d.cts +65 -0
  430. package/node_modules/zod/v4/core/json-schema-generator.d.ts +65 -0
  431. package/node_modules/zod/v4/core/json-schema-generator.js +95 -0
  432. package/node_modules/zod/v4/core/json-schema-processors.cjs +644 -0
  433. package/node_modules/zod/v4/core/json-schema-processors.d.cts +49 -0
  434. package/node_modules/zod/v4/core/json-schema-processors.d.ts +49 -0
  435. package/node_modules/zod/v4/core/json-schema-processors.js +601 -0
  436. package/node_modules/zod/v4/core/json-schema.cjs +2 -0
  437. package/node_modules/zod/v4/core/json-schema.d.cts +88 -0
  438. package/node_modules/zod/v4/core/json-schema.d.ts +88 -0
  439. package/node_modules/zod/v4/core/json-schema.js +1 -0
  440. package/node_modules/zod/v4/core/package.json +7 -0
  441. package/node_modules/zod/v4/core/parse.cjs +131 -0
  442. package/node_modules/zod/v4/core/parse.d.cts +49 -0
  443. package/node_modules/zod/v4/core/parse.d.ts +49 -0
  444. package/node_modules/zod/v4/core/parse.js +93 -0
  445. package/node_modules/zod/v4/core/regexes.cjs +172 -0
  446. package/node_modules/zod/v4/core/regexes.d.cts +85 -0
  447. package/node_modules/zod/v4/core/regexes.d.ts +85 -0
  448. package/node_modules/zod/v4/core/regexes.js +139 -0
  449. package/node_modules/zod/v4/core/registries.cjs +56 -0
  450. package/node_modules/zod/v4/core/registries.d.cts +35 -0
  451. package/node_modules/zod/v4/core/registries.d.ts +35 -0
  452. package/node_modules/zod/v4/core/registries.js +51 -0
  453. package/node_modules/zod/v4/core/schemas.cjs +2270 -0
  454. package/node_modules/zod/v4/core/schemas.d.cts +1184 -0
  455. package/node_modules/zod/v4/core/schemas.d.ts +1184 -0
  456. package/node_modules/zod/v4/core/schemas.js +2239 -0
  457. package/node_modules/zod/v4/core/standard-schema.cjs +2 -0
  458. package/node_modules/zod/v4/core/standard-schema.d.cts +126 -0
  459. package/node_modules/zod/v4/core/standard-schema.d.ts +126 -0
  460. package/node_modules/zod/v4/core/standard-schema.js +1 -0
  461. package/node_modules/zod/v4/core/to-json-schema.cjs +457 -0
  462. package/node_modules/zod/v4/core/to-json-schema.d.cts +114 -0
  463. package/node_modules/zod/v4/core/to-json-schema.d.ts +114 -0
  464. package/node_modules/zod/v4/core/to-json-schema.js +448 -0
  465. package/node_modules/zod/v4/core/util.cjs +734 -0
  466. package/node_modules/zod/v4/core/util.d.cts +200 -0
  467. package/node_modules/zod/v4/core/util.d.ts +200 -0
  468. package/node_modules/zod/v4/core/util.js +674 -0
  469. package/node_modules/zod/v4/core/versions.cjs +8 -0
  470. package/node_modules/zod/v4/core/versions.d.cts +5 -0
  471. package/node_modules/zod/v4/core/versions.d.ts +5 -0
  472. package/node_modules/zod/v4/core/versions.js +5 -0
  473. package/node_modules/zod/v4/index.cjs +22 -0
  474. package/node_modules/zod/v4/index.d.cts +3 -0
  475. package/node_modules/zod/v4/index.d.ts +3 -0
  476. package/node_modules/zod/v4/index.js +3 -0
  477. package/node_modules/zod/v4/locales/ar.cjs +133 -0
  478. package/node_modules/zod/v4/locales/ar.d.cts +5 -0
  479. package/node_modules/zod/v4/locales/ar.d.ts +4 -0
  480. package/node_modules/zod/v4/locales/ar.js +106 -0
  481. package/node_modules/zod/v4/locales/az.cjs +132 -0
  482. package/node_modules/zod/v4/locales/az.d.cts +5 -0
  483. package/node_modules/zod/v4/locales/az.d.ts +4 -0
  484. package/node_modules/zod/v4/locales/az.js +105 -0
  485. package/node_modules/zod/v4/locales/be.cjs +183 -0
  486. package/node_modules/zod/v4/locales/be.d.cts +5 -0
  487. package/node_modules/zod/v4/locales/be.d.ts +4 -0
  488. package/node_modules/zod/v4/locales/be.js +156 -0
  489. package/node_modules/zod/v4/locales/bg.cjs +147 -0
  490. package/node_modules/zod/v4/locales/bg.d.cts +5 -0
  491. package/node_modules/zod/v4/locales/bg.d.ts +4 -0
  492. package/node_modules/zod/v4/locales/bg.js +120 -0
  493. package/node_modules/zod/v4/locales/ca.cjs +134 -0
  494. package/node_modules/zod/v4/locales/ca.d.cts +5 -0
  495. package/node_modules/zod/v4/locales/ca.d.ts +4 -0
  496. package/node_modules/zod/v4/locales/ca.js +107 -0
  497. package/node_modules/zod/v4/locales/cs.cjs +138 -0
  498. package/node_modules/zod/v4/locales/cs.d.cts +5 -0
  499. package/node_modules/zod/v4/locales/cs.d.ts +4 -0
  500. package/node_modules/zod/v4/locales/cs.js +111 -0
  501. package/node_modules/zod/v4/locales/da.cjs +142 -0
  502. package/node_modules/zod/v4/locales/da.d.cts +5 -0
  503. package/node_modules/zod/v4/locales/da.d.ts +4 -0
  504. package/node_modules/zod/v4/locales/da.js +115 -0
  505. package/node_modules/zod/v4/locales/de.cjs +135 -0
  506. package/node_modules/zod/v4/locales/de.d.cts +5 -0
  507. package/node_modules/zod/v4/locales/de.d.ts +4 -0
  508. package/node_modules/zod/v4/locales/de.js +108 -0
  509. package/node_modules/zod/v4/locales/el.cjs +136 -0
  510. package/node_modules/zod/v4/locales/el.d.cts +5 -0
  511. package/node_modules/zod/v4/locales/el.d.ts +4 -0
  512. package/node_modules/zod/v4/locales/el.js +109 -0
  513. package/node_modules/zod/v4/locales/en.cjs +140 -0
  514. package/node_modules/zod/v4/locales/en.d.cts +5 -0
  515. package/node_modules/zod/v4/locales/en.d.ts +4 -0
  516. package/node_modules/zod/v4/locales/en.js +113 -0
  517. package/node_modules/zod/v4/locales/eo.cjs +136 -0
  518. package/node_modules/zod/v4/locales/eo.d.cts +5 -0
  519. package/node_modules/zod/v4/locales/eo.d.ts +4 -0
  520. package/node_modules/zod/v4/locales/eo.js +109 -0
  521. package/node_modules/zod/v4/locales/es.cjs +159 -0
  522. package/node_modules/zod/v4/locales/es.d.cts +5 -0
  523. package/node_modules/zod/v4/locales/es.d.ts +4 -0
  524. package/node_modules/zod/v4/locales/es.js +132 -0
  525. package/node_modules/zod/v4/locales/fa.cjs +141 -0
  526. package/node_modules/zod/v4/locales/fa.d.cts +5 -0
  527. package/node_modules/zod/v4/locales/fa.d.ts +4 -0
  528. package/node_modules/zod/v4/locales/fa.js +114 -0
  529. package/node_modules/zod/v4/locales/fi.cjs +139 -0
  530. package/node_modules/zod/v4/locales/fi.d.cts +5 -0
  531. package/node_modules/zod/v4/locales/fi.d.ts +4 -0
  532. package/node_modules/zod/v4/locales/fi.js +112 -0
  533. package/node_modules/zod/v4/locales/fr-CA.cjs +134 -0
  534. package/node_modules/zod/v4/locales/fr-CA.d.cts +5 -0
  535. package/node_modules/zod/v4/locales/fr-CA.d.ts +4 -0
  536. package/node_modules/zod/v4/locales/fr-CA.js +107 -0
  537. package/node_modules/zod/v4/locales/fr.cjs +152 -0
  538. package/node_modules/zod/v4/locales/fr.d.cts +5 -0
  539. package/node_modules/zod/v4/locales/fr.d.ts +4 -0
  540. package/node_modules/zod/v4/locales/fr.js +125 -0
  541. package/node_modules/zod/v4/locales/he.cjs +241 -0
  542. package/node_modules/zod/v4/locales/he.d.cts +5 -0
  543. package/node_modules/zod/v4/locales/he.d.ts +4 -0
  544. package/node_modules/zod/v4/locales/he.js +214 -0
  545. package/node_modules/zod/v4/locales/hr.cjs +149 -0
  546. package/node_modules/zod/v4/locales/hr.d.cts +5 -0
  547. package/node_modules/zod/v4/locales/hr.d.ts +4 -0
  548. package/node_modules/zod/v4/locales/hr.js +122 -0
  549. package/node_modules/zod/v4/locales/hu.cjs +135 -0
  550. package/node_modules/zod/v4/locales/hu.d.cts +5 -0
  551. package/node_modules/zod/v4/locales/hu.d.ts +4 -0
  552. package/node_modules/zod/v4/locales/hu.js +108 -0
  553. package/node_modules/zod/v4/locales/hy.cjs +174 -0
  554. package/node_modules/zod/v4/locales/hy.d.cts +5 -0
  555. package/node_modules/zod/v4/locales/hy.d.ts +4 -0
  556. package/node_modules/zod/v4/locales/hy.js +147 -0
  557. package/node_modules/zod/v4/locales/id.cjs +133 -0
  558. package/node_modules/zod/v4/locales/id.d.cts +5 -0
  559. package/node_modules/zod/v4/locales/id.d.ts +4 -0
  560. package/node_modules/zod/v4/locales/id.js +106 -0
  561. package/node_modules/zod/v4/locales/index.cjs +111 -0
  562. package/node_modules/zod/v4/locales/index.d.cts +52 -0
  563. package/node_modules/zod/v4/locales/index.d.ts +52 -0
  564. package/node_modules/zod/v4/locales/index.js +52 -0
  565. package/node_modules/zod/v4/locales/is.cjs +136 -0
  566. package/node_modules/zod/v4/locales/is.d.cts +5 -0
  567. package/node_modules/zod/v4/locales/is.d.ts +4 -0
  568. package/node_modules/zod/v4/locales/is.js +109 -0
  569. package/node_modules/zod/v4/locales/it.cjs +135 -0
  570. package/node_modules/zod/v4/locales/it.d.cts +5 -0
  571. package/node_modules/zod/v4/locales/it.d.ts +4 -0
  572. package/node_modules/zod/v4/locales/it.js +108 -0
  573. package/node_modules/zod/v4/locales/ja.cjs +134 -0
  574. package/node_modules/zod/v4/locales/ja.d.cts +5 -0
  575. package/node_modules/zod/v4/locales/ja.d.ts +4 -0
  576. package/node_modules/zod/v4/locales/ja.js +107 -0
  577. package/node_modules/zod/v4/locales/ka.cjs +139 -0
  578. package/node_modules/zod/v4/locales/ka.d.cts +5 -0
  579. package/node_modules/zod/v4/locales/ka.d.ts +4 -0
  580. package/node_modules/zod/v4/locales/ka.js +112 -0
  581. package/node_modules/zod/v4/locales/kh.cjs +12 -0
  582. package/node_modules/zod/v4/locales/kh.d.cts +5 -0
  583. package/node_modules/zod/v4/locales/kh.d.ts +5 -0
  584. package/node_modules/zod/v4/locales/kh.js +5 -0
  585. package/node_modules/zod/v4/locales/km.cjs +137 -0
  586. package/node_modules/zod/v4/locales/km.d.cts +5 -0
  587. package/node_modules/zod/v4/locales/km.d.ts +4 -0
  588. package/node_modules/zod/v4/locales/km.js +110 -0
  589. package/node_modules/zod/v4/locales/ko.cjs +138 -0
  590. package/node_modules/zod/v4/locales/ko.d.cts +5 -0
  591. package/node_modules/zod/v4/locales/ko.d.ts +4 -0
  592. package/node_modules/zod/v4/locales/ko.js +111 -0
  593. package/node_modules/zod/v4/locales/lt.cjs +230 -0
  594. package/node_modules/zod/v4/locales/lt.d.cts +5 -0
  595. package/node_modules/zod/v4/locales/lt.d.ts +4 -0
  596. package/node_modules/zod/v4/locales/lt.js +203 -0
  597. package/node_modules/zod/v4/locales/mk.cjs +136 -0
  598. package/node_modules/zod/v4/locales/mk.d.cts +5 -0
  599. package/node_modules/zod/v4/locales/mk.d.ts +4 -0
  600. package/node_modules/zod/v4/locales/mk.js +109 -0
  601. package/node_modules/zod/v4/locales/ms.cjs +134 -0
  602. package/node_modules/zod/v4/locales/ms.d.cts +5 -0
  603. package/node_modules/zod/v4/locales/ms.d.ts +4 -0
  604. package/node_modules/zod/v4/locales/ms.js +107 -0
  605. package/node_modules/zod/v4/locales/nl.cjs +137 -0
  606. package/node_modules/zod/v4/locales/nl.d.cts +5 -0
  607. package/node_modules/zod/v4/locales/nl.d.ts +4 -0
  608. package/node_modules/zod/v4/locales/nl.js +110 -0
  609. package/node_modules/zod/v4/locales/no.cjs +135 -0
  610. package/node_modules/zod/v4/locales/no.d.cts +5 -0
  611. package/node_modules/zod/v4/locales/no.d.ts +4 -0
  612. package/node_modules/zod/v4/locales/no.js +108 -0
  613. package/node_modules/zod/v4/locales/ota.cjs +136 -0
  614. package/node_modules/zod/v4/locales/ota.d.cts +5 -0
  615. package/node_modules/zod/v4/locales/ota.d.ts +4 -0
  616. package/node_modules/zod/v4/locales/ota.js +109 -0
  617. package/node_modules/zod/v4/locales/package.json +7 -0
  618. package/node_modules/zod/v4/locales/pl.cjs +136 -0
  619. package/node_modules/zod/v4/locales/pl.d.cts +5 -0
  620. package/node_modules/zod/v4/locales/pl.d.ts +4 -0
  621. package/node_modules/zod/v4/locales/pl.js +109 -0
  622. package/node_modules/zod/v4/locales/ps.cjs +141 -0
  623. package/node_modules/zod/v4/locales/ps.d.cts +5 -0
  624. package/node_modules/zod/v4/locales/ps.d.ts +4 -0
  625. package/node_modules/zod/v4/locales/ps.js +114 -0
  626. package/node_modules/zod/v4/locales/pt.cjs +135 -0
  627. package/node_modules/zod/v4/locales/pt.d.cts +5 -0
  628. package/node_modules/zod/v4/locales/pt.d.ts +4 -0
  629. package/node_modules/zod/v4/locales/pt.js +108 -0
  630. package/node_modules/zod/v4/locales/ro.cjs +146 -0
  631. package/node_modules/zod/v4/locales/ro.d.cts +5 -0
  632. package/node_modules/zod/v4/locales/ro.d.ts +4 -0
  633. package/node_modules/zod/v4/locales/ro.js +119 -0
  634. package/node_modules/zod/v4/locales/ru.cjs +183 -0
  635. package/node_modules/zod/v4/locales/ru.d.cts +5 -0
  636. package/node_modules/zod/v4/locales/ru.d.ts +4 -0
  637. package/node_modules/zod/v4/locales/ru.js +156 -0
  638. package/node_modules/zod/v4/locales/sl.cjs +136 -0
  639. package/node_modules/zod/v4/locales/sl.d.cts +5 -0
  640. package/node_modules/zod/v4/locales/sl.d.ts +4 -0
  641. package/node_modules/zod/v4/locales/sl.js +109 -0
  642. package/node_modules/zod/v4/locales/sv.cjs +137 -0
  643. package/node_modules/zod/v4/locales/sv.d.cts +5 -0
  644. package/node_modules/zod/v4/locales/sv.d.ts +4 -0
  645. package/node_modules/zod/v4/locales/sv.js +110 -0
  646. package/node_modules/zod/v4/locales/ta.cjs +137 -0
  647. package/node_modules/zod/v4/locales/ta.d.cts +5 -0
  648. package/node_modules/zod/v4/locales/ta.d.ts +4 -0
  649. package/node_modules/zod/v4/locales/ta.js +110 -0
  650. package/node_modules/zod/v4/locales/th.cjs +137 -0
  651. package/node_modules/zod/v4/locales/th.d.cts +5 -0
  652. package/node_modules/zod/v4/locales/th.d.ts +4 -0
  653. package/node_modules/zod/v4/locales/th.js +110 -0
  654. package/node_modules/zod/v4/locales/tr.cjs +132 -0
  655. package/node_modules/zod/v4/locales/tr.d.cts +5 -0
  656. package/node_modules/zod/v4/locales/tr.d.ts +4 -0
  657. package/node_modules/zod/v4/locales/tr.js +105 -0
  658. package/node_modules/zod/v4/locales/ua.cjs +12 -0
  659. package/node_modules/zod/v4/locales/ua.d.cts +5 -0
  660. package/node_modules/zod/v4/locales/ua.d.ts +5 -0
  661. package/node_modules/zod/v4/locales/ua.js +5 -0
  662. package/node_modules/zod/v4/locales/uk.cjs +135 -0
  663. package/node_modules/zod/v4/locales/uk.d.cts +5 -0
  664. package/node_modules/zod/v4/locales/uk.d.ts +4 -0
  665. package/node_modules/zod/v4/locales/uk.js +108 -0
  666. package/node_modules/zod/v4/locales/ur.cjs +137 -0
  667. package/node_modules/zod/v4/locales/ur.d.cts +5 -0
  668. package/node_modules/zod/v4/locales/ur.d.ts +4 -0
  669. package/node_modules/zod/v4/locales/ur.js +110 -0
  670. package/node_modules/zod/v4/locales/uz.cjs +137 -0
  671. package/node_modules/zod/v4/locales/uz.d.cts +5 -0
  672. package/node_modules/zod/v4/locales/uz.d.ts +4 -0
  673. package/node_modules/zod/v4/locales/uz.js +110 -0
  674. package/node_modules/zod/v4/locales/vi.cjs +135 -0
  675. package/node_modules/zod/v4/locales/vi.d.cts +5 -0
  676. package/node_modules/zod/v4/locales/vi.d.ts +4 -0
  677. package/node_modules/zod/v4/locales/vi.js +108 -0
  678. package/node_modules/zod/v4/locales/yo.cjs +134 -0
  679. package/node_modules/zod/v4/locales/yo.d.cts +5 -0
  680. package/node_modules/zod/v4/locales/yo.d.ts +4 -0
  681. package/node_modules/zod/v4/locales/yo.js +107 -0
  682. package/node_modules/zod/v4/locales/zh-CN.cjs +136 -0
  683. package/node_modules/zod/v4/locales/zh-CN.d.cts +5 -0
  684. package/node_modules/zod/v4/locales/zh-CN.d.ts +4 -0
  685. package/node_modules/zod/v4/locales/zh-CN.js +109 -0
  686. package/node_modules/zod/v4/locales/zh-TW.cjs +134 -0
  687. package/node_modules/zod/v4/locales/zh-TW.d.cts +5 -0
  688. package/node_modules/zod/v4/locales/zh-TW.d.ts +4 -0
  689. package/node_modules/zod/v4/locales/zh-TW.js +107 -0
  690. package/node_modules/zod/v4/mini/checks.cjs +34 -0
  691. package/node_modules/zod/v4/mini/checks.d.cts +1 -0
  692. package/node_modules/zod/v4/mini/checks.d.ts +1 -0
  693. package/node_modules/zod/v4/mini/checks.js +1 -0
  694. package/node_modules/zod/v4/mini/coerce.cjs +52 -0
  695. package/node_modules/zod/v4/mini/coerce.d.cts +7 -0
  696. package/node_modules/zod/v4/mini/coerce.d.ts +7 -0
  697. package/node_modules/zod/v4/mini/coerce.js +22 -0
  698. package/node_modules/zod/v4/mini/external.cjs +63 -0
  699. package/node_modules/zod/v4/mini/external.d.cts +13 -0
  700. package/node_modules/zod/v4/mini/external.d.ts +13 -0
  701. package/node_modules/zod/v4/mini/external.js +14 -0
  702. package/node_modules/zod/v4/mini/index.cjs +32 -0
  703. package/node_modules/zod/v4/mini/index.d.cts +3 -0
  704. package/node_modules/zod/v4/mini/index.d.ts +3 -0
  705. package/node_modules/zod/v4/mini/index.js +3 -0
  706. package/node_modules/zod/v4/mini/iso.cjs +64 -0
  707. package/node_modules/zod/v4/mini/iso.d.cts +22 -0
  708. package/node_modules/zod/v4/mini/iso.d.ts +22 -0
  709. package/node_modules/zod/v4/mini/iso.js +34 -0
  710. package/node_modules/zod/v4/mini/package.json +7 -0
  711. package/node_modules/zod/v4/mini/parse.cjs +16 -0
  712. package/node_modules/zod/v4/mini/parse.d.cts +1 -0
  713. package/node_modules/zod/v4/mini/parse.d.ts +1 -0
  714. package/node_modules/zod/v4/mini/parse.js +1 -0
  715. package/node_modules/zod/v4/mini/schemas.cjs +1083 -0
  716. package/node_modules/zod/v4/mini/schemas.d.cts +445 -0
  717. package/node_modules/zod/v4/mini/schemas.d.ts +445 -0
  718. package/node_modules/zod/v4/mini/schemas.js +961 -0
  719. package/node_modules/zod/v4/package.json +7 -0
  720. package/node_modules/zod/v4-mini/index.cjs +32 -0
  721. package/node_modules/zod/v4-mini/index.d.cts +3 -0
  722. package/node_modules/zod/v4-mini/index.d.ts +3 -0
  723. package/node_modules/zod/v4-mini/index.js +3 -0
  724. package/node_modules/zod/v4-mini/package.json +7 -0
  725. package/npm-shrinkwrap.json +32 -0
  726. package/openclaw.plugin.json +69 -0
  727. package/package.json +54 -3
package/README.md CHANGED
@@ -1,3 +1,5 @@
1
- # @openclaw/raft
1
+ # Raft (OpenClaw plugin)
2
2
 
3
- This intentionally empty package reserves the name for a future OpenClaw Raft plugin release.
3
+ Raft CLI wake bridge channel plugin for OpenClaw.
4
+
5
+ Docs: https://docs.openclaw.ai/channels/raft
@@ -0,0 +1,472 @@
1
+ import { a as resolveRaftAccount, i as resolveDefaultRaftAccountId, n as RAFT_CHANNEL_ID, r as listRaftAccountIds, t as raftSetupPlugin } from "./setup-BTG_4kEW.js";
2
+ import { describeAccountSnapshot } from "openclaw/plugin-sdk/account-helpers";
3
+ import { createChatChannelPlugin } from "openclaw/plugin-sdk/channel-core";
4
+ import { buildBaseChannelStatusSummary, createComputedAccountStatusAdapter, createDefaultChannelRuntimeState } from "openclaw/plugin-sdk/status-helpers";
5
+ import { detectBinary } from "openclaw/plugin-sdk/setup-tools";
6
+ import { buildChannelConfigSchema } from "openclaw/plugin-sdk/channel-config-schema";
7
+ import { z } from "zod";
8
+ import { spawn } from "node:child_process";
9
+ import { createHash, randomBytes, randomUUID, timingSafeEqual } from "node:crypto";
10
+ import { createServer } from "node:http";
11
+ import { keepHttpServerTaskAlive, waitUntilAbort } from "openclaw/plugin-sdk/channel-outbound";
12
+ import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
13
+ import { createClaimableDedupe } from "openclaw/plugin-sdk/persistent-dedupe";
14
+ //#region extensions/raft/src/config-schema.ts
15
+ const RaftAccountSchema = z.object({
16
+ name: z.string().optional(),
17
+ enabled: z.boolean().optional(),
18
+ profile: z.string().min(1).optional()
19
+ }).strict();
20
+ const raftChannelConfigSchema = buildChannelConfigSchema(z.object({
21
+ name: z.string().optional(),
22
+ enabled: z.boolean().optional(),
23
+ profile: z.string().min(1).optional(),
24
+ defaultAccount: z.string().optional(),
25
+ accounts: z.record(z.string(), RaftAccountSchema).optional()
26
+ }).strict());
27
+ //#endregion
28
+ //#region extensions/raft/src/inbound.ts
29
+ const WAKE_TEXT = "Raft wake hint received. Check Raft for pending messages, then reply through the Raft CLI.";
30
+ function shellQuote(value) {
31
+ return `'${value.replaceAll("'", `'"'"'`)}'`;
32
+ }
33
+ async function dispatchRaftWake(params) {
34
+ const { ctx } = params;
35
+ const channelRuntime = ctx.channelRuntime;
36
+ const profile = ctx.account.profile;
37
+ if (!channelRuntime || !profile) return;
38
+ const route = channelRuntime.routing.resolveAgentRoute({
39
+ cfg: ctx.cfg,
40
+ channel: RAFT_CHANNEL_ID,
41
+ accountId: ctx.accountId,
42
+ peer: {
43
+ kind: "direct",
44
+ id: profile
45
+ }
46
+ });
47
+ const timestamp = Date.now();
48
+ const command = `raft --profile ${shellQuote(profile)}`;
49
+ await channelRuntime.inbound.run({
50
+ channel: RAFT_CHANNEL_ID,
51
+ accountId: ctx.accountId,
52
+ raw: {
53
+ kind: "wake",
54
+ profile
55
+ },
56
+ adapter: {
57
+ ingest: () => ({
58
+ id: randomUUID(),
59
+ timestamp,
60
+ rawText: WAKE_TEXT,
61
+ textForAgent: `${WAKE_TEXT}\n\nUse \`${command} message check\` to read pending messages and \`${command} message send\` to respond.`,
62
+ textForCommands: ""
63
+ }),
64
+ resolveTurn: async (input) => {
65
+ const ctxPayload = channelRuntime.inbound.buildContext({
66
+ channel: RAFT_CHANNEL_ID,
67
+ accountId: ctx.accountId,
68
+ messageId: input.id,
69
+ timestamp: input.timestamp,
70
+ from: `raft:${profile}`,
71
+ sender: {
72
+ id: profile,
73
+ name: "Raft"
74
+ },
75
+ conversation: {
76
+ kind: "direct",
77
+ id: profile,
78
+ label: `Raft ${profile}`
79
+ },
80
+ route: {
81
+ agentId: route.agentId,
82
+ accountId: ctx.accountId,
83
+ routeSessionKey: route.sessionKey,
84
+ dispatchSessionKey: route.sessionKey
85
+ },
86
+ reply: { to: `raft:${profile}` },
87
+ message: {
88
+ rawBody: input.rawText,
89
+ commandBody: input.textForCommands,
90
+ bodyForAgent: input.textForAgent
91
+ }
92
+ });
93
+ const storePath = channelRuntime.session.resolveStorePath(ctx.cfg.session?.store, { agentId: route.agentId });
94
+ return {
95
+ cfg: ctx.cfg,
96
+ channel: RAFT_CHANNEL_ID,
97
+ accountId: ctx.accountId,
98
+ agentId: route.agentId,
99
+ routeSessionKey: route.sessionKey,
100
+ storePath,
101
+ ctxPayload,
102
+ recordInboundSession: channelRuntime.session.recordInboundSession,
103
+ dispatchReplyWithBufferedBlockDispatcher: channelRuntime.reply.dispatchReplyWithBufferedBlockDispatcher,
104
+ delivery: { deliver: async () => ({ visibleReplySent: false }) },
105
+ record: { onRecordError: (error) => ctx.log?.warn?.(`Raft session metadata update failed: ${String(error)}`) }
106
+ };
107
+ }
108
+ }
109
+ });
110
+ }
111
+ //#endregion
112
+ //#region extensions/raft/src/gateway.ts
113
+ const BRIDGE_HOST = "127.0.0.1";
114
+ const ACTIVITY_DRAIN_PATH = "/activity/drain";
115
+ const HEALTH_PATH = "/health";
116
+ const WAKE_PATH = "/wake";
117
+ const WAKE_TOKEN_HEADER = "x-raft-bridge-token";
118
+ const RAFT_ACTIVITY_DRAIN_SCHEMA = "raft-activity-drain.v1";
119
+ const MAX_WAKE_BODY_BYTES = 16 * 1024;
120
+ const WAKE_DEDUPE_TTL_MS = 1440 * 60 * 1e3;
121
+ const WAKE_DEDUPE_MEMORY_MAX_SIZE = 1e3;
122
+ const WAKE_DEDUPE_STATE_MAX_ENTRIES = 1e4;
123
+ const FORBIDDEN_WAKE_CONTENT_KEYS = new Set([
124
+ "body",
125
+ "content",
126
+ "message",
127
+ "messages",
128
+ "preview",
129
+ "snippet",
130
+ "text"
131
+ ]);
132
+ const WAKE_EVENT_ID_FIELDS = [
133
+ "eventId",
134
+ "attemptId",
135
+ "messageId",
136
+ "delivery_id",
137
+ "wake_id",
138
+ "id"
139
+ ];
140
+ var WakeRequestError = class extends Error {
141
+ constructor(statusCode, message) {
142
+ super(message);
143
+ this.statusCode = statusCode;
144
+ }
145
+ };
146
+ function createToken() {
147
+ return randomBytes(32).toString("hex");
148
+ }
149
+ function spawnRaftBridge(params) {
150
+ return spawn("raft", [
151
+ "--profile",
152
+ params.profile,
153
+ "agent",
154
+ "bridge",
155
+ "--wake-adapter",
156
+ "wake-channel",
157
+ "--wake-channel-endpoint",
158
+ params.endpoint
159
+ ], {
160
+ env: {
161
+ ...process.env,
162
+ RAFT_CHANNEL_TOKEN: params.token
163
+ },
164
+ stdio: "ignore",
165
+ windowsHide: true
166
+ });
167
+ }
168
+ function hasMatchingToken(request, expected) {
169
+ const value = request.headers[WAKE_TOKEN_HEADER];
170
+ if (typeof value !== "string") return false;
171
+ const received = Buffer.from(value);
172
+ const required = Buffer.from(expected);
173
+ return received.length === required.length && timingSafeEqual(received, required);
174
+ }
175
+ async function readWakePayload(request) {
176
+ const chunks = [];
177
+ let bytes = 0;
178
+ let tooLarge = false;
179
+ for await (const chunk of request) {
180
+ const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
181
+ bytes += buffer.length;
182
+ if (bytes > MAX_WAKE_BODY_BYTES) {
183
+ tooLarge = true;
184
+ continue;
185
+ }
186
+ chunks.push(buffer);
187
+ }
188
+ if (tooLarge) throw new WakeRequestError(413, "Wake payload exceeds the 16 KiB limit.");
189
+ const text = Buffer.concat(chunks).toString("utf8").trim();
190
+ if (!text) return {};
191
+ let payload;
192
+ try {
193
+ payload = JSON.parse(text);
194
+ } catch {
195
+ throw new WakeRequestError(400, "Wake payload must be valid JSON.");
196
+ }
197
+ if (!payload || typeof payload !== "object" || Array.isArray(payload)) throw new WakeRequestError(400, "Wake payload must be an object.");
198
+ return payload;
199
+ }
200
+ function containsMessageContent(value) {
201
+ if (Array.isArray(value)) return value.some(containsMessageContent);
202
+ if (!value || typeof value !== "object") return false;
203
+ return Object.entries(value).some(([key, child]) => FORBIDDEN_WAKE_CONTENT_KEYS.has(key.toLowerCase()) || containsMessageContent(child));
204
+ }
205
+ function resolveWakeEventId(payload) {
206
+ for (const field of WAKE_EVENT_ID_FIELDS) {
207
+ const value = payload[field];
208
+ if (typeof value === "string" && value) return value;
209
+ if (typeof value === "number" && Number.isFinite(value)) return String(value);
210
+ }
211
+ }
212
+ function hashWakeEventId(eventId) {
213
+ return createHash("sha256").update(eventId).digest("hex");
214
+ }
215
+ function resolveWakeDedupeKey(payload) {
216
+ const eventId = resolveWakeEventId(payload);
217
+ return eventId ? hashWakeEventId(`id:${eventId}`) : void 0;
218
+ }
219
+ function sendJson(response, statusCode, body) {
220
+ response.writeHead(statusCode, {
221
+ "content-type": "application/json; charset=utf-8",
222
+ "cache-control": "no-store"
223
+ });
224
+ response.end(JSON.stringify(body));
225
+ }
226
+ function closeServer(server, sockets) {
227
+ for (const socket of sockets) socket.destroy();
228
+ if (server.listening) server.close();
229
+ }
230
+ function stopBridge(child) {
231
+ child.kill("SIGTERM");
232
+ const forceKill = setTimeout(() => child.kill("SIGKILL"), 5e3);
233
+ forceKill.unref();
234
+ child.once("exit", () => clearTimeout(forceKill));
235
+ }
236
+ async function listenLoopback(server) {
237
+ await new Promise((resolve, reject) => {
238
+ server.once("error", reject);
239
+ server.listen(0, BRIDGE_HOST, () => {
240
+ server.off("error", reject);
241
+ resolve();
242
+ });
243
+ });
244
+ const address = server.address();
245
+ if (!address || typeof address === "string") throw new Error("Raft wake server did not bind a TCP port.");
246
+ return address.port;
247
+ }
248
+ async function startRaftGatewayAccount(ctx, deps = {}) {
249
+ const profile = ctx.account.profile;
250
+ if (!ctx.account.enabled) {
251
+ await waitUntilAbort(ctx.abortSignal);
252
+ return;
253
+ }
254
+ if (!profile) throw new Error(`Raft account "${ctx.accountId}" is missing a CLI profile.`);
255
+ if (!ctx.channelRuntime) throw new Error("Raft requires OpenClaw channel runtime support. Update OpenClaw and retry.");
256
+ const wakeQueue = new KeyedAsyncQueue();
257
+ const wakeDedupe = deps.wakeDedupe ?? createClaimableDedupe({
258
+ ttlMs: WAKE_DEDUPE_TTL_MS,
259
+ memoryMaxSize: WAKE_DEDUPE_MEMORY_MAX_SIZE,
260
+ pluginId: "raft",
261
+ namespacePrefix: "raft-wake-dedupe",
262
+ stateMaxEntries: WAKE_DEDUPE_STATE_MAX_ENTRIES,
263
+ onDiskError: (error) => {
264
+ ctx.log?.warn?.(`Raft wake dedupe storage failed: ${String(error)}`);
265
+ }
266
+ });
267
+ const token = (deps.createToken ?? createToken)();
268
+ const runtimeSession = randomUUID();
269
+ const sockets = /* @__PURE__ */ new Set();
270
+ let stopped = false;
271
+ let bridgeExited;
272
+ const server = createServer((request, response) => {
273
+ (async () => {
274
+ if (request.method === "GET" && request.url === HEALTH_PATH) {
275
+ sendJson(response, 200, { ok: true });
276
+ return;
277
+ }
278
+ if (request.method === "GET" && new URL(request.url ?? "/", `http://${BRIDGE_HOST}`).pathname === ACTIVITY_DRAIN_PATH) {
279
+ if (!hasMatchingToken(request, token)) {
280
+ sendJson(response, 401, { error: "unauthorized" });
281
+ return;
282
+ }
283
+ sendJson(response, 200, {
284
+ schema: RAFT_ACTIVITY_DRAIN_SCHEMA,
285
+ events: [],
286
+ dropped: 0
287
+ });
288
+ return;
289
+ }
290
+ if (request.method !== "POST" || request.url !== WAKE_PATH) {
291
+ sendJson(response, 404, { error: "not found" });
292
+ return;
293
+ }
294
+ if (!hasMatchingToken(request, token)) {
295
+ sendJson(response, 401, { error: "unauthorized" });
296
+ return;
297
+ }
298
+ const payload = await readWakePayload(request);
299
+ if (containsMessageContent(payload)) throw new WakeRequestError(400, "Wake payload must not include message content.");
300
+ ctx.setStatus({
301
+ ...ctx.getStatus(),
302
+ accountId: ctx.accountId,
303
+ lastInboundAt: Date.now()
304
+ });
305
+ const dedupeKey = resolveWakeDedupeKey(payload);
306
+ if (!dedupeKey) throw new WakeRequestError(400, "Wake payload must include a stable event identity.");
307
+ sendJson(response, 202, {
308
+ ok: true,
309
+ accepted: true,
310
+ runtimeSession,
311
+ ...await wakeQueue.enqueue(ctx.accountId, async () => {
312
+ if (ctx.abortSignal?.aborted) throw new WakeRequestError(503, "Raft Gateway is stopping.");
313
+ const claim = await wakeDedupe.claim(dedupeKey, { namespace: ctx.accountId });
314
+ if (claim.kind === "duplicate") return false;
315
+ if (claim.kind === "inflight") {
316
+ if (await claim.pending) return false;
317
+ throw new WakeRequestError(503, "Raft wake delivery is retrying.");
318
+ }
319
+ try {
320
+ await dispatchRaftWake({ ctx });
321
+ } catch (error) {
322
+ wakeDedupe.release(dedupeKey, {
323
+ namespace: ctx.accountId,
324
+ error
325
+ });
326
+ throw error;
327
+ }
328
+ await wakeDedupe.commit(dedupeKey, { namespace: ctx.accountId });
329
+ return true;
330
+ }) ? {} : { duplicate: true }
331
+ });
332
+ })().catch((error) => {
333
+ const statusCode = error instanceof WakeRequestError ? error.statusCode : 500;
334
+ const message = error instanceof WakeRequestError ? error.message : "Internal server error.";
335
+ ctx.log?.warn?.(`Raft wake request rejected: ${message}`);
336
+ if (!response.headersSent) sendJson(response, statusCode, { error: message });
337
+ else response.destroy();
338
+ });
339
+ });
340
+ server.on("connection", (socket) => {
341
+ sockets.add(socket);
342
+ socket.once("close", () => sockets.delete(socket));
343
+ });
344
+ let bridge;
345
+ let bridgeStopRequested = false;
346
+ const requestBridgeStop = () => {
347
+ if (!bridge || bridgeStopRequested) return;
348
+ bridgeStopRequested = true;
349
+ stopBridge(bridge);
350
+ };
351
+ try {
352
+ const endpoint = `http://${BRIDGE_HOST}:${await listenLoopback(server)}${WAKE_PATH}`;
353
+ bridge = (deps.spawnBridge ?? spawnRaftBridge)({
354
+ profile,
355
+ endpoint,
356
+ token
357
+ });
358
+ bridge.once("error", (error) => {
359
+ if (!stopped) {
360
+ bridgeExited = /* @__PURE__ */ new Error(`Raft bridge failed to start: ${String(error)}`);
361
+ closeServer(server, sockets);
362
+ }
363
+ });
364
+ bridge.once("exit", (code, signal) => {
365
+ if (!stopped) {
366
+ bridgeExited = /* @__PURE__ */ new Error(`Raft bridge exited unexpectedly (code=${code ?? "null"}, signal=${signal ?? "none"}).`);
367
+ closeServer(server, sockets);
368
+ }
369
+ });
370
+ ctx.setStatus({
371
+ accountId: ctx.accountId,
372
+ running: true,
373
+ connected: true,
374
+ lastStartAt: Date.now(),
375
+ lastError: null
376
+ });
377
+ ctx.log?.info?.(`Raft bridge started for profile "${profile}".`);
378
+ await keepHttpServerTaskAlive({
379
+ server,
380
+ abortSignal: ctx.abortSignal,
381
+ onAbort: () => {
382
+ stopped = true;
383
+ requestBridgeStop();
384
+ closeServer(server, sockets);
385
+ }
386
+ });
387
+ if (bridgeExited) throw bridgeExited;
388
+ } catch (error) {
389
+ ctx.setStatus({
390
+ accountId: ctx.accountId,
391
+ running: false,
392
+ connected: false,
393
+ lastStopAt: Date.now(),
394
+ lastError: String(error)
395
+ });
396
+ throw error;
397
+ } finally {
398
+ stopped = true;
399
+ requestBridgeStop();
400
+ closeServer(server, sockets);
401
+ ctx.setStatus({
402
+ accountId: ctx.accountId,
403
+ running: false,
404
+ connected: false,
405
+ lastStopAt: Date.now(),
406
+ ...bridgeExited ? { lastError: bridgeExited.message } : {}
407
+ });
408
+ }
409
+ }
410
+ //#endregion
411
+ //#region extensions/raft/src/channel.ts
412
+ const raftPlugin = createChatChannelPlugin({ base: {
413
+ id: RAFT_CHANNEL_ID,
414
+ meta: {
415
+ id: RAFT_CHANNEL_ID,
416
+ label: "Raft",
417
+ selectionLabel: "Raft (CLI wake bridge)",
418
+ docsPath: "/channels/raft",
419
+ docsLabel: "raft",
420
+ blurb: "Raft CLI wake bridge for human and agent collaboration.",
421
+ order: 72
422
+ },
423
+ capabilities: { chatTypes: ["direct"] },
424
+ setup: raftSetupPlugin.setup,
425
+ setupWizard: raftSetupPlugin.setupWizard,
426
+ reload: { configPrefixes: ["channels.raft"] },
427
+ configSchema: raftChannelConfigSchema,
428
+ config: {
429
+ listAccountIds: listRaftAccountIds,
430
+ resolveAccount: (cfg, accountId) => resolveRaftAccount({
431
+ cfg,
432
+ accountId
433
+ }),
434
+ defaultAccountId: resolveDefaultRaftAccountId,
435
+ isConfigured: (account) => account.configured,
436
+ isEnabled: (account) => account.enabled,
437
+ describeAccount: (account) => describeAccountSnapshot({
438
+ account,
439
+ configured: account.configured,
440
+ extra: { profile: account.profile }
441
+ })
442
+ },
443
+ status: createComputedAccountStatusAdapter({
444
+ defaultRuntime: createDefaultChannelRuntimeState("default"),
445
+ buildChannelSummary: ({ snapshot }) => buildBaseChannelStatusSummary(snapshot),
446
+ probeAccount: async () => ({ cliFound: await detectBinary("raft") }),
447
+ formatCapabilitiesProbe: ({ probe }) => [{
448
+ text: `Raft CLI: ${probe.cliFound ? "found" : "missing"}`,
449
+ ...probe.cliFound ? {} : { tone: "error" }
450
+ }],
451
+ collectStatusIssues: (accounts) => accounts.flatMap((account) => {
452
+ if (!account.configured) return [{
453
+ channel: RAFT_CHANNEL_ID,
454
+ accountId: account.accountId,
455
+ kind: "config",
456
+ message: "Raft account is missing a CLI profile",
457
+ fix: "Set channels.raft.profile or RAFT_PROFILE."
458
+ }];
459
+ return [];
460
+ }),
461
+ resolveAccountSnapshot: ({ account }) => ({
462
+ accountId: account.accountId,
463
+ name: account.name ?? void 0,
464
+ enabled: account.enabled,
465
+ configured: account.configured,
466
+ extra: { profile: account.profile }
467
+ })
468
+ }),
469
+ gateway: { startAccount: async (ctx) => await startRaftGatewayAccount(ctx) }
470
+ } });
471
+ //#endregion
472
+ export { raftPlugin };
package/dist/index.js ADDED
@@ -0,0 +1,14 @@
1
+ import { defineBundledChannelEntry } from "openclaw/plugin-sdk/channel-entry-contract";
2
+ //#region extensions/raft/index.ts
3
+ var raft_default = defineBundledChannelEntry({
4
+ id: "raft",
5
+ name: "Raft",
6
+ description: "Raft CLI wake bridge channel plugin",
7
+ importMetaUrl: import.meta.url,
8
+ plugin: {
9
+ specifier: "./channel-plugin-api.js",
10
+ exportName: "raftPlugin"
11
+ }
12
+ });
13
+ //#endregion
14
+ export { raft_default as default };
@@ -0,0 +1,125 @@
1
+ import { createAccountListHelpers, resolveMergedAccountConfig } from "openclaw/plugin-sdk/account-helpers";
2
+ import { detectBinary } from "openclaw/plugin-sdk/setup-tools";
3
+ import { DEFAULT_ACCOUNT_ID, normalizeAccountId } from "openclaw/plugin-sdk/account-id";
4
+ import { normalizeOptionalString } from "openclaw/plugin-sdk/string-coerce-runtime";
5
+ import { createDetectedBinaryStatus, createPatchedAccountSetupAdapter, formatDocsLink, setSetupChannelEnabled } from "openclaw/plugin-sdk/setup";
6
+ //#region extensions/raft/src/accounts.ts
7
+ const RAFT_CHANNEL_ID = "raft";
8
+ const { listAccountIds, resolveDefaultAccountId } = createAccountListHelpers(RAFT_CHANNEL_ID, {
9
+ normalizeAccountId,
10
+ implicitDefaultAccount: {
11
+ channelKeys: ["profile"],
12
+ envVars: ["RAFT_PROFILE"]
13
+ }
14
+ });
15
+ const listRaftAccountIds = listAccountIds;
16
+ const resolveDefaultRaftAccountId = resolveDefaultAccountId;
17
+ function resolveRaftConfig(cfg) {
18
+ return cfg.channels?.[RAFT_CHANNEL_ID];
19
+ }
20
+ function resolveRaftAccount(params) {
21
+ const accountId = normalizeAccountId(params.accountId ?? resolveDefaultRaftAccountId(params.cfg));
22
+ const channel = resolveRaftConfig(params.cfg);
23
+ const merged = resolveMergedAccountConfig({
24
+ channelConfig: channel,
25
+ accounts: channel?.accounts,
26
+ accountId,
27
+ omitKeys: ["defaultAccount"],
28
+ normalizeAccountId
29
+ });
30
+ const configuredProfile = normalizeOptionalString(merged.profile);
31
+ const envProfile = accountId === DEFAULT_ACCOUNT_ID ? normalizeOptionalString(process.env.RAFT_PROFILE) : void 0;
32
+ const profile = configuredProfile ?? envProfile ?? null;
33
+ return {
34
+ accountId,
35
+ name: normalizeOptionalString(merged.name),
36
+ enabled: channel?.enabled !== false && merged.enabled !== false,
37
+ configured: Boolean(profile),
38
+ profile
39
+ };
40
+ }
41
+ //#endregion
42
+ //#region extensions/raft/src/setup.ts
43
+ const raftSetupAdapter = createPatchedAccountSetupAdapter({
44
+ channelKey: RAFT_CHANNEL_ID,
45
+ buildPatch: (input) => {
46
+ const profile = normalizeOptionalString(input.profile);
47
+ return profile ? { profile } : {};
48
+ },
49
+ validateInput: ({ cfg, accountId, input }) => {
50
+ if (normalizeOptionalString(input.profile) ?? resolveRaftAccount({
51
+ cfg,
52
+ accountId
53
+ }).profile) return null;
54
+ return "Raft requires a CLI profile.";
55
+ }
56
+ });
57
+ const raftSetupPlugin = {
58
+ id: RAFT_CHANNEL_ID,
59
+ meta: {
60
+ id: RAFT_CHANNEL_ID,
61
+ label: "Raft",
62
+ selectionLabel: "Raft (CLI wake bridge)",
63
+ docsPath: "/channels/raft",
64
+ docsLabel: "raft",
65
+ blurb: "Raft CLI wake bridge for human and agent collaboration.",
66
+ order: 72
67
+ },
68
+ capabilities: { chatTypes: ["direct"] },
69
+ setup: raftSetupAdapter,
70
+ config: {
71
+ listAccountIds: listRaftAccountIds,
72
+ resolveAccount: (cfg, accountId) => resolveRaftAccount({
73
+ cfg,
74
+ accountId
75
+ }),
76
+ defaultAccountId: resolveDefaultRaftAccountId,
77
+ isConfigured: (account) => account.configured,
78
+ isEnabled: (account) => account.enabled
79
+ },
80
+ setupWizard: {
81
+ channel: RAFT_CHANNEL_ID,
82
+ resolveShouldPromptAccountIds: () => false,
83
+ status: createDetectedBinaryStatus({
84
+ channelLabel: "Raft",
85
+ binaryLabel: "raft",
86
+ configuredLabel: "configured",
87
+ unconfiguredLabel: "needs a CLI profile",
88
+ configuredHint: "configured",
89
+ unconfiguredHint: "install and sign in to the Raft CLI",
90
+ configuredScore: 1,
91
+ unconfiguredScore: 4,
92
+ resolveConfigured: ({ cfg, accountId }) => accountId ? resolveRaftAccount({
93
+ cfg,
94
+ accountId
95
+ }).configured : listRaftAccountIds(cfg).some((resolvedAccountId) => resolveRaftAccount({
96
+ cfg,
97
+ accountId: resolvedAccountId
98
+ }).configured),
99
+ resolveBinaryPath: () => "raft",
100
+ detectBinary
101
+ }),
102
+ introNote: {
103
+ title: "Raft setup",
104
+ lines: ["Create a Raft External Agent and sign in with the Raft CLI on this Gateway host.", `Docs: ${formatDocsLink("/channels/raft", "channels/raft")}`]
105
+ },
106
+ credentials: [],
107
+ textInputs: [{
108
+ inputKey: "profile",
109
+ message: "Raft CLI profile",
110
+ currentValue: ({ cfg, accountId }) => resolveRaftAccount({
111
+ cfg,
112
+ accountId
113
+ }).profile ?? void 0,
114
+ validate: ({ value }) => normalizeOptionalString(value) ? void 0 : "Required",
115
+ normalizeValue: ({ value }) => normalizeOptionalString(value) ?? ""
116
+ }],
117
+ completionNote: {
118
+ title: "Raft next steps",
119
+ lines: ["Restart the Gateway, then send a Raft message to wake the agent.", `Docs: ${formatDocsLink("/channels/raft", "channels/raft")}`]
120
+ },
121
+ disable: (cfg) => setSetupChannelEnabled(cfg, RAFT_CHANNEL_ID, false)
122
+ }
123
+ };
124
+ //#endregion
125
+ export { resolveRaftAccount as a, resolveDefaultRaftAccountId as i, RAFT_CHANNEL_ID as n, listRaftAccountIds as r, raftSetupPlugin as t };
@@ -0,0 +1,11 @@
1
+ import { defineBundledChannelSetupEntry } from "openclaw/plugin-sdk/channel-entry-contract";
2
+ //#region extensions/raft/setup-entry.ts
3
+ var setup_entry_default = defineBundledChannelSetupEntry({
4
+ importMetaUrl: import.meta.url,
5
+ plugin: {
6
+ specifier: "./setup-plugin-api.js",
7
+ exportName: "raftSetupPlugin"
8
+ }
9
+ });
10
+ //#endregion
11
+ export { setup_entry_default as default };
@@ -0,0 +1,2 @@
1
+ import { t as raftSetupPlugin } from "./setup-BTG_4kEW.js";
2
+ export { raftSetupPlugin };
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Colin McDonnell
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.