@openclaw/whatsapp 2026.9.3 → 2026.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (269) hide show
  1. package/assets/activity.svg +40 -0
  2. package/assets/icon.png +0 -0
  3. package/dist/{accounts-CiKHiuEe.js → .setup/accounts-D_NGDjCx.mjs} +2 -2
  4. package/dist/{action-runtime-CRZLhN3f.js → .setup/action-runtime-DZZFamfl.mjs} +3 -3
  5. package/dist/{active-listener-BEjWsCNM.js → .setup/active-listener-CDjoX9QR.mjs} +2 -2
  6. package/dist/{agent-tools-login-B-2qZPzc.js → .setup/agent-tools-login-B6MAs75N.mjs} +2 -2
  7. package/dist/{approval-handler.runtime-DGJEaoqh.js → .setup/approval-handler.runtime-C0hzmMSj.mjs} +12 -12
  8. package/dist/{approval-reactions-DSFH6Mtx.js → .setup/approval-reactions-BnXw-UZI.mjs} +13 -13
  9. package/dist/{auth-store-ZWaclAbd.js → .setup/auth-store-Dh8a3cba.mjs} +5 -5
  10. package/dist/{channel-BeBrHPVa.js → .setup/channel-CSclZYjU.mjs} +21 -29
  11. package/dist/{channel-react-action-CHeJSG9F.js → .setup/channel-react-action-1iBiEnq7.mjs} +5 -5
  12. package/dist/.setup/channel.runtime-ddGY37w8.mjs +16 -0
  13. package/dist/.setup/channel.setup-CqUl8COe.mjs +5 -0
  14. package/dist/{connection-controller-DNp6U1NN.js → .setup/connection-controller-C60mU7j7.mjs} +5 -5
  15. package/dist/{connection-controller-runtime-context-DG0tuYuw.js → .setup/connection-controller-runtime-context-hgLJoRc8.mjs} +1 -1
  16. package/dist/{directory-config-CoWFw1zn.js → .setup/directory-config-BHPoBklt.mjs} +8 -8
  17. package/dist/{group-session-key-BmVDSPr1.js → .setup/group-session-key-D22hYMdE.mjs} +5 -5
  18. package/dist/.setup/legacy-session-surface-api-B2szjq4r.mjs +2 -0
  19. package/dist/{login-6j2iP9nR.js → .setup/login-2dmd1TfE.mjs} +5 -5
  20. package/dist/{login-qr-DRFgI6k1.js → .setup/login-qr-CgKtO_ef.mjs} +6 -6
  21. package/dist/{monitor-DNGfO3k0.js → .setup/monitor-BblvzLpX.mjs} +72 -89
  22. package/dist/.setup/normalize-DdsROMMa.mjs +2 -0
  23. package/dist/{normalize-target-CugRyONv.js → .setup/normalize-target-BGra1ZnM.mjs} +8 -30
  24. package/dist/{question-reactions-bbe0Qnjn.js → .setup/question-reactions-D3Zq9Gbn.mjs} +2 -2
  25. package/dist/{resolve-outbound-target-1GqbT1uX.js → .setup/resolve-outbound-target-C2eUvsTc.mjs} +1 -1
  26. package/dist/{send-BDDGPxav.js → .setup/send-C6jDmcL9.mjs} +7 -7
  27. package/dist/{send-api-C_Zn4Ij-.js → .setup/send-api-B4DOt2RJ.mjs} +7 -7
  28. package/dist/{session.runtime-Nsqaehbd.js → .setup/session.runtime-DcJuO42v.mjs} +1 -1
  29. package/dist/{setup-finalize-Bp-4QnVw.js → .setup/setup-finalize-BYEgU0hb.mjs} +6 -6
  30. package/dist/.setup/setup-plugin-api-CXfU-7vN.mjs +3 -0
  31. package/dist/{setup-surface-B5UnuLT_.js → .setup/setup-surface-Cd3wN5HD.mjs} +4 -4
  32. package/dist/{shared-D6cUWXiq.js → .setup/shared-C9OEtKgc.mjs} +48 -60
  33. package/dist/{socket-close-B3X9uerq.js → .setup/socket-close-CCVSFufF.mjs} +4 -4
  34. package/dist/{text-runtime-DyfmcATV.js → .setup/text-runtime-CHl0iPYe.mjs} +1 -1
  35. package/dist/action-runtime-api.js +1 -1
  36. package/dist/action-runtime.runtime.js +1 -1
  37. package/dist/agent-tools-api.js +4 -4
  38. package/dist/api.js +15 -15
  39. package/dist/auth-presence.js +1 -1
  40. package/dist/channel-config-api.js +1 -1
  41. package/dist/channel-plugin-api.js +1 -1
  42. package/dist/contract-api.js +5 -5
  43. package/dist/directory-contract-api.js +1 -1
  44. package/dist/doctor-contract-api.js +2 -2
  45. package/dist/legacy-session-surface-api.js +1 -1
  46. package/dist/light-runtime-api.js +4 -4
  47. package/dist/login-qr-runtime.js +1 -1
  48. package/dist/runtime-api.js +13 -13
  49. package/dist/runtime-setter-api.js +1 -1
  50. package/dist/security-contract-api.js +1 -1
  51. package/dist/setup-entry.js +3 -2
  52. package/dist/setup-plugin-api.js +1 -1
  53. package/node_modules/audio-decode/node_modules/@thi.ng/bitstream/README.md +1 -1
  54. package/node_modules/audio-decode/node_modules/@thi.ng/bitstream/package.json +5 -5
  55. package/node_modules/audio-decode/node_modules/@thi.ng/errors/README.md +1 -1
  56. package/node_modules/audio-decode/node_modules/@thi.ng/errors/package.json +5 -5
  57. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/dist/flac-decoder.min.js +1 -1
  58. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/dist/flac-decoder.min.js.map +1 -1
  59. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/package.json +1 -1
  60. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/src/FLACDecoder.js +6 -6
  61. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/flac/src/FLACDecoderWebWorker.js +2 -2
  62. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/dist/opus-ml-decoder.min.js +11603 -11540
  63. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/dist/opus-ml-decoder.min.js.map +1 -1
  64. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/package.json +1 -1
  65. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/src/EmscriptenWasm.js +0 -0
  66. package/node_modules/audio-decode/node_modules/@wasm-audio-decoders/opus-ml/types.d.ts +1 -5
  67. package/node_modules/audio-decode/node_modules/audio-type/audio-type.js +156 -2
  68. package/node_modules/audio-decode/node_modules/audio-type/package.json +23 -2
  69. package/node_modules/audio-decode/node_modules/audio-type/readme.md +40 -2
  70. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/README.md +1 -1
  71. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/dist/ogg-opus-decoder.min.js +3 -3
  72. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/dist/ogg-opus-decoder.min.js.map +1 -1
  73. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/dist/ogg-opus-decoder.opus-ml.min.js +0 -0
  74. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/dist/ogg-opus-decoder.opus-ml.min.js.map +1 -1
  75. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/package.json +8 -8
  76. package/node_modules/audio-decode/node_modules/ogg-opus-decoder/src/OggOpusDecoder.js +1 -1
  77. package/node_modules/audio-decode/node_modules/opus-decoder/README.md +1 -1
  78. package/node_modules/audio-decode/node_modules/opus-decoder/dist/opus-decoder.min.js +3 -3
  79. package/node_modules/audio-decode/node_modules/opus-decoder/dist/opus-decoder.min.js.map +1 -1
  80. package/node_modules/audio-decode/node_modules/opus-decoder/package.json +1 -1
  81. package/node_modules/audio-decode/node_modules/opus-decoder/types.d.ts +1 -5
  82. package/node_modules/baileys/node_modules/protobufjs/README.md +24 -17
  83. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.js +124 -14
  84. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  85. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  86. package/node_modules/baileys/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  87. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.js +63 -9
  88. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  89. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  90. package/node_modules/baileys/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  91. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.js +133 -18
  92. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  93. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  94. package/node_modules/baileys/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  95. package/node_modules/baileys/node_modules/protobufjs/ext/descriptor.generated.d.ts +7 -0
  96. package/node_modules/baileys/node_modules/protobufjs/ext/descriptor.js +24 -0
  97. package/node_modules/baileys/node_modules/protobufjs/ext/protojson.js +14 -4
  98. package/node_modules/baileys/node_modules/protobufjs/ext/textformat.js +8 -4
  99. package/node_modules/baileys/node_modules/protobufjs/google/protobuf/descriptor.json +20 -1
  100. package/node_modules/baileys/node_modules/protobufjs/google/protobuf/descriptor.proto +14 -1
  101. package/node_modules/baileys/node_modules/protobufjs/index.d.ts +12 -0
  102. package/node_modules/baileys/node_modules/protobufjs/package.json +1 -1
  103. package/node_modules/baileys/node_modules/protobufjs/src/decoder.js +31 -2
  104. package/node_modules/baileys/node_modules/protobufjs/src/enum.js +10 -0
  105. package/node_modules/baileys/node_modules/protobufjs/src/object.js +5 -2
  106. package/node_modules/baileys/node_modules/protobufjs/src/parse.js +9 -4
  107. package/node_modules/baileys/node_modules/protobufjs/src/reader.js +61 -7
  108. package/node_modules/baileys/node_modules/protobufjs/src/type.js +10 -0
  109. package/node_modules/baileys/node_modules/protobufjs/src/wrappers.js +5 -1
  110. package/node_modules/typebox/build/compile/validator.d.mts +1 -1
  111. package/node_modules/typebox/build/compile/validator.mjs +1 -1
  112. package/node_modules/typebox/build/format/idna/idn-hostname.mjs +7 -5
  113. package/node_modules/typebox/build/format/iri.mjs +5 -1
  114. package/node_modules/typebox/build/guard/emit.mjs +2 -4
  115. package/node_modules/typebox/build/guard/guard.mjs +6 -18
  116. package/node_modules/typebox/build/guard/string.mjs +16 -24
  117. package/node_modules/typebox/build/schema/build.mjs +2 -2
  118. package/node_modules/typebox/build/schema/check.mjs +1 -1
  119. package/node_modules/typebox/build/schema/compile.d.mts +3 -2
  120. package/node_modules/typebox/build/schema/compile.mjs +8 -8
  121. package/node_modules/typebox/build/schema/engine/_context.d.mts +6 -7
  122. package/node_modules/typebox/build/schema/engine/_context.mjs +23 -15
  123. package/node_modules/typebox/build/schema/engine/_functions.d.mts +2 -2
  124. package/node_modules/typebox/build/schema/engine/_functions.mjs +1 -1
  125. package/node_modules/typebox/build/schema/engine/_reducer.d.mts +3 -3
  126. package/node_modules/typebox/build/schema/engine/_refine.d.mts +5 -5
  127. package/node_modules/typebox/build/schema/engine/_refine.mjs +4 -7
  128. package/node_modules/typebox/build/schema/engine/_stack.d.mts +34 -16
  129. package/node_modules/typebox/build/schema/engine/_stack.mjs +148 -104
  130. package/node_modules/typebox/build/schema/engine/additionalItems.d.mts +4 -4
  131. package/node_modules/typebox/build/schema/engine/additionalProperties.d.mts +8 -8
  132. package/node_modules/typebox/build/schema/engine/additionalProperties.mjs +26 -18
  133. package/node_modules/typebox/build/schema/engine/allOf.d.mts +4 -4
  134. package/node_modules/typebox/build/schema/engine/allOf.mjs +3 -3
  135. package/node_modules/typebox/build/schema/engine/anyOf.d.mts +4 -4
  136. package/node_modules/typebox/build/schema/engine/anyOf.mjs +5 -10
  137. package/node_modules/typebox/build/schema/engine/boolean.d.mts +4 -4
  138. package/node_modules/typebox/build/schema/engine/boolean.mjs +2 -6
  139. package/node_modules/typebox/build/schema/engine/const.d.mts +4 -4
  140. package/node_modules/typebox/build/schema/engine/const.mjs +2 -6
  141. package/node_modules/typebox/build/schema/engine/contains.d.mts +4 -4
  142. package/node_modules/typebox/build/schema/engine/contains.mjs +2 -6
  143. package/node_modules/typebox/build/schema/engine/dependencies.d.mts +4 -4
  144. package/node_modules/typebox/build/schema/engine/dependencies.mjs +3 -6
  145. package/node_modules/typebox/build/schema/engine/dependentRequired.d.mts +4 -4
  146. package/node_modules/typebox/build/schema/engine/dependentRequired.mjs +2 -6
  147. package/node_modules/typebox/build/schema/engine/dependentSchemas.d.mts +4 -4
  148. package/node_modules/typebox/build/schema/engine/dynamicRef.d.mts +4 -4
  149. package/node_modules/typebox/build/schema/engine/dynamicRef.mjs +11 -7
  150. package/node_modules/typebox/build/schema/engine/enum.d.mts +4 -4
  151. package/node_modules/typebox/build/schema/engine/enum.mjs +2 -6
  152. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.d.mts +4 -4
  153. package/node_modules/typebox/build/schema/engine/exclusiveMaximum.mjs +2 -6
  154. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.d.mts +4 -4
  155. package/node_modules/typebox/build/schema/engine/exclusiveMinimum.mjs +2 -6
  156. package/node_modules/typebox/build/schema/engine/format.d.mts +4 -4
  157. package/node_modules/typebox/build/schema/engine/format.mjs +2 -6
  158. package/node_modules/typebox/build/schema/engine/if.d.mts +4 -4
  159. package/node_modules/typebox/build/schema/engine/if.mjs +7 -15
  160. package/node_modules/typebox/build/schema/engine/items.d.mts +4 -4
  161. package/node_modules/typebox/build/schema/engine/items.mjs +1 -1
  162. package/node_modules/typebox/build/schema/engine/maxContains.d.mts +4 -4
  163. package/node_modules/typebox/build/schema/engine/maxContains.mjs +2 -6
  164. package/node_modules/typebox/build/schema/engine/maxItems.d.mts +4 -4
  165. package/node_modules/typebox/build/schema/engine/maxItems.mjs +2 -6
  166. package/node_modules/typebox/build/schema/engine/maxLength.d.mts +4 -4
  167. package/node_modules/typebox/build/schema/engine/maxLength.mjs +2 -6
  168. package/node_modules/typebox/build/schema/engine/maxProperties.d.mts +4 -4
  169. package/node_modules/typebox/build/schema/engine/maxProperties.mjs +2 -6
  170. package/node_modules/typebox/build/schema/engine/maximum.d.mts +4 -4
  171. package/node_modules/typebox/build/schema/engine/maximum.mjs +2 -6
  172. package/node_modules/typebox/build/schema/engine/minContains.d.mts +4 -4
  173. package/node_modules/typebox/build/schema/engine/minContains.mjs +2 -6
  174. package/node_modules/typebox/build/schema/engine/minItems.d.mts +5 -5
  175. package/node_modules/typebox/build/schema/engine/minItems.mjs +2 -6
  176. package/node_modules/typebox/build/schema/engine/minLength.d.mts +4 -4
  177. package/node_modules/typebox/build/schema/engine/minLength.mjs +2 -6
  178. package/node_modules/typebox/build/schema/engine/minProperties.d.mts +4 -4
  179. package/node_modules/typebox/build/schema/engine/minProperties.mjs +2 -6
  180. package/node_modules/typebox/build/schema/engine/minimum.d.mts +4 -4
  181. package/node_modules/typebox/build/schema/engine/minimum.mjs +2 -6
  182. package/node_modules/typebox/build/schema/engine/multipleOf.d.mts +4 -4
  183. package/node_modules/typebox/build/schema/engine/multipleOf.mjs +2 -6
  184. package/node_modules/typebox/build/schema/engine/not.d.mts +4 -4
  185. package/node_modules/typebox/build/schema/engine/not.mjs +4 -8
  186. package/node_modules/typebox/build/schema/engine/oneOf.d.mts +4 -4
  187. package/node_modules/typebox/build/schema/engine/oneOf.mjs +6 -11
  188. package/node_modules/typebox/build/schema/engine/pattern.d.mts +4 -4
  189. package/node_modules/typebox/build/schema/engine/pattern.mjs +3 -7
  190. package/node_modules/typebox/build/schema/engine/patternProperties.d.mts +4 -4
  191. package/node_modules/typebox/build/schema/engine/patternProperties.mjs +1 -1
  192. package/node_modules/typebox/build/schema/engine/prefixItems.d.mts +4 -4
  193. package/node_modules/typebox/build/schema/engine/prefixItems.mjs +1 -1
  194. package/node_modules/typebox/build/schema/engine/properties.d.mts +4 -4
  195. package/node_modules/typebox/build/schema/engine/properties.mjs +1 -1
  196. package/node_modules/typebox/build/schema/engine/propertyNames.d.mts +4 -4
  197. package/node_modules/typebox/build/schema/engine/propertyNames.mjs +4 -10
  198. package/node_modules/typebox/build/schema/engine/recursiveRef.d.mts +4 -4
  199. package/node_modules/typebox/build/schema/engine/recursiveRef.mjs +11 -7
  200. package/node_modules/typebox/build/schema/engine/ref.d.mts +4 -4
  201. package/node_modules/typebox/build/schema/engine/ref.mjs +19 -15
  202. package/node_modules/typebox/build/schema/engine/required.d.mts +4 -4
  203. package/node_modules/typebox/build/schema/engine/required.mjs +2 -6
  204. package/node_modules/typebox/build/schema/engine/schema.d.mts +7 -7
  205. package/node_modules/typebox/build/schema/engine/schema.mjs +137 -133
  206. package/node_modules/typebox/build/schema/engine/type.d.mts +4 -4
  207. package/node_modules/typebox/build/schema/engine/type.mjs +2 -6
  208. package/node_modules/typebox/build/schema/engine/unevaluatedItems.d.mts +4 -4
  209. package/node_modules/typebox/build/schema/engine/unevaluatedItems.mjs +5 -9
  210. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.d.mts +4 -4
  211. package/node_modules/typebox/build/schema/engine/unevaluatedProperties.mjs +5 -9
  212. package/node_modules/typebox/build/schema/engine/uniqueItems.d.mts +4 -4
  213. package/node_modules/typebox/build/schema/engine/uniqueItems.mjs +2 -6
  214. package/node_modules/typebox/build/schema/errors.d.mts +2 -2
  215. package/node_modules/typebox/build/schema/errors.mjs +8 -14
  216. package/node_modules/typebox/build/schema/intern/index.d.mts +1 -0
  217. package/node_modules/typebox/build/schema/intern/index.mjs +1 -0
  218. package/node_modules/typebox/build/schema/intern/intern.d.mts +11 -0
  219. package/node_modules/typebox/build/schema/intern/intern.mjs +293 -0
  220. package/node_modules/typebox/build/schema/meta/draft_2019_09.d.mts +2 -0
  221. package/node_modules/typebox/build/schema/meta/draft_2019_09.mjs +288 -0
  222. package/node_modules/typebox/build/schema/meta/draft_2020_12.d.mts +2 -0
  223. package/node_modules/typebox/build/schema/meta/draft_2020_12.mjs +300 -0
  224. package/node_modules/typebox/build/schema/meta/draft_3.d.mts +2 -0
  225. package/node_modules/typebox/build/schema/meta/draft_3.mjs +143 -0
  226. package/node_modules/typebox/build/schema/meta/draft_4.d.mts +2 -0
  227. package/node_modules/typebox/build/schema/meta/draft_4.mjs +149 -0
  228. package/node_modules/typebox/build/schema/meta/draft_6.d.mts +2 -0
  229. package/node_modules/typebox/build/schema/meta/draft_6.mjs +155 -0
  230. package/node_modules/typebox/build/schema/meta/draft_7.d.mts +2 -0
  231. package/node_modules/typebox/build/schema/meta/draft_7.mjs +172 -0
  232. package/node_modules/typebox/build/schema/meta/index.d.mts +2 -0
  233. package/node_modules/typebox/build/schema/meta/index.mjs +2 -0
  234. package/node_modules/typebox/build/schema/meta/meta.d.mts +9 -0
  235. package/node_modules/typebox/build/schema/meta/meta.mjs +15 -0
  236. package/node_modules/typebox/build/schema/meta/schema.d.mts +6 -0
  237. package/node_modules/typebox/build/schema/meta/schema.mjs +1 -0
  238. package/node_modules/typebox/build/schema/parse.d.mts +1 -0
  239. package/node_modules/typebox/build/schema/parse.mjs +10 -5
  240. package/node_modules/typebox/build/schema/resolve/resolve.d.mts +8 -3
  241. package/node_modules/typebox/build/schema/resolve/resolve.mjs +268 -139
  242. package/node_modules/typebox/build/schema/schema.d.mts +2 -0
  243. package/node_modules/typebox/build/schema/schema.mjs +2 -0
  244. package/node_modules/typebox/build/value/errors/errors.d.mts +2 -12
  245. package/node_modules/typebox/build/value/errors/errors.mjs +2 -7
  246. package/node_modules/typebox/package.json +1 -1
  247. package/node_modules/typebox/readme.md +59 -89
  248. package/openclaw.plugin.json +13 -0
  249. package/package.json +7 -5
  250. package/dist/channel.runtime-qi6Zbi9p.js +0 -55
  251. package/dist/channel.setup-DhuZ51Kg.js +0 -14
  252. package/dist/normalize-C7Hkc_vE.js +0 -2
  253. /package/dist/{account-ids-CB5SOWjc.js → .setup/account-ids-CB5SOWjc.mjs} +0 -0
  254. /package/dist/{audio-preflight.runtime-C_glQhZY.js → .setup/audio-preflight.runtime-C_glQhZY.mjs} +0 -0
  255. /package/dist/{command-policy-BIOSHySD.js → .setup/command-policy-BIOSHySD.mjs} +0 -0
  256. /package/dist/{config-schema-BYA6e_Ii.js → .setup/config-schema-BYA6e_Ii.mjs} +0 -0
  257. /package/dist/{constants-C7m81BNe.js → .setup/constants-C7m81BNe.mjs} +0 -0
  258. /package/dist/{creds-files-Drg3usj1.js → .setup/creds-files-Drg3usj1.mjs} +0 -0
  259. /package/dist/{doctor-BPb-SjdE.js → .setup/doctor-BPb-SjdE.mjs} +0 -0
  260. /package/dist/{group-config-path-BGyzT9Lg.js → .setup/group-config-path-BGyzT9Lg.mjs} +0 -0
  261. /package/dist/{group-session-contract-DDnZSsJ1.js → .setup/group-session-contract-DDnZSsJ1.mjs} +0 -0
  262. /package/dist/{reply-resolver.runtime-Ded8D58Y.js → .setup/reply-resolver.runtime-Ded8D58Y.mjs} +0 -0
  263. /package/dist/{rolldown-runtime-D7D4PA-g.js → .setup/rolldown-runtime-D7D4PA-g.mjs} +0 -0
  264. /package/dist/{runtime-BLlToOi6.js → .setup/runtime-BLlToOi6.mjs} +0 -0
  265. /package/dist/{runtime-group-policy-DeSRFXEV.js → .setup/runtime-group-policy-DeSRFXEV.mjs} +0 -0
  266. /package/dist/{security-contract-nAzD945y.js → .setup/security-contract-nAzD945y.mjs} +0 -0
  267. /package/dist/{session-contract-DMTm6Q_L.js → .setup/session-contract-DMTm6Q_L.mjs} +0 -0
  268. /package/dist/{session-errors-JuazczrA.js → .setup/session-errors-JuazczrA.mjs} +0 -0
  269. /package/dist/{targets-runtime-RBjx3pg_.js → .setup/targets-runtime-RBjx3pg_.mjs} +0 -0
