@openclaw/matrix 2026.7.2-beta.7 → 2026.7.34

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 (368) hide show
  1. package/README.md +1 -1
  2. package/dist/{account-selection-kqquRzCf.js → .setup/account-selection-BOQeTqax.mjs} +18 -17
  3. package/dist/{approval-handler.runtime-DSeaIsGa.js → .setup/approval-handler.runtime-CEXm9_-p.mjs} +18 -28
  4. package/dist/{approval-ids-BdJGPAJT.js → .setup/approval-ids-DdFnDB3h.mjs} +1 -1
  5. package/dist/{approval-reaction-auth-BjOpELxu.js → .setup/approval-reaction-auth-CREvd7S7.mjs} +2 -2
  6. package/dist/.setup/approval-reactions-Cltyp8nL.mjs +113 -0
  7. package/dist/.setup/async-lock-BcLS4KOc.mjs +19 -0
  8. package/dist/{channel-vj788dNZ.js → .setup/channel-an4umty1.mjs} +186 -144
  9. package/dist/{channel.runtime-CLoF2S9T.js → .setup/channel.runtime-GHcIBJ7H.mjs} +51 -45
  10. package/dist/{cli-DMqfDE-q.js → .setup/cli-B3WYmv5U.mjs} +882 -901
  11. package/dist/{cli-metadata-C7D53SND.js → .setup/cli-metadata-RUKCn0wJ.mjs} +1 -1
  12. package/dist/{client-6eRENr7k.js → .setup/client-Ct0bUHCo.mjs} +5 -5
  13. package/dist/{shared-CUMWxcMz.js → .setup/client-DFBQtzCe.mjs} +422 -179
  14. package/dist/.setup/client-bootstrap-Be8jvNle.mjs +74 -0
  15. package/dist/{config-schema-Djxw3C6b.js → .setup/config-schema-D9J_vUF6.mjs} +89 -70
  16. package/dist/.setup/credentials-BhZlA0kL.mjs +56 -0
  17. package/dist/.setup/credentials-read-CRHg6XPm.mjs +114 -0
  18. package/dist/{credentials-write.runtime-Be9zNSUw.js → .setup/credentials-write.runtime-dWuLafsk.mjs} +1 -1
  19. package/dist/{crypto-runtime-D9_6J5tZ.js → .setup/crypto-runtime-D-cZa8P0.mjs} +81 -35
  20. package/dist/.setup/crypto-state-store-B43k3z3W.mjs +352 -0
  21. package/dist/{deps-CcVJfvRM.js → .setup/deps-Dy6yreL4.mjs} +92 -25
  22. package/dist/{device-health-B4-YXtJR.js → .setup/device-health-D4LBxuPq.mjs} +1 -6
  23. package/dist/{directory-live-C8dVBiCc.js → .setup/directory-live-BTEYxMwy.mjs} +10 -9
  24. package/dist/.setup/doctor-BGnvMzOR.mjs +169 -0
  25. package/dist/.setup/doctor-contract-DNJw0fdq.mjs +246 -0
  26. package/dist/{draft-stream-CtvOXq0Z.js → .setup/draft-stream-C-_OhpE8.mjs} +1 -6
  27. package/dist/{encryption-guidance-CbEFe38F.js → .setup/encryption-guidance-CpuuwmjL.mjs} +4 -3
  28. package/dist/{env-auth-CQsYbz-p.js → .setup/env-auth-CYJL1jNl.mjs} +2 -2
  29. package/dist/{env-vars-B0NxQnPk.js → .setup/env-vars-KzaYveuy.mjs} +1 -3
  30. package/dist/{exec-approval-resolver-BCgqRtZS.js → .setup/exec-approval-resolver-f9j6staN.mjs} +1 -2
  31. package/dist/{file-sync-store-DiiFsayX.js → .setup/file-sync-store-DU0cnYAz.mjs} +30 -25
  32. package/dist/{http-client-CycYxU9-.js → .setup/http-client-C954In2D.mjs} +45 -25
  33. package/dist/{idb-persistence-B6x7dMsF.js → .setup/idb-persistence-_HKTXkVC.mjs} +76 -78
  34. package/dist/{idb-persistence-lock-DAJ49nZX.js → .setup/idb-persistence-lock-B3fZXyF_.mjs} +1 -1
  35. package/dist/.setup/legacy-crypto-inspector-Byp8LCys.mjs +42 -0
  36. package/dist/.setup/legacy-crypto-restore-YQVoK1B2.mjs +93 -0
  37. package/dist/{logger-D0GCSDQq.js → .setup/logger-DpoogOgz.mjs} +1 -1
  38. package/dist/{logging-DV-p52N0.js → .setup/logging-CgxQOJJP.mjs} +2 -9
  39. package/dist/.setup/matrix-migration.runtime-BDH5c3fN.mjs +530 -0
  40. package/dist/{media-text-BTwzADS_.js → .setup/media-text-Cib-dxkn.mjs} +1 -1
  41. package/dist/{messages-DxQJkhxs.js → .setup/messages-D4DYGHYX.mjs} +15 -67
  42. package/dist/.setup/migration-snapshot-backup-CpgYhiUp.mjs +70 -0
  43. package/dist/.setup/migration-snapshot.runtime-O8qkMVaC.mjs +2 -0
  44. package/dist/{monitor-VyWlSLwo.js → .setup/monitor-DNcW_oAN.mjs} +2525 -2361
  45. package/dist/.setup/probe.runtime-CMPh0mFk.mjs +2 -0
  46. package/dist/{profile-update-CffmyW_4.js → .setup/profile-update-DzOL3Wiw.mjs} +5 -4
  47. package/dist/{reaction-events-B00WSi98.js → .setup/reaction-events-BcvgXxHb.mjs} +14 -64
  48. package/dist/{resolve-targets-nm2L48sh.js → .setup/resolve-targets-Bq80X9Sn.mjs} +3 -3
  49. package/dist/{resolver.runtime-DS6uPaEe.js → .setup/resolver.runtime-CeBHR9-T.mjs} +1 -1
  50. package/dist/{runtime-api-D1xI_cvh.js → .setup/runtime-api-CEsWNdil.mjs} +4 -4
  51. package/dist/.setup/runtime-setter-api-DGMubGUq.mjs +3 -0
  52. package/dist/{sdk-bUytQHx7.js → .setup/sdk-He1quVAq.mjs} +592 -261
  53. package/dist/.setup/secret-contract-api-CiTJ7pd5.mjs +3 -0
  54. package/dist/{secret-contract-M3hRmGO-.js → .setup/secret-contract-phPvlNfV.mjs} +53 -28
  55. package/dist/{send-BldGYG8g.js → .setup/send-CGgl0uTn.mjs} +133 -660
  56. package/dist/{setup-bootstrap-Deleiibz.js → .setup/setup-bootstrap-DUXBC8X2.mjs} +4 -4
  57. package/dist/{setup-core-BVfBv2ai.js → .setup/setup-core-bhdcEo7v.mjs} +239 -189
  58. package/dist/.setup/setup-plugin-api-CAwZ_Bi7.mjs +43 -0
  59. package/dist/.setup/setup-plugin-api-DIFVsOs3.mjs +2 -0
  60. package/dist/{setup-surface-BBq3WeqX.js → .setup/setup-surface-05_G-MnT.mjs} +149 -92
  61. package/dist/{startup-verification-wm3_i88s.js → .setup/startup-verification-BTwIGu1J.mjs} +7 -6
  62. package/dist/.setup/storage-NGZq5zet.mjs +432 -0
  63. package/dist/{storage-paths-gUmSydsW.js → .setup/storage-paths-BWo_ZEMC.mjs} +13 -2
  64. package/dist/{subagent-hooks-dkPAF6Et.js → .setup/subagent-hooks-BSWPJEmo.mjs} +2 -2
  65. package/dist/{thread-binding-api-DRbBZlhS.js → .setup/thread-binding-api-B7UaOoKv.mjs} +1 -1
  66. package/dist/{thread-bindings-DGbl3vDW.js → .setup/thread-bindings-DqmjG2on.mjs} +8 -8
  67. package/dist/{tool-actions.runtime-uu9blSqO.js → .setup/tool-actions.runtime-CXDLk2jg.mjs} +196 -332
  68. package/dist/{verification-DYMQ1QpI.js → .setup/verification-DeWOtZJr.mjs} +4 -3
  69. package/dist/api.js +9 -9
  70. package/dist/auth-presence.js +21 -13
  71. package/dist/channel-plugin-api.js +1 -1
  72. package/dist/cli-metadata.js +1 -1
  73. package/dist/contract-api.js +2 -2
  74. package/dist/doctor-contract-api.js +99 -524
  75. package/dist/helper-api.js +4 -4
  76. package/dist/index.js +1 -1
  77. package/dist/plugin-entry.handlers.runtime.js +2 -2
  78. package/dist/runtime-api.js +8 -8
  79. package/dist/runtime-heavy-api.js +3 -0
  80. package/dist/runtime-setter-api.js +1 -1
  81. package/dist/secret-contract-api.js +1 -1
  82. package/dist/session-binding-contract-api.js +3 -3
  83. package/dist/setup-entry.js +4 -3
  84. package/dist/setup-plugin-api.js +1 -44
  85. package/dist/subagent-hooks-api.js +1 -1
  86. package/dist/thread-binding-api.js +1 -1
  87. package/dist/thread-bindings-runtime.js +1 -1
  88. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/package.json +1 -1
  89. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm.d.ts +2 -14
  90. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.cjs +384 -409
  91. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.js +224 -246
  92. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm +0 -0
  93. package/node_modules/@matrix-org/matrix-sdk-crypto-wasm/pkg/matrix_sdk_crypto_wasm_bg.wasm.d.ts +58 -59
  94. package/node_modules/markdown-it/README.md +18 -294
  95. package/node_modules/markdown-it/bin/markdown-it.mjs +2 -2
  96. package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs +3013 -0
  97. package/node_modules/markdown-it/dist/browser/markdown-it.esm.min.mjs.map +1 -0
  98. package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js +14 -0
  99. package/node_modules/markdown-it/dist/browser/markdown-it.umd.min.js.map +1 -0
  100. package/node_modules/markdown-it/dist/markdown-it.cjs.js +4420 -0
  101. package/node_modules/markdown-it/dist/markdown-it.cjs.js.map +1 -0
  102. package/node_modules/markdown-it/dist/markdown-it.d.cts +19 -0
  103. package/node_modules/markdown-it/dist/markdown-it.d.mts +950 -0
  104. package/node_modules/markdown-it/dist/{index.cjs.js → markdown-it.mjs} +1504 -1525
  105. package/node_modules/markdown-it/dist/markdown-it.mjs.map +1 -0
  106. package/node_modules/markdown-it/node_modules/argparse/LICENSE +1 -208
  107. package/node_modules/markdown-it/node_modules/argparse/README.md +46 -41
  108. package/node_modules/markdown-it/node_modules/argparse/lib/_colorize.js +72 -0
  109. package/node_modules/markdown-it/node_modules/argparse/lib/argparse.d.ts +292 -0
  110. package/node_modules/markdown-it/node_modules/argparse/{argparse.js → lib/argparse.js} +1142 -1029
  111. package/node_modules/markdown-it/node_modules/argparse/lib/difflib.js +190 -0
  112. package/node_modules/markdown-it/node_modules/argparse/lib/sub.js +4 -4
  113. package/node_modules/markdown-it/node_modules/argparse/lib/textwrap.js +28 -28
  114. package/node_modules/markdown-it/node_modules/argparse/package.json +18 -11
  115. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts +8 -0
  116. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.d.ts.map +1 -0
  117. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js +46 -0
  118. package/node_modules/markdown-it/node_modules/entities/dist/decode-codepoint.js.map +1 -0
  119. package/node_modules/markdown-it/node_modules/entities/{lib → dist}/decode.d.ts +28 -45
  120. package/node_modules/markdown-it/node_modules/entities/dist/decode.d.ts.map +1 -0
  121. package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/decode.js +189 -141
  122. package/node_modules/markdown-it/node_modules/entities/dist/decode.js.map +1 -0
  123. package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/encode.d.ts +4 -2
  124. package/node_modules/markdown-it/node_modules/entities/dist/encode.d.ts.map +1 -0
  125. package/node_modules/markdown-it/node_modules/entities/dist/encode.js +90 -0
  126. package/node_modules/markdown-it/node_modules/entities/dist/encode.js.map +1 -0
  127. package/node_modules/markdown-it/node_modules/entities/{lib → dist}/escape.d.ts +15 -10
  128. package/node_modules/markdown-it/node_modules/entities/dist/escape.d.ts.map +1 -0
  129. package/node_modules/markdown-it/node_modules/entities/dist/escape.js +132 -0
  130. package/node_modules/markdown-it/node_modules/entities/dist/escape.js.map +1 -0
  131. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.d.ts +3 -0
  132. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.d.ts.map +1 -0
  133. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js +5 -0
  134. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-html.js.map +1 -0
  135. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.d.ts +3 -0
  136. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.d.ts.map +1 -0
  137. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js +5 -0
  138. package/node_modules/markdown-it/node_modules/entities/dist/generated/decode-data-xml.js.map +1 -0
  139. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts +5 -0
  140. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.d.ts.map +1 -0
  141. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js +12 -0
  142. package/node_modules/markdown-it/node_modules/entities/dist/generated/encode-html.js.map +1 -0
  143. package/node_modules/markdown-it/node_modules/entities/{lib/esm → dist}/index.d.ts +14 -21
  144. package/node_modules/markdown-it/node_modules/entities/dist/index.d.ts.map +1 -0
  145. package/node_modules/markdown-it/node_modules/entities/dist/index.js +91 -0
  146. package/node_modules/markdown-it/node_modules/entities/dist/index.js.map +1 -0
  147. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts +17 -0
  148. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.d.ts.map +1 -0
  149. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js +18 -0
  150. package/node_modules/markdown-it/node_modules/entities/dist/internal/bin-trie-flags.js.map +1 -0
  151. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts +7 -0
  152. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.d.ts.map +1 -0
  153. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js +17 -0
  154. package/node_modules/markdown-it/node_modules/entities/dist/internal/decode-shared.js.map +1 -0
  155. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts +33 -0
  156. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.d.ts.map +1 -0
  157. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js +93 -0
  158. package/node_modules/markdown-it/node_modules/entities/dist/internal/encode-shared.js.map +1 -0
  159. package/node_modules/markdown-it/node_modules/entities/package.json +63 -70
  160. package/node_modules/markdown-it/node_modules/entities/readme.md +54 -45
  161. package/node_modules/markdown-it/node_modules/entities/src/decode-codepoint.ts +50 -0
  162. package/node_modules/markdown-it/node_modules/entities/src/decode.ts +671 -0
  163. package/node_modules/markdown-it/node_modules/entities/src/encode.ts +95 -0
  164. package/node_modules/markdown-it/node_modules/entities/src/escape.ts +160 -0
  165. package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-html.ts +7 -0
  166. package/node_modules/markdown-it/node_modules/entities/src/generated/decode-data-xml.ts +7 -0
  167. package/node_modules/markdown-it/node_modules/entities/src/generated/encode-html.ts +18 -0
  168. package/node_modules/markdown-it/node_modules/entities/src/index.ts +162 -0
  169. package/node_modules/markdown-it/node_modules/entities/src/internal/bin-trie-flags.ts +16 -0
  170. package/node_modules/markdown-it/node_modules/entities/src/internal/decode-shared.ts +18 -0
  171. package/node_modules/markdown-it/node_modules/entities/src/internal/encode-shared.ts +123 -0
  172. package/node_modules/markdown-it/node_modules/linkify-it/README.md +49 -86
  173. package/node_modules/markdown-it/node_modules/linkify-it/build/index.cjs.js +636 -825
  174. package/node_modules/markdown-it/node_modules/linkify-it/build/index.cjs.js.map +1 -0
  175. package/node_modules/markdown-it/node_modules/linkify-it/build/index.d.ts +236 -0
  176. package/node_modules/markdown-it/node_modules/linkify-it/build/index.mjs +538 -0
  177. package/node_modules/markdown-it/node_modules/linkify-it/build/index.mjs.map +1 -0
  178. package/node_modules/markdown-it/node_modules/linkify-it/package.json +23 -20
  179. package/node_modules/markdown-it/node_modules/uc.micro/README.md +18 -1
  180. package/node_modules/markdown-it/node_modules/uc.micro/build/index.cjs.js +13 -18
  181. package/node_modules/markdown-it/node_modules/uc.micro/build/index.d.ts +6 -0
  182. package/node_modules/markdown-it/node_modules/uc.micro/build/index.mjs +8 -0
  183. package/node_modules/markdown-it/node_modules/uc.micro/package.json +12 -17
  184. package/node_modules/markdown-it/package.json +47 -30
  185. package/node_modules/matrix-js-sdk/CHANGELOG.md +0 -11
  186. package/node_modules/matrix-js-sdk/package.json +1 -1
  187. package/node_modules/music-metadata/lib/common/Util.d.ts +1 -1
  188. package/node_modules/music-metadata/lib/common/Util.js +1 -7
  189. package/node_modules/music-metadata/lib/id3v2/FrameHeader.js +3 -23
  190. package/node_modules/music-metadata/lib/id3v2/FrameParser.js +2 -2
  191. package/node_modules/music-metadata/lib/id3v2/ID3v2Token.js +1 -1
  192. package/node_modules/music-metadata/lib/mp4/AtomToken.js +13 -38
  193. package/node_modules/music-metadata/lib/mpeg/MpegParser.js +1 -1
  194. package/node_modules/music-metadata/package.json +6 -6
  195. package/node_modules/typebox/build/compile/validator.d.mts +4 -1
  196. package/node_modules/typebox/build/guard/guard.d.mts +1 -1
  197. package/node_modules/typebox/build/guard/guard.mjs +2 -5
  198. package/node_modules/typebox/build/guard/string.mjs +4 -16
  199. package/node_modules/typebox/build/schema/engine/_functions.mjs +15 -34
  200. package/node_modules/typebox/build/type/action/readonly_object.d.mts +0 -5
  201. package/node_modules/typebox/build/type/action/readonly_object.mjs +0 -8
  202. package/node_modules/typebox/build/typebox.d.mts +1 -1
  203. package/node_modules/typebox/build/typebox.mjs +1 -1
  204. package/node_modules/typebox/package.json +1 -1
  205. package/node_modules/typebox/readme.md +32 -29
  206. package/openclaw.plugin.json +146 -152
  207. package/package.json +31 -114
  208. package/dist/accounts-DfngqebB.js +0 -130
  209. package/dist/active-client-DXvz2gCo.js +0 -20
  210. package/dist/approval-reactions-D-BxBK_L.js +0 -202
  211. package/dist/client-Dbso3-0V.js +0 -30
  212. package/dist/client-bootstrap-XsIkHNt0.js +0 -110
  213. package/dist/create-client-BmSU-q-D.js +0 -61
  214. package/dist/credentials-W2EmwRhu.js +0 -65
  215. package/dist/credentials-read-DVmFCm7X.js +0 -77
  216. package/dist/doctor-CM8ijNpW.js +0 -64
  217. package/dist/doctor-contract-BMSJkkAE.js +0 -167
  218. package/dist/inbound-dedupe-CaBLblef.js +0 -48
  219. package/dist/probe.runtime-BuieqmS3.js +0 -3
  220. package/dist/record-shared-CWWx6fvI.js +0 -2
  221. package/dist/recovery-key-store-BNnHvXdk.js +0 -275
  222. package/dist/room-info-CAFZ3Z9J.js +0 -87
  223. package/dist/route-DY6at4qJ.js +0 -161
  224. package/dist/storage-BvAkgzvT.js +0 -685
  225. package/node_modules/markdown-it/dist/index.cjs.js.map +0 -1
  226. package/node_modules/markdown-it/dist/markdown-it.js +0 -3975
  227. package/node_modules/markdown-it/dist/markdown-it.js.map +0 -1
  228. package/node_modules/markdown-it/dist/markdown-it.min.js +0 -3
  229. package/node_modules/markdown-it/dist/markdown-it.min.js.map +0 -1
  230. package/node_modules/markdown-it/index.mjs +0 -1
  231. package/node_modules/markdown-it/lib/common/html_blocks.mjs +0 -67
  232. package/node_modules/markdown-it/lib/common/html_re.mjs +0 -25
  233. package/node_modules/markdown-it/lib/common/utils.mjs +0 -324
  234. package/node_modules/markdown-it/lib/helpers/index.mjs +0 -11
  235. package/node_modules/markdown-it/lib/helpers/parse_link_destination.mjs +0 -77
  236. package/node_modules/markdown-it/lib/helpers/parse_link_label.mjs +0 -49
  237. package/node_modules/markdown-it/lib/helpers/parse_link_title.mjs +0 -66
  238. package/node_modules/markdown-it/lib/index.mjs +0 -565
  239. package/node_modules/markdown-it/lib/parser_block.mjs +0 -134
  240. package/node_modules/markdown-it/lib/parser_core.mjs +0 -62
  241. package/node_modules/markdown-it/lib/parser_inline.mjs +0 -197
  242. package/node_modules/markdown-it/lib/presets/commonmark.mjs +0 -88
  243. package/node_modules/markdown-it/lib/presets/default.mjs +0 -47
  244. package/node_modules/markdown-it/lib/presets/zero.mjs +0 -70
  245. package/node_modules/markdown-it/lib/renderer.mjs +0 -322
  246. package/node_modules/markdown-it/lib/ruler.mjs +0 -340
  247. package/node_modules/markdown-it/lib/rules_block/blockquote.mjs +0 -209
  248. package/node_modules/markdown-it/lib/rules_block/code.mjs +0 -30
  249. package/node_modules/markdown-it/lib/rules_block/fence.mjs +0 -94
  250. package/node_modules/markdown-it/lib/rules_block/heading.mjs +0 -51
  251. package/node_modules/markdown-it/lib/rules_block/hr.mjs +0 -40
  252. package/node_modules/markdown-it/lib/rules_block/html_block.mjs +0 -80
  253. package/node_modules/markdown-it/lib/rules_block/lheading.mjs +0 -85
  254. package/node_modules/markdown-it/lib/rules_block/list.mjs +0 -331
  255. package/node_modules/markdown-it/lib/rules_block/paragraph.mjs +0 -48
  256. package/node_modules/markdown-it/lib/rules_block/reference.mjs +0 -212
  257. package/node_modules/markdown-it/lib/rules_block/state_block.mjs +0 -220
  258. package/node_modules/markdown-it/lib/rules_block/table.mjs +0 -228
  259. package/node_modules/markdown-it/lib/rules_core/block.mjs +0 -13
  260. package/node_modules/markdown-it/lib/rules_core/inline.mjs +0 -11
  261. package/node_modules/markdown-it/lib/rules_core/linkify.mjs +0 -134
  262. package/node_modules/markdown-it/lib/rules_core/normalize.mjs +0 -17
  263. package/node_modules/markdown-it/lib/rules_core/replacements.mjs +0 -101
  264. package/node_modules/markdown-it/lib/rules_core/smartquotes.mjs +0 -209
  265. package/node_modules/markdown-it/lib/rules_core/state_core.mjs +0 -17
  266. package/node_modules/markdown-it/lib/rules_core/text_join.mjs +0 -43
  267. package/node_modules/markdown-it/lib/rules_inline/autolink.mjs +0 -72
  268. package/node_modules/markdown-it/lib/rules_inline/backticks.mjs +0 -60
  269. package/node_modules/markdown-it/lib/rules_inline/balance_pairs.mjs +0 -124
  270. package/node_modules/markdown-it/lib/rules_inline/emphasis.mjs +0 -123
  271. package/node_modules/markdown-it/lib/rules_inline/entity.mjs +0 -51
  272. package/node_modules/markdown-it/lib/rules_inline/escape.mjs +0 -83
  273. package/node_modules/markdown-it/lib/rules_inline/fragments_join.mjs +0 -38
  274. package/node_modules/markdown-it/lib/rules_inline/html_inline.mjs +0 -50
  275. package/node_modules/markdown-it/lib/rules_inline/image.mjs +0 -138
  276. package/node_modules/markdown-it/lib/rules_inline/link.mjs +0 -139
  277. package/node_modules/markdown-it/lib/rules_inline/linkify.mjs +0 -63
  278. package/node_modules/markdown-it/lib/rules_inline/newline.mjs +0 -42
  279. package/node_modules/markdown-it/lib/rules_inline/state_inline.mjs +0 -154
  280. package/node_modules/markdown-it/lib/rules_inline/strikethrough.mjs +0 -127
  281. package/node_modules/markdown-it/lib/rules_inline/text.mjs +0 -86
  282. package/node_modules/markdown-it/lib/token.mjs +0 -191
  283. package/node_modules/markdown-it/node_modules/argparse/CHANGELOG.md +0 -216
  284. package/node_modules/markdown-it/node_modules/entities/lib/decode.d.ts.map +0 -1
  285. package/node_modules/markdown-it/node_modules/entities/lib/decode.js +0 -536
  286. package/node_modules/markdown-it/node_modules/entities/lib/decode.js.map +0 -1
  287. package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.d.ts +0 -19
  288. package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.d.ts.map +0 -1
  289. package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.js +0 -76
  290. package/node_modules/markdown-it/node_modules/entities/lib/decode_codepoint.js.map +0 -1
  291. package/node_modules/markdown-it/node_modules/entities/lib/encode.d.ts +0 -22
  292. package/node_modules/markdown-it/node_modules/entities/lib/encode.d.ts.map +0 -1
  293. package/node_modules/markdown-it/node_modules/entities/lib/encode.js +0 -77
  294. package/node_modules/markdown-it/node_modules/entities/lib/encode.js.map +0 -1
  295. package/node_modules/markdown-it/node_modules/entities/lib/escape.d.ts.map +0 -1
  296. package/node_modules/markdown-it/node_modules/entities/lib/escape.js +0 -122
  297. package/node_modules/markdown-it/node_modules/entities/lib/escape.js.map +0 -1
  298. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode.d.ts +0 -211
  299. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode.d.ts.map +0 -1
  300. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode.js.map +0 -1
  301. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.d.ts +0 -19
  302. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.d.ts.map +0 -1
  303. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.js +0 -71
  304. package/node_modules/markdown-it/node_modules/entities/lib/esm/decode_codepoint.js.map +0 -1
  305. package/node_modules/markdown-it/node_modules/entities/lib/esm/encode.d.ts.map +0 -1
  306. package/node_modules/markdown-it/node_modules/entities/lib/esm/encode.js +0 -69
  307. package/node_modules/markdown-it/node_modules/entities/lib/esm/encode.js.map +0 -1
  308. package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.d.ts +0 -43
  309. package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.d.ts.map +0 -1
  310. package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.js +0 -116
  311. package/node_modules/markdown-it/node_modules/entities/lib/esm/escape.js.map +0 -1
  312. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.d.ts +0 -3
  313. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.d.ts.map +0 -1
  314. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.js +0 -7
  315. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-html.js.map +0 -1
  316. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts +0 -3
  317. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.d.ts.map +0 -1
  318. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.js +0 -7
  319. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/decode-data-xml.js.map +0 -1
  320. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.d.ts +0 -8
  321. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.d.ts.map +0 -1
  322. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.js +0 -10
  323. package/node_modules/markdown-it/node_modules/entities/lib/esm/generated/encode-html.js.map +0 -1
  324. package/node_modules/markdown-it/node_modules/entities/lib/esm/index.d.ts.map +0 -1
  325. package/node_modules/markdown-it/node_modules/entities/lib/esm/index.js +0 -99
  326. package/node_modules/markdown-it/node_modules/entities/lib/esm/index.js.map +0 -1
  327. package/node_modules/markdown-it/node_modules/entities/lib/esm/package.json +0 -1
  328. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.d.ts +0 -3
  329. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.d.ts.map +0 -1
  330. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.js +0 -9
  331. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-html.js.map +0 -1
  332. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.d.ts +0 -3
  333. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.d.ts.map +0 -1
  334. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.js +0 -9
  335. package/node_modules/markdown-it/node_modules/entities/lib/generated/decode-data-xml.js.map +0 -1
  336. package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.d.ts +0 -8
  337. package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.d.ts.map +0 -1
  338. package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.js +0 -12
  339. package/node_modules/markdown-it/node_modules/entities/lib/generated/encode-html.js.map +0 -1
  340. package/node_modules/markdown-it/node_modules/entities/lib/index.d.ts +0 -96
  341. package/node_modules/markdown-it/node_modules/entities/lib/index.d.ts.map +0 -1
  342. package/node_modules/markdown-it/node_modules/entities/lib/index.js +0 -126
  343. package/node_modules/markdown-it/node_modules/entities/lib/index.js.map +0 -1
  344. package/node_modules/markdown-it/node_modules/linkify-it/index.mjs +0 -646
  345. package/node_modules/markdown-it/node_modules/linkify-it/lib/re.mjs +0 -193
  346. package/node_modules/markdown-it/node_modules/uc.micro/categories/Cc/regex.mjs +0 -1
  347. package/node_modules/markdown-it/node_modules/uc.micro/categories/Cf/regex.mjs +0 -1
  348. package/node_modules/markdown-it/node_modules/uc.micro/categories/P/regex.mjs +0 -1
  349. package/node_modules/markdown-it/node_modules/uc.micro/categories/S/regex.mjs +0 -1
  350. package/node_modules/markdown-it/node_modules/uc.micro/categories/Z/regex.mjs +0 -1
  351. package/node_modules/markdown-it/node_modules/uc.micro/index.mjs +0 -8
  352. package/node_modules/markdown-it/node_modules/uc.micro/properties/Any/regex.mjs +0 -1
  353. /package/dist/{account-config-BZWN9tGS.js → .setup/account-config-BZWN9tGS.mjs} +0 -0
  354. /package/dist/{backup-health-Dm_YMVFT.js → .setup/backup-health-Dm_YMVFT.mjs} +0 -0
  355. /package/dist/{config-paths-CnREYb1Y.js → .setup/config-paths-CnREYb1Y.mjs} +0 -0
  356. /package/dist/{config-secret-input.runtime-CwsP3--c.js → .setup/config-secret-input.runtime-CwsP3--c.mjs} +0 -0
  357. /package/dist/{crypto-node.runtime-6Aj_ltHQ.js → .setup/crypto-node.runtime-6Aj_ltHQ.mjs} +0 -0
  358. /package/dist/{errors-C47hvAF8.js → .setup/errors-C47hvAF8.mjs} +0 -0
  359. /package/dist/{preflight-audio.runtime-BZxxQsxY.js → .setup/preflight-audio.runtime-BZxxQsxY.mjs} +0 -0
  360. /package/dist/{reaction-common-DkrQdBSZ.js → .setup/reaction-common-DkrQdBSZ.mjs} +0 -0
  361. /package/dist/{rolldown-runtime-8H4AJuhK.js → .setup/rolldown-runtime-8H4AJuhK.mjs} +0 -0
  362. /package/dist/{runtime-6S3DNFNv.js → .setup/runtime-6S3DNFNv.mjs} +0 -0
  363. /package/dist/{runtime-BefyhPWv.js → .setup/runtime-BefyhPWv.mjs} +0 -0
  364. /package/dist/{sync-state-CWbp0QSY.js → .setup/sync-state-CWbp0QSY.mjs} +0 -0
  365. /package/dist/{target-ids-B-5aQxwn.js → .setup/target-ids-B-5aQxwn.mjs} +0 -0
  366. /package/dist/{thread-bindings-shared-CKnY4LSd.js → .setup/thread-bindings-shared-CKnY4LSd.mjs} +0 -0
  367. /package/dist/{timeout-abort-signal-DMrgRFIy.js → .setup/timeout-abort-signal-DMrgRFIy.mjs} +0 -0
  368. /package/dist/{url-validation-GRHde6lq.js → .setup/url-validation-GRHde6lq.mjs} +0 -0
