@openclaw/matrix 2026.7.2-beta.7 → 2026.7.33

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,646 +0,0 @@
1
- import reFactory from './lib/re.mjs'
2
-
3
- //
4
- // Helpers
5
- //
6
-
7
- // Merge objects
8
- //
9
- function assign (obj /* from1, from2, from3, ... */) {
10
- const sources = Array.prototype.slice.call(arguments, 1)
11
-
12
- sources.forEach(function (source) {
13
- if (!source) { return }
14
-
15
- Object.keys(source).forEach(function (key) {
16
- obj[key] = source[key]
17
- })
18
- })
19
-
20
- return obj
21
- }
22
-
23
- function _class (obj) { return Object.prototype.toString.call(obj) }
24
- function isString (obj) { return _class(obj) === '[object String]' }
25
- function isObject (obj) { return _class(obj) === '[object Object]' }
26
- function isRegExp (obj) { return _class(obj) === '[object RegExp]' }
27
- function isFunction (obj) { return _class(obj) === '[object Function]' }
28
-
29
- function escapeRE (str) { return str.replace(/[.?*+^$[\]\\(){}|-]/g, '\\$&') }
30
-
31
- //
32
-
33
- const defaultOptions = {
34
- fuzzyLink: true,
35
- fuzzyEmail: true,
36
- fuzzyIP: false
37
- }
38
-
39
- function isOptionsObj (obj) {
40
- return Object.keys(obj || {}).reduce(function (acc, k) {
41
- /* eslint-disable-next-line no-prototype-builtins */
42
- return acc || defaultOptions.hasOwnProperty(k)
43
- }, false)
44
- }
45
-
46
- const defaultSchemas = {
47
- 'http:': {
48
- validate: function (text, pos, self) {
49
- const tail = text.slice(pos)
50
-
51
- if (!self.re.http) {
52
- // compile lazily, because "host"-containing variables can change on tlds update.
53
- self.re.http = new RegExp(
54
- `^\\/\\/${self.re.src_auth}${self.re.src_host_port_strict}${self.re.src_path}`, 'i'
55
- )
56
- }
57
- if (self.re.http.test(tail)) {
58
- return tail.match(self.re.http)[0].length
59
- }
60
- return 0
61
- }
62
- },
63
- 'https:': 'http:',
64
- 'ftp:': 'http:',
65
- '//': {
66
- validate: function (text, pos, self) {
67
- const tail = text.slice(pos)
68
-
69
- if (!self.re.no_http) {
70
- // compile lazily, because "host"-containing variables can change on tlds update.
71
- self.re.no_http = new RegExp(
72
- '^' +
73
- self.re.src_auth +
74
- // Don't allow single-level domains, because of false positives like '//test'
75
- // with code comments
76
- `(?:localhost|(?:(?:${self.re.src_domain})\\.)+${self.re.src_domain_root})` +
77
- self.re.src_port +
78
- self.re.src_host_terminator +
79
- self.re.src_path,
80
-
81
- 'i'
82
- )
83
- }
84
-
85
- if (self.re.no_http.test(tail)) {
86
- // should not be `://` & `///`, that protects from errors in protocol name
87
- if (pos >= 3 && text[pos - 3] === ':') { return 0 }
88
- if (pos >= 3 && text[pos - 3] === '/') { return 0 }
89
- return tail.match(self.re.no_http)[0].length
90
- }
91
- return 0
92
- }
93
- },
94
- 'mailto:': {
95
- validate: function (text, pos, self) {
96
- const tail = text.slice(pos)
97
-
98
- if (!self.re.mailto) {
99
- self.re.mailto = new RegExp(
100
- `^${self.re.src_email_name}@${self.re.src_host_strict}`, 'i'
101
- )
102
- }
103
- if (self.re.mailto.test(tail)) {
104
- return tail.match(self.re.mailto)[0].length
105
- }
106
- return 0
107
- }
108
- }
109
- }
110
-
111
- // RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js)
112
- const tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]'
113
-
114
- // DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead
115
- const tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|')
116
-
117
- function createValidator (re) {
118
- return function (text, pos) {
119
- const tail = text.slice(pos)
120
-
121
- if (re.test(tail)) {
122
- return tail.match(re)[0].length
123
- }
124
- return 0
125
- }
126
- }
127
-
128
- function createNormalizer () {
129
- return function (match, self) {
130
- self.normalize(match)
131
- }
132
- }
133
-
134
- // Schemas compiler. Build regexps.
135
- //
136
- function compile (self) {
137
- // Load & clone RE patterns.
138
- const re = self.re = reFactory(self.__opts__)
139
-
140
- // Define dynamic patterns
141
- const tlds = self.__tlds__.slice()
142
-
143
- self.onCompile()
144
-
145
- if (!self.__tlds_replaced__) {
146
- tlds.push(tlds_2ch_src_re)
147
- }
148
- tlds.push(re.src_xn)
149
-
150
- re.src_tlds = tlds.join('|')
151
-
152
- function untpl (tpl) { return tpl.replace('%TLDS%', re.src_tlds) }
153
-
154
- re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i')
155
- re.email_fuzzy_global = RegExp(untpl(re.tpl_email_fuzzy), 'ig')
156
- re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i')
157
- re.link_fuzzy_global = RegExp(untpl(re.tpl_link_fuzzy), 'ig')
158
- re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i')
159
- re.link_no_ip_fuzzy_global = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'ig')
160
- re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i')
161
-
162
- //
163
- // Compile each schema
164
- //
165
-
166
- const aliases = []
167
-
168
- self.__compiled__ = {} // Reset compiled data
169
-
170
- function schemaError (name, val) {
171
- throw new Error(`(LinkifyIt) Invalid schema "${name}": ${val}`)
172
- }
173
-
174
- Object.keys(self.__schemas__).forEach(function (name) {
175
- const val = self.__schemas__[name]
176
-
177
- // skip disabled methods
178
- if (val === null) { return }
179
-
180
- const compiled = { validate: null, link: null }
181
-
182
- self.__compiled__[name] = compiled
183
-
184
- if (isObject(val)) {
185
- if (isRegExp(val.validate)) {
186
- compiled.validate = createValidator(val.validate)
187
- } else if (isFunction(val.validate)) {
188
- compiled.validate = val.validate
189
- } else {
190
- schemaError(name, val)
191
- }
192
-
193
- if (isFunction(val.normalize)) {
194
- compiled.normalize = val.normalize
195
- } else if (!val.normalize) {
196
- compiled.normalize = createNormalizer()
197
- } else {
198
- schemaError(name, val)
199
- }
200
-
201
- return
202
- }
203
-
204
- if (isString(val)) {
205
- aliases.push(name)
206
- return
207
- }
208
-
209
- schemaError(name, val)
210
- })
211
-
212
- //
213
- // Compile postponed aliases
214
- //
215
-
216
- aliases.forEach(function (alias) {
217
- if (!self.__compiled__[self.__schemas__[alias]]) {
218
- // Silently fail on missed schemas to avoid errons on disable.
219
- // schemaError(alias, self.__schemas__[alias]);
220
- return
221
- }
222
-
223
- self.__compiled__[alias].validate =
224
- self.__compiled__[self.__schemas__[alias]].validate
225
- self.__compiled__[alias].normalize =
226
- self.__compiled__[self.__schemas__[alias]].normalize
227
- })
228
-
229
- //
230
- // Fake record for guessed links
231
- //
232
- self.__compiled__[''] = { validate: null, normalize: createNormalizer() }
233
-
234
- //
235
- // Build schema condition
236
- //
237
- const slist = Object.keys(self.__compiled__)
238
- .filter(function (name) {
239
- // Filter disabled & fake schemas
240
- return name.length > 0 && self.__compiled__[name]
241
- })
242
- .map(escapeRE)
243
- .join('|')
244
- // (?!_) cause 1.5x slowdown
245
- self.re.schema_test = RegExp(`(^|(?!_)(?:[><\uff5c]|${re.src_ZPCc}))(${slist})`, 'i')
246
- self.re.schema_search = RegExp(`(^|(?!_)(?:[><\uff5c]|${re.src_ZPCc}))(${slist})`, 'ig')
247
- self.re.schema_at_start = RegExp(`^${self.re.schema_search.source}`, 'i')
248
-
249
- self.re.pretest = RegExp(
250
- `(${self.re.schema_test.source})|(${self.re.host_fuzzy_test.source})|@`,
251
- 'i'
252
- )
253
- }
254
-
255
- /**
256
- * class Match
257
- *
258
- * Match result. Single element of array, returned by [[LinkifyIt#match]]
259
- **/
260
- function Match (text, schema, index, lastIndex) {
261
- const raw = text.slice(index, lastIndex)
262
-
263
- /**
264
- * Match#schema -> String
265
- *
266
- * Prefix (protocol) for matched string.
267
- **/
268
- this.schema = schema.toLowerCase()
269
- /**
270
- * Match#index -> Number
271
- *
272
- * First position of matched string.
273
- **/
274
- this.index = index
275
- /**
276
- * Match#lastIndex -> Number
277
- *
278
- * Next position after matched string.
279
- **/
280
- this.lastIndex = lastIndex
281
- /**
282
- * Match#raw -> String
283
- *
284
- * Matched string.
285
- **/
286
- this.raw = raw
287
- /**
288
- * Match#text -> String
289
- *
290
- * Notmalized text of matched string.
291
- **/
292
- this.text = raw
293
- /**
294
- * Match#url -> String
295
- *
296
- * Normalized url of matched string.
297
- **/
298
- this.url = raw
299
- }
300
-
301
- /**
302
- * class LinkifyIt
303
- **/
304
-
305
- /**
306
- * new LinkifyIt(schemas, options)
307
- * - schemas (Object): Optional. Additional schemas to validate (prefix/validator)
308
- * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }
309
- *
310
- * Creates new linkifier instance with optional additional schemas.
311
- * Can be called without `new` keyword for convenience.
312
- *
313
- * By default understands:
314
- *
315
- * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links
316
- * - "fuzzy" links and emails (example.com, foo@bar.com).
317
- *
318
- * `schemas` is an object, where each key/value describes protocol/rule:
319
- *
320
- * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:`
321
- * for example). `linkify-it` makes shure that prefix is not preceeded with
322
- * alphanumeric char and symbols. Only whitespaces and punctuation allowed.
323
- * - __value__ - rule to check tail after link prefix
324
- * - _String_ - just alias to existing rule
325
- * - _Object_
326
- * - _validate_ - validator function (should return matched length on success),
327
- * or `RegExp`.
328
- * - _normalize_ - optional function to normalize text & url of matched result
329
- * (for example, for @twitter mentions).
330
- *
331
- * `options`:
332
- *
333
- * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`.
334
- * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts
335
- * like version numbers. Default `false`.
336
- * - __fuzzyEmail__ - recognize emails without `mailto:` prefix.
337
- *
338
- **/
339
- function LinkifyIt (schemas, options) {
340
- if (!(this instanceof LinkifyIt)) {
341
- return new LinkifyIt(schemas, options)
342
- }
343
-
344
- if (!options) {
345
- if (isOptionsObj(schemas)) {
346
- options = schemas
347
- schemas = {}
348
- }
349
- }
350
-
351
- this.__opts__ = assign({}, defaultOptions, options)
352
-
353
- this.__schemas__ = assign({}, defaultSchemas, schemas)
354
- this.__compiled__ = {}
355
-
356
- this.__tlds__ = tlds_default
357
- this.__tlds_replaced__ = false
358
-
359
- this.re = {}
360
-
361
- compile(this)
362
- }
363
-
364
- /** chainable
365
- * LinkifyIt#add(schema, definition)
366
- * - schema (String): rule name (fixed pattern prefix)
367
- * - definition (String|RegExp|Object): schema definition
368
- *
369
- * Add new rule definition. See constructor description for details.
370
- **/
371
- LinkifyIt.prototype.add = function add (schema, definition) {
372
- this.__schemas__[schema] = definition
373
- compile(this)
374
- return this
375
- }
376
-
377
- /** chainable
378
- * LinkifyIt#set(options)
379
- * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }
380
- *
381
- * Set recognition options for links without schema.
382
- **/
383
- LinkifyIt.prototype.set = function set (options) {
384
- this.__opts__ = assign(this.__opts__, options)
385
- return this
386
- }
387
-
388
- /**
389
- * LinkifyIt#test(text) -> Boolean
390
- *
391
- * Searches linkifiable pattern and returns `true` on success or `false` on fail.
392
- **/
393
- LinkifyIt.prototype.test = function test (text) {
394
- if (!text.length) { return false }
395
-
396
- let m, re
397
-
398
- // try to scan for link with schema - that's the most simple rule
399
- if (this.re.schema_test.test(text)) {
400
- re = this.re.schema_search
401
- re.lastIndex = 0
402
- while ((m = re.exec(text)) !== null) {
403
- if (this.testSchemaAt(text, m[2], re.lastIndex)) { return true }
404
- }
405
- }
406
-
407
- if (this.__opts__.fuzzyLink && this.__compiled__['http:']) {
408
- // guess schemaless links
409
- if (text.search(this.re.host_fuzzy_test) >= 0) {
410
- if (text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy) !== null) {
411
- return true
412
- }
413
- }
414
- }
415
-
416
- if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) {
417
- // guess schemaless emails
418
- if (text.indexOf('@') >= 0) {
419
- // We can't skip this check, because this cases are possible:
420
- // 192.168.1.1@gmail.com, my.in@example.com
421
- if (text.match(this.re.email_fuzzy) !== null) { return true }
422
- }
423
- }
424
-
425
- return false
426
- }
427
-
428
- /**
429
- * LinkifyIt#pretest(text) -> Boolean
430
- *
431
- * Very quick check, that can give false positives. Returns true if link MAY BE
432
- * can exists. Can be used for speed optimization, when you need to check that
433
- * link NOT exists.
434
- **/
435
- LinkifyIt.prototype.pretest = function pretest (text) {
436
- return this.re.pretest.test(text)
437
- }
438
-
439
- /**
440
- * LinkifyIt#testSchemaAt(text, name, position) -> Number
441
- * - text (String): text to scan
442
- * - name (String): rule (schema) name
443
- * - position (Number): text offset to check from
444
- *
445
- * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly
446
- * at given position. Returns length of found pattern (0 on fail).
447
- **/
448
- LinkifyIt.prototype.testSchemaAt = function testSchemaAt (text, schema, pos) {
449
- // If not supported schema check requested - terminate
450
- if (!this.__compiled__[schema.toLowerCase()]) {
451
- return 0
452
- }
453
- return this.__compiled__[schema.toLowerCase()].validate(text, pos, this)
454
- }
455
-
456
- /**
457
- * LinkifyIt#match(text) -> Array|null
458
- *
459
- * Returns array of found link descriptions or `null` on fail. We strongly
460
- * recommend to use [[LinkifyIt#test]] first, for best speed.
461
- *
462
- * ##### Result match description
463
- *
464
- * - __schema__ - link schema, can be empty for fuzzy links, or `//` for
465
- * protocol-neutral links.
466
- * - __index__ - offset of matched text
467
- * - __lastIndex__ - index of next char after mathch end
468
- * - __raw__ - matched text
469
- * - __text__ - normalized text
470
- * - __url__ - link, generated from matched text
471
- **/
472
- LinkifyIt.prototype.match = function match (text) {
473
- const result = []
474
- const type_schemed = []
475
- const type_fuzzy_link = []
476
- const type_fuzzy_email = []
477
- let m, len, re
478
-
479
- function choose (a, b) {
480
- if (!a) { return b }
481
- if (!b) { return a }
482
- if (a.index !== b.index) { return a.index < b.index ? a : b }
483
- return a.lastIndex >= b.lastIndex ? a : b
484
- }
485
-
486
- if (!text.length) { return null }
487
-
488
- // scan for links with schema
489
- if (this.re.schema_test.test(text)) {
490
- re = this.re.schema_search
491
- re.lastIndex = 0
492
- while ((m = re.exec(text)) !== null) {
493
- len = this.testSchemaAt(text, m[2], re.lastIndex)
494
- if (len) {
495
- type_schemed.push({
496
- schema: m[2],
497
- index: m.index + m[1].length,
498
- lastIndex: m.index + m[0].length + len
499
- })
500
- }
501
- }
502
- }
503
-
504
- if (this.__opts__.fuzzyLink && this.__compiled__['http:']) {
505
- re = this.__opts__.fuzzyIP ? this.re.link_fuzzy_global : this.re.link_no_ip_fuzzy_global
506
- re.lastIndex = 0
507
- while ((m = re.exec(text)) !== null) {
508
- type_fuzzy_link.push({
509
- schema: '',
510
- index: m.index + m[1].length,
511
- lastIndex: m.index + m[0].length
512
- })
513
- }
514
- }
515
-
516
- if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) {
517
- re = this.re.email_fuzzy_global
518
- re.lastIndex = 0
519
- while ((m = re.exec(text)) !== null) {
520
- type_fuzzy_email.push({
521
- schema: 'mailto:',
522
- index: m.index + m[1].length,
523
- lastIndex: m.index + m[0].length
524
- })
525
- }
526
- }
527
-
528
- const indexes = [0, 0, 0]
529
- let lastIndex = 0
530
-
531
- for (;;) {
532
- const candidates = [
533
- type_schemed[indexes[0]],
534
- type_fuzzy_email[indexes[1]],
535
- type_fuzzy_link[indexes[2]]
536
- ]
537
-
538
- const candidate = choose(choose(candidates[0], candidates[1]), candidates[2])
539
-
540
- if (!candidate) { break }
541
-
542
- if (candidate === candidates[0]) {
543
- indexes[0]++
544
- } else if (candidate === candidates[1]) {
545
- indexes[1]++
546
- } else {
547
- indexes[2]++
548
- }
549
-
550
- if (candidate.index < lastIndex) { continue }
551
-
552
- const match = new Match(text, candidate.schema, candidate.index, candidate.lastIndex)
553
- this.__compiled__[match.schema].normalize(match, this)
554
- result.push(match)
555
- lastIndex = candidate.lastIndex
556
- }
557
-
558
- if (result.length) {
559
- return result
560
- }
561
-
562
- return null
563
- }
564
-
565
- /**
566
- * LinkifyIt#matchAtStart(text) -> Match|null
567
- *
568
- * Returns fully-formed (not fuzzy) link if it starts at the beginning
569
- * of the string, and null otherwise.
570
- **/
571
- LinkifyIt.prototype.matchAtStart = function matchAtStart (text) {
572
- if (!text.length) return null
573
-
574
- const m = this.re.schema_at_start.exec(text)
575
- if (!m) return null
576
-
577
- const len = this.testSchemaAt(text, m[2], m[0].length)
578
- if (!len) return null
579
-
580
- const match = new Match(text, m[2], m.index + m[1].length, m.index + m[0].length + len)
581
-
582
- this.__compiled__[match.schema].normalize(match, this)
583
- return match
584
- }
585
-
586
- /** chainable
587
- * LinkifyIt#tlds(list [, keepOld]) -> this
588
- * - list (Array): list of tlds
589
- * - keepOld (Boolean): merge with current list if `true` (`false` by default)
590
- *
591
- * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix)
592
- * to avoid false positives. By default this algorythm used:
593
- *
594
- * - hostname with any 2-letter root zones are ok.
595
- * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф
596
- * are ok.
597
- * - encoded (`xn--...`) root zones are ok.
598
- *
599
- * If list is replaced, then exact match for 2-chars root zones will be checked.
600
- **/
601
- LinkifyIt.prototype.tlds = function tlds (list, keepOld) {
602
- list = Array.isArray(list) ? list : [list]
603
-
604
- if (!keepOld) {
605
- this.__tlds__ = list.slice()
606
- this.__tlds_replaced__ = true
607
- compile(this)
608
- return this
609
- }
610
-
611
- this.__tlds__ = this.__tlds__.concat(list)
612
- .sort()
613
- .filter(function (el, idx, arr) {
614
- return el !== arr[idx - 1]
615
- })
616
- .reverse()
617
-
618
- compile(this)
619
- return this
620
- }
621
-
622
- /**
623
- * LinkifyIt#normalize(match)
624
- *
625
- * Default normalizer (if schema does not define it's own).
626
- **/
627
- LinkifyIt.prototype.normalize = function normalize (match) {
628
- // Do minimal possible changes by default. Need to collect feedback prior
629
- // to move forward https://github.com/markdown-it/linkify-it/issues/1
630
-
631
- if (!match.schema) { match.url = `http://${match.url}` }
632
-
633
- if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) {
634
- match.url = `mailto:${match.url}`
635
- }
636
- }
637
-
638
- /**
639
- * LinkifyIt#onCompile()
640
- *
641
- * Override to modify basic RegExp-s.
642
- **/
643
- LinkifyIt.prototype.onCompile = function onCompile () {
644
- }
645
-
646
- export default LinkifyIt