@@ -1,6 +1,6 @@
1
- import * as S from '../types/index.mjs';
2
- import { Stack } from './_stack.mjs';
1
+ import * as Schema from '../types/index.mjs';
2
+ import * as Stack from './_stack.mjs';
3
3
  import { BuildContext, CheckContext, ErrorContext } from './_context.mjs';
4
- export declare function BuildRefine(_stack: Stack, _context: BuildContext, schema: S.XRefine, value: string): string;
5
- export declare function CheckRefine(_stack: Stack, _context: CheckContext, schema: S.XRefine, value: unknown): boolean;
6
- export declare function ErrorRefine(_stack: Stack, context: ErrorContext, schemaPath: string, instancePath: string, schema: S.XRefine, value: unknown): boolean;
4
+ export declare function BuildRefine(_stack: Stack.XStack, _context: BuildContext, schema: Schema.XRefine, value: string): string;
5
+ export declare function CheckRefine(_stack: Stack.XStack, _context: CheckContext, schema: Schema.XRefine, value: unknown): boolean;
6
+ export declare function ErrorRefine(_stack: Stack.XStack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XRefine, value: unknown): boolean;
@@ -1,11 +1,11 @@
1
1
  // deno-fmt-ignore-file
2
- import * as V from './_externals.mjs';
2
+ import * as Externals from './_externals.mjs';
3
3
  import { EmitGuard as E, Guard as G } from '../../guard/index.mjs';