@@ -1,9 +1,7 @@
1
- import htmlDecodeTree from "./generated/decode-data-html.js";
2
- import xmlDecodeTree from "./generated/decode-data-xml.js";
3
- import decodeCodePoint, { replaceCodePoint, fromCodePoint, } from "./decode_codepoint.js";
4
- // Re-export for use by eg. htmlparser2
5
- export { htmlDecodeTree, xmlDecodeTree, decodeCodePoint };
6
- export { replaceCodePoint, fromCodePoint } from "./decode_codepoint.js";
1
+ import { replaceCodePoint } from "./decode-codepoint.js";
2
+ import { htmlDecodeTree } from "./generated/decode-data-html.js";
3
+ import { xmlDecodeTree } from "./generated/decode-data-xml.js";
4
+ import { BinTrieFlags } from "./internal/bin-trie-flags.js";
7
5
  var CharCodes;
8
6
  (function (CharCodes) {
9
7
  CharCodes[CharCodes["NUM"] = 35] = "NUM";
@@ -20,13 +18,7 @@ var CharCodes;
20
18
  CharCodes[CharCodes["UPPER_Z"] = 90] = "UPPER_Z";
21
19
  })(CharCodes || (CharCodes = {}));
22
20
  /** Bit that needs to be set to convert an upper case ASCII character to lower case */
