@archipelagolab/lobi 1.0.5 → 1.0.7

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 (1159) hide show
  1. package/CHANGELOG.md +164 -0
  2. package/SPEC-SUPPORT.md +116 -0
  3. package/api.ts +18 -0
  4. package/auth-presence.ts +56 -0
  5. package/channel-plugin-api.ts +3 -0
  6. package/cli-metadata.ts +11 -0
  7. package/contract-api.ts +17 -0
  8. package/helper-api.ts +3 -0
  9. package/index.test.ts +61 -0
  10. package/index.ts +51 -0
  11. package/openclaw.plugin.json +10 -10
  12. package/package.json +13 -19
  13. package/plugin-entry.handlers.runtime.ts +1 -0
  14. package/runtime-api.ts +54 -0
  15. package/runtime-heavy-api.ts +1 -0
  16. package/secret-contract-api.ts +5 -0
  17. package/setup-entry.ts +13 -0
  18. package/src/account-selection.test.ts +124 -0
  19. package/src/account-selection.ts +220 -0
  20. package/src/actions.account-propagation.test.ts +251 -0
  21. package/src/actions.test.ts +251 -0
  22. package/src/actions.ts +336 -0
  23. package/src/approval-auth.test.ts +23 -0
  24. package/src/approval-auth.ts +25 -0
  25. package/src/approval-handler.runtime.test.ts +46 -0
  26. package/src/approval-handler.runtime.ts +400 -0
  27. package/src/approval-ids.ts +6 -0
  28. package/src/approval-native.test.ts +329 -0
  29. package/src/approval-native.ts +336 -0
  30. package/src/approval-reactions.test.ts +107 -0
  31. package/src/approval-reactions.ts +158 -0
  32. package/src/auth-precedence.ts +61 -0
  33. package/src/channel-account-paths.ts +92 -0
  34. package/src/channel.account-paths.test.ts +102 -0
  35. package/src/channel.directory.test.ts +601 -0
  36. package/src/channel.resolve.test.ts +38 -0
  37. package/src/channel.runtime.ts +16 -0
  38. package/src/channel.setup.test.ts +269 -0
  39. package/src/channel.ts +570 -0
  40. package/src/cli-metadata.ts +19 -0
  41. package/src/cli.test.ts +1015 -0
  42. package/src/cli.ts +1198 -0
  43. package/src/config-adapter.ts +41 -0
  44. package/src/config-schema.test.ts +90 -0
  45. package/src/config-schema.ts +114 -0
  46. package/src/directory-live.test.ts +200 -0
  47. package/src/directory-live.ts +238 -0
  48. package/src/doctor-contract.ts +287 -0
  49. package/src/doctor.test.ts +440 -0
  50. package/src/doctor.ts +262 -0
  51. package/src/env-vars.ts +92 -0
  52. package/src/exec-approval-resolver.test.ts +68 -0
  53. package/src/exec-approval-resolver.ts +23 -0
  54. package/src/exec-approvals.test.ts +483 -0
  55. package/src/exec-approvals.ts +290 -0
  56. package/src/group-mentions.ts +41 -0
  57. package/src/legacy-crypto-inspector-availability.test.ts +81 -0
  58. package/src/legacy-crypto-inspector-availability.ts +60 -0
  59. package/src/legacy-crypto.test.ts +234 -0
  60. package/src/legacy-crypto.ts +549 -0
  61. package/src/legacy-state.test.ts +86 -0
  62. package/src/legacy-state.ts +156 -0
  63. package/src/matrix/account-config.ts +150 -0
  64. package/src/matrix/accounts.readiness.test.ts +27 -0
  65. package/src/matrix/accounts.test.ts +757 -0
  66. package/src/matrix/accounts.ts +194 -0
  67. package/src/matrix/actions/client.test.ts +215 -0
  68. package/src/matrix/actions/client.ts +31 -0
  69. package/src/matrix/actions/devices.test.ts +114 -0
  70. package/src/matrix/actions/devices.ts +34 -0
  71. package/src/matrix/actions/limits.test.ts +15 -0
  72. package/src/matrix/actions/limits.ts +6 -0
  73. package/src/matrix/actions/messages.test.ts +289 -0
  74. package/src/matrix/actions/messages.ts +123 -0
  75. package/src/matrix/actions/pins.test.ts +74 -0
  76. package/src/matrix/actions/pins.ts +64 -0
  77. package/src/matrix/actions/polls.test.ts +71 -0
  78. package/src/matrix/actions/polls.ts +109 -0
  79. package/src/matrix/actions/profile.test.ts +109 -0
  80. package/src/matrix/actions/profile.ts +37 -0
  81. package/src/matrix/actions/reactions.test.ts +135 -0
  82. package/src/matrix/actions/reactions.ts +59 -0
  83. package/src/matrix/actions/room.test.ts +79 -0
  84. package/src/matrix/actions/room.ts +71 -0
  85. package/src/matrix/actions/summary.test.ts +87 -0
  86. package/src/matrix/actions/summary.ts +88 -0
  87. package/src/matrix/actions/types.ts +82 -0
  88. package/src/matrix/actions/verification.test.ts +105 -0
  89. package/src/matrix/actions/verification.ts +237 -0
  90. package/src/matrix/actions.ts +37 -0
  91. package/src/matrix/active-client.ts +26 -0
  92. package/src/matrix/async-lock.ts +18 -0
  93. package/src/matrix/backup-health.ts +115 -0
  94. package/src/matrix/client/config-runtime-api.ts +14 -0
  95. package/src/matrix/client/config-secret-input.runtime.ts +1 -0
  96. package/src/matrix/client/config.ts +979 -0
  97. package/src/matrix/client/create-client.test.ts +115 -0
  98. package/src/matrix/client/create-client.ts +101 -0
  99. package/src/matrix/client/env-auth.ts +6 -0
  100. package/src/matrix/client/file-sync-store.test.ts +265 -0
  101. package/src/matrix/client/file-sync-store.ts +289 -0
  102. package/src/matrix/client/logging.ts +123 -0
  103. package/src/matrix/client/migration-snapshot.runtime.ts +1 -0
  104. package/src/matrix/client/private-network-host.ts +56 -0
  105. package/src/matrix/client/runtime.ts +4 -0
  106. package/src/matrix/client/shared.test.ts +344 -0
  107. package/src/matrix/client/shared.ts +306 -0
  108. package/src/matrix/client/storage.test.ts +634 -0
  109. package/src/matrix/client/storage.ts +544 -0
  110. package/src/matrix/client/types.ts +50 -0
  111. package/src/matrix/client-bootstrap.test.ts +84 -0
  112. package/src/matrix/client-bootstrap.ts +164 -0
  113. package/src/matrix/client-resolver.test-helpers.ts +147 -0
  114. package/src/matrix/client.test.ts +1521 -0
  115. package/src/matrix/client.ts +23 -0
  116. package/src/matrix/config-paths.ts +31 -0
  117. package/src/matrix/config-update.test.ts +237 -0
  118. package/src/matrix/config-update.ts +291 -0
  119. package/src/matrix/credentials-read.ts +206 -0
  120. package/src/matrix/credentials-write.runtime.ts +26 -0
  121. package/src/matrix/credentials.test.ts +501 -0
  122. package/src/matrix/credentials.ts +95 -0
  123. package/src/matrix/deps.test.ts +74 -0
  124. package/src/matrix/deps.ts +225 -0
  125. package/src/matrix/device-health.test.ts +45 -0
  126. package/src/matrix/device-health.ts +31 -0
  127. package/src/matrix/direct-management.test.ts +350 -0
  128. package/src/matrix/direct-management.ts +347 -0
  129. package/src/matrix/direct-room.test.ts +61 -0
  130. package/src/matrix/direct-room.ts +128 -0
  131. package/src/matrix/draft-stream.test.ts +406 -0
  132. package/src/matrix/draft-stream.ts +216 -0
  133. package/src/matrix/encryption-guidance.ts +27 -0
  134. package/src/matrix/errors.ts +21 -0
  135. package/src/matrix/format.test.ts +340 -0
  136. package/src/matrix/format.ts +428 -0
  137. package/src/matrix/legacy-crypto-inspector.ts +95 -0
  138. package/src/matrix/media-errors.ts +20 -0
  139. package/src/matrix/media-text.ts +169 -0
  140. package/src/matrix/monitor/access-state.test.ts +45 -0
  141. package/src/matrix/monitor/access-state.ts +77 -0
  142. package/src/matrix/monitor/ack-config.test.ts +57 -0
  143. package/src/matrix/monitor/ack-config.ts +26 -0
  144. package/src/matrix/monitor/allowlist.test.ts +45 -0
  145. package/src/matrix/monitor/allowlist.ts +94 -0
  146. package/src/matrix/monitor/auto-join.test.ts +203 -0
  147. package/src/matrix/monitor/auto-join.ts +86 -0
  148. package/src/matrix/monitor/config.test.ts +197 -0
  149. package/src/matrix/monitor/config.ts +303 -0
  150. package/src/matrix/monitor/context-summary.ts +43 -0
  151. package/src/matrix/monitor/direct.test.ts +529 -0
  152. package/src/matrix/monitor/direct.ts +270 -0
  153. package/src/matrix/monitor/events.test.ts +1524 -0
  154. package/src/matrix/monitor/events.ts +213 -0
  155. package/src/matrix/monitor/handler.body-for-agent.test.ts +396 -0
  156. package/src/matrix/monitor/handler.group-history.test.ts +648 -0
  157. package/src/matrix/monitor/handler.media-failure.test.ts +267 -0
  158. package/src/matrix/monitor/handler.test-helpers.ts +308 -0
  159. package/src/matrix/monitor/handler.test.ts +2952 -0
  160. package/src/matrix/monitor/handler.thread-root-media.test.ts +82 -0
  161. package/src/matrix/monitor/handler.ts +1679 -0
  162. package/src/matrix/monitor/inbound-dedupe.test.ts +146 -0
  163. package/src/matrix/monitor/inbound-dedupe.ts +267 -0
  164. package/src/matrix/monitor/index.test.ts +920 -0
  165. package/src/matrix/monitor/index.ts +434 -0
  166. package/src/matrix/monitor/legacy-crypto-restore.test.ts +206 -0
  167. package/src/matrix/monitor/legacy-crypto-restore.ts +139 -0
  168. package/src/matrix/monitor/location.ts +100 -0
  169. package/src/matrix/monitor/media.test.ts +159 -0
  170. package/src/matrix/monitor/media.ts +119 -0
  171. package/src/matrix/monitor/mentions.test.ts +289 -0
  172. package/src/matrix/monitor/mentions.ts +177 -0
  173. package/src/matrix/monitor/reaction-events.test.ts +326 -0
  174. package/src/matrix/monitor/reaction-events.ts +187 -0
  175. package/src/matrix/monitor/recent-invite.test.ts +92 -0
  176. package/src/matrix/monitor/recent-invite.ts +30 -0
  177. package/src/matrix/monitor/replies.test.ts +265 -0
  178. package/src/matrix/monitor/replies.ts +136 -0
  179. package/src/matrix/monitor/reply-context.test.ts +276 -0
  180. package/src/matrix/monitor/reply-context.ts +92 -0
  181. package/src/matrix/monitor/room-history.test.ts +258 -0
  182. package/src/matrix/monitor/room-history.ts +301 -0
  183. package/src/matrix/monitor/room-info.test.ts +201 -0
  184. package/src/matrix/monitor/room-info.ts +126 -0
  185. package/src/matrix/monitor/rooms.test.ts +121 -0
  186. package/src/matrix/monitor/rooms.ts +52 -0
  187. package/src/matrix/monitor/route.test.ts +255 -0
  188. package/src/matrix/monitor/route.ts +178 -0
  189. package/src/matrix/monitor/runtime-api.ts +31 -0
  190. package/src/matrix/monitor/startup-verification.test.ts +294 -0
  191. package/src/matrix/monitor/startup-verification.ts +237 -0
  192. package/src/matrix/monitor/startup.test.ts +257 -0
  193. package/src/matrix/monitor/startup.ts +218 -0
  194. package/src/matrix/monitor/status.ts +111 -0
  195. package/src/matrix/monitor/sync-lifecycle.test.ts +224 -0
  196. package/src/matrix/monitor/sync-lifecycle.ts +91 -0
  197. package/src/matrix/monitor/task-runner.ts +38 -0
  198. package/src/matrix/monitor/thread-context.test.ts +149 -0
  199. package/src/matrix/monitor/thread-context.ts +108 -0
  200. package/src/matrix/monitor/threads.test.ts +68 -0
  201. package/src/matrix/monitor/threads.ts +85 -0
  202. package/src/matrix/monitor/types.ts +30 -0
  203. package/src/matrix/monitor/verification-events.ts +627 -0
  204. package/src/matrix/monitor/verification-utils.test.ts +47 -0
  205. package/src/matrix/monitor/verification-utils.ts +46 -0
  206. package/src/matrix/outbound-media-runtime.ts +1 -0
  207. package/src/matrix/poll-summary.ts +110 -0
  208. package/src/matrix/poll-types.test.ts +205 -0
  209. package/src/matrix/poll-types.ts +433 -0
  210. package/src/matrix/probe.runtime.ts +4 -0
  211. package/src/matrix/probe.test.ts +154 -0
  212. package/src/matrix/probe.ts +96 -0
  213. package/src/matrix/profile.test.ts +154 -0
  214. package/src/matrix/profile.ts +184 -0
  215. package/src/matrix/reaction-common.test.ts +96 -0
  216. package/src/matrix/reaction-common.ts +147 -0
  217. package/src/matrix/sdk/crypto-bootstrap.test.ts +505 -0
  218. package/src/matrix/sdk/crypto-bootstrap.ts +341 -0
  219. package/src/matrix/sdk/crypto-facade.test.ts +197 -0
  220. package/src/matrix/sdk/crypto-facade.ts +207 -0
  221. package/src/matrix/sdk/crypto-node.runtime.test.ts +27 -0
  222. package/src/matrix/sdk/crypto-node.runtime.ts +9 -0
  223. package/src/matrix/sdk/crypto-runtime.ts +11 -0
  224. package/src/matrix/sdk/decrypt-bridge.ts +356 -0
  225. package/src/matrix/sdk/event-helpers.test.ts +60 -0
  226. package/src/matrix/sdk/event-helpers.ts +71 -0
  227. package/src/matrix/sdk/http-client.test.ts +134 -0
  228. package/src/matrix/sdk/http-client.ts +87 -0
  229. package/src/matrix/sdk/idb-persistence-lock.ts +51 -0
  230. package/src/matrix/sdk/idb-persistence.lock-order.test.ts +108 -0
  231. package/src/matrix/sdk/idb-persistence.test-helpers.ts +88 -0
  232. package/src/matrix/sdk/idb-persistence.test.ts +149 -0
  233. package/src/matrix/sdk/idb-persistence.ts +283 -0
  234. package/src/matrix/sdk/logger.test.ts +25 -0
  235. package/src/matrix/sdk/logger.ts +108 -0
  236. package/src/matrix/sdk/read-response-with-limit.ts +19 -0
  237. package/src/matrix/sdk/recovery-key-store.test.ts +385 -0
  238. package/src/matrix/sdk/recovery-key-store.ts +430 -0
  239. package/src/matrix/sdk/transport.test.ts +161 -0
  240. package/src/matrix/sdk/transport.ts +344 -0
  241. package/src/matrix/sdk/types.ts +236 -0
  242. package/src/matrix/sdk/verification-manager.test.ts +509 -0
  243. package/src/matrix/sdk/verification-manager.ts +694 -0
  244. package/src/matrix/sdk/verification-status.ts +23 -0
  245. package/src/matrix/sdk.test.ts +2568 -0
  246. package/src/matrix/sdk.ts +1789 -0
  247. package/src/matrix/send/client.test.ts +174 -0
  248. package/src/matrix/send/client.ts +90 -0
  249. package/src/matrix/send/formatting.ts +189 -0
  250. package/src/matrix/send/media.ts +244 -0
  251. package/src/matrix/send/targets.test.ts +254 -0
  252. package/src/matrix/send/targets.ts +104 -0
  253. package/src/matrix/send/types.ts +134 -0
  254. package/src/matrix/send.test.ts +958 -0
  255. package/src/matrix/send.ts +609 -0
  256. package/src/matrix/session-store-metadata.ts +108 -0
  257. package/src/matrix/startup-abort.ts +44 -0
  258. package/src/matrix/sync-state.ts +27 -0
  259. package/src/matrix/target-ids.ts +102 -0
  260. package/src/matrix/thread-bindings-shared.ts +201 -0
  261. package/src/matrix/thread-bindings.test.ts +673 -0
  262. package/src/matrix/thread-bindings.ts +577 -0
  263. package/src/matrix-migration.runtime.ts +9 -0
  264. package/src/migration-config.test.ts +228 -0
  265. package/src/migration-config.ts +243 -0
  266. package/src/migration-snapshot-backup.ts +117 -0
  267. package/src/migration-snapshot.test.ts +184 -0
  268. package/src/migration-snapshot.ts +55 -0
  269. package/src/onboarding.resolve.test.ts +55 -0
  270. package/src/onboarding.test-harness.ts +158 -0
  271. package/src/onboarding.test.ts +665 -0
  272. package/src/onboarding.ts +773 -0
  273. package/src/outbound.test.ts +173 -0
  274. package/src/outbound.ts +78 -0
  275. package/src/plugin-entry.runtime.js +159 -0
  276. package/src/plugin-entry.runtime.test.ts +108 -0
  277. package/src/plugin-entry.runtime.ts +68 -0
  278. package/src/profile-update.ts +68 -0
  279. package/src/record-shared.ts +3 -0
  280. package/src/resolve-targets.test.ts +178 -0
  281. package/src/resolve-targets.ts +175 -0
  282. package/src/resolver.ts +21 -0
  283. package/src/runtime-api.ts +144 -0
  284. package/src/runtime.ts +7 -0
  285. package/src/secret-contract.ts +174 -0
  286. package/src/session-route.test.ts +315 -0
  287. package/src/session-route.ts +113 -0
  288. package/src/setup-bootstrap.ts +94 -0
  289. package/src/setup-config.ts +222 -0
  290. package/src/setup-contract.ts +89 -0
  291. package/src/setup-core.test.ts +326 -0
  292. package/src/setup-core.ts +50 -0
  293. package/src/setup-surface.ts +4 -0
  294. package/src/startup-maintenance.test.ts +227 -0
  295. package/src/startup-maintenance.ts +114 -0
  296. package/src/storage-paths.ts +92 -0
  297. package/src/test-helpers.ts +42 -0
  298. package/src/test-mocks.ts +55 -0
  299. package/src/test-runtime.ts +72 -0
  300. package/src/test-support/monitor-route-test-support.ts +8 -0
  301. package/src/tool-actions.runtime.ts +1 -0
  302. package/src/tool-actions.test.ts +422 -0
  303. package/src/tool-actions.ts +498 -0
  304. package/src/types.ts +230 -0
  305. package/test-api.ts +2 -0
  306. package/thread-bindings-runtime.ts +4 -0
  307. package/tsconfig.json +16 -0
  308. package/LICENSE +0 -17
  309. package/README.md +0 -136
  310. package/dist/APEv2Parser-6EMKXRZS.js +0 -15
  311. package/dist/APEv2Parser-6EMKXRZS.js.map +0 -7
  312. package/dist/AiffParser-E6XWRTXM.js +0 -194
  313. package/dist/AiffParser-E6XWRTXM.js.map +0 -7
  314. package/dist/AsfParser-WSOH2JQY.js +0 -620
  315. package/dist/AsfParser-WSOH2JQY.js.map +0 -7
  316. package/dist/DsdiffParser-EUWJ4YAR.js +0 -192
  317. package/dist/DsdiffParser-EUWJ4YAR.js.map +0 -7
  318. package/dist/DsfParser-R6TPBJIY.js +0 -114
  319. package/dist/DsfParser-R6TPBJIY.js.map +0 -7
  320. package/dist/FlacParser-VDASGZ3E.js +0 -16
  321. package/dist/FlacParser-VDASGZ3E.js.map +0 -7
  322. package/dist/MP4Parser-64RGJLUM.js +0 -1145
  323. package/dist/MP4Parser-64RGJLUM.js.map +0 -7
  324. package/dist/MatroskaParser-O6RXAKYA.js +0 -662
  325. package/dist/MatroskaParser-O6RXAKYA.js.map +0 -7
  326. package/dist/MpegParser-B6NX6DS3.js +0 -652
  327. package/dist/MpegParser-B6NX6DS3.js.map +0 -7
  328. package/dist/MusepackParser-WUBT63DS.js +0 -331
  329. package/dist/MusepackParser-WUBT63DS.js.map +0 -7
  330. package/dist/OggParser-ZY6E5C2P.js +0 -448
  331. package/dist/OggParser-ZY6E5C2P.js.map +0 -7
  332. package/dist/WavPackParser-5KTCSQEU.js +0 -209
  333. package/dist/WavPackParser-5KTCSQEU.js.map +0 -7
  334. package/dist/WaveParser-RZSHVQPZ.js +0 -300
  335. package/dist/WaveParser-RZSHVQPZ.js.map +0 -7
  336. package/dist/auth-presence.js +0 -46
  337. package/dist/auth-presence.js.map +0 -7
  338. package/dist/channel-plugin-api.js +0 -79
  339. package/dist/channel-plugin-api.js.map +0 -7
  340. package/dist/chunk-22WAAZ6I.js +0 -114
  341. package/dist/chunk-22WAAZ6I.js.map +0 -7
  342. package/dist/chunk-2A6HEFSO.js +0 -676
  343. package/dist/chunk-2A6HEFSO.js.map +0 -7
  344. package/dist/chunk-2KGHUHKU.js +0 -169
  345. package/dist/chunk-2KGHUHKU.js.map +0 -7
  346. package/dist/chunk-2NEQI4K6.js +0 -171
  347. package/dist/chunk-2NEQI4K6.js.map +0 -7
  348. package/dist/chunk-2OSJ3MTW.js +0 -175
  349. package/dist/chunk-2OSJ3MTW.js.map +0 -7
  350. package/dist/chunk-2Q626TDO.js +0 -27
  351. package/dist/chunk-2Q626TDO.js.map +0 -7
  352. package/dist/chunk-2U6OZ7N2.js +0 -155
  353. package/dist/chunk-2U6OZ7N2.js.map +0 -7
  354. package/dist/chunk-2Z4IOUDZ.js +0 -129
  355. package/dist/chunk-2Z4IOUDZ.js.map +0 -7
  356. package/dist/chunk-2ZEPAW7U.js +0 -154
  357. package/dist/chunk-2ZEPAW7U.js.map +0 -7
  358. package/dist/chunk-2ZI6JK5O.js +0 -63
  359. package/dist/chunk-2ZI6JK5O.js.map +0 -7
  360. package/dist/chunk-34UY6D6X.js +0 -36
  361. package/dist/chunk-34UY6D6X.js.map +0 -7
  362. package/dist/chunk-3JD6JSJD.js +0 -111
  363. package/dist/chunk-3JD6JSJD.js.map +0 -7
  364. package/dist/chunk-3TOEIHG5.js +0 -314
  365. package/dist/chunk-3TOEIHG5.js.map +0 -7
  366. package/dist/chunk-3TRKKAVT.js +0 -130
  367. package/dist/chunk-3TRKKAVT.js.map +0 -7
  368. package/dist/chunk-3UFTTK7C.js +0 -418
  369. package/dist/chunk-3UFTTK7C.js.map +0 -7
  370. package/dist/chunk-3XO6AAIC.js +0 -25
  371. package/dist/chunk-3XO6AAIC.js.map +0 -7
  372. package/dist/chunk-427SAQME.js +0 -321
  373. package/dist/chunk-427SAQME.js.map +0 -7
  374. package/dist/chunk-4JVNTZAI.js +0 -80
  375. package/dist/chunk-4JVNTZAI.js.map +0 -7
  376. package/dist/chunk-4O3BEYYM.js +0 -187
  377. package/dist/chunk-4O3BEYYM.js.map +0 -7
  378. package/dist/chunk-4Z2N4GW6.js +0 -247
  379. package/dist/chunk-4Z2N4GW6.js.map +0 -7
  380. package/dist/chunk-56HN4SH6.js +0 -46
  381. package/dist/chunk-56HN4SH6.js.map +0 -7
  382. package/dist/chunk-5APBBTGW.js +0 -7
  383. package/dist/chunk-5APBBTGW.js.map +0 -7
  384. package/dist/chunk-5LNGMBWW.js +0 -93
  385. package/dist/chunk-5LNGMBWW.js.map +0 -7
  386. package/dist/chunk-5XFQSYZ4.js +0 -52
  387. package/dist/chunk-5XFQSYZ4.js.map +0 -7
  388. package/dist/chunk-62N5N4AC.js +0 -241
  389. package/dist/chunk-62N5N4AC.js.map +0 -7
  390. package/dist/chunk-6HX3DEXK.js +0 -178
  391. package/dist/chunk-6HX3DEXK.js.map +0 -7
  392. package/dist/chunk-6NO5VEVV.js +0 -18
  393. package/dist/chunk-6NO5VEVV.js.map +0 -7
  394. package/dist/chunk-6PZGDVLR.js +0 -465
  395. package/dist/chunk-6PZGDVLR.js.map +0 -7
  396. package/dist/chunk-6SOGH3TW.js +0 -163
  397. package/dist/chunk-6SOGH3TW.js.map +0 -7
  398. package/dist/chunk-72TGY3LX.js +0 -104
  399. package/dist/chunk-72TGY3LX.js.map +0 -7
  400. package/dist/chunk-76IE55K7.js +0 -392
  401. package/dist/chunk-76IE55K7.js.map +0 -7
  402. package/dist/chunk-7F3242AO.js +0 -86
  403. package/dist/chunk-7F3242AO.js.map +0 -7
  404. package/dist/chunk-7FLQSTPG.js +0 -57
  405. package/dist/chunk-7FLQSTPG.js.map +0 -7
  406. package/dist/chunk-7MP46JBP.js +0 -177
  407. package/dist/chunk-7MP46JBP.js.map +0 -7
  408. package/dist/chunk-7MVZYR2T.js +0 -87
  409. package/dist/chunk-7MVZYR2T.js.map +0 -7
  410. package/dist/chunk-7N7ISMPG.js +0 -50
  411. package/dist/chunk-7N7ISMPG.js.map +0 -7
  412. package/dist/chunk-7S7LQQPX.js +0 -127
  413. package/dist/chunk-7S7LQQPX.js.map +0 -7
  414. package/dist/chunk-7TTNY5FK.js +0 -21
  415. package/dist/chunk-7TTNY5FK.js.map +0 -7
  416. package/dist/chunk-7W73QCTR.js +0 -244
  417. package/dist/chunk-7W73QCTR.js.map +0 -7
  418. package/dist/chunk-7XXLU33Y.js +0 -76
  419. package/dist/chunk-7XXLU33Y.js.map +0 -7
  420. package/dist/chunk-AAO7BQEV.js +0 -258
  421. package/dist/chunk-AAO7BQEV.js.map +0 -7
  422. package/dist/chunk-AH4MLRYT.js +0 -91
  423. package/dist/chunk-AH4MLRYT.js.map +0 -7
  424. package/dist/chunk-AHKR32FH.js +0 -7
  425. package/dist/chunk-AHKR32FH.js.map +0 -7
  426. package/dist/chunk-ALKRFDAW.js +0 -94
  427. package/dist/chunk-ALKRFDAW.js.map +0 -7
  428. package/dist/chunk-AQQGAE7N.js +0 -12
  429. package/dist/chunk-AQQGAE7N.js.map +0 -7
  430. package/dist/chunk-AWW3YUGJ.js +0 -193
  431. package/dist/chunk-AWW3YUGJ.js.map +0 -7
  432. package/dist/chunk-AX7VEEWJ.js +0 -158
  433. package/dist/chunk-AX7VEEWJ.js.map +0 -7
  434. package/dist/chunk-BAX7Q6GR.js +0 -55
  435. package/dist/chunk-BAX7Q6GR.js.map +0 -7
  436. package/dist/chunk-BBM6BR3Z.js +0 -28
  437. package/dist/chunk-BBM6BR3Z.js.map +0 -7
  438. package/dist/chunk-BHXZMHSX.js +0 -109
  439. package/dist/chunk-BHXZMHSX.js.map +0 -7
  440. package/dist/chunk-BIUXDLVY.js +0 -62
  441. package/dist/chunk-BIUXDLVY.js.map +0 -7
  442. package/dist/chunk-BMFZL2P4.js +0 -97
  443. package/dist/chunk-BMFZL2P4.js.map +0 -7
  444. package/dist/chunk-BQXEXK4H.js +0 -114
  445. package/dist/chunk-BQXEXK4H.js.map +0 -7
  446. package/dist/chunk-BU2CTWBG.js +0 -30
  447. package/dist/chunk-BU2CTWBG.js.map +0 -7
  448. package/dist/chunk-BVKSCLF7.js +0 -195
  449. package/dist/chunk-BVKSCLF7.js.map +0 -7
  450. package/dist/chunk-BWA3D22L.js +0 -88
  451. package/dist/chunk-BWA3D22L.js.map +0 -7
  452. package/dist/chunk-CE24RSPL.js +0 -506
  453. package/dist/chunk-CE24RSPL.js.map +0 -7
  454. package/dist/chunk-CETZGSCP.js +0 -71
  455. package/dist/chunk-CETZGSCP.js.map +0 -7
  456. package/dist/chunk-CGBWMONK.js +0 -412
  457. package/dist/chunk-CGBWMONK.js.map +0 -7
  458. package/dist/chunk-CPNIXMGX.js +0 -127
  459. package/dist/chunk-CPNIXMGX.js.map +0 -7
  460. package/dist/chunk-CSJO73LD.js +0 -84
  461. package/dist/chunk-CSJO73LD.js.map +0 -7
  462. package/dist/chunk-CTKBDSL6.js +0 -81
  463. package/dist/chunk-CTKBDSL6.js.map +0 -7
  464. package/dist/chunk-CY6WHUCW.js +0 -54
  465. package/dist/chunk-CY6WHUCW.js.map +0 -7
  466. package/dist/chunk-D7Q6Z74D.js +0 -123
  467. package/dist/chunk-D7Q6Z74D.js.map +0 -7
  468. package/dist/chunk-DZIM4OWK.js +0 -17
  469. package/dist/chunk-DZIM4OWK.js.map +0 -7
  470. package/dist/chunk-E3GC4V5V.js +0 -30
  471. package/dist/chunk-E3GC4V5V.js.map +0 -7
  472. package/dist/chunk-E5HPDHCW.js +0 -34
  473. package/dist/chunk-E5HPDHCW.js.map +0 -7
  474. package/dist/chunk-E75BJJZ2.js +0 -635
  475. package/dist/chunk-E75BJJZ2.js.map +0 -7
  476. package/dist/chunk-EE4DHUUZ.js +0 -472
  477. package/dist/chunk-EE4DHUUZ.js.map +0 -7
  478. package/dist/chunk-EHELTAAD.js +0 -198
  479. package/dist/chunk-EHELTAAD.js.map +0 -7
  480. package/dist/chunk-EKXPSI7Z.js +0 -135
  481. package/dist/chunk-EKXPSI7Z.js.map +0 -7
  482. package/dist/chunk-ERCH75SH.js +0 -292
  483. package/dist/chunk-ERCH75SH.js.map +0 -7
  484. package/dist/chunk-EVFWZGFL.js +0 -235
  485. package/dist/chunk-EVFWZGFL.js.map +0 -7
  486. package/dist/chunk-EVPBRKMZ.js +0 -45
  487. package/dist/chunk-EVPBRKMZ.js.map +0 -7
  488. package/dist/chunk-F6AFJHWV.js +0 -45
  489. package/dist/chunk-F6AFJHWV.js.map +0 -7
  490. package/dist/chunk-FG4NVFKM.js +0 -455
  491. package/dist/chunk-FG4NVFKM.js.map +0 -7
  492. package/dist/chunk-FHNEN6IR.js +0 -14
  493. package/dist/chunk-FHNEN6IR.js.map +0 -7
  494. package/dist/chunk-FQ4R7IOX.js +0 -32
  495. package/dist/chunk-FQ4R7IOX.js.map +0 -7
  496. package/dist/chunk-FQPYAPJJ.js +0 -124
  497. package/dist/chunk-FQPYAPJJ.js.map +0 -7
  498. package/dist/chunk-FQTLJO4W.js +0 -335
  499. package/dist/chunk-FQTLJO4W.js.map +0 -7
  500. package/dist/chunk-FVLJSB2W.js +0 -124
  501. package/dist/chunk-FVLJSB2W.js.map +0 -7
  502. package/dist/chunk-FYRKBNTI.js +0 -18
  503. package/dist/chunk-FYRKBNTI.js.map +0 -7
  504. package/dist/chunk-GD6L3SLC.js +0 -30
  505. package/dist/chunk-GD6L3SLC.js.map +0 -7
  506. package/dist/chunk-GI2ZANRY.js +0 -24
  507. package/dist/chunk-GI2ZANRY.js.map +0 -7
  508. package/dist/chunk-GK3XVKXT.js +0 -737
  509. package/dist/chunk-GK3XVKXT.js.map +0 -7
  510. package/dist/chunk-GKOWCDQV.js +0 -699
  511. package/dist/chunk-GKOWCDQV.js.map +0 -7
  512. package/dist/chunk-GLLRCKKE.js +0 -26
  513. package/dist/chunk-GLLRCKKE.js.map +0 -7
  514. package/dist/chunk-GNYG6I36.js +0 -175
  515. package/dist/chunk-GNYG6I36.js.map +0 -7
  516. package/dist/chunk-GVYGUH2V.js +0 -7
  517. package/dist/chunk-GVYGUH2V.js.map +0 -7
  518. package/dist/chunk-GZAGAWSU.js +0 -28
  519. package/dist/chunk-GZAGAWSU.js.map +0 -7
  520. package/dist/chunk-H23E72SB.js +0 -163
  521. package/dist/chunk-H23E72SB.js.map +0 -7
  522. package/dist/chunk-H6YVV7GE.js +0 -22
  523. package/dist/chunk-H6YVV7GE.js.map +0 -7
  524. package/dist/chunk-HDPICD3P.js +0 -4890
  525. package/dist/chunk-HDPICD3P.js.map +0 -7
  526. package/dist/chunk-HP5HMWOM.js +0 -123
  527. package/dist/chunk-HP5HMWOM.js.map +0 -7
  528. package/dist/chunk-HQSHS6IB.js +0 -88
  529. package/dist/chunk-HQSHS6IB.js.map +0 -7
  530. package/dist/chunk-HTV3R73W.js +0 -51
  531. package/dist/chunk-HTV3R73W.js.map +0 -7
  532. package/dist/chunk-IJCMYMZB.js +0 -239
  533. package/dist/chunk-IJCMYMZB.js.map +0 -7
  534. package/dist/chunk-INNENDEE.js +0 -472
  535. package/dist/chunk-INNENDEE.js.map +0 -7
  536. package/dist/chunk-IOTLSMEQ.js +0 -177
  537. package/dist/chunk-IOTLSMEQ.js.map +0 -7
  538. package/dist/chunk-IQYYEHSM.js +0 -300
  539. package/dist/chunk-IQYYEHSM.js.map +0 -7
  540. package/dist/chunk-IRA5NJ4Q.js +0 -21
  541. package/dist/chunk-IRA5NJ4Q.js.map +0 -7
  542. package/dist/chunk-IU7EXXK7.js +0 -1662
  543. package/dist/chunk-IU7EXXK7.js.map +0 -7
  544. package/dist/chunk-IUXAKDAY.js +0 -102
  545. package/dist/chunk-IUXAKDAY.js.map +0 -7
  546. package/dist/chunk-JMYIFYY5.js +0 -233
  547. package/dist/chunk-JMYIFYY5.js.map +0 -7
  548. package/dist/chunk-JSZBX2TA.js +0 -5853
  549. package/dist/chunk-JSZBX2TA.js.map +0 -7
  550. package/dist/chunk-KHFWQ334.js +0 -138
  551. package/dist/chunk-KHFWQ334.js.map +0 -7
  552. package/dist/chunk-KJW6JLM6.js +0 -95
  553. package/dist/chunk-KJW6JLM6.js.map +0 -7
  554. package/dist/chunk-KSEANSJE.js +0 -40
  555. package/dist/chunk-KSEANSJE.js.map +0 -7
  556. package/dist/chunk-KVU54E6W.js +0 -63
  557. package/dist/chunk-KVU54E6W.js.map +0 -7
  558. package/dist/chunk-L5OUVMHK.js +0 -174
  559. package/dist/chunk-L5OUVMHK.js.map +0 -7
  560. package/dist/chunk-LIVQ7GIO.js +0 -86
  561. package/dist/chunk-LIVQ7GIO.js.map +0 -7
  562. package/dist/chunk-LO4F6E3N.js +0 -163
  563. package/dist/chunk-LO4F6E3N.js.map +0 -7
  564. package/dist/chunk-LSVKDUNM.js +0 -151
  565. package/dist/chunk-LSVKDUNM.js.map +0 -7
  566. package/dist/chunk-LVMK2GPM.js +0 -18
  567. package/dist/chunk-LVMK2GPM.js.map +0 -7
  568. package/dist/chunk-LXVPETLK.js +0 -1405
  569. package/dist/chunk-LXVPETLK.js.map +0 -7
  570. package/dist/chunk-LZNW24OB.js +0 -78
  571. package/dist/chunk-LZNW24OB.js.map +0 -7
  572. package/dist/chunk-MAF6PSCJ.js +0 -44
  573. package/dist/chunk-MAF6PSCJ.js.map +0 -7
  574. package/dist/chunk-MBIX6Z7U.js +0 -80
  575. package/dist/chunk-MBIX6Z7U.js.map +0 -7
  576. package/dist/chunk-MDLLXMC3.js +0 -183
  577. package/dist/chunk-MDLLXMC3.js.map +0 -7
  578. package/dist/chunk-MEI5HTWV.js +0 -127
  579. package/dist/chunk-MEI5HTWV.js.map +0 -7
  580. package/dist/chunk-MH74AJ3A.js +0 -82
  581. package/dist/chunk-MH74AJ3A.js.map +0 -7
  582. package/dist/chunk-MIFIM4PI.js +0 -163
  583. package/dist/chunk-MIFIM4PI.js.map +0 -7
  584. package/dist/chunk-MISZB5QJ.js +0 -22
  585. package/dist/chunk-MISZB5QJ.js.map +0 -7
  586. package/dist/chunk-MJ27XQYG.js +0 -125
  587. package/dist/chunk-MJ27XQYG.js.map +0 -7
  588. package/dist/chunk-MLQY5SKR.js +0 -52
  589. package/dist/chunk-MLQY5SKR.js.map +0 -7
  590. package/dist/chunk-MTMHGC3G.js +0 -39
  591. package/dist/chunk-MTMHGC3G.js.map +0 -7
  592. package/dist/chunk-MWBAW3YV.js +0 -244
  593. package/dist/chunk-MWBAW3YV.js.map +0 -7
  594. package/dist/chunk-MZGGB2YT.js +0 -50
  595. package/dist/chunk-MZGGB2YT.js.map +0 -7
  596. package/dist/chunk-N5SNGZJV.js +0 -217
  597. package/dist/chunk-N5SNGZJV.js.map +0 -7
  598. package/dist/chunk-NGCTBYQ3.js +0 -181
  599. package/dist/chunk-NGCTBYQ3.js.map +0 -7
  600. package/dist/chunk-NMUX7SGU.js +0 -676
  601. package/dist/chunk-NMUX7SGU.js.map +0 -7
  602. package/dist/chunk-NO7GMLNU.js +0 -292
  603. package/dist/chunk-NO7GMLNU.js.map +0 -7
  604. package/dist/chunk-NTOGVX2Y.js +0 -92
  605. package/dist/chunk-NTOGVX2Y.js.map +0 -7
  606. package/dist/chunk-O5IVKDX7.js +0 -30
  607. package/dist/chunk-O5IVKDX7.js.map +0 -7
  608. package/dist/chunk-OFWMLQMU.js +0 -7287
  609. package/dist/chunk-OFWMLQMU.js.map +0 -7
  610. package/dist/chunk-OJ3ZUKBI.js +0 -73
  611. package/dist/chunk-OJ3ZUKBI.js.map +0 -7
  612. package/dist/chunk-OJTHE4B7.js +0 -50
  613. package/dist/chunk-OJTHE4B7.js.map +0 -7
  614. package/dist/chunk-OOYPYBTA.js +0 -446
  615. package/dist/chunk-OOYPYBTA.js.map +0 -7
  616. package/dist/chunk-OQP4W4AR.js +0 -105
  617. package/dist/chunk-OQP4W4AR.js.map +0 -7
  618. package/dist/chunk-OVTT2EKA.js +0 -516
  619. package/dist/chunk-OVTT2EKA.js.map +0 -7
  620. package/dist/chunk-P5N63LBS.js +0 -94
  621. package/dist/chunk-P5N63LBS.js.map +0 -7
  622. package/dist/chunk-PARITZ7F.js +0 -28
  623. package/dist/chunk-PARITZ7F.js.map +0 -7
  624. package/dist/chunk-PBQK4KY4.js +0 -195
  625. package/dist/chunk-PBQK4KY4.js.map +0 -7
  626. package/dist/chunk-PSL2AHIA.js +0 -27
  627. package/dist/chunk-PSL2AHIA.js.map +0 -7
  628. package/dist/chunk-Q5QT7JBM.js +0 -92
  629. package/dist/chunk-Q5QT7JBM.js.map +0 -7
  630. package/dist/chunk-Q7WA5DCR.js +0 -62
  631. package/dist/chunk-Q7WA5DCR.js.map +0 -7
  632. package/dist/chunk-QATEENP2.js +0 -7
  633. package/dist/chunk-QATEENP2.js.map +0 -7
  634. package/dist/chunk-QDT24CIA.js +0 -485
  635. package/dist/chunk-QDT24CIA.js.map +0 -7
  636. package/dist/chunk-QI3NB7D5.js +0 -455
  637. package/dist/chunk-QI3NB7D5.js.map +0 -7
  638. package/dist/chunk-QIDAVXSX.js +0 -106
  639. package/dist/chunk-QIDAVXSX.js.map +0 -7
  640. package/dist/chunk-QKIGQVP2.js +0 -104
  641. package/dist/chunk-QKIGQVP2.js.map +0 -7
  642. package/dist/chunk-QNJENPK2.js +0 -81
  643. package/dist/chunk-QNJENPK2.js.map +0 -7
  644. package/dist/chunk-REVXXWAS.js +0 -31
  645. package/dist/chunk-REVXXWAS.js.map +0 -7
  646. package/dist/chunk-RFH4HRZP.js +0 -94
  647. package/dist/chunk-RFH4HRZP.js.map +0 -7
  648. package/dist/chunk-RNGAGYCL.js +0 -49
  649. package/dist/chunk-RNGAGYCL.js.map +0 -7
  650. package/dist/chunk-RPCVN3JA.js +0 -261
  651. package/dist/chunk-RPCVN3JA.js.map +0 -7
  652. package/dist/chunk-RQQE5DDT.js +0 -193
  653. package/dist/chunk-RQQE5DDT.js.map +0 -7
  654. package/dist/chunk-RVOD3ESA.js +0 -38
  655. package/dist/chunk-RVOD3ESA.js.map +0 -7
  656. package/dist/chunk-SAOUP24A.js +0 -70
  657. package/dist/chunk-SAOUP24A.js.map +0 -7
  658. package/dist/chunk-SFZL2TCV.js +0 -55
  659. package/dist/chunk-SFZL2TCV.js.map +0 -7
  660. package/dist/chunk-SJPFUXBV.js +0 -45
  661. package/dist/chunk-SJPFUXBV.js.map +0 -7
  662. package/dist/chunk-SLIUQWAR.js +0 -58
  663. package/dist/chunk-SLIUQWAR.js.map +0 -7
  664. package/dist/chunk-SSEX66OL.js +0 -39
  665. package/dist/chunk-SSEX66OL.js.map +0 -7
  666. package/dist/chunk-SX2LOHOX.js +0 -251
  667. package/dist/chunk-SX2LOHOX.js.map +0 -7
  668. package/dist/chunk-T72EMFTX.js +0 -74
  669. package/dist/chunk-T72EMFTX.js.map +0 -7
  670. package/dist/chunk-TA2QJPPG.js +0 -169
  671. package/dist/chunk-TA2QJPPG.js.map +0 -7
  672. package/dist/chunk-TFEETDNY.js +0 -78
  673. package/dist/chunk-TFEETDNY.js.map +0 -7
  674. package/dist/chunk-THM2QV25.js +0 -108
  675. package/dist/chunk-THM2QV25.js.map +0 -7
  676. package/dist/chunk-TRWT2N6Z.js +0 -15
  677. package/dist/chunk-TRWT2N6Z.js.map +0 -7
  678. package/dist/chunk-TTXEM54Y.js +0 -76
  679. package/dist/chunk-TTXEM54Y.js.map +0 -7
  680. package/dist/chunk-U4LVIY5F.js +0 -1405
  681. package/dist/chunk-U4LVIY5F.js.map +0 -7
  682. package/dist/chunk-U767LCSG.js +0 -78
  683. package/dist/chunk-U767LCSG.js.map +0 -7
  684. package/dist/chunk-U7GKLHU6.js +0 -120
  685. package/dist/chunk-U7GKLHU6.js.map +0 -7
  686. package/dist/chunk-UAB5P5QO.js +0 -60
  687. package/dist/chunk-UAB5P5QO.js.map +0 -7
  688. package/dist/chunk-UEHPJQBL.js +0 -38
  689. package/dist/chunk-UEHPJQBL.js.map +0 -7
  690. package/dist/chunk-UIBV6IGR.js +0 -31
  691. package/dist/chunk-UIBV6IGR.js.map +0 -7
  692. package/dist/chunk-UIYFRUET.js +0 -16352
  693. package/dist/chunk-UIYFRUET.js.map +0 -7
  694. package/dist/chunk-UJS3TIVS.js +0 -52
  695. package/dist/chunk-UJS3TIVS.js.map +0 -7
  696. package/dist/chunk-UU5PSBSI.js +0 -176
  697. package/dist/chunk-UU5PSBSI.js.map +0 -7
  698. package/dist/chunk-UV63XYFU.js +0 -173
  699. package/dist/chunk-UV63XYFU.js.map +0 -7
  700. package/dist/chunk-UWPHOAOC.js +0 -29
  701. package/dist/chunk-UWPHOAOC.js.map +0 -7
  702. package/dist/chunk-UXDDOSJC.js +0 -52
  703. package/dist/chunk-UXDDOSJC.js.map +0 -7
  704. package/dist/chunk-V3VAOMCO.js +0 -465
  705. package/dist/chunk-V3VAOMCO.js.map +0 -7
  706. package/dist/chunk-VA7ENH2S.js +0 -38
  707. package/dist/chunk-VA7ENH2S.js.map +0 -7
  708. package/dist/chunk-VFPDFLVE.js +0 -516
  709. package/dist/chunk-VFPDFLVE.js.map +0 -7
  710. package/dist/chunk-VHG4FNIJ.js +0 -93
  711. package/dist/chunk-VHG4FNIJ.js.map +0 -7
  712. package/dist/chunk-VKOO6MIZ.js +0 -51
  713. package/dist/chunk-VKOO6MIZ.js.map +0 -7
  714. package/dist/chunk-VKXKRZG7.js +0 -62
  715. package/dist/chunk-VKXKRZG7.js.map +0 -7
  716. package/dist/chunk-VUOLPEUZ.js +0 -7
  717. package/dist/chunk-VUOLPEUZ.js.map +0 -7
  718. package/dist/chunk-W6SOBS7M.js +0 -138
  719. package/dist/chunk-W6SOBS7M.js.map +0 -7
  720. package/dist/chunk-WDOKKRTE.js +0 -7
  721. package/dist/chunk-WDOKKRTE.js.map +0 -7
  722. package/dist/chunk-WGXXKFN5.js +0 -7
  723. package/dist/chunk-WGXXKFN5.js.map +0 -7
  724. package/dist/chunk-WHPUUP3J.js +0 -25
  725. package/dist/chunk-WHPUUP3J.js.map +0 -7
  726. package/dist/chunk-XF7LD6VV.js +0 -122
  727. package/dist/chunk-XF7LD6VV.js.map +0 -7
  728. package/dist/chunk-XFTXM3RE.js +0 -64
  729. package/dist/chunk-XFTXM3RE.js.map +0 -7
  730. package/dist/chunk-XJABPO2T.js +0 -235
  731. package/dist/chunk-XJABPO2T.js.map +0 -7
  732. package/dist/chunk-XK6VF3H7.js +0 -3586
  733. package/dist/chunk-XK6VF3H7.js.map +0 -7
  734. package/dist/chunk-XQYIIPOJ.js +0 -266
  735. package/dist/chunk-XQYIIPOJ.js.map +0 -7
  736. package/dist/chunk-XZSAN55E.js +0 -58
  737. package/dist/chunk-XZSAN55E.js.map +0 -7
  738. package/dist/chunk-Y3KJR4OG.js +0 -64
  739. package/dist/chunk-Y3KJR4OG.js.map +0 -7
  740. package/dist/chunk-Y4JKH7FF.js +0 -45
  741. package/dist/chunk-Y4JKH7FF.js.map +0 -7
  742. package/dist/chunk-Y6CJN4ID.js +0 -31
  743. package/dist/chunk-Y6CJN4ID.js.map +0 -7
  744. package/dist/chunk-YABGJU5M.js +0 -271
  745. package/dist/chunk-YABGJU5M.js.map +0 -7
  746. package/dist/chunk-YEJH7ZC2.js +0 -34
  747. package/dist/chunk-YEJH7ZC2.js.map +0 -7
  748. package/dist/chunk-YFTE4H54.js +0 -44117
  749. package/dist/chunk-YFTE4H54.js.map +0 -7
  750. package/dist/chunk-YNJYMD43.js +0 -392
  751. package/dist/chunk-YNJYMD43.js.map +0 -7
  752. package/dist/chunk-YNYEQGVN.js +0 -251
  753. package/dist/chunk-YNYEQGVN.js.map +0 -7
  754. package/dist/chunk-YUPBD27Z.js +0 -70
  755. package/dist/chunk-YUPBD27Z.js.map +0 -7
  756. package/dist/chunk-YXJ52FD5.js +0 -271
  757. package/dist/chunk-YXJ52FD5.js.map +0 -7
  758. package/dist/chunk-YZGORRQN.js +0 -3101
  759. package/dist/chunk-YZGORRQN.js.map +0 -7
  760. package/dist/chunk-Z6IVJ6ZW.js +0 -30
  761. package/dist/chunk-Z6IVJ6ZW.js.map +0 -7
  762. package/dist/chunk-ZFC44XJJ.js +0 -86
  763. package/dist/chunk-ZFC44XJJ.js.map +0 -7
  764. package/dist/chunk-ZJDJC5TP.js +0 -82
  765. package/dist/chunk-ZJDJC5TP.js.map +0 -7
  766. package/dist/chunk-ZJGZNPDK.js +0 -171
  767. package/dist/chunk-ZJGZNPDK.js.map +0 -7
  768. package/dist/chunk-ZJHBJWZX.js +0 -699
  769. package/dist/chunk-ZJHBJWZX.js.map +0 -7
  770. package/dist/chunk-ZNOTD65D.js +0 -95
  771. package/dist/chunk-ZNOTD65D.js.map +0 -7
  772. package/dist/chunk-ZQ2QIFXW.js +0 -122
  773. package/dist/chunk-ZQ2QIFXW.js.map +0 -7
  774. package/dist/chunk-ZRMXPQGY.js +0 -241
  775. package/dist/chunk-ZRMXPQGY.js.map +0 -7
  776. package/dist/chunk-ZVEE5IDC.js +0 -3101
  777. package/dist/chunk-ZVEE5IDC.js.map +0 -7
  778. package/dist/cli-metadata.js +0 -12
  779. package/dist/cli-metadata.js.map +0 -7
  780. package/dist/contract-api.js +0 -104
  781. package/dist/contract-api.js.map +0 -7
  782. package/dist/dist-F3K7S5SS.js +0 -549
  783. package/dist/dist-F3K7S5SS.js.map +0 -7
  784. package/dist/helper-api.js +0 -51
  785. package/dist/helper-api.js.map +0 -7
  786. package/dist/index.js +0 -71
  787. package/dist/index.js.map +0 -7
  788. package/dist/magic-string.es-V5NOGTUV.js +0 -1315
  789. package/dist/magic-string.es-V5NOGTUV.js.map +0 -7
  790. package/dist/openclaw.plugin.json +0 -23
  791. package/dist/package.json +0 -59
  792. package/dist/plugin-entry.handlers.runtime-POD4CSHM.js +0 -20
  793. package/dist/plugin-entry.handlers.runtime-POD4CSHM.js.map +0 -7
  794. package/dist/plugin-entry.handlers.runtime-YOSG6V6U.js +0 -20
  795. package/dist/plugin-entry.handlers.runtime-YOSG6V6U.js.map +0 -7
  796. package/dist/runtime-api.js +0 -104
  797. package/dist/runtime-api.js.map +0 -7
  798. package/dist/rust-crypto-H35BXWUU.js +0 -5323
  799. package/dist/rust-crypto-H35BXWUU.js.map +0 -7
  800. package/dist/secret-contract-api.js +0 -18
  801. package/dist/secret-contract-api.js.map +0 -7
  802. package/dist/setup-entry.js +0 -23
  803. package/dist/setup-entry.js.map +0 -7
  804. package/dist/src/account-selection.js +0 -19
  805. package/dist/src/account-selection.js.map +0 -7
  806. package/dist/src/actions.js +0 -24
  807. package/dist/src/actions.js.map +0 -7
  808. package/dist/src/approval-auth.js +0 -27
  809. package/dist/src/approval-auth.js.map +0 -7
  810. package/dist/src/approval-handler.runtime.js +0 -378
  811. package/dist/src/approval-handler.runtime.js.map +0 -7
  812. package/dist/src/approval-ids.js +0 -9
  813. package/dist/src/approval-ids.js.map +0 -7
  814. package/dist/src/approval-native.js +0 -28
  815. package/dist/src/approval-native.js.map +0 -7
  816. package/dist/src/approval-reactions.js +0 -20
  817. package/dist/src/approval-reactions.js.map +0 -7
  818. package/dist/src/auth-precedence.js +0 -8
  819. package/dist/src/auth-precedence.js.map +0 -7
  820. package/dist/src/channel-account-paths.js +0 -11
  821. package/dist/src/channel-account-paths.js.map +0 -7
  822. package/dist/src/channel.js +0 -74
  823. package/dist/src/channel.js.map +0 -7
  824. package/dist/src/channel.runtime.js +0 -82
  825. package/dist/src/channel.runtime.js.map +0 -7
  826. package/dist/src/cli-metadata.js +0 -8
  827. package/dist/src/cli-metadata.js.map +0 -7
  828. package/dist/src/cli.js +0 -936
  829. package/dist/src/cli.js.map +0 -7
  830. package/dist/src/config-adapter.js +0 -26
  831. package/dist/src/config-adapter.js.map +0 -7
  832. package/dist/src/config-schema.js +0 -8
  833. package/dist/src/config-schema.js.map +0 -7
  834. package/dist/src/directory-live.js +0 -35
  835. package/dist/src/directory-live.js.map +0 -7
  836. package/dist/src/doctor-contract.js +0 -11
  837. package/dist/src/doctor-contract.js.map +0 -7
  838. package/dist/src/doctor.js +0 -42
  839. package/dist/src/doctor.js.map +0 -7
  840. package/dist/src/env-vars.js +0 -12
  841. package/dist/src/env-vars.js.map +0 -7
  842. package/dist/src/exec-approval-resolver.js +0 -10
  843. package/dist/src/exec-approval-resolver.js.map +0 -7
  844. package/dist/src/exec-approvals.js +0 -51
  845. package/dist/src/exec-approvals.js.map +0 -7
  846. package/dist/src/group-mentions.js +0 -28
  847. package/dist/src/group-mentions.js.map +0 -7
  848. package/dist/src/legacy-crypto-inspector-availability.js +0 -8
  849. package/dist/src/legacy-crypto-inspector-availability.js.map +0 -7
  850. package/dist/src/legacy-crypto.js +0 -26
  851. package/dist/src/legacy-crypto.js.map +0 -7
  852. package/dist/src/legacy-state.js +0 -24
  853. package/dist/src/legacy-state.js.map +0 -7
  854. package/dist/src/matrix/account-config.js +0 -16
  855. package/dist/src/matrix/account-config.js.map +0 -7
  856. package/dist/src/matrix/accounts.js +0 -31
  857. package/dist/src/matrix/accounts.js.map +0 -7
  858. package/dist/src/matrix/actions/client.js +0 -40
  859. package/dist/src/matrix/actions/client.js.map +0 -7
  860. package/dist/src/matrix/actions/devices.js +0 -42
  861. package/dist/src/matrix/actions/devices.js.map +0 -7
  862. package/dist/src/matrix/actions/limits.js +0 -8
  863. package/dist/src/matrix/actions/limits.js.map +0 -7
  864. package/dist/src/matrix/actions/messages.js +0 -49
  865. package/dist/src/matrix/actions/messages.js.map +0 -7
  866. package/dist/src/matrix/actions/pins.js +0 -46
  867. package/dist/src/matrix/actions/pins.js.map +0 -7
  868. package/dist/src/matrix/actions/polls.js +0 -37
  869. package/dist/src/matrix/actions/polls.js.map +0 -7
  870. package/dist/src/matrix/actions/profile.js +0 -38
  871. package/dist/src/matrix/actions/profile.js.map +0 -7
  872. package/dist/src/matrix/actions/reactions.js +0 -40
  873. package/dist/src/matrix/actions/reactions.js.map +0 -7
  874. package/dist/src/matrix/actions/room.js +0 -40
  875. package/dist/src/matrix/actions/room.js.map +0 -7
  876. package/dist/src/matrix/actions/summary.js +0 -19
  877. package/dist/src/matrix/actions/summary.js.map +0 -7
  878. package/dist/src/matrix/actions/types.js +0 -13
  879. package/dist/src/matrix/actions/types.js.map +0 -7
  880. package/dist/src/matrix/actions/verification.js +0 -77
  881. package/dist/src/matrix/actions/verification.js.map +0 -7
  882. package/dist/src/matrix/actions.js +0 -126
  883. package/dist/src/matrix/actions.js.map +0 -7
  884. package/dist/src/matrix/active-client.js +0 -10
  885. package/dist/src/matrix/active-client.js.map +0 -7
  886. package/dist/src/matrix/async-lock.js +0 -8
  887. package/dist/src/matrix/async-lock.js.map +0 -7
  888. package/dist/src/matrix/backup-health.js +0 -10
  889. package/dist/src/matrix/backup-health.js.map +0 -7
  890. package/dist/src/matrix/client/config-runtime-api.js +0 -24
  891. package/dist/src/matrix/client/config-runtime-api.js.map +0 -7
  892. package/dist/src/matrix/client/config-secret-input.runtime.js +0 -11
  893. package/dist/src/matrix/client/config-secret-input.runtime.js.map +0 -7
  894. package/dist/src/matrix/client/config.js +0 -42
  895. package/dist/src/matrix/client/config.js.map +0 -7
  896. package/dist/src/matrix/client/create-client.js +0 -20
  897. package/dist/src/matrix/client/create-client.js.map +0 -7
  898. package/dist/src/matrix/client/env-auth.js +0 -26
  899. package/dist/src/matrix/client/env-auth.js.map +0 -7
  900. package/dist/src/matrix/client/file-sync-store.js +0 -23
  901. package/dist/src/matrix/client/file-sync-store.js.map +0 -7
  902. package/dist/src/matrix/client/logging.js +0 -17
  903. package/dist/src/matrix/client/logging.js.map +0 -7
  904. package/dist/src/matrix/client/migration-snapshot.runtime.js +0 -13
  905. package/dist/src/matrix/client/migration-snapshot.runtime.js.map +0 -7
  906. package/dist/src/matrix/client/private-network-host.js +0 -8
  907. package/dist/src/matrix/client/private-network-host.js.map +0 -7
  908. package/dist/src/matrix/client/runtime.js +0 -8
  909. package/dist/src/matrix/client/runtime.js.map +0 -7
  910. package/dist/src/matrix/client/shared.js +0 -34
  911. package/dist/src/matrix/client/shared.js.map +0 -7
  912. package/dist/src/matrix/client/storage.js +0 -26
  913. package/dist/src/matrix/client/storage.js.map +0 -7
  914. package/dist/src/matrix/client/types.js +0 -7
  915. package/dist/src/matrix/client/types.js.map +0 -7
  916. package/dist/src/matrix/client-bootstrap.js +0 -15
  917. package/dist/src/matrix/client-bootstrap.js.map +0 -7
  918. package/dist/src/matrix/client-resolver.test-helpers.js +0 -122
  919. package/dist/src/matrix/client-resolver.test-helpers.js.map +0 -7
  920. package/dist/src/matrix/client.js +0 -63
  921. package/dist/src/matrix/client.js.map +0 -7
  922. package/dist/src/matrix/config-paths.js +0 -12
  923. package/dist/src/matrix/config-paths.js.map +0 -7
  924. package/dist/src/matrix/config-update.js +0 -17
  925. package/dist/src/matrix/config-update.js.map +0 -7
  926. package/dist/src/matrix/credentials-read.js +0 -22
  927. package/dist/src/matrix/credentials-read.js.map +0 -7
  928. package/dist/src/matrix/credentials-write.runtime.js +0 -24
  929. package/dist/src/matrix/credentials-write.runtime.js.map +0 -7
  930. package/dist/src/matrix/credentials.js +0 -90
  931. package/dist/src/matrix/credentials.js.map +0 -7
  932. package/dist/src/matrix/deps.js +0 -12
  933. package/dist/src/matrix/deps.js.map +0 -7
  934. package/dist/src/matrix/device-health.js +0 -10
  935. package/dist/src/matrix/device-health.js.map +0 -7
  936. package/dist/src/matrix/direct-management.js +0 -18
  937. package/dist/src/matrix/direct-management.js.map +0 -7
  938. package/dist/src/matrix/direct-room.js +0 -18
  939. package/dist/src/matrix/direct-room.js.map +0 -7
  940. package/dist/src/matrix/draft-stream.js +0 -33
  941. package/dist/src/matrix/draft-stream.js.map +0 -7
  942. package/dist/src/matrix/encryption-guidance.js +0 -17
  943. package/dist/src/matrix/encryption-guidance.js.map +0 -7
  944. package/dist/src/matrix/errors.js +0 -12
  945. package/dist/src/matrix/errors.js.map +0 -7
  946. package/dist/src/matrix/format.js +0 -13
  947. package/dist/src/matrix/format.js.map +0 -7
  948. package/dist/src/matrix/legacy-crypto-inspector.js +0 -73
  949. package/dist/src/matrix/legacy-crypto-inspector.js.map +0 -7
  950. package/dist/src/matrix/media-errors.js +0 -12
  951. package/dist/src/matrix/media-errors.js.map +0 -7
  952. package/dist/src/matrix/media-text.js +0 -22
  953. package/dist/src/matrix/media-text.js.map +0 -7
  954. package/dist/src/matrix/monitor/access-state.js +0 -9
  955. package/dist/src/matrix/monitor/access-state.js.map +0 -7
  956. package/dist/src/matrix/monitor/ack-config.js +0 -10
  957. package/dist/src/matrix/monitor/ack-config.js.map +0 -7
  958. package/dist/src/matrix/monitor/allowlist.js +0 -12
  959. package/dist/src/matrix/monitor/allowlist.js.map +0 -7
  960. package/dist/src/matrix/monitor/auto-join.js +0 -9
  961. package/dist/src/matrix/monitor/auto-join.js.map +0 -7
  962. package/dist/src/matrix/monitor/config.js +0 -37
  963. package/dist/src/matrix/monitor/config.js.map +0 -7
  964. package/dist/src/matrix/monitor/context-summary.js +0 -13
  965. package/dist/src/matrix/monitor/context-summary.js.map +0 -7
  966. package/dist/src/matrix/monitor/direct.js +0 -13
  967. package/dist/src/matrix/monitor/direct.js.map +0 -7
  968. package/dist/src/matrix/monitor/events.js +0 -20
  969. package/dist/src/matrix/monitor/events.js.map +0 -7
  970. package/dist/src/matrix/monitor/handler.js +0 -76
  971. package/dist/src/matrix/monitor/handler.js.map +0 -7
  972. package/dist/src/matrix/monitor/handler.test-helpers.js +0 -268
  973. package/dist/src/matrix/monitor/handler.test-helpers.js.map +0 -7
  974. package/dist/src/matrix/monitor/inbound-dedupe.js +0 -17
  975. package/dist/src/matrix/monitor/inbound-dedupe.js.map +0 -7
  976. package/dist/src/matrix/monitor/index.js +0 -502
  977. package/dist/src/matrix/monitor/index.js.map +0 -7
  978. package/dist/src/matrix/monitor/legacy-crypto-restore.js +0 -99
  979. package/dist/src/matrix/monitor/legacy-crypto-restore.js.map +0 -7
  980. package/dist/src/matrix/monitor/location.js +0 -11
  981. package/dist/src/matrix/monitor/location.js.map +0 -7
  982. package/dist/src/matrix/monitor/media.js +0 -10
  983. package/dist/src/matrix/monitor/media.js.map +0 -7
  984. package/dist/src/matrix/monitor/mentions.js +0 -9
  985. package/dist/src/matrix/monitor/mentions.js.map +0 -7
  986. package/dist/src/matrix/monitor/reaction-events.js +0 -38
  987. package/dist/src/matrix/monitor/reaction-events.js.map +0 -7
  988. package/dist/src/matrix/monitor/recent-invite.js +0 -10
  989. package/dist/src/matrix/monitor/recent-invite.js.map +0 -7
  990. package/dist/src/matrix/monitor/replies.js +0 -33
  991. package/dist/src/matrix/monitor/replies.js.map +0 -7
  992. package/dist/src/matrix/monitor/reply-context.js +0 -14
  993. package/dist/src/matrix/monitor/reply-context.js.map +0 -7
  994. package/dist/src/matrix/monitor/room-history.js +0 -10
  995. package/dist/src/matrix/monitor/room-history.js.map +0 -7
  996. package/dist/src/matrix/monitor/room-info.js +0 -9
  997. package/dist/src/matrix/monitor/room-info.js.map +0 -7
  998. package/dist/src/matrix/monitor/rooms.js +0 -9
  999. package/dist/src/matrix/monitor/rooms.js.map +0 -7
  1000. package/dist/src/matrix/monitor/route.js +0 -12
  1001. package/dist/src/matrix/monitor/route.js.map +0 -7
  1002. package/dist/src/matrix/monitor/runtime-api.js +0 -40
  1003. package/dist/src/matrix/monitor/runtime-api.js.map +0 -7
  1004. package/dist/src/matrix/monitor/startup-verification.js +0 -174
  1005. package/dist/src/matrix/monitor/startup-verification.js.map +0 -7
  1006. package/dist/src/matrix/monitor/startup.js +0 -9
  1007. package/dist/src/matrix/monitor/startup.js.map +0 -7
  1008. package/dist/src/matrix/monitor/status.js +0 -10
  1009. package/dist/src/matrix/monitor/status.js.map +0 -7
  1010. package/dist/src/matrix/monitor/sync-lifecycle.js +0 -9
  1011. package/dist/src/matrix/monitor/sync-lifecycle.js.map +0 -7
  1012. package/dist/src/matrix/monitor/task-runner.js +0 -8
  1013. package/dist/src/matrix/monitor/task-runner.js.map +0 -7
  1014. package/dist/src/matrix/monitor/thread-context.js +0 -14
  1015. package/dist/src/matrix/monitor/thread-context.js.map +0 -7
  1016. package/dist/src/matrix/monitor/threads.js +0 -16
  1017. package/dist/src/matrix/monitor/threads.js.map +0 -7
  1018. package/dist/src/matrix/monitor/types.js +0 -11
  1019. package/dist/src/matrix/monitor/types.js.map +0 -7
  1020. package/dist/src/matrix/monitor/verification-events.js +0 -13
  1021. package/dist/src/matrix/monitor/verification-events.js.map +0 -7
  1022. package/dist/src/matrix/monitor/verification-utils.js +0 -16
  1023. package/dist/src/matrix/monitor/verification-utils.js.map +0 -7
  1024. package/dist/src/matrix/outbound-media-runtime.js +0 -9
  1025. package/dist/src/matrix/outbound-media-runtime.js.map +0 -7
  1026. package/dist/src/matrix/poll-summary.js +0 -14
  1027. package/dist/src/matrix/poll-summary.js.map +0 -7
  1028. package/dist/src/matrix/poll-types.js +0 -55
  1029. package/dist/src/matrix/poll-types.js.map +0 -7
  1030. package/dist/src/matrix/probe.js +0 -9
  1031. package/dist/src/matrix/probe.js.map +0 -7
  1032. package/dist/src/matrix/probe.runtime.js +0 -30
  1033. package/dist/src/matrix/probe.runtime.js.map +0 -7
  1034. package/dist/src/matrix/profile.js +0 -16
  1035. package/dist/src/matrix/profile.js.map +0 -7
  1036. package/dist/src/matrix/reaction-common.js +0 -26
  1037. package/dist/src/matrix/reaction-common.js.map +0 -7
  1038. package/dist/src/matrix/sdk/crypto-bootstrap.js +0 -15
  1039. package/dist/src/matrix/sdk/crypto-bootstrap.js.map +0 -7
  1040. package/dist/src/matrix/sdk/crypto-facade.js +0 -8
  1041. package/dist/src/matrix/sdk/crypto-facade.js.map +0 -7
  1042. package/dist/src/matrix/sdk/crypto-node.runtime.js +0 -15
  1043. package/dist/src/matrix/sdk/crypto-node.runtime.js.map +0 -7
  1044. package/dist/src/matrix/sdk/crypto-runtime.js +0 -84
  1045. package/dist/src/matrix/sdk/crypto-runtime.js.map +0 -7
  1046. package/dist/src/matrix/sdk/decrypt-bridge.js +0 -11
  1047. package/dist/src/matrix/sdk/decrypt-bridge.js.map +0 -7
  1048. package/dist/src/matrix/sdk/event-helpers.js +0 -12
  1049. package/dist/src/matrix/sdk/event-helpers.js.map +0 -7
  1050. package/dist/src/matrix/sdk/http-client.js +0 -13
  1051. package/dist/src/matrix/sdk/http-client.js.map +0 -7
  1052. package/dist/src/matrix/sdk/idb-persistence-lock.js +0 -12
  1053. package/dist/src/matrix/sdk/idb-persistence-lock.js.map +0 -7
  1054. package/dist/src/matrix/sdk/idb-persistence.js +0 -13
  1055. package/dist/src/matrix/sdk/idb-persistence.js.map +0 -7
  1056. package/dist/src/matrix/sdk/idb-persistence.test-helpers.js +0 -83
  1057. package/dist/src/matrix/sdk/idb-persistence.test-helpers.js.map +0 -7
  1058. package/dist/src/matrix/sdk/logger.js +0 -15
  1059. package/dist/src/matrix/sdk/logger.js.map +0 -7
  1060. package/dist/src/matrix/sdk/read-response-with-limit.js +0 -8
  1061. package/dist/src/matrix/sdk/read-response-with-limit.js.map +0 -7
  1062. package/dist/src/matrix/sdk/recovery-key-store.js +0 -14
  1063. package/dist/src/matrix/sdk/recovery-key-store.js.map +0 -7
  1064. package/dist/src/matrix/sdk/transport.js +0 -13
  1065. package/dist/src/matrix/sdk/transport.js.map +0 -7
  1066. package/dist/src/matrix/sdk/types.js +0 -7
  1067. package/dist/src/matrix/sdk/types.js.map +0 -7
  1068. package/dist/src/matrix/sdk/verification-manager.js +0 -11
  1069. package/dist/src/matrix/sdk/verification-manager.js.map +0 -7
  1070. package/dist/src/matrix/sdk/verification-status.js +0 -12
  1071. package/dist/src/matrix/sdk/verification-status.js.map +0 -7
  1072. package/dist/src/matrix/sdk.js +0 -1375
  1073. package/dist/src/matrix/sdk.js.map +0 -7
  1074. package/dist/src/matrix/send/client.js +0 -14
  1075. package/dist/src/matrix/send/client.js.map +0 -7
  1076. package/dist/src/matrix/send/formatting.js +0 -29
  1077. package/dist/src/matrix/send/formatting.js.map +0 -7
  1078. package/dist/src/matrix/send/media.js +0 -26
  1079. package/dist/src/matrix/send/media.js.map +0 -7
  1080. package/dist/src/matrix/send/targets.js +0 -15
  1081. package/dist/src/matrix/send/targets.js.map +0 -7
  1082. package/dist/src/matrix/send/types.js +0 -17
  1083. package/dist/src/matrix/send/types.js.map +0 -7
  1084. package/dist/src/matrix/send.js +0 -51
  1085. package/dist/src/matrix/send.js.map +0 -7
  1086. package/dist/src/matrix/session-store-metadata.js +0 -15
  1087. package/dist/src/matrix/session-store-metadata.js.map +0 -7
  1088. package/dist/src/matrix/startup-abort.js +0 -14
  1089. package/dist/src/matrix/startup-abort.js.map +0 -7
  1090. package/dist/src/matrix/sync-state.js +0 -12
  1091. package/dist/src/matrix/sync-state.js.map +0 -7
  1092. package/dist/src/matrix/target-ids.js +0 -20
  1093. package/dist/src/matrix/target-ids.js.map +0 -7
  1094. package/dist/src/matrix/thread-bindings-shared.js +0 -34
  1095. package/dist/src/matrix/thread-bindings-shared.js.map +0 -7
  1096. package/dist/src/matrix/thread-bindings.js +0 -49
  1097. package/dist/src/matrix/thread-bindings.js.map +0 -7
  1098. package/dist/src/matrix-migration.runtime.js +0 -45
  1099. package/dist/src/matrix-migration.runtime.js.map +0 -7
  1100. package/dist/src/migration-config.js +0 -29
  1101. package/dist/src/migration-config.js.map +0 -7
  1102. package/dist/src/migration-snapshot-backup.js +0 -12
  1103. package/dist/src/migration-snapshot-backup.js.map +0 -7
  1104. package/dist/src/migration-snapshot.js +0 -38
  1105. package/dist/src/migration-snapshot.js.map +0 -7
  1106. package/dist/src/onboarding.js +0 -43
  1107. package/dist/src/onboarding.js.map +0 -7
  1108. package/dist/src/onboarding.test-harness.js +0 -124
  1109. package/dist/src/onboarding.test-harness.js.map +0 -7
  1110. package/dist/src/outbound.js +0 -33
  1111. package/dist/src/outbound.js.map +0 -7
  1112. package/dist/src/plugin-entry.runtime.js +0 -15
  1113. package/dist/src/plugin-entry.runtime.js.map +0 -7
  1114. package/dist/src/profile-update.js +0 -41
  1115. package/dist/src/profile-update.js.map +0 -7
  1116. package/dist/src/record-shared.js +0 -8
  1117. package/dist/src/record-shared.js.map +0 -7
  1118. package/dist/src/resolve-targets.js +0 -34
  1119. package/dist/src/resolve-targets.js.map +0 -7
  1120. package/dist/src/resolver.js +0 -8
  1121. package/dist/src/resolver.js.map +0 -7
  1122. package/dist/src/runtime-api.js +0 -120
  1123. package/dist/src/runtime-api.js.map +0 -7
  1124. package/dist/src/runtime.js +0 -10
  1125. package/dist/src/runtime.js.map +0 -7
  1126. package/dist/src/secret-contract.js +0 -13
  1127. package/dist/src/secret-contract.js.map +0 -7
  1128. package/dist/src/session-route.js +0 -25
  1129. package/dist/src/session-route.js.map +0 -7
  1130. package/dist/src/setup-bootstrap.js +0 -124
  1131. package/dist/src/setup-bootstrap.js.map +0 -7
  1132. package/dist/src/setup-config.js +0 -28
  1133. package/dist/src/setup-config.js.map +0 -7
  1134. package/dist/src/setup-contract.js +0 -16
  1135. package/dist/src/setup-contract.js.map +0 -7
  1136. package/dist/src/setup-core.js +0 -25
  1137. package/dist/src/setup-core.js.map +0 -7
  1138. package/dist/src/setup-surface.js +0 -45
  1139. package/dist/src/setup-surface.js.map +0 -7
  1140. package/dist/src/startup-maintenance.js +0 -29
  1141. package/dist/src/startup-maintenance.js.map +0 -7
  1142. package/dist/src/storage-paths.js +0 -24
  1143. package/dist/src/storage-paths.js.map +0 -7
  1144. package/dist/src/test-helpers.js +0 -49
  1145. package/dist/src/test-helpers.js.map +0 -7
  1146. package/dist/src/test-mocks.js +0 -40
  1147. package/dist/src/test-mocks.js.map +0 -7
  1148. package/dist/src/test-runtime.js +0 -65
  1149. package/dist/src/test-runtime.js.map +0 -7
  1150. package/dist/src/tool-actions.js +0 -68
  1151. package/dist/src/tool-actions.js.map +0 -7
  1152. package/dist/src/tool-actions.runtime.js +0 -73
  1153. package/dist/src/tool-actions.runtime.js.map +0 -7
  1154. package/dist/src/types.js +0 -7
  1155. package/dist/src/types.js.map +0 -7
  1156. package/dist/test-api.js +0 -82
  1157. package/dist/test-api.js.map +0 -7
  1158. package/dist/thread-bindings-runtime.js +0 -15
  1159. package/dist/thread-bindings-runtime.js.map +0 -7