4
4
  // ------------------------------------------------------------------
5
5
  // Build
6
6
  // ------------------------------------------------------------------
7
7
  export function BuildRefine(_stack, _context, schema, value) {
8
- const refinements = V.CreateVariable(schema['~refine'].map((refinement) => refinement));
8
+ const refinements = Externals.CreateVariable(schema['~refine'].map((refinement) => refinement));
9
9
  return E.Every(refinements, E.Constant(0), ['refinement', '_'], E.Call(E.Member('refinement', 'check'), [value]));
10
10
  }
11
11
  // ------------------------------------------------------------------
@@ -19,11 +19,8 @@ export function CheckRefine(_stack, _context, schema, value) {
19
19
  // ------------------------------------------------------------------
20
20
  export function ErrorRefine(_stack, context, schemaPath, instancePath, schema, value) {
21
21
  return G.EveryAll(schema['~refine'], 0, (refinement, index) => {
22
- return refinement.check(value) || context.AddError({
23
- keyword: '~refine',
24
- schemaPath,
25
- instancePath,
26
- params: { index, message: refinement.error(value) },
22
+ return refinement.check(value) || context.AddError('~refine', schemaPath, instancePath, {
23
+ index, message: refinement.error(value)
27
24
  });
28
25
  });
29
26
  }
@@ -1,18 +1,36 @@
1
1
  import * as Schema from '../types/index.mjs';
2
- export declare class Stack {
3
- #private;
4
- private readonly context;
5
- private readonly schema;
6
- private readonly ids;
7
- private readonly anchors;
8
- private readonly recursiveAnchors;
9
- private readonly dynamicAnchors;
10
- constructor(context: Record<PropertyKey, Schema.XSchema>, schema: Schema.XSchema);
11
- BaseURL(): URL;
12
- Base(): Schema.XSchemaObject;
13
- Push(schema: Schema.XSchema): void;
14
- Pop(schema: Schema.XSchema): void;
15
- Ref(ref: Schema.XRef): Schema.XSchema | undefined;
16
- RecursiveRef(recursiveRef: Schema.XRecursiveRef): Schema.XSchema | undefined;
17
- DynamicRef(dynamicRef: Schema.XDynamicRef): Schema.XSchema | undefined;
2
+ export declare const DefaultUri = "urn:typebox:root";
3
+ export interface XStack {
4
+ /** The schema context. */
5
+ readonly context: Record<string, Schema.XSchema>;
6
+ /** The entry schema. */
7
+ readonly schema: Schema.XSchema;
8
+ /** Visited $id schemas, kept only to detect resource re-entry (see resolve.ts FindResolvedResource). */
9
+ readonly ids: Schema.XId[];
10
+ /** Nearest enclosing $id schema, used as the root for local pointer resolution. */
11
+ readonly lexicalSchema: Schema.XSchema;
12
+ /** First $recursiveAnchor: true schema seen on the path. */
13
+ readonly recursiveAnchor: Schema.XRecursiveAnchor | undefined;
14
+ /** Dynamic anchors visible at this point in the traversal. */
15
+ readonly dynamicAnchors: Schema.XDynamicAnchor[];
16
+ /** Lexical base URL, used to resolve relative $id and $ref values within the current schema. */
17
+ readonly lexicalBase: string;
18
+ /** Base URL of the current resource, reset each time a new resource $id is entered. */
19
+ readonly resourceBase: string;
20
+ /** Base URL that $ref values resolve against. */
21
+ readonly referenceBase: string;
22
+ /** Resource entry point bookkeeping: schema -> the base/root to apply when that schema is next pushed. */
23
+ readonly resourceEntries: Map<Schema.XSchemaObject, {
24
+ base: string;
25
+ root: Schema.XSchemaObject;
26
+ }>;
27
+ /** True while referenceBase should track resourceBase rather than lexicalBase. */
28
+ readonly useResourceBaseForReference: boolean;
29
+ /** True until the next $id schema is entered, marking it as a fresh resource root. */
30
+ readonly pendingResource: boolean;
31
+ /** True once traversal has entered a retrieved or legacy resource. */
32
+ readonly enteredResource: boolean;
18
33
  }
34
+ export declare function NextUri(ref: string, base: string): URL;
35
+ export declare function Stack(context: Record<string, Schema.XSchema>, schema: Schema.XSchema): XStack;
36
+ export declare function NextStack(stack: XStack, schema: Schema.XSchema): XStack;
@@ -1,106 +1,150 @@
1
- // deno-fmt-ignore-file
2
- var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
3
- if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
4
- if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
5
- return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
6
- };
7
- var _Stack_instances, _Stack_PushResourceAnchors, _Stack_PopResourceAnchors;
1
+ import { Guard } from '../../guard/index.mjs';
8
2
  import * as Schema from '../types/index.mjs';
9
- import { Guard as G } from '../../guard/index.mjs';
10
- import { Resolve } from '../resolve/index.mjs';
11
- export class Stack {
12
- constructor(context, schema) {
13
- _Stack_instances.add(this);
14
- this.context = context;
15
- this.schema = schema;
16
- this.ids = [];
17
- this.anchors = [];
18
- this.recursiveAnchors = [];
19
- this.dynamicAnchors = [];
20
- }
21
- // ----------------------------------------------------------------
22
- // Base
23
- // ----------------------------------------------------------------
24
- BaseURL() {
25
- return this.ids.reduce((result, schema) => new URL(schema.$id, result), Resolve.DefaultBase);
26
- }
27
- Base() {
28
- return this.ids[this.ids.length - 1] ?? this.schema;
29
- }
30
- // ----------------------------------------------------------------
31
- // Stack
32
- // ----------------------------------------------------------------
33
- Push(schema) {
34
- if (!Schema.IsSchemaObject(schema))
35
- return;
36
- if (Schema.IsId(schema)) {
37
- this.ids.push(schema);
38
- __classPrivateFieldGet(this, _Stack_instances, "m", _Stack_PushResourceAnchors).call(this, schema);
39
- }
40
- if (Schema.IsAnchor(schema))
41
- this.anchors.push(schema);
42
- if (Schema.IsRecursiveAnchorTrue(schema))
43
- this.recursiveAnchors.push(schema);
44
- if (Schema.IsDynamicAnchor(schema))
45
- this.dynamicAnchors.push(schema);
46
- }
47
- Pop(schema) {
48
- if (!Schema.IsSchemaObject(schema))
49
- return;
50
- if (Schema.IsId(schema)) {
51
- this.ids.pop();
52
- __classPrivateFieldGet(this, _Stack_instances, "m", _Stack_PopResourceAnchors).call(this, schema);
53
- }
54
- if (Schema.IsAnchor(schema))
55
- this.anchors.pop();
56
- if (Schema.IsRecursiveAnchorTrue(schema))
57
- this.recursiveAnchors.pop();
58
- if (Schema.IsDynamicAnchor(schema))
59
- this.dynamicAnchors.pop();
60
- }
61
- // ----------------------------------------------------------------
62
- // Ref
63
- // ----------------------------------------------------------------
64
- Ref(ref) {
65
- const root = this.schema;
66
- return !ref.$ref.startsWith('#')
67
- ? Resolve.Ref(this.context, root, ref.$ref)
68
- : Resolve.Ref(this.context, this.Base(), ref.$ref);
69
- }
70
- // ----------------------------------------------------------------
71
- // RecursiveRef
72
- // ----------------------------------------------------------------
73
- RecursiveRef(recursiveRef) {
74
- return Schema.IsRecursiveAnchorTrue(this.Base())
75
- ? Resolve.Ref(this.context, this.recursiveAnchors[0], recursiveRef.$recursiveRef)
76
- : Resolve.Ref(this.context, this.Base(), recursiveRef.$recursiveRef);
77
- }
78
- // ----------------------------------------------------------------
79
- // DynamicRef
80
- // ----------------------------------------------------------------
81
- DynamicRef(dynamicRef) {
82
- const root = this.schema;
83
- return Resolve.DynamicRef(this.context, root, this.Base(), dynamicRef, this.dynamicAnchors);
84
- }
85
- }
86
- _Stack_instances = new WeakSet(), _Stack_PushResourceAnchors = function _Stack_PushResourceAnchors(schema, isRoot = true) {
87
- if (!Schema.IsSchemaObject(schema))
88
- return;
89
- const current = schema;
90
- if (!isRoot && Schema.IsId(current))
91
- return;
92
- if (!isRoot && Schema.IsDynamicAnchor(current))
93
- this.dynamicAnchors.push(current);
94
- for (const key of G.Keys(current))
95
- __classPrivateFieldGet(this, _Stack_instances, "m", _Stack_PushResourceAnchors).call(this, current[key], false);
96
- }, _Stack_PopResourceAnchors = function _Stack_PopResourceAnchors(schema, isRoot = true) {
3
+ // ------------------------------------------------------------------
4
+ // DefaultUri
5
+ // ------------------------------------------------------------------
6
+ export const DefaultUri = 'urn:typebox:root';
7
+ // ------------------------------------------------------------------
8
+ // NextUri
9
+ //
10
+ // Resolves a relative or absolute ref against a base URI or URN.
11
+ // Hierarchical bases (http, https, etc.) resolve using the normal
12
+ // URL rules. URN bases have no path to resolve against, so the ref
13
+ // is appended after the base's last ':' segment instead.
14
+ // ------------------------------------------------------------------
15
+ export function NextUri(ref, base) {
16
+ return (URL.canParse(ref, base)) ? new URL(ref, base) : Guard.IsEqual(base, DefaultUri) ? new URL(`${base}:${ref}`) : new URL(`${base.slice(0, base.lastIndexOf(':'))}:${ref}`);
17
+ }
18
+ // ------------------------------------------------------------------
19
+ // Stack
20
+ //
21
+ // Creates the root frame a schema traversal starts from.
22
+ // ------------------------------------------------------------------
23
+ export function Stack(context, schema) {
24
+ const base = Schema.IsSchemaObject(schema) && Schema.IsId(schema) ? NextUri(schema.$id, DefaultUri).href : DefaultUri;
25
+ return {
26
+ context,
27
+ schema,
28
+ lexicalSchema: schema,
29
+ lexicalBase: base,
30
+ resourceBase: base,
31
+ referenceBase: base,
32
+ ids: [],
33
+ useResourceBaseForReference: true,
34
+ recursiveAnchor: undefined,
35
+ dynamicAnchors: [],
36
+ resourceEntries: new Map(),
37
+ pendingResource: true,
38
+ enteredResource: false
39
+ };
40
+ }
41
+ // ------------------------------------------------------------------
42
+ // RegisterResourceAnchors
43
+ //
44
+ // Collects $dynamicAnchor schemas reachable from a resource root,
45
+ // stopping at nested $id boundaries which own their own anchors.
46
+ // ------------------------------------------------------------------
47
+ function RegisterResourceAnchors(anchors, schema, isRoot = true) {
48
+ if (Schema.IsSchemaBoolean(schema))
49
+ return anchors;
50
+ if (Array.isArray(schema))
51
+ return schema.reduce((result, item) => RegisterResourceAnchors(result, item, false), anchors);
97
52
  if (!Schema.IsSchemaObject(schema))
98
- return;
99
- const current = schema;
100
- if (!isRoot && Schema.IsId(current))
101
- return;
102
- if (!isRoot && Schema.IsDynamicAnchor(current))
103
- this.dynamicAnchors.pop();
104
- for (const key of G.Keys(current))
105
- __classPrivateFieldGet(this, _Stack_instances, "m", _Stack_PopResourceAnchors).call(this, current[key], false);
106
- };
53
+ return anchors;
54
+ if (!isRoot && Schema.IsId(schema))
55
+ return anchors;
56
+ const next = !isRoot && Schema.IsDynamicAnchor(schema) ? [...anchors, schema] : anchors;
57
+ return Object.keys(schema).reduce((result, key) => RegisterResourceAnchors(result, schema[key], false), next);
58
+ }
59
+ // ------------------------------------------------------------------
60
+ // ResourceEntry
61
+ //
62
+ // A ref crossing (Resolve.Ref) may have marked `schema` as the entry
63
+ // point of a retrieved/legacy resource. If so the frame resets to
64
+ // that resource's base/root instead of chaining onto the parent.
65
+ // ------------------------------------------------------------------
66
+ function ResourceEntry(stack, schema) {
67
+ return stack.resourceEntries.get(schema);
68
+ }
69
+ function NextEnteredResource(stack, schema) {
70
+ return stack.enteredResource || ResourceEntry(stack, schema) !== undefined;
71
+ }
72
+ // ------------------------------------------------------------------
73
+ // NextStack
74
+ //
75
+ // Each Next* helper below computes one XStack field in isolation from
76
+ // the previous frame and the schema being pushed.
77
+ // ------------------------------------------------------------------
78
+ function IsRelativeId(schema) {
79
+ return !/^[A-Za-z][A-Za-z0-9+.-]*:/.test(schema.$id);
80
+ }
81
+ function NextIds(stack, schema) {
82
+ return Schema.IsId(schema) ? [...stack.ids, schema] : stack.ids;
83
+ }
84
+ function NextRecursiveAnchor(stack, schema) {
85
+ return stack.recursiveAnchor ?? (Schema.IsRecursiveAnchorTrue(schema) ? schema : undefined);
86
+ }
87
+ function NextDynamicAnchors(stack, schema) {
88
+ const registered = Schema.IsId(schema) ? RegisterResourceAnchors(stack.dynamicAnchors, schema) : stack.dynamicAnchors;
89
+ return Schema.IsDynamicAnchor(schema) ? [...registered, schema] : registered;
90
+ }
91
+ function NextPendingResource(stack, schema) {
92
+ return Schema.IsId(schema) ? false : stack.pendingResource;
93
+ }
94
+ function NextLexicalBase(stack, schema) {
95
+ const entry = ResourceEntry(stack, schema);
96
+ if (entry)
97
+ return entry.base;
98
+ return Schema.IsId(schema) ? NextUri(schema.$id, stack.lexicalBase).href : stack.lexicalBase;
99
+ }
100
+ function NextResourceBase(stack, schema) {
101
+ const entry = ResourceEntry(stack, schema);
102
+ if (entry)
103
+ return entry.base;
104
+ return (Schema.IsId(schema) && stack.pendingResource) ? NextUri(schema.$id, stack.resourceBase).href : stack.resourceBase;
105
+ }
106
+ function NextUseResourceBaseForReference(stack, schema) {
107
+ return Schema.IsId(schema) ? !IsRelativeId(schema) : stack.useResourceBaseForReference;
108
+ }
109
+ function NextReferenceBase(stack, schema) {
110
+ const isRetrieved = NextEnteredResource(stack, schema);
111
+ const useResourceBaseForReference = NextUseResourceBaseForReference(stack, schema);
112
+ return (isRetrieved || useResourceBaseForReference) ? NextResourceBase(stack, schema) : NextLexicalBase(stack, schema);
113
+ }
114
+ function NextLexicalSchema(stack, schema) {
115
+ const entry = ResourceEntry(stack, schema);
116
+ if (entry)
117
+ return entry.root;
118
+ return Schema.IsId(schema) ? schema : stack.lexicalSchema;
119
+ }
120
+ // ------------------------------------------------------------------
121
+ // NextStack | HasStackKeywords (Optimization)
122
+ //
123
+ // HasStackKeywords narrows schema to an object and checks whether it
124
+ // carries $id, $dynamicAnchor, a first-seen $recursiveAnchor, or a
125
+ // resource-entry point. When none apply, NextStack skips the frame
126
+ // rebuild and returns the parent stack as-is.
127
+ // ------------------------------------------------------------------
128
+ function HasStackKeywords(stack, schema) {
129
+ return Schema.IsSchemaObject(schema) && (Schema.IsId(schema) ||
130
+ Schema.IsDynamicAnchor(schema) ||
131
+ (Guard.IsUndefined(stack.recursiveAnchor) && Schema.IsRecursiveAnchorTrue(schema)) ||
132
+ !Guard.IsUndefined(ResourceEntry(stack, schema)));
133
+ }
134
+ export function NextStack(stack, schema) {
135
+ return HasStackKeywords(stack, schema)
136
+ ? {
137
+ ...stack,
138
+ ids: NextIds(stack, schema),
139
+ dynamicAnchors: NextDynamicAnchors(stack, schema),
140
+ recursiveAnchor: NextRecursiveAnchor(stack, schema),
141
+ pendingResource: NextPendingResource(stack, schema),
142
+ lexicalBase: NextLexicalBase(stack, schema),
143
+ resourceBase: NextResourceBase(stack, schema),
144
+ useResourceBaseForReference: NextUseResourceBaseForReference(stack, schema),
145
+ referenceBase: NextReferenceBase(stack, schema),
146
+ lexicalSchema: NextLexicalSchema(stack, schema),
147
+ enteredResource: NextEnteredResource(stack, schema)
148
+ }
149
+ : stack;
150
+ }
@@ -1,6 +1,6 @@
1
1
  import * as Schema from '../types/index.mjs';
2
- import { Stack } from './_stack.mjs';
2
+ import * as Stack from './_stack.mjs';
3
3
  import { BuildContext, CheckContext, ErrorContext } from './_context.mjs';
4
- export declare function BuildAdditionalItems(stack: Stack, context: BuildContext, schema: Schema.XAdditionalItems, value: string): string;
5
- export declare function CheckAdditionalItems(stack: Stack, context: CheckContext, schema: Schema.XAdditionalItems, value: unknown[]): boolean;
6
- export declare function ErrorAdditionalItems(stack: Stack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XAdditionalItems, value: unknown[]): boolean;
4
+ export declare function BuildAdditionalItems(stack: Stack.XStack, context: BuildContext, schema: Schema.XAdditionalItems, value: string): string;
5
+ export declare function CheckAdditionalItems(stack: Stack.XStack, context: CheckContext, schema: Schema.XAdditionalItems, value: unknown[]): boolean;
6
+ export declare function ErrorAdditionalItems(stack: Stack.XStack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XAdditionalItems, value: unknown[]): boolean;
@@ -1,9 +1,9 @@
1
- import * as S from '../types/index.mjs';
2
- import { Stack } from './_stack.mjs';
1
+ import * as Schema from '../types/index.mjs';
2
+ import * as Stack from './_stack.mjs';
3
3
  import { BuildContext, CheckContext, ErrorContext } from './_context.mjs';
4
- export declare function CanAdditionalPropertiesFast(_context: BuildContext, schema: S.XAdditionalProperties, _value: string): schema is S.XAdditionalProperties & S.XRequired;
5
- export declare function BuildAdditionalPropertiesFast(_context: BuildContext, schema: S.XAdditionalProperties & S.XRequired, value: string): string;
6
- export declare function BuildAdditionalPropertiesStandard(stack: Stack, context: BuildContext, schema: S.XAdditionalProperties, value: string): string;
7
- export declare function BuildAdditionalProperties(stack: Stack, context: BuildContext, schema: S.XAdditionalProperties, value: string): string;
8
- export declare function CheckAdditionalProperties(stack: Stack, context: CheckContext, schema: S.XAdditionalProperties, value: Record<PropertyKey, unknown>): boolean;
9
- export declare function ErrorAdditionalProperties(stack: Stack, context: ErrorContext, schemaPath: string, instancePath: string, schema: S.XAdditionalProperties, value: Record<PropertyKey, unknown>): boolean;
4
+ export declare function CanAdditionalPropertiesFast(_context: BuildContext, schema: Schema.XAdditionalProperties, _value: string): schema is Schema.XAdditionalProperties & Schema.XRequired;
5
+ export declare function BuildAdditionalPropertiesFast(_context: BuildContext, schema: Schema.XAdditionalProperties & Schema.XRequired, value: string): string;
6
+ export declare function BuildAdditionalPropertiesStandard(stack: Stack.XStack, context: BuildContext, schema: Schema.XAdditionalProperties, value: string): string;
7
+ export declare function BuildAdditionalProperties(stack: Stack.XStack, context: BuildContext, schema: Schema.XAdditionalProperties, value: string): string;
8
+ export declare function CheckAdditionalProperties(stack: Stack.XStack, context: CheckContext, schema: Schema.XAdditionalProperties, value: Record<PropertyKey, unknown>): boolean;
9
+ export declare function ErrorAdditionalProperties(stack: Stack.XStack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XAdditionalProperties, value: Record<PropertyKey, unknown>): boolean;
@@ -1,13 +1,24 @@
1
1
  // deno-fmt-ignore-file
2
- import * as S from '../types/index.mjs';
3
- import * as V from './_externals.mjs';
2
+ import * as Schema from '../types/index.mjs';
3
+ import * as Externals from './_externals.mjs';
4
4
  import { Unique } from './_unique.mjs';
5
- import { AccumulatedErrorContext } from './_context.mjs';
6
5
  import { UnicodeRegExp } from './_regexp.mjs';
7
6
  import { EmitGuard as E, Guard as G } from '../../guard/index.mjs';
8
7
  import { BuildSchemaPushStack, CheckSchemaPushStack, ErrorSchemaPushStack } from './schema.mjs';
9
8
  // ------------------------------------------------------------------
10
- // Common: GetPropertiesPattern
9
+ // Optimization: IsAdditionalPropertiesIgnored
10
+ //
11
+ // We can ignore additionalProperties if the schema is true-like and
12
+ // we are not in an unevaluated context, noting that additional
13
+ // properties are considered tracked, evaluated keys.
14
+ // ------------------------------------------------------------------
15
+ function IsAdditionalPropertiesIgnored(context, additionalProperties) {
16
+ return !context.UseUnevaluated() &&
17
+ (G.IsEqual(additionalProperties, true) ||
18
+ (G.IsObject(additionalProperties) && G.IsEqual(G.Keys(additionalProperties).length, 0)));
19
+ }
20
+ // ------------------------------------------------------------------
21
+ // Optimization: GetPropertiesPattern
11
22
  //
12
23
  // Constructs a regular expression that matches all property keys
13
24
  // and pattern properties defined in a schema. This approach unifies
@@ -23,9 +34,9 @@ function GetPropertyKeyAsPattern(key) {
23
34
  }
24
35
  function GetPropertiesPattern(schema) {
25
36
  const patterns = [];
26
- if (S.IsPatternProperties(schema))
37
+ if (Schema.IsPatternProperties(schema))
27
38
  patterns.push(...G.Keys(schema.patternProperties));
28
- if (S.IsProperties(schema))
39
+ if (Schema.IsProperties(schema))
29
40
  patterns.push(...G.Keys(schema.properties).map(GetPropertyKeyAsPattern));
30
41
  return G.IsEqual(patterns.length, 0) ? '(?!)' : `(${patterns.join('|')})`;
31
42
  }
@@ -45,9 +56,9 @@ function GetPropertiesPattern(schema) {
45
56
  //
46
57
  // ------------------------------------------------------------------
47
58
  export function CanAdditionalPropertiesFast(_context, schema, _value) {
48
- return S.IsRequired(schema)
49
- && S.IsProperties(schema)
50
- && !S.IsPatternProperties(schema)
59
+ return Schema.IsRequired(schema)
60
+ && Schema.IsProperties(schema)
61
+ && !Schema.IsPatternProperties(schema)
51
62
  && G.IsEqual(schema.additionalProperties, false)
52
63
  && G.IsEqual(G.Keys(schema.properties).length, schema.required.length);
53
64
  }
@@ -59,7 +70,7 @@ export function BuildAdditionalPropertiesFast(_context, schema, value) {
59
70
  // ------------------------------------------------------------------
60
71
  export function BuildAdditionalPropertiesStandard(stack, context, schema, value) {
61
72
  const [key, _index] = [Unique(), Unique()];
62
- const regexp = V.CreateVariable(UnicodeRegExp(GetPropertiesPattern(schema)));
73
+ const regexp = Externals.CreateVariable(UnicodeRegExp(GetPropertiesPattern(schema)));
63
74
  const isSchema = BuildSchemaPushStack(stack, context, schema.additionalProperties, `${value}[${key}]`);
64
75
  const isKey = E.Call(E.Member(regexp, 'test'), [key]);
65
76
  const addKey = context.AddKey(key);
@@ -71,6 +82,8 @@ export function BuildAdditionalPropertiesStandard(stack, context, schema, value)
71
82
  // Build
72
83
  // ------------------------------------------------------------------
73
84
  export function BuildAdditionalProperties(stack, context, schema, value) {
85
+ if (IsAdditionalPropertiesIgnored(context, schema.additionalProperties))
86
+ return E.Constant(true);
74
87
  return CanAdditionalPropertiesFast(context, schema, value)
75
88
  ? BuildAdditionalPropertiesFast(context, schema, value)
76
89
  : BuildAdditionalPropertiesStandard(stack, context, schema, value);
@@ -95,17 +108,12 @@ export function ErrorAdditionalProperties(stack, context, schemaPath, instancePa
95
108
  const isAdditionalProperties = G.EveryAll(G.Keys(value), 0, (key, _index) => {
96
109
  const nextSchemaPath = `${schemaPath}/additionalProperties`;
97
110
  const nextInstancePath = `${instancePath}/${key}`;
98
- const nextContext = new AccumulatedErrorContext();
99
111
  const isAdditionalProperty = regexp.test(key) ||
100
- (ErrorSchemaPushStack(stack, nextContext, nextSchemaPath, nextInstancePath, schema.additionalProperties, value[key]) && context.AddKey(key));
112
+ (ErrorSchemaPushStack(stack, context, nextSchemaPath, nextInstancePath, schema.additionalProperties, value[key]) && context.AddKey(key));
101
113
  if (!isAdditionalProperty)
102
114
  additionalProperties.push(key);
103
115
  return isAdditionalProperty;
104
116
  });
105
- return isAdditionalProperties || context.AddError({
106
- keyword: 'additionalProperties',
107
- schemaPath,
108
- instancePath,
109
- params: { additionalProperties },
110
- });
117
+ return isAdditionalProperties ||
118
+ context.AddError('additionalProperties', schemaPath, instancePath, { additionalProperties });
111
119
  }
@@ -1,6 +1,6 @@
1
1
  import * as Schema from '../types/index.mjs';
2
- import { Stack } from './_stack.mjs';
2
+ import * as Stack from './_stack.mjs';
3
3
  import { BuildContext, CheckContext, ErrorContext } from './_context.mjs';
4
- export declare function BuildAllOf(stack: Stack, context: BuildContext, schema: Schema.XAllOf, value: string): string;
5
- export declare function CheckAllOf(stack: Stack, context: CheckContext, schema: Schema.XAllOf, value: unknown): boolean;
6
- export declare function ErrorAllOf(stack: Stack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XAllOf, value: unknown): boolean;
4
+ export declare function BuildAllOf(stack: Stack.XStack, context: BuildContext, schema: Schema.XAllOf, value: string): string;
5
+ export declare function CheckAllOf(stack: Stack.XStack, context: CheckContext, schema: Schema.XAllOf, value: unknown): boolean;
6
+ export declare function ErrorAllOf(stack: Stack.XStack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XAllOf, value: unknown): boolean;
@@ -1,5 +1,5 @@
1
1
  // deno-fmt-ignore-file
2
- import { CheckContext, AccumulatedErrorContext } from './_context.mjs';
2
+ import { CheckContext, ErrorContext } from './_context.mjs';
3
3
  import { Reducer } from './_reducer.mjs';
4
4
  import { EmitGuard as E, Guard as G } from '../../guard/index.mjs';
5
5
  import { BuildSchema, CheckSchema, ErrorSchema } from './schema.mjs';
@@ -34,7 +34,7 @@ export function ErrorAllOf(stack, context, schemaPath, instancePath, schema, val
34
34
  const failedContexts = [];
35
35
  const results = schema.allOf.reduce((result, schema, index) => {
36
36
  const nextSchemaPath = `${schemaPath}/allOf/${index}`;
37
- const nextContext = new AccumulatedErrorContext();
37
+ const nextContext = new ErrorContext();
38
38
  const isSchema = ErrorSchema(stack, nextContext, nextSchemaPath, instancePath, schema, value);
39
39
  if (!isSchema)
40
40
  failedContexts.push(nextContext);
@@ -42,6 +42,6 @@ export function ErrorAllOf(stack, context, schemaPath, instancePath, schema, val
42
42
  }, []);
43
43
  const isAllOf = G.IsEqual(results.length, schema.allOf.length) && context.Merge(results);
44
44
  if (!isAllOf)
45
- failedContexts.forEach(failed => failed.GetErrors().forEach(error => context.AddError(error)));
45
+ failedContexts.forEach(failed => context.AddErrors(failed.GetErrors()));
46
46
  return isAllOf;
47
47
  }
@@ -1,6 +1,6 @@
1
1
  import * as Schema from '../types/index.mjs';
2
- import { Stack } from './_stack.mjs';
2
+ import * as Stack from './_stack.mjs';
3
3
  import { BuildContext, CheckContext, ErrorContext } from './_context.mjs';
4
- export declare function BuildAnyOf(stack: Stack, context: BuildContext, schema: Schema.XAnyOf, value: string): string;
5
- export declare function CheckAnyOf(stack: Stack, context: CheckContext, schema: Schema.XAnyOf, value: unknown): boolean;
6
- export declare function ErrorAnyOf(stack: Stack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XAnyOf, value: unknown): boolean;
4
+ export declare function BuildAnyOf(stack: Stack.XStack, context: BuildContext, schema: Schema.XAnyOf, value: string): string;
5
+ export declare function CheckAnyOf(stack: Stack.XStack, context: CheckContext, schema: Schema.XAnyOf, value: unknown): boolean;
6
+ export declare function ErrorAnyOf(stack: Stack.XStack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XAnyOf, value: unknown): boolean;
@@ -1,8 +1,8 @@
1
1
  // deno-fmt-ignore-file
2
- import { CheckContext, AccumulatedErrorContext } from './_context.mjs';
3
2
  import { Reducer } from './_reducer.mjs';
4
- import { Guard as G, EmitGuard as E } from '../../guard/index.mjs';
3
+ import { CheckContext, ErrorContext } from './_context.mjs';
5
4
  import { BuildSchema, CheckSchema, ErrorSchema } from './schema.mjs';
5
+ import { Guard as G, EmitGuard as E } from '../../guard/index.mjs';
6
6
  // ------------------------------------------------------------------
7
7
  // Build
8
8
  // ------------------------------------------------------------------
@@ -33,7 +33,7 @@ export function CheckAnyOf(stack, context, schema, value) {
33
33
  export function ErrorAnyOf(stack, context, schemaPath, instancePath, schema, value) {
34
34
  const failedContexts = [];
35
35
  const results = schema.anyOf.reduce((result, schema, index) => {
36
- const nextContext = new AccumulatedErrorContext();
36
+ const nextContext = new ErrorContext();
37
37
  const nextSchemaPath = `${schemaPath}/anyOf/${index}`;
38
38
  const isSchema = ErrorSchema(stack, nextContext, nextSchemaPath, instancePath, schema, value);
39
39
  if (!isSchema)
@@ -42,11 +42,6 @@ export function ErrorAnyOf(stack, context, schemaPath, instancePath, schema, val
42
42
  }, []);
43
43
  const isAnyOf = G.IsGreaterThan(results.length, 0) && context.Merge(results);
44
44
  if (!isAnyOf)
45
- failedContexts.forEach(failed => failed.GetErrors().forEach(error => context.AddError(error)));
46
- return isAnyOf || context.AddError({
47
- keyword: 'anyOf',
48
- schemaPath,
49
- instancePath,
50
- params: {}
51
- });
45
+ failedContexts.forEach(failed => context.AddErrors(failed.GetErrors()));
46
+ return isAnyOf || context.AddError('anyOf', schemaPath, instancePath, {});
52
47
  }
@@ -1,5 +1,5 @@
1
- import { Stack } from './_stack.mjs';
1
+ import * as Stack from './_stack.mjs';
2
2
  import { BuildContext, CheckContext, ErrorContext } from './_context.mjs';
3
- export declare function BuildSchemaBoolean(_stack: Stack, _context: BuildContext, schema: boolean, _value: string): string;
4
- export declare function CheckSchemaBoolean(_stack: Stack, _context: CheckContext, schema: boolean, _value: unknown): boolean;
5
- export declare function ErrorSchemaBoolean(stack: Stack, context: ErrorContext, schemaPath: string, instancePath: string, schema: boolean, value: unknown): boolean;
3
+ export declare function BuildSchemaBoolean(_stack: Stack.XStack, _context: BuildContext, schema: boolean, _value: string): string;
4
+ export declare function CheckSchemaBoolean(_stack: Stack.XStack, _context: CheckContext, schema: boolean, _value: unknown): boolean;
5
+ export declare function ErrorSchemaBoolean(stack: Stack.XStack, context: ErrorContext, schemaPath: string, instancePath: string, schema: boolean, value: unknown): boolean;
@@ -16,10 +16,6 @@ export function CheckSchemaBoolean(_stack, _context, schema, _value) {
16
16
  // Error
17
17
  // ------------------------------------------------------------------
18
18
  export function ErrorSchemaBoolean(stack, context, schemaPath, instancePath, schema, value) {
19
- return CheckSchemaBoolean(stack, context, schema, value) || context.AddError({
20
- keyword: 'boolean',
21
- schemaPath,
22
- instancePath,
23
- params: {}
24
- });
19
+ return CheckSchemaBoolean(stack, context, schema, value) ||
20
+ context.AddError('boolean', schemaPath, instancePath, {});
25
21
  }
@@ -1,6 +1,6 @@
1
1
  import * as Schema from '../types/index.mjs';
2
- import { Stack } from './_stack.mjs';
2
+ import * as Stack from './_stack.mjs';
3
3
  import { BuildContext, CheckContext, ErrorContext } from './_context.mjs';
4
- export declare function BuildConst(_stack: Stack, _context: BuildContext, schema: Schema.XConst, value: string): string;
5
- export declare function CheckConst(_stack: Stack, _context: CheckContext, schema: Schema.XConst, value: unknown): boolean;
6
- export declare function ErrorConst(stack: Stack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XConst, value: unknown): boolean;
4
+ export declare function BuildConst(_stack: Stack.XStack, _context: BuildContext, schema: Schema.XConst, value: string): string;
5
+ export declare function CheckConst(_stack: Stack.XStack, _context: CheckContext, schema: Schema.XConst, value: unknown): boolean;
6
+ export declare function ErrorConst(stack: Stack.XStack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XConst, value: unknown): boolean;
@@ -21,10 +21,6 @@ export function CheckConst(_stack, _context, schema, value) {
21
21
  // Check
22
22
  // ------------------------------------------------------------------
23
23
  export function ErrorConst(stack, context, schemaPath, instancePath, schema, value) {
24
- return CheckConst(stack, context, schema, value) || context.AddError({
25
- keyword: 'const',
26
- schemaPath,
27
- instancePath,
28
- params: { allowedValue: schema.const },
29
- });
24
+ return CheckConst(stack, context, schema, value) ||
25
+ context.AddError('const', schemaPath, instancePath, { allowedValue: schema.const });
30
26
  }
@@ -1,6 +1,6 @@
1
1
  import * as Schema from '../types/index.mjs';
2
- import { Stack } from './_stack.mjs';
2
+ import * as Stack from './_stack.mjs';
3
3
  import { BuildContext, CheckContext, ErrorContext } from './_context.mjs';
4
- export declare function BuildContains(stack: Stack, context: BuildContext, schema: Schema.XContains, value: string): string;
5
- export declare function CheckContains(stack: Stack, context: CheckContext, schema: Schema.XContains, value: unknown[]): boolean;
6
- export declare function ErrorContains(stack: Stack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XContains, value: unknown[]): boolean;
4
+ export declare function BuildContains(stack: Stack.XStack, context: BuildContext, schema: Schema.XContains, value: string): string;
5
+ export declare function CheckContains(stack: Stack.XStack, context: CheckContext, schema: Schema.XContains, value: unknown[]): boolean;
6
+ export declare function ErrorContains(stack: Stack.XStack, context: ErrorContext, schemaPath: string, instancePath: string, schema: Schema.XContains, value: unknown[]): boolean;