23
- const TO_LOWER_BIT = 0b100000;
24
- export var BinTrieFlags;
25
- (function (BinTrieFlags) {
26
- BinTrieFlags[BinTrieFlags["VALUE_LENGTH"] = 49152] = "VALUE_LENGTH";
27
- BinTrieFlags[BinTrieFlags["BRANCH_LENGTH"] = 16256] = "BRANCH_LENGTH";
28
- BinTrieFlags[BinTrieFlags["JUMP_TABLE"] = 127] = "JUMP_TABLE";
29
- })(BinTrieFlags || (BinTrieFlags = {}));
21
+ const TO_LOWER_BIT = 0b10_0000;
30
22
  function isNumber(code) {
31
23
  return code >= CharCodes.ZERO && code <= CharCodes.NINE;
32
24
  }
@@ -44,6 +36,7 @@ function isAsciiAlphaNumeric(code) {
44
36
  *
45
37
  * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.
46
38
  * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state
39
+ * @param code Code point to decode.
47
40
  */
48
41
  function isEntityInAttributeInvalidEnd(code) {
49
42
  return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code);
@@ -56,6 +49,9 @@ var EntityDecoderState;
56
49
  EntityDecoderState[EntityDecoderState["NumericHex"] = 3] = "NumericHex";
57
50
  EntityDecoderState[EntityDecoderState["NamedEntity"] = 4] = "NamedEntity";
58
51
  })(EntityDecoderState || (EntityDecoderState = {}));