@@ -1,1375 +0,0 @@
1
- import {
2
- VerificationMethod
3
- } from "../../chunk-6NO5VEVV.js";
4
- import {
5
- MatrixRecoveryKeyStore,
6
- isRepairableSecretStorageAccessError
7
- } from "../../chunk-FQTLJO4W.js";
8
- import {
9
- MATRIX_IDB_PERSIST_INTERVAL_MS
10
- } from "../../chunk-CY6WHUCW.js";
11
- import {
12
- isMatrixReadySyncState,
13
- isMatrixTerminalSyncState
14
- } from "../../chunk-MISZB5QJ.js";
15
- import {
16
- FileBackedMatrixSyncStore,
17
- createClient
18
- } from "../../chunk-OFWMLQMU.js";
19
- import {
20
- ClientEvent,
21
- Preset
22
- } from "../../chunk-YFTE4H54.js";
23
- import "../../chunk-MAF6PSCJ.js";
24
- import "../../chunk-4O3BEYYM.js";
25
- import "../../chunk-FQ4R7IOX.js";
26
- import "../../chunk-PSL2AHIA.js";
27
- import {
28
- createMatrixJsSdkClientLogger
29
- } from "../../chunk-MJ27XQYG.js";
30
- import "../../chunk-CGBWMONK.js";
31
- import {
32
- resolveMatrixRoomKeyBackupReadinessError
33
- } from "../../chunk-HQSHS6IB.js";
34
- import {
35
- formatMatrixErrorMessage,
36
- formatMatrixErrorReason,
37
- isMatrixNotFoundError
38
- } from "../../chunk-UWPHOAOC.js";
39
- import "../../chunk-D7Q6Z74D.js";
40
- import {
41
- MatrixAuthedHttpClient
42
- } from "../../chunk-SAOUP24A.js";
43
- import {
44
- createMatrixGuardedFetch
45
- } from "../../chunk-XQYIIPOJ.js";
46
- import "../../chunk-FYRKBNTI.js";
47
- import {
48
- matrixEventToRaw,
49
- parseMxc
50
- } from "../../chunk-YUPBD27Z.js";
51
- import "../../chunk-Z6IVJ6ZW.js";
52
- import {
53
- createMatrixStartupAbortError,
54
- throwIfMatrixStartupAborted
55
- } from "../../chunk-UXDDOSJC.js";
56
- import {
57
- ConsoleLogger,
58
- LogService,
59
- noop
60
- } from "../../chunk-BMFZL2P4.js";
61
- import "../../chunk-L5OUVMHK.js";
62
- import "../../chunk-3UFTTK7C.js";
63
- import "../../chunk-FHNEN6IR.js";
64
- import "../../chunk-UU5PSBSI.js";
65
- import "../../chunk-AQQGAE7N.js";
66
- import "../../chunk-SSEX66OL.js";
67
- import "../../chunk-BWA3D22L.js";
68
- import "../../chunk-MH74AJ3A.js";
69
- import {
70
- init_shims
71
- } from "../../chunk-7FLQSTPG.js";
72
-
73
- // src/matrix/sdk.ts
74
- init_shims();
75
- import { EventEmitter } from "node:events";
76
- import { KeyedAsyncQueue } from "openclaw/plugin-sdk/keyed-async-queue";
77
- import { normalizeNullableString } from "openclaw/plugin-sdk/text-runtime";
78
- var MATRIX_INITIAL_CRYPTO_BOOTSTRAP_OPTIONS = {
79
- allowAutomaticCrossSigningReset: false
80
- };
81
- var MATRIX_AUTOMATIC_REPAIR_BOOTSTRAP_OPTIONS = {
82
- forceResetCrossSigning: true,
83
- allowSecretStorageRecreateWithoutRecoveryKey: true,
84
- strict: true
85
- };
86
- function createMatrixExplicitBootstrapOptions(params) {
87
- return {
88
- forceResetCrossSigning: params?.forceResetCrossSigning === true,
89
- allowSecretStorageRecreateWithoutRecoveryKey: true,
90
- strict: true
91
- };
92
- }
93
- var loadedMatrixCryptoRuntime = null;
94
- var matrixCryptoRuntimePromise = null;
95
- async function loadMatrixCryptoRuntime() {
96
- matrixCryptoRuntimePromise ??= import("./sdk/crypto-runtime.js").then((runtime) => {
97
- loadedMatrixCryptoRuntime = runtime;
98
- return runtime;
99
- });
100
- return await matrixCryptoRuntimePromise;
101
- }
102
- var normalizeOptionalString = normalizeNullableString;
103
- function isUnsupportedAuthenticatedMediaEndpointError(err) {
104
- const statusCode = err?.statusCode;
105
- if (statusCode === 404 || statusCode === 405 || statusCode === 501) {
106
- return true;
107
- }
108
- const message = formatMatrixErrorReason(err);
109
- return message.includes("m_unrecognized") || message.includes("unrecognized request") || message.includes("method not allowed") || message.includes("not implemented");
110
- }
111
- var MatrixClient = class {
112
- constructor(homeserver, accessToken, opts = {}) {
113
- this.emitter = new EventEmitter();
114
- this.bridgeRegistered = false;
115
- this.started = false;
116
- this.cryptoBootstrapped = false;
117
- this.dmRoomIds = /* @__PURE__ */ new Set();
118
- this.cryptoInitialized = false;
119
- this.sendQueue = new KeyedAsyncQueue();
120
- this.stopPersistPromise = null;
121
- this.verificationSummaryListenerBound = false;
122
- this.currentSyncState = null;
123
- this.dms = {
124
- update: async () => {
125
- return await this.refreshDmCache();
126
- },
127
- isDm: (roomId) => this.dmRoomIds.has(roomId)
128
- };
129
- this.idbPersistTimer = null;
130
- this.httpClient = new MatrixAuthedHttpClient({
131
- homeserver,
132
- accessToken,
133
- ssrfPolicy: opts.ssrfPolicy,
134
- dispatcherPolicy: opts.dispatcherPolicy
135
- });
136
- this.localTimeoutMs = Math.max(1, opts.localTimeoutMs ?? 6e4);
137
- this.initialSyncLimit = opts.initialSyncLimit;
138
- this.encryptionEnabled = opts.encryption === true;
139
- this.password = opts.password;
140
- this.syncStore = opts.storagePath ? new FileBackedMatrixSyncStore(opts.storagePath) : void 0;
141
- this.idbSnapshotPath = opts.idbSnapshotPath;
142
- this.cryptoDatabasePrefix = opts.cryptoDatabasePrefix;
143
- this.selfUserId = opts.userId?.trim() || null;
144
- this.autoBootstrapCrypto = opts.autoBootstrapCrypto !== false;
145
- this.recoveryKeyStore = new MatrixRecoveryKeyStore(opts.recoveryKeyPath);
146
- const cryptoCallbacks = this.encryptionEnabled ? this.recoveryKeyStore.buildCryptoCallbacks() : void 0;
147
- this.client = createClient({
148
- baseUrl: homeserver,
149
- accessToken,
150
- userId: opts.userId,
151
- deviceId: opts.deviceId,
152
- logger: createMatrixJsSdkClientLogger("MatrixClient"),
153
- localTimeoutMs: this.localTimeoutMs,
154
- fetchFn: createMatrixGuardedFetch({
155
- ssrfPolicy: opts.ssrfPolicy,
156
- dispatcherPolicy: opts.dispatcherPolicy
157
- }),
158
- store: this.syncStore,
159
- cryptoCallbacks,
160
- verificationMethods: [
161
- VerificationMethod.Sas,
162
- VerificationMethod.ShowQrCode,
163
- VerificationMethod.ScanQrCode,
164
- VerificationMethod.Reciprocate
165
- ]
166
- });
167
- }
168
- on(eventName, listener) {
169
- this.emitter.on(eventName, listener);
170
- return this;
171
- }
172
- off(eventName, listener) {
173
- this.emitter.off(eventName, listener);
174
- return this;
175
- }
176
- async ensureCryptoSupportInitialized() {
177
- if (this.decryptBridge && (!this.encryptionEnabled || this.verificationManager && this.cryptoBootstrapper && this.crypto)) {
178
- return;
179
- }
180
- const runtime = await loadMatrixCryptoRuntime();
181
- this.decryptBridge ??= new runtime.MatrixDecryptBridge({
182
- client: this.client,
183
- toRaw: (event) => matrixEventToRaw(event),
184
- emitDecryptedEvent: (roomId, event) => {
185
- this.emitter.emit("room.decrypted_event", roomId, event);
186
- },
187
- emitMessage: (roomId, event) => {
188
- this.emitter.emit("room.message", roomId, event);
189
- },
190
- emitFailedDecryption: (roomId, event, error) => {
191
- this.emitter.emit("room.failed_decryption", roomId, event, error);
192
- }
193
- });
194
- if (!this.encryptionEnabled) {
195
- return;
196
- }
197
- this.verificationManager ??= new runtime.MatrixVerificationManager();
198
- this.cryptoBootstrapper ??= new runtime.MatrixCryptoBootstrapper({
199
- getUserId: () => this.getUserId(),
200
- getPassword: () => this.password,
201
- getDeviceId: () => this.client.getDeviceId(),
202
- verificationManager: this.verificationManager,
203
- recoveryKeyStore: this.recoveryKeyStore,
204
- decryptBridge: this.decryptBridge
205
- });
206
- if (!this.crypto) {
207
- this.crypto = runtime.createMatrixCryptoFacade({
208
- client: this.client,
209
- verificationManager: this.verificationManager,
210
- recoveryKeyStore: this.recoveryKeyStore,
211
- getRoomStateEvent: (roomId, eventType, stateKey = "") => this.getRoomStateEvent(roomId, eventType, stateKey),
212
- downloadContent: (mxcUrl) => this.downloadContent(mxcUrl)
213
- });
214
- }
215
- if (!this.verificationSummaryListenerBound) {
216
- this.verificationSummaryListenerBound = true;
217
- this.verificationManager.onSummaryChanged((summary) => {
218
- this.emitter.emit("verification.summary", summary);
219
- });
220
- }
221
- }
222
- async start(opts = {}) {
223
- await this.startSyncSession({
224
- bootstrapCrypto: true,
225
- abortSignal: opts.abortSignal,
226
- readyTimeoutMs: opts.readyTimeoutMs
227
- });
228
- }
229
- async waitForInitialSyncReady(params = {}) {
230
- const timeoutMs = params.timeoutMs ?? 3e4;
231
- if (isMatrixReadySyncState(this.currentSyncState)) {
232
- return;
233
- }
234
- if (isMatrixTerminalSyncState(this.currentSyncState)) {
235
- throw new Error(`Matrix sync entered ${this.currentSyncState} during startup`);
236
- }
237
- await new Promise((resolve, reject) => {
238
- let settled = false;
239
- let timeoutId;
240
- const abortSignal = params.abortSignal;
241
- const cleanup = () => {
242
- this.off("sync.state", onSyncState);
243
- this.off("sync.unexpected_error", onUnexpectedError);
244
- abortSignal?.removeEventListener("abort", onAbort);
245
- if (timeoutId) {
246
- clearTimeout(timeoutId);
247
- timeoutId = void 0;
248
- }
249
- };
250
- const settleResolve = () => {
251
- if (settled) {
252
- return;
253
- }
254
- settled = true;
255
- cleanup();
256
- resolve();
257
- };
258
- const settleReject = (error) => {
259
- if (settled) {
260
- return;
261
- }
262
- settled = true;
263
- cleanup();
264
- reject(error);
265
- };
266
- const onSyncState = (state, _prevState, error) => {
267
- if (isMatrixReadySyncState(state)) {
268
- settleResolve();
269
- return;
270
- }
271
- if (isMatrixTerminalSyncState(state)) {
272
- settleReject(
273
- new Error(
274
- error instanceof Error && error.message ? error.message : `Matrix sync entered ${state} during startup`
275
- )
276
- );
277
- }
278
- };
279
- const onUnexpectedError = (error) => {
280
- settleReject(error);
281
- };
282
- const onAbort = () => {
283
- settleReject(createMatrixStartupAbortError());
284
- };
285
- this.on("sync.state", onSyncState);
286
- this.on("sync.unexpected_error", onUnexpectedError);
287
- if (abortSignal?.aborted) {
288
- onAbort();
289
- return;
290
- }
291
- abortSignal?.addEventListener("abort", onAbort, { once: true });
292
- timeoutId = setTimeout(() => {
293
- settleReject(
294
- new Error(`Matrix client did not reach a ready sync state within ${timeoutMs}ms`)
295
- );
296
- }, timeoutMs);
297
- timeoutId.unref?.();
298
- });
299
- }
300
- async startSyncSession(opts) {
301
- if (this.started) {
302
- return;
303
- }
304
- throwIfMatrixStartupAborted(opts.abortSignal);
305
- await this.ensureCryptoSupportInitialized();
306
- throwIfMatrixStartupAborted(opts.abortSignal);
307
- this.registerBridge();
308
- await this.initializeCryptoIfNeeded(opts.abortSignal);
309
- await this.client.startClient({
310
- initialSyncLimit: this.initialSyncLimit
311
- });
312
- await this.waitForInitialSyncReady({
313
- abortSignal: opts.abortSignal,
314
- timeoutMs: opts.readyTimeoutMs
315
- });
316
- throwIfMatrixStartupAborted(opts.abortSignal);
317
- if (opts.bootstrapCrypto && this.autoBootstrapCrypto) {
318
- await this.bootstrapCryptoIfNeeded(opts.abortSignal);
319
- }
320
- throwIfMatrixStartupAborted(opts.abortSignal);
321
- this.started = true;
322
- this.emitOutstandingInviteEvents();
323
- await this.refreshDmCache().catch(noop);
324
- }
325
- async prepareForOneOff() {
326
- if (!this.encryptionEnabled) {
327
- return;
328
- }
329
- await this.ensureCryptoSupportInitialized();
330
- await this.initializeCryptoIfNeeded();
331
- if (!this.crypto) {
332
- return;
333
- }
334
- try {
335
- const joinedRooms = await this.getJoinedRooms();
336
- await this.crypto.prepare(joinedRooms);
337
- } catch {
338
- }
339
- }
340
- hasPersistedSyncState() {
341
- return this.syncStore?.hasSavedSyncFromCleanShutdown() === true;
342
- }
343
- async ensureStartedForCryptoControlPlane() {
344
- if (this.started) {
345
- return;
346
- }
347
- await this.startSyncSession({ bootstrapCrypto: false });
348
- }
349
- stopSyncWithoutPersist() {
350
- if (this.idbPersistTimer) {
351
- clearInterval(this.idbPersistTimer);
352
- this.idbPersistTimer = null;
353
- }
354
- this.currentSyncState = null;
355
- this.client.stopClient();
356
- this.started = false;
357
- }
358
- async drainPendingDecryptions(reason = "matrix client shutdown") {
359
- await this.decryptBridge?.drainPendingDecryptions(reason);
360
- }
361
- stop() {
362
- this.stopSyncWithoutPersist();
363
- this.decryptBridge?.stop();
364
- this.syncStore?.markCleanShutdown();
365
- if (loadedMatrixCryptoRuntime) {
366
- const { persistIdbToDisk } = loadedMatrixCryptoRuntime;
367
- this.stopPersistPromise = Promise.all([
368
- persistIdbToDisk({
369
- snapshotPath: this.idbSnapshotPath,
370
- databasePrefix: this.cryptoDatabasePrefix
371
- }).catch(noop),
372
- this.syncStore?.flush().catch(noop)
373
- ]).then(() => void 0);
374
- return;
375
- }
376
- this.stopPersistPromise = loadMatrixCryptoRuntime().then(async ({ persistIdbToDisk }) => {
377
- await Promise.all([
378
- persistIdbToDisk({
379
- snapshotPath: this.idbSnapshotPath,
380
- databasePrefix: this.cryptoDatabasePrefix
381
- }).catch(noop),
382
- this.syncStore?.flush().catch(noop)
383
- ]);
384
- }).catch(noop).then(() => void 0);
385
- }
386
- async stopAndPersist() {
387
- this.stop();
388
- await this.stopPersistPromise;
389
- }
390
- async bootstrapCryptoIfNeeded(abortSignal) {
391
- if (!this.encryptionEnabled || !this.cryptoInitialized || this.cryptoBootstrapped) {
392
- return;
393
- }
394
- throwIfMatrixStartupAborted(abortSignal);
395
- await this.ensureCryptoSupportInitialized();
396
- const crypto = this.client.getCrypto();
397
- if (!crypto) {
398
- return;
399
- }
400
- const cryptoBootstrapper = this.cryptoBootstrapper;
401
- if (!cryptoBootstrapper) {
402
- return;
403
- }
404
- const initial = await cryptoBootstrapper.bootstrap(
405
- crypto,
406
- MATRIX_INITIAL_CRYPTO_BOOTSTRAP_OPTIONS
407
- );
408
- throwIfMatrixStartupAborted(abortSignal);
409
- if (!initial.crossSigningPublished || initial.ownDeviceVerified === false) {
410
- const status = await this.getOwnDeviceVerificationStatus();
411
- if (status.signedByOwner) {
412
- LogService.warn(
413
- "MatrixClientLite",
414
- "Cross-signing/bootstrap is incomplete for an already owner-signed device; skipping automatic reset and preserving the current identity. Restore the recovery key or run an explicit verification bootstrap if repair is needed."
415
- );
416
- } else if (this.password?.trim()) {
417
- try {
418
- const repaired = await cryptoBootstrapper.bootstrap(
419
- crypto,
420
- MATRIX_AUTOMATIC_REPAIR_BOOTSTRAP_OPTIONS
421
- );
422
- throwIfMatrixStartupAborted(abortSignal);
423
- if (repaired.crossSigningPublished && repaired.ownDeviceVerified !== false) {
424
- LogService.info(
425
- "MatrixClientLite",
426
- "Cross-signing/bootstrap recovered after forced reset"
427
- );
428
- }
429
- } catch (err) {
430
- LogService.warn(
431
- "MatrixClientLite",
432
- "Failed to recover cross-signing/bootstrap with forced reset:",
433
- err
434
- );
435
- }
436
- } else {
437
- LogService.warn(
438
- "MatrixClientLite",
439
- "Cross-signing/bootstrap incomplete and no password is configured for UIA fallback"
440
- );
441
- }
442
- }
443
- this.cryptoBootstrapped = true;
444
- }
445
- async initializeCryptoIfNeeded(abortSignal) {
446
- if (!this.encryptionEnabled || this.cryptoInitialized) {
447
- return;
448
- }
449
- throwIfMatrixStartupAborted(abortSignal);
450
- const { persistIdbToDisk, restoreIdbFromDisk } = await loadMatrixCryptoRuntime();
451
- await restoreIdbFromDisk(this.idbSnapshotPath);
452
- throwIfMatrixStartupAborted(abortSignal);
453
- try {
454
- await this.client.initRustCrypto({
455
- cryptoDatabasePrefix: this.cryptoDatabasePrefix
456
- });
457
- this.cryptoInitialized = true;
458
- throwIfMatrixStartupAborted(abortSignal);
459
- await persistIdbToDisk({
460
- snapshotPath: this.idbSnapshotPath,
461
- databasePrefix: this.cryptoDatabasePrefix
462
- });
463
- throwIfMatrixStartupAborted(abortSignal);
464
- this.idbPersistTimer = setInterval(() => {
465
- persistIdbToDisk({
466
- snapshotPath: this.idbSnapshotPath,
467
- databasePrefix: this.cryptoDatabasePrefix
468
- }).catch(noop);
469
- }, MATRIX_IDB_PERSIST_INTERVAL_MS);
470
- } catch (err) {
471
- LogService.warn("MatrixClientLite", "Failed to initialize rust crypto:", err);
472
- }
473
- }
474
- async getUserId() {
475
- const fromClient = this.client.getUserId();
476
- if (fromClient) {
477
- this.selfUserId = fromClient;
478
- return fromClient;
479
- }
480
- if (this.selfUserId) {
481
- return this.selfUserId;
482
- }
483
- const whoami = await this.doRequest("GET", "/_lobi/client/v3/account/whoami");
484
- const resolved = whoami.user_id?.trim();
485
- if (!resolved) {
486
- throw new Error("Matrix whoami did not return user_id");
487
- }
488
- this.selfUserId = resolved;
489
- return resolved;
490
- }
491
- async getJoinedRooms() {
492
- const joined = await this.client.getJoinedRooms();
493
- return Array.isArray(joined.joined_rooms) ? joined.joined_rooms : [];
494
- }
495
- async getJoinedRoomMembers(roomId) {
496
- const members = await this.client.getJoinedRoomMembers(roomId);
497
- const joined = members?.joined;
498
- if (!joined || typeof joined !== "object") {
499
- return [];
500
- }
501
- return Object.keys(joined);
502
- }
503
- async getRoomStateEvent(roomId, eventType, stateKey = "") {
504
- const state = await this.client.getStateEvent(roomId, eventType, stateKey);
505
- return state ?? {};
506
- }
507
- async getAccountData(eventType) {
508
- const event = this.client.getAccountData(eventType);
509
- return event?.getContent() ?? void 0;
510
- }
511
- async setAccountData(eventType, content) {
512
- await this.client.setAccountData(eventType, content);
513
- await this.refreshDmCache().catch(noop);
514
- }
515
- async resolveRoom(aliasOrRoomId) {
516
- if (aliasOrRoomId.startsWith("!")) {
517
- return aliasOrRoomId;
518
- }
519
- if (!aliasOrRoomId.startsWith("#")) {
520
- return aliasOrRoomId;
521
- }
522
- try {
523
- const resolved = await this.client.getRoomIdForAlias(aliasOrRoomId);
524
- return resolved.room_id ?? null;
525
- } catch {
526
- return null;
527
- }
528
- }
529
- async createDirectRoom(remoteUserId, opts = {}) {
530
- const initialState = opts.encrypted ? [
531
- {
532
- type: "m.room.encryption",
533
- state_key: "",
534
- content: {
535
- algorithm: "m.megolm.v1.aes-sha2"
536
- }
537
- }
538
- ] : void 0;
539
- const result = await this.client.createRoom({
540
- invite: [remoteUserId],
541
- is_direct: true,
542
- preset: Preset.TrustedPrivateChat,
543
- initial_state: initialState
544
- });
545
- return result.room_id;
546
- }
547
- async sendMessage(roomId, content) {
548
- return await this.runSerializedRoomSend(roomId, async () => {
549
- const sent = await this.client.sendMessage(roomId, content);
550
- return sent.event_id;
551
- });
552
- }
553
- async sendEvent(roomId, eventType, content) {
554
- return await this.runSerializedRoomSend(roomId, async () => {
555
- const sent = await this.client.sendEvent(roomId, eventType, content);
556
- return sent.event_id;
557
- });
558
- }
559
- // Keep outbound room events ordered when multiple plugin paths emit
560
- // messages/reactions/polls into the same Matrix room concurrently.
561
- async runSerializedRoomSend(roomId, task) {
562
- return await this.sendQueue.enqueue(roomId, task);
563
- }
564
- async sendStateEvent(roomId, eventType, stateKey, content) {
565
- const sent = await this.client.sendStateEvent(
566
- roomId,
567
- eventType,
568
- content,
569
- stateKey
570
- );
571
- return sent.event_id;
572
- }
573
- async redactEvent(roomId, eventId, reason) {
574
- const sent = await this.client.redactEvent(
575
- roomId,
576
- eventId,
577
- void 0,
578
- reason?.trim() ? { reason } : void 0
579
- );
580
- return sent.event_id;
581
- }
582
- async doRequest(method, endpoint, qs, body, opts) {
583
- return await this.httpClient.requestJson({
584
- method,
585
- endpoint,
586
- qs,
587
- body,
588
- timeoutMs: this.localTimeoutMs,
589
- allowAbsoluteEndpoint: opts?.allowAbsoluteEndpoint
590
- });
591
- }
592
- async getUserProfile(userId) {
593
- return await this.client.getProfileInfo(userId);
594
- }
595
- async setDisplayName(displayName) {
596
- await this.client.setDisplayName(displayName);
597
- }
598
- async setAvatarUrl(avatarUrl) {
599
- await this.client.setAvatarUrl(avatarUrl);
600
- }
601
- async joinRoom(roomId) {
602
- await this.client.joinRoom(roomId);
603
- }
604
- mxcToHttp(mxcUrl) {
605
- return this.client.mxcUrlToHttp(mxcUrl, void 0, void 0, void 0, true, false, true);
606
- }
607
- async downloadContent(mxcUrl, opts = {}) {
608
- const parsed = parseMxc(mxcUrl);
609
- if (!parsed) {
610
- throw new Error(`Invalid Matrix content URI: ${mxcUrl}`);
611
- }
612
- const encodedServer = encodeURIComponent(parsed.server);
613
- const encodedMediaId = encodeURIComponent(parsed.mediaId);
614
- const request = async (endpoint) => await this.httpClient.requestRaw({
615
- method: "GET",
616
- endpoint,
617
- qs: { allow_remote: opts.allowRemote ?? true },
618
- timeoutMs: this.localTimeoutMs,
619
- maxBytes: opts.maxBytes,
620
- readIdleTimeoutMs: opts.readIdleTimeoutMs
621
- });
622
- const authenticatedEndpoint = `/_lobi/client/v1/media/download/${encodedServer}/${encodedMediaId}`;
623
- try {
624
- return await request(authenticatedEndpoint);
625
- } catch (err) {
626
- if (!isUnsupportedAuthenticatedMediaEndpointError(err)) {
627
- throw err;
628
- }
629
- }
630
- const legacyEndpoint = `/_lobi/media/v3/download/${encodedServer}/${encodedMediaId}`;
631
- return await request(legacyEndpoint);
632
- }
633
- async uploadContent(file, contentType, filename) {
634
- const uploaded = await this.client.uploadContent(new Uint8Array(file), {
635
- type: contentType || "application/octet-stream",
636
- name: filename,
637
- includeFilename: Boolean(filename)
638
- });
639
- return uploaded.content_uri;
640
- }
641
- async getEvent(roomId, eventId) {
642
- const rawEvent = await this.client.fetchRoomEvent(roomId, eventId);
643
- if (rawEvent.type !== "m.room.encrypted") {
644
- return rawEvent;
645
- }
646
- const mapper = this.client.getEventMapper();
647
- const event = mapper(rawEvent);
648
- let decryptedEvent;
649
- const onDecrypted = (candidate) => {
650
- decryptedEvent = candidate;
651
- };
652
- event.once("Event.decrypted", onDecrypted);
653
- try {
654
- await this.client.decryptEventIfNeeded(event);
655
- } finally {
656
- event.off("Event.decrypted", onDecrypted);
657
- }
658
- return matrixEventToRaw(decryptedEvent ?? event);
659
- }
660
- async getRelations(roomId, eventId, relationType, eventType, opts = {}) {
661
- const result = await this.client.relations(roomId, eventId, relationType, eventType, opts);
662
- return {
663
- originalEvent: result.originalEvent ? matrixEventToRaw(result.originalEvent) : null,
664
- events: result.events.map((event) => matrixEventToRaw(event)),
665
- nextBatch: result.nextBatch ?? null,
666
- prevBatch: result.prevBatch ?? null
667
- };
668
- }
669
- async hydrateEvents(roomId, events) {
670
- if (events.length === 0) {
671
- return [];
672
- }
673
- const mapper = this.client.getEventMapper();
674
- const mappedEvents = events.map(
675
- (event) => mapper({
676
- room_id: roomId,
677
- ...event
678
- })
679
- );
680
- await Promise.all(mappedEvents.map((event) => this.client.decryptEventIfNeeded(event)));
681
- return mappedEvents.map((event) => matrixEventToRaw(event));
682
- }
683
- async setTyping(roomId, typing, timeoutMs) {
684
- await this.client.sendTyping(roomId, typing, timeoutMs);
685
- }
686
- async sendReadReceipt(roomId, eventId) {
687
- await this.httpClient.requestJson({
688
- method: "POST",
689
- endpoint: `/_lobi/client/v3/rooms/${encodeURIComponent(roomId)}/receipt/m.read/${encodeURIComponent(
690
- eventId
691
- )}`,
692
- body: {},
693
- timeoutMs: this.localTimeoutMs
694
- });
695
- }
696
- async getRoomKeyBackupStatus() {
697
- if (!this.encryptionEnabled) {
698
- return {
699
- serverVersion: null,
700
- activeVersion: null,
701
- trusted: null,
702
- matchesDecryptionKey: null,
703
- decryptionKeyCached: null,
704
- keyLoadAttempted: false,
705
- keyLoadError: null
706
- };
707
- }
708
- const crypto = this.client.getCrypto();
709
- const serverVersionFallback = await this.resolveRoomKeyBackupVersion();
710
- if (!crypto) {
711
- return {
712
- serverVersion: serverVersionFallback,
713
- activeVersion: null,
714
- trusted: null,
715
- matchesDecryptionKey: null,
716
- decryptionKeyCached: null,
717
- keyLoadAttempted: false,
718
- keyLoadError: null
719
- };
720
- }
721
- let { activeVersion, decryptionKeyCached } = await this.resolveRoomKeyBackupLocalState(crypto);
722
- let { serverVersion, trusted, matchesDecryptionKey } = await this.resolveRoomKeyBackupTrustState(crypto, serverVersionFallback);
723
- const shouldLoadBackupKey = Boolean(serverVersion) && (decryptionKeyCached === false || matchesDecryptionKey === false);
724
- const shouldActivateBackup = Boolean(serverVersion) && !activeVersion;
725
- let keyLoadAttempted = false;
726
- let keyLoadError = null;
727
- if (serverVersion && (shouldLoadBackupKey || shouldActivateBackup)) {
728
- if (shouldLoadBackupKey) {
729
- if (typeof crypto.loadSessionBackupPrivateKeyFromSecretStorage === "function") {
730
- keyLoadAttempted = true;
731
- try {
732
- await crypto.loadSessionBackupPrivateKeyFromSecretStorage();
733
- } catch (err) {
734
- keyLoadError = formatMatrixErrorMessage(err);
735
- }
736
- } else {
737
- keyLoadError = "Matrix crypto backend does not support loading backup keys from secret storage";
738
- }
739
- }
740
- if (!keyLoadError) {
741
- await this.enableTrustedRoomKeyBackupIfPossible(crypto);
742
- }
743
- ({ activeVersion, decryptionKeyCached } = await this.resolveRoomKeyBackupLocalState(crypto));
744
- ({ serverVersion, trusted, matchesDecryptionKey } = await this.resolveRoomKeyBackupTrustState(
745
- crypto,
746
- serverVersion
747
- ));
748
- }
749
- return {
750
- serverVersion,
751
- activeVersion,
752
- trusted,
753
- matchesDecryptionKey,
754
- decryptionKeyCached,
755
- keyLoadAttempted,
756
- keyLoadError
757
- };
758
- }
759
- async getOwnDeviceVerificationStatus() {
760
- const recoveryKey = this.recoveryKeyStore.getRecoveryKeySummary();
761
- const userId = this.client.getUserId() ?? this.selfUserId ?? null;
762
- const deviceId = this.client.getDeviceId()?.trim() || null;
763
- const backup = await this.getRoomKeyBackupStatus();
764
- if (!this.encryptionEnabled) {
765
- return {
766
- encryptionEnabled: false,
767
- userId,
768
- deviceId,
769
- verified: false,
770
- localVerified: false,
771
- crossSigningVerified: false,
772
- signedByOwner: false,
773
- recoveryKeyStored: Boolean(recoveryKey),
774
- recoveryKeyCreatedAt: recoveryKey?.createdAt ?? null,
775
- recoveryKeyId: recoveryKey?.keyId ?? null,
776
- backupVersion: backup.serverVersion,
777
- backup
778
- };
779
- }
780
- const crypto = this.client.getCrypto();
781
- let deviceStatus = null;
782
- if (crypto && userId && deviceId && typeof crypto.getDeviceVerificationStatus === "function") {
783
- deviceStatus = await crypto.getDeviceVerificationStatus(userId, deviceId).catch(() => null);
784
- }
785
- const { isMatrixDeviceOwnerVerified } = await loadMatrixCryptoRuntime();
786
- return {
787
- encryptionEnabled: true,
788
- userId,
789
- deviceId,
790
- verified: isMatrixDeviceOwnerVerified(deviceStatus),
791
- localVerified: deviceStatus?.localVerified === true,
792
- crossSigningVerified: deviceStatus?.crossSigningVerified === true,
793
- signedByOwner: deviceStatus?.signedByOwner === true,
794
- recoveryKeyStored: Boolean(recoveryKey),
795
- recoveryKeyCreatedAt: recoveryKey?.createdAt ?? null,
796
- recoveryKeyId: recoveryKey?.keyId ?? null,
797
- backupVersion: backup.serverVersion,
798
- backup
799
- };
800
- }
801
- async verifyWithRecoveryKey(rawRecoveryKey) {
802
- const fail = async (error) => ({
803
- success: false,
804
- error,
805
- ...await this.getOwnDeviceVerificationStatus()
806
- });
807
- if (!this.encryptionEnabled) {
808
- return await fail("Matrix encryption is disabled for this client");
809
- }
810
- await this.ensureStartedForCryptoControlPlane();
811
- await this.ensureCryptoSupportInitialized();
812
- const crypto = this.client.getCrypto();
813
- if (!crypto) {
814
- return await fail("Matrix crypto is not available (start client with encryption enabled)");
815
- }
816
- const trimmedRecoveryKey = rawRecoveryKey.trim();
817
- if (!trimmedRecoveryKey) {
818
- return await fail("Matrix recovery key is required");
819
- }
820
- try {
821
- this.recoveryKeyStore.stageEncodedRecoveryKey({
822
- encodedPrivateKey: trimmedRecoveryKey,
823
- keyId: await this.resolveDefaultSecretStorageKeyId(crypto)
824
- });
825
- } catch (err) {
826
- return await fail(formatMatrixErrorMessage(err));
827
- }
828
- try {
829
- const cryptoBootstrapper = this.cryptoBootstrapper;
830
- if (!cryptoBootstrapper) {
831
- return await fail("Matrix crypto bootstrapper is not available");
832
- }
833
- await cryptoBootstrapper.bootstrap(crypto, {
834
- allowAutomaticCrossSigningReset: false
835
- });
836
- await this.enableTrustedRoomKeyBackupIfPossible(crypto);
837
- const status = await this.getOwnDeviceVerificationStatus();
838
- if (!status.verified) {
839
- this.recoveryKeyStore.discardStagedRecoveryKey();
840
- return {
841
- success: false,
842
- error: "Matrix device is still not verified by its owner after applying the recovery key. Ensure cross-signing is available and the device is signed.",
843
- ...status
844
- };
845
- }
846
- const backupError = resolveMatrixRoomKeyBackupReadinessError(status.backup, {
847
- requireServerBackup: false
848
- });
849
- if (backupError) {
850
- this.recoveryKeyStore.discardStagedRecoveryKey();
851
- return {
852
- success: false,
853
- error: backupError,
854
- ...status
855
- };
856
- }
857
- this.recoveryKeyStore.commitStagedRecoveryKey({
858
- keyId: await this.resolveDefaultSecretStorageKeyId(crypto)
859
- });
860
- const committedStatus = await this.getOwnDeviceVerificationStatus();
861
- return {
862
- success: true,
863
- verifiedAt: (/* @__PURE__ */ new Date()).toISOString(),
864
- ...committedStatus
865
- };
866
- } catch (err) {
867
- this.recoveryKeyStore.discardStagedRecoveryKey();
868
- return await fail(formatMatrixErrorMessage(err));
869
- }
870
- }
871
- async restoreRoomKeyBackup(params = {}) {
872
- let loadedFromSecretStorage = false;
873
- const fail = async (error) => {
874
- const backup = await this.getRoomKeyBackupStatus();
875
- return {
876
- success: false,
877
- error,
878
- backupVersion: backup.serverVersion,
879
- imported: 0,
880
- total: 0,
881
- loadedFromSecretStorage,
882
- backup
883
- };
884
- };
885
- if (!this.encryptionEnabled) {
886
- return await fail("Matrix encryption is disabled for this client");
887
- }
888
- await this.ensureStartedForCryptoControlPlane();
889
- const crypto = this.client.getCrypto();
890
- if (!crypto) {
891
- return await fail("Matrix crypto is not available (start client with encryption enabled)");
892
- }
893
- try {
894
- const rawRecoveryKey = params.recoveryKey?.trim();
895
- if (rawRecoveryKey) {
896
- this.recoveryKeyStore.stageEncodedRecoveryKey({
897
- encodedPrivateKey: rawRecoveryKey,
898
- keyId: await this.resolveDefaultSecretStorageKeyId(crypto)
899
- });
900
- }
901
- const backup = await this.getRoomKeyBackupStatus();
902
- loadedFromSecretStorage = backup.keyLoadAttempted && !backup.keyLoadError;
903
- const backupError = resolveMatrixRoomKeyBackupReadinessError(backup, {
904
- requireServerBackup: true
905
- });
906
- if (backupError) {
907
- this.recoveryKeyStore.discardStagedRecoveryKey();
908
- return await fail(backupError);
909
- }
910
- if (typeof crypto.restoreKeyBackup !== "function") {
911
- this.recoveryKeyStore.discardStagedRecoveryKey();
912
- return await fail("Matrix crypto backend does not support full key backup restore");
913
- }
914
- const restore = await crypto.restoreKeyBackup();
915
- if (rawRecoveryKey) {
916
- this.recoveryKeyStore.commitStagedRecoveryKey({
917
- keyId: await this.resolveDefaultSecretStorageKeyId(crypto)
918
- });
919
- }
920
- const finalBackup = await this.getRoomKeyBackupStatus();
921
- return {
922
- success: true,
923
- backupVersion: backup.serverVersion,
924
- imported: typeof restore.imported === "number" ? restore.imported : 0,
925
- total: typeof restore.total === "number" ? restore.total : 0,
926
- loadedFromSecretStorage,
927
- restoredAt: (/* @__PURE__ */ new Date()).toISOString(),
928
- backup: finalBackup
929
- };
930
- } catch (err) {
931
- this.recoveryKeyStore.discardStagedRecoveryKey();
932
- return await fail(formatMatrixErrorMessage(err));
933
- }
934
- }
935
- async resetRoomKeyBackup() {
936
- let previousVersion = null;
937
- let deletedVersion = null;
938
- const fail = async (error) => {
939
- const backup = await this.getRoomKeyBackupStatus();
940
- return {
941
- success: false,
942
- error,
943
- previousVersion,
944
- deletedVersion,
945
- createdVersion: backup.serverVersion,
946
- backup
947
- };
948
- };
949
- if (!this.encryptionEnabled) {
950
- return await fail("Matrix encryption is disabled for this client");
951
- }
952
- await this.ensureStartedForCryptoControlPlane();
953
- const crypto = this.client.getCrypto();
954
- if (!crypto) {
955
- return await fail("Matrix crypto is not available (start client with encryption enabled)");
956
- }
957
- previousVersion = await this.resolveRoomKeyBackupVersion();
958
- const forceNewSecretStorage = await this.shouldForceSecretStorageRecreationForBackupReset(crypto);
959
- try {
960
- if (previousVersion) {
961
- try {
962
- await this.doRequest(
963
- "DELETE",
964
- `/_lobi/client/v3/room_keys/version/${encodeURIComponent(previousVersion)}`
965
- );
966
- } catch (err) {
967
- if (!isMatrixNotFoundError(err)) {
968
- throw err;
969
- }
970
- }
971
- deletedVersion = previousVersion;
972
- }
973
- await this.recoveryKeyStore.bootstrapSecretStorageWithRecoveryKey(crypto, {
974
- setupNewKeyBackup: true,
975
- // Force SSSS recreation when the existing SSSS key is broken (bad MAC), so
976
- // the new backup key is written into a fresh SSSS consistent with recovery_key.json.
977
- forceNewSecretStorage,
978
- // Also allow recreation if bootstrapSecretStorage itself surfaces a repairable
979
- // error (e.g. bad MAC from a different SSSS entry).
980
- allowSecretStorageRecreateWithoutRecoveryKey: true
981
- });
982
- await this.enableTrustedRoomKeyBackupIfPossible(crypto);
983
- const backup = await this.getRoomKeyBackupStatus();
984
- const createdVersion = backup.serverVersion;
985
- if (!createdVersion) {
986
- return await fail("Matrix room key backup is still missing after reset.");
987
- }
988
- if (backup.activeVersion !== createdVersion) {
989
- return await fail(
990
- "Matrix room key backup was recreated on the server but is not active on this device."
991
- );
992
- }
993
- if (backup.decryptionKeyCached === false) {
994
- return await fail(
995
- "Matrix room key backup was recreated but its decryption key is not cached on this device."
996
- );
997
- }
998
- if (backup.matchesDecryptionKey === false) {
999
- return await fail(
1000
- "Matrix room key backup was recreated but this device does not have the matching backup decryption key."
1001
- );
1002
- }
1003
- if (backup.trusted === false) {
1004
- return await fail(
1005
- "Matrix room key backup was recreated but is not trusted on this device."
1006
- );
1007
- }
1008
- return {
1009
- success: true,
1010
- previousVersion,
1011
- deletedVersion,
1012
- createdVersion,
1013
- resetAt: (/* @__PURE__ */ new Date()).toISOString(),
1014
- backup
1015
- };
1016
- } catch (err) {
1017
- return await fail(formatMatrixErrorMessage(err));
1018
- }
1019
- }
1020
- async getOwnCrossSigningPublicationStatus() {
1021
- const userId = this.client.getUserId() ?? this.selfUserId ?? null;
1022
- if (!userId) {
1023
- return {
1024
- userId: null,
1025
- masterKeyPublished: false,
1026
- selfSigningKeyPublished: false,
1027
- userSigningKeyPublished: false,
1028
- published: false
1029
- };
1030
- }
1031
- try {
1032
- const response = await this.doRequest("POST", "/_lobi/client/v3/keys/query", void 0, {
1033
- device_keys: { [userId]: [] }
1034
- });
1035
- const masterKeyPublished = Boolean(response.master_keys?.[userId]);
1036
- const selfSigningKeyPublished = Boolean(response.self_signing_keys?.[userId]);
1037
- const userSigningKeyPublished = Boolean(response.user_signing_keys?.[userId]);
1038
- return {
1039
- userId,
1040
- masterKeyPublished,
1041
- selfSigningKeyPublished,
1042
- userSigningKeyPublished,
1043
- published: masterKeyPublished && selfSigningKeyPublished && userSigningKeyPublished
1044
- };
1045
- } catch {
1046
- return {
1047
- userId,
1048
- masterKeyPublished: false,
1049
- selfSigningKeyPublished: false,
1050
- userSigningKeyPublished: false,
1051
- published: false
1052
- };
1053
- }
1054
- }
1055
- async bootstrapOwnDeviceVerification(params) {
1056
- const pendingVerifications = async () => this.crypto ? (await this.crypto.listVerifications()).length : 0;
1057
- if (!this.encryptionEnabled) {
1058
- return {
1059
- success: false,
1060
- error: "Matrix encryption is disabled for this client",
1061
- verification: await this.getOwnDeviceVerificationStatus(),
1062
- crossSigning: await this.getOwnCrossSigningPublicationStatus(),
1063
- pendingVerifications: await pendingVerifications(),
1064
- cryptoBootstrap: null
1065
- };
1066
- }
1067
- let bootstrapError;
1068
- let bootstrapSummary = null;
1069
- try {
1070
- await this.ensureStartedForCryptoControlPlane();
1071
- await this.ensureCryptoSupportInitialized();
1072
- const crypto = this.client.getCrypto();
1073
- if (!crypto) {
1074
- throw new Error("Matrix crypto is not available (start client with encryption enabled)");
1075
- }
1076
- const rawRecoveryKey = params?.recoveryKey?.trim();
1077
- if (rawRecoveryKey) {
1078
- this.recoveryKeyStore.stageEncodedRecoveryKey({
1079
- encodedPrivateKey: rawRecoveryKey,
1080
- keyId: await this.resolveDefaultSecretStorageKeyId(crypto)
1081
- });
1082
- }
1083
- const cryptoBootstrapper = this.cryptoBootstrapper;
1084
- if (!cryptoBootstrapper) {
1085
- throw new Error("Matrix crypto bootstrapper is not available");
1086
- }
1087
- bootstrapSummary = await cryptoBootstrapper.bootstrap(
1088
- crypto,
1089
- createMatrixExplicitBootstrapOptions(params)
1090
- );
1091
- await this.ensureRoomKeyBackupEnabled(crypto);
1092
- } catch (err) {
1093
- this.recoveryKeyStore.discardStagedRecoveryKey();
1094
- bootstrapError = formatMatrixErrorMessage(err);
1095
- }
1096
- const verification = await this.getOwnDeviceVerificationStatus();
1097
- const crossSigning = await this.getOwnCrossSigningPublicationStatus();
1098
- const verificationError = verification.verified && crossSigning.published ? null : bootstrapError ?? "Matrix verification bootstrap did not produce a device verified by its owner with published cross-signing keys";
1099
- const backupError = verificationError === null ? resolveMatrixRoomKeyBackupReadinessError(verification.backup, {
1100
- requireServerBackup: true
1101
- }) : null;
1102
- const success = verificationError === null && backupError === null;
1103
- if (success) {
1104
- this.recoveryKeyStore.commitStagedRecoveryKey({
1105
- keyId: await this.resolveDefaultSecretStorageKeyId(
1106
- this.client.getCrypto()
1107
- )
1108
- });
1109
- } else {
1110
- this.recoveryKeyStore.discardStagedRecoveryKey();
1111
- }
1112
- const error = success ? void 0 : backupError ?? verificationError ?? void 0;
1113
- return {
1114
- success,
1115
- error,
1116
- verification: success ? await this.getOwnDeviceVerificationStatus() : verification,
1117
- crossSigning,
1118
- pendingVerifications: await pendingVerifications(),
1119
- cryptoBootstrap: bootstrapSummary
1120
- };
1121
- }
1122
- async listOwnDevices() {
1123
- const currentDeviceId = this.client.getDeviceId()?.trim() || null;
1124
- const devices = await this.client.getDevices();
1125
- const entries = Array.isArray(devices?.devices) ? devices.devices : [];
1126
- return entries.map((device) => ({
1127
- deviceId: device.device_id,
1128
- displayName: device.display_name?.trim() || null,
1129
- lastSeenIp: device.last_seen_ip?.trim() || null,
1130
- lastSeenTs: typeof device.last_seen_ts === "number" && Number.isFinite(device.last_seen_ts) ? device.last_seen_ts : null,
1131
- current: currentDeviceId !== null && device.device_id === currentDeviceId
1132
- }));
1133
- }
1134
- async deleteOwnDevices(deviceIds) {
1135
- const uniqueDeviceIds = [...new Set(deviceIds.map((value) => value.trim()).filter(Boolean))];
1136
- const currentDeviceId = this.client.getDeviceId()?.trim() || null;
1137
- const protectedDeviceIds = uniqueDeviceIds.filter((deviceId) => deviceId === currentDeviceId);
1138
- if (protectedDeviceIds.length > 0) {
1139
- throw new Error(`Refusing to delete the current Matrix device: ${protectedDeviceIds[0]}`);
1140
- }
1141
- const deleteWithAuth = async (authData) => {
1142
- await this.client.deleteMultipleDevices(uniqueDeviceIds, authData);
1143
- };
1144
- if (uniqueDeviceIds.length > 0) {
1145
- try {
1146
- await deleteWithAuth();
1147
- } catch (err) {
1148
- const session = err && typeof err === "object" && "data" in err && err.data && typeof err.data === "object" && "session" in err.data && typeof err.data.session === "string" ? err.data.session : null;
1149
- const userId = await this.getUserId().catch(() => this.selfUserId);
1150
- if (!session || !userId || !this.password?.trim()) {
1151
- throw err;
1152
- }
1153
- await deleteWithAuth({
1154
- type: "m.login.password",
1155
- session,
1156
- identifier: { type: "m.id.user", user: userId },
1157
- password: this.password
1158
- });
1159
- }
1160
- }
1161
- return {
1162
- currentDeviceId,
1163
- deletedDeviceIds: uniqueDeviceIds,
1164
- remainingDevices: await this.listOwnDevices()
1165
- };
1166
- }
1167
- async resolveActiveRoomKeyBackupVersion(crypto) {
1168
- if (typeof crypto.getActiveSessionBackupVersion !== "function") {
1169
- return null;
1170
- }
1171
- const version = await crypto.getActiveSessionBackupVersion().catch(() => null);
1172
- return normalizeOptionalString(version);
1173
- }
1174
- async resolveCachedRoomKeyBackupDecryptionKey(crypto) {
1175
- const getSessionBackupPrivateKey = crypto.getSessionBackupPrivateKey;
1176
- if (typeof getSessionBackupPrivateKey !== "function") {
1177
- return null;
1178
- }
1179
- const key = await getSessionBackupPrivateKey.call(crypto).catch(() => null);
1180
- return key ? key.length > 0 : false;
1181
- }
1182
- async resolveRoomKeyBackupLocalState(crypto) {
1183
- const [activeVersion, decryptionKeyCached] = await Promise.all([
1184
- this.resolveActiveRoomKeyBackupVersion(crypto),
1185
- this.resolveCachedRoomKeyBackupDecryptionKey(crypto)
1186
- ]);
1187
- return { activeVersion, decryptionKeyCached };
1188
- }
1189
- async shouldForceSecretStorageRecreationForBackupReset(crypto) {
1190
- const decryptionKeyCached = await this.resolveCachedRoomKeyBackupDecryptionKey(crypto);
1191
- if (decryptionKeyCached !== false) {
1192
- return false;
1193
- }
1194
- const loadSessionBackupPrivateKeyFromSecretStorage = crypto.loadSessionBackupPrivateKeyFromSecretStorage;
1195
- if (typeof loadSessionBackupPrivateKeyFromSecretStorage !== "function") {
1196
- return false;
1197
- }
1198
- try {
1199
- await loadSessionBackupPrivateKeyFromSecretStorage.call(crypto);
1200
- return false;
1201
- } catch (err) {
1202
- return isRepairableSecretStorageAccessError(err);
1203
- }
1204
- }
1205
- async resolveRoomKeyBackupTrustState(crypto, fallbackVersion) {
1206
- let serverVersion = fallbackVersion;
1207
- let trusted = null;
1208
- let matchesDecryptionKey = null;
1209
- if (typeof crypto.getKeyBackupInfo === "function") {
1210
- const info = await crypto.getKeyBackupInfo().catch(() => null);
1211
- serverVersion = normalizeOptionalString(info?.version) ?? serverVersion;
1212
- if (info && typeof crypto.isKeyBackupTrusted === "function") {
1213
- const trustInfo = await crypto.isKeyBackupTrusted(info).catch(() => null);
1214
- trusted = typeof trustInfo?.trusted === "boolean" ? trustInfo.trusted : null;
1215
- matchesDecryptionKey = typeof trustInfo?.matchesDecryptionKey === "boolean" ? trustInfo.matchesDecryptionKey : null;
1216
- }
1217
- }
1218
- return { serverVersion, trusted, matchesDecryptionKey };
1219
- }
1220
- async resolveDefaultSecretStorageKeyId(crypto) {
1221
- const getSecretStorageStatus = crypto?.getSecretStorageStatus;
1222
- if (typeof getSecretStorageStatus !== "function") {
1223
- return void 0;
1224
- }
1225
- const status = await getSecretStorageStatus.call(crypto).catch(() => null);
1226
- return status?.defaultKeyId;
1227
- }
1228
- async resolveRoomKeyBackupVersion() {
1229
- try {
1230
- const response = await this.doRequest("GET", "/_lobi/client/v3/room_keys/version");
1231
- return normalizeOptionalString(response.version);
1232
- } catch {
1233
- return null;
1234
- }
1235
- }
1236
- async enableTrustedRoomKeyBackupIfPossible(crypto) {
1237
- if (typeof crypto.checkKeyBackupAndEnable !== "function") {
1238
- return;
1239
- }
1240
- await crypto.checkKeyBackupAndEnable();
1241
- }
1242
- async ensureRoomKeyBackupEnabled(crypto) {
1243
- const existingVersion = await this.resolveRoomKeyBackupVersion();
1244
- if (existingVersion) {
1245
- return;
1246
- }
1247
- LogService.info(
1248
- "MatrixClientLite",
1249
- "No room key backup version found on server, creating one via secret storage bootstrap"
1250
- );
1251
- await this.recoveryKeyStore.bootstrapSecretStorageWithRecoveryKey(crypto, {
1252
- setupNewKeyBackup: true
1253
- });
1254
- const createdVersion = await this.resolveRoomKeyBackupVersion();
1255
- if (!createdVersion) {
1256
- throw new Error("Matrix room key backup is still missing after bootstrap");
1257
- }
1258
- LogService.info("MatrixClientLite", `Room key backup enabled (version ${createdVersion})`);
1259
- }
1260
- registerBridge() {
1261
- if (this.bridgeRegistered || !this.decryptBridge) {
1262
- return;
1263
- }
1264
- this.bridgeRegistered = true;
1265
- const decryptBridge = this.decryptBridge;
1266
- this.client.on(ClientEvent.Event, (event) => {
1267
- const roomId = event.getRoomId();
1268
- if (!roomId) {
1269
- return;
1270
- }
1271
- const raw = matrixEventToRaw(event);
1272
- const isEncryptedEvent = raw.type === "m.room.encrypted";
1273
- this.emitter.emit("room.event", roomId, raw);
1274
- if (isEncryptedEvent) {
1275
- this.emitter.emit("room.encrypted_event", roomId, raw);
1276
- } else {
1277
- if (decryptBridge.shouldEmitUnencryptedMessage(roomId, raw.event_id)) {
1278
- this.emitter.emit("room.message", roomId, raw);
1279
- }
1280
- }
1281
- const stateKey = raw.state_key ?? "";
1282
- const selfUserId = this.client.getUserId() ?? this.selfUserId ?? "";
1283
- const membership = raw.type === "m.room.member" ? raw.content.membership : void 0;
1284
- if (stateKey && selfUserId && stateKey === selfUserId) {
1285
- if (membership === "invite") {
1286
- this.emitter.emit("room.invite", roomId, raw);
1287
- } else if (membership === "join") {
1288
- this.emitter.emit("room.join", roomId, raw);
1289
- }
1290
- }
1291
- if (isEncryptedEvent) {
1292
- decryptBridge.attachEncryptedEvent(event, roomId);
1293
- }
1294
- });
1295
- this.client.on(ClientEvent.Room, (room) => {
1296
- this.emitMembershipForRoom(room);
1297
- });
1298
- this.client.on(
1299
- ClientEvent.Sync,
1300
- (state, prevState, data) => {
1301
- this.currentSyncState = state;
1302
- const error = data && typeof data === "object" && "error" in data ? data.error : void 0;
1303
- this.emitter.emit("sync.state", state, prevState, error);
1304
- }
1305
- );
1306
- this.client.on(ClientEvent.SyncUnexpectedError, (error) => {
1307
- this.emitter.emit("sync.unexpected_error", error);
1308
- });
1309
- }
1310
- emitMembershipForRoom(room) {
1311
- const roomObj = room;
1312
- const roomId = roomObj.roomId?.trim();
1313
- if (!roomId) {
1314
- return;
1315
- }
1316
- const membership = roomObj.getMyMembership?.() ?? roomObj.selfMembership ?? void 0;
1317
- const selfUserId = this.client.getUserId() ?? this.selfUserId ?? "";
1318
- if (!selfUserId) {
1319
- return;
1320
- }
1321
- const raw = {
1322
- event_id: `$membership-${roomId}-${Date.now()}`,
1323
- type: "m.room.member",
1324
- sender: selfUserId,
1325
- state_key: selfUserId,
1326
- content: { membership },
1327
- origin_server_ts: Date.now(),
1328
- unsigned: { age: 0 }
1329
- };
1330
- if (membership === "invite") {
1331
- this.emitter.emit("room.invite", roomId, raw);
1332
- return;
1333
- }
1334
- if (membership === "join") {
1335
- this.emitter.emit("room.join", roomId, raw);
1336
- }
1337
- }
1338
- emitOutstandingInviteEvents() {
1339
- const listRooms = this.client.getRooms;
1340
- if (typeof listRooms !== "function") {
1341
- return;
1342
- }
1343
- const rooms = listRooms.call(this.client);
1344
- if (!Array.isArray(rooms)) {
1345
- return;
1346
- }
1347
- for (const room of rooms) {
1348
- this.emitMembershipForRoom(room);
1349
- }
1350
- }
1351
- async refreshDmCache() {
1352
- const direct = await this.getAccountData("m.direct");
1353
- this.dmRoomIds.clear();
1354
- if (!direct || typeof direct !== "object") {
1355
- return false;
1356
- }
1357
- for (const value of Object.values(direct)) {
1358
- if (!Array.isArray(value)) {
1359
- continue;
1360
- }
1361
- for (const roomId of value) {
1362
- if (typeof roomId === "string" && roomId.trim()) {
1363
- this.dmRoomIds.add(roomId);
1364
- }
1365
- }
1366
- }
1367
- return true;
1368
- }
1369
- };
1370
- export {
1371
- ConsoleLogger,
1372
- LogService,
1373
- MatrixClient
1374
- };
1375
- //# sourceMappingURL=sdk.js.map