52
+ /**
53
+ * Decoding mode for named entities.
54
+ */
59
55
  export var DecodingMode;
60
56
  (function (DecodingMode) {
61
57
  /** Entities in text nodes that can end with any character. */
@@ -69,15 +65,18 @@ export var DecodingMode;
69
65
  * Token decoder with support of writing partial entities.
70
66
  */
71
67
  export class EntityDecoder {
68
+ decodeTree;
69
+ emitCodePoint;
70
+ errors;
72
71
  constructor(
73
72
  /** The tree used to decode entities. */
73
+ // biome-ignore lint/correctness/noUnusedPrivateClassMembers: False positive
74
74
  decodeTree,
75
75
  /**
76
76
  * The function that is called when a codepoint is decoded.
77
77
  *
78
78
  * For multi-byte named entities, this will be called multiple times,
79
79
  * with the second codepoint, and the same `consumed` value.
80
- *
81
80
  * @param codepoint The decoded codepoint.
82
81
  * @param consumed The number of bytes consumed by the decoder.
83
82
  */
@@ -87,25 +86,30 @@ export class EntityDecoder {
87
86
  this.decodeTree = decodeTree;
88
87
  this.emitCodePoint = emitCodePoint;
89
88
  this.errors = errors;
90
- /** The current state of the decoder. */
91
- this.state = EntityDecoderState.EntityStart;
92
- /** Characters that were consumed while parsing an entity. */
93
- this.consumed = 1;
94
- /**
95
- * The result of the entity.
96
- *
97
- * Either the result index of a numeric entity, or the codepoint of a
98
- * numeric entity.
99
- */
100
- this.result = 0;
101
- /** The current index in the decode tree. */
102
- this.treeIndex = 0;
103
- /** The number of characters that were consumed in excess. */
104
- this.excess = 1;
105
- /** The mode in which the decoder is operating. */
106
- this.decodeMode = DecodingMode.Strict;
107
89
  }
108
- /** Resets the instance to make it reusable. */
90
+ /** The current state of the decoder. */
91
+ state = EntityDecoderState.EntityStart;
92
+ /** Characters that were consumed while parsing an entity. */
93
+ consumed = 1;
94
+ /**
95
+ * The result of the entity.
96
+ *
97
+ * Either the result index of a numeric entity, or the codepoint of a
98
+ * numeric entity.
99
+ */
100
+ result = 0;
101
+ /** The current index in the decode tree. */
102
+ treeIndex = 0;
103
+ /** The number of characters that were consumed in excess. */
104
+ excess = 1;
105
+ /** The mode in which the decoder is operating. */
106
+ decodeMode = DecodingMode.Strict;
107
+ /** The number of characters that have been consumed in the current run. */
108
+ runConsumed = 0;
109
+ /**
110
+ * Resets the instance to make it reusable.
111
+ * @param decodeMode Entity decoding mode to use.
112
+ */
109
113
  startEntity(decodeMode) {
110
114
  this.decodeMode = decodeMode;
111
115
  this.state = EntityDecoderState.EntityStart;
@@ -113,6 +117,7 @@ export class EntityDecoder {
113
117
  this.treeIndex = 0;
114
118
  this.excess = 1;
115
119
  this.consumed = 1;
120
+ this.runConsumed = 0;
116
121
  }
117
122
  /**
118
123
  * Write an entity to the decoder. This can be called multiple times with partial entities.
@@ -120,33 +125,32 @@ export class EntityDecoder {
120
125
  *
121
126
  * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the
122
127
  * entity is incomplete, and resume when the next string is written.
123
- *
124
- * @param string The string containing the entity (or a continuation of the entity).
128
+ * @param input The string containing the entity (or a continuation of the entity).
125
129
  * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.
126
130
  * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
127
131
  */
128
- write(str, offset) {
132
+ write(input, offset) {
129
133
  switch (this.state) {
130
134
  case EntityDecoderState.EntityStart: {
131
- if (str.charCodeAt(offset) === CharCodes.NUM) {
135
+ if (input.charCodeAt(offset) === CharCodes.NUM) {
132
136
  this.state = EntityDecoderState.NumericStart;
133
137
  this.consumed += 1;
134
- return this.stateNumericStart(str, offset + 1);
138
+ return this.stateNumericStart(input, offset + 1);
135
139
  }
136
140
  this.state = EntityDecoderState.NamedEntity;
137
- return this.stateNamedEntity(str, offset);
141
+ return this.stateNamedEntity(input, offset);
138
142
  }
139
143
  case EntityDecoderState.NumericStart: {
140
- return this.stateNumericStart(str, offset);
144
+ return this.stateNumericStart(input, offset);
141
145
  }
142
146
  case EntityDecoderState.NumericDecimal: {
143
- return this.stateNumericDecimal(str, offset);
147
+ return this.stateNumericDecimal(input, offset);
144
148
  }
145
149
  case EntityDecoderState.NumericHex: {
146
- return this.stateNumericHex(str, offset);
150
+ return this.stateNumericHex(input, offset);
147
151
  }
148
152
  case EntityDecoderState.NamedEntity: {
149
- return this.stateNamedEntity(str, offset);
153
+ return this.stateNamedEntity(input, offset);
150
154
  }
151
155
  }
152
156
  }
@@ -154,86 +158,75 @@ export class EntityDecoder {
154
158
  * Switches between the numeric decimal and hexadecimal states.
155
159
  *
156
160
  * Equivalent to the `Numeric character reference state` in the HTML spec.
157
- *
158
- * @param str The string containing the entity (or a continuation of the entity).
161
+ * @param input The string containing the entity (or a continuation of the entity).
159
162
  * @param offset The current offset.
160
163
  * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
161
164
  */
162
- stateNumericStart(str, offset) {
163
- if (offset >= str.length) {
165
+ stateNumericStart(input, offset) {
166
+ if (offset >= input.length) {
164
167
  return -1;
165
168
  }
166
- if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {
169
+ if ((input.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {
167
170
  this.state = EntityDecoderState.NumericHex;
168
171
  this.consumed += 1;
169
- return this.stateNumericHex(str, offset + 1);
172
+ return this.stateNumericHex(input, offset + 1);
170
173
  }
171
174
  this.state = EntityDecoderState.NumericDecimal;
172
- return this.stateNumericDecimal(str, offset);
173
- }
174
- addToNumericResult(str, start, end, base) {
175
- if (start !== end) {
176
- const digitCount = end - start;
177
- this.result =
178
- this.result * Math.pow(base, digitCount) +
179
- parseInt(str.substr(start, digitCount), base);
180
- this.consumed += digitCount;
181
- }
175
+ return this.stateNumericDecimal(input, offset);
182
176
  }
183
177
  /**
184
178
  * Parses a hexadecimal numeric entity.
185
179
  *
186
180
  * Equivalent to the `Hexademical character reference state` in the HTML spec.
187
- *
188
- * @param str The string containing the entity (or a continuation of the entity).
181
+ * @param input The string containing the entity (or a continuation of the entity).
189
182
  * @param offset The current offset.
190
183
  * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
191
184
  */
192
- stateNumericHex(str, offset) {
193
- const startIdx = offset;
194
- while (offset < str.length) {
195
- const char = str.charCodeAt(offset);
185
+ stateNumericHex(input, offset) {
186
+ while (offset < input.length) {
187
+ const char = input.charCodeAt(offset);
196
188
  if (isNumber(char) || isHexadecimalCharacter(char)) {
197
- offset += 1;
189
+ // Convert hex digit to value (0-15); 'a'/'A' -> 10.
190
+ const digit = char <= CharCodes.NINE
191
+ ? char - CharCodes.ZERO
192
+ : (char | TO_LOWER_BIT) - CharCodes.LOWER_A + 10;
193
+ this.result = this.result * 16 + digit;
194
+ this.consumed++;
195
+ offset++;
198
196
  }
199
197
  else {
200
- this.addToNumericResult(str, startIdx, offset, 16);
201
198
  return this.emitNumericEntity(char, 3);
202
199
  }
203
200
  }
204
- this.addToNumericResult(str, startIdx, offset, 16);
205
- return -1;
201
+ return -1; // Incomplete entity
206
202
  }
207
203
  /**
208
204
  * Parses a decimal numeric entity.
209
205
  *
210
206
  * Equivalent to the `Decimal character reference state` in the HTML spec.
211
- *
212
- * @param str The string containing the entity (or a continuation of the entity).
207
+ * @param input The string containing the entity (or a continuation of the entity).
213
208
  * @param offset The current offset.
214
209
  * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
215
210
  */
216
- stateNumericDecimal(str, offset) {
217
- const startIdx = offset;
218
- while (offset < str.length) {
219
- const char = str.charCodeAt(offset);
211
+ stateNumericDecimal(input, offset) {
212
+ while (offset < input.length) {
213
+ const char = input.charCodeAt(offset);
220
214
  if (isNumber(char)) {
221
- offset += 1;
215
+ this.result = this.result * 10 + (char - CharCodes.ZERO);
216
+ this.consumed++;
217
+ offset++;
222
218
  }
223
219
  else {
224
- this.addToNumericResult(str, startIdx, offset, 10);
225
220
  return this.emitNumericEntity(char, 2);
226
221
  }
227
222
  }
228
- this.addToNumericResult(str, startIdx, offset, 10);
229
- return -1;
223
+ return -1; // Incomplete entity
230
224
  }
231
225
  /**
232
226
  * Validate and emit a numeric entity.
233
227
  *
234
228
  * Implements the logic from the `Hexademical character reference start
235
229
  * state` and `Numeric character reference end state` in the HTML spec.
236
- *
237
230
  * @param lastCp The last code point of the entity. Used to see if the
238
231
  * entity was terminated with a semicolon.
239
232
  * @param expectedLength The minimum number of characters that should be
@@ -242,10 +235,9 @@ export class EntityDecoder {
242
235
  * @returns The number of characters that were consumed.
243
236
  */
244
237
  emitNumericEntity(lastCp, expectedLength) {
245
- var _a;
246
238
  // Ensure we consumed at least one digit.
247
239
  if (this.consumed <= expectedLength) {
248
- (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
240
+ this.errors?.absenceOfDigitsInNumericCharacterReference(this.consumed);
249
241
  return 0;
250
242
  }
251
243
  // Figure out if this is a legit end of the entity
@@ -268,18 +260,71 @@ export class EntityDecoder {
268
260
  * Parses a named entity.
269
261
  *
270
262
  * Equivalent to the `Named character reference state` in the HTML spec.
271
- *
272
- * @param str The string containing the entity (or a continuation of the entity).
263
+ * @param input The string containing the entity (or a continuation of the entity).
273
264
  * @param offset The current offset.
274
265
  * @returns The number of characters that were consumed, or -1 if the entity is incomplete.
275
266
  */
276
- stateNamedEntity(str, offset) {
267
+ stateNamedEntity(input, offset) {
277
268
  const { decodeTree } = this;
278
269
  let current = decodeTree[this.treeIndex];
279
- // The mask is the number of bytes of the value, including the current byte.
270
+ // The length is the number of bytes of the value, including the current byte.
280
271
  let valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;
281
- for (; offset < str.length; offset++, this.excess++) {
282
- const char = str.charCodeAt(offset);
272
+ while (offset < input.length) {
273
+ // Handle compact runs (possibly inline): valueLength == 0 and SEMI_REQUIRED bit set.
274
+ if (valueLength === 0 && (current & BinTrieFlags.FLAG13) !== 0) {
275
+ const runLength = (current & BinTrieFlags.BRANCH_LENGTH) >> 7; /* 2..63 */
276
+ // If we are starting a run, check the first char.
277
+ if (this.runConsumed === 0) {
278
+ const firstChar = current & BinTrieFlags.JUMP_TABLE;
279
+ if (input.charCodeAt(offset) !== firstChar) {
280
+ return this.result === 0
281
+ ? 0
282
+ : this.emitNotTerminatedNamedEntity();
283
+ }
284
+ offset++;
285
+ this.excess++;
286
+ this.runConsumed++;
287
+ }
288
+ // Check remaining characters in the run.
289
+ while (this.runConsumed < runLength) {
290
+ if (offset >= input.length) {
291
+ return -1;
292
+ }
293
+ const charIndexInPacked = this.runConsumed - 1;
294
+ const packedWord = decodeTree[this.treeIndex + 1 + (charIndexInPacked >> 1)];
295
+ const expectedChar = charIndexInPacked % 2 === 0
296
+ ? packedWord & 0xff
297
+ : (packedWord >> 8) & 0xff;
298
+ if (input.charCodeAt(offset) !== expectedChar) {
299
+ this.runConsumed = 0;
300
+ return this.result === 0
301
+ ? 0
302
+ : this.emitNotTerminatedNamedEntity();
303
+ }
304
+ offset++;
305
+ this.excess++;
306
+ this.runConsumed++;
307
+ }
308
+ this.runConsumed = 0;
309
+ this.treeIndex += 1 + (runLength >> 1);
310
+ current = decodeTree[this.treeIndex];
311
+ valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;
312
+ }
313
+ if (offset >= input.length)
314
+ break;
315
+ const char = input.charCodeAt(offset);
316
+ /*
317
+ * Implicit semicolon handling for nodes that require a semicolon but
318
+ * don't have an explicit ';' branch stored in the trie. If we have
319
+ * a value on the current node, it requires a semicolon, and the
320
+ * current input character is a semicolon, emit the entity using the
321
+ * current node (without descending further).
322
+ */
323
+ if (char === CharCodes.SEMI &&
324
+ valueLength !== 0 &&
325
+ (current & BinTrieFlags.FLAG13) !== 0) {
326
+ return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);
327
+ }
283
328
  this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);
284
329
  if (this.treeIndex < 0) {
285
330
  return this.result === 0 ||
@@ -301,41 +346,42 @@ export class EntityDecoder {
301
346
  return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);
302
347
  }
303
348
  // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.
304
- if (this.decodeMode !== DecodingMode.Strict) {
349
+ if (this.decodeMode !== DecodingMode.Strict &&
350
+ (current & BinTrieFlags.FLAG13) === 0) {
305
351
  this.result = this.treeIndex;
306
352
  this.consumed += this.excess;
307
353
  this.excess = 0;
308
354
  }
309
355
  }
356
+ // Increment offset & excess for next iteration
357
+ offset++;
358
+ this.excess++;
310
359
  }
311
360
  return -1;
312
361
  }
313
362
  /**
314
363
  * Emit a named entity that was not terminated with a semicolon.
315
- *
316
364
  * @returns The number of characters consumed.
317
365
  */
318
366
  emitNotTerminatedNamedEntity() {
319
- var _a;
320
367
  const { result, decodeTree } = this;
321
368
  const valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;
322
369
  this.emitNamedEntityData(result, valueLength, this.consumed);
323
- (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();
370
+ this.errors?.missingSemicolonAfterCharacterReference();
324
371
  return this.consumed;
325
372
  }
326
373
  /**
327
374
  * Emit a named entity.
328
- *
329
375
  * @param result The index of the entity in the decode tree.
330
376
  * @param valueLength The number of bytes in the entity.
331
377
  * @param consumed The number of characters consumed.
332
- *
333
378
  * @returns The number of characters consumed.
334
379
  */
335
380
  emitNamedEntityData(result, valueLength, consumed) {
336
381
  const { decodeTree } = this;
337
382
  this.emitCodePoint(valueLength === 1
338
- ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH
383
+ ? decodeTree[result] &
384
+ ~(BinTrieFlags.VALUE_LENGTH | BinTrieFlags.FLAG13)
339
385
  : decodeTree[result + 1], consumed);
340
386
  if (valueLength === 3) {
341
387
  // For multi-byte values, we need to emit the second byte.
@@ -347,11 +393,9 @@ export class EntityDecoder {
347
393
  * Signal to the parser that the end of the input was reached.
348
394
  *
349
395
  * Remaining data will be emitted and relevant errors will be produced.
350
- *
351
396
  * @returns The number of characters consumed.
352
397
  */
353
398
  end() {
354
- var _a;
355
399
  switch (this.state) {
356
400
  case EntityDecoderState.NamedEntity: {
357
401
  // Emit a named entity if we have one.
@@ -369,7 +413,7 @@ export class EntityDecoder {
369
413
  return this.emitNumericEntity(0, 3);
370
414
  }
371
415
  case EntityDecoderState.NumericStart: {
372
- (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);
416
+ this.errors?.absenceOfDigitsInNumericCharacterReference(this.consumed);
373
417
  return 0;
374
418
  }
375
419
  case EntityDecoderState.EntityStart: {
@@ -381,116 +425,120 @@ export class EntityDecoder {
381
425
  }
382
426
  /**
383
427
  * Creates a function that decodes entities in a string.
384
- *
385
428
  * @param decodeTree The decode tree.
386
429
  * @returns A function that decodes entities in a string.
387
430
  */
388
431
  function getDecoder(decodeTree) {
389
- let ret = "";
390
- const decoder = new EntityDecoder(decodeTree, (str) => (ret += fromCodePoint(str)));
391
- return function decodeWithTrie(str, decodeMode) {
432
+ let returnValue = "";
433
+ const decoder = new EntityDecoder(decodeTree, (data) => (returnValue += String.fromCodePoint(data)));
434
+ return function decodeWithTrie(input, decodeMode) {
392
435
  let lastIndex = 0;
393
436
  let offset = 0;
394
- while ((offset = str.indexOf("&", offset)) >= 0) {
395
- ret += str.slice(lastIndex, offset);
437
+ while ((offset = input.indexOf("&", offset)) >= 0) {
438
+ returnValue += input.slice(lastIndex, offset);
396
439
  decoder.startEntity(decodeMode);
397
- const len = decoder.write(str,
440
+ const length = decoder.write(input,
398
441
  // Skip the "&"
399
442
  offset + 1);
400
- if (len < 0) {
443
+ if (length < 0) {
401
444
  lastIndex = offset + decoder.end();
402
445
  break;
403
446
  }
404
- lastIndex = offset + len;
405
- // If `len` is 0, skip the current `&` and continue.
406
- offset = len === 0 ? lastIndex + 1 : lastIndex;
447
+ lastIndex = offset + length;
448
+ // If `length` is 0, skip the current `&` and continue.
449
+ offset = length === 0 ? lastIndex + 1 : lastIndex;
407
450
  }
408
- const result = ret + str.slice(lastIndex);
451
+ const result = returnValue + input.slice(lastIndex);
409
452
  // Make sure we don't keep a reference to the final string.
410
- ret = "";
453
+ returnValue = "";
411
454
  return result;
412
455
  };
413
456
  }
414
457
  /**
415
458
  * Determines the branch of the current node that is taken given the current
416
459
  * character. This function is used to traverse the trie.
417
- *
418
460
  * @param decodeTree The trie.
419
461
  * @param current The current node.
420
- * @param nodeIdx The index right after the current node and its value.
462
+ * @param nodeIndex Index immediately after the current node header.
421
463
  * @param char The current character.
422
464
  * @returns The index of the next node, or -1 if no branch is taken.
423
465
  */
424
- export function determineBranch(decodeTree, current, nodeIdx, char) {
466
+ export function determineBranch(decodeTree, current, nodeIndex, char) {
425
467
  const branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;
426
468
  const jumpOffset = current & BinTrieFlags.JUMP_TABLE;
427
469
  // Case 1: Single branch encoded in jump offset
428
470
  if (branchCount === 0) {
429
- return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;
471
+ return jumpOffset !== 0 && char === jumpOffset ? nodeIndex : -1;
430
472
  }
431
473
  // Case 2: Multiple branches encoded in jump table
432
474
  if (jumpOffset) {
433
475
  const value = char - jumpOffset;
434
476
  return value < 0 || value >= branchCount
435
477
  ? -1
436
- : decodeTree[nodeIdx + value] - 1;
478
+ : decodeTree[nodeIndex + value] - 1;
437
479
  }
438
- // Case 3: Multiple branches encoded in dictionary
439
- // Binary search for the character.
440
- let lo = nodeIdx;
441
- let hi = lo + branchCount - 1;
480
+ // Case 3: Multiple branches encoded in packed dictionary (two keys per uint16)
481
+ const packedKeySlots = (branchCount + 1) >> 1;
482
+ /*
483
+ * Treat packed keys as a virtual sorted array of length `branchCount`.
484
+ * Key(i) = low byte for even i, high byte for odd i in slot i>>1.
485
+ */
486
+ let lo = 0;
487
+ let hi = branchCount - 1;
442
488
  while (lo <= hi) {
443
489
  const mid = (lo + hi) >>> 1;
444
- const midVal = decodeTree[mid];
445
- if (midVal < char) {
490
+ const slot = mid >> 1;
491
+ const packed = decodeTree[nodeIndex + slot];
492
+ const midKey = (packed >> ((mid & 1) * 8)) & 0xff;
493
+ if (midKey < char) {
446
494
  lo = mid + 1;
447
495
  }
448
- else if (midVal > char) {
496
+ else if (midKey > char) {
449
497
  hi = mid - 1;
450
498
  }
451
499
  else {
452
- return decodeTree[mid + branchCount];
500
+ return decodeTree[nodeIndex + packedKeySlots + mid];
453
501
  }
454
502
  }
455
503
  return -1;
456
504
  }
457
- const htmlDecoder = getDecoder(htmlDecodeTree);
458
- const xmlDecoder = getDecoder(xmlDecodeTree);
505
+ const htmlDecoder = /* #__PURE__ */ getDecoder(htmlDecodeTree);
506
+ const xmlDecoder = /* #__PURE__ */ getDecoder(xmlDecodeTree);
459
507
  /**
460
508
  * Decodes an HTML string.
461
- *
462
- * @param str The string to decode.
509
+ * @param htmlString The string to decode.
463
510
  * @param mode The decoding mode.
464
511
  * @returns The decoded string.
465
512
  */
466
- export function decodeHTML(str, mode = DecodingMode.Legacy) {
467
- return htmlDecoder(str, mode);
513
+ export function decodeHTML(htmlString, mode = DecodingMode.Legacy) {
514
+ return htmlDecoder(htmlString, mode);
468
515
  }
469
516
  /**
470
517
  * Decodes an HTML string in an attribute.
471
- *
472
- * @param str The string to decode.
518
+ * @param htmlAttribute The string to decode.
473
519
  * @returns The decoded string.
474
520
  */
475
- export function decodeHTMLAttribute(str) {
476
- return htmlDecoder(str, DecodingMode.Attribute);
521
+ export function decodeHTMLAttribute(htmlAttribute) {
522
+ return htmlDecoder(htmlAttribute, DecodingMode.Attribute);
477
523
  }
478
524
  /**
479
525
  * Decodes an HTML string, requiring all entities to be terminated by a semicolon.
480
- *
481
- * @param str The string to decode.
526
+ * @param htmlString The string to decode.
482
527
  * @returns The decoded string.
483
528
  */
484
- export function decodeHTMLStrict(str) {
485
- return htmlDecoder(str, DecodingMode.Strict);
529
+ export function decodeHTMLStrict(htmlString) {
530
+ return htmlDecoder(htmlString, DecodingMode.Strict);
486
531
  }
487
532
  /**
488
533
  * Decodes an XML string, requiring all entities to be terminated by a semicolon.
489
- *
490
- * @param str The string to decode.
534
+ * @param xmlString The string to decode.
491
535
  * @returns The decoded string.
492
536
  */
493
- export function decodeXML(str) {
494
- return xmlDecoder(str, DecodingMode.Strict);
537
+ export function decodeXML(xmlString) {
538
+ return xmlDecoder(xmlString, DecodingMode.Strict);
495
539
  }
540
+ export { replaceCodePoint } from "./decode-codepoint.js";
541
+ // Re-export for use by eg. htmlparser2
542
+ export { htmlDecodeTree } from "./generated/decode-data-html.js";
543
+ export { xmlDecodeTree } from "./generated/decode-data-xml.js";
496
544
  //# sourceMappingURL=decode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode.js","sourceRoot":"","sources":["../src/decode.ts"],"names":[],"mappings":"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"}
@@ -8,8 +8,9 @@
8
8
  *
9
9
  * If a character has no equivalent entity, a numeric hexadecimal reference
10
10
  * (eg. `&#xfc;`) will be used.
11
+ * @param input Input string to encode or decode.
11
12
  */
12
- export declare function encodeHTML(data: string): string;
13
+ export declare function encodeHTML(input: string): string;
13
14
  /**
14
15
  * Encodes all non-ASCII characters, as well as characters not valid in HTML
15
16
  * documents using HTML entities. This function will not encode characters that
@@ -17,6 +18,7 @@ export declare function encodeHTML(data: string): string;
17
18
  *
18
19
  * If a character has no equivalent entity, a numeric hexadecimal reference
19
20
  * (eg. `&#xfc;`) will be used.
21
+ * @param input Input string to encode or decode.
20
22
  */
21
- export declare function encodeNonAsciiHTML(data: string): string;
23
+ export declare function encodeNonAsciiHTML(input: string): string;
22
24
  //# sourceMappingURL=encode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../src/encode.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhD;AACD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAExD"}